summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2020-05-01 16:04:41 +0300
committerLars Wirzenius <liw@liw.fi>2020-05-01 16:04:41 +0300
commitbafa1037afef910af2d1b910166a99e54f7a5026 (patch)
treecaa9dfcfd0dd3500fdc8393f5a65fa9970b5d1d7
parent818b73522a162ad0e539d7b93f3e13320ee3a96b (diff)
downloadliw-dot-files-bafa1037afef910af2d1b910166a99e54f7a5026.tar.gz
Re-do emacs config
-rw-r--r--.gitignore2
-rw-r--r--emacs183
-rw-r--r--emacs.d/custom.el0
-rw-r--r--emacs.d/elpa/archives/melpa/archive-contents4574
-rw-r--r--emacs.d/elpa/bind-key-20191110.416/bind-key-autoloads.el84
-rw-r--r--emacs.d/elpa/bind-key-20191110.416/bind-key-pkg.el2
-rw-r--r--emacs.d/elpa/bind-key-20191110.416/bind-key.el455
-rw-r--r--emacs.d/elpa/epl-20180205.2049/epl-autoloads.el22
-rw-r--r--emacs.d/elpa/epl-20180205.2049/epl-pkg.el2
-rw-r--r--emacs.d/elpa/epl-20180205.2049/epl.el711
-rw-r--r--emacs.d/elpa/flycheck-20200427.12/flycheck-autoloads.el274
-rw-r--r--emacs.d/elpa/flycheck-20200427.12/flycheck-buttercup.el157
-rw-r--r--emacs.d/elpa/flycheck-20200427.12/flycheck-ert.el495
-rw-r--r--emacs.d/elpa/flycheck-20200427.12/flycheck-pkg.el16
-rw-r--r--emacs.d/elpa/flycheck-20200427.12/flycheck.el11825
-rw-r--r--emacs.d/elpa/gnupg/pubring.kbxbin0 -> 2413 bytes
-rw-r--r--emacs.d/elpa/gnupg/pubring.kbx~bin0 -> 1206 bytes
-rw-r--r--emacs.d/elpa/gnupg/trustdb.gpgbin0 -> 1200 bytes
-rw-r--r--emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-autoloads.el25
-rw-r--r--emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-pkg.el2
-rw-r--r--emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme.el3315
-rw-r--r--emacs.d/elpa/pkg-info-20150517.1143/pkg-info-autoloads.el127
-rw-r--r--emacs.d/elpa/pkg-info-20150517.1143/pkg-info-pkg.el2
-rw-r--r--emacs.d/elpa/pkg-info-20150517.1143/pkg-info.el331
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/dir18
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-autoloads.el230
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-bind-key.el172
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-core.el1595
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-delight.el91
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-diminish.el80
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-ensure.el214
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-jump.el79
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-lint.el84
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package-pkg.el13
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package.el54
-rw-r--r--emacs.d/elpa/use-package-20200322.2110/use-package.info1048
-rw-r--r--emacs.d/init.el137
-rwxr-xr-xmake-symlinks2
38 files changed, 26237 insertions, 184 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1730706
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+emacs.d/auto-save-list
+emacs.d/**/*.elc
diff --git a/emacs b/emacs
deleted file mode 100644
index 444d23a..0000000
--- a/emacs
+++ /dev/null
@@ -1,183 +0,0 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; C-z under xmonad does nothing useful, and Emacs 23 gets confused
-;; (needs to be de-focused and re-focused to de-confuse). Disable C-z.
-;;
-;; Also, disable C-x C-z. Also make zooming with C-+ etc works.
-
-
-;; Added by Package.el. This must come before configurations of
-;; installed packages. Don't delete this line. If you don't want it,
-;; just comment it out by adding a semicolon to the start of the line.
-;; You may delete these explanatory comments.
-(package-initialize)
-
-(when (display-graphic-p)
- (global-unset-key "\C-x\C-c")
- (global-unset-key "\C-z")
- (global-unset-key "\C-_")
- (global-unset-key (kbd "\C-x\C-z"))
- (global-unset-key (kbd "<insert>"))
- (global-set-key (kbd "C-=") 'text-scale-adjust)
- (global-set-key (kbd "C-+") 'text-scale-adjust)
- (global-set-key (kbd "C--") 'text-scale-adjust)
- (global-set-key (kbd "C-0") 'text-scale-adjust)
-)
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Tramp
-(require 'tramp)
-(customize-set-variable 'tramp-default-method "ssh")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Magit
-(global-set-key (kbd "C-x g") 'magit-status)
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Show column numbers in the mode line.
-(column-number-mode t)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Insert spaces instead of TAB characters.
-(setq-default indent-tabs-mode nil)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Insert spaces instead of TAB characters, markdown-mode edition.
-
-(require 'markdown-mode)
-(add-hook 'markdown-mode-hook
- (lambda ()
- (setq indent-tabs-mode nil)
- )
- )
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; In Markdown mode, do not indent a line when Enter is pressed.
-(setq markdown-indent-on-enter nil)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; In Markdown mode, do NOT follow links when Enter is pressed.
-(setq-default markdown-follow-wiki-link-on-enter nil)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; In Python mode, turn off electric-indent-mode.
-
-(defun electric-indent-no-colon-indent-char ()
- (set 'electric-indent-chars '(10)))
-(add-hook 'python-mode-hook 'electric-indent-no-colon-indent-char)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Turn on some modes automatically based on filename.
-(require 'go-mode)
-(setq auto-mode-alist
- '(("\\.mdwn\\'" . markdown-mode)
- ("\\.md\\'" . markdown-mode)
- ("\\.yarn\\'" . markdown-mode)
- ("\\.js\\'" . js-mode)
- ("\\.json\\'" . js-mode)
- ("Makefile" . makefile-mode)
- ("README" . markdown-mode)
- ("NEWS" . markdown-mode)
- ("COMMIT_EDITMSG\\'" . text-mode)
- ("\\.html\\'" . html-mode)
- ("\\.css\\'" . css-mode)
- ("\\.yaml\\'" . yaml-mode)
- ("\\.yml\\'" . yaml-mode)
- ("\\.ick\\'" . yaml-mode)
- ("\\.morph\\'" . yaml-mode)
- ("\\.heat\\'" . yaml-mode)
- ("\\.vmdb\\'" . yaml-mode)
- ("\\.py\\'" . python-mode)
- ("\\.sh\\'" . shell-script-mode)
- ("\\.hs\\'" . haskell-mode)
- ("\\.go\\'" . go-mode)
- ("\\.rs\\'" . rust-mode)
- ("\\.ledger\\'" . ledger-mode)
- ("\\.tex\\'" . tex-mode)
- ("mutt-.*" . mail-mode)))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Turn on auto-fill-mode in all text modes automatically.
-(setq text-mode-hook (quote (turn-on-auto-fill text-mode-hook-identify)))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Do not make backup files when saving.
-(setq make-backup-files nil)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Enable X CLIPBOARD selection, instead of PRIMARY.
-(setq x-select-enable-clipboard t)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Disable tool bar.
-(tool-bar-mode 0)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Don't require double spaces to end sentences.
-(setq sentence-end-double-space nil)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Don't show initial help on startup.
-(setq inhibit-startup-screen t)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Don't show unwanted files with dired.
-;; From: http://stackoverflow.com/questions/14850103/how-do-i-get-emacs-dired-to-ignore-uninteresting-file-extensions
-(require 'dired-x)
-(setq-default dired-omit-files-p t)
-(setq dired-omit-files
- (concat dired-omit-files "\\.pyc$"))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Show directories in the Buffers menu.
-(setq buffers-menu-show-directories t)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; cc mode style.
-(setq c-default-style "linux")
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28350
-(eval-after-load "enriched"
- '(defun enriched-decode-display-prop (start end &optional param)
- (list start end)))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; count words
-;; https://raw.githubusercontent.com/tomaszskutnik/word-count-mode/master/word-count.el
-
-(setq load-path (cons (expand-file-name "~/.emacs.d/lisp") load-path))
-(autoload 'word-count-mode "word-count"
- "Minor mode to count words." t nil)
-(autoload 'wc-mode "word-count"
- "Minor mode to count words." t nil)
-
-;;;;
-;(require 'cargo)
-(add-hook 'rust-mode-hook 'cargo-minor-mode)
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Use custom-set-variables to set variables that cant' be set otherwise.
-
-;; truncate-lines:
-;; Don't wrap long lines when displaying them. Make me scroll
-;; sideways instead.
-
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(column-number-mode t)
- '(package-selected-packages
- (quote
- (yaml-mode tabbar session pod-mode muttrc-mode mutt-alias markdown-mode magit initsplit htmlize graphviz-dot-mode go-mode folding eproject diminish debian-el csv-mode browse-kill-ring boxquote bm bar-cursor apache-mode ahungry-theme)))
- '(tool-bar-mode nil)
- '(truncate-lines t))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(default ((t (:family "Inconsolata" :foundry "PfEd" :slant normal :weight bold :height 200 :width normal)))))
diff --git a/emacs.d/custom.el b/emacs.d/custom.el
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/emacs.d/custom.el
diff --git a/emacs.d/elpa/archives/melpa/archive-contents b/emacs.d/elpa/archives/melpa/archive-contents
new file mode 100644
index 0000000..4f55e9d
--- /dev/null
+++ b/emacs.d/elpa/archives/melpa/archive-contents
@@ -0,0 +1,4574 @@
+(1
+ (0blayout . [(20190703 527) nil "Layout grouping with ease" single ((:commit . "fd9a8f353dbd45b4628b5f84b8d8c2525ebf571d") (:keywords "convenience" "window-management") (:authors ("Elis \"etu\" Axelsson")) (:maintainer "Elis \"etu\" Axelsson") (:url . "https://github.com/etu/0blayout"))])
+ (0x0 . [(20200411 1227) ((emacs (24 1))) "Upload to 0x0.st" single ((:commit . "59136313132c08ab5fddaa875f6abeb22916a04b") (:keywords "comm") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/nullpointer-emacs"))])
+ (0xc . [(20190219 117) ((emacs (24 4)) (s (1 11 0))) "Base conversion made easy" single ((:commit . "167e93ce863381a58988655927042514d984ad49") (:keywords "base" "conversion") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/0xc"))])
+ (2048-game . [(20200417 259) nil "play 2048 in Emacs" single ((:commit . "aad4a590ea91f9a3256233b9b345e9159c6993f2") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://hg.sr.ht/~zck/game-2048"))])
+ (4clojure . [(20200123 2008) ((request (0 2 0))) "Open and evaluate 4clojure.com questions." single ((:commit . "557eecb5da50fedd92840021c8b08d87dfdc782b") (:keywords "languages" "data") (:authors ("Joshua Hoff")) (:maintainer "Sasha Kovar" . "sasha-git@arcocene.org") (:url . "https://github.com/abend/4clojure.el"))])
+ (@ . [(20181225 1438) ((emacs (24 3))) "multiple-inheritance prototype-based objects DSL" tar ((:commit . "0a6189f8be42dbbc5d9358cbd447d471236135a2") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/at-el"))])
+ (a . [(20180907 953) ((emacs (25))) "Associative data structure functions" single ((:commit . "18966975db7110d0aac726be95b593e2fc3d44ed") (:keywords "lisp") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:url . "https://github.com/plexus/a.el"))])
+ (aa-edit-mode . [(20170119 320) ((emacs (24 3)) (navi2ch (2 0 0))) "Major mode for editing AA(S_JIS Art) and .mlt file" single ((:commit . "1dd801225b7ad3c23ad09698f5e77f0df7012a65") (:keywords "wp" "text" "shiftjis" "mlt" "yaruo") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))])
+ (abc-mode . [(20171020 1019) nil "Major mode for editing abc music files" single ((:commit . "15691b32431b50f9106cb9fa50ee7244957a8ac8") (:keywords "local" "docs") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu"))])
+ (abgaben . [(20171119 646) ((pdf-tools (0 80)) (f (0 19 0)) (s (1 11 0))) "review and correct assignments received by mail" single ((:commit . "20d14830f07d66e2a04bcad1498a4a6fbf4b4451") (:keywords "mail" "outlines" "convenience") (:authors ("Arne Köhn" . "arne@chark.eu")) (:maintainer "Arne Köhn" . "arne@chark.eu") (:url . "http://arne.chark.eu/"))])
+ (abl-mode . [(20190403 904) nil "Python TDD minor mode" single ((:commit . "44b7d946bc3a693f5a931c4a62c0a67d42e8d4dc") (:authors ("Ulas Tuerkmen <ulas.tuerkmen at gmail dot com>")) (:maintainer "Ulas Tuerkmen <ulas.tuerkmen at gmail dot com>") (:url . "http://github.com/afroisalreadyinu/abl-mode"))])
+ (abs-mode . [(20200220 1701) ((emacs (25)) (erlang (0)) (maude-mode (0)) (flymake (0 3))) "Major mode for the modeling language Abs" single ((:commit . "2db38537e9c481c38477997467bc98ee00607d7a") (:keywords "languages") (:authors ("Rudi Schlatte" . "rudi@constantly.at")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:url . "https://github.com/abstools/abs-mode"))])
+ (abyss-theme . [(20170808 1345) ((emacs (24))) "A dark theme with contrasting colours." single ((:commit . "18791c6e8d9cc2b4815c9f08627a2e94fc0eeb14") (:keywords "theme" "dark" "contrasting colours") (:authors ("Matt Russell" . "matt@mgrbyte.co.uk")) (:maintainer "Matt Russell" . "matt@mgrbyte.co.uk") (:url . "https://github.com/mgrbyte/emacs-abyss-theme"))])
+ (ac-alchemist . [(20150908 656) ((auto-complete (1 5 0)) (alchemist (1 5 0)) (cl-lib (0 5))) "auto-complete source for alchemist" single ((:commit . "b1891c3d41aed83f61d78a609ea97be5cc2758d9") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-alchemist"))])
+ (ac-c-headers . [(20151021 834) ((auto-complete (1 3 1))) "auto-complete source for C headers" single ((:commit . "de13a1d35b311e6601556d8ef163de102057deea") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (ac-capf . [(20151101 217) ((auto-complete (1 4)) (cl-lib (0 5))) "auto-complete source with completion-at-point" single ((:commit . "17571dba0a8f98111f2ab758e9bea285b263781b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-capf"))])
+ (ac-cider . [(20161006 719) ((cider (0 8 0)) (auto-complete (1 4)) (cl-lib (0 3))) "Clojure auto-complete sources using CIDER" single ((:commit . "fa13e067dd9c8c76151c7d140a2803da1d109b84") (:keywords "languages" "clojure" "nrepl" "cider" "compliment") (:authors ("Alex Yakushev" . "alex@bytopia.org") ("Steve Purcell" . "steve@sanityinc.com") ("Sam Aaron" . "samaaron@gmail.com")) (:maintainer "Alex Yakushev" . "alex@bytopia.org") (:url . "https://github.com/clojure-emacs/ac-cider"))])
+ (ac-clang . [(20180710 546) ((emacs (24)) (cl-lib (0 5)) (auto-complete (1 4 0)) (pos-tip (0 4 6)) (yasnippet (0 8 0))) "Auto Completion source by libclang for GNU Emacs" tar ((:commit . "3294b968eb1a8317049190940193f9da47c085ef") (:keywords "completion" "convenience" "intellisense") (:authors ("yaruopooner [https://github.com/yaruopooner]")) (:maintainer "yaruopooner [https://github.com/yaruopooner]") (:url . "https://github.com/yaruopooner/ac-clang"))])
+ (ac-dcd . [(20190902 1124) ((auto-complete (1 3 1)) (flycheck-dmd-dub (0 7))) "Auto Completion source for dcd for GNU Emacs" single ((:commit . "d378d33c7bedc6c108eda7f674bd0aa1d8664857") (:keywords "languages") (:authors (nil . "<atila.neves@gmail.com>")) (:maintainer nil . "<atila.neves@gmail.com>") (:url . "http://github.com/atilaneves/ac-dcd"))])
+ (ac-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (auto-complete (1 5))) "auto-complete source for eclim" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))])
+ (ac-emmet . [(20131015 1558) ((emmet-mode (1 0 2)) (auto-complete (1 4))) "auto-complete sources for emmet-mode's snippets" single ((:commit . "88f24876ee3b759978d4614a758280b5d512d543") (:keywords "completion" "convenience" "emmet") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/ac-emmet"))])
+ (ac-emoji . [(20150823 711) ((auto-complete (1 5 0)) (cl-lib (0 5))) "auto-complete source of Emoji" tar ((:commit . "40a639764eb654f1b4bb705c817b66032a26ff2b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-emoji"))])
+ (ac-etags . [(20161001 1507) ((auto-complete (1 4))) "etags/ctags completion source for auto-complete" single ((:commit . "7983e631c226fe0fa53af3b2d56bf4eca3d785ce") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-etags"))])
+ (ac-geiser . [(20200318 824) ((geiser (0 5)) (auto-complete (1 4))) "Auto-complete backend for geiser" tar ((:commit . "93818c936ee7e2f1ba1b315578bde363a7d43d05"))])
+ (ac-haskell-process . [(20150423 1402) ((auto-complete (1 4)) (haskell-mode (13))) "Haskell auto-complete source which uses the current haskell process" single ((:commit . "0362d4323511107ec70e7165cb612f3ab01b712f") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (ac-helm . [(20160319 233) ((helm (1 6 3)) (auto-complete (1 4 0)) (popup (0 5 0)) (cl-lib (0 5))) "Helm interface for auto-complete" single ((:commit . "baf2b1e04bcffa835084389c0fab415f26efbf32") (:keywords "completion" "convenience" "helm") (:authors ("rubikitch" . "rubikitch@ruby-lang.org") ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com"))])
+ (ac-html . [(20151005 731) ((auto-complete (1 4)) (s (1 9)) (f (0 17)) (dash (2 10))) "auto complete source for html tags and attributes" tar ((:commit . "668154cba123c321d1b07c2dc8b26d14092253b8") (:keywords "html" "auto-complete" "slim" "haml" "jade") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com") (:url . "https://github.com/cheunghy/ac-html"))])
+ (ac-html-angular . [(20151225 719) ((web-completion-data (0 1))) "auto complete angular15 data for `ac-html' and `company-web'" tar ((:commit . "6bafe09afe03112ca4183d58461c1a6f6c2b3c67") (:keywords "html" "auto-complete" "angular") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/ac-html-bootstrap"))])
+ (ac-html-bootstrap . [(20160302 1701) ((web-completion-data (0 1))) "auto complete bootstrap3/fontawesome classes for `ac-html' and `company-web'" tar ((:commit . "481e6e441cd566554ce71cd8cb28c9e7ebb1c24b") (:keywords "html" "auto-complete" "bootstrap" "cssx") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/ac-html-bootstrap"))])
+ (ac-html-csswatcher . [(20151208 2113) ((web-completion-data (0 1))) "css/less class/id completion with `ac-html' or `company-web'" single ((:commit . "b0f3e7e1a3fe49e88b6eb6432377232fc715f221") (:keywords "html" "css" "less" "auto-complete") (:authors ("Olexandr Sydorchuck " . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuck " . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/ac-html-csswatcher"))])
+ (ac-inf-ruby . [(20131115 1150) ((inf-ruby (2 3 2)) (auto-complete (1 4))) "Enable auto-complete in inf-ruby sessions" single ((:commit . "ee53fc9c61950da9a96df3ff5ef186f9a9faf151") (:keywords "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (ac-ispell . [(20151101 226) ((auto-complete (1 4)) (cl-lib (0 5))) "ispell completion source for auto-complete" single ((:commit . "22bace7387e9012002a6a444922f75f9913077b0") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-ispell"))])
+ (ac-js2 . [(20190101 933) ((js2-mode (20090723)) (skewer-mode (1 4))) "Auto-complete source for Js2-mode, with navigation" tar ((:commit . "2b56d09a16c1a0ce514cc1b85d64cb1be4502723") (:authors ("Scott Barnett" . "scott.n.barnett@gmail.com")) (:maintainer "Scott Barnett" . "scott.n.barnett@gmail.com") (:url . "https://github.com/ScottyB/ac-js2"))])
+ (ac-math . [(20141116 2127) ((auto-complete (1 4)) (math-symbol-lists (1 0))) "Auto-complete sources for input of mathematical symbols and latex tags" single ((:commit . "c012a8f620a48cb18db7d78995035d65eae28f11") (:keywords "latex" "auto-complete" "unicode" "symbols") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vitoshka/ac-math"))])
+ (ac-mozc . [(20150227 1619) ((cl-lib (0 5)) (auto-complete (1 4)) (mozc (0))) "auto-complete sources for Japanese input using Mozc" single ((:commit . "4c6c8be4701010d9362184437c0f783e0335c631") (:authors ("igjit" . "igjit1@gmail.com")) (:maintainer "igjit" . "igjit1@gmail.com") (:url . "https://github.com/igjit/ac-mozc"))])
+ (ac-octave . [(20180406 334) ((auto-complete (1 4 0))) "An auto-complete source for Octave" single ((:commit . "fe0f931f2024f43de3c4fff4b1ace672413adeae") (:keywords "octave" "auto-complete" "completion") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "https://github.com/coldnew/ac-octave"))])
+ (ac-php . [(20190424 222) ((ac-php-core (2 0)) (auto-complete (1 4 0)) (yasnippet (0 8 0))) "Auto Completion source for PHP." single ((:commit . "6ca9baaafd3a3e429429986cc59097dcbfa7cda2") (:keywords "completion" "convenience" "intellisense") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:url . "https://github.com/xcwen/ac-php"))])
+ (ac-php-core . [(20200425 835) ((dash (1)) (php-mode (1)) (s (1)) (f (0 17 0)) (popup (0 5 0)) (xcscope (1 0))) "The core library of the ac-php." tar ((:commit . "6ca9baaafd3a3e429429986cc59097dcbfa7cda2") (:keywords "completion" "convenience" "intellisense") (:authors ("jim" . "xcwenn@qq.com") ("Serghei Iakovlev" . "sadhooklay@gmail.com")) (:maintainer "jim") (:url . "https://github.com/xcwen/ac-php"))])
+ (ac-racer . [(20170114 809) ((emacs (24 3)) (auto-complete (1 5 0)) (racer (0 0 2))) "auto-complete source of racer" single ((:commit . "4408c2d652dec0432e20c05e001db8222d778c6b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-racer"))])
+ (ac-rtags . [(20191222 920) ((auto-complete (1 4 0)) (rtags (2 10))) "auto-complete back-end for RTags" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (ac-skk . [(20141230 119) ((auto-complete (1 3 1)) (ddskk (16 0 50)) (tinysegmenter (0)) (cl-lib (0 5))) "auto-complete-mode source for DDSKK a.k.a Japanese input method" single ((:commit . "d25a265930430d080329789fb253d786c01dfa24") (:keywords "convenience" "auto-complete") (:authors ("lugecy <https://twitter.com/lugecy>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ac-skk.el"))])
+ (ac-slime . [(20171027 2100) ((auto-complete (1 4)) (slime (2 9)) (cl-lib (0 5))) "An auto-complete source using slime completions" single ((:commit . "6c80cb602ddad46486288f94ad7546396c6e4b1a") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ac-slime"))])
+ (ac-sly . [(20170728 1027) ((sly (1 0 0 -3)) (auto-complete (1 4)) (cl-lib (0 5))) "An auto-complete source using sly completions" single ((:commit . "bf69c687c4ecf1994349d20c182e9b567399912e") (:authors ("Damian T. Dobroczy\\'nski" . "qoocku@gmail.com")) (:maintainer "Damian T. Dobroczy\\'nski" . "qoocku@gmail.com") (:url . "https://github.com/qoocku/ac-sly"))])
+ (academic-phrases . [(20180723 1021) ((dash (2 12 0)) (s (1 12 0)) (ht (2 0)) (emacs (24))) "Bypass that mental block when writing your papers." single ((:commit . "25d9cf67feac6359cb213f061735e2679c84187f") (:keywords "academic" "convenience" "papers" "writing" "wp") (:authors ("Nasser Alshammari" . "designernasser@gmail.com")) (:maintainer "Nasser Alshammari" . "designernasser@gmail.com") (:url . "https://github.com/nashamri/academic-phrases"))])
+ (ace-flyspell . [(20170309 509) ((avy (0 4 0))) "Jump to and correct spelling errors using `ace-jump-mode' and flyspell" single ((:commit . "538d4f8508d305262ba0228dfe7c819fb65b53c9") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/ace-flyspell"))])
+ (ace-isearch . [(20200420 518) ((emacs (24))) "A seamless bridge between isearch, ace-jump-mode, avy, helm-swoop and swiper" single ((:commit . "58e4f1ad5cbbd2f86d161881d3f3ded3a3db984c") (:authors ("Akira Tamamori")) (:maintainer "Akira Tamamori") (:url . "https://github.com/tam17aki/ace-isearch"))])
+ (ace-jump-buffer . [(20171031 1550) ((avy (0 4 0)) (dash (2 4 0))) "fast buffer switching extension to `avy'" single ((:commit . "0d335064230caf3efdd5a732e8fbd67e3948ed6a") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ace-jump-buffer"))])
+ (ace-jump-helm-line . [(20160918 1836) ((avy (0 4 0)) (helm (1 6 3))) "Ace-jump to a candidate in helm window" single ((:commit . "1483055255df3f8ae349f7520f05b1e43ea3ed37") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/ace-jump-helm-line"))])
+ (ace-jump-mode . [(20140616 815) nil "a quick cursor location minor mode for emacs" single ((:commit . "8351e2df4fbbeb2a4003f2fb39f46d33803f3dac") (:keywords "motion" "location" "cursor") (:authors ("winterTTr" . "winterTTr@gmail.com")) (:maintainer "winterTTr" . "winterTTr@gmail.com") (:url . "https://github.com/winterTTr/ace-jump-mode/"))])
+ (ace-jump-zap . [(20170717 1849) ((ace-jump-mode (1 0)) (dash (2 10 0))) "Character zapping, `ace-jump-mode` style" single ((:commit . "52b5d4c6c73bd0fc833a0dcb4e803a5287d8cae8") (:keywords "convenience" "tools" "extensions") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ace-jump-zap"))])
+ (ace-link . [(20200322 1706) ((avy (0 4 0))) "Quickly follow links" single ((:commit . "fc478a502be1063ac01f8012c5c2d34e306ae322") (:keywords "convenience" "links" "avy") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ace-link"))])
+ (ace-mc . [(20190206 749) ((ace-jump-mode (1 0)) (multiple-cursors (1 0)) (dash (2 10 0))) "Add multiple cursors quickly using ace jump" single ((:commit . "6877880efd99e177e4e9116a364576def3da391b") (:keywords "motion" "location" "cursor") (:authors ("Josh Moller-Mara" . "jmm@cns.nyu.edu")) (:maintainer "Josh Moller-Mara" . "jmm@cns.nyu.edu") (:url . "https://github.com/mm--/ace-mc"))])
+ (ace-pinyin . [(20190917 318) ((avy (0 2 0)) (pinyinlib (0 1 0))) "Jump to Chinese characters using avy or ace-jump-mode" single ((:commit . "8b2e9335b02486730ea4ceee790130cc5328f9ea") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/ace-pinyin"))])
+ (ace-popup-menu . [(20190713 1337) ((emacs (24 3)) (avy-menu (0 1))) "Replace GUI popup menu with something more efficient" single ((:commit . "02b22bdb40a5828dbd0a2af290034adb761743f0") (:keywords "convenience" "popup" "menu") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/ace-popup-menu"))])
+ (ace-window . [(20200311 1025) ((avy (0 5 0))) "Quickly switch windows." single ((:commit . "7003c88cd9cad58dc35c7cd13ebc61c355fb5be7") (:keywords "window" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ace-window"))])
+ (achievements . [(20150531 1317) ((keyfreq (0 0 3))) "Achievements for emacs usage." tar ((:commit . "c8275ee492d56255999d58f2988129ab29145182"))])
+ (ack-menu . [(20150504 2022) ((mag-menu (0 1 0))) "A menu-based front-end for ack" single ((:commit . "f77be93a4697926ecf3195a355eb69580f695f4d") (:keywords "tools" "matching" "convenience") (:authors ("Steven Thomas") ("Nikolaj Schumacher")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/ack-menu"))])
+ (actionscript-mode . [(20180527 1701) nil "A simple mode for editing Actionscript 3 files" single ((:commit . "65abd58e198458a8e46748c5962c41d80d60c4ea") (:keywords "language" "modes") (:authors ("Austin Haas")) (:maintainer "Austin Haas"))])
+ (activity-watch-mode . [(20200416 637) ((emacs (25)) (request (0)) (json (0)) (cl-lib (0))) "Automatic time tracking extension." single ((:commit . "9d591c5ec9a2b2c7b55a754dd37c7434b2ef9fdc") (:keywords "calendar" "comm") (:authors ("Gabor Torok <gabor@20y.hu>, Alan Hamlett" . "alan@wakatime.com")) (:maintainer "Paul d'Hubert" . "paul.dhubert@ya.ru") (:url . "https://github.com/pauldub/activity-watch-mode"))])
+ (adafruit-wisdom . [(20200217 306) ((emacs (25 1)) (request (0 3 1))) "Get/display adafruit.com quotes" single ((:commit . "86bb7249bd4b0c8ebaf749f69f00c8faeff11063") (:keywords "games") (:authors ("Neil Okamoto" . "neil.okamoto+melpa@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/gonewest818/adafruit-wisdom.el"))])
+ (add-hooks . [(20171217 123) nil "Functions for setting multiple hooks" single ((:commit . "1845137703461fc44bd77cf24014ba58f19c369d") (:keywords "lisp") (:authors ("Nick McCurdy" . "nick@nickmccurdy.com")) (:maintainer "Nick McCurdy" . "nick@nickmccurdy.com") (:url . "https://github.com/nickmccurdy/add-hooks"))])
+ (add-node-modules-path . [(20180710 2342) nil "Add node_modules to your exec-path" single ((:commit . "f31e69ccb681f882aebb806ce6e9478e3ac39708") (:keywords "javascript" "node" "node_modules" "eslint") (:authors ("Neri Marschik" . "marschik_neri@cyberagent.co.jp")) (:maintainer "Neri Marschik" . "marschik_neri@cyberagent.co.jp") (:url . "https://github.com/codesuki/add-node-modules-path"))])
+ (addressbook-bookmark . [(20190612 1638) ((emacs (24))) "An address book based on Standard Emacs bookmarks." single ((:commit . "d8e502fc2f3d3ab1508ce9e50ebf8a9addc6e5b3") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/addressbook-bookmark"))])
+ (adoc-mode . [(20160314 2130) ((markup-faces (1 0 0))) "a major-mode for editing AsciiDoc files in Emacs" single ((:commit . "745884359a1b8826ede2c4cfd2f0b5478953ac40") (:keywords "wp" "asciidoc") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:url . "https://github.com/sensorflo/adoc-mode/wiki"))])
+ (aes . [(20171029 623) nil "Implementation of AES" single ((:commit . "b7d5da89c3443292e4f0b1c9d254d459933cf5af") (:keywords "data" "tools") (:authors ("Markus Sauermann" . "emacs-aes@sauermann-consulting.de")) (:maintainer "Markus Sauermann" . "emacs-aes@sauermann-consulting.de") (:url . "https://github.com/Sauermann/emacs-aes"))])
+ (afternoon-theme . [(20140104 1859) ((emacs (24 1))) "Dark color theme with a deep blue background" single ((:commit . "89b1d778a1f8b385775c122f2bd1c62f0fbf931a") (:keywords "themes") (:authors ("Ozan Sener" . "ozan@ozansener.com")) (:maintainer "Ozan Sener" . "ozan@ozansener.com") (:url . "http://github.com/osener/emacs-afternoon-theme"))])
+ (ag . [(20190726 9) ((dash (2 8 0)) (s (1 9 0)) (cl-lib (0 5))) "A front-end for ag ('the silver searcher'), the C ack replacement." single ((:commit . "bd81d68466e44301505629454dfc689b6c17d94b") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (aggressive-fill-paragraph . [(20180910 816) ((dash (2 10 0))) "A mode to automatically keep paragraphs filled" single ((:commit . "2d65d925318006e2f6fa261ad192fbc2d212877b") (:keywords "fill-paragraph" "automatic" "comments") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/aggressive-fill-paragraph-mode"))])
+ (aggressive-indent . [(20200421 1149) ((emacs (24 1)) (cl-lib (0 5))) "Minor mode to aggressively keep your code always indented" single ((:commit . "58348d29adf8d2f23da2798badd7f89ff59cd7cc") (:keywords "indent" "lisp" "maint" "tools") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/aggressive-indent-mode"))])
+ (agtags . [(20191112 142) ((emacs (25))) "A frontend to GNU Global" tar ((:commit . "8813eb055dfd3faf1021c7d02fed0dabd8e518c1") (:keywords "tools" "convenience") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:url . "https://github.com/vietor/agtags"))])
+ (ah . [(20191212 652) ((emacs (25 1))) "Additional hooks" single ((:commit . "938c78327aad94d5f8e8d86ffd9808a687f3e953") (:keywords "convenience") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>") (:url . "https://github.com/takaxp/ah"))])
+ (ahg . [(20200304 741) nil "Alberto's Emacs interface for Mercurial (Hg)" single ((:commit . "0ece48646ef7a8c813005934cc13f984b9998707") (:authors ("Alberto Griggio" . "agriggio@users.sourceforge.net")) (:maintainer "Alberto Griggio" . "agriggio@users.sourceforge.net") (:url . "https://bitbucket.org/agriggio/ahg"))])
+ (ahk-mode . [(20200412 1832) ((emacs (24 3))) "Major mode for editing AHK (AutoHotkey and AutoHotkey_L)" single ((:commit . "729007b5f22a49f5187ff47fca18c0d674e73047") (:keywords "ahk" "autohotkey" "hotkey" "keyboard shortcut" "automation") (:authors ("Rich Alesi")) (:maintainer "Rich Alesi") (:url . "https://github.com/ralesi/ahk-mode"))])
+ (ahungry-theme . [(20180131 328) ((emacs (24))) "Ahungry color theme for Emacs. Make sure to (load-theme 'ahungry)." single ((:commit . "a038d91ec593d1f1b19ca66a0576d59bbc24c523") (:keywords "ahungry" "palette" "color" "theme" "emacs" "color-theme" "deftheme") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/color-theme-ahungry"))])
+ (aio . [(20200410 1409) ((emacs (26 1))) "async/await for Emacs Lisp" tar ((:commit . "9367005c44c42c46c8ca1e7d3f780731c7d123dd") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-aio"))])
+ (airline-themes . [(20200408 2114) ((powerline (2 3))) "vim-airline themes for emacs powerline" tar ((:commit . "d81ec80d6fc36157c20015e9fd6b192cfc679035") (:keywords "evil" "mode-line" "powerline" "airline" "themes") (:authors ("Anthony DiGirolamo" . "anthony.digirolamo@gmail.com")) (:maintainer "Anthony DiGirolamo" . "anthony.digirolamo@gmail.com") (:url . "http://github.com/AnthonyDiGirolamo/airline-themes"))])
+ (airplay . [(20130212 1226) ((request (20130110 2144)) (simple-httpd (1 4 1)) (deferred (0 3 1))) "Airplay bindings to Emacs" tar ((:commit . "bd690aafcae3a887946e1bba8327597932d964ad") (:keywords "appletv" "airplay") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/airplay-el"))])
+ (alan-mode . [(20190407 555) ((flycheck (32)) (emacs (25 1)) (s (1 12))) "Major mode for editing Alan files" single ((:commit . "a5a705b64230bb14ad1d19bcc0613e3261e8cbe5") (:keywords "alan" "languages") (:authors ("Paul van Dam" . "pvandam@kjerner.com")) (:maintainer "Paul van Dam" . "pvandam@kjerner.com") (:url . "https://github.com/Kjerner/AlanForEmacs"))])
+ (alarm-clock . [(20191204 716) ((emacs (24 4)) (f (0 17 0))) "Alarm Clock" tar ((:commit . "644f331071f8b09a898fae490541908b5054d2e6") (:keywords "calendar" "tools" "convenience") (:authors ("Steve Lemuel" . "wlemuel@hotmail.com")) (:maintainer "Steve Lemuel" . "wlemuel@hotmail.com") (:url . "https://github.com/wlemuel/alarm-clock"))])
+ (alchemist . [(20180312 1304) ((elixir-mode (2 2 5)) (dash (2 11 0)) (emacs (24 4)) (company (0 8 0)) (pkg-info (0 4)) (s (1 11 0))) "Elixir tooling integration into Emacs" tar ((:commit . "6f99367511ae209f8fe2c990779764bbb4ccb6ed") (:keywords "languages" "elixir" "elixirc" "mix" "hex" "alchemist") (:authors ("Samuel Tonini" . "tonini.samuel@gmail.com")) (:maintainer "Samuel Tonini" . "tonini.samuel@gmail.com") (:url . "http://www.github.com/tonini/alchemist.el"))])
+ (alda-mode . [(20180608 605) ((emacs (24 0))) "An Alda major mode" single ((:commit . "1692b9003d2c3de403251ec452c6ce43ec819c84") (:keywords "alda" "highlight") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/alda-mode"))])
+ (alect-themes . [(20190506 1440) ((emacs (24 0))) "Configurable light, dark and black themes for Emacs 24 or later" tar ((:commit . "da7305075d292cc1909bf26dc5634bc3cc8d2603") (:keywords "color" "theme") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/alect-themes"))])
+ (alert . [(20200303 2118) ((gntp (0 1)) (log4e (0 3 0)) (cl-lib (0 5))) "Growl-style notification system for Emacs" single ((:commit . "7046393272686c7a1a9b3e7f7b1d825d2e5250a6") (:keywords "notification" "emacs" "message") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/alert"))])
+ (alert-termux . [(20181119 951) ((emacs (24 4))) "alert.el notifications on Termux" single ((:commit . "47c414285c2f5971f3be52aaf0a4066ea6989238") (:keywords "terminals") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu") (:url . "https://github.com/gergelypolonkai/alert-termux"))])
+ (align-cljlet . [(20160112 2101) ((clojure-mode (1 11 5))) "Space align various Clojure forms" single ((:commit . "602d72a7ad52788a0265e3c6da519464a98166b8") (:url . "https://github.com/gstamp/align-cljlet"))])
+ (all-ext . [(20200315 1443) ((emacs (24 4)) (all (1 0))) "M-x all with helm-swoop/anything/multiple-cursors/line-number" single ((:commit . "c865c62506af2c9edc7705a7c24dc8b70d5d4de2") (:keywords "matching" "all" "search" "replace" "anything" "helm" "helm-swoop" "occur") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "https://github.com/rubikitch/all-ext"))])
+ (all-the-icons . [(20200411 520) ((emacs (24 3)) (memoize (1 0 1))) "A library for inserting Developer icons" tar ((:commit . "0b74fc361817e885580c3f3408079f949f5830e1") (:keywords "convenient" "lisp") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:url . "https://github.com/domtronn/all-the-icons.el"))])
+ (all-the-icons-dired . [(20200403 1018) ((emacs (24 4)) (all-the-icons (2 2 0))) "Shows icons for each file in dired mode" single ((:commit . "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5") (:keywords "files" "icons" "dired") (:authors ("jtbm37")) (:maintainer "jtbm37") (:url . "https://github.com/jtbm37/all-the-icons-dired"))])
+ (all-the-icons-gnus . [(20180511 654) ((emacs (24 4)) (dash (2 12 0)) (all-the-icons (3 1 0))) "Shows icons for in Gnus" single ((:commit . "27f78996da0725943bcfb2d18038e6f7bddfa9c7") (:keywords "mail" "tools") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com"))])
+ (all-the-icons-ibuffer . [(20200319 1625) ((emacs (24 4)) (all-the-icons (2 2 0))) "Display icons for all buffers in ibuffer" single ((:commit . "3ee9e32f480329e94e45f86538343b0ddc7ddd4f") (:keywords "convenience" "icons" "ibuffer") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/all-the-icons-ibuffer"))])
+ (all-the-icons-ivy . [(20190508 1803) ((emacs (24 4)) (all-the-icons (2 4 0)) (ivy (0 8 0))) "Shows icons while using ivy and counsel" single ((:commit . "a70cbfa1effe36efc946a823a580cec686d5e88d") (:keywords "faces") (:authors ("asok")) (:maintainer "asok"))])
+ (all-the-icons-ivy-rich . [(20200324 550) ((emacs (24 5)) (ivy-rich (0 1 0)) (all-the-icons (2 2 0))) "Better experience with icons for ivy" single ((:commit . "a9a4389c1930a5a071857b4d450eaecb21f4d6b9") (:keywords "convenience" "icons" "ivy") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/all-the-icons-ivy-rich"))])
+ (almost-mono-themes . [(20200211 2126) ((emacs (24))) "Almost monochromatic color themes" tar ((:commit . "2f5935a1a9d042751c7135cac79875886edb2556") (:keywords "faces") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/almost-mono-themes"))])
+ (alsamixer . [(20191002 1133) nil "Functions to call out to amixer." single ((:commit . "1bdb99e433acd38685f05408562746cfbf2bc820") (:keywords "convenience") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/alsamixer-el"))])
+ (alt-codes . [(20190701 1246) ((emacs (24 4))) "Insert alt codes using meta key." single ((:commit . "ded8cbff05f4f2fc4d023c5ee08ebe8b1bdb9ca9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/alt-codes"))])
+ (amd-mode . [(20180111 1402) ((emacs (25)) (projectile (20161008 47)) (s (1 9 0)) (f (0 16 2)) (seq (2 16)) (makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1))) "Minor mode for handling JavaScript AMD module requirements." single ((:commit . "01fd19e0d635ccaf8e812364d8720733f2e84126") (:keywords "javascript" "amd" "projectile") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (ameba . [(20200103 1454) ((emacs (24 4))) "An interface to Crystal Ameba linter" single ((:commit . "0c4925ae0e998818326adcb47ed27ddf9761c7dc") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/crystal-ameba/ameba.el"))])
+ (ammonite-term-repl . [(20200416 559) ((emacs (24 3)) (s (1 12 0)) (scala-mode (0 23))) "Scala Ammonite REPL in term mode." single ((:commit . "b552fe21977e005c1c460bf6607557e67241a6b6") (:keywords "processes" "ammnite" "term" "scala") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:url . "https://github.com/zwild/ammonite-term-repl"))])
+ (ample-regexps . [(20151023 1000) nil "ample regular expressions for Emacs" tar ((:commit . "cbe91e148cac1ee8e223874dc956ed4cf607f046") (:keywords "regexps" "extensions" "tools") (:authors ("immerrr" . "immerrr@gmail.com")) (:maintainer "immerrr" . "immerrr@gmail.com"))])
+ (ample-theme . [(20180207 1745) nil "Calm Dark Theme for Emacs" tar ((:commit . "f5a163626e04abda2d3c168f703c3f330f302a7c") (:keywords "theme" "dark") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:url . "https://github.com/jordonbiondo/ample-theme"))])
+ (ample-zen-theme . [(20150119 2154) nil "AmpleZen Theme for Emacs 24" single ((:commit . "b277bb7abd4b6624e8d59f02474b79af50a007bd") (:keywords "theme" "dark" "emacs 24") (:authors ("Michael Wall")) (:maintainer "Michael Wall") (:url . "https://github.com/mjwall/ample-zen"))])
+ (amread-mode . [(20200404 1143) ((emacs (24 3)) (cl-lib (0 6 1))) "A minor mode helper user speed-reading" single ((:commit . "a595828fcc2257f765139b576beb6c33b4fc3bce") (:keywords "wp") (:url . "https://github.com/stardiviner/amread-mode"))])
+ (amx . [(20200417 1513) ((emacs (24 4)) (s (0))) "Alternative M-x with extra features." single ((:commit . "7fb7b874291e0cdeb1f0acb18564a686ec86788d") (:keywords "convenience" "usability") (:authors ("Ryan C. Thompson" . "rct@thompsonclan.org") ("Cornelius Mika" . "cornelius.mika@gmail.com")) (:maintainer "Ryan C. Thompson" . "rct@thompsonclan.org") (:url . "http://github.com/DarwinAwardWinner/amx/"))])
+ (anaconda-mode . [(20200129 1718) ((emacs (25 1)) (pythonic (0 1 0)) (dash (2 6 0)) (s (1 9)) (f (0 16 2))) "Code navigation, documentation lookup and completion for Python" single ((:commit . "10299bd9ff38c4f0da1d892905d02ef828e7fdce") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))])
+ (anakondo . [(20200428 653) ((emacs (26 3)) (projectile (2 1 0))) "Adds clj-kondo based Clojure[Script] editing facilities" single ((:commit . "87760e8326a0e303ca66dda298a79742888b7254") (:keywords "clojure" "clojurescript" "cljc" "clj-kondo" "completion" "languages" "tools") (:authors ("Didier A." . "didibus@users.noreply.github.com")) (:maintainer "Didier A." . "didibus@users.noreply.github.com") (:url . "https://github.com/didibus/anakondo"))])
+ (anaphora . [(20180618 2200) nil "anaphoric macros providing implicit temp variables" single ((:commit . "3b2da3f759b244975852e79721c4a2dbad3905cf") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/anaphora"))])
+ (android-env . [(20190720 1927) ((emacs (24 3))) "Helper functions for working in android" single ((:commit . "dcb0bff0e77257266201cf1ccf17e7ca94e67fb1") (:keywords "android" "gradle" "java" "tools" "convenience") (:authors ("Fernando Jascovich")) (:maintainer "Fernando Jascovich") (:url . "https://github.com/fernando-jascovich/android-env.el"))])
+ (android-mode . [(20190903 811) nil "Minor mode for Android application development" single ((:commit . "d5332e339a1f5e30559a53feffb8442ca79265d6") (:keywords "tools" "processes") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/android-mode"))])
+ (angry-police-captain . [(20120829 1252) nil "Show quote from http://theangrypolicecaptain.com in the minibuffer" single ((:commit . "d11931c5cb63368dcc4a48797962428cca6d3e9d") (:keywords "games" "web" "fun") (:authors ("Rolando Pereira" . "rolando_pereira@sapo.pt")) (:maintainer "Rolando Pereira" . "rolando_pereira@sapo.pt"))])
+ (angular-mode . [(20151201 2127) nil "Major mode for Angular.js" tar ((:commit . "8720cde86af0f1859ccc8580571e8d0ad1c52cff") (:keywords "languages" "javascript") (:authors ("Rudolf Olah" . "omouse@gmail.com")) (:maintainer "Rudolf Olah" . "omouse@gmail.com") (:url . "https://github.com/omouse/angularjs-mode"))])
+ (angular-snippets . [(20140514 523) ((s (1 4 0)) (dash (1 2 0))) "Yasnippets for AngularJS" tar ((:commit . "af5ae0a4a8603b040446c28afcf6ca01a8b4bd7b"))])
+ (anki-connect . [(20191123 1858) ((emacs (24 3))) "AnkiConnect API" single ((:commit . "1324f0c248aa2c6e73d6cf93fad6119d699f7dae") (:keywords "lisp" "anki") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/anki-connect.el"))])
+ (anki-editor . [(20190922 1223) ((emacs (25)) (request (0 3 0)) (dash (2 12 0))) "Minor mode for making Anki cards with Org" tar ((:commit . "546774a453ef4617b1bcb0d1626e415c67cc88df") (:authors ("Lei Tan")) (:maintainer "Lei Tan") (:url . "https://github.com/louietan/anki-editor"))])
+ (anki-mode . [(20200413 1019) ((emacs (24 4)) (dash (2 12 0)) (markdown-mode (2 2)) (s (1 11 0)) (request (0 3 0))) "A major mode for creating anki cards" single ((:commit . "fcbcfa7cd7fb5c282e1138322e61242942729e3d") (:keywords "tools") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/anki-mode"))])
+ (anki-vocabulary . [(20200103 325) ((emacs (24 4)) (s (1 0)) (youdao-dictionary (0 4)) (anki-connect (1 0)) (s (1 10))) "Help you to create vocabulary cards in Anki" single ((:commit . "863fe0219577f996ab126f1b7902db3c2cc59b2b") (:keywords "lisp" "anki" "translator" "chinese") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/anki-vocabulary.el"))])
+ (annalist . [(20190929 207) ((emacs (24 4)) (cl-lib (0 5))) "Record and display information such as keybindings" tar ((:commit . "134fa3f0fb91a636a1c005c483516d4b64905a6d") (:keywords "convenience" "tools" "keybindings" "org") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/annalist.el"))])
+ (annotate . [(20200330 1640) nil "annotate files without changing them" single ((:commit . "f0a71bb14806c79f09cb6aacb5ef98a852ef66e2") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/annotate.el"))])
+ (annotate-depth . [(20160520 2040) nil "Annotate buffer if indentation depth is beyond threshold." single ((:commit . "fcb24fa36287250e40d195590c4ca4a8a696277b") (:keywords "convenience") (:authors ("Morten Slot Kristensen <msk AT nullpointer DOT dk>")) (:maintainer "Morten Slot Kristensen <msk AT nullpointer DOT dk>") (:url . "https://github.com/netromdk/annotate-depth"))])
+ (annoying-arrows-mode . [(20161024 646) ((cl-lib (0 5))) "Ring the bell if using arrows too much" single ((:commit . "3c42e9807d7696da2da2a21b63beebf9cdb3f5dc") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (ansi . [(20150703 826) ((s (1 6 1)) (dash (1 5 0))) "Turn string into ansi strings" single ((:commit . "12b4c5d91b3da1902838f421e5af6d40e2cd57dd") (:keywords "color" "ansi") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ansi"))])
+ (ansible . [(20191003 1430) ((s (1 9 0)) (f (0 16 2))) "Ansible minor mode" tar ((:commit . "c6532e52161a381ed3dddfeaa7c92ae636d3f052") (:authors ("k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>")) (:maintainer "k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>") (:url . "http://101000lab.org"))])
+ (ansible-doc . [(20160924 824) ((emacs (24 3))) "Ansible documentation Minor Mode" single ((:commit . "86083a7bb2ed0468ca64e52076b06441a2f8e9e0") (:keywords "tools" "help") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn") (:url . "https://github.com/lunaryorn/ansible-doc.el"))])
+ (ansible-vault . [(20200305 2240) ((emacs (24 3)) (seq (2 20))) "Minor mode for editing ansible vault files" single ((:commit . "c4fe4b0af2ac7f9d32acee234716ab31fa824cef") (:keywords "ansible" "ansible-vault" "tools") (:maintainer "Zachary Elliott" . "contact@zell.io") (:url . "http://github.com/zellio/ansible-vault-mode"))])
+ (ant . [(20160211 1543) nil "helpers for compiling with ant" single ((:commit . "510b5a3f57ee4b2855422d88d359a28922c1ab70") (:keywords "compilation" "ant" "java"))])
+ (anti-zenburn-theme . [(20180712 1838) nil "Low-contrast Zenburn-inverted theme" single ((:commit . "dbafbaa86be67c1d409873f57a5c0bbe1e7ca158") (:authors ("Andrey Kotlarski" . "m00naticus@gmail.com")) (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/anti-zenburn-theme"))])
+ (anx-api . [(20140208 1514) nil "Interact with the AppNexus API from Emacs." single ((:commit . "b2411ebc966ac32c3ffc61bc22bf183834df0fa0") (:keywords "convenience" "json" "rest" "api" "appnexus") (:authors ("Rich Loveland")) (:maintainer "Rich Loveland"))])
+ (anybar . [(20160816 1421) nil "Control AnyBar from Emacs" single ((:commit . "7a0743e0d31bcb36ab1bb2e351f3e7139c422ac5") (:keywords "anybar") (:authors ("Christopher Shea" . "cmshea@gmail.com")) (:maintainer "Christopher Shea" . "cmshea@gmail.com"))])
+ (anyins . [(20131229 1041) nil "Insert content at multiple places from shell command or kill-ring" single ((:commit . "83844c17ac9b5b6c7655ee556b75689e4c8ea663") (:keywords "insert" "rectangular") (:authors ("Anthony HAMON" . "hamon.anth@gmail.com")) (:maintainer "Anthony HAMON" . "hamon.anth@gmail.com") (:url . "http://github.com/antham/anyins"))])
+ (anzu . [(20200331 1717) ((emacs (24 3))) "Show number of matches in mode-line while searching" single ((:commit . "3e34fb3df53c0c68e842fa179c327a7395d1901d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/anzu"))])
+ (aozora-view . [(20140310 1317) nil "Aozora Bunko text Emacs viewer." tar ((:commit . "b0390616d19e45f15f9a2f5d5688274831e721fd") (:keywords "text") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/aozora-view"))])
+ (apache-mode . [(20190711 1111) nil "Major mode for editing Apache httpd configuration files" single ((:commit . "a66dc1f246cd4ce0960773989bc43188f0394948") (:keywords "languages" "faces") (:authors ("Karl Chen" . "quarl@nospam.quarl.org")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/apache-mode"))])
+ (apdl-mode . [(20200417 857) ((emacs (25 1))) "Major mode for the APDL programming language." tar ((:commit . "2fcf73e0d522e88e99813c84ac1c07f8a83b1e77") (:url . "https://github.com/dieter-wilhelm/apdl-mode") (:maintainer "H. Dieter Wilhelm" . "dieter@duenenhof-wilhelm.de") (:authors ("H. Dieter Wilhelm" . "dieter@duenenhof-wilhelm.de")) (:keywords "APDL" "Ansys" "languages" "FEA" "convenience" "tools"))])
+ (apel . [(20190407 1056) nil "APEL (A Portable Emacs Library) provides support for portable Emacs Lisp programs" tar ((:commit . "d146ddbf8818e81d3577d5eee7825d377bec0c73"))])
+ (apib-mode . [(20200101 1017) ((markdown-mode (2 1))) "Major mode for API Blueprint files" single ((:commit . "c6dd05201f6eb9295736d8668a79a7510d11159e") (:keywords "tools" "api-blueprint") (:authors ("Vilibald Wanča" . "vilibald@wvi.cz")) (:maintainer "Vilibald Wanča" . "vilibald@wvi.cz") (:url . "http://github.com/w-vi/apib-mode"))])
+ (apiwrap . [(20180602 2231) ((emacs (25))) "api-wrapping macros" single ((:commit . "a4fb21d96027369307b22439a4a6c765ee272f44") (:keywords "tools" "maint" "convenience") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/apiwrap.el"))])
+ (apples-mode . [(20110121 418) nil "Major mode for editing and executing AppleScript code" tar ((:commit . "83a9ab0d6ba82496e2f7df386909b1a55701fccb") (:keywords "applescript" "languages") (:authors ("tequilasunset" . "tequilasunset.mac@gmail.com")) (:maintainer "tequilasunset" . "tequilasunset.mac@gmail.com"))])
+ (applescript-mode . [(20090321 632) nil "major mode for editing AppleScript source" single ((:commit . "8f888cd80af1e0902b5609143facd3051bc94892") (:keywords "languages" "tools") (:authors ("sakito" . "sakito@users.sourceforge.jp")) (:maintainer "sakito" . "sakito@users.sourceforge.jp"))])
+ (aproject . [(20190730 152) nil "Basic project framework for Emacs" tar ((:commit . "b534e2a62738ad59a8a3cddd386466c145dad3b2") (:keywords "environment" "project") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:url . "https://github.com/vietor/aproject"))])
+ (apropospriate-theme . [(20191220 2017) nil "A colorful, low-contrast, light & dark theme set for Emacs with a fun name." tar ((:commit . "543341f0836b24e001375c530c4706e9345ec1e3") (:keywords "color" "theme") (:url . "https://github.com/waymondo/apropospriate-theme"))])
+ (apt-sources-list . [(20180527 1241) ((emacs (24 4))) "Mode for editing APT source.list files" single ((:commit . "5289443ceff230dfc8a2c1c6b524c90560eb08a5") (:authors ("Dr. Rafael Sepúlveda" . "drs@gnulinux.org.mx")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:url . "https://git.korewanetadesu.com/apt-sources-list.git"))])
+ (aqi . [(20200215 1334) ((emacs (25 1)) (request (0 3)) (let-alist (0 0))) "Air quality data from the World Air Quality Index" single ((:commit . "5fe8b035b2b6bc165728444bb8e9792d14b7409d") (:keywords "air quality" "aqi" "pollution" "weather" "data") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/aqi"))])
+ (arc-dark-theme . [(20190314 1632) ((emacs (24))) "Arc dark theme" single ((:commit . "ee17dcca35dd0304145efc468b3f25af6907a59d") (:keywords "faces" "theme") (:authors ("Christopher Fraser" . "cfraz89@gmail.com")) (:maintainer "Christopher Fraser" . "cfraz89@gmail.com") (:url . "https://github.com/cfraz89/arc-dark-theme"))])
+ (arch-packer . [(20170730 1321) ((emacs (25 1)) (s (1 11 0)) (async (1 9 2)) (dash (2 12 0))) "Arch Linux package management frontend" single ((:commit . "940e96f7d357c6570b675a0f942181c787f1bfd7") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/arch-packer"))])
+ (archive-region . [(20200316 1425) ((emacs (24 4))) "Move region to archive file instead of killing" single ((:commit . "53cd2d96ea7c33f320353982b36854f25c900c2e") (:keywords "languages") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/archive-region.el"))])
+ (archive-rpm . [(20180706 1232) ((emacs (24 4))) "RPM and CPIO support for archive-mode" tar ((:commit . "59f83caebbd2f92fd634f6968e6d17b50ffa3dc7"))])
+ (arduino-mode . [(20180509 36) ((emacs (25)) (cl-lib (0 5)) (spinner (1 7 3))) "Major mode for editing Arduino code." tar ((:commit . "23ae47c9f28f559e70b790b471f20310e163a39b") (:keywords "languages" "arduino") (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/arduino-mode"))])
+ (aria2 . [(20190816 25) ((emacs (24 4))) "Control aria2c commandline tool from Emacs" single ((:commit . "32e08d5a8ad2f305578e0f783e087c1d312238c7") (:keywords "download" "bittorrent" "aria2") (:authors ("Łukasz Gruner" . "lukasz@gruner.lu")) (:maintainer "Łukasz Gruner" . "lukasz@gruner.lu") (:url . "https://bitbucket.org/ukaszg/aria2-mode"))])
+ (ariadne . [(20131117 1711) ((bert (0 1))) "Ariadne plugin for Emacs" single ((:commit . "6fe401c7f996bcbc2f685e7971324c6f5e5eaf15") (:keywords "comm" "convenience" "processes") (:authors ("Oleksandr Manzyuk" . "manzyuk@gmail.com")) (:maintainer "Oleksandr Manzyuk" . "manzyuk@gmail.com"))])
+ (arjen-grey-theme . [(20170522 2047) nil "A soothing dark grey theme" single ((:commit . "4cd0be72b65d42390e2105cfdaa408a1ead8d8d1") (:keywords "faces") (:authors ("Arjen Wiersma" . "arjen@wiersma.org")) (:maintainer "Arjen Wiersma" . "arjen@wiersma.org") (:url . "https://github.com/credmp/arjen-grey"))])
+ (artbollocks-mode . [(20170524 422) nil "Improve your writing (especially about art)" single ((:commit . "33a41ca4f8206f57e5498a526d3b0ea18d08bb93") (:authors ("Rob Myers <rob@robmyers.org>, Sacha Chua" . "sacha@sachachua.com")) (:maintainer "Rob Myers <rob@robmyers.org>, Sacha Chua" . "sacha@sachachua.com") (:url . "https://github.com/sachac/artbollocks-mode"))])
+ (arview . [(20160419 2109) nil "extract and view archives in the temporary directory" single ((:commit . "5437b4221b64b238c273a651d4792c577dba6d45") (:keywords "files") (:authors ("Andrey Fainer" . "fandrey@gmx.com")) (:maintainer "Andrey Fainer" . "fandrey@gmx.com") (:url . "https://github.com/afainer/arview"))])
+ (ascii-table . [(20200329 1744) ((emacs (24 3)) (cl-lib (0 5))) "Interactive ASCII table" single ((:commit . "572b62c8305b8c26082a17e15bc2f53066ddcb5a") (:keywords "help" "tools") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-ascii-table"))])
+ (asilea . [(20150105 1525) ((emacs (24)) (cl-lib (0 5))) "Find best compiler options using simulated annealing" single ((:commit . "2aab1cc63b64ef08d12e84fd7ba5c94065f6039f") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/asilea"))])
+ (asn1-mode . [(20170729 226) ((emacs (24 3)) (s (1 10 0))) "ASN.1/GDMO mode for GNU Emacs" single ((:commit . "d5d4a8259daf708411699bcea85d322f18beb972") (:keywords "languages" "processes" "tools") (:authors ("Taichi Kawabata <kawabata.taichi_at_gmail.com>")) (:maintainer "Taichi Kawabata <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/asn1-mode/"))])
+ (assess . [(20200211 1817) ((emacs (24 4)) (m-buffer (0 15))) "Test support functions" tar ((:commit . "5bac045b273623772b6a2d820997d50f7ab4e466") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))])
+ (astyle . [(20200328 616) ((emacs (24 4)) (reformatter (0 3))) "Astyle formatter functions" single ((:commit . "04ff2941f08c4b731fe6a18ee1697436d1ca1cc0") (:keywords "astyle" "c" "c++" "cpp" "reformatter") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/emacs-astyle"))])
+ (asx . [(20191024 1100) ((emacs (26 1))) "Ask StackExchange/StackOverflow" single ((:commit . "ec4bf74de602b97df1f306d51acf4cda45184aac") (:keywords "convenience") (:authors ("Alex Ragone" . "ragonedk@gmail.com")) (:maintainer "Alex Ragone" . "ragonedk@gmail.com") (:url . "https://github.com/ragone/asx"))])
+ (async . [(20200113 1745) ((emacs (24 3))) "Asynchronous processing in Emacs" tar ((:commit . "86aef2c38e7d35e8509b7feeee3e989d825eba91") (:keywords "async") (:url . "https://github.com/jwiegley/emacs-async"))])
+ (async-await . [(20200117 828) ((emacs (25 1)) (promise (1 1)) (iter2 (0 9 10))) "Async/Await" single ((:commit . "deef2bb343463f5196545f1dd8c2a32d0cb3b146") (:keywords "async" "await" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-async-await"))])
+ (atcoder-tools . [(20200109 1236) ((emacs (26)) (f (0 20)) (s (1 12))) "An atcoder-tools client" single ((:commit . "cfe61ed18ea9b3b1bfb6f9e7d80a47599680cd1f") (:keywords "extensions" "tools") (:authors ("Seong Yong-ju" . "sei40kr@gmail.com")) (:maintainer "Seong Yong-ju" . "sei40kr@gmail.com") (:url . "https://github.com/sei40kr/atcoder-tools"))])
+ (atom-dark-theme . [(20181022 1602) nil "An Emacs port of the Atom Dark theme from Atom.io." single ((:commit . "5c8610d0b45a536b8f7f9777297c86362685a357") (:keywords "themes" "atom" "dark") (:authors (nil . "Jeremy Whitlock <jwhitlock@apache.org")) (:maintainer nil . "Jeremy Whitlock <jwhitlock@apache.org") (:url . "https://github.com/whitlockjc/atom-dark-theme-emacs"))])
+ (atom-one-dark-theme . [(20190705 554) nil "Atom One Dark color theme" single ((:commit . "623fc08252e30174401750a09168279571288c7f") (:authors ("Jonathan Chu" . "me@jonathanchu.is")) (:maintainer "Jonathan Chu" . "me@jonathanchu.is") (:url . "https://github.com/jonathanchu/atom-one-dark-theme"))])
+ (atomic-chrome . [(20180617 724) ((emacs (24 3)) (let-alist (1 0 4)) (websocket (1 4))) "Edit Chrome text area with Emacs using Atomic Chrome" single ((:commit . "a505f638866f9e7b913784be0dc84f338e9ad449") (:keywords "chrome" "edit" "textarea") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:url . "https://github.com/alpha22jp/atomic-chrome"))])
+ (attrap . [(20200114 1928) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (s (1 11 0))) "ATtempt To Repair At Point" single ((:commit . "4cf3e4a16255997e7c3c39682a72866a0a37dd4b") (:keywords "programming" "tools") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:url . "https://github.com/jyp/attrap"))])
+ (auctex-cluttex . [(20200311 1453) ((emacs (24 4)) (auctex (12 2))) "ClutTeX support for AUCTeX" single ((:commit . "76fba4a1a918ce8a276fa0e22f026ad9a45a47dc") (:keywords "tex") (:authors ("Masahiro Nakamura" . "tsuucat@icloud.com")) (:maintainer "Masahiro Nakamura" . "tsuucat@icloud.com") (:url . "https://github.com/tsuu32/auctex-cluttex"))])
+ (auctex-latexmk . [(20170618 1636) ((auctex (11 87))) "Add LatexMk support to AUCTeX" single ((:commit . "4d353522650d7685acbf1d38f7dbc504f734bd84") (:keywords "tex") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/auctex-latexmk/"))])
+ (auctex-lua . [(20151121 1610) ((auctex (11 86)) (lua-mode (20130419))) "Lua editing support for AUCTeX" single ((:commit . "799cd8ac10c96991bb63d9aa60528ae5d8c786b5") (:keywords "latex" "lua") (:authors ("Sean Allred" . "seallred@smcm.edu")) (:maintainer "Sean Allred" . "seallred@smcm.edu") (:url . "http://github.com/vermiculus/auctex-lua"))])
+ (audio-notes-mode . [(20170611 2159) nil "Play audio notes synced from somewhere else." single ((:commit . "fa38350829c7e97257efc746a010471d33748a68") (:keywords "hypermedia" "convenience") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/audio-notes-mode"))])
+ (aurel . [(20170114 937) ((emacs (24 3)) (bui (1 1 0)) (dash (2 11 0))) "Search, get info, vote for and download AUR packages" single ((:commit . "fc7ad208f43f8525f84a18941c9b55f956df8961") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/aurel"))])
+ (aurora-config-mode . [(20180216 2302) nil "Major mode for Apache Aurora configuration files" single ((:commit . "8273ec7937a21b469b9dbb6c11714255b890f410") (:keywords "languages" "configuration") (:authors ("Berk D. Demir" . "bdd@mindcast.org")) (:maintainer "Berk D. Demir" . "bdd@mindcast.org") (:url . "https://github.com/bdd/aurora-config.el"))])
+ (auth-source-pass . [(20191126 1242) ((emacs (26 1))) "Integrate auth-source with password-store" single ((:commit . "ff4940c647786914b3cbef69103d96a4ea334111") (:authors ("Damien Cassou" . "damien@cassou.me") ("Nicolas Petton" . "nicolas@petton.fr") ("Keith Amidon" . "camalot@picnicpark.org")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/auth-password-store"))])
+ (auto-async-byte-compile . [(20160916 454) nil "Automatically byte-compile when saved" single ((:commit . "8681e74ddb8481789c5dbb3cafabb327db4c4484") (:keywords "lisp" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/auto-async-byte-compile.el"))])
+ (auto-auto-indent . [(20131106 1903) ((es-lib (0 1)) (cl-lib (1 0))) "Indents code as you type" single ((:commit . "0139378577f936d34b20276af6f022fb457af490") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/auto-auto-indent"))])
+ (auto-compile . [(20191020 1040) ((emacs (25 1)) (packed (3 0 0))) "automatically compile Emacs Lisp libraries" single ((:commit . "3e92c5b1a94b0cf43f2d624180a1cb01df92afd8") (:keywords "compile" "convenience" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/auto-compile"))])
+ (auto-complete . [(20170125 245) ((popup (0 5 0)) (cl-lib (0 5))) "Auto Completion for GNU Emacs" tar ((:commit . "2e83566ddfa758c69afe50b8a1c62a66f47471e3"))])
+ (auto-complete-auctex . [(20140223 1758) ((yasnippet (0 6 1)) (auto-complete (1 4))) "auto-completion for auctex" single ((:commit . "855633f668bcc4b9408396742a7cb84e0c4a2f77") (:authors ("Christopher Monsanto" . "chris@monsan.to")) (:maintainer "Christopher Monsanto" . "chris@monsan.to"))])
+ (auto-complete-c-headers . [(20150912 323) ((auto-complete (1 4))) "An auto-complete source for C/C++ header files" single ((:commit . "52fef720c6f274ad8de52bef39a343421006c511") (:keywords "c") (:authors ("Masafumi Oyamada" . "stillpedant@gmail.com")) (:maintainer "Masafumi Oyamada" . "stillpedant@gmail.com"))])
+ (auto-complete-chunk . [(20140225 946) ((auto-complete (1 4))) "Auto-completion for dot.separated.words." single ((:commit . "a9aa77ffb84a1037984a7ce4dda25074272f13fe") (:authors ("ARAKAKI, Takafumi")) (:maintainer "ARAKAKI, Takafumi") (:url . "https://github.com/tkf/auto-complete-chunk"))])
+ (auto-complete-clang . [(20140409 752) ((auto-complete (1 3 1))) "Auto Completion source for clang for GNU Emacs" single ((:commit . "a195db1d0593b4fb97efe50885e12aa6764d998c") (:keywords "completion" "convenience") (:authors ("Brian Jiang" . "brianjcj@gmail.com")) (:maintainer "Brian Jiang" . "brianjcj@gmail.com") (:url . "https://github.com/brianjcj/auto-complete-clang"))])
+ (auto-complete-clang-async . [(20130526 1514) nil "Auto Completion source for clang for GNU Emacs" single ((:commit . "5d9c5cabbb6b31e0ac3637631c0c8b25184aa8b4") (:keywords "completion" "convenience"))])
+ (auto-complete-distel . [(20180827 1344) ((auto-complete (1 4)) (distel-completion-lib (1 0 0))) "Erlang/distel completion backend for auto-complete-mode" single ((:commit . "acc4c0a5521904203d797fe96b08e5fae4233c7e") (:keywords "erlang" "distel" "auto-complete") (:authors ("Sebastian Weddmark Olsson")) (:maintainer "Sebastian Weddmark Olsson") (:url . "github.com/sebastiw/distel-completion"))])
+ (auto-complete-exuberant-ctags . [(20140320 724) ((auto-complete (1 4 0))) "Exuberant ctags auto-complete.el source" single ((:commit . "ff6121ff8b71beb5aa606d28fd389c484ed49765") (:keywords "anto-complete" "exuberant ctags") (:authors ("Kenichirou Oyama" . "k1lowxb@gmail.com")) (:maintainer "Kenichirou Oyama" . "k1lowxb@gmail.com") (:url . "http://code.101000lab.org"))])
+ (auto-complete-nxml . [(20140221 458) ((auto-complete (1 4))) "do completion by auto-complete.el on nXML-mode" single ((:commit . "ac7b09a23e45f9bd02affb31847263de4180163a") (:keywords "completion" "html" "xml") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/auto-complete-nxml"))])
+ (auto-complete-pcmp . [(20140227 651) ((auto-complete (1 4 0)) (log4e (0 2 0)) (yaxception (0 1))) "Provide auto-complete sources using pcomplete results" single ((:commit . "2595d3dab1ef3549271ca922f212928e9d830eec") (:keywords "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/auto-complete-pcmp"))])
+ (auto-complete-rst . [(20140225 944) ((auto-complete (1 4))) "Auto-complete extension for ReST and Sphinx" tar ((:commit . "4803ce41a96224e6fa54e6741a5b5f40ebed7351") (:authors ("ARAKAKI, Takafumi")) (:maintainer "ARAKAKI, Takafumi") (:url . "https://github.com/tkf/auto-complete-rst"))])
+ (auto-complete-sage . [(20160514 751) ((auto-complete (1 5 1)) (sage-shell-mode (0 1 0))) "An auto-complete source for sage-shell-mode." single ((:commit . "51b8e3905196d266e1f8aa47881189833151b398") (:keywords "sage" "math" "auto-complete") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/auto-complete-sage"))])
+ (auto-dictionary . [(20150410 1610) nil "automatic dictionary switcher for flyspell" single ((:commit . "b364e08009fe0062cf0927d8a0582fad5a12b8e7") (:keywords "wp") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/auto-dictionary/"))])
+ (auto-dim-other-buffers . [(20180612 2341) nil "Makes non-current buffers less prominent" single ((:commit . "ec74b4803adeadf06296c84595fb6ccf4e1b4a3f") (:authors ("Steven Degutis") ("Michal Nazarewicz" . "mina86@mina86.com")) (:maintainer "Michal Nazarewicz" . "mina86@mina86.com") (:url . "https://github.com/mina86/auto-dim-other-buffers.el"))])
+ (auto-highlight-symbol . [(20130313 943) nil "Automatic highlighting current symbol minor mode" single ((:commit . "26573de912d760e04321b350897aea70958cee8b") (:keywords "highlight" "face" "match" "convenience") (:authors ("Mitsuo Saito" . "arch320@NOSPAM.gmail.com")) (:maintainer "Mitsuo Saito" . "arch320@NOSPAM.gmail.com") (:url . "http://github.com/gennad/auto-highlight-symbol/raw/master/auto-highlight-symbol.el"))])
+ (auto-indent-mode . [(20191112 1418) nil "Auto indent Minor mode" tar ((:commit . "ebb1ee5ca24f3040c34b9455502a0e94f19903d0") (:keywords "auto" "indentation") (:authors ("Matthew L. Fidler, Le Wang & Others")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/auto-indent-mode.el/"))])
+ (auto-minor-mode . [(20180527 1123) ((emacs (24 4))) "Enable minor modes by file name and contents" single ((:commit . "17cfa1b54800fdef2975c0c0531dad34846a5065") (:keywords "convenience") (:authors ("Joe Wreschnig" . "joe.wreschnig@gmail.com")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:url . "https://github.com/joewreschnig/auto-minor-mode"))])
+ (auto-org-md . [(20180213 2343) ((emacs (24 4))) "export a markdown file automatically when you save an org-file" single ((:commit . "9318338bdb7fe8bd698d88f3af89b2d6413efdd2") (:keywords "org" "markdown") (:authors ("jamcha" . "jamcha.aa@gmail.com")) (:maintainer "jamcha" . "jamcha.aa@gmail.com") (:url . "https://github.com/jamcha-aa/auto-org-md"))])
+ (auto-package-update . [(20200421 309) ((emacs (24 4)) (dash (2 1 0))) "Automatically update Emacs packages." single ((:commit . "cf7f7486ed699f2ed7cc8af950740aece0de6124") (:keywords "package" "update") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:url . "http://github.com/rranelli/auto-package-update.el"))])
+ (auto-pause . [(20160426 1216) ((emacs (24 4))) "Run processes which will be paused when Emacs is idle" single ((:commit . "a4d778de774ca3895542cb559a953e0d98657338") (:keywords "convenience" "menu") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/auto-pause"))])
+ (auto-read-only . [(20170306 443) ((cl-lib (0 5))) "Automatically make the buffer to read-only" single ((:commit . "79654f8fc024f383ae7af05487c1345738236500") (:keywords "files" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/auto-read-only.el"))])
+ (auto-rename-tag . [(20190525 628) ((emacs (24 4))) "Automatically rename paired HTML/XML tag." single ((:commit . "27ca700cb2f61a1040013600c5744d68a27cbd8d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/auto-rename-tag"))])
+ (auto-save-buffers-enhanced . [(20161109 710) nil "Automatically save buffers in a decent way" single ((:commit . "461e8c816c1b7c650be5f209078b381fe55da8c6") (:authors ("Kentaro Kuribayashi" . "kentarok@gmail.com")) (:maintainer "Kentaro Kuribayashi" . "kentarok@gmail.com"))])
+ (auto-scroll-mode . [(20200316 134) ((emacs (25)) (cl-lib (0 6 1))) "Auto scroll buffer" single ((:commit . "a23669a8747e71ca5b1003b923f7a3d3834740e3") (:keywords "wp") (:url . "https://github.com/stardiviner/auto-scroll-mode"))])
+ (auto-shell-command . [(20180817 1502) ((deferred (20130312)) (popwin (20130329))) "Run the shell command asynchronously that you specified when you save the file." single ((:commit . "a8f9213e3c773b5687b81881240e6e648f2f56ba") (:keywords "shell" "save" "async" "deferred" "auto") (:authors ("ongaeshi")) (:maintainer "ongaeshi"))])
+ (auto-sudoedit . [(20200427 635) ((emacs (24 4)) (f (0 19 0))) "Auto sudo edit by tramp" single ((:commit . "0ad8247fdd0f1d747cd1ff73adb6b5efcecc7f3b") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/auto-sudoedit"))])
+ (auto-virtualenv . [(20170125 1917) ((cl-lib (0 5)) (pyvenv (1 9)) (s (1 10 0))) "Auto activate python virtualenvs" single ((:commit . "3826db66b417788e2b2eb138717255b1f52a55c3") (:keywords "python" "virtualenv" "tools") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com") (:url . "http://github.com/marcwebbie/auto-virtualenv"))])
+ (auto-virtualenvwrapper . [(20200416 1128) ((cl-lib (0 6)) (s (1 10 0)) (virtualenvwrapper (0))) "Lightweight auto activate python virtualenvs" single ((:commit . "f33e8c40e53c247ee6a4fd90af8805a9806735a1") (:keywords "python" "virtualenv" "tools") (:authors ("Marcwebbie" . "marcwebbie@gmail.com") ("Robert Zaremba" . "robert-zaremba@scale-it.pl")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com"))])
+ (auto-yasnippet . [(20191015 942) ((yasnippet (0 13 0))) "Quickly create disposable yasnippets" single ((:commit . "db9e0dd4335b2202cd5dac95bbbc87a1032d9bbe") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/auto-yasnippet"))])
+ (autobookmarks . [(20190919 841) ((dash (2 10 0)) (cl-lib (0 5))) "Save recently visited files and buffers" single ((:commit . "224b24950d3ae57cd16d7417c07fda337fe0ea09") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (autobuild . [(20200209 2005) ((cl-lib (0 3)) (emacs (26 1))) "Define and execute build rules and compilation pipelines" single ((:commit . "b5ac7436be372dffc97280f4b835f61ab6b716d5") (:keywords "compile" "build" "pipeline" "autobuild" "extensions" "processes" "tools") (:authors ("Ernesto Alfonso")) (:maintainer nil . "(concat \"erjoalgo\" \"@\" \"gmail\" \".com\")") (:url . "https://github.com/erjoalgo/autobuild"))])
+ (autocrypt . [(20200330 2301) ((emacs (25 1))) "Autocrypt implementation" tar ((:commit . "a16bf93ba833264b10d19abfa8fa684d9be32081") (:keywords "comm") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/autocrypt"))])
+ (autodisass-java-bytecode . [(20151005 1612) nil "Automatically disassemble Java bytecode" tar ((:commit . "3d61dbe266133c950b39e880f78d142751c7dc4c"))])
+ (autodisass-llvm-bitcode . [(20150411 125) nil "Automatically disassemble LLVM bitcode" tar ((:commit . "d2579e3a1427af2dc947c343e49eb3434078bf04"))])
+ (automargin . [(20131112 814) nil "add margins to windows not-splitted, and center them" single ((:commit . "4901d969ad69f5244e6300baab4ba04efed800c3") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (autopair . [(20160304 1237) ((cl-lib (0 3))) "Automagically pair braces and quotes like TextMate" single ((:commit . "2b6d72bccb0ebba6e7e711528872b898b0c65b0a") (:keywords "convenience" "emulations") (:authors ("Joao Tavora <joaotavora [at] gmail.com>")) (:maintainer "Joao Tavora <joaotavora [at] gmail.com>") (:url . "https://github.com/capitaomorte/autopair"))])
+ (autotest . [(20190331 2230) nil "ZenTest's autotest integration with emacs." single ((:commit . "97e74ae74a15338d386027379139e3bf27acf2f2") (:keywords "testing" "ruby" "convenience") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:url . "https://github.com/zenspider/elisp/blob/master/autotest.el"))])
+ (autotetris-mode . [(20141114 1646) ((cl-lib (0 5))) "automatically play tetris" single ((:commit . "0c3a746dcc304a67d2a6e7ad4ef93f512486343a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/autotetris-mode"))])
+ (autothemer . [(20180920 923) ((dash (2 10 0)) (emacs (24)) (cl-lib (0 5))) "Conveniently define themes." single ((:commit . "69488c71dfc182cf2e7be2d745037f230ade678e") (:authors ("Sebastian Sturm")) (:maintainer "Sebastian Sturm") (:url . "https://github.com/sebastiansturm/autothemer"))])
+ (autumn-light-theme . [(20150515 1447) nil "A light color theme with muted, autumnal colors." single ((:commit . "1e3b2a43a3001e4a97a5ff073ba3f0d2ea3888f9") (:keywords "color" "theme") (:authors ("Adam Alpern" . "adam.alpern@gmail.com")) (:maintainer "Adam Alpern" . "adam.alpern@gmail.com") (:url . "http://github.com/aalpern/emacs-color-theme-autumn-light"))])
+ (avandu . [(20170101 1903) nil "Gateway to Tiny Tiny RSS" tar ((:commit . "f44588d8e747fa880411cb4542cc39962252b90a") (:keywords "net") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org"))])
+ (avk-emacs-themes . [(20191220 625) nil "Collection of avk themes" tar ((:commit . "e97ec20d07cc9093661f51853375063bcdc91993") (:url . "https://github.com/avkoval/avk-emacs-themes"))])
+ (avy . [(20200422 1153) ((emacs (24 1)) (cl-lib (0 5))) "Jump to arbitrary positions in visible text and select text quickly." single ((:commit . "509471bad0e8094b8639729ec39ca141fae7d4bd") (:keywords "point" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/avy"))])
+ (avy-flycheck . [(20160720 1500) ((emacs (24 1)) (flycheck (0 14)) (seq (1 11)) (avy (0 4 0))) "Jump to and fix syntax errors using `flycheck' with `avy' interface" single ((:commit . "5522f3bbbed1801d9278ed696ec0cbba38352985") (:keywords "tools" "convenience" "avy" "flycheck") (:authors ("Xu Ma" . "magicdirac@gmail.com")) (:maintainer "Xu Ma" . "magicdirac@gmail.com") (:url . "https://github.com/magicdirac/avy-flycheck"))])
+ (avy-menu . [(20190713 1348) ((emacs (24 3)) (avy (0 3 0))) "Library providing avy-powered popup menu" single ((:commit . "aee6878a8c2f18c3ac3bd34d608783b52cd708e0") (:keywords "popup" "menu") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/avy-menu"))])
+ (avy-migemo . [(20180716 1455) ((emacs (24 4)) (avy (0 4 0)) (migemo (1 9))) "avy with migemo" tar ((:commit . "922a6dd82c0bfa316b0fbb56a9d4dd4ffa5707e7") (:keywords "avy" "migemo") (:authors ("momomo5717")) (:maintainer "momomo5717") (:url . "https://github.com/momomo5717/avy-migemo"))])
+ (avy-zap . [(20190801 329) ((avy (0 2 0))) "Zap to char using `avy'" single ((:commit . "7c8d1f40e43d03e2f6c1696bfa547526528ce8cb") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/avy-zap"))])
+ (aws-ec2 . [(20161007 1914) ((emacs (24 4)) (dash (2 12 1)) (tblui (0 1 0))) "Manage AWS EC2 instances" single ((:commit . "5601d4f268fc34b86a02ca90cde7d3771619a368") (:authors ("Yuki Inoue <inouetakahiroki _at_ gmail.com>")) (:maintainer "Yuki Inoue <inouetakahiroki _at_ gmail.com>") (:url . "https://github.com/Yuki-Inoue/aws.el"))])
+ (aws-snippets . [(20191203 1553) ((yasnippet (0 8 0))) "Yasnippets for AWS" tar ((:commit . "557d19a0bc486e0fddb597b2be5087769d9bd47e") (:keywords "snippets"))])
+ (awscli-capf . [(20190930 1517) ((emacs (26))) "Completion at point function for the AWS CLI" single ((:commit . "1a75f88f53a2969fe821c31e6857861d0a0c0a5e") (:keywords "tools" "convenience" "abbrev") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:url . "https://github.com/sebasmonia/awscli-capf.git"))])
+ (axiom-environment . [(20200411 1031) ((emacs (24 2))) "An environment for using Axiom/OpenAxiom/FriCAS" tar ((:commit . "25932da0dc40c6877463cbf019b14ab05a6b0164") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))])
+ (babel . [(20181201 919) nil "interface to web translation services such as Babelfish" single ((:commit . "c25dedb5c7f2465b122102f02cd9845668818c20") (:keywords "translation" "web") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info") ("Eric Marsden" . "emarsden@laas.fr")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:url . "http://github.com/juergenhoetzel/babel"))])
+ (babel-repl . [(20160504 2201) ((emacs (24))) "Run babel REPL" single ((:commit . "e619c16e349a1ee7bd0ee0d7f3650d33bff73fc3") (:keywords "babel" "javascript" "es6") (:authors ("Hung Phan")) (:maintainer "Hung Phan") (:url . "https://github.com/hung-phan/babel-repl/"))])
+ (back-button . [(20150804 2004) ((nav-flash (1 0 0)) (smartrep (0 0 3)) (ucs-utils (0 7 2)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Visual navigation through mark rings" single ((:commit . "98d92984a740acd1547bd7ed05cca0affdb21c3e") (:keywords "convenience" "navigation" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/back-button"))])
+ (backlight . [(20190905 519) ((emacs (24 3))) "backlight brightness adjustment on GNU/Linux" single ((:commit . "3e5b971b4ee89299240a89614db92d2c4034e954") (:keywords "hardware") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/backlight.el"))])
+ (backline . [(20200104 1851) ((emacs (25 1)) (outline-minor-faces (0 1 2))) "Preserve appearance of outline headings" single ((:commit . "dc541a6daf82ab73774904ae9ccecd13e3c2af48") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/backline"))])
+ (backup-each-save . [(20180227 557) nil "backup each savepoint of a file" single ((:commit . "3c414b9d6b278911c95c5b8b71819e6af6f8a02a") (:authors ("Benjamin Rutt" . "brutt@bloomington.in.us")) (:maintainer "Conor Nash" . "conor@nashcobusinessservicesllc.com"))])
+ (backup-walker . [(20130720 1516) nil "quickly traverse all backups of a file" single ((:commit . "934a4128c122972ac32bb9952addf279a60a94da") (:keywords "backup") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/backup-walker"))])
+ (backward-forward . [(20161229 550) ((emacs (24 5))) "navigation backwards and forwards across marks" single ((:commit . "58489957a62a0da25dfb5df902624d2548d800b4") (:keywords "navigation" "convenience" "backward" "forward") (:authors ("Currell Berry" . "currellberry@gmail.com")) (:maintainer "Currell Berry" . "currellberry@gmail.com") (:url . "https://gitlab.com/vancan1ty/emacs-backward-forward/tree/master"))])
+ (badger-theme . [(20140717 232) nil "A dark theme for Emacs 24." single ((:commit . "493d672d5a5478976da7d5ca752008cc7837c57f") (:authors ("Cody Canning" . "cocanning11@gmail.com")) (:maintainer "Cody Canning" . "cocanning11@gmail.com") (:url . "https://github.com/ccann/badger-theme"))])
+ (badwolf-theme . [(20161004 715) ((emacs (24))) "Bad Wolf color theme" single ((:commit . "ea01a3d9358e968f75e3ed15dec6a2a96ce3d9a1") (:keywords "themes") (:authors ("bkruczyk" . "bartlomiej.kruczyk@gmail.com")) (:maintainer "bkruczyk" . "bartlomiej.kruczyk@gmail.com") (:url . "https://github.com/bkruczyk/badwolf-emacs"))])
+ (baidu-translate . [(20190817 1318) nil "A plugin using baidu-translate-api" single ((:commit . "b04a74d09ff5e3fbefd1b39b2abe79a9e272321a") (:keywords "docs") (:authors (nil . "<LiShizhen gsu4017@gmail.com>")) (:maintainer nil . "<LiShizhen gsu4017@gmail.com>") (:url . "https://github.com/liShiZhensPi/baidu-translate"))])
+ (balanced-windows . [(20190903 1120) ((emacs (25))) "Keep windows balanced" single ((:commit . "1da5354ad8a9235d13928e2ee0863f3642ccdd13") (:keywords "convenience") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-balanced-windows"))])
+ (bang . [(20200427 1628) ((emacs (24 1))) "A sam-like shell-command" single ((:commit . "2e3ec17d8335dcfd8d0db953eb673e0c8ad6b373") (:keywords "unix" "processes" "convenience") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/bang"))])
+ (banner-comment . [(20190606 1809) ((emacs (24 4))) "For producing banner comments." single ((:commit . "35d3315683d3f97605207691b77e9f447af18fe2") (:keywords "convenience") (:authors ("James Ferguson" . "james@faff.org")) (:maintainer "James Ferguson" . "james@faff.org") (:url . "https://github.com/WJCFerguson/banner-comment"))])
+ (bap-mode . [(20200128 1354) nil "Major-mode for BAP's IR" single ((:commit . "8969679f60db0aa918d35f40d959c0a9c723b111") (:keywords "languages") (:authors ("Thomas Barabosch <http://github/tbarabosch>")) (:maintainer "Thomas Barabosch" . "thomas.barabosch@fkie.fraunhofer.de") (:url . "https://github.com/fkie-cad/bap-mode"))])
+ (bar-cursor . [(20180227 45) nil "package used to switch block cursor to a bar" single ((:commit . "20cb59bedc3532a712fe7feeff3660ebd72a8107") (:keywords "files") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Andrew Johnson" . "andrew@andrewjamesjohnson.com") (:url . "https://github.com/ajsquared/bar-cursor"))])
+ (bart-mode . [(20190601 1004) ((emacs (24 3))) "Real time BART departures info." single ((:commit . "f70b6c42452e47c0c6b3ebd4c90e555a9bedeec7") (:keywords "convenience" "transit") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/bart-mode"))])
+ (base16-theme . [(20200414 2048) nil "Collection of themes built on combinations of 16 base colors" tar ((:commit . "d68512c0856f57a19cd49d1034199836352c15a0") (:url . "https://github.com/belak/base16-emacs"))])
+ (bash-completion . [(20191126 1824) nil "BASH completion for the shell buffer" single ((:commit . "96ce14af9674f3e605bacca87abc0c23b8f13cd5") (:authors ("Stephane Zermatten" . "szermatt@gmx.net")) (:maintainer "Stephane Zermatten" . "szermatt@gmx.net"))])
+ (basic-c-compile . [(20170302 1112) ((cl-lib (0 5)) (f (0 19 0))) "Quickly create a Makefile, compile and run C." single ((:commit . "0129786aeee50d7bb0020d9fc2b7508875d403e8") (:keywords "c" "makefile" "compilation" "convenience") (:authors ("Nick Spain" . "nicholas.spain96@gmail.com")) (:maintainer "Nick Spain" . "nicholas.spain96@gmail.com") (:url . "https://github.com/nick96/basic-c-compile"))])
+ (basic-ide . [(20200429 1104) ((emacs (25)) (basic-mode (0 4 2)) (company (0 9 12)) (flycheck (0 22)) (dash (2 12 0)) (f (0 17 0))) "BASIC IDE c64" single ((:commit . "0f75c944239960445f1e9c8a0b5f7a5b4d37ff89") (:keywords "languages" "basic") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:url . "https://gitlab.com/sasanidas/emacs-c64-basic-ide"))])
+ (basic-mode . [(20180919 1752) ((seq (2 20)) (emacs (24 3))) "major mode for editing BASIC code" single ((:commit . "812f078240f9de09491701853569335ba6d9b5ff") (:keywords "basic" "languages") (:authors ("Johan Dykstrom")) (:maintainer "Johan Dykstrom") (:url . "https://github.com/dykstrom/basic-mode"))])
+ (basic-theme . [(20160817 827) ((emacs (24))) "Minimalistic light color theme" single ((:commit . "e2a855bd39f4b78296228d4b790f9123156f7d7e") (:keywords "theme" "basic" "minimal" "colors") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:url . "http://github.com/fgeller/basic-theme.el"))])
+ (bats-mode . [(20160514 615) nil "Emacs mode for editing and running Bats tests" single ((:commit . "d519f7c89f5ae17dfc33400596df4564b478315f") (:keywords "bats" "tests") (:authors ("Doug MacEachern")) (:maintainer "Doug MacEachern") (:url . "https://github.com/dougm/bats-mode"))])
+ (battle-haxe . [(20200222 56) ((emacs (25)) (company (0 9 9)) (helm (3 0)) (async (1 9 3)) (cl-lib (0 5)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 10 0)) (f (0 19 0))) "A Haxe development system, with code completion and more" single ((:commit . "64d20c9ea3fd503fdefafda122e7095c192e72a3") (:keywords "programming" "languages" "completion") (:authors ("Alon Tzarafi " . "alontzarafi@gmail.com")) (:maintainer "Alon Tzarafi " . "alontzarafi@gmail.com") (:url . "https://github.com/AlonTzarafi/battle-haxe"))])
+ (bazel-mode . [(20200424 1953) ((emacs (26 1))) "Emacs major mode for editing Bazel BUILD and WORKSPACE files" tar ((:commit . "668a44907f7b3ad0e6fd300e319fba5862780140") (:keywords "build tools" "languages") (:url . "https://github.com/bazelbuild/emacs-bazel-mode"))])
+ (bbcode-mode . [(20190304 2122) ((emacs (24)) (cl-lib (0 5))) "Major mode for phpBB posts (BBCode markup)" single ((:commit . "e16619c80ea21154b4a4ccc2e13d0077e97c9caf") (:keywords "bbcode" "languages") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-bbcode-mode"))])
+ (bbdb- . [(20140221 2354) ((bbdb (20140123 1541)) (log4e (0 2 0)) (yaxception (0 1))) "provide interface for more easily search/choice than BBDB." single ((:commit . "2839e84c894de2513af41053e80a277a1b483d22") (:keywords "bbdb" "news" "mail") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/bbdb-"))])
+ (bbdb . [(20200102 403) nil "The Insidious Big Brother Database for GNU Emacs" tar ((:commit . "45529e315ba861f9df2914f9b88d2f7b991d5595"))])
+ (bbdb-csv-import . [(20180122 49) ((pcsv (1 3 3)) (dash (2 5 0)) (bbdb (20140412 1949))) "import csv to bbdb version 3+" single ((:commit . "dbc2e0fe9e8ae65e494011044d905ae79b3cee3e") (:keywords "csv" "util" "bbdb") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:url . "https://gitlab.com/iankelling/bbdb-csv-import"))])
+ (bbdb-ext . [(20151220 2013) ((bbdb (2 36))) "Extra commands for BBDB" single ((:commit . "fee97b1b3faa83edaea00fbc5ad3cbca5e791a55") (:keywords "extensions") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/bbdb-ext"))])
+ (bbdb-vcard . [(20190410 2054) ((bbdb (3 0))) "vCard import/export for BBDB" tar ((:commit . "853cbcd882be137a5488c70328c25f5982aca657") (:keywords "data" "calendar" "mail" "news") (:authors ("Bert Burgemeister" . "trebbu@googlemail.com") ("Toke Høiland-Jørgensen") ("Kevin Brubeck Unhammer") ("Steve Purcell") ("Vincent Geddes" . "vincent.geddes@gmail.com")) (:maintainer "Bert Burgemeister" . "trebbu@googlemail.com") (:url . "http://github.com/vgeddes/bbdb-vcard"))])
+ (bbdb2erc . [(20190822 907) ((bbdb (3 0))) "make bbdb show if pal is online with ERC, click i to chat" single ((:commit . "40b89e961762af3e7ade3a1844a9fbcd4084ac65") (:keywords "irc" "contacts" "chat" "client" "internet") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))])
+ (bbyac . [(20180206 1441) ((browse-kill-ring (1 3)) (cl-lib (0 5))) "Type a little Bit, and Bang! You Are Completed." tar ((:commit . "9f0de9cad13801891ffb590dc09f51ff9a7cb225") (:keywords "abbrev") (:authors ("Bao Haojun" . "baohaojun@gmail.com")) (:maintainer "Bao Haojun" . "baohaojun@gmail.com") (:url . "https://github.com/baohaojun/bbyac"))])
+ (bdo . [(20140126 901) nil "Do things to a browser page from Emacs. BETA!" tar ((:commit . "c96cb6aa9e97fa3491185c50dee0f77a13241010") (:keywords "development") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com"))])
+ (beacon . [(20190104 1931) ((seq (2 14))) "Highlight the cursor whenever the window scrolls" single ((:commit . "bde78180c678b233c94321394f46a81dc6dce1da") (:keywords "convenience") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/beacon"))])
+ (beeminder . [(20180413 1929) ((org (7))) "Emacs interface for Beeminder" tar ((:commit . "3fcee7a7003a37171ddb59171c7f4b5dd4b34349") (:keywords "beeminder") (:authors ("Phil Newton" . "phil@sodaware.net")) (:maintainer "Phil Newton" . "phil@sodaware.net") (:url . "http://www.philnewton.net/code/beeminder-el/"))])
+ (beginend . [(20200415 1752) ((emacs (25 3))) "Redefine M-< and M-> for some modes" single ((:commit . "bb51f7ee9229ff0b6ec5ba4a730f7360246fb9ea") (:url . "https://github.com/DamienCassou/beginend"))])
+ (belarus-holidays . [(20190102 1343) nil "Belarus holidays whith transfers" single ((:commit . "35a18273e19edc3b4c761030ffbd11116483b83e") (:authors ("Yauhen Makei" . "yauhen.makei@gmail.com")) (:maintainer "Yauhen Makei" . "yauhen.makei@gmail.com") (:url . "http://bitbucket.org/EugeneMakei/belarus-holidays.el"))])
+ (benchmark-init . [(20150905 938) nil "Benchmarks Emacs require and load calls" tar ((:commit . "7a0f263282bbc86b01b662636306f22813082647") (:keywords "benchmark") (:authors ("Steve Purcell")) (:maintainer "David Holm" . "dholmster@gmail.com"))])
+ (benchstat . [(20171014 312) nil "proper benchmarking made simple" single ((:commit . "a5b67cf7972ca2bbc9f5bc6a0f521ab02b76d4f0") (:keywords "lisp") (:authors ("Iskander Sharipov" . "quasilyte@gmail.com")) (:maintainer "Iskander Sharipov" . "quasilyte@gmail.com") (:url . "https://github.com/Quasilyte/benchstat.el"))])
+ (bencoding . [(20200331 1102) ((emacs (25 1))) "Bencoding decoding and encoding" single ((:commit . "f0af19511831f3ade590879e7d1636387682a8e7") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/bencoding.el"))])
+ (bento . [(20191024 2123) ((flycheck (0 22)) (emacs (25 1)) (f (0 20))) "Flycheck integration for the Bento code checker" single ((:commit . "31546a03475fc2b3ffd3159fe1beda55f7762224") (:authors ("Ash Zahlen" . "ash@returntocorp.com")) (:maintainer "Ash Zahlen" . "ash@returntocorp.com") (:url . "https://github.com/returntocorp/bento-emacs"))])
+ (berrys-theme . [(20191201 1609) ((emacs (24 1))) "A light, clean and elegant theme" single ((:commit . "888a14206b2fb3dc45b5273aeb05075f3e0b5f60") (:authors ("Slava Buzin" . "v8v.buzin@gmail.com")) (:maintainer "Slava Buzin" . "v8v.buzin@gmail.com") (:url . "https://github.com/vbuzin/berrys-theme"))])
+ (bert . [(20131117 1014) nil "BERT serialization library for Emacs" single ((:commit . "a3eec6980a725aa4abd2019e4c00246450260490") (:keywords "comm" "data") (:authors ("Oleksandr Manzyuk" . "manzyuk@gmail.com")) (:maintainer "Oleksandr Manzyuk" . "manzyuk@gmail.com"))])
+ (better-defaults . [(20200209 1717) ((emacs (25 1))) "Fixing weird quirks and poor defaults" single ((:commit . "fc9a03138c959f0d24301c6401f800eb6e7d3af9") (:keywords "convenience") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/better-defaults"))])
+ (better-jumper . [(20200103 1413) ((emacs (25 1))) "configurable jump list" single ((:commit . "6d240032ca213ccb3347e25f26c29b6822bf03a7") (:keywords "convenience" "jump" "history" "evil") (:authors ("Bryan Gilbert <http://github/gilbertw1>")) (:maintainer "Bryan Gilbert" . "bryan@bryan.sh") (:url . "https://github.com/gilbertw1/better-jumper"))])
+ (better-shell . [(20191025 1737) ((emacs (24 4))) "Better shell management" single ((:commit . "70c787b981caeef8c5f8012b170eb7b9f167cd13") (:keywords "convenience") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:url . "https://github.com/killdash9/better-shell"))])
+ (bf-mode . [(20130403 1442) nil "Browse file persistently on dired" single ((:commit . "7cc4d09aed64d9db6be95646f5f5067de68f8895") (:keywords "convenience") (:authors ("isojin")) (:maintainer "myuhe <yuhei.maeda_at_gmail.com>") (:url . "https://github.com/emacs-jp/bf-mode"))])
+ (bfbuilder . [(20150924 1650) ((cl-lib (0 3))) "A brainfuck development environment with interactive debugger" single ((:commit . "49560bdef131fa5672dab660e0c62376dbdcd906") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (bibclean-format . [(20190302 2017) ((emacs (24 3)) (reformatter (0 3))) "Reformat BibTeX and Scribe using bibclean" single ((:commit . "b4003950a925d1c659bc359ab5e88e4441775d77") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/bibclean-format"))])
+ (biblio . [(20200416 1407) ((emacs (24 3)) (biblio-core (0 2))) "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org" tar ((:commit . "eb9baf1d2bf6a073d24ccb717025baa693e98f3e"))])
+ (biblio-bibsonomy . [(20190105 1200) ((emacs (24 4)) (biblio-core (0 2))) "Lookup bibliographic entries from Bibsonomy" single ((:commit . "778cc944db3c6dababe2e7fec5877fba42e8c00d") (:keywords "bib" "tex" "bibsonomy") (:authors ("Andreas Jansson and contributors")) (:maintainer "Andreas Jansson and contributors") (:url . "http://github.com/andreasjansson/biblio-bibsonomy/"))])
+ (biblio-core . [(20200416 307) ((emacs (24 3)) (let-alist (1 0 4)) (seq (1 11)) (dash (2 12 1))) "A framework for looking up and displaying bibliographic entries" single ((:commit . "eb9baf1d2bf6a073d24ccb717025baa693e98f3e") (:keywords "bib" "tex" "convenience" "hypermedia") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "https://github.com/cpitclaudel/biblio.el"))])
+ (bibliothek . [(20190124 1828) ((emacs (24 4)) (pdf-tools (0 70)) (a (0 1 0 -3 4))) "Managing a digital library of PDFs" single ((:commit . "eab07dae119129066624e692c1c75a53b2ab10a5") (:keywords "tools") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://dev.gkayaalp.com/elisp/index.html#bibliothek-el"))])
+ (bibretrieve . [(20191124 1855) ((auctex (11 87)) (emacs (24 3))) "Retrieve BibTeX entries from the internet" tar ((:commit . "81dc8e0db3629cc180eafb2bc34b60dcd8980316") (:keywords "bibtex" "bibliography" "mathscinet" "arxiv" "zbmath") (:authors ("Antonio Sartori")) (:maintainer "Pavel Zorin-Kranich" . "pzorin@uni-bonn.de") (:url . "https://github.com/pzorin/bibretrieve"))])
+ (bibslurp . [(20151202 2346) ((s (1 6 0)) (dash (1 5 0))) "retrieve BibTeX entries from NASA ADS" single ((:commit . "0116bbb04840d20a6b087e6d9c921bb1c2489a8f") (:keywords "bibliography" "nasa ads") (:url . "https://github.com/mkmcc/bibslurp"))])
+ (bibtex-completion . [(20200427 859) ((parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2)) (emacs (26 1))) "A BibTeX backend for completion frameworks" single ((:commit . "6a884fe8ae939447849e76abf48d1bdf6a9bdcbb") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de") ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))])
+ (bibtex-utils . [(20190703 2117) nil "Provides utilities for extending BibTeX mode" single ((:commit . "26a8f0909b6adbf545a2b5e57ce7f779bf7a65af") (:keywords "bibtex") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca") (:url . "https://github.com/plantarum/bibtex-utils"))])
+ (bicycle . [(20200429 1021) ((emacs (25 1))) "cycle outline and code visibility" single ((:commit . "1bd8836171cf8da0be836fc407f2f140f52bdeb1") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))])
+ (bifocal . [(20200325 539) ((emacs (24 4))) "Split-screen scrolling for comint-mode buffers" single ((:commit . "de8d09b08b0b30714c4f9b98c97e9577d47b9be6") (:keywords "frames" "processes") (:url . "https://github.com/riscy/bifocal-mode"))])
+ (binclock . [(20170802 1116) ((cl-lib (0 5))) "Display the current time using a binary clock." single ((:commit . "87042230d7f3fe3e9a77fae0dbab7d8f7e7794ad") (:keywords "games" "time" "display") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/binclock.el"))])
+ (bind-chord . [(20171204 2010) ((bind-key (1 0)) (key-chord (0 6))) "key-chord binding helper for use-package-chords" single ((:commit . "c873d5529c9c80cb58222f22873a4f081c307cb2") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-chords"))])
+ (bind-key . [(20191110 416) nil "A simple way to manage personal keybindings" single ((:commit . "c873d5529c9c80cb58222f22873a4f081c307cb2") (:keywords "keys" "keybinding" "config" "dotemacs") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/use-package"))])
+ (bind-map . [(20161207 1511) ((emacs (24 3))) "Bind personal keymaps in multiple locations" single ((:commit . "bf4181e3a41463684adfffc6c5c305b30480e30f") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-bind-map"))])
+ (bing-dict . [(20200216 110) nil "Minimalists' English-Chinese Bing dictionary" tar ((:commit . "1d581aaa9622b34f8fb83af5579fa252aa24cfef") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/bing-dict.el"))])
+ (birds-of-paradise-plus-theme . [(20130419 2129) nil "A brown/orange light-on-dark theme for Emacs 24 (deftheme)." single ((:commit . "bb9f9d4ef7f7872a388ec4eee1253069adcadb6f") (:keywords "themes") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:url . "https://github.com/jimeh/birds-of-paradise-plus-theme.el"))])
+ (bison-mode . [(20200226 47) nil "Major mode for editing bison, yacc and lex files." single ((:commit . "675df47193accaf30ca44e142523b2b3bb122979") (:keywords "bison-mode" "yacc-mode") (:authors ("Eric Beuscher" . "beuscher@eecs.tulane.edu")) (:maintainer "Eric Beuscher" . "beuscher@eecs.tulane.edu"))])
+ (bitbake . [(20190107 1155) ((emacs (24 1)) (dash (2 6 0)) (mmm-mode (0 5 4)) (s (1 10 0))) "Running bitbake from emacs" single ((:commit . "4896ff48712a6be37009605ba697a7104462e2fd") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/bitbake-el"))])
+ (bitbucket . [(20170405 446) ((emacs (24)) (request (0 1 0)) (s (1 9 0))) "Bitbucket API wrapper" tar ((:commit . "5e663da1bd38a14c1ecf4d66a79d4321ac833bcf") (:keywords "bitbucket") (:authors ("2017 Tjaart van der Walt" . "tjaart@tjaart.co.za")) (:maintainer "2017 Tjaart van der Walt" . "tjaart@tjaart.co.za") (:url . "http://github.com/tjaartvdwalt/bitbucket.el/"))])
+ (bitlbee . [(20151203 0) nil "Help get Bitlbee (http://www.bitlbee.org) up and running." single ((:commit . "3a92a4119e0c007df2c7dcf1b1c3a5f23ee40e05"))])
+ (blackboard-bold-mode . [(20160813 206) ((cl-lib (0 5))) "Easily insert Unicode mathematical double-struck characters" single ((:commit . "5299cb064ba71baa3e331b8560bf8dd38cbbc4ed") (:keywords "unicode" "double struck" "blackboard bold" "math" "mathematical") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "<gcr@wisdomandwonder.com>") (:url . "https://github.com/grettke/blackboard-bold-mode"))])
+ (blackboard-theme . [(20161216 656) ((emacs (24))) "TextMate Blackboard Theme" single ((:commit . "7a0d79410feb728ff5cce75c140fadc19a3f9a6d") (:authors ("Dong Zheng")) (:maintainer "Dong Zheng") (:url . "https://github.com/don9z/blackboard-theme"))])
+ (blacken . [(20191123 1547) ((emacs (25 2))) "Reformat python buffers using the \"black\" formatter" single ((:commit . "a09f8e2564739792a1b86bc8a6ce41039db3bbf8") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/blacken"))])
+ (blackout . [(20200404 1550) ((emacs (26))) "Better mode lighter overriding" single ((:commit . "af37650d99bb5ae3ab05577a5bf99d5ff26b1e66") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/blackout"))])
+ (blgrep . [(20150401 1416) ((clmemo (20140321 715))) "Block grep" tar ((:commit . "605beda210610a5829750a987f5fcebea97af546") (:keywords "tools" "convenience") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com"))])
+ (blimp . [(20180903 2240) ((emacs (25)) (eimp (1 4 0))) "Bustling Image Manipulation Package" single ((:commit . "39562f02acc1113595cb253a85bb3b9da743ddd2") (:keywords "multimedia" "unix") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/blimp"))])
+ (bliss-theme . [(20170808 1307) ((emacs (24 0))) "an Emacs 24 theme based on Bliss (tmTheme)" single ((:commit . "c3cf6d8a666ab26909b7da158f9e94df71a5fbbf") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (blitzmax-mode . [(20200415 1529) ((emacs (24 1))) "A major mode for editing BlitzMax source code" single ((:commit . "5f67bb3c8e4baf1f6881cc998f9f031641a7b08a") (:keywords "languages" "blitzmax") (:authors ("Phil Newton")) (:maintainer "Phil Newton") (:url . "https://www.sodaware.net/dev/tools/blitzmax-mode/"))])
+ (bln-mode . [(20181121 918) nil "binary line navigation minor mode for cursor movement in long lines" single ((:commit . "a601b0bf975dd1432f6552ab6afe3f4f71133b4a") (:keywords "motion" "location" "cursor" "convenience") (:authors ("Maarten Grachten")) (:maintainer "Maarten Grachten") (:url . "https://github.com/mgrachten/bln-mode"))])
+ (blockdiag-mode . [(20160427 524) ((emacs (24 3))) "Major mode for editing blockdiag files" single ((:commit . "f3b21ba433d60327cebd103ae4492200750e24a9") (:authors ("xcezx" . "main.xcezx@gmail.com")) (:maintainer "xcezx" . "main.xcezx@gmail.com") (:url . "https://github.com/xcezx/xdiag-mode"))])
+ (blog-admin . [(20170923 1409) ((ctable (0 1 1)) (s (1 10 0)) (f (0 17 3)) (names (20151201 0)) (cl-lib (0 5))) "Blog admin for emacs with hexo/org-page supported" tar ((:commit . "b5f2e1dad7d68ec903619f7280bb0bcb7e398a1e") (:keywords "tools" "blog" "org" "hexo" "org-page") (:authors (nil . "code.falling@gmail.com")) (:maintainer nil . "code.falling@gmail.com"))])
+ (blog-minimal . [(20181021 849) ((ht (1 5)) (simple-httpd (1 4 6)) (mustache (0 22)) (s (1 11 0)) (org (9 0 3))) "a simple static site generator based on org mode" tar ((:commit . "356c878322258159021eecdd15757e11cf02e335") (:keywords "tools") (:authors ("Thank Fly" . "thiefuniverses@gmail.com")) (:maintainer "Thank Fly" . "thiefuniverses@gmail.com") (:url . "https://github.com/thiefuniverse/blog-minimal"))])
+ (bm . [(20190807 1217) nil "Visible bookmarks in buffer." tar ((:commit . "8129428182e1b8a647d16fceb2d08cc0a2a5f3c7") (:keywords "bookmark" "highlight" "faces" "persistent") (:authors ("Jo Odland <jo.odland(at)gmail.com>")) (:maintainer "Jo Odland <jo.odland(at)gmail.com>") (:url . "https://github.com/joodland/bm"))])
+ (bmx-mode . [(20180929 1132) ((emacs (25 1)) (cl-lib (0 5)) (company (0 9 4)) (dash (2 13 0)) (s (1 12 0))) "Batch Mode eXtras" single ((:commit . "536b332edc3b98cc97588c937c7368803ba5961c") (:keywords "c" "convenience" "tools") (:authors ("Jostein Kjønigsen" . "jostein@gmail.com")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:url . "http://github.com/josteink/bmx-mode"))])
+ (bnf-mode . [(20200323 1348) ((cl-lib (0 5)) (emacs (24 3))) "Major mode for editing BNF grammars." tar ((:commit . "d88eef69ae66ea1ffa21a65317afe84c9ddb0814") (:keywords "languages") (:authors ("Serghei Iakovlev" . "egrep@protonmail.ch")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:url . "https://github.com/sergeyklay/bnf-mode"))])
+ (bnfc . [(20160605 1927) ((emacs (24 3))) "Define context-free grammars for the BNFC tool" single ((:commit . "1b58df1dd0cb9b81900632fb2843a03b94f56fdb") (:keywords "languages" "tools") (:authors ("Jacob Mitchell" . "jmitchell@member.fsf.org")) (:maintainer "Jacob Mitchell" . "jmitchell@member.fsf.org") (:url . "https://github.com/jmitchell/bnfc-mode"))])
+ (bog . [(20180815 2213) ((cl-lib (0 5))) "Extensions for research notes in Org mode" single ((:commit . "6c8fa1b4961e279ae63130902996c5f71a2e64e4") (:keywords "bib" "outlines") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/bog"))])
+ (bolt-mode . [(20180310 810) ((emacs (24 3))) "Editing support for Bolt language" single ((:commit . "85a5a752bfbebb4aed884326c25db64c000e9934") (:keywords "languages") (:authors ("Mikhail Pontus" . "mpontus@gmail.com")) (:maintainer "Mikhail Pontus" . "mpontus@gmail.com") (:url . "https://github.com/mpontus/bolt-mode"))])
+ (bongo . [(20190722 1644) ((cl-lib (0 5)) (emacs (24 1))) "play music with Emacs" tar ((:commit . "9afbf269d33cd3196962423a2c261824611cffe4"))])
+ (bonjourmadame . [(20170919 1134) nil "Say \"Hello ma'am!\"" single ((:commit . "d3df185fce78aefa689fded8e56a654f0fde4ac0"))])
+ (boogie-friends . [(20190909 1432) ((cl-lib (0 5)) (dash (2 10 0)) (flycheck (0 23)) (yasnippet (0 9 0 1)) (company (0 8 12))) "A collection of programming modes for Boogie, Dafny, and Z3 (SMTLIB v2)." tar ((:commit . "45ee305eba1cce63f89e49daef9eaeaa90e34265"))])
+ (bool-flip . [(20161215 1539) ((emacs (24 3))) "flip the boolean under the point" single ((:commit . "f58a9a7b9ab875bcfbd57c8262697ae404eb4485") (:keywords "boolean" "convenience" "usability") (:authors ("Michael Brandt" . "michaelbrandt5@gmail.com")) (:maintainer "Michael Brandt" . "michaelbrandt5@gmail.com") (:url . "http://github.com/michaeljb/bool-flip/"))])
+ (boon . [(20200212 1535) ((emacs (25 1)) (expand-region (0 10 0)) (dash (2 12 0)) (multiple-cursors (1 3 0))) "Ergonomic Command Mode for Emacs." tar ((:commit . "19bc70fa6f9e5c001f8ac714ce90af14788f35dd"))])
+ (borg . [(20200223 1448) ((emacs (26)) (dash (2 16 0)) (epkg (3 2 2)) (magit (2 90 1))) "assimilate Emacs packages as Git submodules" tar ((:commit . "3cfb35f5c54a76f200272ed11b4a39f11a57552c") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/borg"))])
+ (borland-blue-theme . [(20160117 1321) ((emacs (24 1))) "Blue/yellow theme based on old DOS Borland/Turbo C IDE" single ((:commit . "db74eefebbc89d3c62575f8f50b319e87b4a3470") (:keywords "themes") (:authors ("Alexey Veretennikov <alexey dot veretennikov at gmail dot com>")) (:maintainer "Alexey Veretennikov <alexey dot veretennikov at gmail dot com>") (:url . "http://github.com/fourier/borland-blue-theme"))])
+ (boron-theme . [(20170808 1308) ((emacs (24 0))) "an Emacs 24 theme based on Boron (tmTheme)" single ((:commit . "87ae1a765e07429fec25d2f29b004f84b52d2e0a") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (boxquote . [(20170802 1117) ((cl-lib (0 5))) "Quote text with a semi-box." single ((:commit . "7e47e0e2853bc1215739b2e28f260e9eed93b2c5") (:keywords "quoting") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/boxquote.el"))])
+ (bpe . [(20141228 2205) ((emacs (24 1))) "Blog from Org mode to Blogger" single ((:commit . "7b5b25f83506e6c9f4075d3803fa32404943a189") (:keywords "blogger" "blog") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/bpe"))])
+ (bpftrace-mode . [(20190608 2201) ((emacs (24 0))) "Major mode for editing bpftrace script files" single ((:commit . "587b39ea7a1d786df5c04796d51bf2a5a4eda0d7") (:keywords "highlight" "c") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/bpftrace-mode"))])
+ (bpr . [(20180220 1844) ((emacs (24))) "Background Process Runner" tar ((:commit . "7f3c787ed80ac0e83447192ac5450dfa7110ade1") (:keywords "background" "async" "process" "management") (:authors ("Ilya Babanov" . "ilya-babanov@ya.ru")) (:maintainer "Ilya Babanov" . "ilya-babanov@ya.ru") (:url . "https://github.com/ilya-babanov/emacs-bpr"))])
+ (bracketed-paste . [(20160407 2348) ((emacs (24 3))) "bracketed paste mode support within emacs -nw" single ((:commit . "843ce3bbb63d560face889e13a57a2f7543957d5") (:keywords "terminals") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))])
+ (brainfuck-mode . [(20150113 842) ((langdoc (20130601 1450))) "Brainfuck mode for Emacs" single ((:commit . "36e69552bb3b97a4f888d362c59845651bd0d492") (:keywords "brainfuck" "langdoc") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/brainfuck-mode/"))])
+ (brazilian-holidays . [(20191211 330) ((emacs (26))) "Brazilian holidays" single ((:commit . "13a480f03eb3729e6f203ce77dfd4de5e1203a3d") (:keywords "calendar" "holidays" "brazilian") (:authors ("Jaguaraquem A. Reinaldo" . "jaguar.adler@gmail.com")) (:maintainer "Jaguaraquem A. Reinaldo" . "jaguar.adler@gmail.com") (:url . "https://github.com/jadler/brazilian-holidays"))])
+ (brf . [(20200329 1531) ((fringe-helper (0 1 1)) (emacs (24))) "Add functionality from the editor Brief" tar ((:commit . "f1ae0c5eb74f62af109ebaf18e8663d6f51270cb") (:keywords "brief" "crisp" "emulations") (:authors ("Mike Woolley" . "mike@bulsara.com")) (:maintainer "Mike Woolley" . "mike@bulsara.com") (:url . "https://bitbucket.org/MikeWoolley/brf-mode"))])
+ (brightscript-mode . [(20200321 2126) ((emacs (26 3))) "Major mode for editing Brightscript files" single ((:commit . "3b34032bdde6a37b4566c45ce93cb38da21d4965") (:keywords "languages") (:authors ("Daniel Mircea" . "daniel@viseztrance.com")) (:maintainer nil . "daniel@viseztrance.com") (:url . "https://github.com/viseztrance/brightscript-mode"))])
+ (broadcast . [(20151205 212) ((emacs (24 4))) "Links buffers together for simultaneous editing." single ((:commit . "f6f9cd2e0e3f8c31d6b8e7446c27eb0e50b25f16") (:keywords "convenience" "frames" "link" "cursors") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:url . "https://github.com/killdash9/broadcast.el"))])
+ (browse-at-remote . [(20200308 639) ((f (0 17 2)) (s (1 9 0)) (cl-lib (0 5))) "Open github/gitlab/bitbucket/stash/gist/phab/sourcehut page from Emacs" single ((:commit . "6aecae4b5d202e582425fc8aa2c9c2b6a4779f25") (:keywords "github" "gitlab" "bitbucket" "gist" "stash" "phabricator" "sourcehut" "pagure") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))])
+ (browse-kill-ring . [(20200210 921) nil "interactively insert items from kill-ring" single ((:commit . "1ef72cc6accd94cd7032c02b1b2c78ae7f1d1965") (:keywords "convenience") (:authors ("Colin Walters" . "walters@verbum.org")) (:maintainer "browse-kill-ring" . "browse-kill-ring@tonotdo.com") (:url . "https://github.com/browse-kill-ring/browse-kill-ring"))])
+ (browse-url-dwim . [(20140731 1922) ((string-utils (0 3 2))) "Context-sensitive external browse URL or Internet search" single ((:commit . "3d611dbb167c286109ac53995ad68286d87aafb9") (:keywords "hypermedia") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/browse-url-dwim"))])
+ (brutal-theme . [(20200415 602) ((emacs (24 1))) "Brutalist theme" single ((:commit . "ee63563b7cb07aeec342722ae684426cb0465a98") (:authors ("Topi Kettunen" . "topi@kettunen.io")) (:maintainer "Topi Kettunen" . "topi@kettunen.io") (:url . "https://github.com/topikettunen/brutal"))])
+ (brutalist-theme . [(20181023 1222) nil "Brutalist theme" tar ((:commit . "6568844b83dc916a5d6aa69960cbc85ded5f7d73") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://git.madhouse-project.org/algernon/brutalist-theme.el"))])
+ (bshell . [(20190617 238) ((emacs (25)) (buffer-manage (0 5))) "manage and track multiple inferior shells" single ((:commit . "5cdffa393ec3f923736bc6459bc958829a321327") (:keywords "interactive" "shell" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/bshell"))])
+ (btc-ticker . [(20151113 1459) ((json (1 2)) (request (0 2 0))) "Shows latest bitcoin price" single ((:commit . "845235b545f070d0812cd1654cbaa4997565824f") (:keywords "news") (:authors ("Jorge Niedbalski R." . "jnr@metaklass.org")) (:maintainer "Jorge Niedbalski R." . "jnr@metaklass.org"))])
+ (bts . [(20151109 1333) ((widget-mvc (0 0 2)) (log4e (0 3 0)) (yaxception (0 3 3)) (dash (2 9 0)) (s (1 9 0)) (pos-tip (0 4 5))) "A unified UI for various bug tracking systems" single ((:commit . "df42d58a36447697f93b56e69f5e700b2baef1f9") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-bts"))])
+ (bts-github . [(20170401 1249) ((bts (0 0 1)) (gh (0 8 2))) "A plugin of bts.el for GitHub" single ((:commit . "ef2cf9202dc2128e5efdb613bfde9276a8cd95ad") (:keywords "convenience" "git" "github") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-bts-github"))])
+ (bubbleberry-theme . [(20141017 944) ((emacs (24 1))) "A theme based on LightTable for Emacs24" single ((:commit . "22e9adf4586414024e4592972022ec297321b320") (:authors ("Jason Milkins" . "jasonm23@gmail.com") ("Gaurav Giri github.com/grvgr")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-bubbleberry-theme"))])
+ (buckwalter . [(20191119 1950) nil "Write arabic using Buckwalter transliteration" single ((:commit . "1ef6f210f38c0686bc5b445b9704190f168f30ea") (:keywords "arabic" "transliteration" "i18n") (:authors ("Joe HAKIM RAHME" . "joehakimrahme@gmail.com")) (:maintainer "Joe HAKIM RAHME" . "joehakimrahme@gmail.com") (:url . "https://github.com/joehakimrahme/buckwalter-arabic"))])
+ (buffer-buttons . [(20150106 1439) nil "Define, save, and load code-safe buttons in files for emacs" single ((:commit . "2feb8494fa7863b98256bc85da670d74a3a8a975") (:authors ("Ryan Pavlik" . "rpavlik@gmail.com")) (:maintainer "Ryan Pavlik" . "rpavlik@gmail.com") (:url . "https://github.com/rpav/buffer-buttons"))])
+ (buffer-flip . [(20180307 2251) nil "Cycle through buffers like Alt-Tab in Windows" single ((:commit . "e093360e05164c78255866c1ac8f966aa38ba514") (:keywords "convenience") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:url . "https://github.com/killdash9/buffer-flip.el"))])
+ (buffer-manage . [(20191015 1730) ((emacs (26)) (choice-program (0 5)) (dash (2 13 0))) "manage buffers" tar ((:commit . "4fd0e6f9f3da31bc805be2000adf2c91088dd39b") (:keywords "interactive" "buffer" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/buffer-manage"))])
+ (buffer-move . [(20160615 1803) nil "easily swap buffers" single ((:commit . "cb517ecf8409b5fdcda472d7190c6021f0c49751") (:keywords "lisp" "convenience") (:url . "https://github.com/lukhas/buffer-move"))])
+ (buffer-sets . [(20170718 340) ((cl-lib (0 5))) "Sets of Buffers for Buffer Management" single ((:commit . "4a4ccb0d6916c3e9fba737bb7b48e8aac921954e") (:keywords "buffer-management") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:url . "http://github.com/swflint/buffer-sets"))])
+ (buffer-utils . [(20140512 1400) nil "Buffer-manipulation utility functions" single ((:commit . "685b13457e3a2085b7584e41365d2aa0779a1b6f") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/buffer-utils"))])
+ (buffer-watcher . [(20170913 839) ((f (0 16 2)) (cl-lib (0 5))) "Easily run shell scripts per filetype/directory when a buffer is saved" single ((:commit . "b32c67c8a5d724257d759f4c903d0dedc32246ef") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))])
+ (buffer-wrap . [(20200223 605) ((emacs (24 4))) "Wrap the beginning and the end of buffer" single ((:commit . "460f90bc024b6c287ed8afac3ff1bed2a147c777") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/buffer-wrap"))])
+ (bufler . [(20200409 1253) ((emacs (26 3)) (dash (2 17)) (dash-functional (2 17)) (f (0 17)) (pretty-hydra (0 2 2)) (magit-section (0 1))) "Group buffers into workspaces with programmable rules" tar ((:commit . "b2b260e4f9e8ba76bb8b4d71344c7b75e05ac44f") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/bufler.el"))])
+ (bufshow . [(20130726 1838) ((emacs (24 1))) "A simple presentation tool for Emacs." single ((:commit . "d60a554e7239e6f7520d9c3436d5ecdbc9cf6957") (:authors ("Peter Jones" . "pjones@pmade.com")) (:maintainer "Peter Jones" . "pjones@pmade.com") (:url . "https://github.com/pjones/bufshow"))])
+ (bug-reference-github . [(20200206 2158) nil "Set `bug-reference-url-format' in Github repos" tar ((:commit . "c9512a010f19633e69f1d4b1597eff7048b21112") (:keywords "programming" "tools") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/bug-reference-github"))])
+ (bui . [(20181218 1830) ((emacs (24 3)) (dash (2 11 0))) "Buffer interface library" tar ((:commit . "508577a7225b3d07eaefa9444064410af2518675") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/bui.el"))])
+ (build-farm . [(20181218 2002) ((emacs (24 4)) (bui (1 2 1)) (magit-popup (2 1 0))) "Interface for Nix and Guix build farms (Hydra and Cuirass)" tar ((:commit . "5c268a3c235ace0d79ef1ec82c440120317e06f5") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitlab.com/alezost-emacs/build-farm"))])
+ (build-helper . [(20161009 1755) ((projectile (0 9 0))) "Utilities to help build code" single ((:commit . "7a6fe71125a26ed1c492dab77cc688a7fe1d68ac") (:keywords "convenience") (:authors ("Afonso Bordado" . "afonsobordado@az8.co")) (:maintainer "Afonso Bordado" . "afonsobordado@az8.co") (:url . "http://github.com/afonso360/build-helper"))])
+ (build-status . [(20190807 1231) ((cl-lib (0 5))) "Mode line build status indicator" single ((:commit . "1a1d2473aa62f2fdda47d8bfeb9fe352d2579b48") (:keywords "mode-line" "ci" "circleci" "travis-ci") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/build-status"))])
+ (bundler . [(20200129 1338) ((inf-ruby (2 1)) (cl-lib (0 5))) "Interact with Bundler from Emacs" single ((:commit . "43efb6be4ed118b06d787ce7fbcffd68a31732a7") (:keywords "bundler" "ruby") (:authors ("Tobias Svensson" . "tob@tobiassvensson.co.uk")) (:maintainer "Tobias Svensson" . "tob@tobiassvensson.co.uk") (:url . "http://github.com/endofunky/bundler.el"))])
+ (bury-successful-compilation . [(20181106 403) nil "Bury the *compilation* buffer after successful compilation" single ((:commit . "674644c844184605a1bb4f9487a60f7a780a6fe7") (:keywords "compilation") (:authors ("Eric Crosson" . "esc@ericcrosson.com")) (:maintainer "Eric Crosson" . "esc@ericcrosson.com"))])
+ (buster-mode . [(20140928 1213) nil "Minor mode to speed up development when writing tests with Buster.js" single ((:commit . "de6958ef8369400922618b8d1e99abfa91b97ac5") (:keywords "buster" "testing" "javascript"))])
+ (buster-snippets . [(20151125 1010) ((yasnippet (0 8 0))) "Yasnippets for the Buster javascript testing framework" tar ((:commit . "bb8769dae132659858e74d52f3f4e8790399423a") (:keywords "snippets") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (busybee-theme . [(20170719 928) nil "port of vim's mustang theme" single ((:commit . "66b2315b030582d0ebee605cf455d386d8c30fcd") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/busybee-theme"))])
+ (butler . [(20150812 8) ((deferred (0 3 2)) (json (1 2)) (emacs (24))) "Emacs client for Jenkins" tar ((:commit . "8ceb35737107572455cca9a61ff46b3ff78f1016"))])
+ (buttercup . [(20200412 1148) nil "Behavior-Driven Emacs Lisp Testing" tar ((:commit . "a91f2820256a4e0c8636cc33a2ef8515a26d3f81"))])
+ (buttercup-junit . [(20190802 2258) ((emacs (24 3)) (buttercup (1 15))) "JUnit reporting for Buttercup" single ((:commit . "3ae4f84813c9e04e03a6e703990ca998b62b6deb") (:keywords "tools" "test" "unittest" "buttercup" "ci") (:authors ("Ola Nilsson" . "ola.nilsson@gmail.com")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:url . "https://bitbucket.org/olanilsson/buttercup-junit"))])
+ (button-lock . [(20200309 1323) nil "Clickable text defined by regular expression" single ((:commit . "9afe0f4d05910b0cccc94cb6d4d880119f3b0528") (:keywords "mouse" "button" "hypermedia" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))])
+ (buttons . [(20190319 41) ((cl-lib (0 3))) "Define and visualize hierarchies of keymaps" single ((:commit . "a14d0c21cc30d33b57481f535f2a838d65b2032f") (:keywords "keymap" "template" "snippet") (:authors ("Ernesto Alfonso")) (:maintainer nil . "(concat \"erjoalgo\" \"@\" \"gmail\" \".com\")") (:url . "http://github.com/erjoalgo/emacs-buttons"))])
+ (c-c-combo . [(20151224 255) nil "Make stuff happen when you reach a target wpm" tar ((:commit . "a261a833499a7fdc29610863b3aafc74818770ba") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "https://www.github.com/CestDiego/c-c-combo.el"))])
+ (c-eldoc . [(20181109 439) nil "helpful description of the arguments to C functions" single ((:commit . "e35c0e40f71c25804919f6c01fd27e95c2e2adb7") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/c-eldoc"))])
+ (c0-mode . [(20151110 1852) nil "Major mode for editing C0 files" tar ((:commit . "c214093c36864d6208fcb9e6a72413ed17ed5d60") (:keywords "c0" "languages") (:authors ("Jakob Max Uecker")) (:maintainer "Jakob Max Uecker") (:url . "http://c0.typesafety.net/"))])
+ (cabledolphin . [(20160204 938) ((emacs (24 4)) (seq (1 0))) "capture Emacs network traffic" single ((:commit . "fffc192cafa61558e924323d6da8166fe5f2a6f9") (:keywords "comm") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com"))])
+ (cache . [(20111019 2300) nil "implementation of a hash table whose key-value pairs expire" single ((:commit . "7499586b6c8224df9f5c5bc4dec96b008258d580") (:authors ("Nathaniel Flath")) (:maintainer "Nathaniel Flath"))])
+ (cacoo . [(20120319 2359) ((concurrent (0 3 1))) "Minor mode for Cacoo : http://cacoo.com" tar ((:commit . "c9fa04fbe97639b24698709530361c2bb5f3273c"))])
+ (caddyfile-mode . [(20181204 858) ((emacs (25)) (loop (1 3))) "Major mode for Caddy configuration files" single ((:commit . "976ad0664c3f44bfa11cb9b8787ddfb094d0a666") (:keywords "languages") (:authors ("Thomas Jost" . "schnouki@schnouki.net")) (:maintainer "Thomas Jost" . "schnouki@schnouki.net") (:url . "https://github.com/Schnouki/caddyfile-mode/"))])
+ (cake-inflector . [(20140415 858) ((s (1 9 0))) "Lazy porting CakePHP infrector.php to el" single ((:commit . "a1d338ec4840b1b1bc14f7f9298c07e2c1d2d8fc") (:authors ("k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>")) (:maintainer "k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>") (:url . "https://github.com/k1LoW/emacs-cake-inflector"))])
+ (cakecrumbs . [(20180929 139) ((emacs (24 4))) "Show parents on header for HTML/Jade/Sass/Stylus" single ((:commit . "cf8c1df885eee004602f73c4f841301e200e5850") (:keywords "languages" "html" "jade" "pug" "sass" "scss" "stylus") (:authors ("ono hiroko <kuanyui.github.io>")) (:maintainer "ono hiroko <kuanyui.github.io>") (:url . "https://github.com/kuanyui/cakecrumbs.el"))])
+ (cal-china-x . [(20190518 1057) ((cl-lib (0 5))) "Chinese localization, lunar/horoscope/zodiac info and more..." tar ((:commit . "177f60e011606126f23c8ffed69458439f1c12e0") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com") (:url . "https://github.com/xwl/cal-china-x"))])
+ (calc-at-point . [(20200406 1618) ((emacs (26)) (dash (2 12 0)) (dash-functional (1 2 0))) "Perform calculations at point or over selection" single ((:commit . "11e40c8db9493ada71964b73069c6db529016492") (:keywords "convenience") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/calc-at-point"))])
+ (calendar-norway . [(20180906 1502) nil "Norwegian calendar" single ((:commit . "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4") (:keywords "calendar" "norwegian" "localization") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))])
+ (calfw . [(20180118 45) nil "Calendar view framework on Emacs" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:keywords "calendar") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-calfw"))])
+ (calfw-cal . [(20170320 1206) nil "calendar view for emacs diary" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:keywords "calendar") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>"))])
+ (calfw-gcal . [(20120111 1000) nil "edit Google calendar for calfw.el." tar ((:commit . "14aab20687d6cc9e6c5ddb9e11984c4e14c3d870") (:keywords "convenience" "calendar" "calfw.el") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/calfw-gcal.el"))])
+ (calfw-howm . [(20170704 4) nil "calendar view for howm" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:keywords "calendar") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>"))])
+ (calfw-ical . [(20150703 819) nil "calendar view for ical format" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:keywords "calendar") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>"))])
+ (calfw-org . [(20160303 258) nil "calendar view for org-agenda" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:keywords "calendar" "org") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>"))])
+ (call-graph . [(20200402 910) ((emacs (25)) (cl-lib (0 6 1)) (hierarchy (0 7 0)) (tree-mode (1 0 0)) (ivy (0 10 0)) (anaconda-mode (0 1 13))) "Library to generate call graph for c/c++ functions" tar ((:commit . "2f47dcb65ed8dc5393df846b4175a4872e254c05") (:keywords "programming" "convenience") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:url . "https://github.com/beacoder/call-graph"))])
+ (calmer-forest-theme . [(20130926 510) nil "Darkish theme with green/orange tint" single ((:commit . "87ba7bae389084d13fe3bc34e0c923017eda6ba0") (:authors ("Artur Hefczyc, created 2003-04-18") ("David Caldwell" . "david@porkrind.org")) (:maintainer "Artur Hefczyc, created 2003-04-18") (:url . "https://github.com/caldwell/calmer-forest-theme"))])
+ (camcorder . [(20190317 2138) ((emacs (24)) (names (20150000)) (cl-lib (0 5))) "Record screencasts in gif or other formats." single ((:commit . "b11ca61491a27681bb3131b72b51c105fd996bed") (:keywords "multimedia" "screencast") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/camcorder.el"))])
+ (caml . [(20190413 1205) nil "OCaml code editing commands for Emacs" tar ((:commit . "38ebde12d3d529e6ef8078967997d32226e69e82") (:keywords "ocaml") (:authors ("Jacques Garrigue" . "garrigue@kurims.kyoto-u.ac.jp") ("Ian T Zimmerman" . "itz@rahul.net")) (:maintainer "Damien Doligez" . "damien.doligez@inria.fr") (:url . "https://github.com/ocaml/ocaml/"))])
+ (cangjie . [(20190929 1221) ((emacs (24 4)) (s (1 12 0)) (dash (2 14 1)) (f (0 2 0))) "Retrieve cangjie code for han characters" tar ((:commit . "0a703f4d1162259d77bfb3f862d13c1b1f11a711") (:keywords "convenience" "writing") (:url . "https://github.com/kisaragi-hiu/cangjie.el"))])
+ (capture . [(20130828 1644) nil "screencasting with \"avconv\" or \"ffmpeg\"" tar ((:commit . "1bb26060311da76767f70096218313fc93b0c806") (:authors ("Sergey Pashinin <sergey at pashinin dot com>")) (:maintainer "Sergey Pashinin <sergey at pashinin dot com>"))])
+ (carbon-now-sh . [(20180331 1735) ((emacs (24 4)) (dash (2 12 0))) "https://carbon.now.sh integration." single ((:commit . "71dee6bc4f2a2cb02b9b7b5e643c4c92b880e6a4") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/veelenga/carbon-now-sh.el"))])
+ (cargo . [(20191224 47) ((emacs (24 3)) (rust-mode (0 2 0)) (markdown-mode (2 4))) "Emacs Minor Mode for Cargo, Rust's Package Manager." tar ((:commit . "dc9ff35c2861d524ac4d65020c5320eec71acacf") (:keywords "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))])
+ (caroline-theme . [(20160318 520) ((emacs (24))) "A trip down to New Orleans..." single ((:commit . "222fd483db304509f9e422dc82883d808e023ceb") (:authors ("Jack Killilea" . "jaaacckz1@gmail.com")) (:maintainer "Jack Killilea" . "jaaacckz1@gmail.com") (:url . "https://github.com/xjackk/carolines-theme"))])
+ (caseformat . [(20160115 1615) ((emacs (24)) (cl-lib (0 5)) (dash (2 12 1)) (s (1 10 0))) "Format based letter case converter" single ((:commit . "92a31f6a7cae0b4e2af106cd6f2b0abe6c2d8921") (:keywords "convenience") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/caseformat"))])
+ (cask . [(20191004 1155) ((s (1 8 0)) (dash (2 2 0)) (f (0 16 0)) (epl (0 5)) (shut-up (0 1 0)) (cl-lib (0 3)) (package-build (1 2)) (ansi (0 4 1))) "Cask: Project management for Emacs package development" tar ((:commit . "a4715f7c6c9797639c3636399cb21c2b0332b354") (:keywords "speed" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/cask/cask"))])
+ (cask-mode . [(20160410 1449) ((emacs (24 3))) "major mode for editing Cask files" single ((:commit . "7c6719d3bb4fe552958634bd5a11abc56681f3a7") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (cask-package-toolset . [(20170921 2256) ((emacs (24)) (cl-lib (0 3)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0)) (commander (0 2 0)) (ansi (0 1 0)) (shut-up (0 1 0))) "Toolsettize your package" tar ((:commit . "2c74cd827e88c7f8360581a841e45f0b794510e7") (:keywords "convenience" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "http://github.com/AdrieanKhisbe/cask-package-toolset.el"))])
+ (caskxy . [(20140513 1539) ((log4e (0 2 0)) (yaxception (0 1))) "Control Cask in Emacs" single ((:commit . "dc18dcab7ed526070ab76de071c9c5272e6ac40e") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/caskxy"))])
+ (catmacs . [(20170826 1157) ((emacs (24))) "Simple CAT interface for Yaesu Transceivers." single ((:commit . "65d3e0563abe6ff9577202cf2278074d4130fbdd") (:keywords "comm" "hardware") (:authors ("Frank Singleton" . "b17flyboy@gmail.com")) (:maintainer "Frank Singleton" . "b17flyboy@gmail.com") (:url . "https://bitbucket.org/pymaximus/catmacs"))])
+ (cbm . [(20171116 1240) ((cl-lib (0 5))) "Switch to similar buffers." single ((:commit . "5b41c936ba9f6d170309a85ffebc9939c1050b31") (:keywords "buffers") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:url . "http://github.com/akermu/cbm.el"))])
+ (cc-cedict . [(20181217 1112) ((emacs (25))) "Interface to CC-CEDICT (a Chinese-English dictionary)" single ((:commit . "0dd9bcd5337c8f16fc9c8d27daba4a9362695c99") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/cc-cedict.el"))])
+ (ccc . [(20200314 1557) nil "buffer local cursor color control library" single ((:commit . "11d91b4cce988e15d7c5fc4345535c9d7a92d53b") (:keywords "cursor") (:authors ("Masatake YAMATO" . "masata-y@is.aist-nara.ac.jp")) (:maintainer "SKK Development Team" . "skk@ring.gr.jp") (:url . "https://github.com/skk-dev/ddskk/blob/master/READMEs/README.ccc.org"))])
+ (ccls . [(20200327 1915) ((emacs (25 1)) (lsp-mode (4 2)) (dash (0 14)) (projectile (1 0 0))) "ccls client for lsp-mode" tar ((:commit . "17ec7bb4cf362b7268c24e070e841f0dfac1c919") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani, Fangrui Song")) (:maintainer "Tobias Pisani, Fangrui Song") (:url . "https://github.com/MaskRay/emacs-ccls"))])
+ (cd-compile . [(20141108 1957) nil "run compile in a specific directory" single ((:commit . "10284ccae86afda4a37b09ba90acd1e2efedec9f") (:authors ("Jamie Nicol" . "jamie@thenicols.net")) (:maintainer "Jamie Nicol" . "jamie@thenicols.net"))])
+ (cdb . [(20200314 1557) nil "constant database (cdb) reader for Emacs Lisp" single ((:commit . "11d91b4cce988e15d7c5fc4345535c9d7a92d53b") (:keywords "cdb") (:authors ("Yusuke Shinyama <yusuke at cs . nyu . edu>")) (:maintainer "SKK Development Team" . "skk@ring.gr.jp"))])
+ (cdlatex . [(20200305 809) nil "Fast input methods for LaTeX environments and math" single ((:commit . "a5cb624ef5f9e3d51fce6faa8dc153277f61043a") (:keywords "tex") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com"))])
+ (cdnjs . [(20161031 1522) ((dash (2 13 0)) (deferred (0 4)) (f (0 17 2)) (pkg-info (0 5))) "A front end for http://cdnjs.com" single ((:commit . "ce19880d3ec3d81e6c665d0b1dfea99cc7a3f908") (:keywords "tools") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/cdnjs.el"))])
+ (cedit . [(20141231 1614) nil "paredit-like commands for c-like languages" single ((:commit . "0878d851b6307c162bfbddd2bb02789e5e27bc2c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (celery . [(20170225 924) ((emacs (24)) (dash-functional (2 11 0)) (s (1 9 0)) (deferred (0 3 2))) "a minor mode to draw stats from celery and more?" single ((:commit . "51197d74f5eaa8ae09144af7663a2f4277f07d16") (:keywords "celery" "convenience") (:authors ("ardumont" . "eniotna.t@gmail.com")) (:maintainer "ardumont" . "eniotna.t@gmail.com") (:url . "https://github.com/ardumont/emacs-celery"))])
+ (celestial-mode-line . [(20180518 822) ((emacs (24))) "Show lunar phase and sunrise/-set time in modeline" single ((:commit . "3f5794aca99b977f1592cf1ab4516ae7922196a1") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/celestial-mode-line"))])
+ (centaur-tabs . [(20200325 1236) ((emacs (24 4)) (powerline (2 4)) (cl-lib (0 5))) "Aesthetic, modern looking customizable tabs plugin" tar ((:commit . "e6bf9f5257fa5401695e0e33d0376a0821ac2f2f") (:authors ("Emmanuel Bustos" . "ema2159@gmail.com")) (:maintainer "Emmanuel Bustos" . "ema2159@gmail.com") (:url . "https://github.com/ema2159/centaur-tabs"))])
+ (centered-cursor-mode . [(20190306 1006) nil "cursor stays vertically centered" single ((:commit . "90e6d68a74d134f67c32d0621d64db90703c46eb") (:keywords "convenience") (:authors ("André Riemann" . "andre.riemann@web.de")) (:maintainer "André Riemann" . "andre.riemann@web.de") (:url . "https://github.com/andre-r/centered-cursor-mode.el"))])
+ (centered-window . [(20200426 1053) ((emacs (24 4))) "Center the text when there's only one window" single ((:commit . "f50859941ab5c7cbeaee410f2d38716252b552ac") (:keywords "faces" "windows") (:authors ("Anler Hernández Peral" . "inbox+emacs@anler.me")) (:maintainer "Anler Hernández Peral" . "inbox+emacs@anler.me") (:url . "https://github.com/anler/centered-window-mode"))])
+ (centimacro . [(20140306 1427) nil "Assign multiple macros as global key bindings" single ((:commit . "1b97a9b558ed9c49d5da1bfbf29b2506575c2742") (:keywords "macros") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/centimacro"))])
+ (cerbere . [(20181113 1641) ((pkg-info (0 5))) "Unit testing in Emacs for several programming languages" tar ((:commit . "c667c165d9c1657f13d2d46f09ba21b61f9402cc") (:keywords "python" "go" "php" "phpunit" "elisp" "ert" "tests" "tdd") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/cerbere"))])
+ (ceylon-mode . [(20180606 1324) ((emacs (25))) "Major mode for editing Ceylon source code" single ((:commit . "948515672bc596dc118e8e3ede3ede5ec6a3c95a") (:keywords "languages" "ceylon") (:authors ("Lucas Werkmeister" . "mail@lucaswerkmeister.de")) (:maintainer "Lucas Werkmeister" . "mail@lucaswerkmeister.de") (:url . "https://github.com/lucaswerkmeister/ceylon-mode"))])
+ (cfengine-code-style . [(20171115 2108) nil "C code style for CFEngine project." single ((:commit . "1938e7da974b4dac1b75f2bf1e058c42bbd0b5c1") (:authors ("Mikhail Gusarov" . "mikhail.gusarov@cfengine.com")) (:maintainer "Mikhail Gusarov" . "mikhail.gusarov@cfengine.com") (:url . "https://github.com/cfengine/core"))])
+ (cff . [(20160118 2018) ((cl-lib (0 5)) (emacs (24))) "Search of the C/C++ file header by the source and vice versa" single ((:commit . "b6ab2a28e64ef06f281ec74cfe3114e450644dfa") (:keywords "find-file") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/cff"))])
+ (cfml-mode . [(20190617 1130) ((emacs (25))) "Emacs mode for editing CFML files" single ((:commit . "b06d7cee2af0ed5d55a94f0db80fc1f429a1829a") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cfml-mode"))])
+ (cframe . [(20190616 1946) ((emacs (25)) (buffer-manage (0 9)) (dash (2 13 0))) "customize a frame and fast switch size and positions" single ((:commit . "38026cbd004231c5525bea31723ced39311bb408") (:keywords "frame" "customize") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/cframe"))])
+ (cfrs . [(20191125 2007) ((emacs (25 2)) (dash (2 11 0)) (s (1 10 0)) (posframe (0 4 3))) "Child-frame based read-string" single ((:commit . "fc5effdc25a926eada4936e5506dcccdf3902137") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/cfrs"))])
+ (cg . [(20200305 1845) ((emacs (24 3))) "major mode for editing Constraint Grammar files" single ((:commit . "b0e4cca3d8a28054b3af2f592b528903c7e7c111") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://visl.sdu.dk/constraint_grammar.html"))])
+ (challenger-deep-theme . [(20191114 1339) ((emacs (24))) "challenger-deep Theme" single ((:commit . "b8427b5c87948a183e2dd2b8920a54fbaae2738b") (:authors ("MaxSt")) (:maintainer "MaxSt") (:url . "https://github.com/challenger-deep-theme/emacs"))])
+ (change-inner . [(20150707 1544) ((expand-region (0 7))) "Change contents based on semantic units" single ((:commit . "52c543a4b9808c0d15b565fcdf646c9779de33e8") (:keywords "convenience" "extensions") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (chapel-mode . [(20160504 808) nil "a CC Mode for Chapel derived from derived-mode-ex.el" single ((:commit . "6e095edd7639f5f0a81e14d6412410b49466697e") (:keywords "chapel" "languages" "oop") (:authors ("Steven T Balensiefer")) (:maintainer "Russel Winder" . "russel@winder.org.uk"))])
+ (char-menu . [(20190713 1343) ((emacs (24 3)) (avy-menu (0 1))) "Create your own menu for fast insertion of arbitrary symbols" single ((:commit . "22d0e061f170d59d7cf6bcd948c11fa0266b7771") (:keywords "convenience" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/char-menu"))])
+ (charmap . [(20160309 946) nil "Unicode table for Emacs" single ((:commit . "bd4b3e466d7a9433cf35167e3a68ec74fe631bb2") (:keywords "unicode" "character" "ucs") (:authors ("Anan Mikami" . "lateau@gmail.com")) (:maintainer "Anan Mikami" . "lateau@gmail.com") (:url . "https://github.com/lateau/charmap"))])
+ (chatwork . [(20170511 442) nil "ChatWork client for Emacs" single ((:commit . "fea231d479f06bf40dbfcf45de143eecc9ed744c") (:keywords "web") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:url . "https://github.com/ataka/chatwork"))])
+ (cheat-sh . [(20200226 1021) ((emacs (25 1))) "Interact with cheat.sh" single ((:commit . "52293c366044e44c8f6b648a312433345e4718ad") (:keywords "docs" "help") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/cheat-sh.el"))])
+ (cheatsheet . [(20170126 2150) ((emacs (24)) (cl-lib (0 5))) "create your own cheatsheet" single ((:commit . "e4f8e0110167ea16a17a74517d1f10cb7ff805b8") (:keywords "convenience" "usability") (:authors ("Shirin Nikita" . "shirin.nikita@gmail.com")) (:maintainer "Shirin Nikita" . "shirin.nikita@gmail.com") (:url . "http://github.com/darksmile/cheatsheet/"))])
+ (checkbox . [(20141117 58) ((emacs (24)) (cl-lib (0 5))) "Quick manipulation of textual checkboxes" single ((:commit . "335afa4404adf72973195a580458927004664d98") (:keywords "convenience") (:authors ("Cameron Desautels" . "camdez@gmail.com")) (:maintainer "Cameron Desautels" . "camdez@gmail.com") (:url . "http://github.com/camdez/checkbox.el"))])
+ (chee . [(20171123 2233) ((dash (2 12 1)) (s (1 10 0)) (f (0 18 2))) "Interface to chee using dired and image-dired" tar ((:commit . "669ff9ee429f24c3c2d03b83d9cb9aec5f86bb8b") (:url . "https://github.com/eikek/chee/tree/release/0.3.0/emacs"))])
+ (cheerilee . [(20160313 1835) ((xelb (0 1))) "Toolkit library" tar ((:commit . "41bd81b5b0bb657241ceda5be6af5e07254d7376") (:keywords "tools"))])
+ (chef-mode . [(20180628 1453) nil "minor mode for editing an opscode chef repository" single ((:commit . "048d691cb63981ae235763d4a6ced4af5c729924") (:keywords "chef" "knife") (:authors ("Maciej Pasternacki" . "maciej@pasternacki.net")) (:maintainer "Maciej Pasternacki" . "maciej@pasternacki.net"))])
+ (cherry-blossom-theme . [(20150622 342) ((emacs (24 0))) "a soothing color theme for Emacs24." single ((:commit . "eea7653e00f35973857ee23b27bc2fae5e753e50") (:authors ("Ben Yelsey" . "byelsey1@gmail.com")) (:maintainer "Ben Yelsey" . "byelsey1@gmail.com") (:url . "https://github.com/inlinestyle/emacs-cherry-blossom-theme"))])
+ (chicken-scheme . [(20141116 1939) nil "Scheme-mode extensions for Chicken Scheme" single ((:commit . "19b0b08b5592063e852cae094b394c7d1f923639") (:authors ("Daniel Leslie" . "dan@ironoxide.ca")) (:maintainer "Daniel Leslie" . "dan@ironoxide.ca") (:url . "http://github.com/dleslie/chicken-scheme"))])
+ (chinese-conv . [(20170807 2128) ((cl-lib (0 5))) "Conversion between Chinese Characters with opencc or cconv" single ((:commit . "b56815bbb163d642e97fa73093b5a7e87cc32574") (:authors ("gucong" . "gucong43216@gmail.com")) (:maintainer "gucong" . "gucong43216@gmail.com") (:url . "https://github.com/gucong/emacs-chinese-conv"))])
+ (chinese-number . [(20161008 509) nil "Convert numbers between Arabic and Chinese formats" single ((:commit . "7311c2a0c5eea5f016a90d733dfe75144c302fb2") (:authors (nil . "zhcosin<zhcosin@163.com>")) (:maintainer nil . "zhcosin<zhcosin@163.com>") (:url . "https://github.com/zhcosin/chinese-number"))])
+ (chinese-wbim . [(20190727 854) nil "Enable Wubi Input Method in Emacs." tar ((:commit . "5d496364b0b6bbaaf0f9b37e5a6d260d4994f260"))])
+ (chinese-word-at-point . [(20170811 941) ((cl-lib (0 5))) "Add `chinese-word' thing to `thing-at-point'" single ((:commit . "8223d7439e005555b86995a005b225ae042f0538") (:keywords "convenience" "chinese") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/chinese-word-at-point.el"))])
+ (chinese-yasdcv . [(20171015 144) ((cl-lib (0 5)) (pyim (1 6 0))) "Yet another StarDict frontend" tar ((:commit . "5ab830daf1273d5a5cddcb94b56a9737f12d996f") (:keywords "convenience" "chinese" "dictionary") (:authors ("Feng Shu" . "tumashu@gmail.com")) (:maintainer "Feng Shu" . "tumashu@gmail.com") (:url . "https://github.com/tumashu/chinese-yasdcv"))])
+ (chocolate-theme . [(20191021 1346) ((emacs (24 1)) (autothemer (0 2))) "A dark chocolaty theme" single ((:commit . "1c6cd8d2fdc939bd4d26117d61e57c11cfe26512") (:url . "http://github.com/SavchenkoValeriy/emacs-chocolate-theme"))])
+ (choice-program . [(20190817 2153) ((emacs (26))) "parameter based program" tar ((:commit . "583242445e7890a12bb674b43244bf27c84d91f6") (:keywords "exec" "execution" "parameter" "option") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/choice-program"))])
+ (chronometer . [(20190304 1528) ((emacs (24))) "a [not so] simple chronometer" single ((:commit . "8457b296ef87be339cbe47730b922757d60bdcd5") (:keywords "tools" "convenience") (:authors ("Marcelo Toledo" . "marcelo@marcelotoledo.com")) (:maintainer "Marcelo Toledo" . "marcelo@marcelotoledo.com") (:url . "https://github.com/marcelotoledo/chronometer"))])
+ (chronometrist . [(20200324 653) ((emacs (25 1)) (dash (2 16 0)) (seq (2 20)) (s (1 12 0))) "A time tracker with a nice interface" tar ((:commit . "dc0fb3bed6b893ecb924f5b1228ab718325cc808") (:keywords "calendar") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabber.fr")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabber.fr") (:url . "https://framagit.org/contrapunctus/chronometrist"))])
+ (chronos . [(20150602 1529) nil "multiple simultaneous countdown / countup timers" tar ((:commit . "b360d9dae57aa553cf2a14ffa0756a51ad71de09") (:keywords "calendar") (:authors ("David Knight" . "dxknight@opmbx.org")) (:maintainer "David Knight" . "dxknight@opmbx.org") (:url . "http://github.com/dxknight/chronos"))])
+ (chruby . [(20180114 1652) ((cl-lib (0 5))) "Emacs integration for chruby" single ((:commit . "42bc6d521f832eca8e2ba210f30d03ad5529788f") (:keywords "languages") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:url . "https://github.com/plexus/chruby.el"))])
+ (chyla-theme . [(20180302 1658) nil "chyla.org - green color theme." single ((:commit . "ae5e7ecace2ab474151eb0ac5ef07fba2dc32f8a") (:authors ("Adam Chyła" . "adam@chyla.org")) (:maintainer "Adam Chyła" . "adam@chyla.org") (:url . "https://github.com/chyla/ChylaThemeForEmacs"))])
+ (cider . [(20200420 735) ((emacs (25)) (clojure-mode (5 9)) (parseedn (0 1)) (pkg-info (0 4)) (queue (0 2)) (spinner (1 7)) (seq (2 16)) (sesman (0 3 2))) "Clojure Interactive Development Environment that Rocks" tar ((:commit . "7f4d4e81816e64238370e028824e6389f02a38c8") (:keywords "languages" "clojure" "cider") (:authors ("Tim King" . "kingtim@gmail.com") ("Phil Hagelberg" . "technomancy@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Artur Malabarba" . "bruce.connor.am@gmail.com") ("Hugo Duncan" . "hugo@hugoduncan.org") ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://www.github.com/clojure-emacs/cider"))])
+ (cider-decompile . [(20151122 537) ((cider (0 3 0)) (javap-mode (9))) "decompilation extension for cider" single ((:commit . "5d87035f3c3c14025e8f01c0c53d0ce2c8f56651") (:keywords "languages" "clojure" "cider") (:authors ("Dmitry Bushenko")) (:maintainer "Dmitry Bushenko") (:url . "http://www.github.com/clojure-emacs/cider-decompile"))])
+ (cider-eval-sexp-fu . [(20190311 2152) ((emacs (24)) (eval-sexp-fu (0 5 0))) "Briefly highlights an evaluated sexp." single ((:commit . "7fd229f1441356866aedba611fd0cf4e89b50921") (:keywords "languages" "clojure" "cider") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com"))])
+ (cider-hydra . [(20190816 1121) ((cider (0 22 0)) (hydra (0 13 0))) "Hydras for CIDER." single ((:commit . "c3b8a15d72dddfbc390ab6a454bd7e4c765a2c95") (:keywords "convenience" "tools") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/clojure-emacs/cider-hydra"))])
+ (ciel . [(20180914 815) ((emacs (24))) "A command that is clone of \"ci\" in vim." single ((:commit . "429773a3c551691a463ecfddd634b8bae2f48503") (:keywords "convinience") (:authors ("Takuma Matsushita" . "cs14095@gmail.com")) (:maintainer "Takuma Matsushita" . "cs14095@gmail.com") (:url . "https://github.com/cs14095/ciel.el"))])
+ (cil-mode . [(20160622 1430) nil "Common Intermediate Language mode" single ((:commit . "a78a88ca9a66a82f069329a96e34b67478ae2d9b") (:keywords "languages") (:authors ("Friedrich von Never" . "friedrich@fornever.me")) (:maintainer "Friedrich von Never" . "friedrich@fornever.me") (:url . "https://github.com/ForNeVeR/cil-mode"))])
+ (cinspect . [(20150716 233) ((emacs (24)) (cl-lib (0 5)) (deferred (0 3 1)) (python-environment (0 0 2))) "Use cinspect to look at the CPython source of builtins and other C objects!" single ((:commit . "4e199a90f89b335cccda1518aa0963e0a1d4fbab") (:keywords "python") (:authors ("Ben Yelsey" . "ben.yelsey@gmail.com")) (:maintainer "Ben Yelsey" . "ben.yelsey@gmail.com") (:url . "https://github.com/inlinestyle/cinspect-mode"))])
+ (circadian . [(20181024 1256) ((emacs (24 4))) "Theme-switching based on daytime" single ((:commit . "414127acad8e2e0092ca60918e6a7cb89da6e28a") (:keywords "themes") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:url . "https://github.com/GuidoSchmidt/circadian"))])
+ (circe . [(20200125 2110) ((cl-lib (0 5))) "Client for IRC in Emacs" tar ((:commit . "e5bf5f89741a9c43aa406491e94dd8d58c302fb4") (:url . "https://github.com/jorgenschaefer/circe"))])
+ (circe-notifications . [(20180102 2318) ((emacs (24 4)) (circe (2 3)) (alert (1 2))) "Add desktop notifications to Circe." single ((:commit . "291149ac12877bbd062da993479d3533a26862b0") (:authors ("Ruben Maher" . "r@rkm.id.au")) (:maintainer "Ruben Maher" . "r@rkm.id.au") (:url . "https://github.com/eqyiel/circe-notifications"))])
+ (citeproc . [(20200305 2126) ((emacs (25)) (dash (2 13 0)) (s (1 12 0)) (f (0 18 0)) (queue (0 2)) (string-inflection (1 0)) (org (9))) "A CSL 1.0.1 Citation Processor" tar ((:commit . "1884b5c88ad4eb35450a7acf053594369ccb1b22") (:keywords "bib") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:url . "https://github.com/andras-simonyi/citeproc-el"))])
+ (cl-format . [(20160413 45) nil "CL format routine." tar ((:commit . "4380cb8009c47cc6d9098b383082b93b1aefa460"))])
+ (cl-lib-highlight . [(20200210 1951) ((cl-lib (0 3))) "full cl-lib font-lock highlighting" single ((:commit . "72afc4dd0107c357543244d09903767f49651c5c") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/cl-lib-highlight"))])
+ (cl-libify . [(20181130 230) ((emacs (25))) "Update elisp code to use cl-lib instead of cl" single ((:commit . "f215866d7d7c52e84220cd541f40608a5b85abf0") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/cl-libify"))])
+ (clang-format+ . [(20190824 2216) ((emacs (25 1)) (clang-format (20180406 1514))) "Minor mode for automatic clang-format application" single ((:commit . "ddd4bfe1a13c2fd494ce339a320a51124c1d2f68") (:keywords "c" "c++" "clang-format") (:url . "https://github.com/SavchenkoValeriy/emacs-clang-format-plus"))])
+ (clang-format . [(20191121 1708) ((cl-lib (0 3))) "Format code using clang-format" single ((:commit . "2d6a4526a2518b7c0059a8a0dfee156e90a49369") (:keywords "tools" "c"))])
+ (clean-aindent-mode . [(20171017 2043) nil "Simple indent and unindent, trims indent white-space" single ((:commit . "a97bcae8f43a9ff64e95473e4ef0d8bafe829211") (:keywords "indentation" "whitespace" "backspace") (:authors ("peter marinov" . "efravia@gmail.com")) (:maintainer "peter marinov" . "efravia@gmail.com") (:url . "https://github.com/pmarinov/clean-aindent-mode"))])
+ (clean-buffers . [(20160529 2259) ((cl-lib (0 5))) "clean useless buffers" single ((:commit . "1be6c54e3095761b6b64bf749faae3dfce94e72a") (:keywords "convenience" "usability" "buffers") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (clear-text . [(20160406 2043) nil "Make you use clear text" tar ((:commit . "b50669b6077d6948f72cb3c649281d206e0c2f2b") (:keywords "convenience") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/clear-text.el"))])
+ (clevercss . [(20131229 155) nil "A major mode for editing CleverCSS files" single ((:commit . "b8a3c0dd674367c62b1a1ffec84d88fe0c0219bc") (:keywords "languages" "css") (:authors ("Joe Schafer" . "joesmoe10@gmail.com")) (:maintainer "Joe Schafer" . "joesmoe10@gmail.com"))])
+ (click-mode . [(20180611 44) ((emacs (24))) "Major mode for the Click Modular Router Project" single ((:commit . "b94ea8cce89cf0e753b2ab915202d49ffc470fb6") (:keywords "click" "router") (:authors ("Brian Malehorn" . "bmalehorn@gmail.com")) (:maintainer "Brian Malehorn" . "bmalehorn@gmail.com") (:url . "https://github.com/bmalehorn/click-mode"))])
+ (clipetty . [(20200327 2241) ((emacs (25 1))) "Send every kill from a TTY frame to the system clipboard" single ((:commit . "01b39044b9b65fa4ea7d3166f8b1ffab6f740362") (:keywords "terminals" "convenience") (:authors ("Mike Hamrick" . "mikeh@muppetlabs.com")) (:maintainer "Mike Hamrick" . "mikeh@muppetlabs.com") (:url . "https://github.com/spudlyo/clipetty"))])
+ (cliphist . [(20190920 149) ((emacs (24 3)) (ivy (0 9 0))) "Read data from clipboard managers at Linux and Mac" tar ((:commit . "3105e5c4b4d2d0338edb6effd9329426854b80b1") (:keywords "clipboard" "manager" "history") (:authors ("Chen Bin <chenin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/cliphist"))])
+ (clipmon . [(20180129 1054) nil "Clipboard monitor - watch system clipboard, add changes to kill ring/autoinsert" tar ((:commit . "95dc56c7ed84a654ec90f4740eb6df1050de8cf1") (:keywords "convenience") (:authors ("Brian Burns" . "bburns.km@gmail.com")) (:maintainer "Brian Burns" . "bburns.km@gmail.com") (:url . "https://github.com/bburns/clipmon"))])
+ (clippy . [(20161028 1954) ((pos-tip (1 0))) "Show tooltip with function documentation at point" single ((:commit . "e77f6b63e54d74e243be98accad474e38f7e2a86") (:keywords "docs") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/clippy.el"))])
+ (clips-mode . [(20170909 823) nil "Major mode for editing CLIPS code and REPL" tar ((:commit . "dd38e2822640a38f7d8bfec4f69d8dd24be27074"))])
+ (clj-refactor . [(20200405 1419) ((emacs (25 1)) (seq (2 19)) (yasnippet (0 6 1)) (paredit (24)) (multiple-cursors (1 2 2)) (clojure-mode (5 9)) (cider (0 24 0)) (parseedn (0 1)) (inflections (2 3)) (hydra (0 13 2))) "A collection of commands for refactoring Clojure code" tar ((:commit . "8259791e054382457b87d1f78061b5e3ce948907") (:keywords "convenience" "clojure" "cider") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Lars Andersen" . "expez@expez.com") ("Benedek Fazekas" . "benedek.fazekas@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (cljr-helm . [(20160913 828) ((clj-refactor (0 13 0)) (helm-core (1 7 7)) (cl-lib (0 5))) "Wraps clojure refactor commands with helm" single ((:commit . "f2fc7b698a56e4a44d5dfbc6a55d77a93c0fa9a4") (:keywords "helm" "clojure" "refactor") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk") (:url . "https://github.com/philjackson/cljr-helm"))])
+ (cljsbuild-mode . [(20160402 1700) nil "A minor mode for the ClojureScript 'lein cljsbuild' command" single ((:commit . "fa2315660cb3ce944b5e16c679dcf5afd6a97f4c") (:keywords "clojure" "clojurescript" "leiningen" "compilation") (:url . "http://github.com/kototama/cljsbuild-mode"))])
+ (clmemo . [(20160326 1623) nil "Change Log MEMO" tar ((:commit . "846a81b984d71edf8278a4d9f9b886e44d5b8365") (:keywords "convenience") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:url . "https://github.com/ataka/clmemo"))])
+ (cloc . [(20170728 1824) ((cl-lib (0 5))) "count lines of code over emacs buffers" single ((:commit . "f30f0472e465cc8d433d2473e9d3b8dfe2c94491") (:keywords "cloc" "count" "source" "code" "lines") (:authors ("Danny McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Danny McClanahan" . "danieldmcclanahan@gmail.com") (:url . "https://github.com/cosmicexplorer/cloc-emacs"))])
+ (clocker . [(20190214 1833) ((projectile (0 11 0)) (dash (2 10)) (spaceline (2 0 1))) "Note taker and clock-in enforcer" single ((:commit . "c4d76968a49287ce3bac0832bb5d5d076054c96f") (:keywords "org") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))])
+ (clojars . [(20180825 1951) ((request-deferred (0 2 0))) "clojars.org search interface" single ((:commit . "696c5b056e45067512a7d6dcce2515f3c639f61b") (:keywords "docs" "help" "tools") (:authors ("Joshua Miller" . "josh@joshmiller.io")) (:maintainer "Joshua Miller" . "josh@joshmiller.io") (:url . "https://github.com/joshuamiller/clojars.el"))])
+ (clojure-mode . [(20200419 559) ((emacs (25 1))) "Major mode for Clojure code" single ((:commit . "da9f1ec717dac1194404b4a4562dba6bd9a4ee3a") (:keywords "languages" "clojure" "clojurescript" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))])
+ (clojure-mode-extra-font-locking . [(20200320 823) ((clojure-mode (3 0))) "Extra font-locking for Clojure mode" single ((:commit . "da9f1ec717dac1194404b4a4562dba6bd9a4ee3a") (:keywords "languages" "lisp") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/clojure-emacs/clojure-mode"))])
+ (clojure-quick-repls . [(20150814 736) ((cider (0 8 1)) (dash (2 9 0))) "Quickly create Clojure and ClojureScript repls for a project." single ((:commit . "730311dd3ac4e0aceb0204f818b422017873467f") (:keywords "languages" "clojure" "cider" "clojurescript") (:url . "https://github.com/symfrog/clojure-quick-repls"))])
+ (clojure-snippets . [(20180314 1308) ((yasnippet (0 10 0))) "Yasnippets for clojure" tar ((:commit . "6068dca90467a0f4ebc2cd39338a173d6f5ddc04"))])
+ (clomacs . [(20191201 200) ((emacs (24 3)) (cider (0 22 1)) (s (1 12 0)) (simple-httpd (1 4 6))) "Simplifies Emacs Lisp interaction with Clojure." single ((:commit . "88b8fc6d1b7105adae009578ef24fedaf157f341") (:keywords "clojure" "interaction") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/clojure-emacs/clomacs"))])
+ (closql . [(20191229 1814) ((emacs (25 1)) (emacsql-sqlite (3 0 0))) "store EIEIO objects using EmacSQL" single ((:commit . "1e78f96dc976badb59067c986f7766cce89405cc") (:keywords "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/closql"))])
+ (closure-lint-mode . [(20101118 2124) nil "minor mode for the Closure Linter" single ((:commit . "bc3d2fd5c35580bf1b8af43b12484c95a343b4b5") (:keywords "tools" "closure" "javascript" "lint" "flymake") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com") (:url . "https://github.com/r0man/closure-lint-mode"))])
+ (cloud-theme . [(20200221 2201) ((emacs (24))) "A light colored theme" single ((:commit . "bdac53baf1c38f83a16091db515047f7d42dac14") (:keywords "color" "theme") (:authors ("Valerii Lysenko" . "vallyscode@gmail.com")) (:maintainer "Valerii Lysenko" . "vallyscode@gmail.com") (:url . "https://github.com/vallyscode/cloud-theme"))])
+ (cloud-to-butt-erc . [(20130627 2308) nil "Replace 'the cloud' with 'my butt'" single ((:commit . "6710c03d1bc91736435cbfe845924940cae34e5c") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/cloud-to-butt-erc"))])
+ (clues-theme . [(20161213 1127) ((emacs (24 0))) "an Emacs 24 theme which may well be fully awesome..." single ((:commit . "abd61f2b7f3e98de58ca26e6d1230e70c6406cc7") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/emacsfodder/emacs-clues-theme"))])
+ (cm-mode . [(20170203 2107) ((cl-lib (0 5))) "Minor mode for CriticMarkup" single ((:commit . "276d49c859822265070ae5dfbb403fd7d8d06436") (:keywords "text" "markdown") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))])
+ (cmake-font-lock . [(20200103 1702) ((cmake-mode (0 0))) "Advanced, type aware, highlight support for CMake" single ((:commit . "9e0fcd1ee2cf316f661f2d652368b12f83a4ec9c") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/cmake-font-lock"))])
+ (cmake-ide . [(20190731 1009) ((emacs (24 4)) (cl-lib (0 5)) (seq (1 11)) (levenshtein (0)) (s (1 11 0))) "Calls CMake to find out include paths and other compiler flags" single ((:commit . "e3aa1ded10c079337826b40586111df7114f6379") (:keywords "languages") (:authors ("Atila Neves" . "atila.neves@gmail.com")) (:maintainer "Atila Neves" . "atila.neves@gmail.com") (:url . "http://github.com/atilaneves/cmake-ide"))])
+ (cmake-mode . [(20190710 1319) ((emacs (24 1))) "major-mode for editing CMake sources" single ((:commit . "79b5cf8576b257ed22b1a35fa651b56f4ba70681"))])
+ (cmake-project . [(20171121 1115) nil "Integrates CMake build process with Emacs" single ((:commit . "d3f408f226eff3f77f7e00dd519f4efc78fd292d") (:keywords "c" "cmake" "languages" "tools") (:authors ("Alexander Lamaison" . "alexander.lamaison@gmail")) (:maintainer "Alexander Lamaison" . "alexander.lamaison@gmail") (:url . "http://github.com/alamaison/emacs-cmake-project"))])
+ (cmd-to-echo . [(20161203 2133) ((emacs (24 4)) (s (1 11 0)) (shell-split-string (20151224 208))) "Show the output of long-running commands in the echo area" single ((:commit . "e0e874fc0e1ad6d291e39ed76023445297ad438a") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))])
+ (cmm-mode . [(20150225 746) nil "Major mode for C-- source code" single ((:commit . "c3ad514dff3eb30434f6b20d953276d4c00de1ee"))])
+ (cnfonts . [(20200327 101) ((emacs (24))) "A simple Chinese fonts config tool" tar ((:commit . "d741332ad4bcd9a136d5dc4974a050da8ca28888") (:keywords "convenience" "chinese" "font") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/cnfonts"))])
+ (cobalt . [(20180304 1155) ((emacs (24))) "Easily use the Cobalt.rs static site generator" single ((:commit . "634ace275697e188746ca22a30ff94380ec756be") (:keywords "convenience") (:authors ("Juan Karlo Licudine" . "accidentalrebel@gmail.com")) (:maintainer "Juan Karlo Licudine" . "accidentalrebel@gmail.com") (:url . "https://github.com/cobalt-org/cobalt.el"))])
+ (cobra-mode . [(20140116 2116) nil "Major mode for .NET-based Cobra language" single ((:commit . "acd6e53f6286af5176471d01f25257e5ddb6dd01") (:keywords "languages") (:authors ("Taylor \"Nekroze\" Lawson")) (:maintainer "Taylor \"Nekroze\" Lawson") (:url . "http://github.com/Nekroze/cobra-mode"))])
+ (codcut . [(20190915 1009) nil "Share pieces of code to Codcut" single ((:commit . "7ca7db69e8c38ec45eb572ad16ab2b56086f2131") (:keywords "comm" "tools" "codcut" "share") (:authors ("Diego Pasquali" . "hello@dgopsq.space")) (:maintainer "Diego Pasquali" . "hello@dgopsq.space") (:url . "https://github.com/codcut/codcut-emacs"))])
+ (code-archive . [(20190612 308) ((emacs (24 3))) "git supported code archive and reference for org-mode" single ((:commit . "1ad9af6679d0294c3056eab9cad673f29c562721") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/code-archive"))])
+ (code-library . [(20160426 1218) ((gist (1 3 1))) "use org-mode to collect code snippets" single ((:commit . "32d59c5c845d6dbdda18f9bd1c03a58d55417fc5") (:keywords "lisp" "code") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (code-stats . [(20200216 2020) ((emacs (25)) (request (0 3 0))) "Code::Stats plugin" single ((:commit . "055c9ce9c1b630d062305919cbffb9cf88fd24a8") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/code-stats-emacs"))])
+ (codebug . [(20140929 2137) nil "Interact with codebug" single ((:commit . "ac0e4331ba94ccb5203fa492570e1ca6b90c3d52") (:authors ("Shane Dowling")) (:maintainer "Shane Dowling") (:url . "http://www.shanedowling.com/"))])
+ (codesearch . [(20181006 1431) ((log4e (0 3 1))) "Core support for managing codesearch tools" tar ((:commit . "f6eb96f034a925444412cfa03e45e0ccbbafe3f2") (:keywords "tools" "development" "search") (:authors ("Austin Bingham" . "austin.bingham@gmail.com") ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-codesearch"))])
+ (codic . [(20150926 1127) ((emacs (24)) (cl-lib (0 5))) "Search Codic (codic.jp) naming dictionaries" tar ((:commit . "52bbb6997ef4ab9fb7fea43bbfff7f04671aa557") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-codic"))])
+ (coffee-fof . [(20131012 1230) ((coffee-mode (0 4 1))) "A coffee-mode configuration for `ff-find-other-file'." single ((:commit . "211529594bc074721c6cbc4edb73a63cc05f89ac") (:keywords "coffee-mode") (:authors ("Yasuyki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyki Oka" . "yasuyk@gmail.com") (:url . "http://github.com/yasuyk/coffee-fof"))])
+ (coffee-mode . [(20200315 1133) ((emacs (24 3))) "Major mode for CoffeeScript code" single ((:commit . "35a41c7d8233eac0b267d9593e67fb8b6235e134") (:keywords "coffeescript" "major" "mode") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org") (:url . "http://github.com/defunkt/coffee-mode"))])
+ (coin-ticker . [(20170611 727) ((request (0 3 0)) (emacs (25))) "Show a cryptocurrency price ticker" single ((:commit . "9efab90fe4e6f29464af14e0d8fd1e20c0147b80") (:keywords "news") (:authors ("Evan Klitzke" . "evan@eklitzke.org")) (:maintainer "Evan Klitzke" . "evan@eklitzke.org") (:url . "https://github.com/eklitzke/coin-ticker-mode"))])
+ (colemak-evil . [(20200326 2359) ((evil (20170323 1140))) "Colemak-friendly keybindings for Evil." single ((:commit . "981bdcb1a48c6d9139493abe7e25fabe126e43c3") (:authors ("Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com")) (:maintainer "Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com") (:url . "https://github.com/patbl/colemak-evil"))])
+ (colonoscopy-theme . [(20170808 1309) ((emacs (24 0))) "an Emacs 24 theme based on Colonoscopy (tmTheme)" single ((:commit . "64bbb322b13dae91ce9f1e3581f836f94f800ead") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (color-identifiers-mode . [(20200129 144) ((dash (2 5 0)) (emacs (24))) "Color identifiers based on their names" single ((:commit . "923ed4789c5ab66369ac4dda7eedb910951684a6") (:keywords "faces" "languages") (:authors ("Ankur Dave" . "ankurdave@gmail.com")) (:maintainer "Ankur Dave" . "ankurdave@gmail.com") (:url . "https://github.com/ankurdave/color-identifiers-mode"))])
+ (color-moccur . [(20141223 35) nil "multi-buffer occur (grep) mode" single ((:commit . "4f1c59ffd1ccc2ab1a171cd6b721e8cb9e002fb7") (:keywords "convenience") (:url . "http://www.bookshelf.jp/elc/color-moccur.el"))])
+ (color-theme . [(20190220 1115) nil "An OBSOLETE color-theme implementation" tar ((:commit . "3a2f6b615f5e2401e30d93a3e0adc210bbb4b7aa") (:keywords "faces") (:authors ("Jonadab the Unsightly One" . "jonadab@bright.net")) (:maintainer "Xavier Maillard" . "zedek@gnu.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme"))])
+ (color-theme-approximate . [(20140228 436) nil "Makes Emacs theme works on terminal transparently" single ((:commit . "f54301ca39bc5d2ffb000f233f8114184a3e7d71") (:authors ("Tung Dao" . "me@tungdao.com")) (:maintainer "Tung Dao" . "me@tungdao.com"))])
+ (color-theme-buffer-local . [(20170126 601) ((color-theme (0))) "Install color-themes by buffer." single ((:commit . "e606dec66f16a06140b9aad625a4fd52bca4f936") (:keywords "faces") (:authors ("Victor Borja" . "vic.borja@gmail.com")) (:maintainer "Victor Borja" . "vic.borja@gmail.com") (:url . "http://github.com/vic/color-theme-buffer-local"))])
+ (color-theme-modern . [(20200315 929) ((emacs (24))) "Reimplement colortheme with Emacs 24 theme framework." tar ((:commit . "40464198e7bf2121694a7e6d87588342140a84ff") (:url . "https://github.com/emacs-jp/replace-colorthemes/"))])
+ (color-theme-sanityinc-solarized . [(20200304 2156) ((emacs (24 1)) (cl-lib (0 6))) "A version of Ethan Schoonover's Solarized themes" tar ((:commit . "c688337aaae9f47128a841479e4191858ac147f6") (:keywords "faces" "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/color-theme-sanityinc-solarized"))])
+ (color-theme-sanityinc-tomorrow . [(20200419 156) nil "A version of Chris Kempson's \"tomorrow\" themes" tar ((:commit . "344b06ed3c139af717ebff59505fc66635678f6c") (:keywords "faces" "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/color-theme-sanityinc-tomorrow"))])
+ (color-theme-x . [(20180227 46) ((cl-lib (0 5))) "convert color themes to X11 resource settings" single ((:commit . "6c2264aa6c5d9a72caeae67ebaa4472090e70350") (:keywords "convenience" "faces" "frames") (:authors ("Matthew Kennedy" . "mkennedy@killr.ath.cx")) (:maintainer "Andrew Johnson" . "andrew@andrewjamesjohnson.com") (:url . "https://github.com/ajsquared/color-theme-x"))])
+ (colorless-themes . [(20200325 1307) ((emacs (24 1))) "A macro to generate mostly colorless themes" single ((:commit . "2b4c341640c8191a39e4bc28d6cd04c7d6dcbb37") (:keywords "faces themes" "faces") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))])
+ (colormaps . [(20171008 2224) ((emacs (25))) "Hex colormaps" single ((:commit . "19fbb64a6288d505b9cf45c9b5a3eed0bfb135e2") (:keywords "tools") (:authors ("Abhinav Tushar" . "lepisma@fastmail.com")) (:maintainer "Abhinav Tushar" . "lepisma@fastmail.com") (:url . "https://github.com/lepisma/colormaps.el"))])
+ (column-enforce-mode . [(20171030 1900) nil "Highlight text that extends beyond a column" single ((:commit . "2341a2b6a33d4b8b74c35062ec9cfe1bffd61944") (:authors ("Jordon Biondo")) (:maintainer "Jordon Biondo") (:url . "www.github.com/jordonbiondo/column-enforce-mode"))])
+ (com-css-sort . [(20190723 1714) ((emacs (24 4)) (s (1 12 0)) (cl-lib (0 6))) "Common way of sorting the CSS attributes." single ((:commit . "b0491d5340c5f5c516b44aa7bfef6f6cf2998484") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/com-css-sort"))])
+ (comb . [(20200411 1040) ((emacs (25 1))) "Interactive code auditing and grep tool" tar ((:commit . "59e025c3afb867706b869ac4bf2623665eb99821") (:keywords "matching") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/comb"))])
+ (comint-hyperlink . [(20191104 2224) ((emacs (24 3))) "Create hyperlinks in comint for SGR URL control sequences" single ((:commit . "a7878825788ff6b9d6b8a5adf0214a028bad895e") (:keywords "comint" "shell" "processes" "hypermedia" "terminals") (:authors ("Matthew Bauer" . "mjbauer95@gmail.com")) (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/matthewbauer/comint-hyperlink"))])
+ (comint-intercept . [(20200106 454) ((emacs (24 3))) "Intercept input in comint-mode" single ((:commit . "3c9a6125e450435b79ab5e6466f830e57c5e0a30") (:keywords "processes" "terminals") (:authors ("\"Huang, Ying\"" . "huang.ying.caritas@gmail.com")) (:maintainer "\"Huang, Ying\"" . "huang.ying.caritas@gmail.com") (:url . "https://github.com/hying-caritas/comint-intercept"))])
+ (command-log-mode . [(20160413 447) nil "log keyboard commands to buffer" single ((:commit . "af600e6b4129c8115f464af576505ea8e789db27") (:keywords "help") (:authors ("Michael Weber" . "michaelw@foldr.org")) (:maintainer "Michael Weber" . "michaelw@foldr.org") (:url . "https://github.com/lewang/command-log-mode"))])
+ (command-queue . [(20160328 1725) ((emacs (24 3))) "shell command queue" single ((:commit . "f327c6f852592229a755ec6de0c62c6aeafd6659") (:authors ("Yuki INOUE <inouetakahiroki at gmail.com>")) (:maintainer "Yuki INOUE <inouetakahiroki at gmail.com>") (:url . "https://github.com/Yuki-Inoue/command-queue"))])
+ (commander . [(20140120 1852) ((s (1 6 0)) (dash (2 0 0)) (cl-lib (0 3)) (f (0 6 1))) "Emacs command line parser" single ((:commit . "c93985dc318fe89e5a29abc21d19fb41e2fd14d2") (:keywords "cli" "argv") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/commander.el"))])
+ (comment-dwim-2 . [(20190105 1653) nil "An all-in-one comment command to rule them all" single ((:commit . "3dfdd58495c46a37708344a57c5c52beca6b2c1c") (:keywords "convenience") (:authors ("Rémy Ferré" . "dev@remyferre.net")) (:maintainer "Rémy Ferré" . "dev@remyferre.net") (:url . "https://github.com/remyferre/comment-dwim-2"))])
+ (comment-or-uncomment-sexp . [(20190225 1122) ((emacs (24))) "Command for commenting the sexp under point." single ((:commit . "bec730d3fc1e6c17ff1339eb134af16c034a4d95") (:keywords "convenience") (:authors ("Artur Malabarba" . "artur@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "artur@endlessparentheses.com") (:url . "https://github.com/Malabarba/comment-or-uncomment-sexp"))])
+ (comment-tags . [(20170910 1735) ((emacs (24 5))) "Highlight & navigate comment tags like 'TODO'." single ((:commit . "7d914097f0a03484af71e621db533737fc692f58") (:keywords "convenience" "comments" "tags") (:authors ("Vincent Dumas" . "vincekd@gmail.com")) (:maintainer "Vincent Dumas" . "vincekd@gmail.com") (:url . "https://github.com/vincekd/comment-tags"))])
+ (commentary-theme . [(20181213 1045) ((emacs (24))) "A minimal theme with contrasting comments" single ((:commit . "dede0f8ecb72156fa6ae81198ea570ead02997ff") (:url . "https://github.com/pzel/commentary-theme"))])
+ (commenter . [(20160219 1627) ((emacs (24 4)) (let-alist (1 0 4))) "multiline-comment support package" single ((:commit . "6d1885419434ba779270c6fda0e30d390bb074bd") (:keywords "comment") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/commenter"))])
+ (commify . [(20161106 2334) ((s (1 9 0))) "Toggle grouping commas in numbers" single ((:commit . "78732c2fa6c1a10288b7436d7c561ec9ebdd41be") (:keywords "convenience" "editing" "numbers" "grouping" "commas") (:authors ("Daniel E. Doherty" . "ded-commify@ddoherty.net")) (:maintainer "Daniel E. Doherty" . "ded-commify@ddoherty.net") (:url . "https://github.com/ddoherty03/commify"))])
+ (common-lisp-snippets . [(20180226 1523) ((yasnippet (0 8 0))) "Yasnippets for Common Lisp" tar ((:commit . "c82ebf18f4ad49f390dd96ffcc59f8683c1a868b") (:keywords "snippets") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/common-lisp-snippets"))])
+ (company . [(20200427 349) ((emacs (24 3))) "Modular text completion framework" tar ((:commit . "6333fc4ebbbf4d28e834de8715561e984f149ecb") (:keywords "abbrev" "convenience" "matching") (:authors ("Nikolaj Schumacher")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "http://company-mode.github.io/"))])
+ (company-anaconda . [(20200404 1859) ((company (0 8 0)) (anaconda-mode (0 1 1)) (cl-lib (0 5 0)) (dash (2 6 0)) (s (1 9))) "Anaconda backend for company-mode" single ((:commit . "da1566db41a68809ef7f91ebf2de28118067c89b") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))])
+ (company-ansible . [(20200306 1441) ((emacs (24 4)) (company (0 8 12))) "A company back-end for ansible" tar ((:commit . "79dd421b161efa49fbdffad57fa40edb41f484a3") (:keywords "ansible") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:url . "https://github.com/krzysztof-magosa/company-ansible"))])
+ (company-arduino . [(20160306 1739) ((emacs (24 1)) (company (0 8 0)) (irony (0 1 0)) (cl-lib (0 5)) (company-irony (0 1 0)) (company-c-headers (20140930)) (arduino-mode (1 0))) "company-mode for Arduino" single ((:commit . "d7e369702b8eee63e6dfdeba645ce28b6dc66fb1") (:keywords "convenience" "development" "company") (:authors ("Yuta Yamada" . "sleepboy.zzz@gmail.com")) (:maintainer "Yuta Yamada" . "sleepboy.zzz@gmail.com") (:url . "https://github.com/yuutayamada/company-arduino"))])
+ (company-auctex . [(20180725 1912) ((yasnippet (0 8 0)) (company (0 8 0)) (auctex (11 87))) "Company-mode auto-completion for AUCTeX" single ((:commit . "48c42c58ce2f0e693301b0cb2d085055410c1b25") (:authors ("Christopher Monsanto <chris@monsan.to>, Alexey Romanov" . "alexey.v.romanov@gmail.com")) (:maintainer "Christopher Monsanto <chris@monsan.to>, Alexey Romanov" . "alexey.v.romanov@gmail.com") (:url . "https://github.com/alexeyr/company-auctex/"))])
+ (company-axiom . [(20191027 1928) ((emacs (24)) (company (0 9)) (axiom-environment (20171021))) "A company-mode backend for the axiom-environment system" single ((:commit . "25932da0dc40c6877463cbf019b14ab05a6b0164") (:keywords "axiom" "openaxiom" "fricas" "axiom-environment") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))])
+ (company-bibtex . [(20171105 644) ((company (0 9 0)) (cl-lib (0 5)) (parsebib (1 0))) "Company completion for bibtex keys" single ((:commit . "da67faf3a6faba8e7f1b222dedfc5521b02c7655") (:keywords "company-mode" "bibtex") (:authors ("GB Gardner" . "gbgar@users.noreply.github.com")) (:maintainer "GB Gardner" . "gbgar@users.noreply.github.com") (:url . "https://github.com/gbgar/company-bibtex"))])
+ (company-box . [(20200429 1035) ((emacs (26 0 91)) (dash (2 13)) (dash-functional (1 2 0)) (company (0 9 6))) "Company front-end with icons" tar ((:commit . "3814fcb14e92f4b85b19e664e216a7c8d5c7144d") (:keywords "company" "completion" "front-end" "convenience") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:url . "https://github.com/sebastiencs/company-box"))])
+ (company-c-headers . [(20190825 1631) ((emacs (24 1)) (company (0 8))) "Company mode backend for C/C++ header files" single ((:commit . "5e676ab0c2f287c868b1e3931afd4c78895910cd") (:keywords "development" "company") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net"))])
+ (company-cabal . [(20170917 1317) ((cl-lib (0 5)) (company (0 8 0)) (emacs (24))) "company-mode cabal backend" tar ((:commit . "62112a7259e24bd6c08885629a185afe512b7d3d") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-cabal"))])
+ (company-coq . [(20200130 2058) ((cl-lib (0 5)) (dash (2 12 1)) (yasnippet (0 11 0)) (company (0 8 12)) (company-math (1 1))) "A collection of extensions for Proof General's Coq mode" tar ((:commit . "f9dba9ddff7da99a93d8a6e26d9b1d813bc96b2f") (:url . "https://github.com/cpitclaudel/company-coq") (:keywords "convenience" "languages") (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")))])
+ (company-ctags . [(20200407 803) ((emacs (24 4)) (company (0 9 0))) "Fastest company-mode completion backend for ctags" single ((:commit . "b159e45b38226e046cf6fb7d08a0cf864ebbf772") (:keywords "convenience") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "https://github.com/redguardtoo/company-ctags"))])
+ (company-dcd . [(20190116 256) ((company (0 9)) (flycheck-dmd-dub (0 7)) (yasnippet (0 8)) (popwin (0 7)) (cl-lib (0 5)) (ivy (20160804 326))) "Company backend for Dlang using DCD." single ((:commit . "11e90949e546fcff1b1cd40887ad7b6701aa1653") (:keywords "languages") (:authors ("tsukimizake <shomasd_at_gmail.com>")) (:maintainer "tsukimizake <shomasd_at_gmail.com>") (:url . "http://github.com/tsukimizake/company-dcd"))])
+ (company-dict . [(20190302 5) ((emacs (24 4)) (company (0 8 12)) (parent-mode (2 3))) "A backend that emulates ac-source-dictionary" single ((:commit . "cd7b8394f6014c57897f65d335d6b2bd65dab1f4") (:keywords "company" "dictionary" "ac-source-dictionary") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-company-dict"))])
+ (company-distel . [(20180827 1344) ((distel-completion-lib (1 0 0))) "Erlang/distel completion backend for company-mode" single ((:commit . "acc4c0a5521904203d797fe96b08e5fae4233c7e") (:keywords "erlang" "distel" "company") (:authors ("Sebastian Weddmark Olsson")) (:maintainer "Sebastian Weddmark Olsson") (:url . "github.com/sebastiw/distel-completion"))])
+ (company-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (company (0 7)) (cl-lib (0 5))) "Eclim company backend" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))])
+ (company-emoji . [(20191226 1915) ((cl-lib (0 5)) (company (0 8 0))) "company-mode backend for emoji" tar ((:commit . "fc45b56f3e2081d794f243bce705e77d4e29fc06") (:keywords "emoji" "company") (:authors ("Alex Dunn" . "dunn.alex@gmail.com")) (:maintainer "Alex Dunn" . "dunn.alex@gmail.com") (:url . "https://github.com/dunn/company-emoji.git"))])
+ (company-erlang . [(20170123 538) ((emacs (24 4)) (ivy-erlang-complete (0 1)) (company (0 9 2))) "company backend based on ivy-erlang-complete" single ((:commit . "bc0524a16f17b66c7397690e4ca0e004f09ea6c5") (:keywords "tools") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru"))])
+ (company-flow . [(20180225 2159) ((company (0 8 0)) (dash (2 13 0))) "Flow backend for company-mode" single ((:commit . "76ef585c70d2a3206c2eadf24ba61e59124c3a16") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/company-flow"))])
+ (company-flx . [(20180103 518) ((emacs (24)) (company (0 8 12)) (flx (0 5))) "flx based fuzzy matching for company" single ((:commit . "16ca0d2f84e8e768bf2db8c5cfe421230a00bded") (:keywords "convenience" "company" "fuzzy" "flx") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/company-flx"))])
+ (company-fuzzy . [(20190812 204) ((emacs (24 4)) (company (0 8 12)) (s (1 12 0))) "Fuzzy matching for `company-mode'." single ((:commit . "2af24f053465ab370566a49c231d541ca9509850") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/company-fuzzy"))])
+ (company-ghc . [(20170918 833) ((cl-lib (0 5)) (company (0 8 0)) (ghc (5 4 0 0)) (emacs (24))) "company-mode ghc-mod backend" single ((:commit . "8b264b5c3c0e42c0d0c4e9315559896c9b0edfdc") (:keywords "haskell" "completion") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-ghc"))])
+ (company-ghci . [(20190707 311) ((company (0 8 11)) (haskell-mode (13))) "company backend which uses the current ghci process." single ((:commit . "a1d25652583ab4666c5a78cac18cd8039776b50d") (:authors ("Hector Orellana" . "hofm92@gmail.com")) (:maintainer "Hector Orellana" . "hofm92@gmail.com"))])
+ (company-glsl . [(20171015 1749) ((company (0 9 4)) (glsl-mode (2 0)) (emacs (24 4))) "Support glsl in company-mode" single ((:commit . "a262c12c3bcd0807718c4edcaf2b054e30ef0e26") (:authors ("Guido Schmidt" . "git@guidoschmidt.cc")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:url . "https://github.com/guidoschmidt/company-glsl"))])
+ (company-go . [(20190203 19) ((company (0 8 0)) (go-mode (1 0 0))) "company-mode backend for Go (using gocode)" single ((:commit . "4acdcbdea79de6b3dee1c637eca5cbea0fdbe37c") (:keywords "languages") (:authors ("nsf" . "no.smile.face@gmail.com")) (:maintainer "nsf" . "no.smile.face@gmail.com"))])
+ (company-inf-ruby . [(20140805 2054) ((company (0 6 10)) (inf-ruby (2 2 7)) (emacs (24 1))) "company-mode completion back-end for inf-ruby" single ((:commit . "fe3e4863bc971fbb81edad447efad5795ead1b17") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "https://github.com/company-mode/company-inf-ruby"))])
+ (company-irony . [(20190124 2346) ((emacs (24 1)) (company (0 8 0)) (irony (1 1 0)) (cl-lib (0 5))) "company-mode completion back-end for irony-mode" single ((:commit . "b44711dfce445610c1ffaec4951c6ff3882b216a") (:keywords "convenience") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/company-irony/"))])
+ (company-irony-c-headers . [(20151018 909) ((cl-lib (0 5)) (company (0 9 0)) (irony (0 2 0))) "Company mode backend for C/C++ header files with Irony" single ((:commit . "72c386aeb079fb261d9ec02e39211272f76bbd97") (:keywords "c" "company") (:authors ("Yutian Li" . "hotpxless@gmail.com")) (:maintainer "Yutian Li" . "hotpxless@gmail.com") (:url . "https://github.com/hotpxl/company-irony-c-headers"))])
+ (company-jedi . [(20200324 25) ((emacs (24)) (cl-lib (0 5)) (company (0 8 11)) (jedi-core (0 2 7))) "Company-mode completion back-end for Python JEDI" single ((:commit . "5232fbc1fdbfc81b1dd883afb720338c3e39556b") (:authors ("Boy" . "boyw165@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/company-jedi"))])
+ (company-lean . [(20171102 1454) ((emacs (24 3)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 10 0)) (f (0 19 0)) (company (0 9 3)) (lean-mode (3 3 0))) "A company backend for lean-mode" single ((:commit . "65b55b1711fb61129312044d5ac7e6a2c2ee245c") (:keywords "languages") (:authors ("Leonardo de Moura" . "leonardo@microsoft.com") ("Soonho Kong " . "soonhok@cs.cmu.edu") ("Gabriel Ebner " . "gebner@gebner.org") ("Sebastian Ullrich" . "sebasti@nullri.ch")) (:maintainer "Sebastian Ullrich" . "sebasti@nullri.ch") (:url . "https://github.com/leanprover/lean-mode"))])
+ (company-lsp . [(20190612 1553) ((emacs (25 1)) (lsp-mode (6 0)) (company (0 9 0)) (s (1 2 0)) (dash (2 11 0))) "Company completion backend for lsp-mode." single ((:commit . "f921ffa0cdc542c21dc3dd85f2c93df4288e83bd") (:url . "https://github.com/tigersoldier/company-lsp"))])
+ (company-lua . [(20171108 2306) ((company (0 8 12)) (s (1 10 0)) (f (0 17 0)) (lua-mode (20151025))) "Company backend for Lua" tar ((:commit . "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net"))])
+ (company-math . [(20200131 2337) ((company (0 8 0)) (math-symbol-lists (1 3))) "Completion backends for unicode math symbols and latex tags" single ((:commit . "a796053590012e6a15c8b527b521ffc15d137bd0") (:keywords "unicode" "symbols" "completion") (:authors ("Vitalie Spinu" . "spinuvit@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:url . "https://github.com/vspinu/company-math"))])
+ (company-nand2tetris . [(20171201 1813) ((nand2tetris (1 1 0)) (company (0 5)) (cl-lib (0 5 0))) "Company backend for nand2tetris major mode" single ((:commit . "33acee34d24b1c6a87db833b7d23449cf858f64f") (:keywords "nand2tetris" "hdl" "company") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/CestDiego/nand2tetris.el/"))])
+ (company-native-complete . [(20200315 2144) ((emacs (25 1)) (company (0 9 0)) (native-complete (0 1 0))) "Company completion using native-complete" single ((:commit . "ccb5b52940a9374fbfe92947f0101e7254ba445d") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))])
+ (company-nginx . [(20180604 2) ((emacs (24))) "company-mode keywords support for nginx-mode" single ((:commit . "3074a5d322562f36867ef67bffeb25f1c0d8aca9") (:keywords "company" "nginx") (:url . "https://github.com/stardiviner/company-nginx"))])
+ (company-ngram . [(20170129 1913) ((cl-lib (0 5)) (company (0 8 0))) "N-gram based completion" tar ((:commit . "09a68b802e64799e95f205b438d469bbd78cd2e6") (:authors ("kshramt")) (:maintainer "kshramt") (:url . "https://github.com/kshramt/company-ngram"))])
+ (company-nixos-options . [(20160215 857) ((company (0 8 0)) (nixos-options (0 0 1)) (cl-lib (0 5 0))) "Company Backend for nixos-options" single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:keywords "unix") (:authors ("Diego Berrocal" . "cestdiego@gmail.com") ("Travis B. Hartwell" . "nafai@travishartwell.net")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/travisbhartwell/nix-emacs/"))])
+ (company-org-roam . [(20200403 614) ((emacs (26 1)) (company (0 9 0)) (dash (2 13)) (org-roam (1 0 0))) "Company backend for Org-roam" single ((:commit . "be645587aa51e764127dcbe49e70a13e618d4537") (:keywords "org-mode" "roam" "convenience") (:authors ("Jethro Kuan" . "jethrokuan95@gmail.com")) (:maintainer "Jethro Kuan" . "jethrokuan95@gmail.com") (:url . "https://github.com/jethrokuan/company-org-roam"))])
+ (company-php . [(20190424 222) ((cl-lib (0 5)) (ac-php-core (2 0)) (company (0 9))) "A company back-end for PHP." single ((:commit . "6ca9baaafd3a3e429429986cc59097dcbfa7cda2") (:keywords "completion" "convenience" "intellisense") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:url . "https://github.com/xcwen/ac-php"))])
+ (company-phpactor . [(20200121 1218) ((emacs (24 3)) (company (0 9 6)) (phpactor (0 1 0))) "company-mode backend for Phpactor" single ((:commit . "860d7e8784b261ee71deba354d01c3038cd777ab") (:keywords "tools" "php") (:authors ("Martin Tang" . "martin.tang365@gmail.com") ("Mikael Kermorgant" . "mikael@kgtech.fi")) (:maintainer "Martin Tang" . "martin.tang365@gmail.com") (:url . "https://github.com/emacs-php/phpactor.el"))])
+ (company-plsense . [(20180118 58) ((company (0 9 3)) (cl-lib (0 5 0)) (dash (2 12 0)) (s (1 12)) (emacs (24))) "Company backend for Perl" single ((:commit . "b48e3181e08ec597269621d621aa06636f02d883") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/company-plsense"))])
+ (company-pollen . [(20160812 1510) ((company (0 9 0)) (pollen-mode (1 0))) "company-mode completion backend for pollen" single ((:commit . "d0a33591498013886c2c4676e204cd684954e82a") (:keywords "languages" "pollen" "pollenpub" "company") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))])
+ (company-posframe . [(20200408 400) ((emacs (26 0)) (company (0 9 0)) (posframe (0 1 0))) "Use a posframe as company candidate menu" tar ((:commit . "9b59cd679c4396cbfe8118a9dfa8a5acfe038ac6") (:keywords "abbrev" "convenience" "matching") (:authors ("Clément Pit-Claudel, Feng Shu, Lars Andersen" . "expez@expez.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/company-posframe"))])
+ (company-prescient . [(20200404 1550) ((emacs (25 1)) (prescient (4 1)) (company (0 9 6))) "prescient.el + Company" single ((:commit . "0f4a89bdec61395138d968a38d375e63ccfbed63") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))])
+ (company-qml . [(20170428 1708) ((qml-mode (0 1)) (company (0 8 12))) "Company backend for QML files" tar ((:commit . "4af4f32a7ad86d86bb9293fb0b675aec513b5736") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (company-quickhelp . [(20180525 1003) ((emacs (24 3)) (company (0 8 9)) (pos-tip (0 4 6))) "Popup documentation for completion candidates" single ((:commit . "479676cade80a9f03802ca3d956591820ed5c537") (:keywords "company" "popup" "documentation" "quickhelp") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:url . "https://www.github.com/expez/company-quickhelp"))])
+ (company-quickhelp-terminal . [(20200309 245) ((emacs (24 4)) (company-quickhelp (2 2 0)) (popup (0 5 3))) "Terminal support for `company-quickhelp'" single ((:commit . "0a7c86258b3069adbeb0889e21c6977390d00f4f") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/company-quickhelp-terminal"))])
+ (company-racer . [(20171205 310) ((emacs (24 4)) (cl-lib (0 5)) (company (0 8 0)) (deferred (0 3 1))) "Company integration for racer" single ((:commit . "a00381c9d416f375f783fcb6ae8d40669ce1f567") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/company-racer"))])
+ (company-reftex . [(20181222 906) ((emacs (25 1)) (s (1 12)) (company (0 8))) "Company backend based on RefTeX." single ((:commit . "275ef708f08d3bf0eb30632148e5c6184eeaacdb") (:keywords "bib" "tex" "company" "latex" "reftex" "references" "labels" "citations") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/company-reftex"))])
+ (company-restclient . [(20190426 1312) ((cl-lib (0 5)) (company (0 8 0)) (emacs (24)) (know-your-http-well (0 2 0)) (restclient (0 0 0))) "company-mode completion back-end for restclient-mode" single ((:commit . "e5a3ec54edb44776738c13e13e34c85b3085277b") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-restclient"))])
+ (company-rtags . [(20191222 920) ((emacs (24 3)) (company (0 8 1)) (rtags (2 10))) "RTags back-end for company" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (company-shell . [(20170518 541) ((emacs (24 4)) (company (0 8 12)) (dash (2 12 0)) (cl-lib (0 5))) "Company mode backend for shell functions" single ((:commit . "52f3bf26b74adc30a275f5f4290a1fc72a6876ff") (:keywords "company" "shell" "auto-completion") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/company-shell"))])
+ (company-solidity . [(20181117 1518) ((company (0 9 0)) (cl-lib (0 5 0)) (solidity-mode (0 1 9))) "Company-mode back-end for solidity-mode" single ((:commit . "022b3159832384a7dcdc2168809e698600826047") (:keywords "solidity" "completion" "company") (:authors ("Samuel Smolkin" . "sam@future-precedent.org")) (:maintainer "Samuel Smolkin" . "sam@future-precedent.org") (:url . "https://github.com/ethereum/emacs-solidity"))])
+ (company-sourcekit . [(20170126 1153) ((emacs (24 3)) (company (0 8 12)) (dash (2 12 1)) (dash-functional (1 2 0)) (sourcekit (0 2 0))) "company-mode completion backend for SourceKit" single ((:commit . "abf9bc5a0102eb666d3aa6d6bf22f6efcc852781") (:keywords "abbrev") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/company-sourcekit"))])
+ (company-stan . [(20200221 2025) ((emacs (24 3)) (company (0 9 10)) (stan-mode (10 1 0))) "A company-mode completion backend for stan" single ((:commit . "599a0440086c660e6823622b35058f6d2d6d9637") (:keywords "languages") (:authors ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/company-stan"))])
+ (company-statistics . [(20170210 1933) ((emacs (24 3)) (company (0 8 5))) "Sort candidates using completion history" single ((:commit . "e62157d43b2c874d2edbd547c3bdfb05d0a7ae5c") (:keywords "abbrev" "convenience" "matching") (:authors ("Ingo Lohmar" . "i.lohmar@gmail.com")) (:maintainer "Ingo Lohmar" . "i.lohmar@gmail.com") (:url . "https://github.com/company-mode/company-statistics"))])
+ (company-suggest . [(20180527 1631) ((company (0 9 0)) (emacs (25 1))) "Company-mode back-end for search engine suggests" single ((:commit . "e1fa663b48639c76d91d1f5ac3b23215aa3dabc3") (:keywords "completion" "convenience") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:url . "https://github.com/juergenhoetzel/company-suggest"))])
+ (company-tabnine . [(20200327 2137) ((emacs (25)) (company (0 9 3)) (cl-lib (0 5)) (dash (2 16 0)) (s (1 12 0)) (unicode-escape (1 1))) "A company-mode backend for TabNine" single ((:commit . "e986a4ad0d0e0174b08f1fb94c4f804a98a344e4") (:keywords "convenience") (:authors ("Tommy Xiang" . "tommyx058@gmail.com")) (:maintainer "Tommy Xiang" . "tommyx058@gmail.com") (:url . "https://github.com/TommyX12/company-tabnine/"))])
+ (company-terraform . [(20190607 1037) ((emacs (24 4)) (company (0 8 12)) (terraform-mode (0 6))) "A company backend for terraform" tar ((:commit . "2d11a21fee2f298e48968e479ddcaeda4d736e12") (:keywords "abbrev" "convenience" "terraform" "company") (:authors ("Rafał Cieślak" . "rafalcieslak256@gmail.com")) (:maintainer "Rafał Cieślak" . "rafalcieslak256@gmail.com") (:url . "https://github.com/rafalcieslak/emacs-company-terraform"))])
+ (company-try-hard . [(20200417 1603) ((emacs (24 3)) (company (0 8 0)) (dash (2 0))) "get all completions from company backends" single ((:commit . "2b41136b5ed6e02032d99bcdb0599ecf00394fa5") (:keywords "matching") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/company-try-hard"))])
+ (company-web . [(20180402 1155) ((company (0 8 0)) (dash (2 8 0)) (cl-lib (0 5 0)) (web-completion-data (0 1 0))) "Company version of ac-html, complete for web,html,emmet,jade,slim modes" tar ((:commit . "f0cc9187c9c34f72ad71f5649a69c74f996bae9a") (:keywords "html" "company") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/company-web"))])
+ (company-ycm . [(20140904 1817) ((ycm (0 1))) "company-ycm" single ((:commit . "4da8a14abcd0f4fa3235042ade2e12b5068c0601") (:keywords "abbrev") (:authors ("Ajay Gopinathan" . "ajay@gopinathan.net")) (:maintainer "Ajay Gopinathan" . "ajay@gopinathan.net"))])
+ (company-ycmd . [(20180520 1053) ((ycmd (1 3)) (company (0 9 3)) (deferred (0 5 1)) (s (1 11 0)) (dash (2 13 0)) (let-alist (1 0 5)) (f (0 19 0))) "company-mode backend for ycmd" single ((:commit . "bc81b992f79100c98f56b7b83caf64cb8ea60477") (:url . "https://github.com/abingham/emacs-ycmd"))])
+ (compdef . [(20200304 611) ((emacs (24 4))) "A local completion definer" single ((:commit . "30fb5846ed851efee641ce8c5d8879ad36cd7ac6") (:keywords "convenience") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/compdef"))])
+ (competitive-programming-snippets . [(20200213 1521) ((emacs (26)) (yasnippet (0 8 0))) "Competitive Programming snippets for Yasnippet" tar ((:commit . "b0245fcbabf035d89b80150add5d6a47859ab555") (:keywords "tools") (:authors ("Seong Yong-ju" . "sei40kr@gmail.com")) (:maintainer "Seong Yong-ju" . "sei40kr@gmail.com") (:url . "https://github.com/sei40kr/competitive-programming-snippets"))])
+ (completions-frame . [(20200419 2027) ((emacs (26 1))) "Show completions in child frame" single ((:commit . "2e726a497605752d7d57aaf0adf53178c1e9f7e4") (:keywords "frames") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-completions-frame"))])
+ (composable . [(20190904 701) ((emacs (24 4))) "composable editing" tar ((:commit . "46f82d86c285ceba3e0e46adf993a98cd8816390") (:keywords "lisp") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io"))])
+ (composer . [(20200214 1119) ((emacs (24)) (cl-lib (0 5)) (s (1 9 0)) (f (0 17)) (request (0 2 0)) (seq (1 9)) (php-runtime (0 1 0))) "Interface to PHP Composer" single ((:commit . "8b4867e30efcdf10c6d9a74822aa281404377818") (:keywords "tools" "php" "dependency" "manager") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/composer.el"))])
+ (comware-router-mode . [(20200106 2011) ((dash (2 16 0)) (emacs (24 3))) "Major mode for editing Comware configuration files" single ((:commit . "e6e2d9ca71a7a46c0e4ebeb30e4994c2a8b5fe0d") (:keywords "convenience" "faces") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:url . "https://github.com/daviderestivo/comware-router-mode"))])
+ (concurrent . [(20161229 330) ((emacs (24 3)) (deferred (0 5 0))) "Concurrent utility functions for emacs lisp" single ((:commit . "2239671d94b38d92e9b28d4e12fd79814cfb9c16") (:keywords "deferred" "async" "concurrent") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-deferred/blob/master/README-concurrent.markdown"))])
+ (conda . [(20200420 1418) ((emacs (24 4)) (pythonic (0 1 0)) (dash (2 13 0)) (s (1 11 0)) (f (0 18 2))) "Work with your conda environments" single ((:commit . "f187948f7bda856befb54a08473c9aae3e595c8a") (:keywords "python" "environment" "conda") (:authors ("Rami Chowdhury" . "rami.chowdhury@gmail.com")) (:maintainer "Rami Chowdhury" . "rami.chowdhury@gmail.com") (:url . "http://github.com/necaris/conda.el"))])
+ (config-general-mode . [(20171024 1840) nil "Config::General config file mode" single ((:commit . "b4a8e6ba0bb027a77e4a0f701409f3e57bb2e4c0") (:keywords "files") (:authors ("T.v.Dein" . "tlinden@cpan.org")) (:maintainer "T.v.Dein" . "tlinden@cpan.org") (:url . "https://github.com/tlinden/config-general-mode"))])
+ (config-parser . [(20160426 1219) ((emacs (24 4))) "a library for parsing config file" single ((:commit . "85d559e7889d8f5b98b8794b79426ae25ec3caa5") (:keywords "convenience" "config") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/el-config-parser"))])
+ (confluence . [(20151021 128) ((xml-rpc (1 6 4))) "Emacs mode for interacting with confluence wikis" tar ((:commit . "4518d270a07760644c4204985c83d234ece4738b") (:keywords "confluence" "wiki" "xmlrpc") (:authors ("James Ahlborn")) (:maintainer "James Ahlborn") (:url . "http://code.google.com/p/confluence-el/"))])
+ (conkeror-minor-mode . [(20150114 1604) nil "Mode for editing conkeror javascript files." single ((:commit . "476e81c27b056e21c192391fe674a2bf875466b0") (:keywords "programming" "tools") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com>")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com>") (:url . "http://github.com/Bruce-Connor/conkeror-minor-mode"))])
+ (conllu-mode . [(20200430 2038) ((emacs (25)) (cl-lib (0 5)) (flycheck (30)) (hydra (0 13 0)) (s (1 0))) "editing mode for CoNLL-U files" tar ((:commit . "2d5f2fb740a24186d72aca2f8ff20e66480bf3a8") (:keywords "extensions") (:authors ("bruno cuconato" . "bcclaro+emacs@gmail.com")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:url . "https://github.com/odanoburu/conllu-mode"))])
+ (connection . [(20191111 446) nil "TCP-based client connection" single ((:commit . "c9cad101100975e88873636bfd426b7a19304ebd") (:keywords "network") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))])
+ (constant-theme . [(20180921 1012) ((emacs (24 1))) "A calm, dark, almost monochrome color theme." tar ((:commit . "23543a09729569b566175abe1efbe774048d3fa8") (:keywords "themes") (:authors ("Jannis Pohlmann" . "contact@jannispohlmann.de")) (:maintainer "Jannis Pohlmann" . "contact@jannispohlmann.de") (:url . "https://github.com/jannis/emacs-constant-theme"))])
+ (contextual . [(20180726 800) ((emacs (24)) (dash (2 12 1)) (cl-lib (0 5))) "Contextual profile management system" single ((:commit . "e3c0de4a2e06757a0e8407c3c6e75930026191e3") (:keywords "convenience" "tools") (:authors ("Alexander Kahl" . "ak@sodosopa.io")) (:maintainer "Alexander Kahl" . "ak@sodosopa.io") (:url . "https://github.com/lshift-de/contextual"))])
+ (contextual-menubar . [(20180205 709) nil "display the menubar only on a graphical display" single ((:commit . "f76f55232ac07df76ef9a334a0c527dfab97c40b") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/contextual-menubar"))])
+ (contrast-color . [(20160903 1807) ((emacs (24 3)) (cl-lib (0 5))) "Pick best contrast color for you" single ((:commit . "c5fb77a211ebbef3185ada37bea7420534c33f94") (:keywords "color" "convenience") (:authors ("Yuta Yamada <cokesboy[at]gmail.com>")) (:maintainer "Yuta Yamada <cokesboy[at]gmail.com>") (:url . "https://github.com/yuutayamada/contrast-color-el"))])
+ (control-mode . [(20160624 1710) nil "A \"control\" mode, similar to vim's \"normal\" mode" single ((:commit . "72d6179b60adc438aada74083b2bf4264b575de3") (:keywords "convenience" "emulations") (:authors ("Stephen Marsh" . "stephen.david.marsh@gmail.com")) (:maintainer "Stephen Marsh" . "stephen.david.marsh@gmail.com") (:url . "https://github.com/stephendavidmarsh/control-mode"))])
+ (copy-as-format . [(20190523 258) ((cl-lib (0 5))) "Copy buffer locations as GitHub/Slack/JIRA etc... formatted code" single ((:commit . "a0962b670e26b723ce304b14e3397da453aef84e") (:keywords "github" "slack" "jira" "hipchat" "gitlab" "bitbucket" "org-mode" "pod" "rst" "asciidoc" "tools" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "https://github.com/sshaw/copy-as-format"))])
+ (copy-file-on-save . [(20180604 1419) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17)) (s (1 7 0))) "Copy file on save, automatic deployment it." single ((:commit . "5af6d5fcc35ddf9050eada96fd5f334bf0661b62") (:keywords "files" "comm" "deploy") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/emacs-auto-deployment"))])
+ (copyit . [(20190919 1258) ((emacs (24 3)) (s (1 9 0))) "Copy it, yank anything!" single ((:commit . "c4f2c28e5b6270e8e3364341619f1154bb4e682e") (:keywords "convenience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))])
+ (copyit-pandoc . [(20190919 1258) ((emacs (24 3)) (copyit (0 1 0)) (pandoc (0 0 1))) "Copy it, yank anything!" single ((:commit . "c4f2c28e5b6270e8e3364341619f1154bb4e682e") (:keywords "convenience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))])
+ (coq-commenter . [(20170822 2309) ((dash (2 13 0)) (s (1 11 0)) (cl-lib (0 5))) "Coq commenting minor mode for proof" single ((:commit . "7fe9a2cc0ebdb0b1e54a24eb7971d757fb588ac3") (:keywords "comment" "coq" "proof") (:authors ("Junyoung Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung Clare Jang" . "jjc9310@gmail.com") (:url . "http://github.com/ailrun/coq-commenter"))])
+ (corral . [(20160502 701) nil "Quickly surround text with delimiters" single ((:commit . "e7ab6aa118e46b93d4933d1364bc273f57cd6911") (:authors ("Kevin Liu" . "mail@nivekuil.com")) (:maintainer "Kevin Liu" . "mail@nivekuil.com") (:url . "http://github.com/nivekuil/corral"))])
+ (cort . [(20200330 1641) ((emacs (24 0))) "Simplify extended unit test framework" single ((:commit . "eb94d2a5b3a048a495fb0218b2df9021f8c864f4") (:keywords "test" "lisp") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/cort.el"))])
+ (cosmo . [(20170922 744) ((emacs (24 4))) "Cosmological Calculator" single ((:commit . "dd83b09a49a2843606b28279b674b2207040b36b") (:keywords "tools") (:authors ("Francesco Montanari" . "fmnt@fmnt.info")) (:maintainer "Francesco Montanari" . "fmnt@fmnt.info") (:url . "https://gitlab.com/montanari/cosmo-el"))])
+ (counsel . [(20200430 2223) ((emacs (24 5)) (swiper (0 13 0))) "Various completion functions using Ivy" single ((:commit . "1bf5b98dc2a01ff4d3255e349cf32817ffaccea1") (:keywords "convenience" "matching" "tools") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))])
+ (counsel-bbdb . [(20181128 1320) ((ivy (0 8 0)) (emacs (24 3))) "Quick search&input email from BBDB based on ivy" single ((:commit . "df2890deb73b09f8055243bd91942ea887d9b7a1") (:keywords "mail" "abbrev" "convenience" "matching") (:authors ("Chen Bin <chenbin.sh AT gmail>")) (:maintainer "Chen Bin <chenbin.sh AT gmail>") (:url . "https://github.com/redguard/counsel-bbdb"))])
+ (counsel-codesearch . [(20180925 803) ((codesearch (1)) (counsel (0 10 0)) (emacs (24)) (ivy (0 10 0))) "Counsel interface for codesearch.el" single ((:commit . "b7989fad3e06f301c31d5e896c42b6cc549a0e0c") (:keywords "tools") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-counsel-codesearch"))])
+ (counsel-css . [(20200331 632) ((emacs (24 4)) (counsel (0 7 0)) (cl-lib (0 5))) "stylesheet-selector-aware swiper" single ((:commit . "6427dfcbda0d2bbd81db03f9d6b56b06c260ac02") (:keywords "convenience" "tools" "counsel" "swiper" "selector" "css" "less" "scss") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-counsel-css"))])
+ (counsel-dash . [(20200103 1411) ((emacs (24 4)) (dash-docs (1 4 0)) (counsel (0 8 0)) (cl-lib (0 5))) "Browse dash docsets using Ivy" single ((:commit . "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24") (:keywords "dash" "ivy" "counsel") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/counsel-dash"))])
+ (counsel-etags . [(20200501 540) ((counsel (0 13 0))) "Fast and complete Ctags/Etags solution using ivy" tar ((:commit . "b03f02e7838199895a7b11cc8b2915f4746f1eba") (:keywords "tools" "convenience") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/counsel-etags"))])
+ (counsel-fd . [(20200429 1447) ((counsel (0 12 0))) "counsel interface for fd" single ((:commit . "336177f51c4c0a247893e99469dd0ca23e031729") (:keywords "tools") (:url . "https://github.com/CsBigDataHub/counsel-fd"))])
+ (counsel-ffdata . [(20191017 1237) ((emacs (25 1)) (counsel (0 11 0)) (emacsql (3 0 0))) "Use ivy to access firefox data" single ((:commit . "88c2348c4039d9e562bd3d9a364708b01037c283") (:keywords "convenience" "tools" "matching") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:url . "https://github.com/cireu/counsel-ffdata"))])
+ (counsel-gtags . [(20200101 1701) ((emacs (25 1)) (counsel (0 8 0)) (seq (1 0))) "ivy for GNU global" single ((:commit . "5d2a8c2c2d358e374a576cf8a3a67f7997a8839b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com") ("Felipe Lema" . "felipelema@mortemale.org")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/FelipeLema/emacs-counsel-gtags"))])
+ (counsel-jq . [(20191207 1334) ((swiper (0 12 0)) (ivy (0 12 0)) (emacs (24 1))) "Live preview of \"jq\" queries using counsel" single ((:commit . "b14dfc5c18d991c3b3051c3cbb244d5923b3a327") (:keywords "convenience" "data" "matching") (:authors ("Alain M. Lafon" . "alain@200ok.ch")) (:maintainer "Alain M. Lafon" . "alain@200ok.ch") (:url . "https://github.com/200ok-ch/counsel-jq"))])
+ (counsel-notmuch . [(20181203 935) ((emacs (24)) (ivy (0 10 0)) (notmuch (0 21)) (s (1 12 0))) "Search emails in Notmuch asynchronously with Ivy" single ((:commit . "a4a1562935e4180c42524c51609d1283e9be0688") (:keywords "mail") (:authors ("Alexander Fu Xi" . "fuxialexander@gmail.com")) (:maintainer "Alexander Fu Xi" . "fuxialexander@gmail.com") (:url . "https://github.com/fuxialexander/counsel-notmuch"))])
+ (counsel-org-capture-string . [(20180816 724) ((emacs (25 1)) (ivy (0 10))) "Counsel for org-capture-string" single ((:commit . "0fd5d72397a9268a89dd26de2a6c355f127453ac") (:keywords "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/counsel-org-capture-string"))])
+ (counsel-org-clock . [(20190407 348) ((emacs (24 3)) (ivy (0 10 0)) (dash (2 0))) "Counsel commands for org-clock" single ((:commit . "ddf6b89652e4dbc0be5e8719213e7673c83959f1") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/counsel-org-clock"))])
+ (counsel-osx-app . [(20160821 809) ((ivy (0 8 0)) (emacs (24 3))) "launch osx applications via ivy interface" single ((:commit . "b1c54cbc033c4939966910d85ce035503079e108") (:authors ("Boris Buliga" . "d12frosted@gmail.com")) (:maintainer "Boris Buliga" . "d12frosted@gmail.com") (:url . "https://github.com/d12frosted/counsel-osx-app"))])
+ (counsel-projectile . [(20200430 2133) ((counsel (0 13 0)) (projectile (2 0 0))) "Ivy integration for Projectile" single ((:commit . "126e825bbab872b3befd9ef88660571391ebfdc3") (:keywords "project" "convenience") (:authors ("Eric Danan")) (:maintainer "Eric Danan") (:url . "https://github.com/ericdanan/counsel-projectile"))])
+ (counsel-pydoc . [(20171018 2042) ((emacs (24 3)) (ivy (0 9 1))) "run pydoc with counsel" single ((:commit . "1d8ff8ca3b9d69453cde423b1887fbb490a95c9e") (:keywords "completion" "matching") (:authors (nil . "Hao Deng(denghao8888@gmail.com)")) (:maintainer nil . "Hao Deng(denghao8888@gmail.com)") (:url . "https://github.com/co-dh/pydoc_utils"))])
+ (counsel-spotify . [(20200326 156) ((emacs (25 1)) (ivy (0 13 0))) "Control Spotify search and select music with Ivy" single ((:commit . "5d23a898483de19cb60773492c9846facb8ae281") (:authors ("Lautaro García <https://github.com/Lautaro-Garcia>")) (:maintainer "Lautaro García <https://github.com/Lautaro-Garcia>") (:url . "https://github.com/Lautaro-Garcia/counsel-spotify"))])
+ (counsel-test . [(20190819 1920) ((emacs (25 1)) (ivy (0 11 0)) (s (1 12 0))) "Browse and execute tests with ivy" tar ((:commit . "7fc4e5d0d65c53edbcb4c25917bcf7faaea36ec7") (:keywords "tools" "ivy" "counsel" "testing" "ctest" "pytest") (:url . "http://github.com/xmagpie/counsel-test"))])
+ (counsel-tramp . [(20190616 122) ((emacs (24 3)) (counsel (0 10))) "Tramp ivy interface for ssh, docker, vagrant" single ((:commit . "da451df4c5f0ba32056ec600e8eb6a2c7ca4df08") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-counsel-tramp"))])
+ (counsel-web . [(20200313 5) ((emacs (25 1)) (counsel (0 13 0)) (request (0 3 0))) "Search the Web using Ivy" single ((:commit . "35c648b4cdd9f266ab54512a0fec2a3ca55d5bc6") (:keywords "convenience" "hypermedia") (:authors ("Matthew Sojourner Newton" . "matt@mnewton.com")) (:maintainer "Matthew Sojourner Newton" . "matt@mnewton.com") (:url . "https://github.com/mnewt/counsel-web"))])
+ (counsel-world-clock . [(20190709 2211) ((ivy (0 9 0)) (s (1 12 0))) "Display world clock using Ivy." single ((:commit . "674e4c6b82a92ea765af97cc5f017b357284c7dc") (:authors ("Kuang Chen <http://github.com/kchenphy>")) (:maintainer "Kuang Chen <http://github.com/kchenphy>") (:url . "https://github.com/kchenphy/counsel-world-clock"))])
+ (countdown . [(20190626 244) ((emacs (25 1)) (stream (2 2 4))) "Countdown using big LCD-like digits" single ((:commit . "139dea91fc818d65944aca5f16c9626abbdfbf04") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/countdown.el"))])
+ (cov . [(20191004 36) ((emacs (24 4)) (f (0 18 2)) (s (1 11 0)) (elquery (0))) "Show coverage stats in the fringe." single ((:commit . "9e6f4af7a07e281913f9f50f20dbbf6f26807563") (:keywords "coverage" "gcov" "c") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/cov"))])
+ (coverage . [(20191113 1958) ((ov (1 0)) (cl-lib (0 5))) "Code coverage line highlighting" single ((:commit . "6e3c6f2dcb759a76086adeeb1fdfe83e4f082482") (:keywords "coverage" "metrics" "simplecov" "ruby" "rspec") (:authors ("Kieran Trezona-le Comte" . "trezona.lecomte@gmail.com")) (:maintainer "Kieran Trezona-le Comte" . "trezona.lecomte@gmail.com") (:url . "https://github.com/trezona-lecomte/coverage"))])
+ (coverlay . [(20190414 940) ((emacs (24 1)) (cl-lib (0 5))) "Test coverage overlays" single ((:commit . "0beae208d0e7d746a94385428bd61aa5cd7ea828") (:keywords "coverage" "overlay") (:authors ("Takuto Wada <takuto.wada at gmail com>")) (:maintainer "Takuto Wada <takuto.wada at gmail com>") (:url . "https://github.com/twada/coverlay.el"))])
+ (cp5022x . [(20120323 2335) nil "cp50220, cp50221, cp50222 coding system" single ((:commit . "ea7327dd75e54539576916f592ae1be98179ae35") (:keywords "languages" "cp50220" "cp50221" "cp50222" "cp51932" "cp932") (:authors ("ARISAWA Akihiro" . "ari@mbf.ocn.ne.jp")) (:maintainer "ARISAWA Akihiro" . "ari@mbf.ocn.ne.jp"))])
+ (cpanfile-mode . [(20161001 710) ((emacs (24 4))) "Major mode for cpanfiles" single ((:commit . "eda675703525198df1f76ddf250bffa40217ec5d") (:keywords "perl") (:authors ("Zak B. Elep" . "zakame@zakame.net")) (:maintainer "Zak B. Elep" . "zakame@zakame.net") (:url . "https://github.com/zakame/cpanfile-mode"))])
+ (cpp-auto-include . [(20191221 2319) ((cl-lib (0 5))) "Insert and delete C++ header files automatically" single ((:commit . "08208ca7b9dc4ac940ce9ca1f79424d2f3d3d391") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/emacsorphanage/cpp-auto-include"))])
+ (cpp-capf . [(20200405 8) ((emacs (24 4))) "Completion-at-point backend for c/c++ using clang" single ((:commit . "0a4fd531e9e47369ff29d9f8583efd0bacd6bc50") (:keywords "c" "abbrev" "convenience") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/cpp-capf"))])
+ (cpputils-cmake . [(20181006 328) nil "Easy realtime C++ syntax check and IntelliSense with CMake." single ((:commit . "64b2b05eff5398b4cd522e66efaf14553ab18ff4") (:keywords "cmake" "intellisense" "flymake" "flycheck") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/cpputils-cmake"))])
+ (cpu-sos . [(20200409 2356) ((emacs (25 1))) "S.O.S. from a CPU in distress" single ((:commit . "1594b76d4ad3a6e3c471d82da366226d156e6226") (:keywords "processes") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:url . "https://github.com/oitofelix/cpu-sos"))])
+ (cql-mode . [(20190315 225) ((emacs (24))) "Major mode for editting CQLs" single ((:commit . "d400c046850d3cf404778b2c47d6be4ff84ca04b") (:keywords "cql" "cassandra") (:authors ("Yuki Inoue <inouetakahiroki at gmail.com>")) (:maintainer "Yuki Inoue <inouetakahiroki at gmail.com>") (:url . "https://github.com/Yuki-Inoue/cql-mode"))])
+ (cquery . [(20190118 542) ((emacs (25 1)) (lsp-mode (3 4)) (dash (0 13))) "cquery client for lsp-mode" tar ((:commit . "555e50984ebda177421fdcdc8c76cb29235d9694") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani")) (:maintainer "Tobias Pisani") (:url . "https://github.com/jacobdufault/cquery"))])
+ (crappy-jsp-mode . [(20140311 931) nil "A pretty crappy major-mode for jsp." single ((:commit . "6c45ab92b452411cc0fab9bcee2f456276b4fc40") (:keywords "jsp" "major" "mode"))])
+ (creamsody-theme . [(20170222 1058) ((autothemer (0 2))) "Straight from the soda fountain." single ((:commit . "32fa3f4e461da92700523b1b20e7b28974c19a26") (:url . "http://github.com/emacsfodder/emacs-theme-creamsody"))])
+ (creds . [(20140510 1706) ((s (1 9 0)) (dash (2 5 0))) "A parser credentials file library (not limited to credentials entries)" tar ((:commit . "b059397a7d59481f05fbb1bb9c8d3c2c69226482"))])
+ (creole . [(20140924 1500) ((noflet (0 0 3)) (kv (0 0 17))) "A parser for the Creole Wiki language" single ((:commit . "7d5cffe93857f6c75ca09ac79c0e47b8d4410e53") (:keywords "lisp" "creole" "wiki") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (creole-mode . [(20130722 50) nil "a markup mode for creole" single ((:commit . "b5e79b2ec5f19fb5aacf689b5febc3e0b61515c4") (:keywords "hypermedia" "wp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/creole-mode"))])
+ (cricbuzz . [(20180804 2254) ((enlive (0 0 1)) (f (0 19 0)) (dash (2 13 0)) (s (1 11 0))) "Cricket scores from cricbuzz in emacs" single ((:commit . "0b95d45991bbcd2fa58d96ce921f6a57ba42c153") (:keywords "cricket" "score") (:authors ("Abhinav Tushar" . "abhinav.tushar.vs@gmail.com")) (:maintainer "Abhinav Tushar" . "abhinav.tushar.vs@gmail.com") (:url . "https://github.com/lepisma/cricbuzz.el"))])
+ (crm-custom . [(20160117 6) ((cl-lib (0 5))) "Alternate `completing-read-multiple' that uses `completing-read'" single ((:commit . "f1aaccf64306a5f99d9bf7ba815d7ea41c15518d") (:keywords "completion" "minibuffer" "multiple elements") (:authors ("Ryan C. Thompson" . "rct@thompsonclan.org")) (:maintainer "Ryan C. Thompson" . "rct@thompsonclan.org") (:url . "https://github.com/DarwinAwardWinner/crm-custom"))])
+ (crontab-mode . [(20200330 920) ((emacs (24))) "Major mode for crontab(5)" single ((:commit . "9625228cbfce29ac3b443c6eff893ff828268f7d") (:keywords "languages") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/crontab-mode"))])
+ (crux . [(20181108 827) ((seq (1 11))) "A Collection of Ridiculously Useful eXtensions" single ((:commit . "903db7b1a2052f4959d934cae26ec40a3f323ed4") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/crux"))])
+ (cryptol-mode . [(20190531 2051) nil "Cryptol major mode for Emacs" single ((:commit . "81ebbde83f7cb75b2dfaefc09de6a1703068c769") (:keywords "cryptol" "cryptography") (:authors (nil . "Austin Seipp <aseipp [@at] pobox [dot] com>")) (:maintainer nil . "Austin Seipp <aseipp [@at] pobox [dot] com>") (:url . "http://github.com/thoughtpolice/cryptol-mode"))])
+ (crystal-mode . [(20191121 1447) ((emacs (24 4))) "Major mode for editing Crystal files" single ((:commit . "2428b016243e78a0312cf6b3ba6939e7169a1405") (:keywords "languages" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))])
+ (crystal-playground . [(20180830 501) ((emacs (25)) (crystal-mode (0 1 2))) "Local crystal playground for short code snippets." single ((:commit . "fb3691b1281207b459c5be50015a626f356dc40d") (:keywords "tools" "crystal") (:authors ("Jason Howell")) (:maintainer "Jason Howell") (:url . "https://github.com/jasonrobot/crystal-playground"))])
+ (csgo-conf-mode . [(20161209 1619) nil "CS:GO Configuration files syntax highlighting" single ((:commit . "57e7224f87a3ccc76b5564cc95fa0ff43bb6807c") (:keywords "languages") (:authors ("Guillermo Robles" . "guillerobles1995@gmail.com")) (:maintainer "Guillermo Robles" . "guillerobles1995@gmail.com") (:url . "https://github.com/wynro/emacs-csgo-conf-mode"))])
+ (csharp-mode . [(20200402 919) nil "C# mode derived mode" single ((:commit . "31124dba6833a4de144ca508edb90d5adfeec209") (:keywords "c#" "languages" "oop" "mode") (:authors ("Dylan R. E. Moonfire (original)")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:url . "https://github.com/josteink/csharp-mode"))])
+ (csound-mode . [(20200402 1509) ((emacs (25)) (shut-up (0 3 2)) (multi (2 0 1)) (dash (2 16 0)) (highlight (0))) "A major mode for interacting and coding Csound" tar ((:commit . "81bec1a71934a56f677f442e2c22fb6336b366c4") (:authors ("Hlöðver Sigurðsson" . "hlolli@gmail.com")) (:maintainer "Hlöðver Sigurðsson" . "hlolli@gmail.com") (:url . "https://github.com/hlolli/csound-mode"))])
+ (csproj-mode . [(20191012 49) ((emacs (24))) "Work with .NET project files (csproj, vbproj)" tar ((:commit . "95e797af7cc30d4675247b64496c39b77b82e18e") (:keywords "languages" "tools") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:url . "https://github.com/omajid/csproj-mode"))])
+ (css-autoprefixer . [(20180311 1600) ((emacs (24))) "Adds autoprefix to CSS" single ((:commit . "386a5defc8543a3b87820f1761c075c7d1d93b38") (:keywords "convenience" "usability" "css") (:authors (nil . "Kyung Mo Kweon<kkweon@gmail.com> and contributors")) (:maintainer nil . "Kyung Mo Kweon<kkweon@gmail.com> and contributors") (:url . "https://github.com/kkweon/emacs-css-autoprefixer"))])
+ (css-comb . [(20160416 559) nil "Sort CSS properties in a particular order using CSS Comb" single ((:commit . "6fa45e5af8a8bd3af6c1154cde3540e32c4206ee") (:authors ("Charanjit Singh" . "ckhabra@gmail.com")) (:maintainer "Charanjit Singh" . "ckhabra@gmail.com") (:url . "https://github.com/channikhabra/css-comb.el"))])
+ (css-eldoc . [(20150125 323) nil "an eldoc-mode plugin for CSS source code" tar ((:commit . "c558ac4c470742c98a37290e6b409db28183df30") (:authors ("Zeno Zeng" . "zenoes@qq.com")) (:maintainer "Zeno Zeng" . "zenoes@qq.com"))])
+ (cssh . [(20150810 1709) nil "clusterssh implementation for emacs" single ((:commit . "2fe2754235225a59b63f08b130cfd4352e2e1c3f") (:keywords "clusterssh" "ssh" "cssh") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "http://tapoueh.org/emacs/cssh.html"))])
+ (csv . [(20161113 1510) nil "Functions for reading and parsing CSV files." single ((:commit . "aa1dfa1263565d5fac3879c21d8ddf5f8915e411") (:keywords "extensions" "data" "csv") (:authors ("Ulf Jasper" . "ulf.jasper@web.de")) (:maintainer "Ulf Jasper" . "ulf.jasper@web.de"))])
+ (ctable . [(20171006 11) nil "Table component for Emacs Lisp" single ((:commit . "b8830d1ca95abb100a81bc32011bd17d5ecba000") (:keywords "table") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-ctable"))])
+ (ctags-update . [(20190609 613) nil "(auto) update TAGS in parent directory using exuberant-ctags" single ((:commit . "67faf248b92388442958a069263c62a345425a1b") (:keywords "exuberant-ctags" "etags") (:authors (nil . "Joseph(纪秀峰) jixiuf@gmail.com")) (:maintainer nil . "Joseph(纪秀峰) jixiuf@gmail.com") (:url . "https://github.com/jixiuf/ctags-update"))])
+ (ctl-mode . [(20151202 1006) nil "Major mode for editing GrADS script files" single ((:commit . "1a13051db21b999c7682a015b33a03096ff9d891") (:keywords "grads" "script" "major-mode") (:authors ("Joe Wielgosz" . "joew@cola.iges.org")) (:maintainer "Joe Wielgosz" . "joew@cola.iges.org"))])
+ (ctrlf . [(20200417 1549) ((emacs (25 1))) "Emacs finally learns how to ctrl+F" single ((:commit . "97b59f1974ddcfcd9eedcf4c2d286a38f5200273") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/ctrlf"))])
+ (ctune . [(20190914 1305) ((emacs (26 1))) "Tune out CC Mode Noise Macros" tar ((:commit . "d7643461f5aa33cc04e4d808123e4ed1d85500ee") (:keywords "c" "convenience") (:authors ("Mauro Aranda" . "maurooaranda@gmail.com")) (:maintainer "Mauro Aranda" . "maurooaranda@gmail.com") (:url . "https://github.com/maurooaranda/ctune"))])
+ (ctxmenu . [(20140303 2142) ((popup (20140205 103)) (log4e (0 2 0)) (yaxception (0 1))) "Provide a context menu like right-click." tar ((:commit . "5c2376859562b98c07c985d2b483658e4c0e888e") (:keywords "popup") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-ctxmenu"))])
+ (cubicaltt . [(20171108 1402) ((emacs (24 1)) (cl-lib (0 5))) "Mode for cubical type theory" single ((:commit . "a5c6f94bfc0da84e214641e0b87aa9649ea114ea") (:keywords "languages") (:url . "https://github.com/mortberg/cubicaltt"))])
+ (cubicle-mode . [(20171009 1957) nil "Major mode for the Cubicle model checker" single ((:commit . "c2fba597da83b9ddc1195f1c8710d5330db24735") (:authors ("Alain Mebsout")) (:maintainer "Alain Mebsout"))])
+ (cucumber-goto-step . [(20131210 519) ((pcre2el (1 5))) "Jump to cucumber step definition" single ((:commit . "f2713ffb26ebe1b757d1f2ea80e900b55e5895aa") (:authors ("Glen Stampoultzis" . "gstamp@gmail.com")) (:maintainer "Glen Stampoultzis" . "gstamp@gmail.com") (:url . "http://orthogonal.me"))])
+ (cuda-mode . [(20151214 321) nil "NVIDIA CUDA Major Mode" single ((:commit . "9ae9eacfdba3559b5456342d0d03296290df8ff5") (:keywords "c" "languages") (:authors ("Jack Morrison" . "jackmorrison1@gmail.com")) (:maintainer "Jack Morrison" . "jackmorrison1@gmail.com"))])
+ (curl-to-elisp . [(20200427 219) ((emacs (25 1))) "Convert cURL command to Emacs Lisp code" single ((:commit . "25449962e758607762b3df76fc5501cfeedbbd38") (:keywords "lisp") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/curl-to-elisp"))])
+ (cursor-test . [(20131207 1732) ((emacs (24))) "testing library for cursor position in emacs." single ((:commit . "e09956e048b88fd2ee8dd90b5678baed8b04d31b") (:authors ("ainame")) (:maintainer "ainame") (:url . "https://github.com/ainame/cursor-test.el"))])
+ (cwl-mode . [(20171205 945) ((yaml-mode (0 0 13)) (emacs (24 4))) "A major mode for editing CWL" single ((:commit . "bdeb9c0734126f940db80bfb8b1dc735dab671c7") (:keywords "languages" "cwl" "common workflow language") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/cwl-mode"))])
+ (cyberpunk-2019-theme . [(20191008 1133) ((emacs (24 1))) "A retina-scorching cyberpunk theme" single ((:commit . "7e40c37210c363b2819fd9bb98a73101d7a3c206") (:keywords "cyberpunk" "theme" "themes") (:authors ("Alex Lynham" . "alex@lynh.am")) (:maintainer "Alex Lynham" . "alex@lynh.am") (:url . "https://github.com/the-frey/cyberpunk-2019"))])
+ (cyberpunk-theme . [(20200115 1720) nil "Cyberpunk Color Theme" single ((:commit . "07edefdec3956fba9076fe98cdc33df7bf617afc") (:keywords "color" "theme" "cyberpunk") (:authors ("Nicholas M. Van Horn" . "nvanhorn@protonmail.com")) (:maintainer "Nicholas M. Van Horn" . "nvanhorn@protonmail.com") (:url . "https://github.com/n3mo/cyberpunk-theme.el"))])
+ (cycbuf . [(20131203 2037) nil "Cycle buffers, inspired by swbuff.el, swbuff-x.el, and bs.el" single ((:commit . "1079b41c3eb27d65b66d4399959bb6253f84858e") (:keywords "files" "convenience" "buffer switching") (:authors ("Martin Pohlack martinp (at) gmx.de")) (:maintainer "Martin Pohlack martinp (at) gmx.de") (:url . "https://github.com/martinp26/cycbuf"))])
+ (cycle-resize . [(20160521 1557) nil "Cycle resize the current window horizontally or vertically" single ((:commit . "7d255d6fe85f12c967a0f7fcfcf18633be194c88") (:authors ("Pierre Lecocq")) (:maintainer "Pierre Lecocq") (:url . "https://github.com/pierre-lecocq/cycle-resize"))])
+ (cycle-themes . [(20150403 309) ((cl-lib (0 5))) "A global minor mode to make switching themes easier" single ((:commit . "6e125d11fdbc6b78fc9f219eb2609a5e29815898") (:keywords "themes" "utility" "global minor mode") (:url . "http://github.com/toroidal-code/cycle-themes.el"))])
+ (cyphejor . [(20190713 1339) ((emacs (24 4))) "Shorten major mode names using user-defined rules" single ((:commit . "78e3705cca65e1456ce26221690dca74c71735c1") (:keywords "mode-line" "major-mode") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/cyphejor"))])
+ (cypher-mode . [(20151110 1142) nil "major mode for editing cypher scripts" single ((:commit . "ce8543d7877c736c574a17b49874c9dcdc7a06d6") (:keywords "cypher" "graph") (:authors ("François-Xavier Bois <fxbois AT Google Mail Service>")) (:maintainer "François-Xavier Bois") (:url . "http://github.com/fxbois/cypher-mode"))])
+ (cython-mode . [(20190111 2150) nil "Major mode for editing Cython files" single ((:commit . "a487cdbdf8731f4a7eaf354d52983d6379e9f9ba"))])
+ (czech-holidays . [(20160113 1752) nil "Adds a list of Czech public holidays to Emacs calendar" single ((:commit . "d136fa09a152b3cd80db6d55c7b4ddfe07b90fbf") (:keywords "calendar") (:authors ("David Chkhikvadze" . "david.chk@outlook.com")) (:maintainer "David Chkhikvadze" . "david.chk@outlook.com"))])
+ (d-mode . [(20191009 903) ((emacs (24 3))) "D Programming Language major mode for (X)Emacs" single ((:commit . "cfd1d0869d51b7548b3fb738b2f2593c76533d44") (:keywords "d" "programming" "language" "emacs" "cc-mode") (:authors ("William Baxter")) (:maintainer "Russel Winder" . "russel@winder.org.uk"))])
+ (dactyl-mode . [(20140906 1725) nil "Major mode for editing Pentadactyl config files" single ((:commit . "cc55fe6b987271d9647492b8df4c812d884f661f") (:keywords "languages" "vim") (:url . "https://github.com/luxbock/dactyl-mode"))])
+ (dad-joke . [(20170928 658) ((emacs (24))) "Get/display dad jokes" single ((:commit . "bee47e7b746b403228fa7d7361cb095de19ac9ba") (:keywords "games") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/dad-joke.el"))])
+ (daemons . [(20200421 912) ((emacs (25 1))) "UI for managing init system daemons (services)" tar ((:commit . "a26155d04cec399ffe25b88f71cbfa4ada784569") (:keywords "unix" "convenience") (:authors ("Chris Bowdon")) (:maintainer "Chris Bowdon") (:url . "https://github.com/cbowdon/daemons.el"))])
+ (dakrone-light-theme . [(20170808 2140) nil "dakrone's custom light theme" single ((:commit . "06f198dc8b4ca7421990b30a23d89c8e0b8c5de4") (:keywords "color" "themes" "faces") (:authors ("Lee Hinman <lee _AT_ writequit.org>")) (:maintainer "Lee Hinman <lee _AT_ writequit.org>") (:url . "https://github.com/dakrone/dakrone-light-theme"))])
+ (dakrone-theme . [(20170801 1933) nil "dakrone's custom dark theme" single ((:commit . "232ad1be5f3572dcbdf528f1655109aa355a6937") (:keywords "color" "themes") (:authors ("Lee Hinman <lee _AT_ writequit.org>")) (:maintainer "Lee Hinman <lee _AT_ writequit.org>") (:url . "https://github.com/dakrone/dakrone-theme"))])
+ (danneskjold-theme . [(20200223 1128) nil "Beautiful high-contrast Emacs theme." tar ((:commit . "c6776c5f40587429a4fd6e9c52008bb9242ef692"))])
+ (dante . [(20200416 1217) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (company (0 9)) (haskell-mode (13 14)) (s (1 11 0)) (lcr (1 0))) "Development mode for Haskell" single ((:commit . "7411904bfbde25cdb986e001ec682593dcb7c5e3") (:keywords "haskell" "tools") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:url . "https://github.com/jyp/dante"))])
+ (dap-mode . [(20200430 1639) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (6 0)) (dash-functional (1 2 0)) (bui (1 1 0)) (f (0 20 0)) (s (1 12 0)) (lsp-treemacs (0 1))) "Debug Adapter Protocol mode" tar ((:commit . "04d7e967f21a0ab1e2223e528baf55fe5b663882") (:keywords "languages" "debug") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/yyoncho/dap-mode"))])
+ (darcsum . [(20190316 2215) nil "a pcl-cvs like interface for managing darcs patches" single ((:commit . "6a8b690539d133c5e3d17cb23fe4365fbb6fb493") (:keywords "completion" "convenience" "tools" "vc") (:authors ("John Wiegley" . "johnw@gnu.org")) (:maintainer "John Wiegley" . "johnw@gnu.org"))])
+ (darcula-theme . [(20171227 1845) nil "Inspired by IntelliJ's Darcula theme" single ((:commit . "d9b82b58ded9014985be6658f4ab17e26ed9e93e") (:keywords "faces") (:authors ("Sam Halliday" . "Sam.Halliday@gmail.com")) (:maintainer "Sam Halliday" . "Sam.Halliday@gmail.com") (:url . "https://gitlab.com/fommil/emacs-darcula-theme"))])
+ (dark-krystal-theme . [(20170808 1300) ((emacs (24 0))) "an Emacs 24 theme based on Dark Krystal (tmTheme)" single ((:commit . "79084b99665dc9ffb0ec62cc092349a5ecebebbc") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (dark-mint-theme . [(20160302 642) nil "dark & minty fresh theme" single ((:commit . "95c30a26de31549cd341184ba9ab2be8fdc67eba"))])
+ (dark-souls . [(20140314 1128) nil "Prepare to die" single ((:commit . "94122b1215423e58dcf18584a2bd022029d54d4b") (:keywords "games") (:authors ("Tom Jakubowski" . "tom@crystae.net")) (:maintainer "Tom Jakubowski" . "tom@crystae.net") (:url . "http://github.com/tomjakubowski/dark-souls.el"))])
+ (darkburn-theme . [(20170423 1652) nil "A not-so-low contrast color theme for Emacs." single ((:commit . "0af794ff7fac19778ac8a7efb92455c6f6c2158f") (:authors ("Jonas Gorauskas" . "jgorauskas@gmail.com")) (:maintainer "Jonas Gorauskas" . "jgorauskas@gmail.com") (:url . "http://github.com/gorauskas/darkburn-theme"))])
+ (darkmine-theme . [(20160406 624) nil "Yet another emacs dark color theme." single ((:commit . "7f7e82ca03bcad52911fa41fb3e204e32d6ee63e") (:authors ("Pierre Lecocq" . "pierre.lecocq@gmail.com")) (:maintainer "Pierre Lecocq" . "pierre.lecocq@gmail.com") (:url . "https://github.com/pierre-lecocq/darkmine-theme"))])
+ (darkokai-theme . [(20190603 1919) nil "A darker variant on Monokai." single ((:commit . "a53815fbfb06604d7f51519c62cc11e507204a70") (:url . "http://github.com/sjrmanning/darkokai"))])
+ (darktooth-theme . [(20190412 142) ((autothemer (0 2))) "From the darkness... it watches" single ((:commit . "5cc7fbfb08d2f1a33b85eac92b6450407b915119") (:url . "http://github.com/emacsfodder/emacs-theme-darktooth"))])
+ (dart-mode . [(20190827 2102) ((emacs (24 3))) "Major mode for editing Dart files" single ((:commit . "04fcd649f19d49390079fbf2920a10bf37f6a634") (:keywords "languages") (:authors ("Brady Trainor" . "mail@bradyt.net")) (:maintainer "Brady Trainor" . "mail@bradyt.net") (:url . "https://github.com/bradyt/dart-mode"))])
+ (dart-server . [(20190817 1254) ((emacs (24 5)) (cl-lib (0 5)) (dash (2 10 0)) (flycheck (0 23)) (s (1 10))) "Minor mode for editing Dart files" single ((:commit . "aba838e8ee2f30309f366e8a91c17616549003ce") (:keywords "languages") (:authors ("Natalie Weizenbaum") ("Brady Trainor" . "mail@bradyt.com")) (:maintainer "Brady Trainor" . "mail@bradyt.com") (:url . "https://github.com/bradyt/dart-server"))])
+ (dash . [(20200426 2244) nil "A modern list library for Emacs" tar ((:commit . "fe9bbc2414af645d255de68cd59cf0edd5d8548b") (:keywords "lists") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (dash-alfred . [(20191024 450) ((emacs (25 1))) "Search Dash documentation via Dash-Alfred-Workflow" single ((:commit . "fcd21bd6c7eb5cd31377be970406ff3d2454bd5c") (:keywords "docs") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/dash-alfred.el"))])
+ (dash-at-point . [(20180710 1356) nil "Search the word at point with Dash" single ((:commit . "4d795a23a8428c421d5107f1b005c9d8e0d1816c") (:authors ("Shinji Tanaka" . "shinji.tanaka@gmail.com")) (:maintainer "Shinji Tanaka" . "shinji.tanaka@gmail.com") (:url . "https://github.com/stanaka/dash-at-point"))])
+ (dash-docs . [(20190516 1702) ((emacs (24 4)) (cl-lib (0 5)) (async (1 9 3))) "Offline documentation browser using Dash docsets." single ((:commit . "111fd9b97001f1ad887b45e5308a14ddd68ce70a") (:keywords "docs") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com") ("Bryan Gilbert" . "bryan@bryan.sh")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "http://github.com/areina/helm-dash"))])
+ (dash-functional . [(20191109 1327) ((dash (2 0 0)) (emacs (24))) "Collection of useful combinators for Emacs Lisp" single ((:commit . "fe9bbc2414af645d255de68cd59cf0edd5d8548b") (:keywords "lisp" "functions" "combinators"))])
+ (dashboard . [(20200306 1344) ((emacs (25 3)) (page-break-lines (0 11))) "A startup screen extracted from Spacemacs" tar ((:commit . "bf38867ae80902d58207974b4a2bba4249324599") (:keywords "startup" "screen" "tools" "dashboard") (:authors ("Rakan Al-Hneiti")) (:maintainer "Rakan Al-Hneiti") (:url . "https://github.com/emacs-dashboard/emacs-dashboard"))])
+ (dashboard-hackernews . [(20190109 205) ((emacs (24)) (dashboard (1 2 5)) (request (0 3 0))) "Display Hacker News on dashboard" single ((:commit . "b71814716d8f78181b9d1990f06072460de0797e") (:authors ("Hayato KAJIYAMA" . "kaji1216@gmail.com")) (:maintainer "Hayato KAJIYAMA" . "kaji1216@gmail.com") (:url . "https://github.com/hyakt/emacs-dashboard-hackernews"))])
+ (dashboard-ls . [(20200329 1443) ((emacs (24 3)) (dashboard (1 2 5)) (f (0 20 0)) (s (1 12 0))) "Display files/directories in current directory on Dashboard" single ((:commit . "9026fd157f94b023a7b660a418b66ad638b14272") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/dashboard-ls"))])
+ (dashboard-project-status . [(20190202 1354) ((emacs (24)) (git (0 1 1)) (dashboard (1 2 5))) "Display a git project status in a dashboard widget." single ((:commit . "7675c138e9df8fe2c626e7ba9bbb8b6717671a41") (:authors ("Jason Duncan" . "jasond496@msn.com")) (:maintainer "Jason Duncan" . "jasond496@msn.com") (:url . "https://github.com/functionreturnfunction/dashboard-project-status"))])
+ (date-at-point . [(20150308 1243) nil "Add `date' to `thing-at-point' function" single ((:commit . "38df823d05df08ec0748a4185113fae5f99090e9") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/date-at-point.el"))])
+ (date-field . [(20141129 105) ((dash (2 9 0)) (log4e (0 2 0)) (yaxception (0 3 2))) "Date widget" single ((:commit . "11c9170d1f7b343233f7716d4c0a62be024c1654") (:keywords "widgets") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-date-field"))])
+ (date2name . [(20190630 933) ((emacs (24 4))) "Package to prepend ISO Timestamps to files" single ((:commit . "386dbe73678705d6107cd5c9bdeb4f7c97632360") (:keywords "files" "convenience") (:authors ("Max Beutelspacher")) (:maintainer "Max Beutelspacher") (:url . "https://github.com/DerBeutlin/date2name.el"))])
+ (datetime . [(20200208 1629) ((emacs (24 1)) (extmap (1 0))) "Parsing, formatting and matching timestamps" tar ((:commit . "0ae7addb2c46133393f59011b2aecc08de49b8d1") (:keywords "lisp" "i18n") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/datetime"))])
+ (datetime-format . [(20160612 1715) nil "Datetime functions" single ((:commit . "e6427538b547cbe02e1bd6ed4b765c73620bdae8") (:keywords "datetime" "calendar") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-datetime"))])
+ (datomic-snippets . [(20180817 1045) ((s (1 4 0)) (dash (1 2 0)) (yasnippet (0 6 1))) "Yasnippets for Datomic" tar ((:commit . "4a14228840d5252e13d2bf6209670f26345bbb84"))])
+ (dayone . [(20160105 1240) ((uuid (0 0 3)) (mustache (0 22)) (ht (1 5))) "Utility script for Day One" tar ((:commit . "ab628274f0806451f23bce16f62a6a11cbf91a2b") (:keywords "day one" "tools" "convenience") (:authors ("mori-dev" . "mori.dev.asdf@gmail.com")) (:maintainer "mori-dev" . "mori.dev.asdf@gmail.com") (:url . "https://github.com/mori-dev/emacs-dayone"))])
+ (db . [(20140421 2111) ((kv (0 0 11))) "A database for EmacsLisp" single ((:commit . "b3a423fb8e72f9013009cbe033d654df2ce31438") (:keywords "data" "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (db-pg . [(20130131 1902) ((pg (0 12)) (db (0 0 6))) "A PostgreSQL adapter for emacs-db" single ((:commit . "7d5ab86b74b05fe003b3b434d4835f37f3f3eded") (:keywords "data" "comm" "database" "postgresql") (:authors ("Nic Ferrier" . "nic@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nic@ferrier.me.uk"))])
+ (dbc . [(20200331 1826) ((emacs (24 4)) (cl-lib (0 5)) (ht (2 3))) "Control how to open buffers" single ((:commit . "17c6640a409424ec32fdb6bfd6065562e726bf1f") (:keywords "convenience") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:url . "https://gitlab.com/matsievskiysv/display-buffer-control"))])
+ (ddskk . [(20200403 1308) ((ccc (1 43)) (cdb (20141201 754))) "Simple Kana to Kanji conversion program." tar ((:commit . "11d91b4cce988e15d7c5fc4345535c9d7a92d53b"))])
+ (ddskk-posframe . [(20191123 1632) ((emacs (26 1)) (posframe (0 4 3)) (ddskk (16 2 50))) "Show Henkan tooltip for ddskk via posframe" single ((:commit . "8a37953b37d397ba406bc308eb908bd966d34af6") (:keywords "tooltip" "convenience" "posframe") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/ddskk-posframe.el"))])
+ (deadgrep . [(20200411 652) ((emacs (25 1)) (dash (2 12 0)) (s (1 11 0)) (spinner (1 7 3))) "fast, friendly searching with ripgrep" single ((:commit . "bdcdf138cd71b0a5a80ca64b3bd68b7355084757") (:keywords "tools") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/deadgrep"))])
+ (debian-el . [(20200401 1622) nil "Emacs helpers specific to Debian users" tar ((:commit . "d7117ab18b15f449f194cd7d91ff22e55fcfa817"))])
+ (debpaste . [(20160113 2347) ((xml-rpc (1 6 7))) "Interface for getting/posting/deleting pastes from paste.debian.net" single ((:commit . "6f2a400665062468ebd03a2ce1de2a73d9084958") (:keywords "paste") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "http://github.com/alezost/debpaste.el"))])
+ (debug-print . [(20140126 19) ((emacs (24))) "A nice printf debugging environment by the way Gauche do" single ((:commit . "d817fd9ea2d3f8d2c1ace4d8af155684f3a99dc5") (:keywords "extensions" "lisp" "tools" "maint") (:authors ("Ken Okada" . "keno.ss57@gmail.com")) (:maintainer "Ken Okada" . "keno.ss57@gmail.com") (:url . "https://github.com/kenoss/debug-print"))])
+ (decide . [(20190201 2137) nil "rolling dice and other random things" single ((:commit . "4bfcc826dd5b1c30caec455d8baa4f363159eac6") (:authors ("Pelle Nilsson" . "perni@lysator.liu.se")) (:maintainer "Pelle Nilsson" . "perni@lysator.liu.se"))])
+ (decl . [(20171212 1458) ((dash (2 5 0)) (emacs (24 3)) (cl-lib (0 3))) "Library for organizing code declaratively" single ((:commit . "ff7f8a4f1225cbdf141c86172104e67a4cf58c86") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/decl.el"))])
+ (dedicated . [(20151202 110) nil "A very simple minor mode for dedicated buffers" single ((:commit . "f47b504c0c56fa5ab9d1028417ca1f65a713a2f0") (:keywords "dedicated" "buffer") (:authors ("Eric Crampton" . "eric@atdesk.com")) (:maintainer "Eric Crampton" . "eric@atdesk.com"))])
+ (dedukti-mode . [(20171103 1212) nil "Major mode for Dedukti files" single ((:commit . "d7c3505a1046187de3c3aeb144455078d514594e") (:keywords "languages" "dedukti") (:authors ("Raphaël Cauderlier")) (:maintainer "Raphaël Cauderlier") (:url . "https://github.com/rafoo/dedukti-mode"))])
+ (default-text-scale . [(20191226 2234) ((emacs (24))) "Easily adjust the font size in all frames" single ((:commit . "bfc0987c37e93742255d3b23d86c17096fda8e7e") (:keywords "frames" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/default-text-scale"))])
+ (deferred . [(20170901 1330) ((emacs (24 4))) "Simple asynchronous functions for emacs lisp" single ((:commit . "2239671d94b38d92e9b28d4e12fd79814cfb9c16") (:keywords "deferred" "async") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-deferred"))])
+ (define-it . [(20191230 1409) ((emacs (25 1)) (s (1 12 0)) (request (0 3 0)) (popup (0 5 3)) (pos-tip (0 4 6)) (google-translate (0 11 18)) (wiki-summary (0 1))) "Define, translate, wiki the word" single ((:commit . "4e769b94c4ec81d9c1eac9dda0e22c869a07aa7c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/define-it"))])
+ (define-word . [(20200417 844) ((emacs (24 3))) "display the definition of word at point." single ((:commit . "08c71b1ff4fd07bf0c78d1fcf77efeaafc8f7443") (:keywords "dictionary" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/define-word"))])
+ (defproject . [(20151201 2219) ((emacs (24))) "Manager dir-locals and project specific variables" single ((:commit . "674d48a5e34cb4bba76faa38ee901322ec649086") (:keywords "convenience") (:authors (nil . "<kotfic@gmail.com>")) (:maintainer nil . "<kotfic@gmail.com>") (:url . "https://github.com/kotfic/defproject"))])
+ (defrepeater . [(20180830 410) ((emacs (25 2)) (s (1 12 0))) "Easily make commands repeatable" single ((:commit . "9c027a2561fe141dcfb79f75fcaee36cd0386ec1") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/defrepeater.el"))])
+ (deft . [(20181226 1534) nil "quickly browse, filter, and edit plain text notes" single ((:commit . "f54e8a65a7e75a029657364055420374df45656d") (:keywords "plain text" "notes" "simplenote" "notational velocity") (:authors ("Jason R. Blevins" . "jrblevin@xbeta.org")) (:maintainer "Jason R. Blevins" . "jrblevin@xbeta.org") (:url . "https://jblevins.org/projects/deft/"))])
+ (delim-kill . [(20100517 620) nil "Kill text between delimiters." single ((:commit . "1dbe47344f2d2cbc8c54beedf0cf0bf10fd203c1") (:keywords "convenience" "languages") (:authors ("Thomas Kappler" . "tkappler@gmail.com")) (:maintainer "Thomas Kappler" . "tkappler@gmail.com") (:url . "http://github.com/thomas11/delim-kill/tree/master"))])
+ (demangle-mode . [(20190528 306) ((cl-lib (0 1)) (emacs (24))) "Automatically demangle C++ symbols" single ((:commit . "06903d731dfde110e10b979dcc7624ef6dbb5ac8") (:keywords "c" "tools") (:authors ("Ben Liblit" . "liblit@acm.org")) (:maintainer "Ben Liblit" . "liblit@acm.org") (:url . "https://github.com/liblit/demangle-mode"))])
+ (demo-it . [(20190828 26) nil "Create demonstrations" tar ((:commit . "9cfa5c3f92a0dca7eebb1f1a2011643c9b009d26") (:keywords "demonstration" "presentation" "test") (:authors ("Howard Abrams" . "howard.abrams@gmail.com")) (:maintainer "Howard Abrams" . "howard.abrams@gmail.com"))])
+ (describe-number . [(20151101 55) ((yabin (1 1))) "Describe arbitrarily large number at point." single ((:commit . "40618345a37831804b29589849a785ef5aa5ac24") (:keywords "describe" "value" "help") (:authors ("Morten Slot Kristensen <msk AT nullpointer DOT dk>")) (:maintainer "Morten Slot Kristensen <msk AT nullpointer DOT dk>") (:url . "https://github.com/netromdk/describe-number"))])
+ (desktop+ . [(20170107 2132) ((emacs (24 4)) (dash (2 11 0)) (f (0 17 2))) "Handle special buffers when saving & restoring sessions" single ((:commit . "88055cee526a000056201898499cebbd35e3ea76") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/desktop-plus"))])
+ (desktop-environment . [(20200225 1042) ((emacs (25 1))) "Helps you control your GNU/Linux computer" single ((:commit . "dbcf3d9411d53908de09ab0d34932d19c8117144") (:authors ("Damien Cassou <damien@cassou.me>, Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Damien Cassou <damien@cassou.me>, Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))])
+ (desktop-registry . [(20140119 2143) nil "Keep a central registry of desktop files" single ((:commit . "244c2e7f9f0a1050aa8a47ad0b38f4e4584682dd") (:keywords "convenience") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/desktop-registry/"))])
+ (detour . [(20181122 2138) ((emacs (24 4))) "Take a quick detour and return" single ((:commit . "1ff23c236e18971ed1077840daf047cde79a45ee") (:keywords "convenience" "abbrev") (:authors ("Stefan Kamphausen <www.skamphausen.de>")) (:maintainer "Stefan Kamphausen <www.skamphausen.de>") (:url . "https://github.com/ska2342/detour/"))])
+ (devdocs . [(20170731 850) nil "Launch DevDocs search" single ((:commit . "a2d51e824f0cc48a9dd611cc740bc8b86143e611") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/DevDocs.el"))])
+ (dfmt . [(20170728 1023) nil "Emacs Interface to D indenting/formatting tool dfmt." single ((:commit . "21b9094e907b7ac53f5ecb4ff4539613a9d12434") (:keywords "tools" "convenience" "languages" "dlang") (:authors ("Per Nordlöw")) (:maintainer "Kirill Babikhin <qsimpleq>") (:url . "https://github.com/qsimpleq/elisp-dfmt"))])
+ (dhall-mode . [(20191006 2324) ((emacs (24 4)) (reformatter (0 3))) "a major mode for dhall configuration language" single ((:commit . "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2") (:keywords "languages") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:url . "https://github.com/psibi/dhall-mode"))])
+ (dianyou . [(20191120 39) ((emacs (24 4))) "Search and analyze mails in Gnus" single ((:commit . "da7443a680bd8db75884355314e9352cd8c68d05") (:keywords "mail") (:authors ("Chen Bin <chenbin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenbin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/dianyou"))])
+ (diary-manager . [(20200404 1549) ((emacs (25))) "Simple personal diary" single ((:commit . "6d9b86faecb2ab7c2e1eb90dcf7bffdf70804470") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/diary-manager"))])
+ (dic-lookup-w3m . [(20180526 1621) ((w3m (20120723 324)) (stem (20120826))) "look up dictionaries on the Internet" tar ((:commit . "3254ab10cbf0078c7162557dd1f68dac28459cf9") (:keywords "emacs-w3m" "w3m" "dictionary") (:authors ("mcprvmec")) (:maintainer "mcprvmec"))])
+ (dictcc . [(20200421 1422) ((emacs (24 4)) (cl-lib (0 5)) (ivy (0 10 0))) "Look up translations on dict.cc" single ((:commit . "3950011197ba81f27cc82b4e6075c9100945f936") (:keywords "convenience") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))])
+ (dictionary . [(20191111 446) ((connection (1 11)) (link (1 11))) "Client for rfc2229 dictionary servers" single ((:commit . "c9cad101100975e88873636bfd426b7a19304ebd") (:keywords "interface" "dictionary") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))])
+ (didyoumean . [(20191020 531) ((emacs (24 4))) "Did you mean to open another file?" single ((:commit . "4a6049f2de36801e0a50e93b17a375501f16cf28") (:keywords "convenience") (:url . "https://gitlab.com/kisaragi-hiu/didyoumean.el"))])
+ (diff-at-point . [(20200413 200) ((emacs (26 2))) "Diff navigation" single ((:commit . "5b06de513297a80cf3a2081b8ee0914e90da810b") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-diff-at-point"))])
+ (diff-hl . [(20200406 37) ((cl-lib (0 2)) (emacs (24 3))) "Highlight uncommitted changes using VC" tar ((:commit . "a625033fb1dde83f6e4c2fc21f632b22ec34b609") (:keywords "vc" "diff") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "https://github.com/dgutov/diff-hl"))])
+ (difflib . [(20171227 1518) ((emacs (24 4)) (cl-generic (0 3)) (ht (2 2)) (s (1 12 0))) "Helpers for computing deltas between sequences." single ((:commit . "b08850251812d71e62fd6956081299590acdf37b") (:keywords "matching" "tools" "string") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/dieggsy/difflib.el"))])
+ (diffscuss-mode . [(20141014 2357) nil "Major mode for diffscuss files." single ((:commit . "e0aacd8b3d9f886f27222c1397f0655e849e0af7") (:keywords "tools") (:authors ("Edmund Jorgensen" . "edmund@hut8labs.com")) (:maintainer "Edmund Jorgensen" . "edmund@hut8labs.com"))])
+ (diffview . [(20150929 511) nil "View diffs in side-by-side format" single ((:commit . "031b70913e755c5e55222680f80185032a7d1728") (:keywords "convenience" "diff") (:authors ("Mitchel Humpherys" . "mitch.special@gmail.com")) (:maintainer "Mitchel Humpherys" . "mitch.special@gmail.com") (:url . "https://github.com/mgalgs/diffview-mode"))])
+ (digistar-mode . [(20200322 2109) nil "major mode for Digistar scripts" single ((:commit . "567fff3933f80f00f53610e7b08f75bb636b12c0") (:keywords "languages") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))])
+ (digit-groups . [(20160817 226) ((dash (2 11 0))) "Highlight place-value positions in numbers" single ((:commit . "ee1d6de372600cb9e1aa481b7ed0eb7ca37c5246") (:authors ("Michael D. Adams <http://michaeldadams.org>")) (:maintainer "Michael D. Adams <http://michaeldadams.org>") (:url . "http://bitbucket.com/adamsmd/digit-groups"))])
+ (digitalocean . [(20190607 726) ((request (2 5)) (emacs (24 4))) "Create and manipulate digitalocean droplets" single ((:commit . "6c32d3593286e2a62d9afab0057c829407b0d1e8") (:keywords "processes" "tools") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:url . "https://github.com/olymk2/emacs-digitalocean"))])
+ (digitalocean-helm . [(20180610 746) ((emacs (24 3)) (helm (2 5)) (digitalocean (0 1))) "Create and manipulate digitalocean droplets" single ((:commit . "b125c9882eded7d73ec109d152b26625f333440b") (:keywords "processes" "tools") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:url . "https://gitlab.com/olymk2/digitalocean-api"))])
+ (dim . [(20160818 949) ((emacs (24 4))) "Change mode-line names of major/minor modes" single ((:commit . "5515f2e8657ef14adcc34aa5b05383a2684328ae") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/dim.el"))])
+ (dim-autoload . [(20200103 1239) nil "dim or hide autoload cookie lines" single ((:commit . "c8dc02259d6c1aa25fb58742ae8b181f83b39a13") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/dim-autoload"))])
+ (diminish . [(20191127 1326) ((emacs (24 3))) "Diminished modes are minor modes with no modeline display" single ((:commit . "6ec6ebc391371418efc6c98d70b013f34af5a2ee") (:keywords "extensions" "diminish" "minor" "codeprose") (:authors ("Will Mengarini" . "seldon@eskimo.com")) (:maintainer "Martin Yrjölä" . "martin.yrjola@gmail.com") (:url . "https://github.com/myrjola/diminish.el"))])
+ (diminish-buffer . [(20190921 1647) ((emacs (24 4))) "Diminish (hide) buffers from buffer-menu." single ((:commit . "0b1262f947b3ce03dca17879caec808a7d091bf4") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/diminish-buffer"))])
+ (dimmer . [(20200329 35) ((emacs (25 1))) "Visually highlight the selected buffer" single ((:commit . "5298af739ce30bacadda892b620858b95709c84b") (:keywords "faces" "editing") (:authors ("Neil Okamoto")) (:maintainer "Neil Okamoto") (:url . "https://github.com/gonewest818/dimmer.el"))])
+ (dionysos . [(20160810 1056) ((libmpdee (2 1 0)) (alert (1 2)) (s (1 11 0)) (dash (2 12 1)) (pkg-info (0 5 0)) (cl-lib (0 5))) "Dionysos, a music player for Emacs" tar ((:commit . "0aac21caadabc5a7f09e18a9dcb02f3dec26588b") (:keywords "music") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/dionysos"))])
+ (dircmp . [(20141204 1756) nil "Compare and sync directories." tar ((:commit . "558ee0b601c2de9d247612085aafe2926f56a09f") (:keywords "unix" "tools") (:authors ("Matt McClure -- http://matthewlmcclure.com")) (:maintainer "Matt McClure -- http://matthewlmcclure.com") (:url . "https://github.com/matthewlmcclure/dircmp-mode"))])
+ (dired-atool . [(20181228 1422) ((emacs (24))) "Pack/unpack files with atool on dired." single ((:commit . "09dbb769fe02f546da470369a12468ab4a0cceb2") (:keywords "files") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/dired-atool"))])
+ (dired-avfs . [(20161012 1104) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "AVFS support for dired" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (dired-collapse . [(20190515 1210) ((dash (2 10 0)) (f (0 19 0)) (dired-hacks-utils (0 0 1))) "Collapse unique nested paths in dired listing" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-dups . [(20130527 2125) nil "Find duplicate files and display them in a dired buffer" single ((:commit . "694ad128c822c59348ced16c4a0c1356d43da47a") (:keywords "unix") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/dired-dups"))])
+ (dired-efap . [(20140122 1656) nil "Edit Filename At Point in a dired buffer" single ((:commit . "624757b2e54d9a13e2183118d6c113e37684b90c") (:keywords "dired" "environment" "files" "renaming") (:authors ("Juan-Leon Lahoz" . "juanleon1@gmail.com")) (:maintainer "Juan-Leon Lahoz" . "juanleon1@gmail.com") (:url . "https://github.com/juan-leon/dired-efap"))])
+ (dired-explorer . [(20180607 221) ((cl-lib (0 5))) "minor-mode provides Explorer like select file at dired." single ((:commit . "3ade0a31b5340271d05e9bf443f2504960f6c6dd") (:keywords "dired" "explorer") (:maintainer "jidaikobo-shibata"))])
+ (dired-fdclone . [(20180403 608) nil "dired functions and settings to mimic FDclone" single ((:commit . "903d7a736d240ef7352989a4e5d0ff9129c2ee3c") (:keywords "unix" "directories" "dired") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/dired-fdclone.el"))])
+ (dired-filetype-face . [(20180907 1339) nil "Set different faces for different filetypes in dired" single ((:commit . "7ade7f7e8c2d7518c65f3f0343a10c272da0f47e") (:keywords "dired" "filetype" "face") (:authors ("纪秀峰 <jixiuf at gmail dot com>")) (:maintainer "纪秀峰 <jixiuf at gmail dot com>") (:url . "https://github.com/jixiuf/dired-filetype-face"))])
+ (dired-filter . [(20191105 1404) ((dash (2 10 0)) (dired-hacks-utils (0 0 1)) (f (0 17 0)) (cl-lib (0 3))) "Ibuffer-like filtering for dired" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-git . [(20200130 743) ((emacs (26 1)) (async-await (1 0)) (async (1 9 4)) (all-the-icons (2 2 0)) (ppp (1 0 0))) "Git integration for dired" single ((:commit . "11938721f7202aa784cc493027e3a0ec2c0d39b5") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/dired-git.el"))])
+ (dired-hacks-utils . [(20190522 950) ((dash (2 5 0))) "Utilities and helpers for dired-hacks collection" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-hide-dotfiles . [(20170314 2039) ((emacs (25 1))) "Hide dotfiles in dired" single ((:commit . "b715f643ec805b3b8aca334595e6589320f04a49") (:keywords "files") (:authors ("Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com")) (:maintainer "Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com") (:url . "https://github.com/mattiasb/dired-hide-dotfiles"))])
+ (dired-icon . [(20170223 526) ((emacs (24 3))) "A minor mode to display a list of associated icons in dired buffers." tar ((:commit . "f60e10757a5011235b519231ad35974ff25963ed") (:keywords "dired" "files") (:authors ("Hong Xu" . "hong@topbug.net")) (:maintainer "Hong Xu" . "hong@topbug.net") (:url . "https://gitlab.com/xuhdev/dired-icon"))])
+ (dired-imenu . [(20140109 1610) nil "imenu binding for dired mode" single ((:commit . "610e21fe0988c85931d34894d3eee2442c79ab0a") (:keywords "dired" "imenu") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/dired-imenu"))])
+ (dired-k . [(20200322 2035) ((emacs (24 3))) "Highlight dired by size, date, git status" tar ((:commit . "1f90cf6ac932ad30ccfefec27ea7e514c24ab335") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/dired-k"))])
+ (dired-launch . [(20200403 308) nil "Use dired as a launcher" single ((:commit . "6e5d26ca859f7af624351ba2af6b1be83982053b") (:keywords "dired" "launch") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/dired-launch"))])
+ (dired-narrow . [(20181114 1723) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Live-narrowing of search results for dired" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-open . [(20180922 1113) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Open files from dired using using custom actions" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-quick-sort . [(20161208 2112) ((hydra (0 13 0))) "Persistent quick sorting of dired buffers in various ways." single ((:commit . "1845f978d313f750a5b70b832457ed803c4ffbdb") (:keywords "convenience" "files") (:authors ("Hong Xu" . "hong@topbug.net")) (:maintainer "Hong Xu" . "hong@topbug.net") (:url . "https://gitlab.com/xuhdev/dired-quick-sort#dired-quick-sort"))])
+ (dired-rainbow . [(20190722 1109) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Extended file highlighting according to its type" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (dired-ranger . [(20180401 2206) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Implementation of useful ranger features for dired" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-recent . [(20191004 1500) ((emacs (24))) "Dired visited paths history" single ((:commit . "5c799f96da08a0a3200cb5f609baf6c184f558ea") (:keywords "files") (:authors ("Wojciech Siewierski <wojciech dot siewierski at onet dot pl>")) (:maintainer "Wojciech Siewierski <wojciech dot siewierski at onet dot pl>") (:url . "https://github.com/vifon/dired-recent.el"))])
+ (dired-rifle . [(20200308 2358) nil "Call rifle(1) from dired" single ((:commit . "99e4110c80d65ca43e2b0ec078e3202995e392d7") (:keywords "files" "convenience") (:authors ("Wojciech Siewierski <wojciech dot siewierski at onet dot pl>")) (:maintainer "Wojciech Siewierski <wojciech dot siewierski at onet dot pl>") (:url . "https://github.com/vifon/dired-rifle.el"))])
+ (dired-rmjunk . [(20191007 1232) nil "A home directory cleanup utility for Dired." single ((:commit . "92af5fcc2bd0bc3826f4ce238a850e9a362533a4") (:keywords "files" "matching") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:url . "https://git.sr.ht/~jakob/dired-rmjunk"))])
+ (dired-rsync . [(20200308 1150) ((s (1 12 0)) (dash (2 0 0)) (emacs (24))) "Allow rsync from dired buffers" tar ((:commit . "bfd5c155be1cb6b71c83e5f41116c81b6532b6d5") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/dired-rsync"))])
+ (dired-sidebar . [(20200409 801) ((emacs (25 1)) (dired-subtree (0 0 1))) "Tree browser leveraging dired" single ((:commit . "6e569c851418890c21fd37d03a62f85343aa0900") (:keywords "dired" "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/dired-sidebar"))])
+ (dired-single . [(20200303 1144) nil "Reuse the current dired buffer to visit a directory" single ((:commit . "90ade369ba478fdebf61957f837c0b10cef128b1") (:keywords "dired" "reuse" "buffer") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "crocket" . "crockabiscuit@gmail.com"))])
+ (dired-subtree . [(20180922 1615) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Insert subdirectories in a tree-like fashion" single ((:commit . "f49a8bbf95f70671a74a24f7f4de453b2686be46") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (dired-toggle . [(20190616 303) nil "Show dired as sidebar and will not create new buffers when changing dir" single ((:commit . "b694ba91a45d0762bd032ff1bb4109e4c62ca686") (:keywords "dired" "sidebar") (:authors ("Xu FaSheng <fasheng[AT]fasheng.info>")) (:maintainer "Xu FaSheng") (:url . "https://github.com/fasheng/dired-toggle"))])
+ (dired-toggle-sudo . [(20200401 1353) nil "Browse directory with sudo privileges." single ((:commit . "13bbe52c54893f5aa3e56228450ffdd0c9e1d169") (:keywords "emacs" "dired") (:authors ("Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>")) (:maintainer "Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>"))])
+ (diredfl . [(20191227 2028) ((emacs (24))) "Extra font lock rules for a more colourful dired" single ((:commit . "83567d00affce66a4e501563eddd0bd436ac48d0") (:keywords "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/diredfl"))])
+ (diredful . [(20160529 2017) nil "colorful file names in dired buffers" single ((:commit . "c08e163d9d6c62f7b07e94d54c96c2e364e67e0e") (:keywords "dired" "colors" "extension" "widget") (:authors ("Thamer Mahmoud" . "thamer.mahmoud@gmail.com")) (:maintainer "Thamer Mahmoud" . "thamer.mahmoud@gmail.com") (:url . "https://github.com/thamer/diredful"))])
+ (direnv . [(20200319 2357) ((emacs (25)) (dash (2 12 0))) "Support for direnv" single ((:commit . "1daf479b9b7600ce9681f2a980deae7fcb2f3d59") (:keywords "direnv" "environment" "processes" "unix" "tools") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-direnv"))])
+ (direx . [(20170422 1327) nil "Simple Directory Explorer" tar ((:commit . "a79bfdb5980cf6ed7bfb3b41ddc471a7b6c0ede4") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (direx-grep . [(20140515 1506) ((direx (0 1 -3))) "Grep node of direx.el using incremental search like anything.el/helm.el" single ((:commit . "1109a512a80b2673a70b18b8568514049017faad") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/direx-grep"))])
+ (dirtree . [(20140129 832) ((tree-mode (1 1 1 1)) (windata (0))) "Directory tree views" single ((:commit . "ba55f1e716e386fdd37cb8e7f48616e405dc7251") (:authors ("Ye Wenbin" . "wenbinye@gmail.com")) (:maintainer "Ye Wenbin" . "wenbinye@gmail.com"))])
+ (dirtree-prosjekt . [(20140129 904) ((prosjekt (0 3)) (dirtree (0 1))) "dirtree integration for prosjekt." single ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/prosjekt"))])
+ (disable-mouse . [(20200304 2159) ((emacs (24 1))) "Disable mouse commands globally" single ((:commit . "a8318f5f21716316053cc092ab9abb43cb681fe0") (:keywords "mouse") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/disable-mouse"))])
+ (disaster . [(20171016 2152) nil "Disassemble C/C++ code under cursor in Emacs" single ((:commit . "10a785facc60d89d78e0d5177985ab1af1741bb4") (:keywords "tools") (:authors ("Justine Tunney" . "jtunney@gmail.com")) (:maintainer "Justine Tunney" . "jtunney@gmail.com") (:url . "https://github.com/jart/disaster"))])
+ (discourse . [(20160911 819) ((cl-lib (0 5)) (request (0 2)) (s (1 11 0))) "discourse api" single ((:commit . "a86c7e608851e186fe12e892a573994f08c8e65e") (:keywords "lisp" "discourse") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/discourse-api"))])
+ (discover . [(20140103 2139) ((makey (0 3))) "discover more of Emacs" single ((:commit . "7b0044bbb3b3bd5d811fdfb0f5ac6ec8de1239df") (:authors ("Mickey Petersen" . "mickey@fyeah.org")) (:maintainer "Mickey Petersen" . "mickey@fyeah.org"))])
+ (discover-clj-refactor . [(20150328 1459) ((clj-refactor (0 14 0)) (discover (0 3))) "Adds discover context menu for clj-refactor" single ((:commit . "3fbd5c1162739e606d7cf5d4f5d7426547d99647") (:keywords "clj-refactor" "discover" "convenience") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com"))])
+ (discover-js2-refactor . [(20140129 1552) ((js2-refactor (20131221 501)) (discover (20140103 1339))) "Adds discover context menu for js2-refactor" single ((:commit . "3812abf61f39f3e73a9f3daefa6fed4f21a429ba") (:keywords "js2-refactor" "discover") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (discover-my-major . [(20180606 511) ((makey (0 2))) "Discover key bindings and their meaning for the current Emacs major mode" single ((:commit . "c592e5e67454f0d1b68669ac0c270073164b16b3") (:keywords "discover" "help" "major-mode" "keys") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/discover-my-major"))])
+ (disk . [(20171116 731) nil "simplified find-file, revert-file, save-buffer interface" single ((:commit . "283e54e3be7d08f959076240b2ab324e25632137") (:keywords "convenience") (:authors ("Alex Schroeder" . "alex@gnu.org") ("Peter Barabas" . "peter.barabas+disk@gmail.com")) (:maintainer "Alex Schroeder" . "alex@gnu.org") (:url . "http://www.emacswiki.org/emacs/DiskKey"))])
+ (dispass . [(20140202 1531) ((dash (1 0 0))) "Emacs wrapper for DisPass" single ((:commit . "b6e8f89040ebaaf0e7609b04bc27a8979f0ae861") (:keywords "processes") (:authors ("Tom Willemsen" . "tom@ryuslash.org")) (:maintainer "Tom Willemsen" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/dispass.el/"))])
+ (display-theme . [(20140115 1556) ((emacs (24))) "display current theme(s) at mode-line" single ((:commit . "b180b3be7a74ae4799a14e7e4bc2fe10e3ff7a15") (:keywords "tools") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/emacs-display-theme/"))])
+ (dispwatch . [(20191130 52) ((emacs (24 1))) "Watch displays for configuration changes" single ((:commit . "93aac853215d0902e7a30a6dd2b99d796da77df4") (:keywords "frames") (:authors ("Mitchell Perilstein" . "mitchell.perilstein@gmail.com")) (:maintainer "Mitchell Perilstein" . "mitchell.perilstein@gmail.com") (:url . "https://github.com/mnp/dispwatch"))])
+ (dist-file-mode . [(20180830 418) ((emacs (24)) (cl-lib (0 5)) (s (1 9 0))) "Dispatch major mode for *.dist files" single ((:commit . "e1ce8f592bc5d4d86d2f09e334728ac0d524c761") (:keywords "files" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/dist-file-mode.el"))])
+ (distel-completion-lib . [(20180827 1344) nil "Completion library for Erlang/Distel" single ((:commit . "acc4c0a5521904203d797fe96b08e5fae4233c7e") (:keywords "erlang" "distel" "completion") (:authors ("Sebastian Weddmark Olsson")) (:maintainer "Sebastian Weddmark Olsson") (:url . "github.com/sebastiw/distel-completion"))])
+ (distinguished-theme . [(20151216 2015) nil "A dark and elegant theme for emacs." single ((:commit . "9b1d25ac59465a5016d187ea84b7614c95a29b3b") (:authors ("Kim Silkebækken" . "kim.silkebaekken@gmail.com")) (:maintainer "Kim Silkebækken" . "kim.silkebaekken@gmail.com") (:url . "https://github.com/Lokaltog/distinguished-theme"))])
+ (ditz-mode . [(20150729 940) nil "Emacs interface to Ditz issue tracking system" single ((:commit . "beac4c1f3b7ef82014bb77ad8752dace482897da") (:keywords "tools") (:authors ("Glenn Hutchings" . "zondo42@gmail.com")) (:maintainer "Glenn Hutchings" . "zondo42@gmail.com"))])
+ (dix . [(20200108 1057) ((cl-lib (0 5)) (emacs (24 4))) "Apertium XML editing minor mode" tar ((:commit . "391832823f3f9835d957bc0224e122b376e5d825") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))])
+ (dix-evil . [(20170105 1423) ((dix (0 3 0)) (evil (1 0 7))) "optional evil-integration with dix.el" single ((:commit . "391832823f3f9835d957bc0224e122b376e5d825") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))])
+ (dizzee . [(20171201 916) nil "A more pleasant way to manage your project's subprocesses in Emacs." tar ((:commit . "e3cf1c2ea5d0fc00747524b6f3c5b905d0a8c8e1"))])
+ (django-commands . [(20191107 1830) ((emacs (25 1))) "Run django commands" single ((:commit . "bef7ca848d6d1721ebb22b181c50dcfbef16e434") (:keywords "tools") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-django-commands"))])
+ (django-manage . [(20160819 212) ((hydra (0 13 2))) "Django minor mode for commanding manage.py" single ((:commit . "876fb2cb627d465adfdc905841279784bcdd7ee8") (:keywords "languages") (:authors ("Daniel Gopar" . "gopardaniel@yahoo.com")) (:maintainer "Daniel Gopar" . "gopardaniel@yahoo.com"))])
+ (django-mode . [(20170522 714) ((projectile (0)) (s (0)) (helm-make (0))) "Major mode for Django web framework." tar ((:commit . "a71b8dd984e7f724b8321246e5c353a4ae5c986e") (:keywords "languages") (:authors ("Greg V" . "floatboth@me.com")) (:maintainer "Greg V" . "floatboth@me.com"))])
+ (django-snippets . [(20131229 1611) ((yasnippet (0 8 0))) "Yasnippets for django" tar ((:commit . "a71b8dd984e7f724b8321246e5c353a4ae5c986e") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/myfreeweb/django-mode"))])
+ (django-theme . [(20131022 902) nil "Custom face theme for Emacs" single ((:commit . "86c8142b3eb1addd94a43aa6f1d98dab06401af0") (:authors ("Andrzej Sliwa")) (:maintainer "Andrzej Sliwa") (:url . "http://github/anrzejsliwa/django-theme"))])
+ (djangonaut . [(20180727 1544) ((emacs (25 2)) (magit-popup (2 6 0)) (pythonic (0 1 0)) (f (0 20 0)) (s (1 12 0))) "Minor mode to interact with Django projects" single ((:commit . "3e154709def09020a9b9eb29d330fb1f833a8250") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/djangonaut"))])
+ (djinni-mode . [(20190303 139) ((emacs (24 4))) "Major-mode for editing Djinni files." single ((:commit . "6f84bc60d078725cc8b922a259ec5f4c7de83681") (:keywords "languages") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:url . "https://github.com/danielmartin/djinni-mode"))])
+ (dkdo . [(20131110 1119) ((dkmisc (0 50)) (emacs (24 1))) "Do List major mode based on org-mode." tar ((:commit . "fd6bb105e8331fafb6385c5238c988c4c5bbe2da"))])
+ (dkl . [(20161005 7) nil "Display keyboard layout." tar ((:commit . "6b4584f86037bda3383960c678d51f340229fb91") (:keywords "input" "keyboard" "layout") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/dkl"))])
+ (dklrt . [(20131110 1341) ((dkmisc (0 50)) (ledger-mode (20130908 1357)) (emacs (24 1))) "Ledger Recurring Transactions." tar ((:commit . "5d6c99f8018335256ab934b4c1049708ae2d48ba"))])
+ (dkmisc . [(20131110 1115) ((emacs (24 1))) "Miscellaneous functions required by dk* packages." tar ((:commit . "fe3d49c6f8322b6f89466361acd97585bdfe0608"))])
+ (dmenu . [(20190908 44) ((cl-lib (0 5))) "simulate the dmenu command line program" single ((:commit . "e8cc9b27c79d3ecc252267c082ab8e9c82eab264") (:keywords "convenience" "usability") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (dna-mode . [(20191001 2108) nil "a major mode for editing dna sequences" tar ((:commit . "7a48393fcf0015eed2368fcb89b3091c9d029dc4") (:keywords "dna" "emacs" "editing") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Harley Gorrell" . "harley@panix.com") (:url . "http://www.mahalito.net/~harley/elisp/dna-mode.el"))])
+ (docbook-snippets . [(20150714 1625) ((yasnippet (0 8 0))) "Yasnippets for DocBook" tar ((:commit . "b06297fdec039a541aaa6312cb328a11062cfab4") (:keywords "snippets" "docbook") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:url . "https://github.com/jhradilek/emacs-docbook-snippets"))])
+ (docean . [(20180605 1744) ((emacs (24)) (cl-lib (0 5)) (request (0 2 0))) "Interact with DigitalOcean from Emacs." single ((:commit . "bbe2298fd21f7876fc2d5c52a69b931ff59df979") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/docean.el"))])
+ (docker . [(20200421 822) ((dash (2 14 1)) (docker-tramp (0 1)) (emacs (24 5)) (json-mode (1 7 0)) (s (1 12 0)) (tablist (0 70)) (transient (0 1 0))) "Emacs interface to Docker" tar ((:commit . "08745207332d940130a2357eb5c5e00fd88bd6af") (:keywords "filename" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/docker.el"))])
+ (docker-api . [(20160525 720) ((dash (2 12 1)) (request (0 2 0)) (s (1 11 0))) "Emacs interface to the Docker API" tar ((:commit . "206144346b7fa4165223349cfeb64a75d47ddd1b") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/docker-api.el"))])
+ (docker-cli . [(20190524 1624) nil "Running various commands in docker containers" single ((:commit . "c4b02894466d8642ad3d49df4c4a80e023a672aa") (:keywords "processes") (:authors ("Boško Ivanišević" . "bosko.ivanisevic@gmail.com")) (:maintainer "Boško Ivanišević" . "bosko.ivanisevic@gmail.com") (:url . "https://github.com/bosko/docker-cli"))])
+ (docker-compose-mode . [(20180324 1752) ((emacs (24 3)) (dash (2 12 0)) (yaml-mode (0 0 12))) "Major mode for editing docker-compose files" single ((:commit . "c9f131d2c90d652435d407fd36c40feebfed1dad") (:keywords "convenience") (:authors ("Ricardo Martins")) (:maintainer "Ricardo Martins") (:url . "https://github.com/meqif/docker-compose-mode"))])
+ (docker-tramp . [(20170207 325) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for docker containers" tar ((:commit . "8e2b671eff7a81af43b76d9dfcf94ddaa8333a23") (:keywords "docker" "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/docker-tramp.el"))])
+ (dockerfile-mode . [(20200106 2126) ((emacs (24)) (s (1 12))) "Major mode for editing Docker's Dockerfiles" single ((:commit . "d31f7685ebc5832d957e25070a930aa42984327d") (:url . "https://github.com/spotify/dockerfile-mode"))])
+ (doct . [(20200429 1244) ((emacs (25 1))) "DOCT: Declarative Org capture templates" single ((:commit . "4b4c6ff6313ceb0ac9333e078b3873b8d3c6d93a") (:keywords "org" "convenience") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:url . "https://github.com/progfolio/doct"))])
+ (dokuwiki . [(20180102 59) ((emacs (24 3)) (xml-rpc (1 6 8))) "Edit Remote DokuWiki Pages Using XML-RPC" single ((:commit . "594c4d4904dcc2796bbbd2c0845d9e7c09ccf6f7") (:keywords "convenience") (:authors ("Juan Karlo Licudine" . "accidentalrebel@gmail.com")) (:maintainer "Juan Karlo Licudine" . "accidentalrebel@gmail.com") (:url . "http://www.github.com/accidentalrebel/emacs-dokuwiki"))])
+ (dokuwiki-mode . [(20170223 1301) nil "Major mode for DokuWiki document" single ((:commit . "e4e116f6fcc373e3f5937c1a7daa5c2c9c6d3fa1") (:keywords "hypermedia" "text" "dokuwiki") (:authors ("Tsunenobu Kai" . "kai2nenobu@gmail.com")) (:maintainer "Tsunenobu Kai" . "kai2nenobu@gmail.com") (:url . "https://github.com/kai2nenobu/emacs-dokuwiki-mode"))])
+ (dollaro . [(20151123 1302) ((s (1 6 0))) "simple text templates" single ((:commit . "500127f0172ac7a1eec627e026b59136580a74ac") (:keywords "tools" "convenience") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com"))])
+ (doneburn-theme . [(20181110 1857) nil "A light theme based on Bozhidar Batsov's Zenburn" single ((:commit . "da4fa915a2a659001eea04498d790cdd8cac1fce") (:keywords "faces" "themes") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:url . "http://github.com/manuel-uberti/doneburn-emacs"))])
+ (doom . [(20180301 2308) ((cl-lib (0 5))) "DOM implementation and manipulation library" single ((:commit . "e59040aefc92dd9b3134eb623624307fb9e4327b") (:keywords "xml" "dom") (:authors ("Alex Schroeder" . "alex@gnu.org") ("Henrik.Motakef" . "elisp@henrik-motakef.de") ("Katherine Whitlock" . "toroidal-code@gmail.com") ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Alex Schroeder") (:url . "http://www.github.com/kensanata/doom.el/"))])
+ (doom-modeline . [(20200425 553) ((emacs (25 1)) (all-the-icons (2 2 0)) (shrink-path (0 2 0)) (dash (2 11 0))) "A minimal and modern mode-line" tar ((:commit . "c177959bbfa7fa6f199b1145c6986e55f462f1c1") (:keywords "faces" "mode-line") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/doom-modeline"))])
+ (doom-themes . [(20200429 416) ((emacs (25 1)) (cl-lib (0 5))) "an opinionated pack of modern color-themes" tar ((:commit . "254d476dd6790eaa6b563c5a4da286321ff75d38") (:keywords "dark" "light" "blue" "atom" "one" "theme" "neotree" "icons" "faces" "nova") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-doom-theme"))])
+ (dot-mode . [(20180312 2300) ((emacs (24 3))) "minor mode to repeat typing or commands" single ((:commit . "6ca22b73bcdae2363ee9641b822a60685df16a3e") (:keywords "convenience") (:authors ("Robert Wyrick" . "rob@wyrick.org")) (:maintainer "Robert Wyrick" . "rob@wyrick.org") (:url . "https://github.com/wyrickre/dot-mode"))])
+ (dotenv-mode . [(20191027 2129) ((emacs (24 3))) "Major mode for .env files" single ((:commit . "e3701bf739bde44f6484eb7753deadaf691b73fb") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-dotenv-mode"))])
+ (dotnet . [(20190415 1237) nil "Interact with dotnet CLI tool" single ((:commit . "932d776ed739d20d57dbd6ba49f61d1b450571fc") (:keywords ".net" "tools") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:url . "https://github.com/julienXX/dotnet.el"))])
+ (double-saber . [(20190325 1917) ((emacs (24 4))) "Narrow and delete in search buffers." single ((:commit . "b61df3561ea9bed1848cf69b6bb53f7fdf6916dc") (:keywords "double-saber" "narrow" "delete" "sort" "tools" "convenience" "matching") (:authors ("Daniel Ting" . "deep.paren.12@gmail.com")) (:maintainer "Daniel Ting" . "deep.paren.12@gmail.com") (:url . "https://github.com/dp12/double-saber.git"))])
+ (download-region . [(20180124 133) ((cl-lib (0 3))) "Simple in-buffer download manager" single ((:commit . "bbba3ecd80818d5d940d41fe89a6e2ec5dd2c53c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (downplay-mode . [(20151125 2009) nil "focus attention on a region of the buffer" single ((:commit . "4a2c3addc73c8ca3816345c3c11c08af265baedb") (:authors ("Toby Crawley" . "toby@tcrawley.org")) (:maintainer "Toby Crawley" . "toby@tcrawley.org") (:url . "https://github.com/tobias/downplay-mode/"))])
+ (dpaste . [(20160303 2112) nil "Emacs integration for dpaste.com" single ((:commit . "5ebabb466a6ae70882549855b6b2194fc32189f8") (:keywords "paste" "pastie" "pastebin" "dpaste" "python") (:authors ("Greg Newman" . "greg@gregnewman.org") ("Guilherme Gondim" . "semente@taurinus.org")) (:maintainer "Greg Newman" . "greg@gregnewman.org"))])
+ (dpaste_de . [(20131015 1225) ((web (0 3 7))) "Emacs mode to paste to dpaste.de" single ((:commit . "f0c39e8864299f735642f7d9fa490689398ce39d") (:keywords "pastebin") (:authors ("Thejaswi Puthraya" . "thejaswi.puthraya@gmail.com")) (:maintainer "Thejaswi Puthraya" . "thejaswi.puthraya@gmail.com"))])
+ (dpkg-dev-el . [(20190824 2314) ((debian-el (37))) "Emacs modes for debian packaging" tar ((:commit . "aafb047e03c642e6ae4740a7fbc0a789e0ec1291"))])
+ (dr-racket-like-unicode . [(20161021 1211) ((emacs (24 1))) "DrRacket-style unicode input" single ((:commit . "a69e364532fffa451d1f12ade8fadb9cdbd8318c") (:keywords "i18n" "tools") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk"))])
+ (dracula-theme . [(20200429 1947) ((emacs (24 3))) "Dracula Theme" tar ((:commit . "e5cbc350f49a30ad78a84e68b4e1682d018c9b7f") (:authors ("film42")) (:maintainer "film42") (:url . "https://github.com/dracula/emacs"))])
+ (draft-mode . [(20140609 1456) nil "Rough drafting for Emacs." single ((:commit . "4779fb32daf53746459da2def7e08004492d4f18") (:keywords "draft" "drafting") (:authors ("Eeli Reilin" . "gaudecker@fea.st")) (:maintainer "Eeli Reilin" . "gaudecker@fea.st") (:url . "https://github.com/gaudecker/draft-mode"))])
+ (drag-stuff . [(20161108 749) nil "Drag stuff (lines, words, region, etc...) around" tar ((:commit . "6d06d846cd37c052d79acd0f372c13006aa7e7c8"))])
+ (drawille . [(20160418 1838) ((cl-lib (0 5))) "Drawille implementation in elisp" tar ((:commit . "d914845725719d8293e2f0dea3c9c7e0a1e0e62a") (:keywords "graphics") (:authors ("Josuah Demangeon" . "josuah.demangeon@gmail.com")) (:maintainer "Josuah Demangeon" . "josuah.demangeon@gmail.com") (:url . "https://github.com/sshbio/elisp-drawille"))])
+ (drill-instructor-AZIK-force . [(20151123 514) ((popup (0 5))) "Support AZIK input" tar ((:commit . "008cea202dc31d7d6fb1e7d8e6334d516403b7a5"))])
+ (drone . [(20161106 918) nil "Launch your drone test suite if drone.yml is present" single ((:commit . "1d4ee037ad3208847a4235426edf0c4a3e7b1899") (:keywords "drone" "tests" "ci") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:url . "https://github.com/olymk2/emacs-drone"))])
+ (dropbox . [(20190918 1629) ((request (0 3 0)) (json (1 2)) (oauth (1 0 3))) "Emacs backend for dropbox" single ((:commit . "5e0c954a6b819fd3a22b463cce3825984f9ef691") (:keywords "dropbox") (:authors ("Pavel Panchekha" . "me@pavpanchekha.com")) (:maintainer "Pavel Panchekha" . "me@pavpanchekha.com"))])
+ (drupal-mode . [(20200210 2222) ((php-mode (1 5 0))) "Advanced minor mode for Drupal development" tar ((:commit . "ee1a24c96a7487bb9df8dd15656be7d8330028f0") (:keywords "programming" "php" "drupal") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/drupal-mode"))])
+ (drupal-spell . [(20130520 1655) nil "Aspell extra dictionary for Drupal" tar ((:commit . "4087c28c89a884ee050961c57166e6b09085f59d") (:keywords "wp") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/drupal-spell"))])
+ (dsvn . [(20190316 2201) nil "Subversion interface" single ((:commit . "c37d2412ba92aad647bcf5aeb151e620e8069f8d") (:keywords "docs") (:authors ("David Kågedal" . "davidk@lysator.liu.se") (" Mattias Engdegård" . "mattiase@acm.org")) (:maintainer "Mattias Engdegård" . "mattiase@acm.org"))])
+ (dtk . [(20200315 1931) ((emacs (24 4)) (cl-lib (0 6 1)) (dash (2 12 0)) (seq (1 9)) (s (1 9))) "access SWORD content via diatheke" single ((:commit . "d21a5b7958da058bb53d36fe9234089409f62c5e") (:keywords "hypermedia") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/dtk01/dtk.el"))])
+ (dtrace-script-mode . [(20150214 623) nil "DTrace code editing commands for Emacs" single ((:commit . "801af1ef16075d31a19830ebb8404bbf3a322f10"))])
+ (dtrt-indent . [(20200430 1023) nil "Adapt to foreign indentation offsets" tar ((:commit . "50c440c80e0d15303d8ab543bce4c56e9c2bf407") (:keywords "convenience" "files" "languages" "c") (:authors ("Julian Scheid" . "julians37@googlemail.com")) (:maintainer "Reuben Thomas" . "rrt@sc3d.org"))])
+ (dts-mode . [(20161103 1223) nil "Major mode for Devicetree source code" single ((:commit . "9ee0854446dcc6c53d2b8d2941051768dba50344") (:keywords "languages") (:authors ("Ben Gamari" . "ben@smart-cactus.org")) (:maintainer "Ben Gamari" . "ben@smart-cactus.org"))])
+ (ducpel . [(20140702 1154) ((cl-lib (0 5))) "Logic game with sokoban elements" tar ((:commit . "b53b935ab95c02b82ccf38f63c89e39e99477a55") (:keywords "games") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/ducpel"))])
+ (dumb-diff . [(20171211 2122) ((emacs (24 3))) "fast arbitrary diffs" single ((:commit . "1a2331d283049b71a07c1b06b1e0627a950d55f4") (:keywords "programming" "diff") (:authors ("jack angers")) (:maintainer "jack angers"))])
+ (dumb-jump . [(20200423 1658) ((emacs (24 3)) (f (0 20 0)) (s (1 11 0)) (dash (2 9 0)) (popup (0 5 3))) "Jump to definition for 40+ languages without configuration" single ((:commit . "d760aa880fc1052570ab0fd7e586eeffb7636af6") (:keywords "programming") (:authors ("jack angers and contributors")) (:maintainer "jack angers and contributors") (:url . "https://github.com/jacktasia/dumb-jump"))])
+ (dummyparens . [(20141009 1024) nil "parenthesis auto-pairing and wrapping" single ((:commit . "9798ef1d0eaa24e4fe66f8aa6022a8c62714cc89") (:keywords "dummyparens" "auto-pair" "wrapping") (:authors ("Sergei Nosov <sergei.nosov [at] gmail.com>")) (:maintainer "Sergei Nosov <sergei.nosov [at] gmail.com>") (:url . "https://github.com/snosov1/dummyparens"))])
+ (dune . [(20191016 1241) nil "Integration with the dune build system" tar ((:commit . "77ed8ab727ca3c3cfce9797f6e171012de891028") (:url . "https://github.com/ocaml/dune"))])
+ (duplicate-thing . [(20181031 1500) nil "Duplicate current line & selection" single ((:commit . "9d8fd05e3e5caa35d3f2a0c0032c92f0c0908e21") (:keywords "convenience" "command" "duplicate" "line" "selection") (:authors ("ongaeshi")) (:maintainer "ongaeshi") (:url . "https://github.com/ongaeshi/duplicate-thing"))])
+ (dut-mode . [(20170729 2111) ((emacs (24))) "Major mode for the Dut programming language" single ((:commit . "9235c7acaa6690942e9de8b7acd1e4be0c859dc1") (:keywords "languages" "gut") (:authors ("The dut-mode Authors")) (:maintainer "The dut-mode Authors") (:url . "https://github.com/dut-lang/dut-mode"))])
+ (dyalog-mode . [(20200301 1149) ((cl-lib (0 2)) (emacs (24))) "Major mode for editing Dyalog APL source code" tar ((:commit . "5dceeefaed6fbedb680bb6cc9aba14fb5f890310") (:keywords "languages") (:authors ("Joakim Hårsman" . "joakim.harsman@gmail.com")) (:maintainer "Joakim Hårsman" . "joakim.harsman@gmail.com") (:url . "https://github.com/harsman/dyalog-mode.git"))])
+ (dylan-mode . [(20200425 1347) nil "Major mode for the Dylan programming language. http://opendylan.org" tar ((:commit . "64f3aed546315c766331c69be3c7e78c7da6c333") (:authors ("Robert Stockton" . "rgs@cs.cmu.edu")) (:maintainer "Chris Page" . "cpage@opendylan.org"))])
+ (dynamic-fonts . [(20140731 1226) ((font-utils (0 7 0)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Set faces based on available fonts" single ((:commit . "ab0c65accbdb59acaed5b263327e22ec019b3e82") (:keywords "faces" "frames") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/dynamic-fonts"))])
+ (dynamic-ruler . [(20160602 808) nil "Displays a dynamic ruler at point." single ((:commit . "c9c0de6fe5721f06b50e01d9b4684b519c71b367") (:keywords "ruler" "tools" "convenience") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://rocher.github.io/dynamic-ruler"))])
+ (dynamic-spaces . [(20171027 1851) nil "When editing, don't move text separated by spaces" single ((:commit . "97ae8480c257ba573ca3d06dbf602f9b23c41d38") (:keywords "convenience") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/dynamic-spaces"))])
+ (e2ansi . [(20190517 1902) ((face-explorer (0 0 4))) "Syntax highlighting support for `less', powered by Emacs." tar ((:commit . "6e1bb4e4e27885d1786db08b091cfa13b184fb54") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/e2ansi"))])
+ (e2wm . [(20170215 36) ((window-layout (1 4))) "simple window manager for emacs" tar ((:commit . "4353d3394c77a49f8f0291c239858c8c5e877549") (:keywords "tools" "window manager") (:authors ("SAKURAI Masashi <m.sakurai atmark kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai atmark kiwanami.net>"))])
+ (e2wm-R . [(20151230 926) ((e2wm (1 3)) (inlineR (1 0)) (ess (15 3))) "some e2wm plugin and perspective for GNU R" single ((:commit . "4350601ee1a96bf89777b3f09f1b79b88e2e6e4d") (:keywords "convenience" "e2wm") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/e2wm-R.el"))])
+ (e2wm-bookmark . [(20151123 521) ((e2wm (1 2))) "Bookmark plugin for e2wm.el" single ((:commit . "bad816b6d8049984d69bcd277b7d325fb84d55eb") (:keywords "convenience") (:authors ("Yuhei Maeda <yuhei.maeda_at_gmail.com>")) (:maintainer "Yuhei Maeda <yuhei.maeda_at_gmail.com>"))])
+ (e2wm-direx . [(20170509 1301) ((e2wm (1 2)) (direx (0 1 -3))) "Plugin of e2wm.el for direx.el" single ((:commit . "b47f19d15436cc28233a812a1150689f61d11046") (:keywords "tools" "window manager" "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-direx"))])
+ (e2wm-pkgex4pl . [(20140525 1047) ((e2wm (1 2)) (plsense-direx (0 2 0))) "Plugin of e2wm.el for package explorer of Perl" single ((:commit . "7ea994450727190c4f3cb46cb429ba41b692ecc0") (:keywords "tools" "window manager" "perl") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-pkgex4pl"))])
+ (e2wm-svg-clock . [(20150106 1306) ((e2wm (20130225 1602)) (svg-clock (0 4))) "e2wm plugin for svg-clock" single ((:commit . "d425925e3afffcbe2ff74edc80b714e4319d4c94") (:keywords "convenience" "e2wm") (:authors ("Yuhei Maeda <yuhei.maeda_at_gmail.com>")) (:maintainer "Yuhei Maeda") (:url . "https://github.com/myuhe/e2wm-svg-clock.el"))])
+ (e2wm-sww . [(20140524 858) ((e2wm (1 2))) "Plugin of e2wm.el to switch plugin quickly" single ((:commit . "1063f9854bd34db5ac771cd1036cecc89834729d") (:keywords "tools" "window manager") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-sww"))])
+ (e2wm-term . [(20200322 729) ((e2wm (1 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perspective of e2wm.el for work in terminal" single ((:commit . "74362d6271e736272df32ea807c5a22e4df54a50") (:keywords "tools" "window manager") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-term"))])
+ (eacl . [(20200407 756) ((emacs (24 4)) (ivy (0 9 1))) "Auto-complete lines by grepping project" single ((:commit . "47b839f305e63e119b6a554497cd4b99512e8e00") (:keywords "abbrev" "convenience" "matching") (:authors ("Chen Bin <chenbin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenbin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/eacl"))])
+ (easy-after-load . [(20170817 1231) nil "eval-after-load for all files in a directory" single ((:commit . "29e20145da49ac9ea40463c552130777408040de") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/easy-after-load"))])
+ (easy-escape . [(20161209 1544) nil "Improve readability of escape characters in regular expressions" single ((:commit . "a6449f22cb97160ee1c90121968de89e193268df") (:keywords "convenience" "lisp" "tools") (:authors ("Clément Pit--Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit--Claudel" . "clement.pitclaudel@live.com") (:url . "https://github.com/cpitclaudel/easy-escape"))])
+ (easy-hugo . [(20200427 1901) ((emacs (25 1)) (popup (0 5 3)) (request (0 3 0))) "Write blogs made with hugo by markdown or org-mode" single ((:commit . "9e923e32f21134bb89196a169f5a3f2aecfe45cb") (:authors ("Masashi Miyaura")) (:maintainer "Masashi Miyaura") (:url . "https://github.com/masasam/emacs-easy-hugo"))])
+ (easy-jekyll . [(20200209 651) ((emacs (25 1)) (request (0 3 0))) "Major mode managing jekyll blogs" single ((:commit . "3582ed543b3e9f5c32834f530abeba92ef0b4244") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-easy-jekyll"))])
+ (easy-kill . [(20181114 2330) ((emacs (24)) (cl-lib (0 5))) "kill & mark things easily" single ((:commit . "2a6309d98aa6b71df6bbbcdf15cab3187c521a6b") (:keywords "killing" "convenience") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:url . "https://github.com/leoliu/easy-kill"))])
+ (easy-kill-extras . [(20180920 1334) ((easy-kill (0 9 4))) "Extra functions for easy-kill." tar ((:commit . "b8ce8350cc86e0229f195082557970cd51def960") (:keywords "killing" "convenience") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/easy-kill-extras.el"))])
+ (easy-repeat . [(20150516 848) ((emacs (24 4))) "Repeat easily" single ((:commit . "060f0e6801c82c40c06961dc0528a00e18947a8c") (:keywords "repeat" "convenience") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/easy-repeat.el"))])
+ (ebal . [(20180101 616) ((emacs (24 4)) (f (0 18 0))) "Emacs interface to Cabal and Stack" single ((:commit . "1740118125ae7aa6ba82d36e1fe0e69065a6fcaa") (:keywords "convenience" "cabal" "haskell") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/ebal"))])
+ (ebf . [(20160211 1758) ((dash (2 11 0)) (dash-functional (1 2 0)) (cl-lib (0 5))) "brainfuck language transpiler to Emacs Lisp" tar ((:commit . "4cd9c26354d8be6571354b2954d21fba882e78a2") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/ebf"))])
+ (ebib . [(20200419 2017) ((parsebib (2 3)) (emacs (25 1))) "a BibTeX database manager" tar ((:commit . "87920ab793e6e854903eb101b80a0746f588dab6") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "http://joostkremers.github.io/ebib/"))])
+ (ebuku . [(20200427 1143) ((emacs (25 1))) "Interface to the buku Web bookmark manager" single ((:commit . "9e1878810eaaaa55885d4cbcd6968566e4e3f7a8") (:keywords "bookmarks" "buku" "data" "web" "www") (:authors ("Alexis <flexibeast@gmail.com>, Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/ebuku"))])
+ (ecb . [(20170728 1921) nil "a code browser for Emacs" tar ((:commit . "1330a44cf3c171781083b0b926ab7622f64e6e81") (:keywords "browser" "code" "programming" "tools") (:authors ("Jesper Nordenberg" . "mayhem@home.se") ("Klaus Berndl" . "klaus.berndl@sdm.de") ("Kevin A. Burton" . "burton@openprivacy.org")) (:maintainer "Klaus Berndl" . "klaus.berndl@sdm.de"))])
+ (eclim . [(20181108 1134) ((dash (2 11 0)) (json (1 2)) (popup (0 5 2)) (s (1 9 0)) (cl-lib (0 5)) (yasnippet (0 10 0))) "An interface to the Eclipse IDE." tar ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))])
+ (eclipse-theme . [(20191113 1518) nil "Theme based on Eclipse circa 2010" single ((:commit . "dcf97865512ed450f9d5137c1a05e12edb5b7f80") (:keywords "themes") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/eclipse-theme"))])
+ (ecukes . [(20190822 2127) ((commander (0 6 1)) (espuds (0 2 2)) (ansi (0 3 0)) (dash (2 2 0)) (s (1 8 0)) (f (0 11 0))) "Cucumber for Emacs." tar ((:commit . "d835ce619a8f0057a133c08060af4b026e1c9359"))])
+ (edbi . [(20160225 141) ((concurrent (0 3 1)) (ctable (0 1 2)) (epc (0 1 1))) "Emacs Database Interface" tar ((:commit . "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))])
+ (ede-compdb . [(20150920 2033) ((ede (1 2)) (semantic (2 2)) (cl-lib (0 4))) "Support for compilation database projects in EDE" single ((:commit . "d6d8466cd62876fc90adeff5875a1a584fd846cd") (:keywords "development" "ninja" "build" "cedet" "ede") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net"))])
+ (ede-php-autoload . [(20180901 1255) nil "Simple EDE PHP Project" tar ((:commit . "8a4eeeaa93b8d87b65a107c4ebcbeb14528d9449") (:keywords "php" "project" "ede") (:authors ("Steven Rémot" . "steven.remot@gmail.com") ("original code for C++ by Eric M. Ludlam" . "eric@siege-engine.com")) (:maintainer "Steven Rémot" . "steven.remot@gmail.com") (:url . "https://github.com/emacs-php/ede-php-autoload"))])
+ (ede-php-autoload-composer-installers . [(20170221 2026) ((ede-php-autoload (1 0 0)) (f (0 19 0)) (s (1 7 0))) "Composer installers support for ede-php-autoload" single ((:commit . "7840439802c7d11ee086bbf465657f3da12f9f66") (:keywords "programming" "php") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk") (:url . "https://github.com/xendk/ede-php-autoload-composer-installers"))])
+ (ede-php-autoload-drupal . [(20170316 2158) ((ede-php-autoload (1 0 0)) (f (0 19 0)) (s (1 7 0))) "Drupal support for ede-php-autoload" single ((:commit . "54a04241d94fabc4f4d16ae4dc8ba4f0c6e3b435") (:keywords "programming" "php" "drupal") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk"))])
+ (edebug-x . [(20130616 625) nil "Extensions for Edebug" single ((:commit . "a2c2c42553d3bcbd5ac11898554865acbed1bc46") (:keywords "extensions") (:authors ("Scott Barnett" . "scott.n.barnett@gmail.com")) (:maintainer "Scott Barnett" . "scott.n.barnett@gmail.com") (:url . "https://github.com/ScottyB/edebug-x"))])
+ (edit-at-point . [(20191013 1218) nil "edit(copy,cut..) current things(word,symbol..) under cursor" single ((:commit . "28c85a65c9c61f2aff50bc5e93f61cde26a5d9c0") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/edit-at-point.el"))])
+ (edit-chrome-textarea . [(20200324 1513) ((emacs (25 1)) (websocket (1 4))) "Edit Chrome Textarea" single ((:commit . "e9ef6a72bdc6b58f932c51aa161869cee11b4bc9") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/edit-chrome-textarea.el"))])
+ (edit-color-stamp . [(20130529 1733) ((es-lib (0 2)) (cl-lib (1 0))) "Edit a hex color stamp, using a QT or the internal color picker" tar ((:commit . "32dc1ca5bcf3dcf83fad5e39b55dc5b77becb3d3") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/edit-color-stamp"))])
+ (edit-indirect . [(20191103 1013) ((emacs (24 3))) "Edit regions in separate buffers" single ((:commit . "935ded353b9ed3da67bc61abf245c21b58d88864") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/edit-indirect"))])
+ (edit-indirect-region-latex . [(20161129 645) ((emacs (24 3)) (ht (2 2)) (edit-indirect (0 1 4))) "Edit LaTeX regions in separate buffers, e.g. for English grammar checks" single ((:commit . "05043f2c0c9838947d3ca4b51b695deb7c47612e") (:authors ("Hirotaka Niitsuma" . "hirotaka.niitsuma@gmail.com")) (:maintainer "Hirotaka Niitsuma" . "hirotaka.niitsuma@gmail.com") (:url . "https://github.com/niitsuma/edit-indirect-region-latex"))])
+ (edit-list . [(20100930 1443) nil "edit a single list" single ((:commit . "f460d3f9e208a4e606fe6ded307f1b011916ca71") (:authors ("Michael Olson" . "mwolson@gnu.org")) (:maintainer "Michael Olson" . "mwolson@gnu.org") (:url . "http://mwolson.org/static/dist/elisp/edit-list.el"))])
+ (edit-server . [(20181016 1125) nil "server that responds to edit requests from Chrome" single ((:commit . "43f180809fcbc7e104f96f95608a97c4c2a2c8b3") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs_chrome"))])
+ (edit-server-htmlize . [(20130329 2248) ((edit-server (1 9))) "(de)HTMLization hooks for edit-server.el" single ((:commit . "e7f8dadfabe869c77ca241cd6fbd4c52bd908392") (:authors ("Roland McGrath" . "roland@hack.frob.com")) (:maintainer "Roland McGrath" . "roland@hack.frob.com") (:url . "https://github.com/frobtech/edit-server-htmlize"))])
+ (editorconfig . [(20200212 739) ((cl-lib (0 5)) (emacs (24))) "EditorConfig Emacs Plugin" tar ((:commit . "19de0ec1bac67c5a76a4dd3d8ffe6c5411ace1af") (:authors ("EditorConfig Team" . "editorconfig@googlegroups.com")) (:maintainer "EditorConfig Team" . "editorconfig@googlegroups.com") (:url . "https://github.com/editorconfig/editorconfig-emacs#readme"))])
+ (editorconfig-charset-extras . [(20180223 457) ((editorconfig (0 6 0))) "Extra EditorConfig Charset Support" single ((:commit . "4f75e175ad15ce2038f926fe4f0e5a0c1d0cbc46") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/editorconfig-charset-extras-el"))])
+ (editorconfig-custom-majormode . [(20180816 244) ((editorconfig (0 6 0))) "Decide major-mode and mmm-mode from EditorConfig" single ((:commit . "13ad1c83f847bedd4b3a19f9df7fd925853b19de") (:keywords "editorconfig" "util") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/editorconfig-custom-majormode-el"))])
+ (editorconfig-domain-specific . [(20180505 924) ((cl-lib (0 5)) (editorconfig (0 6 0))) "Apply brace style and other \"domain-specific\" EditorConfig properties" single ((:commit . "e9824160fb2e466afa755240ee3ab7cc5657fb04") (:keywords "editorconfig" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/editorconfig-emacs-domain-specific"))])
+ (editorconfig-generate . [(20190513 433) ((emacs (24))) "Generate .editorconfig" single ((:commit . "47a31f928f46d2a0188db8e2cffa5d6354a81573") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/editorconfig-generate-el"))])
+ (edn . [(20160215 1219) ((cl-lib (0 3)) (emacs (24 1)) (peg (0 6))) "Support for reading and writing the edn data format from elisp" single ((:commit . "be9e32d1b49e35247b263b0243df7cfdc8d413ab") (:keywords "edn" "clojure") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:url . "https://www.github.com/expez/edn.el"))])
+ (edts . [(20200413 1929) ((auto-complete (20170125 245)) (auto-highlight-symbol (20130313 943)) (dash (20190814 2006)) (erlang (20190404 928)) (f (20190109 906)) (popup (20160709 1429)) (s (20180406 808))) "Erlang Development Tool Suite" tar ((:commit . "e797eb57ede8332205b3abd7d7adeccbb319ad29"))])
+ (edwina . [(20200113 1714) ((emacs (25))) "Dynamic window manager" tar ((:commit . "c5368716a504c93407fd8cb4ef925a8d8eb62698") (:keywords "convenience") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:url . "https://github.com/ajgrf/edwina"))])
+ (efire . [(20151009 2031) ((circe (1 2))) "Use campfire from Emacs" single ((:commit . "91a644662afb352475efad0b377713656f131e5c") (:keywords "convenience" "tools") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/efire"))])
+ (eg . [(20170830 815) ((cl-lib (0 5)) (emacs (24 3))) "Norton Guide reader" single ((:commit . "1c7f1613d2aaae728ef540305f6ba030616f86bd") (:keywords "docs") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/eg.el"))])
+ (egalgo . [(20190706 1611) ((dash (2 14)) (emacs (24))) "Genetic algorithm for Emacs" single ((:commit . "e683b16ed4265ddb46efcc8cbf9503301cc39e22") (:keywords "data") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/egalgo"))])
+ (egg . [(20181126 500) nil "Emacs Got Git - Emacs interface to Git" tar ((:commit . "00e768a78ac3d25f457eed667d02cac568480bf9") (:keywords "git" "version control" "release management") (:authors ("Bogolisk" . "bogolisk@gmail.com")) (:maintainer "Bogolisk" . "bogolisk@gmail.com"))])
+ (egg-timer . [(20200217 1650) ((emacs (25 1))) "Commonly used intervals for setting timers while working" single ((:commit . "e3542aeb80905956b94373a222a9cbac04e6497e") (:authors ("William Carroll" . "wpcarro@gmail.com")) (:maintainer "William Carroll" . "wpcarro@gmail.com") (:url . "https://github.com/wpcarro/egg-timer.el"))])
+ (egison-mode . [(20200107 2333) nil "Egison editing mode" tar ((:commit . "317a3a14e5791ecd9b30511a335363b94e48130f") (:authors ("Satoshi Egi" . "egisatoshi@gmail.com")) (:maintainer "Satoshi Egi" . "egisatoshi@gmail.com") (:url . "https://github.com/egisatoshi/egison3/blob/master/elisp/egison-mode.el"))])
+ (eglot . [(20200427 1808) ((emacs (26 1)) (jsonrpc (1 0 9)) (flymake (1 0 8))) "Client for Language Server Protocol (LSP) servers" single ((:commit . "d99a4478a9ede56d8e0ccf03800d70a78d8142a6") (:keywords "convenience" "languages") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/joaotavora/eglot"))])
+ (eglot-jl . [(20200413 1930) ((emacs (25 1)) (eglot (1 4)) (julia-mode (0 3))) "Julia support for eglot" tar ((:commit . "a37aaa7c2a3e0282e02f97c0b8946dbd6d6cbf06") (:keywords "convenience" "languages") (:authors ("Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz")) (:maintainer "Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") (:url . "https://github.com/non-Jedi/eglot-jl"))])
+ (ego . [(20180301 104) ((emacs (24 5)) (ht (1 5)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0)) (simple-httpd (1 4 5))) "a static site generator based on org mode, forked from org-page." tar ((:commit . "719809679c1a60887735db41abae53b61f08ef59"))])
+ (eide . [(20200419 2126) nil "IDE interface" tar ((:commit . "827f29b9fd8e20e2e460cffc67a8f9ac9623c450"))])
+ (eimp . [(20120826 2039) nil "Emacs Image Manipulation Package" single ((:commit . "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f") (:keywords "files" "frames") (:authors ("Matthew P. Hodges" . "MPHodges@member.fsf.org")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (ein . [(20200425 1940) ((emacs (25)) (websocket (20190620 338)) (anaphora (20180618)) (request (20200117 0)) (deferred (0 5)) (polymode (20190714 0)) (dash (2 13 0))) "Emacs IPython Notebook" tar ((:commit . "42134adf3c95b7768e2d725bab39ddb98feafa09"))])
+ (ein-mumamo . [(20150302 28) ((ein (0 4))) "Multiple major mode support for Emacs IPython Notebook" single ((:commit . "028fefec499598add1a87b92ed991891f38f0c7b") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>") (": John Miller <millejoh at mac.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (eink-theme . [(20190219 858) nil "E Ink color theme" single ((:commit . "326b07523dcb076d6209cdbc7fdbb73df296dbdb") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://github.com/maio/eink-emacs"))])
+ (ejc-sql . [(20200424 1623) ((emacs (26 3)) (clomacs (0 0 4)) (dash (2 16 0)) (auto-complete (1 5 1)) (spinner (1 7 3)) (direx (1 0 0))) "Emacs SQL client uses Clojure JDBC." tar ((:commit . "0914ff731630ebdaa4e07dba97644e0e57bbf18e") (:keywords "sql" "jdbc") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/ejc-sql"))])
+ (ejson-mode . [(20190720 2138) ((emacs (25))) "Major mode for editing ejson files." single ((:commit . "9630dfac9549779711dbe89e621f516bb4b3a354") (:keywords "convenience" "languages" "tools") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:url . "https://github.com/dantecatalfamo/ejson-mode"))])
+ (el-autoyas . [(20120918 1317) nil "Automatically create Emacs-Lisp Yasnippets" tar ((:commit . "bde0251ecb504f585dfa27c205c8e312655310cc") (:keywords "emacs" "lisp" "mode" "yasnippet") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/el-autoyas.el"))])
+ (el-fly-indent-mode . [(20180422 243) ((emacs (25))) "Indent Emacs Lisp on the fly" single ((:commit . "4917f486a7be7482dedfea0a7ac3d01cab4ce21c") (:keywords "lisp" "languages") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:url . "https://github.com/jiahaowork/el-fly-indent-mode.el"))])
+ (el-get . [(20181006 225) nil "Manage the external elisp bits and pieces you depend upon" tar ((:commit . "64abd393d5cefb1d59380dcc1344befdf618735b") (:keywords "emacs" "package" "elisp" "install" "elpa" "git" "git-svn" "bzr" "cvs" "svn" "darcs" "hg" "apt-get" "fink" "pacman" "http" "http-tar" "emacswiki") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "http://www.emacswiki.org/emacs/el-get"))])
+ (el-init . [(20150728 920) ((emacs (24)) (cl-lib (0 5)) (anaphora (1 0 0))) "A loader inspired by init-loader" single ((:commit . "65c48ec47fea84d16ff2d1ef7015b4d220fcf5ff") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/el-init"))])
+ (el-init-viewer . [(20150303 828) ((emacs (24)) (cl-lib (0 5)) (ctable (0 1 2)) (dash (2 10 0)) (anaphora (1 0 0)) (el-init (0 1 4))) "Record viewer for el-init" single ((:commit . "8a2ab457586962bde0da2a1c56a37ce6363ae690") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/el-init-viewer"))])
+ (el-mock . [(20170824 1954) nil "Tiny Mock and Stub framework in Emacs Lisp" single ((:commit . "5df1d3a956544f1d3ad0bcd81daf47fff33ab8cc") (:keywords "lisp" "testing" "unittest") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/el-mock.el"))])
+ (el-patch . [(20200404 1548) ((emacs (25))) "Future-proof your Elisp" single ((:commit . "f5c785a6f951a4aa6d6ab5cda84460dad2a072cc") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/el-patch"))])
+ (el-pocket . [(20170922 1249) ((web (0 5 2)) (emacs (24))) "Read and write to Pocket (getpocket.com)" single ((:commit . "a80abfb67efe68ada1d7d0a73aecee57e763baaa") (:keywords "emacs" "pocket" "bookmarks") (:authors ("Tod Davies" . "davies.t.o@gmail.com")) (:maintainer "Tod Davies" . "davies.t.o@gmail.com") (:url . "http://github.com/pterygota/el-pocket"))])
+ (el-spec . [(20121018 704) nil "ruby's rspec like syntax test frame work" single ((:commit . "1dbc465401d4aea5560318c4f13ff30920a0718d") (:keywords "test") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:url . "https://github.com/uk-ar/el-spec"))])
+ (el-spice . [(20180128 1721) nil "Extra spice for emacs lisp programming" tar ((:commit . "4e0852ebf5d8e9cbb3eaaa6ae9c53d126b53f58c") (:keywords "languages" "extensions") (:authors ("Vedang Manerikar" . "vedang.manerikar@gmail.com")) (:maintainer "Vedang Manerikar" . "vedang.manerikar@gmail.com") (:url . "https://github.com/vedang/el-spice"))])
+ (el-sprunge . [(20200312 1212) ((web-server (20140105 2246)) (htmlize (20130207 1202)) (emacs (24 3))) "Command line paste server with Emacs highlighting" tar ((:commit . "e4365ea0bdf60969817619376bdcc98003fec33d"))])
+ (el-spy . [(20131226 2008) nil "Mocking framework for Emacs lisp. It also support spy, proxy." single ((:commit . "b1dead9d1877660856ada22d906ac4e54695aec7") (:keywords "test") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:url . "https://github.com/uk-ar/el-spy"))])
+ (el-x . [(20140111 2201) nil "main entry point for el-x package" tar ((:commit . "e7c333d4fc31a90f4dca951efe21129164b42605") (:keywords "lisp") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))])
+ (el2markdown . [(20170630 1858) nil "Convert commentary section of elisp files to markdown." single ((:commit . "368d99313683cd943c99feaffca356be60bdb636") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/el2markdown"))])
+ (el2org . [(20200408 146) ((emacs (25 1))) "Convert elisp file to org file" single ((:commit . "7db77fdd73f378d4e60e34c11bbdf00677adc32c") (:keywords "convenience") (:authors ("Feng Shu " . "tumashu@163.com")) (:maintainer "Feng Shu " . "tumashu@163.com") (:url . "https://github.com/tumashu/el2org"))])
+ (elbank . [(20180316 1343) ((emacs (25)) (seq (2 16))) "Personal finances reporting application" tar ((:commit . "fa9bc7dec0a8fd489e90b9f178719344cc8d315a") (:keywords "tools" "personal-finances") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))])
+ (elcontext . [(20180526 1304) ((ht (2 3)) (hydra (0 14 0)) (emacs (24 3)) (f (0 20 0)) (osx-location (0 4)) (uuidgen (0 3))) "Create context specific actions" tar ((:commit . "f434ffc655e6349a4dd52285ff68a9194bcfc949") (:keywords "calendar" "convenience") (:authors ("Thomas Sojka")) (:maintainer "Thomas Sojka") (:url . "https://github.com/rollacaster/elcontext"))])
+ (elcord . [(20200322 2027) ((emacs (25))) "Allows you to integrate Rich Presence from Discord" tar ((:commit . "94b0afb9bac32fa72354517347646166d6bec986") (:keywords "games") (:authors ("heatingdevice") ("Wilfredo Velázquez-Rodríguez" . "zulu.inuoe@gmail.com")) (:maintainer "heatingdevice") (:url . "https://github.com/Mstrodl/elcord"))])
+ (elcouch . [(20190820 1641) ((emacs (25 1)) (json-mode (1 0 0)) (libelcouch (0 9 0)) (navigel (0 3 0))) "View and manipulate CouchDB databases" single ((:commit . "8e1b7ddec91ae863c3951776a0fcbfead8ca7a80") (:keywords "data" "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/elcouch"))])
+ (eldev . [(20200315 1527) ((emacs (24 4))) "Elisp Development Tool" tar ((:commit . "98fc3206c36bf6384bf333f93b4ae3d9382f5c57") (:keywords "maint" "tools") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/eldev"))])
+ (eldoc-box . [(20200316 1956) ((emacs (26 1))) "Display documentation in childframe" single ((:commit . "c1a1b77ec0c7fff9ecf7122d10dcd16eebcd3829") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/eldoc-box"))])
+ (eldoc-cmake . [(20190419 2244) ((emacs (25 1))) "Eldoc support for CMake" single ((:commit . "4453c03b5c95ff32842f13db2fc317fb0fe2f79e") (:authors ("Kirill Ignatiev")) (:maintainer "Kirill Ignatiev") (:url . "https://github.com/ikirill/eldoc-cmake"))])
+ (eldoc-eval . [(20190423 1858) nil "Enable eldoc support when minibuffer is in use." single ((:commit . "a67fe3637378dcb6c5f9e140acc8131f0d2346b3") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com"))])
+ (eldoc-overlay . [(20200328 619) ((emacs (24 3)) (inline-docs (1 0 1)) (quick-peek (1 0))) "Display eldoc with contextual documentation overlay." single ((:commit . "ec318acb564ac5679285b51b7d979410d393fac9") (:keywords "documentation" "eldoc" "overlay") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/eldoc-overlay"))])
+ (eldoc-stan . [(20200221 2025) ((emacs (25)) (stan-mode (10 1 0))) "Eldoc support for stan functions" tar ((:commit . "599a0440086c660e6823622b35058f6d2d6d9637") (:keywords "help" "tools") (:authors ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/eldoc-stan"))])
+ (electric-case . [(20150417 1112) nil "insert camelCase, snake_case words without \"Shift\"ing" single ((:commit . "bac64e772107e3dc721a9819f63b9ebdc28a81f7") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (electric-operator . [(20200410 928) ((dash (2 10 0)) (emacs (24 4))) "Automatically add spaces around operators" tar ((:commit . "f8454905a147045f25ab03da7aa6406e4f20cc64") (:keywords "electric") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/electric-operator"))])
+ (electric-spacing . [(20200223 838) nil "Insert operators with surrounding spaces smartly" tar ((:commit . "83568a7f2f0e2f0983e348b6e4adc0fc75b98adf") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com"))])
+ (elein . [(20120120 1116) nil "running leiningen commands from emacs" single ((:commit . "d4c0c0491dbb7c90e953d7a16172107c37103605") (:keywords "tools" "processes") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/elein"))])
+ (elf-mode . [(20161009 748) ((emacs (24 3))) "Show symbols in binaries" single ((:commit . "cd280d683cd3341d8bb31af6db7e3b74a133e6ab") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/elf-mode"))])
+ (elfeed . [(20200209 1942) ((emacs (24 3))) "an Emacs Atom/RSS feed reader" tar ((:commit . "d0405e63863e54a01200740a6717ac875eceabc1"))])
+ (elfeed-goodies . [(20190128 1631) ((popwin (1 0 0)) (powerline (2 2)) (elfeed (2 0 0)) (cl-lib (0 5)) (noflet (0 0 10)) (ace-jump-mode (2 0))) "Elfeed goodies" tar ((:commit . "95b4ea632fbd5960927952ec8f3394eb88da4752") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/elfeed-goodies"))])
+ (elfeed-org . [(20181015 1100) ((elfeed (1 1 1)) (org (8 2 7)) (dash (2 10 0)) (s (1 9 0)) (cl-lib (0 5))) "Configure elfeed with one or more org-mode files" single ((:commit . "77b6bbf222487809813de260447d31c4c59902c9") (:keywords "news") (:authors ("Remy Honig" . "remyhonig@gmail.com")) (:maintainer "Remy Honig" . "remyhonig@gmail.com") (:url . "https://github.com/remyhonig/elfeed-org"))])
+ (elfeed-protocol . [(20200427 236) ((emacs (24 4)) (elfeed (2 1 1)) (cl-lib (0 5))) "Provide fever/newsblur/owncloud/ttrss protocols for elfeed" tar ((:commit . "fc0beb392386b8ed387e52e7e100354b8549fd7e") (:keywords "news") (:authors ("Xu Fasheng <fasheng[AT]fasheng.info>")) (:maintainer "Xu Fasheng <fasheng[AT]fasheng.info>") (:url . "https://github.com/fasheng/elfeed-protocol"))])
+ (elfeed-score . [(20200328 1855) ((emacs (24 1)) (elfeed (3 3 0)) (cl-lib (0 6 1))) "Gnus-style scoring for Elfeed" single ((:commit . "916c47b3590b2ff3c5075dcc1def4b36a4b14947") (:keywords "news") (:authors ("Michael Herstine" . "sp1ff@pobox.com")) (:maintainer "Michael Herstine" . "sp1ff@pobox.com") (:url . "https://github.com/sp1ff/elfeed-score"))])
+ (elfeed-web . [(20191123 1738) ((simple-httpd (1 5 1)) (elfeed (3 2 0)) (emacs (24 3))) "web interface to Elfeed" tar ((:commit . "d0405e63863e54a01200740a6717ac875eceabc1"))])
+ (elgrep . [(20191203 1227) ((emacs (26 1)) (async (1 5))) "Searching files for regular expressions" single ((:commit . "c475cee98bc607746901318ef9da463c96d5e04e") (:keywords "tools" "matching" "files" "unix") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:url . "https://github.com/TobiasZawada/elgrep"))])
+ (elhome . [(20161025 2042) ((initsplit (20120630))) "A framework for a \"home\" Emacs configuration" tar ((:commit . "e789e806469af3e9705f72298683c21f6c3a516d") (:keywords "lisp") (:authors ("Dave Abrahams" . "dave@boostpro.com")) (:maintainer "Demyan Rogozhin" . "demyan.rogozhin@gmail.com") (:url . "http://github.com/demyanrogozhin/elhome"))])
+ (elisp-def . [(20180806 723) ((dash (2 12 0)) (f (0 19 0)) (s (1 11 0)) (emacs (24 3))) "macro-aware go-to-definition for elisp" single ((:commit . "368b04da68783601b52e3169312183381871cf9e") (:keywords "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (elisp-demos . [(20200427 151) ((emacs (24 4))) "Elisp API Demos" tar ((:commit . "4cd55a30d5dbd8d36a0e6f87261c4fef17fc6db0") (:keywords "lisp" "docs") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/elisp-demos"))])
+ (elisp-depend . [(20190325 1114) nil "Parse depend libraries of elisp file." single ((:commit . "6679da9a6be5a845bb4804224c8394a9bc62168f"))])
+ (elisp-depmap . [(20200413 1215) ((emacs (26 1)) (dash (2 17 0))) "Generate an elisp dependency map in graphviz" tar ((:commit . "e47616c968dd82e30cb10961452e2b46c7900163") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/elisp-depmap.el"))])
+ (elisp-docstring-mode . [(20170304 1615) nil "Major mode for editing elisp docstrings." single ((:commit . "f512e509dd690f65133e55563ebbfd2dede5034f") (:keywords "languages") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (elisp-format . [(20160508 952) nil "Format elisp code" single ((:commit . "03cc293eb2f78ec58fc1d84279af06816a04b979") (:authors (nil . "Andy Stewart lazycat.manatee@gmail.com")) (:maintainer "Yuki Inoue inouetakahiroki _at_ gmail.com") (:url . "https://github.com/Yuki-Inoue/elisp-format"))])
+ (elisp-lint . [(20200324 2217) ((emacs (24 4)) (dash (2 15 0)) (package-lint (0 11))) "Basic linting for Emacs Lisp" single ((:commit . "35a3fcc3131c243206fa914b8562cda771eab8c5") (:keywords "lisp" "maint" "tools") (:authors ("Nikolaj Schumacher <bugs * nschum de>,")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "http://github.com/gonewest818/elisp-lint/"))])
+ (elisp-refs . [(20200428 1707) ((dash (2 12 0)) (loop (1 2)) (s (1 11 0))) "find callers of elisp functions or macros" single ((:commit . "0e7ea1574717108ddc2eda5e1bc883d44cd28257") (:keywords "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (elisp-sandbox . [(20131116 1842) nil "Evaluate EmacsLisp expressions in a sandbox" single ((:commit . "d894d68934ef09c42f72ac4e1173a0bedc23f139") (:keywords "lisp") (:authors ("Joel McCracken <mccracken.joel@gmail.com>, D. Goel" . "deego@gnufans.org")) (:maintainer "Joel McCracken <mccracken.joel@gmail.com>, D. Goel" . "deego@gnufans.org") (:url . "https://github.com/joelmccracken/elisp-sandbox"))])
+ (elisp-slime-nav . [(20200304 2201) ((emacs (24 1)) (cl-lib (0 2))) "Make M-. and M-, work in elisp like they do in slime" single ((:commit . "9ab52362600af9f97f1590f05a295538025170b3") (:keywords "languages" "navigation" "slime" "elisp" "emacs-lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/elisp-slime-nav"))])
+ (elixir-mode . [(20200121 623) ((emacs (24)) (pkg-info (0 4))) "Major mode for editing Elixir files" tar ((:commit . "231291ecadc479295d83fee619049030940bfbe5") (:keywords "languages" "elixir") (:url . "https://github.com/elixir-editors/emacs-elixir"))])
+ (elixir-yasnippets . [(20150417 1239) ((yasnippet (0 8 0))) "Yasnippets for Elixir" tar ((:commit . "980ca7626c14ef0573bec0035ec7942796062783"))])
+ (ellocate . [(20200112 1931) ((emacs (25 1)) (s (1 12 0)) (f (0 20 0))) "The locate command reimplemented in Emacs Lisp" single ((:commit . "81405082f68f0577c9f176d3d4f034a7142aba59") (:keywords "matching") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/ellocate"))])
+ (elm-mode . [(20200406 214) ((f (0 17)) (s (1 7 0)) (emacs (25 1)) (dash (2 13 0)) (reformatter (0 3))) "Major mode for Elm" tar ((:commit . "7782be0814b52f7c35a09b21a4839c1502a4707f") (:authors ("Joseph Collard")) (:maintainer "Joseph Collard") (:url . "https://github.com/jcollard/elm-mode"))])
+ (elm-test-runner . [(20190105 1923) ((emacs (24 4))) "Enhanced support for running elm-test" single ((:commit . "a31d567a64d86d36e3675347abd696824a731e0c") (:authors ("Juan Edi")) (:maintainer "Juan Edi") (:url . "https://github.com/juanedi/elm-test-runner"))])
+ (elm-yasnippets . [(20160401 524) ((yasnippet (0 8 0))) "Yasnippets for Elm" tar ((:commit . "45a11a0cef0c36633fb3477d3dc4167e82779ba4") (:keywords "snippets") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com"))])
+ (elmacro . [(20191208 1057) ((s (1 11 0)) (dash (2 13 0))) "Convert keyboard macros to emacs lisp" single ((:commit . "ba4086ef241dadfc2b1ce1bcfa56e12dbb89ef58") (:keywords "macro" "elisp" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/elmacro"))])
+ (elmine . [(20190212 1740) ((s (1 10 0))) "Redmine API access via elisp." single ((:commit . "2f020e41940b182deeca39786a3092a2d68b5eb7") (:keywords "tools") (:authors ("Arthur Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/elmine"))])
+ (elnode . [(20190702 1509) ((web (0 1 4)) (dash (1 1 0)) (noflet (0 0 7)) (s (1 5 0)) (creole (0 8 14)) (fakir (0 1 6)) (db (0 0 5)) (kv (0 0 17))) "The Emacs webserver." tar ((:commit . "29ef0f51a65a24fca7fdcdb4140d2e4556e4bb29"))])
+ (elog . [(20160724 2255) ((eieio (1 3))) "logging library extended from logito" single ((:commit . "a67237d9813c7591614d95e2ef31cc5e5ed3f31b") (:keywords "lisp" "tool" "log") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (elogcat . [(20151121 41) ((s (1 9 0)) (dash (2 10 0))) "logcat interface" single ((:commit . "4f311b7a07565b0d060334bc68edb36f2bff703f") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))])
+ (eloud . [(20190706 1707) ((emacs (24 4))) "A lightweight, interactive screen reader" single ((:commit . "b8f4af1f652268d73281de91fb333b5984970847") (:keywords "extensions") (:authors ("Patrick Smyth" . "patricksmyth01@gmail.com")) (:maintainer "Patrick Smyth" . "patricksmyth01@gmail.com") (:url . "https://github.com/smythp/eloud"))])
+ (elpa-audit . [(20141023 1331) nil "Handy functions for inspecting and comparing package archives" single ((:commit . "727da50e626977351aff2675b6540a36818bbbe6") (:keywords "maint") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/elpa-audit"))])
+ (elpa-clone . [(20191006 1953) ((emacs (24 4)) (cl-lib (0))) "Clone ELPA archive" single ((:commit . "827e2723b123618aaa32642d78c447cf2979a00a") (:keywords "comm" "elpa" "clone" "mirror") (:authors ("ZHANG Weiyi" . "dochang@gmail.com")) (:maintainer "ZHANG Weiyi" . "dochang@gmail.com") (:url . "https://github.com/dochang/elpa-clone"))])
+ (elpa-deploy . [(20191022 718) ((emacs (24 4)) (f (0 0))) "ELPA deployment library" single ((:commit . "f5126a2da1e0e52981fad9c12028814be80328c2") (:keywords "tools") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:url . "https://github.com/oitofelix/elpa-deploy"))])
+ (elpa-mirror . [(20190622 730) ((emacs (24 4))) "Create local package repository from installed packages" single ((:commit . "468adfff8dedb024b90af0e66434dc50de259714") (:keywords "maint" "tools") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/elpa-mirror"))])
+ (elpher . [(20191212 1858) ((emacs (26))) "A friendly gopher client" tar ((:commit . "3f56dde4342dcfecc2b8b4d1c6e07436d2ab9991") (:keywords "comm" "gopher") (:authors ("Tim Vaughan" . "timv@ughan.xyz")) (:maintainer "Tim Vaughan" . "timv@ughan.xyz") (:url . "http://thelambdalab.xyz/elpher"))])
+ (elpl . [(20191229 1929) ((emacs (24 4))) "Emacs Lisp REPL" single ((:commit . "48ecee2aa7b3d085a3deff809fb3ae31ae4ef9dd") (:keywords "lisp" "tool") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/elpl"))])
+ (elpy . [(20200329 1830) ((company (0 9 2)) (emacs (24 4)) (highlight-indentation (0 5 0)) (pyvenv (1 3)) (yasnippet (0 8 0)) (s (1 11 0))) "Emacs Python Development Environment" tar ((:commit . "816061cf16d53448d95612380855e7ccaf59a417"))])
+ (elpygen . [(20171225 1736) ((emacs (25)) (yasnippet (0 8 0))) "Generate a Python function/method using a symbol under point" single ((:commit . "21929c997a05968f9eefe52b85a76ceaab3b0d81") (:keywords "python" "languages" "tools") (:authors ("Vladimir Kazanov" . "vkazanov@inbox.ru")) (:maintainer "Vladimir Kazanov" . "vkazanov@inbox.ru") (:url . "https://github.com/vkazanov/elpygen"))])
+ (elquery . [(20180917 2217) ((emacs (25 1)) (s (1 11 0)) (dash (2 13 0))) "The HTML library for elisp." single ((:commit . "eac429d8550fbf1582c57d5e16fed9f320d6eb30") (:keywords "html" "hypermedia" "tools" "webscale") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/elquery"))])
+ (elsa . [(20200225 1440) ((trinary (1 0 0)) (emacs (25 1)) (f (0)) (dash (2 14)) (cl-lib (0 3))) "Emacs Lisp Static Analyser" tar ((:commit . "5ac373088eca10581e848ad42f5e278aedcd85c0"))])
+ (elscreen . [(20181009 451) ((emacs (24))) "Emacs window session manager" tar ((:commit . "cc58337faf5ba1eae7e87f75f6ff3758675688f2") (:keywords "window" "convenience") (:authors ("Naoto Morishima" . "naoto@morishima.net")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/elscreen"))])
+ (elscreen-buffer-group . [(20200109 2338) ((emacs (24 4)) (elscreen (0)) (cl-lib (0 5))) "elscreen buffer group" single ((:commit . "b48e71d4782adfeb2958f227d78c04164d26e4bd") (:keywords "buffer") (:authors ("Jeff Gran" . "jeff@jeffgran.com") ("Author: Ryan C. Thompson")) (:maintainer "Jeff Gran" . "jeff@jeffgran.com") (:url . "https://github.com/jeffgran/elscreen-buffer-group"))])
+ (elscreen-fr . [(20160920 953) ((elscreen (0)) (seq (1 11))) "Use frame title as screen tab" single ((:commit . "6dc77e1d3f17b3f76da5ccf92b715572aa55fb85") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/elscreen-fr"))])
+ (elscreen-mew . [(20160504 1835) ((elscreen (20120413 807))) "ElScreen Add-On for Mew" single ((:commit . "c90a23441d836da14a1cb12788432308ba58e2b6") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/elscreen-mew"))])
+ (elscreen-multi-term . [(20200417 821) ((emacs (24 4)) (elscreen (1 4 6)) (multi-term (1 3))) "Multi term for elscreen" single ((:commit . "4ea89bae0444d9d4377515929f76cb3e98140f1f") (:keywords "elscreen" "multi term") (:authors ("wamei" . "wamei.cho@gmail.com")) (:maintainer "wamei" . "wamei.cho@gmail.com"))])
+ (elscreen-separate-buffer-list . [(20161107 358) ((emacs (24 4)) (elscreen (1 4 6))) "Separate buffer list manager for elscreen" single ((:commit . "7652d827aa1b8c1b04303c5b4b0bda5e8f85565e") (:keywords "elscreen") (:authors ("wamei" . "wamei.cho@gmail.com")) (:maintainer "wamei" . "wamei.cho@gmail.com"))])
+ (elscreen-tab . [(20190203 1619) ((emacs (26)) (elscreen (20180321)) (dash (2 14 1))) "minor mode to display tabs of elscreen in a dedicated buffer" single ((:commit . "da79fb0b9ead2402662ff8e163039635aaae2413") (:keywords "tools" "extensions") (:authors ("Aki Syunsuke" . "sunny.day.dev@gmail.com")) (:maintainer "Aki Syunsuke" . "sunny.day.dev@gmail.com") (:url . "https://github.com/aki-s/elscreen-tab"))])
+ (elvish-mode . [(20180809 1612) ((emacs (24 3))) "Defines a major mode for Elvish" single ((:commit . "c3a7e31564256b9755b1ab9fb40d32ad78cd1ad2") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/elvish-mode"))])
+ (elwm . [(20150817 1007) ((dash (1 1 0))) "Minimalistic window manager for emacs" single ((:commit . "c33b183f006ad476c3a44dab316f580f8b369930") (:keywords "docs") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/elwm"))])
+ (elx . [(20200422 1352) ((emacs (25 1))) "extract information from Emacs Lisp libraries" single ((:commit . "d5ebd8ab6439fea3dcae0bcaece6e914f4ee1f6c") (:keywords "docs" "libraries" "packages") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/elx"))])
+ (emacsc . [(20190917 1102) nil "helper for emacsc(1)" tar ((:commit . "57940b93881efabb375df18093b99800bfb5d5f7") (:keywords "tools") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/emacsc"))])
+ (emacsist-view . [(20160426 1223) nil "Mode for viewing emacsist.com" single ((:commit . "f67761259ed779a9bc95c9a4e0474522990c5c6b") (:keywords "convenience" "usability") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/emacsist-view"))])
+ (emacsql . [(20190625 1859) ((emacs (25 1))) "high-level SQL database front-end" tar ((:commit . "a118b6c95af1306f0288a383d274b5dd93efbbda") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))])
+ (emacsql-mysql . [(20171219 227) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for MySQL" single ((:commit . "a118b6c95af1306f0288a383d274b5dd93efbbda") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))])
+ (emacsql-psql . [(20171219 227) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for PostgreSQL via psql" tar ((:commit . "a118b6c95af1306f0288a383d274b5dd93efbbda") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))])
+ (emacsql-sqlite . [(20190727 1710) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for SQLite" tar ((:commit . "a118b6c95af1306f0288a383d274b5dd93efbbda") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))])
+ (emacsql-sqlite3 . [(20200117 1922) ((emacs (26 1)) (emacsql (3 0 0))) "Yet another EmacSQL backend for SQLite" single ((:commit . "82b90d493dba404473b515ffd670e0dd0dba1248") (:keywords "extensions") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:url . "https://github.com/cireu/emacsql-sqlite3"))])
+ (emacsshot . [(20191206 944) ((emacs (24 4))) "Snapshot a frame or window from within" tar ((:commit . "fe958b11056f3c671ebdd604d5aa574323284ca5") (:keywords "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl") (:url . "https://gitlab.com/marcowahl/emacsshot"))])
+ (emamux . [(20200315 1220) ((emacs (24 3))) "Interact with tmux" single ((:commit . "6172131d78038f0b1490e24bac60534bf4ad3b30") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-emamux"))])
+ (emamux-ruby-test . [(20130812 1639) ((emamux (0 1)) (projectile (0 9 1))) "Ruby test with emamux" single ((:commit . "23b73c650573b340351a919da3da416acfc2ac84") (:url . "https://github.com/syohex/emamux-ruby-test"))])
+ (emaps . [(20180712 1916) nil "utilities for working with keymaps." single ((:commit . "823b8f72e6459c9f1a5dd62451ee4005ef71d955") (:keywords "convenience" "keyboard" "keymap" "utility") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:url . "https://github.com/GuiltyDolphin/emaps"))])
+ (ember-mode . [(20200208 1423) ((cl-lib (0 5))) "Ember navigation mode for emacs" single ((:commit . "a587c423041b2fcb065fd5b6a03b2899b764e462") (:keywords "ember" "ember.js" "emberjs") (:authors ("Aad Versteden" . "madnificent@gmail.com")) (:maintainer "Aad Versteden" . "madnificent@gmail.com"))])
+ (ember-yasnippets . [(20160526 1658) ((yasnippet (0 8 0))) "Snippets for Ember.js development" tar ((:commit . "3b5bd01569646237bf1b540d097e12f9118b67f4") (:keywords "tools" "abbrev" "languages") (:authors ("Ron White" . "ronco@costite.com")) (:maintainer "Ron White" . "ronco@costite.com"))])
+ (embrace . [(20171031 1833) ((cl-lib (0 5)) (expand-region (0 10 0))) "Add/Change/Delete pairs based on `expand-region'" single ((:commit . "dd5da196e5bcc5e6d87e1937eca0c21da4334ef2") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (emidje . [(20190209 1726) ((emacs (25)) (cider (0 17 0)) (seq (2 16)) (magit-popup (2 4 0))) "Test runner and report viewer for Midje" single ((:commit . "7e92f053964d925c97dc8cca8d4d70a3030021db") (:keywords "tools") (:authors ("Alan Ghelardi" . "alan.ghelardi@nubank.com.br")) (:maintainer "Alan Ghelardi" . "alan.ghelardi@nubank.com.br") (:url . "https://github.com/nubank/emidje"))])
+ (emlib . [(20161126 1523) ((dash (2 13 0)) (cl-lib (0 5))) "A Machine Learning library for Emacs" tar ((:commit . "dea2af00f551ea580c641d86dd69219f7d4f3685") (:keywords "data" "ai" "neural networks" "ml") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:url . "https://github.com/narendraj9/emlib.git"))])
+ (emmet-mode . [(20180613 341) nil "Unofficial Emmet's support for emacs" single ((:commit . "1acb821e0142136344ccf40c1e5fb664d7db2e70") (:keywords "convenience") (:authors ("Shin Aoyama" . "smihica@gmail.com")) (:maintainer "Shin Aoyama" . "smihica@gmail.com") (:url . "https://github.com/smihica/emmet-mode"))])
+ (emms . [(20200212 1825) ((cl-lib (0 5))) "The Emacs Multimedia System" tar ((:commit . "2767c660562d35f02f9b272252a697804d70dd14") (:keywords "emms" "mp3" "mpeg" "multimedia") (:authors ("Jorgen Schäfer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schäfer" . "forcer@forcix.cx") (:url . "http://www.gnu.org/software/emms/"))])
+ (emms-bilibili . [(20180103 418) ((emacs (25)) (cl-lib (0 5))) "Play Bilibili in EMMS." single ((:commit . "294bca3dfc42fe3a55fb326ab39bc0fcfc8c5090") (:keywords "emms" "bilibili") (:url . "https://github.com/stardiviner/emms-bilibili"))])
+ (emms-info-mediainfo . [(20131223 1300) ((emms (0))) "Info-method for EMMS using medianfo" single ((:commit . "bce16eae9eacd38719fea62a9755225a888da59d") (:keywords "multimedia" "processes") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org"))])
+ (emms-mark-ext . [(20130529 327) ((emms (3 0))) "Extra functions for emms-mark-mode and emms-tag-edit-mode" single ((:commit . "ec68129e3e9e469e5bf160c6a1b7030e322f3541") (:keywords "convenience" "multimedia") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/emms-mark-ext"))])
+ (emms-mode-line-cycle . [(20160221 1120) ((emacs (24)) (emms (4 0))) "Display the emms mode line as a ticker" single ((:commit . "2c2f395e484a1d345050ddd61ff5fab71a92a6bc") (:keywords "emms" "mode-line") (:authors ("momomo5717")) (:maintainer "momomo5717") (:url . "https://github.com/momomo5717/emms-mode-line-cycle"))])
+ (emms-player-mpv-jp-radios . [(20180325 1117) ((emacs (24)) (cl-lib (0 5)) (emms (4 0)) (emms-player-simple-mpv (0 1 7))) "EMMS players and stream lists of Japan radio stations" tar ((:commit . "f6b37f5878c741124d5fca43c5b80af873541edd") (:keywords "emms" "mpv" "radio") (:url . "https://github.com/momomo5717/emms-player-mpv-jp-radios"))])
+ (emms-player-simple-mpv . [(20180316 1549) ((emacs (24)) (cl-lib (0 5)) (emms (4 0))) "An extension of emms-player-simple.el for mpv JSON IPC" tar ((:commit . "101d120ccdee1c2c213fd2f0423c858b21649c00") (:keywords "emms" "mpv") (:authors ("momomo5717")) (:maintainer "momomo5717") (:url . "https://github.com/momomo5717/emms-player-simple-mpv"))])
+ (emms-soundcloud . [(20131221 1145) ((emms (20131016)) (json (1 2))) "EMMS source for Soundcloud audio sharing platform" single ((:commit . "87e5cbf9609d1f26c24dc834fdeb78b33d453c2b") (:keywords "emms" "soundcloud") (:authors ("Ozan Sener" . "ozan@ozansener.com")) (:maintainer "Ozan Sener" . "ozan@ozansener.com") (:url . "http://github.com/osener/emms-soundcloud"))])
+ (emms-state . [(20160504 805) ((emms (0))) "Display track description and playing time in the mode line" single ((:commit . "77930300222333b71eafd495cc1fee3a3585eb23") (:keywords "emms") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/emms-state.el"))])
+ (emoji-cheat-sheet-plus . [(20200202 1404) ((emacs (24)) (helm (1 6 4))) "emoji-cheat-sheet for emacs" tar ((:commit . "ffcc84d7060dfa000148e7f8be4fd6701593a74f") (:keywords "emacs" "emoji") (:authors ("Sylvain Benner (based on the work of Shingo Fukuyama)")) (:maintainer "Sylvain Benner (based on the work of Shingo Fukuyama)") (:url . "https://github.com/syl20bnr/emacs-emoji-cheat-sheet-plus"))])
+ (emoji-display . [(20140117 1013) nil "emoji displaying module" single ((:commit . "bb4217f6400151a9cfa6d4524b8427f01feb5193") (:keywords "emoji") (:authors ("Kazuhiro Ito" . "kzhr@d1.dion.ne.jp")) (:maintainer "Kazuhiro Ito" . "kzhr@d1.dion.ne.jp") (:url . "https://github.com/ikazuhiro/emoji-display"))])
+ (emoji-fontset . [(20160726 1924) nil "Set font face for Emoji." single ((:commit . "8f159e8073b9b57a07a54b549df687424eeb98ee") (:keywords "emoji" "font" "config") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))])
+ (emoji-github . [(20200323 233) ((emacs (24 4)) (emojify (1 0)) (request (0 3 0))) "Display list of GitHub's emoji. (cheat sheet)" single ((:commit . "43f63c0dd64aae6c8054c2dad617bf810abdfadd") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/emoji-github"))])
+ (emoji-recall . [(20160723 2208) ((emacs (24))) "How many emoji can you recall from memory?" tar ((:commit . "d9122f8fb1467309260109a1985cd14f18fdf631") (:keywords "game") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/emoji-recall.el"))])
+ (emojify . [(20200427 517) ((seq (1 11)) (ht (2 0)) (emacs (24 3))) "Display emojis in Emacs" tar ((:commit . "005b4da0b4809194b03de3e2705b63efb31688e0") (:keywords "multimedia" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/emacs-emojify"))])
+ (emojify-logos . [(20180814 917) ((emojify (0 4))) "Add logos to emojify" tar ((:commit . "a3e78bcbdf863092d4c9b026ac08bf7d1c7c0e8b") (:authors ("mxgoldstein" . "m_goldstein@gmx.net")) (:maintainer "mxgoldstein" . "m_goldstein@gmx.net") (:url . "https://github.com/mxgoldstein/emojify-logos"))])
+ (empos . [(20151011 1916) nil "Locate bibtex citations from within emacs" single ((:commit . "7b99ad30e56937adb7e6349777e5a2045597d564") (:keywords "citations" "reference" "bibtex" "reftex") (:authors ("Dimitris Alikaniotis <da352 [at] cam.ac.uk>")) (:maintainer "Dimitris Alikaniotis <da352 [at] cam.ac.uk>") (:url . "http://github.com/dimalik/empos/"))])
+ (emr . [(20200420 721) ((s (1 3 1)) (dash (1 2 0)) (cl-lib (0 2)) (popup (0 5 0)) (emacs (24 1)) (list-utils (0 3 0)) (paredit (24 0 0)) (projectile (0 9 1)) (clang-format (0 0 1)) (iedit (0 97))) "Emacs refactoring system." tar ((:commit . "a8f6ab823453decf43f0764d02e554d05009a631") (:keywords "tools" "convenience" "refactoring") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com") (:url . "https://github.com/Wilfred/emacs-refactor"))])
+ (enclose . [(20121008 1614) nil "Enclose cursor within punctuation pairs." tar ((:commit . "2747653e84af39017f503064bc66ed1812a77259"))])
+ (encourage-mode . [(20151128 905) ((emacs (24 4))) "Encourages you in your work. :D" single ((:commit . "99edacf2d94d168d3da0609860dc7253db7c9815") (:keywords "fun") (:authors ("Patrick Mosby" . "patrick@schreiblogade.de")) (:maintainer "Patrick Mosby" . "patrick@schreiblogade.de") (:url . "https://github.com/halbtuerke/encourage-mode.el"))])
+ (engine-mode . [(20191105 750) ((cl-lib (0 5))) "Define and query search engines from within Emacs." single ((:commit . "96b3488a6de2f50b8ba3a101e04ebcbe9821a989") (:authors ("Harry R. Schwartz" . "hello@harryrschwartz.com")) (:maintainer "Harry R. Schwartz" . "hello@harryrschwartz.com") (:url . "https://github.com/hrs/engine-mode"))])
+ (enh-ruby-mode . [(20191111 2243) ((emacs (24 3))) "Major mode for editing Ruby files" tar ((:commit . "732331b99a0884dd7fc0149658d4090886857656") (:keywords "languages" "elisp" "ruby") (:authors ("Geoff Jacobsen")) (:maintainer "Ryan Davis") (:url . "http://github.com/zenspider/Enhanced-Ruby-Mode"))])
+ (enlive . [(20170725 1417) nil "query html document with css selectors" single ((:commit . "604a8ca272b6889f114e2b5a13adb5b1dc4bae86") (:keywords "css" "selector" "query") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/enlive"))])
+ (eno . [(20191013 1239) ((dash (2 12 1)) (edit-at-point (1 0))) "Goto/copy/cut any word/symbol/line in view, similar to ace-jump/easymotion" single ((:commit . "c5c6193687c0bede1ddf507c430cf8b0a6d272d9") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/eno.el"))])
+ (enotify . [(20130407 1348) nil "A networked notification system for emacs" tar ((:commit . "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80"))])
+ (eopengrok . [(20200205 624) ((s (1 9 0)) (dash (2 10 0)) (magit (2 1 0)) (cl-lib (0 5))) "opengrok interface for emacs" single ((:commit . "6fa16c4ccaaebaef64dca0d3d29904c45fd6597d") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))])
+ (epc . [(20140610 534) ((concurrent (0 3 1)) (ctable (0 1 2))) "A RPC stack for the Emacs Lisp" tar ((:commit . "e1bfa5ca163273859336e3cc89b4b6460f7f8cda") (:keywords "lisp" "rpc") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-epc"))])
+ (epic . [(20170210 23) ((htmlize (1 47))) "Evernote Picker for Cocoa Emacs" single ((:commit . "a41826c330eb0ea061d58a08cc861b0c4ac8ec4e") (:keywords "evernote" "applescript") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:url . "https://github.com/yoshinari-nomura/epic"))])
+ (epkg . [(20200309 546) ((closql (1 0 1)) (dash (2 16 0)) (emacs (25 1))) "browse the Emacsmirror package database" tar ((:commit . "37f06fd2daca6a7afa163ceb0ccccd450af85e68") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/epkg"))])
+ (epl . [(20180205 2049) ((cl-lib (0 3))) "Emacs Package Library" single ((:commit . "78ab7a85c08222cd15582a298a364774e3282ce6") (:keywords "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/cask/epl"))])
+ (epm . [(20190509 443) ((emacs (24 3)) (epl (0 8))) "Emacs Package Manager" tar ((:commit . "6375ddbf93c5f25647f6ebb25b54045b3c93a5be") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/epm"))])
+ (epresent . [(20160411 201) ((org (8)) (cl-lib (0 5))) "Simple presentation mode for Emacs Org-mode" single ((:commit . "6c8abedcf46ff08091fa2bba52eb905c6290057d") (:keywords "gui") (:url . "https://github.com/dakrone/epresent"))])
+ (eprime-mode . [(20140513 1816) nil "An E-prime checking mode for Emacs" single ((:commit . "17a481af26496be91c07139a9bfc05cfe722506f") (:keywords "e-prime" "english" "grammar") (:authors ("Andrew Hynes" . "andrewhynes@openmailbox.org")) (:maintainer "Andrew Hynes" . "andrewhynes@openmailbox.org") (:url . "https://github.com/AndrewHynes/eprime-mode"))])
+ (eproject . [(20180312 1642) ((helm (1 6 4))) "assign files to projects, programatically" tar ((:commit . "068218d2cf2138cb2e8fc29b57e773a0097a7e8b") (:keywords "programming" "projects") (:authors ("Jonathan Rockway" . "jon@jrock.us")) (:maintainer "Jonathan Rockway" . "jon@jrock.us"))])
+ (equake . [(20200429 209) ((emacs (25)) (dash (2 14 1)) (tco (20190309 55))) "drop-drop console for eshell & terminal emulation" single ((:commit . "7e8ef8627151748156e7a4a384b6e8c6c344261b") (:keywords "convenience" "frames" "terminals" "tools" "window-system") (:authors ("Benjamin Slade" . "slade@jnanam.net")) (:maintainer "Benjamin Slade" . "slade@jnanam.net") (:url . "https://gitlab.com/emacsomancer/equake"))])
+ (erc-colorize . [(20170107 1339) nil "Per user colorization of whole message" single ((:commit . "d026a016dcb9d63d9ac66d30627a92a8f1681bbd") (:keywords "erc" "convenience") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/erc-colorize.git"))])
+ (erc-crypt . [(20200430 45) ((cl-lib (0 5))) "Symmetric Encryption for ERC" single ((:commit . "f028c3113c0d982f4974b46bce13f3fce11963b1") (:keywords "comm") (:authors ("xristos" . "xristos@sdf.org")) (:maintainer "xristos" . "xristos@sdf.org") (:url . "https://github.com/atomontage/erc-crypt"))])
+ (erc-hl-nicks . [(20200317 16) nil "ERC nick highlighter that ignores uniquifying chars when colorizing" single ((:commit . "a67fe361c8f2aa20fc235447fbb898f424b51439") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/erc-hl-nicks"))])
+ (erc-image . [(20180522 1424) nil "Show received image urls in the ERC buffer" single ((:commit . "82fb3871f02e24b1e880770b9a3d187aab43d0f0") (:keywords "multimedia") (:authors ("Jon de Andrés Frías" . "jondeandres@gmail.com") ("Raimon Grau Cuscó" . "raimonster@gmail.com")) (:maintainer "Jon de Andrés Frías" . "jondeandres@gmail.com"))])
+ (erc-scrolltoplace . [(20180608 606) ((emacs (24 0)) (switch-buffer-functions (0 0 1))) "An Erc module to scrolltobottom better with keep-place" single ((:commit . "feb0fbf1fd4bdf220ae2d31ea7c066d8e62089f9") (:keywords "erc" "module" "comm" "scrolltobottom" "keep-place") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/erc-scrolltoplace"))])
+ (erc-social-graph . [(20150508 1204) nil "A social network graph module for ERC." single ((:commit . "e6ef3416a1c5064054bf054d9f0c1c7bf54a9cd0") (:keywords "erc" "graph") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/erc-social-graph"))])
+ (erc-status-sidebar . [(20171223 2124) ((emacs (24 5)) (seq (2 3))) "a hexchat-like activity overview for ERC channels" single ((:commit . "ea4189a1dbfe60117359c36e681ad7c389e2968c") (:authors ("Andrew Barbarello")) (:maintainer "Andrew Barbarello") (:url . "https://github.com/drewbarbs/erc-status-sidebar"))])
+ (erc-terminal-notifier . [(20140115 1024) nil "OSX notifications via the terminal-notifier gem for Emacs ERC." single ((:commit . "a3dacb935845e4a20031212bbd82b2170f68d2a8") (:keywords "erc" "terminal-notifier" "nick") (:authors ("Julien Blanchard" . "julien@sideburns.eu")) (:maintainer "Julien Blanchard" . "julien@sideburns.eu") (:url . "http://github.com/julienXX/"))])
+ (erc-track-score . [(20130328 1215) nil "Add score support to tracked channel buffers" single ((:commit . "5b27531ea6b1a4c4b703b270dfa9128cb5bfdaa3") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "http://julien.danjou.info/erc-track-score.html"))])
+ (erc-tweet . [(20150920 1258) nil "shows text of a tweet when an url is posted in erc buffers" single ((:commit . "91fed61e139fa788d66a7358f0d50acc896414b8") (:keywords "extensions") (:authors ("Raimon Grau" . "raimonster@gmail.com")) (:maintainer "Raimon Grau" . "raimonster@gmail.com"))])
+ (erc-twitch . [(20170427 606) ((json (1 3)) (erc (5 0))) "Support for Twitch emotes for ERC." single ((:commit . "53c6af0cb72e56d897d30a40e7e5066668d6b5ec") (:keywords "twitch" "erc" "emotes") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/erc-twitch"))])
+ (erc-view-log . [(20140227 2039) nil "Major mode for viewing ERC logs" single ((:commit . "c5a25f0cbca84ed2e4f72068c02b66bd0ea3b266") (:keywords "erc" "viewer" "logs" "colors") (:authors ("Antoine Levitt") ("Thomas Riccardi" . "riccardi.thomas@gmail.com")) (:maintainer "Antoine Levitt") (:url . "http://github.com/Niluge-KiWi/erc-view-log/raw/master/erc-view-log.el"))])
+ (erc-youtube . [(20150603 2136) nil "Show info about a YouTube URL in an ERC buffer." single ((:commit . "97054ba8475b442e2aa81e5a291f668b7f28697f") (:keywords "multimedia") (:authors ("Raimon Grau Cuscó" . "raimonster@gmail.com")) (:maintainer "Raimon Grau Cuscó" . "raimonster@gmail.com"))])
+ (erc-yt . [(20150426 1249) ((dash (2 10 0))) "An erc module to display youtube links nicely" single ((:commit . "43e7d49325b17a3217a6ffb4a9daf75c5ff4e6f8") (:keywords "multimedia") (:authors ("William Stevenson" . "yhvh2000@gmail.com")) (:maintainer "William Stevenson" . "yhvh2000@gmail.com"))])
+ (ercn . [(20150523 1503) nil "Flexible ERC notifications" single ((:commit . "79a4df5609046ae2e2e3375998287be6dda80615") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/ercn"))])
+ (ereader . [(20170810 501) ((emacs (24 4)) (dash (2 12 1)) (s (1 10 0)) (xml+ (0 0 0))) "Major mode for reading ebooks with org-mode integration" tar ((:commit . "f3bbd3f13195f8fba3e3c880aab0e4c60430dcf3") (:keywords "epub" "ebook") (:authors ("Ben Dean" . "bendean837@gmail.com")) (:maintainer "Ben Dean" . "bendean837@gmail.com") (:url . "https://github.com/bddean/emacs-ereader"))])
+ (eredis . [(20181119 131) ((dash (0))) "eredis, a Redis client in emacs lisp" single ((:commit . "bc86b9f63a3e7a5eb263875030d0e15d6f5f6e37") (:keywords "redis" "api" "tools" "org") (:authors ("Justin Heyes-Jones" . "justinhj@gmail.com")) (:maintainer "Justin Heyes-Jones" . "justinhj@gmail.com") (:url . "http://github.com/justinhj/eredis/"))])
+ (erefactor . [(20160121 959) ((cl-lib (0 3))) "Emacs-Lisp refactoring utilities" single ((:commit . "bf68085e5635eb94fd85709f8e1355c1f5534745") (:keywords "extensions" "tools" "maint") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-erefactor"))])
+ (ergoemacs-mode . [(20200319 1250) ((emacs (24 1)) (undo-tree (0 6 5)) (cl-lib (0 5))) "Emacs mode based on common modern interface and ergonomics." tar ((:commit . "4a6ba06d9c618e9380d059fa25ed677b45d134a7") (:keywords "convenience") (:authors ("Xah Lee" . "xah@xahlee.org") ("David Capello" . "davidcapello@gmail.com") ("Matthew L. Fidler" . "matthew.fidler@gmail.com")) (:maintainer "Matthew L. Fidler" . "matthew.fidler@gmail.com") (:url . "https://github.com/ergoemacs/ergoemacs-mode"))])
+ (ergoemacs-status . [(20160318 538) ((powerline (2 3)) (mode-icons (0 1 0))) "Adaptive Status Bar / Mode Line" single ((:commit . "d952cc2361adf6eb4d6af60950ad4ab699c81320") (:authors ("Matthew Fidler")) (:maintainer "Matthew Fidler"))])
+ (erlang . [(20200313 1030) ((emacs (24 1))) "Erlang major mode" tar ((:commit . "d9516215a82c9297180da0196f0e1e43cfd26535"))])
+ (erlstack-mode . [(20190812 1117) ((emacs (25 1)) (dash (2 12 0))) "Minor mode for analysing Erlang stacktraces" single ((:commit . "d0a67fb6f91cef02376e71b4b4669b071ebd9737") (:keywords "tools" "erlang") (:authors ("k32")) (:maintainer "k32") (:url . "https://github.com/k32/erlstack-mode"))])
+ (eros . [(20180415 618) ((emacs (24 4))) "Evaluation Result OverlayS for Emacs Lisp" single ((:commit . "dd8910279226259e100dab798b073a52f9b4233a") (:keywords "convenience" "lisp") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/xiongtx/eros"))])
+ (ert-async . [(20200105 1031) ((emacs (24 1))) "Async support for ERT" single ((:commit . "948cf2faa10e085bda3739034ca5ea1912893433") (:keywords "lisp" "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-async.el"))])
+ (ert-expectations . [(20121009 734) nil "The simplest unit test framework in the world" single ((:commit . "aed70e002c4305b66aed7f6d0d48e9addd2dc1e6") (:keywords "test" "unittest" "ert" "expectations") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/emacs/download/ert-expectations.el"))])
+ (ert-junit . [(20190802 2232) ((ert (0)) (emacs (23 4))) "JUnit XML reports from ert results" single ((:commit . "65f91c35b088b87943dbbbe7e1ce354bc9bc0992") (:keywords "tools" "test" "unittest" "ert") (:authors ("Ola Nilsson" . "ola.nilsson@gmail.com")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:url . "http://bitbucket.org/olanilsson/ert-junit"))])
+ (ert-modeline . [(20140115 1015) ((s (1 3 1)) (dash (1 2 0)) (emacs (24 1)) (projectile (0 9 1))) "displays ert test results in the modeline." single ((:commit . "e7be2b81191afb437b70368a819770f8f750e4af") (:keywords "tools" "tests" "convenience") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))])
+ (ert-runner . [(20200321 2158) ((s (1 6 1)) (dash (1 8 0)) (f (0 10 0)) (commander (0 2 0)) (ansi (0 1 0)) (shut-up (0 1 0))) "Opinionated Ert testing workflow" tar ((:commit . "1829f05c46b0baaae160d900f89c8881f4fcdbcc") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-runner.el"))])
+ (es-lib . [(20141111 1830) ((cl-lib (0 3))) "A collection of emacs utilities" tar ((:commit . "753b27363e39c10edc9e4e452bdbbbe4d190df4a") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/es-lib"))])
+ (es-mode . [(20191119 2018) ((dash (2 11 0)) (cl-lib (0 5)) (spark (1 0)) (s (1 11 0)) (request (0 3 0))) "A major mode for editing and executing Elasticsearch queries" tar ((:commit . "9e5bcb290b38d5bd143e0ee480ed49147cfd3504") (:keywords "elasticsearch") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:url . "http://www.github.com/dakrone/es-mode"))])
+ (es-windows . [(20140211 904) ((cl-lib (0 3)) (emacs (24))) "Window-management utilities" single ((:commit . "239e30408cb1adb4bc8bd63e2df34711fa910b4f") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/es-windows"))])
+ (esa . [(20180403 1525) ((cl-lib (0 5))) "Interface to esa.io" single ((:commit . "417e0ac55abe9b17e0b7165d0df26bc018aff42e") (:keywords "tools" "esa") (:authors ("Nab Inno" . "nab@blahfe.com")) (:maintainer "Nab Inno" . "nab@blahfe.com") (:url . "https://github.com/nabinno/esa.el"))])
+ (esh-autosuggest . [(20190228 401) ((emacs (24 4)) (company (0 9 4))) "History autosuggestions for eshell" single ((:commit . "972094808d231a86dc6e43862191167b1997d840") (:keywords "completion" "company" "matching" "convenience" "abbrev") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/dieggsy/esh-autosuggest"))])
+ (esh-buf-stack . [(20140107 1018) nil "Add a buffer stack feature to Eshell" single ((:commit . "ce0ea5aadca3150eaa9d2e6ec20296add4e99176") (:keywords "eshell" "extensions") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com"))])
+ (esh-help . [(20190905 22) ((dash (1 4 0))) "Add some help functions and support for Eshell" single ((:commit . "417673ed18a983930a66a6692dbfb288a995cb80") (:keywords "eshell" "extensions") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/esh-help/"))])
+ (eshell-autojump . [(20150927 724) nil "autojump command for Eshell" single ((:commit . "c6a8b81a16576df9875e721fbbfe6690d04e7e43") (:authors ("Alex Schroeder")) (:maintainer "Yen-Chin, Lee" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/eshell-autojump"))])
+ (eshell-bookmark . [(20170922 1514) ((emacs (24 3))) "Integrate bookmarks with eshell." single ((:commit . "99a491c77e27ecc4626bdd4ad453ac71aa2654d4") (:keywords "convenience" "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/eshell-bookmark"))])
+ (eshell-did-you-mean . [(20150915 1952) ((emacs (24 1)) (cl-lib (0 5))) "command not found (\"did you mean…\" feature) in Eshell" single ((:commit . "7cb6ef8e2274d0a50a9e114d412307a6543533d5") (:keywords "eshell") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/eshell-did-you-mean"))])
+ (eshell-fixed-prompt . [(20190111 2235) ((emacs (25)) (s (1 11 0))) "Restrict eshell to a single fixed prompt" single ((:commit . "2c860029354bf1f69edc1f12e4a0d9aeb9054f5d") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))])
+ (eshell-fringe-status . [(20170117 2316) nil "Show last status in fringe" single ((:commit . "adc6997c68e39c0d52a2af1b2fd5cf2057783797") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/eshell-fringe-status/"))])
+ (eshell-git-prompt . [(20200109 2250) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 11 0))) "Some Eshell prompt for Git users" single ((:commit . "48ee35774c9b8d0e2d96110e3ae84bac60f43dfd") (:keywords "eshell" "git") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-git-prompt"))])
+ (eshell-prompt-extras . [(20200319 322) ((emacs (25))) "Display extra information for your eshell prompt." single ((:commit . "1801b3aeccf1363f138fe01ee99d892d10fc2a07") (:keywords "eshell" "prompt") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/zwild/eshell-prompt-extras"))])
+ (eshell-toggle . [(20200107 2230) ((emacs (25 1)) (dash (2 11 0))) "Show/hide eshell under active window." single ((:commit . "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033") (:keywords "processes") (:authors ("Dmitry Cherkassov" . "dcherkassov@gmail.com")) (:maintainer "Dmitry Cherkassov" . "dcherkassov@gmail.com") (:url . "https://github.com/4da/eshell-toggle"))])
+ (eshell-up . [(20170425 1737) ((emacs (24))) "Quickly go to a specific parent directory in eshell" single ((:commit . "9c100bae5c3020e8d9307e4332d3b64e7dc28519") (:keywords "eshell") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/eshell-up"))])
+ (eshell-z . [(20191116 333) ((cl-lib (0 5))) "cd to frequent directory in eshell" single ((:commit . "337cb241e17bd472bd3677ff166a0800f684213c") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-z"))])
+ (eslint-fix . [(20180514 700) nil "Fix JavaScript files using ESLint" single ((:commit . "f81f3b47a47460611fbdbdae1d23275ec78f2f8d") (:keywords "tools" "javascript" "eslint" "lint" "formatting" "style") (:authors ("Neri Marschik" . "marschik_neri@cyberagent.co.jp")) (:maintainer "Neri Marschik" . "marschik_neri@cyberagent.co.jp") (:url . "https://github.com/codesuki/eslint-fix"))])
+ (eslintd-fix . [(20190830 2116) ((dash (2 12 0)) (emacs (24 3))) "use eslint_d to automatically fix js files" single ((:commit . "0c431141be9a408c28aead152ea454df0804364f") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/eslintd-fix"))])
+ (esonify . [(20190110 1621) ((deferred (0 3 1)) (cl-lib (0 5))) "Sonify your code" tar ((:commit . "bdc79d4ab2e3c449b5bef46e5cabc552beeed5c6") (:authors ("Oliver Flatt" . "oflatt@gmail.com")) (:maintainer "Oliver Flatt" . "oflatt@gmail.com") (:url . "https://github.com/oflatt/esonify"))])
+ (espresso-theme . [(20181025 826) nil "Espresso Tutti Colori port for Emacs" single ((:commit . "d2fa034eb833bf37cc6842017070725e0da9b046") (:authors ("Martin Kühl <purl.org/net/mkhl>")) (:maintainer "Martin Kühl <purl.org/net/mkhl>") (:url . "https://github.com/dgutov/espresso-theme"))])
+ (espuds . [(20160905 1300) ((s (1 7 0)) (dash (2 2 0)) (f (0 12 1))) "Ecukes step definitions" single ((:commit . "78fc53feaf77a98d63894cd410faee2a18107b00") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/ecukes/espuds"))])
+ (espy . [(20200317 2333) ((emacs (24))) "Emacs Simple Password Yielder" single ((:commit . "2c01be937a5e5bde62921684a0b27300705fb4e0") (:keywords "convenience") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/espy"))])
+ (esqlite . [(20151206 1206) ((pcsv (1 3 3))) "Manipulate sqlite file from Emacs" single ((:commit . "08a779a821f8d32c1a1985d8d9eb6cf21646ce2e") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))])
+ (esqlite-helm . [(20151116 850) ((esqlite (0 2 0)) (helm (20131207 845))) "Define helm source for sqlite database" single ((:commit . "08a779a821f8d32c1a1985d8d9eb6cf21646ce2e") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))])
+ (ess . [(20200419 1920) ((emacs (25 1)) (julia-mode (0 3))) "Emacs Speaks Statistics" tar ((:commit . "6ae95ee97ca7ed66a18680a631f887be8e8ea90f") (:authors ("David Smith" . "dsmith@stats.adelaide.edu.au") ("A.J. Rossini" . "blindglobe@gmail.com") ("Richard M. Heiberger" . "rmh@temple.edu") ("Kurt Hornik" . "Kurt.Hornik@R-project.org") ("Martin Maechler" . "maechler@stat.math.ethz.ch") ("Rodney A. Sparapani" . "rsparapa@mcw.edu") ("Stephen Eglen" . "stephen@gnu.org") ("Sebastian P. Luque" . "spluque@gmail.com") ("Henning Redestig" . "henning.red@googlemail.com") ("Vitalie Spinu" . "spinuvit@gmail.com") ("Lionel Henry" . "lionel.hry@gmail.com") ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "ESS Core Team" . "ESS-core@r-project.org") (:url . "https://ess.r-project.org/"))])
+ (ess-R-data-view . [(20130509 1158) ((ctable (20130313 1743)) (popup (20130324 1305)) (ess (20130225 1754))) "Data viewer for GNU R" single ((:commit . "d6e98d3ae1e2a2ea39a56eebcdb73e99d29562e9") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ess-R-data-view.el"))])
+ (ess-smart-equals . [(20190204 449) ((emacs (25 1)) (ess (18 10))) "flexible, context-sensitive assignment key for R/S" single ((:commit . "746cf9e78c3b86cbbf78d69c335a8a4ff3da79d6") (:keywords "r" "s" "ess" "convenience") (:authors ("Christopher R. Genovese" . "genovese@cmu.edu")) (:maintainer "Christopher R. Genovese" . "genovese@cmu.edu") (:url . "https://github.com/genovese/ess-smart-equals"))])
+ (ess-smart-underscore . [(20190309 101) ((ess (0))) "Ess Smart Underscore" tar ((:commit . "aa871c5b0448515db439ea9bed6a8574e82ddb47") (:keywords "ess" "underscore") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew Fidler") (:url . "http://github.com/mlf176f2/ess-smart-underscore.el"))])
+ (ess-view . [(20181001 1730) ((ess (15)) (s (1 8 0)) (f (0 16 0))) "View R dataframes in a spreadsheet software" single ((:commit . "d4e5a340b7bcc58c434867b97923094bd0680283") (:keywords "extensions" "ess") (:authors ("Bocci Gionata" . "boccigionata@gmail.com")) (:maintainer "Bocci Gionata" . "boccigionata@gmail.com") (:url . "https://github.com/GioBo/ess-view"))])
+ (esup . [(20200318 2256) ((cl-lib (0 5)) (emacs (25))) "The Emacs StartUp Profiler (ESUP)" tar ((:commit . "c9c95e245068d15d8e2732098af9a5d2bc8ec931") (:keywords "convenience" "processes") (:authors ("Joe Schafer" . "joe@jschaf.com")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:url . "https://github.com/jschaf/esup"))])
+ (esxml . [(20171129 807) nil "Library for working with xml via esxml and sxml" tar ((:commit . "193d199305e7abcb5ed795b9bc5434ded20ae60e"))])
+ (etable . [(20161028 2009) ((dash (2 9 0)) (interval-list (0 1)) (emacs (24 4))) "Implementation of javax.swing.JTable for Emacs." tar ((:commit . "d502141f0c69bf95256ba5cb9cd15350c7e942d2"))])
+ (eterm-256color . [(20190123 401) ((emacs (24 4)) (xterm-color (1 7)) (f (0 19 0))) "Customizable 256 colors for term." tar ((:commit . "0f0dab497239ebedbc9c4a48b3ec8cce4a47e980") (:keywords "faces") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/dieggsy/eterm-256color"))])
+ (eterm-fn . [(20191010 2331) ((term (0))) "Function keys (F1--F12) for term." tar ((:commit . "66f3b2f6308fa2ac4d8a32be5a7e35a96e08a9ee") (:url . "https://github.com/oitofelix/eterm-fn") (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")))])
+ (ethan-wspace . [(20190522 1448) nil "whitespace customizations for emacs" single ((:commit . "0f110fc26b829093c352e8dc9e50ba51a4e483ac") (:keywords "whitespace" "tab" "newline" "trailing" "clean") (:authors ("Ethan Glasser-Camp" . "ethan@betacantrips.com")) (:maintainer "Ethan Glasser-Camp" . "ethan@betacantrips.com"))])
+ (euslisp-mode . [(20170830 1929) ((emacs (24 3)) (s (1 9)) (exec-path-from-shell (0)) (helm-ag (0 58))) "Major mode for Euslisp-formatted text" single ((:commit . "db62a2d148482317794727982576494596365a55") (:keywords "euslisp" "euslisp" "github") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:url . "https://github.com/iory/euslisp-mode"))])
+ (eval-expr . [(20120619 647) nil "enhanced eval-expression command" single ((:commit . "a0e69e83de41df8dbccefc1962ab4f02206a3328") (:keywords "lisp" "extensions") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer nil . "friedman@splode.com"))])
+ (eval-in-repl . [(20191116 1107) ((dash (0 0 0)) (paredit (0 0 0)) (ace-window (0 0 0))) "Consistent ESS-like eval interface for various REPLs" tar ((:commit . "0fe2d3fa0fd1739ec096f149dc067b586e05c75c") (:url . "https://github.com/kaz-yos/eval-in-repl/"))])
+ (eval-sexp-fu . [(20191128 825) ((cl-lib (0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "36d2fe3bcf602e15ca10a7f487da103515ef391a") (:keywords "lisp" "highlight" "convenience") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))])
+ (evalator . [(20160213 128) ((helm-core (1 9 1))) "Package for interactive transformation of data with helm" tar ((:commit . "f30da4da48c0b3f3cfa1fc1c7cfdb53ffe79df36") (:keywords "languages" "elisp" "helm") (:authors ("Sean Irby")) (:maintainer "Sean Irby" . "sean.t.irby@gmail.com") (:url . "http://www.github.com/seanirby/evalator"))])
+ (evalator-clojure . [(20160208 2148) ((cider (0 10 0)) (evalator (1 0 0))) "Clojure evaluation context for evalator via CIDER." tar ((:commit . "caa4e0a137bdfada86593128a654e16aa617ad50") (:keywords "languages" "clojure" "cider" "helm") (:authors ("Sean Irby")) (:maintainer "Sean Irby" . "sean.t.irby@gmail.com") (:url . "http://www.github.com/seanirby/evalator-clojure"))])
+ (eve-mode . [(20170822 2231) ((emacs (25)) (polymode (1 0)) (markdown-mode (2 0))) "Major mode for editing Eve documents." single ((:commit . "a4661114d9c18725691b76321d72167ca5a9070a") (:keywords "languages" "wp" "tools") (:authors ("Joshua Cole" . "joshuafcole@gmail.com")) (:maintainer "Joshua Cole" . "joshuafcole@gmail.com") (:url . "https://github.com/witheve/emacs-eve-mode"))])
+ (evil . [(20200417 1238) ((emacs (24 1)) (undo-tree (0 7 4)) (goto-chg (1 6)) (cl-lib (0 5))) "Extensible Vi layer for Emacs." tar ((:commit . "d243eae8649272799ec3864fde14c1164f036940"))])
+ (evil-anzu . [(20170124 718) ((evil (1 0 0)) (anzu (0 46))) "anzu for evil-mode" single ((:commit . "9bca6ca14d865e7e005bc02a28a09b4ae74facc9") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com") ("Fredrik Bergroth" . "fbergroth@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-evil-anzu"))])
+ (evil-args . [(20180908 2157) ((evil (1 0 8))) "Motions and text objects for delimited arguments in Evil." single ((:commit . "758ad5ae54ad34202064fec192c88151c08cb387") (:keywords "evil" "vim-emulation") (:authors ("Connor Smith" . "wconnorsmith@gmail.com")) (:maintainer "Connor Smith" . "wconnorsmith@gmail.com") (:url . "http://github.com/wcsmith/evil-args"))])
+ (evil-avy . [(20150908 748) ((emacs (24 1)) (cl-lib (0 5)) (avy (0 3 0)) (evil (1 2 3))) "set-based completion" single ((:commit . "2dd955cc3ecaa7ddeb67b295298abdc6d16dd3a5") (:keywords "point" "location" "evil" "vim") (:authors ("Yufan Lou" . "loganlyf@gmail.com")) (:maintainer "Yufan Lou" . "loganlyf@gmail.com") (:url . "https://github.com/louy2/evil-avy"))])
+ (evil-better-visual-line . [(20200123 2045) ((evil (1 2 13))) "gj and gk visual line mode fix" single ((:commit . "4373f930ab1a8d3a2a90e68540967702313b2ce9") (:keywords "evil" "vim" "motion") (:authors ("<nuckollsp at gmail.com>")) (:maintainer "<nuckollsp at gmail.com>") (:url . "https://github.com/yourfin/evil-better-visual-line"))])
+ (evil-cleverparens . [(20170718 413) ((evil (1 0)) (paredit (1)) (smartparens (1 6 1)) (emacs (24 4)) (dash (2 12 0))) "Evil friendly minor-mode for editing lisp." tar ((:commit . "8c45879d49bfa6d4e414b6c1df700a4a51cbb869") (:keywords "cleverparens" "parentheses" "evil" "paredit" "smartparens") (:authors ("Olli Piepponen" . "opieppo@gmail.com")) (:maintainer "Olli Piepponen" . "opieppo@gmail.com") (:url . "https://github.com/luxbock/evil-cleverparens"))])
+ (evil-colemak-basics . [(20170425 1209) ((emacs (24)) (evil (1 2 12)) (evil-snipe (2 0 3))) "Basic Colemak key bindings for evil-mode" single ((:commit . "7844079b47f47bb1dc24c885b0ac2e67524fa960") (:keywords "colemak" "evil") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-colemak-basics"))])
+ (evil-colemak-minimal . [(20171006 1317) ((emacs (24)) (evil (1 2 12))) "Minimal Colemak key bindings for evil-mode" single ((:commit . "6d98b6da60f414524a0d718f76024c26dce742b3") (:keywords "colemak" "evil") (:authors ("Bryan Allred" . "bryan@revolvingcow.com")) (:maintainer "Bryan Allred" . "bryan@revolvingcow.com") (:url . "https://github.com/bmallred/evil-colemak-minimal"))])
+ (evil-collection . [(20200429 233) ((emacs (25 1)) (cl-lib (0 5)) (evil (1 2 13)) (annalist (1 0))) "A set of keybindings for Evil mode" tar ((:commit . "ba3630476b3927d9d2e3ec75308a28e3a5bd54a8") (:keywords "evil" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/emacs-evil/evil-collection"))])
+ (evil-commentary . [(20170413 1451) ((evil (1 0 0))) "Comment stuff out. A port of vim-commentary." tar ((:commit . "395f91014b69844b81660c155f42eb9b1b3d199d") (:keywords "evil" "comment" "commentary" "evil-commentary") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:url . "http://github.com/linktohack/evil-commentary"))])
+ (evil-dvorak . [(20160416 1841) ((evil (1 0 8))) "evil keybindings for that work with dvorak mode" tar ((:commit . "824f7c56980d72a0ff04c662223540cd66f13754") (:keywords "evil" "vim-emulation" "dvorak" "keyboard") (:url . "https://github.com/jbranso/evil-dvorak.git"))])
+ (evil-easymotion . [(20200424 135) ((emacs (24)) (avy (0 3 0)) (cl-lib (0 5))) "A port of vim's easymotion to emacs" single ((:commit . "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9") (:keywords "convenience" "evil") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/evil-easymotion"))])
+ (evil-ediff . [(20170724 1923) ((evil (1 2 3))) "Make ediff a little evil" single ((:commit . "50d26cb0654fca8f8fd7227410e5cbf0b8f681cf") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/evil-ediff"))])
+ (evil-embrace . [(20160519 1829) ((emacs (24 4)) (embrace (0 1 0)) (evil-surround (0))) "Evil integration of embrace.el" single ((:commit . "4379adea032b25e359d01a36301b4a5afdd0d1b7") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (evil-escape . [(20180910 1234) nil "No description available." single ((:commit . "f4e9116bfbaac8c9d210c17ad488e0982291245f"))])
+ (evil-ex-fasd . [(20180903 612) ((emacs (24 4)) (evil (1 1 0)) (fasd (0))) "using fasd right from evil-ex" single ((:commit . "ed8fbbe23a8a268d9dcbf1a6132e928ba2c655c5") (:keywords "tools" "fasd" "evil" "navigation") (:authors ("Rashawn Zhang" . "namy.19@gmail.com")) (:maintainer "Rashawn Zhang" . "namy.19@gmail.com") (:url . "https://github.com/yqrashawn/evil-ex-fasd"))])
+ (evil-ex-shell-command . [(20181226 226) ((emacs (24 4)) (evil (1 1 0))) "invoke shell-command right from evil-ex" single ((:commit . "a6ca6d27c07f6a0807abfb5b8f8865f1d17f54aa") (:keywords "tools" "shell-command" "evil") (:authors ("Rashawn Zhang" . "namy.19@gmail.com")) (:maintainer "Rashawn Zhang" . "namy.19@gmail.com") (:url . "https://github.com/yqrashawn/evil-ex-shell-command"))])
+ (evil-exchange . [(20200118 252) ((evil (1 2 8)) (cl-lib (0 3))) "Exchange text more easily within Evil" single ((:commit . "3030e21ee16a42dfce7f7cf86147b778b3f5d8c1") (:keywords "evil" "plugin") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "http://github.com/Dewdrops/evil-exchange"))])
+ (evil-expat . [(20190521 714) ((emacs (24 3)) (evil (1 0 0))) "Evil ex commands" single ((:commit . "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-expat"))])
+ (evil-extra-operator . [(20161213 403) ((evil (1 0 7))) "Evil operator for evaluating codes, taking notes, searching via google, etc." single ((:commit . "e16a9b36f9901254da9af8a73871061616410fc3") (:keywords "evil" "plugin") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "http://github.com/Dewdrops/evil-extra-operator"))])
+ (evil-find-char-pinyin . [(20160514 2041) ((evil (1 2 12)) (pinyinlib (0 1 0))) "Evil's f/F/t/T/evil-snipe commands with Pinyin support" single ((:commit . "04e277946d658f1a73c68dcbbadea9c21097a31c") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (evil-fringe-mark . [(20190320 453) ((emacs (24 3)) (evil (1 0 0)) (fringe-helper (0 1 1)) (goto-chg (1 6))) "Display evil-mode marks in the fringe" tar ((:commit . "a1689fddb7ee79aaa720a77aada1208b8afd5c20") (:authors ("Andrew Smith" . "andy.bill.smith@gmail.com")) (:maintainer "Andrew Smith" . "andy.bill.smith@gmail.com") (:url . "https://github.com/Andrew-William-Smith/evil-fringe-mark"))])
+ (evil-god-state . [(20141117 255) ((evil (1 0 8)) (god-mode (2 12 0))) "use god-mode keybindings in evil-mode" single ((:commit . "3d44197dc0a1fb40e7b7ff8717f8a8c339ce1d40") (:keywords "evil" "leader" "god-mode") (:authors ("Eric Seidel")) (:maintainer "Eric Seidel") (:url . "https://github.com/gridaphobe/evil-god-state"))])
+ (evil-goggles . [(20200101 1935) ((emacs (24 4)) (evil (1 0 0))) "Add a visual hint to evil operations" single ((:commit . "08a22058fd6a167f9f1b684c649008caef571459") (:keywords "emulations" "evil" "vim" "visual") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-goggles"))])
+ (evil-iedit-state . [(20180607 558) ((evil (1 0 9)) (iedit (0 97))) "Evil states to interface iedit mode." single ((:commit . "f75cff4ecbd5beaa9ca64a6c157c4105f078daec") (:keywords "convenience" "editing" "evil" "iedit" "mnemonic") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:url . "https://github.com/syl20bnr/evil-iedit-state"))])
+ (evil-indent-plus . [(20151109 1906) ((evil (0)) (cl-lib (0 5))) "Evil textobjects based on indentation" single ((:commit . "0c7501e6efed661242c3a20e0a6c79a6455c2c40") (:keywords "convenience" "evil") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "http://github.com/TheBB/evil-indent-plus"))])
+ (evil-indent-textobject . [(20130831 2219) ((evil (0))) "evil textobjects based on indentation" single ((:commit . "70a1154a531b7cfdbb9a31d6922482791e20a3a7") (:keywords "convenience" "evil") (:authors ("Michael Markert" . "markert.michael@gmail.com")) (:maintainer "Michael Markert" . "markert.michael@gmail.com") (:url . "http://github.com/cofi/evil-indent-textobject"))])
+ (evil-leader . [(20140606 1243) ((evil (0))) "let there be <leader>" single ((:commit . "39f7014bcf8b36463e0c7512c638bda4bac6c2cf") (:keywords "evil" "vim-emulation" "leader") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Michael Markert" . "markert.michael@googlemail.com") (:url . "http://github.com/cofi/evil-leader"))])
+ (evil-ledger . [(20180802 1612) ((emacs (24 4)) (evil (1 2 12)) (ledger-mode (0))) "Make `ledger-mode' more `evil'." single ((:commit . "7a9f9f5d39c42fffdba8004f8982642351f2b233") (:keywords "convenience" "evil" "languages" "ledger" "vim-emulation") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:url . "https://github.com/atheriel/evil-ledger"))])
+ (evil-lion . [(20170811 614) ((emacs (24 3)) (evil (1 0 0))) "Evil align operator, port of vim-lion" single ((:commit . "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-lion"))])
+ (evil-lisp-state . [(20160404 248) ((evil (1 0 9)) (bind-map (0)) (smartparens (1 6 1))) "An evil state to edit Lisp code" single ((:commit . "3c65fecd9917a41eaf6460f22187e2323821f3ce") (:keywords "convenience" "editing" "evil" "smartparens" "lisp" "mnemonic") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:url . "https://github.com/syl20bnr/evil-lisp-state"))])
+ (evil-lispy . [(20190502 739) ((lispy (0 26 0)) (evil (1 2 12)) (hydra (0 13 5))) "precision Lisp editing with Evil and Lispy" tar ((:commit . "ed317f7fccbdbeea8aa04a91b1b1f48a0e2ddc4e") (:keywords "lisp") (:authors ("Brandon Carrell <brandoncarrell@gmail.com>, Mika Vilpas" . "mika.vilpas@gmail.com")) (:maintainer "Brandon Carrell <brandoncarrell@gmail.com>, Mika Vilpas" . "mika.vilpas@gmail.com") (:url . "https://github.com/sp3ctum/evil-lispy"))])
+ (evil-magit . [(20200409 1909) ((evil (1 2 3)) (magit (2 6 0))) "evil-based key bindings for magit" single ((:commit . "253c644807013fe92429acdef418748794b8f254") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/evil-magit"))])
+ (evil-mark-replace . [(20150424 718) ((evil (1 0 8))) "replace the thing in marked area" single ((:commit . "56cf191724a3e82239ca47a17b071c20aedb0617") (:keywords "mark" "replace" "evil") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/evil-mark-replace"))])
+ (evil-matchit . [(20191023 2322) ((evil (1 2 0)) (emacs (24 4))) "Vim matchit ported to Evil" tar ((:commit . "076ace3ee22a61890f375ae492c634f71ce84301") (:keywords "matchit" "vim" "evil") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/evil-matchit"))])
+ (evil-mc . [(20200228 1535) ((emacs (24 3)) (evil (1 2 14)) (cl-lib (0 5))) "Multiple cursors for evil-mode" tar ((:commit . "4d4c0172e4c7f80acc1d0e73d5fb3e536929b262") (:keywords "evil" "editing" "multiple-cursors" "vim" "evil-multiple-cursors" "evil-mc" "evil-mc") (:authors ("Gabriel Adomnicai" . "gabesoft@gmail.com")) (:maintainer "Gabriel Adomnicai" . "gabesoft@gmail.com") (:url . "https://github.com/gabesoft/evil-mc"))])
+ (evil-mc-extras . [(20170202 1649) ((emacs (24 3)) (evil (1 2 12)) (cl-lib (0 5)) (evil-mc (0 0 2)) (evil-numbers (0 4))) "Extra functionality for evil-mc" tar ((:commit . "8c1af3232dd1e15b2ea38360b8cd1e857e11c416") (:keywords "evil" "editing" "multiple-cursors" "vim" "evil-multiple-cursors" "evil-mc" "evil-mc-extras") (:authors ("Gabriel Adomnicai" . "gabesoft@gmail.com")) (:maintainer "Gabriel Adomnicai" . "gabesoft@gmail.com") (:url . "https://github.com/gabesoft/evil-mc-extras"))])
+ (evil-mu4e . [(20180613 1039) ((emacs (24 4)) (evil (1 2 10))) "evil-based key bindings for mu4e" single ((:commit . "5b22c1e30246318f233264506272d770f63897ca") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/evil-mu4e"))])
+ (evil-multiedit . [(20200229 528) ((emacs (24 4)) (evil (1 2 12)) (iedit (0 9)) (cl-lib (0 5))) "multiple cursors for evil-mode" single ((:commit . "9f271e0e6048297692f80ed6c5ae8994ac523abc") (:keywords "multiple cursors" "editing" "iedit") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/evil-multiedit"))])
+ (evil-nerd-commenter . [(20200417 59) ((emacs (24 4))) "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar ((:commit . "1bd2de52011c39777a3e8779b14cee2790dc873b") (:keywords "convenience" "evil") (:authors ("Chen Bin <chenbin DOT sh AT gmail.com>")) (:maintainer "Chen Bin <chenbin DOT sh AT gmail.com>") (:url . "http://github.com/redguardtoo/evil-nerd-commenter"))])
+ (evil-nl-break-undo . [(20181125 2054) nil "Break evil's undo sequence on CR" single ((:commit . "4a8f2bf99c978a109eeb92965a72a17bedb68762") (:authors ("VanLaser" . "Gabriel.Lazar@com.utcluj.ro")) (:maintainer "VanLaser" . "Gabriel.Lazar@com.utcluj.ro") (:url . "https://github.com/VanLaser/evil-nl-break-undo"))])
+ (evil-numbers . [(20140606 1251) nil "increment/decrement numbers like in vim" single ((:commit . "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e") (:keywords "numbers" "increment" "decrement" "octal" "hex" "binary") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Michael Markert" . "markert.michael@googlemail.com") (:url . "http://github.com/cofi/evil-numbers"))])
+ (evil-opener . [(20161207 1810) ((evil (1 2 12)) (opener (0 2 2))) "opening urls as buffers in evil" tar ((:commit . "c384f67278046fdcd220275fdd212ab85672cbeb") (:keywords "url" "http" "files") (:authors ("Tim Reddehase" . "tr@rightsrestricted.com")) (:maintainer "Tim Reddehase" . "tr@rightsrestricted.com") (:url . "https://github.com/0robustus1/opener.el"))])
+ (evil-org . [(20200101 2017) ((emacs (24 4)) (evil (1 0))) "evil keybindings for org-mode" tar ((:commit . "9d4be14118bf27094a30dbff349b815f098aacbf") (:keywords "evil" "vim-emulation" "org-mode" "key-bindings" "presets") (:maintainer "Somelauw") (:url . "https://github.com/Somelauw/evil-org-mode.git"))])
+ (evil-owl . [(20200113 405) ((emacs (25 1)) (evil (1 2 13))) "Preview evil registers and marks before using them" single ((:commit . "ed5a98644a9cf321de213b50df6473de9f3a71ed") (:keywords "emulations" "evil" "visual") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:url . "https://github.com/mamapanda/evil-owl"))])
+ (evil-paredit . [(20150413 2048) ((evil (1 0 9)) (paredit (25 -2))) "Paredit support for evil keybindings" single ((:commit . "e058fbdcf9dbf7ad6cc77f0172d7517ef233d55f") (:keywords "paredit" "evil") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com") (:url . "https://github.com/roman/evil-paredit"))])
+ (evil-python-movement . [(20180724 1420) ((emacs (25 1)) (cl-lib (0 5)) (dash (2 13 0)) (evil (1 0)) (s (1 12 0))) "Port Neovim's python movement to Evil" single ((:commit . "9936b3b7f8d96415d517c1f3604637889484a637") (:authors ("Felipe Lema <felipelema en mortemale punto org>")) (:maintainer "Felipe Lema <felipelema en mortemale punto org>") (:url . "https://bitbucket.org/FelipeLema/evil-python-movement.el/"))])
+ (evil-quickscope . [(20160202 1924) ((evil (0))) "Highlight unique characters in words for f,F,t,T navigation" single ((:commit . "37a20e4c56c6058abf186ad4013c155e695e876f") (:keywords "faces" "emulation" "vim" "evil") (:authors ("Michael Chen" . "blorbx@gmail.com")) (:maintainer "Michael Chen" . "blorbx@gmail.com") (:url . "http://github.com/blorbx/evil-quickscope"))])
+ (evil-rails . [(20190512 1517) ((evil (1 0)) (projectile-rails (1 0))) "Rails support for Evil Mode" single ((:commit . "b0f1c5de6720714febeb76c4b569b71bb891938c") (:keywords "ruby" "rails" "vim" "project" "convenience" "web" "evil" "projectile") (:authors ("Antono Vasiljev" . "antono.vasiljev@gmail.com")) (:maintainer "Antono Vasiljev" . "antono.vasiljev@gmail.com") (:url . "https://github.com/antono/evil-rails"))])
+ (evil-replace-with-char . [(20180324 2206) ((evil (1 2 13)) (emacs (24))) "replace chars of a text object with a char" single ((:commit . "ed4a12d5bff11163eb03ad2826c52fd30f51a8d3") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/evil-replace-with-char"))])
+ (evil-replace-with-register . [(20170713 925) ((evil (1 0 8))) "Port of vim plugin ReplaceWithRegister" single ((:commit . "91cc7bf21a94703c441cc9212214075b226b7f67") (:keywords "evil" "plugin") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "https://github.com/Dewdrops/evil-ReplaceWithRegister"))])
+ (evil-rsi . [(20160221 2104) ((evil (1 0 0))) "Use emacs motion keys in evil, inspired by vim-rsi" single ((:commit . "65ae60866be494e4622fe383e23975e04d2a42a3") (:keywords "evil" "rsi" "evil-rsi") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:url . "http://github.com/linktohack/evil-rsi"))])
+ (evil-ruby-text-objects . [(20200323 1552) ((emacs (25 1)) (evil (1 2 0))) "Evil text objects for Ruby code" single ((:commit . "32983d91be83ed903b6ef9655e00f69beed2572c") (:keywords "languages") (:authors ("Sergio Gil" . "sgilperez@gmail.com")) (:maintainer "Sergio Gil" . "sgilperez@gmail.com") (:url . "https://github.com/porras/evil-ruby-text-objects"))])
+ (evil-search-highlight-persist . [(20170523 334) ((highlight (0))) "Persistent highlights after search" single ((:commit . "979d2dec58d3b9c5ca5fdf4bb802a0209913794e") (:authors ("Juanjo Alvarez" . "juanjo@juanjoalvarez.net")) (:maintainer "Juanjo Alvarez" . "juanjo@juanjoalvarez.net"))])
+ (evil-smartparens . [(20171210 1513) ((evil (1 0)) (emacs (24 4)) (smartparens (1 10 1))) "Evil support for smartparens" single ((:commit . "026d4a3cfce415a4dfae1457f871b385386e61d3") (:keywords "evil" "smartparens") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:url . "https://www.github.com/expez/evil-smartparens"))])
+ (evil-snipe . [(20200422 519) ((emacs (24 4)) (evil (1 2 12)) (cl-lib (0 5))) "emulate vim-sneak & vim-seek" single ((:commit . "2ba6353bb9253dbbc4193f1d35403e7dcc1317b1") (:keywords "emulation" "vim" "evil" "sneak" "seek") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/evil-snipe"))])
+ (evil-space . [(20151208 1228) ((evil (1 0 0))) "Repeat motion in Evil. Correct the behaviour of what SPC should do." single ((:commit . "a9c07284d308425deee134c9d88a2d538dd229e6") (:keywords "space" "repeat" "motion") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:url . "http://github.com/linktohack/evil-space"))])
+ (evil-string-inflection . [(20180313 1755) ((emacs (24)) (evil (1 2 13)) (string-inflection (1 0 6))) "snake_case -> CamelCase -> etc. for text objects" single ((:commit . "6913de02a210487c063cd63ecf27b17a24797870") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/evil-string-inflection"))])
+ (evil-surround . [(20191217 1131) ((evil (1 2 12))) "emulate surround.vim from Vim" single ((:commit . "9b0b17f06cef9bac81ee4800d121265e54718a17") (:keywords "emulation" "vi" "evil") (:authors ("Tim Harper <timcharper at gmail dot com>") ("Vegard Øye <vegard_oye at hotmail dot com> ")) (:maintainer "Tim Harper <timcharper at gmail dot com>"))])
+ (evil-swap-keys . [(20191105 1426) ((emacs (24 4))) "Intelligently swap keys on text input with evil" single ((:commit . "b5ef105499f998b5667da40da30c073229a213ea") (:keywords "convenience" "data" "languages" "tools") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-swap-keys"))])
+ (evil-tabs . [(20160217 1520) ((evil (0 0 0)) (elscreen (0 0 0))) "Integrating Vim-style tabs for Evil mode users." single ((:commit . "53d3314a810017b6056ab6796aef671f5ea1c063") (:keywords "evil" "tab" "tabs" "vim") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/evil-tabs"))])
+ (evil-terminal-cursor-changer . [(20170401 842) ((evil (1 0 8))) "Change cursor shape and color by evil state in terminal" single ((:commit . "b49ca4393d2f3cc6014174950059b36a5cb22949") (:keywords "evil" "terminal" "cursor") (:authors ("7696122")) (:maintainer "7696122") (:url . "https://github.com/7696122/evil-terminal-cursor-changer"))])
+ (evil-test-helpers . [(20200304 911) ((evil (1 14 0))) "unit test helpers for Evil" single ((:commit . "d243eae8649272799ec3864fde14c1164f036940") (:authors ("Vegard Øye <vegard_oye at hotmail.com>")) (:maintainer "Vegard Øye <vegard_oye at hotmail.com>"))])
+ (evil-text-object-python . [(20191010 1328) ((emacs (25)) (evil (1 2 14)) (dash (2 16 0))) "Python specific evil text objects" single ((:commit . "39d22fc524f0413763f291267eaab7f4e7984318") (:keywords "convenience" "languages" "tools") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-text-object-python"))])
+ (evil-textobj-anyblock . [(20170905 1907) ((cl-lib (0 5)) (evil (1 1 0))) "Textobject for the closest user-defined blocks." single ((:commit . "ff00980f0634f95bf2ad9956b615a155ea8743be") (:keywords "evil") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/evil-textobj-anyblock"))])
+ (evil-textobj-column . [(20170905 1905) ((names (0 5)) (emacs (24)) (evil (0))) "Provides column text objects." single ((:commit . "835d7036d0bc9a6e44fc9b7c54ccf2a7c01428cd") (:keywords "evil" "column" "text-object") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/evil-textobj-column"))])
+ (evil-textobj-entire . [(20150422 1254) ((emacs (24)) (evil (1 0 0))) "text object for entire lines of buffer for evil" single ((:commit . "5b3a98f3a69edc3a788f539f6ffef4a0ef5e853d") (:keywords "convenience" "emulations") (:authors ("supermomonga")) (:maintainer "supermomonga") (:url . "https://github.com/supermomonga/evil-textobj-entire"))])
+ (evil-textobj-line . [(20150729 1522) ((evil (1 0 0))) "evil textobj line" single ((:commit . "3d401b6831bdbeec967ec8e64177a8950251e812") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-evil-textobj-line"))])
+ (evil-textobj-syntax . [(20181210 1213) ((names (0 5)) (emacs (24)) (evil (0))) "Provides syntax text objects." single ((:commit . "2d9ba8c75c754b409aea7469f46a5cfa52a872f3") (:keywords "evil" "syntax" "highlight" "text-object") (:url . "https://github.com/laishulu/evil-textobj-syntax"))])
+ (evil-traces . [(20191214 558) ((emacs (25 1)) (evil (1 2 13))) "Visual hints for `evil-ex'" single ((:commit . "bc25cae9fa5ab0ba1507827f0944f52ce0ca7462") (:keywords "emulations" "evil" "visual") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:url . "https://github.com/mamapanda/evil-traces"))])
+ (evil-tutor . [(20150103 650) ((evil (1 0 9))) "Vimtutor adapted to Evil and wrapped in a major-mode" tar ((:commit . "4e124cd3911dc0d1b6817ad2c9e59b4753638f28") (:keywords "convenience" "editing" "evil") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:url . "https://github.com/syl20bnr/evil-tutor"))])
+ (evil-tutor-ja . [(20160917 132) ((evil (1 0 9)) (evil-tutor (0 1))) "Japanese Vimtutor adapted to Evil and wrapped in a major-mode" tar ((:commit . "99af7d82e02ce3bcdfaff47c5c80b57327a7ea8d") (:keywords "convenience" "editing" "evil" "japanese") (:authors ("Kenji Miyazaki" . "kenjizmyzk@gmail.com")) (:maintainer "Kenji Miyazaki" . "kenjizmyzk@gmail.com") (:url . "https://github.com/kenjimyzk/evil-tutor-ja"))])
+ (evil-vimish-fold . [(20200122 117) ((emacs (24 4)) (evil (1 0 0)) (vimish-fold (0 2 0))) "Integrate vimish-fold with evil" single ((:commit . "b6e0e6b91b8cd047e80debef1a536d9d49eef31a") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/evil-vimish-fold"))])
+ (evil-visual-mark-mode . [(20190116 1557) ((evil (1 0 9)) (dash (2 10))) "Display evil marks on buffer" single ((:commit . "ac5997971972a9251f140b5542d82790ca4a43b4") (:keywords "evil") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))])
+ (evil-visual-replace . [(20171016 613) ((evil (1 0 0))) "search/replace commands for evil visual state, inc. blocks" single ((:commit . "163fc827a1ffc106475da470c37fb26f4cc9b008") (:keywords "evil" "search" "replace" "regexp" "block" "rectangular" "region" "visual") (:authors ("Troy Pracy")) (:maintainer "Troy Pracy") (:url . "https://github.com/troyp/evil-visual-replace"))])
+ (evil-visualstar . [(20160223 48) ((evil (0))) "Starts a * or # search from the visual selection" single ((:commit . "06c053d8f7381f91c53311b1234872ca96ced752") (:keywords "evil" "vim" "visualstar") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:url . "https://github.com/bling/evil-visualstar"))])
+ (evm . [(20141007 1156) ((dash (2 3 0)) (f (0 13 0))) "Emacs Version Manager" single ((:commit . "d0623b2355436a5fd9f7238b419782080c79196b") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/evm"))])
+ (ewal . [(20200305 230) ((emacs (25 1))) "A pywal-based theme generator" tar ((:commit . "4ecc355dae9c7d648cd2874e01a15dfa02b9350d") (:keywords "faces") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/ewal"))])
+ (ewal-doom-themes . [(20200301 839) ((emacs (25)) (ewal (0 1)) (doom-themes (0 1))) "Dread the colors of darkness" tar ((:commit . "4ecc355dae9c7d648cd2874e01a15dfa02b9350d") (:keywords "faces") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/ewal"))])
+ (ewal-evil-cursors . [(20190911 1315) ((emacs (25)) (ewal (0 1))) "`ewal'-colored evil cursor for Emacs and Spacemacs" single ((:commit . "4ecc355dae9c7d648cd2874e01a15dfa02b9350d") (:keywords "faces") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/ewal"))])
+ (ewal-spacemacs-themes . [(20190911 1305) ((emacs (25)) (ewal (0 1)) (spacemacs-theme (0 1))) "Ride the rainbow spaceship" tar ((:commit . "4ecc355dae9c7d648cd2874e01a15dfa02b9350d") (:keywords "faces") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/ewal"))])
+ (ewmctrl . [(20170922 217) nil "Use `wmctrl' to manage desktop windows via EWMH/NetWM." single ((:commit . "3d0217c4d6cdb5c308b6cb4293574f470d4faacf") (:keywords "desktop" "windows" "ewmh" "netwm") (:authors ("Alexis" . "flexibeast@gmail.com") ("Adam Plaice" . "plaice.adam@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/ewmctrl"))])
+ (eww-lnum . [(20150102 1512) nil "Conkeror-like functionality for eww" single ((:commit . "4b0ecec769919ecb05ca4fb15ec51911ba589929") (:keywords "eww" "browse" "conkeror") (:authors ("Andrey Kotlarski" . "m00naticus@gmail.com")) (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/eww-lnum"))])
+ (exato . [(20180305 1042) ((evil (1 2 13)) (emacs (24))) "EXATO: Evil XML/HTML Attributes Text Object" single ((:commit . "d5daea30176d48e74c9d063ac9bfc240ebeb97d0") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/exato"))])
+ (exec-path-from-shell . [(20191229 112) nil "Get environment variables such as $PATH from the shell" single ((:commit . "d17c4e0b73fc5ffeb2bc28156785c6bdda058654") (:keywords "unix" "environment") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/exec-path-from-shell"))])
+ (execline . [(20190711 2010) ((emacs (26 1)) (s (1 6 0))) "Major mode for editing execline scripts" single ((:commit . "c75dd9b2c54d8e59fc35fd4bd98d8e213948a3f5") (:keywords "tools" "unix" "languages") (:authors ("Dmitry Bogatov" . "KAction@debian.org")) (:maintainer "Dmitry Bogatov" . "KAction@debian.org") (:url . "https://gitlab.com/KAction/emacs-execline"))])
+ (exiftool . [(20190520 1106) ((emacs (25))) "Elisp wrapper around ExifTool" single ((:commit . "e043df1bcef40cd5934a74c210e1e35d5eb0e5a6") (:keywords "data") (:authors ("Arun I" . "arunisaac@systemreboot.net")) (:maintainer "Arun I" . "arunisaac@systemreboot.net") (:url . "https://git.systemreboot.net/exiftool.el"))])
+ (exotica-theme . [(20180212 2329) ((emacs (24))) "A dark theme with vibrant colors" single ((:commit . "ff3ef4f6fa38c93b99becad977c7810c990a4d2f") (:keywords "faces" "theme" "dark" "vibrant colors") (:authors ("Bharat Joshi" . "jbharat@outlook.com")) (:maintainer "Bharat Joshi" . "jbharat@outlook.com") (:url . "https://github.com/jbharat/exotica-theme"))])
+ (expand-line . [(20151006 207) nil "Expand selection by line" single ((:commit . "75a5d0241f35dd0748ab8ecb4ff16891535be372") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))])
+ (expand-region . [(20200304 1839) nil "Increase selected region by semantic units." tar ((:commit . "ea6b4cbb9985ddae532bd2faf9bb00570c9f2781"))])
+ (express . [(20140508 2041) ((string-utils (0 3 2))) "Alternatives to `message'" single ((:commit . "93dae7377eace4a5413ba99aecb6f26f90798725") (:keywords "extensions" "message" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/express"))])
+ (exsqlaim-mode . [(20170607 1003) ((s (1 10 0))) "Use variables inside sql queries" single ((:commit . "a2e0a62ec8b87193d8eaa695774bfd689324b06c") (:authors ("Ahmad Nazir Raja" . "ahmadnazir@gmail.com")) (:maintainer "Ahmad Nazir Raja" . "ahmadnazir@gmail.com") (:url . "https://github.com/ahmadnazir/exsqlaim-mode"))])
+ (extempore-mode . [(20200408 2253) ((emacs (24 4))) "Emacs major mode for Extempore source files" single ((:commit . "09518ae6650d7be33a4633a4c0f31b7130d04c6e") (:keywords "extempore") (:authors ("Ben Swift" . "ben@benswift.me")) (:maintainer "Ben Swift" . "ben@benswift.me") (:url . "http://github.com/extemporelang/extempore-emacs-mode"))])
+ (extend-dnd . [(20151122 1850) nil "R drag and Drop" tar ((:commit . "80c966c93b82c9bb5c6225a432557c39144fc602") (:keywords "extend" "drag and drop") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/extend-dnd"))])
+ (extmap . [(20181028 1645) ((emacs (24 1))) "Externally-stored constant mapping for Elisp" single ((:commit . "187f621cb2d9413595cb47917641e5692e3b37cd") (:keywords "lisp") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/extmap"))])
+ (exunit . [(20190919 1238) ((s (1 11 0)) (emacs (24 3)) (f (0 20 0))) "ExUnit test runner" single ((:commit . "c77b0397b80d772c98fcc34c9ab131a8350fbf40") (:keywords "processes" "elixir" "exunit") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/exunit.el"))])
+ (exwm-edit . [(20200126 27) ((emacs (24 4))) "Edit mode for EXWM" single ((:commit . "bc25ba094b383be3c650ca0b7e1534efe2bb154f") (:keywords "convenience") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/exwm-edit"))])
+ (exwm-firefox-core . [(20190812 2110) ((emacs (24 4)) (exwm (0 16))) "Firefox hotkeys to functions" single ((:commit . "e2fe2a895e8f973307ef52f8c9976b26e701cbd0") (:keywords "extensions") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/exwm-firefox-core"))])
+ (exwm-firefox-evil . [(20200206 2212) ((emacs (24 4)) (exwm (0 16)) (evil (1 0 0)) (exwm-firefox-core (1 0))) "evil-mode implementation of exwm-firefox-core" single ((:commit . "14643ee53a506ddcb5d2e06cb9f1be7310cd00b1") (:keywords "extensions") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/exwm-firefox-evil"))])
+ (exwm-mff . [(20190810 1744) ((emacs (25)) (exwm (0 22 1))) "Mouse Follows Focus" single ((:commit . "a6a4b3dda01cbcf411fc2824981eaa9e85199a52") (:keywords "unix") (:authors ("Ian Eure" . "public@lowbar.fyi")) (:maintainer "Ian Eure" . "public@lowbar.fyi") (:url . "https://github.com/ieure/exwm-mff"))])
+ (exwm-surf . [(20171204 1140) ((emacs (24 4)) (exwm (0 16))) "Interface for Surf (surf.suckless.org) under exwm" single ((:commit . "6c17e2c1597fe4b7b454a1dac23b9127ac951e94") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/exwm-surf"))])
+ (exwm-x . [(20190224 1152) ((cl-lib (0 5)) (exwm (0 22)) (switch-window (0 10)) (swiper (0 9 0)) (bind-key (1 0)) (counsel (0 9 0)) (ivy (0 9 0))) "A derivative wm based on EXWM (emacs x window manager)" tar ((:commit . "02ec31cd8996b1b3fe305405fef7334c4d08e72b") (:keywords "window-manager" "exwm") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/exwm-x"))])
+ (eyebrowse . [(20190928 1458) ((dash (2 7 0)) (emacs (24 3 1))) "Easy window config switching" single ((:commit . "e483d35e905c2e26fac63f33c77b9e764729a364") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/eyebrowse"))])
+ (eyuml . [(20141028 2227) ((request (0 2 0)) (s (1 8 0))) "Write textual uml diagram from emacs using yuml.me" single ((:commit . "eb29c37316e44a14741f16e894fbcfcb7537dc80") (:keywords "uml") (:authors ("Anthony HAMON" . "hamon.anth@gmail.com")) (:maintainer "Anthony HAMON" . "hamon.anth@gmail.com") (:url . "http://github.com/antham/eyuml"))])
+ (ez-query-replace . [(20170814 1321) ((dash (1 2 0)) (s (1 11 0))) "a smarter context-sensitive query-replace that can be reapplied" single ((:commit . "f5dbd2d3e5e62e6b7e7cc1a98fc4d0cd411e5afa") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (eziam-theme . [(20200327 1810) nil "A mostly monochrome theme, inspired by Tao and Leuven, with dark and light versions." tar ((:commit . "7a585de01b6fee081eaa167b09d7e12d02cf4149"))])
+ (f . [(20191110 1357) ((s (1 7 0)) (dash (2 2 0))) "Modern API for working with files and directories" single ((:commit . "1814209e2ff43cf2e6d38c4cd476218915f550fb") (:keywords "files" "directories") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/f.el"))])
+ (f3 . [(20180130 1158) ((emacs (24 3)) (helm (2 8 8)) (cl-lib (0 5))) "a helm interface to find" tar ((:commit . "000009ce4adf7a57eae80512f29c4ec2a1391ce5") (:keywords "find" "file" "files" "helm" "fast" "finder") (:authors ("Danny McClanahan")) (:maintainer "Danny McClanahan") (:url . "https://github.com/cosmicexplorer/f3"))])
+ (fabric . [(20171116 656) nil "Launch Fabric using Emacs" tar ((:commit . "df79be341d0b34ed23850f9894136092fa5fea8c") (:keywords "python" "fabric") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@chmouel.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@chmouel.com") (:url . "https://github.com/nlamirault/fabric.el"))])
+ (face-explorer . [(20190517 1857) nil "Library and tools for faces and text properties" single ((:commit . "ad1300e13e5643e4c246cabfd91f833d39113052") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/face-explorer"))])
+ (face-shift . [(20190818 1551) ((emacs (24 4)) (cl-lib (0 5))) "Shift the colour of certain faces" single ((:commit . "8dd6fb5f6277d3a594654aeb3e6a7b7b5581656a") (:keywords "faces") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/face-shift"))])
+ (faceup . [(20170925 1946) nil "Markup language for faces and font-lock regression testing" single ((:commit . "6c92dad56a133e14e7b27831e1bcf9b3a71ff154") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/faceup"))])
+ (factlog . [(20130210 140) ((deferred (0 3 1))) "File activity logger" single ((:commit . "6503d77ea882c995b051d22e72db336fb28770fc") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:url . "https://github.com/tkf/factlog"))])
+ (faff-theme . [(20200304 1414) nil "Light Emacs color theme on cornsilk3 background" single ((:commit . "3a2f4b567de490ee7af32ecca46de741e7fd7d6a") (:keywords "color" "theme") (:authors ("James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>")) (:maintainer "James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>") (:url . "https://github.com/WJCFerguson/emacs-faff-theme"))])
+ (fakespace . [(20120818 6) nil "fake namespaces with defpackage" single ((:commit . "d1bd1f4b14b2690d7a67f9a52622ec51ed84813a") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/elisp-fakespace"))])
+ (fakir . [(20140729 1652) ((noflet (0 0 8)) (dash (1 3 2)) (kv (0 0 19))) "fakeing bits of Emacs" single ((:commit . "1fca406ad7de80fece6319ff75d4230b648534b0") (:keywords "lisp" "tools") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-fakir"))])
+ (fancy-battery . [(20150101 1204) ((emacs (24 1))) "Fancy battery display" single ((:commit . "9b88ae77a01aa3edc529840338bcb2db7f445822") (:keywords "convenience" "tools" "hardware") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/fancy-battery.el"))])
+ (fancy-dabbrev . [(20200129 1933) ((emacs (24)) (popup (0 5 3))) "Like dabbrev-expand with preview and popup menu" single ((:commit . "158e1e54055cafe5da9122a59519e8b3ed1057cf") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/fancy-dabbrev"))])
+ (fancy-narrow . [(20171031 16) nil "narrow-to-region with more eye candy." single ((:commit . "c9b3363752c09045b8ce7a2635afae42d2ae63c7") (:keywords "faces" "convenience") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/fancy-narrow"))])
+ (fantom-theme . [(20200328 604) ((emacs (24 1))) "Dark theme based on Phantom Code for VSCode" single ((:commit . "2c1c7fd53086c2ff86ee0961642c3b58e2343c08") (:authors ("Adam Svanberg")) (:maintainer "Adam Svanberg") (:url . "https://github.com/adsva/fantom-emacs-theme"))])
+ (farmhouse-theme . [(20160713 2244) nil "Farmhouse Theme, Emacs edition" tar ((:commit . "7ddc1ff13b4a3d5466bd0d33ecb86100352e83a7") (:keywords "color" "theme") (:url . "https://github.com/mattly/emacs-farmhouse-theme"))])
+ (fasd . [(20180606 505) nil "Emacs integration for the command-line productivity booster `fasd'" single ((:commit . "020c6a4b5fd1498a84ae142d2e32c7ff678fb029") (:keywords "cli" "bash" "zsh" "autojump") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/emacs-fasd"))])
+ (fast-scroll . [(20191016 327) ((emacs (25 1)) (cl-lib (0 6 1))) "Some utilities for faster scrolling over large buffers." single ((:commit . "3f6ca0d5556fe9795b74714304564f2295dcfa24") (:keywords "ahungry" "convenience" "fast" "scroll" "scrolling") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/fast-scroll"))])
+ (fastdef . [(20160713 1329) ((ivy (0 7 0)) (w3m (0 0))) "Insert terminology from Google top search results" single ((:commit . "0696f41dc150d35ce31fe8d2ea74f4173818bb55") (:keywords "terminology" "org-mode" "markdown") (:authors ("Chen Bin <chenin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/fastdef"))])
+ (fastnav . [(20120211 1457) nil "Fast navigation and editing routines." single ((:commit . "1019ba2b61d1a070204099b23da347278a61bc89") (:keywords "nav" "fast" "fastnav" "navigation") (:authors ("Zsolt Terek" . "zsolt@google.com")) (:maintainer "Zsolt Terek" . "zsolt@google.com"))])
+ (faust-mode . [(20180205 926) nil "Faust syntax colorizer for Emacs." single ((:commit . "7c31b22bdbfd2f8c16ec117d2975d56dd61ac15c") (:keywords "languages" "faust") (:authors ("rukano" . "rukano@gmail.com")) (:maintainer "Yassin Philip" . "xaccrocheur@gmail.com") (:url . "https://github.com/rukano/emacs-faust-mode"))])
+ (faustine . [(20171122 1202) ((emacs (24 3)) (faust-mode (0 3))) "Edit, visualize, build and run Faust code" single ((:commit . "07a38963111518f86123802f9d477be0d4689a3f") (:keywords "languages" "faust") (:authors ("Yassin Philip" . "xaccrocheur@gmail.com")) (:maintainer "Yassin Philip" . "xaccrocheur@gmail.com") (:url . "https://bitbucket.org/yphil/faustine"))])
+ (fcitx . [(20190806 1923) nil "Make fcitx better in Emacs" single ((:commit . "12dc2638ddd15c8f6cfaecb20e1f428ab2bb5624") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/fcitx.el"))])
+ (fcopy . [(20150304 1403) nil "Funny Copy, set past point HERE then search copy text" single ((:commit . "e355f6ec889d8ecbdb096019c2dc660b1cec4941") (:keywords "convenience") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:url . "https://github.com/ataka/fcopy"))])
+ (fd-dired . [(20200428 332) ((emacs (25))) "find-dired alternative using fd" single ((:commit . "001cc95effdd5c4d9974b3f2c40b2ddf1f0e3de2") (:keywords "tools" "fd" "find" "dired") (:authors ("Rashawn Zhang" . "namy.19@gmail.com")) (:maintainer "Rashawn Zhang" . "namy.19@gmail.com") (:url . "https://github.com/yqrashawn/fd-dired"))])
+ (feather . [(20200321 1237) ((emacs (26 3)) (async (1 9)) (async-await (1 0)) (ppp (1 0)) (page-break-lines (0 1))) "Parallel thread modern package manager" tar ((:commit . "529b7ec69f1694d7dc8aacb5066cf4ddcf24cc58") (:keywords "convenience" "package") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/feather.el"))])
+ (feature-mode . [(20190801 1137) nil "Major mode for editing Gherkin (i.e. Cucumber) user stories" tar ((:commit . "11ae1671629bfedaa553c7b819676d64eb320992"))])
+ (feebleline . [(20190822 1401) nil "Replace modeline with a slimmer proxy" single ((:commit . "b2f2db25cac77817bf0c49ea2cea6383556faea0") (:authors ("Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com")) (:maintainer "Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com") (:url . "https://github.com/tautologyclub/feebleline"))])
+ (fennel-mode . [(20200405 1935) nil "a major-mode for editing Fennel code" single ((:commit . "7fadf2580c3afcae3f6ebc54dad0e519b7600f1d") (:keywords "languages" "tools") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://gitlab.com/technomancy/fennel-mode"))])
+ (fetch . [(20131201 730) nil "Fetch and unpack resources" single ((:commit . "3f2793afcbbc32f320e572453166f9354ecc6d06") (:authors ("Christian 'crshd' Brassat" . "christian.brassat@gmail.com")) (:maintainer "Christian 'crshd' Brassat" . "christian.brassat@gmail.com") (:url . "https://github.com/crshd/fetch.el"))])
+ (ffmpeg-player . [(20200224 554) ((emacs (24 4)) (s (1 12 0)) (f (0 20 0))) "Play video using ffmpeg" single ((:commit . "9a80e1d42a4b01879a7585485384af6431b34651") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/ffmpeg-player"))])
+ (fic-mode . [(20180603 2035) nil "Show FIXME/TODO/BUG(...) in special face only in comments and strings" single ((:commit . "a05fc36ed54ba0c6dc22ac216a6a72cf191ca13d") (:url . "https://github.com/lewang/fic-mode"))])
+ (fifo-class . [(20160425 558) nil "First in first out abstract class" single ((:commit . "8fe4cf690727f4ac7b67f29c55f845df023c3f21") (:keywords "lisp") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/fifo-class"))])
+ (figlet . [(20160218 2237) nil "Annoy people with big, ascii art text" single ((:commit . "19a38783a90e151faf047ff233a21a729db0cea9") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))])
+ (filelock . [(20180524 2215) ((emacs (24)) (cl-lib (0)) (f (0))) "Functions for manipulating file locks" single ((:commit . "17a5ca6e0dee14d2e7d92c84be91143bca9d9663") (:keywords "extensions" "files" "tools") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/emacs-filelock"))])
+ (filetags . [(20190706 804) ((emacs (24 4))) "Package to manage filetags in filename" single ((:commit . "01e6a919507a832ee001a2a0fc257657f8b04b72") (:keywords "convenience" "files") (:authors ("Max Beutelspacher")) (:maintainer "Max Beutelspacher") (:url . "https://github.com/DerBeutlin/filetags.el"))])
+ (fill-column-indicator . [(20191109 10) nil "Graphically indicate the fill column" single ((:commit . "3d88b8a4a3eeabb8d1c9ef27d3c6f5d98517be77") (:keywords "convenience") (:authors ("Alp Aker" . "alp.tekin.aker@gmail.com")) (:maintainer "Alp Aker" . "alp.tekin.aker@gmail.com"))])
+ (fill-function-arguments . [(20190710 929) ((emacs (24 4))) "Convert function arguments to/from single line" single ((:commit . "295d55d6056e6f79b68283f7631f6438ea8a7b5f") (:keywords "convenience") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/fill-function-arguments"))])
+ (fillcode . [(20171029 1625) nil "Fill (wrap) function calls and expressions in source code" single ((:commit . "d0a9e20f5fcc24a786d09ea19bfb9237681ba823") (:authors ("Ryan Barrett" . "fillcode@ryanb.org")) (:maintainer "Ryan Barrett" . "fillcode@ryanb.org") (:url . "https://snarfed.org/fillcode"))])
+ (finalize . [(20170418 1945) ((emacs (24 1)) (cl-generic (0 3)) (cl-lib (0 3)) (eieio (1 4))) "finalizers for Emacs Lisp" tar ((:commit . "846731531e7d1d80451787992e07bfe7dedbe9ff"))])
+ (find-by-pinyin-dired . [(20180210 218) ((pinyinlib (0 1 0))) "Find file by first PinYin character of Chinese Hanzi" single ((:commit . "3b4781148dddc84a701ad76c0934ed991ecd59d5") (:keywords "hanzi" "chinese" "dired" "find" "file" "pinyin") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/find-by-pinyin-dired"))])
+ (find-file-in-project . [(20200227 1204) ((ivy (0 10 0)) (emacs (24 4))) "Find file/directory and review Diff/Patch/Commit efficiently everywhere" single ((:commit . "acedab403f69f242fa41012c20078500d46aa9e8") (:keywords "project" "convenience") (:authors ("Phil Hagelberg, Doug Alcorn, and Will Farrington")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "https://github.com/technomancy/find-file-in-project"))])
+ (find-file-in-repository . [(20190404 828) nil "Quickly find files in a git, mercurial or other repository" single ((:commit . "b44d78682082270dc6b59cdc911333d0d3e7edaa") (:keywords "files" "convenience" "repository" "project" "source control") (:authors ("Samuel Hoffstaetter" . "samuel@hoffstaetter.com")) (:maintainer "Samuel Hoffstaetter" . "samuel@hoffstaetter.com") (:url . "https://github.com/hoffstaetter/find-file-in-repository"))])
+ (find-temp-file . [(20200117 2254) nil "Open quickly a temporary file" single ((:commit . "2bfcdba0d6a8a0e6faa080cb04ff0f7ed06491ba") (:keywords "convenience") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/find-temp-file.git"))])
+ (find-things-fast . [(20150519 2226) nil "Find things fast, leveraging the power of git" single ((:commit . "efc7c189019ed65430e2f9e910e8e0a5ca9d2d03") (:keywords "project" "convenience") (:authors ("Elvio Toccalino and Elliot Glaysher and Phil Hagelberg and Doug Alcorn")) (:maintainer "Elvio Toccalino and Elliot Glaysher and Phil Hagelberg and Doug Alcorn"))])
+ (findr . [(20130127 2032) nil "Breadth-first file-finding facility for (X)Emacs" single ((:commit . "1ddbc0464bb05dcda392b62666ad17239a2152d3") (:keywords "files") (:authors ("David Bakhash" . "cadet@bu.edu")) (:maintainer "David Bakhash" . "cadet@bu.edu"))])
+ (fingers . [(20160817 829) nil "Modal editing with universal text manipulation helpers." tar ((:commit . "fed0f742afb1d72eaef29d8da394467550a030fa") (:keywords "fingers" "modal" "editing" "workman") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:url . "http://github.com/fgeller/fingers.el"))])
+ (fiplr . [(20140724 645) ((grizzl (0 1 0)) (cl-lib (0 1))) "Fuzzy Search for Files in Projects" tar ((:commit . "3f50159fd42125440d5b0eb9d6398560461f030b"))])
+ (fira-code-mode . [(20200415 2356) ((emacs (24 4))) "Minor mode for Fira Code ligatures using prettify-symbols" single ((:commit . "a61d7fce35eadba39236a6a3e9aa301e161d147b") (:keywords "faces" "ligatures" "fonts" "programming-ligatures") (:authors ("Jonathan Ming" . "jming422@gmail.com")) (:maintainer "Jonathan Ming" . "jming422@gmail.com") (:url . "https://github.com/jming422/fira-code-mode"))])
+ (firecode-theme . [(20170808 1311) ((emacs (24 0))) "an Emacs 24 theme based on FireCode (tmTheme)" single ((:commit . "8b7b03ecdd41e70dab145b98906017e1392eaef4") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (firefox-controller . [(20160320 1847) ((moz (0)) (popwin (1 0 0)) (cl-lib (0 5))) "An improved Firefox controller" single ((:commit . "a8af8cbf70afaf6b89a26d6ac69af8e92afc181f") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/emacs-firefox-controller"))])
+ (fireplace . [(20200402 2206) nil "A cozy fireplace for emacs" single ((:commit . "f6c23e259349922aae25cf2898ba815a7d8f2527") (:keywords "games") (:authors ("Johan Sivertsen" . "johanvts@gmail.com")) (:maintainer "Johan Sivertsen" . "johanvts@gmail.com") (:url . "https://github.com/johanvts/emacs-fireplace"))])
+ (firestarter . [(20200116 2023) nil "Execute (shell) commands on save" single ((:commit . "eecd8f97a09bbfbc03113b71fa3c8b92766e3956") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/firestarter"))])
+ (firrtl-mode . [(20200329 2002) ((emacs (24 3))) "mode for working with FIRRTL files" single ((:commit . "fa40141411a876ce7a1a9d6d3fe47134bc1fa954") (:keywords "languages" "firrtl") (:authors ("Schuyler Eldridge" . "schuyler.eldridge@ibm.com")) (:maintainer "Schuyler Eldridge" . "schuyler.eldridge@ibm.com") (:url . "https://github.com/ibm/firrtl-mode"))])
+ (fish-completion . [(20191103 1210) ((emacs (25 1))) "Fish completion for pcomplete (shell and Eshell)" single ((:commit . "10384881817b5ae38cf6197a077a663420090d2c") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/emacs-fish-completion"))])
+ (fish-mode . [(20200213 2137) ((emacs (24))) "Major mode for fish shell scripts" single ((:commit . "db257db81058b0b12f788c324c264cc59b9a5bf4") (:keywords "fish" "shell") (:authors ("Tony Wang" . "wwwjfy@gmail.com")) (:maintainer "Tony Wang" . "wwwjfy@gmail.com"))])
+ (fit-text-scale . [(20200315 2120) ((emacs (25 1))) "Fit text by scaling" single ((:commit . "387acab18f9f4064c051771cf666b8550718dc27") (:keywords "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/fit-text-scale"))])
+ (fix-input . [(20190713 1349) ((emacs (24 4))) "Make input methods play nicely with alternative keyboard layout on OS level" single ((:commit . "d3e17161d137fb75baf1449741ccaadb949e127a") (:keywords "input" "method") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-input"))])
+ (fix-muscle-memory . [(20160823 439) nil "Simple hacks to fix muscle memory problems" single ((:commit . "a123e04f8a1d2982cbf930efb909cad9522ac884") (:keywords "spelling" "typing") (:authors ("Jonathan Arkell" . "jonnay@jonnay.net")) (:maintainer "Jonathan Arkell" . "jonnay@jonnay.net"))])
+ (fix-word . [(20190713 1338) ((emacs (24 1)) (cl-lib (0 5))) "Convenient word transformation" single ((:commit . "8d023f13710a90ae4da644d5485bf2be2646b6a1") (:keywords "word" "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-word"))])
+ (fixmee . [(20150223 1355) ((button-lock (1 0 2)) (nav-flash (1 0 0)) (back-button (0 6 0)) (smartrep (0 0 3)) (string-utils (0 3 2)) (tabulated-list (0))) "Quickly navigate to FIXME notices in code" single ((:commit . "1b8b3460f1e3c3c1784b2a63fb9f4fb3bb4dc084") (:keywords "navigation" "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/fixmee"))])
+ (flame . [(20180303 2016) ((emacs (24))) "automatic generation of flamage, as if we needed more." single ((:commit . "a749b2a77b87e505572d0f1f5d59fac76348bb73") (:keywords "games") (:authors ("Ian G. Batten" . "batten@uk.ac.bham.multics") ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Noah Friedman" . "friedman@splode.com") (:url . "https://github.com/mschuldt/flame"))])
+ (flames-of-freedom . [(20191202 1637) ((emacs (25 1))) "The flames of freedom" single ((:commit . "5e47ff27cfa2f7c06081be2ffefe91a731efd012") (:keywords "multimedia") (:authors ("Stéphane Champailler" . "schampailler@skynet.be")) (:maintainer "Stéphane Champailler" . "schampailler@skynet.be") (:url . "https://github.com/wiz21b/FlamesOfFreedom"))])
+ (flappymacs . [(20171023 1004) nil "flappybird clone for emacs" single ((:commit . "27f3e21acb22f786606481e3f4e5dc1edbaaaed4") (:keywords "games") (:authors ("Takayuki Sato")) (:maintainer "Takayuki Sato") (:url . "https://github.com/taksatou/flappymacs"))])
+ (flash-region . [(20130923 1817) nil "Flash a region" single ((:commit . "261b3597b23cdd40e5c14262a5687bcc6c1d0901") (:keywords "utility") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (flatfluc-theme . [(20200419 1033) ((emacs (26 1))) "Custom merge of flucui and flatui themes" single ((:commit . "42f93b2ffb651901d6bad7eb5587790298dda371") (:keywords "lisp") (:authors ("Sébastien Le Maguer" . "lemagues@tcd.ie")) (:maintainer "Sébastien Le Maguer" . "lemagues@tcd.ie") (:url . "https://github.com/seblemaguer/flatfluc-theme"))])
+ (flatland-black-theme . [(20170808 1312) ((emacs (24 0))) "an Emacs 24 theme based on Flatland Black (tmTheme)" single ((:commit . "348c5d5fe615e6ea13cadc17f046e506e789ce07") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/flatland-black-theme"))])
+ (flatland-theme . [(20171113 1521) nil "A simple theme for Emacs based on the Flatland theme for Sublime Text" single ((:commit . "a98a6f19ad4dff0fa3fad1ea487b7d0ef634a19a") (:authors ("Greg Chapple" . "info@gregchapple.com")) (:maintainer "Greg Chapple" . "info@gregchapple.com") (:url . "http://github.com/gregchapple/flatland-emacs"))])
+ (flatui-dark-theme . [(20170513 1422) ((emacs (24))) "Dark color theme with colors from https://flatuicolors.com/" single ((:commit . "5b959a9f743f891e4660b1b432086417947872ea") (:keywords "color" "theme" "dark" "flatui" "faces") (:authors ("Andrew Phillips" . "theasp@gmail.com")) (:maintainer "Andrew Phillips" . "theasp@gmail.com") (:url . "https://github.com/theasp/flatui-dark-theme"))])
+ (flatui-theme . [(20160619 127) nil "A color theme for Emacs based on flatuicolors.com" single ((:commit . "9c15db5526c15c8dba55023f5698372b19c2a780") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/flatui-theme.el"))])
+ (flex-autopair . [(20120809 1218) nil "Automatically insert pair braces and quotes, insertion conditions & actions are highly customizable." single ((:commit . "4bb757f2556a4a51828e2fed8fb81e31e83052cb") (:keywords "keyboard" "input") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:url . "https://github.com/uk-ar/flex-autopair.el"))])
+ (flex-compile . [(20191019 18) ((emacs (26)) (dash (2 13 0)) (buffer-manage (0 8))) "Run, evaluate and compile for a many languages and modes." tar ((:commit . "df113f0b25ef73c5a246330ef9fa69ab936df174") (:keywords "compilation" "integration" "processes") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/flex-compile"))])
+ (flex-isearch . [(20170308 2010) nil "Flex matching (like ido) in isearch." single ((:commit . "b1f7e04de762282c276343cc2709af9ff4abc9d2") (:keywords "convenience" "search") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:url . "https://bitbucket.org/jpkotta/flex-isearch"))])
+ (flim . [(20200303 319) ((apel (10 8))) "A library to provide basic features about message representation or encoding." tar ((:commit . "f303f2f6c124bc8635add96d3326a2209749437b"))])
+ (flimenu . [(20200415 2353) ((emacs (24 4))) "Flatten imenu automatically" single ((:commit . "f110bc77415a7594742f3b12551571c4069c9157") (:keywords "imenu" "browse" "structure" "hook" "mode" "matching" "tools" "convenience" "files") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/flimenu"))])
+ (fliptext . [(20171124 2056) nil "Input method for flipping characters upside down" single ((:commit . "fd821f645ffebae6ae3894afa7ba7fc06f91afc6") (:keywords "games" "i18n") (:authors ("André Riemann" . "andre.riemann@web.de")) (:maintainer "André Riemann" . "andre.riemann@web.de"))])
+ (floobits . [(20180801 524) ((json (1 2)) (highlight (0))) "Floobits plugin for real-time collaborative editing" tar ((:commit . "489b294a7f30ecd2af2edc0823dead8102f27af6") (:keywords "comm" "tools") (:authors ("Matt Kaniaris") ("Geoff Greer")) (:maintainer "Matt Kaniaris") (:url . "http://github.com/Floobits/floobits-emacs"))])
+ (flow-js2-mode . [(20191213 1004) ((flow-minor-mode (0)) (js2-mode (0)) (emacs (25 1))) "Support for flow annotations in js2-mode" single ((:commit . "7520bdda70287e8d57b3f41033b1e0ca59a3be95") (:keywords "languages" "extensions") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (flow-minor-mode . [(20191214 1309) ((emacs (25 1))) "Flow type mode based on web-mode." single ((:commit . "5db3936d9eba8ccb2beca476afc84675b7b161ca") (:url . "https://github.com/an-sh/flow-minor-mode"))])
+ (flower . [(20190215 1746) ((emacs (24 4)) (clomacs (0 0 3))) "Emacs task tracker client." tar ((:commit . "6ef1affa2d7090714ccc4494823de28cfc11da35") (:keywords "hypermedia" "outlines" "tools" "vc") (:authors ("Sergey Sobko" . "SSobko@ptsecurity.com")) (:maintainer "Sergey Sobko" . "SSobko@ptsecurity.com") (:url . "https://github.com/PositiveTechnologies/flower"))])
+ (flucui-themes . [(20200204 1930) ((emacs (24))) "Custom theme inspired by the Flat UI palette" tar ((:commit . "01a3df3530474da7b4303e4eea2ed1fae00d1776") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/flucui-theme"))])
+ (flutter . [(20200416 1225) ((emacs (24 4))) "Tools for working with Flutter SDK" tar ((:commit . "293b7225b9bacbad4bf14d43d20a765f4862c563") (:keywords "languages") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:url . "https://github.com/amake/flutter.el"))])
+ (flutter-l10n-flycheck . [(20200221 1415) ((emacs (24 4)) (flycheck (30)) (flutter (0 1 0))) "Flycheck checker for intl_translation" single ((:commit . "293b7225b9bacbad4bf14d43d20a765f4862c563") (:keywords "languages") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:url . "https://github.com/amake/flutter.el"))])
+ (fluxus-mode . [(20191001 1716) ((osc (0 1)) (emacs (24 4))) "Major mode for interfacing with Fluxus" single ((:commit . "3d05fa15f141ac3e936f908097bb7eb6295cc367") (:keywords "languages") (:authors ("modula t." . "defaultxr@gmail.com")) (:maintainer "modula t." . "defaultxr@gmail.com") (:url . "https://github.com/defaultxr/fluxus-mode"))])
+ (flx . [(20191115 659) ((cl-lib (0 3))) "fuzzy matching with good sorting" single ((:commit . "17f5c9cb2af18aa6f52910ff4a5a63591261ced5") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))])
+ (flx-ido . [(20180117 1519) ((flx (0 1)) (cl-lib (0 3))) "flx integration for ido" single ((:commit . "17f5c9cb2af18aa6f52910ff4a5a63591261ced5") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))])
+ (flx-isearch . [(20191119 515) ((emacs (24)) (flx (20140821)) (cl-lib (0 5))) "Fuzzy incremental searching for emacs" single ((:commit . "a44097fb8f539a193c2f09a37ea52a68f2c51839") (:keywords "convenience" "search" "flx") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/flx-isearch"))])
+ (flycheck . [(20200427 12) ((dash (2 12 1)) (pkg-info (0 4)) (let-alist (1 0 4)) (seq (1 11)) (emacs (24 3))) "On-the-fly syntax checking" tar ((:commit . "246e1d4380721ca03962464f11d02dd1372860ce") (:keywords "convenience" "languages" "tools") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "http://www.flycheck.org"))])
+ (flycheck-ameba . [(20191226 1011) ((emacs (24 4)) (flycheck (30))) "Add support for Ameba to Flycheck" single ((:commit . "0c4925ae0e998818326adcb47ed27ddf9761c7dc") (:keywords "tools" "crystal" "ameba") (:url . "https://github.com/crystal-ameba/ameba.el"))])
+ (flycheck-apertium . [(20181211 1038) ((flycheck (0 25))) "Apertium checkers in flycheck" tar ((:commit . "22b60a17836477ac1edd15dc85b14f88ca871ba9") (:keywords "convenience" "tools" "xml") (:authors ("Kevin Brubeck Unhammer" . "unhammer+apertium@mm.st")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer+apertium@mm.st") (:url . "http://wiki.apertium.org/wiki/Emacs"))])
+ (flycheck-ats2 . [(20170225 1636) ((emacs (24 1)) (flycheck (0 22))) "Flycheck: ATS2 support" single ((:commit . "9f77add8408462af35bdddf87e37a661880255e3") (:keywords "convenience" "tools" "languages") (:authors ("Mark Laws" . "mdl@60hz.org")) (:maintainer "Mark Laws" . "mdl@60hz.org") (:url . "http://github.com/drvink/flycheck-ats2"))])
+ (flycheck-bashate . [(20160630 440) ((flycheck (0 24)) (emacs (24 4))) "Integrate bashate with flycheck" single ((:commit . "77fa03dbc578c34fe71ca44926bac2aff8f2b021") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-bashate"))])
+ (flycheck-cask . [(20191030 2253) ((emacs (24 3)) (flycheck (0 14)) (dash (2 4 0))) "Cask support in Flycheck" single ((:commit . "3457ae553c4feaf8168008f063d78fdde8fb5f94") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-cask"))])
+ (flycheck-checkbashisms . [(20190403 218) ((emacs (24)) (flycheck (0 25))) "checkbashisms checker for flycheck" single ((:commit . "2e386775f1a0eb5d80e5d70e98474ee32ecafb24") (:keywords "convenience" "tools" "sh" "unix") (:authors ("Cuong Le" . "cuong.manhle.vn@gmail.com")) (:maintainer "Cuong Le" . "cuong.manhle.vn@gmail.com") (:url . "https://github.com/cuonglm/flycheck-checkbashisms"))])
+ (flycheck-checkpatch . [(20170217 1025) ((emacs (25)) (flycheck (30))) "Flycheck support for checkpatch.pl tool" single ((:commit . "6461fc7b0d493eb9863814055f8bce5fa35739de") (:authors ("Alexander Yarygin" . "yarygin.alexander@gmail.com")) (:maintainer "Alexander Yarygin" . "yarygin.alexander@gmail.com") (:url . "https://github.com/zpp0/flycheck-checkpatch"))])
+ (flycheck-clang-analyzer . [(20200429 238) ((flycheck (0 24)) (emacs (24 4))) "Integrate Clang Analyzer with flycheck" single ((:commit . "0c9b6e4626cd5376037464f8d6b8c64aa32768ee") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-clang-analyzer"))])
+ (flycheck-clang-tidy . [(20191030 814) ((flycheck (0 30))) "Flycheck syntax checker using clang-tidy" single ((:commit . "2ae5542960785604a2974548f89e10407e2ccfc1") (:keywords "convenience" "languages" "tools") (:authors (nil . "Sebastian Nagel<sebastian.nagel@ncoding.at>")) (:maintainer "tastytea" . "tastytea@tastytea.de") (:url . "https://github.com/ch1bo/flycheck-clang-tidy"))])
+ (flycheck-clangcheck . [(20150712 710) ((cl-lib (0 5)) (seq (1 7)) (flycheck (0 17))) "A Flycheck checker difinition for ClangCheck." single ((:commit . "24a9424c484420073a24443a829fd5779752362b") (:authors ("kumar8600" . "kumar8600@gmail.com")) (:maintainer "kumar8600" . "kumar8600@gmail.com") (:url . "https://github.com/kumar8600/flycheck-clangcheck"))])
+ (flycheck-clj-kondo . [(20200414 1444) ((flycheck (0 18))) "Add clj-kondo linter to flycheck" single ((:commit . "5472c26ffdf754a0661357564874ffd4f8598805") (:authors ("Michiel Borkent" . "michielborkent@gmail.com")) (:maintainer "Michiel Borkent" . "michielborkent@gmail.com") (:url . "https://github.com/borkdude/flycheck-clj-kondo"))])
+ (flycheck-clojure . [(20191215 2227) ((cider (0 22 0)) (flycheck (32 -4)) (let-alist (1 0 1)) (emacs (25))) "Flycheck: Clojure support" single ((:commit . "592c4f89efb5112784cbf94c9ea6fdd045771b62") (:authors ("Peter Fraenkel" . "pnf@podsnap.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Peter Fraenkel" . "pnf@podsnap.com") (:url . "https://github.com/clojure-emacs/squiggly-clojure"))])
+ (flycheck-clolyze . [(20190422 2134) ((flycheck (0 25)) (emacs (24))) "Add Clolyze to to flycheck" single ((:commit . "c8b27602dd505aeae6486feb6f584754079baf51") (:authors ("Daniel Laps" . "daniel.laps@hhu.de")) (:maintainer "Daniel Laps" . "daniel.laps@hhu.de") (:url . "https://github.com/DLaps/flycheck-clolyze"))])
+ (flycheck-color-mode-line . [(20171122 707) ((flycheck (0 15)) (dash (1 2)) (emacs (24 1))) "Change mode line color with Flycheck status" single ((:commit . "cc474804d4e8088a627485faaf4217a5781aec7d") (:keywords "convenience" "language" "tools") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com"))])
+ (flycheck-coverity . [(20170704 59) ((flycheck (0 24)) (dash (2 12 0)) (emacs (24 4))) "Integrate Coverity with flycheck" single ((:commit . "cb211e3dd50413a5042eb20175be518214591c9d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-coverity"))])
+ (flycheck-credo . [(20170526 1545) ((flycheck (29))) "flycheck checker for elixir credo" single ((:commit . "e88f11ead53805c361ec7706e44c3dfee1daa19f") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/flycheck-credo"))])
+ (flycheck-crystal . [(20180627 242) ((flycheck (30))) "Add support for Crystal to Flycheck" single ((:commit . "2428b016243e78a0312cf6b3ba6939e7169a1405") (:keywords "tools" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))])
+ (flycheck-css-colorguard . [(20161031 1122) ((flycheck (0 22)) (emacs (24))) "Detect similar colors in CSS" single ((:commit . "ae94fa0396acd99f9ec36d9572459df793f37fe8") (:keywords "flycheck" "css" "colorguard") (:authors ("Saša Jovanić" . "info@simplify.ba")) (:maintainer "Saša Jovanić" . "info@simplify.ba") (:url . "https://github.com/Simplify/flycheck-css-colorguard/"))])
+ (flycheck-cstyle . [(20160905 2341) ((flycheck (0 24)) (emacs (24 4))) "Integrate cstyle with flycheck" single ((:commit . "207285140a353d08cf1fc450cacab158bc98ba82") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-cstyle"))])
+ (flycheck-cython . [(20170724 958) ((flycheck (0 25))) "Support Cython in flycheck" single ((:commit . "ecc4454d35ab5317ab66a04406f36f0c1dbc0b76") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))])
+ (flycheck-d-unittest . [(20160522 417) ((flycheck (0 21 -4 1)) (dash (1 4 0))) "Add D unittest support to flycheck" single ((:commit . "3e614f23cb4a5566fd7988dbcaaf254af81c7718") (:keywords "flycheck" "d") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/flycheck-d-unittest/"))])
+ (flycheck-dedukti . [(20171103 1212) ((flycheck (0 19)) (dedukti-mode (0 1))) "Flycheck integration of Dedukti" single ((:commit . "3dbff5646355f39d57a3ec514f560a6b0082a1cd") (:keywords "convenience" "languages" "tools" "flycheck" "dedukti") (:authors ("Raphaël Cauderlier")) (:maintainer "Raphaël Cauderlier") (:url . "https://github.com/rafoo/flycheck-dedukti"))])
+ (flycheck-demjsonlint . [(20161115 718) ((flycheck (30))) "Flychecker for json-mode using jsonlint from demjson" tar ((:commit . "a3dfe1df8ecdea76c076c0849901427567356228") (:keywords "convenience" "tools") (:authors ("Zenkie Zhu" . "451218651@qq.com")) (:maintainer "Zenkie Zhu" . "451218651@qq.com") (:url . "https://github.com/z4139jq/flycheck-demjsonlint"))])
+ (flycheck-dialyxir . [(20170515 1525) ((flycheck (29))) "flycheck checker for elixir dialyxir" single ((:commit . "adfb73374cb2bee75724822972f405f2ec371199") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/flycheck-dialyxir"))])
+ (flycheck-dialyzer . [(20160326 1430) ((flycheck (0 18))) "Support dialyzer in flycheck" single ((:commit . "a5df0db95ac69f397b5f85d325a6d88cf8974f64") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))])
+ (flycheck-dmd-dub . [(20180625 1635) ((flycheck (0 24)) (f (0 18 2))) "Sets flycheck-dmd-include-paths from dub package information" single ((:commit . "d7df2895d7d27cc39916816e3c32a60ce0e1d2d9") (:keywords "languages") (:authors ("Atila Neves" . "atila.neves@gmail.com")) (:maintainer "Atila Neves" . "atila.neves@gmail.com") (:url . "http://github.com/atilaneves/flycheck-dmd-dub"))])
+ (flycheck-dogma . [(20170125 721) ((flycheck (29))) "flycheck checker for elixir dogma" single ((:commit . "eea1844a81e87e2488b05e703a93272d0fc3bc74") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/flycheck-dogma"))])
+ (flycheck-drstring . [(20200210 1903) ((emacs (25 1)) (flycheck (0 25)) (swift-mode (8 0))) "Doc linting for Swift using DrString" single ((:commit . "d8d5a560e792a6657ef5ac69934c74f1ed51372d") (:keywords "tools" "flycheck") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:url . "https://github.com/danielmartin/flycheck-drstring"))])
+ (flycheck-dtrace . [(20180903 1630) ((emacs (25 1)) (flycheck (0 22))) "Flycheck: DTrace support" single ((:commit . "951fab3a15c11d92b9fac1ea4791a80dfe034a00") (:keywords "languages" "convenience" "tools") (:authors ("Jürgen Hötzel" . "juergen@hoetzel.info")) (:maintainer "Jürgen Hötzel" . "juergen@hoetzel.info"))])
+ (flycheck-elixir . [(20180810 642) ((flycheck (0 25))) "Support Elixir in flycheck" single ((:commit . "11998d7e3e63a33453e934d25b3673f7c558e579") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))])
+ (flycheck-elm . [(20181107 146) ((flycheck (0 29 -4)) (emacs (24 4)) (let-alist (1 0 5)) (seq (2 20))) "Flycheck support for the elm language" single ((:commit . "1b60050efd4729bfba548f3e5adbcb58436667cb") (:authors ("Brian Sermons")) (:maintainer "Brian Sermons") (:url . "https://github.com/bsermons/flycheck-elm"))])
+ (flycheck-elsa . [(20200203 1758) ((emacs (25)) (seq (2 0))) "Flycheck for Elsa." tar ((:commit . "6274e6d5391bcdca46164b3238b045ca21c353a2") (:keywords "convenience") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/emacs-elsa/flycheck-elsa"))])
+ (flycheck-flawfinder . [(20170116 327) ((flycheck (0 24)) (emacs (24 4))) "Integrate flawfinder with flycheck" single ((:commit . "7d964d38023b088adf3ffc2fddeead81f4491a45") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-flawfinder"))])
+ (flycheck-flow . [(20190304 1459) ((flycheck (0 18)) (json (1 4))) "Support Flow in flycheck" single ((:commit . "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))])
+ (flycheck-ghcmod . [(20150114 632) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using ghcmod" single ((:commit . "6bb7b7d879f05bbae54e99eb04806c877adf3ccc") (:keywords "convenience" "languages" "tools") (:authors ("Shen Chao" . "scturtle@gmail.com")) (:maintainer "Shen Chao" . "scturtle@gmail.com") (:url . "https://github.com/scturtle/flycheck-ghcmod"))])
+ (flycheck-golangci-lint . [(20190330 1412) ((emacs (24)) (flycheck (0 22))) "Flycheck checker for golangci-lint" single ((:commit . "8e446c68311048f0b87febf8ef0379e29d358851") (:keywords "convenience" "tools" "go") (:authors ("Wei Jian Gan" . "weijiangan@outlook.com")) (:maintainer "Wei Jian Gan" . "weijiangan@outlook.com") (:url . "https://github.com/weijiangan/flycheck-golangci-lint"))])
+ (flycheck-gometalinter . [(20180424 941) ((emacs (24)) (flycheck (0 22))) "flycheck checker for gometalinter" single ((:commit . "1e3eede14da405b914a7d8b00300846e4393cb83") (:keywords "convenience" "tools" "go") (:authors ("Diep Pham" . "me@favadi.com")) (:maintainer "Diep Pham" . "me@favadi.com") (:url . "https://github.com/favadi/flycheck-gometalinter"))])
+ (flycheck-gradle . [(20190315 234) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Gradle." single ((:commit . "1ca08bbc343362a923cbdc2010f66e41655e92ab") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-gradle"))])
+ (flycheck-grammalecte . [(20200416 1620) ((emacs (25 1)) (flycheck (26))) "Integrate Grammalecte with Flycheck" tar ((:commit . "d99833992eb874cbbd25e991e3037642e125bb59") (:keywords "i18n" "text") (:authors ("Guilhem Doulcier" . "guilhem.doulcier@espci.fr") ("Étienne Deparis" . "etienne@depar.is")) (:maintainer "Guilhem Doulcier" . "guilhem.doulcier@espci.fr") (:url . "https://git.deparis.io/flycheck-grammalecte/"))])
+ (flycheck-grammarly . [(20200203 446) ((emacs (25 1)) (flycheck (0 14)) (grammarly (0 0 1)) (cl-lib (0 6))) "Grammarly support for Flycheck" single ((:commit . "72425743364f4fd9516f94546a7432457e1e7df0") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/flycheck-grammarly"))])
+ (flycheck-haskell . [(20200218 753) ((emacs (24 3)) (flycheck (0 25)) (haskell-mode (13 7)) (dash (2 4 0)) (seq (1 11)) (let-alist (1 0 1))) "Flycheck: Automatic Haskell configuration" tar ((:commit . "23cfb9387faf6f70b421bb4c11b6847f0db38dfc") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-haskell"))])
+ (flycheck-hdevtools . [(20160926 702) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using hdevtools" single ((:commit . "8248ebaf8376ee5e37ff47c814a291550a7bdcf2") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/flycheck/flycheck-hdevtools"))])
+ (flycheck-indent . [(20200129 2046) ((emacs (25 1)) (indent-lint (1 0 0)) (flycheck (31))) "Indent-lint frontend for flycheck" single ((:commit . "23ef4bab5509e2e7fb1f4a194895a9510fa7c797") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/indent-lint.el"))])
+ (flycheck-indicator . [(20200331 1142) ((flycheck (0 15))) "A fancy mode line indicator for `flycheck-mode'" single ((:commit . "e00d9a20cbc21d6814c27cc9206296da394478e8") (:keywords "convenience" "language" "tools") (:authors ("Eder Elorriaga" . "gexplorer8@gmail.com")) (:maintainer "Eder Elorriaga" . "gexplorer8@gmail.com") (:url . "https://github.com/gexplorer/flycheck-indicator"))])
+ (flycheck-ini-pyinilint . [(20190312 1931) ((flycheck (31))) "Flycheck integration for PyINILint" single ((:commit . "e1c3adfc148caf721691a55cae686b5f31209204") (:keywords "convenience" "files" "tools") (:authors ("Daniel J. R. May" . "daniel.may@danieljrmay.com")) (:maintainer "Daniel J. R. May" . "daniel.may@danieljrmay.com") (:url . "https://gitlab.com/danieljrmay/flycheck-ini-pyinilint"))])
+ (flycheck-inline . [(20190320 1611) ((emacs (25 1)) (flycheck (32))) "Display Flycheck errors inline" single ((:commit . "cf9eceabff8370f3b834b943a5777b9f914583f9") (:keywords "tools" "convenience") (:authors ("fmdkdd")) (:maintainer "fmdkdd") (:url . "https://github.com/flycheck/flycheck-inline"))])
+ (flycheck-irony . [(20180604 2152) ((emacs (24 1)) (flycheck (0 22)) (irony (0 2 0))) "Flycheck: C/C++ support via Irony" single ((:commit . "42dbecd4a865cabeb301193bb4d660e26ae3befe") (:keywords "convenience" "tools" "c") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/flycheck-irony/"))])
+ (flycheck-jest . [(20180411 328) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Jest." single ((:commit . "08f27c5ed97c83c445f99fab58f0b6c826f14449") (:keywords "languages" "jest") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-jest"))])
+ (flycheck-joker . [(20200412 2346) ((flycheck (0 18))) "Add Clojure syntax checker (via Joker) to flycheck" single ((:commit . "93576295fef7a749bf779eeece5edd85e21868e2") (:authors ("Roman Bataev" . "roman.bataev@gmail.com")) (:maintainer "Roman Bataev" . "roman.bataev@gmail.com"))])
+ (flycheck-julia . [(20170729 2141) ((emacs (24)) (flycheck (0 22))) "Julia support for Flycheck" single ((:commit . "213b60a5a9a1cb7887260e1d159b5bb27167cbb6") (:keywords "convenience" "tools" "languages") (:authors ("Guido Kraemer" . "guido.kraemer@gmx.de")) (:maintainer "Guido Kraemer" . "guido.kraemer@gmx.de") (:url . "https://github.com/gdkrmr/flycheck-julia"))])
+ (flycheck-kotlin . [(20190808 630) ((flycheck (0 20))) "Support kotlin in flycheck" single ((:commit . "5104ee9a3fdb7f0a0a3d3bcfd8dd3c45a9929310") (:authors ("Elric Milon" . "whirm_REMOVETHIS__@gmx.com")) (:maintainer "Elric Milon" . "whirm_REMOVETHIS__@gmx.com"))])
+ (flycheck-ledger . [(20200304 2204) ((emacs (24 1)) (flycheck (0 15))) "Flycheck integration for ledger files" single ((:commit . "628e25ba66604946085571652a94a54f4d1ad96f") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flycheck-ledger"))])
+ (flycheck-lilypond . [(20171203 1332) ((emacs (24 3)) (flycheck (0 22))) "LilyPond support in Flycheck" single ((:commit . "cc1b7677a932c42e5dab1661ad7b923d4aae744c") (:keywords "tools" "convenience") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:url . "https://github.com/hinrik/flycheck-lilypond"))])
+ (flycheck-liquidhs . [(20170412 2326) ((flycheck (0 15))) "A flycheck checker for Haskell using liquid (i.e. liquidhaskell)" single ((:commit . "c27252ac24d77f4b6eec76a4ba9cd61761a3fba9") (:keywords "convenience" "languages" "tools") (:authors ("Ranjit Jhala" . "jhala@cs.ucsd.edu")) (:maintainer "Ranjit Jhala" . "jhala@cs.ucsd.edu") (:url . "https://github.com/ucsd-progsys/liquidhaskell/flycheck-liquid.el"))])
+ (flycheck-mercury . [(20181118 1952) ((flycheck (0 22)) (s (1 9 0)) (dash (2 4 0))) "Mercury support in Flycheck" single ((:commit . "b6807a8db70981e21a91a93324c31e49de85c89f") (:keywords "convenience" "languages" "tools") (:authors ("Matthias Güdemann" . "matthias.gudemann@gmail.com")) (:maintainer "Matthias Güdemann" . "matthias.gudemann@gmail.com") (:url . "https://github.com/flycheck/flycheck-mercury"))])
+ (flycheck-mix . [(20200211 1414) ((flycheck (27)) (elixir-mode (1 8 0))) "Elixir mix flycheck integration DEPRECATED" single ((:commit . "d3c075f61ace6695919e90239cee6567cce09638") (:keywords "elixir" "flycheck" "mix") (:authors ("Tomasz Kowal" . "tomekowal@gmail.com")) (:maintainer "Tomasz Kowal" . "tomekowal@gmail.com") (:url . "https://github.com/tomekowal/flycheck-mix"))])
+ (flycheck-mmark . [(20190713 1323) ((emacs (24 4)) (flycheck (0 29))) "Flycheck checker for the MMark markdown processor" single ((:commit . "f8fdd59ccb9ddc7d81efbf3dde096dc66e3f9fa1") (:keywords "convenience" "text") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mmark-md/flycheck-mmark"))])
+ (flycheck-mypy . [(20200113 1336) ((flycheck (0 18))) "Support mypy in flycheck" single ((:commit . "5b4e14ab0cbce2ff35fee7e69b5b95eafd609c80") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))])
+ (flycheck-nim . [(20190927 1514) ((dash (2 4 0)) (flycheck (0 20))) "Defines a flycheck syntax checker for nim" single ((:commit . "ddfade51001571c2399f78bcc509e0aa8eb752a4") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/flycheck-nim"))])
+ (flycheck-nimsuggest . [(20171027 2208) ((flycheck (0 23)) (emacs (24 3))) "flycheck backend for Nim using nimsuggest" single ((:commit . "dc9a5de1cb3ee05db5794d824610959a1f603bc9") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/flycheck-nimsuggest"))])
+ (flycheck-objc-clang . [(20191116 1015) ((emacs (24 4)) (flycheck (26))) "Flycheck: Objective-C support using Clang" single ((:commit . "683d52e7bc3aeabd966c546a1d835d4c7191509b") (:keywords "convenience" "languages" "tools") (:authors ("Goichi Hirakawa" . "gooichi@gyazsquare.com")) (:maintainer "Goichi Hirakawa" . "gooichi@gyazsquare.com") (:url . "https://github.com/GyazSquare/flycheck-objc-clang"))])
+ (flycheck-ocaml . [(20170730 2153) ((emacs (24 1)) (flycheck (0 22)) (merlin (3 0 1)) (let-alist (1 0 3))) "Flycheck: OCaml support" single ((:commit . "8707a7bf545a8639a6a5c600a98d9a2ea1487dc9") (:keywords "convenience" "tools" "languages") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-ocaml"))])
+ (flycheck-package . [(20200304 2151) ((emacs (24 1)) (flycheck (0 22)) (package-lint (0 2))) "A Flycheck checker for elisp package authors" single ((:commit . "caea75f77dc7668c7aa0ebcd48f677e3522b5d77") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flycheck-package"))])
+ (flycheck-pact . [(20180920 2052) ((emacs (24 3)) (flycheck (0 25)) (pact-mode (0 0 4))) "Flycheck support for pact-mode" single ((:commit . "0e10045064ef89ec8b6f5a473073d47b976a2ca3") (:keywords "pact" "lisp" "languages" "blockchain" "smartcontracts" "tools" "linting") (:authors ("Stuart Popejoy")) (:maintainer "Stuart Popejoy" . "stuart@kadena.io") (:url . "http://github.com/kadena-io/flycheck-pact"))])
+ (flycheck-perl6 . [(20180509 2201) ((emacs (24 3)) (flycheck (0 22))) "Perl 6 support in Flycheck" single ((:commit . "b804702305d7a6e26f762ff98cfdeec2e9dd4cb7") (:keywords "tools" "convenience") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:url . "https://github.com/hinrik/flycheck-perl6"))])
+ (flycheck-pest . [(20200317 1503) ((emacs (26 3)) (flycheck (31)) (pest-mode (0 1))) "Flycheck integration for Pest -" single ((:commit . "4ae88a9c81d499bbe99978ff0216b645fed70023") (:keywords "convenience" "flycheck") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/ksqsf/pest-mode"))])
+ (flycheck-phpstan . [(20200411 531) ((emacs (24 3)) (flycheck (26)) (phpstan (0 5 0))) "Flycheck integration for PHPStan" single ((:commit . "2f715a186c5fe6576de83d4c0b64a37e2bfce101") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))])
+ (flycheck-pkg-config . [(20200409 501) ((dash (2 8 0)) (s (1 9 0)) (flycheck (29))) "configure flycheck using pkg-config" single ((:commit . "b76b24ea1f4800f5fb96ce9c6c4788e0e63133d3") (:keywords "flycheck") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (flycheck-plantuml . [(20171018 111) ((flycheck (0 24)) (emacs (24 4)) (plantuml-mode (1 2 2))) "Integrate plantuml with flycheck" single ((:commit . "183be89e1dbba0b38237dd198dff600e0790309d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-plantuml"))])
+ (flycheck-pony . [(20190227 235) ((flycheck (0 25 1))) "Pony support in Flycheck" single ((:commit . "43421fb43ab4fec759061a11e9d9166bb7da013d") (:keywords "tools" "convenience") (:url . "https://github.com/seantallen/flycheck-pony"))])
+ (flycheck-popup-tip . [(20170812 2351) ((flycheck (0 22)) (popup (0 5)) (emacs (24))) "Display Flycheck error messages using popup.el" single ((:commit . "ef86aad907f27ca076859d8d9416f4f7727619c6") (:keywords "convenience" "tools" "flycheck" "tooltip") (:authors ("Saša Jovanić" . "sasa@simplify.ba")) (:maintainer "Saša Jovanić" . "sasa@simplify.ba") (:url . "https://github.com/flycheck/flycheck-popup-tip/"))])
+ (flycheck-pos-tip . [(20180610 1615) ((emacs (24 1)) (flycheck (0 22)) (pos-tip (0 4 6))) "Display Flycheck errors in GUI tooltips" single ((:commit . "909113977d37739387c7f099d74a724cfe6efcec") (:keywords "tools" "convenience") (:authors ("Akiha Senda" . "senda.akiha@gmail.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-pos-tip"))])
+ (flycheck-posframe . [(20191214 1109) ((flycheck (0 24)) (emacs (26)) (posframe (0 3 0))) "Show flycheck error messages using posframe.el" single ((:commit . "2b3e94c2e427ec9831c513007460c5ea9e2225a3") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-posframe"))])
+ (flycheck-prospector . [(20180524 450) ((flycheck (0 22))) "Support prospector in flycheck" single ((:commit . "92f2680573290ba4a69a2d6e140f44680efce6a8") (:authors ("Carlos Coelho" . "carlospecter@gmail.com")) (:maintainer "Carlos Coelho" . "carlospecter@gmail.com") (:url . "https://github.com/chocoelho/flycheck-prospector"))])
+ (flycheck-pycheckers . [(20200428 40) ((flycheck (0 18))) "multiple syntax checker for Python, using Flycheck" tar ((:commit . "dcf5b097b7c1206f6325547f5cf37b867a6a5ffb") (:keywords "convenience" "tools" "languages") (:url . "https://github.com/msherry/flycheck-pycheckers"))])
+ (flycheck-pyflakes . [(20170330 2311) ((flycheck (0 18))) "Support pyflakes in flycheck" single ((:commit . "61b045939e3743b2162b7e4e73249c66fc2b8f65") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (flycheck-pyre . [(20190215 1222) ((emacs (24)) (flycheck (29)) (cl-lib (0 6))) "Support Pyre in flycheck" tar ((:commit . "0560122caae207d99d8af1ac2b4e5d6f6a1ce444") (:authors ("Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com")) (:maintainer "Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com") (:url . "https://github.com/linnik/flycheck-pyre"))])
+ (flycheck-relint . [(20200320 2223) ((emacs (26 1)) (flycheck (0 22)) (relint (1 15))) "A Flycheck checker for elisp regular expressions" single ((:commit . "296cf8e2f9e85ab0c1c591816b50ecd7c766060c") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flycheck-relint"))])
+ (flycheck-rtags . [(20191222 920) ((emacs (24)) (flycheck (0 23)) (rtags (2 10))) "RTags Flycheck integration" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com")) (:maintainer "Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (flycheck-rust . [(20190319 1546) ((emacs (24 1)) (flycheck (28)) (dash (2 13 0)) (seq (2 3)) (let-alist (1 0 4))) "Flycheck: Rust additions and Cargo support" single ((:commit . "a139cd53c5062697e9ed94ad80b803c37d999600") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-rust"))])
+ (flycheck-stack . [(20160520 944) ((flycheck (26)) (haskell-mode (13))) "Flychecker using stack ghci" single ((:commit . "f04235e00998000ee2c305f5a3ee72bb5dbbc926"))])
+ (flycheck-stan . [(20200221 2025) ((emacs (25 1)) (flycheck (0 16 0)) (stan-mode (10 1 0))) "Add Stan support for Flycheck" tar ((:commit . "599a0440086c660e6823622b35058f6d2d6d9637") (:keywords "c" "languages") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/flycheck-stan"))])
+ (flycheck-status-emoji . [(20180330 2325) ((cl-lib (0 1)) (emacs (24)) (flycheck (0 20)) (let-alist (1 0))) "Show flycheck status using cute, compact emoji" single ((:commit . "4bd113ab42dec9544b66e0a27ed9008ce8148433") (:keywords "convenience" "languages" "tools") (:authors ("Ben Liblit" . "liblit@acm.org")) (:maintainer "Ben Liblit" . "liblit@acm.org") (:url . "https://github.com/liblit/flycheck-status-emoji"))])
+ (flycheck-swift . [(20170129 549) ((emacs (24 4)) (flycheck (0 25))) "Flycheck extension for Apple's Swift." single ((:commit . "4c5ad401252400a78da395fd56a71e67ff8c2761") (:keywords "languages" "swift"))])
+ (flycheck-swift3 . [(20191116 1113) ((emacs (24 4)) (flycheck (26))) "Flycheck: Swift support for Apple swift-mode" single ((:commit . "62c93add8ff65d335f6ef8a3123d2d4f53339df5") (:keywords "convenience" "languages" "tools") (:authors ("Goichi Hirakawa" . "gooichi@gyazsquare.com")) (:maintainer "Goichi Hirakawa" . "gooichi@gyazsquare.com") (:url . "https://github.com/GyazSquare/flycheck-swift3"))])
+ (flycheck-swiftlint . [(20180830 340) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Swiftlint." single ((:commit . "8861ddbd9c1c2a951630d9ea29162ad0916580cb") (:keywords "languages" "swiftlint" "swift" "emacs") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-swiftlint"))])
+ (flycheck-swiftx . [(20191129 2207) ((emacs (26 1)) (flycheck (26)) (xcode-project (1 0))) "Flycheck: Swift backend" single ((:commit . "94ead32e879c055902e3edb78af1193f21339e5f") (:keywords "convenience" "languages" "tools") (:authors ("John Buckley" . "john@olivetoast.com")) (:maintainer "John Buckley" . "john@olivetoast.com") (:url . "https://github.com/nhojb/flycheck-swiftx"))])
+ (flycheck-tcl . [(20180327 1259) ((emacs (24 4)) (flycheck (0 22))) "A flycheck checker for Tcl using tclchecker" single ((:commit . "7ca23f4673e178b9f5dcc8a82b86cf05b15d7236") (:authors ("Niels Widger" . "niels.widger@gmail.com")) (:maintainer "Niels Widger" . "niels.widger@gmail.com") (:url . "https://github.com/nwidger/flycheck-tcl"))])
+ (flycheck-tip . [(20171020 1048) ((flycheck (29)) (emacs (24 1)) (popup (0 5 0))) "Show flycheck/flymake errors by tooltip" tar ((:commit . "9b0072d92e6b4a52834bf5a34120a0f5e1c8c2fd") (:keywords "flycheck") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/flycheck-tip"))])
+ (flycheck-title . [(20170216 2346) ((flycheck (30)) (emacs (24))) "show flycheck errors in the frame title" single ((:commit . "6faea67be8661faf8152217869d16e993cc2bc49") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (flycheck-vale . [(20190609 1533) ((emacs (24 4)) (flycheck (0 22)) (let-alist (1 0 4))) "flycheck integration for vale" single ((:commit . "f08249535348d046d0974b9c20fe1b7dd3cd2660") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/flycheck-vale"))])
+ (flycheck-vdm . [(20190304 839) ((emacs (24)) (flycheck (32 -4)) (vdm-mode (0 0 4))) "Syntax checking for vdm-mode" single ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))])
+ (flycheck-xcode . [(20180122 651) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Apple's Xcode." single ((:commit . "b76f872c8985801951a095b8b3c1572b94189f9e") (:keywords "languages" "xcode") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-xcode"))])
+ (flycheck-yamllint . [(20170325 1735) ((flycheck (30))) "Flycheck integration for YAMLLint" single ((:commit . "1e9fe3b2d3e42d551b94473816a8eeee637b446c") (:keywords "convenience" "languages" "tools") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:url . "https://github.com/krzysztof-magosa/flycheck-yamllint"))])
+ (flycheck-yang . [(20180312 1831) ((yang-mode (0 9 4)) (flycheck (0 18))) "YANG flycheck checker" single ((:commit . "47881fc42ef0163c47064b72b5d6dbef4f83d778") (:authors (nil . "Andrew Fort (@andaru)")) (:maintainer nil . "Andrew Fort (@andaru)"))])
+ (flycheck-ycmd . [(20181016 618) ((emacs (24)) (dash (2 13 0)) (flycheck (0 22)) (ycmd (1 2)) (let-alist (1 0 5))) "flycheck integration for ycmd" single ((:commit . "bc81b992f79100c98f56b7b83caf64cb8ea60477") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ycmd"))])
+ (flymake-coffee . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for coffee script" single ((:commit . "dee295acf30820ed15fe0de17137d50bc27fc80c") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-coffee"))])
+ (flymake-cppcheck . [(20140415 1257) ((flymake-easy (0 9))) "Flymake work with Cppcheck for C/C++" single ((:commit . "7eac8c7b9c74ebb5e600686f1f3891767dc87bb2") (:keywords "flymake" "cppcheck" "c" "c++") (:authors ("Akiha Senda" . "senda.akiha@gmail.com")) (:maintainer "Akiha Senda" . "senda.akiha@gmail.com") (:url . "https://github.com/senda-akiha/flymake-cppcheck/"))])
+ (flymake-css . [(20170723 146) ((flymake-easy (0 1))) "Flymake support for css using csslint" single ((:commit . "de090163ba289910ceeb61b13368ce42d0f2dfd8") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-css"))])
+ (flymake-cursor . [(20120322 1757) ((flymake (0 3))) "Show flymake messages in the minibuffer after delay" single ((:commit . "ecc539082c3fc9e91bba33d72c26989217411593") (:keywords "languages" "mode" "flymake") (:authors ("Unknown Original Author") ("Dino Chiesa" . "dpchiesa@hotmail.com") ("Sam Graham <libflymake-emacs BLAHBLAH illusori.co.uk>")) (:maintainer "Sam Graham <libflymake-emacs BLAHBLAH illusori.co.uk>") (:url . "https://github.com/illusori/emacs-flymake-cursor"))])
+ (flymake-diagnostic-at-point . [(20180815 1004) ((emacs (26 1)) (popup (0 5 3))) "Display flymake diagnostics at point" single ((:commit . "379616b1c6f5ebeaf08fbe54ae765008a78b3be7") (:keywords "convenience" "languages" "tools") (:authors ("Ricardo Martins" . "ricardo@scarybox.net")) (:maintainer "Ricardo Martins" . "ricardo@scarybox.net") (:url . "https://github.com/meqif/flymake-diagnostic-at-point"))])
+ (flymake-easy . [(20140818 755) nil "Helpers for easily building flymake checkers" single ((:commit . "de41ea49503f71f997e5c359a2ad08df696c0147") (:keywords "convenience" "internal") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-easy"))])
+ (flymake-elixir . [(20130810 1417) nil "A flymake handler for elixir-mode .ex files." single ((:commit . "3810566cffe35d04cc3f01e27fe397d68d52f802") (:authors ("Sylvain Benner" . "syl20bnr@gmail.com")) (:maintainer "Sylvain Benner" . "syl20bnr@gmail.com"))])
+ (flymake-eslint . [(20191129 1558) ((emacs (26 0))) "A Flymake backend for Javascript using eslint" single ((:commit . "6e2d376f84ddf9af593072954c97e9c82ab85331") (:authors ("Dan Orzechowski")) (:maintainer "Dan Orzechowski") (:url . "https://github.com/orzechowskid/flymake-eslint"))])
+ (flymake-gjshint . [(20130327 1232) nil "A flymake handler for javascript using both jshint and gjslint" single ((:commit . "dc957c14cb060819585de8aedb330e24efa4b784") (:keywords "flymake" "javascript" "jshint" "gjslint") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com"))])
+ (flymake-go . [(20150714 733) nil "A flymake handler for go-mode files" single ((:commit . "ae83761aa908c1a50ff34af04f00dcc46bca2ce9") (:keywords "go" "flymake") (:authors ("Michael Fellinger" . "michael@iron.io") ("Robert Zaremba" . "robert.marek.zaremba@wp.eu")) (:maintainer "Michael Fellinger" . "michael@iron.io") (:url . "https://github.com/robert-zaremba/flymake-go"))])
+ (flymake-go-staticcheck . [(20190708 1325) ((emacs (25))) "Go staticcheck linter for flymake" single ((:commit . "130079fcd29c3e2a72f8325f3041042bcc6286f1") (:keywords "languages" "tools") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:url . "https://github.com/s-kostyaev/flymake-go-staticcheck"))])
+ (flymake-golangci . [(20191028 1927) ((flymake-easy (0 1)) (emacs (24))) "A flymake handler for go-mode files using Golang CI lint" single ((:commit . "dfc31a1a6ae3f087b49fe6f5f21b3866780aa91c") (:authors ("Jorge Javier Araya Navarro" . "jorgejavieran@yahoo.com.mx")) (:maintainer "Jorge Javier Araya Navarro" . "jorgejavieran@yahoo.com.mx") (:url . "https://gitlab.com/shackra/flymake-golangci"))])
+ (flymake-google-cpplint . [(20140205 1325) ((flymake-easy (0 9))) "Help to comply with the Google C++ Style Guide" single ((:commit . "426e56ae1278d7a078c368e9d495003825ada0bd") (:keywords "flymake" "c" "c++") (:authors ("Akiha Senda" . "senda.akiha@gmail.com")) (:maintainer "Akiha Senda" . "senda.akiha@gmail.com") (:url . "https://github.com/senda-akiha/flymake-google-cpplint/"))])
+ (flymake-gradle . [(20190315 233) ((emacs (26 1))) "Flymake extension for Gradle." single ((:commit . "dbedd29b78d4828ef57d4de20867be5df3eaab99") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-gradle"))])
+ (flymake-haml . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for haml files" single ((:commit . "22a81e8484734552d461e7ae7305664dc244447e") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-haml"))])
+ (flymake-haskell-multi . [(20170723 146) ((flymake-easy (0 1))) "Syntax-check haskell-mode using both ghc and hlint" tar ((:commit . "b564a94312259885b1380272eb867bf52a164020"))])
+ (flymake-hlint . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for haskell-mode files using hlint" single ((:commit . "f910736b26784efc9a2fa29503f45c1f1dd0aa38") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-hlint"))])
+ (flymake-joker . [(20200315 1429) ((emacs (26 1)) (flymake-quickdef (0 1 1))) "Add Clojure syntax checker (via Joker) to flymake" single ((:commit . "fc132beedac9e6f415b72e578e77318fd13af9ee") (:authors ("Mateusz Probachta" . "mateusz.probachta@gmail.com")) (:maintainer "Mateusz Probachta" . "mateusz.probachta@gmail.com") (:url . "https://github.com/beetleman/flymake-joker"))])
+ (flymake-jshint . [(20140319 2200) ((flymake-easy (0 8))) "making flymake work with JSHint" single ((:commit . "79dd554c227883c487db38ac111306c8d5382c95") (:keywords "flymake" "jshint" "javascript") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (flymake-jslint . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for javascript using jslint" single ((:commit . "8edb82be605542b0ef62d38d818adcdde335eecb") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-jslint"))])
+ (flymake-json . [(20180511 911) ((flymake-easy (0 1))) "A flymake handler for json using jsonlint" single ((:commit . "ae58795f948402e987cda4c15f10354f8ec2d0fd") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-json"))])
+ (flymake-ktlint . [(20180831 346) ((emacs (26 1))) "Flymake extension for Ktlint." single ((:commit . "56aab6f2d22061999050783dbc3166cdb456d0bb") (:keywords "languages" "ktlint") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-ktlint"))])
+ (flymake-less . [(20151111 738) ((less-css-mode (0 15)) (flymake-easy (0 1))) "Flymake handler for LESS stylesheets (lesscss.org)" single ((:commit . "32d3c28a9a5c52b82d1741ff9d715013b6498421") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (flymake-lua . [(20170129 154) nil "Flymake for Lua" single ((:commit . "84589f20066921a5b79cf3a1f914a223a2552d2a") (:keywords "lua") (:authors (nil . "Sébastien Roccaserra (format \"<%s%s@%s.%s>\" \"s\" \"roccaserra\" \"yahoo\" \"com\")")) (:maintainer nil . "Sébastien Roccaserra (format \"<%s%s@%s.%s>\" \"s\" \"roccaserra\" \"yahoo\" \"com\")"))])
+ (flymake-perlcritic . [(20120328 814) ((flymake (0 3))) "Flymake handler for Perl to invoke Perl::Critic" tar ((:commit . "edfaa86500ddfa8a6a6f51f5581a81a821277df6") (:authors ("Sam Graham <libflymake-perlcritic-emacs BLAHBLAH illusori.co.uk>")) (:maintainer "Sam Graham <libflymake-perlcritic-emacs BLAHBLAH illusori.co.uk>") (:url . "https://github.com/illusori/emacs-flymake-perlcritic"))])
+ (flymake-pest . [(20200317 1503) ((emacs (26 3)) (pest-mode (0 1))) "A flymake handler for Pest files" single ((:commit . "4ae88a9c81d499bbe99978ff0216b645fed70023") (:keywords "languages" "flymake") (:authors ("ksqsf" . "i@ksqsf.moe") ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:url . "https://github.com/ksqsf/pest-mode"))])
+ (flymake-php . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for php-mode files" single ((:commit . "c045d01e002ba5e09b05f40e25bf5068d02126bc") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-php"))])
+ (flymake-phpcs . [(20140713 631) ((flymake-easy (0 9))) "making flymake work with PHP CodeSniffer" single ((:commit . "bba25dbda15955b609ceae0893cf3be74ec67230") (:keywords "flymake" "phpcs" "php") (:authors ("Akiha Senda")) (:maintainer "Akiha Senda") (:url . "https://github.com/senda-akiha/flymake-phpcs/"))])
+ (flymake-phpstan . [(20200415 1637) ((emacs (26 1)) (phpstan (0 5 0))) "Flymake backend for PHP using PHPStan" single ((:commit . "2f715a186c5fe6576de83d4c0b64a37e2bfce101") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))])
+ (flymake-puppet . [(20170801 554) ((flymake-easy (0 9))) "Flymake handler using puppet-lint" single ((:commit . "8a772395f4ccc59d883712ab53a92a17c1d9a429") (:authors ("Ben Prew")) (:maintainer "Ben Prew") (:url . "https://github.com/benprew/flymake-puppet"))])
+ (flymake-python-pyflakes . [(20170723 146) ((flymake-easy (0 8))) "A flymake handler for python-mode files using pyflakes (or flake8)" single ((:commit . "1d65c26bf65a5dcbd29fcd967e2feb90e1e7a33d") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-python-pyflakes"))])
+ (flymake-quickdef . [(20200308 2342) ((emacs (26 1))) "Quickly define a new Flymake backend" single ((:commit . "150c5839768a3d32f988f9dc08052978a68f2ad7") (:keywords "languages" "tools" "convenience" "lisp") (:authors ("Karl Otness")) (:maintainer "Karl Otness") (:url . "https://github.com/karlotness/flymake-quickdef"))])
+ (flymake-racket . [(20180912 109) ((emacs (26 1))) "Flymake extension for Racket." single ((:commit . "d20fa60d66db3f7c2df0133814564ee5b36d2aba") (:keywords "languages" "racket" "scheme") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-racket"))])
+ (flymake-ruby . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for ruby-mode files" single ((:commit . "6c320c6fb686c5223bf975cc35178ad6b195e073") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-ruby"))])
+ (flymake-rust . [(20170729 2139) ((flymake-easy (0 1))) "A flymake handler for rust-mode files" single ((:commit . "2f42d1f2dad73ec9de460eda6176e3ab25c446f0") (:authors ("Joao Oliveira" . "joaoxsouls@gmail.com")) (:maintainer "Joao Oliveira" . "joaoxsouls@gmail.com") (:url . "https://github.com/joaoxsouls/flymake-rust"))])
+ (flymake-sass . [(20170723 146) ((flymake-easy (0 1))) "Flymake handler for sass and scss files" single ((:commit . "2de28148e92deb93bff3d55fe14e7c67ac476056") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-sass"))])
+ (flymake-shell . [(20170723 146) ((flymake-easy (0 1))) "A flymake syntax-checker for shell scripts" single ((:commit . "a16cf453056b9849cc7c912bb127fb0b08fc6dab") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-shell"))])
+ (flymake-shellcheck . [(20200329 2005) ((emacs (26))) "A bash/sh Flymake backend powered by ShellCheck" single ((:commit . "78956f0e5bb9c4d35989657a55929e8e3f5691e6") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/flymake-shellcheck"))])
+ (flymake-solidity . [(20170805 644) ((flymake-easy (0 10))) "A flymake handler for solidity using solc" single ((:commit . "48bfe9525f764d8a68cc0270905dbf45bfd00bb8") (:authors ("Pascal van Kooten" . "kootenpv@gmail.com")) (:maintainer "Pascal van Kooten" . "kootenpv@gmail.com") (:url . "https://github.com/kootenvp/flymake-solidity"))])
+ (flymake-vala . [(20150326 531) ((flymake-easy (0 1))) "A flymake handler for vala-mode files" single ((:commit . "c3674f461fc84fb0300cd3a562fb903a59782745") (:keywords "convenience" "vala") (:authors ("Daniel Lawrence" . "dannyla@linux.com")) (:maintainer "Daniel Lawrence" . "dannyla@linux.com") (:url . "https://github.com/daniellawrence/flymake-vala"))])
+ (flymake-vnu . [(20181128 216) ((emacs (26 1))) "Flymake extension for the v.Nu HTML validator." single ((:commit . "7c4ab9d12611756ad5a80d866890b2f9b73fb611") (:keywords "languages") (:maintainer "Stefan Kuznetsov" . "skuznetsov@posteo.net") (:url . "https://github.com/theneosloth/flymake-vnu"))])
+ (flymake-yaml . [(20130423 1548) ((flymake-easy (0 1))) "A flymake handler for YAML" single ((:commit . "24cb5b744a1796e554e6dbfc6eeb237d06a00b10") (:keywords "yaml") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/flymake-yaml"))])
+ (flymd . [(20160617 1214) ((cl-lib (0 5))) "On the fly markdown preview" tar ((:commit . "84d5a68bcfed4a295952c33ffcd11e880978d9d7") (:keywords "markdown" "convenience") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/flymd"))])
+ (flyparens . [(20140723 1846) nil "Check for unbalanced parens on the fly" tar ((:commit . "af9b8cfd647d0e5f97684d613dc2eea7cfc19398") (:keywords "faces" "convenience" "lisp" "matching" "parentheses" "parens") (:authors ("Jisang Yoo")) (:maintainer "Jisang Yoo"))])
+ (flyspell-correct . [(20200215 1408) ((emacs (24))) "Correcting words with flyspell via custom interface" tar ((:commit . "fd8ac7a4f922ce5ea1cc5d4583a7d584847cb6b5") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))])
+ (flyspell-correct-avy-menu . [(20200215 1337) ((flyspell-correct (0 6 1)) (avy-menu (0 1 1)) (emacs (24))) "Correcting words with flyspell via avy-menu interface" single ((:commit . "fd8ac7a4f922ce5ea1cc5d4583a7d584847cb6b5") (:authors ("Boris Buliga" . "boris@d12frosted.io") ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))])
+ (flyspell-correct-helm . [(20200215 1337) ((flyspell-correct (0 6 1)) (helm (1 9 0)) (emacs (24))) "Correcting words with flyspell via helm interface" single ((:commit . "fd8ac7a4f922ce5ea1cc5d4583a7d584847cb6b5") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))])
+ (flyspell-correct-ivy . [(20200215 1503) ((flyspell-correct (0 6 1)) (ivy (0 8 0)) (emacs (24 3))) "Correcting words with flyspell via ivy interface" single ((:commit . "fd8ac7a4f922ce5ea1cc5d4583a7d584847cb6b5") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))])
+ (flyspell-correct-popup . [(20200204 521) ((flyspell-correct (0 6 1)) (popup (0 5 3)) (emacs (24))) "Correcting words with flyspell via popup interface" single ((:commit . "fd8ac7a4f922ce5ea1cc5d4583a7d584847cb6b5") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))])
+ (flyspell-lazy . [(20180224 2106) nil "Improve flyspell responsiveness using idle timers" single ((:commit . "3ebf68cc9eb10c972a2de8d7861cbabbbce69570") (:keywords "spelling") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/flyspell-lazy"))])
+ (flyspell-popup . [(20170529 815) ((popup (0 5 0))) "Correcting words with Flyspell in popup menus" single ((:commit . "29311849bfd253b9b689bf331860b4c4d3bd4dde") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/flyspell-popup"))])
+ (fm-bookmarks . [(20170104 1716) ((emacs (24 3)) (cl-lib (0 5))) "Use file manager bookmarks (eg Dolphin, Nautilus, PCManFM) in Dired" single ((:commit . "11dacfd16a926bfecba96a94c6b13e162c7717f7") (:keywords "files" "convenience") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "http://github.com/kuanyui/fm-bookmarks.el"))])
+ (fn . [(20170210 204) ((emacs (24)) (cl-lib (0 5)) (dash (2 12 1)) (dash-functional (1 2 0))) "Concise anonymous functions for Emacs Lisp" single ((:commit . "f685fd0c08ec3b1d1b9974b37e62edd78a000cb8") (:keywords "functional") (:authors ("Troy Pracy")) (:maintainer "Troy Pracy"))])
+ (focus . [(20191209 2210) ((emacs (24 3)) (cl-lib (0 5))) "Dim the font color of text in surrounding sections" single ((:commit . "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/Focus"))])
+ (focus-autosave-mode . [(20160519 2116) ((emacs (24 4))) "Automatically save files in focus-out-hook." single ((:commit . "2e0844fabb6f0dc9e0f31928e4785febf38b9e35") (:keywords "convenience" "files" "frames" "mouse") (:authors ("Wojciech Siewierski" . "wojciech.siewierski@onet.pl")) (:maintainer "Wojciech Siewierski" . "wojciech.siewierski@onet.pl"))])
+ (foggy-night-theme . [(20190123 1614) ((emacs (24))) "Dark low contrast theme with soft and muted colors." single ((:commit . "14894e06ee5c6e14db36f2cb07387ee971c1736f") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (fold-dwim . [(20140208 1637) nil "Unified user interface for Emacs folding modes" single ((:commit . "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b") (:authors ("Peter Heslin" . "p.j.heslin@dur.ac.uk")) (:maintainer "Peter Heslin" . "p.j.heslin@dur.ac.uk") (:url . "http://www.dur.ac.uk/p.j.heslin/Software/Emacs"))])
+ (fold-dwim-org . [(20131203 1351) ((fold-dwim (1 2))) "Fold DWIM bound to org key-strokes." single ((:commit . "c09bb2b46d65afbd1d0febc6fded7495be7a3037") (:keywords "folding" "emacs" "org-mode") (:authors ("Matthew L. Fidler & Shane Celis")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/fold-dwim-org"))])
+ (fold-this . [(20191107 1816) nil "Just fold this region please" single ((:commit . "c3912c738cf0515f65162479c55999e2992afce5") (:keywords "convenience") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:url . "https://github.com/magnars/fold-this.el"))])
+ (folding . [(20190524 1632) nil "A folding-editor-like minor mode." tar ((:commit . "a1361aa154b27bd4db2e1cfe6c3b81b4fc1fdc9a") (:keywords "tools") (:maintainer "Jari Aalto <jari aalto A T cante dt net>"))])
+ (font-lock-cl . [(20200321 533) ((emacs (24 5))) "Pretty Common Lisp font locking" single ((:commit . "9f82d31f9f0fb06bbc2ce18e21e79d1eabbe6c5e") (:keywords "lisp" "wp" "files" "convenience") (:authors ("Yue Daian")) (:maintainer "Spenser Truex" . "web@spensertruex.com") (:url . "https://github.com/font-lock-cl/font-lock-cl"))])
+ (font-lock-profiler . [(20170208 2008) ((emacs (24 3))) "Coverage and timing tool for font-lock keywords." single ((:commit . "6e096458416888a4f63cca0d6bc5965a052753c8") (:keywords "faces" "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/font-lock-profiler"))])
+ (font-lock-studio . [(20170127 2051) ((emacs (24 3))) "interactive debugger for Font Lock keywords." single ((:commit . "12c35967b31233e06946c70627aa3152dacfe261") (:keywords "faces" "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/font-lock-studio"))])
+ (font-utils . [(20150806 1751) ((persistent-soft (0 8 8)) (pcache (0 2 3))) "Utility functions for working with fonts" single ((:commit . "9192d3f8ee6a4e75f34c3fed10378674cc2b11d3") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/font-utils"))])
+ (fontawesome . [(20170305 1356) ((emacs (24 4))) "fontawesome utility" tar ((:commit . "a743f80bfd53767ca9ee32da34c5ca032172a480") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-fontawesome"))])
+ (fontify-face . [(20180420 1624) ((emacs (24))) "Fontify symbols representing faces with that face." single ((:commit . "30ec0134f04d2b156bbc772e94edfa1a31ef0a58") (:keywords "faces") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/fontify-face"))])
+ (forecast . [(20191004 1850) ((emacs (24 4))) "Weather forecasts" single ((:commit . "eab07dae119129066624e692c1c75a53b2ab10a5") (:keywords "weather" "forecast") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://dev.gkayaalp.com/elisp/index.html#forecast-el"))])
+ (foreign-regexp . [(20200325 50) nil "search and replace by foreign regexp." tar ((:commit . "e2dd47f2160cadc194eb156e7c76c3c869e6706e") (:keywords "convenience" "emulations" "matching" "tools" "unix" "wp") (:authors ("K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>")) (:maintainer "K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>"))])
+ (foreman-mode . [(20170725 1422) ((s (1 9 0)) (dash (2 10 0)) (dash-functional (1 2 0)) (f (0 17 2)) (emacs (24))) "View and manage Procfile-based applications" single ((:commit . "22b3bb13134b617870ed1e888af739f4818be929") (:keywords "foreman") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/foreman-mode"))])
+ (forest-blue-theme . [(20160627 842) ((emacs (24))) "Emacs theme with a dark background." single ((:commit . "58096ce1a25615d2bae806c3775bae3e2775019d") (:authors ("olkinn")) (:maintainer "olkinn"))])
+ (forge . [(20200425 2225) ((emacs (25 1)) (closql (1 0 0)) (dash (2 14 1)) (emacsql-sqlite (3 0 0)) (ghub (20190319)) (let-alist (1 0 5)) (magit (20190408)) (markdown-mode (2 3)) (transient (0 1 0))) "Access Git forges from Magit." tar ((:commit . "e2da80660a0550f613400ce3b238025589800417"))])
+ (form-feed . [(20160102 2253) nil "Display ^L glyphs as horizontal lines" single ((:commit . "15bbcb2d2df21910af3b9686b671e0c7d1c93b26") (:keywords "faces") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/form-feed"))])
+ (format-all . [(20200422 1731) ((emacs (24)) (cl-lib (0 5)) (language-id (0 5 1))) "Auto-format C, C++, JS, Python, Ruby and 40 other languages" single ((:commit . "c157b57e963da0b44a079b0477d6c742e9c5a10b") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-format-all-the-code"))])
+ (format-sql . [(20150422 1333) nil "Use format-sql to make your SQL readable in directly Emacs." single ((:commit . "97f475c245cd6c81a72a265678e2087cee66ac7b") (:authors ("Friedrich Paetzke" . "paetzke@fastmail.fm")) (:maintainer "Friedrich Paetzke" . "paetzke@fastmail.fm") (:url . "https://github.com/paetzke/format-sql.el"))])
+ (format-table . [(20181223 1616) ((emacs (25)) (dash (2 14 1))) "Parse and reformat tabular data." single ((:commit . "dfcae3a867e574577fc09a43b045889ff155b58f") (:keywords "data") (:authors ("Jason Duncan" . "jasond496@msn.com")) (:maintainer "Jason Duncan" . "jasond496@msn.com") (:url . "https://github.com/functionreturnfunction/format-table"))])
+ (forth-mode . [(20170527 1930) nil "Programming language mode for Forth" tar ((:commit . "522256d98d1a909983bcfd3ae20c65226d5929b6") (:keywords "languages" "forth") (:authors ("Lars Brinkhoff" . "lars@nocrew.org")) (:maintainer "Lars Brinkhoff" . "lars@nocrew.org") (:url . "http://github.com/larsbrinkhoff/forth-mode"))])
+ (fortpy . [(20150715 2032) ((epc (0 1 0)) (auto-complete (1 4)) (python-environment (0 0 2)) (pos-tip (0 4 5))) "a Fortran auto-completion for Emacs" tar ((:commit . "c614517e9396ef7a78be3b8786fbf303879cf43b") (:authors ("Conrad Rosenbrock <rosenbrockc at gmail.com>")) (:maintainer "Conrad Rosenbrock <rosenbrockc at gmail.com>"))])
+ (fortune-cookie . [(20181223 842) nil "Print a fortune in your scratch buffer." single ((:commit . "6c1c08f5be83822c0b762872ab25e3dbee96f333") (:keywords "fortune" "cowsay" "scratch" "startup") (:authors ("Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com")) (:maintainer "Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com") (:url . "https://github.com/andschwa/fortune-cookie"))])
+ (fountain-mode . [(20200416 841) ((emacs (24 5)) (seq (2 20))) "Major mode for screenwriting in Fountain markup" single ((:commit . "5998d977ca84930e124558007dc65370164ed960") (:keywords "wp" "text") (:authors ("William Rankin" . "code@william.bydasein.com")) (:maintainer "William Rankin" . "code@william.bydasein.com") (:url . "https://github.com/rnkn/fountain-mode"))])
+ (fraktur-mode . [(20160815 227) ((cl-lib (0 5))) "Easily insert Unicode mathematical Fraktur characters" single ((:commit . "514baf5546aed12a0d9fa0fe66e87cdcc7843b08") (:keywords "unicode" "fraktur" "math" "mathematical") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "<gcr@wisdomandwonder.com>") (:url . "https://github.com/grettke/fraktur-mode"))])
+ (frame-local . [(20180330 940) ((emacs (25 1))) "Variables local to a frame" single ((:commit . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e") (:keywords "frames" "tools" "local" "lisp") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:url . "https://github.com/sebastiencs/frame-local"))])
+ (frame-mode . [(20190710 2030) ((s (1 9 0)) (emacs (24 4))) "Use frames instead of windows" single ((:commit . "ae2366969927c9f89ea07c999bef382b0b47cac1") (:keywords "frames") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/frame-mode"))])
+ (frame-purpose . [(20190114 1403) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "Purpose-specific frames" single ((:commit . "78f978f13589ec5c5370187c008c8aa83e6e71b4") (:keywords "buffers" "convenience" "frames") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/frame-purpose.el"))])
+ (frame-tag . [(20170111 6) ((cl-lib (0 5))) "Minor mode that assigns a unique number to each frame for easy switching" single ((:commit . "73d6163568c7d32952175e663318b872f995a4e5") (:keywords "frame" "movement") (:authors ("Wong Liang Zan" . "zan@liangzan.net")) (:maintainer "Wong Liang Zan" . "zan@liangzan.net") (:url . "http://github.com/liangzan/frame-tag.el"))])
+ (frames-only-mode . [(20190524 1439) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0))) "Use frames instead of Emacs windows" single ((:commit . "ce55b3ad3b3cb4c4253a0172bb8e9461814b2d64") (:keywords "frames" "windows") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/frames-only-mode"))])
+ (frameshot . [(20200103 1238) ((emacs (25 3))) "Take screenshots of a frame" single ((:commit . "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/frameshot"))])
+ (framesize . [(20131017 2132) ((key-chord (0 5 20080915))) "change the size of frames in Emacs" single ((:commit . "f2dbf5d2513b2bc45f2085370a55c1754b6025da") (:keywords "frames") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-framesize"))])
+ (frecency . [(20170909 631) ((emacs (25 1)) (a (0 1)) (dash (2 13 0))) "Library for sorting items by frequency and recency of access" single ((:commit . "6d57aee131d96315aedf6cb7d6e5d6d09bf71503") (:keywords "libraries" "recency" "recent" "frequency" "frequent") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/frecency.el"))])
+ (frecentf . [(20191204 312) ((emacs (26 1)) (frecency (0 1 -1)) (persist (0 4))) "Pervasive recentf using frecency" single ((:commit . "1d5d641fdd93480db2374276e85ec652af0565c5") (:keywords "files" "maint") (:authors ("Felipe Lema" . "felipel@mortemale.org")) (:maintainer "Felipe Lema" . "felipel@mortemale.org") (:url . "https://launchpad.net/frecentf.el"))])
+ (free-keys . [(20160726 2050) ((cl-lib (0 3))) "Show free keybindings for modkeys or prefixes" single ((:commit . "edfd69dc369b2647447b7c28c7c1163b1ddf45b4") (:keywords "convenience") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/free-keys"))])
+ (freeradius-mode . [(20190401 1743) ((emacs (24 4))) "major mode for FreeRadius server config files" single ((:commit . "cf8bf0359cf6c77848facbd24b764b3e111b4c2d") (:url . "https://github.com/VersBinarii/freeradius-mode"))])
+ (freeze-it . [(20200416 1605) ((emacs (24 5))) "Minor mode to make your previous writing read-only" single ((:commit . "b93af18633bc783c2cb8443808aeeaaca33e1146") (:keywords "wp" "text") (:authors ("William Rankin" . "code@william.bydasein.com")) (:maintainer "William Rankin" . "code@william.bydasein.com") (:url . "https://github.com/rnkn/freeze-it"))])
+ (friendly-tramp-path . [(20200419 851) ((cl-lib (0 6 1))) "Human-friendly TRAMP path construction" single ((:commit . "ce7d15dd96300d376d483d685aa4a34357da8d6a") (:url . "https://github.com/p3r7/prf-tramp"))])
+ (fringe-current-line . [(20140111 411) nil "show current line on the fringe." single ((:commit . "0ef000bac76abae30601222e6f06c7d133ab4942") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "http://github.com/kyanagi/fringe-current-line/raw/master/fringe-current-line.el"))])
+ (fringe-helper . [(20140620 2109) nil "helper functions for fringe bitmaps" single ((:commit . "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd") (:keywords "lisp") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/fringe-helper/"))])
+ (frog-jump-buffer . [(20200114 1826) ((emacs (24)) (avy (0 4 0)) (dash (2 4 0)) (frog-menu (0 2 8))) "The fastest buffer-jumping Emacs lisp package around." single ((:commit . "1eb289c9b2a4bbebb3065076750f54216ac9c718") (:keywords "convenience" "tools") (:authors ("Justin Talbott")) (:maintainer "Justin Talbott") (:url . "https://github.com/waymondo/frog-jump-buffer"))])
+ (fsbot-data-browser . [(20160921 1533) nil "browse the fsbot database using tabulated-list-mode" single ((:commit . "6bca4f7de63e31839d2542f6c678b79931dec344") (:keywords "fsbot" "irc" "tabulated-list-mode") (:authors ("Benaiah Mischenko")) (:maintainer "Benaiah Mischenko") (:url . "http://github.com/benaiah/fsbot-data-browser"))])
+ (fsharp-mode . [(20191130 1857) ((emacs (25)) (s (1 3 1)) (dash (1 1 0)) (eglot (0))) "Support for the F# programming language" tar ((:commit . "8c86e38b93aac55f57d5baf3a9575b45b54cd16a") (:keywords "languages") (:authors ("1993-1997 Xavier Leroy, Jacques Garrigue and Ian T Zimmerman") ("2010-2011 Laurent Le Brun" . "laurent@le-brun.eu") ("2012-2014 Robin Neatherway" . "robin.neatherway@gmail.com") ("2017-2019 Jürgen Hötzel")) (:maintainer "Jürgen Hötzel"))])
+ (fstar-mode . [(20200424 2235) ((emacs (24 3)) (dash (2 11)) (company (0 8 12)) (quick-peek (1 0)) (yasnippet (0 11 0)) (flycheck (30 0)) (company-quickhelp (2 2 0))) "Support for F* programming" tar ((:commit . "d8b586518f32d4acde049852d81902670d1ee277") (:keywords "convenience" "languages") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "https://github.com/FStarLang/fstar-mode.el"))])
+ (fuel . [(20190611 1350) ((cl-lib (0 2)) (emacs (24 2))) "Major mode for the Factor programming language." tar ((:commit . "d27c259928f065b55d3643a1b996733a92ddd12e"))])
+ (fuff . [(20170202 1503) ((seq (2 3))) "Find files with findutils, recursively" single ((:commit . "278e849913df87bd8756c59382282d87474802c3") (:keywords "files" "project" "convenience") (:authors ("Joel Moberg")) (:maintainer "Joel Moberg") (:url . "https://github.com/joelmo/fuff"))])
+ (full-ack . [(20140223 1732) nil "a front-end for ack" single ((:commit . "761d846e105b150f8e6d13d7a8983f0248313a45") (:keywords "tools" "matching") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/full-ack/"))])
+ (fullframe . [(20170816 1003) ((cl-lib (0 5))) "Generalized automatic execution in a single frame" single ((:commit . "2c4497f5d66898f5f4cbde3abe97402880e46c2c") (:keywords "fullscreen") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))])
+ (function-args . [(20171031 1704) ((ivy (0 9 1))) "C++ completion for GNU Emacs" tar ((:commit . "609b25305670fff08d5e357298e7128e4f4e3497") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/function-args"))])
+ (fuo . [(20190812 927) ((emacs (24 4))) "feeluown client." single ((:commit . "0e4122f94a336a50c02bc96652d25ac3d74bedeb") (:keywords "feeluown" "multimedia" "unix") (:authors ("cosven" . "yinshaowen241@gmail.com")) (:maintainer "cosven" . "yinshaowen241@gmail.com") (:url . "http://github.com/cosven/emacs-fuo"))])
+ (furl . [(20150509 316) nil "Friendly URL retrieval" single ((:commit . "014438271e0ef27333dfcd599cb247f12a20d870") (:authors ("Natalie Weizenbaum" . "nweiz@google.com")) (:maintainer "Natalie Weizenbaum" . "nweiz@google.com"))])
+ (futhark-mode . [(20200415 1228) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing Futhark source files" tar ((:commit . "2befd490ce7d78a43d001b4bb0bd4300d086d645") (:keywords "languages") (:url . "https://github.com/diku-dk/futhark-mode"))])
+ (fuz . [(20200104 524) ((emacs (25 1))) "Fast and precise fuzzy scoring/matching utils" tar ((:commit . "0b6b64cebde5675be3a28520ee16234db48d3b8b") (:keywords "lisp") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:url . "https://github.com/cireu/fuz.el"))])
+ (fuzzy . [(20150730 337) nil "Fuzzy Matching" single ((:commit . "534d723ad2e06322ff8d9bd0ba4863d243f698e7") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (fvwm-mode . [(20160411 1138) nil "A major mode for editing Fvwm configuration files" single ((:commit . "6832a1c1f68bf6249c3fd6672ea8e27dc7a5c79e") (:keywords "files") (:authors ("Bert Geens" . "bert@lair.be")) (:maintainer "Bert Geens" . "bert@lair.be") (:url . "https://github.com/theBlackDragon/fvwm-mode"))])
+ (fwb-cmds . [(20180318 2219) nil "misc frame, window and buffer commands" single ((:commit . "90258a5c7dbbaa2ac227e0fb4ff6c7d5aec3628f") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/fwb-cmds"))])
+ (fxrd-mode . [(20170728 1801) ((s (1 2))) "Major mode for editing fixed field width files" tar ((:commit . "18a603474abb5a786a8d9f20c283d5f7beed3540") (:keywords "convenience") (:authors ("Marc Sherry" . "msherry@gmail.com")) (:maintainer "Marc Sherry" . "msherry@gmail.com") (:url . "https://github.com/msherry/fxrd-mode"))])
+ (fyure . [(20130216 1314) nil "An interface to fix Japanese hyoki-yure" tar ((:commit . "b6977f1eb148e8b63259f7233b55bb050e44d9b8") (:keywords "languages") (:authors ("Masafumi Oyamada" . "stillpedant@gmail.com")) (:maintainer "Masafumi Oyamada" . "stillpedant@gmail.com"))])
+ (fzf . [(20180619 145) ((emacs (24 4))) "A front-end for fzf." single ((:commit . "521d18933cb586337c4e34281bdc71ac07202c98") (:keywords "fzf" "fuzzy" "search") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:url . "https://github.com/bling/fzf.el"))])
+ (gams-ac . [(20180423 926) ((emacs (24)) (auto-complete (1 0)) (gams-mode (4 0))) "auto-complete source file for GAMS mode" single ((:commit . "66d04ff36033f54205c19bc1d893e926d4dbf02e") (:keywords "languages" "tools" "gams-mode" "auto-complete") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:url . "https://github.com/ShiroTakeda/gams-ac"))])
+ (gams-mode . [(20200131 1335) ((emacs (24 3))) "Major mode for General Algebraic Modeling System (GAMS)" single ((:commit . "bb4e8a223c8aac5ec9268d1cfcf1a9ea9b3d8a49") (:keywords "languages" "tools" "gams") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:url . "http://shirotakeda.org/en/gams/gams-mode/"))])
+ (gandalf-theme . [(20130809 947) nil "Gandalf color theme" single ((:commit . "4e472fc851431458537d458d09c1f5895e338536") (:keywords "color" "theme") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net"))])
+ (gap-mode . [(20191110 2237) nil "Major mode for editing files in the GAP programing language." tar ((:commit . "62adb8935033eead7fbf2c107c2dfb79afa53c67") (:keywords "gap") (:authors ("Michael Smith" . "smith@pell.anu.edu.au") ("Gary Zablackis") ("Goetz Pfeiffer") ("Ivan Andrus" . "darthandrus@gmail.com")) (:maintainer "Ivan Andrus" . "darthandrus@gmail.com") (:url . "https://gitlab.com/gvol/gap-mode"))])
+ (gather . [(20141230 1338) nil "Gather string in buffer." single ((:commit . "50809fbc22d70a1c724c2dd99ac5a1f818ffeb6b") (:keywords "matching" "convenience" "tools") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-gather/raw/master/gather.el"))])
+ (gcmh . [(20200409 1456) ((emacs (24))) "the Garbage Collector Magic Hack" single ((:commit . "b1bde5089169a74f62033d027e06e98cbeedd43f") (:keywords "internal") (:maintainer nil . "akrl@sdf.org") (:url . "https://gitlab.com/koral/gcmh"))])
+ (gdscript-mode . [(20200427 1514) ((emacs (26 3))) "Major mode for Godot's GDScript language" tar ((:commit . "0718ca9b090780bd28d02ef5c79cd0e7c5a84d5e") (:keywords "languages") (:authors ("Nathan Lovato <nathan@gdquest.com>, Fabián E. Gallina" . "fgallina@gnu.org")) (:maintainer nil . "nathan@gdquest.com") (:url . "https://github.com/GDQuest/emacs-gdscript-mode/"))])
+ (geben . [(20170801 1251) ((emacs (24 3)) (cl-lib (0 5))) "DBGp protocol frontend, a script debugger" tar ((:commit . "ec3f5e9376cf1ea5615990bd8c212543d57f033b") (:keywords "c" "comm" "tools") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/geben"))])
+ (geben-helm-projectile . [(20160611 59) ((emacs (24)) (geben (0 26)) (helm-projectile (0 13 0))) "Integrate helm-projectile with geben" single ((:commit . "31ce0faca5dcc71924884f03fd5a7a25d00ccd9b") (:keywords "ahungry" "emacs" "geben" "helm" "projectile" "debug") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/geben-helm-projectile"))])
+ (geeknote . [(20160717 1249) ((emacs (24))) "Use Evernote in Emacs through geeknote" single ((:commit . "8ed607c76864afcc9c338972ab093caf4501cbf8") (:keywords "evernote" "geeknote" "note" "emacs-evernote" "evernote-mode") (:authors ("Evan Dale Aromin")) (:maintainer "Evan Dale Aromin") (:url . "http://github.com/avendael/emacs-geeknote"))])
+ (geiser . [(20200426 2152) nil "GNU Emacs and Scheme talk to each other" tar ((:commit . "8f57740cd0399ab4b79e2ceae958ac542da1335f") (:url . "http://www.nongnu.org/geiser/"))])
+ (geiser-kawa . [(20200501 520) ((emacs (26 1)) (geiser (0 11 2))) "Kawa scheme support for Geiser" tar ((:commit . "c7c8dae8d08f2446e053a1132fd26b2f0b7a85f1") (:keywords "languages" "kawa" "scheme" "geiser") (:authors ("spellcard199" . "spellcard199@protonmail.com")) (:maintainer "spellcard199" . "spellcard199@protonmail.com") (:url . "https://gitlab.com/spellcard199/geiser-kawa"))])
+ (general . [(20200425 1425) ((emacs (24 4)) (cl-lib (0 5))) "Convenience wrappers for keybindings." tar ((:commit . "42e38034cd2305fa7432866323c923979d8f9b06") (:keywords "vim" "evil" "leader" "keybindings" "keys") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/general.el"))])
+ (genrnc . [(20140612 1237) ((deferred (0 3 1)) (concurrent (0 3)) (log4e (0 2 0)) (yaxception (0 1))) "generate RELAX NG Compact Schema from RELAX NG Schema, XML Schema and DTD." tar ((:commit . "da75b1966a73ad215ec2ced4522c25f4d0bf1f9a") (:keywords "xml") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-genrnc"))])
+ (geoip . [(20200310 911) ((emacs (25 1))) "Find out where an IP address is located via GeoIP2" single ((:commit . "25eb1278788b942c38405c233d3614a1de92ddea") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/geoip.el"))])
+ (geolocation . [(20200308 2324) ((request-deferred (0 3 2)) (deferred (0 5 1)) (emacs (25 1))) "Get your location on Earth" single ((:commit . "83ab28e64bc067016b5344dffe93e380e9807e9c") (:keywords "hardware") (:authors ("Neil Okamoto" . "neil.okamoto+melpa@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/gonewest818/geolocation.el"))])
+ (german-holidays . [(20181213 644) nil "German holidays for Emacs calendar" single ((:commit . "a8462dffccaf2b665f2032e646b5370e993a386a") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/german-holidays"))])
+ (gerrit . [(20200226 2137) ((emacs (25 1)) (hydra (0 15 0)) (magit (2 13 1)) (s (1 12 0)) (dash (0 2 15))) "Gerrit client" tar ((:commit . "36870fd34ad681f907a57a2d82b2002735878614") (:keywords "extensions") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com") (:url . "https://github.com/thisch/gerrit.el"))])
+ (gerrit-download . [(20150714 1408) ((emacs (24 0)) (magit (2 1 0))) "Show gerrit reviews in a diff buffer." single ((:commit . "d568acc7c5935188c9bc19ba72719a6092d9f6fd") (:keywords "tools" "gerrit" "git") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/gerrit-download.el"))])
+ (gf . [(20181028 1542) ((s (1 0)) (ht (2 0))) "Major mode for editing GF code" single ((:commit . "30b3127f229e0db522c7752f6957ca01b2ea2821") (:keywords "languages") (:authors ("Johan Bockgård" . "bojohan+mail@dd.chalmers.se")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:url . "https://github.com/GrammaticalFramework/gf-emacs-mode"))])
+ (ggo-mode . [(20130524 1143) nil "Gengetopt major mode" single ((:commit . "e326899d9ed8217c7a4ea6cfdc4dd7aea61d6c1b") (:keywords "extensions" "convenience" "local") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu"))])
+ (ggtags . [(20190320 2208) ((emacs (25))) "emacs frontend to GNU Global source code tagging system" single ((:commit . "4d9000034d352cd983ae6626f560e434d0b3e9ca") (:keywords "tools" "convenience") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:url . "https://github.com/leoliu/ggtags"))])
+ (gh . [(20180308 2138) ((emacs (24 3)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 3))) "A GitHub library for Emacs" tar ((:commit . "f029fc11f345ef04ab62ee91c38657e29c462fea"))])
+ (gh-md . [(20151207 1740) ((emacs (24))) "Render markdown using the Github api" single ((:commit . "693cb0dcadff70e813e1a9d303d227aff7898557") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/gh-md.el"))])
+ (ghc . [(20180121 1218) ((haskell-mode (13 0))) "Sub mode for Haskell mode" tar ((:commit . "391e187a5dfef4421aab2508fa6ff7875cc8259d"))])
+ (ghc-imported-from . [(20141124 1932) ((emacs (24 1))) "Haskell documentation lookup with ghc-imported-from" single ((:commit . "fcff08628a19f5d26151564659218cc677779b79") (:keywords "languages") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (ghci-completion . [(20151125 1257) ((emacs (24 1)) (cl-lib (0 5))) "Completion for GHCi commands in inferior-haskell buffers" single ((:commit . "c47e23d585d2a3c7b13aac163693fdc4f2bb90e5") (:keywords "convenience") (:authors ("Oleksandr Manzyuk" . "manzyuk@gmail.com")) (:maintainer "Oleksandr Manzyuk" . "manzyuk@gmail.com"))])
+ (gherkin-mode . [(20171224 1353) nil "An emacs major mode for editing gherkin files." single ((:commit . "0313492e7da152f0aa73ddf96c0287ded8f51253") (:keywords "languages") (:authors ("Craig Andera")) (:maintainer "Craig Andera"))])
+ (ghost-blog . [(20171023 742) ((markdown-mode (1 0))) "A package to manage Ghost blog" single ((:commit . "71b358643cc9a2db1bf752281ff94aba9b59e4cc") (:keywords "ghost" "blog") (:authors ("Javier Aguirre" . "hello@javaguirre.net")) (:maintainer "Javier Aguirre" . "hello@javaguirre.net") (:url . "https://github.com/javaguirre/ghost-blog"))])
+ (ghq . [(20160803 1557) nil "Ghq interface for emacs" single ((:commit . "aae4b8cb22fd6c24d2c9e3962c7e8e9dac6d9825") (:keywords "ghq") (:authors ("Roman Coedo" . "romancoedo@gmail.com")) (:maintainer "Roman Coedo" . "romancoedo@gmail.com"))])
+ (ghub+ . [(20191229 1748) ((emacs (25)) (ghub (2 0)) (apiwrap (0 5))) "a thick GitHub API client built on ghub" single ((:commit . "b1adef2402d7599911d4dd447a987a0cea04e6fe") (:keywords "extensions" "multimedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/ghub-plus"))])
+ (ghub . [(20200425 2233) ((emacs (25 1)) (let-alist (1 0 5)) (treepy (0 1 1))) "Minuscule client libraries for Git forge APIs." tar ((:commit . "03d2546614619f42ac2983e79d0069ca4cbcfbfc"))])
+ (gif-screencast . [(20200327 1332) ((emacs (25 1))) "One-frame-per-action GIF recording" single ((:commit . "e39786458fb30e2e9683094c75c6c2cef537d9c4") (:keywords "multimedia" "screencast") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/ambrevar/emacs-gif-screencast"))])
+ (gift-mode . [(20180530 1235) nil "major mode for editing GIFT format quizzes" single ((:commit . "b0441ae6e02f343be3b611a2d4b40495ecd932f0") (:authors ("Christophe Rhodes" . "christophe@rhodes.io")) (:maintainer "Christophe Rhodes" . "christophe@rhodes.io") (:url . "https://github.com/csrhodes/gift-mode"))])
+ (gildas-mode . [(20181022 649) ((polymode (0 1 5)) (emacs (25))) "Major mode for Gildas" single ((:commit . "d0c9e997e2aa0bcd9b8b7db082d69100448cb1b2") (:keywords "languages" "gildas") (:authors ("Sébastien Maret" . "sebastien.maret@icloud.com")) (:maintainer "Sébastien Maret" . "sebastien.maret@icloud.com") (:url . "https://github.com/smaret/gildas-mode"))])
+ (gist . [(20171128 406) ((emacs (24 1)) (gh (0 10 0))) "Emacs integration for gist.github.com" single ((:commit . "314fe6ab80fae35b95f0734eceb82f72813b6f41") (:keywords "tools") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:url . "https://github.com/defunkt/gist.el"))])
+ (git . [(20140128 1041) ((s (1 7 0)) (dash (2 2 0)) (f (0 10 0))) "An Elisp API for programmatically using Git" single ((:commit . "a3396a7027a7d986598c6a2d6d5599bac918f3da") (:keywords "git") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/git.el"))])
+ (git-annex . [(20190625 2118) nil "Mode for easy editing of git-annex'd files" single ((:commit . "1324d3f23c534fe79391a2c256bb8803054e383b") (:keywords "files" "data" "git" "annex") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/git-annex-el"))])
+ (git-attr . [(20180925 2003) ((emacs (24 3))) "Git attributes of buffer file" tar ((:commit . "50df0630eba2a931146f676d349b29bde6b6b37b") (:keywords "vc") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/emacs-git-attr"))])
+ (git-auto-commit-mode . [(20200322 2007) nil "Emacs Minor mode to automatically commit and push" single ((:commit . "dd0c2441de0f5ff8c69c8260d9450d0b607e3e55") (:keywords "vc") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "https://github.com/ryuslash/git-auto-commit-mode"))])
+ (git-backup . [(20191209 2144) ((emacs (24 3)) (s (1 8 0))) "Backup each file change using git" single ((:commit . "643c8c292c128ac3d0c4d80f2d4a2e19db711e6c") (:keywords "backup" "files" "tools" "git") (:authors ("Anthony HAMON" . "hamon.anth@gmail.com")) (:maintainer "Anthony HAMON" . "hamon.anth@gmail.com") (:url . "http://github.com/antham/git-backup"))])
+ (git-backup-ivy . [(20200424 1049) ((ivy (0 12 0)) (git-backup (0 0 1)) (emacs (25 1))) "An ivy interface to git-backup" single ((:commit . "d9361c9ad903e0d58f25ccebad99d9a753f1937a") (:keywords "backup" "convenience" "files" "tools" "vc") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/git-backup-ivy"))])
+ (git-blamed . [(20161028 1926) nil "Minor mode for incremental blame for Git" single ((:commit . "cef196abf398e2dd11f775d1e6cd8690567408aa") (:keywords "git" "version control" "release management"))])
+ (git-command . [(20191028 333) ((term-run (0 1 4)) (with-editor (2 3 1))) "A Git Command-Line interface" single ((:commit . "a773d40da39dfb1c6ecf2b0758aa370ddea8f06d") (:keywords "utility" "git") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/git-command-el"))])
+ (git-commit . [(20200207 1819) ((emacs (25 1)) (dash (20180910)) (transient (20190812)) (with-editor (20181103))) "Edit Git commit messages" single ((:commit . "d27d6e467857ed4a78c7cf7d609561df789e2a6c") (:keywords "git" "tools" "vc") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))])
+ (git-commit-insert-issue . [(20191008 950) ((projectile (0)) (s (0)) (github-issues (0)) (gitlab (0)) (bitbucket (0))) "Get issues list when typing \"Fixes #\"" single ((:commit . "51c863d9ba21bf11f6681b54be19b4c04d50d1ba") (:keywords "git" "github" "gitlab" "bitbucket" "commit" "issues") (:authors ("Vindarel")) (:maintainer "Vindarel") (:url . "https://gitlab.com/emacs-stuff/git-commit-insert-issue/"))])
+ (git-dwim . [(20170126 1214) nil "Context-aware git commands such as branch handling" single ((:commit . "485c732130686c2f28a026e385366006435394b9") (:keywords "git" "tools" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/git-dwim.el"))])
+ (git-gutter+ . [(20151204 1723) ((git-commit (0)) (dash (0))) "Manage Git hunks straight from the buffer" single ((:commit . "b7726997806d9a2da9fe84ff00ecf21d62b6f975") (:keywords "git" "vc") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/nonsequitur/git-gutter-plus"))])
+ (git-gutter . [(20200326 1814) ((emacs (24 3))) "Port of Sublime Text plugin GitGutter" single ((:commit . "2c3242116a42dbbe30fc0844d1ec3c41074cdaba") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/git-gutter"))])
+ (git-gutter-fringe+ . [(20140729 1103) ((git-gutter+ (0 1)) (fringe-helper (1 0 1))) "Fringe version of git-gutter+.el" single ((:commit . "7a2f49d2455a3a872e90e5f7dd4e6b27f1d96cfc") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/nonsequitur/git-gutter-fringe-plus"))])
+ (git-gutter-fringe . [(20200323 2249) ((git-gutter (0 88)) (fringe-helper (0 1 1)) (cl-lib (0 5)) (emacs (24))) "Fringe version of git-gutter.el" single ((:commit . "da19a474137876b29b5658ee7e9ae366f2b65c1d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/git-gutter-fringe"))])
+ (git-identity . [(20200124 1856) ((emacs (25 1)) (dash (2 10)) (hydra (0 14)) (f (0 20))) "Identity management for (ma)git" tar ((:commit . "8471e6f8ef6c502dc999e513b552d6b23974d40d") (:keywords "git" "vc" "convenience") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/git-identity.el"))])
+ (git-io . [(20180317 1752) ((emacs (24 4))) "git.io integration" single ((:commit . "48753acba73b48b997bb678fb5e2a938ae63b5d6") (:keywords "convenience" "files") (:authors ("Tejas Bubane" . "tejasbubane@gmail.com")) (:maintainer "Tejas Bubane" . "tejasbubane@gmail.com") (:url . "https://github.com/tejasbubane/emacs-git-io"))])
+ (git-lens . [(20190319 1342) ((emacs (24 4))) "Show new, deleted or modified files in branch" single ((:commit . "f6cc0a37c9c5c422c49c32650e70bc4721707985") (:keywords "vc" "convenience") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:url . "https://github.com/pidu/git-lens"))])
+ (git-link . [(20200331 2329) ((emacs (24 3))) "Get the GitHub/Bitbucket/GitLab URL for a buffer location" single ((:commit . "7142ec898f0cb97aa5d1a68da7957b4710bbfa87") (:keywords "git" "vc" "github" "bitbucket" "gitlab" "sourcehut" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/git-link"))])
+ (git-messenger . [(20200321 2337) ((emacs (24 3)) (popup (0 5 3))) "Popup last commit of current line" single ((:commit . "2d64e62e33be9f881ebb019afc183caac9c62eda") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto") (:url . "https://github.com/emacsorphanage/git-messenger"))])
+ (git-msg-prefix . [(20191031 1304) ((emacs (24)) (s (1 10 0)) (dash (2 9 0))) "Insert commit message prefix (issue number)" single ((:commit . "43f6b31c1090371260a2f15b2117a7666920bee7") (:keywords "vc" "tools") (:authors ("Raimon Grau" . "raimonster@gmail.com")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "http://github.com/kidd/git-msg-prefix.el"))])
+ (git-ps1-mode . [(20200113 704) nil "Global minor-mode to print __git_ps1 in mode-line" single ((:commit . "6762a309bd593d26258dfbf43e7bc21254a70fbf") (:keywords "utility" "mode-line" "git") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/git-ps1-mode-el"))])
+ (git-time-metric . [(20181116 2011) nil "Provide function to record time with gtm ( git time metric )" single ((:commit . "287108ed1d6885dc795eb3bad4476aa08c626186") (:keywords "tools" "gtm" "productivity" "time") (:authors ("Anton Sivolapov" . "anton.sivolapov@gmail.com")) (:maintainer "Anton Sivolapov" . "anton.sivolapov@gmail.com") (:url . "https://github.com/c301/gtm-emacs-plugin"))])
+ (git-timemachine . [(20190730 849) ((emacs (24 3)) (transient (0 1 0))) "Walk through git revisions of a file" single ((:commit . "391eb61050de321101e631fcf373fc70ec6e7700") (:keywords "vc") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:url . "https://gitlab.com/pidu/git-timemachine"))])
+ (git-walktree . [(20191101 302) ((emacs (26 1)) (git (0 1 1)) (cl-lib (0 5))) "Browse Git tree and blob objects" tar ((:commit . "162d9073286c256502df4baa9845790b9f4c2f05") (:keywords "vc" "utility" "git") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:url . "https://github.com/10sr/git-walktree-el"))])
+ (git-wip-timemachine . [(20150408 1006) ((s (1 9 0))) "Walk through git-wip revisions of a file" single ((:commit . "ed4c7931a5f5233bf3e358b1e81647d063526460") (:keywords "git") (:authors ("Tim Krones" . "t.krones@gmx.net")) (:maintainer "Tim Krones" . "t.krones@gmx.net") (:url . "https://github.com/itsjeyd/git-wip-timemachine"))])
+ (gitattributes-mode . [(20180318 1956) nil "Major mode for editing .gitattributes files" single ((:commit . "55468314a5f6b77d2c96be62c7005ac94545e217") (:keywords "convenience" "vc" "git") (:authors ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.net")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/git-modes"))])
+ (gitconfig . [(20130718 935) nil "Emacs lisp interface to work with git-config variables" single ((:commit . "7612a37ca14009cac8fb8d6b6f54adad739a5741") (:keywords "git" "gitconfig" "git-config") (:authors ("Samuel Tonini")) (:maintainer "Samuel Tonini"))])
+ (gitconfig-mode . [(20180318 1956) nil "Major mode for editing .gitconfig files" single ((:commit . "55468314a5f6b77d2c96be62c7005ac94545e217") (:keywords "convenience" "vc" "git") (:authors ("Sebastian Wiesner" . "lunaryorn@gmail.com")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/git-modes"))])
+ (github-browse-file . [(20160205 1427) ((cl-lib (0 5))) "View the file you're editing on GitHub" single ((:commit . "9742a5183af853788c6ecb83fb7ee0b00d1675ac") (:keywords "convenience" "vc" "git" "github") (:authors ("Ozan Sener" . "ozan@ozansener.com")) (:maintainer "Ozan Sener" . "ozan@ozansener.com") (:url . "https://github.com/osener/github-browse-file"))])
+ (github-clone . [(20160623 310) ((gh (0 7 2)) (magit (2 1 0)) (emacs (24 4))) "Fork and clone github repos" single ((:commit . "467b40ca60a6c26257466ebc43c74414df7f19cc") (:keywords "vc" "tools") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:url . "https://github.com/dgtized/github-clone.el"))])
+ (github-elpa . [(20200129 417) ((package-build (1 0)) (commander (0 7 0)) (git (0 1 1))) "Build and publish ELPA repositories with GitHub Pages" tar ((:commit . "04a55c723ffcd84dd35e5438e7e2b9f1cce08d42") (:authors (nil . "10sr<8slashes+el@gmail.com>")) (:maintainer nil . "10sr<8slashes+el@gmail.com>") (:url . "https://github.com/10sr/github-elpa"))])
+ (github-explorer . [(20190701 630) ((emacs (24 4))) "Explore a GitHub repository on the fly" single ((:commit . "e3a410dd1113bdff382a745465ea48d9b1fe860b") (:keywords "comm") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/github-explorer"))])
+ (github-issues . [(20160616 1841) ((emacs (24))) "Functions and modes for managing GitHub projects' issues" single ((:commit . "816f7712b0eb05bffec0add3507302862d2629c4") (:keywords "github" "issues") (:authors ("Leandro M. López (inkel)" . "inkel.ar@gmail.com")) (:maintainer "Leandro M. López (inkel)" . "inkel.ar@gmail.com") (:url . "http://inkel.github.com/github-issues.el/"))])
+ (github-modern-theme . [(20171109 1251) nil "The GitHub color theme for Emacs." single ((:commit . "a7e7b8e5e9c122138e79e837caf9b7299e748d44") (:authors ("Philip Arvidsson" . "philip@philiparvidsson.com")) (:maintainer "Philip Arvidsson" . "philip@philiparvidsson.com") (:url . "https://github.com/philiparvidsson/GitHub-Theme-for-Emacs"))])
+ (github-notifier . [(20180421 316) ((emacs (24))) "Displays your GitHub notifications unread count in mode-line" single ((:commit . "274f3812926ea371346f639fcee98066f6e8c96f") (:keywords "github" "mode-line") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/github-notifier.el"))])
+ (github-pullrequest . [(20170116 616) ((emacs (24 4)) (request (0 2 0)) (dash (2 11 0)) (magit (2 10 0))) "Create and fetch Github Pull requests with ease" single ((:commit . "6ae5c38b0fc15b638b5ba4490112d9822ce5e267") (:keywords "tools") (:authors ("Jakob Lind" . "karl.jakob.lind@gmail.com")) (:maintainer "Jakob Lind" . "karl.jakob.lind@gmail.com") (:url . "https://github.com/jakoblind/github-pullrequest"))])
+ (github-review . [(20200314 438) ((emacs (25)) (s (1 12 0)) (ghub (2 0)) (dash (2 11 0)) (deferred (0 5 1))) "GitHub based code review" single ((:commit . "50c6bcc7cf4d7193577b3f74eea4dd72f2b7795b") (:keywords "git" "tools" "vc" "github") (:authors ("Laurent Charignon" . "l.charignon@gmail.com")) (:maintainer "Laurent Charignon" . "l.charignon@gmail.com") (:url . "https://github.com/charignon/github-review"))])
+ (github-search . [(20190624 436) ((magit (0 8 1)) (gh (1 0 0))) "Clone repositories by searching github" single ((:commit . "b73efaf19491010522b09db35bb0f1bad1620e63") (:keywords "github" "search" "clone" "api" "gh" "magit" "vc" "tools") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/github-search"))])
+ (github-stars . [(20190517 1319) ((emacs (25 1)) (ghub (2 0 0))) "Browse your Github Stars" single ((:commit . "a9f25ab2487c886f5d50d26693d49856bd51383b") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/github-stars.el"))])
+ (github-theme . [(20170630 2201) nil "The GitHub color theme for Emacs." single ((:commit . "29f00a51d949a248a5f6355a97131e216747c797") (:authors ("Philip Arvidsson" . "philip@philiparvidsson.com")) (:maintainer "Philip Arvidsson" . "philip@philiparvidsson.com") (:url . "https://github.com/philiparvidsson/GitHub-Theme-for-Emacs"))])
+ (gitignore-mode . [(20180318 1956) nil "Major mode for editing .gitignore files" single ((:commit . "55468314a5f6b77d2c96be62c7005ac94545e217") (:keywords "convenience" "vc" "git") (:authors ("Sebastian Wiesner" . "lunaryorn@gmail.com")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/git-modes"))])
+ (gitignore-templates . [(20200228 1419) ((emacs (24 3))) "Create .gitignore using GitHub or gitignore.io API" single ((:commit . "b147d1930645dda76dbd48fb6f4f7f790353de26") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/gitignore-templates.el"))])
+ (gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client for Gitlab" tar ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:keywords "gitlab") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))])
+ (gitlab-ci-mode . [(20191022 2017) ((emacs (25 1)) (yaml-mode (0 0 12))) "Mode for editing GitLab CI files" single ((:commit . "c861dc5fa17d380d5c3aca99dc3bbec5eee623bc") (:keywords "tools" "vc") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode/"))])
+ (gitlab-ci-mode-flycheck . [(20190323 1829) ((emacs (25)) (flycheck (31)) (gitlab-ci-mode (1))) "Flycheck support for ‘gitlab-ci-mode’" single ((:commit . "eba81cfb7224fd1fa4e4da90d11729cc7ea12f72") (:keywords "tools" "vc" "convenience") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode-flycheck/"))])
+ (gitlab-snip-helm . [(20200427 2014) ((emacs (25)) (dash (2 12 0)) (helm (3 2))) "Gitlab snippets api helm package" single ((:commit . "a0ba22ae7098b1a57af626fe5b6e9d663e8e2fc3") (:keywords "tools" "files" "convenience") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:url . "https://gitlab.com/sasanidas/gitlab-snip-helm"))])
+ (gitolite-clone . [(20160609 2355) ((dash (2 10 0)) (s (1 9 0)) (pcache (0 3 1)) (emacs (24))) "Clone gitolite repositories from a completing list" single ((:commit . "d8a4c2875c984e51137c980b5773f42703602721") (:keywords "gitolite" "clone" "git") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/gitolite-clone"))])
+ (gitpatch . [(20170722 410) ((emacs (24 3))) "Git-format patch toolkit" single ((:commit . "577d5adf65c8133caa325c10e89e1e2fc323c907") (:keywords "convenience") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/gitpatch"))])
+ (gitter . [(20180122 856) ((emacs (24 4)) (let-alist (1 0 4))) "An Emacs Gitter client" single ((:commit . "11cb9b4b45f67bdc24f055a9bfac21d2bd19ea1a") (:keywords "gitter" "chat" "client" "internet") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/gitter.el"))])
+ (gl-conf-mode . [(20170714 1310) ((emacs (24 3))) "Mode for editing gitolite config files" single ((:commit . "9136a9b737e0a5b6471a91571d104c487c43f35b") (:keywords "git" "gitolite" "languages") (:authors ("Luis Lloret")) (:maintainer "Luis Lloret") (:url . "https://github.com/llloret/gitolite-emacs"))])
+ (global-tags . [(20200427 1637) ((emacs (26 1))) "Elisp API and editor integration for GNU global" single ((:commit . "8a273c9bfa57776b00095a648c2aa053cc418e91") (:keywords "convenience" "matching" "tools") (:authors ("Felipe Lema" . "felipelema@mortemale.org")) (:maintainer "Felipe Lema" . "felipelema@mortemale.org") (:url . "https://launchpad.net/global-tags.el"))])
+ (glsl-mode . [(20200420 1839) nil "major mode for Open GLSL shader files" single ((:commit . "9bf168017eb3af7a396165a79a7b870572d59666") (:keywords "languages" "opengl" "gpu" "spir-v" "vulkan") (:url . "https://github.com/jimhourihan/glsl-mode"))])
+ (gmail-message-mode . [(20160627 1847) ((ham-mode (1 0))) "A major-mode for editing gmail messages using markdown syntax." single ((:commit . "ec36672a9dc93c09ebe2f77597b498d11883d008") (:keywords "mail" "convenience" "emulation") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/gmail-message-mode"))])
+ (gmail2bbdb . [(20170423 1144) nil "import email and name into bbdb from vcard." single ((:commit . "a84fa385cfaec7fc5f1518c368e52722da139f99") (:keywords "vcard" "bbdb" "email" "contact" "gmail") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/gmail2bbdb"))])
+ (gmpl-mode . [(20171031 2054) ((emacs (24))) "Major mode for editing GMPL(MathProg) files" single ((:commit . "c5d362169819ee8b8e8954145daee7e260c54921") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (gn-mode . [(20190428 1812) ((emacs (24)) (cl-lib (0 5))) "major mode for editing GN (generate ninja) files" single ((:commit . "fcf8e1e500d953364e97e7ebc5708a2c00fa3cd2") (:keywords "data") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:url . "http://github.com/lashtear/gn-mode"))])
+ (gnome-calendar . [(20161110 1256) nil "Integration with the GNOME Shell calendar" single ((:commit . "489f9f15f7bb35696b1cc19db75b554ae8328df2") (:keywords "gnome" "calendar") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))])
+ (gnome-screencast . [(20200115 2230) ((emacs (25))) "Use Gnome screen recording functionality using elisp" single ((:commit . "8c5e787230b2b8a51520ab970d5b505cbbc8f32f") (:keywords "tools" "multimedia") (:authors ("Jürgen Hötzel" . "juergen@hoetzel.info")) (:maintainer "Jürgen Hötzel" . "juergen@hoetzel.info") (:url . "https://github.com/juergenhoetzel/emacs-gnome-screencast"))])
+ (gnomenm . [(20150316 1918) ((s (1 9 0)) (dash (2 3 0)) (kv (0 0 19))) "Emacs interface to Gnome nmcli command" single ((:commit . "9065cda44ffc9e06239b8189a0154d31314c3b4d") (:keywords "processes" "hardware") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-nm"))])
+ (gntp . [(20141025 250) nil "Growl Notification Protocol for Emacs" single ((:commit . "767571135e2c0985944017dc59b0be79af222ef5") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))])
+ (gnu-apl-mode . [(20200108 1633) ((emacs (24))) "Integrate GNU APL with Emacs" tar ((:commit . "7f84eb307e9765fadcd1e0a9201ae562724ef1c9") (:keywords "languages" "apl") (:url . "https://github.com/lokedhs/gnu-apl-mode"))])
+ (gnuplot . [(20200322 53) ((emacs (24 1))) "Major-mode and interactive frontend for gnuplot" tar ((:commit . "f0001c30010b2899e36d7d89046322467e923088") (:keywords "data" "gnuplot" "plotting") (:authors ("Jon Oddie") ("Bruce Ravel") ("Phil Type")) (:maintainer "Bruce Ravel" . "bruceravel1@gmail.com") (:url . "https://github.com/emacsorphanage/gnuplot"))])
+ (gnuplot-mode . [(20171013 1616) nil "Major mode for editing gnuplot scripts" single ((:commit . "601f6392986f0cba332c87678d31ae0d0a496ce7") (:keywords "gnuplot" "plotting") (:url . "https://github.com/mkmcc/gnuplot-mode"))])
+ (gnus-alias . [(20150316 42) nil "an alternative to gnus-posting-styles" single ((:commit . "9447d3ccb4c0e75d0468899cccff7aa249657bac") (:keywords "personality" "identity" "news" "mail" "gnus") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org"))])
+ (gnus-desktop-notify . [(20180623 1538) ((gnus (1 0))) "Gnus Desktop Notification global minor mode" single ((:commit . "b438feb59136621a8ab979f0e2784f7002398d06") (:authors ("Yuri D'Elia <wavexx AT thregr.org>")) (:maintainer "Yuri D'Elia <wavexx AT thregr.org>") (:url . "http://www.thregr.org/~wavexx/software/gnus-desktop-notify.el/"))])
+ (gnus-recent . [(20190423 1146) ((emacs (25 3 2))) "article breadcrumbs for Gnus" single ((:commit . "d9375cfad0054a05c910c1210f0f37aa601aebba") (:keywords "convenience" "mail") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/gnus-recent"))])
+ (gnus-select-account . [(20170722 511) nil "Select an account before writing a mail in gnus" single ((:commit . "ddc8c135eeaf90f5b6692a033af2badae36e68ce") (:keywords "convenience") (:authors ("Feng Shu " . "tumashu@163.com")) (:maintainer "Feng Shu " . "tumashu@163.com") (:url . "https://github.com/tumashu/gnus-select-account"))])
+ (gnus-summary-ext . [(20180113 1316) nil "Extra limit and process mark commands for the gnus summary buffer" single ((:commit . "025fd853fe9280ae696a89ec2c2cac9befd010aa") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/gnus-summary-ext"))])
+ (gnus-summary-repo . [(20190617 1419) ((emacs (25))) "Import and export files between IMAP and local by using GNUS" single ((:commit . "3968667bfded60fbbf33f2fba3170e2b6501ec43") (:keywords "gnus" "repository") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/gnus-summary-repo"))])
+ (gnus-x-gm-raw . [(20140610 731) ((log4e (0 2 0)) (yaxception (0 1))) "Search mail of Gmail using X-GM-RAW as web interface" single ((:commit . "978bdfcecc8844465b71641c2e909fcdc66b22be") (:keywords "gnus") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/gnus-x-gm-raw"))])
+ (go . [(20161111 249) ((emacs (24))) "Play GO, translate and transfer between GO back ends" tar ((:commit . "ff45fb44d9cb6579d8511d8b6156ed0b34d5ac97") (:keywords "game" "go" "sgf") (:authors ("Eric Schulte" . "schulte.eric@gmail.com")) (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") (:url . "http://eschulte.github.io/el-go/"))])
+ (go-add-tags . [(20161123 1227) ((emacs (24 3)) (s (1 11 0))) "Add field tags for struct fields" single ((:commit . "54879945e46a0884c5f93d7fd6c866a9cdf401ac") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-go-add-tags"))])
+ (go-autocomplete . [(20150904 240) ((auto-complete (1 4 0))) "auto-complete-mode backend for go-mode" single ((:commit . "4acdcbdea79de6b3dee1c637eca5cbea0fdbe37c") (:keywords "languages") (:authors ("Mikhail" . "tensai@cirno.in")) (:maintainer "Mikhail" . "tensai@cirno.in"))])
+ (go-capf . [(20200216 936) ((emacs (24 4))) "Completion-at-point backend for go" single ((:commit . "9e66ce4ef4307e9f0e73e65f6bb2f287ed2c940b") (:keywords "languages" "abbrev" "convenience") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/go-capf"))])
+ (go-complete . [(20190409 516) ((go-mode (0)) (cl-lib (0 5))) "Native code completion for Go" single ((:commit . "056294014f37a1004958ec17ebd6748deed63502") (:keywords "go" "golang" "completion") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/go-complete"))])
+ (go-direx . [(20150316 143) ((direx (1 0 0)) (cl-lib (0 5))) "Tree style source code viewer for Go language" single ((:commit . "8f2206469328ee932c7f1892f5e1fb02dec98432") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-go-direx"))])
+ (go-dlv . [(20191005 829) ((go-mode (1 3 1))) "Go Delve - Debug Go programs interactively with the GUD." single ((:commit . "d3cca689e76b71e0ef0ab827c7e01cd9042d2095") (:keywords "go" "debug" "debugger" "delve" "interactive" "gud") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/go-dlv.el/"))])
+ (go-eldoc . [(20170305 1427) ((emacs (24 3)) (go-mode (1 0 0))) "eldoc for go-mode" single ((:commit . "cbbd2ea1e94a36004432a9ac61414cb5a95a39bd") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-go-eldoc"))])
+ (go-errcheck . [(20160723 43) nil "errcheck integration for go-mode" single ((:commit . "9db21eccecedc2490793f176246094167164af31") (:authors ("Dominik Honnef" . "dominikh@fork-bomb.org")) (:maintainer "Dominik Honnef" . "dominikh@fork-bomb.org"))])
+ (go-fill-struct . [(20171225 331) ((emacs (24))) "Fill struct for golang." single ((:commit . "a613d0b378473eef39e8fd5724abe790aea84321") (:keywords "tools") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:url . "https://github.com/s-kostyaev/go-fill-struct"))])
+ (go-gen-test . [(20171023 358) ((emacs (24 3)) (s (1 12))) "Generate tests for go code with gotests" single ((:commit . "44c202ac97e728e93a35cee028a0ea8dd6e4292c") (:keywords "languages") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:url . "https://github.com/s-kostyaev/go-gen-test"))])
+ (go-gopath . [(20160705 1034) ((cl-lib (0 5))) "Will guess GOPATH using gb and projectile." single ((:commit . "5172fc53f21edbf9347d5ee7d1d745da1ec88a15") (:authors ("Andrew Kirilenko" . "andrew.kirilenko.main@gmail.com")) (:maintainer "Andrew Kirilenko" . "andrew.kirilenko.main@gmail.com") (:url . "http://github.com/iced/go-gopath/"))])
+ (go-guru . [(20181012 330) ((go-mode (1 3 1)) (cl-lib (0 5))) "Integration of the Go 'guru' analysis tool into Emacs." single ((:commit . "734d5232455ffde088021ea5908849ac570e890f") (:keywords "tools"))])
+ (go-imenu . [(20181029 1029) ((emacs (24 3))) "Enhance imenu for go language" single ((:commit . "4f3f334ed0b6f6afaca6b9775636a52ad3843053") (:keywords "tools") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/go-imenu.el"))])
+ (go-impl . [(20170125 1552) ((emacs (24 3)) (go-mode (1 3 0))) "impl integration for go-mode" single ((:commit . "69f0d0ef05771487e15abec500cd06befd171abf") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-go-impl"))])
+ (go-imports . [(20190715 1647) nil "Insert go import statement given package name" tar ((:commit . "55681e815da93b6f927213c4aa352ae33db97c37") (:keywords "tools" "go" "import") (:authors ("Yaz Saito")) (:maintainer "Yaz Saito") (:url . "https://github.com/yasushi-saito/go-imports"))])
+ (go-mode . [(20200425 1740) nil "Major mode for the Go programming language" single ((:commit . "734d5232455ffde088021ea5908849ac570e890f") (:keywords "languages" "go") (:authors ("The go-mode Authors")) (:maintainer "The go-mode Authors") (:url . "https://github.com/dominikh/go-mode.el"))])
+ (go-playground . [(20190625 1855) ((emacs (24)) (go-mode (1 4 0)) (gotest (0 13 0))) "Local Golang playground for short snippets." single ((:commit . "508294fbc22b22b37f587b2dbc8f3a48a16a07a6") (:keywords "tools" "golang") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:url . "https://github.com/grafov/go-playground"))])
+ (go-playground-cli . [(20160503 914) ((emacs (24)) (request (0 2 0)) (deferred (0 3 2)) (names (20151201 404)) (s (1 10 0)) (f (0 17 2)) (let-alist (1 0 4)) (cl-lib (0 5))) "Go Playground client tool" single ((:commit . "60beebd98e3930641d41cee0189c579626f223bc") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/go-playground-cli"))])
+ (go-projectile . [(20181023 2144) ((projectile (0 10 0)) (go-mode (0)) (go-eldoc (0 16)) (go-rename (0)) (go-guru (0))) "Go add-ons for Projectile" single ((:commit . "7910884b4de560f3fc70b53752f658ef9cdc02cd") (:keywords "project" "convenience") (:authors ("Doug MacEachern" . "dougm@vmware.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:url . "https://github.com/dougm/go-projectile"))])
+ (go-rename . [(20190805 2101) ((go-mode (1 3 1))) "Integration of the 'gorename' tool into Emacs." single ((:commit . "734d5232455ffde088021ea5908849ac570e890f") (:keywords "tools"))])
+ (go-scratch . [(20150810 440) ((go-mode (1 3 1)) (emacs (24))) "*scratch* buffer for Go" single ((:commit . "3f68cbcce04f59eb8e83af109164731ec0454be0") (:keywords "languages" "go") (:authors ("Emanuel Evans" . "mail@emanuel.industries")) (:maintainer "Emanuel Evans" . "mail@emanuel.industries"))])
+ (go-snippets . [(20180113 611) ((yasnippet (0 8 0))) "Yasnippets for go" tar ((:commit . "d437df148879566ffe7f2e503a3cf2602aa9fb28"))])
+ (go-stacktracer . [(20150430 2142) nil "parse Go stack traces" single ((:commit . "a2ac6d801b389f80ca4e2fcc1ab44513a9e55976") (:keywords "tools") (:authors ("Samer Masterson" . "samer@samertm.com")) (:maintainer "Samer Masterson" . "samer@samertm.com") (:url . "https://github.com/samertm/go-stacktracer.el"))])
+ (go-tag . [(20180227 411) ((emacs (24 0)) (go-mode (1 5 0))) "Edit Golang struct field tag" single ((:commit . "59b243f2fa079d9de9d56f6e2d94397e9560310a") (:keywords "tools") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/emacs-go-tag"))])
+ (gobgen . [(20161020 1523) ((emacs (24 4))) "Generate GObject descendants using a detailed form" single ((:commit . "ed2c2b0d217deae293096f3cf14aa492791ddd4f") (:keywords "gobject" "glib" "gtk" "helper" "utilities") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu"))])
+ (god-mode . [(20200413 2144) ((emacs (24 4))) "Minor mode for God-like command entering" tar ((:commit . "1eb6ef3a4f67a805c5d6deb1e3895b6c853707d7") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/emacsorphanage/god-mode"))])
+ (godoctor . [(20180710 2152) nil "Frontend for godoctor" single ((:commit . "4b45ff3d0572f0e84056e4c3ba91fcc178199859") (:keywords "go" "golang" "refactoring") (:authors ("Sangho Na" . "microamp@protonmail.com")) (:maintainer "Sangho Na" . "microamp@protonmail.com") (:url . "https://github.com/microamp/godoctor.el"))])
+ (gold-mode . [(20140607 206) ((sws-mode (0))) "Major mode for editing .gold files" single ((:commit . "6d3aa59602b1b835495271c8c9741ac344c2eab1") (:keywords "golang" "template" "gold") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/gold-mode-el"))])
+ (golden-ratio . [(20191028 1732) nil "Automatic resizing of Emacs windows to the golden ratio" single ((:commit . "007911d8a431b72670f5fe5f0e5b4380c2777a31") (:keywords "window" "resizing") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))])
+ (golden-ratio-scroll-screen . [(20200419 451) nil "Scroll half screen down or up, and highlight current line" single ((:commit . "1b6ff0e3e8822423335d3f7d88c1fcb4cf43ce42") (:keywords "scroll" "screen" "highlight") (:authors ("纪秀峰 <jixiuf at gmail dot com>")) (:maintainer "纪秀峰 <jixiuf at gmail dot com>") (:url . "https://github.com/jixiuf/golden-ratio-scroll-screen"))])
+ (goldendict . [(20180121 920) ((emacs (24 4)) (cl-lib (0 5))) "query word smartly with goldendict.el" single ((:commit . "1aac19daaec811deb9afe45eea4929309c09ac8b") (:keywords "dict" "goldendict") (:url . "https://github.com/stardiviner/goldendict.el"))])
+ (golint . [(20180221 2015) nil "lint for the Go source code" single ((:commit . "738671d3881b9731cc63024d5d88cf28db875626") (:url . "https://github.com/golang/lint"))])
+ (gom-mode . [(20131008 253) nil "Major mode for Gomfile" single ((:commit . "972e33df1d38ff323bc97de87477305826013701") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-gom-mode"))])
+ (gomacro-mode . [(20200326 1103) ((emacs (24 4)) (go-mode (1 5 0))) "Gomacro mode and Go REPL integration" single ((:commit . "3112e56d2d5e645a3e0fd877f3e810dbccbf989f") (:keywords "gomacro" "repl" "languages" "tools" "processes") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/gomacro-mode"))])
+ (google . [(20140416 1748) nil "Emacs interface to the Google API" single ((:commit . "3b3189a8b201c8d36fed6e61496274e530dd40bd") (:keywords "comm" "processes" "tools") (:authors ("Edward O'Connor" . "ted@oconnor.cx")) (:maintainer "Edward O'Connor" . "ted@oconnor.cx"))])
+ (google-c-style . [(20180130 1736) nil "Google's C/C++ style for c-mode" single ((:commit . "95d408ee1120e7b7a32d9e79dbdceb77e5787b7f") (:keywords "c" "tools"))])
+ (google-contacts . [(20180919 1314) ((oauth2 (0 10)) (cl-lib (0 5))) "Support for Google Contacts in Emacs" tar ((:commit . "2273582713712a58e71156a8a29972d42e8e690e") (:keywords "comm") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "http://julien.danjou.info/projects/emacs-packages#google-contacts"))])
+ (google-maps . [(20181121 1532) ((emacs (24 3))) "Access Google Maps from Emacs" tar ((:commit . "2eb16ff609f5a9f8d02c15238a111fbb7db6c146") (:keywords "comm") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "https://julien.danjou.info/projects/emacs-packages#google-maps"))])
+ (google-this . [(20170810 1215) ((emacs (24 1))) "A set of functions and bindings to google under point." single ((:commit . "8a2e3ca5da6a8c89bfe99a21486c6c7db125dc84") (:keywords "convenience" "hypermedia") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Malabarba/emacs-google-this"))])
+ (google-translate . [(20190620 1416) nil "Emacs interface to Google Translate." tar ((:commit . "dc118de511c433750d4c98b9dd67350118c04fd6"))])
+ (goose-theme . [(20160828 1245) ((emacs (24 1))) "A gray color theme" single ((:commit . "acd017b50ab25a75fd1331eb3de66467e2042e9c") (:authors ("Stephen Whipple" . "shw@wicdmedia.org")) (:maintainer "Stephen Whipple" . "shw@wicdmedia.org") (:url . "https://github.com/thwg/goose-theme"))])
+ (gopher . [(20190512 1351) ((emacs (24 4)) (w3m (0))) "easily access and navigate Gopher servers" single ((:commit . "6f4accac226698b22e8388e41ad5723b12553dde") (:authors ("Matthew Snyder" . "matthew.c.snyder@gmail.com") ("and the gopher.el authors (see AUTHORS.org)")) (:maintainer "Matthew Snyder" . "matthew.c.snyder@gmail.com") (:url . "http://github.com/ardekantur/gopher.el"))])
+ (gore-mode . [(20151123 1927) ((go-mode (1 0 0))) "Simple mode for gore, a command-line evaluator for golang." single ((:commit . "94d7f3e99104e06167967c98fdc201049c433c2d") (:keywords "go" "repl") (:authors ("Sergey Pashaev" . "sergey.pashaev@gmail.com")) (:maintainer "Sergey Pashaev" . "sergey.pashaev@gmail.com"))])
+ (gorepl-mode . [(20170905 945) ((emacs (24)) (s (1 11 0)) (f (0 19 0)) (hydra (0 13 0))) "Go REPL Interactive Development in top of Gore" single ((:commit . "6a73bf352e8d893f89cad36c958c4db2b5e35e07") (:keywords "languages" "go" "golang" "gorepl") (:authors ("Manuel Alonso" . "manuteali@gmail.com")) (:maintainer "Manuel Alonso" . "manuteali@gmail.com") (:url . "http://www.github.com/manute/gorepl-mode"))])
+ (gotest . [(20191128 1111) ((emacs (24 3)) (s (1 11 0)) (f (0 19 0)) (go-mode (1 5 0))) "Launch GO unit tests" single ((:commit . "70f63eafda1f6a2f0a01a9320cc4d2edee9a17b2") (:keywords "languages" "go" "tests") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/gotest.el"))])
+ (gotham-theme . [(20191022 1809) nil "A very dark Emacs color theme." single ((:commit . "02a7c7cd280747737792f4620b0df2e0b826e2c7") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/gotham-theme"))])
+ (goto-char-preview . [(20190418 829) ((emacs (24 3))) "Preview character when executing `goto-char` command." single ((:commit . "c0209143fbeafcc9ba93bc2333dd08e72211fa20") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/goto-char-preview"))])
+ (goto-chg . [(20190110 2114) ((undo-tree (0 1 3))) "goto last change" single ((:commit . "1829a13026c597e358f716d2c7793202458120b5") (:keywords "convenience" "matching") (:authors ("David Andersson <l.david.andersson(at)sverige.nu>")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/emacs-evil/goto-chg"))])
+ (goto-last-change . [(20150109 1823) nil "Move point through buffer-undo-list positions" single ((:commit . "58b0928bc255b47aad318cd183a5dce8f62199cc") (:keywords "convenience") (:authors ("Kevin Rodgers" . "ihs_4664@yahoo.com")) (:maintainer "Kevin Rodgers" . "ihs_4664@yahoo.com") (:url . "https://github.com/camdez/goto-last-change.el"))])
+ (goto-last-point . [(20190525 1855) ((emacs (24 3))) "Record and jump to the last point in the buffer." single ((:commit . "7ea191df18ff4774cf1dc568e1726143dd54ea02") (:keywords "convenience") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:url . "https://github.com/manuel-uberti/goto-last-point"))])
+ (goto-line-preview . [(20190308 736) ((emacs (25))) "Preview line when executing `goto-line` command." single ((:commit . "1f0afb261a4e4a1b0a2fae3959b0ce5d30bce2a1") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/goto-line-preview"))])
+ (govc . [(20191213 2131) ((emacs (24 3)) (dash (1 5 0)) (s (1 9 0)) (magit-popup (2 0 50)) (json-mode (1 6 0))) "Interface to govc for managing VMware ESXi and vCenter" single ((:commit . "2c427a74b62e627f9f7993876c073d4a2b2f8a65") (:keywords "convenience") (:authors ("The govc developers")) (:maintainer "The govc developers") (:url . "https://github.com/vmware/govmomi/tree/master/govc/emacs"))])
+ (govet . [(20170808 1724) nil "linter/problem finder for the Go source code" single ((:commit . "1c05817cf8b96589076c7ac4e52ee58a860a0cbf") (:url . "https://godoc.org/golang.org/x/tools/cmd/vet"))])
+ (gpastel . [(20181229 1404) ((emacs (25 1))) "Integrates GPaste with the kill-ring" single ((:commit . "d5fc55bc825203f998537c5834718e665bb87c29") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))])
+ (grab-mac-link . [(20190419 1307) ((emacs (24))) "Grab link from Mac Apps and insert it into Emacs" single ((:commit . "b52d29cd78a60cfe874667a8987ed10e8eb0f172") (:keywords "mac" "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-mac-link.el"))])
+ (grab-x-link . [(20191113 848) ((emacs (24)) (cl-lib (0 5))) "Grab links from X11 apps and insert into Emacs" single ((:commit . "d898db46e4864118359fdedfe915e180de3fe290") (:keywords "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-x-link"))])
+ (gradle-mode . [(20150313 1905) ((s (1 8 0))) "Gradle integration with Emacs' compile" single ((:commit . "e4d665d5784ecda7ddfba015f07c69be3cfc45f2") (:keywords "gradle") (:authors ("Daniel Mijares" . "daniel.j.mijares@gmail.com")) (:maintainer "Daniel Mijares" . "daniel.j.mijares@gmail.com") (:url . "http://github.com/jacobono/emacs-gradle-mode"))])
+ (grails . [(20160417 636) ((emacs (24))) "Minor mode for Grails projects" single ((:commit . "fa638abe5c37f3f8af4fcd32f212453185ce50b1") (:url . "https://github.com/lifeisfoo/emacs-grails"))])
+ (grails-mode . [(20160504 911) nil "minor-mode that adds some Grails project management to a grails project" single ((:commit . "cafdd98e06a3bbff213f3ccb163de2c42d412b66") (:keywords "languages") (:authors ("Jim Morris" . "morris@wolfman.com")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:url . "http://blog.wolfman.com"))])
+ (grails-projectile-mode . [(20160327 1324) ((projectile (0 10 0)) (emacs (24)) (cl-lib (0 5))) "Grails mode with Projectile for projects management." tar ((:commit . "8efca50ce92b556fe9d467b157d7aec635bcc017") (:keywords "grails" "projectile") (:authors ("Yves Zoundi" . "rimerosolutions@gmail.com")) (:maintainer "Yves Zoundi") (:url . "https://github.com/yveszoundi/grails-projectile-mode"))])
+ (grammarly . [(20200126 420) ((emacs (24 4)) (cl-lib (0 6)) (s (1 12 0)) (request (0 3 0)) (websocket (1 6))) "Grammarly API interface" single ((:commit . "709bf3124b6e130efcede8b38fc2fed38699e19b") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/grammarly"))])
+ (grandshell-theme . [(20180606 517) nil "Dark color theme for Emacs > 24 with intensive colors." tar ((:commit . "0ed8e4273607dd4fcaa742b4097259233b09eda6"))])
+ (graphene . [(20180529 1112) ((dash (2 10 0)) (exec-path-from-shell (1 9)) (ppd-sr-speedbar (0 0 6)) (sr-speedbar (20140505)) (ido-completing-read+ (4 3)) (smex (3 0)) (web-mode (11 2)) (smartparens (1 8 0)) (graphene-meta-theme (0 0 2)) (flycheck (0 23)) (company (0 8 12))) "Friendly Emacs defaults" tar ((:commit . "cc8477fcfb7771ea4e5bbaf3c01f9e679234c1c1"))])
+ (graphene-meta-theme . [(20161204 1607) nil "Integrated theming for common packages" single ((:commit . "62cc73fee31f1bd9474027b83a249feee050271e") (:keywords "defaults") (:authors ("Robert Dallas Gray" . "mail@robertdallasgray.com")) (:maintainer "Robert Dallas Gray" . "mail@robertdallasgray.com") (:url . "https://github.com/rdallasgray/graphene"))])
+ (graphql . [(20180912 31) ((emacs (25))) "GraphQL utilities" single ((:commit . "e2b309689f4faf9225f290080f836e988c5a576d") (:keywords "hypermedia" "tools" "lisp") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/graphql.el"))])
+ (graphql-mode . [(20191024 1221) ((emacs (24 3))) "Major mode for editing GraphQL schemas" single ((:commit . "7c37aee28bf8c8ffb3da73df5571c4e1e352562b") (:keywords "languages") (:authors ("David Vazquez Pua" . "davazp@gmail.com")) (:maintainer "David Vazquez Pua" . "davazp@gmail.com"))])
+ (graphviz-dot-mode . [(20200304 432) ((emacs (25 0))) "Mode for the dot-language used by graphviz (att)." tar ((:commit . "3642a0a5f41a80c8ecef7c6143d514200b80e194") (:keywords "mode" "dot" "dot-language" "dotlanguage" "graphviz" "graphs" "att") (:maintainer "Pieter Pareit" . "pieter.pareit@gmail.com") (:url . "https://ppareit.github.io/graphviz-dot-mode/"))])
+ (grapnel . [(20131001 1534) nil "HTTP request lib with flexible callback dispatch" single ((:commit . "fbd0f9a51139973d35e4014855964fa435e8ecaf") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/grapnel"))])
+ (grass-mode . [(20170503 1500) ((cl-lib (0 2)) (dash (2 8 0))) "Provides Emacs modes for interacting with the GRASS GIS program" single ((:commit . "8a7e9dcb2295eef1ec25d886b05e09c876bd8398") (:keywords "grass" "gis") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca"))])
+ (grayscale-theme . [(20171005 802) nil "A simple grayscale theme" single ((:commit . "53ad50e10e68f2f076ebfc96e10ecef7a932d38d") (:keywords "lisp") (:authors ("Kaleb Elwert" . "belak@coded.io")) (:maintainer "Kaleb Elwert" . "belak@coded.io") (:url . "https://github.com/belak/emacs-grayscale-theme"))])
+ (greek-polytonic . [(20190303 1358) ((emacs (24))) "Quail package for inputting polytonic Greek" single ((:commit . "114cba0f57cc077871693c799b807df2292341ec") (:keywords "i18n" "multilingual" "input method" "greek") (:authors ("Johannes Choo" . "jhanschoo@gmail.com")) (:maintainer "Johannes Choo" . "jhanschoo@gmail.com") (:url . "https://github.com/jhanschoo/greek-polytonic"))])
+ (green-is-the-new-black-theme . [(20190724 1252) nil "A cool and minimalist green blackened theme engine" single ((:commit . "34f0372878a07a23bf1d9418aa380c403d272457") (:keywords "faces" "themes") (:authors ("Fred Campos" . "fred.tecnologia@gmail.com")) (:maintainer "Fred Campos" . "fred.tecnologia@gmail.com") (:url . "https://github.com/fredcamps/green-is-the-new-black-emacs"))])
+ (green-phosphor-theme . [(20150515 1447) nil "A light color theme with muted, autumnal colors." single ((:commit . "fa42f598626adfdc5450e5c380fa2d5df6110f28") (:keywords "color" "theme") (:authors ("Adam Alpern" . "adam.alpern@gmail.com")) (:maintainer "Adam Alpern" . "adam.alpern@gmail.com") (:url . "http://github.com/aalpern/emacs-color-theme-green-phosphor"))])
+ (green-screen-theme . [(20180816 1502) nil "A nice color theme for those who miss green CRTs" single ((:commit . "774e8f6c033786406267f71ec07319d906a30b75") (:keywords "faces" "theme") (:authors ("Ricardo Banffy" . "rbanffy@gmail.com")) (:maintainer "Ricardo Banffy" . "rbanffy@gmail.com") (:url . "https://github.com/rbanffy/green-screen-emacs"))])
+ (gregorio-mode . [(20170705 1451) nil "Gregorio Mode for .gabc files" single ((:commit . "736fd3d05fb67f707cca1a7ce24e3ee7ca5e9567") (:keywords "gregorio" "chant") (:authors ("Fr. John Jenkins" . "jenkins@sspx.ng")) (:maintainer "Fr. John Jenkins" . "jenkins@sspx.ng") (:url . "https://jsrjenkins.github.io/gregorio-mode/"))])
+ (grep-a-lot . [(20131006 1347) nil "manages multiple search results buffers for grep.el" single ((:commit . "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad") (:keywords "tools" "convenience" "search") (:authors ("Avi Rozen" . "avi.rozen@gmail.com")) (:maintainer "Avi Rozen" . "avi.rozen@gmail.com") (:url . "https://github.com/ZungBang/emacs-grep-a-lot"))])
+ (grep-context . [(20181002 1654) ((emacs (24 4)) (dash (2 12 0)) (cl-lib (0 5 0))) "Increase context in compilation and grep buffers" single ((:commit . "58f6edc18510d871e4f5ef63ef60665cbc204e96") (:keywords "convenience" "search" "grep" "compile") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/grep-context"))])
+ (greymatters-theme . [(20150621 1123) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "a7220a8c6cf18ccae2b76946b6f01188a7c9d5d1") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (grip-mode . [(20200312 1136) ((emacs (24 4))) "Instant GitHub-flavored Markdown/Org preview using grip." single ((:commit . "9615c4774727a719d38313a679d70f2a2c6aca68") (:keywords "convenience" "markdown" "preview") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/grip-mode"))])
+ (grizzl . [(20160818 737) ((cl-lib (0 5)) (emacs (24 3))) "Fast fuzzy search index for Emacs." single ((:commit . "1e917253ce2b846f0272b8356fad3dbff9cd513a") (:keywords "convenience" "usability") (:authors ("Chris Corbyn" . "chris@w3style.co.uk")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/grizzl/grizzl"))])
+ (groovy-imports . [(20161003 851) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Groovy imports" single ((:commit . "e56d7dda617555ec6205644d32ffddf2e1fa43d9") (:keywords "groovy") (:authors ("Miro Bezjak")) (:maintainer "Miro Bezjak") (:url . "http://www.github.com/mbezjak/emacs-groovy-imports"))])
+ (groovy-mode . [(20191031 2256) ((s (1 12 0)) (emacs (24 3)) (dash (2 13 0))) "Major mode for Groovy source files" tar ((:commit . "cafdd98e06a3bbff213f3ccb163de2c42d412b66") (:keywords "languages") (:authors ("Russel Winder" . "russel@winder.org.uk") ("Jim Morris" . "morris@wolfman.com") ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Russel Winder" . "russel@winder.org.uk"))])
+ (gruber-darker-theme . [(20200227 2238) nil "Gruber Darker color theme for Emacs 24." single ((:commit . "7f95ce96079eb22b9214435ed25c5af98f60b482") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/gruber-darker-theme"))])
+ (grunt . [(20160316 1528) ((dash (2 9 0)) (ansi-color (3 4 2)) (emacs (24 3))) "Some glue to stick Emacs and Gruntfiles together" single ((:commit . "4c269e2738658643ec2ed9ef61a2a3d71b08d304") (:keywords "convenience" "grunt") (:authors ("Daniel Gempesaw" . "dgempesaw@sharecare.com")) (:maintainer "Daniel Gempesaw" . "dgempesaw@sharecare.com") (:url . "https://github.com/gempesaw/grunt.el"))])
+ (gruvbox-theme . [(20200428 337) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:commit . "c9a0e00fa28f0e9748fe3f72b9c3ad884e231a3e") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "http://github.com/greduan/emacs-theme-gruvbox"))])
+ (gs-mode . [(20151202 1006) nil "Major mode for editing GrADS script files" single ((:commit . "1a13051db21b999c7682a015b33a03096ff9d891") (:keywords "grads" "script" "major-mode") (:authors ("Joe Wielgosz" . "joew@cola.iges.org")) (:maintainer "Joe Wielgosz" . "joew@cola.iges.org"))])
+ (gscholar-bibtex . [(20190130 555) nil "Retrieve BibTeX from Google Scholar and other online sources(ACM, IEEE, DBLP)" single ((:commit . "3b651e3de116860eb1f1aef9b547a561784871fe") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (gsettings . [(20190513 1003) ((emacs (24 3)) (dash (2 16 0)) (gvariant (1 0 0)) (s (1 12 0))) "GSettings (Gnome) helpers" single ((:commit . "3009335a077636347defd08d24fb092495d16d3e") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-gsettings"))])
+ (gtk-pomodoro-indicator . [(20191007 1500) nil "A pomodoro indicator for the GTK tray" tar ((:commit . "338e6dca6d749cfc85195907bba593f9f6855715") (:keywords "convenience" "pomodoro") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/gtk-pomodoro-indicator"))])
+ (gtk-variant . [(20200416 2136) ((emacs (25 1))) "Set the GTK theme variant (titlebar color)" single ((:commit . "4462a5ab071ec001734e92d1ac2e5fa9721b94bd") (:keywords "frames" "gtk" "titlebar") (:authors ("Paul Oppenheimer")) (:maintainer "Paul Oppenheimer") (:url . "https://github.com/bepvte/gtk-variant.el"))])
+ (guess-language . [(20200326 1725) ((cl-lib (0 5)) (emacs (24))) "Robust automatic language detection" tar ((:commit . "f4ce91eba3c479d08fedf0a3ced6c1265a7838ca") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/guess-language.el"))])
+ (guide-key . [(20150108 635) ((dash (2 10 0)) (popwin (0 3 0)) (s (1 9 0))) "Guide the following key bindings automatically and dynamically" single ((:commit . "8f8b839f42edd53af13d588254f07727108ae312") (:keywords "help" "convenience") (:authors ("Tsunenobu Kai" . "kai2nenobu@gmail.com")) (:maintainer "Tsunenobu Kai" . "kai2nenobu@gmail.com") (:url . "https://github.com/kai2nenobu/guide-key"))])
+ (guide-key-tip . [(20161011 823) ((guide-key (1 2 3)) (pos-tip (0 4 5))) "Show guide-key.el hints using pos-tip.el" single ((:commit . "02c5d4b0b65f3e91be5a47f0ff1ae5e86e00c64e") (:keywords "help" "convenience" "tooltip") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/guide-key-tip"))])
+ (guix . [(20200219 1821) ((emacs (24 3)) (dash (2 11 0)) (geiser (0 8)) (bui (1 2 0)) (magit-popup (2 1 0)) (edit-indirect (0 1 4))) "Interface for GNU Guix" tar ((:commit . "3b5990618e70494aa89ff18c58ff24f369005323") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://emacs-guix.gitlab.io/website/"))])
+ (gulp-task-runner . [(20170718 2041) nil "Gulp task runner" single ((:commit . "877990e956b1d71e2d9c7c3e5a129ad199b9debb") (:keywords "convenience" "javascript") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))])
+ (guru-mode . [(20170730 731) nil "Become an Emacs guru" single ((:commit . "c180e05ebc1484764aad245c85b69de779826e4e") (:keywords "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/guru-mode"))])
+ (gvariant . [(20190513 1005) ((emacs (24)) (parsec (0 1 3))) "GVariant (GLib) helpers" single ((:commit . "b162867c03ead58784c47996ae329355ecea2869") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-gvariant"))])
+ (gvpr-mode . [(20131208 1718) nil "A major mode offering basic syntax coloring for gvpr scripts." single ((:commit . "3d6cc6f4416faf2a1913821d12ba6eb624362af0") (:keywords "graphviz" "gv" "dot" "gvpr" "graph") (:authors ("Rod Waldhoff" . "r.waldhoff@gmail.com")) (:maintainer "Rod Waldhoff" . "r.waldhoff@gmail.com") (:url . "https://raw.github.com/rodw/gvpr-lib/master/extra/gvpr-mode.el"))])
+ (gxref . [(20170411 1753) ((emacs (25))) "xref backend using GNU Global." single ((:commit . "380b02c3c3c2586c828456716eef6a6392bb043b") (:keywords "xref" "global" "tools") (:authors ("Dedi Hirschfeld")) (:maintainer "Dedi Hirschfeld") (:url . "https://github.com/dedi/gxref"))])
+ (habamax-theme . [(20181001 850) ((emacs (24))) "Boring white background color that gets the job done." single ((:commit . "6e86a1b23b6e2aaf40d4374b5673da00a28be447") (:authors ("Maxim Kim" . "habamax@gmail.com")) (:maintainer "Maxim Kim" . "habamax@gmail.com") (:url . "https://github.com/habamax/habamax-theme"))])
+ (habitica . [(20190721 1620) ((org (8 3 5)) (emacs (24 3))) "Interface for habitica.com" single ((:commit . "c45c602ddf9d6cbb0e3baf5cb3e1b7ef90f2759d") (:keywords "habitica" "todo") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/emacs-habitica"))])
+ (hack-mode . [(20200421 157) ((emacs (25 1)) (s (1 11 0))) "Major mode for the Hack programming language" single ((:commit . "330df61f7297344cff9cf9e2d802a4d041279de3") (:authors ("John Allen <jallen@fb.com>, Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "John Allen <jallen@fb.com>, Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/hhvm/hack-mode"))])
+ (hacker-typer . [(20170206 1520) ((emacs (24))) "Pretend to write code like a pro" tar ((:commit . "d5a23714a4ccc5071580622f278597d5973f40bd") (:keywords "hacker" "typer" "multimedia" "games") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/therockmandolinist/emacs-hacker-typer"))])
+ (hackernews . [(20190529 1120) nil "Hacker News Client for Emacs" single ((:commit . "2362d7b00e59da7caddc8c0adc24dccb42fddef9") (:keywords "comm" "hypermedia" "news") (:authors ("Lincoln de Sousa" . "lincoln@comum.org")) (:maintainer "Basil L. Contovounesios" . "contovob@tcd.ie") (:url . "https://github.com/clarete/hackernews.el"))])
+ (hal-mode . [(20160704 1746) nil "Major mode for editing HAL files" single ((:commit . "cd2f66f219ee520198d4586fb6b169cef7ad3f21") (:keywords "language") (:authors ("Alexander Rössler")) (:maintainer "Alexander Rössler") (:url . "https://github.com/strahlex/hal-mode/"))])
+ (ham-mode . [(20150811 1306) ((html-to-markdown (1 2)) (markdown-mode (2 0))) "Html As Markdown. Transparently edit an html file using markdown" single ((:commit . "3a141986a21c2aa6eefb428983352abb8b7907d2") (:keywords "convenience" "emulation" "wp") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/ham-mode"))])
+ (hamburg-theme . [(20160123 740) ((emacs (24))) "Color Theme with a dark blue background." single ((:commit . "aacefdf1501d97a5afc0e63c8ead4b2463323028") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (hamburger-menu . [(20160825 2031) ((emacs (24 5))) "Mode line hamburger menu" single ((:commit . "3568159c693c30bed7f61580e4f3b6241253ad4e") (:keywords "hamburger" "menu") (:authors ("Iain Nicol")) (:maintainer "Iain Nicol") (:url . "https://gitlab.com/iain/hamburger-menu-mode"))])
+ (haml-mode . [(20190219 2102) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing Haml files" single ((:commit . "bf5b6c11b1206759d2b28af48765e04882dd1fc4") (:keywords "markup" "languages" "html") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "https://github.com/nex3/haml-mode"))])
+ (hamlet-mode . [(20131208 724) ((cl-lib (0 3)) (dash (2 3 0)) (s (1 7 0))) "Hamlet editing mode" single ((:commit . "7362b955e556a3d007fa06945a27e5b99349527d") (:keywords "wp" "languages" "comm") (:authors (nil . "Kata <lightquake@amateurtopologist.com")) (:maintainer nil . "Kata <lightquake@amateurtopologist.com") (:url . "https://github.com/lightquake/hamlet-mode"))])
+ (handle . [(20191029 856) ((emacs (25 1)) (parent-mode (2 3))) "A handle for major-mode generic functions." single ((:commit . "e27b2d0b229923f81a2c8afa3e9c65ae9e84a0da") (:keywords "convenience") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/handle"))])
+ (handlebars-mode . [(20150211 1749) nil "A major mode for editing Handlebars files." single ((:commit . "81f6b73fea8f397807781a1b51568397af21a6ef") (:authors ("Tony Gentilcore") ("Chris Wanstrath") ("Daniel Hackney") ("Daniel Evans")) (:maintainer "Tony Gentilcore"))])
+ (handlebars-sgml-mode . [(20130623 2333) nil "Add Handlebars contextual indenting support to sgml-mode" single ((:commit . "c76df93a9a8c1b1b3efdcc4add32bf93304192a4") (:authors ("Geoff Jacobsen" . "geoffjacobsen@gmail.com")) (:maintainer "Geoff Jacobsen" . "geoffjacobsen@gmail.com") (:url . "http://github.com/jacott/handlebars-sgml-mode"))])
+ (handoff . [(20150917 600) nil "Get your hand off that mouse, damn it!" single ((:commit . "75dc7a7e352f38679f65d0ca80ad158798e168bd") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/handoff.el"))])
+ (hardcore-mode . [(20151114 701) nil "Disable arrow keys + optionally backspace and return" single ((:commit . "b1dda19692b4a7a58a689e81784a9b35be39e70d") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (hardhat . [(20160414 1413) ((ignoramus (0 7 0))) "Protect against clobbering user-writable files" single ((:commit . "9038a49ab55cd4c502cf7f07ed0d1b9b6bc3626e") (:keywords "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/hardhat"))])
+ (harvest . [(20170822 1746) ((swiper (0 7 0)) (hydra (0 13 0)) (s (1 11 0))) "Harvest integration" single ((:commit . "7acbc0564b250521b67131ee2a0a92720239454f") (:keywords "harvest") (:authors ("Kosta Harlan" . "kosta@kostaharlan.net")) (:maintainer "Kosta Harlan" . "kosta@kostaharlan.net") (:url . "https://github.com/kostajh/harvest.el"))])
+ (haskell-emacs . [(20160904 2026) nil "Write emacs extensions in haskell" tar ((:commit . "a2c6a079175904689eed7c6c200754bfa85d1ed9") (:keywords "haskell" "emacs" "ffi") (:authors ("Florian Knupfer")) (:maintainer "Florian Knupfer") (:url . "https://github.com/knupfer/haskell-emacs"))])
+ (haskell-emacs-base . [(20150714 1559) ((haskell-emacs (2 4 0))) "Haskell functions from Prelude" tar ((:commit . "a2c6a079175904689eed7c6c200754bfa85d1ed9") (:keywords "haskell" "emacs" "ffi") (:authors ("Florian Knupfer")) (:maintainer "Florian Knupfer") (:url . "https://github.com/knupfer/haskell-emacs/modules/base"))])
+ (haskell-emacs-text . [(20150713 1416) ((haskell-emacs (2 4 0))) "Haskell functions from Data.Text" tar ((:commit . "a2c6a079175904689eed7c6c200754bfa85d1ed9") (:keywords "haskell" "emacs" "ffi") (:authors ("Florian Knupfer")) (:maintainer "Florian Knupfer") (:url . "https://github.com/knupfer/haskell-emacs/modules/text"))])
+ (haskell-mode . [(20200408 247) ((emacs (25 1))) "A Haskell editing mode" tar ((:commit . "bbdbc0e9231f49a45ce787ebfb3f2b019615bf61") (:keywords "haskell" "cabal" "ghc" "repl") (:url . "https://github.com/haskell/haskell-mode"))])
+ (haskell-snippets . [(20160919 22) ((cl-lib (0 5)) (yasnippet (0 8 0))) "Yasnippets for Haskell" tar ((:commit . "07b0f460b946fd1be26c29652cb0468b47782f3a") (:keywords "snippets" "haskell") (:authors ("Luke Hoersten" . "luke@hoersten.org")) (:maintainer "Luke Hoersten" . "luke@hoersten.org") (:url . "https://github.com/haskell/haskell-snippets"))])
+ (haskell-tab-indent . [(20170701 958) nil "tab-based indentation for haskell-mode" single ((:commit . "b921c076c10ba996bcfb3b38654363d30567bfa5") (:keywords "indentation" "haskell") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:url . "https://spwhitton.name/tech/code/haskell-tab-indent/"))])
+ (hasklig-mode . [(20181110 1859) ((emacs (25))) "Hasklig ligatures" single ((:commit . "386c098c93a744f6b30ad937d193eebf0fd79e1b") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/hasklig-mode"))])
+ (hasky-extensions . [(20190204 2016) ((emacs (24 4)) (avy-menu (0 2))) "Toggle Haskell language extensions" single ((:commit . "4a0d1d9beb3be8ff4a1857eb920c916734dcc8e1") (:keywords "programming") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-extensions"))])
+ (hasky-stack . [(20190304 2248) ((emacs (24 4)) (f (0 18 0)) (magit-popup (2 10))) "Interface to the Stack Haskell development tool" single ((:commit . "9ef133ed831a95a2b9990a46a3c57f1918d0274f") (:keywords "tools" "haskell") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-stack"))])
+ (haste . [(20141030 2034) ((json (1 2))) "Emacs client for hastebin (http://hastebin.com/about.md)" single ((:commit . "22d05aacc3296ab50a7361222ab139fb4d447c25") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "http://github.com/rlister/emacs-haste-client"))])
+ (haxe-imports . [(20170330 2304) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 1))) "Code for dealing with Haxe imports" single ((:commit . "f104a641f3dfe698359d9aca1f28d9383cf43e04") (:keywords "haxe") (:authors ("Juan Karlo Licudine" . "karlo@accidentalrebel.com")) (:maintainer "Juan Karlo Licudine" . "karlo@accidentalrebel.com") (:url . "http://www.github.com/accidentalrebel/emacs-haxe-imports"))])
+ (haxe-mode . [(20200204 1015) nil "An Emacs major mode for Haxe" single ((:commit . "9449b2b8bc733faa130d3ab68b97ac1ae1db3bff") (:authors ("Jens Peter Secher (original)")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:url . "https://github.com/elpa-host/haxe-mode"))])
+ (haxor-mode . [(20160618 1129) ((emacs (24 0))) "Major mode for editing Haxor Assembly Files" single ((:commit . "6fa25a8e6b6a59481bc0354c2fe1e0ed53cbdc91") (:keywords "haxor") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:url . "https://github.com/krzysztof-magosa/haxor-mode"))])
+ (hayoo . [(20140831 1221) ((emacs (24)) (json (1 3))) "Query hayoo and show results in a tabulated buffer." single ((:commit . "3ca2fb0c4d5f337d0410c21b2702dd147014e984") (:keywords "hayoo" "haskell") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/hayoo.el/"))])
+ (hc-zenburn-theme . [(20150928 1633) nil "An higher contrast version of the Zenburn theme." single ((:commit . "fd0024a5191cdce204d91c8f1db99ba31640f6e9") (:authors ("Nantas Nardelli" . "nantas.nardelli@gmail.com")) (:maintainer "Nantas Nardelli" . "nantas.nardelli@gmail.com") (:url . "https:github.com/edran/hc-zenburn-emacs"))])
+ (hcl-mode . [(20200315 2129) ((emacs (24 3))) "Major mode for Hashicorp" single ((:commit . "c3d1158ad1a64f06aa8986ab1cdea6b7fbdd4bf7") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/emacs-hcl-mode"))])
+ (headlong . [(20150417 1526) nil "reckless completion" single ((:commit . "f6830f87f236eee88263cb6976125f72422abe72") (:keywords "completion") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/headlong"))])
+ (heaven-and-hell . [(20190713 1830) ((emacs (24 4))) "easy toggle light/dark themes" single ((:commit . "e1febfd60d060c110a1e43c5f093cd8537251308") (:keywords "faces") (:authors ("Valentin Ignatev" . "valentignatev@gmail.com")) (:maintainer "Valentin Ignatev" . "valentignatev@gmail.com") (:url . "https://github.com/valignatev/heaven-and-hell"))])
+ (helm . [(20200501 603) ((emacs (24 4)) (async (1 9 4)) (popup (0 5 3)) (helm-core (3 6 0))) "Helm is an Emacs incremental and narrowing framework" tar ((:commit . "b448bc10429775e6a6b092832c5406f523488043") (:url . "https://emacs-helm.github.io/helm/"))])
+ (helm-R . [(20120820 14) ((helm (20120517)) (ess (20120509))) "helm-sources and some utilities for GNU R." single ((:commit . "b0eb9d5f6a483a9dbe6eb6cf1f2024d4f5938bc2") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/helm-R.el"))])
+ (helm-ack . [(20141030 1226) ((helm (1 0)) (cl-lib (0 5))) "Ack command with helm interface" single ((:commit . "889bc225318d14c6e3be80e73b1d9d6fb30e48c3") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ack"))])
+ (helm-ad . [(20151209 1015) ((dash (2 8 0)) (helm (1 6 2))) "helm source for Active Directory" single ((:commit . "8ac044705d8620ee354a9cfa8cc1b865e83c0d55") (:keywords "comm") (:authors ("Takahiro Noda" . "takahiro.noda+github@gmail.com")) (:maintainer "Takahiro Noda" . "takahiro.noda+github@gmail.com"))])
+ (helm-addressbook . [(20170903 728) ((helm (2 8 2)) (addressbook-bookmark (1 0)) (cl-lib (0 5)) (emacs (24 4))) "Helm for addressbook bookmarks." single ((:commit . "62497f72d46afd3a9f9f94b27d062a82fb232de4") (:url . "https://github.com/emacs-helm/helm-addressbook"))])
+ (helm-ag . [(20200426 1427) ((emacs (25 1)) (helm (2 0))) "the silver searcher with helm interface" single ((:commit . "6387437acf687a64af66138649f8604d65eb6789") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ag"))])
+ (helm-ag-r . [(20131123 1531) ((helm (1 0))) "Search something by ag and display by helm" single ((:commit . "67de4ebafe9b088db950eefa5ef590a6d78b4ac8") (:keywords "searching") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/helm-ag-r"))])
+ (helm-aws . [(20180514 1032) ((helm (1 5 3)) (cl-lib (0 5)) (s (1 9 0))) "Manage AWS EC2 server instances directly from Emacs" single ((:commit . "b36c744b3f00f458635a91d1f5158fccbb5baef6") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/helm-aws"))])
+ (helm-backup . [(20180911 614) ((helm (1 5 5)) (s (1 8 0)) (cl-lib (0))) "Backup each file change using git" single ((:commit . "691fe542f38fc7c8cca409997f6a0ff5d76ad6c2") (:keywords "backup" "convenience" "files" "tools" "vc") (:authors ("Anthony HAMON" . "hamon.anth@gmail.com")) (:maintainer "Anthony HAMON" . "hamon.anth@gmail.com") (:url . "http://github.com/antham/helm-backup"))])
+ (helm-bbdb . [(20190728 1325) ((emacs (24 3)) (helm (1 5)) (bbdb (3 1 2))) "Helm interface for bbdb" single ((:commit . "db69114ff1af8bf48b5a222242e3a8dd6e101e67") (:url . "https://github.com/emacs-helm/helm-bbdb"))])
+ (helm-bibtex . [(20200429 1606) ((bibtex-completion (1 0 0)) (helm (1 5 5)) (cl-lib (0 5)) (emacs (24 1))) "A bibliography manager based on Helm" single ((:commit . "6a884fe8ae939447849e76abf48d1bdf6a9bdcbb") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))])
+ (helm-bibtexkey . [(20140214 1504) ((helm (1 5 8))) "Bibtexkey source for helm" tar ((:commit . "aa1637ea5c8c5f1817e480fc2a3750cafab3d99f") (:keywords "bib" "tex") (:authors ("TAKAGI Kentaro <kentaro0910_at_gmail.com>")) (:maintainer "TAKAGI Kentaro <kentaro0910_at_gmail.com>") (:url . "https://github.com/kenbeese/helm-bibtexkey"))])
+ (helm-bind-key . [(20141109 515) ((bind-key (1 0)) (helm (1 6 4))) "helm-source for for bind-key." single ((:commit . "9da6ad8b7530e72fb4ac67be8c6a482898dddc25") (:keywords "convenience" "emulation") (:authors ("Yuhei Maeda <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe"))])
+ (helm-bitbucket . [(20190422 1102) ((emacs (24)) (helm-core (3 0))) "Search Bitbucket with Helm" single ((:commit . "c722016622ad019202419cca60c3be3c53e56130") (:keywords "matching") (:authors ("Peter Urbak" . "tolowercase@gmail.com")) (:maintainer "Peter Urbak" . "tolowercase@gmail.com") (:url . "https://github.com/dragonwasrobot/helm-bitbucket"))])
+ (helm-bm . [(20160321 1331) ((bm (1 0)) (cl-lib (0 5)) (helm (1 9 3)) (s (1 11 0))) "helm sources for bm.el" single ((:commit . "d66341f5646c23178d4d8bffb6cfebe3fb73f1d7") (:keywords "helm" "bookmark") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-bm"))])
+ (helm-books . [(20170325 631) ((helm (1 7 7))) "Helm interface for searching books" single ((:commit . "625aadec1541a5ca36951e4ce1301f4b6fe2bf3f") (:authors ("grugrut" . "grugruglut+github@gmail.com")) (:maintainer "grugrut" . "grugruglut+github@gmail.com") (:url . "https://github.com/grugrut/helm-books"))])
+ (helm-bufler . [(20200409 1253) ((emacs (26 3)) (bufler (0 2 -1)) (helm (1 9 4))) "Helm source for Bufler" single ((:commit . "b2b260e4f9e8ba76bb8b4d71344c7b75e05ac44f") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/bufler.el"))])
+ (helm-bundle-show . [(20190526 1401) ((emacs (24)) (helm (1 8 0))) "Bundle show with helm interface" single ((:commit . "70f1ca7d1847c7d5cd5a3e488562cd4a295b809f") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-bundle-show"))])
+ (helm-c-moccur . [(20151230 924) ((helm (20120811)) (color-moccur (2 71))) "helm source for color-moccur.el" single ((:commit . "b0a906f85fa352db091f88b91a9c510de607dfe9") (:keywords "convenience" "emulation") (:authors ("Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com")) (:maintainer "Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com"))])
+ (helm-c-yasnippet . [(20170128 1542) ((helm (1 7 7)) (yasnippet (0 8 0)) (cl-lib (0 3))) "helm source for yasnippet.el" single ((:commit . "65ca732b510bfc31636708aebcfe4d2d845b59b0") (:keywords "convenience" "emulation") (:authors ("Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com")) (:maintainer "Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com"))])
+ (helm-catkin . [(20190425 1520) ((emacs (24 3)) (helm (0)) (xterm-color (0))) "Package for compile ROS workspaces with catkin-tools" single ((:commit . "d33c71cecd35616dfa7c3b81d8f51c128405977f") (:keywords "catkin" "helm" "build" "tools" "ros") (:authors ("Thore Goll" . "thoregoll@googlemail.com")) (:maintainer "Thore Goll" . "thoregoll@googlemail.com") (:url . "https://github.com/gollth/helm-catkin"))])
+ (helm-charinfo . [(20170810 1231) ((emacs (24)) (helm (1 7 0)) (cl-lib (0 5))) "A helm source for character information" single ((:commit . "91798a49dc115342a7e01e48b264e9a0bf5ea414") (:keywords "convenience") (:authors ("Christian Wittern" . "cwittern@gmail.com")) (:maintainer "Christian Wittern" . "cwittern@gmail.com") (:url . "https://github.com/cwittern/helm-charinfo"))])
+ (helm-chrome . [(20160719 520) ((helm (1 5)) (cl-lib (0 3)) (emacs (24))) "Helm interface for Chrome bookmarks" single ((:commit . "fd630ace4b4b4f33355a973743bbfe0c90ce4830") (:keywords "tools") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/helm-chrome"))])
+ (helm-chrome-control . [(20190707 1807) ((emacs (25 1)) (helm-core (3 0))) "Control Chrome tabs with Helm (macOS only)" tar ((:commit . "e6758763099959e961e218bb1122526323f7ee5e") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/helm-chrome-control"))])
+ (helm-chrome-history . [(20191031 1233) ((emacs (25 1)) (helm-core (3 0))) "Browse Chrome History with Helm" single ((:commit . "f9002d4c12df65a99830376b126dbbeae3ef2148") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/helm-chrome-history"))])
+ (helm-chronos . [(20150528 2036) ((chronos (1 2)) (helm (1 7 1))) "helm interface for chronos timers" tar ((:commit . "a14fc3d65dd96ce6616234b3f7b8b08b4c1817ef") (:keywords "calendar") (:authors ("David Knight" . "dxknight@opmbx.org")) (:maintainer "David Knight" . "dxknight@opmbx.org") (:url . "http://github.com/dxknight/helm-chronos"))])
+ (helm-cider . [(20180307 458) ((emacs (24 4)) (cider (0 16)) (helm-core (2 8))) "Helm interface to CIDER" tar ((:commit . "9363cc537f06233345aa3af5cd46aa5681ad607b") (:keywords "cider" "clojure" "helm" "languages") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/clojure-emacs/helm-cider"))])
+ (helm-cider-history . [(20150719 2120) ((helm (1 4 0)) (cider (0 9 0))) "Helm interface for cider history" single ((:commit . "c391fcb2e162a02001605a0b9449783575a831fd") (:keywords "convenience") (:authors ("Andreas Klein" . "git@kungi.org")) (:maintainer "Andreas Klein" . "git@kungi.org") (:url . "https://github.com/Kungi/helm-cider-history"))])
+ (helm-circe . [(20160207 652) ((emacs (24)) (helm (0 0)) (circe (0 0)) (cl-lib (0 5))) "helm circe buffer management." single ((:commit . "9091651d9fdd8d49d8ff6f9dcf3a2ae416c9f15a") (:keywords "helm" "circe") (:authors ("Les Harris" . "les@lesharris.com")) (:maintainer "Les Harris" . "les@lesharris.com") (:url . "https://github.com/lesharris/helm-circe"))])
+ (helm-clojuredocs . [(20160405 723) ((edn (1 1 2)) (helm (1 5 7))) "search for help in clojuredocs.org" single ((:commit . "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea") (:keywords "helm" "clojure") (:authors ("Michal Buczko" . "michal.buczko@gmail.com")) (:maintainer "Michal Buczko" . "michal.buczko@gmail.com") (:url . "https://github.com/mbuczko/helm-clojuredocs"))])
+ (helm-cmd-t . [(20170125 1459) nil "cmd-t style completion" tar ((:commit . "7fa3d4a9f7271512e54c5de999079b27c9eec6bf") (:keywords "helm" "project-management" "completion" "convenience" "cmd-t" "textmate") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/helm-cmd-t"))])
+ (helm-codesearch . [(20190412 1153) ((emacs (25 1)) (s (1 11 0)) (dash (2 12 0)) (helm (1 7 7)) (cl-lib (0 5))) "helm interface for codesearch" single ((:commit . "72f1d1de746115ab7e861178b49fa3c0b6b58d90") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))])
+ (helm-commandlinefu . [(20150611 545) ((emacs (24 1)) (helm (1 7 0)) (json (1 3)) (let-alist (1 0 3))) "Search and browse commandlinefu.com from helm" single ((:commit . "9ee7e018c5db23ae9c8d1c8fa969876f15b7280d") (:keywords "commandlinefu.com") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/helm-commandlinefu"))])
+ (helm-company . [(20190812 1429) ((helm (1 5 9)) (company (0 6 13))) "Helm interface for company-mode" single ((:commit . "6eb5c2d730a60e394e005b47c1db018697094dde") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Daniel Ralston" . "Sodel-the-Vociferous@users.noreply.github.com") (:url . "https://github.com/Sodel-the-Vociferous/helm-company"))])
+ (helm-core . [(20200429 1931) ((emacs (24 4)) (async (1 9 4))) "Development files for Helm" tar ((:commit . "b448bc10429775e6a6b092832c5406f523488043") (:url . "https://emacs-helm.github.io/helm/"))])
+ (helm-cscope . [(20190615 41) ((xcscope (1 0)) (helm (1 6 7)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface for xcscope.el." single ((:commit . "af1d9e7f4460a88d7400b5a74d5da68084089ac1") (:keywords "cscope" "helm") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:url . "https://github.com/alpha22jp/helm-cscope.el"))])
+ (helm-css-scss . [(20191230 1549) ((emacs (24 3)) (helm (1 0))) "CSS/SCSS/LESS Selectors with helm interface" single ((:commit . "48b996f73af1fef8d6e88a1c545d98f8c50b0cf3") (:keywords "convenience" "scss" "css" "less" "selector" "helm") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/helm-css-scss"))])
+ (helm-ctest . [(20191031 1435) ((s (1 9 0)) (dash (2 11 0)) (helm-core (1 7 4))) "Run ctest from within emacs" single ((:commit . "2a29cfb4ec583da247fa2ae7bac88790b1223e40") (:keywords "helm" "ctest") (:authors ("Dan LaManna" . "me@danlamanna.com")) (:maintainer "Dan LaManna" . "me@danlamanna.com"))])
+ (helm-dash . [(20190527 1118) ((emacs (24 4)) (dash-docs (1 4 0)) (helm (1 9 2)) (cl-lib (0 5))) "Offline documentation browser for +150 APIs using Dash docsets." single ((:commit . "7f853bd34da666f0e9a883011c80f451b06f6c59") (:keywords "docs") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com") ("Bryan Gilbert" . "bryan@bryan.sh")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "https://github.com/dash-docs-el/helm-dash"))])
+ (helm-descbinds . [(20190501 935) ((helm (1 5))) "A convenient `describe-bindings' with `helm'" single ((:commit . "b72515982396b6e336ad7beb6767e95a80fca192") (:keywords "helm" "help") (:authors ("Taiki SUGAWARA" . "buzz.taiki@gmail.com")) (:maintainer "Taiki SUGAWARA" . "buzz.taiki@gmail.com") (:url . "https://github.com/emacs-helm/helm-descbinds"))])
+ (helm-describe-modes . [(20160212 518) ((helm (1 9)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface to major and minor modes." single ((:commit . "11fb36af119b784539d31c6160002de1957408aa") (:keywords "docs" "convenience") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/emacs-helm/helm-describe-modes"))])
+ (helm-dictionary . [(20200406 1632) ((helm (1 5 5))) "Helm source for looking up dictionaries" single ((:commit . "1dfec049c7851754a5967329a60e9e9a9f805423") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de") ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/emacs-helm/helm-dictionary"))])
+ (helm-directory . [(20170706 402) ((emacs (24 4)) (helm (2 0))) "selecting directory before select the file" single ((:commit . "51bd7cd6e40a84a7efda894283ec76a0107830ad") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-directory"))])
+ (helm-dired-history . [(20170524 1046) ((helm (1 9 8)) (cl-lib (0 5))) "Show dired history with helm.el support." single ((:commit . "281523f9fc46cf00fafd670ba5cd16552a607212") (:keywords "helm" "dired history") (:authors ("Joseph(纪秀峰)" . "jixiuf@gmail.com")) (:maintainer "Joseph(纪秀峰)" . "jixiuf@gmail.com") (:url . "https://github.com/jixiuf/helm-dired-history"))])
+ (helm-dired-recent-dirs . [(20131228 1414) ((helm (1 0))) "Show recent dirs with helm.el support." single ((:commit . "3bcd125b44f5a707588ae3868777d91192351523") (:keywords "helm" "dired" "zsh") (:authors ("Akisute" . "akisute3@gmail.com")) (:maintainer "Akisute" . "akisute3@gmail.com"))])
+ (helm-dirset . [(20151209 12) ((f (0 16 2)) (helm (1 6 1)) (s (1 9 0)) (cl-lib (0 5))) "helm sources for multi directories" single ((:commit . "eb30810cd26e1ee73d84a863e6b2667700e9aead") (:keywords "files" "directories") (:authors ("k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>")) (:maintainer "k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>") (:url . "http://101000lab.org"))])
+ (helm-elscreen . [(20170709 914) ((helm (2 8 0)) (elscreen (0)) (cl-lib (0 5)) (emacs (24 1))) "Elscreen with helm interface" single ((:commit . "b8212866939dc4a1e1dc23ad572407b688e130e3") (:keywords "files" "convenience") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/emacs-helm/helm-elscreen"))])
+ (helm-emmet . [(20160713 1231) ((helm (1 0)) (emmet-mode (1 0 2))) "helm sources for emmet-mode's snippets" single ((:commit . "f0364e736b10cf44232053a78de04133a88185ae") (:keywords "convenience" "helm" "emmet") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-emmet"))])
+ (helm-emms . [(20200322 1309) ((helm (1 5)) (emms (0 0)) (cl-lib (0 5)) (emacs (24 1))) "Emms for Helm." single ((:commit . "37e5aa029abfa5a5c48636314de8157142944fa2") (:url . "https://github.com/emacs-helm/helm-emms"))])
+ (helm-esa . [(20190721 1429) ((emacs (26 2)) (helm (3 2)) (request (0 3 0))) "Esa with helm interface" single ((:commit . "d93b4af404346870cb2cf9c257d055332ef3f577") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-esa"))])
+ (helm-etags-plus . [(20170113 1414) ((helm (1 7 8))) "Another Etags helm.el interface" single ((:commit . "704f0991ee4a2298b01c33aafc224eef322e15e3") (:keywords "helm" "etags") (:authors ("纪秀峰(Joseph)" . "jixiuf@gmail.com")) (:maintainer "纪秀峰(Joseph)" . "jixiuf@gmail.com") (:url . "https://github.com/jixiuf/helm-etags-plus"))])
+ (helm-evil-markers . [(20190719 539) ((emacs (25 1)) (helm (2 0 0)) (evil (1 2 10))) "Show evil markers with helm" single ((:commit . "bb04e3a25920c2fd676132703970c6879dade802") (:keywords "extensions") (:authors ("Bill Xue")) (:maintainer "Bill Xue") (:url . "https://github.com/xueeinstein/helm-evil-markers"))])
+ (helm-eww . [(20190315 907) ((emacs (24 4)) (helm (2 8 6)) (seq (1 8))) "Helm UI wrapper for EWW." single ((:commit . "76ba59fda8dd6f32a1bc7c6df0b43c6f76169911") (:keywords "helm" "packages") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-eww"))])
+ (helm-ext . [(20180526 350) ((emacs (24 4)) (helm (2 5 3))) "A few extensions to Helm" tar ((:commit . "90b788aced21ec467a234b6b77b5a6ebae6de75f") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (helm-exwm . [(20200325 1022) ((emacs (25 2)) (helm (2 8 5)) (exwm (0 15))) "Helm for EXWM buffers" single ((:commit . "00ddb4d2a127087a0b99f0a440562bd54408572d") (:keywords "helm" "exwm") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-exwm"))])
+ (helm-fd . [(20190923 48) ((emacs (26 2)) (helm (3 3))) "Helm interface for fd command." single ((:commit . "84a2aa656473f2921e35abad62b158b3813ee944") (:keywords "fd" "find" "files" "helm" "fast") (:authors ("Romain Leroux" . "romain@leroux.dev")) (:maintainer "Romain Leroux" . "romain@leroux.dev") (:url . "https://github.com/lerouxrgd/helm-fd"))])
+ (helm-file-preview . [(20190903 331) ((emacs (24 4)) (helm (2 0))) "Preview the current helm file selection." single ((:commit . "6ab26c5fb414a0c1232974fd3f888839b6844203") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/helm-file-preview"))])
+ (helm-filesets . [(20140929 1835) ((helm (1 6 3)) (filesets+ (0))) "A helm source for emacs filesets" single ((:commit . "b352910af4c3099267a8aa0169c7f743b35bb1fa") (:keywords "filesets") (:authors ("Graham Clark" . "grclark@gmail.com")) (:maintainer "Graham Clark" . "grclark@gmail.com") (:url . "https://github.com/gcla/helm-filesets"))])
+ (helm-firefox . [(20200306 1408) ((helm (1 5)) (cl-lib (0 5)) (emacs (24 1))) "Firefox bookmarks" single ((:commit . "7065e01188ed17b86a7b4f01b95ace575a15eef1") (:url . "https://github.com/emacs-helm/helm-firefox"))])
+ (helm-fish-completion . [(20191230 1717) ((emacs (25)) (helm (3)) (fish-completion (1 2))) "Helm interface for fish completion" single ((:commit . "b579193c9eca37e45ac54b66114032e9fb78aa69") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-fish-completion"))])
+ (helm-flx . [(20180103 516) ((emacs (24 4)) (helm (1 7 9)) (flx (0 5))) "Sort helm candidates by flx score" single ((:commit . "6640fac5cb16bee73c95b8ed1248a4e5e113690e") (:keywords "convenience" "helm" "fuzzy" "flx") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/helm-flx"))])
+ (helm-flycheck . [(20160710 829) ((dash (2 12 1)) (flycheck (28)) (helm-core (1 9 8))) "Show flycheck errors with helm" single ((:commit . "3cf7d3bb194acacc6395f88360588013d92675d6") (:keywords "helm" "flycheck") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-flycheck"))])
+ (helm-flymake . [(20160610 2) ((helm (1 0))) "helm interface for flymake" single ((:commit . "72cf18a1a1f843db9bb5d58301739ea9ccb1655b") (:authors ("Akira Tamamori" . "tamamori5917@gmail.com")) (:maintainer "Akira Tamamori" . "tamamori5917@gmail.com") (:url . "https://github.com/tam17aki"))])
+ (helm-flyspell . [(20170210 1901) ((helm (1 6 5))) "Helm extension for correcting words with flyspell" single ((:commit . "8d4d947c687cb650cb149aa2271ad5201ea92594") (:keywords "convenience") (:authors ("Andrzej Pronobis")) (:maintainer "Andrzej Pronobis") (:url . "https://github.com/pronobis/helm-flyspell"))])
+ (helm-frame . [(20180604 1005) ((emacs (24 4))) "open helm buffers in a dedicated frame" single ((:commit . "485e2a534b0de5e8dbeb144a9a60ceca00215a4a") (:keywords "lisp" "helm" "popup" "frame") (:authors ("chee" . "chee@snake.dog")) (:maintainer "chee" . "chee@snake.dog"))])
+ (helm-fuz . [(20200104 524) ((emacs (25 1)) (fuz (1 4 0)) (helm (3 6))) "Integrate Helm and Fuz" single ((:commit . "0b6b64cebde5675be3a28520ee16234db48d3b8b") (:keywords "convenience") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:url . "https://github.com/cireu/fuz.el"))])
+ (helm-fuzzier . [(20160605 2145) ((emacs (24 3)) (helm (1 7 0))) "Better fuzzy matching for Helm" single ((:commit . "8798dcf3583b863df5b9dea7fe3b0179ba1c35bc") (:keywords "convenience" "helm" "fuzzy") (:authors ("Ephram Perdition")) (:maintainer "Ephram Perdition") (:url . "http://github.com/EphramPerdition/helm-fuzzier"))])
+ (helm-fuzzy . [(20190905 526) ((emacs (24 4)) (helm (1 7 9)) (flx (0 5))) "Fuzzy matching for helm source." single ((:commit . "fc080a0b4be8a68944a64bc4fb5b38cd11a70bc7") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/helm-fuzzy"))])
+ (helm-fuzzy-find . [(20171106 400) ((emacs (24 1)) (helm (1 7 0))) "Find file using Fuzzy Search" single ((:commit . "de2abbf7ca13609587325bacd4a1ed4376b5c927") (:keywords "helm" "fuzzy" "find" "file") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/helm-fuzzy-find"))])
+ (helm-ghc . [(20141105 1459) ((emacs (24)) (cl-lib (0 5)) (helm (1 6 4)) (ghc (5 2 1 0))) "A Helm datasource for ghc-mod errors" single ((:commit . "e5ee7b8d3b745d162553aecfbd41381c4de85f35") (:keywords "languages" "helm") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (helm-ghq . [(20190526 1409) ((emacs (24)) (helm (2 2 0))) "Ghq with helm interface" single ((:commit . "d0d6aa0f407388e7012f0443df8ae657ece01779") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-ghq"))])
+ (helm-ghs . [(20170715 541) ((emacs (24)) (helm (2 2 0))) "ghs with helm interface" single ((:commit . "17a70bf16255d90d67c8350e88200ec8bfd47563") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:url . "https://github.com/iory/emacs-helm-ghs"))])
+ (helm-git . [(20120630 2103) nil "Helm extension for Git." single ((:commit . "cb96a52b5aecadd3c27aba7749d14e43ab128d55") (:keywords "helm" "git") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "https://github.com/maio/helm-git"))])
+ (helm-git-files . [(20141212 1317) ((helm (1 5 9))) "helm for git files" single ((:commit . "43193960774069369ac6964bbf7c026900206fa8") (:keywords "helm" "git") (:authors ("INA Lintaro <tarao.gnn at gmail.com>") ("TAKAGI Kentaro <kentaro0910_at_gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>"))])
+ (helm-git-grep . [(20170614 1411) ((helm-core (2 2 0))) "helm for git grep, an incremental git-grep(1)" single ((:commit . "744cea07dba6e6a5effbdba83f1b786c78fd86d3") (:authors ("mechairoi")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-git-grep"))])
+ (helm-github-stars . [(20190428 1047) ((helm (1 6 8)) (emacs (24 4))) "Helm interface for your github's stars" single ((:commit . "c891690218b0d8b957ea6cb45b1b6cffd15a6950") (:keywords "helm" "github" "stars") (:authors ("Sliim" . "sliim@mailoo.org") ("xuchunyang" . "xuchunyang56@gmail.com")) (:maintainer "Sliim" . "sliim@mailoo.org") (:url . "https://github.com/Sliim/helm-github-stars"))])
+ (helm-gitignore . [(20170211 8) ((gitignore-mode (1 1 0)) (helm (1 7 0)) (request (0 1 0)) (cl-lib (0 5))) "Generate .gitignore files with gitignore.io." single ((:commit . "2a2e7da7855a6db0ab3bb6a6a087863d7abd4391") (:keywords "helm" "gitignore" "gitignore.io") (:authors ("Juan Placencia")) (:maintainer "Juan Placencia") (:url . "https://github.com/jupl/helm-gitignore"))])
+ (helm-gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (helm (1 0)) (gitlab (0 8 0))) "Helm interface to Gitlab" single ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:keywords "gitlab" "helm") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))])
+ (helm-go-package . [(20161103 153) ((emacs (24 4)) (helm-core (2 2 1)) (go-mode (1 4 0)) (deferred (0 4 0))) "helm sources for Go programming language's package" single ((:commit . "e42c563936c205ceedb930a687c11b4bb56447bc") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-go-package"))])
+ (helm-google . [(20180606 520) ((helm (0))) "Emacs Helm Interface for quick Google searches" single ((:commit . "48e91a73d5f48c39d7a219022a24440cff548e1a") (:keywords "helm" "google" "search" "browse" "searx") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/helm-google"))])
+ (helm-grepint . [(20161001 1413) ((helm (1 0)) (emacs (24))) "Generic helm interface to grep" single ((:commit . "a62ca27515ff6a366b89b420500eb16d380cc653") (:keywords "grep" "grepping" "searching" "helm") (:authors ("Kalle Kankare" . "kalle.kankare@iki.fi")) (:maintainer "Kalle Kankare" . "kalle.kankare@iki.fi") (:url . "https://github.com/kopoli/helm-grepint"))])
+ (helm-growthforecast . [(20140120 344) ((helm (1 5 9))) "helm extensions for growthforecast." single ((:commit . "0f94ac090d6c354058ad89a86e5c18385c136d9b") (:authors ("Daichi Hirata" . "daichi.hirat@gmail.com")) (:maintainer "Daichi Hirata" . "daichi.hirat@gmail.com") (:url . "https://github.com/daic-h/helm-growthforecast"))])
+ (helm-gtags . [(20200409 1559) ((emacs (24 4)) (helm (2 0))) "GNU GLOBAL helm interface" single ((:commit . "25b81d7774622911c1e95d9020209ae4ace1542b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-gtags"))])
+ (helm-hatena-bookmark . [(20190609 1455) ((emacs (24)) (helm (2 8 2))) "Hatena::Bookmark with helm interface" single ((:commit . "10b8bfbd7fc4c3f503b2bc01f0c062dac128059e") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-hatena-bookmark"))])
+ (helm-hayoo . [(20151014 651) ((helm (1 6 0)) (json (1 2)) (haskell-mode (13 7))) "Source and configured helm for searching hayoo" single ((:commit . "dd4c0c8c87521026edf1b808c4de01fa19b7c693") (:keywords "helm") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com"))])
+ (helm-helm-commands . [(20130902 1748) ((helm (1 5 4))) "List all helm commands with helm" single ((:commit . "3a05aa19c976501343ad9ae630a36810921a85f6") (:keywords "convenience") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/helm-helm-commands"))])
+ (helm-hoogle . [(20161027 534) ((helm (1 6 2)) (emacs (24 4))) "Use helm to navigate query results from Hoogle" single ((:commit . "73969a9d46d2121a849a01a9f7ed3636d01f7bbc") (:keywords "haskell" "programming" "hoogle") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/haskell-config"))])
+ (helm-hunks . [(20171217 1933) ((emacs (24 4)) (helm (1 9 8))) "A helm interface for git hunks - browsing, staging, unstaging and killing" single ((:commit . "6392bf716f618eac23ce81140aceb0dfacb9c6d0") (:keywords "helm" "git" "hunks" "vc") (:authors ("@torgeir")) (:maintainer "@torgeir"))])
+ (helm-idris . [(20141202 1757) ((helm (0 0 0)) (idris-mode (0 9 14))) "A Helm datasource for Idris documentation, queried from the compiler" single ((:commit . "a2f45d6817974f318b55ad9b7fd19d5df132d47e") (:keywords "languages" "helm") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (helm-img . [(20151224 2321) ((helm (1 7 7)) (cl-lib (0 5))) "Utilities for making image sources for helm." tar ((:commit . "aa3f8a5dce8d0413bf07584f07153a39015c2bfc") (:keywords "convenience") (:authors ("Sho Matsumoto <l3msh0_at_gmail.com>")) (:maintainer "l3msh0") (:url . "https://github.com/l3msh0/helm-img"))])
+ (helm-img-tiqav . [(20151224 2322) ((helm-img (0 0 1))) "An helm-source for joking." single ((:commit . "33a7e9508bc8f37d53320b56c92b53d321a57bb0") (:keywords "convenience") (:authors ("Sho Matsumoto <l3msh0_at_gmail.com>")) (:maintainer "l3msh0") (:url . "https://github.com/l3msh0/helm-img"))])
+ (helm-ispell . [(20151231 853) ((helm-core (1 7 7))) "ispell-complete-word with helm interface" single ((:commit . "cb735695ab3a0e66c123c2f3f3e8911fb1c2d5fc") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ispell"))])
+ (helm-itunes . [(20151013 648) ((helm (1 6 1))) "Play local iTunes and Spotify tracks" single ((:commit . "966de755a5aadbe02311a6cef77bd4790e84c263") (:authors ("Adam Schwartz" . "adam@adamschwartz.io")) (:maintainer "Adam Schwartz" . "adam@adamschwartz.io") (:url . "https://github.com/daschwa/helm-itunes"))])
+ (helm-j-cheatsheet . [(20170217 829) ((helm (1 5 3))) "Quick J reference for Emacs" single ((:commit . "6c47e7162b9ba2de4b41221d01180146973d860b") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/helm-j-cheatsheet"))])
+ (helm-jira . [(20180802 815) ((emacs (25)) (cl-lib (0 5)) (helm (1 9 9))) "Helm bindings for JIRA/Bitbucket/stash" single ((:commit . "75d6ed5bd7a041fa8c1adb21cbbbe57b5a7c7cc7") (:keywords "tools" "helm" "jira" "bitbucket" "stash") (:authors ("Roman Decker <roman dot decker at gmail dot com>")) (:maintainer "Roman Decker <roman dot decker at gmail dot com>") (:url . "https://github.com/DeX3/helm-jira"))])
+ (helm-js-codemod . [(20190921 942) ((emacs (24 4)) (helm-core (1 9 8)) (js-codemod (1 0 0))) "A helm interface for running js-codemods" single ((:commit . "29b1b3c441f0d7e450a3c65b5ff9e72023dc6314") (:keywords "helm" "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))])
+ (helm-jstack . [(20150603 422) ((emacs (24)) (helm (1 7 0)) (cl-lib (0 5))) "Helm interface to Jps & Jstack for Java/JVM processes" single ((:commit . "2064f7215dcf4ccbd6a7b8784223251507746da4") (:keywords "java" "jps" "jstack" "jvm" "emacs" "elisp" "helm") (:authors ("Raghav Kumar Gautam" . "rgautam@apache.com")) (:maintainer "Raghav Kumar Gautam" . "rgautam@apache.com"))])
+ (helm-kythe . [(20170709 726) ((emacs (25)) (dash (2 12 0)) (helm (2 0))) "Google Kythe helm interface" single ((:commit . "eabbef4948f8ec7c7b2fac498e9145dfdb10ca82") (:authors ("Fangrui Song" . "i@maskray.me")) (:maintainer "Fangrui Song" . "i@maskray.me") (:url . "https://github.com/MaskRay/emacs-helm-kythe"))])
+ (helm-lastpass . [(20180722 806) ((emacs (25 1)) (helm (2 0)) (csv (2 1))) "Helm interface of LastPass" single ((:commit . "82e1ffb6ae77d9d9e29c398eb013cd20ce963f77") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/helm-lastpass"))])
+ (helm-lean . [(20171102 1454) ((emacs (24 3)) (dash (2 12 0)) (helm (2 8 0)) (lean-mode (3 3 0))) "Helm interfaces for lean-mode" single ((:commit . "65b55b1711fb61129312044d5ac7e6a2c2ee245c") (:keywords "languages") (:authors ("Leonardo de Moura" . "leonardo@microsoft.com") ("Soonho Kong " . "soonhok@cs.cmu.edu") ("Gabriel Ebner " . "gebner@gebner.org") ("Sebastian Ullrich" . "sebasti@nullri.ch")) (:maintainer "Sebastian Ullrich" . "sebasti@nullri.ch") (:url . "https://github.com/leanprover/lean-mode"))])
+ (helm-lib-babel . [(20180510 1324) ((cl-lib (0 5)) (helm (1 9 2)) (emacs (24 4))) "helm insertion of babel function references" single ((:commit . "41bc0cdea8a604c6c8dc83ed5066644d33688fad") (:keywords "convenience") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:url . "https://github.com/dfeich/helm-lib-babel.el"))])
+ (helm-lines . [(20180601 2033) ((emacs (24 4)) (helm (1 9 8))) "A helm interface for completing by lines" single ((:commit . "3bfe15a60c6405682085ab289de3eb364624c4e9") (:keywords "files" "helm" "ag" "pt" "vc" "git" "lines" "complete" "tools" "languages") (:authors ("@torgeir")) (:maintainer "@torgeir") (:url . "https://github.com/torgeir/helm-lines.el/"))])
+ (helm-lobsters . [(20150213 1546) ((helm (1 0)) (cl-lib (0 5))) "helm front-end for lobste.rs" single ((:commit . "53c5b42baf72776dcba891fc3d7cd7d47721e9b0") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:url . "https://github.com/julienXX/helm-lobste.rs"))])
+ (helm-ls-git . [(20191127 510) ((helm (1 7 8))) "list git files." single ((:commit . "18c53b62bc758b9d8ad4e94a94f58d143ccb29db"))])
+ (helm-ls-hg . [(20150909 543) ((helm (1 7 8))) "List hg files in hg project." single ((:commit . "61b91a22fcfb62d0fc56e361ec01ce96973c7165"))])
+ (helm-ls-svn . [(20190316 2203) ((emacs (24 1)) (helm (1 7 0)) (cl-lib (0 5))) "helm extension to list svn files" single ((:commit . "a6043e1187282f649e2cb9f0e722a42daf41294b") (:keywords "helm" "svn") (:authors ("Chunyang Xu" . "chunyang@macports.org")) (:maintainer "Chunyang Xu" . "chunyang@macports.org") (:url . "https://svn.macports.org/repository/macports/users/chunyang/helm-ls-svn.el/helm-ls-svn.el"))])
+ (helm-lsp . [(20200429 1457) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (5 0)) (helm (2 0))) "LSP helm integration" single ((:commit . "6b5ce182d7c94c62b55b8f7d0c7e643b2c30e560") (:keywords "languages" "debug") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/yyoncho/helm-lsp"))])
+ (helm-lxc . [(20200323 816) ((emacs (25)) (cl-lib (0 5)) (helm (2 9 4)) (lxc-tramp (0 2 0))) "Helm interface to manage LXC containers" single ((:commit . "37fe2d7ed97967edf59a3b68b1434910516ae24f") (:keywords "helm" "lxc" "convenience") (:authors ("montag451")) (:maintainer "montag451") (:url . "https://github.com/montag451/helm-lxc"))])
+ (helm-make . [(20200228 1742) nil "Select a Makefile target with helm" single ((:commit . "a52b3a34ade00e695a412bc0c5873d4f4d22c323") (:keywords "makefile") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/helm-make"))])
+ (helm-migemo . [(20151010 356) ((emacs (24 4)) (helm-core (1 7 8)) (migemo (1 9)) (cl-lib (0 5))) "Migemo plug-in for helm" single ((:commit . "66c6a19d07c6a385daefd2090d0709d26b608b4e") (:keywords "matching" "convenience" "tools" "i18n") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "Yuhei Maeda <yuhei.maeda_at_gmail.com>") (:url . "https://github.com/emacs-jp/helm-migemo"))])
+ (helm-mode-manager . [(20151124 938) ((helm (1 5 3))) "Select and toggle major and minor modes with helm" single ((:commit . "5d9c3ca4f8205d07ff4e03c4c3e88f596751c1fc") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/helm-mode-manager"))])
+ (helm-mt . [(20160918 452) ((emacs (24)) (helm (0 0)) (multi-term (0 0)) (cl-lib (0 5))) "helm multi-term management" single ((:commit . "d2bff4100118483bc398c56d0ff095294209265b") (:keywords "helm" "multi-term") (:authors ("Didier Deshommes" . "dfdeshom@gmail.com")) (:maintainer "Didier Deshommes" . "dfdeshom@gmail.com") (:url . "https://github.com/dfdeshom/helm-mt"))])
+ (helm-mu . [(20190819 1311) ((helm (1 5 5))) "Helm sources for searching emails and contacts" single ((:commit . "481964fb26c59ea280a1ec7bce192d724ddf7d12") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/emacs-helm/helm-mu"))])
+ (helm-navi . [(20200401 904) ((emacs (24 4)) (helm (1 9 4)) (helm-org (1 0)) (navi-mode (2 0)) (s (1 10 0))) "Helm for navi-mode" single ((:commit . "9bba79119edd8959d26484326c2f6868b7d942c0") (:keywords "navigation" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/emacs-helm/helm-navi"))])
+ (helm-nixos-options . [(20151013 2309) ((nixos-options (0 0 1)) (helm (1 5 6))) "Helm Interface for nixos-options" single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:keywords "unix") (:authors ("Diego Berrocal" . "cestdiego@gmail.com") ("Travis B. Hartwell" . "nafai@travishartwell.net")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/travisbhartwell/nix-emacs/"))])
+ (helm-notmuch . [(20190320 1048) ((helm (1 9 3)) (notmuch (0 21))) "Search emails with Notmuch and Helm" single ((:commit . "97a01497e079a7b6505987e9feba6b603bbec288") (:keywords "mail") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/emacs-helm/helm-notmuch"))])
+ (helm-open-github . [(20170220 159) ((emacs (24 4)) (helm-core (1 7 7)) (gh (0 8 2))) "Utilities of Opening Github Page" single ((:commit . "2f03d97552a1233db7694116d5f80ecde7612756") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-open-github"))])
+ (helm-org . [(20200311 633) ((helm (3 3)) (emacs (24 4))) "Helm for org headlines and keywords completion" single ((:commit . "b7a18dfc17e8b933956d61d68c435eee03a96c24") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/emacs-helm/helm-org"))])
+ (helm-org-multi-wiki . [(20200419 1833) ((emacs (25 1)) (org-multi-wiki (0 3)) (org-ql (0 4)) (dash (2 12)) (helm-org (1 0)) (helm (3 5))) "Helm interface to org-multi-wiki" single ((:commit . "aef5975ac18d7cb101c0fb688333cc241782a8a0") (:keywords "org" "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-multi-wiki"))])
+ (helm-org-rifle . [(20190809 1831) ((emacs (24 4)) (dash (2 12)) (f (0 18 1)) (helm (1 9 4)) (s (1 10 0))) "Rifle through your Org files" single ((:commit . "abc14bb85427a6585aa354894eaef6926881d585") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/helm-org-rifle"))])
+ (helm-orgcard . [(20151001 1524) ((helm-core (1 7 7))) "browse the orgcard by helm" single ((:commit . "9655ac340d1ccc5f3d1c0f7c49be8dd3556d4d0d") (:keywords "convenience" "helm" "org") (:authors ("Yuhei Maeda <yuhei.maeda_at_gmail.com>")) (:maintainer "Yuhei Maeda") (:url . "https://github.com/emacs-jp/helm-orgcard"))])
+ (helm-osx-app . [(20190717 958) ((emacs (25 1)) (helm-core (3 0))) "Launch macOS apps with helm" single ((:commit . "634ed5d721a20af265825a018e9df3ee6640daee") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/helm-osx-app"))])
+ (helm-pages . [(20161121 226) ((helm (1 6 5)) (emacs (24)) (cl-lib (0 5))) "Pages in current buffer as Helm datasource" single ((:commit . "51dcb9374d1df9feaae85e60cfb39b970554ecba") (:keywords "convenience" "helm" "outlines") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk"))])
+ (helm-pass . [(20190315 1335) ((emacs (25)) (helm (0)) (password-store (0)) (auth-source-pass (4 0 0))) "helm interface of pass, the standard Unix password manager" single ((:commit . "ed5798f2d83937575e8f23fde33323bca9e85131") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-pass"))])
+ (helm-perldoc . [(20200315 1716) ((helm-core (2 0)) (deferred (0 3 1)) (emacs (24 4))) "perldoc with helm interface" tar ((:commit . "6f3526f07f3df3059dbde779f8e681f5f1fee6ea") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-perldoc"))])
+ (helm-perspeen . [(20170228 1345) ((perspeen (0 1 0)) (helm (2 5 0))) "Helm interface for perspeen." single ((:commit . "7fe2922d85608bfa9e18269fc44181428b8849ff") (:keywords "projects" "lisp") (:authors ("Yoshinobu Fujimoto")) (:maintainer "Yoshinobu Fujimoto") (:url . "https://github.com/jimo1001/helm-perspeen"))])
+ (helm-phpunit . [(20160513 853) ((helm (1 9 5)) (phpunit (0 7 0))) "Helm integration for phpunit.el" single ((:commit . "739f26204ad2ba76c25f45e8eab1e5216f7c3518") (:keywords "phpunit" "helm" "php") (:authors ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Eric Hansen" . "hansen.c.eric@gmail.com") (:url . "https://github.com/eric-hansen/phpunit-helm"))])
+ (helm-posframe . [(20200118 2302) ((emacs (26 0)) (posframe (0 1 0)) (helm (0 1))) "Using posframe to show helm window" single ((:commit . "7970f9397ba7d148e590e4ffb340bf6c7c0602fc") (:keywords "abbrev" "convenience" "matching" "helm") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/helm-posframe"))])
+ (helm-proc . [(20161006 305) ((helm (1 6 0))) "Helm interface for managing system processes" tar ((:commit . "576d31c2d74ba3897d56e2acd2b0993f52c2547c"))])
+ (helm-project-persist . [(20151210 1543) ((helm (1 5 2)) (project-persist (0 1 4))) "Helm integration for project-persist package" single ((:commit . "357950fbac18090985a750e40d5d8b10ee9dcd53") (:keywords "project-persist" "project" "helm") (:authors ("Sliim" . "sliim@mailoo.org")) (:maintainer "Sliim" . "sliim@mailoo.org"))])
+ (helm-projectile . [(20190731 1538) ((helm (1 9 9)) (projectile (0 14 0)) (cl-lib (0 3))) "Helm integration for Projectile" single ((:commit . "5328b74dddcee8d1913803ca8167868831a07463") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/helm-projectile"))])
+ (helm-prosjekt . [(20140129 717) ((prosjekt (0 3)) (helm (1 5 9))) "Helm integration for prosjekt." single ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Sohail Somani" . "sohail@taggedtype.net")) (:maintainer "Sohail Somani" . "sohail@taggedtype.net") (:url . "https://github.com/abingham/prosjekt"))])
+ (helm-pt . [(20160214 2342) ((helm (1 5 6))) "Helm interface to the platinum searcher" tar ((:commit . "8acc52911dad1ed0c3975f134a468762afe0b76b") (:keywords "helm" "platinum searcher"))])
+ (helm-purpose . [(20170114 1636) ((emacs (24)) (helm (1 9 2)) (window-purpose (1 4))) "Helm Interface for Purpose" single ((:commit . "9ff4c21c1e9ebc7afb851b738f815df7343bb287") (:authors ("Bar Magal (2016)")) (:maintainer "Bar Magal (2016)") (:url . "https://github.com/bmag/helm-purpose"))])
+ (helm-pydoc . [(20160918 542) ((helm-core (2 0)) (emacs (24 4))) "pydoc with helm interface" tar ((:commit . "85480a29b56dacde425655bc8f5a597c785afdf5") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-pydoc"))])
+ (helm-qiita . [(20190526 1359) ((emacs (24)) (helm (2 8 2))) "Qiita with helm interface" single ((:commit . "5f82010c595f8e122aa3f68148ba8d8ccb1333d8") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-qiita"))])
+ (helm-rage . [(20180118 1532) ((helm (1 9 8)) (emacs (24 4)) (dash (2 13 0)) (s (1 11 0))) "Helm command for rage characters." tar ((:commit . "5d0aefb53d859186181d4bdcfeff7d315339c7b8") (:keywords "helm" "rage" "meme") (:url . "https://github.com/bomgar/helm-rage"))])
+ (helm-rails . [(20130424 1519) ((helm (1 5 1)) (inflections (1 1))) "Helm extension for Rails projects." single ((:commit . "506d9948d45dfbc575c9c4c0d102c1ad2f511e82") (:keywords "helm" "rails" "git") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:url . "https://github.com/asok/helm-rails"))])
+ (helm-rb . [(20131123 1639) ((helm (1 0)) (helm-ag-r (20131123))) "Search Ruby's method by ag and display helm" tar ((:commit . "4949d646420a9849af234dacdd8eb34a77c662fd") (:keywords "searching" "ruby") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/helm-rb"))])
+ (helm-rdefs . [(20161130 536) ((emacs (24)) (helm (1 6 4))) "rdefs with helm interface" single ((:commit . "cd3a6b3af3015ee58ef30cb7c81c79ebe5fc867b") (:keywords "matching" "tools") (:authors ("Hiroshi Saito" . "monodie@gmail.com")) (:maintainer "Hiroshi Saito" . "monodie@gmail.com") (:url . "https://github.com/saidie/helm-rdefs"))])
+ (helm-recoll . [(20190729 453) ((helm (3 3)) (emacs (24 4))) "helm interface for the recoll desktop search tool." single ((:commit . "219e517dd79a7879414ca36e8de28a159a49c78a") (:keywords "convenience") (:authors ("Thierry Volpiatto <thierry.volpiatto at gmail.com>")) (:maintainer "Thierry Volpiatto <thierry.volpiatto at gmail.com>") (:url . "https://github.com/emacs-helm/helm-recoll"))])
+ (helm-rg . [(20190130 1734) ((emacs (25)) (cl-lib (0 5)) (dash (2 13 0)) (helm (2 8 8))) "a helm interface to ripgrep" single ((:commit . "785a80fe5cc87e27c5ea3d00a70049028d9e2847") (:keywords "find" "file" "files" "helm" "fast" "rg" "ripgrep" "grep" "search" "match") (:authors ("Danny McClanahan")) (:maintainer "Danny McClanahan") (:url . "https://github.com/cosmicexplorer/helm-rg"))])
+ (helm-rhythmbox . [(20160524 1158) ((helm (1 5 0)) (cl-lib (0 5))) "control Rhythmbox's play queue via Helm" single ((:commit . "c92e1ded34ddd4e62e7e9a558259c232e05193fa") (:authors ("Thomas Winant" . "dewinant@gmail.com")) (:maintainer "Thomas Winant" . "dewinant@gmail.com") (:url . "https://github.com/mrBliss/helm-rhythmbox"))])
+ (helm-robe . [(20151209 355) ((helm (1 7 7))) "completing read function for robe" single ((:commit . "6e69543b4ee76c5f8f3f2510c76e6d9aed17a370") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-robe"))])
+ (helm-ros . [(20160812 1752) ((helm (1 9 9)) (xterm-color (1 0)) (cl-lib (0 5))) "Interfaces ROS with helm" single ((:commit . "92b0b215f6a017f0f57f1af15466cc0b2a5a0135") (:keywords "helm" "ros") (:authors ("David Landry" . "davidlandry93@gmail.com")) (:maintainer "David Landry" . "davidlandry93@gmail.com") (:url . "https://www.github.com/davidlandry93/helm-ros"))])
+ (helm-rtags . [(20191222 920) ((helm (2 0)) (rtags (2 10))) "A front-end for rtags" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (helm-rubygems-local . [(20130712 111) ((helm (1 5 3))) "Installed local rubygems find-file for helm" single ((:commit . "289cb33d41c703af9791d6da46b55f070013c2e3") (:authors ("hadashiA" . "dev@hadashikick.jp")) (:maintainer "hadashiA" . "dev@hadashikick.jp") (:url . "https://github.com/f-kubotar/helm-rubygems-local"))])
+ (helm-rubygems-org . [(20140826 1156) ((emacs (24)) (helm (1 6 3)) (cl-lib (0 5))) "Use helm to search rubygems.org" single ((:commit . "6aaed984f698cbdf9f9aceb0221404563e28764d") (:keywords "ruby" "rubygems" "gemfile" "helm") (:authors ("Chad Albers" . "calbers@neomantic.com")) (:maintainer "Chad Albers" . "calbers@neomantic.com") (:url . "https://github.com/neomantic/helm-rubygems-org"))])
+ (helm-safari . [(20160404 324) ((helm (1 9 1)) (emacs (24))) "Browse your Safari bookmarks and history" single ((:commit . "664c7f4488829228eed7e90cd53002e14bec555b") (:keywords "tools") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/helm-safari"))])
+ (helm-sage . [(20160514 745) ((cl-lib (0 5)) (helm (1 5 6)) (sage-shell-mode (0 1 0))) "A helm extension for sage-shell-mode." single ((:commit . "f14e9281d8f2162df7d8f9c2ad9ad1248a24803b") (:keywords "sage" "math" "helm") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/helm-sage"))])
+ (helm-selected . [(20171223 210) ((emacs (24 4)) (helm (2 8 6)) (selected (1 1))) "helm extension for selected.el" single ((:commit . "a9c769998bc56373d19f0ec9cbbbb4bd89a43c2d") (:keywords "extensions" "convenience") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>") (:url . "https://github.com/takaxp/helm-selected"))])
+ (helm-sheet . [(20130630 1239) ((helm (1 0))) "helm sources for sheet" single ((:commit . "d360b68d0ddb09aa1854e7b2f3cb39caeee26463") (:keywords "helm" "sheet") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-sheet"))])
+ (helm-slime . [(20191016 1601) ((emacs (25)) (helm (3 2)) (slime (2 18)) (cl-lib (0 5))) "helm-sources and some utilities for SLIME." single ((:commit . "7886cc49906a87ebd73be3b71f5dd6b1433a9b7b") (:keywords "convenience" "helm" "slime") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net") (:url . "https://github.com/emacs-helm/helm-slime"))])
+ (helm-sly . [(20191104 1054) ((emacs (25 1)) (helm (3 2)) (cl-lib (0 5)) (sly (0 0))) "Helm sources and some utilities for SLY." single ((:commit . "b1567c27c0b421b9e25e350f0c83b9c7fe0fee6b") (:keywords "convenience" "helm" "sly" "lisp") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-sly"))])
+ (helm-smex . [(20171004 2008) ((emacs (24)) (smex (3 0)) (helm (1 7 7))) "Helm interface for smex" single ((:commit . "2269375dfa452b88b5170d1a5d5849ebb2c1e413") (:keywords "convenience") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net"))])
+ (helm-spaces . [(20161001 1409) ((helm-core (2 2)) (spaces (0 1 0))) "helm sources for spaces" single ((:commit . "877e2b5178926308d6a7c2a37477bb12c33a96d4") (:keywords "helm" "frames" "convenience") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/helm-spaces"))])
+ (helm-spotify . [(20160905 2147) ((helm (0 0 0)) (multi (2 0 0))) "Control Spotify with Helm." single ((:commit . "f7a62d1ff88e3127de9be7cd3e818b0a92268ab3") (:keywords "helm" "spotify") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/helm-spotify"))])
+ (helm-spotify-plus . [(20190913 2236) ((emacs (24 4)) (helm (2 0 0)) (multi (2 0 1))) "Control Spotify search and select music with Helm." single ((:commit . "c3922ec368250965e483876cde5880d88a40a71b") (:authors ("Wanderson Ferreira <https://github.com/wandersoncferreira> and Luis Moneda <https://github.com/lgmoneda>")) (:maintainer "Wanderson Ferreira <https://github.com/wandersoncferreira> and Luis Moneda <https://github.com/lgmoneda>") (:url . "https://github.com/wandersoncferreira/helm-spotify-plus"))])
+ (helm-sql-connect . [(20170319 1251) ((helm (0 0 0))) "Choose a database to connect to via Helm." single ((:commit . "5aead55b6f8636140945714d8c332b287ab9ef10") (:keywords "tools" "convenience" "comm") (:authors ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Eric Hansen" . "hansen.c.eric@gmail.com") (:url . "https://github.com/eric-hansen/helm-sql-connect"))])
+ (helm-switch-shell . [(20191223 1418) ((emacs (25)) (helm (2 8 8)) (dash (2 16 0)) (s (1 12 0))) "A Helm source for switching between shell buffers" single ((:commit . "690e20f0d95f81151b34cb424a201f39d93eb430") (:keywords "matching" "processes" "terminals" "tools") (:authors ("James N. V. Cash" . "james.cash@occasionallycogent.com")) (:maintainer "James N. V. Cash" . "james.cash@occasionallycogent.com") (:url . "https://github.com/jamesnvc/helm-switch-shell"))])
+ (helm-swoop . [(20200321 231) ((emacs (24 4)) (helm (3 2))) "Efficiently hopping squeezed lines powered by helm interface" single ((:commit . "069dc0b3970f1e796e34b7789ae51b1b7979ee30") (:keywords "convenience" "helm" "swoop" "inner" "buffer" "search") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/emacsorphanage/helm-swoop"))])
+ (helm-system-packages . [(20190809 1508) ((emacs (24 4)) (helm (2 8 7)) (seq (1 8))) "Helm UI wrapper for system package managers." tar ((:commit . "427c40d18ae1b5593df6bef72aa1d62ce89fc652") (:keywords "helm" "packages") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-system-packages"))])
+ (helm-systemd . [(20180131 434) ((emacs (24 4)) (helm (1 9 2)) (with-editor (2 5 0))) "helm's systemd interface" single ((:commit . "96f5cd3ee3412539c2f8d145201f47c4f8e53b4f") (:keywords "convenience") (:authors (nil . "<lompik@oriontabArch>")) (:maintainer nil . "<lompik@oriontabArch>"))])
+ (helm-tail . [(20181124 439) ((emacs (25 1)) (helm (2 7 0))) "Read recent output from various sources" single ((:commit . "1f5a6355aa3bdb00b9b0bc93db29c17f0d6701e3") (:keywords "maint" "tools") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/helm-tail"))])
+ (helm-taskswitch . [(20190304 1414) ((emacs (24)) (helm (3 0))) "Use helm to switch windows and buffers" single ((:commit . "59f7cb99defa6e6bf6e7d599559fa8d5786cf8a9") (:keywords "frames") (:authors ("Brian Caruso" . "briancaruso@gmail.com")) (:maintainer "Brian Caruso" . "briancaruso@gmail.com") (:url . "https://github.com/bdc34/helm-taskswitch"))])
+ (helm-themes . [(20200323 712) ((helm-core (2 0)) (emacs (24 4))) "Color theme selection with helm interface" single ((:commit . "244121903650c2d25a233d12b378060cf8b010e7") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-themes"))])
+ (helm-tramp . [(20190616 125) ((emacs (24 3)) (helm (2 0))) "Tramp helm interface for ssh, docker, vagrant" single ((:commit . "924b5516270b3933e847562e8e14e3888dd24184") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-tramp"))])
+ (helm-unicode . [(20180608 1407) ((helm (1 9 8)) (emacs (24 4))) "Helm command for unicode characters." single ((:commit . "fbeb0c5e741a6f462520884b744d43a9acbe1d34"))])
+ (helm-w32-launcher . [(20141223 2014) ((emacs (24)) (helm (1 6 5)) (cl-lib (0 5))) "Start Menu entry launcher using Helm" tar ((:commit . "3e59ad62b89dd21d334af0203d445a83eb25dc5b") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/helm-w32-launcher"))])
+ (helm-w3m . [(20181029 726) ((helm (1 5)) (w3m (0 0)) (cl-lib (0 5)) (emacs (24 1))) "W3m bookmark - helm interface." single ((:commit . "c15d926631198d6d759ec8881837bcca5a64963b"))])
+ (helm-wordnet . [(20160128 1507) ((emacs (24)) (helm (1 7 0)) (cl-lib (0 5))) "Helm interface to local wordnet dictionary" single ((:commit . "a36dbc6fcb570b812870bc1e190f203e0a0042fc") (:keywords "dictionary" "wordnet" "emacs" "elisp" "helm") (:authors ("Raghav Kumar Gautam" . "rgautam@apache.com")) (:maintainer "Raghav Kumar Gautam" . "rgautam@apache.com") (:url . "https://github.com/raghavgautam/helm-wordnet"))])
+ (helm-xcdoc . [(20160116 1018) ((helm (1 5)) (emacs (24 4))) "Search Xcode Document by docsetutil and eww with helm interface" single ((:commit . "a85612149a6d8e18ab309b3db2d222ce39c42049") (:authors ("Ryo Fujimoto" . "fujimisakri@gmail.com")) (:maintainer "Ryo Fujimoto" . "fujimisakri@gmail.com") (:url . "https://github.com/fujimisakari/emacs-helm-xcdoc"))])
+ (helm-xref . [(20191108 859) ((emacs (25 1)) (helm (1 9 4))) "Helm interface for xref results" single ((:commit . "6b4a8bd91f5eaf82f51bd31b03f6587387fe6983") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeit/helm-xref"))])
+ (helm-youtube . [(20190101 1733) ((request (0 2 0)) (helm (2 3 1)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "e7272f1648c7fa836ea5ac1a61770b4931ab4709") (:keywords "youtube" "multimedia") (:authors ("Maximilian Roquemore" . "maximus12793@gmail.com")) (:maintainer "Maximilian Roquemore" . "maximus12793@gmail.com") (:url . "https://github.com/maximus12793/helm-youtube"))])
+ (helm-z . [(20171204 325) ((helm (1 0))) "Show z directory list with helm.el support." single ((:commit . "37212220bebea8b9c238cb1bbacd8332b7f26c03") (:authors ("yynozk" . "yynozk@gmail.com")) (:maintainer "yynozk" . "yynozk@gmail.com") (:url . "https://github.com/yynozk/helm-z"))])
+ (helm-zhihu-daily . [(20160625 1145) ((helm (1 0)) (cl-lib (0 5)) (emacs (24 4))) "Helm interface for 知乎日报 (http://daily.zhihu.com)" single ((:commit . "be27dcc6be1eb97663b65581a9a5c0fc81cfaba7") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/helm-zhihu-daily"))])
+ (help-find-org-mode . [(20181204 234) ((emacs (24 4))) "Advise help to find org source over tangled code" single ((:commit . "aeda7f92c086dab9d8dfcd580fe80b332887a548") (:keywords "convenience") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.com")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.com") (:url . "https://github.com/EricCrosson/help-find-org-mode"))])
+ (helpful . [(20200111 2324) ((emacs (25)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 11 0)) (f (0 20 0)) (elisp-refs (1 2))) "a better *help* buffer" single ((:commit . "c54e9ddbd6a77858048c1a4c4b549de98af8f88e") (:keywords "help" "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/helpful"))])
+ (hemera-theme . [(20180916 924) ((emacs (24))) "Light theme" single ((:commit . "b67c902b210b37b00cac68726822404543147ba8") (:keywords "themes" "light-theme") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "guido.schmidt.2912@gmail.com") (:url . "https://github.com/GuidoSchmidt/emacs-hemera-theme"))])
+ (hemisu-theme . [(20130508 1844) nil "Hemisu for Emacs." tar ((:commit . "5c206561aa2c844ecdf3e3b672c3235e559ddd7f") (:authors ("Andrzej Sliwa")) (:maintainer "Andrzej Sliwa") (:url . "http://github/anrzejsliwa/django-theme"))])
+ (hercules . [(20200420 747) ((emacs (24 4)) (which-key (3 3 2))) "An auto-magical, which-key-based hydra banisher." single ((:commit . "557da39878d0637395fdded91243b340c37eff7b") (:keywords "convenience") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:url . "https://gitlab.com/jjzmajic/hercules"))])
+ (heroku . [(20120629 1813) nil "Interface to Heroku apps." single ((:commit . "92af1c073b593c4def99c8777c869992aa4d0b3a") (:keywords "convenience" "api" "database") (:authors ("Phil Hagelberg" . "technomancy@gmail.com")) (:maintainer "Phil Hagelberg" . "technomancy@gmail.com") (:url . "https://github.com/technomancy/heroku.el"))])
+ (heroku-theme . [(20150523 219) nil "Heroku color theme" single ((:commit . "8083643fe92ec3a1c3eb82f1b8dc2236c9c9691d") (:authors ("Jonathan Chu" . "me@jonathanchu.is")) (:maintainer "Jonathan Chu" . "me@jonathanchu.is") (:url . "https://github.com/jonathanchu/color-theme-heroku"))])
+ (hexo . [(20200416 1410) ((emacs (24 3))) "Major mode & tools for Hexo" single ((:commit . "d600b6c2d51959f1331c8abf3953365544322afa") (:keywords "tools" "hexo") (:authors ("Ono Hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko (kuanyui)" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/hexo.el"))])
+ (hfst-mode . [(20160708 1202) nil "major mode for editing HFST files" single ((:commit . "ac1bb9dd92545d3e7fdc05c83996c227cc15c6b8") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))])
+ (hg-histedit . [(20190707 11) ((emacs (25 1)) (with-editor (2 8 3))) "Edit HG histedit files" single ((:commit . "2448d00bc390fed3e53091d968ec1222c8e7e35b") (:keywords "mercurial" "hg" "emacs" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/hg-histedit"))])
+ (hgignore-mode . [(20160501 7) nil "a major mode for editing hgignore files" single ((:commit . "7aa9f3b8a9c610dbd80b952061b40194e1d9c5bd") (:keywords "convenience" "vc" "hg") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:url . "http://github.com/omajid/hgignore-mode"))])
+ (hgrc-mode . [(20150409 2043) nil "major mode for editing hgrc files" single ((:commit . "314e8320b82cc1ce74b1bd372f296252e7a23090") (:keywords "convenience" "vc" "hg") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:url . "http://github.com/omajid/hgrc-mode"))])
+ (hi2 . [(20141005 1931) nil "indentation module for Haskell Mode" single ((:commit . "c9d199727b5cdcb9e36a972b38131ce4611fd6c8") (:keywords "indentation" "haskell") (:authors ("Gergely Risko" . "gergely@risko.hu")) (:maintainer "Gergely Risko" . "gergely@risko.hu") (:url . "https://github.com/errge/hi2"))])
+ (hide-lines . [(20151127 1840) nil "Commands for hiding lines based on a regexp" single ((:commit . "331122bf19361130351cfe55968c2a7820329eb3") (:keywords "convenience") (:authors ("Mark Hulme-Jones <ture at plig cucumber dot net>")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/hide-lines"))])
+ (hide-mode-line . [(20190922 115) ((emacs (24 4))) "minor mode that hides/masks your modeline" single ((:commit . "88888825b5b27b300683e662fa3be88d954b1cea") (:keywords "frames" "mode-line") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-hide-mode-line"))])
+ (hidepw . [(20200326 112) nil "Minor mode to hide passwords" single ((:commit . "73f099da79d73fe4087472df3469d8b9b20a59f2") (:keywords "hide" "hidden" "password" "faces") (:authors ("Chris Forno" . "jekor@jekor.com")) (:maintainer "Chris Forno" . "jekor@jekor.com") (:url . "https://github.com/jekor/hidepw"))])
+ (hideshow-org . [(20120223 2250) nil "Provides org-mode like hide and show for hideshow.el" single ((:commit . "16419e52e6cdd2f46f755144c0ab11ce00d1a626") (:keywords "c" "c++" "java" "lisp" "tools" "editing" "comments" "blocks" "hiding" "outlines" "org-mode") (:authors ("Shane Celis <shane (at) gnufoo (dot) org>")) (:maintainer "Shane Celis <shane (at) gnufoo (dot) org>"))])
+ (hierarchy . [(20190425 842) ((emacs (25 1))) "Library to create and display hierarchy structures" single ((:commit . "be2634dc1f08a5e781d02ef301c727246863756f") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/hierarchy"))])
+ (highlight . [(20190710 1527) nil "Highlighting commands." single ((:commit . "9258a2b8362d737115cbd87618f947eadb140411") (:keywords "faces" "help" "local") (:authors ("Drew Adams")) (:maintainer nil . "Drew Adams (concat \"drew.adams\" \"@\" \"oracle\" \".com\")") (:url . "https://www.emacswiki.org/emacs/download/highlight.el"))])
+ (highlight-blocks . [(20190318 1557) ((emacs (24))) "Highlight the blocks point is in" single ((:commit . "33cf3d36662faa36c86c8d53e4d5a3922efa3eb8") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-blocks"))])
+ (highlight-context-line . [(20181122 2203) nil "Improve orientation when scrolling" single ((:commit . "6b334e8207c780835a05b6909b4d826898c33d26") (:keywords "faces" "services" "user") (:authors ("Stefan Kamphausen <www.skamphausen.de>")) (:maintainer "Stefan Kamphausen <www.skamphausen.de>") (:url . "https://github.com/ska2342/highlight-context-line/"))])
+ (highlight-defined . [(20181106 1718) ((emacs (24))) "Syntax highlighting of known Elisp symbols" single ((:commit . "8e05be23e555ab05edc6fb188f5ce28ef495c946") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-defined"))])
+ (highlight-doxygen . [(20180829 1818) nil "Highlight Doxygen comments" single ((:commit . "53f2250018725fa19548e1771ee79fcc23641694") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/highlight-doxygen"))])
+ (highlight-escape-sequences . [(20171117 1237) nil "Highlight escape sequences" single ((:commit . "08d846a7aa748209d65fecead2b6a766c3e5cb41") (:keywords "convenience") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru") ("Pavel Matcula" . "dev.plvlml@gmail.com")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "https://github.com/dgutov/highlight-escape-sequences"))])
+ (highlight-function-calls . [(20170908 500) ((emacs (24 4))) "Highlight function/macro calls" single ((:commit . "f7a1eaf95fc64cc0db4d0567f9ff79ec4ae04787") (:keywords "faces" "highlighting") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/highlight-function-calls"))])
+ (highlight-indent-guides . [(20200412 2328) ((emacs (24))) "Minor mode to highlight indentation" single ((:commit . "1b12c7b440ff988c7237936187c1375ac4ddc7f4") (:authors ("DarthFennec" . "darthfennec@derpymail.org")) (:maintainer "DarthFennec" . "darthfennec@derpymail.org") (:url . "https://github.com/DarthFennec/highlight-indent-guides"))])
+ (highlight-indentation . [(20181204 839) nil "Minor modes for highlighting indentation" single ((:commit . "d03803f2c06749c430443a3d24e039cbafc9c58f") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:url . "https://github.com/antonj/Highlight-Indentation-for-Emacs"))])
+ (highlight-leading-spaces . [(20151216 1222) ((emacs (24 4))) "Highlight leading spaces" single ((:commit . "840db19d863dd97993fd9f893f5be501627b6354") (:authors ("Thomas Winant" . "dewinant@gmail.com")) (:maintainer "Thomas Winant" . "dewinant@gmail.com") (:url . "https://github.com/mrBliss/highlight-leading-spaces"))])
+ (highlight-numbers . [(20181013 1744) ((emacs (24)) (parent-mode (2 0))) "Highlight numbers in source code" single ((:commit . "8b4744c7f46c72b1d3d599d4fb75ef8183dee307") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-numbers"))])
+ (highlight-operators . [(20170213 2220) nil "a face for operators in programming modes" single ((:commit . "7696b43419505d6e3511ad2781f9f1dd3c55ef8c") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))])
+ (highlight-parentheses . [(20180704 1102) nil "highlight surrounding parentheses" single ((:commit . "f0bd58c8dadd2db703b7bfd09e911b5fda05b3df") (:keywords "faces" "matching") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Tassilo Horn" . "tsdh@gnu.org") (:url . "https://github.com/tsdh/highlight-parentheses.el"))])
+ (highlight-quoted . [(20140916 1822) ((emacs (24))) "Highlight Lisp quotes and quoted symbols" single ((:commit . "24103478158cd19fbcfb4339a3f1fa1f054f1469") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-quoted"))])
+ (highlight-refontification . [(20170211 2024) nil "Visualize font-lock refontification." single ((:commit . "32632897d88c4611fadb08517ca00ef5cbc989b6") (:keywords "faces" "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/highlight-refontification"))])
+ (highlight-stages . [(20161212 1457) nil "highlight staged (quasi-quoted) expressions" single ((:commit . "29cbc5b78261916da042ddb107420083da49b271") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (highlight-symbol . [(20160102 2009) nil "automatic and manual symbol highlighting" single ((:commit . "7a789c779648c55b16e43278e51be5898c121b3a") (:keywords "faces" "matching") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/highlight-symbol/"))])
+ (highlight-thing . [(20181229 1301) nil "Minimalistic minor mode to highlight current thing under point." single ((:commit . "561d08a26f78f18d405d4f371f1c813db094e2f3") (:keywords "highlight" "thing" "symbol") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:url . "https://github.com/fgeller/highlight-thing.el"))])
+ (highlight-unique-symbol . [(20130612 542) ((deferred (0 3 2))) "highlight symbols which not appear in the repository" single ((:commit . "4141bf86a94e30d94d9af9c29d40b16886226e1c") (:authors ("hitode909" . "hitode909@gmail.com")) (:maintainer "hitode909" . "hitode909@gmail.com") (:url . "https://github.com/hitode909/emacs-highlight-unique-symbol"))])
+ (highlight2clipboard . [(20151020 1840) ((htmlize (1 47))) "Copy text to clipboard with highlighting." tar ((:commit . "6ce58a060d9c5843ccb8c79ec2bba7858c68ac15") (:keywords "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren"))])
+ (hindent . [(20180518 902) ((cl-lib (0 5))) "Indent haskell code using the \"hindent\" program" single ((:commit . "1583be4a8a01b765841f7306284528ae713abb7b") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/hindent"))])
+ (hippie-exp-ext . [(20160502 2326) nil "Extension of hippie-expand" single ((:commit . "4eda13f90da51ab217d024701f4c30f91ffcb90e") (:keywords "abbrev" "convenience" "completions" "hippie-expand") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/emacs/download/hippie-exp-ext.el"))])
+ (hippie-expand-slime . [(20170723 146) nil "Hook slime's completion into hippie-expand" single ((:commit . "39bbae94896a62854d31754debdfae71d35fec62") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/hippie-expand-slime"))])
+ (hippie-namespace . [(20140508 2041) nil "Special treatment for namespace prefixes in hippie-expand" single ((:commit . "d0d0f15c67ab8bef5e9d1e29a89ecd3613a60b49") (:keywords "convenience" "lisp" "tools" "completion") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/hippie-namespace"))])
+ (historian . [(20200203 1927) ((emacs (24 4))) "Persistently store selected minibuffer candidates" single ((:commit . "ac1bea7d99dd6965c72fabeb72d5fdc38c5380a4") (:keywords "convenience") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))])
+ (history . [(20160821 1602) ((emacs (24 3))) "History utility for source code navigation" tar ((:commit . "5317663fb45bbd5e96d258cb0807dcc266ce67ff") (:authors ("boyw165")) (:maintainer "boyw165") (:url . "https://github.com/boyw165/history"))])
+ (historyf . [(20151124 159) nil "file history library like browser" single ((:commit . "196c058ceb092fdd56b0e4ce85b7e714d6f72224") (:authors ("k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>")) (:maintainer "k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>") (:url . "https://github.com/k1LoW/emacs-historyf"))])
+ (hive . [(20131217 1512) ((sql (3 0))) "Hive SQL mode extension" single ((:commit . "11b5172e081ad8079fc78758bef6f306f82ae32b") (:keywords "sql" "hive") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com"))])
+ (hiwin . [(20150825 827) nil "Visible active window mode." single ((:commit . "6ee8ed051405653bd9b7332d7e9fbb591d954051") (:keywords "faces" "editing" "emulating") (:authors ("k.sugita")) (:maintainer "k.sugita"))])
+ (hl-anything . [(20160422 1708) ((emacs (24 3))) "Highlight symbols, selections, enclosing parens and more." tar ((:commit . "8696bc55a8cba408f0fc83a907a9ec529d79e558") (:authors ("boyw165")) (:maintainer "boyw165"))])
+ (hl-block-mode . [(20200404 702) ((emacs (26 0))) "highlighting nested blocks" single ((:commit . "6dc75e71b0b179d7c087cf7de51823f5810d671a") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://github.com/ideasman42/emacs-hl-block-mode"))])
+ (hl-fill-column . [(20200404 306) ((names (0 5)) (emacs (24))) "Highlight fill column." single ((:commit . "43cb3c35a92c912b7205b8a36f1ad0ec0a5b4a22") (:keywords "fill column" "faces") (:url . "https://github.com/laishulu/hl-fill-column"))])
+ (hl-indent . [(20170429 2104) ((emacs (24)) (cl-lib (0 5))) "Highlight irregular indentation." single ((:commit . "bdb2e0177a7c8b29af26998e688b856adc6ded93") (:keywords "convenience" "faces") (:authors ("Kirill Ignatiev <github.com/ikirill>")) (:maintainer "Kirill Ignatiev <github.com/ikirill>") (:url . "https://github.com/ikirill/hl-indent"))])
+ (hl-sentence . [(20171018 1519) nil "highlight a sentence based on customizable face" single ((:commit . "86ae38d3103bd20da5485cbdd59dfbd396c45ee4") (:keywords "highlighting") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "http://github.com/milkypostman/hl-sentence"))])
+ (hl-todo . [(20200103 1239) ((emacs (25))) "highlight TODO and similar keywords" single ((:commit . "3bba4591c54951d2abab113ec5e58a6319808ca9") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/hl-todo"))])
+ (hledger-mode . [(20191012 1046) ((emacs (24 4)) (popup (0 5 3)) (async (1 9)) (htmlize (1 47))) "A mode for writing journal entries for hledger." tar ((:commit . "8206f3c5d8e5b9b084733879191ec3724b60494d") (:keywords "data") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:url . "https://github.com/narendraj9/hledger-mode.git"))])
+ (hlint-refactor . [(20190115 900) nil "Apply HLint suggestions" single ((:commit . "c4307f86aad6d02e32e9b30cb6edc115584c791c") (:keywords "haskell" "refactor") (:url . "https://github.com/mpickering/hlint-refactor-mode"))])
+ (hlinum . [(20180422 412) ((cl-lib (0 2))) "Extension for linum.el to highlight current line number" single ((:commit . "f17360fe93de6df99a05b4b64b0a1ca4ee45abb6") (:keywords "convenience" "extensions") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/hlinum-mode/"))])
+ (hmac . [(20180429 2010) ((cl-lib (0 5)) (emacs (25))) "hash-based message authentication code" single ((:commit . "30132cd3fee7d3d91a9f04709d49ca0dcb96d565") (:authors ("Sean McAfee")) (:maintainer "Sean McAfee") (:url . "https://github.com/grimnebulin/emacs-hmac"))])
+ (hnreader . [(20200321 1900) ((emacs (25 1)) (promise (1 1)) (request (0 3 0)) (org (9 2))) "A hackernews reader" single ((:commit . "5dd287e932e2398aab0f34cb23b99457b81ac370") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/emacs-hnreader/"))])
+ (hoa-mode . [(20191010 1132) nil "Major mode for the HOA format" single ((:commit . "558e55429acde26423332a03a3b65b12efdbce5f") (:keywords "major-mode" "automata" "convenience") (:authors ("Alexandre Duret-Lutz" . "adl@lrde.epita.fr")) (:maintainer "Alexandre Duret-Lutz" . "adl@lrde.epita.fr") (:url . "https://gitlab.lrde.epita.fr/spot/emacs-modes"))])
+ (hoa-pp-mode . [(20151027 736) ((emacs (24 1)) (names (20150723 0))) "Major mode for Hoa PP grammars" single ((:commit . "925b79930a3f4377b0fb2a36b3c6d5566d4b9a8e") (:keywords "php" "hoa") (:authors ("Steven Rémot")) (:maintainer "Steven Rémot") (:url . "https://github.com/hoaproject/Contributions-Emacs-Pp"))])
+ (holiday-pascha-etc . [(20160822 58) nil "Eastern Christian analog to holiday-easter-etc" single ((:commit . "eb198656f63cb8679fb0e3a8248782df071a0f3c") (:authors ("Mark A. Hershberger" . "mah@everybody.org")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:url . "http://github.com/hexmode/holiday-pascha-etc"))])
+ (home-end . [(20180817 855) ((emacs (24 3)) (keypress-multi-event (1 0))) "Smart multi-purpose home / end keys" single ((:commit . "30676ceec0d4ad84038cd0d65ee45ae810ab185c") (:keywords "abbrev" "convenience" "wp" "keyboard") (:authors ("Boruch Baum" . "boruch_baum@gmx.com")) (:maintainer "Boruch Baum" . "boruch_baum@gmx.com") (:url . "https://www.github.com/Boruch_Baum/emacs-home-end"))])
+ (homebrew-mode . [(20200205 224) ((emacs (24 4)) (inf-ruby (2 4 0)) (dash (1 2 0))) "minor mode for editing Homebrew formulae" single ((:commit . "8c04b040656dc99719efd7663c10f26f74df4a47") (:keywords "homebrew" "brew" "ruby") (:authors ("Alex Dunn" . "dunn.alex@gmail.com")) (:maintainer "Alex Dunn" . "dunn.alex@gmail.com") (:url . "https://github.com/dunn/homebrew-mode"))])
+ (honcho . [(20190623 2120) ((emacs (25 1)) (sudo-edit (0 1))) "Run and manage long-running services" single ((:commit . "d5e6206dd23ff9305d976c52845c750a064aca4b") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/honcho.el"))])
+ (hookify . [(20141216 2209) ((s (1 9 0)) (dash (1 5 0))) "Interactive commands to create temporary hooks" single ((:commit . "21baae7393b07257de5796402fde0ca72fb00d77") (:keywords "hook" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/hookify"))])
+ (horizon-theme . [(20200129 1957) ((emacs (24 3))) "A beautifully warm dual theme" single ((:commit . "040d19abd397d2132508a50e1266e86d324f7c69") (:url . "https://github.com/aodhneine/horizon-theme.el"))])
+ (horoscope . [(20180409 641) ((emacs (24))) "generate horoscopes." single ((:commit . "f4c683e991adce0a8f9023f15050f306f9b9a9ed") (:keywords "extensions" "games") (:authors ("Bob Manson" . "manson@cygnus.com")) (:maintainer "Noah Friedman" . "friedman@prep.ai.mit.edu") (:url . "https://github.com/mschuldt/horoscope.el"))])
+ (hound . [(20200122 1700) ((request (0 2 0)) (cl-lib (0 5))) "Display hound search results in a compilation window" single ((:commit . "35e2cdc81fcc904b450a7ef3ec00fd25df6a4431") (:authors ("Ryan Young")) (:maintainer "Ryan Young"))])
+ (hover . [(20200321 1819) ((emacs (24 5))) "Package to use hover with flutter" single ((:commit . "6f9ed1a6517e3a43ef2deafc2f86c70b2abce008") (:keywords "hover" "flutter" "mobile" "tools") (:authors ("Eric Dallo")) (:maintainer "Eric Dallo") (:url . "https://github.com/ericdallo/hover.el"))])
+ (howdoi . [(20150204 43) nil "Instant coding answers via Emacs." tar ((:commit . "5fbf7069ee160c597a328e5ce5fb32920e1ca88f"))])
+ (howdoyou . [(20191118 2222) ((emacs (25 1)) (promise (1 1)) (request (0 3 0)) (org (9 2))) "A stackoverflow and its sisters' sites reader" single ((:commit . "ef7f42c14f0f4aec475b74d56931daa36aded6c8") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/howdoyou/"))])
+ (howm . [(20190818 1144) ((cl-lib (0 5))) "Wiki-like note-taking tool" tar ((:commit . "4f550d35935abc943e37e1f2da78c52218ac7c8d") (:authors ("HIRAOKA Kazuyuki" . "khi@users.osdn.me")) (:maintainer "HIRAOKA Kazuyuki" . "khi@users.osdn.me") (:url . "https://howm.osdn.jp"))])
+ (hsluv . [(20181127 1206) ((seq (2 20))) "hsluv color space conversions" single ((:commit . "c3bc5228e30d66e7dee9ff1a0694c2b976862fc0") (:keywords "color" "hsluv") (:authors ("Geert Vermeiren")) (:maintainer "Geert Vermeiren") (:url . "https://github.com/hsluv/hsluv-emacs"))])
+ (ht . [(20200217 2331) ((dash (2 12 0))) "The missing hash table library for Emacs" single ((:commit . "fff8c43f0e03d5b98deb9f988522b839ce2ca253") (:keywords "hash table" "hash map" "hash") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (html-check-frag . [(20160131 535) ((emacs (24 3))) "Check html-fragments" single ((:commit . "feb89765eafd69dfcf07afeebded8985dc456e7c") (:keywords "html") (:authors ("Tobias.Zawada" . "i@tn-home.de")) (:maintainer "Tobias.Zawada" . "i@tn-home.de"))])
+ (html-script-src . [(20120403 1815) nil "Insert <script src=\"..\"> for popular JavaScript libraries" single ((:commit . "66460f8ab1b24656e6f3ce5bd50cff6a81be8422") (:keywords "tools" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/html-script-src"))])
+ (html-to-hiccup . [(20190909 1549) ((emacs (25 1)) (dash (2 13 0)) (s (1 10 0))) "Convert HTML to Hiccup syntax" single ((:commit . "50a52e2b0d13d865187acdf775b8203d5003f2f1") (:keywords "html" "hiccup" "clojure") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:url . "https://github.com/plexus/html-to-hiccup"))])
+ (html-to-markdown . [(20151105 840) ((cl-lib (0 5))) "HTML to Markdown converter written in Emacs-lisp." single ((:commit . "60c5498c801be186478cf7c05be05b4430c4a144") (:keywords "tools" "wp" "languages") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/html-to-markdown"))])
+ (html2org . [(20170418 501) ((emacs (24 4))) "Convert html to org format text" single ((:commit . "6904aed40259ad8afccff079ebd8a07bff319ebc") (:keywords "convenience" "html" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "http://github.com/lujun9972/html2org.el"))])
+ (htmlize . [(20191111 2130) nil "Convert buffer text and decorations to HTML." single ((:commit . "86f22f211e9230857197c42a9823d3f05381deed") (:keywords "hypermedia" "extensions") (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:maintainer "Hrvoje Niksic" . "hniksic@gmail.com") (:url . "https://github.com/hniksic/emacs-htmlize"))])
+ (htmltagwrap . [(20190517 511) ((emacs (24 4))) "Wraps a chunk of HTML code in tags." single ((:commit . "35c62dd95c580fad49f84c5270cd69810455fedd") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/htmltagwrap"))])
+ (http . [(20181008 2121) ((emacs (24 4)) (request (0 2 0)) (edit-indirect (0 1 4))) "Yet another HTTP client" single ((:commit . "1bbfff5994e16ffc185c4ac28d792cb040da3351") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/http.el"))])
+ (http-post-simple . [(20170715 940) nil "HTTP POST requests using the url library" single ((:commit . "f53697fca278c741051aeb668b00466b5e0fd3fe") (:keywords "comm" "data" "processes" "hypermedia") (:authors ("Tom Schutzer-Weissmann")) (:maintainer "Tom Schutzer-Weissmann"))])
+ (http-twiddle . [(20160801 1911) nil "send & twiddle & resend HTTP requests" single ((:commit . "4d0c73b7dcbde8b483d4f3a75c49c74d2fe3ca45") (:keywords "http" "rest" "soap") (:authors ("Luke Gorrie" . "luke@synap.se")) (:maintainer "Hasan Veldstra" . "h@vidiowiki.com") (:url . "https://github.com/hassy/http-twiddle/blob/master/http-twiddle.el"))])
+ (httpcode . [(20121002 345) nil "explains the meaning of an HTTP status code" single ((:commit . "a45e735082b09477cd704a99294d336cdbeb12ba") (:authors ("Ruslan Spivak" . "ruslan.spivak@gmail.com")) (:maintainer "Ruslan Spivak" . "ruslan.spivak@gmail.com") (:url . "http://github.com/rspivak/httpcode.el"))])
+ (httprepl . [(20141101 1734) ((s (1 9 0)) (dash (2 5 0)) (emacs (24))) "An HTTP REPL" single ((:commit . "cfa3693267a8ed1c96a86a126823f37dbfe077d8") (:keywords "http" "repl") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/httprepl.el"))])
+ (hugsql-ghosts . [(20180425 1129) ((s (1 9 0)) (dash (2 10 0)) (cider (0 14 0))) "Display hugsql defqueries in clojure code as an overlay." single ((:commit . "f3ebc60c66204ad39058cb84eb4bd5facce091df") (:authors ("Roland Kaercher" . "roland.kaercher@gmail.com")) (:maintainer "Roland Kaercher" . "roland.kaercher@gmail.com") (:url . "https://github.com/rkaercher/hugsql-ghosts"))])
+ (humanoid-themes . [(20200403 1939) ((emacs (24 3))) "Color themes with a dark and light variant" tar ((:commit . "22c9a0987c7d746d7eb9fe850f93f232d91cae14") (:keywords "faces" "color" "theme") (:authors ("Thomas Friese")) (:maintainer "Thomas Friese") (:url . "https://github.com/humanoid-colors/emacs-humanoid-themes"))])
+ (hungarian-holidays . [(20161020 1138) nil "Adds a list of Hungarian public holidays to Emacs calendar" single ((:commit . "653108769279499d84a79267c90e640d98823872") (:keywords "calendar") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu"))])
+ (hungry-delete . [(20200309 209) nil "hungry delete minor mode" single ((:commit . "4a341cfa3a19185c5ecb687970e299082e1144e3") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/hungry-delete"))])
+ (hy-mode . [(20191003 1902) ((dash (2 13 0)) (dash-functional (1 2 0)) (s (1 11 0)) (emacs (24))) "Major mode for Hylang" tar ((:commit . "e2d5fecdaec602788aa7123ed13651c888b8d94b") (:keywords "languages" "lisp" "python") (:url . "http://github.com/hylang/hy-mode"))])
+ (hyai . [(20170301 1447) ((cl-lib (0 5)) (emacs (24))) "Haskell Yet Another Indentation" single ((:commit . "9efad2ac6a57059b3be624588f649e276a96fdd4") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/hyai"))])
+ (hydandata-light-theme . [(20190809 1925) nil "A light color theme that is easy on your eyes" single ((:commit . "180c3797fa7ef3e4bb679baaf5b492c33bbb9b8b") (:keywords "color-theme" "theme") (:authors ("David Chkhikvadze" . "david@chkhd.net")) (:maintainer "David Chkhikvadze" . "david@chkhd.net") (:url . "https://github.com/chkhd/hydandata-light-theme"))])
+ (hyde . [(20160508 308) nil "Major mode to help create and manage Jekyll blogs" tar ((:commit . "a8cd6ed00ecd8d7de0ded2f4867015b412b15b76"))])
+ (hydra . [(20200306 913) ((cl-lib (0 5)) (lv (0))) "Make bindings that stick around." tar ((:commit . "16fa8d109ec5799931a793b2e866ea9d593bee84") (:keywords "bindings") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/hydra"))])
+ (hyperspace . [(20190908 550) ((emacs (25)) (s (1 12 0))) "Get there from here" single ((:commit . "825ac47887bf2f63e7dc2ecce264a52d9f0fae70") (:keywords "tools" "convenience") (:authors ("Ian Eure" . "ian@retrospec.tv")) (:maintainer "Ian Eure" . "ian@retrospec.tv") (:url . "https://github.com/ieure/hyperspace-el"))])
+ (i2b2-mode . [(20140710 104) nil "Highlights corresponding PHI data in the text portion of an i2b2 XML Document." single ((:commit . "db10efcfc8bed369a516bbf7526ede41f98cb95a") (:keywords "xml" "phi" "i2b2" "deidi2b2") (:authors ("Dan LaManna" . "dan.lamanna@gmail.com")) (:maintainer "Dan LaManna" . "dan.lamanna@gmail.com"))])
+ (i3wm . [(20170822 1438) nil "i3wm integration library" single ((:commit . "71391dc61063fee77ad174f3b2ca25c60b41009e") (:keywords "convenience" "extensions") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:url . "https://git.flintfam.org/swf-projects/emacs-i3"))])
+ (ialign . [(20181202 1146) ((emacs (24 4))) "visual align-regexp" single ((:commit . "e1308c8f6aea05ad6dbcaa33b9bee4eb7e05ee39") (:keywords "tools" "editing" "align" "interactive") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/interactive-align"))])
+ (iasm-mode . [(20171023 1422) nil "interactive assembly major mode." single ((:commit . "abbec7f308f9ce97beeb57e459fff35f559b4c18") (:keywords ":" "tools") (:authors ("Rémi Attab" . "remi.attab@gmail.com")) (:maintainer "Rémi Attab" . "remi.attab@gmail.com") (:url . "https://github.com/RAttab/iasm-mode"))])
+ (ibuffer-git . [(20110508 731) nil "show git status in ibuffer column" single ((:commit . "d326319c05ddb8280885b31f9094040c1b365876") (:keywords "convenience") (:authors ("Jonathan Rockway" . "jon@jrock.us")) (:maintainer "Jonathan Rockway" . "jon@jrock.us"))])
+ (ibuffer-project . [(20200210 2252) ((emacs (25 1))) "Group ibuffer's list by project or any function" single ((:commit . "8cc8c96cb15874dd55cdbfce759f528de0046f9f") (:keywords "tools") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-ibuffer-project"))])
+ (ibuffer-projectile . [(20200304 2205) ((projectile (0 11 0)) (emacs (24 1))) "Group ibuffer's list by projectile root" single ((:commit . "504b0edaa0d937ce60ccc8fdf09f2dae0a90fbaf") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-projectile"))])
+ (ibuffer-rcirc . [(20150215 2118) ((cl-lib (0 2))) "Ibuffer integration for rcirc" single ((:commit . "8a4409b1c679d65c819dee4085faf929840e79f8") (:keywords "buffer" "convenience" "comm") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org") (:url . "https://github.com/fgallina/ibuffer-rcirc"))])
+ (ibuffer-sidebar . [(20180219 131) ((emacs (25 1))) "Sidebar for `ibuffer'" single ((:commit . "7ddf1b5a158b33e9a7d3fe5dad7ea626a464d2bc") (:keywords "ibuffer" "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/ibuffer-sidebar"))])
+ (ibuffer-tramp . [(20151118 1739) nil "Group ibuffer's list by TRAMP connection" single ((:commit . "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3") (:keywords "convenience") (:authors ("Svend Sorensen" . "svend@ciffer.net")) (:maintainer "Svend Sorensen" . "svend@ciffer.net") (:url . "http://github.com/svend/ibuffer-tramp"))])
+ (ibuffer-vc . [(20200304 2207) ((emacs (24 1)) (cl-lib (0 2))) "Group ibuffer's list by VC project, or show VC status" single ((:commit . "1249c1e30cf11badfe032ac3b1058f24ba510ace") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-vc"))])
+ (icomplete-vertical . [(20200427 2251) ((emacs (24 4))) "Display icomplete candidates vertically" single ((:commit . "f737bc8117326469a15747ed53f43d39eba2a9dc") (:keywords "convenience" "completion") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:url . "https://github.com/oantolin/icomplete-vertical"))])
+ (icsql . [(20190815 501) ((emacs (26)) (choice-program (0 8)) (buffer-manage (0 10))) "Interactive iSQL iteraface to ciSQL." single ((:commit . "5e5cd04e3f3ad9963c29759293c1f7a54257866b") (:keywords "isql" "sql" "rdbms" "data") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/icsql"))])
+ (id-manager . [(20170320 1246) nil "id-password management" single ((:commit . "14ebc35db298aac4dedc8aa188bc46bacab81f3b") (:keywords "password" "convenience") (:authors ("SAKURAI Masashi <m.sakurai atmark kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai atmark kiwanami.net>"))])
+ (idea-darkula-theme . [(20160416 2303) ((emacs (24 1))) "Color theme based on IntelliJ IDEA Darkula color theme" single ((:commit . "52602d9b91883e1f297d000951aeed48bf60176e") (:keywords "themes") (:authors ("Alexey Veretennikov <alexey dot veretennikov at gmail dot com>")) (:maintainer "Alexey Veretennikov <alexey dot veretennikov at gmail dot com>") (:url . "http://github.com/fourier/idea-darkula-theme"))])
+ (identica-mode . [(20130204 2253) nil "Major mode API client for status.net open microblogging" tar ((:commit . "cf9183ee11ac922e85c7c908f04e2d00b03111b3") (:keywords "identica" "web") (:authors ("Gabriel Saldana" . "gsaldana@gmail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com") (:url . "http://blog.gabrielsaldana.org/identica-mode-for-emacs/"))])
+ (idle-highlight-in-visible-buffers-mode . [(20181027 1531) nil "highlight the word the point is on" single ((:commit . "8d8de309d5bd4b035c01bf7f0cfc6e079c79d898") (:keywords "convenience") (:authors ("Ignacy Moryc")) (:maintainer "Ignacy Moryc") (:url . "https://github.com/ignacy/idle-highlight-in-visible-buffers"))])
+ (idle-highlight-mode . [(20120920 1648) nil "highlight the word the point is on" single ((:commit . "c466f2a9e291f9da1167dc879577b2e1a7880482") (:keywords "convenience") (:authors ("Phil Hagelberg, Cornelius Mika")) (:maintainer "Phil Hagelberg, Cornelius Mika") (:url . "http://www.emacswiki.org/cgi-bin/wiki/IdleHighlight"))])
+ (idle-org-agenda . [(20190106 1844) nil "Shows your agenda when editor is idle." single ((:commit . "8e6052fc4923c30132052d67d794b76c92851c20") (:keywords "org" "org-mode" "org-agenda" "calendar") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "Enis Özgen" . "mail@enisozgen.com") (:url . "https://github.com/enisozgen/idle-org-agenda"))])
+ (idle-require . [(20090715 2203) nil "load elisp libraries while Emacs is idle" single ((:commit . "33592bb098223b4432d7a35a1d65ab83f47c1ec1") (:keywords "internal") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/idle-require/"))])
+ (ido-at-point . [(20151021 757) ((emacs (24))) "ido-style completion-at-point" single ((:commit . "e5907bbe8a3d148d07698b76bd994dc3076e16ee") (:keywords "convenience" "abbrev") (:authors ("katspaugh")) (:maintainer "katspaugh") (:url . "https://github.com/katspaugh/ido-at-point"))])
+ (ido-clever-match . [(20151011 1726) ((emacs (24 4)) (cl-lib (0 5))) "Alternative matcher for ido." single ((:commit . "f173473e99c8b0756f12e4cc8f67e68fa59eadd3") (:keywords "ido" "flex") (:authors ("Bogdan Paul Popa" . "popa.bogdanp@gmail.com")) (:maintainer "Bogdan Paul Popa" . "popa.bogdanp@gmail.com") (:url . "https://github.com/Bogdanp/ido-clever-match"))])
+ (ido-complete-space-or-hyphen . [(20180929 150) nil "Complete SPACE or HYPHEN when type SPACE in ido" single ((:commit . "ed60ebed113e4e1552efeab0c416f7c88428268e") (:keywords "ido" "completion") (:authors ("Ian Yang <me (at) iany.me>")) (:maintainer "Ian Yang <me (at) iany.me>") (:url . "https://github.com/doitian/ido-complete-space-or-hyphen"))])
+ (ido-completing-read+ . [(20200310 25) ((emacs (24 4)) (seq (0 5)) (cl-lib (0 5)) (memoize (1 1))) "A completing-read-function using ido" single ((:commit . "98d3a6e56b1d3652da7b47f49f76d77f82ea80ba") (:keywords "ido" "completion" "convenience") (:authors ("Ryan Thompson")) (:maintainer "Ryan Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-completing-read-plus"))])
+ (ido-describe-bindings . [(20161023 1102) ((dash (2 13 0))) "Yet another `describe-bindings' with `ido'." single ((:commit . "a814e25cb272401bdfee94cb98d915119d307414") (:keywords "help") (:authors ("Danil <danil@kutkevich.org>, Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Danil <danil@kutkevich.org>, Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/danil/ido-describe-bindings"))])
+ (ido-exit-target . [(20170717 1851) ((emacs (24 4))) "Commands and keys for selecting other window and frame targets within ido" single ((:commit . "e56fc6928649c87ccf39d56d84ab53ebaced1f73") (:keywords "convenience" "tools" "extensions") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ido-exit-target"))])
+ (ido-flex-with-migemo . [(20190408 350) ((flx-ido (0 6 1)) (migemo (1 9 1)) (emacs (24 4))) "use ido with flex and migemo" single ((:commit . "da64f2fe3849492d35e155d81a817308a4853473") (:keywords "matching") (:authors ("ROCKTAKEY " . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY " . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/ido-flex-with-migemo"))])
+ (ido-gnus . [(20140216 1646) ((gnus (5 13))) "Access gnus groups or servers using ido" single ((:commit . "f5fe3f6aa8086f675ba216abace9e3d5f2e3a089") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/ido-gnus"))])
+ (ido-grid-mode . [(20160122 1139) ((emacs (24 4))) "Display ido-prospects in the minibuffer in a grid." single ((:commit . "7cfca3988a6dc3ad18e28abe114218095ff2366f") (:keywords "convenience") (:authors ("Tom Hinton")) (:maintainer "Tom Hinton" . "t@larkery.com") (:url . "https://github.com/larkery/ido-grid-mode.el"))])
+ (ido-hacks . [(20190206 2153) nil "Put more IDO in your IDO" single ((:commit . "d2153a3e8d23436ee07ecae2a106f434361a10c5") (:keywords "convenience") (:authors ("Andreas Politz")) (:maintainer "Scott Jaderholm" . "jaderholm@gmail.com"))])
+ (ido-load-library . [(20140611 1600) ((persistent-soft (0 8 8)) (pcache (0 2 3))) "Load-library alternative using ido-completing-read" single ((:commit . "e03b55957c93aa1a7dd190e173e16ec59dbb2ba7") (:keywords "maint" "completion") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ido-load-library"))])
+ (ido-migemo . [(20191017 1919) ((migemo (1 9 1))) "Migemo plug-in for Ido" single ((:commit . "09a2cc175b500cab7655a25ffc982e78d46ca669") (:keywords "files") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ido-migemo.el"))])
+ (ido-occasional . [(20150214 1248) ((emacs (24 1))) "Use ido where you choose." single ((:commit . "d405f1795e1e0c63be411ee2825184738d29c33a") (:keywords "completion") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ido-occasional"))])
+ (ido-occur . [(20160820 1440) ((dash (2 13 0))) "Yet another `occur' with `ido'." single ((:commit . "6a0bfeaca2e334b47b4f38ab80d63f53535b189e") (:keywords "inner" "buffer" "search") (:authors ("Danil" . "danil@kutkevich.org")) (:maintainer "Danil" . "danil@kutkevich.org") (:url . "https://github.com/danil/ido-occur"))])
+ (ido-select-window . [(20131220 2047) ((emacs (24 1))) "Select a window using ido and buffer names" single ((:commit . "a64707d8d154664d50d12e26417d586e4c3dd78b") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/ido-select-window"))])
+ (ido-skk . [(20151111 950) ((emacs (24 4)) (ddskk (20150912 1820))) "ido interface for skk henkan" single ((:commit . "89a2e62799bff2841ff634517c86084c4ce69246") (:keywords "languages") (:authors ("tsukimizake <shomasd_at_gmail.com>")) (:maintainer "tsukimizake <shomasd_at_gmail.com>") (:url . "https://github.com/tsukimizake/ido-skk"))])
+ (ido-sort-mtime . [(20171121 859) nil "Sort Ido's file list by modification time" single ((:commit . "f638ff0c922af862f5211779f2311a27fde428eb") (:keywords "convenience" "files") (:authors ("Paweł Kraśnicki")) (:maintainer "Paweł Kraśnicki"))])
+ (ido-springboard . [(20170106 755) nil "Temporarily change default-directory for one command" single ((:commit . "687d1e5898a880878995dc9bffe93b4598366203") (:keywords "ido") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))])
+ (ido-vertical-mode . [(20180618 2101) nil "Makes ido-mode display vertically." single ((:commit . "16c4c1a112796ee0bcf401ea39d3e2643a89feaf") (:keywords "convenience") (:authors ("Steven Degutis")) (:maintainer "Christopher Reichert" . "creichert07@gmail.com") (:url . "https://github.com/creichert/ido-vertical-mode.el"))])
+ (ido-yes-or-no . [(20161108 2351) ((ido-completing-read+ (0))) "Use Ido to answer yes-or-no questions" single ((:commit . "c55383b1fce5879e87e7ca6809fc60534508e182") (:keywords "convenience" "completion" "ido") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-yes-or-no"))])
+ (idomenu . [(20141123 2120) nil "imenu tag selection a la ido" single ((:commit . "4b0152d606360c70204fb4c27f68de79ca885386") (:authors ("Georg Brandl" . "georg@python.org")) (:maintainer "Georg Brandl" . "georg@python.org"))])
+ (idris-mode . [(20190427 1539) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "acc8835449475d7cd205aba213fdd3d41c38ba40") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))])
+ (ids-edit . [(20170818 1502) ((emacs (24 3))) "IDS (Ideographic Description Sequence) editing tool" tar ((:commit . "8562a6cbfb3f2d44bc6f62ab15081a80f8fee502") (:keywords "i18n" "wp") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "http://github.com/kawabata/ids-edit"))])
+ (iedit . [(20200412 756) nil "Edit multiple regions in the same way simultaneously." tar ((:commit . "0fb3d380866664c3ab543acede606d343c257406") (:keywords "occurrence" "region" "simultaneous" "refactoring") (:authors ("Victor Ren" . "victorhge@gmail.com")) (:maintainer "Victor Ren" . "victorhge@gmail.com") (:url . "https://www.emacswiki.org/emacs/Iedit"))])
+ (ietf-docs . [(20190420 851) nil "Fetch, Cache and Load IETF documents" single ((:commit . "ae157549eae5ec78dcbf215c2f48cb662b73abd0") (:keywords "ietf" "rfc") (:authors ("Christian E. Hopps" . "chopps@gmail.com")) (:maintainer "Christian E. Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/ietf-docs"))])
+ (iflipb . [(20190817 547) nil "Interactively flip between recently visited buffers" single ((:commit . "aeeb85633566ed3c13dbe94a6a4925d8930b7b85") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))])
+ (ignoramus . [(20160414 1409) nil "Ignore backups, build files, et al." single ((:commit . "b37dc7c07edd9d152436f9019c14df158b599be3") (:keywords "convenience" "tools") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ignoramus"))])
+ (igv . [(20141210 1227) nil "Control Integrative Genomic Viewer within Emacs" single ((:commit . "47ac6ceede252f451348a2c696398c0cb5279555") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))])
+ (image+ . [(20150707 1616) ((cl-lib (0 3))) "Image manipulate extensions for Emacs" single ((:commit . "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc") (:keywords "multimedia" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-imagex"))])
+ (image-archive . [(20150621 132) ((emacs (24)) (cl-lib (0 5))) "Image thumbnails in archive file with non-blocking" single ((:commit . "8d29535bd832329ffeeac780aae7aa8919af1175") (:keywords "multimedia") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-image-archive"))])
+ (image-dired+ . [(20150430 544) ((cl-lib (0 3))) "Image-dired extensions" single ((:commit . "b68094625d963056ad64e0e44af0e2266b2eadc7") (:keywords "extensions" "multimedia") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-image-diredx"))])
+ (imakado . [(20141024 923) nil "imakado's usefull macros and functions" single ((:commit . "00a1e7eea2cb9e9066343a23927d6c747707902f") (:keywords "convenience") (:authors ("imakado <ken.imakado_at_gmail.com>")) (:maintainer "imakado") (:url . "https://github.com/imakado/emacs-imakado"))])
+ (imake . [(20200103 1238) ((emacs (24 3))) "Simple, opinionated make target runner" single ((:commit . "100d62c7095743fadddfad5b9e0740ee386ba4cf") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imake"))])
+ (imapfilter . [(20180318 2027) nil "run the imapfilter executable" single ((:commit . "79bbbe918319bc1e8f42a0bef53dc7c77fe868ea") (:keywords "mail") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imapfilter"))])
+ (imenu-anywhere . [(20190512 1939) ((cl-lib (0 5)) (emacs (25))) "ido/ivy/helm imenu across same mode/project/etc buffers" single ((:commit . "88b0e120284058b32252e4b0ed1a07c9fe44092f") (:keywords "ido" "imenu" "tags") (:authors ("Vitalie Spinu <spinuvit.list[ aaattt ]gmail[ dot ]com>")) (:maintainer "Vitalie Spinu <spinuvit.list[ aaattt ]gmail[ dot ]com>") (:url . "https://github.com/vitoshka/imenu-anywhere"))])
+ (imenu-list . [(20190115 2130) ((cl-lib (0 5))) "Show imenu entries in a separate buffer" single ((:commit . "46008738f8fef578a763c308cf6695e5b4d4aa77") (:authors ("Bar Magal (2015)")) (:maintainer "Bar Magal (2015)") (:url . "https://github.com/bmag/imenu-list"))])
+ (imenus . [(20180505 1717) ((cl-lib (0 5))) "Imenu for multiple buffers and without subgroups" single ((:commit . "149cfa579ee231014d3341a0e05add69759757a5") (:keywords "tools" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/imenus.el"))])
+ (imgbb . [(20180609 1649) ((emacs (24)) (request (0 3 0))) "Simple image upload client for imgbb.com" single ((:commit . "a524a46263835aa474f908827ebab4e8fa586001") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/imgbb.el"))])
+ (immaterial-theme . [(20200308 1330) ((emacs (25))) "A flexible theme based on material design principles" single ((:commit . "19c46859e041a0c0e7f40a9157a6c4d0d660f441") (:keywords "themes") (:authors ("Peter Gardfjäll")) (:maintainer "Peter Gardfjäll") (:url . "https://github.com/petergardfjall/emacs-immaterial-theme"))])
+ (immortal-scratch . [(20160517 2118) nil "respawn the scratch buffer when it's killed" single ((:commit . "faeab0ad6c33c74c0cbd1dfcebffaa0690de40c6") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))])
+ (immutant-server . [(20140311 2208) nil "Run your Immutant server in Emacs" single ((:commit . "2a21e65588acb6a976f2998e30b21fdabdba4dbb") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/immutant-server.el"))])
+ (impatient-mode . [(20200327 1619) ((emacs (24 3)) (simple-httpd (1 5 0)) (htmlize (1 40))) "Serve buffers live over HTTP" tar ((:commit . "fc84f4a333d47ca853842570cf35e659753a3ebe") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/netguy204/imp.el"))])
+ (import-js . [(20180709 1833) ((grizzl (0 1 0)) (emacs (24))) "Import Javascript dependencies" single ((:commit . "fb1f167e33c388b09a2afd32fbda90a67bfb2e40") (:keywords "javascript") (:authors ("Kevin Kehl" . "kevin.kehl@gmail.com")) (:maintainer "Kevin Kehl" . "kevin.kehl@gmail.com") (:url . "http://github.com/Galooshi/emacs-import-js/"))])
+ (import-popwin . [(20170218 1407) ((emacs (24 3)) (popwin (0 6))) "popwin buffer near by import statements with popwin" single ((:commit . "bb05a9e226f8c63fe7b18a3e92010357049ab5ba") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-import-popwin"))])
+ (importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "86f17856db194c5f18b30f35df40fb029d5544b5") (:keywords "languages" "convenience") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:url . "https://github.com/anachronic/importmagic.el"))])
+ (indent-guide . [(20191106 240) nil "show vertical lines to guide indentation" single ((:commit . "7fc710748f9e5a086acfe77970f117df89ee9749") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (indent-info . [(20200128 1052) ((emacs (24 3))) "Show indentation information in status bar" single ((:commit . "9548f14e7f0f7220d6cd1b8e88756b89fc57c471") (:keywords "convenience" "tools") (:authors ("Terje Larsen" . "terlar@gmail.com")) (:maintainer "Terje Larsen" . "terlar@gmail.com") (:url . "https://github.com/terlar/indent-info.el"))])
+ (indent-lint . [(20200129 2046) ((emacs (25 1)) (async-await (1 0)) (async (1 9 4))) "Async indentation checker" single ((:commit . "23ef4bab5509e2e7fb1f4a194895a9510fa7c797") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/indent-lint.el"))])
+ (indent-tools . [(20190606 1642) ((s (0)) (hydra (0)) (yafolding (0))) "Indent, navigate (and more) by blocks of indentation: yaml, python etc." tar ((:commit . "c419874e6fb296ecdba94b2f4b73c9eecdd5329d") (:keywords "indentation" "movements" "navigation" "kill" "fold" "yaml" "python") (:authors ("vindarel" . "vindarel@mailz.org")) (:maintainer "vindarel" . "vindarel@mailz.org") (:url . "https://gitlab.com/emacs-stuff/indent-tools/"))])
+ (indian-ext . [(20190424 1547) ((emacs (24))) "Extension to Indian language utilities" single ((:commit . "c941cde1205642c6b933ae6abbc47d199f609df0") (:keywords "i18n" "tools" "wp" "indian" "devanagari" "encoding") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/indian-ext"))])
+ (indicators . [(20161211 1126) ((dash (2 13 0)) (cl-lib (0 5 0))) "Display the buffer relative location of line in the fringe." single ((:commit . "f62a1201f21453e3aca93f48483e65ae8251432e") (:keywords "fringe" "frames") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/indicators.el"))])
+ (indium . [(20200116 1247) ((emacs (25)) (seq (2 16)) (js2-mode (20140114)) (js2-refactor (0 9 0)) (company (0 9 0)) (json-process-client (0 2 0))) "JavaScript Awesome Development Environment" tar ((:commit . "59f12cb1bc73bb399e00b2c6c69d21bdcb9c0955") (:keywords "tools" "javascript") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/indium"))])
+ (indy . [(20190807 625) nil "A minor mode and EDSL to manage your mode's indentation rules." single ((:commit . "abc5bee424780ad2de5520f8fefbf8e120c0d9ed") (:keywords "convenience" "matching" "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))])
+ (inf-clojure . [(20200425 1648) ((emacs (24 4)) (clojure-mode (5 11))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "f29861204ddbb032b425c7d693e8c006b7b027c6") (:keywords "processes" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))])
+ (inf-crystal . [(20180119 211) ((emacs (24 3)) (crystal-mode (0 1 0))) "Run a Inferior-Crystal process in a buffer" single ((:commit . "02007b2a2a3bea44902d7c83c4acba1e39d278e3") (:keywords "languages" "crystal") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/inf-crystal.el"))])
+ (inf-mongo . [(20180408 1338) nil "Run a MongoDB shell process in a buffer" single ((:commit . "2e498d1c88bd1904eeec18ed06b1a0cf8bdc2a92") (:keywords "databases" "mongodb") (:authors ("Tobias Svensson")) (:maintainer "Tobias Svensson") (:url . "http://github.com/endofunky/inf-mongo"))])
+ (inf-ruby . [(20200327 1418) nil "Run a Ruby process in a buffer" single ((:commit . "41e5ed3a886fca56990486f1987bb3bae0dbd54b") (:keywords "languages" "ruby") (:authors ("Yukihiro Matsumoto") ("Nobuyoshi Nakada") ("Cornelius Mika" . "cornelius.mika@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru") ("Kyle Hargraves" . "pd@krh.me")) (:maintainer "Yukihiro Matsumoto") (:url . "http://github.com/nonsequitur/inf-ruby"))])
+ (inflections . [(20170913 916) ((cl-lib (0 5)) (emacs (24))) "convert english words between singular and plural" single ((:commit . "e4f1372cf22e811faca52fc86bdd5d817498a4d8") (:keywords "languages" "tools" "wp") (:authors ("Dmitry Galinsky, Howard Yeh")) (:maintainer "Dmitry Galinsky, Howard Yeh") (:url . "https://github.com/eschulte/jump.el"))])
+ (info-beamer . [(20180604 2122) ((emacs (24 4))) "Utilities for working with info-beamer" single ((:commit . "97db34d23cb05b23e50c15875ee84f5d3236e0db") (:keywords "tools" "processes" "comm") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/info-beamer.el"))])
+ (info-buffer . [(20170112 1422) nil "Display info topics in separate buffers" single ((:commit . "d35dad6e766c6e2ddb8dc6acb4ce5b6e10fbcaa7") (:keywords "docs" "info") (:authors ("Lluís Vilanova" . "vilanova@ac.upc.edu")) (:maintainer "Lluís Vilanova" . "vilanova@ac.upc.edu") (:url . "http://www.github.com/llvilanova/info-buffer"))])
+ (info-colors . [(20200125 1447) ((emacs (24)) (cl-lib (0 5))) "Extra colors for Info-mode" single ((:commit . "47ee73cc19b1049eef32c9f3e264ea7ef2aaf8a5") (:keywords "faces") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:url . "https://github.com/ubolonton/info-colors"))])
+ (info-rename-buffer . [(20200328 1450) ((emacs (24 3))) "Rename Info buffers to match manuals" single ((:commit . "87fb263b18717538fd04878e3358e1e720415db8") (:keywords "help") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:url . "https://github.com/oitofelix/info-rename-buffer"))])
+ (inherit-local . [(20170409 1649) ((emacs (24 3))) "Inherited buffer-local variables" single ((:commit . "b1f4ff9c41f9d64e4adaf5adcc280b82f084cdc7") (:authors ("Shea Levy")) (:maintainer "Shea Levy") (:url . "https://github.com/shlevy/inherit-local/tree-master/"))])
+ (ini-mode . [(20170424 909) nil "Major mode for Windows-style ini files." single ((:commit . "2194cfa2fd13196a37350ec20b3f00dcf6162b7c") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/ini-mode"))])
+ (init-loader . [(20160528 1315) nil "Loader for configuration files" single ((:commit . "5d3cea1004c11ff96b33020e337b03b925c67c42") (:authors ("IMAKADO" . "ken.imakado@gmail.com")) (:maintainer "IMAKADO" . "ken.imakado@gmail.com") (:url . "https://github.com/emacs-jp/init-loader/"))])
+ (init-open-recentf . [(20200321 737) ((emacs (24 4))) "Invoke a command immediately after startup" single ((:commit . "369304d6adb6875948c4534419c4f303ac23c4f6") (:keywords "files" "recentf" "after-init-hook") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/init-open-recentf.el"))])
+ (initsplit . [(20160919 1818) nil "code to split customizations into different files" single ((:commit . "c941d436eb2b10b01c76a582c5a2b23fb30751aa") (:keywords "lisp") (:authors ("John Wiegley <johnw@gnu.org>, Dave Abrahams" . "dave@boostpro.com")) (:maintainer "John Wiegley <johnw@gnu.org>, Dave Abrahams" . "dave@boostpro.com") (:url . "http://www.gci-net.com/users/j/johnw/emacs.html"))])
+ (ink-mode . [(20160814 1116) ((emacs (24 3))) "Major mode for writing interactive fiction in Ink" single ((:commit . "e35f26abbaf8ea23c5aa0a0c7ef15334cdfb7b48") (:keywords "languages") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/ink-mode"))])
+ (inkpot-theme . [(20191218 2038) nil "port of vim's inkpot theme" single ((:commit . "8b648afaaab5eaddb7afcd602b8a76cbfb12412b") (:keywords "color" "theme") (:authors ("Sarah Iovan" . "sarah@hwaetageek.com") ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Sarah Iovan" . "sarah@hwaetageek.com") (:url . "https://github.com/ideasman42/emacs-inkpot-theme"))])
+ (inline-crypt . [(20170824 900) nil "Simple inline encryption via openssl" tar ((:commit . "281385b383f850fd2e895926b1cef804dd052633"))])
+ (inline-docs . [(20170523 450) ((emacs (24 3))) "Show inline contextual docs." single ((:commit . "b57f1681be6147f999cdc12abff414a0442e8897") (:keywords "inline" "docs" "overlay") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/inline-docs.el"))])
+ (inlineR . [(20191017 1920) nil "insert Tag for inline image of R graphics" single ((:commit . "bf6450a3540aa3538546d312324c41befd0a4e54") (:keywords "convenience" "iimage.el" "cacoo.el") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/inlineR.el"))])
+ (insert-kaomoji . [(20200325 2248) ((emacs (24 4))) "Easily insert kaomojis" tar ((:commit . "b943fe73327acc08dcd431eb8168a01609b9ab76") (:keywords "wp") (:authors ("Philip K." . "philip@warpmail.net")) (:maintainer "Philip K." . "philip@warpmail.net") (:url . "https://git.sr.ht/~zge/kaomoji"))])
+ (insert-shebang . [(20180403 1214) nil "Insert shebang line automatically." single ((:commit . "af5f95ff98e2432837f5aa848ba38dd626e82fce") (:keywords "shebang" "tool" "convenience") (:authors ("Sachin Patil" . "iclcoolster@gmail.com")) (:maintainer "Sachin Patil" . "iclcoolster@gmail.com") (:url . "http://github.com/psachin/insert-shebang"))])
+ (insfactor . [(20141117 2) nil "Client for a Clojure project with insfactor in it" single ((:commit . "7ef5446cebb08a17d4106d2e6f3c053e49e1e829") (:keywords "clojure") (:authors ("John D. Hume" . "duelin.markers@gmail.com")) (:maintainer "John D. Hume" . "duelin.markers@gmail.com") (:url . "http://github.com/duelinmarkers/insfactor.el"))])
+ (instapaper . [(20110419 1355) nil "No description available." single ((:commit . "f21531bcb935e7e9b9e8df83dd0e0838adbf9b1b"))])
+ (intel-hex-mode . [(20180423 31) nil "Mode for Intel Hex files." single ((:commit . "e83c94e1c31a8435a88b3ae395f2bc842ef83217") (:keywords "tools" "hex") (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/intel-hex-mode"))])
+ (intellij-theme . [(20171017 1415) nil "Inspired by IntelliJ's default theme" single ((:commit . "1bbfff8e6742d18e9b77ed796f44da3b7bd10606") (:keywords "faces") (:authors ("Vladimir Polushin" . "vovapolu@gmail.com")) (:maintainer "Vladimir Polushin" . "vovapolu@gmail.com"))])
+ (interaction-log . [(20160305 1301) ((cl-lib (0))) "exhaustive log of interactions with Emacs" single ((:commit . "a49a06746d4df6bcfceec3c48dece065d635f9f9") (:keywords "convenience") (:authors ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") (:url . "https://github.com/michael-heerdegen/interaction-log.el"))])
+ (interleave . [(20191129 958) nil "Interleaving text books since 2015" single ((:commit . "383eb955bf0084a6e6ec03c9bd34511e20e0407d") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/interleave"))])
+ (intero . [(20200125 848) ((flycheck (0 25)) (company (0 8)) (emacs (24 4)) (haskell-mode (13 0))) "Complete development mode for Haskell" single ((:commit . "fdb0550a2ddb5692d470336aa4a057717d572695") (:keywords "haskell" "tools") (:authors ("Chris Done" . "chrisdone@fpcomplete.com")) (:maintainer "Chris Done" . "chrisdone@fpcomplete.com") (:url . "https://github.com/commercialhaskell/intero"))])
+ (interval-list . [(20150327 1718) ((dash (2 4 0)) (cl-lib (0 5)) (emacs (24 4))) "Interval list data structure for 1D selections" single ((:commit . "38af7ecf0a493ad8f487074938a2a115f3531177") (:keywords "extensions" "data structure") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/interval-list"))])
+ (interval-tree . [(20130325 1407) ((dash (1 1 0))) "Interval tree data structure for 1D range queries" single ((:commit . "301302f480617091cf3ab6989caac385d52543dc") (:keywords "extensions" "data structure") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/interval-tree"))])
+ (inverse-acme-theme . [(20170823 254) ((autothemer (0 2)) (cl-lib (0 5))) "A theme that looks like an inverse of Acme's color scheme." single ((:commit . "74d6f3e2f6534371509dd2d77006435156c276d6") (:authors ("Dylan Johnson")) (:maintainer "Dylan Johnson") (:url . "http://github.com/djohnson/inverse-acme-theme"))])
+ (io-mode . [(20161004 756) nil "Major mode to edit Io language files in Emacs" single ((:commit . "fd65ae769093defcf554d6d637eba6e6dfc29f56") (:keywords "languages" "io") (:authors ("Sergei Lebedev" . "superbobry@gmail.com")) (:maintainer "Sergei Lebedev" . "superbobry@gmail.com") (:url . "https://github.com/superbobry/io-mode"))])
+ (io-mode-inf . [(20140128 1934) nil "Interaction with an Io interpreter." single ((:commit . "6dd2bac3fd87484bb7d97e135b06c29d70b444b6") (:keywords "io" "languages") (:url . "https://github.com/slackorama/io-emacs"))])
+ (ioccur . [(20200326 1341) ((emacs (24)) (cl-lib (0 5))) "Incremental occur" single ((:commit . "59350b2066d61444f93c8a51b16353e746486e4c") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/ioccur"))])
+ (iodine-theme . [(20151031 1639) ((emacs (24))) "A light emacs color theme" single ((:commit . "02fb780e1d8d8a6b9c709bfac399abe1665c6999") (:keywords "themes") (:authors ("Srđan Panić" . "srdja.panic@gmail.com")) (:maintainer "Srđan Panić" . "srdja.panic@gmail.com") (:url . "https://github.com/srdja/iodine-theme"))])
+ (ipcalc . [(20170926 805) ((cl-lib (0 5))) "IP subnet calculator" single ((:commit . "2720f7e3e662e04e195f8338b81a499cf321296a") (:keywords "networking" "tools") (:authors ("\"Aleksandar Simic\"" . "asimic@gmail.com")) (:maintainer "\"Aleksandar Simic\"" . "asimic@gmail.com") (:url . "http://github.com/dotemacs/ipcalc.el"))])
+ (iplayer . [(20161120 2120) nil "Browse and download BBC TV/radio shows" single ((:commit . "b788fffa4b36bbd558047ffa6be51b1f0f462f23") (:keywords "multimedia" "bbc") (:authors ("Christophe Rhodes" . "csr21@cantab.net")) (:maintainer "Christophe Rhodes" . "csr21@cantab.net") (:url . "https://github.com/csrhodes/iplayer-el"))])
+ (ipretty . [(20180606 522) nil "Interactive Emacs Lisp pretty-printing" single ((:commit . "042f5cc4e6f81d59115e8335c582bb5c571c2585") (:keywords "pretty-print" "elisp" "buffer") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/ipretty"))])
+ (ipython-shell-send . [(20190220 2246) ((emacs (24))) "Send code (including magics) to ipython shell" single ((:commit . "0faed86faff02a361f23ce5fc923d0e9b09bb2da") (:keywords "tools" "processes") (:authors ("Jack Kamm" . "jackkamm@gmail.com")) (:maintainer "Jack Kamm" . "jackkamm@gmail.com") (:url . "https://github.com/jackkamm/ipython-shell-send-el"))])
+ (iqa . [(20181024 2253) ((emacs (24 3))) "Init file(and directory) Quick Access." single ((:commit . "b45614f5204ed851de0abe93907aa94de5e37379") (:url . "https://github.com/a13/iqa.el"))])
+ (ir-black-theme . [(20130303 755) nil "Port of ir-black theme" single ((:commit . "36e930d107604b5763c80294a6f92aaa02e6c272") (:keywords "faces") (:authors ("Jon-Michael Deldin" . "dev@jmdeldin.com")) (:maintainer "Jon-Michael Deldin" . "dev@jmdeldin.com"))])
+ (iregister . [(20150515 2107) nil "Interactive register commands for Emacs." tar ((:commit . "6a48c66187289de5f300492be11c83e98410c018") (:keywords "convenience") (:authors ("Andrey Tykhonov" . "atykhonov@gmail.com")) (:maintainer "Andrey Tykhonov" . "atykhonov@gmail.com") (:url . "https://github.com/atykhonov/iregister.el"))])
+ (irony . [(20200130 849) ((cl-lib (0 5)) (json (1 2))) "C/C++ minor mode powered by libclang" tar ((:commit . "5f75fc0c9274f4622470e2324e2f4457087aa643") (:keywords "c" "convenience" "tools") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/irony-mode"))])
+ (irony-eldoc . [(20170502 1908) ((emacs (24)) (cl-lib (0 5)) (irony (0 1))) "irony-mode support for eldoc-mode" single ((:commit . "0df5831eaae264a25422b061eb2792aadde8b3f2") (:keywords "c" "c++" "objc" "convenience" "tools") (:authors ("Kirill Ignatiev <github.com/ikirill>")) (:maintainer "Kirill Ignatiev <github.com/ikirill>") (:url . "https://github.com/ikirill/irony-eldoc"))])
+ (isearch-dabbrev . [(20141224 622) ((cl-lib (0 5))) "Use dabbrev in isearch" single ((:commit . "1efe7abba4923015cbc2462395deaec5446a9cc8") (:keywords "dabbrev" "isearch") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "https://github.com/Dewdrops/isearch-dabbrev"))])
+ (isearch-project . [(20190505 819) ((emacs (25)) (cl-lib (0 6))) "Incremental search through the whole project." single ((:commit . "4d660afa365c82c3ed00f685b53f0d2358972d36") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/isearch-project"))])
+ (isearch-symbol-at-point . [(20130728 2221) nil "Use isearch to search for the symbol at point" single ((:commit . "51a1029bec1ec414885f9edb7e5947603dffdab2") (:keywords "isearch") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/isearch-symbol-at-point"))])
+ (isend-mode . [(20190201 832) nil "Interactively send parts of an Emacs buffer to an interpreter" single ((:commit . "38ace354d579eb364d4f95b9ea16081c171ea604") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/isend-mode.el"))])
+ (isgd . [(20150414 936) nil "Shorten URLs using the isgd.com shortener service" single ((:commit . "764306dadd5a9213799081a48aba22f7c75cca9a") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/isgd.el"))])
+ (isolate . [(20190808 731) ((emacs (25))) "Surrounding tool with flexible customizations." single ((:commit . "e93cb652f150705347480a2ee13b63fa625b1edf") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/isolate"))])
+ (isortify . [(20190315 2004) ((emacs (25)) (pythonic (0 1 0))) "(automatically) format python buffers using isort." single ((:commit . "ae7fb7163ce075209543f72953c9f431d103f6a3") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/isortify"))])
+ (iss-mode . [(20141001 1913) nil "Mode for InnoSetup install scripts" single ((:commit . "3b517aff31529bab33f8d7b562bd17aff0107fd1") (:authors ("Stefan Reichoer," . "stefan@xsteve.at")) (:maintainer "Stefan Reichoer," . "stefan@xsteve.at"))])
+ (itail . [(20171112 804) nil "An interactive tail mode" single ((:commit . "6e43c20da03be3b9c6ece93b7dc3495975ec1888") (:keywords "tail") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/itail"))])
+ (itasca . [(20170601 1622) ((emacs (24 3))) "Major modes for Itasca software data files." tar ((:commit . "3d15dd1b70d6db69b0f4758a3e28b8b506cc84ca") (:keywords "itasca" "flac" "3dec" "udec" "flac3d" "pfc" "pfc2d" "pfc3d" "fish") (:authors ("Jason Furtney" . "jkfurtney@gmail.com")) (:maintainer "Jason Furtney" . "jkfurtney@gmail.com") (:url . "http://github.com/jkfurtney/itasca-emacs/"))])
+ (iter2 . [(20190113 1424) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "698ffb93954817be0064ca6739f295d846707439") (:keywords "elisp" "extensions") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/iter2"))])
+ (iterator . [(20170207 838) ((emacs (24)) (cl-lib (0 5))) "A library to create and use elisp iterators objects." single ((:commit . "9da54f9aed945b46866782cdf962c9e530419297") (:authors ("Thierry Volpiatto <thierry dot volpiatto at gmail dot com>")) (:maintainer "Thierry Volpiatto <thierry dot volpiatto at gmail dot com>") (:url . "https://github.com/thierryvolpiatto/iterator"))])
+ (ivariants . [(20170823 224) ((emacs (24 3)) (ivs-edit (1 0))) "Ideographic variants editor and browser" tar ((:commit . "ca0b74d32b5d2d77a45cc6ad6edc00be0ee85284") (:keywords "i18n" "languages") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "http://github.com/kawabata/ivariants"))])
+ (ivs-edit . [(20170818 1441) ((emacs (24 3)) (dash (2 6 0)) (cl-lib (1 0))) "IVS (Ideographic Variation Sequence) editing tool" tar ((:commit . "5db39c234aa7393b591168a4fd0a9a4cbbca347d") (:keywords "text") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "http://github.com/kawabata/ivs-edit"))])
+ (ivy . [(20200430 2237) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:commit . "1bf5b98dc2a01ff4d3255e349cf32817ffaccea1") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))])
+ (ivy-bibtex . [(20200429 1606) ((bibtex-completion (1 0 0)) (swiper (0 7 0)) (cl-lib (0 5))) "A bibliography manager based on Ivy" single ((:commit . "6a884fe8ae939447849e76abf48d1bdf6a9bdcbb") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))])
+ (ivy-clipmenu . [(20200302 1419) ((emacs (26 1)) (f (0 20 0)) (s (1 12 0)) (dash (2 16 0)) (ivy (0 13 0))) "Ivy client for clipmenu" single ((:commit . "ef25acf3f058fe1ede3a29fae2e9cdac8b08cd17") (:authors ("William Carroll" . "wpcarro@gmail.com")) (:maintainer "William Carroll" . "wpcarro@gmail.com") (:url . "https://github.com/wpcarro/ivy-clipmenu.el"))])
+ (ivy-clojuredocs . [(20190907 2053) ((edn (1 1 2)) (ivy (0 12 0)) (emacs (24 4))) "Search for help in clojuredocs.org" single ((:commit . "dd33a25f1de4339f75f05689ed60fe1b1c97f554") (:keywords "matching") (:authors ("Wanderson Ferreira" . "iagwanderson@gmail.com")) (:maintainer "Wanderson Ferreira" . "iagwanderson@gmail.com") (:url . "https://github.com/wandersoncferreira/ivy-clojuredocs"))])
+ (ivy-dired-history . [(20170626 556) ((ivy (0 9 0)) (counsel (0 9 0)) (cl-lib (0 5))) "use ivy to open recent directories" single ((:commit . "c9c67ea1ee5e68443f0e6006ba162d6c8d868b69") (:authors ("纪秀峰" . "jixiuf@gmail.com")) (:maintainer "纪秀峰" . "jixiuf@gmail.com") (:url . "https://github.com/jixiuf/ivy-dired-history"))])
+ (ivy-emoji . [(20200316 2351) ((emacs (26 1)) (ivy (0 13 0))) "Insert emojis with ivy" single ((:commit . "a1b7d32048278afd9b06536a8af96f533639d146") (:keywords "emoji" "ivy" "convenience") (:authors ("Gabriele Bozzola" . "sbozzolator@gmail.com")) (:maintainer "Gabriele Bozzola" . "sbozzolator@gmail.com") (:url . "https://github.com/sbozzolo/ivy-emoji.git"))])
+ (ivy-erlang-complete . [(20191112 1137) ((async (1 9)) (counsel (0 11 0)) (ivy (0 11 0)) (erlang (19 2)) (emacs (25 1))) "Erlang context sensitive completion at point using ivy. It also support xref and eldoc." tar ((:commit . "c443dba0c466d36bef01a8985474f5da0a5a65fe"))])
+ (ivy-explorer . [(20190909 1921) ((emacs (25)) (ivy (0 10 0))) "Dynamic file browsing grid using ivy" single ((:commit . "a413966cfbcecacc082d99297fa1abde0c10d3f3") (:keywords "convenience" "files" "matching") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/ivy-explorer"))])
+ (ivy-fuz . [(20191222 946) ((emacs (25 1)) (fuz (1 3 0)) (ivy (0 13 0))) "Integration between fuz and ivy." single ((:commit . "f171ac73422a4bae1503d63d804e691482ed35b2") (:keywords "convenience") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/ivy-fuz.el"))])
+ (ivy-gitlab . [(20181228 826) ((s (1 9 0)) (dash (2 9 0)) (ivy (0 8 0)) (gitlab (0 8))) "Ivy interface to Gitlab" single ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:keywords "gitlab" "ivy") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))])
+ (ivy-historian . [(20190111 313) ((emacs (24 4)) (historian (20170111)) (ivy (0 8 0)) (flx (0 6 1))) "Persistently store selected minibuffer candidates" single ((:commit . "ac1bea7d99dd6965c72fabeb72d5fdc38c5380a4") (:keywords "convenience" "ivy") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))])
+ (ivy-hydra . [(20200421 1120) ((emacs (24 5)) (ivy (0 13 0)) (hydra (0 15 0))) "Additional key bindings for Ivy" single ((:commit . "1bf5b98dc2a01ff4d3255e349cf32817ffaccea1") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))])
+ (ivy-lobsters . [(20171202 2041) ((ivy (0 8 0)) (cl-lib (0 5))) "Browse lobste.rs stories with ivy." single ((:commit . "4364df4b3685fd1b50865ac9360fb948c0288dd1") (:authors ("Julien Blanchard <https://github.com/julienXX>")) (:maintainer "Julien Blanchard <https://github.com/julienXX>") (:url . "https://github.com/julienXX/ivy-lobsters"))])
+ (ivy-mpdel . [(20190428 920) ((emacs (25 1)) (ivy (0 10 0)) (libmpdel (1 0 0)) (mpdel (1 0 0))) "Ivy interface to navigate MPD" single ((:commit . "a42dcc943914c71975c115195d38c739f25e475c") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/ivy-mpdel"))])
+ (ivy-omni-org . [(20200125 807) ((emacs (25 1)) (ivy (0 10)) (dash (2 12))) "Browse anything in Org mode" single ((:commit . "113477ae46ec857c5794fc0a031c1e579615f0a9") (:keywords "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/ivy-omni-org"))])
+ (ivy-pages . [(20160728 1920) ((emacs (24 1)) (ivy (0 8 0))) "Complete current buffer's pages with Ivy" single ((:commit . "47b03a1f9384502cf22369ff31a2898c863d3aff") (:keywords "convenience" "matching") (:authors ("Igor Epstein" . "igorepst@gmail.com")) (:maintainer "Igor Epstein" . "igorepst@gmail.com") (:url . "https://github.com/igorepst/ivy-pages"))])
+ (ivy-pass . [(20170812 1955) ((emacs (24)) (ivy (0 8 0)) (password-store (1 6 5))) "ivy interface for pass" single ((:commit . "5b523de1151f2109fdd6a8114d0af12eef83d3c5") (:keywords "pass" "password" "convenience" "data") (:authors ("ecraven")) (:maintainer "ecraven") (:url . "https://github.com/ecraven/ivy-pass/"))])
+ (ivy-phpunit . [(20180219 915) ((ivy (0 10 0)) (phpunit (0 7 0)) (emacs (25))) "Ivy integration for phpunit.el" single ((:commit . "ffedb0138d36564e8e36a28fd9bc71ea8944681f") (:keywords "convenience" "tools" "ivy" "phpunit" "php") (:authors ("12pt")) (:maintainer "12pt") (:url . "https://github.com/12pt/ivy-phpunit"))])
+ (ivy-posframe . [(20200331 536) ((emacs (26 0)) (posframe (0 1 0)) (ivy (0 11 0))) "Using posframe to show Ivy" single ((:commit . "ae9bafe94fe6b77b6fe45766ae6172646f6a5d50") (:keywords "abbrev" "convenience" "matching" "ivy") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/ivy-posframe"))])
+ (ivy-prescient . [(20200415 1457) ((emacs (25 1)) (prescient (4 1)) (ivy (0 11 0))) "prescient.el + Ivy" single ((:commit . "0f4a89bdec61395138d968a38d375e63ccfbed63") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))])
+ (ivy-purpose . [(20160724 1003) ((emacs (24)) (ivy (0 8)) (window-purpose (1 5))) "Ivy Interface for Purpose" single ((:commit . "0495f2f3aed64d7e0028125e76a9a68f8fc4107e") (:authors ("Bar Magal (2016)")) (:maintainer "Bar Magal (2016)") (:url . "https://github.com/bmag/ivy-purpose"))])
+ (ivy-rich . [(20200428 110) ((emacs (24 5)) (ivy (0 8 0))) "More friendly display transformer for ivy." single ((:commit . "3f818b201769bc13cc75aa73645217e374136aca") (:keywords "ivy") (:authors ("Yevgnen Koh" . "wherejoystarts@gmail.com")) (:maintainer "Yevgnen Koh" . "wherejoystarts@gmail.com"))])
+ (ivy-rtags . [(20191222 920) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (ivy-todo . [(20200323 2005) ((ivy (0 8 0)) (emacs (25))) "Manage org-mode TODOs with ivy" single ((:commit . "d74501cd334b7d709659946c5e02b21cfd5507de") (:keywords "convenience") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "https://github.com/Kungsgeten/ivy-todo"))])
+ (ivy-xcdoc . [(20160917 1055) ((ivy (0 8 0)) (emacs (24 4))) "Search Xcode documents with ivy interface." single ((:commit . "5ea22af36c4c2737fb0bec53432c233482d8b314") (:keywords "ivy" "xcode" "xcdoc") (:authors ("C.T.Chen" . "chenct@7adybird.com")) (:maintainer "C.T.Chen" . "chenct@7adybird.com") (:url . "https://github.com/hex2010/emacs-ivy-xcdoc"))])
+ (ivy-xref . [(20191126 401) ((emacs (25 1)) (ivy (0 10 0))) "Ivy interface for xref results" single ((:commit . "3d4c35fe2b243d948d8fe02a1f0d76a249d63de9") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/ivy-xref"))])
+ (ivy-yasnippet . [(20181002 1655) ((emacs (24)) (ivy (0 10 0)) (yasnippet (0 12 2)) (dash (2 14 1)) (cl-lib (0))) "Preview yasnippets with ivy" single ((:commit . "ebf05761cd890bccd8072051f988dae7ab11c9ce") (:keywords "convenience") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/ivy-yasnippet"))])
+ (ivy-ycmd . [(20180909 1225) ((ycmd (1 3)) (emacs (24)) (ivy (0 10 0)) (dash (2 14 1))) "Ivy interface to ycmd" single ((:commit . "25bfee8f676e4ecbb645e4f30b47083410a00c58") (:keywords "tools") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ivy-ycmd"))])
+ (ivy-youtube . [(20181126 1039) ((request (0 2 0)) (ivy (0 8 0)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "849b6db7ef02b080a86c1b887488e2935c31059a") (:keywords "youtube" "multimedia" "mpv" "vlc") (:authors ("Brunno dos Santos")) (:maintainer "Brunno dos Santos") (:url . "https://github.com/squiter/ivy-youtube"))])
+ (ix . [(20131027 1629) ((grapnel (0 5 3))) "Emacs client for http://ix.io pastebin" single ((:commit . "aea4c54a5cc5a6f26637353c16a3a0e70fc76963") (:authors ("Abhishek L" . "abhishekl.2006@gmail.com")) (:maintainer "Abhishek L" . "abhishekl.2006@gmail.com") (:url . "http://www.github.com/theanalyst/ix.el"))])
+ (iy-go-to-char . [(20141029 1546) nil "Go to next CHAR which is similar to \"f\" and \"t\" in vim" single ((:commit . "04ab4f5f3a241cbbc9b8c178a22b412a62f632f9") (:keywords "navigation" "search") (:authors ("Ian Yang <doit dot ian (at) gmail dot com>")) (:maintainer "Ian Yang <doit dot ian (at) gmail dot com>") (:url . "https://github.com/doitian/iy-go-to-char"))])
+ (j-mode . [(20171224 1856) nil "Major mode for editing J programs" tar ((:commit . "e8725ac8af95498faabb2ca3ab3bd809a8f148e6") (:keywords "j" "languages") (:url . "http://github.com/zellio/j-mode"))])
+ (jabber . [(20180927 2325) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "fff33826f42e040dad7ef64ea312d85215d3b0a1"))])
+ (jabber-otr . [(20150918 1144) ((emacs (24)) (jabber (0 8 92))) "Off-The-Record messaging for jabber.el" tar ((:commit . "2692b1530234e0ba9a0d6c1eaa1cbe8679f193c0") (:keywords "comm") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:url . "https://github.com/legoscia/emacs-jabber-otr/"))])
+ (jack-connect . [(20200325 1639) nil "Manage jack connections within Emacs" single ((:commit . "c227d1ed3016960c8666a60e4215bbb029436bc7") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))])
+ (jade-mode . [(20160525 1441) nil "Major mode for editing .jade files" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))])
+ (jammer . [(20160310 859) nil "Punish yourself for using Emacs inefficiently" single ((:commit . "48aa795df6df7ae6484518bcd0398293ca49d7c6") (:keywords "games") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/jammer"))])
+ (janet-mode . [(20200429 1430) ((emacs (24 3))) "Defines a major mode for Janet" single ((:commit . "74379a8b83b6a4bd01a3b5e48a3552528f08b3eb") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/janet-mode"))])
+ (japanese-holidays . [(20190317 1220) ((cl-lib (0 3))) "calendar functions for the Japanese calendar" single ((:commit . "45e70a6eaf4a555fadc58ab731d522a037a81997") (:keywords "calendar") (:authors ("Takashi Hattori" . "hattori@sfc.keio.ac.jp") ("Hiroya Murata" . "lapis-lazuli@pop06.odn.ne.jp")) (:maintainer "Takashi Hattori" . "hattori@sfc.keio.ac.jp") (:url . "https://github.com/emacs-jp/japanese-holidays"))])
+ (japanlaw . [(20160615 643) ((cl-lib (0 5))) "Japan law from law.e-gov.go.jp" single ((:commit . "1bbdef942f28c61a0adb89d1b3c2cca5b10ca2dc") (:keywords "docs" "help") (:authors ("Kazushi NODA (http://www.ne.jp/asahi/alpha/kazu/)")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com"))])
+ (jape-mode . [(20140903 1506) nil "An Emacs editing mode mode for GATE's JAPE files" single ((:commit . "85b9182850707b5d107391f6caee5bd401507a7d") (:keywords "languages" "jape" "gate") (:url . "http://github.com/tanzoniteblack/jape-mode"))])
+ (jar-manifest-mode . [(20160501 26) nil "Major mode to edit JAR manifest files" single ((:commit . "270dae14c481300f75ed96dad3a5ae42ca928a1d") (:keywords "convenience" "languages") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:url . "http://github.com/omajid/jar-manifest-mode"))])
+ (jasminejs-mode . [(20150527 5) nil "A minor mode for manipulating jasmine test files" tar ((:commit . "9f8044bf81ab5b4841a30b0bd099916e1b7ff54a") (:keywords "javascript" "jasmine") (:authors ("Eric Stolten" . "stoltene2@gmail.com")) (:maintainer "Eric Stolten" . "stoltene2@gmail.com") (:url . "https://github.com/stoltene2/jasminejs-mode"))])
+ (jastadd-ast-mode . [(20161219 926) ((emacs (24))) "Major mode for editing JastAdd AST files" single ((:commit . "a29fdb470cbf0a398164950a3b0d2217de48e0c0") (:keywords "languages") (:authors ("Rudi Schlatte" . "rudi@constantly.at")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:url . "https://github.com/rudi/jastadd-ast-mode"))])
+ (java-imports . [(20170913 1410) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Java imports" single ((:commit . "e96ff44ed48b362ab6227b8b802b84d84f78bcaa") (:keywords "java") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:url . "http://www.github.com/dakrone/emacs-java-imports"))])
+ (java-snippets . [(20160627 252) ((yasnippet (0 8 0))) "Yasnippets for Java" tar ((:commit . "6d0e2768823be27dbe07448f4cb244cd657a7136") (:authors ("Takayoshi Kimura")) (:maintainer "Takayoshi Kimura") (:url . "https://github.com/nekop/yasnippet-java-mode"))])
+ (javadoc-lookup . [(20160214 31) ((cl-lib (0 3))) "Javadoc Emacs integration with Maven" tar ((:commit . "507a2dd443d60b537b8f779c1847e2cd0ccd1382") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/javadoc-lookup"))])
+ (javap-mode . [(20120223 2208) nil "Javap major mode" single ((:commit . "864c1130e204b2072e1d19cd027b6fce8ebe6629") (:url . "http://github.com/hiredman/javap-mode"))])
+ (jaword . [(20170426 627) ((tinysegmenter (0 1))) "Minor-mode for handling Japanese words better" single ((:commit . "ac062b0e5ab4bd3270497e80aa0f3ac033a0493f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (jazz-theme . [(20200417 2042) nil "A warm color theme for Emacs 24+." single ((:commit . "b6694f09e10aa7df14836aac2f6615c32aa572dd") (:authors ("Roman Parykin" . "donderom@ymail.com")) (:maintainer "Roman Parykin" . "donderom@ymail.com") (:url . "https://github.com/donderom/jazz-theme"))])
+ (jbeans-theme . [(20180309 1625) ((emacs (24))) "Jbeans theme for GNU Emacs 24 (deftheme)" single ((:commit . "3caa95998d8492a2ca6c17971de499ca15609871") (:authors ("Adam Olsen" . "arolsen@gmail.com")) (:maintainer "Adam Olsen" . "arolsen@gmail.com") (:url . "https://github.com/synic/jbeans-emacs"))])
+ (jdecomp . [(20170224 2200) ((emacs (24 5))) "Interface to Java decompilers" single ((:commit . "692866abc83deedce62be8d6040cf24dda7fb7a8") (:keywords "decompile" "java" "languages" "tools") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:url . "https://github.com/xiongtx/jdecomp"))])
+ (jdee . [(20191102 1426) ((emacs (24 3)) (flycheck (30)) (memoize (1 0 1)) (dash (2 13 0)) (s (1 12 0))) "Java Development Environment for Emacs" tar ((:commit . "b510a29f1fc1bea218a6230fb219922775687c78") (:keywords "java" "tools") (:authors ("Paul Kinnucan" . "pkinnucan@attbi.com")) (:maintainer "Paul Landes") (:url . "http://github.com/jdee-emacs/jdee"))])
+ (jedi . [(20191011 1750) ((emacs (24)) (jedi-core (0 2 2)) (auto-complete (1 4))) "a Python auto-completion for Emacs" single ((:commit . "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (jedi-core . [(20191011 1750) ((emacs (24)) (epc (0 1 0)) (python-environment (0 0 2)) (cl-lib (0 5))) "Common code of jedi.el and company-jedi.el" tar ((:commit . "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (jedi-direx . [(20140310 936) ((jedi (0 1 2)) (direx (0 1 -3))) "Tree style source code viewer for Python buffer" single ((:commit . "7a2e677400717ed12b959cb5988e7b3fb1c12117") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (jeison . [(20190721 1651) ((emacs (25 1)) (dash (2 16 0))) "A library for declarative JSON parsing" single ((:commit . "66e276c1f2f08ca54d2cd60f2c9f974c662aae8b") (:keywords "lisp" "json" "data-types") (:url . "http://github.com/SavchenkoValeriy/jeison"))])
+ (jekyll-modes . [(20141117 1314) ((polymode (0 2))) "Major modes (markdown and HTML) for authoring Jekyll content" single ((:commit . "7cb10b50fd2883e3f7b10fdfd98f19f2f0b2381c") (:keywords "docs") (:authors ("Fredrik Appelberg" . "fredrik@milgrim.local")) (:maintainer "Fredrik Appelberg" . "fredrik@milgrim.local") (:url . "https://github.com/fred-o/jekyll-modes"))])
+ (jemdoc-mode . [(20170704 2027) ((emacs (24 3))) "Major mode for editing jemdoc files" single ((:commit . "529b4d4681e1198b9892f340fdd6c3f1592a047a") (:keywords "convenience" "usability") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/jemdoc-mode"))])
+ (jenkins . [(20200115 2133) ((dash (2 12)) (emacs (24 3)) (json (1 4))) "Minimalistic Jenkins client for Emacs" single ((:commit . "29e27a685ec971b518251ce0e66a0b67d78ea395") (:keywords "jenkins" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))])
+ (jenkins-watch . [(20121004 2326) nil "Watch continuous integration build status" single ((:commit . "37b84dfbd98240a57ff798e1ff8bc7dba2913577") (:authors ("Andrew Taylor" . "ataylor@redtoad.ca")) (:maintainer "Andrew Taylor" . "ataylor@redtoad.ca") (:url . "https://github.com/ataylor284/jenkins-watch"))])
+ (jest . [(20200318 237) ((emacs (24 4)) (dash (2 12 0)) (dash-functional (2 12 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0)) (js2-mode (20180301)) (cl-lib (0 6 1))) "helpers to run jest" single ((:commit . "b51be19c1de9e82ee1dc62921be2222fc5685eed") (:keywords "jest" "javascript" "testing") (:authors ("Edmund Miller" . "edmund.a.miller@gmail.com")) (:maintainer "Edmund Miller" . "edmund.a.miller@gmail.com") (:url . "https://github.com/emiller88/emacs-jest/"))])
+ (jest-test-mode . [(20200329 506) ((emacs (25 1))) "Minor mode for running Node.js tests using jest" single ((:commit . "f04d08db36715d7509fd68448f74f917c6c1a382") (:authors ("Raymond Huang" . "rymndhng@gmail.com")) (:maintainer "Raymond Huang" . "rymndhng@gmail.com") (:url . "https://github.com/rymndhng/jest-test-mode.el"))])
+ (jetbrains . [(20180301 502) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17))) "JetBrains IDE bridge" single ((:commit . "56f71a17d455581c10d48f6dbb31d9e2126227bf") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/jetbrains.el"))])
+ (jg-quicknav . [(20170809 130) ((s (1 9 0)) (cl-lib (0 5))) "Quickly navigate the file system to find a file." single ((:commit . "c8d53e774d63e68a944092c08a026b57da741038") (:keywords "navigation") (:authors ("Jeff Gran" . "jeff@jeffgran.com")) (:maintainer "Jeff Gran" . "jeff@jeffgran.com") (:url . "https://github.com/jeffgran/jg-quicknav"))])
+ (jinja2-mode . [(20141128 1007) nil "A major mode for jinja2" single ((:commit . "cfaa7bbe7bb290cc500440124ce89686f3e26f86") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))])
+ (jira-markup-mode . [(20150601 2109) nil "Emacs Major mode for JIRA-markup-formatted text files" single ((:commit . "4fc534c47df26a2f402bf835ebe2ed89474a4062") (:keywords "jira" "markup") (:authors ("Matthias Nuessler" . "m.nuessler@web.de>")) (:maintainer "Matthias Nuessler" . "m.nuessler@web.de>") (:url . "https://github.com/mnuessler/jira-markup-mode"))])
+ (jiralib2 . [(20200331 1940) ((emacs (25)) (request (0 3)) (dash (2 14 1))) "JIRA REST API bindings to Elisp" single ((:commit . "ccf69e417911e091ec4c28d47d178ee63196c626") (:keywords "comm" "jira" "rest" "api") (:authors ("Henrik Nyman" . "h@nyymanni.com")) (:maintainer "Henrik Nyman" . "h@nyymanni.com") (:url . "https://github.com/nyyManni/jiralib2"))])
+ (jist . [(20161229 1721) ((emacs (24 4)) (dash (2 12 0)) (seq (1 11)) (let-alist (1 0 4)) (magit (2 1 0)) (request (0 2 0))) "Gist integration" single ((:commit . "da0692452e312a99bb27d8708504b521798aca48") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/jist.el"))])
+ (jknav . [(20121006 2025) nil "Automatically enable j/k keys for line-based navigation" single ((:commit . "861245715c728503dad6573278fdd75c271dbf8b") (:keywords "keyboard" "navigation") (:authors ("Aaron Culich" . "aculich@gmail.com")) (:maintainer "Aaron Culich" . "aculich@gmail.com"))])
+ (jonprl-mode . [(20160819 59) ((emacs (24 3)) (cl-lib (0 5)) (yasnippet (0 8 0))) "A major mode for editing JonPRL files" tar ((:commit . "6059bb64891fae45827174e044d6a87ac07172d8") (:keywords "languages") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (jpop . [(20170410 1250) ((emacs (24)) (dash (2 11 0)) (cl-lib (0 5))) "Lightweight project caching and navigation framework" tar ((:commit . "7628b03260be96576b34459d45959ee77d8b2110") (:keywords "project" "convenience") (:authors ("Dom Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dom Charlesworth" . "dgc336@gmail.com") (:url . "https://github.com/domtronn/jpop.el"))])
+ (jq-format . [(20190428 1434) ((emacs (24)) (reformatter (0 3))) "Reformat JSON and JSONLines using jq" single ((:commit . "47e1c5adb89b37b4d53fe01302d8c675913c20e7") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-jq-format"))])
+ (jq-mode . [(20200317 852) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "bc904840f27fe7b0e6dbdaeb912a7175a3837110") (:authors ("Bjarte Johansen <Bjarte dot Johansen at gmail dot com>")) (:maintainer "Bjarte Johansen <Bjarte dot Johansen at gmail dot com>") (:url . "https://github.com/ljos/jq-mode"))])
+ (jquery-doc . [(20150812 758) nil "jQuery api documentation interface for emacs" tar ((:commit . "24032284919b942ec27707d929bdd8bf48420062") (:keywords "docs" "jquery") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com"))])
+ (js-auto-beautify . [(20161031 509) ((web-beautify (0 3 1)) (web-mode (14 0 27))) "auto format you js/jsx file" single ((:commit . "180d15af7b5dfaab4ee1954cca2fdc797932f9de") (:authors (nil . "quanwei9958@126.com")) (:maintainer nil . "quanwei9958@126.com"))])
+ (js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "306abcfb9f6e46962061a34b68d4f6baa8c7aba4") (:keywords "languages") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))])
+ (js-codemod . [(20190921 941) ((emacs (24 4))) "Run js-codemod on current sentence or selected region" tar ((:commit . "056bdf3e5e0c807b8cf17edb5834179a90fb722b") (:keywords "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))])
+ (js-comint . [(20200117 615) ((emacs (24 3))) "JavaScript interpreter in window." single ((:commit . "0dedaf4753fbe8cdbab14aa85f05d7673cbee8b6") (:keywords "javascript" "node" "inferior-mode" "convenience") (:authors ("Paul Huff" . "paul.huff@gmail.com")) (:maintainer "Chen Bin <chenbin.sh AT gmail DOT com>") (:url . "https://github.com/redguardtoo/js-comint"))])
+ (js-doc . [(20160715 434) nil "Insert JsDoc style comment easily" single ((:commit . "f0606e89d5aa89146f96edb38cf69af0068a9d1e") (:keywords "document" "comment") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com") (:url . "https://github.com/mooz/js-doc"))])
+ (js-format . [(20170119 102) ((emacs (24 1)) (js2-mode (20101228))) "Format or transform code style using NodeJS server with different javascript formatter" tar ((:commit . "544bda9be72b74ec2d442543ba60cff727d96669") (:keywords "js" "javascript" "format" "standard" "jsbeautify" "esformatter" "airbnb") (:authors ("James Yang" . "jamesyang999@gmail.com")) (:maintainer "James Yang" . "jamesyang999@gmail.com") (:url . "http://github.com/futurist/js-format.el"))])
+ (js-import . [(20190218 1319) ((emacs (24 4)) (f (0 19 0)) (projectile (0 14 0)) (dash (2 13 0))) "Import Javascript files from your current project or dependencies" single ((:commit . "2ab3b120cc94ebf4bee2d959c8869440bc4c7484") (:keywords "tools") (:authors ("Jakob Lind" . "karl.jakob.lind@gmail.com")) (:maintainer "Jakob Lind" . "karl.jakob.lind@gmail.com") (:url . "https://github.com/jakoblind/js-import"))])
+ (js-react-redux-yasnippets . [(20200316 1144) ((emacs (24 3)) (yasnippet (0 8 0))) "JavaScript,React,Redux yasnippets" tar ((:commit . "9f509043f01fa59bff4daf31b2e95d63f8deab4a") (:keywords "convenience" "snippets") (:authors ("sooqua")) (:maintainer "sooqua") (:url . "https://github.com/sooqua/js-react-redux-yasnippets"))])
+ (js2-closure . [(20170816 1918) ((js2-mode (20150909))) "Google Closure dependency manager" single ((:commit . "f59db386d7d0693935d0bf52babcd2c203c06d04") (:keywords "javascript" "closure") (:authors ("Justine Tunney" . "jart@google.com")) (:maintainer "Justine Tunney" . "jart@google.com") (:url . "http://github.com/jart/js2-closure"))])
+ (js2-highlight-vars . [(20170418 1829) ((emacs (24 4)) (js2-mode (20150908))) "highlight occurrences of the variable under cursor" single ((:commit . "e3bb177e50f76b272e8073a94d4f46be6512a163") (:authors ("Mihai Bazon" . "mihai.bazon@gmail.com")) (:maintainer "Mihai Bazon" . "mihai.bazon@gmail.com") (:url . "http://mihai.bazon.net/projects/editing-javascript-with-emacs-js2-mode/js2-highlight-vars-mode"))])
+ (js2-mode . [(20200427 33) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "515d876c6ae45a61cf67a7bd5723fe4c9e518756") (:keywords "languages" "javascript") (:authors ("Steve Yegge" . "steve.yegge@gmail.com") ("mooz" . "stillpedant@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Steve Yegge" . "steve.yegge@gmail.com") (:url . "https://github.com/mooz/js2-mode/"))])
+ (js2-refactor . [(20190630 2108) ((js2-mode (20101228)) (s (1 9 0)) (multiple-cursors (1 0 0)) (dash (1 0 0)) (s (1 0 0)) (yasnippet (0 9 0 1))) "A JavaScript refactoring library for emacs." tar ((:commit . "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28"))])
+ (js3-mode . [(20160515 1550) nil "An improved JavaScript editing mode" tar ((:commit . "229aeb374f1b1f3ee5c59b8ba3eebb6385c232cb") (:keywords "javascript" "languages") (:authors ("Thom Blake" . "webmaster@thomblake.com")) (:maintainer "Thom Blake" . "webmaster@thomblake.com"))])
+ (jscs . [(20151015 1749) ((emacs (24 1)) (cl-lib (0 5))) "Consistent JavaScript editing using JSCS" single ((:commit . "9d39d0f2355e69a020bf76242504f3a33e013ccf") (:keywords "languages" "convenience") (:authors ("papaeye" . "papaeye@gmail.com")) (:maintainer "papaeye" . "papaeye@gmail.com") (:url . "https://github.com/papaeye/emacs-jscs"))])
+ (jsfmt . [(20180920 1008) nil "Interface to jsfmt command for javascript files" single ((:commit . "ca141a135c7700eaedef92561d334e1fb7dc28a1") (:authors ("Brett Langdon" . "brett@blangdon.com")) (:maintainer "Brett Langdon" . "brett@blangdon.com") (:url . "https://github.com/brettlangdon/jsfmt.el"))])
+ (json-mode . [(20190123 422) ((json-reformat (0 0 5)) (json-snatcher (1 0 0))) "Major mode for editing JSON files." single ((:commit . "0e819e519ae17a2686e0881c4ca51fa873fa9b83") (:authors ("Josh Johnston")) (:maintainer "Josh Johnston") (:url . "https://github.com/joshwnj/json-mode"))])
+ (json-navigator . [(20191213 755) ((emacs (25 1)) (hierarchy (0 6 0))) "View and navigate JSON structures" single ((:commit . "afd902e0b5cde37fad4786515a695d17f1625286") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/json-navigator"))])
+ (json-process-client . [(20190827 1858) ((emacs (25 1))) "Interact with a TCP process using JSON" single ((:commit . "422606a7bf08d13646e3db4f6c2bddb69bd61dec") (:authors ("Nicolas Petton" . "nicolas@petton.fr") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/nico/json-process-client"))])
+ (json-reformat . [(20160212 853) nil "Reformatting tool for JSON" single ((:commit . "8eb6668ed447988aea06467ba8f42e1f2178246f") (:keywords "json") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/json-reformat"))])
+ (json-rpc . [(20200417 1629) ((emacs (24 1)) (cl-lib (0 5))) "JSON-RPC library" single ((:commit . "81a5a520072e20d18aeab2aac4d66c046b031e56") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-json-rpc"))])
+ (json-rpc-server . [(20190714 1521) ((emacs (26))) "Server-side JSON-RPC library." single ((:commit . "1623346b308dc8f593346dc947fdc4092d674834") (:keywords "tools" "comm" "json" "rpc") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:url . "https://github.com/jcaw/json-rpc-server.el"))])
+ (json-snatcher . [(20150512 347) ((emacs (24))) "Grabs the path to JSON values in a JSON file" single ((:commit . "c4cecc0a5051bd364373aa499c47a1bb7a5ac51c") (:authors ("Sterling Graham" . "sterlingrgraham@gmail.com")) (:maintainer "Sterling Graham" . "sterlingrgraham@gmail.com") (:url . "http://github.com/sterlingg/json-snatcher"))])
+ (jsonl . [(20190623 509) ((emacs (25))) "Utility functions for working with line-delimited JSON" single ((:commit . "3dd0b7bb2b4bce9f9de7367941f0cc78f82049c9") (:keywords "tools") (:authors ("Erik Anderson" . "erik@ebpa.link")) (:maintainer "Erik Anderson" . "erik@ebpa.link") (:url . "https://github.com/ebpa/jsonl.el"))])
+ (jsonnet-mode . [(20200218 2217) ((emacs (24))) "Major mode for editing jsonnet files" single ((:commit . "d8b486c8376a4785a7f2dc8a16fe1f2d82c6bfae") (:keywords "languages") (:authors ("Nick Lanham")) (:maintainer "Nick Lanham") (:url . "https://github.com/mgyucht/jsonnet-mode"))])
+ (jss . [(20130508 1423) ((emacs (24 1)) (websocket (0)) (js2-mode (0))) "An emacs interface to webkit and mozilla debuggers" tar ((:commit . "41749257aecf13c7bd6ed489b5ab3304d06e40bc") (:keywords "languages") (:authors ("Marco Baringer" . "mb@bese.it")) (:maintainer "Marco Baringer" . "mb@bese.it"))])
+ (jst . [(20150604 1138) ((s (1 9)) (f (0 17)) (dash (2 10)) (pcache (0 3)) (emacs (24 4))) "JS test mode" single ((:commit . "2a3fd16c992f7790dc67134ef06a814c3d20579c") (:keywords "js" "javascript" "jasmine" "coffee" "coffeescript") (:authors ("Cheung Hoi Yu" . "yeannylam@gmail.com")) (:maintainer "Cheung Hoi Yu" . "yeannylam@gmail.com") (:url . "https://github.com/cheunghy/jst-mode"))])
+ (jtags . [(20160211 2029) nil "enhanced tags functionality for Java development" tar ((:commit . "b50daa48510f71e74ce0ec2eb85030896a79cf96") (:keywords "languages" "tools") (:authors ("Alexander Baltatzis" . "alexander@baltatzis.com") ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:url . "http://jtags.sourceforge.net"))])
+ (julia-mode . [(20200331 1658) ((emacs (24 3))) "Major mode for editing Julia source code" tar ((:commit . "88d7d875ef32eb9fb76917c97150654bb91ac96a") (:keywords "languages") (:url . "https://github.com/JuliaEditorSupport/julia-emacs"))])
+ (julia-repl . [(20200310 1145) ((emacs (25)) (s (1 12))) "A minor mode for a Julia REPL" tar ((:commit . "5fa04de4e76e10d5ee37d4244f48ddae4503faa1") (:keywords "languages") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:url . "https://github.com/tpapp/julia-repl"))])
+ (julia-shell . [(20161125 1910) ((julia-mode (0 3))) "Major mode for an inferior Julia shell" tar ((:commit . "583a0b2ca20461ab4356929fd0f2212c22341b69") (:authors ("Dennis Ogbe" . "dogbe@purdue.edu")) (:maintainer "Dennis Ogbe" . "dogbe@purdue.edu"))])
+ (julia-snail . [(20200427 1929) ((emacs (26 2)) (cl-lib (0 5)) (dash (2 16 0)) (julia-mode (0 3)) (s (1 12 0)) (parsec (0 1 3)) (spinner (1 7 3)) (vterm (0 0 1))) "Julia Snail" tar ((:commit . "4b179dc87adcd793cf60a4cb3423916686a971a3") (:url . "https://github.com/gcv/julia-snail"))])
+ (jumblr . [(20170727 2043) ((s (1 8 0)) (dash (2 2 0))) "an anagram game for emacs" tar ((:commit . "34533dfb9db8538c005f4eaffafeff7ed193729f") (:keywords "anagram" "word game" "games") (:url . "https://github.com/mkmcc/jumblr"))])
+ (jump . [(20161127 128) ((findr (0 7)) (inflections (2 4)) (cl-lib (0 5))) "build functions which contextually jump between files" single ((:commit . "e4f1372cf22e811faca52fc86bdd5d817498a4d8") (:keywords "project" "convenience" "navigation") (:authors ("Eric Schulte")) (:maintainer "Eric Schulte") (:url . "http://github.com/eschulte/jump.el"))])
+ (jump-char . [(20180601 1348) nil "navigation by char" single ((:commit . "1e31a3c687f2b3c71bbfab881c6d75915534bb9e") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/jump-char"))])
+ (jump-to-line . [(20130122 1653) nil "Jump to line number at point." single ((:commit . "01ef8c3529d85e6c59cc20840acbc4a8e8325bc8") (:keywords "jump" "line" "back" "file" "ruby" "csharp" "python" "perl") (:authors ("ongaeshi")) (:maintainer "ongaeshi"))])
+ (jump-tree . [(20171014 1551) nil "Treat position history as a tree" tar ((:commit . "282267dc6305889e31d46b405b7ad4dfe5923b66") (:keywords "convenience" "position" "jump" "tree") (:authors ("Wen Yang" . "yangwen0228@foxmail.com")) (:maintainer "Wen Yang" . "yangwen0228@foxmail.com") (:url . "https://github.com/yangwen0228/jump-tree"))])
+ (jumplist . [(20151120 345) ((cl-lib (0 5))) "Jump like vim jumplist or ex jumplist" single ((:commit . "c482d137d95bc5e1bcd790cdbde25b7f729b2502") (:keywords "jumplist" "vim") (:authors ("ganmacs <ganmacs_at_gmail.com>")) (:maintainer "ganmacs <ganmacs_at_gmail.com>") (:url . "https://github.com/ganmacs/jumplist"))])
+ (jupyter . [(20200417 1907) ((emacs (26)) (zmq (0 10 3)) (cl-lib (0 5)) (simple-httpd (1 5 0)) (websocket (1 9))) "Jupyter" tar ((:commit . "785edbbff65abb0c929dc2fbd8b8305c77fd529e") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-jupyter"))])
+ (jvm-mode . [(20150422 708) ((dash (2 6 0)) (emacs (24))) "Monitor and manage your JVMs" single ((:commit . "3355dbaf5b0185aadfbad24160399abb32c5bea0") (:keywords "convenience") (:authors ("Martin Trojer" . "martin.trojer@gmail.com")) (:maintainer "Martin Trojer" . "martin.trojer@gmail.com") (:url . "https://github.com/martintrojer/jvm-mode.el"))])
+ (k8s-mode . [(20191006 849) ((emacs (24 3)) (yaml-mode (0 0 10))) "Major mode for Kubernetes configuration file" tar ((:commit . "5984acee6f3891afa78acfd1d08c44a24953a233") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/emacs-k8s-mode"))])
+ (kaesar . [(20160128 1008) ((cl-lib (0 3))) "Another AES algorithm encrypt/decrypt string with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))])
+ (kaesar-file . [(20160128 1008) ((kaesar (0 1 1))) "Encrypt/Decrypt file by AES with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data" "files") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))])
+ (kaesar-mode . [(20160128 1008) ((kaesar (0 1 4)) (cl-lib (0 3))) "Encrypt/Decrypt buffer by AES with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:keywords "data" "convenience") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))])
+ (kakapo-mode . [(20171004 451) ((cl-lib (0 5))) "TABS (hard or soft) for indentation (leading whitespace), and SPACES for alignment." single ((:commit . "292e07203c676361a1d918deb5acf2123cd70eaf") (:keywords "indentation") (:url . "https://github.com/listx/kakapo-mode"))])
+ (kakoune . [(20191017 1502) ((ryo-modal (0 4)) (multiple-cursors (1 4)) (expand-region (0 11 0)) (emacs (25 1))) "A simulation, but not emulation, of kakoune" tar ((:commit . "d73d14e69ea38076af50cc69f846808383ff539d") (:authors ("Joseph Morag" . "jm4157@columbia.edu")) (:maintainer "Joseph Morag" . "jm4157@columbia.edu") (:url . "https://github.com/jmorag/kakoune.el"))])
+ (kaleidoscope . [(20170808 817) ((s (1 11 0))) "Controlling Kaleidoscope-powered devices." single ((:commit . "52b5be3277f65cb5ca657973e9bd7f914b996356") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/kaleidoscope.el"))])
+ (kaleidoscope-evil-state-flash . [(20170728 1020) ((evil (1 2 12)) (kaleidoscope (0 1 0)) (s (1 11 0))) "Flash keyboard LEDs when changing Evil state" single ((:commit . "52b5be3277f65cb5ca657973e9bd7f914b996356") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/kaleidoscope.el"))])
+ (kanban . [(20170418 810) nil "Parse org-todo headlines to use org-tables as Kanban tables" single ((:commit . "dd11d722b20ae720f29b8aa93a3b1cad87650b33") (:keywords "outlines" "convenience") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))])
+ (kanji-mode . [(20160826 1139) nil "View stroke order for kanji characters at cursor" tar ((:commit . "eda4f8666486689d36317db7dbda54fb73d3e3d2") (:authors ("Wojciech Gac" . "wojciech.s.gac@gmail.com")) (:maintainer "Wojciech Gac" . "wojciech.s.gac@gmail.com") (:url . "http://github.com/wsgac/kanji-mode "))])
+ (kaocha-runner . [(20190904 1950) ((emacs (26)) (s (1 4 0)) (cider (0 21 0)) (parseedn (0 1 0))) "A package for running Kaocha tests via CIDER." single ((:commit . "1376d50f1fc91f9345351aeb4960b54bf83be59e") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:url . "https://github.com/magnars/kaocha-runner.el"))])
+ (kaolin-themes . [(20200324 1349) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "9877c12ad412e79b3d88423f911be1ff59a72e0e") (:keywords "dark" "light" "teal" "blue" "violet" "purple" "brown" "theme" "faces") (:authors ("Ogden Webb" . "ogdenwebb@gmail.com")) (:maintainer "Ogden Webb" . "ogdenwebb@gmail.com") (:url . "https://github.com/ogdenwebb/emacs-kaolin-themes"))])
+ (kaomoji . [(20171227 440) ((emacs (24 3)) (helm-core (1 9 1))) "Input kaomoji superb easily" tar ((:commit . "90a1490743b2a30762f5454c9d9309018eff83dd") (:keywords "tools" "fun") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/kaomoji.el"))])
+ (kapacitor . [(20190414 1908) ((emacs (25 1)) (magit (2 13 0)) (magit-popup (2 12 4))) "Main file for kapacitor-mode" single ((:commit . "e3300d8b4017a2f66b0d929cb85bcc7ee2612072") (:keywords "kapacitor" "emacs" "magit" "tools") (:authors ("Manoj Kumar Manikchand" . "manojm.321@gmail.com")) (:maintainer "Manoj Kumar Manikchand" . "manojm.321@gmail.com") (:url . "http://github.com/Manoj321/kapacitor-el"))])
+ (karma . [(20160220 1245) ((pkg-info (0 4)) (emacs (24))) "Karma Test Runner Emacs Integration" single ((:commit . "31d3e7708246183d7ed0686be92bf23140af348c") (:keywords "language" "javascript" "js" "karma" "testing") (:authors ("Samuel Tonini")) (:maintainer "Samuel Tonini") (:url . "http://github.com/tonini/karma.el"))])
+ (kconfig-mode . [(20190818 2030) ((emacs (24 3))) "Major mode for editing Kconfig files" single ((:commit . "02bb919596cf673828e95872dc329f2424a99864") (:keywords "kconfig" "languages" "linux" "kernel") (:authors ("Dela Anthonio" . "dell.anthonio@gmail.com")) (:maintainer "Dela Anthonio" . "dell.anthonio@gmail.com") (:url . "https://github.com/delaanthonio/kernel-modes"))])
+ (kdeconnect . [(20180126 2340) nil "An interface for KDE Connect" single ((:commit . "ca0cbf9a628ba7b519b43fa85e0d988ca26bf853") (:keywords "kdeconnect" "android") (:authors ("Carl Lieberman" . "dev@carl.ac")) (:maintainer "Carl Lieberman" . "dev@carl.ac"))])
+ (keepass-mode . [(20200216 723) ((emacs (27))) "Mode to open Keepass DB" single ((:commit . "09dcc1da15808b5b6c22bc5d0cb4e2ba5d425ef8") (:keywords "data" "files" "tools") (:authors ("Ignasi Fosch" . "natx@y10k.ws")) (:maintainer "Ignasi Fosch" . "natx@y10k.ws") (:url . "https://github.com/ifosch/keepass-mode"))])
+ (kerl . [(20150424 2005) nil "Emacs integration for kerl" single ((:commit . "1732ee26213f021bf040919c45ad276aafcaae14") (:keywords "tools") (:authors ("Correl Roush" . "correl@gmail.com")) (:maintainer "Correl Roush" . "correl@gmail.com") (:url . "http://github.com/correl/kerl.el/"))])
+ (key-chord . [(20160227 1238) nil "map pairs of simultaneously pressed keys to commands" single ((:commit . "72443e9ff3c4f1c3ccaced3130236801efde3d83") (:keywords "keyboard" "chord" "input") (:authors ("David Andersson <l.david.andersson(at)sverige.nu>")) (:maintainer "David Andersson <l.david.andersson(at)sverige.nu>"))])
+ (key-combo . [(20150324 1439) nil "map key sequence to commands" single ((:commit . "2fb5c65bc82d5bd2964e2b163822429ab45d90a1") (:keywords "keyboard" "input") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:url . "https://github.com/uk-ar/key-combo"))])
+ (key-intercept . [(20140211 749) nil "Intercept prefix keys" single ((:commit . "d9a60edb4ce893f2d3d94f242164fdcc62d43cf2") (:keywords "keyboard") (:authors ("INA Lintaro <tarao.gnn at gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>") (:url . "http://github.com/tarao/key-intercept-el"))])
+ (key-leap . [(20160831 1447) ((emacs (24 3))) "Leap between lines by typing keywords" single ((:commit . "b3f6ef15c8a13870475d5af159fa24b30f97dea0") (:keywords "point" "convenience") (:authors ("Martin Rykfors" . "martinrykfors@gmail.com")) (:maintainer "Martin Rykfors" . "martinrykfors@gmail.com") (:url . "https://github.com/MartinRykfors/key-leap"))])
+ (key-quiz . [(20200226 2129) ((emacs (26))) "Emacs Keys Quiz" single ((:commit . "1ee67f3f8977d95785e021f7896685de1979137e") (:keywords "games") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/key-quiz"))])
+ (key-seq . [(20150907 756) ((key-chord (0 6))) "map pairs of sequentially pressed keys to commands" single ((:commit . "e29b083a6427d061638749194fc249ef69ad2cc0") (:keywords "convenience" "keyboard" "keybindings") (:authors ("Vyacheslav Levit" . "dev@vlevit.org")) (:maintainer "Vyacheslav Levit" . "dev@vlevit.org") (:url . "http://github.com/vlevit/key-seq.el"))])
+ (keycast . [(20200418 2028) ((emacs (25 3))) "Show current command and its key in the mode line" single ((:commit . "a912c4db1b88390f76b14e3b47ded314fdc8f48c") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keycast"))])
+ (keychain-environment . [(20180318 2223) nil "load keychain environment variables" single ((:commit . "d3643196de6dc79ea77f9f4805028350fd76100b") (:keywords "gnupg" "pgp" "ssh") (:authors ("Paul Tipper <bluefoo at googlemail dot com>")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keychain-environment"))])
+ (keydef . [(20090428 1931) nil "a simpler way to define keys, with kbd syntax" single ((:commit . "dff2be9f58d12d8c6a490ad0c1b2b10b55528dc0") (:keywords "convenience" "lisp" "customization" "keyboard" "keys") (:authors ("Michael John Downes" . "mjd@ams.org")) (:maintainer "Michael John Downes" . "mjd@ams.org"))])
+ (keyfreq . [(20160516 1416) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "e5fe9d585ce882f1ba9afa5d894eaa82c79be4f4") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))])
+ (keymap-utils . [(20200413 1858) ((cl-lib (0 3))) "keymap utilities" single ((:commit . "195e0ca5b1b9967faf94a3e5a634d8975b796705") (:keywords "convenience" "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keymap-utils"))])
+ (keypress-multi-event . [(20190109 530) ((emacs (24 3))) "Perform different actions for the same keypress." single ((:commit . "9de65a27e10d8ae47aa6d28c02c3eb82ee8c0b2e") (:keywords "abbrev" "convenience" "wp" "keyboard") (:authors ("Boruch Baum" . "boruch_baum@gmx.com")) (:maintainer "Boruch Baum" . "boruch_baum@gmx.com") (:url . "https://www.github.com/Boruch_Baum/emacs-keypress-multi-event"))])
+ (keypression . [(20200114 750) ((emacs (26 3))) "Keystroke visualizer" single ((:commit . "9ce977dabd8355ebe35d9d06821e4edb09060d2b") (:keywords "key" "screencast" "tools") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-keypression"))])
+ (keyset . [(20150220 530) ((dash (2 8 0)) (cl-lib (0 5))) "A small library for structuring key bindings." single ((:commit . "41bbfc4dbed5de6ecf3ec1dba634c7c26241ca84") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/keyset"))])
+ (keystore-mode . [(20190409 1946) ((emacs (24 3)) (origami (1 0)) (s (1 12 0)) (seq (2 20))) "A major mode for viewing and managing (java) keystores" tar ((:commit . "43bd5926348298d077c7221f37902c990df3f951") (:keywords "tools") (:authors ("Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com")) (:maintainer "Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com") (:url . "https://github.com/peterpaul/keystore-mode"))])
+ (keyswap . [(20160813 957) ((emacs (24 3))) "swap bindings between key pairs" single ((:commit . "cd682a7c4a8d64d6bae6a005db5045232e5e7b95") (:keywords "convenience") (:authors ("Matthew Malcomson" . "hardenedapple@gmail.com")) (:maintainer "Matthew Malcomson" . "hardenedapple@gmail.com") (:url . "http://github.com/hardenedapple/keyswap.el"))])
+ (keyword-search . [(20180424 1102) nil "browser keyword search from Emacs" tar ((:commit . "f8475ecaddb8804a9be6bee47678207c86ac8dee") (:keywords "web" "search" "keyword") (:maintainer "Jens Petersen") (:url . "https://github.com/juhp/keyword-search"))])
+ (kfg . [(20140909 538) ((f (0 17 1))) "an emacs configuration system" single ((:commit . "d2c9dd26618fb2f7bf1e7b6eae193b1cceba3c97") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/kfg"))])
+ (khardel . [(20191124 1257) ((emacs (25 1)) (yaml-mode (0 0 13))) "Integrate with khard" tar ((:commit . "5ee835a4429c58dec3900e4fa3d7cc1e778c969b") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/khardel"))])
+ (kibit-helper . [(20150508 1533) ((s (0 8)) (emacs (24))) "Conveniently use the Kibit Leiningen plugin from Emacs" single ((:commit . "16bdfff785ee05d8e74a5780f6808506d990cef7") (:keywords "languages" "clojure" "kibit") (:authors ("Jonas Enlund") ("James Elliott" . "james@brunchboy.com")) (:maintainer "Jonas Enlund") (:url . "http://www.github.com/brunchboy/kibit-helper"))])
+ (kill-or-bury-alive . [(20190713 1340) ((emacs (24 4)) (cl-lib (0 5))) "Precise control over buffer killing in Emacs" single ((:commit . "e77fcf46284afa1fd13499db695745112f41c8cd") (:keywords "buffer" "killing" "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/kill-or-bury-alive"))])
+ (kill-ring-search . [(20140422 1555) nil "incremental search for the kill ring" single ((:commit . "23535b4a01a1cb1574604e36c49614e84e85c883") (:keywords "convenience" "matching") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/kill-ring-search/"))])
+ (killer . [(20190128 10) nil "kill and delete text" single ((:commit . "ace0547944933440384ceeb5876b1f68c082d540") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "http://github.com/tarsius/killer"))])
+ (kite . [(20130201 1938) ((json (1 2)) (websocket (0 93 1))) "WebKit inspector front-end" tar ((:commit . "7ed74d1147a6ddd152d3da65dc30df3517d53144") (:keywords "tools") (:authors ("Julian Scheid" . "julians37@gmail.com")) (:maintainer "Julian Scheid" . "julians37@gmail.com"))])
+ (kite-mini . [(20160508 1106) ((dash (2 11 0)) (websocket (1 5))) "Remotely evaluate JavaScript in the WebKit debugger" tar ((:commit . "a68619dbc109c7989f3448426d8c1ee9e797c11f") (:keywords "webkit") (:authors ("Tung Dao" . "me@tungdao.com")) (:maintainer "Tung Dao" . "me@tungdao.com") (:url . "https://github.com/tungd/kite-mini.el"))])
+ (kivy-mode . [(20180702 2029) nil "Emacs major mode for editing Kivy files" single ((:commit . "b6eddbb2fcf97a21b7f0c4cfbf0d8ccdb74fb3ec") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))])
+ (kiwix . [(20200428 339) ((emacs (24 4)) (cl-lib (0 5)) (request (0 3 0))) "Searching offline Wikipedia through Kiwix." tar ((:commit . "2011a9fce5584cdce9c99424c1d216ad437c8bbf") (:keywords "kiwix" "wikipedia") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/kiwix.el"))])
+ (kixtart-mode . [(20150611 1604) ((emacs (24))) "major mode for Kixtart scripting files" single ((:commit . "1c2356797e7b766bbaaa2b341176a8b10499cd79") (:keywords "languages") (:authors ("Ryrun <https://github.com/ryrun>")) (:maintainer "Ryrun <https://github.com/ryrun>") (:url . "https://github.com/ryrun/kixtart-mode"))])
+ (klere-theme . [(20180415 1823) ((emacs (24))) "A dark theme with lambent color highlights and incremental grays" single ((:commit . "c064f9e5c44173c239fce239a62c8d5e61827672") (:authors ("Wamm K. D." . "jaft.r@outlook.com")) (:maintainer "Wamm K. D." . "jaft.r@outlook.com") (:url . "https://github.com/WammKD/emacs-klere-theme"))])
+ (know-your-http-well . [(20160208 2304) nil "Look up the meaning of HTTP headers, methods, relations, status codes" tar ((:commit . "3cc5ab6d2764ab7aacb1b6e026abaccbeb6c37f2"))])
+ (kodi-remote . [(20190622 1325) ((request (0 2 0)) (let-alist (1 0 4)) (json (1 4)) (cl-lib (0 5)) (f (20190109 906))) "Remote Control for Kodi" single ((:commit . "f5e932036c16e2b61a63020e006fc601e38d181e") (:keywords "kodi" "tools" "convinience") (:authors ("Stefan Huchler" . "stefan.huchler@mail.de")) (:maintainer "Stefan Huchler" . "stefan.huchler@mail.de") (:url . "http://github.com/spiderbit/kodi-remote.el"))])
+ (kolon-mode . [(20140122 1134) nil "Syntax highlighting for Text::Xslate's Kolon syntax" single ((:commit . "5af0955e280ae991862189ebecd3937c5fc8fb9f") (:keywords "xslate" "perl") (:authors ("Sam Tran")) (:maintainer "Sam Tran") (:url . "https://github.com/samvtran/kolon-mode"))])
+ (kooten-theme . [(20161023 905) ((emacs (24 1))) "Dark color theme" single ((:commit . "d10197b4dd7af02cd14aeab2573c273a294798c3") (:keywords "themes") (:authors ("Pascal van Kooten" . "kootenpv@gmail.com")) (:maintainer "Pascal van Kooten" . "kootenpv@gmail.com") (:url . "http://github.com/kootenpv/emacs-kooten-theme"))])
+ (korean-holidays . [(20190102 1558) nil "Korean holidays for calendar." single ((:commit . "3f90ed86f46f8e5533f23baa40e2513ac497ca2b") (:keywords "calendar") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:url . "https://github.com/tttuuu888/korean-holidays"))])
+ (kosmos-theme . [(20170502 1850) ((emacs (24))) "Black and lightgray theme with not so much syntax highlighting." single ((:commit . "616456d2376a75dc31190ad65137d179fbad4336") (:authors ("Maxim Kim" . "habamax@gmail.com")) (:maintainer "Maxim Kim" . "habamax@gmail.com") (:url . "https://github.com/habamax/kosmos-theme"))])
+ (kotlin-mode . [(20191102 1510) ((emacs (24 3))) "Major mode for kotlin" tar ((:commit . "ab610996820b5cbdb032edbf8747661131603ab8") (:keywords "languages") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com"))])
+ (kpm-list . [(20170924 1352) nil "An emacs buffer list that tries to intelligently group together buffers." single ((:commit . "e0f5112e5ce8ec1b603f4428fa51681c68bb28f5") (:authors ("Kevin Mahoney")) (:maintainer "Kevin Mahoney") (:url . "https://github.com/KMahoney/kpm-list/"))])
+ (kroman . [(20150827 2340) nil "Korean hangul romanization" single ((:commit . "90402b6ae40383e75d8ba97d66eee93eebf40f70") (:keywords "korean" "roman") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))])
+ (ksp-cfg-mode . [(20190414 2348) ((emacs (24)) (cl-lib (0 5))) "major mode for editing KSP CFG files" single ((:commit . "faec8bd8456c67276d065eb68c88a30efcef59ef") (:keywords "data") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:url . "http://github.com/lashtear/ksp-cfg-mode"))])
+ (kubectx-mode . [(20200116 1918) ((emacs (24))) "Change kubectl context/namespace and show in mode line" single ((:commit . "f08687ae5403eb18bbeffc6dafdfde469bdb9a36") (:keywords "tools" "kubernetes") (:authors ("Terje Sannum" . "terje@offpiste.org")) (:maintainer "Terje Sannum" . "terje@offpiste.org") (:url . "https://github.com/terjesannum/emacs-kubectx-mode"))])
+ (kubel . [(20200429 1454) ((transient (0 1 0)) (emacs (25 3)) (dash (2 17 0)) (s (1 2 0))) "extension for controlling Kubernetes with limited permissions" single ((:commit . "7a0f095992cc135babfbf9706b6eb927e0d0c883") (:keywords "kubernetes" "k8s" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/kubel"))])
+ (kubel-evil . [(20200312 1349) ((kubel (1 0)) (evil (1 0)) (emacs (25 3))) "extension for kubel to provide evil keybindings" single ((:commit . "7a0f095992cc135babfbf9706b6eb927e0d0c883") (:keywords "kubernetes" "k8s" "tools" "processes" "evil" "keybindings") (:authors ("Marcel Patzwahl")) (:maintainer "Marcel Patzwahl") (:url . "https://github.com/abrochard/kubel"))])
+ (kubernetes . [(20200114 436) ((emacs (25 1)) (dash (2 12 0)) (magit (2 8 0)) (magit-popup (2 13 0))) "Magit-like porcelain for Kubernetes." tar ((:commit . "cc33d8c7bb114c34809ee86020b9e635eff0017b") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))])
+ (kubernetes-evil . [(20191108 615) ((kubernetes (0 13 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "cc33d8c7bb114c34809ee86020b9e635eff0017b") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))])
+ (kubernetes-helm . [(20190201 320) ((yaml-mode (0 0 13)) (emacs (25 3))) "extension for helm, the package manager for kubernetes" single ((:commit . "bdf9280899b5efab6d55ffd96bad716c5f8e75bc") (:keywords "kubernetes" "helm" "k8s" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/kubernetes-helm"))])
+ (kubernetes-tramp . [(20181228 922) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for kubernetes containers" single ((:commit . "8713571b66940f8f3f496b55baa23cdf1df7a869") (:keywords "kubernetes" "convenience") (:authors ("Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com")) (:maintainer "Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com") (:url . "https://github.com/gruggiero/kubernetes-tramp"))])
+ (kurecolor . [(20200113 2027) ((emacs (24 1)) (s (1 0))) "color editing goodies for Emacs" single ((:commit . "3fc84840cbbd75e646cafa2fd3a00004b55e37ec") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))])
+ (kv . [(20140108 1534) nil "key/value data structure functions" single ((:commit . "721148475bce38a70e0b678ba8aa923652e8900e") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (kwin . [(20150308 1812) nil "communicatewith the KWin window manager" single ((:commit . "d4f8f3593598b71ee596e0a87b2c1d6a912a9566") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner") (:url . "http://github.com/reactormonk/kwin-minor-mode"))])
+ (lab-themes . [(20200204 1931) ((emacs (24))) "A custom theme carefully constructed in the LAB space" tar ((:commit . "2cd61072d2b4c563d961f80918fc6b1dc45f7ba4") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/lab-theme"))])
+ (labburn-theme . [(20200309 1556) nil "A lab color space zenburn theme." single ((:commit . "d11537a2060df7e992217ede8f65d6c11de49458") (:keywords "theme" "zenburn") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/labburn-theme"))])
+ (laguna-theme . [(20191229 19) nil "A theme that's easy on the eyes & focuses on importance." single ((:commit . "0da19f68ba22a39c02d83063f5b4936401ce4d97") (:authors ("Henry Newcomer" . "a.cliche.email@gmail.com")) (:maintainer "Henry Newcomer" . "a.cliche.email@gmail.com") (:url . "https://github.com/HenryNewcomer/laguna-theme"))])
+ (lambdapi-mode . [(20200429 546) ((emacs (26 1)) (eglot (1 5)) (math-symbol-lists (1 2 1))) "A major mode for editing Lambdapi source code" tar ((:commit . "27a7e9190bdad0a4c568104995ac641d0e5e566e") (:keywords "languages") (:authors ("Rodolphe Lepigre, Gabriel Hondet")) (:maintainer "Deducteam" . "dedukti-dev@inria.fr") (:url . "https://github.com/Deducteam/lambdapi"))])
+ (lammps-mode . [(20180801 1319) ((emacs (24 4))) "basic syntax highlighting for LAMMPS files" single ((:commit . "a5b68d7a59975770b56ee8f6e66fa4f703a72ffe") (:keywords "languages" "faces") (:authors ("Aidan Thompson <athomps at sandia.gov>")) (:maintainer "Rohit Goswami <r95g10 at gmail.com>") (:url . "https://github.com/lammps/lammps/tree/master/tools/emacs"))])
+ (lang-refactor-perl . [(20131122 2127) nil "Simple refactorings, primarily for Perl" single ((:commit . "691bd69639de6b7af357e3b7143563ececd9c497") (:keywords "languages" "refactoring" "perl") (:authors (nil . "Johan Lindstrom <buzzwordninja not_this_bit@googlemail.com>")) (:maintainer nil . "Johan Lindstrom <buzzwordninja not_this_bit@googlemail.com>") (:url . "https://github.com/jplindstrom/emacs-lang-refactor-perl"))])
+ (langdoc . [(20150218 645) ((cl-lib (0 2))) "Help to define help document mode for various languages" single ((:commit . "2c7223bacb116992d700ecb19a60df5c09c63424") (:keywords "convenience" "eldoc") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/langdoc/"))])
+ (langtool . [(20200117 441) ((cl-lib (0 3))) "Grammar check utility using LanguageTool" single ((:commit . "a71ed02ce06920ae3cafd6708de1c21811ce14c3") (:keywords "docs") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-langtool"))])
+ (language-detection . [(20161123 1813) ((emacs (24)) (cl-lib (0 5))) "Automatic language detection from code snippets" single ((:commit . "54a6ecf55304fba7d215ef38a4ec96daff2f35a4") (:authors ("Andreas Jansson" . "andreas@jansson.me.uk")) (:maintainer "Andreas Jansson" . "andreas@jansson.me.uk") (:url . "https://github.com/andreasjansson/language-detection.el"))])
+ (language-id . [(20200409 607) ((emacs (24)) (cl-lib (0 5))) "Library to work with programming language identifiers" single ((:commit . "bf17d80b6c4b58fb66cddc2b2914f57d48468e97") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-language-id"))])
+ (languagetool . [(20200229 145) ((emacs (25 1))) "LanguageTool integration for grammar check" single ((:commit . "13a8cc6835c48b72a3b7917a1631eeab429dca5b") (:keywords "grammar" "text" "docs" "tools") (:authors ("Joar Buitrago" . "jebuitragoc@unal.edu.co")) (:maintainer "Joar Buitrago" . "jebuitragoc@unal.edu.co") (:url . "https://github.com/PillFall/Emacs-LanguageTool.el"))])
+ (lastfm . [(20200320 1839) ((emacs (26 1)) (request (0 3 0)) (anaphora (1 0 4)) (memoize (1 1)) (elquery (0 1 0)) (s (1 12 0))) "Last.fm API for Emacs Lisp" single ((:commit . "54636059512adec0176950e8fce3b9bf7423619d") (:keywords "multimedia" "api") (:authors ("Mihai Olteanu" . "mihai_olteanu@fastmail.fm")) (:maintainer "Mihai Olteanu" . "mihai_olteanu@fastmail.fm") (:url . "https://github.com/mihaiolteanu/lastfm.el/"))])
+ (lastpass . [(20200320 2117) ((emacs (24 4)) (seq (1 9)) (cl-lib (0 5))) "LastPass command wrapper" single ((:commit . "ac472f844bd1e109c62479253cbc40bb5e50ed8f") (:keywords "extensions" "processes" "lpass" "lastpass") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/emacs-lastpass"))])
+ (latex-extra . [(20170817 147) ((auctex (11 86 1)) (cl-lib (0 5))) "Adds several useful functionalities to LaTeX-mode." single ((:commit . "82d99b8b0c2db20e5270749582e03bcc2443ffb5") (:keywords "tex") (:authors ("Artur Malabarba" . "artur@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "artur@endlessparentheses.com") (:url . "http://github.com/Malabarba/latex-extra"))])
+ (latex-math-preview . [(20190123 802) nil "preview LaTeX mathematical expressions." single ((:commit . "90fd86da2d9514882146a5db40cb916fc533cf55") (:keywords "latex" "tex") (:authors ("Takayuki YAMAGUCHI" . "d@ytak.info")) (:maintainer "Takayuki YAMAGUCHI" . "d@ytak.info") (:url . "https://gitlab.com/latex-math-preview/latex-math-preview"))])
+ (latex-pretty-symbols . [(20151112 1044) nil "Display many latex symbols as their unicode counterparts" single ((:commit . "83d5888147bb734a94dfd4847a11e975a7d86ba8") (:keywords "convenience" "display") (:authors ("Erik Parmann" . "eparmann@gmail.com") ("Pål Drange")) (:maintainer "Erik Parmann" . "eparmann@gmail.com") (:url . "https://bitbucket.org/mortiferus/latex-pretty-symbols.el"))])
+ (latex-preview-pane . [(20181008 1822) nil "Makes LaTeX editing less painful by providing a updatable preview pane" tar ((:commit . "5297668a89996b50b2b62f99cba01cc544dbed2e"))])
+ (latex-unicode-math-mode . [(20170123 1816) nil "Input method for Unicode math symbols" tar ((:commit . "eb4a5c9f9b00a58d2ca80f90782a851f4c8497b8") (:authors ("Christoph Dittmann" . "github@christoph-d.de")) (:maintainer "Christoph Dittmann" . "github@christoph-d.de") (:url . "https://github.com/Christoph-D/latex-unicode-math-mode"))])
+ (latexdiff . [(20190827 1651) ((emacs (24 4))) "Latexdiff integration in Emacs" single ((:commit . "56d0b240867527d1b43d3ddec14059361929b971") (:keywords "tex" "vc" "tools" "git" "helm") (:authors ("Launay Gaby" . "gaby.launay@tutanota.com")) (:maintainer "Launay Gaby" . "gaby.launay@tutanota.com") (:url . "http://github.com/galaunay/latexdiff.el"))])
+ (launch . [(20130619 2204) nil "launch files with OS-standard associated applications." single ((:commit . "e7c3b573fc05fe4d3d322389079909311542e799") (:keywords "convenience" "processes") (:authors ("Simon Law" . "sfllaw@sfllaw.ca")) (:maintainer "Simon Law" . "sfllaw@sfllaw.ca") (:url . "https://github.com/sfllaw/emacs-launch"))])
+ (launch-mode . [(20170106 512) ((emacs (24 4))) "Major mode for launch-formatted text" tar ((:commit . "25ebd4ba77afcbe729901eb74923dbe9ae81c313") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:url . "https://github.com/iory/launch-mode"))])
+ (launchctl . [(20150518 1309) ((emacs (24 1))) "Interface to launchctl on Mac OS X." single ((:commit . "73f8f52a5aa9a0be9bdcf68c29ad0fa2b4a115a4") (:keywords "tools" "convenience") (:authors ("Peking Duck <github.com/pekingduck>")) (:maintainer "Peking Duck <github.com/pekingduck>") (:url . "http://github.com/pekingduck/launchctl-el"))])
+ (lavender-theme . [(20170808 1313) ((emacs (24 0))) "an Emacs 24 theme based on Lavender (tmTheme)" single ((:commit . "ef5e959b95d7fb8152137bc186c4c24e986c1e3c") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (lavenderless-theme . [(20200213 2057) ((colorless-themes (0 1))) "A mostly colorless version of lavender-theme" single ((:commit . "2b4c341640c8191a39e4bc28d6cd04c7d6dcbb37") (:keywords "faces" "theme") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))])
+ (lcb-mode . [(20160816 540) ((emacs (24))) "LiveCode Builder major mode" single ((:commit . "be0768e9aa6f9b8e76f2230f4f7f4d152a766b9a") (:keywords "languages") (:authors ("Peter TB Brett" . "peter@peter-b.co.uk")) (:maintainer "Peter TB Brett" . "peter@peter-b.co.uk") (:url . "https://github.com/peter-b/lcb-mode"))])
+ (lcr . [(20180902 1919) ((dash (2 12 0)) (emacs (25 1))) "lightweight coroutines" single ((:commit . "c14f40692292d59156c7632dbdd2867c086aa75f") (:keywords "tools") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:url . "https://github.com/jyp/lcr"))])
+ (leaf . [(20200422 644) ((emacs (24 4))) "Simplify your init.el configuration, extended use-package" single ((:commit . "27f21ed46a907a911222a72a31b41e414c956cfb") (:keywords "lisp" "settings") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf.el"))])
+ (leaf-convert . [(20200415 1725) ((emacs (26 1)) (leaf (3 6 0)) (leaf-keywords (1 1 0)) (ppp (2 1))) "Convert many format to leaf format" single ((:commit . "2a8ec045d5d36e85e7deb2a46aefacaecf4bfafe") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf-convert.el"))])
+ (leaf-keywords . [(20200428 1803) ((emacs (24 4)) (leaf (3 5 0))) "Additional leaf.el keywords for external packages" single ((:commit . "bdf225b2b2cc76b87f5bf55dfa09c3a020ac1e7d") (:keywords "lisp" "settings") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf-keywords.el"))])
+ (leaf-manager . [(20200414 543) ((emacs (26 1)) (leaf (4 1)) (leaf-convert (1 0)) (ppp (2 1))) "Configuration manager for leaf based init.el" single ((:commit . "f2ae35e02ebe218daa3076a0e9d83b4feadfbb0a") (:keywords "convenience" "leaf") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf-manager.el"))])
+ (leaf-tree . [(20200412 2355) ((emacs (25 1)) (imenu-list (0 8))) "Interactive side-bar feature for init.el using leaf" single ((:commit . "22f6c116cf1465c28d4a35d8a4587a8b614be175") (:keywords "convenience" "leaf") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/leaf-tree.el"))])
+ (lean-mode . [(20200319 838) ((emacs (24 3)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 10 0)) (f (0 19 0)) (flycheck (30))) "A major mode for the Lean language" tar ((:commit . "65b55b1711fb61129312044d5ac7e6a2c2ee245c") (:keywords "languages") (:authors ("Leonardo de Moura" . "leonardo@microsoft.com") ("Soonho Kong " . "soonhok@cs.cmu.edu") ("Gabriel Ebner " . "gebner@gebner.org") ("Sebastian Ullrich" . "sebasti@nullri.ch")) (:maintainer "Sebastian Ullrich" . "sebasti@nullri.ch") (:url . "https://github.com/leanprover/lean-mode"))])
+ (leanote . [(20161223 139) ((emacs (24 4)) (cl-lib (0 5)) (request (0 2)) (let-alist (1 0 3)) (pcache (0 4 0)) (s (1 10 0)) (async (1 9))) "A minor mode writing markdown leanote" single ((:commit . "d499e7b59bb1f1a2fabc0e4c26fb101ed62ebc7b") (:keywords "leanote" "note" "markdown") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:url . "https://github.com/aborn/leanote-emacs"))])
+ (learn-ocaml . [(20200224 2229) ((emacs (25 1))) "Emacs frontend for learn-ocaml" single ((:commit . "e3424b3ae3f7d85ef020d030c2fa58df86ed8955") (:url . "https://github.com/pfitaxel/learn-ocaml.el"))])
+ (ledger-import . [(20200302 943) ((emacs (25 1)) (ledger-mode (3 1 1))) "Fetch OFX files from bank and push them to Ledger" single ((:commit . "955e915fef9d46c968ef9101f7770870e2d2d80f") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))])
+ (ledger-mode . [(20200425 1517) ((emacs (24 3))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "021eff5f88bf6392d7b3e511593e07471eb7833d"))])
+ (leerzeichen . [(20170422 1313) nil "Minor mode to display whitespace characters." single ((:commit . "5acf9855ecb2b2cd5da4402bb48df149e7525cc5") (:keywords "whitespace" "characters") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:url . "http://github.com/fgeller/leerzeichen.el"))])
+ (leetcode . [(20200101 1111) ((emacs (26)) (dash (2 16 0)) (graphql (0 1 1)) (spinner (1 7 3)) (aio (1 0))) "An leetcode client." single ((:commit . "28b78c45c86570cb1e3538f275eb4de1cf28cd04") (:keywords "extensions" "tools") (:authors ("Wang Kai" . "kaiwkx@gmail.com")) (:maintainer "Wang Kai" . "kaiwkx@gmail.com") (:url . "https://github.com/kaiwk/leetcode.el"))])
+ (legalese . [(20200119 2248) nil "Add legalese to your program files" single ((:commit . "e465471d2d5a62d35073d93e0f8d40387a82e302") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/legalese"))])
+ (lemon-mode . [(20130216 1304) nil "A major mode for editing lemon grammar files" single ((:commit . "155bfced6c9afc8072a0133d3d1baa54c6d67430") (:keywords "lemon") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com"))])
+ (lenlen-theme . [(20170329 245) ((color-theme-solarized (20150110))) "a solarized-based kawaii light theme" single ((:commit . "b8a6412c81633b10fb98ba0930f55b25071c084a") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (lentic . [(20190102 2124) ((emacs (24 4)) (m-buffer (0 13)) (dash (2 5 0)) (f (0 17 2)) (s (1 9 0))) "One buffer as a view of another" tar ((:commit . "e6d013bf570bb235817f6c8f0abdd31d3b456d53") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))])
+ (lentic-server . [(20160717 2052) ((lentic (0 8)) (web-server (0 1 1))) "Web Server for Emacs Literate Source" single ((:commit . "8e809fafbb27a98f815b544d9d9ee15843eb6a36") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))])
+ (less-css-mode . [(20161001 453) nil "Major mode for editing LESS CSS files (lesscss.org)" single ((:commit . "c7fa3d56d83206b28657f2e56439dc62280a2bf2") (:keywords "less" "css" "mode") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/less-css-mode"))])
+ (letcheck . [(20160202 1948) nil "Check the erroneous assignments in let forms" single ((:commit . "edf188ca2f85349e971b83f164c6484264e79426") (:keywords "convenience") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/letcheck"))])
+ (letterbox-mode . [(20170702 125) ((emacs (24 3))) "hide sensitive text on a buffer" single ((:commit . "88c67a51d67216d569a28e8423200883fde096dd") (:keywords "password" "convenience") (:authors ("Fernando Leboran" . "f.leboran@gmail.com")) (:maintainer "Fernando Leboran" . "f.leboran@gmail.com") (:url . "http://github.com/pacha64/letterbox-mode"))])
+ (leuven-theme . [(20200425 756) nil "Awesome Emacs color theme on white background" tar ((:commit . "e6b6c3a918cfbcb4374a3bca559ee59701fbe89b") (:keywords "color" "theme") (:authors ("Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>")) (:maintainer "Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>") (:url . "https://github.com/fniessen/emacs-leuven-theme"))])
+ (levenshtein . [(20090830 1040) nil "Edit distance between two strings." single ((:commit . "070925197ebf6b704e6e00c4f2d2ec783f3df38c") (:keywords "lisp") (:authors ("Aaron S. Hawley <ashawley at uvm dot edu>,") ("Art Taylor")) (:maintainer "Aaron S. Hawley <ashawley at uvm dot edu>,"))])
+ (lexbind-mode . [(20141027 1429) nil "Puts the value of lexical-binding in the mode line" single ((:commit . "fa0a6848c1cfd3fbf45db43dc2deef16377d887d") (:keywords "convenience" "lisp") (:authors ("Andrew Kirkpatrick" . "ubermonk@gmail.com")) (:maintainer "Andrew Kirkpatrick" . "ubermonk@gmail.com") (:url . "https://github.com/spacebat/lexbind-mode"))])
+ (lfe-mode . [(20170121 1254) nil "Lisp Flavoured Erlang mode" tar ((:commit . "a6c9922f31f59686bb48db1b8d5b75e74e79757a"))])
+ (libbcel . [(20191203 654) ((emacs (26 1)) (request (0 3 1))) "Library to connect to basecamp 3 API" tar ((:commit . "df466d31544c53d8550f9c08e58b70adc559c48c") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/bcel/libbcel"))])
+ (libelcouch . [(20190820 1632) ((emacs (25 1)) (request (0 3 0))) "Communication with CouchDB" single ((:commit . "29e369df4f96c7ad95bb33292de7a44122e0b4e7") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/elcouch/libelcouch/"))])
+ (libgit . [(20200223 1431) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "6c3b89276a149b2d009882f756a9edf866671f05") (:keywords "git" "vc") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/libegit2"))])
+ (libmpdee . [(20160117 2301) nil "Client end library for mpd, a music playing daemon" single ((:commit . "a6ca3b7d6687f3ba60996b9b5044ad1d3b228290") (:keywords "music" "mpd") (:authors ("Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com")) (:maintainer "Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com"))])
+ (libmpdel . [(20200105 1537) ((emacs (25 1))) "Communication with an MPD server" tar ((:commit . "95cb45ecea933e7befb2a5a6a6e7d15651c8746a") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))])
+ (lice . [(20191011 631) nil "License And Header Template" tar ((:commit . "3ff90745cd43d1cc41216a01f55f871a00692ffe") (:keywords "template" "license" "tools") (:authors ("Taiki Sugawara" . "buzz.taiki@gmail.com")) (:maintainer "Taiki Sugawara" . "buzz.taiki@gmail.com") (:url . "https://github.com/buzztaiki/lice-el"))])
+ (light-soap-theme . [(20150607 1445) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "76a787bd40c6b567ae68ced7f5d9f9f10725e00d"))])
+ (line-reminder . [(20191016 1528) ((emacs (24 4)) (cl-lib (0 6))) "Line annotation similar to Visual Studio." single ((:commit . "f50f8474db7c9b26ab3cf56d08e5184209f25cec") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/line-reminder"))])
+ (line-up-words . [(20180219 1024) nil "Align words in an intelligent way" single ((:commit . "d083a9f0c74830bd77b794babb09fe0f0fdb3854") (:url . "https://github.com/janestreet/line-up-words"))])
+ (lines-at-once . [(20180422 247) ((emacs (25))) "Insert and edit multiple lines at once" single ((:commit . "a018ba90549384d52ec58c2685fd14a0f65252be") (:keywords "abbrev" "tools") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:url . "https://github.com/jiahaowork/lines-at-once.el"))])
+ (lingr . [(20100807 1731) nil "Lingr Client for GNU Emacs" single ((:commit . "4215a8704492d3c860097cbe2649936c22c196df") (:keywords "chat" "client" "internet") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "lugecy" . "lugecy@gmail.com") (:url . "http://github.com/lugecy/lingr-el"))])
+ (linguistic . [(20181129 2116) nil "A package for basic linguistic analysis." tar ((:commit . "23e47e98cdb09ee61883669b6d8a11bf6449862c") (:keywords "linguistics" "text analysis" "matching") (:authors ("Andrew Favia <drewlinguistics01 at gmail dot com>")) (:maintainer "Andrew Favia <drewlinguistics01 at gmail dot com>") (:url . "https://github.com/andcarnivorous/linguistic"))])
+ (link . [(20191111 446) nil "Hypertext links in text buffers" single ((:commit . "c9cad101100975e88873636bfd426b7a19304ebd") (:keywords "interface" "hypermedia") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))])
+ (link-hint . [(20200405 1607) ((avy (0 4 0)) (emacs (24 1)) (cl-lib (0 5))) "Use avy to open, copy, etc. visible links." single ((:commit . "7440704cacb5c0fab35fff8ec59d30fbea17f44a") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/link-hint.el"))])
+ (linphone . [(20130524 1109) nil "Emacs interface to Linphone" tar ((:commit . "99af3db941b7f4e5272bb48bff96c1ce4ceac302") (:keywords "comm") (:authors ("Yoni Rabkin" . "yonirabkin@member.fsf.org")) (:maintainer "Yoni Rabkin" . "yonirabkin@member.fsf.org") (:url . "https://github.com/zabbal/emacs-linphone"))])
+ (linum-off . [(20160217 2137) nil "Provides an interface for turning line-numbering off" single ((:commit . "116e66ac259b183e0763b85616888316ab196822") (:keywords "line" "numbering") (:authors ("Matthew L. Fidler, Florian Adamsky (see wiki)")) (:maintainer "Matthew L. Fidler") (:url . "http://www.emacswiki.org/emacs/auto-indent-mode.el "))])
+ (linum-relative . [(20180124 1047) nil "display relative line number in emacs." single ((:commit . "c74a6981b688a5e1e6b8e0809363963ff558ce4d") (:keywords "converience") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/linum-relative"))])
+ (liquid-types . [(20151202 735) ((flycheck (0 13)) (dash (1 2)) (emacs (24 1)) (popup (0 5 2)) (pos-tip (0 5 0)) (flycheck-liquidhs (0 0 1)) (button-lock (1 0 2))) "show inferred liquid-types" single ((:commit . "cc4bacbbf204ef9cf0756f78dfebee2c6ae14d7b") (:authors ("Ranjit Jhala" . "jhala@cs.ucsd.edu")) (:maintainer "Ranjit Jhala" . "jhala@cs.ucsd.edu"))])
+ (liso-theme . [(20160410 2029) nil "Eclectic Dark Theme for GNU Emacs" single ((:commit . "844688245eb860d23043455e165ee24503454c81") (:keywords "theme" "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/liso-theme"))])
+ (lisp-butt-mode . [(20191128 835) ((emacs (25))) "Slim Lisp Butts" single ((:commit . "9eca319bdbb96dac4d44d19cd21937ed82a67268") (:keywords "lisp") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/lisp-butt-mode"))])
+ (lisp-extra-font-lock . [(20181008 1921) nil "Highlight bound variables and quoted exprs." single ((:commit . "4605eccbe1a7fcbd3cacf5b71249435413b4db4f") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/lisp-extra-font-lock"))])
+ (lisp-local . [(20200409 1330) ((emacs (24 3)) (cl-lib (0 5))) "Allow different Lisp indentation in each buffer" single ((:commit . "ff745a937f79df51cac0209b3cc3c35ce1d1fc61") (:keywords "languages" "lisp") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lispunion/emacs-lisp-local"))])
+ (lispxmp . [(20170926 23) nil "Automagic emacs lisp code annotation" single ((:commit . "7ad077b4ee91ce8a42f84eeddb9fc7ea4eac7814") (:keywords "lisp" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/lispxmp.el"))])
+ (lispy . [(20200430 338) ((emacs (24 3)) (ace-window (0 9 0)) (iedit (0 9 9)) (counsel (0 11 0)) (hydra (0 14 0)) (zoutline (0 1 0))) "vi-like Paredit" tar ((:commit . "1abfd85f959a2a3cd5c2806b2837990ec671fe7c"))])
+ (lispyscript-mode . [(20170720 1917) nil "Major mode for LispyScript code." single ((:commit . "def632e3335b0c481fbcf5a17f18b0a8c58dd12f") (:keywords "lisp" "languages") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/lispyscript-mode"))])
+ (lispyville . [(20200129 243) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "25a70126ea807653e0a8c512d4128c90ed673d7a") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/lispyville"))])
+ (list-environment . [(20151227 256) nil "A tabulated process environment editor" single ((:commit . "b7ca30b05905047be2e55199a6475f8d98ce318b") (:keywords "processes" "unix") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com"))])
+ (list-packages-ext . [(20151115 1716) ((s (1 6 0)) (ht (1 5 0)) (persistent-soft (0 8 6))) "Extras for list-packages" single ((:commit . "b4dd644e4369c9aa66f5bb8895ea49ebbfd0a27a") (:keywords "convenience" "tools") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com"))])
+ (list-unicode-display . [(20181121 2316) ((emacs (24 3))) "Search for and list unicode characters by name" single ((:commit . "0ecc2402b258990e7a0cf7e60847712c69444070") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (list-utils . [(20160414 1402) nil "List-manipulation utility functions" single ((:commit . "acf18aca1131a90f8d673974673e3c5d8fdc6a86") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/list-utils"))])
+ (lit-mode . [(20141123 1736) nil "Major mode for lit" single ((:commit . "c61c403afc8333a5649c5421ab1a6341dc1c7d92") (:keywords "languages" "tools") (:authors ("Hector A Escobedo" . "ninjahector.escobedo@gmail.com")) (:maintainer "Hector A Escobedo" . "ninjahector.escobedo@gmail.com"))])
+ (litable . [(20200130 1329) ((dash (2 6 0))) "dynamic evaluation replacement with emacs" single ((:commit . "02247ca284cbc79f3afb783d62ed092bfc5b8d83") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (litanize . [(20200211 621) ((emacs (24 1)) (enlive (0 0 1)) (s (1 12 0))) "Generate \"Latour Litanies\"" single ((:commit . "ba73259e35b4649884ba56542d3a55f43bd3b80b") (:keywords "tools" "latour litany" "alien phenomenology" "ontography" "metaphorism" "carpentry") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/litanizer"))])
+ (litecoin-ticker . [(20160612 11) ((json (1 2))) "litecoin price in modeline" single ((:commit . "3d8047c736e4ee0b8638953f8cc63eaefad34106") (:authors ("Zhe Lei")) (:maintainer "Zhe Lei"))])
+ (literal-string . [(20191023 733) ((emacs (25)) (edit-indirect (0 1 5))) "edit string literals in a dedicated buffer" single ((:commit . "afffa86e626798ee9f9188ea3be2d5ee6ad17c39") (:keywords "lisp" "tools" "docs") (:authors ("Joost Diepenmaat" . "joost@zeekat.nl")) (:maintainer "Joost Diepenmaat" . "joost@zeekat.nl") (:url . "https://github.com/joodie/literal-string-mode/"))])
+ (literate-coffee-mode . [(20170211 1515) ((coffee-mode (0 5 0))) "major-mode for Literate CoffeeScript" single ((:commit . "55ce0305495f4a38c8063c4bd63deb1e1252373d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-literate-coffee-mode"))])
+ (literate-elisp . [(20200327 620) ((cl-lib (0 6)) (emacs (26 1))) "A library to write Emacs Lisp codes in org mode" single ((:commit . "732d649136051a4b6d43c2fabeb5233c3e5f16d7") (:keywords "lisp" "docs" "extensions" "tools") (:authors ("Jingtao Xu" . "jingtaozf@gmail.com")) (:maintainer "Jingtao Xu" . "jingtaozf@gmail.com") (:url . "https://github.com/jingtaozf/literate-elisp"))])
+ (literate-starter-kit . [(20150730 1854) ((emacs (24 3))) "A literate starter kit to configure Emacs using Org-mode files." tar ((:commit . "6dce1d01781966c14558aa553cfc85008c06e115"))])
+ (live-code-talks . [(20180907 1647) ((emacs (24)) (cl-lib (0 5)) (narrowed-page-navigation (0 1))) "Support for slides with live code in them" single ((:commit . "97f16a9ee4e6ff3e0f9291eaead772c66e3e12ae") (:keywords "docs" "multimedia") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (live-preview . [(20200419 2143) ((emacs (24 4))) "Live preview by any shell command while editing" single ((:commit . "7af1c74e0479c5b91d6368a4a3ff1342b83ef477") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-live-preview"))])
+ (live-py-mode . [(20200401 420) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "ab15012313217114d3f3940a6578df31ad223010") (:keywords "live" "coding") (:authors ("Don Kirkby http://donkirkby.github.io")) (:maintainer "Don Kirkby http://donkirkby.github.io") (:url . "http://donkirkby.github.io/live-py-plugin/"))])
+ (lively . [(20171005 754) nil "interactively updating text" single ((:commit . "348675828c6a81bfa1ac311ca465aad813542c1b") (:authors ("Luke Gorrie" . "luke@bup.co.nz")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (livereload . [(20170629 650) ((emacs (25)) (websocket (1 8))) "Livereload server" tar ((:commit . "1e501d7e46dbd476c2c7cc9d20b5ac9d41fb1955") (:keywords "convenience") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com"))])
+ (livescript-mode . [(20140613 421) nil "Major mode for editing LiveScript files" single ((:commit . "90a918d9686e256e6d4d439cc20f24dad8d3b804") (:keywords "languages" "livescript") (:authors ("Hisamatsu Yasuyuki" . "yas@null.net")) (:maintainer "Hisamatsu Yasuyuki" . "yas@null.net") (:url . "https://github.com/yhisamatsu/livescript-mode"))])
+ (livid-mode . [(20131116 1344) ((skewer-mode (1 5 3)) (s (1 8 0))) "Live browser eval of JavaScript every time a buffer changes" single ((:commit . "dfe5212fa64738bc4138bfebf349fbc8bc237c26") (:authors ("Murphy McMahon")) (:maintainer "Murphy McMahon") (:url . "https://github.com/pandeiro/livid-mode"))])
+ (lms . [(20191102 3) ((emacs (25 1))) "Squeezebox / Logitech Media Server frontend" single ((:commit . "0967d3bada2ab70784a944d56c81691b8e87dbd8") (:keywords "multimedia") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/lms"))])
+ (load-bash-alias . [(20200106 2015) ((emacs (24 1)) (seq (2 16))) "Convert bash aliases into eshell ones" single ((:commit . "999c613898085b37b9e16b60be1cbeaa9986d368") (:keywords "emacs" "bash" "eshell" "alias") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:url . "https://github.com/daviderestivo/load-bash-alias"))])
+ (load-env-vars . [(20180511 2210) ((emacs (24))) "Load environment variables from files" single ((:commit . "3808520efaf9492033f6e11a9bffd68eabf02a0f") (:keywords "lisp") (:authors ("Jorge Dias" . "jorge@mrdias.com")) (:maintainer "Jorge Dias" . "jorge@mrdias.com") (:url . "https://github.com/diasjorge/emacs-load-env-vars"))])
+ (load-relative . [(20190601 1221) nil "Relative file load (within a multi-file Emacs package)" tar ((:commit . "dbcd7cbcca6503ef93f4b8d19bf7a9efd7f6bf9b") (:keywords "internal") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-load-relative"))])
+ (load-theme-buffer-local . [(20120702 2036) nil "Install emacs24 color themes by buffer." single ((:commit . "e606dec66f16a06140b9aad625a4fd52bca4f936") (:keywords "faces") (:authors ("Victor Borja" . "vic.borja@gmail.com")) (:maintainer "Victor Borja" . "vic.borja@gmail.com") (:url . "http://github.com/vic/color-theme-buffer-local"))])
+ (loc-changes . [(20160801 1708) nil "keep track of positions even after buffer changes" single ((:commit . "4d1dcdf7631c23b1259ad4f72bf9686cf95fb46c") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-loc-changes"))])
+ (loccur . [(20191022 1955) ((emacs (24 3))) "Perform an occur-like folding in current buffer" single ((:commit . "4934c0560d2f63e6314b4584211a0cc0a7e671c4") (:keywords "matching") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/loccur"))])
+ (lockfile-mode . [(20170625 507) nil "Major mode for .lock files" single ((:commit . "fcfef88460cb3cd67c4d83a1801d0326d282feac") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-lockfile-mode"))])
+ (lodgeit . [(20190802 1308) nil "Paste to a lodgeit powered pastebin" single ((:commit . "442637194d48a7105b7747b8d98772f5899f9e21") (:keywords "pastebin" "lodgeit") (:authors ("Eric Larson" . "eric@ionrock.org")) (:maintainer "Eric Larson" . "eric@ionrock.org") (:url . "https://github.com/ionrock/lodgeit-el"))])
+ (log4e . [(20200420 745) nil "provide logging framework for elisp" single ((:commit . "7df0c1ff4656f8f993b87064b1567618eadb5546") (:keywords "log") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/log4e"))])
+ (log4j-mode . [(20160108 1918) nil "major mode for viewing log files" single ((:commit . "26171b1e723502055e085393b0ecdcb6db406010") (:keywords "tools") (:authors ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:url . "http://log4j-mode.sourceforge.net"))])
+ (logalimacs . [(20131021 1829) ((popwin (0 6 2)) (popup (0 5 0)) (stem (20130120))) "Front-end to logaling-command for Ruby gems" single ((:commit . "8286e39502250fc6c3c6656a7f46a8eee8e9a713") (:keywords "translation" "logaling-command") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/logaling/logalimacs"))])
+ (logito . [(20120225 2055) ((eieio (1 3))) "logging library for Emacs" single ((:commit . "824acb89d2cc18cb47281a4fbddd81ad244a2052") (:keywords "lisp" "tool") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))])
+ (lognav-mode . [(20191124 1011) ((emacs (24 3))) "Navigate Log Error Messages" single ((:commit . "7eb9cd2af5b47116fe475870b41dded55052c14c") (:keywords "log" "error" "lognav-mode" "convenience") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://hg.osdn.net/view/lognav-mode/lognav-mode"))])
+ (logpad . [(20190927 2043) nil "Simulate Windows Notepad for logging." single ((:commit . "ff80fd198b196c4db9ca88ae8cf858cae491e121") (:keywords "files" "outlines" "notepad") (:authors ("Jens K. Loewe" . "git@tuxproject.de")) (:maintainer "Jens K. Loewe" . "git@tuxproject.de") (:url . "https://bitbucket.org/tux_/logpad.el"))])
+ (logstash-conf . [(20170524 1929) nil "basic mode for editing logstash configuration" single ((:commit . "4e127f9aec190786613445aa88efa307ff7c6748") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (logview . [(20200331 2111) ((emacs (24 4)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "c67298a215136617de60c9041904ee6a455dcd4f") (:keywords "files" "tools") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/logview"))])
+ (lol-data-dragon . [(20200321 2142) ((emacs (25 1))) "Browse Champions of League of Legends on Data Dragon" single ((:commit . "6f53bb3971daad60bd0529d1e3889d5f9fedf235") (:keywords "games" "hypermedia") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/lol-data-dragon.el"))])
+ (lolcat . [(20190527 1145) ((emacs (24 3))) "Rainbows and unicorns!" single ((:commit . "4855e587a3b9681c077dac4b9f166dd860f439a4") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/lolcat.el"))])
+ (lolcode-mode . [(20111002 847) nil "Major mode for editing LOLCODE" single ((:commit . "1914f1ba87587ecf5f175eeb2144c28e9f039317") (:keywords "lolcode" "major" "mode") (:authors ("Bodil Stokke" . "lolcode@bodil.tv")) (:maintainer "Bodil Stokke" . "lolcode@bodil.tv") (:url . "http://github.com/bodil/lolcode-mode"))])
+ (look-dired . [(20160729 2323) ((look-mode (1 0))) "Extensions to look-mode for dired buffers" single ((:commit . "9bfa4e5e6f3810705b6426c88493ea0bf6b15640") (:keywords "convenience") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/look-dired"))])
+ (look-mode . [(20190212 2346) nil "quick file viewer for image and text file browsing" single ((:commit . "d686e4cfafeac24e07e3efdb9763472f78d878f4") (:authors ("Peter H. Mao <peter.mao@gmail.com>" . "petermao@jpl.nasa.gov")) (:maintainer "Peter H. Mao <peter.mao@gmail.com>" . "petermao@jpl.nasa.gov"))])
+ (loop . [(20160813 1407) nil "friendly imperative loop structures" single ((:commit . "e22807f83a0890dc8a904c51ee0742c34efccc6c") (:keywords "loop" "while" "for each" "break" "continue") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (lorem-ipsum . [(20190819 2042) nil "Insert dummy pseudo Latin text." single ((:commit . "da75c155da327c7a7aedb80f5cfe409984787049") (:keywords "tools" "language" "convenience") (:authors ("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) (:maintainer "Joe Schafer" . "joe@jschaf.com"))])
+ (love-minor-mode . [(20170727 536) ((lua-mode (20130419))) "Minor mode for working on LÖVE projects" single ((:commit . "3ca8f3405338f2d6f4fbcdd5e89342a46378543a") (:authors ("Eric James Michael Ritz")) (:maintainer "Eric James Michael Ritz") (:url . "https://github.com/ejmr/love-minor-mode"))])
+ (lsp-dart . [(20200430 1504) ((emacs (25 2)) (lsp-treemacs (0 1)) (lsp-mode (6 0)) (dap-mode (0 3)) (ht (2 0)) (f (0 20 0)) (dash (2 14 1)) (pkg-info (0 4)) (dart-mode (1 0 5))) "Dart support lsp-mode" tar ((:commit . "80f8ecaf629e8918149fd4e308be50d5451642ec") (:keywords "languages" "extensions") (:url . "https://github.com/emacs-lsp/lsp-dart.el"))])
+ (lsp-docker . [(20200222 505) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (6 2 1))) "LSP Docker integration" single ((:commit . "af56404c383102344f9b99e2e168e69b7d8d50d0") (:keywords "languages" "langserver") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-docker"))])
+ (lsp-elixir . [(20190105 2059) ((lsp-mode (20190104 2105)) (emacs (24 4))) "Elixir tooling integration into Emacs" tar ((:commit . "9fd091c092144a09c0df2d477257c1f4c37bb985") (:keywords "languages" "elixir" "elixirc" "mix" "hex" "alchemist") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "http://www.github.com/trevoke/lsp-elixir.el"))])
+ (lsp-haskell . [(20200407 2216) ((lsp-mode (3 0)) (haskell-mode (1 0))) "Haskell support for lsp-mode" single ((:commit . "f7d1f190ebacc96ddbc722e76730ca2db3c4ce38") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))])
+ (lsp-intellij . [(20180831 2051) ((emacs (25 1)) (lsp-mode (4 1))) "intellij lsp client" single ((:commit . "cf30f0ac63bd0140e758840b8ab070e8313697b2") (:keywords "languages" "processes" "tools") (:authors ("Ruin0x11" . "ipickering2@gmail.com")) (:maintainer "Ruin0x11" . "ipickering2@gmail.com") (:url . "https://github.com/Ruin0x11/lsp-intellij"))])
+ (lsp-ivy . [(20200418 1500) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (6 2 1)) (ivy (0 13 0))) "LSP ivy integration" single ((:commit . "81e81ced99829358674c5a6bbe2c3e15cecd4ed8") (:keywords "languages" "debug") (:url . "https://github.com/emacs-lsp/lsp-ivy"))])
+ (lsp-java . [(20200425 1842) ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0)) (request (0 3 0)) (treemacs (2 5))) "Java support for lsp-mode" tar ((:commit . "4f66649c2f02978145bd2e51ff8e6444b8631964") (:keywords "languague" "tools") (:url . "https://github.com/emacs-lsp/lsp-java"))])
+ (lsp-javacomp . [(20190124 1755) ((emacs (25 1)) (lsp-mode (3 0)) (s (1 2 0))) "Provide Java IDE features powered by JavaComp." single ((:commit . "82aa4ad6ca03a74565c35e855b318b1887bcd89b") (:keywords "java" "tools" "lsp") (:url . "https://github.com/tigersoldier/lsp-javacomp"))])
+ (lsp-julia . [(20200408 1412) ((emacs (25 1)) (lsp-mode (6 0)) (julia-mode (0 3))) "Julia support for lsp-mode" tar ((:commit . "9f158a290168149fd301a1c1c2016600106ad5be") (:keywords "languages" "tools") (:authors ("Martin Wolke" . "vibhavp@gmail.com") ("Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") ("Guido Kraemer" . "gdkrmr@users.noreply.github.com")) (:maintainer "Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") (:url . "https://github.com/non-Jedi/lsp-julia"))])
+ (lsp-latex . [(20200425 920) ((emacs (25 1)) (lsp-mode (6 0))) "lsp-mode client for LaTeX, on texlab" single ((:commit . "5cd7b6bb35bc54f3e9341d6a64605a3bb50db0a0") (:keywords "languages" "tex") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/lsp-latex"))])
+ (lsp-mode . [(20200430 1505) ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (spinner (1 7 3)) (markdown-mode (2 3)) (lv (0))) "LSP mode" tar ((:commit . "2b4a941d5d5dfe73ba9315e4125e5e27d7a2cf15") (:keywords "languages") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-mode"))])
+ (lsp-mssql . [(20191204 1150) ((emacs (25 1)) (lsp-mode (6 2)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (lsp-treemacs (0 1))) "MSSQL LSP bindings" tar ((:commit . "e16e91d6a2a6cdb406ee9b98cfb47f7a32e41d61") (:keywords "data" "languages") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-mssql"))])
+ (lsp-origami . [(20190331 1723) ((origami (1 0)) (lsp-mode (20190326 522))) "origami.el support for lsp-mode" single ((:commit . "c7653602a2f2396b1a42d6053fd2be55fce8e0a2") (:keywords "languages" "lsp-mode") (:authors ("Vibhav Pant")) (:maintainer "Vibhav Pant") (:url . "https://github.com/emacs-lsp/lsp-origami"))])
+ (lsp-p4 . [(20190127 1049) ((lsp-mode (3 0))) "P4 support for lsp-mode" tar ((:commit . "54dd19d88cd561061ac3103dc452d6854e5899fa") (:keywords "lsp" "p4") (:authors ("Dmitri Makarov")) (:maintainer "Dmitri Makarov") (:url . "https://github.com/dmakarov/p4ls"))])
+ (lsp-pascal . [(20200422 1610) ((emacs (24 4)) (lsp-mode (6 3))) "LSP client for Pascal" single ((:commit . "b132bdf66748e4abe0d4140f6d061b1ccd56082a") (:keywords "languages" "tools") (:authors ("Arjan Adriaanse" . "arjan@adriaan.se")) (:maintainer "Arjan Adriaanse" . "arjan@adriaan.se") (:url . "https://github.com/arjanadriaanse/lsp-pascal"))])
+ (lsp-pyre . [(20190406 335) ((lsp-mode (6 0))) "lsp-mode client for python using pyre" single ((:commit . "e177b8f5efd1a955b5753aeb5d1894e6d21be35a") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-pyre"))])
+ (lsp-python-ms . [(20200425 555) ((emacs (25 1)) (cl-lib (0 6 1)) (lsp-mode (6 0))) "The lsp-mode client for Microsoft python-language-server" single ((:commit . "19feb4aaaa03382e5d9841f237dd1685d8fe2994") (:keywords "languages" "tools") (:authors ("Charl Botha")) (:maintainer "Andrew Christianson, Vincent Zhang") (:url . "https://github.com/andrew-christianson/lsp-python-ms"))])
+ (lsp-scala . [(20190604 1237) ((emacs (24 4)) (lsp-mode (5 0)) (sbt-mode (2 0))) "Scala support for lsp-mode" single ((:commit . "06f189aa5cafe93cecbdaa234bccd900def7bc68") (:keywords "languages" "tools" "scala" "lsp" "metals") (:authors ("Ross A. Baker" . "ross@rossabaker.com")) (:maintainer "Ross A. Baker" . "ross@rossabaker.com") (:url . "https://github.com/rossabaker/lsp-scala"))])
+ (lsp-sourcekit . [(20181216 1450) ((emacs (25 1)) (lsp-mode (5))) "sourcekit-lsp client for lsp-mode" single ((:commit . "04d75b6a0be5894fea4a55fec0b2ccedf5b3be58") (:keywords "languages" "lsp" "swift" "objective-c" "c++") (:authors ("Daniel Martín")) (:maintainer "Daniel Martín") (:url . "https://github.com/emacs-lsp/lsp-sourcekit"))])
+ (lsp-treemacs . [(20200414 407) ((emacs (25 1)) (dash (2 14 1)) (dash-functional (2 14 1)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5)) (lsp-mode (6 0))) "LSP treemacs" tar ((:commit . "9d1a42b7d7abb112035f05f50ffde9834da034ae") (:keywords "languages") (:authors ("Ivan Yonchovski")) (:maintainer "Ivan Yonchovski") (:url . "https://github.com/emacs-lsp/lsp-treemacs"))])
+ (lsp-ui . [(20200430 1858) ((emacs (25 1)) (dash (2 14)) (dash-functional (1 2 0)) (lsp-mode (6 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "43f71e3837b07f377444ad631b12f8198c495aa7") (:keywords "lsp") (:authors ("Sebastien Chapuis <sebastien@chapu.is>, Fangrui Song" . "i@maskray.me")) (:maintainer "Sebastien Chapuis <sebastien@chapu.is>, Fangrui Song" . "i@maskray.me") (:url . "https://github.com/emacs-lsp/lsp-ui"))])
+ (lua-mode . [(20200405 1305) ((emacs (24 3))) "a major-mode for editing Lua scripts" tar ((:commit . "658bf8f6c2bdcfe41cd14f5fb651563b41d0fbaa") (:keywords "languages" "processes" "tools") (:authors ("2011-2013 immerrr" . "immerrr+lua@gmail.com") ("2010-2011 Reuben Thomas" . "rrt@sc3d.org") ("2006 Juergen Hoetzel" . "juergen@hoetzel.info") ("2004 various (support for Lua 5 and byte compilation)") ("2001 Christian Vogler" . "cvogler@gradient.cis.upenn.edu") ("1997 Bret Mogilefsky" . "mogul-lua@gelatinous.com") ("tcl-mode by Gregor Schmid" . "schmid@fb3-s7.math.tu-berlin.de") ("with tons of assistance from") ("Paul Du Bois" . "pld-lua@gelatinous.com") ("Aaron Smith" . "aaron-lua@gelatinous.com")) (:maintainer "2011-2013 immerrr" . "immerrr+lua@gmail.com") (:url . "http://immerrr.github.com/lua-mode"))])
+ (luarocks . [(20170430 2305) ((emacs (24)) (cl-lib (0 5))) "luarocks tools" single ((:commit . "cee27ba0716edf338077387969883226dd2b7484") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/luarocks.el"))])
+ (lush-theme . [(20180816 2200) ((emacs (24))) "A dark theme with lush colors" single ((:commit . "645e1959143532df8f7ef90e1184e9556df18af7") (:keywords "theme" "dark" "strong colors") (:authors ("Andre Richter" . "andre.o.richter@gmail.com")) (:maintainer "Andre Richter" . "andre.o.richter@gmail.com") (:url . "https://github.com/andre-richter/emacs-lush-theme"))])
+ (lusty-explorer . [(20200415 1456) ((emacs (24 3)) (s (1 11 0))) "Dynamic filesystem explorer and buffer switcher" single ((:commit . "1b7053b41083666c6805bcaeb55ece6dcc0d77cb") (:keywords "convenience" "files" "matching" "tools") (:url . "https://github.com/sjbach/lusty-emacs"))])
+ (lv . [(20200227 1301) nil "Other echo area" single ((:commit . "16fa8d109ec5799931a793b2e866ea9d593bee84") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel"))])
+ (lxc . [(20140410 2022) nil "lxc integration with Emacs" single ((:commit . "88bed56c954d1edd9ff5ce0ced2c02dcf9f71835") (:keywords "processes") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-lxc"))])
+ (lxc-tramp . [(20200414 1445) ((emacs (24)) (cl-lib (0 6))) "TRAMP integration for LXC containers" single ((:commit . "1585e55a5deb89e2f4e30a0ad9e0f121d1e0ebcb") (:keywords "lxc" "convenience") (:authors ("montag451")) (:maintainer "montag451") (:url . "https://github.com/montag451/lxc-tramp"))])
+ (lxd-tramp . [(20181023 7) ((emacs (24 4)) (cl-lib (0 6))) "TRAMP integration for LXD containers" single ((:commit . "f335c76245f62b02cf67a9376eca6f3863c8a75a") (:keywords "lxd" "lxc" "convenience") (:authors ("Yc.S" . "onixie@gmail.com")) (:maintainer "Yc.S" . "onixie@gmail.com") (:url . "https://github.com/onixie/lxd-tramp.git"))])
+ (lyrics . [(20180812 1841) ((emacs (25 1)) (seq (2 15))) "Show lyrics" single ((:commit . "d0b920be634a5be81ad49418cfaada0f0a57d6cd") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/lyrics.el"))])
+ (m-buffer . [(20170407 2141) ((seq (2 14))) "List-Oriented, Functional Buffer Manipulation" tar ((:commit . "8681342aaffa187e5c54945ab91b812965a96d19") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.rg.uk"))])
+ (mac-pseudo-daemon . [(20200215 513) ((cl-lib (0 1))) "Daemon mode that plays nice with Mac OS." single ((:commit . "703ee41303dc251b7672b7cba5aeb6aa54a76c90") (:keywords "convenience" "osx" "mac") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))])
+ (maces-game . [(20170903 1551) ((dash (2 12 0)) (cl-lib (0 5)) (emacs (24))) "another anagram game." tar ((:commit . "c0fb795f5642467ea528d2f04d904547e8a77ecd") (:keywords "games" "word games" "anagram") (:authors ("Pawel Bokota" . "pawelb.lnx@gmail.com")) (:maintainer "Pawel Bokota" . "pawelb.lnx@gmail.com") (:url . "https://github.com/pawelbx/anagram-game"))])
+ (macro-math . [(20130328 1604) nil "in-buffer mathematical operations" single ((:commit . "216e59371e9ee39c34117ba79b9acd78bb415750") (:keywords "convenience") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/macro-math/"))])
+ (macrostep . [(20161120 2106) ((cl-lib (0 5))) "interactive macro expander" tar ((:commit . "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267") (:keywords "lisp" "languages" "macro" "debugging") (:authors ("joddie" . "j.j.oddie@gmail.com")) (:maintainer "joddie" . "j.j.oddie@gmail.com") (:url . "https://github.com/joddie/macrostep"))])
+ (madhat2r-theme . [(20170203 30) ((emacs (24))) "dark color theme that is easy on the eyes" single ((:commit . "6b387f09de055cfcc15d74981cd4f32f8f9a7323") (:keywords "color" "theme") (:authors ("Micah Duke")) (:maintainer "Micah Duke") (:url . "https://github.com/madhat2r/madhat2r-theme"))])
+ (mag-menu . [(20150505 1850) ((splitter (0 1 0))) "Intuitive keyboard-centric menu system" single ((:commit . "9b9277021cd09fb1dba64b1d2a00705d20914bd6") (:keywords "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/mag-menu"))])
+ (magic-filetype . [(20180219 1552) ((emacs (24)) (s (1 9 0))) "Enhance filetype major mode" single ((:commit . "019494add5ff02dd36cb3f500142fc51125522cc") (:keywords "emulations" "vim" "ft" "file" "magic-mode") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/magic-filetype.el"))])
+ (magic-latex-buffer . [(20191106 241) ((cl-lib (0 5)) (emacs (24 3))) "Magically enhance LaTeX-mode font-locking for semi-WYSIWYG editing" single ((:commit . "8597f4db70732d6e479396e2f2a7e78742387253") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (magik-mode . [(20200304 1323) nil "mode for editing Magik + some utils." tar ((:commit . "e54f934952cde3f96d6a131968295d993b3cf624") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))])
+ (magit . [(20200429 1950) ((emacs (25 1)) (async (20180527)) (dash (20180910)) (git-commit (20181104)) (transient (20190812)) (with-editor (20181103))) "A Git porcelain inside Emacs." tar ((:commit . "d27d6e467857ed4a78c7cf7d609561df789e2a6c") (:keywords "git" "tools" "vc"))])
+ (magit-annex . [(20200428 9) ((cl-lib (0 3)) (magit (2 90 0))) "Control git-annex from Magit" single ((:commit . "ef5dce6267e9118a5eca82a22bcad0b67826c23a") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com") ("Rémi Vanicat" . "vanicat@debian.org")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-annex"))])
+ (magit-circleci . [(20191209 2113) ((dash (2 16 0)) (transient (0 1 0)) (magit (2 90 0)) (emacs (25 3))) "CircleCI integration for Magit" single ((:commit . "3425ad5b16cb48d6802b7e9ed044b4cd7a99c785") (:keywords "circleci" "continuous" "integration" "magit" "vc" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/magit-circleci"))])
+ (magit-diff-flycheck . [(20190524 551) ((magit (2)) (flycheck (31)) (seq (2)) (emacs (25 1))) "Report errors in diffs" single ((:commit . "28acf74f59e385865746cccf4b1e4c4025ae9433") (:keywords "convenience" "matching") (:authors ("Alex Ragone" . "ragonedk@gmail.com")) (:maintainer "Alex Ragone" . "ragonedk@gmail.com") (:url . "https://github.com/ragone/magit-diff-flycheck"))])
+ (magit-filenotify . [(20151116 2340) ((magit (1 3 0)) (emacs (24 4))) "Refresh status buffer when git tree changes" single ((:commit . "c0865b3c41af20b6cd89de23d3b0beb54c8401a4") (:keywords "tools") (:authors ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.de")) (:maintainer "Rüdiger Sonderfeld" . "ruediger@c-plusplus.de"))])
+ (magit-find-file . [(20150702 830) ((magit (2 1 0)) (dash (2 8 0))) "completing-read over all files in Git" single ((:commit . "c3ea91bab37d10a814a829728ec972811f728d60") (:keywords "git") (:authors ("Bradley Wright" . "brad@intranation.com")) (:maintainer "Bradley Wright" . "brad@intranation.com") (:url . "https://github.com/bradleywright/magit-find-file.el"))])
+ (magit-gerrit . [(20160226 930) ((magit (2 3 1))) "Magit plugin for Gerrit Code Review" single ((:commit . "ece6f369694aca17f3ac166ed2801b432acfe20d") (:authors ("Brian Fransioli" . "assem@terranpro.org")) (:maintainer "Brian Fransioli" . "assem@terranpro.org") (:url . "https://github.com/terranpro/magit-gerrit"))])
+ (magit-gh-pulls . [(20191230 1944) ((emacs (24 4)) (gh (0 9 1)) (magit (2 12 0)) (pcache (0 2 3)) (s (1 6 1))) "GitHub pull requests extension for Magit" single ((:commit . "57f3a5158bbc7bfd169ee136fde351cce999e0ca") (:keywords "git" "tools") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:url . "https://github.com/sigma/magit-gh-pulls"))])
+ (magit-gitflow . [(20170929 824) ((magit (2 1 0)) (magit-popup (2 2 0))) "gitflow extension for magit" single ((:commit . "cc41b561ec6eea947fe9a176349fb4f771ed865b") (:keywords "vc" "tools") (:authors ("Jan Tatarik" . "Jan.Tatarik@gmail.com")) (:maintainer "Jan Tatarik" . "Jan.Tatarik@gmail.com") (:url . "https://github.com/jtatarik/magit-gitflow"))])
+ (magit-imerge . [(20191105 2245) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-imerge" single ((:commit . "3b588991d30a69d2209dbcbb041777ae8af62bd0") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-imerge"))])
+ (magit-lfs . [(20190831 118) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "75bf6d3310eae24889589a09e96a4a855e1a11c4") (:keywords "magit" "git" "lfs" "tools" "vc") (:authors ("Junyoung Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung Clare Jang" . "jjc9310@gmail.com") (:url . "https://github.com/ailrun/magit-lfs"))])
+ (magit-libgit . [(20200102 2204) ((emacs (26 1)) (magit (0)) (libgit (0))) "Libgit functionality" single ((:commit . "d27d6e467857ed4a78c7cf7d609561df789e2a6c") (:keywords "git" "tools" "vc") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))])
+ (magit-org-todos . [(20180709 1950) ((magit (2 0 0)) (emacs (24))) "Add local todo items to the magit status buffer" single ((:commit . "9ffa3efb098434d837cab4bacd1601fdfc6fe999") (:keywords "org-mode" "magit" "tools") (:authors ("Daniel Ma")) (:maintainer "Daniel Ma") (:url . "http://github.com/danielma/magit-org-todos"))])
+ (magit-p4 . [(20170414 1246) ((magit (2 1)) (magit-popup (2 1)) (p4 (12 0)) (cl-lib (0 5))) "git-p4 plug-in for Magit" single ((:commit . "cdc05f2d564409baac9ca15b1a2a0110a6ff12b7") (:keywords "vc" "tools") (:authors ("Damian T. Dobroczy\\\\'nski" . "qoocku@gmail.com")) (:maintainer "Aleksey Fedotov" . "lexa@cfotr.com") (:url . "https://github.com/qoocku/magit-p4"))])
+ (magit-patch-changelog . [(20200217 1202) ((emacs (25 1)) (magit (2 91 0))) "Generate a patch according to emacs-mirror/CONTRIBUTE" single ((:commit . "876c780bdb676b6ece64861704e199b94f33cf71") (:keywords "git" "tools" "vc") (:url . "https://github.com/dickmao/magit-patch-changelog"))])
+ (magit-popup . [(20200306 223) ((emacs (24 4)) (dash (2 13 0))) "Define prefix-infix-suffix command combos" tar ((:commit . "f316a085b9f66804692554df46c0f4f536a45b78") (:keywords "bindings") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit-popup"))])
+ (magit-rbr . [(20181009 2016) ((magit (2 13 0)) (emacs (24 3))) "Support for git rbr in Magit" single ((:commit . "029203b3e48537205052a058e964f058cd802c3c") (:keywords "git" "magit" "rbr" "tools") (:authors ("Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com")) (:maintainer "Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com") (:url . "https://github.com/fanatoly/magit-rbr"))])
+ (magit-reviewboard . [(20190211 2244) ((emacs (25 2)) (magit (2 13 0)) (s (1 12 0)) (request (0 3 0))) "Show open Reviewboard reviews in Magit" single ((:commit . "f3d5ed914243e3930f9c06f59021305e7e43e67d") (:keywords "magit" "vc") (:authors ("Jules Tamagnan" . "jtamagnan@gmail.com")) (:maintainer "Jules Tamagnan" . "jtamagnan@gmail.com") (:url . "http://github.com/jtamagnan/magit-reviewboard"))])
+ (magit-section . [(20200425 2044) ((emacs (25 1)) (dash (20180910))) "Sections for read-only buffers" tar ((:commit . "d27d6e467857ed4a78c7cf7d609561df789e2a6c") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))])
+ (magit-stgit . [(20190313 1158) nil "No description available." single ((:commit . "8294f34e4927798d9db883cafe946a9041b7e331"))])
+ (magit-svn . [(20190821 1455) ((emacs (24 4)) (magit (2 1 0))) "Git-Svn extension for Magit" single ((:commit . "2cff1a30a30f2b3963342a7d185ec13fc12279c3") (:keywords "vc" "tools") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk"))])
+ (magit-tbdiff . [(20190918 6) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for range diffs" single ((:commit . "0162390581c1165a0c4c68081d8fc5ffae4cf1a9") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-tbdiff"))])
+ (magit-todos . [(20200310 28) ((emacs (25 2)) (async (1 9 2)) (dash (2 13 0)) (f (0 17 2)) (hl-todo (1 9 0)) (magit (2 13 0)) (pcre2el (1 8)) (s (1 12 0))) "Show source file TODOs in Magit" single ((:commit . "a0e5d1f3c7dfcb4f18c1b0d57f1746a4872df5c6") (:keywords "magit" "vc") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/magit-todos"))])
+ (magit-topgit . [(20160313 1954) ((emacs (24 4)) (magit (2 1 0))) "TopGit extension for Magit" single ((:commit . "11489ea798bc88d0ea5244bbf725285eedfefbef") (:keywords "vc" "tools") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Robin Green" . "greenrd@greenrd.org"))])
+ (magit-vcsh . [(20190817 2014) ((magit (2 90 1)) (vcsh (0 4)) (emacs (24 4))) "Magit vcsh integration" single ((:commit . "fcff128cdbe3ef547dc64f2496cb6405b8ee21ca") (:keywords "vc" "files" "magit") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:url . "https://gitlab.com/stepnem/magit-vcsh-el"))])
+ (magithub . [(20190512 2316) ((emacs (25)) (magit (2 12)) (s (1 12 0)) (ghub+ (0 3)) (git-commit (2 12)) (markdown-mode (2 3))) "Magit interfaces for GitHub" tar ((:commit . "9fb9c653d0dad3da7ccff3ae321fa6e54c08f41b") (:keywords "git" "tools" "vc") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/magithub"))])
+ (magma-mode . [(20200312 1306) ((emacs (24 3)) (cl-lib (0 3)) (dash (2 6 0)) (f (0 17 1))) "Mode for editing Magma source code" tar ((:commit . "0d810239be625b3f8a82f4e27ffd311fc2e1841e") (:url . "https://github.com/ThibautVerron/magma-mode"))])
+ (magnatune . [(20151030 1935) ((dash (2 9 0)) (s (1 9 0))) "browse magnatune's music catalog" tar ((:commit . "605b01505ba30589c77ebb4c96834b5072ccbdd4"))])
+ (majapahit-theme . [(20160817 1848) nil "Color theme with a dark and light versions" tar ((:commit . "77c96df7619666b2102d90d452eeadf04adc89a6") (:keywords "color" "theme") (:url . "https://gitlab.com/franksn/majapahit-theme"))])
+ (major-mode-hydra . [(20191030 2354) ((dash (2 15 0)) (pretty-hydra (0 2 2)) (emacs (25))) "Major mode keybindings managed by Hydra" single ((:commit . "20362323f66883c1336ffe70be24f91509addf54") (:authors ("Jerry Peng" . "pr2jerry@gmail.com")) (:maintainer "Jerry Peng" . "pr2jerry@gmail.com") (:url . "https://github.com/jerrypnz/major-mode-hydra.el"))])
+ (major-mode-icons . [(20200127 512) ((emacs (24 3)) (powerline (2 4)) (xpm (1 0 4)) (all-the-icons (2 3 0))) "Display icon for major-mode on mode-line" tar ((:commit . "b36eae2e976bad3c431b082c64b1a724a2ba1fe6") (:keywords "frames" "multimedia") (:url . "http://github.com/stardiviner/major-mode-icons"))])
+ (make-color . [(20140625 1150) nil "Alternative to picking color - update fg/bg color by pressing r/g/b/... keys" single ((:commit . "5ca1383ca9228bca82120b238bdc119f302b75c0") (:keywords "color") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/make-color.el"))])
+ (make-it-so . [(20190625 1036) ((swiper (0 8 0)) (emacs (24))) "Transform files with Makefile recipes." tar ((:commit . "b73dfb640588123c9eece230ad72b37604f5c126") (:keywords "make" "dired") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/make-it-so"))])
+ (makefile-executor . [(20180720 832) ((emacs (24 3)) (dash (2 11 0)) (f (0 11 0)) (s (1 10 0))) "Commands for conveniently running makefile targets" single ((:commit . "9a7d78f814a4b372d8f8179819cb1b37b83b1973") (:keywords "processes") (:authors ("Lowe Thiderman" . "lowe.thiderman@gmail.com")) (:maintainer "Lowe Thiderman" . "lowe.thiderman@gmail.com") (:url . "https://github.com/thiderman/makefile-executor.el"))])
+ (makey . [(20131231 1430) ((cl-lib (0 2))) "interactive commandline mode" single ((:commit . "a61781e69d3b451551e269446e1c5f624ab81137") (:authors ("Mickey Petersen" . "mickey@masteringemacs.org")) (:maintainer "Mickey Petersen" . "mickey@masteringemacs.org"))])
+ (malinka . [(20171202 1021) ((s (1 9 0)) (dash (2 4 0)) (f (0 11 0)) (cl-lib (0 3)) (rtags (0 0)) (projectile (0 11 0))) "A C/C++ project configuration package for Emacs" single ((:commit . "d4aa517c7a9022eae16c758c7efdb3a0403542d7") (:keywords "c" "c++" "project-management") (:authors ("Lefteris Karapetsas" . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas" . "lefteris@refu.co") (:url . "https://github.com/LefterisJP/malinka"))])
+ (mallard-mode . [(20131204 425) nil "Major mode for editing Mallard files" tar ((:commit . "c48170c1ace4959abcc5fb1df0d4cb149cff44c1") (:keywords "xml" "mallard") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:url . "https://github.com/jhradilek/emacs-mallard-mode"))])
+ (mallard-snippets . [(20131023 1851) ((yasnippet (0 8 0)) (mallard-mode (0 1 1))) "Yasnippets for Mallard" tar ((:commit . "70c5293f10722f2ace73bdf74d9a18f95b040edc") (:keywords "snippets" "mallard") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:url . "https://github.com/jhradilek/emacs-mallard-snippets"))])
+ (malyon . [(20161208 2125) ((cl-lib (0 5))) "mode to execute Z-code files version 3, 5, 8" single ((:commit . "0d9882650720b4a791556f5e2d917388965d6fc0") (:keywords "games" "emulations") (:authors ("Peter Ilberg <peter.ilberg@gmail.com>, Christopher Madsen <cjm@cjmweb.net>, Erik Selberg" . "erik@selberg.org")) (:maintainer "Christopher Madsen <cjm@cjmweb.net>, Erik Selberg" . "erik@selberg.org") (:url . "https://github.com/speedenator/malyon"))])
+ (man-commands . [(20151221 2221) ((cl-lib (0 5))) "Add interactive commands for every manpages installed in your computer." single ((:commit . "f4ba0c3790855d7544dff92d470d212f24de1d9d") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/man-commands"))])
+ (manage-minor-mode . [(20200123 1406) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "0dfab46a728a21c91658ffcb14101b182cf1b403") (:keywords "tools" "minor-mode" "manage" "emacs") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))])
+ (manage-minor-mode-table . [(20200302 1517) ((emacs (25 1)) (manage-minor-mode (1 1))) "Manage minor-modes in table" single ((:commit . "cd126cbeb2e99c8d00b48310938a85448ebc2e1a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/manage-minor-mode-table"))])
+ (mandm-theme . [(20191112 1832) nil "An M&M color theme." single ((:commit . "4e6ce4f222c1fa175d56e926628f37caa5f398ce") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))])
+ (mandoku . [(20180403 1106) ((org (8 0)) (magit (20151028)) (github-clone (20150705)) (git (20140128))) "A tool to access repositories of premodern Chinese texts" tar ((:commit . "d65dbaa329ecf931f4142be72862972ea6a24e63"))])
+ (mandoku-tls . [(20171118 240) ((emacs (24 4)) (mandoku (20170301)) (github-clone (0 2)) (hydra (0 13 6)) (helm (1 7 0)) (org (9 0)) (helm-charinfo (20170601))) "A tool to access the TLS database" single ((:commit . "ffeebf5bd451ac1806ddfe1744fbbd036a56f902") (:keywords "convenience") (:authors ("Christian Wittern" . "cwittern@gmail.com")) (:maintainer "Christian Wittern" . "cwittern@gmail.com") (:url . "https://github.com/mandoku/mandoku-tls"))])
+ (map-progress . [(20190128 16) ((cl-lib (0 6 1))) "mapping macros that report progress" single ((:commit . "1fb916159cd054c233ce3c80d9d01adfae640297") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-progress"))])
+ (map-regexp . [(20190128 18) ((cl-lib (0 6 1))) "map over matches of a regular expression" single ((:commit . "ae2d1c22f786ad987aef3e319925e80160a887a0") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-regexp"))])
+ (marcopolo . [(20160421 1004) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client to the Docker HUB/Registry API" tar ((:commit . "9193aabdf12223087b5ed58f1507d5d8a24a4381") (:keywords "docker") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/marcopolo"))])
+ (mark-multiple . [(20121118 1554) nil "Sorta lets you mark several regions at once." tar ((:commit . "f6a53c7c5283d640ae718f4548b0fda78877a375"))])
+ (mark-thing-at . [(20200427 1453) ((emacs (26)) (choice-program (0 9))) "Mark a pattern at the current point" single ((:commit . "a69696635616c10184a3289d459d8eb532f04f47") (:keywords "mark" "point" "lisp") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/mark-thing-at"))])
+ (mark-tools . [(20130614 1025) nil "Some simple tools to access the mark-ring in Emacs" single ((:commit . "a11b61effa90bd0abc876d12573674d36fc17f0c") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs-mark-tools"))])
+ (markdown-changelog . [(20200120 2253) ((emacs (26)) (dash (2 13 0))) "Maintain changelog entries" single ((:commit . "1a2c3a4c3e4196f2b5dbb145b01b4bc435a93a96") (:keywords "markdown" "changelog" "files") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/markdown-changelog"))])
+ (markdown-mode+ . [(20170320 2104) ((markdown-mode (20111229))) "extra functions for markdown-mode" tar ((:commit . "411d079f4430a33c34ec0bbcb1535fe1145a2509") (:keywords "markdown" "latex" "osx" "rtf") (:authors ("Donald Ephraim Curtis")) (:maintainer "Donald Ephraim Curtis") (:url . "http://github.com/milkypostman/markdown-mode-plus"))])
+ (markdown-mode . [(20200430 1622) ((emacs (25 1))) "Major mode for Markdown-formatted text" single ((:commit . "c927a114b1b23cf7538181d62fd14679cce7fa25") (:keywords "markdown" "github flavored markdown" "itex") (:authors ("Jason R. Blevins" . "jblevins@xbeta.org")) (:maintainer "Jason R. Blevins" . "jblevins@xbeta.org") (:url . "https://jblevins.org/projects/markdown-mode/"))])
+ (markdown-preview-eww . [(20160111 1502) ((emacs (24 4))) "Realtime preview by eww" single ((:commit . "5853f836425c877c8a956501f0adda137ef1d3b7") (:authors ("niku" . "niku@niku.name")) (:maintainer "niku" . "niku@niku.name") (:url . "https://github.com/niku/markdown-preview-eww"))])
+ (markdown-preview-mode . [(20181213 1339) ((emacs (24 3)) (websocket (1 6)) (markdown-mode (2 0)) (cl-lib (0 5)) (web-server (0 1 1))) "markdown realtime preview minor mode." tar ((:commit . "f98d9114ca87e3e8e5ce70e601d13061eda15415") (:keywords "markdown" "gfm" "convenience") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:url . "https://github.com/ancane/markdown-preview-mode"))])
+ (markdown-toc . [(20200428 1649) ((s (1 9 0)) (dash (2 11 0)) (markdown-mode (2 1))) "A simple TOC generator for markdown file" tar ((:commit . "eda9650a1bf0015e52e9678bd92b0a8beb1d7d71"))])
+ (markdownfmt . [(20160609 1241) ((emacs (24))) "Format markdown using markdownfmt" single ((:commit . "187a74eb4fd9e8520ce08da42d1d292b9af7f2b7") (:keywords "markdown") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-markdownfmt"))])
+ (markless . [(20190306 1002) ((emacs (24 4))) "Major mode for Markless documents" single ((:commit . "75fdef45df96978e9326ea4d9bf4e534a250c4c0") (:keywords "languages" "wp") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/markless.el/"))])
+ (markup . [(20170420 1129) ((cl-lib (0 5))) "Simple markup generation helpers." single ((:commit . "876da2d3f23473475bb0fd0a1480ae11d2671291") (:keywords "convenience" "markup" "html") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/markup.el"))])
+ (markup-faces . [(20141110 817) nil "collection of faces for markup language modes" single ((:commit . "98a807ed82473eb41c6a201ed7ef816d6bcd67b0") (:keywords "wp" "faces") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:url . "https://github.com/sensorflo/markup-faces"))])
+ (marmalade-client . [(20141231 2007) ((web (0 5 2)) (kv (0 0 19)) (gh (0 8 0))) "client for marmalade API from emacs" tar ((:commit . "f315dea57e4fbebd9ee0668c0bafd4c45c7b754a") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-marmalade-upload"))])
+ (marquee-header . [(20191017 1017) ((emacs (25 1))) "Code interface for displaying marquee in header." single ((:commit . "cb694a9eee79ea807dbc1587c47e209dd7e250fc") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/marquee-header"))])
+ (marshal . [(20180124 1239) ((eieio (1 4)) (json (1 3)) (ht (2 1))) "eieio extension for automatic (un)marshalling" single ((:commit . "f038689cbd5b3680b80b44edd0c7a63ca3038e26") (:keywords "eieio") (:authors ("Yann Hodique" . "hodiquey@vmware.com")) (:maintainer "Yann Hodique" . "hodiquey@vmware.com") (:url . "https://github.com/sigma/marshal.el"))])
+ (maruo-macro-mode . [(20160616 1349) ((emacs (24 3))) "Major mode for editing Hidemaru/Maruo macro script" single ((:commit . "8fc9a38ad051eafa8eb94038711acc52c5d1d8d5") (:keywords "programming" "editor" "macro") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))])
+ (masm-mode . [(20200308 1450) ((emacs (25 1))) "MASM x86 and x64 assembly major mode" single ((:commit . "626b9255c2bb967a53d1d50be0b98a1bcae3250c") (:keywords "languages") (:authors ("YiGeeker" . "zyfchinese@yeah.net")) (:maintainer "YiGeeker" . "zyfchinese@yeah.net") (:url . "https://github.com/YiGeeker/masm-mode"))])
+ (mastodon . [(20190305 344) ((emacs (24 4))) "Client for Mastodon" tar ((:commit . "5095797ef32b922d2a624fa6beb970b5e9cf5ca0") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Johnson Denen" . "johnson.denen@gmail.com") (:url . "https://github.com/jdenen/mastodon.el"))])
+ (material-theme . [(20171123 1840) ((emacs (24 1))) "A Theme based on the colors of the Google Material Design" tar ((:commit . "b66838d220ad380a16da1d8878936974b26f815d") (:keywords "themes") (:authors ("Christoph Paulik" . "cpaulik@gmail.com")) (:maintainer "Christoph Paulik" . "cpaulik@gmail.com") (:url . "http://github.com/cpaulik/emacs-material-theme"))])
+ (math-symbol-lists . [(20200131 2333) nil "Lists of Unicode math symbols and latex commands" tar ((:commit . "1cf7e2885f3352f55852ee9eba26c7cb5a7cd74b") (:keywords "unicode" "symbols" "mathematics") (:authors ("Vitalie Spinu" . "spinuvit@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:url . "https://github.com/vspinu/math-symbol-lists"))])
+ (math-symbols . [(20170818 1459) ((helm (1 0))) "Math Symbol Input methods and conversion tools" tar ((:commit . "3f8b466f002e1b28ddbe9a6f236c9a1352adb17d") (:keywords "i18n" "languages" "tex") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/math-symbols"))])
+ (matlab-mode . [(20200213 930) nil "Major mode for MATLAB(R) dot-m files" tar ((:commit . "e14d97df706049ea2e2d6e5b515fdbd08cd94dd3") (:url . "http://sourceforge.net/projects/matlab-emacs/") (:keywords "matlab" "programming" "language" "(X)emacs"))])
+ (maude-mode . [(20160222 1607) nil "Emacs mode for the programming language Maude" single ((:commit . "c9543bb8a172fa77af592388e7f520a4a6d38987") (:keywords "maude") (:authors ("Ellef Gjelstad <ellefg+maude*ifi.uio.no>")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at"))])
+ (maven-test-mode . [(20141220 557) ((s (1 9)) (emacs (24))) "Utilities for navigating test files and running maven test tasks." single ((:commit . "a19151861df2ad8ae4880a2e7c86ddf848cb569a") (:keywords "java" "maven" "test") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:url . "http://github.com/rranelli/maven-test-mode"))])
+ (maxframe . [(20170120 1705) nil "maximize the emacs frame based on display size" single ((:commit . "daeb5c35bb677a23df69336b4843ea59517e57ed") (:keywords "display" "frame" "window" "maximize") (:authors ("Ryan McGeary")) (:maintainer "Ryan McGeary"))])
+ (mb-url . [(20191006 1930) ((cl-lib (0))) "Multiple Backends for Emacs URL package." tar ((:commit . "7230902e1f844e0a1388f741e9ae6260cda3de69") (:url . "https://github.com/dochang/mb-url") (:keywords "url"))])
+ (mbe . [(20151126 1134) ((emacs (24)) (cl-lib (0 5))) "Macros by Example" single ((:commit . "bb10aa8f26bb7e9b1d5746934c94edb00402940c") (:keywords "tools" "macros") (:authors ("Ian Price" . "ianprice90@googlemail.com")) (:maintainer "Ian Price" . "ianprice90@googlemail.com") (:url . "https://github.com/ijp/mbe.el"))])
+ (mbo70s-theme . [(20170808 1315) ((emacs (24 0))) "70s style palette, with similarities to mbo theme" single ((:commit . "bed3db8965708ed4e9482b224a9b084765c052f2") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (mbsync . [(20200128 1053) nil "run mbsync to fetch mails" single ((:commit . "d3c81da81ce5b154c0d048047a47277338721a70") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/mbsync-el"))])
+ (mc-calc . [(20200420 1836) ((emacs (24 4)) (multiple-cursors (1 2 1))) "Combine multiple-cursors and calc" single ((:commit . "74a046a5728919a4d1135ca62738326b0dde278c") (:keywords "convenience") (:authors (nil . "Frank Roland hatheroldev@fgmail.com>")) (:maintainer nil . "Frank Roland hatheroldev@fgmail.com>") (:url . "https://github.com/hatheroldev/mc-calc"))])
+ (mc-extras . [(20181109 1735) ((multiple-cursors (1 2 1))) "Extra functions for multiple-cursors mode." tar ((:commit . "053abc52181b8718559d7361a587bbb795faf164") (:keywords "editing" "cursors") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/mc-extras.el"))])
+ (md-readme . [(20191112 1943) nil "Markdown-formatted READMEs for your ELisp" tar ((:commit . "ca99f44de11fab18d1f50d4b1722f2ceee3c814d") (:keywords "lisp" "help" "readme" "markdown" "header" "documentation" "github") (:authors ("Thomas Kappler" . "tkappler@gmail.com")) (:maintainer "Thomas Kappler" . "tkappler@gmail.com") (:url . "http://github.com/thomas11/md-readme/tree/master"))])
+ (md4rd . [(20191113 2108) ((emacs (25 1)) (hierarchy (0 7 0)) (request (0 3 0)) (cl-lib (0 6 1)) (dash (2 12 0)) (s (1 12 0)) (tree-mode (1 0 0))) "Mode for reddit (browse it)." single ((:commit . "ff7d95fc0fdf46a3cb6b3bbe52396dc4e474b8fd") (:keywords "ahungry" "reddit" "browse" "news") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/md4rd"))])
+ (mediawiki . [(20170813 555) nil "mediawiki frontend" single ((:commit . "8473e12d1839f5287a4227586bf117dad820f867") (:keywords "mediawiki" "wikipedia" "network" "wiki") (:authors ("Mark A. Hershberger" . "mah@everybody.org")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:url . "https://github.com/hexmode/mediawiki-el"))])
+ (meghanada . [(20191215 1353) ((emacs (24 3)) (yasnippet (0 6 1)) (company (0 9 0)) (flycheck (0 23))) "A better java development mode" tar ((:commit . "70bfbf553c7b7fb1928672e9a95b7137e02c2d4b") (:keywords "languages" "java") (:authors ("Yutaka Matsubara" . "yutaka.matsubara@gmail.com")) (:maintainer "Yutaka Matsubara" . "yutaka.matsubara@gmail.com") (:url . "https://github.com/mopemope/meghanada-emacs"))])
+ (melancholy-theme . [(20200305 133) nil "No description available." single ((:commit . "ffed56cb756f8acba93ce7edc664c950d75927d9"))])
+ (mellow-theme . [(20170808 1317) ((emacs (24 0))) "an Emacs 24 theme based on Mellow (tmTheme)" single ((:commit . "2bdf18f05f5212b6f269d9a94afe2cf201766891") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (melpa-upstream-visit . [(20130720 1033) ((s (1 6 0))) "A set of kludges to visit a melpa-hosted package's homepage" single ((:commit . "7310c74fdead3c0f86ad6eff76cf989e63f70f66") (:keywords "convenience") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com"))])
+ (memento-mori . [(20190628 2147) ((emacs (24)) (cl-lib (0 5))) "Reminder of mortality" single ((:commit . "b99c5ff526079fc5a1e1be097534855da176bc2b") (:keywords "help") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-memento-mori"))])
+ (memoize . [(20200103 2036) nil "Memoization functions" single ((:commit . "51b075935ca7070f62fae1d69fe0ff7d8fa56fdd") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/emacs-memoize"))])
+ (memolist . [(20150804 1721) ((markdown-mode (22 0)) (ag (0 45))) "memolist.el is Emacs port of memolist.vim." single ((:commit . "c437a32d3955f859d9bbcbadf0911bbe27d877ff") (:keywords "markdown" "memo") (:authors ("mikanfactory <k952i4j14x17_at_gmail.com>")) (:maintainer "mikanfactory") (:url . "http://github.com/mikanfactory/emacs-memolist"))])
+ (mentor . [(20190511 1638) ((xml-rpc (1 6 9)) (seq (1 11)) (cl-lib (0 5)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "b5e441b7dc077d5532a3818b5441e52baefad839") (:keywords "comm" "processes" "bittorrent") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com"))])
+ (meow . [(20200425 1327) ((emacs (26 3)) (dash (2 12 0)) (cl-lib (0 6 1))) "Modal Editing On Wheel" tar ((:commit . "f9e4296ed96ca31c8197ba8a5576fc94ee433755") (:keywords "convenience" "modal-editing") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://www.github.com/DogLooksGood/meow"))])
+ (merlin . [(20191025 851) nil "Mode for Merlin, an assistant for OCaml." tar ((:commit . "65c9bf03d1e0199491071c979ce826946cf32a44") (:keywords "ocaml" "languages") (:authors ("Frédéric Bour <frederic.bour(_)lakaban.net>")) (:maintainer "Frédéric Bour <frederic.bour(_)lakaban.net>") (:url . "https://github.com/ocaml/merlin"))])
+ (merlin-eldoc . [(20190830 517) ((emacs (24 4)) (merlin (3 0))) "eldoc for OCaml and Reason" single ((:commit . "db7fab1eddfe34781b7e79694f8923b285698032") (:keywords "merlin" "ocaml" "languages" "eldoc") (:authors ("Louis Roché" . "louis@louisroche.net")) (:maintainer "Louis Roché" . "louis@louisroche.net") (:url . "https://github.com/khady/merlin-eldoc"))])
+ (mermaid-mode . [(20200420 2258) ((f (0 20 0)) (emacs (25 3))) "major mode for working with mermaid graphs" single ((:commit . "b8673381ff8bbfbdf3f165ae928e7c775a3117e9") (:keywords "mermaid" "graphs" "tools" "processes") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/mermaid-mode"))])
+ (meson-mode . [(20200216 2254) ((emacs (24 3))) "Major mode for the Meson build system files" tar ((:commit . "bc6c09136c7f7de6f4b6ce9294e9b998e24b93c7") (:keywords "languages" "tools") (:authors ("Michal Sojka" . "sojkam1@fel.cvut.cz")) (:maintainer "Michal Sojka" . "sojkam1@fel.cvut.cz") (:url . "https://github.com/wentasah/meson-mode"))])
+ (messages-are-flowing . [(20191029 954) nil "visible indication when composing \"flowed\" emails" single ((:commit . "d582a564a63b7b90764ffc5c618bc5300225d0ab") (:keywords "mail") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com"))])
+ (meta-presenter . [(20190414 1720) nil "A simple multi-file presentation tool for Emacs" single ((:commit . "704a2e0f2a3e6bb72578e00eccb772dfcf0670fc") (:keywords "productivity" "presentation") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))])
+ (metalheart-theme . [(20160710 641) ((emacs (24))) "Low-contrast theme with a dark blue-green background." single ((:commit . "ec98ea2c11dc1213dae8cbe1fe0cee73ca138bb2") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (metamorph . [(20180930 2028) ((emacs (24 4))) "Transform your buffers with lisp" single ((:commit . "d9dc7037b7eed7b3fe85ea50e91f332e3f831514") (:keywords "metaprogramming" "wp") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/metamorph"))])
+ (metascript-mode . [(20150709 57) ((emacs (24 3))) "Major mode for the Metascript programming language" single ((:commit . "edb361c7b0e5de231e5334a17b90652fb1df78f9") (:keywords "languages" "metascript" "mjs") (:url . "http://github.com/metascript/metascript-mode"))])
+ (metaweblog . [(20191018 242) ((emacs (26 3))) "An XML-RPC MetaWeblog and WordPress API client." single ((:commit . "60eae1c8a7f82fbcc2660d785b33601daaa29f4b") (:keywords "comm") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:url . "https://github.com/org2blog/org2blog"))])
+ (metrics-tracker . [(20200429 1014) ((emacs (24 4)) (seq (2 3))) "Generate reports of personal metrics from diary entries" single ((:commit . "185c97788d2e19548e0ab71b09ae8d4c9f8f81ca") (:keywords "calendar") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:url . "https://github.com/ianxm/emacs-tracker"))])
+ (metronome . [(20200309 1918) ((emacs (25 1))) "A simple metronome" single ((:commit . "ab9478da0da3aadba26c65beba938c3928c823c3") (:authors ("Jonathan Gregory <jgrg at autistici dot org>")) (:maintainer "Jonathan Gregory <jgrg at autistici dot org>") (:url . "https://gitlab.com/jagrg/metronome"))])
+ (mew . [(20200316 221) nil "Messaging in the Emacs World" tar ((:commit . "5145145f87bfbe80fd91e82ded33033cf78ef54f") (:authors ("Kazu Yamamoto" . "Kazu@Mew.org")) (:maintainer "Kazu Yamamoto" . "Kazu@Mew.org"))])
+ (mexican-holidays . [(20190506 245) nil "Mexico holidays for Emacs calendar." single ((:commit . "663633be1d693f6081d7d000e05d15ddbf71aa10") (:keywords "calendar") (:authors ("Saúl Gutiérrez" . "me@sggc.me")) (:maintainer "Saúl Gutiérrez" . "me@sggc.me") (:url . "https://github.com/shopClerk/mexican-holidays"))])
+ (meyvn . [(20200311 2209) ((emacs (25 1)) (cider (0 23)) (projectile (2 1)) (s (1 12)) (dash (2 17)) (parseedn (0 1 0))) "Meyvn client" single ((:commit . "5eb0423d4b7083cb330a73ef1cfd3e0dd8538567") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com") (:url . "https://github.com/danielsz/meyvn-el"))])
+ (mgmtconfig-mode . [(20200104 108) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "e9af8a2595e336542c9dfc656fe808ddc6937a59") (:keywords "languages") (:authors ("Peter Oliver" . "mgmtconfig@mavit.org.uk")) (:maintainer "Mgmt contributors <https://github.com/purpleidea/mgmt>") (:url . "https://github.com/purpleidea/mgmt/misc/emacs"))])
+ (mhc . [(20190807 513) ((calfw (20150703))) "Message Harmonized Calendaring system." tar ((:commit . "f9f048de9fe85a90d376d828ce3dad2a96c62c40") (:keywords "calendar") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:url . "http://www.quickhack.net/mhc"))])
+ (mic-paren . [(20170731 1907) nil "advanced highlighting of matching parentheses" single ((:commit . "d0410c7d805c9aaf51a1bcefaaef092bed5824c4") (:keywords "languages" "faces" "parenthesis" "matching") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Klaus Berndl " . "berndl@sdm.de") ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "ttn"))])
+ (micgoline . [(20160415 326) ((emacs (24 3)) (powerline (2 3))) "powerline mode, color schemes from microsoft and google's logo." single ((:commit . "837504263bb1711203b0f7efecd6b7b5f272fae0") (:keywords "mode-line" "powerline" "theme") (:authors ("yzprofile" . "yzprofiles@gmail.com")) (:maintainer "yzprofile" . "yzprofiles@gmail.com") (:url . "https://github.com/yzprofile/micgoline"))])
+ (midje-mode . [(20170809 403) ((cider (0 1 4)) (clojure-mode (1 0))) "Minor mode for running Midje tests in emacs" tar ((:commit . "10ad5b6084cd03d5cd268b486a7c3c246d85535f"))])
+ (migemo . [(20190112 516) ((cl-lib (0 5))) "Japanese incremental search through dynamic pattern expansion" single ((:commit . "f42832c8ac462ecbec9a16eb781194f876fba64a") (:authors ("Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp")) (:maintainer "Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp") (:url . "https://github.com/emacs-jp/migemo"))])
+ (milkode . [(20140927 529) nil "Command line search and direct jump with Milkode" single ((:commit . "ba97e2aeefa1d9d0b3835bf08edd0de248b0c513") (:keywords "milkode" "search" "grep" "jump" "keyword") (:authors ("ongaeshi")) (:maintainer "ongaeshi"))])
+ (minesweeper . [(20200416 2342) nil "play minesweeper in Emacs" single ((:commit . "d4248e3c9b3e9e7277cb9e6d081330611898f334") (:keywords "game" "fun" "minesweeper" "inane" "diversion") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://hg.sr.ht/~zck/minesweeper"))])
+ (mingus . [(20190106 1443) ((libmpdee (2 1))) "MPD Interface" tar ((:commit . "4223be618f57f10f18114a74393a71955b568884") (:keywords "multimedia" "elisp" "music" "mpd") (:authors ("Niels Giesen <pft on #emacs>")) (:maintainer "Niels Giesen <pft on #emacs>") (:url . "https://github.com/pft/mingus"))])
+ (mini-frame . [(20200430 721) ((emacs (26 1))) "Show minibuffer in child frame on read-from-minibuffer" single ((:commit . "6ec70035f4b5bf692ff34649e82c32bb80ed1b74") (:keywords "frames") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-mini-frame"))])
+ (mini-header-line . [(20170621 1221) ((emacs (24 4))) "a minimal header-line" single ((:commit . "73b6724e0a26c4528d93768191c8aa59e6bce2e5") (:keywords "header-line" "mode-line") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/mini-header-line"))])
+ (mini-modeline . [(20200424 647) ((emacs (25 1)) (dash (2 12 0))) "Display modeline in minibuffer" single ((:commit . "4f1dce78916cccd2e7066345ae2be3394a675c46") (:keywords "convenience" "tools") (:authors ("Kien Nguyen" . "kien.n.quang@gmail.com")) (:maintainer "Kien Nguyen" . "kien.n.quang@gmail.com") (:url . "https://github.com/kiennq/emacs-mini-modeline"))])
+ (minibuf-isearch . [(20151226 1943) nil "incremental search on minibuffer history" single ((:commit . "2846c6ac369ee623dad4cd3c8a7a6d9078965516") (:keywords "minibuffer" "history" "incremental search") (:authors ("Keiichiro Nagano" . "knagano@sodan.org") ("Hideyuki SHIRAI " . "shirai@meadowy.org")) (:maintainer "Keiichiro Nagano" . "knagano@sodan.org"))])
+ (minibuffer-complete-cycle . [(20130813 1645) nil "Cycle through the *Completions* buffer" single ((:commit . "3df80135887d0169e02294a948711f6dfeca4a6f") (:keywords "completion") (:authors ("Akinori MUSHA" . "knu@iDaemons.org") ("Kevin Rodgers" . "ihs_4664@yahoo.com")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/minibuffer-complete-cycle"))])
+ (minibuffer-cua . [(20130906 1134) nil "Make CUA mode's S-up/S-down work in minibuffer" single ((:commit . "adc4979a64f8b36e05960e9afa0746dfa9e2e4c7") (:keywords "completion" "editing") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/minibuffer-cua.el"))])
+ (miniedit . [(20100419 1745) nil "Enhanced editing for minibuffer fields." single ((:commit . "e12bf659c3eb92dd8a4cb77642dc0865c54667a3"))])
+ (minimal-session-saver . [(20140508 2041) nil "Very lean session saver" single ((:commit . "cf654ac549850746dc21091746e4bcc1aef7668e") (:keywords "tools" "frames" "project") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/minimal-session-saver"))])
+ (minimal-theme . [(20190113 2132) nil "A light/dark minimalistic Emacs 24 theme." tar ((:commit . "063b4d8ca33d55d04c341f0b2b777ec241a3e201") (:keywords "color" "theme" "minimal") (:authors ("Anler Hp <anler86 [at] gmail.com>")) (:maintainer "Anler Hp <anler86 [at] gmail.com>") (:url . "http://github.com/ikame/minimal-theme"))])
+ (minions . [(20200204 1950) ((emacs (25 2)) (dash (2 13 0))) "A minor-mode menu for the mode line" single ((:commit . "bc1edab09d3fc1b248c17775ae2eb7d35b96be40") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/minions"))])
+ (minitest . [(20200224 1823) ((dash (1 0 0))) "An Emacs mode for ruby minitest files" tar ((:commit . "97d7d1760b24e117ffd163531b0f57fd4321677b") (:authors ("Arthur Neves")) (:maintainer "Arthur Neves") (:url . "https://github.com/arthurnn/minitest-emacs"))])
+ (minizinc-mode . [(20180201 1450) ((emacs (24 1))) "Major mode for MiniZinc code" single ((:commit . "2512521ba7f8e263a06db88df663fc6b3cca7e16") (:keywords "languages" "minizinc") (:url . "http://github.com/m00nlight/minizinc-mode"))])
+ (minor-mode-hack . [(20170926 34) nil "Change priority of minor-mode keymaps" single ((:commit . "9688994e23ccb2de568225ef125b41c46e5667c3") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/minor-mode-hack.el"))])
+ (minsk-theme . [(20200306 1220) ((emacs (24))) "Minsk, a theme in deep muted greens" single ((:commit . "d1e04ca03aadb942dc4bee82f44848c3ce52b25c") (:keywords "theme" "faces") (:authors ("Jean Lo" . "jlpaca@users.noreply.github.com")) (:maintainer "Jean Lo" . "jlpaca@users.noreply.github.com") (:url . "https://github.com/jlpaca/minsk-theme"))])
+ (mip-mode . [(20151127 617) nil "virtual projects for emacs." single ((:commit . "7c88c383b4c7ed0a4c1dc397735f365c1fcb461c") (:keywords "workspaces" "workspace" "project" "projects" "mip-mode") (:authors ("Eeli Reilin" . "gaudecker@fea.st")) (:maintainer "Eeli Reilin" . "gaudecker@fea.st"))])
+ (mips-mode . [(20180502 1457) nil "Major-mode for MIPS assembly" single ((:commit . "75152fc78baa762af4f83602f6cb3c8b9bcebca3") (:keywords "languages" "mips" "assembly") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-mips-mode"))])
+ (mix . [(20200419 820) ((emacs (25 1))) "Mix Major Mode. Build Elixir using Mix" single ((:commit . "37916fa5f7dfe448585fb83ea6253eb0f84df15f") (:keywords "tools") (:authors ("Ayrat Badykov" . "ayratin555@gmail.com")) (:maintainer "Ayrat Badykov" . "ayratin555@gmail.com") (:url . "https://github.com/ayrat555/mix.el"))])
+ (mixed-pitch . [(20200321 1331) ((emacs (24 3))) "Use a variable pitch, keeping fixed pitch where it's sensible" single ((:commit . "734fbdf2d2c17beee151faf39bd10174a87eea5d") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/mixed-pitch"))])
+ (mkdown . [(20140517 1418) ((markdown-mode (2 0))) "Pretty Markdown previews based on mkdown.com" tar ((:commit . "8e23de82719af6c5b53b52b3308a02b3a1fb872e") (:keywords "markdown") (:authors ("Andrew Tulloch")) (:maintainer "Andrew Tulloch") (:url . "https://github.com/ajtulloch/mkdown.el"))])
+ (mlso-theme . [(20200329 1516) ((emacs (24))) "A dark, medium contrast theme" single ((:commit . "a4bb7b55ce81d8dcc0ad8d92acbde309c7cc1ea0") (:authors ("github.com/Mulling")) (:maintainer "github.com/Mulling") (:url . "https://github.com/Mulling/mlso-theme"))])
+ (mmm-jinja2 . [(20170313 1420) ((mmm-mode (0 5 4))) "MMM submode class for Jinja2 Templates" single ((:commit . "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Ben Hayden" . "hayden767@gmail.com") (:url . "https://github.com/glynnforrest/mmm-jinja2"))])
+ (mmm-mako . [(20121020 651) ((mmm-mode (0 4 8))) "MMM submode class for Mako Templates" single ((:commit . "5c9ff92137b547569264eeca1ab2a86e4ba12f55") (:authors ("Philip Jenvey" . "pjenvey@underboss.org")) (:maintainer "Philip Jenvey" . "pjenvey@underboss.org") (:url . "https://bitbucket.org/pjenvey/mmm-mako"))])
+ (mmt . [(20190713 1347) ((emacs (24 1)) (cl-lib (0 3))) "Missing macro tools for Emacs Lisp" single ((:commit . "6d3eedf4fae3c88dee33691aa2856514122adc8c") (:keywords "macro" "emacs-lisp") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/mmt"))])
+ (mo-git-blame . [(20160129 1759) nil "An interactive, iterative 'git blame' mode for Emacs" single ((:commit . "254a675eb794cdbbdef9fa2b4b7bb510b70089c0") (:keywords "tools") (:authors ("Moritz Bunkus" . "moritz@bunkus.org")) (:maintainer "Moritz Bunkus" . "moritz@bunkus.org"))])
+ (mo-vi-ment-mode . [(20181217 206) nil "Provide vi-like cursor movement that's easy on the fingers" single ((:commit . "e8b525ffc5faa31d36ecc5496b40f0f5c3603c08") (:keywords "convenience") (:authors ("Ajay MT" . "ajay.tatachar@gmail.com")) (:maintainer "Ajay MT" . "ajay.tatachar@gmail.com"))])
+ (mobdebug-mode . [(20140110 346) ((lua-mode (20130419)) (emacs (24))) "Major mode for MobDebug" single ((:commit . "e1d483bc4e341c762bc5c0a8c52306a8d01ea0da") (:authors ("Shihpin Tseng" . "deftsp@gmail.com")) (:maintainer "Shihpin Tseng" . "deftsp@gmail.com") (:url . "https://github.com/deftsp/mobdebug-mode"))])
+ (mocha . [(20180321 2322) ((js2-mode (20150909)) (f (0 18))) "Run Mocha or Jasmine tests" single ((:commit . "cfd5b1a8a32162575f1c30b82e17b74efb67cf1c") (:keywords "javascript" "mocha" "jasmine") (:authors ("Al Scott")) (:maintainer "Al Scott") (:url . "http://github.com/scottaj/mocha.el"))])
+ (mocha-snippets . [(20190417 1931) ((yasnippet (0 8 0))) "Yasnippets for the Mocha JS Testing Framework" tar ((:commit . "361a3809f755577406e109b9e44d473dfa7c08e0") (:keywords "test" "javascript") (:authors ("Charles Lowell" . "cowboyd@frontside.io")) (:maintainer "Charles Lowell" . "cowboyd@frontside.io"))])
+ (mocker . [(20150917 154) ((eieio (1 3)) (el-x (0 2 4))) "mocking framework for emacs" single ((:commit . "6a1d7c9189bd721debd1a60707526e43a733f537") (:keywords "lisp" "testing") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))])
+ (modalka . [(20190713 1335) ((emacs (24 4))) "Easily introduce native modal editing of your own design" single ((:commit . "8f71e0a85c2f6039111663e65d9a13f3310f12ed") (:keywords "modal" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/modalka"))])
+ (mode-icons . [(20190627 2121) ((emacs (24)) (cl-lib (0 5))) "Show icons for modes" tar ((:commit . "f16969f053f43bf706257673d0800de438d4e33b") (:keywords "multimedia") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://ryuslash.org/projects/mode-icons.html"))])
+ (mode-line-bell . [(20181029 516) nil "Flash the mode line instead of ringing the bell" single ((:commit . "26ac7d97abdeb762ceaeab6b892f3ed7e3412494") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (mode-line-debug . [(20180318 2225) nil "show status of `debug-on-error' in the mode-line" single ((:commit . "a0fcc394b07d2414bd6f722da10f1c7567333f6b") (:keywords "convenience" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/mode-line-debug"))])
+ (modern-cpp-font-lock . [(20190331 1528) nil "Font-locking for \"Modern C++\"" single ((:commit . "02f104701bc34c146d22e3143ae59ef362999098") (:keywords "languages" "c++" "cpp" "font-lock") (:authors ("Ludwig PACIFICI" . "ludwig@lud.cc")) (:maintainer "Ludwig PACIFICI" . "ludwig@lud.cc") (:url . "https://github.com/ludwigpacifici/modern-cpp-font-lock"))])
+ (modern-fringes . [(20200321 1817) nil "Replaces default fringe bitmaps with better looking ones" single ((:commit . "108daba8407dc8acf140157e7f49137c397a0af7") (:keywords "themes" "fringes" "convenience") (:authors ("Quen Jankosky" . "quen.jankosky@gmail.com")) (:maintainer "Quen Jankosky" . "quen.jankosky@gmail.com") (:url . "http://github.com/specialbomb/emacs-modern-fringes"))])
+ (modtime-skip-mode . [(20140128 2201) nil "Minor mode for disabling modtime and supersession checks on files." single ((:commit . "c0e49523aa26b2263a8693691ac775988015f592") (:authors ("Jordon Biondo" . "biondoj@mail.gvsu.edu")) (:maintainer "Jordon Biondo" . "biondoj@mail.gvsu.edu") (:url . "http://www.github.com/jordonbiondo/modtime-skip-mode"))])
+ (modus-operandi-theme . [(20200501 252) ((emacs (26 1))) "Accessible light theme (WCAG AAA)" single ((:commit . "89a31f6242dac52071ee6be18feadcb604b548d7") (:keywords "faces" "theme" "accessibility") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:url . "https://gitlab.com/protesilaos/modus-themes"))])
+ (modus-vivendi-theme . [(20200501 252) ((emacs (26 1))) "Accessible dark theme (WCAG AAA)" single ((:commit . "89a31f6242dac52071ee6be18feadcb604b548d7") (:keywords "faces" "theme" "accessibility") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:url . "https://gitlab.com/protesilaos/modus-themes"))])
+ (moe-theme . [(20200216 1927) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "01d00a8d75b19f641b639ba23793cdd507c61f05") (:url . "https://github.com/kuanyui/moe-theme.el"))])
+ (molecule . [(20180527 743) ((emacs (25 1))) "Simple wrapper for molecule" single ((:commit . "2ef72b81d9aa24ea782b71a061a3abdad6cae162") (:keywords ":" "languages" "terminals") (:authors (": drymer <drymer [ AT ] autistici.org>")) (:maintainer ": drymer <drymer [ AT ] autistici.org>") (:url . "https://git.daemons.it/drymer/molecule.el"))])
+ (molokai-theme . [(20151016 1545) nil "molokai theme with Emacs theme engine" single ((:commit . "04a44f21184b6a26caae4f2c92db9019d883309c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/alloy-d/color-theme-molokai"))])
+ (mongo . [(20150315 1219) nil "MongoDB driver for Emacs Lisp" tar ((:commit . "595529ddd70ecb9fab8b11daad2c3929941099d6") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (monitor . [(20161018 1144) ((dash (2 13 0))) "Utilities for monitoring expressions." tar ((:commit . "63f4643a0ee81616dbb692b8b03bae21df2283e2") (:keywords "lisp" "monitor" "utility") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:url . "https://github.com/guiltydolphin/monitor"))])
+ (monky . [(20190619 1637) nil "Control Hg from Emacs." tar ((:commit . "9d379a2306a8b7cd9c4faba20490480acdc1d763") (:keywords "tools") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/monky"))])
+ (monochrome-theme . [(20140326 1050) nil "A dark Emacs 24 theme for your focused hacking sessions" tar ((:commit . "bfca67fe7365310bc47ae9ca96c417caada54896") (:authors ("Xavier Noria" . "fxn@hashref.com")) (:maintainer "Xavier Noria" . "fxn@hashref.com"))])
+ (monokai-alt-theme . [(20170630 2048) ((emacs (24))) "Theme with a dark background. Based on sublime monokai theme." single ((:commit . "f342b6afc31f929be0626eca2d696ee9fab78011") (:authors ("Dmytro Koval")) (:maintainer "Dmytro Koval") (:url . "https://github.com/dawidof/emacs-monokai-theme"))])
+ (monokai-pro-theme . [(20200318 830) nil "A simple theme based on the Monokai Pro Sublime color schemes" single ((:commit . "90f34d48baad78a86f60eb3fae902c545bb82505") (:authors ("Kaleb Elwert" . "kaleb@coded.io")) (:maintainer "Kaleb Elwert" . "kaleb@coded.io") (:url . "https://github.com/belak/emacs-monokai-pro-theme"))])
+ (monokai-theme . [(20200416 2001) nil "A fruity color theme for Emacs." single ((:commit . "4281fc13dadef98942c8d43024de024f2392fec5") (:authors ("Kelvin Smith" . "oneKelvinSmith@gmail.com")) (:maintainer "Kelvin Smith" . "oneKelvinSmith@gmail.com") (:url . "http://github.com/oneKelvinSmith/monokai-emacs"))])
+ (monotropic-theme . [(20181015 1230) ((emacs (24))) "Monotropic Theme" single ((:commit . "36df566aa8225e303f6c9d90c00740dd678a415e") (:authors ("caffo")) (:maintainer "caffo") (:url . "https://github.com/caffo/monotropic-theme"))])
+ (monroe . [(20190912 1624) nil "Yet another client for nREPL" single ((:commit . "508f5ed0f88b0b5e01a37d456186ea437f44d93c") (:keywords "languages" "clojure" "nrepl" "lisp") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:url . "http://www.github.com/sanel/monroe"))])
+ (mood-line . [(20200429 309) ((emacs (25 1))) "A minimal mode-line inspired by doom-modeline" single ((:commit . "5ff7cb514d7842901b592fa5132b75bc2b0df2e8") (:keywords "mode-line" "faces") (:authors ("Jessie Hildebrandt <jessieh.net>")) (:maintainer "Jessie Hildebrandt <jessieh.net>") (:url . "https://gitlab.com/jessieh/mood-line"))])
+ (mood-one-theme . [(20191029 743) ((emacs (24 4))) "A dark color scheme inspired by the Doom One theme." single ((:commit . "77ff4bfd954d46bc7580175ef443a9168938f9cd") (:keywords "mode-line" "faces") (:authors ("Jessie Hildebrandt <jessieh.net>")) (:maintainer "Jessie Hildebrandt <jessieh.net>") (:url . "https://gitlab.com/jessieh/mood-one-theme"))])
+ (moody . [(20200113 2321) ((emacs (25 3))) "Tabs and ribbons for the mode line" single ((:commit . "2751d36152abcc2ac1479225392182b53f1e02dd") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/moody"))])
+ (moom . [(20191118 902) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "f16c8c509990932f3db7570a838a441d5c22dec3") (:keywords "frames" "faces" "convenience") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>") (:url . "https://github.com/takaxp/Moom"))])
+ (moonscript . [(20170831 2226) ((cl-lib (0 5)) (emacs (24))) "Major mode for editing MoonScript code" tar ((:commit . "56f90471e2ced2b0a177aed4d8c2f854797e9cc7") (:authors ("@GriffinSchneider, @k2052, @EmacsFodder")) (:maintainer "@GriffinSchneider, @k2052, @EmacsFodder"))])
+ (moonshot . [(20200210 2356) ((emacs (25 1)) (cl-lib (0 5)) (f (0 18)) (s (1 11 0)) (projectile (2 0 0)) (counsel (0 11 0)) (realgud (1 5 1)) (seq (2 20)) (levenshtein (1 0))) "Run executable file, debug and build commands on project" single ((:commit . "83a9933cd4af234ae15fdc3a39e660d646b0c246") (:keywords "convenience" "files" "processes" "tools" "unix") (:authors ("Jong-Hyouk Yun" . "ageldama@gmail.com")) (:maintainer "Jong-Hyouk Yun" . "ageldama@gmail.com") (:url . "https://github.com/ageldama/moonshot"))])
+ (morganey-mode . [(20170118 934) ((emacs (24 4))) "Major mode for editing Morganey files" single ((:commit . "5cf3870432a2aeb69d373abe63b3be1f325f6d21") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "https://github.com/morganey-lang/morganey-mode"))])
+ (morlock . [(20180318 2023) nil "more font-lock keywords for elisp" single ((:commit . "b883d48024ddfffebe2d0dd69f5ed54c617f8834") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/morlock"))])
+ (mosey . [(20180614 1649) ((emacs (24 4))) "Mosey around your buffers" single ((:commit . "2e3ac9d334fa2937ed5267193dfd25d8e1f14dc2") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/mosey.el"))])
+ (mote-mode . [(20160123 29) ((ruby-mode (1 1))) "Mote minor mode" single ((:commit . "666c6641addbd3b337a7aa01fd2742ded2f41b83") (:authors ("Leandro López (inkel)" . "inkel.ar@gmail.com")) (:maintainer "Leandro López (inkel)" . "inkel.ar@gmail.com") (:url . "http://inkel.github.com/mote-mode/"))])
+ (motion-mode . [(20140920 156) ((flymake-easy (0 7)) (flymake-cursor (1 0 2))) "major mode for RubyMotion enviroment" tar ((:commit . "4c94180e3ecea611a61240a0c0cd48f1032c4a55") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai") (:url . "https://github.com/ainame/motion-mode"))])
+ (mouse-slider-mode . [(20161021 1914) ((emacs (24 3)) (cl-lib (0 3))) "scale numbers dragged under the mouse" single ((:commit . "b3c19cd231edecce76787c5a9bbe5e4046d91f88") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/mouse-slider-mode"))])
+ (move-dup . [(20200311 1424) nil "Eclipse-like moving and duplicating lines or rectangles." single ((:commit . "7a384e0e0889e07a9a81d007d8ccc654c7c89bd2") (:keywords "convenience" "text" "edit") (:authors ("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:url . "https://github.com/wyuenho/move-dup"))])
+ (move-text . [(20170909 330) nil "Move current line or region with M-up or M-down." single ((:commit . "7cbc941a9150468609010a93c429117da2523903") (:keywords "edit") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/emacsfodder/move-text"))])
+ (mowedline . [(20161122 235) nil "elisp utilities for using mowedline" single ((:commit . "6121b7d4aacd18f7b24da226e61dbae054e50a7c") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))])
+ (moz . [(20150805 1706) nil "Lets current buffer interact with inferior mozilla." single ((:commit . "ab3e79914445039ceb62f7f2dc342358fec3492e") (:authors ("Massimiliano Mirra, <bard [at] hyperstruct [dot] net>")) (:maintainer "Massimiliano Mirra, <bard [at] hyperstruct [dot] net>") (:url . "http://github.com/bard/mozrepl/raw/master/chrome/content/moz.el"))])
+ (moz-controller . [(20151209 206) ((moz (0))) "Control Firefox from Emacs" single ((:commit . "46f665c03574fa922de767fc29795e0db4a7c5c6") (:authors ("任文山 (Ren Wenshan) <renws1990 at gmail.com>")) (:maintainer "任文山 (Ren Wenshan) <renws1990 at gmail.com>") (:url . "https://github.com/RenWenshan/emacs-moz-controller"))])
+ (mozc . [(20180101 800) nil "minor mode to input Japanese with Mozc" single ((:commit . "afb03ddfe72dde4cf2409863a3bfea160f7a66d8") (:keywords "mule" "multilingual" "input method"))])
+ (mozc-cand-posframe . [(20200208 750) ((emacs (26 1)) (posframe (0 5 0)) (mozc (20180101 800)) (s (1 12))) "Posframe frontend for mozc.el" single ((:commit . "1d07d5055381008ccbb29b97315d140e09a7ee95") (:keywords "i18n" "tooltip") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/mozc-posframe"))])
+ (mozc-im . [(20160412 22) ((mozc (0))) "Mozc with input-method-function interface." single ((:commit . "df614a1076c28a11551fb3e822868bae47e855a5") (:keywords "i18n" "extentions") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))])
+ (mozc-popup . [(20150224 34) ((popup (0 5 2)) (mozc (0))) "Mozc with popup" single ((:commit . "f0684b875a7427ec08f8df13939a486e5d5cf420") (:keywords "i18n" "extentions") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))])
+ (mozc-temp . [(20160228 840) ((emacs (24)) (dash (2 10 0)) (mozc (0))) "Use mozc temporarily" single ((:commit . "01f09b6c0b308e9f7057fb2aa80171e2ce328bb8") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/mozc-temp"))])
+ (mpages . [(20150710 1404) nil "An Emacs buffer for quickly writing your Morning Pages" single ((:commit . "39a72a0931ab1cdbfdf0ab9f412dc12d43a3829f") (:authors ("Sean Levin")) (:maintainer "Sean Levin") (:url . "https://github.com/slevin/mpages"))])
+ (mpdel . [(20200221 1316) ((emacs (25 1)) (libmpdel (1 2 0)) (navigel (0 7 0))) "Play and control your MPD music" tar ((:commit . "29e7c46f83bab7aedfa0136c58e776faba6ad4ed") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/mpdel"))])
+ (mpmc-queue . [(20180303 2029) ((emacs (26 0)) (queue (0 2 0))) "a multiple-producer-multiple-consumer queue" single ((:commit . "df07d6bef7468edb1d73ef73b8331b94d0e5d0ca") (:keywords "lisp" "async") (:authors ("Sho Mizoe" . "sho.mizoe@gmail.com")) (:maintainer "Sho Mizoe" . "sho.mizoe@gmail.com") (:url . "https://github.com/smizoe/mpmc-queue"))])
+ (mpv . [(20200315 2158) ((cl-lib (0 5)) (emacs (24)) (json (1 3)) (org (8 0))) "control mpv for easy note-taking" single ((:commit . "2d40c4550558eb1bf35a69446777c4e9cae7a623") (:keywords "tools" "multimedia") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com") (:url . "https://github.com/kljohann/mpv.el"))])
+ (mqr . [(20180527 1204) ((emacs (24 4))) "Multi-dimensional query and replace" single ((:commit . "4ade19d4620b8b61340290bf63fa56d5e493859f") (:keywords "convenience" "extensions" "lisp") (:authors ("Tino Calancha" . "tino.calancha@gmail.com")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:url . "https://github.com/calancha/multi-replace"))])
+ (mqtt-mode . [(20180605 1731) ((emacs (25)) (dash (2 12 0))) "client for interaction with MQTT servers" single ((:commit . "36d1d4296d79e17b8f35e8e14f2708980eb502db") (:keywords "tools") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/mqtt-mode"))])
+ (msgpack . [(20200323 515) ((emacs (25 1))) "Read and write MessagePack object" single ((:commit . "90e3086f259549b1667a3c5b9aa2d70aaeaa4d3d") (:keywords "lisp") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/msgpack.el"))])
+ (msvc . [(20191211 540) ((emacs (24)) (cl-lib (0 5)) (cedet (1 0)) (ac-clang (2 0 0))) "Microsoft Visual C/C++ mode" tar ((:commit . "9fe50e5961fa63fc5cf7326370f441993e9d5cfc") (:keywords "languages" "completion" "syntax check" "mode" "intellisense") (:authors ("yaruopooner [https://github.com/yaruopooner]")) (:maintainer "yaruopooner [https://github.com/yaruopooner]") (:url . "https://github.com/yaruopooner/msvc"))])
+ (mtg-deck-mode . [(20180613 2010) ((emacs (25 1))) "Major mode to edit MTG decks" tar ((:commit . "8265b8ed17fcd4406760c19aa6ee9c76068b1ab0") (:keywords "data" "mtg" "magic") (:authors ("Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com")) (:maintainer "Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com") (:url . "https://github.com/mattiasb/mtg-deck-mode"))])
+ (mu-cite . [(20190803 439) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "b2c83bbce4646d100b942f0f0de0877a8d47298c"))])
+ (mu2tex . [(20200329 758) nil "Convert plain text molecule names and units to TeX" single ((:commit . "536a7a0db4ddbdb30a16fdd56c79b78c9b50d865") (:keywords "tex") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") (:url . "https://github.com/cdominik/mu2tex"))])
+ (mu4e-alert . [(20190418 558) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 3))) "Desktop notification for mu4e" single ((:commit . "91f0657c5b245a9de57aa38391221fb5d141d9bd") (:keywords "mail" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/mu4e-alert"))])
+ (mu4e-conversation . [(20190609 812) ((emacs (25 1))) "Show a complete thread in a single buffer" single ((:commit . "98110bb9c300fc9866dee8e0023355f9f79c9b96") (:keywords "mail" "convenience" "mu4e") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/mu4e-conversation"))])
+ (mu4e-jump-to-list . [(20190419 1442) ((emacs (24 4)) (cl-lib (0 5))) "mu4e jump-to-list extension" single ((:commit . "358bba003543b49ffa266e503e54aebd0ebe614b") (:keywords "mu4e" "mail" "convenience") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/mu4e-jump-to-list.el"))])
+ (mu4e-maildirs-extension . [(20200410 820) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "36b1f3a561af173eccc7bebf10ee060af44ed6e7") (:authors ("Andreu Gil Pàmies" . "agpchil@gmail.com")) (:maintainer "Andreu Gil Pàmies" . "agpchil@gmail.com") (:url . "http://github.com/agpchil/mu4e-maildirs-extension"))])
+ (mu4e-overview . [(20200218 546) ((emacs (26))) "Show overview of maildir" single ((:commit . "151d5d9e0dd5e8e8c775035203d3e17538151f33") (:keywords "mail" "tools") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/mu4e-overview"))])
+ (mu4e-query-fragments . [(20170923 1322) ((emacs (24 4))) "mu4e query fragments extension" single ((:commit . "34ddad4e6785f575333efcc66153d892daa1c884") (:keywords "mu4e" "mail" "convenience") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/mu4e-query-fragments.el"))])
+ (muban . [(20180415 1219) ((emacs (25))) "Lightweight template expansion tool" single ((:commit . "7078e439ee0433a8fbd1cb174464496f9a9d00fa") (:keywords "abbrev" "tools") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:url . "https://github.com/jiahaowork/muban.el"))])
+ (multi . [(20131013 1544) ((emacs (24))) "Clojure-style multi-methods for emacs lisp" single ((:commit . "0987ab71692717ed457cb3984de184db9185806d") (:keywords "multimethod" "generic" "predicate" "dispatch") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:url . "http://github.com/kurisuwhyte/emacs-multi"))])
+ (multi-compile . [(20160306 2223) ((emacs (24)) (dash (2 12 1))) "Multi target interface to compile." single ((:commit . "bd0331854774e7a269ce8a7dd49580cd397c0ec2") (:keywords "tools" "compile" "build") (:authors ("Kvashnin Vladimir" . "reangd@gmail.com")) (:maintainer "Kvashnin Vladimir" . "reangd@gmail.com") (:url . "https://github.com/ReanGD/emacs-multi-compile"))])
+ (multi-line . [(20170822 226) ((emacs (24 3)) (s (1 9 0)) (cl-lib (0 5)) (dash (2 12 0)) (shut-up (0 3 2))) "multi-line statements" tar ((:commit . "d5ae863ced0adeb7032ada398005f27a6c669d79") (:keywords "multi" "line" "length" "whitespace" "programming" "tools" "convenience" "files") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/multi-line"))])
+ (multi-project . [(20191117 1203) ((emacs (25))) "Find files, compile, and search for multiple projects." single ((:commit . "4045823d51f6330466b6ab83828b6c598ac817a0") (:keywords "convenience" "project" "management") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://hg.osdn.net/view/multi-project/multi-project"))])
+ (multi-run . [(20190507 2349) ((emacs (24)) (window-layout (1 4))) "Efficiently manage multiple remote nodes" tar ((:commit . "c6256b0cc2876c29faf381d8324b31b911045a27") (:keywords "multiple shells" "multi-run" "remote nodes") (:authors ("Sagar Jha")) (:maintainer "Sagar Jha") (:url . "https://www.github.com/sagarjha/multi-run"))])
+ (multi-term . [(20200112 533) nil "Managing multiple terminal buffers in Emacs." single ((:commit . "7307ddd456db44045206253e5a905d3d8c143d5c") (:keywords "term" "terminal" "multiple buffer") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:url . "http://www.emacswiki.org/emacs/download/multi-term.el"))])
+ (multi-vterm . [(20200329 940) ((emacs (26 3)) (vterm (0 0)) (projectile (1 2 0))) "Like multi-term.el but for vterm" single ((:commit . "11f1b0cc97a24aba66fb561a0a94e9a66375b30f") (:keywords "terminals" "processes") (:url . "https://github.com/suonlight/multi-libvterm"))])
+ (multi-web-mode . [(20130824 354) nil "multiple major mode support for web editing" tar ((:commit . "ad1c8d1c870334052d244c7ae3636cb7b9357b7c") (:keywords "convenience" "languages" "wp") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:url . "https://github.com/fgallina/multi-web-mode"))])
+ (multicolumn . [(20150202 2251) nil "Creating and managing multiple side-by-side windows." single ((:commit . "c7a3afecd470859b2e60aa7c554d6e4d436df7fa") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/multicolumn"))])
+ (multifiles . [(20130615 2133) nil "View and edit parts of multiple files in one buffer" single ((:commit . "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897") (:keywords "multiple" "files") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (multiple-cursors . [(20191210 1759) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "b880554d04b8f61165afba7d4de19ac9e39bb7ab"))])
+ (multitran . [(20200201 55) ((emacs (24)) (cl-lib (0 5))) "Interface to multitran" single ((:commit . "475e2a92795dbed1aa3b1c5eba2c6c779cac4508") (:keywords "dictionary" "hypermedia") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))])
+ (mustache . [(20190905 2214) ((ht (0 9)) (s (1 3 0)) (dash (1 2 0))) "a mustache templating library in emacs lisp" tar ((:commit . "6443e1563ddf4eee2236ca1bb1fe87ddfde4b2bb"))])
+ (mustache-mode . [(20141024 1432) nil "A major mode for editing Mustache files." single ((:commit . "bf9897eb287ca47ced65d7d4e07ea61ea0aec39f") (:authors ("Tony Gentilcore") ("Chris Wanstrath") ("Daniel Hackney")) (:maintainer "Tony Gentilcore"))])
+ (mustang-theme . [(20170719 946) nil "port of vim's mustang theme" single ((:commit . "dda6d04803f1c9b196b620ef564e7768fee15de2") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/mustang-theme"))])
+ (mustard-theme . [(20170808 1319) ((emacs (24 0))) "an Emacs 24 theme based on Mustard (tmTheme)" single ((:commit . "3b15d992c79590d7ea2503004e2a863b57e274b5") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (mutant . [(20160124 1353) ((emacs (24 4)) (dash (2 1 0))) "An interface for the Mutant testing tool" single ((:commit . "de9cdefe48c880128a8f62c6699d7416e9c8ced1") (:keywords "mutant" "testing") (:authors ("Pedro Lambert")) (:maintainer "Pedro Lambert") (:url . "http://github.com/p-lambert/mutant.el"))])
+ (mutt-mode . [(20191102 2330) ((emacs (24))) "major mode for editing mutt configuration" single ((:commit . "1d495de49e6f536459b00d5396a2f5ce5ad4757b") (:keywords "languages") (:authors ("Felix Weilbach" . "felix.weilbach@t-online.de")) (:maintainer "Felix Weilbach" . "felix.weilbach@t-online.de") (:url . "https://gitlab.com/flexw/mutt-mode"))])
+ (mvn . [(20181002 1617) nil "helpers for compiling with maven" single ((:commit . "ffa40235b7dabb6c6c165f64f32a963cde8031f0") (:keywords "compilation" "maven" "java") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:url . "https://github.com/apgwoz/mvn-el"))])
+ (mw-thesaurus . [(20190620 2330) ((emacs (25)) (request (0 3 0)) (dash (2 16 0))) "Merriam-Webster Thesaurus" single ((:commit . "8327bae11588bcad5d73dcfbeb5e8d10f623d6b6") (:keywords "wp" "matching") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/mw-thesaurus.el"))])
+ (mwim . [(20181110 1900) nil "Switch between the beginning/end of line or code" single ((:commit . "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/mwim.el"))])
+ (mxf-view . [(20180501 740) ((emacs (25))) "Simple MXF viewer" single ((:commit . "6ca3cc93d995fac5fc4d72275e1e984e9857ffcb") (:keywords "data" "multimedia") (:authors ("Tomotaka SUWA" . "tomotaka.suwa@gmail.com")) (:maintainer "Tomotaka SUWA" . "tomotaka.suwa@gmail.com") (:url . "https://github.com/t-suwa/mxf-view"))])
+ (myanmar-input-methods . [(20160106 1537) nil "Emacs Input Method for Myanmar" single ((:commit . "9d4e0d6358c61bde7a2274e430ef71683faea32e") (:keywords "myanmar" "unicode" "keyboard") (:authors ("Ye Lin Kyaw" . "yelinkyaw@gmail.com")) (:maintainer "Ye Lin Kyaw" . "yelinkyaw@gmail.com") (:url . "http://github.com/yelinkyaw/emacs-myanmar-input-methods"))])
+ (mykie . [(20150808 2205) ((emacs (24 3)) (cl-lib (0 5))) "Command multiplexer: Register multiple functions to a keybind" tar ((:commit . "7676f0e883af1d1054e404e97691f3c13aba196f") (:keywords "emacs" "configuration" "keybind") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>") (:url . "https://github.com/yuutayamada/mykie-el"))])
+ (mynt-mode . [(20150512 2049) ((virtualenvwrapper (20131514))) "Minor mode to work with the mynt static site generator" single ((:commit . "23d4489167bfa899634548cb41ed32fdeb3600c9") (:keywords "convenience") (:authors ("Christian Brassat")) (:maintainer "Christian Brassat") (:url . "https://github.com/crshd/mynt-mode"))])
+ (myrddin-mode . [(20191225 2120) ((emacs (24 3))) "Major mode for editing Myrddin source files" single ((:commit . "51c0a2cb9dfc9526cd47e71313f5a745c99cadcc") (:keywords "languages") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:url . "https://git.sr.ht/~jakob/myrddin-mode"))])
+ (mysql-to-org . [(20181012 2034) ((emacs (24 3)) (s (1 11 0))) "Minor mode to output the results of mysql queries to org tables" single ((:commit . "7c986065adcbe13a525e1da5db8aa4c80b0ef7a3") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))])
+ (myterminal-controls . [(20190426 421) ((emacs (24))) "Quick toggle controls at a key-stroke" single ((:commit . "733cdd7ab4f172b6dca09720fc5ae7dbc248c822") (:keywords "convenience" "shortcuts") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))])
+ (n4js . [(20150714 231) ((emacs (24)) (cypher-mode (0))) "Neo4j Shell" single ((:commit . "3991ed8975151d5e8d568e952362df810f7ffab7") (:keywords "neo4j" "shell" "comint") (:authors ("TruongTx" . "me@truongtx.me")) (:maintainer "TruongTx" . "me@truongtx.me") (:url . "https://github.com/tmtxt/n4js.el"))])
+ (name-this-color . [(20151014 2030) ((emacs (24)) (cl-lib (0 5)) (dash (2 11 0))) "Match RGB codes to names easily and precisely" single ((:commit . "e37cd1291d5d68d4c8d6386eab9cb9d94fd3bcfa") (:keywords "lisp" "color" "hex" "rgb" "shade" "name") (:url . "https://github.com/knl/name-this-color.el"))])
+ (named-timer . [(20181120 2224) ((emacs (24 4))) "Simplified timer management for Emacs Lisp" single ((:commit . "670b81e3eddef2e7353a4eedc9553a85306445db") (:keywords "tools") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/emacs-named-timer"))])
+ (nameframe . [(20171107 56) nil "Manage frames by name." single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))])
+ (nameframe-perspective . [(20170406 119) ((nameframe (0 4 1 -2)) (perspective (1 12))) "Nameframe integration with perspective.el" single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))])
+ (nameframe-projectile . [(20160928 403) ((nameframe (0 4 1 -2)) (projectile (0 13 0))) "Nameframe integration with Projectile" single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))])
+ (nameless . [(20190429 1202) ((emacs (24 4))) "Hide package namespace in your emacs-lisp code" single ((:commit . "a3a1ce3ec0c5724bcbfe553d831bd4f6b3fe863a") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/nameless"))])
+ (names . [(20180321 1155) ((emacs (24 1)) (cl-lib (0 5))) "Namespaces for emacs-lisp. Avoid name clobbering without hiding symbols." tar ((:commit . "d8baba5360e5253938a25d3e005455b6d2d86971") (:keywords "extensions" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/names"))])
+ (namespaces . [(20130326 2250) nil "An implementation of namespaces for Elisp, with an emphasis on immutabilty." single ((:commit . "3d02525d9b9a5ae6e7be3adefd880121436e6270") (:authors ("Chris Barrett")) (:maintainer "Chris Barrett") (:url . "https://github.com/chrisbarrett/elisp-namespaces"))])
+ (nand2tetris . [(20171201 1813) ((emacs (24))) "Major mode for HDL files in the nand2tetris course" tar ((:commit . "33acee34d24b1c6a87db833b7d23449cf858f64f") (:keywords "nand2tetris" "hdl") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/CestDiego/nand2tetris.el/"))])
+ (nand2tetris-assembler . [(20171201 1813) ((nand2tetris (1 1 0))) "Assembler For the Nand2tetris Course" single ((:commit . "33acee34d24b1c6a87db833b7d23449cf858f64f") (:keywords "nand2tetris-assembler" "hdl") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/CestDiego/nand2tetris-assembler.el/"))])
+ (nanowrimo . [(20151105 228) nil "Track progress for nanowrimo" single ((:commit . "b1d41458926ccb39cefbb1bb74aefe4f02fd349f") (:authors ("Ivan Andrus <darthandrus at gmail.com>")) (:maintainer "Ivan Andrus <darthandrus at gmail.com>") (:url . "https://bitbucket.org/gvol/nanowrimo-mode"))])
+ (naquadah-theme . [(20190225 1427) nil "A theme based on Tango color set" single ((:commit . "430c3b7bd51922cb616b3f60301f4e2604816ed8"))])
+ (narrow-reindent . [(20150722 1906) ((emacs (24 4))) "Defines a minor mode to left-align narrowed regions." single ((:commit . "87466aac4dbeb79597124dd077bf5c704872fd3d") (:authors ("J David Smith" . "emallson@atlanis.net")) (:maintainer "J David Smith" . "emallson@atlanis.net") (:url . "https://github.com/emallson/narrow-reindent.el"))])
+ (narrowed-page-navigation . [(20150109 519) ((emacs (24)) (cl-lib (0 5))) "A minor mode for showing one page at a time" single ((:commit . "b215adbac4873f56fbab65772062f0f5be8058a1") (:keywords "outlines") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (nash-mode . [(20160830 1212) nil "Nash major mode" single ((:commit . "2cd96535eb7d669a94306183e95ee37333872c1a") (:keywords "nash" "languages") (:authors ("Tiago Natel de Moura")) (:maintainer "Tiago Natel de Moura") (:url . "https://github.com/tiago4orion/nash-mode.el"))])
+ (nasm-mode . [(20190410 342) ((emacs (24 3))) "NASM x86 assembly major mode" single ((:commit . "65ca6546fc395711fac5b3b4299e76c2303d43a8") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/nasm-mode"))])
+ (native-complete . [(20200424 1635) ((emacs (25 1))) "Shell completion using native complete mechanisms" single ((:commit . "ccb5b52940a9374fbfe92947f0101e7254ba445d") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))])
+ (nav . [(20120507 707) nil "Emacs mode for filesystem navigation" tar ((:commit . "c5eb234c063f435dbdcd1f8bdc46cfc68c973ebe") (:authors ("Issac Trotts" . "issactrotts@google.com")) (:maintainer "Issac Trotts" . "issactrotts@google.com"))])
+ (nav-flash . [(20191204 1427) nil "Briefly highlight the current line" single ((:commit . "dbb91216637e0a1e8bfd59aa883c75d45db70daf") (:keywords "extensions" "navigation" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/nav-flash"))])
+ (navi-mode . [(20190720 2003) ((outshine (2 0)) (outorg (2 0))) "major-mode for easy buffer-navigation" single ((:commit . "7eb7cf0c4a6ee537ec462f5ec90f00d12e3ca9c2") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/navi"))])
+ (navi2ch . [(20200130 36) nil "Navigator for 2ch for Emacsen" tar ((:commit . "7811dba052f679bd920a1f648d621a6fecace10f") (:keywords "network" "2ch") (:authors ("Taiki SUGAWARA" . "taiki@users.sourceforge.net")) (:maintainer "Taiki SUGAWARA" . "taiki@users.sourceforge.net"))])
+ (navigel . [(20200202 1214) ((emacs (25 1)) (tablist (1 0))) "Facilitate the creation of tabulated-list based UIs" single ((:commit . "0a2d624d6b49f8363badc5ba8699b7028ef85632") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/navigel"))])
+ (navorski . [(20141203 1824) ((s (1 9 0)) (dash (1 5 0)) (multi-term (0 8 14))) "Helping you live in the terminal, like Viktor did." single ((:commit . "698c1c62da70164aebe9a7a5d034778fbc30ea5b") (:keywords "terminal") (:authors ("Roman Gonzalez <romanandreg@gmail.com>, Tavis Rudd" . "tavis@birdseye-sw.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))])
+ (naysayer-theme . [(20200405 123) ((emacs (24))) "The naysayer color theme" single ((:commit . "9d0bef898f31368cd30e063d53d443dee29683b0") (:authors ("Nick Aversano" . "nickav@users.noreply.github.com")) (:maintainer "Nick Aversano" . "nickav@users.noreply.github.com") (:url . "https://github.com/nickav/naysayer-theme.el"))])
+ (ncl-mode . [(20180129 703) ((emacs (24))) "Major Mode for editing NCL scripts and other goodies" tar ((:commit . "602292712a9e6b7e7c25155978999e77d06b7338"))])
+ (nclip . [(20130617 2015) nil "Network (HTTP) Clipboard" tar ((:commit . "af88e38b1f04be02bf2e57affc662dbd0f828e67") (:keywords "nclip" "clipboard" "network") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://www.github.com/maio/nclip.el"))])
+ (neato-graph-bar . [(20181130 1649) ((emacs (24 3))) "Neat-o graph bars CPU/memory etc." single ((:commit . "a7ae35afd67911e8924f36e646bce0d3e3c1bbe6") (:authors ("Robert Cochran" . "robert-git@cochranmail.com")) (:maintainer "Robert Cochran" . "robert-git@cochranmail.com") (:url . "https://gitlab.com/RobertCochran/neato-graph-bar"))])
+ (nemerle . [(20161029 2023) nil "major mode for editing nemerle programs" single ((:commit . "ae60dc55822ea1715b203775179080c5d62700d8") (:keywords "nemerle" "mode" "languages") (:authors ("Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl")) (:maintainer "Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl"))])
+ (neon-mode . [(20180406 1156) nil "Simple major mode for editing neon files" single ((:commit . "99d15e46beaf1e7d71e39a00cce810df1f33229d") (:keywords "conf") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (neotree . [(20200324 1946) ((cl-lib (0 5))) "A tree plugin like NerdTree for Vim" tar ((:commit . "98fe21334affaffe2334bf7c987edaf1980d2d0b") (:authors ("jaypei" . "jaypei97159@gmail.com")) (:maintainer "jaypei" . "jaypei97159@gmail.com") (:url . "https://github.com/jaypei/emacs-neotree"))])
+ (nerdtab . [(20180811 339) ((emacs (24 5))) "Keyboard-oriented tabs" single ((:commit . "74ccc14d7956712e477a34b4a733284e8b3832a6") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/nerdtab"))])
+ (netease-music . [(20190708 215) ((names (0 5)) (emacs (25))) "listen netease music" single ((:commit . "39a7d7a15f63435d9efaf469ea7c971069c07acb") (:keywords "multimedia" "chinese" "music") (:authors ("hiro方圆" . "wfy11235813@gmail.com")) (:maintainer "hiro方圆" . "wfy11235813@gmail.com") (:url . "https://github.com/nicehiro/netease-music"))])
+ (netherlands-holidays . [(20150202 1617) nil "Netherlands holidays for Emacs calendar." single ((:commit . "26236178cdd650df9958bf5a086e184096559f00") (:keywords "calendar") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/netherlands-holidays"))])
+ (netrunner . [(20160910 2332) ((popup (0 5 3)) (company (0 9 0)) (helm (1 9 5))) "Create Android: Netrunner decklists using Company, Helm and org-mode" single ((:commit . "c64672992175c8c1073c0f56c2e471839db71a0f") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/netrunner"))])
+ (network-watch . [(20171123 1146) ((emacs (24 3))) "Support for intermittent network connectivity" single ((:commit . "958dd0d419e4f9402648a86b754091ba346e01b8") (:keywords "unix" "tools" "hardware" "lisp") (:authors ("Juan Amiguet Vercher" . "jamiguet@gmail.com")) (:maintainer "Juan Amiguet Vercher" . "jamiguet@gmail.com") (:url . "https://github.com/jamiguet/network-watch"))])
+ (neuron-mode . [(20200430 1956) ((emacs (26 3)) (f (0 20 0)) (counsel (0 13 0)) (markdown-mode (2 3))) "Major mode for editing zettelkasten notes using neuron" single ((:commit . "e3bdf44e5ca5b1e212d8463bb946fe6f9915d60f") (:keywords "outlines") (:authors ("felko <http://github/felko>")) (:maintainer "felko <http://github/felko>") (:url . "https://github.com/felko/neuron-mode"))])
+ (never-comment . [(20140104 2207) nil "Never blocks are comment" single ((:commit . "74ded8f1e7f23240f5f6032d0451fb0a51733bc4") (:authors ("Scott Frazer")) (:maintainer "Toon Claes") (:url . "http://stackoverflow.com/a/4554658/89376"))])
+ (newlisp-mode . [(20160226 1545) nil "newLISP editing mode for Emacs" single ((:commit . "ac23be40c81a360988ab803d365f1510733f6db4") (:keywords "language" "lisp" "newlisp") (:authors ("KOBAYASHI Shigeru <shigeru.kb[at]gmail.com>")) (:maintainer "KOBAYASHI Shigeru <shigeru.kb[at]gmail.com>") (:url . "https://github.com/kosh04/newlisp-mode"))])
+ (nexus . [(20140114 1305) nil "REST Client for Nexus Maven Repository servers" tar ((:commit . "c46f499951b90839aa8683779fe43d8f01672a60") (:keywords "comm") (:authors ("Juergen Hoetzel" . "juergen@archlinux.org")) (:maintainer "Juergen Hoetzel" . "juergen@archlinux.org"))])
+ (ng2-mode . [(20190524 1912) ((typescript-mode (0 1))) "Major modes for editing Angular 2" tar ((:commit . "52fdfe27247548b46f6171eebaf887a90dd67463") (:keywords "typescript" "angular" "angular2" "template") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ng2-mode"))])
+ (nginx-mode . [(20170612 437) nil "major mode for editing nginx config files" single ((:commit . "a2bab83c2eb233d57d76b236e7c141c2ccc97005") (:keywords "languages" "nginx") (:authors ("Andrew J Cosgriff" . "andrew@cosgriff.name")) (:maintainer "Andrew J Cosgriff" . "andrew@cosgriff.name"))])
+ (niceify-info . [(20160416 1244) nil "improve usability of Info pages" single ((:commit . "38df5062bc3b99d1074cab3e788b5ed66732111c"))])
+ (niconama . [(20170910 1501) ((emacs (24)) (request (20170131 1747)) (cl-lib (0 5))) "Tools for Niconico Live Broadcast" single ((:commit . "96e7553e50e6bf7b58aac50f52c9b0b8edb41c56") (:keywords "comm") (:url . "https://github.com/NOBUTOKA/niconama.el"))])
+ (night-owl-theme . [(20200118 1513) ((emacs (24))) "A color theme for the night owls out there" single ((:commit . "b52fbf83ffef1ca265c9ea273bf51827532cef67") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "http://github.com/aaronjensen/night-owl-theme"))])
+ (nikola . [(20170703 2021) ((async (1 5)) (emacs (24 3))) "Simple wrapper for nikola" single ((:commit . "964715ac30943c9d6976999cad208dc60d09def0") (:keywords ":" "nikola") (:authors (": drymer <drymer [ AT ] autistici.org>")) (:maintainer ": drymer <drymer [ AT ] autistici.org>") (:url . ": https://git.daemons.it/drymer/nikola.el"))])
+ (nim-mode . [(20191219 847) ((emacs (24 4)) (epc (0 1 1)) (let-alist (1 0 1)) (commenter (0 5 1)) (flycheck-nimsuggest (0 8 1))) "A major mode for the Nim programming language" tar ((:commit . "16a245e4974d21a6e9e7163e7fbfb50a0bd89f99") (:keywords "nim" "languages") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner" . "hafnersimon@gmail.com"))])
+ (nimbus-theme . [(20200203 1941) ((emacs (24))) "An awesome dark theme." single ((:commit . "32c5c88502aec1afb6700a798c215b7fc6ce6101") (:keywords "faces") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") ("See README.md for full list of contributors.")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:url . "https://github.com/m-cat/nimbus-theme"))])
+ (ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "9a77d919525a6f844a5c18a1bcf2c2eeb9393ad7"))])
+ (nix-buffer . [(20180212 1518) ((f (0 17 3)) (emacs (24 4))) "Set up buffer environments with nix" single ((:commit . "db57cda36e7477bdc7ef5a136357b971b1d4d099") (:authors ("Shea Levy")) (:maintainer "Shea Levy") (:url . "https://github.com/shlevy/nix-buffer/tree/master/"))])
+ (nix-env-install . [(20200113 751) ((emacs (25 1))) "Install packages using nix-env" single ((:commit . "b343a7e885206e78544da7313b860442abbd7440") (:keywords "processes" "tools") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/nix-env-install"))])
+ (nix-haskell-mode . [(20190615 135) ((emacs (25)) (haskell-mode (16 0)) (nix-mode (1 3 0))) "haskell-mode integrations for Nix" single ((:commit . "68efbcbf949a706ecca6409506968ed2ef928a20") (:keywords "nix" "haskell" "languages" "processes") (:authors ("Matthew Bauer" . "mjbauer95@gmail.com")) (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/matthewbauer/nix-haskell"))])
+ (nix-mode . [(20190904 1440) ((emacs (25))) "Major mode for editing .nix files" tar ((:commit . "5b5961780f3b1c1b62453d2087f775298980f10d") (:keywords "nix" "languages" "tools" "unix") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/NixOS/nix-mode"))])
+ (nix-sandbox . [(20191126 759) ((dash (2 12 1)) (s (1 10 0))) "Utility functions to work with nix-shell sandboxes" single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:authors ("Sven Keidel" . "svenkeidel@gmail.com")) (:maintainer "Sven Keidel" . "svenkeidel@gmail.com") (:url . "https://github.com/travisbhartwell/nix-emacs"))])
+ (nix-update . [(20190124 1935) ((emacs (25))) "Update \"fetch\" blocks in .nix expressions" single ((:commit . "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7") (:keywords "nix") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/nix-update-el"))])
+ (nixos-options . [(20160209 1841) ((emacs (24))) "Interface for browsing and completing NixOS options." single ((:commit . "977b9a505ffc8b33b70ec7742f90e469b3168297") (:keywords "unix") (:authors ("Diego Berrocal" . "cestdiego@gmail.com") ("Travis B. Hartwell" . "nafai@travishartwell.net")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "http://www.github.com/travisbhartwell/nix-emacs/"))])
+ (nixpkgs-fmt . [(20200327 2302) ((emacs (24)) (reformatter (0 3))) "Reformat Nix using nixpkgs-fmt" single ((:commit . "cc8ee143d4ef45a8c540901852326ccdf6ff8482") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/emacs-nixpkgs-fmt"))])
+ (nlinum-hl . [(20190301 2117) ((emacs (24 4)) (nlinum (1 7)) (cl-lib (0 5))) "heal nlinum's line numbers" single ((:commit . "dc6b365a58e06c7d637a76a31c71a40b20da8b56") (:keywords "nlinum" "highlight" "current" "line" "faces") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-nlinum-hl"))])
+ (nlinum-relative . [(20160526 708) ((emacs (24 4)) (nlinum (1 5))) "Relative line number with nlinum" single ((:commit . "5b9950c97ba79a6f0683e38b13da23f39e01031c") (:keywords "convenience") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))])
+ (nm . [(20151110 1910) ((notmuch (0 21)) (peg (0 6)) (company (0)) (emacs (24 3))) "NEVERMORE: an email interface for Notmuch" tar ((:commit . "5a3f29174b3a4b2b2e7a700a862f3b16a942687e") (:authors ("Trevor Jim")) (:maintainer "Trevor Jim") (:url . "https://github.com/tjim/nevermore"))])
+ (nndiscourse . [(20200418 2355) ((emacs (25 1)) (dash (2 16)) (dash-functional (1 2 0)) (anaphora (1 0 4)) (rbenv (0 0 3)) (json-rpc (20200417))) "Gnus backend for Discourse" tar ((:commit . "103eb5c13ad2d154c9386b2aa9dbea532435ee7a") (:keywords "news") (:url . "https://github.com/dickmao/nndiscourse"))])
+ (nnhackernews . [(20200407 1525) ((emacs (25 2)) (request (20190819)) (dash (20190401)) (dash-functional (20180107)) (anaphora (20180618))) "Gnus backend for Hacker News" single ((:commit . "d5e58b373ab6c5f13174e76f5ae62539dc5cfc95") (:keywords "news") (:url . "https://github.com/dickmao/nnhackernews"))])
+ (nnir-est . [(20180710 2103) nil "Gnus nnir interface for HyperEstraier" single ((:commit . "6d0d5c8e33f4e4ccbc22350324c0990d2676fb5a") (:keywords "mail") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/nnir-est"))])
+ (nnreddit . [(20200417 1757) ((emacs (25)) (virtualenvwrapper (20190223)) (json-rpc (20200417)) (dash (20190401)) (anaphora (20180618)) (request (20190819))) "Gnus Backend For Reddit" tar ((:commit . "7f6e3bdbfa872af8e92ed339671772b46bc7f7f0") (:url . "https://github.com/dickmao/nnreddit"))])
+ (no-emoji . [(20180515 1837) ((emacs (24))) "Show :emoji-name: instead of emoji characters" single ((:commit . "ebceeab50dbfe4d60235180a57633745dbc18c77") (:keywords "extensions") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:url . "https://github.com/ecraven/no-emoji"))])
+ (no-littering . [(20200426 2105) ((cl-lib (0 5))) "help keeping ~/.emacs.d clean" single ((:commit . "e67d7edac513892c5997468899f177a6e7956906") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/no-littering"))])
+ (no-spam . [(20190724 1854) ((emacs (25 1))) "Add repeat delays to commands" single ((:commit . "860860e4a0d59bd15c8e092dc42f5f7f769a428e") (:keywords "keyboard" "tools") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:url . "https://github.com/mamapanda/no-spam"))])
+ (noaa . [(20190202 1634) ((request (0 2 0)) (cl-lib (0 5)) (emacs (24)) (dash (2 14 1))) "Get NOAA weather data" single ((:commit . "ebc6a4a1cc56c01d2bb882e4a40934a6a1f4e9ca") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/noaa"))])
+ (noccur . [(20191015 719) nil "Run multi-occur on project/dired files" single ((:commit . "fa91647a305e89561d3dbe53da002fff49abe0bb") (:keywords "convenience") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (nocomments-mode . [(20170213 2037) nil "Minor mode that makes comments invisible." single ((:commit . "5a41a20cc44dfe4a9ea584354ed6dbc15dd92f46") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/nocomments-mode"))])
+ (noctilux-theme . [(20161113 1442) ((emacs (24))) "Dark theme inspired by LightTable" single ((:commit . "a3265a1be7f4d73f44acce6d968ca6f7add1f2ca") (:authors ("Simon Manning" . "simon@ecksdee.org")) (:maintainer "Simon Manning" . "simon@ecksdee.org") (:url . "https://github.com/sjrmanning/noctilux-theme"))])
+ (node-resolver . [(20140930 1723) ((cl-lib (0 5))) "hook to install node modules in background" single ((:commit . "ef9d0486907a746a80b02ffc6208a09c168a9f7c") (:keywords "convenience" "nodejs" "javascript" "npm") (:authors ("Dave Justice")) (:maintainer "Dave Justice") (:url . "https://github.com/meandavejustice/node-resolver.el"))])
+ (nodejs-repl . [(20200320 1645) nil "Run Node.js REPL" single ((:commit . "6fad7d764fa0d818ba497450bd722ae10cb8efed") (:authors ("Takeshi Arabiki")) (:maintainer "Takeshi Arabiki"))])
+ (nodemcu-mode . [(20180501 2225) ((emacs (25))) "Minor mode for NodeMCU" single ((:commit . "8effd9f3df40b6b92a2f05e4d54750b624afc4a7") (:keywords "tools") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/nodemcu-mode"))])
+ (nodenv . [(20181023 1543) ((emacs (24 4))) "Integration with nodenv" tar ((:commit . "832fb0cbac4513edde7ebd6d1ab971c54313be36") (:keywords "node" "environment" "tools") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/nodenv.el"))])
+ (noflet . [(20141102 1454) nil "locally override functions" single ((:commit . "7ae84dc3257637af7334101456dafe1759c6b68a") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "https://github.com/nicferrier/emacs-noflet"))])
+ (nofrils-acme-theme . [(20180620 1248) ((emacs (24))) "Port of \"No Frils Acme\" Vim theme." tar ((:commit . "98ad7bfaff1d85b33dc162645670285b067c6f92") (:authors ("Eric Sessoms" . "esessoms@protonmail.com")) (:maintainer "Eric Sessoms" . "esessoms@protonmail.com") (:url . "https://gitlab.com/esessoms/nofrils-theme"))])
+ (nord-theme . [(20200108 833) ((emacs (24))) "An arctic, north-bluish clean and elegant theme" single ((:commit . "d828752e270978a56bde19986c98b1bbe8f51386") (:authors ("Arctic Ice Studio" . "development@arcticicestudio.com")) (:maintainer "Arctic Ice Studio" . "development@arcticicestudio.com") (:url . "https://github.com/arcticicestudio/nord-emacs"))])
+ (nordless-theme . [(20200213 2057) ((colorless-themes (0 1))) "A mostly colorless version of nord-theme" single ((:commit . "2b4c341640c8191a39e4bc28d6cd04c7d6dcbb37") (:keywords "faces" "theme") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))])
+ (northcode-theme . [(20180423 1649) ((emacs (24))) "A dark theme focused on blue and orange colors." single ((:commit . "4d3750461ba25ec45321318b5f1af4e8fdf16147") (:authors ("Andreas Larsen" . "andreas@northcode.no")) (:maintainer "Andreas Larsen" . "andreas@northcode.no") (:url . "https://github.com/Northcode/northcode-theme.el"))])
+ (nose . [(20140520 1648) nil "Easy Python test running in Emacs" single ((:commit . "194d7789bf797f31ea0adc45f08beb66ae9ea98e") (:keywords "nose" "python" "testing"))])
+ (notmuch . [(20200427 1036) nil "run notmuch within emacs" tar ((:commit . "9055dfdae41ba762b12434fe678fc524ea3ed618") (:url . "https://notmuchmail.org/"))])
+ (notmuch-bookmarks . [(20200322 1925) ((seq (2 20)) (emacs (26 1)) (notmuch (0 29 3))) "Add bookmark handling for notmuch buffers" single ((:commit . "ec8edfdbd1ac475530591d73a570ded5c18ed86a") (:keywords "mail") (:authors ("Jörg Volbers" . "joerg@joergvolbers.de")) (:maintainer "Jörg Volbers" . "joerg@joergvolbers.de") (:url . "https://github.com/publicimageltd/notmuch-bookmarks"))])
+ (notmuch-labeler . [(20131230 1719) ((notmuch (0))) "Improve notmuch way of displaying labels" tar ((:commit . "d65d1129555d368243df4770ecc1e7ccb88efc58") (:keywords "emacs" "package" "elisp" "notmuch" "emails") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/notmuch-labeler"))])
+ (nov . [(20200220 939) ((dash (2 12 0)) (esxml (0 3 3)) (emacs (24 4))) "Featureful EPUB reader mode" single ((:commit . "cd1b264b3f978a9285fa9297e40ad29d1434adf5") (:keywords "hypermedia" "multimedia" "epub") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:url . "https://github.com/wasamasa/nov.el"))])
+ (nova-theme . [(20200213 102) ((emacs (24 3))) "A dark, pastel color theme" single ((:commit . "4553fabbcd340f3f2fa59dbfb6f3f32ecb016e6f") (:keywords "theme" "dark" "nova" "pastel" "faces") (:authors ("Muir Manders" . "muir+emacs@mnd.rs")) (:maintainer "Muir Manders" . "muir+emacs@mnd.rs") (:url . "https://github.com/muirmanders/emacs-nova-theme"))])
+ (noxml-fold . [(20170823 1357) nil "Fold away XML things." single ((:commit . "46c7f6a008672213238a9f8d7a416ce80916aa62") (:keywords "xml" "folding") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/noxml-fold"))])
+ (npm . [(20200406 1429) ((emacs (25 1)) (transient (0 1 0))) "Run your npm workflows" single ((:commit . "187ddd2732deb49df1e87fbaace153afb8a3e7e1") (:keywords "tools") (:authors ("Shane Kennedy")) (:maintainer "Shane Kennedy") (:url . "https://github.com/shaneikennedy/npm.el"))])
+ (npm-mode . [(20190616 2025) ((emacs (24 1))) "minor mode for working with npm projects" single ((:commit . "3ee7c0bad5b7a041d4739ef3aaa06a3dc764e5eb") (:keywords "convenience" "project" "javascript" "node" "npm") (:authors ("Allen Gooch" . "allen.gooch@gmail.com")) (:maintainer "Allen Gooch" . "allen.gooch@gmail.com") (:url . "https://github.com/mojochao/npm-mode"))])
+ (nrepl-eval-sexp-fu . [(20140311 1041) ((highlight (0 0 0)) (smartparens (0 0 0)) (thingatpt (0 0 0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "3a24b7d4bca13e87c987a4ddd212da914ff59191") (:keywords "lisp" "highlight" "convenience") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))])
+ (nrepl-sync . [(20140807 1554) ((cider (0 6))) "connect to nrepl port and eval .sync.clj." single ((:commit . "bab53a2361526d63a24cda176d07a1247bf5b399") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk") (:url . "https://github.com/phillord/lein-sync"))])
+ (ns-auto-titlebar . [(20181022 2154) ((emacs (24 4))) "Set the MacOS transparent titlebar to match theme" single ((:commit . "1efc30d38509647b417f05587fd7003457719256") (:keywords "frames") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ns-auto-titlebar"))])
+ (nsis-mode . [(20190615 1827) nil "NSIS-mode" tar ((:commit . "0a2e6ece2fe682dced4d31688b38bb472a877cdf") (:keywords "nsis") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/nsis-mode"))])
+ (nswbuff . [(20200312 2050) ((emacs (25 1))) "Quick switching between buffers." single ((:commit . "a601855cc96e303e38051d0d1af3402721dbb969") (:keywords "extensions" "convenience") (:authors ("David Ponce" . "david@dponce.com") ("Kahlil (Kal) HODGSON" . "dorge@tpg.com.au") ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://github.com/joostkremers/nswbuff"))])
+ (nu-mode . [(20190404 2032) ((undo-tree (0 6 5)) (ace-window (0)) (lv (0)) (avy (0)) (which-key (0)) (transpose-frame (0))) "Modern Emacs Prompts Based Keybinding." tar ((:commit . "d5fb4d26d1b0bb383ea2827cc5af5dfb2a269d2b"))])
+ (nubox . [(20170619 910) nil "Nubox color theme (dark, light and tty versions)" tar ((:commit . "1ccb8035ae42727ba6bdd5c1106fbceddeeed370") (:keywords "faces") (:authors ("Martijn Terpstra" . "bigmartijn@gmail.com")) (:maintainer "Martijn Terpstra" . "bigmartijn@gmail.com"))])
+ (number . [(20170901 1312) nil "Working with numbers at point." single ((:commit . "bbc278d34dbcca83e70e3be855ec98b23debfb99"))])
+ (number-lock . [(20160830 200) nil "Enter symbols on your number keys without pressing shift" single ((:commit . "74417b1238953bf485961a0dd7d20f5c36ae25ea") (:keywords "convenience") (:authors ("Liu233w" . "wwwlsmcom@outlook.com")) (:maintainer "Liu233w" . "wwwlsmcom@outlook.com") (:url . "https://github.com/Liu233w/number-lock.el"))])
+ (numbers . [(20170802 1134) ((emacs (24))) "Display information and trivia about numbers" single ((:commit . "dd02508b788a13b7d4dbcc4923fa23134b783ab3") (:keywords "games" "trivia" "maths" "numbers") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/numbers.el"))])
+ (nummm-mode . [(20131117 1014) nil "Display the number of minor modes instead of their names" single ((:commit . "81951e12032274543c5f7a585b29bd93961e94e4") (:authors ("Andreu Gil" . "agpchil@gmail.com")) (:maintainer "Andreu Gil" . "agpchil@gmail.com") (:url . "http://github.com/agpchil/nummm-mode"))])
+ (nv-delete-back . [(20170224 1249) ((emacs (24))) "backward delete like modern text editors" single ((:commit . "b17cb826f14c18c2875d112574edb5e4f46f5296") (:keywords "lisp") (:authors ("Nicolas Vaughan <n.vaughan [at] oxon.org>")) (:maintainer "Nicolas Vaughan <n.vaughan [at] oxon.org>"))])
+ (nvm . [(20190912 626) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (dash-functional (2 4 0))) "Manage Node versions within Emacs" single ((:commit . "e93e5216e311c665c593ac68c5456d624120ea42") (:keywords "node" "nvm") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/nvm.el"))])
+ (nyan-mode . [(20170423 740) nil "Nyan Cat shows position in current buffer in mode-line." tar ((:commit . "a85ac925367ddc542827182a2d9f0133b421c41b") (:keywords "nyan" "cat" "lulz" "scrolling" "pop tart cat" "build something amazing") (:authors ("Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com")) (:maintainer "Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com") (:url . "https://github.com/TeMPOraL/nyan-mode/"))])
+ (nyx-theme . [(20170910 1307) ((emacs (24))) "Dark theme" single ((:commit . "afe2b8c3b5421b4c292d182dcf77079b278e93d8") (:keywords "themes" "dark-theme") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "guido.schmidt.2912@gmail.com") (:url . "https://github.com/GuidoSchmidt/emacs-nyx-theme"))])
+ (nz-holidays . [(20190415 703) nil "New Zealand public holidays for calendar." single ((:commit . "afc875cf40789fa45a4a811685b0a7c4f239392f") (:keywords "calendar") (:authors ("Sod Oscarfono" . "sod@oscarfono.com")) (:maintainer "Sod Oscarfono" . "sod@oscarfono.com") (:url . "https://github.com/techquila/nz-holidays"))])
+ (o-blog . [(20151202 2339) nil "Standalone orgmode blog exporter" tar ((:commit . "e466c59478feddc8126c43c1b98550474af484c0") (:keywords "emacs") (:authors ("Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>")) (:maintainer "Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>"))])
+ (oauth . [(20130128 151) nil "Oauth library." tar ((:commit . "ee4744ad76a1560281b0c4944575a3bd598c6458") (:keywords "comm") (:authors ("Peter Sanford <peter AT petersdanceparty.com>")) (:maintainer "Peter Sanford <peter AT petersdanceparty.com>"))])
+ (ob-ammonite . [(20190813 59) ((s (1 12 0)) (ammonite-term-repl (0 1)) (xterm-color (1 7))) "org-babel for scala evaluation in Ammonite." single ((:commit . "39937dff395e70aff76a4224fa49cf2ec6c57cca") (:keywords "tools" "ammnite" "org-mode" "scala" "org-babel") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:url . "https://github.com/zwild/ob-ammonite"))])
+ (ob-applescript . [(20190709 1607) nil "Org-babel functions for AppleScript" single ((:commit . "2b07b77b75bd02f2102f62e6d52ffdd0f921439a") (:keywords "literate programming" "reproducible research" "mac") (:authors ("Stig Brautaset")) (:maintainer "Stig Brautaset") (:url . "http://github.com/stig/ob-applescript.el"))])
+ (ob-async . [(20190916 1537) ((async (1 9)) (org (9 0 1)) (emacs (24 4)) (dash (2 14 1))) "Asynchronous org-babel src block execution" single ((:commit . "80a30b96a007d419ece12c976a81804ede340311") (:keywords "tools") (:authors ("Andrew Stahlman" . "andrewstahlman@gmail.com")) (:maintainer "Andrew Stahlman" . "andrewstahlman@gmail.com") (:url . "https://github.com/astahlman/ob-async"))])
+ (ob-axiom . [(20190623 2052) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "25932da0dc40c6877463cbf019b14ab05a6b0164") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions")) (:maintainer "Paul Onions"))])
+ (ob-blockdiag . [(20190720 1858) nil "org-babel functions for blockdiag evaluation" single ((:commit . "272fafcf3bc37f9de41b11beb6a33e0dbf0a1909") (:keywords "tools" "convenience") (:authors ("Dmitry Moskowski")) (:maintainer "Dmitry Moskowski") (:url . "https://github.com/corpix/ob-blockdiag.el"))])
+ (ob-browser . [(20170720 1918) ((org (8))) "Render HTML in org-mode blocks." tar ((:commit . "a347d9df1c87b7eb660be8723982c7ad2563631a") (:keywords "org" "babel" "browser" "phantomjs") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-browser"))])
+ (ob-cfengine3 . [(20191011 1721) nil "Org Babel functions for CFEngine 3" single ((:commit . "195ba4694a0ec18d3fb89342e8e0988b382a5b1a") (:keywords "tools" "convenience") (:authors ("Nick Anderson" . "nick@cmdln.org")) (:maintainer "Nick Anderson" . "nick@cmdln.org") (:url . "https://github.com/nickanderson/ob-cfengine3"))])
+ (ob-clojurescript . [(20180406 1828) ((emacs (24 4)) (org (9 0))) "org-babel functions for ClojureScript evaluation" single ((:commit . "17ee1558aa94c7b0246fd03f684884122806cfe7") (:keywords "literate programming" "reproducible research") (:authors ("Larry Staton Jr.")) (:maintainer "Larry Staton Jr.") (:url . "https://gitlab.com/statonjr/ob-clojurescript"))])
+ (ob-coffee . [(20170725 1424) ((org (8))) "org-babel functions for coffee-script evaluation" tar ((:commit . "7f0b330273e8af7777de87a75fe52a89798e4548") (:keywords "org" "babel" "coffee-script") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-coffee"))])
+ (ob-coffeescript . [(20180126 719) ((emacs (24 4))) "org-babel functions for coffee-script evaluation, and fully implementation!" single ((:commit . "5a5bb04aea9c2a6eab5b05f90f5c7cb6de7b4261") (:keywords "coffee-script" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-coffeescript"))])
+ (ob-crystal . [(20180126 718) ((emacs (24 3))) "org-babel functions for Crystal evaluation" tar ((:commit . "d84c1adee4b269cdba06a97caedb8071561a09af") (:keywords "crystal" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-crystal"))])
+ (ob-cypher . [(20170725 1420) ((s (1 9 0)) (cypher-mode (0 0 6)) (dash (2 10 0)) (dash-functional (1 2 0))) "query neo4j using cypher in org-mode blocks" single ((:commit . "114bdf6db20ee0ade060bb5df379ddee48ff4f26") (:keywords "org" "babel" "cypher" "neo4j") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-cypher"))])
+ (ob-dao . [(20170816 1558) ((org (8))) "Org Babel Functions for Dao" single ((:commit . "fa92f62a63c684d689f57e790e5dd614c5bba270") (:keywords "literate programming" "reproducible research" "org" "babel" "dao") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/ob-dao"))])
+ (ob-dart . [(20170106 1624) nil "org-babel functions for Dart evaluation" single ((:commit . "04d63b922a5469506560ca0c00678e57131e0269") (:keywords "literate programming" "reproducible research" "emacs" "org" "babel" "dart") (:authors ("Milan Zimmermann")) (:maintainer "Milan Zimmermann") (:url . "http://github.org/mzimmerm/ob-dart"))])
+ (ob-diagrams . [(20160407 1237) nil "org-babel functions for diagrams evaluation" single ((:commit . "ed6649616325ca5b2d2109f74aded8bcb8aa5186") (:keywords "literate programming" "reproducible research") (:authors ("Daniel Bergey")) (:maintainer "Daniel Bergey") (:url . "http://orgmode.org"))])
+ (ob-elixir . [(20170725 1419) ((org (8))) "org-babel functions for elixir evaluation" single ((:commit . "8990a8178b2f7bd93504a9ab136622aab6e82e32") (:keywords "org" "babel" "elixir") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-elixir"))])
+ (ob-elm . [(20200102 2000) ((emacs (26 1)) (org (9 3))) "Org-babel functions for elm evaluation" single ((:commit . "8b49ca0ecdff9df7c3f428bac22a96ed675ee5dd") (:keywords "languages" "tools") (:authors ("Bonface M. K.")) (:maintainer "Bonface M. K.") (:url . "https://www.bonfacemunyoki.com"))])
+ (ob-elvish . [(20180427 1900) nil "org-babel functions for Elvish shell" single ((:commit . "369181ceae1190bf971c71aebf9fc6133bd98c39") (:keywords "literate programming" "elvish" "shell" "languages" "processes" "tools") (:authors ("Diego Zamboni" . "diego@zzamboni.org")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:url . "https://github.com/zzamboni/ob-elvish"))])
+ (ob-fsharp . [(20170618 1429) ((emacs (25)) (fsharp-mode (1 9 8))) "Org-Babel F#" single ((:commit . "0b2fdd9bb4f38af8b5cf4914627af52f5b43d9f7") (:keywords "literate programming" "reproducible research") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:url . "https://github.com/juergenhoetzel/ob-fsharp"))])
+ (ob-go . [(20190201 2040) nil "org-babel functions for go evaluation" tar ((:commit . "2067ed55f4c1d33a43cb3f6948609d240a8915f5") (:keywords "golang" "go" "literate programming" "reproducible research") (:authors ("K. Adam Christensen")) (:maintainer "K. Adam Christensen") (:url . "http://orgmode.org"))])
+ (ob-graphql . [(20200108 2228) ((emacs (24 4)) (graphql-mode (20191024 1221)) (request (0 3 2))) "Org-Babel execution backend for GraphQL source blocks" single ((:commit . "ced37c6761d69e1ff206ff0ebd633f0e4fd2ac54") (:authors ("Jeremy Dormitzer" . "jeremy.dormitzer@gmail.com")) (:maintainer "Jeremy Dormitzer" . "jeremy.dormitzer@gmail.com") (:url . "https://github.com/jdormit/ob-graphql"))])
+ (ob-html-chrome . [(20181219 1042) ((emacs (24 4)) (f (0 20 0)) (s (1 7 0))) "HTML code blocks converted to PNG using Chrome" single ((:commit . "7af6e4a24ed0aaf67751bdf752c7ca0ba02bb8d4") (:keywords "languages" "org" "org-babel" "chrome" "html") (:authors (nil . "Nik Clayton nik@ngo.org.uk")) (:maintainer nil . "Nik Clayton nik@ngo.org.uk") (:url . "http://github.com/nikclayton/ob-html-chrome"))])
+ (ob-http . [(20180707 1448) ((s (1 9 0)) (cl-lib (0 5))) "http request in org-mode babel" tar ((:commit . "b1428ea2a63bcb510e7382a1bf5fe82b19c104a7") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-http"))])
+ (ob-hy . [(20180702 540) ((emacs (24 4))) "org-babel functions for Hy-lang evaluation" tar ((:commit . "a42ecaf440adc03e279afe43ee5ef6093ddd542a") (:keywords "hy" "literate programming" "reproducible research") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:url . "https://github.com/brantou/ob-hy"))])
+ (ob-ipython . [(20180224 953) ((s (1 9 0)) (dash (2 10 0)) (dash-functional (1 2 0)) (f (0 17 2)) (emacs (24))) "org-babel functions for IPython evaluation" tar ((:commit . "7147455230841744fb5b95dcbe03320313a77124") (:keywords "literate programming" "reproducible research") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "http://www.gregsexton.org"))])
+ (ob-kotlin . [(20180823 1321) ((org (8))) "org-babel functions for kotlin evaluation" single ((:commit . "96e420cbd2e9ea8a77043e5dcaebdfc6da17492a") (:keywords "org" "babel" "kotlin") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-kotlin"))])
+ (ob-lfe . [(20170725 1420) ((org (8))) "org-babel functions for lfe evaluation" single ((:commit . "f7780f58e650b4d29dfd834c662b1d354b620a8e") (:keywords "org" "babel" "lfe" "lisp" "erlang") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-lfe"))])
+ (ob-mermaid . [(20200320 1504) nil "org-babel support for mermaid evaluation" single ((:commit . "cca09b64eff689d8bb15a77de9d4c7fe9845a1f9") (:keywords "lisp") (:authors ("Alexei Nunez" . "alexeirnunez@gmail.com")) (:maintainer "Alexei Nunez" . "alexeirnunez@gmail.com") (:url . "https://github.com/arnm/ob-mermaid"))])
+ (ob-ml-marklogic . [(20190312 1314) nil "org-babel functions for MarkLogic evaluation" tar ((:commit . "d5660ad14f29e17cd26ae92eeb585b24030e9570") (:keywords "marklogic" "xquery" "javascript" "sparql") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "http://github.com/ndw/ob-ml-marklogic"))])
+ (ob-mongo . [(20170720 1919) ((org (8))) "Execute mongodb queries within org-mode blocks." single ((:commit . "371bf19c7c10eab2f86424f8db8ab685997eb5aa") (:keywords "org" "babel" "mongo" "mongodb") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-mongo"))])
+ (ob-nim . [(20170809 1830) ((cl-lib (0 5))) "Babel Functions for nim" single ((:commit . "bf1642cb93f0a898804dc13fd9408d2964403bd2") (:keywords "literate programming" "reproducible research") (:authors ("Lompik")) (:maintainer "Lompik"))])
+ (ob-prolog . [(20190410 2130) nil "org-babel functions for prolog evaluation." single ((:commit . "331899cfe345c934026c70b78352d320f7d8e239") (:keywords "literate programming" "reproducible research") (:authors ("Bjarte Johansen")) (:maintainer "Bjarte Johansen") (:url . "https://github.com/ljos/ob-prolog"))])
+ (ob-restclient . [(20200316 759) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "f7449b2068498fe9d8ab9589e0a638148861533f") (:keywords "literate programming" "reproducible research") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:url . "https://github.com/alf/ob-restclient.el"))])
+ (ob-rust . [(20180911 1535) nil "Org-babel functions for Rust" tar ((:commit . "6a82587598cd097e9642be916243c31f1231b24a") (:keywords "rust" "languages" "org" "babel") (:authors ("Mican Zhang")) (:maintainer "Mican Zhang") (:url . "https://github.com/micanzhang/ob-rust"))])
+ (ob-sagemath . [(20191106 828) ((sage-shell-mode (0 0 8)) (s (1 8 0)) (emacs (24))) "org-babel functions for SageMath evaluation" tar ((:commit . "79645bce0c25a650bae61e550434bed836995dce") (:keywords "sagemath" "org-babel") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/ob-sagemath"))])
+ (ob-sml . [(20130829 1843) ((sml-mode (6 4))) "org-babel functions for template evaluation" single ((:commit . "958165c92b6cff6cada5c85c8ae5887806b8451b") (:keywords "literate programming" "reproducible research") (:authors ("David Nolen")) (:maintainer "David Nolen") (:url . "http://orgmode.org"))])
+ (ob-sql-mode . [(20190421 1539) ((emacs (24 4))) "SQL code blocks evaluated by sql-mode" single ((:commit . "b31a016585324ad91f1742ff6205bcb76f3ece6e") (:keywords "languages" "org" "org-babel" "sql") (:authors (nil . "Nik Clayton nik@google.com")) (:maintainer nil . "Nik Clayton nik@google.com") (:url . "http://github.com/nikclayton/ob-sql-mode"))])
+ (ob-svgbob . [(20190911 300) ((emacs (24))) "Babel Functions for svgbob" single ((:commit . "5747f96fb4fdb8711546b3313df9412177eb3c1a") (:keywords "tools" "files") (:authors ("Marcio Giaxa" . "i@mgxm.me")) (:maintainer "Marcio Giaxa" . "i@mgxm.me") (:url . "https://github.com/mgxm/ob-svgbob"))])
+ (ob-swift . [(20170921 1325) ((org (8))) "org-babel functions for swift evaluation" single ((:commit . "ed478ddbbe41ce5373efde06b4dd0c3663c9055f") (:keywords "org" "babel" "swift") (:authors ("Feng Zhou" . "zf.pascal@gmail.com")) (:maintainer "Feng Zhou" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-swift"))])
+ (ob-tmux . [(20190708 1202) ((emacs (25 1)) (seq (2 3)) (s (1 9 0))) "Babel Support for Interactive Terminal" single ((:commit . "3687ed7b874bdfe14617f5d14492887cb0836a85") (:keywords "literate programming" "interactive shell" "tmux") (:authors ("Allard Hendriksen")) (:maintainer "Allard Hendriksen") (:url . "https://github.com/ahendriksen/ob-tmux"))])
+ (ob-translate . [(20170720 1919) ((google-translate (0 11)) (org (8))) "Translation of text blocks in org-mode." single ((:commit . "9d9054a51bafd5a29a8135964069b4fa3a80b169") (:keywords "org" "babel" "translate" "translation") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/ob-translate"))])
+ (ob-typescript . [(20190910 946) ((emacs (24)) (org (8 0))) "org-babel functions for typescript evaluation" single ((:commit . "0b2766b9d136cd6d81f4c15f1ad4b28542f484b9") (:keywords "literate programming" "reproducible research" "typescript") (:authors ("KURASHIKI Satoru")) (:maintainer "KURASHIKI Satoru") (:url . "https://github.com/lurdan/ob-typescript"))])
+ (ob-uart . [(20170521 858) nil "org-babel support for UART communication" single ((:commit . "90daeac90a9e75c20cdcf71234c67b812110c50e") (:keywords "tools" "comm" "org-mode" "uart" "literate programming" "reproducible development") (:authors ("Andreas Müller")) (:maintainer "Andreas Müller") (:url . "https://www.0x7.ch"))])
+ (oberon . [(20120715 909) nil "Major mode for editing Oberon/Oberon-2 program texts" single ((:commit . "fb57d18ce13835a8a69b6bafecdd9193ca9a59a3") (:keywords "oberon" "oberon-2" "languages" "oop") (:authors ("Karl Landström" . "karl@karllandstrom.se")) (:maintainer "Karl Landström" . "karl@karllandstrom.se"))])
+ (obfusurl . [(20170809 1524) ((cl-lib (0 5))) "Obfuscate URLs so they aren't spoilers" single ((:commit . "7a5a41905000ce2ec1fd72509a5567e5fd9f47e5") (:keywords "convenience" "web" "text") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/obfusurl.el"))])
+ (objc-font-lock . [(20141021 1822) nil "Highlight Objective-C method calls." single ((:commit . "34b457d577f97ca94b8792d025f9a909c7610612") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/objc-font-lock"))])
+ (objed . [(20200403 1500) ((emacs (25)) (cl-lib (0 5))) "Navigate and edit text objects." tar ((:commit . "e89d8dae3b2d4331a4455d2a7b203500537d184d") (:keywords "convenience") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/objed"))])
+ (obsidian-theme . [(20170719 948) nil "port of the eclipse obsidian theme" single ((:commit . "f45efb2ebe9942466c1db6abbe2d0e6847b785ea") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/obsidian-theme"))])
+ (occidental-theme . [(20130312 1958) nil "Custom theme for faces based on Adwaita" single ((:commit . "fd2db7256d4f78c43d99c3cddb1c39106d479816") (:authors ("William Stevenson" . "yhvh2000@gmail.com") ("Erik Timan" . "dev@timan.info")) (:maintainer "William Stevenson" . "yhvh2000@gmail.com") (:url . "http://github.com/olcai/occidental-theme"))])
+ (occur-context-resize . [(20170904 2309) nil "dynamically resize context around matches in occur-mode" single ((:commit . "cdee5a631ceed9337579d4090e0acf8140747f80") (:keywords "matching") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:url . "https://github.com/dgtized/occur-context-resize.el"))])
+ (occur-x . [(20130610 1343) nil "Extra functionality for occur" single ((:commit . "352f5fab207d8a1d3dd048073ff127a83e97c82b") (:keywords "occur" "search" "convenience") (:authors ("Juan-Leon Lahoz" . "juanleon1@gmail.com")) (:maintainer "Juan-Leon Lahoz" . "juanleon1@gmail.com"))])
+ (oceanic-theme . [(20161015 819) nil "Oceanic theme." single ((:commit . "a92ee9b470843c923e6cdcafdd65106ff994d04d") (:keywords "oceanic" "color" "theme") (:authors ("Tengfei Guo")) (:maintainer "Tengfei Guo") (:url . "https://github.com/terry3/oceanic-theme"))])
+ (ocodo-svg-modelines . [(20150516 1419) ((svg-mode-line-themes (0))) "A collection of beautiful SVG modelines" tar ((:commit . "c7b0789a177219f117c4de5659ecfa8622958c40"))])
+ (ocp-indent . [(20190726 1452) nil "automatic indentation with ocp-indent" single ((:commit . "9e26c0a2699b7076cebc04ece59fb354eb84c11c") (:keywords "ocaml" "languages") (:url . "http://www.typerex.org/ocp-indent.html"))])
+ (octicons . [(20151101 340) ((cl-lib (0 5))) "octicons utility" tar ((:commit . "a61e561966ffd8faa3b48ce5b3a4eec10c59708b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-octicons"))])
+ (octo-mode . [(20161008 1229) ((emacs (24))) "Major mode for Octo assembly language" single ((:commit . "bd4db7e5e3275b24c74e6a23c11d04f54e9feca5") (:keywords "languages") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/octo-mode"))])
+ (octopress . [(20190123 107) nil "A lightweight wrapper for Jekyll and Octopress." tar ((:commit . "f2c92d5420f14fc9167c7de1873836510e652de2") (:keywords "octopress" "blog") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/octopress.el"))])
+ (oer-reveal . [(20200428 1108) ((emacs (24 4)) (org-re-reveal (2 12 0))) "OER with reveal.js, plugins, and org-re-reveal" tar ((:commit . "5d80054380e0cae366bdd65feabf491677fb189e") (:keywords "hypermedia" "tools" "slideshow" "presentation" "oer") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:url . "https://gitlab.com/oer/oer-reveal"))])
+ (offlineimap . [(20150916 1158) nil "Run OfflineIMAP from Emacs" single ((:commit . "cc3e067e6237a1eb7b21c575a41683b1febb47f1") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "http://julien.danjou.info/offlineimap-el.html"))])
+ (old-norse-input . [(20170816 1842) ((emacs (24))) "An input method for Old Norse" single ((:commit . "c2e21ee72c3768e9152aff6baf12a19cde1d0c53") (:keywords "languages") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:url . "https://github.com/david-christiansen/emacs-old-norse-input"))])
+ (oldlace-theme . [(20150705 1300) ((emacs (24))) "Emacs 24 theme with an 'oldlace' background." single ((:commit . "5c6f437203b0783b36a7aff4a578de4a0c8c4ee6") (:authors ("martin haesler")) (:maintainer "martin haesler"))])
+ (olivetti . [(20200430 519) ((emacs (24 5))) "Minor mode for a nice writing environment" single ((:commit . "b23a05f442e3b1230f014e8054ebe3e57d22fc42") (:keywords "wp" "text") (:authors ("William Rankin" . "code@william.bydasein.com")) (:maintainer "William Rankin" . "code@william.bydasein.com") (:url . "https://gthub.com/rnkn/olivetti"))])
+ (om-mode . [(20140915 2110) nil "Insert Om component template with life cycle." single ((:commit . "cdc0c2912321f8438b0f3449ba8aca50ec150bba") (:keywords "clojurescript") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))])
+ (omni-kill . [(20171016 2140) nil "Kill all the things" single ((:commit . "904549c8fd6ac3cf22b5d7111ca8944e179cffea") (:keywords "convenience" "editing" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr"))])
+ (omni-log . [(20200304 2229) ((emacs (24)) (ht (2 0)) (s (1 6 1)) (dash (2 13 0))) "Logging utilities" tar ((:commit . "0a240660ccdd0b6588b4e3c322743b5ab1161338") (:keywords "convenience" "languages" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-log.el"))])
+ (omni-quotes . [(20200304 2341) ((dash (2 8)) (omni-log (0 4 0)) (f (0 19 0)) (s (1 11 0)) (ht (2 1))) "Random quotes displayer" tar ((:commit . "cfc7b7f01628a5d57384820d1096de4541e67cdf") (:keywords "convenience") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-quotes.el"))])
+ (omni-scratch . [(20171009 2151) nil "Easy and mode-specific draft buffers" single ((:commit . "9eee3161e5cb6df58618548a2173f4da7d194814") (:keywords "convenience" "languages" "tools") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "https://github.com/AdrieanKhisbe/omni-scratch.el"))])
+ (omni-tags . [(20170426 2109) ((pcre2el (1 7)) (cl-lib (0 5))) "Highlight and Actions for 'Tags'" tar ((:commit . "8f0f6c302fab900b7681e5c039f90850cbbabd33") (:keywords "convenience") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:url . "http://github.com/AdrieanKhisbe/omni-tags.el"))])
+ (omnibox . [(20180423 49) ((emacs (26 1)) (dash (2 13)) (frame-local (0 0 1))) "Selection package" single ((:commit . "8ee75c71c20c438ebc43ba24ef6f543633d118f3") (:keywords "completion" "selection" "convenience" "frames") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:url . "https://github.com/sebastiencs/omnibox"))])
+ (omnisharp . [(20191015 635) ((emacs (24 4)) (flycheck (30)) (dash (2 12 0)) (auto-complete (1 4)) (popup (0 5 1)) (csharp-mode (0 8 7)) (cl-lib (0 5)) (s (1 10 0)) (f (0 19 0))) "Omnicompletion (intellisense) and more for C#" tar ((:commit . "e658a18a762438c3e1737612737b05d02a21ca2a") (:keywords "languages" "csharp" "c#" "ide" "auto-complete" "intellisense") (:authors ("Mika Vilpas and others")) (:maintainer "Mika Vilpas and others") (:url . "https://github.com/Omnisharp/omnisharp-emacs"))])
+ (omtose-phellack-theme . [(20161111 2120) nil "A dark theme, with cold bluish touch." tar ((:commit . "66f99633e199e65bd28641626435e8e59246529a"))])
+ (on-parens . [(20180202 2241) ((dash (2 10 0)) (emacs (24)) (evil (1 1 6)) (smartparens (1 6 3))) "smartparens wrapper to fit with evil-mode/vim normal-state" single ((:commit . "7a41bc02bcffd265f8a69ed4b4e0df3c3009aaa4") (:keywords "evil" "smartparens") (:authors ("William G Hatch")) (:maintainer "William G Hatch"))])
+ (on-screen . [(20160302 950) ((cl-lib (0))) "guide your eyes while scrolling" single ((:commit . "206468aa4de299ad26c2db12b757f5ad7290912f") (:keywords "convenience") (:authors ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de") (:url . "https://github.com/michael-heerdegen/on-screen.el"))])
+ (one-themes . [(20190424 740) ((emacs (24))) "One Colorscheme" tar ((:commit . "e62e4ebef7ef8ccb1e90781d613638d30cf24d7a") (:authors ("Balaji Sivaraman" . "balaji@balajisivaraman.com")) (:maintainer "Balaji Sivaraman" . "balaji@balajisivaraman.com") (:url . "http://github.com/balajisivaraman/emacs-one-themes"))])
+ (one-time-pad-encrypt . [(20160329 1513) nil "One time pad encryption within file" single ((:commit . "87cc1f124024ce3d277299ca0ac703f182937d9f") (:keywords "convenience") (:authors ("Garvin Guan" . "garvin.guan@gmail.com")) (:maintainer "Garvin Guan" . "garvin.guan@gmail.com") (:url . "https://github.com/garvinguan/emacs-one-time-pad/"))])
+ (opam . [(20150719 1220) ((emacs (24 1))) "OPAM tools" single ((:commit . "4d589de5765728f56af7078fae328b6792de8600") (:keywords "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/opam.el"))])
+ (open-in-msvs . [(20170123 2228) nil "Open current file:line:column in Microsoft Visual Studio" tar ((:commit . "e0d071c83188ad5db8f3297d6ce784b4ed554a04") (:keywords "convenience" "usability" "integration" "visual studio" "msvs" "ide") (:authors ("Evgeny Panasyuk")) (:maintainer "Evgeny Panasyuk") (:url . "https://github.com/evgeny-panasyuk/open-in-msvs"))])
+ (open-junk-file . [(20161210 1114) nil "Open a junk (memo) file to try-and-error" single ((:commit . "558bec7372b0fed4c4cb6074ab906535fae615bd") (:keywords "convenience" "tools") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/open-junk-file.el"))])
+ (opencc . [(20170722 816) ((emacs (24 4))) "中文简繁转换 <-> 中文簡繁轉換 (Convert Chinese with OpenCC)" single ((:commit . "8c539f72669ba9a99d8b5198db5ea930897ad1b9") (:keywords "chinese") (:authors ("徐春阳" . "mail@xuchunyang.me")) (:maintainer "徐春阳" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/emacs-opencc"))])
+ (opencl-mode . [(20190615 1957) nil "Syntax coloring for opencl kernels" single ((:commit . "55cb49c8243e6420961d719faced035bc547c1ef") (:keywords "c" "opencl") (:authors ("Salmane Bah" . "salmane.bah@u-bordeaux.fr")) (:maintainer "Salmane Bah" . "salmane.bah@u-bordeaux.fr") (:url . "https://github.com/salmanebah/opencl-mode"))])
+ (opener . [(20161207 1810) ((request (0 2 0)) (emacs (24)) (cl-lib (0 5))) "opening urls as buffers" tar ((:commit . "c384f67278046fdcd220275fdd212ab85672cbeb") (:keywords "url" "http" "files") (:authors ("Tim Reddehase" . "tr@rightsrestricted.com")) (:maintainer "Tim Reddehase" . "tr@rightsrestricted.com") (:url . "https://github.com/0robustus1/opener.el"))])
+ (opensource . [(20160926 1616) ((s (1 11 0)) (dash (2 12 1)) (pkg-info (0 6 0)) (request (0 2 0))) "Client for Opensource API" tar ((:commit . "4c15049079878fcd386cca5dba20b99296a1de84") (:keywords "opensource") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/OpenSourceOrg/el-opensourceorg"))])
+ (openstack-cgit-browse-file . [(20130819 927) nil "Browse the current file in OpenStack cgit" single ((:commit . "244219288b9aef41155044697bb114b7af83ab8f") (:keywords "convenience" "vc" "git" "cgit" "gerrit" "openstack") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/openstack-cgit-browse-file"))])
+ (openwith . [(20120531 2136) nil "Open files with external programs" single ((:commit . "1dc89670822966fab6e656f6519fdd7f01e8301a") (:keywords "files" "processes") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at") (:url . "https://bitbucket.org/jpkotta/openwith"))])
+ (operate-on-number . [(20150707 623) nil "Operate on number at point with arithmetic functions" single ((:commit . "ceb3be565a29326c1098244fac0c50606723a56e") (:keywords "editing") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/operate-on-number.el"))])
+ (orca . [(20200122 1511) ((emacs (24 3))) "Org Capture" single ((:commit . "654f185861ed4fedfe1394db48a83639a0be57f6") (:keywords "org" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/orca"))])
+ (orderless . [(20200429 2354) ((emacs (24 4))) "Completion style for matching regexps in any order" single ((:commit . "99e90bf139fe4aa5722ed60e63df03d7baa656c7") (:keywords "extensions") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:url . "https://github.com/oantolin/orderless"))])
+ (ordinal . [(20190104 1421) ((emacs (24)) (cl-lib (0 5))) "Convert number to ordinal number notation" single ((:commit . "75af95abbac3e30c4dd804411cb3e867c741a747") (:keywords "lisp") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/ordinal.el"))])
+ (org-ac . [(20170401 1307) ((auto-complete-pcmp (0 0 1)) (log4e (0 2 0)) (yaxception (0 1))) "Some auto-complete sources for org-mode" single ((:commit . "41e3ef8e4039619d0370c23c66730b3b2e9e32ed") (:keywords "org" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-ac"))])
+ (org-agenda-property . [(20140626 2116) ((emacs (24 2))) "Display org properties in the agenda buffer." single ((:commit . "3b469f3e93de0036547f3631cd0366d53f7584c8") (:keywords "calendar") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/org-agenda-property"))])
+ (org-alert . [(20180524 133) ((s (1 10 0)) (dash (2 11 0)) (alert (1 2))) "Notify org deadlines via notify-send" single ((:commit . "f87bff4acbd839acb4d2245b56b2c3d21f950911") (:keywords "org" "org-mode" "notify" "notifications" "calendar") (:authors ("Stephen Pegoraro" . "spegoraro@tutive.com")) (:maintainer "Stephen Pegoraro" . "spegoraro@tutive.com") (:url . "https://github.com/groksteve/org-alert"))])
+ (org-analyzer . [(20191001 1717) nil "org-analyzer is a tool that extracts time tracking data from org files." tar ((:commit . "19da62aa4dcf1090be8f574f6f2d4c7e116163a8"))])
+ (org-attach-screenshot . [(20180420 525) nil "screenshots integrated with org attachment dirs" single ((:commit . "6b1edbd2384191122a30788ac72f2233c2df0294") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org-screenshot"))])
+ (org-autolist . [(20170924 1901) nil "Improved list management in org-mode" single ((:commit . "c82d1e83e982b5f0c106b8800e5b0cfd5f73fdc1") (:keywords "lists" "checklists" "org-mode") (:authors ("Calvin Young")) (:maintainer "Calvin Young") (:url . "https://github.com/calvinwyoung/org-autolist"))])
+ (org-babel-eval-in-repl . [(20191204 18) ((eval-in-repl (0 9 2)) (matlab-mode (3 3 6)) (ess (16 10)) (emacs (24))) "Eval org-mode babel code blocks in various REPLs." tar ((:commit . "e111b4b5c6844bb389317354ea172cd96a8bb658") (:keywords "literate programming" "reproducible research" "async execution") (:authors ("Takeshi Teshima" . "diadochos.developer@gmail.com")) (:maintainer "Takeshi Teshima" . "diadochos.developer@gmail.com") (:url . "https://github.com/diadochos/org-babel-eval-in-repl"))])
+ (org-beautify-theme . [(20170908 2218) nil "A sub-theme to make org-mode more beautiful." single ((:commit . "df6a1114fda313e1689363e196c8284fbe2a2738") (:keywords "org" "theme") (:authors ("Jonathan Arkell" . "jonnay@jonnay.net")) (:maintainer "Jonathan Arkell" . "jonnay@jonnay.net"))])
+ (org-board . [(20190203 1424) nil "bookmarking and web archival system for Org mode." single ((:commit . "2e01e801abc04b8fb718ca4bc19636242ac0cb52") (:keywords "org" "bookmarks" "archives") (:authors ("Charles A. Roelli " . "charles@aurox.ch")) (:maintainer "Charles A. Roelli " . "charles@aurox.ch") (:url . "https://github.com/scallywag/org-board"))])
+ (org-bookmark-heading . [(20200103 514) ((emacs (24 4)) (f (0 17 2))) "Emacs bookmark support for org-mode" single ((:commit . "38a2813f72ff65f3ae91e2ebb23e0bbb42a8d1df") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-bookmark-heading"))])
+ (org-brain . [(20200426 1410) ((emacs (25 1)) (org (9 2))) "Org-mode concept mapping" single ((:commit . "ae7fe0f628bd093526786ece6917f7a4310e5e4d") (:keywords "outlines" "hypermedia") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/org-brain"))])
+ (org-bullets . [(20200317 1740) nil "Show bullets in org-mode as UTF-8 characters" single ((:commit . "767f55feb58b840a5a04eabfc3fbbf0d257c4792") (:authors ("sabof")) (:maintainer "D. Williams" . "d.williams@posteo.net") (:url . "https://github.com/integral-dw/org-bullets"))])
+ (org-caldav . [(20191024 724) ((org (7))) "Sync org files with external calendar through CalDAV" single ((:commit . "f530b94b6f8d8d1f8a207e48986da75227bd78a0") (:keywords "calendar" "caldav") (:authors ("David Engster" . "deng@randomsample.de")) (:maintainer "David Engster" . "deng@randomsample.de"))])
+ (org-capture-pop-frame . [(20160518 1008) ((emacs (24 4))) "Run org-capture in a new pop frame" single ((:commit . "b16fd712de62cf0d1f9befd03be6ab5983cb3301") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org-capture-pop-frame.git"))])
+ (org-category-capture . [(20200329 313) ((org (9 0 0)) (emacs (24))) "Contextualy capture of org-mode TODOs." single ((:commit . "96a57a43555e24e5e0d81e79f0fbb47001c41bac") (:keywords "org-mode" "todo" "tools" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))])
+ (org-chef . [(20200427 1413) ((org (0)) (emacs (24))) "Cookbook and recipe management with org-mode." tar ((:commit . "e8b4ba8a10b8f356a712a75a87f1fe38dac32d9f") (:keywords "convenience" "abbrev" "outlines" "org" "food" "recipes" "cooking") (:authors ("Calvin Beck" . "hobbes@ualberta.ca")) (:maintainer "Calvin Beck" . "hobbes@ualberta.ca") (:url . "https://github.com/Chobbes/org-chef"))])
+ (org-cliplink . [(20190608 2134) ((emacs (24 4))) "insert org-mode links from the clipboard" tar ((:commit . "82402cae7e118d67de7328417fd018a18f95fac2") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/org-cliplink"))])
+ (org-clock-convenience . [(20200123 1029) ((cl-lib (0 5)) (org (8)) (emacs (24 3))) "convenience functions for org time tracking" single ((:commit . "4e522706a90a504c75d377161005f9543575ea02") (:keywords "org") (:authors ("Derek Feichtinger <dfeich.gmail.com>")) (:maintainer "Derek Feichtinger <dfeich.gmail.com>") (:url . "https://github.com/dfeich/org-clock-convenience"))])
+ (org-clock-csv . [(20190418 1505) ((org (8 3)) (s (1 0))) "Export `org-mode' clock entries to CSV format." single ((:commit . "e2fbaa1ad1a1be40fceecde603a600b292b76acc") (:keywords "calendar" "data" "org") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:url . "https://github.com/atheriel/org-clock-csv"))])
+ (org-clock-split . [(20200331 526) ((emacs (24))) "Split clock entries" single ((:commit . "39e1d2912a7a7223e2356a5fc4dff03507ae084d") (:keywords "calendar") (:authors ("Justin Taft <https://github.com/justintaft>")) (:maintainer "Justin Taft <https://github.com/justintaft>") (:url . "https://github.com/justintaft/emacs-org-clock-split"))])
+ (org-clock-today . [(20191204 1558) ((emacs (25))) "Show total clocked time of the current day in the mode line" single ((:commit . "e326a45b60e0fd4ca057f1d1dc3e99a516a5aa2f") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com") (:url . "https://github.com/mallt/org-clock-today-mode"))])
+ (org-commentary . [(20160802 637) ((dash (2 0)) (emacs (24 4)) (org (8 0))) "generate or update conventional library headers using Org mode files" tar ((:commit . "821ccb994811359c42f4e3d459e0e88849d42b75") (:keywords "convenience" "docs" "tools") (:authors ("Sergei Maximov" . "s.b.maximov@gmail.com")) (:maintainer "Sergei Maximov" . "s.b.maximov@gmail.com") (:url . "https://github.com/smaximov/org-commentary"))])
+ (org-context . [(20200418 1540) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "bbef096dc20b206b792b0ef310f2eed7c70ca3a0") (:keywords "org" "capture" "agenda" "convenience") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/org-context"))])
+ (org-cua-dwim . [(20120203 534) nil "Org-mode and Cua mode compatibility layer" single ((:commit . "a55d6c7009fc0b22f1110c07de629acc955c85e4") (:keywords "org-mode" "cua-mode") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler"))])
+ (org-d20 . [(20200416 2010) ((s (1 11 0)) (seq (2 19)) (dash (2 12 0)) (emacs (24))) "minor mode for d20 tabletop roleplaying games" single ((:commit . "7ede5726d640c4f81146585f6eb907f51a0f6a19") (:keywords "outlines" "games") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:url . "https://spwhitton.name/tech/code/org-d20/"))])
+ (org-dashboard . [(20171223 1924) ((cl-lib (0 5))) "Visually summarize progress in org files" single ((:commit . "02c0699771d199075a286e4502340ca6e7c9e831") (:keywords "outlines" "calendar") (:authors ("Massimiliano Mirra" . "hyperstruct@gmail.com")) (:maintainer "Massimiliano Mirra" . "hyperstruct@gmail.com") (:url . "http://github.com/bard/org-dashboard"))])
+ (org-doing . [(20161017 1620) nil "Keep track of what you're doing" tar ((:commit . "07ddbfc238cba31e4990c9b52e9a2757b39111da") (:keywords "tools" "org") (:authors ("Rudolf Olah")) (:maintainer "Rudolf Olah") (:url . "https://github.com/omouse/org-doing"))])
+ (org-dotemacs . [(20190903 2024) ((org (7 9 3)) (cl-lib (0 5))) "Store your emacs config as an org file, and choose which bits to load." single ((:commit . "ee59739c2d59151fe7d7d3034e87c7691120a5be") (:keywords "local") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/org-dotemacs"))])
+ (org-download . [(20200430 2226) ((emacs (24 3)) (async (1 2))) "Image drag-and-drop for Org-mode." single ((:commit . "48d3952ad8ebc5ef5a6a77b8c6a4a0da61653036") (:keywords "multimedia" "images" "screenshots" "download") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel") (:url . "https://github.com/abo-abo/org-download"))])
+ (org-dp . [(20180311 923) ((cl-lib (0 5))) "Declarative Local Programming with Org Elements" tar ((:commit . "e720f1c155a795a5b65a04790ad195c413449716") (:authors ("Thorsten Jolitz <tjolitz AT gmail DOT com>")) (:maintainer "Thorsten Jolitz <tjolitz AT gmail DOT com>") (:url . "https://github.com/tj64/org-dp"))])
+ (org-drill . [(20200412 1812) ((emacs (25 3)) (seq (2 14)) (org (9 3)) (persist (0 3))) "Self-testing using spaced repetition" single ((:commit . "35c1ce349949cc213f3076799211210f49431850") (:keywords "games" "outlines" "multimedia") (:authors ("Paul Sexton" . "eeeickythump@gmail.com")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk") (:url . "https://gitlab.com/phillord/org-drill/issues"))])
+ (org-drill-table . [(20180115 1009) ((s (1 7 0)) (dash (2 2 0)) (cl-lib (0 3)) (org (8 2)) (emacs (24 1))) "Generate drill cards from org tables" single ((:commit . "2729aaa42c1e2720d9bf7bcc125e92dcf48b7f7d") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))])
+ (org-dropbox . [(20150114 509) ((dash (2 2)) (names (20150000)) (emacs (24))) "move Dropbox notes from phone into org-mode datetree" single ((:commit . "75dab6d6f0438a7a8a18ccf3a5d55f50bf531f6e") (:keywords "dropbox" "android" "notes" "org-mode") (:authors ("Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com")) (:maintainer "Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com") (:url . "https://github.com/heikkil/org-dropbox"))])
+ (org-easy-img-insert . [(20160915 2008) ((emacs (24 4))) "An easier way to add images from the web in org mode" single ((:commit . "9f8aaa7f68ff1f0d8d7b1e9b618abb15002f971e") (:keywords "convenience" "hypermedia" "files") (:authors ("Tashrif Sanil" . "tashrifsanil@kloke-source.com")) (:maintainer "Tashrif Sanil" . "tashrifsanil@kloke-source.com") (:url . "https://github.com/tashrifsanil/org-easy-img-insert"))])
+ (org-edit-latex . [(20170908 1522) ((emacs (24 4)) (auctex (11 90))) "Edit embedded LaTeX in a dedicated buffer" single ((:commit . "1f228310ef2f3f2959a527f6d99e42ce977384c8") (:keywords "org" "latex") (:authors ("James Wong" . "jianwang.academic@gmail.com")) (:maintainer "James Wong" . "jianwang.academic@gmail.com") (:url . "https://github.com/et2010/org-edit-latex"))])
+ (org-ehtml . [(20150506 2358) ((web-server (20140109 2200)) (emacs (24 3))) "Export Org-mode files as editable web pages" tar ((:commit . "9df85de1a0fe1e7b2d6c000777c1a0c0217f92d0"))])
+ (org-elisp-help . [(20161122 55) ((cl-lib (0 5)) (org (9 0))) "org links to emacs-lisp documentation" single ((:commit . "3e33ab1a2933dd7f2782ef91d667a37f12d633ab") (:keywords "org" "remember" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/org-elisp-help"))])
+ (org-emms . [(20181010 1114) ((emacs (24))) "Play multimedia files from org-mode" single ((:commit . "07a8917f3d628c32e5de1dbd118ac08203772533") (:keywords "multimedia") (:authors ("Jonathan Gregory <jgrg at autistici dot org>")) (:maintainer "Jonathan Gregory <jgrg at autistici dot org>") (:url . "https://gitlab.com/jagrg/org-emms"))])
+ (org-evil . [(20180620 1517) ((dash (2 13 0)) (evil (0)) (monitor (0)) (org (0))) "Evil extensions for Org." tar ((:commit . "3b4620edc606412ef75c0b5aa637af22486eb126") (:keywords "convenience" "evil" "org") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:url . "https://github.com/guiltydolphin/org-evil"))])
+ (org-fancy-priorities . [(20180328 2331) nil "Display org priorities as custom strings" single ((:commit . "819bb993b71e7253cefef7047306ab4e0f9d0a86") (:keywords "convenience" "faces" "outlines") (:authors ("Harry Bournis" . "harrybournis@gmail.com")) (:maintainer "Harry Bournis" . "harrybournis@gmail.com") (:url . "https://github.com/harrybournis/org-fancy-priorities"))])
+ (org-fragtog . [(20200215 2217) ((emacs (24 3)) (org (9 3 2))) "Auto-toggle org fragments" single ((:commit . "8eca8084cc025c43ce2677b38ed4919218dd9ad9") (:authors ("Benjamin Levy" . "blevy@protonmail.com")) (:maintainer "Benjamin Levy" . "blevy@protonmail.com") (:url . "https://github.com/io12/org-fragtog"))])
+ (org-gcal . [(20200501 24) ((request (20190901)) (request-deferred (20181129)) (alert (0)) (persist (0)) (emacs (26))) "Org sync with Google Calendar" single ((:commit . "2ee2b31547e6f4e33db70fb812d552e55d612fd6") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "https://github.com/kidd/org-gcal.el"))])
+ (org-gnome . [(20150614 1457) ((alert (1 2)) (telepathy (0 1)) (gnome-calendar (0 1))) "Orgmode integration with the GNOME desktop" single ((:commit . "122e14cf6f8104150a65246a9a7c10e1d7939862") (:keywords "org" "gnome") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (org-grep . [(20151202 1229) ((cl-lib (0 5))) "Kind of M-x rgrep adapted for Org mode." single ((:commit . "5bdd04c0f53b8a3d656f36ea17bba3df7f0cb684") (:authors ("François Pinard" . "pinard@iro.umontreal.ca")) (:maintainer "François Pinard" . "pinard@iro.umontreal.ca") (:url . "https://github.com/pinard/org-grep"))])
+ (org-if . [(20150920 1513) nil "Interactive Fiction Authoring System for Org-Mode." tar ((:commit . "fab602cc1bbee7a4e99c0083e129219d3f9ed2e8"))])
+ (org-index . [(20200413 1609) ((emacs (25 1))) "A personal adaptive index for org" single ((:commit . "f95dbec874f39aac3c8391a6e0b9796b981386f3") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-index"))])
+ (org-iv . [(20171001 1022) ((impatient-mode (1 0 0)) (org (8 0)) (cl-lib (0 5))) "a tool used to view html (in browser) generated by org-file once the org-file changes" tar ((:commit . "7f2bb1b32647655fd9d6684f6f09dcc66b61b0cd"))])
+ (org-jira . [(20190930 1406) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "5123c29867e5da54d80e92f9a5a4259144451404") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/org-jira"))])
+ (org-journal . [(20200424 1917) ((emacs (25 1)) (org (9 1))) "a simple org-mode based journaling mode" single ((:commit . "8bf06b28d6f14f52d4968123e2b4b91930c8f947") (:authors ("Bastian Bechtold") ("Christian Schwarzgruber")) (:maintainer "Bastian Bechtold") (:url . "http://github.com/bastibe/org-journal"))])
+ (org-journal-list . [(20190221 2052) ((emacs (25))) "Org mode Journal List" single ((:commit . "2b26d00181bb49bff64b31ad020490acd1b6ae02") (:authors ("Huy Tran" . "huytd189@gmail.com")) (:maintainer "Huy Tran" . "huytd189@gmail.com") (:url . "https://github.com/huytd/org-journal-list"))])
+ (org-kanban . [(20200329 543) ((s (0)) (dash (2 13 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "544aac80f1c7113cfe42cf1a2b89f5ca6bd9ead6") (:keywords "org-mode" "org" "kanban" "tools") (:authors ("Christian Köstlin" . "christian.koestlin@gmail.com")) (:maintainer "Christian Köstlin" . "christian.koestlin@gmail.com") (:url . "http://github.com/gizmomogwai/org-kanban"))])
+ (org-kindle . [(20190315 439) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "612a2894bbbff8a6cf54709d591fee86005755de") (:keywords "org" "link" "ebook" "kindle" "epub" "mobi") (:url . "https://github.com/stardiviner/org-kindle"))])
+ (org-link-travis . [(20140405 2327) ((org (7))) "Insert/Export the link of Travis CI on org-mode" single ((:commit . "596615ad8373d9090bd4138da683524f0ad0bda5") (:keywords "org") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-link-travis"))])
+ (org-listcruncher . [(20180815 603) ((cl-lib (0 5)) (seq (2 3)) (emacs (24 4))) "Parse Org mode list contents into table" single ((:commit . "65c09c5deba065752eb88875c54dc26abcdfaffb") (:keywords "convenience") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:url . "https://github.com/dfeich/org-listcruncher"))])
+ (org-lookup-dnd . [(20190622 2224) ((emacs (24 4)) (org-pdfview (0 1))) "Reference the index of a D&D handbook pdf" single ((:commit . "bba86a9b9979bd79e9bfaf4a7b472682b9435490") (:authors ("Malte Lau Petersen" . "maltelau@protonmail.com")) (:maintainer "Malte Lau Petersen" . "maltelau@protonmail.com") (:url . "https://gitlab.com/maltelau/org-lookup-dnd"))])
+ (org-make-toc . [(20200409 1436) ((emacs (26 1)) (dash (2 12)) (s (1 10 0)) (org (9 0))) "Automatic tables of contents for Org files" single ((:commit . "26fbd6a7e1e7f8e473fe3a5f74faec715c3a05aa") (:keywords "org" "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-make-toc"))])
+ (org-mime . [(20200416 1048) ((emacs (25 1)) (cl-lib (0 5))) "org html export for text/html MIME emails" single ((:commit . "9f8444603806e6baa94b2b67a23aab0ea52fef97") (:keywords "mime" "mail" "email" "html") (:authors ("Eric Schulte")) (:maintainer "Chen Bin (redguardtoo)") (:url . "http://github.com/org-mime/org-mime"))])
+ (org-mind-map . [(20180826 2340) ((emacs (24)) (dash (1 8 0)) (org (8 2 10))) "Creates a directed graph from org-mode files" single ((:commit . "95347b2f9291f5c5eb6ebac8e726c03634c61de3") (:keywords "orgmode" "extensions" "graphviz" "dot") (:authors ("Ted Wiles" . "theodore.wiles@gmail.com")) (:maintainer "Ted Wiles" . "theodore.wiles@gmail.com") (:url . "https://github.com/theodorewiles/org-mind-map"))])
+ (org-mobile-sync . [(20180606 524) ((emacs (24 3 50)) (org (8 0))) "automatically sync org-mobile on changes" single ((:commit . "06764b943a528827df1e2acc6bc7806cc2c1351f") (:keywords "org-mode" "org" "mobile" "sync" "todo") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/org-mobile-sync"))])
+ (org-mru-clock . [(20200128 1208) ((emacs (24 3))) "clock in/out of tasks with completion and persistent history" single ((:commit . "8f9f4f978a3c40adf2ff00eebb56bccfe4caf4e1") (:keywords "convenience" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-mru-clock"))])
+ (org-msg . [(20200422 1615) ((emacs (24 4)) (htmlize (1 54))) "Org mode to send and reply to email in HTML." single ((:commit . "d41426854e6804d752b25346cf6ae79b0612784c") (:keywords "extensions" "mail") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:url . "https://github.com/jeremy-compostella/org-msg"))])
+ (org-multi-wiki . [(20200419 1833) ((emacs (26 1)) (dash (2 12)) (s (1 12)) (org-ql (0 4)) (org (9 3))) "Multiple wikis based on Org mode" single ((:commit . "aef5975ac18d7cb101c0fb688333cc241782a8a0") (:keywords "org" "outlines" "files") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-multi-wiki"))])
+ (org-multiple-keymap . [(20191017 1920) ((org (8 2 4)) (emacs (24)) (cl-lib (0 5))) "Set keymap to elements, such as timestamp and priority." single ((:commit . "4eb8aa0aada012b2346cc7f0c55e07783141a2c3") (:keywords "convenience" "org-mode") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-multiple-keymap.el"))])
+ (org-notebook . [(20170322 452) ((emacs (24)) (org (8)) (cl-lib (0 5))) "Ease the use of org-mode as a notebook" single ((:commit . "86042d866bf441e2c9bb51f995e5994141b78517") (:keywords "convenience" "tools") (:authors ("Paul Elder" . "paul.elder@amanokami.net")) (:maintainer "Paul Elder" . "paul.elder@amanokami.net"))])
+ (org-noter . [(20191020 1212) ((emacs (24 4)) (cl-lib (0 6)) (org (9 0))) "A synchronized, Org-mode, document annotator" single ((:commit . "9ead81d42dd4dd5074782d239b2efddf9b8b7b3d") (:keywords "lisp" "pdf" "interleave" "annotate" "external" "sync" "notes" "documents" "org-mode") (:authors (nil . "Gonçalo Santos (aka. weirdNox@GitHub)")) (:maintainer nil . "Gonçalo Santos (aka. weirdNox@GitHub)") (:url . "https://github.com/weirdNox/org-noter"))])
+ (org-noter-pdftools . [(20200418 929) ((emacs (26 1)) (org (9 4)) (pdf-tools (0 8)) (org-pdftools (1 0)) (org-noter (1 4 1))) "Integration between org-pdftools and org-noter" single ((:commit . "8cc15bb8014ed1f047eecc0abd8bf447f86c0505") (:keywords "convenience") (:authors ("Alexander Fu Xi" . "fuxialexander@gmail.com")) (:maintainer "Alexander Fu Xi" . "fuxialexnader@gmail.com") (:url . "https://github.com/fuxialexander/org-pdftools"))])
+ (org-octopress . [(20170821 415) ((org (9 0)) (orglue (0 1)) (ctable (0 1 1))) "Compose octopress articles using org-mode." tar ((:commit . "38598ef98d04076a8eb78d549907ddfde8d3a652") (:keywords "org" "jekyll" "octopress" "blog") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))])
+ (org-onenote . [(20171008 500) ((oauth2 (0 11)) (request (0 2 0)) (org (8 2 10))) "export org-mode document to onenote." single ((:commit . "5ce5cf4edb143180e0b185ac26826d39ae5bc929") (:keywords "tools" "docs" "org-mode" "onenote") (:authors ("Frei Zhang" . "ifree0@gmail.com")) (:maintainer "Frei Zhang" . "ifree0@gmail.com") (:url . "https://github.com/ifree/org-onenote"))])
+ (org-outline-numbering . [(20180705 1501) ((emacs (24)) (org (8 3)) (cl-lib (0 6)) (ov (1 0 6))) "Show outline numbering as overlays in org-mode" single ((:commit . "22014917dd7e751c46fa13e1e836c2d0265ce82f") (:keywords "wp" "convenience") (:authors ("Anders Johansson")) (:maintainer "Anders Johansson") (:url . "https://gitlab.com/andersjohansson/org-outline-numbering"))])
+ (org-outlook . [(20160705 1338) nil "Outlook org" tar ((:commit . "ec32d8d9d8ffd17e6de4de0b52fc3f5ad9b4cc0d") (:keywords "org-outlook") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/org-outlook.el"))])
+ (org-page . [(20170807 224) ((ht (1 5)) (simple-httpd (1 4 6)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0)) (cl-lib (0 5)) (git (0 1 1))) "a static site generator based on org mode" tar ((:commit . "d0e55416174a60d3305e97ca193b333f4cccba4f"))])
+ (org-parser . [(20200417 301) ((emacs (25 1)) (dash (2 12 0)) (ht (2 1))) "parse org files into structured datatypes." single ((:commit . "fd4cb7035ff649378cc968b1ec2c386b5c565706") (:keywords "files" "outlines" "tools") (:url . "https://hg.sr.ht/~zck/org-parser"))])
+ (org-password-manager . [(20180227 1810) ((org (8 2 10)) (s (1 9 0)) (dash (2 13 0))) "Password manager for Org Mode." single ((:commit . "4b30a36e71182553a02e4dd415369290d98ec03a") (:keywords "password") (:authors ("Leandro Facchinetti" . "me@leafac.com")) (:maintainer "Leandro Facchinetti" . "me@leafac.com") (:url . "https://git.leafac.com/org-password-manager"))])
+ (org-pdftools . [(20200422 1350) ((emacs (26 1)) (org (9 3 6)) (pdf-tools (0 8)) (org-noter (1 4 1))) "Support for links to documents in pdfview mode" single ((:commit . "8cc15bb8014ed1f047eecc0abd8bf447f86c0505") (:keywords "convenience") (:authors ("Alexander Fu Xi" . "fuxialexander@gmail.com")) (:maintainer "Alexander Fu Xi" . "fuxialexnader@gmail.com") (:url . "https://github.com/fuxialexander/org-pdftools"))])
+ (org-pdfview . [(20180225 1006) ((org (8 2 10)) (pdf-tools (0 80))) "Support for links to documents in pdfview mode" single ((:commit . "8b71f313634b95a1fac42fc701934fd796565f3b") (:keywords "org" "pdf-view" "pdf-tools") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com"))])
+ (org-picklink . [(20191203 59) ((emacs (24 4))) "Pick a headline link from org-agenda" single ((:commit . "f79040ed988bdeec63b098b187e00f2b80d3d570") (:keywords "convenience") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org-picklink"))])
+ (org-pivotal . [(20191116 530) ((a (0 1 1)) (dash (2 14 1)) (dash-functional (1 2 0)) (emacs (26 1)) (request (0 3 0))) "Sync Pivotal Tracker to org buffer" tar ((:commit . "f073f3ed8c2e78f5080c617d01b1f6bb3df63d1c") (:authors ("Huy Duong" . "qhuyduong@hotmail.com")) (:maintainer "Huy Duong" . "qhuyduong@hotmail.com") (:url . "https://github.com/org-pivotal/org-pivotal"))])
+ (org-pomodoro . [(20190530 1445) ((alert (0 5 10)) (cl-lib (0 5))) "Pomodoro implementation for org-mode." tar ((:commit . "aa07c11318f91219336197e62c47bc7a3d090479") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "https://github.com/lolownia/org-pomodoro"))])
+ (org-present . [(20200204 1647) ((org (7))) "Minimalist presentation minor-mode for Emacs org-mode." single ((:commit . "9709ca2d04a59959354222ac4d3f8b750785739a") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "https://github.com/rlister/org-present"))])
+ (org-present-remote . [(20191206 533) ((org-present (9)) (elnode (0 9)) (emacs (25))) "A web-based remote control for org-present" single ((:commit . "d66aa2022eea65c83b6e5e5b99a1331284a7ec30") (:keywords "comm" "docs") (:authors ("Duncan Bayne" . "duncan@bayne.id.au")) (:maintainer "Duncan Bayne" . "duncan@bayne.id.au") (:url . "https://gitlab.com/duncan-bayne/org-present-remote"))])
+ (org-pretty-tags . [(20200303 2201) ((emacs (25))) "Surrogates for tags" single ((:commit . "40fd72f3e701e31813f383fb429d30bb88cee769") (:keywords "reading" "outlines") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/org-pretty-tags"))])
+ (org-preview-html . [(20180625 619) ((org (8 0)) (emacs (24 4))) "automatically use eww to preview the current org file on save" single ((:commit . "8ba7ecd7ac624f33b3e2395f477bbff4f1ec4efe") (:keywords "convenience" "eww" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org-preview-html"))])
+ (org-projectile . [(20190130 1439) ((projectile (0 11 0)) (dash (2 10 0)) (emacs (24)) (s (1 9 0)) (org-category-capture (0 0 0))) "Repository todo management for org-mode" single ((:commit . "96a57a43555e24e5e0d81e79f0fbb47001c41bac") (:keywords "org-mode" "projectile" "todo" "tools" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))])
+ (org-projectile-helm . [(20180601 1822) ((org-projectile (1 0 0)) (helm (2 3 1)) (emacs (25))) "helm functions for org-projectile" single ((:commit . "96a57a43555e24e5e0d81e79f0fbb47001c41bac") (:keywords "org" "projectile" "todo" "helm" "outlines") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/org-projectile"))])
+ (org-protocol-jekyll . [(20170328 1639) ((cl-lib (0 5))) "Jekyll's handler for org-protocol" single ((:commit . "dec064a42d6dfe81dfde7ba59ece5ca103ac6334") (:authors ("Vladimir S. Ivanov" . "ivvl82@gmail.com")) (:maintainer "Vladimir S. Ivanov" . "ivvl82@gmail.com"))])
+ (org-ql . [(20200407 1706) ((emacs (26 1)) (dash (2 13)) (dash-functional (1 2 0)) (f (0 17 2)) (map (2 1)) (org (9 0)) (org-super-agenda (1 2 -1)) (ov (1 0 6)) (peg (0 6)) (s (1 12 0)) (transient (0 1)) (ts (0 2 -1))) "Org Query Language, search command, and agenda-like view" tar ((:commit . "f4d7399e677904cdc7e220440610704e4bd668bc") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-ql"))])
+ (org-radiobutton . [(20180612 1028) ((dash (2 13 0)) (emacs (24))) "Radiobutton for org-mode lists." single ((:commit . "4182aafbe5ae1bdfb0b07efa435bdba8bbd7199d") (:keywords "outlines") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-radiobutton"))])
+ (org-random-todo . [(20190214 2057) ((emacs (24 3)) (alert (1 3))) "show a random TODO (with alert) every so often" single ((:commit . "4f7677af740e8f3f7cfaf630ae2e594a125af760") (:keywords "org" "todo" "notification" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-random-todo"))])
+ (org-randomnote . [(20200110 1407) ((f (0 19 0)) (dash (2 12 0)) (org (0))) "Find a random note in your Org-Mode files" single ((:commit . "ea8cf4385970637efffff8f79e14576ba6d7ad13") (:authors ("Michael Fogleman" . "michaelwfogleman@gmail.com")) (:maintainer "Michael Fogleman" . "michaelwfogleman@gmail.com") (:url . "http://github.com/mwfogleman/org-randomnote"))])
+ (org-re-reveal . [(20200413 856) ((emacs (24 4)) (org (8 3)) (htmlize (1 34))) "Org export to reveal.js presentations" tar ((:commit . "61549f4c00284a30e34caa3d76001b233ea5d2ad") (:keywords "tools" "outlines" "hypermedia" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/org-re-reveal"))])
+ (org-re-reveal-ref . [(20191022 1426) ((emacs (24 4)) (org-ref (1 1 1)) (org-re-reveal (0 9 3))) "Citations and bibliography for org-re-reveal" tar ((:commit . "1f56a1fc9a52f3815bb2115ebeca3c355688d722") (:keywords "hypermedia" "tools" "slideshow" "presentation" "bibliography") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:url . "https://gitlab.com/oer/org-re-reveal-ref"))])
+ (org-recent-headings . [(20200228 215) ((emacs (26 1)) (org (9 0 5)) (dash (2 13 0)) (dash-functional (1 2 0)) (frecency (0 1)) (s (1 12 0))) "Jump to recently used Org headings" single ((:commit . "bb9c96bea63a0ce8c0d18e8b8b4b24085d4c9d89") (:keywords "hypermedia" "outlines" "org") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-recent-headings"))])
+ (org-recur . [(20191216 2353) ((emacs (24)) (org (9 0))) "Recurring org-mode tasks" single ((:commit . "ae20a538b2b4dcec139089bb44f1e4abc5b04f72") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:url . "https://github.com/m-cat/org-recur"))])
+ (org-redmine . [(20160711 1114) nil "Redmine tools using Emacs OrgMode" single ((:commit . "e77d013bc3784947c46a5c53f03cd7d3c68552fc") (:keywords "redmine" "org") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/org-redmine"))])
+ (org-ref . [(20200430 1700) ((dash (2 17 0)) (htmlize (1 51)) (helm (1 5 5)) (helm-bibtex (2 0 0)) (ivy (0 13 0)) (hydra (0 15)) (key-chord (0)) (s (1 12 0)) (f (0 20 0)) (emacs (25 1)) (pdf-tools (0 9))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "053317a7bdb85279dc9e12021d261bb8c79f1ef1") (:keywords "org-mode" "cite" "ref" "label") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:url . "https://github.com/jkitchin/org-ref"))])
+ (org-repo-todo . [(20171228 119) nil "Simple repository todo management with org-mode" single ((:commit . "f73ebd91399c5760ad52c6ad9033de1066042003") (:keywords "convenience") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/org-repo-todo"))])
+ (org-reverse-datetree . [(20200325 1003) ((emacs (26 1)) (dash (2 12))) "Create reverse date trees in org-mode" single ((:commit . "afac070eb64cc24917c0ab0e14686258da4916f6") (:keywords "outlines") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-reverse-datetree"))])
+ (org-review . [(20160907 537) nil "schedule reviews for Org entries" single ((:commit . "058e75b7f28d2ad2390290fe17a63d98ef5ab763") (:keywords "org" "review") (:authors ("Alan Schmitt" . "alan.schmitt@polytechnique.org")) (:maintainer "Alan Schmitt" . "alan.schmitt@polytechnique.org") (:url . "https://github.com/brabalan/org-review"))])
+ (org-rich-yank . [(20181120 1354) ((emacs (24 4))) "paste with org-mode markup and link to source" single ((:commit . "d2f350c5296cf05d6c84b02762ba44f09a02b4e3") (:keywords "convenience" "hypermedia" "org") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://github.com/unhammer/org-rich-yank"))])
+ (org-roam . [(20200501 957) ((emacs (26 1)) (dash (2 13)) (f (0 17 2)) (s (1 12 0)) (org (9 3)) (emacsql (3 0 0)) (emacsql-sqlite (1 0 0))) "Roam Research replica with Org-mode" tar ((:commit . "1ad3539c542afd715e0e6602046581c238d06269") (:keywords "org-mode" "roam" "convenience") (:authors ("Jethro Kuan" . "jethrokuan95@gmail.com")) (:maintainer "Jethro Kuan" . "jethrokuan95@gmail.com") (:url . "https://github.com/jethrokuan/org-roam"))])
+ (org-roam-bibtex . [(20200501 1008) ((emacs (26 1)) (f (0 20 0)) (s (1 12 0)) (org (9 3)) (org-roam (1 0 0)) (bibtex-completion (2 0 0))) "Connector between Org-roam, BibTeX-completion, and Org-ref" single ((:commit . "9d03d7cb01ad99d488279e285a0ebc13915aa4ca") (:keywords "org-mode" "roam" "convenience" "bibtex" "helm-bibtex" "ivy-bibtex" "org-ref") (:authors ("Leo Vivier" . "leo.vivier+dev@gmail.com") ("Mykhailo Shevchuk" . "mail@mshevchuk.com") ("Jethro Kuan" . "jethrokuan95@gmail.com")) (:maintainer "Leo Vivier" . "leo.vivier+dev@gmail.com") (:url . "https://github.com/zaeph/org-roam-bibtex"))])
+ (org-rtm . [(20160214 1236) ((rtm (0 1))) "Simple import/export from rememberthemilk to org-mode" single ((:commit . "adc42ad1fbe92ab447ccc9553780f4456f2508d2") (:keywords "outlines" "data") (:authors ("Philipp Middendorf" . "pmidden@secure.mailbox.org")) (:maintainer "Philipp Middendorf" . "pmidden@secure.mailbox.org") (:url . "https://github.com/pmiddend/org-rtm"))])
+ (org-runbook . [(20200412 403) ((emacs (25 1)) (seq (2 3)) (f (0 20 0)) (s (1 12 0)) (dash (2 17 0)) (mustache (0 24)) (ht (0 9))) "Org mode for runbooks" single ((:commit . "8bec754c3007238d4e1c7296454815bf7000b31d") (:keywords "convenience" "processes" "terminals" "files") (:authors ("Tyler Dodge")) (:maintainer "Tyler Dodge") (:url . "https://github.com/tyler-dodge/org-runbook"))])
+ (org-scrum . [(20200131 1129) ((emacs (24 5)) (org (8 2)) (seq (2 3)) (cl-lib (1 0))) "org mode extensions for scrum planning and reporting" single ((:commit . "8b5cd196bb37cebd1aa5b02ed189ad7dadd92078") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:url . "https://github.com/ianxm/emacs-scrum"))])
+ (org-seek . [(20161217 502) ((emacs (24 3)) (ag (0 48))) "Searching Org-mode files with search tools." single ((:commit . "1f51e6634e3b9a6a29d335d0d14370a6ffef2265") (:keywords "org" "search" "ag" "pt") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/org-seek.el"))])
+ (org-shoplist . [(20190809 2156) ((emacs (25))) "Eat the world" single ((:commit . "9591a4747eb2e5cab53203a120f9b854c75e629b") (:keywords "extensions" "matching") (:authors ("lordnik22")) (:maintainer "lordnik22") (:url . "https://github.com/lordnik22"))])
+ (org-sidebar . [(20200313 1551) ((emacs (26 1)) (s (1 10 0)) (dash (2 13)) (dash-functional (1 2 0)) (org (9 0)) (org-ql (0 2)) (org-super-agenda (1 0))) "Helpful sidebar for Org buffers" single ((:commit . "d6ddec21fd6f356dc7b77c0a61a633606965a0bf") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-sidebar"))])
+ (org-snooze . [(20181229 1424) ((emacs (24 4))) "Snooze your code, doc and feed" single ((:commit . "8799adc14a20f3489063d279ff69312de3180bf9") (:keywords "extensions") (:authors ("Bill Xue")) (:maintainer "Bill Xue") (:url . "https://github.com/xueeinstein/org-snooze.el"))])
+ (org-special-block-extras . [(20200427 2234) ((s (1 12 0)) (dash (2 16 0)) (emacs (26 1)) (dash-functional (1 2 0)) (org (9 1))) "29 new custom blocks & 32 link types for Org-mode" single ((:commit . "d1054754d0701296bc0cde1fb022619b1f38dfde") (:keywords "org" "blocks" "colors" "convenience") (:authors ("Musa Al-hassy" . "alhassy@gmail.com")) (:maintainer "Musa Al-hassy" . "alhassy@gmail.com") (:url . "https://alhassy.github.io/org-special-block-extras"))])
+ (org-sql . [(20200217 2130) ((emacs (25)) (dash (2 15))) "Org-Mode SQL converter" single ((:commit . "9543ad58bc471abf09705d2615c50c1ead90c660") (:keywords "org-mode" "data") (:authors ("Nathan Dwarshuis" . "natedwarshuis@gmail.com")) (:maintainer "Nathan Dwarshuis" . "natedwarshuis@gmail.com") (:url . "https://github.com/ndwarshuis/org-sql"))])
+ (org-starter . [(20191224 1909) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "A basic configuration framework for org mode" tar ((:commit . "4c0f01a493a6dc9ab3fec50e0b458aa0d35464f9") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))])
+ (org-starter-swiper . [(20190929 646) ((emacs (25 1)) (swiper (0 11)) (org-starter (0 2 4))) "Swiper for org-starter" single ((:commit . "4c0f01a493a6dc9ab3fec50e0b458aa0d35464f9") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))])
+ (org-static-blog . [(20200415 623) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "ce92384b364de6421ab67e6399ae56b8ea51df49") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))])
+ (org-sticky-header . [(20191117 549) ((emacs (24 4)) (org (8 3 5))) "Show off-screen Org heading at top of window" single ((:commit . "1053ebdeb3bd14fc8d4538643532efb86d18b73c") (:keywords "hypermedia" "outlines" "org") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-sticky-header"))])
+ (org-super-agenda . [(20200310 1337) ((emacs (26 1)) (s (1 10 0)) (dash (2 13)) (org (9 0)) (ht (2 2)) (ts (0 2))) "Supercharge your agenda" tar ((:commit . "dd0d104c269fab9ebe5af7009bc1dd2a3a8f3c12") (:keywords "hypermedia" "outlines" "org" "agenda") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-super-agenda"))])
+ (org-superstar . [(20200416 2354) ((org (9 1 9)) (emacs (26 1))) "Prettify headings and plain lists in Org mode" single ((:commit . "09ddc28383d363a4b353348a433e24535b4af0e3") (:keywords "faces" "outlines") (:authors ("D. Williams" . "d.williams@posteo.net")) (:maintainer "D. Williams" . "d.williams@posteo.net") (:url . "https://github.com/integral-dw/org-superstar-mode"))])
+ (org-sync . [(20181204 23) ((cl-lib (0 5)) (org (8 2)) (emacs (24))) "Synchronize Org documents with External Issue Trackers" tar ((:commit . "e34a385fa9e658c8341a0a6e6bc3472d4d536bb8") (:keywords "org" "synchronization" "issue tracking" "github" "redmine") (:authors ("Aurelien Aptel <aurelien dot aptel at gmail dot com>")) (:maintainer "Andrei Beliankou" . "arbox@yandex.ru") (:url . "https://github.com/arbox/org-sync"))])
+ (org-sync-snippets . [(20190318 1744) ((org (8 3 5)) (emacs (24 3)) (f (0 17 3))) "Export snippets to org-mode and vice versa" single ((:commit . "50cefe5a37196ed1af3d330d6871c3b37fa90d41") (:keywords "snippet" "org-mode" "yasnippet" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/org-sync-snippets"))])
+ (org-table-comment . [(20120209 1851) nil "Org table comment modes." single ((:commit . "33b9966c33ecbc3e27cca67c2f2cdea04364d74e") (:keywords "org-mode" "orgtbl") (:authors ("Matthew L. Fidler <matthew dot fidler at gmail . com>")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/org-table-comment.el"))])
+ (org-table-sticky-header . [(20190924 506) ((org (8 2 10)) (emacs (24 4))) "Sticky header for org-mode tables" single ((:commit . "b65442857128ab04724aaa301e60aa874a31a798") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (org-tanglesync . [(20200127 1616) ((emacs (24 4))) "Syncing org src blocks with tangled external files" single ((:commit . "af83a73ae542d5cb3c9d433cbf2ce1d4f4259117") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/org-tanglesync.el"))])
+ (org-tfl . [(20170923 1218) ((org (0 16 2)) (cl-lib (0 5)) (emacs (24 1))) "Transport for London meets Orgmode" tar ((:commit . "f0d7d39106a1de5457f5160cddd98ab892b61066") (:keywords "org" "tfl") (:authors ("storax (David Zuber), <zuber [dot] david [at] gmx [dot] de>")) (:maintainer "storax (David Zuber), <zuber [dot] david [at] gmx [dot] de>") (:url . "https://github.com/storax/org-tfl"))])
+ (org-themis . [(20160122 404) ((cl-lib (0 4))) "Experimental project management mode for org-mode" single ((:commit . "78aadbbe22b1993be5c4accd0d3f91a4e85c9a3c") (:keywords "org-mode" "elisp" "project") (:maintainer "Zachary Elliott" . "contact@zell.io") (:url . "http://github.com/zellio/org-themis"))])
+ (org-time-budgets . [(20151111 801) ((alert (0 5 10)) (cl-lib (0 5))) "Define time budgets and display clocked time." single ((:commit . "1e81ea29af1ccc7b4ddb42fe4e3fbfc0adf891b0") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com"))])
+ (org-timeline . [(20190612 1759) ((dash (2 13 0)) (emacs (24 3))) "Add graphical view of agenda to agenda buffer." single ((:commit . "f628519a12ce3d534b9aa5043b0273880cf29790") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-timeline/"))])
+ (org-toodledo . [(20150301 1113) ((request-deferred (0 2 0)) (emacs (24)) (cl-lib (0 5))) "Toodledo integration for Emacs Org mode" tar ((:commit . "2c91a92bd07ae4a546771b018a6faa0e06399968") (:keywords "outlines" "data") (:authors ("Christopher J. White" . "emacs@grierwhite.com")) (:maintainer "Christopher J. White" . "emacs@grierwhite.com"))])
+ (org-tracktable . [(20161118 1329) ((emacs (24)) (cl-lib (0 5))) "Track your writing progress in an org-table" single ((:commit . "8e0e60a582a034bd66d5efb72d513140b7d4d90a") (:keywords "org" "writing") (:authors ("tty-tourist" . "andreasrasholm@protonmail.com")) (:maintainer "tty-tourist" . "andreasrasholm@protonmail.com") (:url . "https://github.com/tty-tourist/org-tracktable"))])
+ (org-transform-tree-table . [(20200413 1959) ((dash (2 10 0)) (s (1 3 0))) "Transform org-mode tree with properties to a table, and the other way around" single ((:commit . "d84e7fb87bf2d5fc2be252500de0cddf20facf4f") (:keywords "org-mode" "table" "org-table" "tree" "csv" "convert") (:authors (nil . "Johan Lindstrom <buzzwordninja not_this_bit@googlemail.com>")) (:maintainer nil . "Johan Lindstrom <buzzwordninja not_this_bit@googlemail.com>") (:url . "https://github.com/jplindstrom/emacs-org-transform-tree-table"))])
+ (org-tree-slide . [(20200114 2334) nil "A presentation tool for org-mode" single ((:commit . "7bf09a02bd2d8f1ccfcb5209bfb18fbe02d1f44e") (:keywords "convenience" "org-mode" "presentation" "narrowing") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>") (:url . "https://github.com/takaxp/org-tree-slide"))])
+ (org-treescope . [(20200324 1959) ((emacs (24 3)) (org (9 2 3)) (org-ql (0 5 -1)) (dash (2 17 0))) "Time scoping sparse trees within org" tar ((:commit . "cad2aa82e5ca73bd7afc31b7a5e764da5ab716c3") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/org-treescope.el"))])
+ (org-treeusage . [(20200418 1904) ((emacs (26 1)) (dash (2 17 0)) (org (9 1 6))) "Examine the usage of org headings in a tree-like manner" tar ((:commit . "fe4323bc500e2d949848c75e8f59340971b35562") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/org-treeusage.el"))])
+ (org-trello . [(20200130 1748) ((request-deferred (0 2 0)) (deferred (0 4 0)) (s (1 11 0)) (dash-functional (2 12 1)) (dash (2 12 1))) "Minor mode to synchronize org-mode buffer and trello board" tar ((:commit . "cd7bf366d40bb4af4a1a9801446dc98f713eac8a"))])
+ (org-variable-pitch . [(20191207 2022) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "eab07dae119129066624e692c1c75a53b2ab10a5") (:keywords "faces") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://dev.gkayaalp.com/elisp/index.html#ovp"))])
+ (org-vcard . [(20191130 703) nil "org-mode support for vCard export and import." tar ((:commit . "4f5d71225e946999f45ac9f96996705fee83df5a") (:keywords "outlines" "org" "vcard") (:authors ("Alexis" . "flexibeast@gmail.com") ("Will Dey" . "will123dey@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/org-vcard"))])
+ (org-wc . [(20180610 253) nil "Count words in org mode trees." single ((:commit . "0716c1e8276f6953e139e357e97566e792c8be19") (:authors ("Simon Guest")) (:maintainer "Simon Guest"))])
+ (org-web-tools . [(20191217 1459) ((emacs (25 1)) (org (9 0)) (dash (2 12)) (esxml (0 3 4)) (s (1 10 0)) (request (0 3 0))) "Display and capture web content with Org-mode" tar ((:commit . "ebc7888f4f4cad26ec1298edd7bf606a5ea2d564") (:keywords "hypermedia" "outlines" "org" "web") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-web-tools"))])
+ (org-wild-notifier . [(20200328 1153) ((alert (1 2)) (async (1 9 3)) (dash (2 13 0)) (dash-functional (1 2 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "4011d7f557da3ae5eee73c56ae514b963fb4d1c1") (:keywords "notification" "alert" "org" "org-agenda" "agenda") (:authors ("Artem Khramov" . "futu.fata@gmail.com")) (:maintainer "Artem Khramov" . "futu.fata@gmail.com") (:url . "https://github.com/akhramov/org-wild-notifier.el"))])
+ (org-working-set . [(20200416 813) ((emacs (25 1))) "Manage a working-set of org-nodes" tar ((:commit . "344d92ee5c117077317616e33d5945703059ac00") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-working-set"))])
+ (org-wunderlist . [(20191017 1917) ((request-deferred (0 2 0)) (alert (1 1)) (emacs (24)) (cl-lib (0 5)) (org (8 2 4)) (s (1 9 0))) "Org sync with Wunderlist" single ((:commit . "1a084bb49be4b5a1066db9cd9b7da2f8efab293f") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-wunderlist.el"))])
+ (org2blog . [(20200317 2136) ((htmlize (1 54)) (hydra (0 15 0)) (xml-rpc (1 6 12)) (metaweblog (1 1 1))) "Blog from Org mode to WordPress" tar ((:commit . "60eae1c8a7f82fbcc2660d785b33601daaa29f4b") (:homepage . "https://github.com/org2blog/org2blog") (:keywords "comm" "convenience" "outlines" "wp") (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")))])
+ (org2ctex . [(20200331 550) ((emacs (24 4))) "Export org to ctex (a latex macro for Chinese)" single ((:commit . "2e40aa5e78b0562516f46f689e7b74cdf451cc2a") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org2ctex"))])
+ (org2elcomment . [(20170324 945) ((org (8 3 4))) "Convert Org file to Elisp comments" single ((:commit . "c88a75d9587c484ead18f7adf08592b09c1cceb0") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (org2issue . [(20190531 941) ((org (8 0)) (emacs (24 4)) (ox-gfm (0 1)) (gh (0 1)) (s (20160405 920))) "export org to github issue" single ((:commit . "910b98c858762fd14b11d261626c5e979dde0833") (:keywords "convenience" "github" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org2issue"))])
+ (org2jekyll . [(20170225 915) ((dash-functional (2 11 0)) (s (1 9 0)) (deferred (0 3 1)) (kv (0 0 19))) "Minor mode to publish org-mode post to jekyll without specific yaml" tar ((:commit . "52a19a5d372116262b9d613f4ec8490a3b49e329") (:keywords "org-mode" "jekyll" "blog" "publish") (:authors ("Antoine R. Dumont <eniotna.t AT gmail.com>")) (:maintainer "Antoine R. Dumont <eniotna.t AT gmail.com>") (:url . "https://github.com/ardumont/org2jekyll"))])
+ (org2web . [(20171005 2317) ((cl-lib (1 0)) (ht (1 5)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0)) (el2org (0 10)) (simple-httpd (0 1))) "A static site generator based on org mode." tar ((:commit . "5243b399927a4c474bb3b8d1c8a00799df1f27d7"))])
+ (organic-green-theme . [(20200418 2058) nil "Low-contrast green color theme." single ((:commit . "5218473fb500e58ccad3f73cfc4245f161869f89"))])
+ (organize-imports-java . [(20190922 1520) ((emacs (24)) (f (0 20 0)) (s (1 12 0)) (cl-lib (0 6))) "Automatically organize imports in Java code." single ((:commit . "8299bdfd65105feb8d7fb85d2951954d73671cd2") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/organize-imports-java"))])
+ (orgbox . [(20180827 218) ((org (8 0)) (cl-lib (0 5))) "Mailbox-like task scheduling Org." single ((:commit . "3982f56efd67ec016389cad82ce5a44f619b36a9") (:keywords "org") (:authors ("Yasuhito Takamiya" . "yasuhito@gmail.com")) (:maintainer "Yasuhito Takamiya" . "yasuhito@gmail.com") (:url . "https://github.com/yasuhito/orgbox"))])
+ (orgit . [(20200417 1720) ((emacs (25 1)) (magit (2 90 1)) (org (9 3))) "support for Org links to Magit buffers" single ((:commit . "e147f055772cc934fe1f1d8619059badeb647c93") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/orgit"))])
+ (orglink . [(20200413 2124) ((emacs (24 3)) (dash (2 12 1)) (org (9 3))) "use Org Mode links in other modes" single ((:commit . "a5f5da06174d22dc21bbac167a8c2361fa84bf2b") (:keywords "hypertext") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/orglink"))])
+ (orglue . [(20200411 311) ((org (9 3)) (epic (0 2))) "more functionality to org-mode." tar ((:commit . "9d5a8e24be9acb8c55bb4d6aa8b98e30e2677401") (:keywords "org") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))])
+ (orgnav . [(20170608 1713) ((helm (2 7 0)) (s (1 11 0)) (dash (1 11 0)) (emacs (24))) "Org tree navigation using helm" tar ((:commit . "9e2cac9c1a67af5f0080e60022e821bf7b70312d") (:keywords "convenience" "outlines") (:authors ("Facet Framer" . "facet@facetframer.com")) (:maintainer "Facet Framer" . "facet@facetframer.com") (:url . "http://github.com/facetframer/orgnav"))])
+ (orgtbl-aggregate . [(20200423 2123) nil "Create an aggregated Org table from another one" tar ((:commit . "b4d8ee2b8e0062eaa15eac6805374c02b776bb88") (:keywords "org" "table" "aggregation" "filtering"))])
+ (orgtbl-ascii-plot . [(20200411 711) nil "ascii-art bar plots in org-mode tables" single ((:commit . "59618630205fc8c0fcc74fb34c4581d9712a5181") (:keywords "org" "table" "ascii" "plot") (:authors ("Thierry Banel tbanelwebmin at free dot fr") ("Michael Brand")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))])
+ (orgtbl-join . [(20200423 2129) ((cl-lib (0 5))) "join columns from another table" tar ((:commit . "9a197de6c3036fbdb6309cbfd35ec31a69b3ebe7") (:keywords "org" "table" "join" "filtering") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))])
+ (orgtbl-show-header . [(20141023 837) nil "Show the header of the current column in the minibuffer" single ((:commit . "112d54a44682f065318ed0c9c89a8f5b8907342a") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com"))])
+ (origami . [(20200331 1019) ((s (1 9 0)) (dash (2 5 0)) (emacs (24)) (cl-lib (0 5))) "Flexible text folding" tar ((:commit . "e558710a975e8511b9386edc81cd6bdd0a5bda74") (:keywords "folding") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/origami.el"))])
+ (ormolu . [(20200313 1631) ((emacs (24)) (reformatter (0 4))) "Format Haskell source code using the \"ormolu\" program" single ((:commit . "5d991188b511e9d650c84fc578f2f49c9f995693") (:keywords "files" "tools") (:authors ("Vasiliy Yorkin" . "vasiliy.yorkin@gmail.com")) (:maintainer "Vasiliy Yorkin") (:url . "https://github.com/vyorkin/ormolu.el"))])
+ (osx-browse . [(20140508 2041) ((string-utils (0 3 2)) (browse-url-dwim (0 6 6))) "Web browsing helpers for OS X" single ((:commit . "44ded7cc3a7ee426c1c3257fae534c121f7e752e") (:keywords "hypermedia" "external") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/osx-browse"))])
+ (osx-clipboard . [(20141012 717) nil "Use the OS X clipboard from terminal Emacs" single ((:commit . "e46dd31327a3f92f77b013b4c9b1e5fdd0e5c73d") (:authors ("Jon Oddie <jonxfield at gmail.com>")) (:maintainer "Jon Oddie <jonxfield at gmail.com>") (:url . "https://github.com/joddie/osx-clipboard-mode"))])
+ (osx-dictionary . [(20191206 519) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "1b79ff64c72485cb078db9ab7ee3256b11a99f4b") (:keywords "mac" "dictionary") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))])
+ (osx-lib . [(20191121 1440) ((emacs (24 4))) "Basic function for Apple/OSX." single ((:commit . "01cba80ccc20412759f87b8f7531580bb04ec9c1") (:keywords "apple" "applescript" "osx" "finder" "emacs" "elisp" "vpn" "speech") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org") (:url . "https://github.com/raghavgautam/osx-lib"))])
+ (osx-location . [(20200304 2209) ((emacs (24 1))) "Watch and respond to changes in geographical location on OS X" tar ((:commit . "18fcc306caa575c5afdeaf091aa1a9b003daa52a") (:keywords "convenience" "calendar") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/osx-location"))])
+ (osx-org-clock-menubar . [(20150205 2111) nil "simple menubar integration for org-clock" tar ((:commit . "9964d2a97cc2fb6570dc4116da44f73bd8eb7cb3") (:keywords "org" "osx") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:url . "https://github.com/jordonbiondo/osx-org-clock-menubar"))])
+ (osx-plist . [(20200212 1724) ((emacs (25 1))) "Apple plist file parser" single ((:commit . "7e717532c78a97eb77b79e2985cea0b201117ff8") (:keywords "convenience") (:authors ("Theresa O'Connor" . "tess@oconnor.cx")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/gonewest818/osx-plist"))])
+ (osx-pseudo-daemon . [(20200215 513) nil "Daemon mode that plays nice with OSX." single ((:commit . "703ee41303dc251b7672b7cba5aeb6aa54a76c90") (:keywords "convenience" "osx") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))])
+ (osx-trash . [(20160520 1300) ((emacs (24 1))) "System trash for OS X" tar ((:commit . "0f1dc052d0a750b8c75f14530a4897f5d4324b4e") (:keywords "files" "convenience" "tools" "unix") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/osx-trash.el"))])
+ (otama . [(20160404 1032) nil "Org-table Manipulator" single ((:commit . "c114fd8006762f891bc120a7c0ea213872e7ab31") (:keywords "database" "org-mode") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))])
+ (other-emacs-eval . [(20180408 1348) ((emacs (25 1)) (async (1 9 2))) "Evaluate the Emacs Lisp expression in other Emacs" single ((:commit . "8ace5acafef65daabf0c6619eff60733d7f5d792") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/other-emacs-eval"))])
+ (outline-magic . [(20180619 1819) nil "outline mode extensions for Emacs" single ((:commit . "2a5f07417b696cf7541d435c43bafcc64817636b") (:keywords "outlines") (:authors ("Carsten Dominik" . "dominik@science.uva.nl")) (:maintainer "Thorsten Jolitz <tjolitz AT gmail DOT com>"))])
+ (outline-minor-faces . [(20200429 2055) ((emacs (25 1))) "Headings faces for outline-minor-mode" single ((:commit . "b616b0d90a7c3d7b87bd164f2d213a5e009c39eb") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))])
+ (outline-toc . [(20200401 1208) nil "Sidebar showing a \"table of contents\"." single ((:commit . "81d373633b40628cc3a6b6fb534fd7730076bcdb") (:keywords "convenience" "outlines") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/outline-toc.el"))])
+ (outlined-elisp-mode . [(20131108 1127) nil "outline-minor-mode settings for emacs lisp" single ((:commit . "c16cb02b540448919ad148f2be6a41523ee5489c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (outlook . [(20180428 1430) ((emacs (24 4))) "send emails in MS Outlook style" tar ((:commit . "359683aff91b38bd1398a6ed4058a06f09a02d65") (:keywords "mail") (:authors ("Andrew Savonichev")) (:maintainer "Andrew Savonichev") (:url . "https://github.com/asavonic/outlook.el"))])
+ (outorg . [(20190720 2002) ((emacs (24 4))) "Org-style comment editing" single ((:commit . "ef0f86f4b893b30be8bcf8b43a5ec357a6c70f07") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/outorg"))])
+ (outrespace . [(20190724 1553) ((emacs (24 4))) "Some c++ namespace utility functions" single ((:commit . "d8c1619ec81fd3f4e728212a3526cd13bc2b0147") (:keywords "tools" "c++" "namespace") (:authors ("Dan Harms" . "danielrharms@gmail.com")) (:maintainer "Dan Harms" . "danielrharms@gmail.com") (:url . "https://github.com/articuluxe/outrespace.git"))])
+ (outshine . [(20191112 1414) ((outorg (2 0)) (cl-lib (0 5))) "outline with outshine outshines outline" tar ((:commit . "9334b555aaf1426a9e405a57b80809a1615627b3") (:keywords "convenience" "outlines" "org") (:authors ("Thorsten Jolitz")) (:maintainer "Thibault Polge" . "thibault@thb.lt") (:url . "https://github.com/alphapapa/outshine"))])
+ (ov . [(20200326 1042) ((emacs (24 3))) "Overlay library for Emacs Lisp" single ((:commit . "c5b9aa4e1b00d702eb2caedd61c69a22a5fa1fab") (:keywords "convenience" "overlay") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/ov.el"))])
+ (overcast-theme . [(20200425 1601) ((emacs (24))) "A dark but vibrant color theme for Emacs" single ((:commit . "e02b835a08919ead079d7221d513348ac02ba92e") (:keywords "theme") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))])
+ (overseer . [(20180226 619) ((emacs (24)) (dash (2 10 0)) (pkg-info (0 4)) (f (0 18 1))) "Ert-runner Integration Into Emacs" single ((:commit . "02d49f582e80e36b4334c9187801c5ecfb027789") (:authors ("Samuel Tonini" . "tonini.samuel@gmail.com")) (:maintainer "Samuel Tonini" . "tonini.samuel@gmail.com") (:url . "http://www.github.com/tonini/overseer.el"))])
+ (ovpn-mode . [(20191214 310) ((emacs (25)) (cl-lib (0 5))) "an openvpn management mode" single ((:commit . "8457f72de59929d6c176883e92d1a706163d3170") (:keywords "comm") (:authors ("Bas Alberts" . "bas@anti.computer")) (:maintainer "Bas Alberts" . "bas@anti.computer") (:url . "https://github.com/anticomputer/ovpn-mode"))])
+ (owcmd . [(20200427 633) ((emacs (26 3))) "Run a single command in the other window" single ((:commit . "cdd2280f34328f65fe470046c928b0018914584a") (:keywords "convenience") (:authors ("Jacob First" . "jacob.first@member.fsf.org")) (:maintainer "Jacob First" . "jacob.first@member.fsf.org") (:url . "https://github.com/fishyfriend/owcmd"))])
+ (owdriver . [(20200410 1901) ((smartrep (0 0 3)) (log4e (0 2 0)) (yaxception (0 2 0))) "Quickly perform various actions on other windows" single ((:commit . "3c52a7b11c8275fdb2e4cf98f68f2a48ad09a3ae") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/owdriver"))])
+ (ox-asciidoc . [(20181230 620) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "e931362e641f97d17dc738d22bb461e54045786d") (:keywords "org" "asciidoc") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-asciidoc"))])
+ (ox-bibtex-chinese . [(20170723 309) ((emacs (24 4))) "Let ox-bibtex work well for Chinese users" tar ((:commit . "2ad2364399229144110db7ef6365ad0461d6a38c"))])
+ (ox-clip . [(20191122 237) ((org (8 2)) (htmlize (0))) "Cross-platform formatted copying for org-mode" single ((:commit . "bd36f9fb4e3b1b9e8686b993b02ccd780ff75a96") (:keywords "org-mode") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:url . "https://github.com/jkitchin/ox-clip"))])
+ (ox-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "c9629ef4b4bc40d51afefd8c0bb2c683931e6409") (:keywords "hypermedia") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:url . "http://github.com/ofosos/org-epub"))])
+ (ox-gfm . [(20170628 2102) nil "Github Flavored Markdown Back-End for Org Export Engine" single ((:commit . "99f93011b069e02b37c9660b8fcb45dab086a07f") (:keywords "org" "wp" "markdown" "github") (:authors ("Lars Tveito")) (:maintainer "Lars Tveito"))])
+ (ox-haunt . [(20200202 229) ((emacs (24 3)) (org (9 0))) "Haunt-flavored HTML backend for the Org export engine" single ((:commit . "f3c8fda6fee78f45a259e5d218a519dfd11c00c7") (:keywords "convenience" "hypermedia" "wp") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:url . "https://git.sr.ht/~jakob/ox-haunt"))])
+ (ox-html5slide . [(20131228 606) ((org (8 0))) "Export org-mode to HTML5 slide." single ((:commit . "4703dfbd9d79161509def673d2c1e118d722a58f") (:keywords "html" "presentation") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/org-html5slide"))])
+ (ox-hugo . [(20200420 324) ((emacs (24 4)) (org (9 0))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "5106b430a139bb9e37beda177a082dfe36b407f5") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))])
+ (ox-impress-js . [(20150412 1716) ((org (8))) "impress.js Back-End for Org Export Engine" tar ((:commit . "91c6d2af6af308ade352a03355c4fb551b238c6b") (:keywords "outlines" "hypermedia" "calendar" "wp") (:authors ("Takumi Kinjo <takumi dot kinjo at gmail dot org>")) (:maintainer "Takumi Kinjo <takumi dot kinjo at gmail dot org>") (:url . "https://github.com/kinjo/org-impress-js.el"))])
+ (ox-ioslide . [(20161015 1338) ((emacs (24 1)) (org (8 0)) (cl-lib (0 5)) (f (0 17 2)) (makey (0 3))) "Export org-mode to Google I/O HTML5 slide." tar ((:commit . "6555680be5364c8ddd2bf446865cb1a82adb6b9e") (:keywords "html" "presentation") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/org-ioslide"))])
+ (ox-jekyll-md . [(20180831 1732) nil "Export Jekyll on Markdown articles using org-mode." single ((:commit . "ff7b81733354c2b427293e531bb51647fa84fc88") (:keywords "org" "jekyll") (:authors ("Elsa Gonsiorowski" . "gonsie@me.com")) (:maintainer "Elsa Gonsiorowski" . "gonsie@me.com"))])
+ (ox-jira . [(20200218 2301) ((org (8 3))) "JIRA Backend for Org Export Engine" single ((:commit . "00767df8ba024eb1ef09fe16c3aed30d729d6add") (:keywords "outlines" "hypermedia" "wp") (:authors ("Stig Brautaset" . "stig@brautaset.org")) (:maintainer "Stig Brautaset" . "stig@brautaset.org") (:url . "https://github.com/stig/ox-jira.el"))])
+ (ox-json . [(20191225 750) ((emacs (24)) (org (9)) (s (1 12))) "JSON export backend for Org mode" single ((:commit . "8ce0fae6e8b596b93e05dd512be13973cb3cfa54") (:keywords "outlines") (:authors ("Jared Lumpe" . "mjlumpe@gmail.com")) (:maintainer "Jared Lumpe" . "mjlumpe@gmail.com") (:url . "https://github.com/jlumpe/ox-json"))])
+ (ox-latex-subfigure . [(20200326 919) ((emacs (24 4)) (org (9 0))) "Subfigure for latex export" single ((:commit . "be0a0dde62fde8cdf8d72b6968344906aa8c6f54") (:keywords "convenience" "ox" "latex" "subfigure" "org" "org-mode") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:url . "http://github.com/linktohack/ox-latex-subfigure"))])
+ (ox-mdx-deck . [(20181115 1847) ((emacs (24)) (ox-hugo (0 7))) "org-mode to mdx-deck exporter" single ((:commit . "2e46ac76f7ac279c371474cbbf39634bbe40f4c7") (:keywords "lisp" "org" "ox" "mdx" "deck") (:authors ("Joshua Wolfe")) (:maintainer "Joshua Wolfe") (:url . "https://github.com/WolfeCub/ox-mdx-deck/"))])
+ (ox-mediawiki . [(20180105 2154) ((cl-lib (0 5)) (s (1 9 0))) "Mediawiki Back-End for Org Export Engine" single ((:commit . "a9327150293e370e500ba55bddfe5fc435c6bf9b") (:keywords "org" "wp" "mediawiki") (:authors ("Tom Alexander" . "tomalexander@paphus.com")) (:maintainer "Tom Alexander" . "tomalexander@paphus.com") (:url . "https://github.com/tomalexander/orgmode-mediawiki"))])
+ (ox-minutes . [(20180202 1734) ((emacs (24 4))) "Plain text backend for Org for Meeting Minutes" single ((:commit . "27c29f3fdb9181322ae56f8bace8d95e621230e5") (:keywords "org" "exporter" "notes") (:authors ("Kaushal Modi" . "kaushal.modi@gmail.com")) (:maintainer "Kaushal Modi" . "kaushal.modi@gmail.com") (:url . "https://github.com/kaushalmodi/ox-minutes"))])
+ (ox-nikola . [(20151114 1116) ((emacs (24 4)) (org (8 2 4)) (ox-rst (0 2))) "Export Nikola articles using org-mode." single ((:commit . "5bcbc1a38f6619f62294194f13ca0cd4ca14dd48") (:keywords "org" "nikola") (:authors ("IGARASHI Masanao" . "syoux2@gmail.com")) (:maintainer "IGARASHI Masanao" . "syoux2@gmail.com") (:url . "https://github.com/masayuko/ox-nikola"))])
+ (ox-pandoc . [(20180510 1338) ((org (8 2)) (emacs (24)) (dash (2 8)) (ht (2 0)) (cl-lib (0 5))) "org exporter for pandoc." single ((:commit . "aa37dc7e94213d4ebedb85c384c1ba35007da18e") (:keywords "tools") (:authors ("KAWABATA, Taichi" . "kawabata.taichi@gmail.com")) (:maintainer "KAWABATA, Taichi" . "kawabata.taichi@gmail.com") (:url . "https://github.com/kawabata/ox-pandoc"))])
+ (ox-pukiwiki . [(20150124 1716) ((org (8 1))) "Pukiwiki Back-End for Org Export Engine" single ((:commit . "bdbde2c294f5d3de11f08a3fe19f01175d2e011a") (:keywords "org" "pukiwiki") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-pukiwiki"))])
+ (ox-qmd . [(20170402 1657) ((org (8 0))) "Qiita Markdown Back-End for Org Export Engine" single ((:commit . "3a24c7a0b3ec80e494b977e14a3dfb94c9f1d8ec") (:keywords "org" "wp" "markdown" "qiita") (:authors ("0x60DF" . "0x60DF@gmail.com")) (:maintainer "0x60DF" . "0x60DF@gmail.com") (:url . "https://github.com/0x60df/ox-qmd"))])
+ (ox-reveal . [(20200429 1533) ((org (8 3))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "19e81a630513a36a73953bdc935bede2edbc3630") (:keywords "outlines" "hypermedia" "slideshow" "presentation") (:authors ("Yujie Wen <yjwen.ty at gmail dot com>")) (:maintainer "Yujie Wen <yjwen.ty at gmail dot com>"))])
+ (ox-rfc . [(20190926 851) ((emacs (24 3)) (org (8 3))) "RFC Back-End for Org Export Engine" tar ((:commit . "b86c9e6f21d99ea657b4f2224f816300485ed73f") (:keywords "org" "rfc" "wp" "xml") (:authors ("Christian Hopps" . "chopps@devhopps.com")) (:maintainer "Christian Hopps" . "chopps@devhopps.com") (:url . "https://github.com/choppsv1/org-rfc-export"))])
+ (ox-rst . [(20191013 551) ((emacs (25 1)) (org (8 3))) "Export reStructuredText using org-mode." single ((:commit . "9158bfd18096c559e0a225ae62ab683f1c98a547") (:keywords "org" "rst" "rest" "restructuredtext") (:authors ("Masanao Igarashi" . "syoux2@gmail.com")) (:maintainer "Masanao Igarashi" . "syoux2@gmail.com") (:url . "https://github.com/msnoigrs/ox-rst"))])
+ (ox-slack . [(20200108 1546) ((emacs (24)) (org (9 1 4)) (ox-gfm (1 0))) "Slack Exporter for org-mode" single ((:commit . "89cedb9da6ea08b78bc1fe77d6a39aa078172c1e") (:keywords "org" "slack" "outlines") (:authors ("Matt Price")) (:maintainer "Matt Price") (:url . "https://github.com/titaniumbones/ox-slack"))])
+ (ox-slimhtml . [(20200302 728) ((emacs (24)) (cl-lib (0 6))) "a minimal HTML org export backend" single ((:commit . "6f774398d189430593c93e503bf0f3cd0e8bcc25") (:keywords "files") (:authors ("Elo Laszlo <hello at bald dot cat>")) (:maintainer "Elo Laszlo <hello at bald dot cat>") (:url . "http://bald.cat/slimhtml"))])
+ (ox-spectacle . [(20181211 953) ((org (8 3))) "spectacle.js Presentation Back-End for Org Export Engine" single ((:commit . "9d3ec9a6326289074d8620e97d65e3105307ff51") (:keywords "presentation") (:authors ("imfine" . "lorniu@gmail.com")) (:maintainer "imfine" . "lorniu@gmail.com"))])
+ (ox-textile . [(20180502 947) ((org (8 1))) "Textile Back-End for Org Export Engine" single ((:commit . "b179abaa6616604c6efe32cb509e62ad46e7374e") (:keywords "org" "textile") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-textile"))])
+ (ox-tiddly . [(20180626 2052) ((org (8)) (cl-lib (0 5))) "org TiddlyWiki exporter" single ((:commit . "99d0c25d56dbf75ce894a84e776ba4459208dbc2") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org8-wikiexporters"))])
+ (ox-trac . [(20171026 1823) ((org (9 0))) "Org Export Backend to Trac WikiFormat" single ((:commit . "03cc31efb1aa06991918f1071e250a9d58f96cfb") (:keywords "org-mode" "trac") (:authors ("Brian J. Carlson <hacker (at) abutilize (dot) com>")) (:maintainer "Brian J. Carlson <hacker (at) abutilize (dot) com>") (:url . "https://github.com/JalapenoGremlin/ox-trac"))])
+ (ox-tufte . [(20160926 1607) ((org (8 2)) (emacs (24))) "Tufte HTML org-mode export backend" single ((:commit . "49d7ea78fde063b407ce6fa57739f90c83500682") (:keywords "org" "tufte" "html") (:authors ("M. Lee Hinman")) (:maintainer "M. Lee Hinman") (:url . "https://github.com/dakrone/ox-tufte"))])
+ (ox-twbs . [(20191216 1011) nil "Bootstrap compatible HTML Back-End for Org" single ((:commit . "cf56accf8633f72c741fff19a49c24cc8bdd8974") (:keywords "org" "html" "publish" "twitter" "bootstrap") (:authors ("Carsten Dominik <carsten at orgmode dot org>") ("Jambunathan K <kjambunathan at gmail dot com>") ("Brandon van Beekum <marsmining at gmail dot com>")) (:maintainer "Carsten Dominik <carsten at orgmode dot org>") (:url . "https://github.com/marsmining/ox-twbs"))])
+ (ox-twiki . [(20170803 2039) ((org (8)) (cl-lib (0 5))) "org Twiki and Foswiki export" single ((:commit . "99d0c25d56dbf75ce894a84e776ba4459208dbc2") (:keywords "org") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:url . "https://github.com/dfeich/org8-wikiexporters"))])
+ (ox-wk . [(20191231 2058) ((emacs (24 4)) (org (8 3))) "Wiki Back-End for Org Export Engine" single ((:commit . "d34d1b72e4e940745a377bfa745dfb618900a09e") (:keywords "org" "wp" "wiki") (:authors ("Vilibald Wanča" . "vilibald@wvi.cz")) (:maintainer "Vilibald Wanča" . "vilibald@wvi.cz") (:url . "https://github.com/w-vi/ox-wk.el"))])
+ (p4 . [(20150721 1937) nil "Simple Perforce-Emacs Integration" single ((:commit . "eff047caa75dbe4965defca9d1212454cdb755d5") (:authors ("Gareth Rees" . "gdr@garethrees.org")) (:maintainer "Gareth Rees" . "gdr@garethrees.org") (:url . "https://github.com/gareth-rees/p4.el"))])
+ (pabbrev . [(20160320 2101) nil "Predictive abbreviation expansion" single ((:commit . "56400d5d256b42ffe45c229ea9827f026b650cf5") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))])
+ (pacfiles-mode . [(20200418 1806) ((emacs (26)) (cl-lib (0 5))) "pacnew and pacsave merging tool" tar ((:commit . "222ae3f540cddee306067c83451cfece1112c09e") (:keywords "files" "pacman" "arch" "pacnew" "pacsave" "update" "linux") (:authors ("Carlos G. Cordero <http://github/UndeadKernel>")) (:maintainer "Carlos G. Cordero" . "pacfiles@binarycharly.com") (:url . "https://github.com/UndeadKernel/pacfiles-mode"))])
+ (pack . [(20191017 456) ((emacs (24)) (cl-lib (0 5))) "Pack and unpack archive files" single ((:commit . "85cd856fdc00a2365e88b50373b99f1b3d2227be") (:keywords "files" "dired") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/pack-el"))])
+ (package+ . [(20190702 253) ((emacs (24 3))) "Extensions for the package library." single ((:commit . "3d108ff6af00d2fe978787217a13660af057cafc") (:keywords "extensions" "tools") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:url . "https://github.com/zenspider/package"))])
+ (package-build . [(20200426 2253) ((cl-lib (0 5)) (emacs (24 1))) "Tools for assembling a package archive" tar ((:commit . "5fe5156491145c667286cb92be4191a348eaa31e") (:keywords "tools") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "https://github.com/melpa/package-build"))])
+ (package-filter . [(20161122 719) nil "package archive whitelist and blacklist" single ((:commit . "bc73b41aea1d65ca44ef1593ca13126df9bbb39e") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "https://github.com/milkypostman/package-filter"))])
+ (package-lint . [(20200419 406) ((cl-lib (0 5)) (emacs (24 1)) (let-alist (1 0 6))) "A linting library for elisp package authors" tar ((:commit . "fb4662a755572c5add43869cdb6dcc577ca83a7f") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/package-lint"))])
+ (package-lint-flymake . [(20191116 45) ((emacs (26 1)) (package-lint (0 5))) "A package-lint Flymake backend" single ((:commit . "fb4662a755572c5add43869cdb6dcc577ca83a7f") (:url . "https://github.com/purcell/package-lint"))])
+ (package-safe-delete . [(20150116 1607) ((emacs (24)) (epl (0 7 -4))) "Safely delete package.el packages" single ((:commit . "138171e4fc03c0ef05a8260cbb5cd2e114c1c194") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/package-safe-delete"))])
+ (package-utils . [(20180514 1415) ((restart-emacs (0 1 1))) "Extensions for package.el" single ((:commit . "5621b95c56b55499f0463fd8b29501da25d861bd") (:keywords "package" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/package-utils"))])
+ (packed . [(20180318 1729) ((emacs (24 3))) "package manager agnostic Emacs Lisp package utilities" single ((:commit . "c41c3dfda86ae33832ffc146923e2a4675cbacfa") (:keywords "compile" "convenience" "lisp" "package" "library") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/packed"))])
+ (pacmacs . [(20160131 832) ((emacs (24 4)) (dash (2 11 0)) (dash-functional (1 2 0)) (cl-lib (0 5)) (f (0 18 0))) "Pacman for Emacs" tar ((:commit . "d813e9c62c2540fe619234824fc60e128c786442") (:authors ("Codingteam" . "codingteam@conference.jabber.ru")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/codingteam/pacmacs.el"))])
+ (pact-mode . [(20191117 2337) ((emacs (24 3))) "Mode for Pact, a LISPlike smart contract language." single ((:commit . "220bf985cb31d60f47042d5f424de8b9a589e544") (:keywords "pact" "lisp" "languages" "blockchain" "smartcontracts" "tools" "mode") (:authors ("Stuart Popejoy")) (:maintainer "Stuart Popejoy" . "stuart@kadena.io") (:url . "https://github.com/kadena-io/pact-mode"))])
+ (paganini-theme . [(20180815 1921) ((emacs (24 0))) "A colorful, dark and warm theme." single ((:commit . "255c5a2a8abee9c5935465ec42b9c3604c178c3c") (:authors ("Onur Temizkan")) (:maintainer "Onur Temizkan") (:url . "https://github.com/onurtemizkan/paganini"))])
+ (page-break-lines . [(20200305 244) ((emacs (24 4))) "Display ^L page breaks as tidy horizontal lines" single ((:commit . "314b397910b3d16bb7cbcc25098696348e678080") (:keywords "convenience" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/page-break-lines"))])
+ (pager . [(20151202 120) nil "windows-scroll commands" single ((:commit . "5c791ed23f1136e04040d6f4bc9b4ca5b6dc919f") (:authors (nil . "Mikael Sjödin -- mic@docs.uu.se")) (:maintainer nil . "Mikael Sjödin -- mic@docs.uu.se"))])
+ (pager-default-keybindings . [(20130719 2057) ((pager (1 0))) "Add the default keybindings suggested for pager.el" single ((:commit . "dbbd49c2ac5906d1dabf9e9c832bfebc1ab405b3") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/pager-default-keybindings"))])
+ (palimpsest . [(20200211 641) nil "Various deletion strategies when editing" single ((:commit . "389ec5b4c5067fa903c543b7fe1d804f30b6ced5") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))])
+ (pallet . [(20150512 702) ((dash (2 10 0)) (s (1 9 0)) (f (0 17 1)) (cask (0 7))) "A package management tool for Emacs, using Cask." tar ((:commit . "b8d0df1883224a371ac0a3bc9b9c1c4dc61e6ac0"))])
+ (pamparam . [(20200410 1155) ((emacs (24 3)) (lispy (0 26 0)) (worf (0 1 0)) (hydra (0 13 4))) "Simple and fast flashcards." tar ((:commit . "f9d83bbf5eb883bce6873dd6fd97484b6805215c") (:keywords "outlines" "hypermedia" "flashcards" "memory") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/pamparam"))])
+ (panda . [(20200424 2206) ((emacs (25))) "Client for Bamboo's REST API." single ((:commit . "bdd9f80283d8ae4a69f8789e5f18b1560b94fe43") (:keywords "maint" "tool") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:url . "https://github.com/sebasmonia/panda"))])
+ (panda-theme . [(20181128 1738) ((emacs (24))) "Panda Theme" single ((:commit . "60aa47c7a930377807da0d601351ad91e8ca446a") (:authors ("jamiecollinson" . "jamiecollinson@gmail.com")) (:maintainer "jamiecollinson" . "jamiecollinson@gmail.com") (:url . "https://github.com/jamiecollinson/emacs-panda-theme"))])
+ (pandoc . [(20161128 1157) ((emacs (24 4))) "Pandoc interface" single ((:commit . "198d262d09e30448f1672338b0b5a81cf75e1eaa") (:keywords "hypermedia" "documentation" "markup" "converter") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/pandoc.el"))])
+ (pandoc-mode . [(20200303 2322) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "befd7be704d6dbe3dba69da761fc62e0609c9366") (:keywords "text" "pandoc") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "http://joostkremers.github.io/pandoc-mode/"))])
+ (pangu-spacing . [(20190823 401) nil "Minor-mode to add space between Chinese and English characters." single ((:commit . "f92898949ba3bf991fd229416f3bbb54e9c6c223") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/pangu-spacing"))])
+ (paper-theme . [(20190124 1828) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "eab07dae119129066624e692c1c75a53b2ab10a5") (:keywords "theme" "paper") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:url . "https://dev.gkayaalp.com/elisp/index.html#paper"))])
+ (paperless . [(20180224 1245) ((emacs (24 4)) (f (0 11 0)) (s (1 10 0)) (cl-lib (0 6 1))) "A major mode for sorting and filing PDF documents." tar ((:commit . "b3b6c05da393f6b1292a3d5937bc4499baabd0b6") (:keywords "pdf" "convenience") (:authors ("Anthony Green" . "green@moxielogic.com")) (:maintainer "Anthony Green" . "green@moxielogic.com") (:url . "http://github.com/atgreen/paperless"))])
+ (paradox . [(20191011 1111) ((emacs (24 4)) (seq (1 7)) (let-alist (1 0 3)) (spinner (1 7 3)) (hydra (0 13 2))) "A modern Packages Menu. Colored, with package ratings, and customizable." tar ((:commit . "339fe3518d1d102b2295670340e75caf4f01a29a") (:keywords "package" "packages") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/paradox"))])
+ (parchment-theme . [(20200424 1524) ((autothemer (0 2))) "Light theme inspired by Acme and Leuven" single ((:commit . "766efdbd444cbefd9d01e7c6f55956d4c9a8db6c") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:url . "https://github.com/ajgrf/parchment"))])
+ (paredit . [(20191121 2328) nil "minor mode for editing parentheses" single ((:commit . "814999bb320e6d5aaa9c8ff663b1933157129571") (:keywords "lisp") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net"))])
+ (paredit-everywhere . [(20180506 849) ((paredit (22))) "Enable some paredit features in non-lisp buffers" single ((:commit . "f04c522e6b088a11255a95cb1e6a08198b4d6537") (:keywords "languages" "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (paredit-menu . [(20160128 1733) ((paredit (25))) "Adds a menu to paredit.el as memory aid" single ((:commit . "cc0ae85bd819f9ebfa4f2a419ab3b2d70e39c9c8") (:keywords "paredit") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))])
+ (paren-completer . [(20160501 1052) ((emacs (24 3))) "Automatically, language agnostically, fill in delimiters." single ((:commit . "74183a8e13fa1266271bdcbcb4bfb29a4f915f0a") (:keywords "convenience") (:authors ("Matthew Bregg")) (:maintainer "Matthew Bregg") (:url . "https://github.com/MatthewBregg/paren-completer"))])
+ (paren-face . [(20200103 1238) nil "a face for parentheses in lisp modes" single ((:commit . "eb4a51b8ef455e0914108105e7c0008d675457cc") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/paren-face"))])
+ (parent-mode . [(20150824 2300) nil "get major mode's parent modes" single ((:commit . "db692cf08deff2f0e973e6e86e26662b44813d1b") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/parent-mode"))])
+ (parinfer . [(20180904 844) ((dash (2 13 0)) (cl-lib (0 5))) "Simpler Lisp editing" tar ((:commit . "eaad857ae4351f72a561ee3dec8943713510003f") (:keywords "parinfer") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://github.com/DogLooksGood/parinfer-mode"))])
+ (parrot . [(20191015 2127) ((emacs (24 1))) "Party Parrot rotates gracefully in mode-line." tar ((:commit . "29265d118267e524453aaa9121c4eae213a63164") (:keywords "party" "parrot" "rotate" "sirocco" "kakapo" "games") (:authors ("Daniel Ting" . "deep.paren.12@gmail.com")) (:maintainer "Daniel Ting" . "deep.paren.12@gmail.com") (:url . "https://github.com/dp12/parrot.git"))])
+ (parse-csv . [(20160512 1723) nil "Parse strings with CSV fields into s-expressions" single ((:commit . "96bef1ffbc89ea12d13311c9fa239c5c3e864890") (:keywords "csv") (:authors ("Edward Marco Baringer (Common Lisp)") ("Matt Curtis" . "matt.r.curtis@gmail.com")) (:maintainer "Matt Curtis" . "matt.r.curtis@gmail.com") (:url . "https://github.com/mrc/el-csv"))])
+ (parse-it . [(20191209 549) ((emacs (25 1)) (cl-lib (0 6)) (s (1 12 0))) "Basic Parser in Emacs Lisp" tar ((:commit . "ff9f9049ac039473f0ba5d070ac0e6d89cfbf851") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/parse-it"))])
+ (parsebib . [(20200303 2324) ((emacs (24 3))) "A library for parsing bib files" single ((:commit . "6537b4d2a8cf34455b769b95dfd65de6a4a0e1d3") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://github.com/joostkremers/parsebib"))])
+ (parsec . [(20180730 16) ((emacs (24)) (cl-lib (0 5))) "Parser combinator library" single ((:commit . "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/parsec.el"))])
+ (parseclj . [(20190531 711) ((emacs (25)) (a (0 1 0 -3 4))) "Clojure/EDN parser" tar ((:commit . "b34d3e13a249d4b92f1a008cdc1df20a92f866c5") (:keywords "lisp" "clojure" "edn" "parser") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))])
+ (parseedn . [(20200419 1124) ((emacs (25)) (a (0 1 0 -3 4)) (parseclj (0 1 0))) "Clojure/EDN parser" single ((:commit . "92bf875962e62f8c6370b56991d546f122536c6b") (:keywords "lisp" "clojure" "edn" "parser") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))])
+ (pasp-mode . [(20180404 1700) ((emacs (24 3))) "- A major mode for editing Answer Set Programs." single ((:commit . "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") (:keywords "asp" "pasp" "answer set programs" "potassco answer set programs" "major mode" "languages") (:authors ("Henrik Jürges" . "juerges.henrik@gmail.com")) (:maintainer "Henrik Jürges" . "juerges.henrik@gmail.com") (:url . "https://github.com/santifa/pasp-mode"))])
+ (pass . [(20190830 2017) ((emacs (25)) (password-store (2 1 0)) (password-store-otp (0 1 5)) (f (0 17))) "Major mode for password-store.el" single ((:commit . "919d8e3826d556433ab67d4ee21a509d209d1baa") (:keywords "password-store" "password" "keychain") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (passmm . [(20181130 1612) ((emacs (24 4)) (password-store (0))) "A minor mode for pass (Password Store)." single ((:commit . "b25a92048c788a8477cc5ffe14c0c4a4df19d79a") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/passmm"))])
+ (password-generator . [(20150222 2040) nil "Password generator for humans. Good, Bad, Phonetic passwords included." single ((:commit . "904cdb591a04305ba882ce19e1d117f5fa60f7d3") (:authors ("Zargener" . "zargener@gmail.com")) (:maintainer "Zargener" . "zargener@gmail.com") (:url . "http://github.com/zargener/emacs-password-genarator"))])
+ (password-mode . [(20170412 629) nil "Hide password text using overlays" single ((:commit . "ed764a4ec1011526457c71b7c37fa9a659a866ab") (:keywords "docs" "password" "passphrase") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org"))])
+ (password-store . [(20200328 1214) ((emacs (25)) (s (1 9 0)) (with-editor (2 5 11)) (auth-source-pass (5 0 0))) "Password store (pass) support" single ((:commit . "07b169ec32ad6961ed8625a0b932a663abcb01d2") (:keywords "tools" "pass" "password" "password-store") (:authors ("Svend Sorensen" . "svend@svends.net")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:url . "https://www.passwordstore.org/"))])
+ (password-store-otp . [(20190713 1748) ((emacs (25)) (s (1 9 0)) (password-store (0 1))) "Password store (pass) OTP extension support" single ((:commit . "04998c8578a060ab4a4e8f46f2ee0aafad4ab4d5") (:keywords "tools" "pass") (:authors ("Daniel Barreto")) (:maintainer "Daniel Barreto") (:url . "https://github.com/volrath/password-store-otp.el"))])
+ (password-vault . [(20160126 1820) ((cl-lib (0 2)) (emacs (24))) "A Password manager for Emacs." single ((:commit . "dc56e6c2f5da66f1ab63736cecf08fb2c6c2b30f") (:keywords "password" "productivity") (:authors ("Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com")) (:maintainer "Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") (:url . "http://github.com/PuercoPop/password-vault"))])
+ (paste-of-code . [(20170709 2355) ((emacs (24 3)) (request (0 2 0))) "paste code on https://paste.ofcode.org" single ((:commit . "92d258e8ec98598d847ecab82903f9224c7c2050") (:keywords "lisp") (:authors ("Bernhard Specht" . "bernhard@specht.net")) (:maintainer "Bernhard Specht" . "bernhard@specht.net"))])
+ (pastebin . [(20101125 2002) nil "A simple interface to the www.pastebin.com webservice" single ((:commit . "8e9a829298ce0f747ab80758aa26caeb2af6cb30"))])
+ (pastehub . [(20140615 620) nil "A client for the PasteHub cloud service" single ((:commit . "37b045c67659c078f1517d0fbd5282dab58dca23") (:authors ("Kiyoka Nishiyama")) (:maintainer "Kiyoka Nishiyama") (:url . "https://github.com/kiyoka/pastehub"))])
+ (pastelmac-theme . [(20151031 236) ((emacs (24 1))) "a soothing theme with a pastel color palette" single ((:commit . "bead21741e3f46f6506e8aef4469d4240a819389") (:keywords "themes") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/pastelmac-theme-el"))])
+ (pastery . [(20171114 349) ((emacs (24 4)) (request (0 2 0))) "paste snippets to pastery.net." tar ((:commit . "4493be98b743b4d062cb4e00760125e394a55022") (:keywords "tools") (:authors ("Bruno Dias" . "dias.h.bruno@gmail.com")) (:maintainer "Bruno Dias" . "dias.h.bruno@gmail.com") (:url . "https://github.com/diasbruno/pastery.el"))])
+ (path-headerline-mode . [(20140423 1332) nil "Displaying file path on headerline." single ((:commit . "b5b2725c6a8b1cb592fc242b7dbbd54b4dff2e69") (:keywords "headerline") (:authors ("7696122")) (:maintainer "7696122") (:url . "https://github.com/7696122/path-headerline-mode"))])
+ (path-helper . [(20181208 2229) ((emacs (24))) "Set PATH environment variables from config files" single ((:commit . "34538affb3f341b3c56a875bb094ddb2b859a8ef") (:keywords "tools" "unix") (:authors ("Arnaud Rouanet" . "arnaud@rouanet.org")) (:maintainer "Arnaud Rouanet" . "arnaud@rouanet.org") (:url . "https://github.com/arouanet/path-helper"))])
+ (pathify . [(20160423 846) nil "Symlink your scripts into a PATH directory" single ((:commit . "401b184c743694a60b3bc4273fc43de05cd5ac4b") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitlab.com/alezost-emacs/pathify"))])
+ (paxedit . [(20160730 1727) ((cl-lib (0 5)) (paredit (23))) "Structured, Context Driven LISP Editing and Refactoring" single ((:commit . "09f3d5aeb108937a801e77ef413e29eaa4ecc4be") (:keywords "lisp" "refactoring" "context") (:authors ("Mustafa Shameem")) (:maintainer "Mustafa Shameem") (:url . "https://github.com/promethial/paxedit"))])
+ (pbcopy . [(20150225 459) nil "Emacs Interface to pbcopy" single ((:commit . "338f7245746b5de1bb96c5cc2b32bfd9b5d83272") (:keywords "mac" "osx" "pbcopy") (:authors ("Daniel Nelson")) (:maintainer "Daniel Nelson") (:url . "https://github.com/jkp/pbcopy.el"))])
+ (pc-bufsw . [(20191014 848) nil "PC style quick buffer switcher" single ((:commit . "a7c7bba4b7d511eceaaa8fee34d598296402555b") (:keywords "buffer") (:authors ("Igor Bukanov" . "igor@mir2.org")) (:maintainer "Igor Bukanov" . "igor@mir2.org") (:url . "https://github.com/ibukanov/pc-bufsw"))])
+ (pcache . [(20170105 2214) ((eieio (1 3))) "persistent caching for Emacs." single ((:commit . "1f31433ad0b37a2e68d60ee043a8188ef1ce3176") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))])
+ (pcap-mode . [(20161025 1448) ((emacs (24 3))) "Major mode for working with PCAP files" single ((:commit . "52780669af0ade136f84d73f21b4dbb7ab655416") (:keywords "pcap" "packets" "tcpdump" "wireshark" "tshark") (:authors ("Aaron Conole" . "aconole@bytheb.org")) (:maintainer "Aaron Conole" . "aconole@bytheb.org"))])
+ (pcmpl-args . [(20190223 1613) nil "Enhanced shell command completion" single ((:commit . "0b8a05fc6e370fa9c466250659619f8d6b53d446") (:keywords "abbrev" "completion" "convenience" "processes" "terminals" "unix") (:authors ("Jonathan Waltman" . "jonathan.waltman@gmail.com")) (:maintainer "Jonathan Waltman" . "jonathan.waltman@gmail.com") (:url . "https://github.com/JonWaltman/pcmpl-args.el"))])
+ (pcmpl-git . [(20170121 59) nil "pcomplete for git" tar ((:commit . "9472ac70baeda025ef7becd1cf141d72aec93f32") (:keywords "tools") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com"))])
+ (pcmpl-homebrew . [(20190213 318) nil "pcomplete for homebrew" single ((:commit . "39f2e8faf4d866410a625bbcf88f2504940c8982") (:keywords "pcomplete" "homebrew" "tools" "cask" "services") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com"))])
+ (pcmpl-pip . [(20181229 1420) ((s (1 12 0)) (f (0 19 0)) (seq (2 15))) "pcomplete for pip" single ((:commit . "bc79228674ad5c1bc458c90dd8839790fb0a09e8") (:keywords "pcomplete" "pip" "python" "tools") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com"))])
+ (pcomplete-extension . [(20190928 519) ((emacs (24)) (cl-lib (0 5))) "additional completion for pcomplete" single ((:commit . "bc5eb204fee659e0980056009409b44bc7655716") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/pcomplete-extension"))])
+ (pcre2el . [(20161120 2103) ((emacs (24)) (cl-lib (0 3))) "regexp syntax converter" single ((:commit . "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") (:authors ("joddie <jonxfield at gmail.com>")) (:maintainer "joddie <jonxfield at gmail.com>") (:url . "https://github.com/joddie/pcre2el"))])
+ (pcsv . [(20150220 1131) nil "Parser of csv" single ((:commit . "798e0933f8d0818beb17aebf3b1056bbf74e03d0") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-pcsv/raw/master/pcsv.el"))])
+ (pdb-capf . [(20200419 1237) ((emacs (25 1))) "Completion-at-point function for python debugger" single ((:commit . "2f4099aa1330f87df4e9cd526de057ee9b71de6c") (:keywords "languages" "abbrev" "convenience") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-pdb-capf"))])
+ (pdb-mode . [(20150128 1751) nil "Major mode for editing Protein Data Bank files" single ((:commit . "855fb18ebb73b5df30c8d7677c2bcd0f361b138a") (:keywords "data" "pdb") (:authors (nil . "charles.bond@uwa.edu.au")) (:maintainer nil . "aix.bing@gmail.com") (:url . "http://bondxray.org/software/pdb-mode/"))])
+ (pdf-tools . [(20200427 2136) ((emacs (24 3)) (tablist (1 0)) (let-alist (1 0 4))) "Support library for PDF documents." tar ((:commit . "d9712989fc4715443f674459199bdffa987054ac") (:keywords "files" "multimedia") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))])
+ (pdf-view-restore . [(20190904 1708) ((pdf-tools (0 90)) (emacs (26 0))) "Support for opening last known pdf position in pdfview mode" single ((:commit . "5a1947c01a3edecc9e0fe7629041a2f53e0610c9") (:keywords "files" "convenience") (:authors ("Kevin Kim" . "kevinkim1991@gmail.com")) (:maintainer "Kevin Kim" . "kevinkim1991@gmail.com") (:url . "https://github.com/007kevin/pdf-view-restore"))])
+ (pdfgrep . [(20200306 209) ((emacs (24 4))) "run `pdfgrep' and display the results." single ((:commit . "1576fc98754d3bdaa40573a037a80f1973110756") (:keywords "extensions" "mail" "pdf" "grep") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:url . "https://github.com/jeremy-compostella/pdfgrep"))])
+ (peacock-theme . [(20170808 1320) ((emacs (24 0))) "an Emacs 24 theme based on Peacock (tmTheme)" single ((:commit . "9e46fbfb562b6e26c6e3d6d618b044b3694da4c8") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (peek-mode . [(20130620 1946) ((elnode (0 9 8 1))) "Serve buffers live over HTTP with elnode backend" tar ((:commit . "55a7dd011375330c7d57322257a5167516702c71") (:authors ("Erik Iverson" . "erik@sigmafield.org")) (:maintainer "Erik Iverson" . "erik@sigmafield.org") (:url . "https://github.com/erikriverson/peek-mode"))])
+ (peep-dired . [(20160321 2237) nil "Peep at files in another window from dired buffers" single ((:commit . "1d410a4e48db07a942e54d3b83a85c7a7ec0aab3") (:keywords "files" "convenience") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com"))])
+ (peg . [(20150708 641) nil "Parsing Expression Grammars in Emacs Lisp" single ((:commit . "081efeca91d790c7fbc90871ac22c40935f4833b"))])
+ (pelican-mode . [(20190124 2336) ((emacs (25))) "Minor mode for editing Pelican sites" single ((:commit . "65d7caf5d926599a5007eb7bc279215908aa5252") (:keywords "convenience" "editing") (:authors ("Joe Wreschnig" . "joe.wreschnig@gmail.com")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:url . "https://git.korewanetadesu.com/pelican-mode.git"))])
+ (pepita . [(20200228 2257) ((emacs (25)) (csv (2 1))) "Run Splunk search commands, export results to CSV/HTML/JSON" single ((:commit . "263d6d940d7e4203bbecda46dbaa89b7af1db54f") (:keywords "tools" "convenience" "matching") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:url . "https://github.com/sebasmonia/pepita.git"))])
+ (per-buffer-theme . [(20191101 2333) ((cl-lib (0 5))) "Change theme according to buffer name or major mode." single ((:commit . "7df4d2f4be64dbcf0bf10a2b9ac3db858fbcd9c8") (:keywords "themes") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/per-buffer-theme"))])
+ (perfect-margin . [(20190722 126) ((emacs (24 0)) (cl-lib (0 5))) "auto center windows, work with minimap and/or linum-mode" single ((:commit . "94b055c743b1859098870c8aca3e915bd6e67d9d") (:keywords "convenience" "frames") (:authors ("Randall Wang" . "randall.wjz@gmail.com")) (:maintainer "Randall Wang" . "randall.wjz@gmail.com") (:url . "https://github.com/mpwang/perfect-margin"))])
+ (perlbrew . [(20161109 709) nil "A perlbrew wrapper for Emacs" single ((:commit . "3a3406c3307c92aa30f9400d430925c434a3b6f0") (:keywords "emacs" "perl") (:authors ("Kentaro Kuribayashi" . "kentarok@gmail.com")) (:maintainer "Kentaro Kuribayashi" . "kentarok@gmail.com"))])
+ (persistent-overlays . [(20161128 700) nil "Minor mode to store selected overlays to be loaded later" tar ((:commit . "f563c8b966edc78c9d806661c4eb80e4781c4eab") (:keywords "overlays" "persistent") (:authors ("Michael Neilly" . "mneilly@yahoo.com")) (:maintainer "Michael Neilly" . "mneilly@yahoo.com") (:url . "https://github.com/mneilly/Emacs-Persistent-Overlays"))])
+ (persistent-scratch . [(20190922 1046) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "fd690e138459e0b490f1fda469811a9cbcb34df7") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))])
+ (persistent-soft . [(20150223 1853) ((pcache (0 3 1)) (list-utils (0 4 2))) "Persistent storage, returning nil on failure" single ((:commit . "a1e0ddf2a12a6f18cab565dee250f070384cbe02") (:keywords "data" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/persistent-soft"))])
+ (persp-fr . [(20191108 754) ((emacs (25 1)) (persp-mode (2 9 6)) (dash (2 13 0))) "In persp-mode, show perspective list in the GUI window title" single ((:commit . "1adbb6a9f9a4db580a9b7ed8b4091738e01345e6") (:keywords "perspectives" "workspace" "windows" "convenience") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/persp-fr"))])
+ (persp-mode . [(20200222 1106) nil "windows/buffers sets shared among frames + save/load." single ((:commit . "391a7dc248c9c04b7ad424c696bdff578e14dd2c") (:keywords "perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:url . "https://github.com/Bad-ptr/persp-mode.el"))])
+ (persp-mode-projectile-bridge . [(20170315 1120) ((persp-mode (2 9)) (projectile (0 13 0)) (cl-lib (0 5))) "persp-mode + projectile integration." single ((:commit . "f6453cd7b8b4352c06e771706f2c5b7e2cdff1ce") (:keywords "persp-mode" "projectile") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:url . "https://github.com/Bad-ptr/persp-mode-projectile-bridge.el"))])
+ (persp-projectile . [(20180616 1944) ((perspective (1 9)) (projectile (0 11 0)) (cl-lib (0 3))) "Perspective integration with Projectile" single ((:commit . "533808b3e4f8f95a1e3ed9c55d9aa720277ebd5f") (:keywords "project" "convenience") (:authors ("Daniel Wu")) (:maintainer "Daniel Wu"))])
+ (perspective . [(20200418 1815) ((emacs (24 4)) (cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "c3075b52db1f973202303fa306c56a24d9d47fc9") (:keywords "workspace" "convenience" "frames") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:url . "http://github.com/nex3/perspective-el"))])
+ (perspeen . [(20171203 1021) ((emacs (25 0)) (powerline (2 4))) "An package for multi-workspace" tar ((:commit . "edb70c530bda50ff3d1756e32a703d5fef5e5480") (:keywords "lisp") (:authors ("Peng Li" . "seudut@gmail.com")) (:maintainer "Peng Li" . "seudut@gmail.com") (:url . "https://github.com/seudut/perspeen"))])
+ (pest-mode . [(20200321 504) ((emacs (26 3))) "Major mode for editing Pest files" single ((:commit . "4ae88a9c81d499bbe99978ff0216b645fed70023") (:keywords "languages") (:authors ("ksqsf" . "i@ksqsf.moe")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:url . "https://github.com/ksqsf/pest-mode"))])
+ (pfuture . [(20200425 1357) ((emacs (25 2))) "a simple wrapper around asynchronous processes" single ((:commit . "d7926de3ba0105a36cfd00811fd6278aea903eef") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/pfuture"))])
+ (pg . [(20130731 2142) nil "Emacs Lisp interface to the PostgreSQL RDBMS" single ((:commit . "4f6516ec3946d95dcef49abb6703cc89ecb5183d") (:keywords "data" "comm" "database" "postgresql") (:authors ("Eric Marsden" . "emarsden@laas.fr")) (:maintainer "Helmut Eller" . "heller@common-lisp.net"))])
+ (pgdevenv . [(20150105 2236) nil "Manage your PostgreSQL development envs" tar ((:commit . "7f1d5bc734750aca98cf67a9491cdbd5615fd132") (:keywords "emacs" "postgresql" "development" "environment" "shell" "debug" "gdb") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org"))])
+ (ph . [(20161029 1522) ((emacs (24 3))) "A global minor mode for managing multiple projects." tar ((:commit . "ed80dad9211583ed0db633448b3624c99b7fac23"))])
+ (phabricator . [(20160510 1425) ((emacs (24 4)) (dash (1 0)) (projectile (0 13 0)) (s (1 10 0)) (f (0 17 2))) "Phabricator/Arcanist helpers for Emacs." single ((:commit . "d09d6f059aea92d3b11c68664a5e80c901182ab8") (:keywords "phabricator" "arcanist" "diffusion") (:authors ("Andrew Tulloch")) (:maintainer "Andrew Tulloch") (:url . "https://github.com/ajtulloch/phabricator.el"))])
+ (phan . [(20191125 1408) ((emacs (24)) (composer (0 0 8)) (f (0 17))) "Utility functions for Phan (PHP static analizer)" single ((:commit . "2a6e1b66c2aad25fddb8b4f706a28a1aafaaa4c7") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@pixiv.com")) (:maintainer "USAMI Kenta" . "tadsan@pixiv.com") (:url . "https://github.com/emacs-php/phan.el"))])
+ (phi-autopair . [(20191220 311) ((paredit (20))) "another simple-minded autopair implementation" single ((:commit . "5685b9541c4c9d4cc8a892743fdf245aceea1682") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (phi-grep . [(20190920 908) ((cl-lib (0 1))) "Interactively-editable recursive grep implementation in elisp" single ((:commit . "06b740e3fb20074be9bae87530f5616a122c3aca") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://github.com/zk-phi/phi-grep"))])
+ (phi-rectangle . [(20151208 654) nil "another rectangle-mark command (rewrite of rect-mark)" single ((:commit . "0c12716afc71d803d1f39417469521dc465762d9") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (phi-search . [(20191106 233) nil "another incremental search & replace, compatible with \"multiple-cursors\"" tar ((:commit . "2a8fe73aa9ef014e27e202964c5a4f4e94ef24b2") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (phi-search-dired . [(20150405 714) ((phi-search (2 2 0))) "interactive filtering for dired powered by phi-search" single ((:commit . "162a5e4507c72512affae22744bb606a906d4193") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (phi-search-mc . [(20160324 1503) ((phi-search (2 0 0)) (multiple-cursors (1 2 1))) "multiple-cursors extension for phi-search" single ((:commit . "7aa671910f766437089aec26c3aa7814222d1356") (:keywords "search" "cursors") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/phi-search-mc.el"))])
+ (phi-search-migemo . [(20170618 921) ((phi-search (2 2 0)) (migemo (1 9 1))) "migemo extension for phi-search" single ((:commit . "308909ebfc8003d16673f97ca9eb26a667b72969") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (phoenix-dark-mono-theme . [(20170729 1406) nil "Monochromatic version of the Phoenix theme" single ((:commit . "a54f515d162148bcb38676980bc2316adb3d7b8b") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-mono"))])
+ (phoenix-dark-pink-theme . [(20190821 48) nil "Originally a port of the Sublime Text 2 theme" single ((:commit . "ddd98a45775be105984ec598384e68df3d3e8046") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-pink"))])
+ (php-auto-yasnippets . [(20170331 114) ((php-mode (1 11)) (yasnippet (0 8 0))) "Creates snippets for PHP functions" tar ((:commit . "03e1f0899c081813901ac15c2f7a675a37cca9f5") (:authors ("Eric James Michael Ritz")) (:maintainer "Eric James Michael Ritz") (:url . "https://github.com/ejmr/php-auto-yasnippets"))])
+ (php-boris . [(20130527 821) nil "Run boris php REPL" single ((:commit . "f2faebf610c917f7091f7ec0cd97645629c4f819") (:keywords "php" "commint" "repl" "boris") (:authors ("Tom Regner")) (:maintainer "Tom Regner" . "tom@goochesa.de"))])
+ (php-boris-minor-mode . [(20140209 1835) ((php-boris (0 0 1)) (highlight (0))) "a minor mode to evaluate PHP code in the Boris repl" single ((:commit . "c70e176dd6545f2d42ca3427e87b469635616d8a") (:keywords "php" "repl" "eval") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://github.com/steckerhalter/php-boris-minor-mode"))])
+ (php-cs-fixer . [(20200312 1309) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "95eace9bc0ace128d5166e303c76df2b778c4ddb") (:keywords "languages" "php") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:url . "https://github.com/OVYA/php-cs-fixer"))])
+ (php-eldoc . [(20140202 1941) nil "eldoc backend for php" tar ((:commit . "df05064146b884d9081e10657e32dc480f070cfe") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/php-eldoc"))])
+ (php-mode . [(20200415 1405) ((emacs (24 3))) "Major mode for editing PHP code" tar ((:commit . "4d0b4a04401a2b9f9ff834f6ed58bc7cc5b878c0") (:keywords "languages" "php") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-mode"))])
+ (php-refactor-mode . [(20171124 635) nil "Minor mode to quickly and safely perform common refactorings" single ((:commit . "7a794b0618df2882b1bd586fdd698dba0bc5130d") (:keywords "php" "refactor") (:authors ("Matthew M. Keeler" . "keelerm84@gmail.com")) (:maintainer "Matthew M. Keeler" . "keelerm84@gmail.com") (:url . "https://github.com/keelerm84/php-refactor-mode.el"))])
+ (php-runtime . [(20181212 1825) ((emacs (25)) (cl-lib (0 5)) (f (0 20)) (s (1 7))) "Language binding bridge to PHP" single ((:commit . "017e0e70f07d6b25e37d5c5f4d271a914b677631") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-runtime.el"))])
+ (php-scratch . [(20161103 2217) ((emacs (24 3)) (s (1 11 0)) (php-mode (1 17 0))) "A scratch buffer to interactively evaluate php code" single ((:commit . "3aa66d1d53b84b779374edff7a7e6b5f2cd7575d") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))])
+ (phpactor . [(20200405 1544) ((emacs (24 4)) (cl-lib (0 5)) (f (0 17)) (php-runtime (0 2)) (composer (0 1)) (async (1 9 3))) "Interface to Phpactor" tar ((:commit . "860d7e8784b261ee71deba354d01c3038cd777ab") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me") ("Mikael Kermorgant" . "mikael@kgtech.fi")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpactor.el"))])
+ (phpcbf . [(20181228 423) ((s (1 9 0))) "Format PHP code in Emacs using PHP_CodeSniffer's phpcbf" single ((:commit . "fb0bc6073a57126cf1a8404723aa0a715dd761aa") (:keywords "tools" "php") (:authors ("nishimaki10")) (:maintainer "nishimaki10") (:url . "https://github.com/nishimaki10/emacs-phpcbf"))])
+ (phpstan . [(20200411 531) ((emacs (24 3)) (php-mode (1 22 3))) "Interface to PHPStan" single ((:commit . "2f715a186c5fe6576de83d4c0b64a37e2bfce101") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))])
+ (phpt-mode . [(20190512 1809) ((emacs (25)) (polymode (0 1 5)) (php-mode (1 21 2))) "Major mode for editing PHPT test code" single ((:commit . "deb386f1a81003074c476f15e1975d445ff6df01") (:keywords "languages" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpt-mode"))])
+ (phpunit . [(20180829 1438) ((s (1 12 0)) (f (0 19 0)) (pkg-info (0 6)) (cl-lib (0 5)) (emacs (24 3))) "Launch PHP unit tests using phpunit" tar ((:commit . "fe6bc91c3bd8b329c6d26ad883a025f06b5121ee") (:keywords "tools" "php" "tests" "phpunit") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com") ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/phpunit.el"))])
+ (pianobar . [(20180417 104) nil "thin wrapper for Pianobar, a Pandora Radio client" single ((:commit . "3154c4cb7401017fd441fcd6a7a0b669a4406882") (:authors ("Aaron Griffith" . "aargri@gmail.com")) (:maintainer "Aaron Griffith" . "aargri@gmail.com") (:url . "http://github.com/agrif/pianobar.el"))])
+ (pickle . [(20190923 354) ((emacs (25 1)) (cl-lib (0 6 1))) "Major mode for editing cucumber gherkin files." single ((:commit . "3a0a717f2a24827667f34bc53830a3b81cd57460") (:keywords "ahungry" "languages" "cucumber" "gherkin") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/pickle-mode"))])
+ (picpocket . [(20180914 1819) ((emacs (24 4))) "Image viewer" single ((:commit . "6fd88b8711c4370662c0f9c462170187d092a046") (:keywords "multimedia") (:authors ("Johan Claesson" . "johanclaesson@bredband.net")) (:maintainer "Johan Claesson" . "johanclaesson@bredband.net") (:url . "https://github.com/johanclaesson/picpocket"))])
+ (pig-mode . [(20180520 1400) nil "Major mode for Pig files" single ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959") (:maintainer "David A. Shamma"))])
+ (pig-snippets . [(20130913 624) ((yasnippet (0 8 0))) "Snippets for pig-mode" tar ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959"))])
+ (pillar . [(20141112 1811) ((makey (0 3))) "Major mode for editing Pillar files" tar ((:commit . "13a7f676544cc66005ccd8e6fc1c25e4ccd6f909") (:keywords "markup" "major-mode") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "http://github.com/DamienCassou/pillar-mode"))])
+ (pinboard . [(20200402 919) ((emacs (25 1)) (cl-lib (0 5))) "A pinboard.in client" single ((:commit . "7c57f20667ead2bb27ab1d0a03307c28ea728bd9") (:keywords "hypermedia" "bookmarking" "reading" "pinboard") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/pinboard.el"))])
+ (pinboard-api . [(20140324 1148) nil "Rudimentary http://pinboard.in integration" single ((:commit . "b7b5214d0c35178f8dca08cf22d6ef3c21f0fce4") (:keywords "pinboard" "www") (:authors ("Danie Roux" . "danie@danieroux.com")) (:maintainer "Danie Roux" . "danie@danieroux.com") (:url . "https://github.com/danieroux/pinboard-api-el"))])
+ (pinboard-popular . [(20180511 1726) ((loop (1 4))) "Displays links from the pinboard.in popular page." single ((:commit . "c0bc76cd35f8ecf34723c64a702b82eec2751318") (:keywords "pinboard") (:url . "https://github.com/asimpson/pinboard-popular"))])
+ (pine-script-mode . [(20181110 151) ((emacs (24))) "Trading View Pine Script major mode" single ((:commit . "f7892d373e30df0b2e8d2191e4ddb2064a92dd3c") (:keywords "extensions") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.edu")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.edu") (:url . "https://github.com/ericcrosson/pine-script-mode"))])
+ (pinot . [(20140211 2026) nil "Emacs interface to pinot-search" tar ((:commit . "67fda555a155b22bb2ce44ba618b4bd6fc5f144a") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (pinyin . [(20180620 1241) ((cl-lib (0 5)) (emacs (24))) "Convert Hanzi to Pinyin (汉字转拼音)" tar ((:commit . "a325e790e9dd7c5028c4c8d110b08e9d78227382") (:keywords "extensions") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/pinyin.el"))])
+ (pinyin-search . [(20160515 358) ((pinyinlib (0 1 0))) "Search Chinese by Pinyin" single ((:commit . "2e877a76851009d41bde66eb33182a03a7f04262") (:keywords "chinese" "search") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/pinyin-search.el"))])
+ (pinyinlib . [(20170827 2142) nil "Convert first letter of Pinyin to Simplified/Traditional Chinese characters" single ((:commit . "45f05d3dbb4fe957f7ab332ca6f94675848b6aa3") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (pip-requirements . [(20181027 1629) ((dash (2 8 0))) "A major mode for editing pip requirements files." single ((:commit . "216cd1690f80cc965d4ae47b8753fc185f778ff6") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (pipenv . [(20190919 2147) ((emacs (25 1)) (f (0 19 0)) (s (1 12 0)) (pyvenv (1 20))) "A Pipenv porcelain." single ((:commit . "b730bb509e8b60af9f5ab1f1e6c3458d1d95d789") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))])
+ (pippel . [(20180710 856) ((emacs (25 1)) (s (1 11 0)) (dash (2 12 0))) "Frontend to python package manager pip" tar ((:commit . "21a5200e8e5ccaa1911abb4ebf090b76ca839756") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/pippel"))])
+ (pixie-mode . [(20180626 541) ((clojure-mode (3 0 1)) (inf-clojure (1 0 0))) "Major mode for Pixie-lang" single ((:commit . "a40c2632cfbe948852a5cdcfd44e6a65db11834d") (:authors ("John Walker" . "john.lou.walker@gmail.com")) (:maintainer "John Walker" . "john.lou.walker@gmail.com") (:url . "https://github.com/johnwalker/pixie-mode"))])
+ (pixiv-novel-mode . [(20160220 1421) nil "Major mode for pixiv novel" single ((:commit . "0d1ca524d92b91f20a7105402a773bc21779b434") (:keywords "novel" "pixiv") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))])
+ (pkg-info . [(20150517 1143) ((epl (0 8))) "Information about packages" single ((:commit . "76ba7415480687d05a4353b27fea2ae02b8d9d61") (:keywords "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/lunaryorn/pkg-info.el"))])
+ (pkgbuild-mode . [(20200425 616) ((emacs (25 1))) "Interface to the ArchLinux package manager" single ((:commit . "bc22301198b3f581d89352510e847454fb1cb9ff") (:keywords "languages") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))])
+ (plain-org-wiki . [(20191013 1833) ((emacs (24 3)) (ivy (0 12 0))) "Simple jump-to-org-files in a directory package" single ((:commit . "887717c184fb22dd219c78851303a8e5b917f877") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/plain-org-wiki"))])
+ (plain-theme . [(20171124 410) ((emacs (24))) "Plain theme without syntax highlighting" single ((:commit . "48b37b9b19d8f1e0accbf930f30b5346cf7959fe"))])
+ (plan9-theme . [(20180804 1441) nil "A color theme for Emacs based on Plan9" single ((:commit . "c2da2fcb241e9800d931a1ff19ecd9fd84d30382") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/plan9-theme.el"))])
+ (planet-theme . [(20161031 217) ((emacs (24))) "A dark theme inspired by Gmail's 'Planets' theme of yore" single ((:commit . "b0a310ff36565fe22224c407cf59569986698a32") (:keywords "themes") (:authors ("Charlie McMackin" . "charlie.mac@gmail.com")) (:maintainer "Charlie McMackin" . "charlie.mac@gmail.com") (:url . "https://github.com/cmack/emacs-planet-theme"))])
+ (plantuml-mode . [(20191102 2056) ((dash (2 0 0)) (emacs (25 0))) "Major mode for PlantUML" single ((:commit . "ea45a13707abd2a70df183f1aec6447197fc9ccc") (:keywords "uml" "plantuml" "ascii") (:authors ("Zhang Weize (zwz)")) (:maintainer "Carlo Sciolla (skuro)"))])
+ (plaster . [(20180127 2050) ((emacs (24 3))) "Pasting to a plaster host with buffers." single ((:commit . "f82f845ede3b48ca11934171b30effb523ba9fcf") (:keywords "convenience" "paste service") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/plaster/"))])
+ (platformio-mode . [(20161210 1339) ((projectile (0 13 0))) "PlatformIO integration" single ((:commit . "1466aed132a77f48fcb31938d64abb1a1e58ec42") (:authors ("Zach Massia" . "zmassia@gmail.com")) (:maintainer "Zach Massia" . "zmassia@gmail.com") (:url . "https://github.com/zachmassia/platformio-mode"))])
+ (play-crystal . [(20180114 1024) ((emacs (24 4)) (dash (2 12 0)) (request (0 2 0))) "https://play.crystal-lang.org integration." single ((:commit . "0b4810a9025213bd11dbcbfd38b3ca928829e0a5") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/veelenga/play-crystal.el"))])
+ (play-routes-mode . [(20170426 733) nil "Play Framework Routes File Support" single ((:commit . "22d7b87e0eaf0330f2b2283872f8dc08a3258771") (:keywords "play" "scala") (:authors ("M.Riehl <max@flatmap.ninja>, P.Haun" . "bomgar85@googlemail.com")) (:maintainer "M.Riehl <max@flatmap.ninja>, P.Haun" . "bomgar85@googlemail.com") (:url . "https://github.com/brocode/play-routes-mode/"))])
+ (playerctl . [(20180301 1354) nil "Control your music player (e.g. Spotify) with playerctl" single ((:commit . "3eee541423c2e5eb9f23a26fa9aa88c9c5a19ad1") (:keywords "multimedia" "playerctl" "music") (:authors ("Thomas Luquet" . "thomas@luquet.net")) (:maintainer "Thomas Luquet" . "thomas@luquet.net") (:url . "https://github.com/thomasluquet/playerctl.el"))])
+ (playground . [(20180624 326) ((emacs (24 4))) "Manage sandboxes for alternative configurations" single ((:commit . "9212790026bea9ab5fb4ecf0da1163be8ab00776") (:keywords "maint") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/emacs-playground"))])
+ (playonline . [(20200317 642) ((emacs (24 4)) (dash (2 1)) (request (0 2))) "Play code with online playgrounds" single ((:commit . "c75da1fdc1dfbd5d9aa274dc4e90ff631ea08e70") (:keywords "tools") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/playonline.el"))])
+ (plenv . [(20130707 616) nil "A plenv wrapper for Emacs" single ((:commit . "ee937d0f3a1a7ba2d035f45be896d3ed8fefaee2") (:keywords "emacs" "perl") (:authors ("Kenta Sato" . "karupa@cpan.org")) (:maintainer "Kenta Sato" . "karupa@cpan.org"))])
+ (plim-mode . [(20140813 13) nil "Major mode for editing Plim files" single ((:commit . "92e39190286f172567ceb02c80e1df3b81abfa2d") (:keywords "markup" "language") (:authors ("Dong Weiming")) (:maintainer "Dong Weiming") (:url . "http://github.com/dongweiming/plim-mode"))])
+ (plisp-mode . [(20200427 405) nil "Major mode for PicoLisp programming." tar ((:commit . "59e682d77569b04e9fc80af9c4b05e4a997dbcec") (:keywords "picolisp" "lisp" "programming") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/plisp-mode"))])
+ (plsense . [(20151104 1445) ((auto-complete (1 4 0)) (log4e (0 2 0)) (yaxception (0 2 0))) "provide interface for PlSense that is a development tool for Perl." single ((:commit . "d50f9dccc98f42bdb42f1d1c8142246e03879218") (:keywords "perl" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-plsense"))])
+ (plsense-direx . [(20140520 2008) ((direx (0 1 -3)) (plsense (0 3 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perl Package Explorer" single ((:commit . "8a2f465264c74e04524cc789cdad0190ace43f6c") (:keywords "perl" "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/plsense-direx"))])
+ (plur . [(20160504 924) ((emacs (24 4))) "Easily search and replace multiple variants of a word" single ((:commit . "5bdd3b9a2f0624414bd596e798644713cd1545f0") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/plur"))])
+ (pmdm . [(20191101 2346) nil "poor man's desktop-mode alternative." single ((:commit . "1f30adce8a23da94b3c2460b7248d5910592d8af") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:url . "https://hg.serna.eu/emacs/pmdm"))])
+ (po-mode . [(20190511 1542) nil "major mode for GNU gettext PO files" single ((:commit . "1916142f6a817c733d5ec37e3b4fbae3da67e499") (:keywords "i18n" "gettext"))])
+ (pocket-api . [(20180403 109) ((emacs (24 4)) (request (0 2))) "another pocket api" single ((:commit . "3eb9430b9db90bc02e736e433eb86389f7655189") (:keywords "convenience" "pocket") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/pocket-api.el"))])
+ (pocket-lib . [(20190720 1957) ((emacs (25 1)) (request (0 2)) (dash (2 13 0)) (kv (0 0 19)) (s (1 12 0))) "Library for accessing getpocket.com API" single ((:commit . "f794e3e619e1f6cad25bbfd5fe019a7e62820bf4") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-lib.el"))])
+ (pocket-mode . [(20171201 1315) ((emacs (24 4)) (pocket-api (0 1))) "Manage your pocket" single ((:commit . "229de7d35b7e5605797591c46aa8200d7efc363c") (:keywords "convenience" "pocket") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (pocket-reader . [(20181219 930) ((emacs (25 1)) (dash (2 13 0)) (kv (0 0 19)) (pocket-lib (0 1)) (s (1 10)) (ov (1 0 6)) (rainbow-identifiers (0 2 2)) (org-web-tools (0 1)) (ht (2 2))) "Client for Pocket reading list" single ((:commit . "86c51c65d97819e11b3df403beea424f30125d30") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-reader.el"))])
+ (podcaster . [(20161020 1535) ((cl-lib (0 5))) "Podcast client" single ((:commit . "9854517025deb5d556168a68955fb7b662239f5c") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/podcaster"))])
+ (poe-lootfilter-mode . [(20190330 1117) ((emacs (24 3))) "Major mode for editing Path of Exile lootfilters" single ((:commit . "5ef06684cb2b17b090ee1f303c2b789fa71bc106") (:keywords "languages" "games") (:authors ("Jeremiah Dodds" . "jeremiah.dodds@gmail.com")) (:maintainer "Jeremiah Dodds" . "jeremiah.dodds@gmail.com") (:url . "https://github.com/jdodds/poe-lootfilter-mode"))])
+ (poet-client . [(20190124 654) ((emacs (24 4)) (request (0 3 0))) "Client for po.et network api" single ((:commit . "32382057b3e4b8a02ec5ac3190dbe4b93d058741") (:authors ("W.Yahia")) (:maintainer "W.Yahia") (:url . "https://github.com/wailo/emacs-poet"))])
+ (poet-theme . [(20191215 201) nil "A theme for prose." tar ((:commit . "ad998dce8a953eb6101e61bd6bb5ff871535d383") (:authors ("Kunal Bhalla" . "bhalla.kunal@gmail.com")) (:maintainer "Kunal Bhalla" . "bhalla.kunal@gmail.com") (:url . "https://github.com/kunalb/poet/"))])
+ (poetry . [(20200326 1328) ((transient (0 1 0)) (pyvenv (1 2)) (emacs (25 1))) "Interface to Poetry" single ((:commit . "6dcc9d22cac6642a861770b5518398d8ee4fcc9a") (:keywords "python" "tools") (:authors ("Gaby Launay" . "gaby.launay@protonmail.com")) (:maintainer "Gaby Launay" . "gaby.launay@protonmail.com") (:url . "https://github.com/galaunay/poetry.el"))])
+ (point-pos . [(20170421 1632) nil "Save and restore point positions" single ((:commit . "442bccb40791832cbc2d6f5c8f53be745aea2b73") (:keywords "tools" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/point-pos.el"))])
+ (point-stack . [(20200427 107) nil "Back and forward navigation through buffer locations" single ((:commit . "cddcea2c91038710c245819b3cda2dd739726134") (:authors ("Matt Harrison" . "matthewharrison@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Matt Harrison" . "matthewharrison@gmail.com"))])
+ (pointback . [(20100210 1552) nil "Restore window points when returning to buffers" single ((:commit . "e3a02c1784d81b5a1d2477338d049af581ed19f8") (:keywords "convenience") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at"))])
+ (pollen-mode . [(20191223 1920) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing pollen files" single ((:commit . "d0a33591498013886c2c4676e204cd684954e82a") (:keywords "languages" "pollen" "pollenpub") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))])
+ (poly-R . [(20200316 1315) ((emacs (25)) (polymode (0 2 2)) (poly-markdown (0 2 2)) (poly-noweb (0 2 2))) "Various polymodes for R language" single ((:commit . "51ffeb6ec45dd44eafa4d22ad2d6150cc4b248fc") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-R"))])
+ (poly-ansible . [(20181222 1517) ((ansible (0)) (ansible-doc (0 4)) (jinja2-mode (0 2)) (polymode (0 1 5)) (yaml-mode (0 0 13))) "Polymode for Ansible: Jinja2 in YAML" tar ((:commit . "2cb970a0e27b41ae85bc51d24ef36fa2c7b34bbc") (:keywords "languages") (:authors ("Peter Oliver" . "poly-ansible@mavit.org.uk")) (:maintainer "Peter Oliver" . "poly-ansible@mavit.org.uk") (:url . "https://gitlab.com/mavit/poly-ansible/"))])
+ (poly-erb . [(20200316 1314) ((emacs (25)) (polymode (0 2 2))) "Polymode for erb" single ((:commit . "56c744b8d87d8cbe0aba2696d4e8525afc4aa0e8") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-erb"))])
+ (poly-markdown . [(20200316 1315) ((emacs (25)) (polymode (0 2 2)) (markdown-mode (2 3))) "Polymode for markdown-mode" single ((:commit . "1536cf0c32f71d5cd05c90f7905905e38006e95d") (:keywords "emacs") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-markdown"))])
+ (poly-noweb . [(20200316 1315) ((emacs (25)) (polymode (0 2 2))) "Polymode for noweb" single ((:commit . "3b0cd36ca9a707e8a09337a3468fa85d81fc461c") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-noweb"))])
+ (poly-org . [(20200316 1315) ((emacs (25)) (polymode (0 2 2))) "Polymode for org-mode" single ((:commit . "8f4d11489532be98a291258ca27405aa528fc126") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-org"))])
+ (poly-rst . [(20200316 1315) ((emacs (25)) (polymode (0 2 2))) "poly-rst-mode polymode" single ((:commit . "8530f56fbdce01bcf4004839ff54e4156282c2b5") (:keywords "languages" "multi-modes") (:authors ("Gustaf Waldemarson, Vitalie Spinu")) (:maintainer "Gustaf Waldemarson, Vitalie Spinu") (:url . "https://github.com/polymode/poly-rst"))])
+ (poly-ruby . [(20180905 929) ((emacs (25)) (polymode (0 1 2))) "Provides poly-ruby-mode" single ((:commit . "794ebb926ace23e9c1398da934701951432dcea2") (:keywords "languages") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/poly-ruby.el"))])
+ (poly-slim . [(20200316 1316) ((emacs (25)) (polymode (0 2 2)) (slim-mode (1 1))) "Polymodes for slim" single ((:commit . "9e9b5164c68955974fd5f5d220aec5af9b5ba3ae") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-slim"))])
+ (poly-wdl . [(20190712 529) ((emacs (25)) (polymode (0 2)) (wdl-mode (20170709))) "Polymode for WDL" single ((:commit . "963faa828d15d49cee5a63f619c3c30e162c2d0f") (:keywords "languages") (:authors ("Jean Monlong" . "jean.monlong@gmail.com")) (:maintainer "Jean Monlong" . "jean.monlong@gmail.com") (:url . "https://github.com/jmonlong/poly-wdl"))])
+ (polymode . [(20200411 915) ((emacs (25))) "Extensible framework for multiple major modes" tar ((:commit . "2a61fb6d3e805bc0e4ca7b6510510a955c6bfb6a") (:keywords "languages" "multi-modes" "processes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/polymode"))])
+ (pomidor . [(20200430 1829) nil "No description available." tar ((:commit . "95ac58aede65e217b13e97c097134e55128163fd"))])
+ (pomodoro . [(20190201 2152) nil "A timer for the Pomodoro Technique" single ((:commit . "6cd665ceeaca1f70954aa4caef6f085179f94c69") (:authors ("David Kerschner" . "dkerschner@gmail.com")) (:maintainer "David Kerschner" . "dkerschner@gmail.com"))])
+ (pony-mode . [(20170807 1522) nil "Minor mode for working with Django Projects" tar ((:commit . "760684d30b6c234d1b88c9a4673a808f36f7f341"))])
+ (pony-snippets . [(20200418 354) ((yasnippet (0 8 0))) "Yasnippets for Pony" tar ((:commit . "115a0d5066f89554bee9cb1045bcda5a18ebd441") (:keywords "snippets" "pony") (:url . "https://github.com/seantallen/pony-snippets"))])
+ (ponylang-mode . [(20180804 1521) ((dash (2 10 0))) "Major mode for Pony code" single ((:commit . "ea98ba541b4a439accc126f17120c5425f741b67") (:keywords "languages" "programming") (:url . "https://github.com/seantallen/ponylang-mode"))])
+ (pophint . [(20200420 1429) ((log4e (0 3 3)) (yaxception (0 3))) "Provide navigation using pop-up tips, like Firefox's Vimperator Hint Mode" tar ((:commit . "5e13da4578ae7ba00e6f7bae31eb546d713cc19d") (:keywords "popup") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-pophint"))])
+ (poporg . [(20170403 751) nil "Pop a comment or string to an empty buffer for text editing" single ((:commit . "2c58d68c81ecca4140bf179f19ed153ec804b65a") (:keywords "outlines" "tools") (:authors ("François Pinard" . "pinard@iro.umontreal.ca") ("Joseph Rabinoff" . "rabinoff@post.harvard.edu")) (:maintainer "Joseph Rabinoff" . "rabinoff@post.harvard.edu") (:url . "https://github.com/QBobWatson/poporg"))])
+ (popup . [(20160709 1429) ((cl-lib (0 5))) "Visual Popup User Interface" single ((:commit . "80829dd46381754639fb764da11c67235fe63282") (:keywords "lisp") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (popup-complete . [(20141109 308) ((popup (0 5 0))) "completion with popup" single ((:commit . "caa655a6d8472e9a4bfa1311126d90d7d1b07fca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-popup-complete"))])
+ (popup-edit-menu . [(20170404 1425) ((emacs (24))) "a popup context edit menu package" single ((:commit . "925600a6e29183841199e866cf55e566a6a1b002") (:keywords "lisp" "pop-up" "context" "edit" "menu") (:authors ("Debugfan Chin" . "debugfanchin@gmail.com")) (:maintainer "Debugfan Chin" . "debugfanchin@gmail.com"))])
+ (popup-imenu . [(20170326 1040) ((dash (2 12 1)) (popup (0 5 3)) (flx-ido (0 6 1))) "imenu index popup" single ((:commit . "c5e2e69adbd3a630e4cb750965a1aee8c10c1f09") (:keywords "popup" "imenu") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:url . "https://github.com/ancane/popup-imenu"))])
+ (popup-kill-ring . [(20131020 1854) ((popup (0 4)) (pos-tip (0 4))) "interactively insert item from kill-ring" single ((:commit . "5773dfadc104a906c088a3ec62e8cdd3e01e57fa") (:keywords "popup" "kill-ring" "pos-tip") (:authors ("khiker" . "khiker.mail+elisp@gmail.com")) (:maintainer "khiker" . "khiker.mail+elisp@gmail.com") (:url . "https://github.com/waymondo/popup-kill-ring"))])
+ (popup-switcher . [(20200201 1913) ((cl-lib (0 3)) (popup (0 5 3))) "switch to other buffers and files via popup." single ((:commit . "e275ec35de3b9cdedf0d6b2a4a78e91c605381be") (:keywords "popup" "switch" "buffers" "functions") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/popup-switcher"))])
+ (popwin . [(20200122 1440) nil "Popup Window Manager." single ((:commit . "d69dca5c9ec4b08f5268ff2d6b5097618d4082d7") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (portage-navi . [(20141208 1355) ((concurrent (0 3 1)) (ctable (0 1 2))) "portage viewer" single ((:commit . "8016c3e99fe6cef101d479a3d69185796b22ca2f") (:keywords "tools" "gentoo") (:authors ("<m.sakurai at kiwanami.net>")) (:maintainer "<m.sakurai at kiwanami.net>") (:url . "https://github.com/kiwanami/emacs-portage-navi"))])
+ (porthole . [(20200404 1454) ((emacs (26)) (web-server (0 1 2)) (f (0 19 0)) (json-rpc-server (0 1 2))) "RPC Servers in Emacs" single ((:commit . "9e68b419acf9245208f8094e10041b7f04511473") (:keywords "comm" "rpc" "http" "json") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:url . "https://github.com/jcaw/porthole"))])
+ (pos-tip . [(20191227 1356) nil "Show tooltip at point" single ((:commit . "179cc126b363f72ca12fab1e0dc462ce0ee79742") (:keywords "tooltip") (:authors ("S. Irie")) (:maintainer "S. Irie"))])
+ (posframe . [(20200426 819) ((emacs (26))) "Pop a posframe (just a frame) at point" single ((:commit . "093b29a53cbeda6d637ccc9ef4dfc47123e79b9e") (:keywords "convenience" "tooltip") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/posframe"))])
+ (posix-manual . [(20200301 1103) ((emacs (24))) "POSIX manual page lookup" tar ((:commit . "ebaacd7266ae7a66605317f57b9f42e9cfb2ce1e") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-posix-manual"))])
+ (postcss-sorting . [(20180211 956) ((emacs (24))) "postcss-sorting interface" single ((:commit . "deb0c935d2904c11a965758a9aee5a0e905f21fc") (:authors ("Peiwen Lu" . "hi@peiwen.lu")) (:maintainer "Peiwen Lu" . "hi@peiwen.lu") (:url . "https://github.com/P233/postcss-sorting.el"))])
+ (pov-mode . [(20161115 743) nil "Major mode for editing POV-Ray scene files." tar ((:commit . "9fc1db3aab7c27155674dd1a87ec62606035d074"))])
+ (pow . [(20140420 806) ((emacs (24)) (cl-lib (0 5))) "pow (http://pow.cx/) manager for emacs" tar ((:commit . "ea83986b8ca8e27cb996290d6463b111ec0966ce") (:keywords "develop" "web" "pow") (:authors ("yukihiro hara" . "yukihr@gmail.com")) (:maintainer "yukihiro hara" . "yukihr@gmail.com") (:url . "http://github.com/yukihr/emacs-pow"))])
+ (powerline . [(20200105 2053) ((cl-lib (0 2))) "Rewrite of Powerline" tar ((:commit . "edbb464eef680efc9d408730288c716cd4cac404") (:keywords "mode-line") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "http://github.com/milkypostman/powerline/"))])
+ (powerline-evil . [(20190603 340) ((evil (1 0 8)) (powerline (2 3))) "Utilities for better Evil support for Powerline" tar ((:commit . "b77e2cf571e9990734f2b30d826f3a362b559fd1") (:keywords "evil" "mode-line" "powerline") (:authors ("Chris Johnson" . "chris@christophermjohnson.net")) (:maintainer "Chris Johnson" . "chris@christophermjohnson.net") (:url . "http://github.com/johnson-christopher/powerline-evil/"))])
+ (powershell . [(20190421 2038) ((emacs (24))) "Mode for editing PowerShell scripts" single ((:commit . "87826777bd3ebd53740be99b4546bfc11ccc625d") (:keywords "powershell" "languages") (:authors ("Frédéric Perrin <frederic (dot) perrin (arobas) resel (dot) fr>")) (:maintainer "Frédéric Perrin <frederic (dot) perrin (arobas) resel (dot) fr>") (:url . "http://github.com/jschaf/powershell.el"))])
+ (powerthesaurus . [(20190721 805) ((emacs (24)) (request (0 3 0)) (s (1 12 0)) (jeison (1 0 0))) "Powerthesaurus integration" single ((:commit . "81a262ec0c9294ad377bafc6cc4e6d91b461acb6") (:keywords "convenience" "writing") (:url . "http://github.com/SavchenkoValeriy/emacs-powerthesaurus"))])
+ (ppd-sr-speedbar . [(20151108 1224) ((sr-speedbar (20140914 2339)) (project-persist-drawer (0 0 4))) "Sr Speedbar adaptor for project-persist-drawer." tar ((:commit . "d88d7f63f695824c435dd996405454d1e46d2aa3"))])
+ (ppp . [(20200418 1551) ((emacs (25 1)) (leaf (4 1 1))) "Extended pretty printer for Emacs Lisp" single ((:commit . "27683aa4a0df67b4539bcaa2e82d865023cf1fae") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/ppp.el"))])
+ (prassee-theme . [(20180709 1004) ((emacs (24))) "A high contrast color theme for Emacs." single ((:commit . "81126f69cdbaab836c00ae7a49aaf89d4229fde1") (:keywords "dark" "high-contrast" "faces") (:authors ("Prassee " . "prassee.sathian@gmail.com")) (:maintainer "Prassee " . "prassee.sathian@gmail.com") (:url . "https://github.com/prassee/prassee-emacs-theme"))])
+ (preproc-font-lock . [(20151107 2018) nil "Highlight C-style preprocessor directives." single ((:commit . "565fda9f5fdeb0598986174a07e9fb09f7604397") (:keywords "c" "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/preproc-font-lock"))])
+ (prescient . [(20200412 1607) ((emacs (25 1))) "Better sorting and filtering" single ((:commit . "0f4a89bdec61395138d968a38d375e63ccfbed63") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))])
+ (preseed-generic-mode . [(20180210 500) nil "Debian preseed file major mode" single ((:commit . "3aa8806c4a659064baa01751400c53fbaf847f66") (:authors ("Tong Sun" . "suntong@users.sourceforge.net")) (:maintainer "Tong Sun" . "suntong@users.sourceforge.net") (:url . "https://github.com/suntong/preseed-generic-mode"))])
+ (presentation . [(20180427 224) ((emacs (24 4)) (cl-lib (0 5))) "Display large character for presentation" single ((:commit . "f53f67aeab97e8eea6d1f12df5f7ce3b1b03b879") (:keywords "environment" "faces" "frames") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-presentation-mode"))])
+ (prettier-js . [(20180109 726) nil "Minor mode to format JS code on file save" single ((:commit . "e9b73e81d3e1642aec682195f127a42dfb0b5774") (:keywords "convenience" "wp" "edit" "js") (:authors ("James Long and contributors")) (:maintainer "James Long and contributors") (:url . "https://github.com/prettier/prettier-emacs"))])
+ (prettify-greek . [(20160603 908) nil "Greek letters for prettify-symbols" single ((:commit . "698d07a6ffe85f6fb53f3bfec4f49380c25cfd90") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-prettify-greek"))])
+ (pretty-hydra . [(20190930 2106) ((hydra (0 15 0)) (s (1 12 0)) (dash (2 15 0)) (dash-functional (1 2 0)) (emacs (24))) "A macro for creating nice-looking hydras" single ((:commit . "20362323f66883c1336ffe70be24f91509addf54") (:authors ("Jerry Peng" . "pr2jerry@gmail.com")) (:maintainer "Jerry Peng" . "pr2jerry@gmail.com") (:url . "https://github.com/jerrypnz/major-mode-hydra.el"))])
+ (pretty-mode . [(20190615 2045) nil "Redisplay parts of the buffer as pretty Unicode symbols." single ((:commit . "5154355e90fdd70d3647257280a89eeb725ef084") (:keywords "pretty" "unicode" "symbols") (:authors ("Arthur Danskin" . "arthurdanskin@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:url . "https://github.com/akatov/pretty-mode"))])
+ (pretty-sha-path . [(20141105 1826) nil "Prettify Guix/Nix store paths" single ((:commit . "a2b43dd9de423a38d67cda2e3bd9412f7d363257") (:keywords "faces" "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitorious.org/alezost-emacs/pretty-sha-path"))])
+ (pretty-symbols . [(20140814 959) nil "Draw tokens as Unicode glyphs." single ((:commit . "582cbe51ecfe1cc0a5b185bc06113c8a661e3956") (:keywords "faces") (:authors ("David Röthlisberger" . "david@rothlis.net")) (:maintainer "David Röthlisberger" . "david@rothlis.net") (:url . "http://github.com/drothlis/pretty-symbols"))])
+ (prism . [(20200407 1148) ((emacs (26 1)) (dash (2 14 1))) "Customizable, depth-based syntax coloring" single ((:commit . "b618f2cea2dbf7c13d8b4fec1760c346eb9ab036") (:keywords "faces" "lisp") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/prism.el"))])
+ (private . [(20150122 157) ((aes (0 6))) "take care of your private configuration files." single ((:commit . "9266d01c095895cc3ee9de95bc20511e88353755") (:keywords "private" "configuration" "backup" "recover") (:authors ("Cheung Mou Wai" . "yeannylam@gmail.com")) (:maintainer "Cheung Mou Wai" . "yeannylam@gmail.com") (:url . "https://github.com/cheunghy/private"))])
+ (private-diary . [(20151216 1657) ((emacs (24 0))) "maintain a private diary in Emacs" single ((:commit . "0c86fb6150ad8ed14f94def3504f5a68f4147283") (:keywords "diary" "encryption") (:authors ("James P. Ascher" . "jpa4q@virginia.edu")) (:maintainer "James P. Ascher" . "jpa4q@virginia.edu") (:url . "https://github.com/cacology/private-diary"))])
+ (proc-net . [(20130322 12) nil "network process tools" single ((:commit . "10861112a1f3994c8e6374d6c5bb5d734cfeaf73") (:keywords "processes") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-procnet"))])
+ (proced-narrow . [(20190911 1818) ((seq (2 20)) (emacs (24))) "Live-narrowing of search results for proced." single ((:commit . "0e2a4dfb072eb0369d0020b429e820ae620d325e") (:keywords "processes" "proced") (:authors ("Travis Jeffery" . "tj@travisjeffery.com")) (:maintainer "Travis Jeffery" . "tj@travisjeffery.com") (:url . "https://github.com/travisjeffery/proced-narrow"))])
+ (processing-mode . [(20171022 2302) nil "Major mode for Processing 2.0" single ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e") (:keywords "languages" "snippets") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net") (:url . "https://github.com/ptrv/processing2-emacs"))])
+ (processing-snippets . [(20140426 1428) ((yasnippet (0 8 0))) "Snippets for processing-mode" tar ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e"))])
+ (prodigy . [(20191212 1242) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (24))) "Manage external services from within Emacs" single ((:commit . "6ae71f27b09b172f03fb55b9eeef001206baacd3") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))])
+ (professional-theme . [(20150315 1100) nil "Emacs port of Vim's professional theme" single ((:commit . "0927d1474049a193f9f366bde5eb1887b9ba20ed") (:keywords "theme" "light" "professional") (:authors ("Juanjo Alvarez" . "juanjo@juanjoalvarez.net")) (:maintainer "Juanjo Alvarez" . "juanjo@juanjoalvarez.net") (:url . "https://github.com/juanjux/emacs-professional-theme"))])
+ (prog-fill . [(20180607 132) ((emacs (25 1)) (cl-lib (0 6 1))) "Smartly format lines to use vertical space." single ((:commit . "3fbf7da6dd826e95c9077d659566ee29814a31d8") (:keywords "ahungry" "convenience" "c" "formatting" "editing") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/prog-fill"))])
+ (prognth . [(20130920 1759) nil "Extend prog1 to arbitrary index" single ((:commit . "2f1ca4d34b1fd581163e1df122c85418137e8e62") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (programmer-dvorak . [(20150427 137) nil "Input method for Programmer Dvorak." single ((:commit . "3288a8f058eca4cab390a564babbbcb17cfa0350") (:keywords "dvorak" "programmer-dvorak" "input-method") (:authors ("Chenyun Yang" . "yangchenyun@gmail.com")) (:maintainer "Chenyun Yang" . "yangchenyun@gmail.com") (:url . "https://github.com/yangchenyun/programmer-dvorak"))])
+ (project-abbrev . [(20190517 521) ((emacs (24 4))) "Customize abbreviation expansion in the project." single ((:commit . "22830177a0cea19acf29fb9910b784ea5f66f551") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/project-abbrev"))])
+ (project-explorer . [(20150504 14) ((cl-lib (0 3)) (es-lib (0 3)) (es-windows (0 1)) (emacs (24))) "A project explorer sidebar" single ((:commit . "589a09008706f5f4ef91393dc4306eede0d15ca9") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/project-explorer"))])
+ (project-persist . [(20180906 1302) nil "A minor mode to allow loading and saving of project settings." tar ((:commit . "26d9435bef44da2a1b0892eba822f9f487b98eec"))])
+ (project-persist-drawer . [(20151108 1222) ((project-persist (0 3))) "Use a project drawer with project-persist." tar ((:commit . "35bbe132a4fab6a0fec15ce6c0fd2fe6a4aa9626"))])
+ (project-root . [(20110206 2030) nil "Define a project root and take actions based upon it." single ((:commit . "a49b1be864357683d9489074148b6d667f4ed23b") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))])
+ (project-shells . [(20191123 914) ((emacs (24 3)) (seq (2 19))) "Manage the shell buffers of each project" single ((:commit . "5aea9ee0de93f2568afb3f18bb7b43a9715a9a2d") (:keywords "processes" "terminals") (:authors ("\"Huang, Ying\"" . "huang.ying.caritas@gmail.com")) (:maintainer "\"Huang, Ying\"" . "huang.ying.caritas@gmail.com") (:url . "https://github.com/hying-caritas/project-shells"))])
+ (projectile . [(20200427 1153) ((emacs (25 1)) (pkg-info (0 4))) "Manage and navigate projects in Emacs easily" single ((:commit . "5cd261dd75f4d711c0016617621349e2a98b43aa") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/projectile"))])
+ (projectile-codesearch . [(20180508 1522) ((codesearch (20171122 431)) (projectile (20150405 126))) "Integration of codesearch into projectile" single ((:commit . "f6eb96f034a925444412cfa03e45e0ccbbafe3f2") (:keywords "tools" "development" "search") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-codesearch"))])
+ (projectile-direnv . [(20160306 138) ((emacs (24)) (s (1 11 0)) (dash (2 12 0)) (projectile (0 13 0))) "Set environment variables from .envrc" single ((:commit . "d5d29e5228f840b7a25358a2fd50353ef2dc9b16") (:keywords "convenience") (:authors ("Christian Romney" . "crommney@pointslope.com")) (:maintainer "Christian Romney" . "crommney@pointslope.com") (:url . "https://github.com/christianromney/projectile-direnv"))])
+ (projectile-git-autofetch . [(20191013 1806) ((emacs (25 1)) (projectile (0 14 0)) (alert (1 2))) "automatically fetch git repositories" single ((:commit . "4a3eba7658a52c6e955d5f7085cd3fd62b53b9c6") (:keywords "tools" "vc") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:url . "https://github.com/andrmuel/projectile-git-autofetch"))])
+ (projectile-hanami . [(20160505 1311) ((emacs (24 3)) (projectile (0 12 0)) (rake (0 3 2)) (inf-ruby (2 2 6))) "Minor mode for Hanami projects based on projectile" single ((:commit . "c4b8e7d4dfec789ef8493a7c5d4ce0cf7937e579") (:keywords "hanami" "ruby" "projectile") (:authors ("Arjan van der Gaag")) (:maintainer "Arjan van der Gaag") (:url . "https://github.com/avdgaag/projectile-hanami"))])
+ (projectile-rails . [(20200417 1711) ((emacs (24 3)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2))) "Minor mode for Rails projects based on projectile-mode" single ((:commit . "11980b2bcb99208888856a9b8666ff329b6f0142") (:keywords "rails" "projectile") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:url . "https://github.com/asok/projectile-rails"))])
+ (projectile-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "40e871dcc4519a70981e9f28acea304692a60978") (:keywords "ripgrep" "projectile") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/ripgrep.el"))])
+ (projectile-sift . [(20160107 1015) ((sift (0 2 0)) (projectile (0 13 0))) "Run a sift with Projectile" single ((:commit . "cdddba2d183146c340915003f1b5d09d13712c22") (:keywords "sift" "projectile") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/sift.el"))])
+ (projectile-speedbar . [(20190807 2010) ((projectile (0 11 0)) (sr-speedbar (0))) "projectile integration for speedbar" single ((:commit . "93320e467ee78772065e599a5dba94889a77db22") (:keywords "project" "convenience" "speedbar" "projectile") (:authors ("Anshul Verma" . "anshul.verma86@gmail.com")) (:maintainer "Anshul Verma" . "anshul.verma86@gmail.com") (:url . "https://github.com/anshulverma/projectile-speedbar"))])
+ (projectile-trailblazer . [(20170928 1624) ((emacs (24 4)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2))) "Minor mode for Rails projects using trailblazer" single ((:commit . "a37a4f7b7f727d98e4c74c0256e059e84263553d") (:keywords "rails" "projectile" "trailblazer" "languages") (:authors ("Michael Dahl" . "michael.dahl84@gmail.com")) (:maintainer "Michael Dahl" . "michael.dahl84@gmail.com") (:url . "https://github.com/micdahl/projectile-trailblazer"))])
+ (projectile-variable . [(20170208 1718) ((emacs (24)) (cl-lib (0 5))) "Store project local variables." single ((:commit . "8d348ac70bdd6dc320c13a12941b32b38140e264") (:keywords "project" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/projectile-variable"))])
+ (projector . [(20190703 1418) ((alert (1 1)) (projectile (0 11 0)) (cl-lib (0 5))) "Lightweight library for managing project-aware shell and command buffers" single ((:commit . "bad51a81fbcae9aabe47dafc2499ba27cd7308be") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/projector.el"))])
+ (projekt . [(20150324 848) ((emacs (24))) "some kind of staging for CVS" single ((:commit . "a65e554e5d8b0def08c5d06f3fe34fec40bebd83") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))])
+ (projmake-mode . [(20161031 1715) ((dash (20150611 922)) (indicators (20130217 1405))) "Project oriented automatic builder and error highlighter, flymake for projects" tar ((:commit . "a897701f7e8f8cc11459ed44eb0e454db2a460c1"))])
+ (promise . [(20200429 440) ((emacs (25 1))) "Promises/A+" tar ((:commit . "ed9b073ee5b0975a35ee15bc12e25e02f796d787") (:keywords "async" "promise" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-promise"))])
+ (prompt-text . [(20190408 310) nil "Configure your minibuffer prompt" single ((:commit . "0a75ecd5058c9a006e02d1ecd3f1c84194881abd") (:keywords "utility" "minibuffer") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/prompt-text-el"))])
+ (prompts . [(20160916 1041) ((dash (2 13 0))) "utilities for working with text prompts." single ((:commit . "1cd5e732ff2a86b47836eb7252e5b59cd4b6ab26") (:keywords "input" "minibuffer") (:authors ("Ben Moon" . "guiltydolphin@gmail.com")) (:maintainer "Ben Moon" . "guiltydolphin@gmail.com") (:url . "https://github.com/guiltydolphin/prompts.el"))])
+ (pronto . [(20200218 1633) ((emacs (24))) "Compilation mode for pronto stylechecks" single ((:commit . "c2a2ec718c08de1fd2e681970456786cf4eac8fe") (:keywords "processes" "tools") (:authors ("Julian Rubisch" . "julian@julianrubisch.at")) (:maintainer "Julian Rubisch" . "julian@julianrubisch.at") (:url . "https://github.com/julianrubisch/pronto.el"))])
+ (proof-general . [(20200416 1351) ((emacs (24 3))) "A generic front-end for proof assistants (interactive theorem provers)" tar ((:commit . "84b81a84db632a97cc978494f2a5609525034223"))])
+ (prop-menu . [(20150728 1118) ((emacs (24 3)) (cl-lib (0 5))) "Create and display a context menu based on text and overlay properties" single ((:commit . "50b102c1c0935fd3e0c465feed7f27d66b21cdf3") (:keywords "convenience") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:url . "https://github.com/david-christiansen/prop-menu-el"))])
+ (propfont-mixed . [(20150113 2211) ((emacs (24)) (cl-lib (0 5))) "Use proportional fonts with space-based indentation." single ((:commit . "0b461ef4754a469610dba71874a34b6da42176bf") (:keywords "faces") (:authors ("Kirill Ignatiev <github.com/ikirill>")) (:maintainer "Kirill Ignatiev <github.com/ikirill>") (:url . "https://github.com/ikirill/propfont-mixed"))])
+ (proportional . [(20200309 1556) ((emacs (25 1))) "use a proportional font everywhere" single ((:commit . "0e4537af7ba2bc9dbb449c38350bce012b382f51") (:keywords "faces") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/proportional"))])
+ (prosjekt . [(20151127 1416) ((dash (2 8 0))) "a software project tool for emacs" tar ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/prosjekt"))])
+ (protobuf-mode . [(20170526 1650) nil "major mode for editing protocol buffers." single ((:commit . "ed5c874de356e27bc4da77f56f813ad18bc541c5") (:keywords "google" "protobuf" "languages") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com"))])
+ (protocols . [(20170802 1132) ((cl-lib (0 5))) "Protocol database access functions." single ((:commit . "d0f7c4acb05465f1a0d4be54363bbd2802647e77") (:keywords "convenience" "net" "protocols") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/protocols.el"))])
+ (proxy-mode . [(20200131 816) ((emacs (25))) "A minor mode to toggle proxy." single ((:commit . "e9b2a4bb032aaf13b006b74eec309a9bf2249cf0") (:keywords "comm" "proxy") (:url . "https://github.com/stardiviner/proxy-mode"))])
+ (psc-ide . [(20200317 1013) ((emacs (25)) (dash (2 13 0)) (dash-functional (1 2 0)) (company (0 8 7)) (s (1 10 0)) (flycheck (0 24)) (let-alist (1 0 4)) (seq (1 11))) "Minor mode for PureScript's psc-ide tool." tar ((:commit . "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe") (:keywords "languages") (:authors ("Erik Post" . "erik@shinsetsu.nl") ("Dmitry Bushenko" . "d.bushenko@gmail.com") ("Christoph Hegemann") ("Brian Sermons")) (:maintainer "Erik Post" . "erik@shinsetsu.nl") (:url . "https://github.com/epost/psc-ide-emacs"))])
+ (psci . [(20191025 830) ((emacs (24 4)) (purescript-mode (13 10)) (dash (2 9 0))) "Major mode for purescript repl psci" tar ((:commit . "95fb5d14033add8fe9c8c6b4379758beb88af1d0") (:keywords "languages" "purescript" "psci" "repl") (:authors ("Antoine R. Dumont <eniotna.t AT gmail.com>")) (:maintainer "Antoine R. Dumont <eniotna.t AT gmail.com>") (:url . "https://github.com/purescript-emacs/emacs-psci"))])
+ (psession . [(20190808 1626) ((emacs (24)) (cl-lib (0 5)) (async (1 9 3))) "Persistent save of elisp objects." single ((:commit . "3e97267c92b164584e06a6c70ee7491714c7c12c") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/psession"))])
+ (psysh . [(20190709 106) ((emacs (24 3)) (s (1 9 0)) (f (0 17)) (php-runtime (0 2))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "21250984ad8137aa3440ac12e52475ef03f19fcb") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/psysh.el"))])
+ (pt . [(20161226 1959) nil "A front-end for pt, The Platinum Searcher." single ((:commit . "6d99b2aaded3ece3db19a20f4b8f1d4abe382622") (:keywords "pt" "ack" "ag" "grep" "search") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:url . "https://github.com/bling/pt.el"))])
+ (pubmed . [(20200426 1239) ((emacs (25 1)) (deferred (0 5 1)) (esxml (0 3 4)) (s (1 12 0)) (unidecode (20180312 1926))) "Interface to PubMed" tar ((:commit . "e619042f3c0383c7d4e1762fb46ff680e90906d6") (:keywords "pubmed" "hypermedia") (:authors ("Folkert van der Beek" . "folkertvanderbeek@gmail.com")) (:maintainer "Folkert van der Beek" . "folkertvanderbeek@gmail.com") (:url . "https://gitlab.com/fvdbeek/emacs-pubmed"))])
+ (pug-mode . [(20180513 2126) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for jade/pug template files" single ((:commit . "685fd3414d89736bf232f5d1a6bed9e0353b98fe") (:keywords "markup" "language" "jade" "pug") (:authors ("Nathan Weizenbaum")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-pug-mode"))])
+ (pulseaudio-control . [(20200406 752) nil "Use `pactl' to manage PulseAudio volumes." single ((:commit . "a931533140547510decdc368f39b2d2b97ca725f") (:keywords "multimedia" "hardware" "sound" "pulseaudio") (:authors ("Alexis" . "flexibeast@gmail.com") ("Ellington Santos" . "ellingtonsantos@gmail.com") ("Sergey Trofimov" . "sarg@sarg.org.ru")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/pulseaudio-control"))])
+ (punctuality-logger . [(20141120 2031) nil "Punctuality logger for Emacs" single ((:commit . "e09e5dd37bc92289fa2f7dc44aed51a7b5e04bb0") (:keywords "reminder" "calendar") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:url . "https://gitlab.com/elzair/punctuality-logger"))])
+ (pungi . [(20150222 1246) ((jedi (0 2 0 -3 2)) (pyvenv (1 5))) "Integrates jedi with virtualenv and buildout python environments" single ((:commit . "a2d4d439ea371be0b064a12248288903b8a521a0") (:keywords "convenience") (:authors ("Matthew Russell" . "matthew.russell@horizon5.org")) (:maintainer "Matthew Russell" . "matthew.russell@horizon5.org"))])
+ (punpun-theme . [(20190928 1413) nil "A bleak theme" tar ((:commit . "2f78125609277b2478abdebd8f9d5ee10a823b65"))])
+ (puppet-mode . [(20200419 1236) ((emacs (24 1)) (pkg-info (0 4))) "Major mode for Puppet manifests" single ((:commit . "0197b405c79a5d0718979f31df760bb3bfca38de") (:keywords "languages") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com") ("Russ Allbery" . "rra@stanford.edu")) (:maintainer "Tim Meusel" . "tim@bastelfreak.de") (:url . "https://github.com/voxpupuli/puppet-mode"))])
+ (purescript-mode . [(20190522 2230) ((emacs (24)) (cl-lib (0 6))) "A PureScript editing mode" tar ((:commit . "8db1d0243c03da31adac4d7c5287407a4df6aff2"))])
+ (purp-theme . [(20190629 1829) nil "No description available." tar ((:commit . "f821a7c30452d970ccb0ee08b68d56603860e31d"))])
+ (purple-haze-theme . [(20141015 229) ((emacs (24 0))) "an overtly purple color theme for Emacs24." single ((:commit . "3e245cbef7cd09e6b3ee124963e372a04e9a6485") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-purple-haze-theme"))])
+ (purty-mode . [(20131004 2259) nil "Safely pretty-print greek letters, mathematical symbols, or anything else." single ((:commit . "8eef77317a3bab07ade212353a50fbd3f20f365a") (:authors ("James Atwood" . "jatwood@cs.umass.edu")) (:maintainer "James Atwood" . "jatwood@cs.umass.edu"))])
+ (pushbullet . [(20140809 1232) ((grapnel (0 5 2)) (json (1 2))) "Emacs client for the PushBullet Android app" single ((:commit . "73c59a0f1dc04875b3e5a2c8afbc26c32128e445") (:keywords "convenience") (:authors ("Abhishek L" . "abhishek.lekshmanan@gmail.com")) (:maintainer "Abhishek L" . "abhishek.lekshmanan@gmail.com") (:url . "http://www.github.com/theanalyst/revolver"))])
+ (pushover . [(20170818 2103) ((cl-lib (0 5))) "Pushover API Access" single ((:commit . "bbe3ac8df3c532a72da4552615af960b8a577588") (:keywords "notifications") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:url . "http://github.com/swflint/pushover.el"))])
+ (px . [(20170317 2330) nil "preview inline latex in any mode" single ((:commit . "0c52f7933eab3ca1642ab0df151db9950430c9e2") (:authors ("Aurélien Aptel" . "aurelien.aptel@gmail.com")) (:maintainer "Aurélien Aptel" . "aurelien.aptel@gmail.com") (:url . "http://github.com/aaptel/preview-latex"))])
+ (py-autopep8 . [(20160925 1052) nil "Use autopep8 to beautify a Python buffer" single ((:commit . "68e12d8788c91c7ec53a68acf1d23adb2ffa4788") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "http://paetzke.me/project/py-autopep8.el"))])
+ (py-gnitset . [(20170821 1732) nil "Run your Python tests any way you'd like" single ((:commit . "1e993cc29cbc31e06fe1e335dec198e21972fa55") (:authors ("Brandon W Maister" . "quodlibetor@gmail.com")) (:maintainer "Brandon W Maister" . "quodlibetor@gmail.com") (:url . "https://www.github.com/quodlibetor/py-gnitset"))])
+ (py-import-check . [(20130802 1111) nil "Finds the unused python imports using importchecker" single ((:commit . "9787f87745a4234cd9bed711860b707902bc8ae4") (:keywords "python" "import" "check") (:authors ("Sibi" . "sibi@psibi.in")) (:maintainer "Sibi" . "sibi@psibi.in") (:url . "https://github.com/psibi/emacs-py-import-check"))])
+ (py-isort . [(20160925 1018) nil "Use isort to sort the imports in a Python buffer" single ((:commit . "e67306f459c47c53a65604e4eea88a3914596560") (:authors ("Friedrich Paetzke" . "paetzke@fastmail.fm")) (:maintainer "Friedrich Paetzke" . "paetzke@fastmail.fm") (:url . "http://paetzke.me/project/py-isort.el"))])
+ (py-smart-operator . [(20170531 1209) ((s (1 9 0))) "smart-operator for python-mode" single ((:commit . "0c8a66faca4b35158d0b5885472cb75286039167") (:keywords "python" "convenience" "smart-operator") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))])
+ (py-test . [(20151117 622) ((dash (2 9 0)) (f (0 17)) (emacs (24 4))) "A test runner for Python code." single ((:commit . "3b2a0bdaacb54df6f2bee8317423e5c0d159d5cf") (:keywords "python" "testing" "py.test") (:authors ("Bogdan Paul Popa" . "popa.bogdanp@gmail.com")) (:maintainer "Bogdan Paul Popa" . "popa.bogdanp@gmail.com") (:url . "https://github.com/Bogdanp/py-test.el"))])
+ (py-yapf . [(20160925 1122) nil "Use yapf to beautify a Python buffer" single ((:commit . "a878304202ad827a1f3de3dce1badd9ca8731146") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "https://github.com/paetzke/py-yapf.el"))])
+ (pycarddavel . [(20150831 1216) ((helm (1 7 0)) (emacs (24 0))) "Integrate pycarddav" single ((:commit . "a6d81ee4eb8309cd82f6082aeca68c5a015702a3") (:keywords "helm" "pyccarddav" "carddav" "message" "mu4e" "contacts") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me"))])
+ (pycoverage . [(20190607 2004) ((emacs (24 3))) "Support for coverage stats on Python 2.X and 3" tar ((:commit . "01bd47171eefcab2e19d7cffd9a2dd3bd9bd6812") (:keywords "project" "convenience") (:authors ("matt harrison")) (:maintainer "matt harrison") (:url . "https://github.com/mattharrison/pycoverage.el"))])
+ (pydoc . [(20200107 54) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "1dfbab7800827adadb649d6e02c31dd9cd65f0d3") (:keywords "pydoc" "python") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:url . "https://github.com/statmobile/pydoc"))])
+ (pydoc-info . [(20110301 834) nil "Better Python support for info-lookup-symbol." tar ((:commit . "151d877c8fb8e418a573b1e879b1263c18e22776"))])
+ (pyenv-mode . [(20170801 2348) ((pythonic (0 1 0))) "Integrate pyenv with python-mode" single ((:commit . "aec6f2aa289f6aed974f053c081143758dd142fb") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pyenv-mode"))])
+ (pyenv-mode-auto . [(20180620 1252) ((pyenv-mode (0 1 0)) (s (1 11 0)) (f (0 17 0))) "Automatically activates pyenv version if .python-version file exists." single ((:commit . "347b94cd5ad22e33cc41be661c102d4548767858") (:keywords "python" "pyenv") (:authors ("Sviatoslav Bulbakha" . "mail@ssbb.me")) (:maintainer "Sviatoslav Bulbakha" . "mail@ssbb.me") (:url . "https://github.com/ssbb/pyenv-mode-auto"))])
+ (pyfmt . [(20150521 2056) nil "Emacs interface to pyfmt" single ((:commit . "cb92be2cf0804cc53142dc5edb36f8e0ef5cec32") (:keywords "tools") (:authors ("Alexandre Héaumé" . "aheaume@gmail.com")) (:maintainer "Alexandre Héaumé" . "aheaume@gmail.com") (:url . "https://github.com/aheaume/pyfmt.el"))])
+ (pygen . [(20161121 506) ((elpy (1 12 0)) (python-mode (6 2 2)) (dash (2 13 0))) "Python code generation using Elpy and Python-mode." single ((:commit . "9019ff44ba49d7295b1476530feab91fdadb084b") (:keywords "python" "code generation") (:authors ("Jack Crawley <http://www.github.com/jackcrawley>")) (:maintainer "Jack Crawley <http://www.github.com/jackcrawley>") (:url . "https://github.com/JackCrawley/pygen/"))])
+ (pyim . [(20200426 505) ((emacs (24 4)) (popup (0 1)) (async (1 6)) (xr (1 13)) (pyim-basedict (0 1))) "A Chinese input method support quanpin, shuangpin, wubi and cangjie." tar ((:commit . "b934273bb33d6be6aea6e20e68930bc5aaf4a48a"))])
+ (pyim-basedict . [(20190719 1252) nil "The default pinyin dict of pyim" tar ((:commit . "d499104189a9462cb80f8efd9713e4064dc7093d") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim-basedict"))])
+ (pyim-cangjie5dict . [(20170730 246) ((pyim (1 0))) "Some cangjie5 dicts for pyim" tar ((:commit . "c8618590780b818db1a67a29bc47c5d25903517a") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Yuanchen Xie" . "yuanchen.gm@gmail.com")) (:maintainer "Yuanchen Xie" . "yuanchen.gm@gmail.com") (:url . "https://github.com/erstern/pyim-cangjie5dict"))])
+ (pyim-wbdict . [(20200331 542) ((pyim (1 0))) "Some wubi dicts for pyim" tar ((:commit . "daa223e2603a5ef3e6c8e33575d8f4e4604a8d3c") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim-wbdict"))])
+ (pyimport . [(20180308 1752) ((dash (2 8 0)) (s (1 9 0)) (shut-up (0 3 2))) "Manage Python imports!" single ((:commit . "a6f63cf7ed93f0c0f7c207e6595813966f8852b9") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (pyimpsort . [(20160130 453) ((emacs (24 3))) "Sort python imports." tar ((:commit . "d5c61d70896b642646dfd3c809c06174ae086c1a") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/pyimpsort.el"))])
+ (pylint . [(20170402 1255) nil "minor mode for running `pylint'" single ((:commit . "21519eae95cf95a9697100d0f189309c5870f784") (:keywords "languages" "python") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))])
+ (pynt . [(20180710 726) ((emacs (24 4)) (ein (0 13 1)) (epc (0 1 1)) (deferred (0 5 1))) "Generate and scroll EIN buffers from python code" single ((:commit . "86cf9ce78d34f92bfd0764c9cbb75427ebd429e6") (:keywords "convenience") (:authors ("Edward Banner" . "edward.banner@gmail.com")) (:maintainer "Edward Banner" . "edward.banner@gmail.com") (:url . "https://github.com/ebanner/pynt"))])
+ (pyramid . [(20181212 1204) ((emacs (25 2)) (pythonic (0 1 1)) (tablist (0 70))) "Minor mode for working with pyramid projects" tar ((:commit . "f0687b8aee3e685b55e2c66b16211e02ac5f9d94") (:keywords "python" "pyramid" "pylons" "convenience" "tools" "processes") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/pyramid.el"))])
+ (pytest . [(20200330 41) ((s (1 9 0))) "Easy Python test running in Emacs" single ((:commit . "6934047242db79b1c53e9fe3e0734cc9719ed1c4") (:keywords "pytest" "python" "testing") (:url . "https://github.com/ionrock/pytest-el"))])
+ (pytest-pdb-break . [(20200426 2335) ((emacs (25))) "A pytest PDB launcher" tar ((:commit . "3ff296d14e7350241b22fcbe09325a16bb834d16") (:keywords "languages" "tools") (:authors ("Jane Soko" . "poppyschmo@protonmail.com")) (:maintainer "Jane Soko" . "poppyschmo@protonmail.com") (:url . "https://github.com/poppyschmo/pytest-pdb-break"))])
+ (python-black . [(20200324 930) ((emacs (25)) (dash (2 16 0)) (reformatter (0 3))) "Reformat Python using python-black" single ((:commit . "a11ca73f6dfcdc125d27ff184496d66bdbd71326") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-python-black"))])
+ (python-cell . [(20200314 1147) ((emacs (25 1))) "Support for MATLAB-like cells in python mode" single ((:commit . "4f0778b05bfb936861449bcb998ed620cd9b31ad") (:keywords "extensions" "python" "matlab" "cell") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com") (:url . "https://github.com/thisch/python-cell.el"))])
+ (python-django . [(20150822 404) nil "A Jazzy package for managing Django projects" single ((:commit . "fc54ad74f0309670359b939f64d0f1fff68aeac4") (:keywords "languages") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "FSF") (:url . "https://github.com/fgallina/python-django.el"))])
+ (python-docstring . [(20190716 921) nil "Smart Python docstring formatting" tar ((:commit . "ec253711f2bdcb3848046bb68f6405a7bf9eb0fb"))])
+ (python-environment . [(20150310 853) ((deferred (0 3 1))) "virtualenv API for Emacs Lisp" tar ((:commit . "401006584e32864a10c69d29f14414828909362e") (:keywords "applications" "tools") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))])
+ (python-info . [(20151228 1852) nil "Python info manual for Emacs" tar ((:commit . "306f15441b54b25757cdfd3b327b84024ea21ed7"))])
+ (python-mode . [(20200428 1658) nil "Python major mode" tar ((:commit . "ab081b9ec11237dce5620677451ade2957128260"))])
+ (python-pytest . [(20180725 1146) ((emacs (24 4)) (dash (2 12 0)) (dash-functional (2 12 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0))) "helpers to run pytest" single ((:commit . "09ad688df207ee9b02c990d3897a9e2841931d97") (:keywords "pytest" "test" "python" "languages" "processes" "tools") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-python-pytest"))])
+ (python-switch-quotes . [(20161228 809) ((emacs (24 3))) "cycle between ' and \" quotes in python strings" single ((:commit . "93f1e9b40e061a6cea480139e8b1362b6404abd0") (:keywords "python" "tools" "convenience") (:authors ("Vladimir Lagunov" . "lagunov.vladimir@gmail.com")) (:maintainer "Vladimir Lagunov" . "lagunov.vladimir@gmail.com") (:url . "https://github.com/werehuman/python-switch-quotes"))])
+ (python-test . [(20181018 29) ((emacs (25 1))) "Python testing integration" single ((:commit . "f899975b133539e19ba822e4b0bfd1a28572967e") (:keywords "convenience" "tools" "processes") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/python-test.el"))])
+ (python-x . [(20190611 1303) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "b1f8eaccee210d7c0580dba6dc9bd361fcf3765d") (:keywords "python" "eval" "folding") (:url . "https://github.com/wavexx/python-x.el") (:author . "Yuri D'Elia <wavexx@thregr.org>"))])
+ (pythonic . [(20200304 1901) ((emacs (25 1)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "f577f155fb0c6e57b3ff82447ac25dcb3ca0080f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))])
+ (pyvenv . [(20191202 1039) nil "Python virtual environment interface" single ((:commit . "861998b6d157ae73b829f02a5a6c8a9118310831") (:keywords "python" "virtualenv" "tools") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Jorgen Schaefer" . "contact@jorgenschaefer.de") (:url . "http://github.com/jorgenschaefer/pyvenv"))])
+ (q-mode . [(20181216 1747) ((emacs (24))) "A q editing mode" single ((:commit . "7a13fb68a0ad3d843c8cdc188cf0adb9723f42f7") (:keywords "faces" "files" "q") (:url . "https://github.com/psaris/q-mode"))])
+ (qiita . [(20140118 844) ((helm (1 5 9)) (markdown-mode (2 0))) "Qiita API Library for emacs" single ((:commit . "93c697b97d540fd1601a13a3d9889fb939b19878") (:keywords "qiita") (:authors ("Wataru MIYAGUNI (gonngo _at_ gmail.com)")) (:maintainer "Wataru MIYAGUNI (gonngo _at_ gmail.com)") (:url . "https://github.com/gongo/qiita-el"))])
+ (ql . [(20180418 2020) ((emacs (24))) "Control Quod Libet" single ((:commit . "d976414ba6aa576ad524b5ee5bfa620efd072258") (:keywords "multimedia") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:url . "https://github.com/ieure/ql-el"))])
+ (qml-mode . [(20161016 31) nil "Major mode for editing QT Declarative (QML) code." single ((:commit . "6c5f33ba88ae010bf201a80ee8095e20a724558c") (:keywords "qml" "qt" "qt declarative") (:authors ("Yen-Chin Lee" . "coldnew.tw@gmail.com")) (:maintainer "Yen-Chin Lee" . "coldnew.tw@gmail.com") (:url . "https://github.com/coldnew/qml-mode"))])
+ (qt-pro-mode . [(20170604 1841) ((emacs (24))) "Qt Pro/Pri major mode" single ((:commit . "7a2da323de834294b413cbbb3c92f42f54913643") (:keywords "extensions") (:authors ("Todd Neal" . "tolchz@gmail.com")) (:maintainer "Todd Neal" . "tolchz@gmail.com"))])
+ (qtcreator-theme . [(20200203 1436) ((emacs (24 3))) "A color theme that mimics Qt Creator IDE" single ((:commit . "c56d792d5ab01743e1350e0a7a8a89bb3d2e0c4f") (:keywords "theme" "light" "faces") (:authors ("Lesley Lai" . "lesley@lesleylai.info")) (:maintainer "Lesley Lai" . "lesley@lesleylai.info") (:url . "https://github.com/LesleyLai/emacs-qtcreator-theme"))])
+ (quack . [(20181106 1301) nil "enhanced support for editing and running Scheme code" single ((:commit . "2146805ce2b5a9b155d73929986f11e713787e26"))])
+ (quasi-monochrome-theme . [(20200415 705) nil "Quasi Monochrome theme" tar ((:commit . "b38d71860fdea945e10e8a766ac9dfa1410ade67") (:keywords "color" "theme" "monochrome"))])
+ (quelpa . [(20200329 719) ((emacs (25 1))) "Emacs Lisp packages built directly from source" tar ((:commit . "a3c4490a3bb08ee7819b330a93a284b2fd4cd70c") (:keywords "tools" "package" "management" "build" "source" "elpa") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://github.com/quelpa/quelpa"))])
+ (quelpa-use-package . [(20200307 805) ((emacs (25 1)) (quelpa (0)) (use-package (2))) "quelpa handler for use-package" single ((:commit . "00ce667293c7cd5dc79d4b6077785fcc57455775") (:keywords "package" "management" "elpa" "use-package") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://github.com/quelpa/quelpa-use-package"))])
+ (quick-buffer-switch . [(20151007 2208) nil "Quick switch to file or dir buffers." single ((:commit . "d5fdd67b4c9f04b7a7122da2215e4ae076a03b1b") (:keywords "emacs" "configuration") (:authors ("Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>")) (:maintainer "Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>"))])
+ (quick-peek . [(20200130 2059) ((emacs (24 3))) "Inline quick-peek windows" single ((:commit . "03a276086795faad46a142454fc3e28cab058b70") (:keywords "tools" "help" "doc" "convenience") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com"))])
+ (quick-preview . [(20191017 1920) nil "quick preview using GNOME sushi, gloobus or quick look" single ((:commit . "a312ab5539b9a362da9d305e4da814e17c5721c9") (:keywords "files" "hypermedia") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/quick-preview.el"))])
+ (quick-shell-keybind . [(20171023 613) ((emacs (24))) "Interactively bind a key to shell commands" single ((:commit . "5f4541a5a5554d108bf16b5fd1713e962161ca1b") (:keywords "maint" "convenience" "processes") (:authors ("eyeinsky" . "eyeinsky9@gmail.com")) (:maintainer "eyeinsky" . "eyeinsky9@gmail.com") (:url . "https://github.com/eyeinsky/quick-shell-keybind"))])
+ (quickref . [(20170817 1232) ((dash (1 0 3)) (s (1 0 0))) "Display relevant notes-to-self in the echo area" single ((:commit . "f368c8b8219bb90498c5ab84e26f00eedaa234cf") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/quickref.el"))])
+ (quickrun . [(20200427 337) ((emacs (24 3))) "Run commands quickly" single ((:commit . "2e37ce9e4b13359344dbd67fbfd7e39d46b2c6b6") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))])
+ (quiet . [(20200211 721) nil "Disconnect from the online world for a while" single ((:commit . "f8a4ef0be086f97e7fb631df7060f29cc4025b98") (:keywords "convenience" "quiet" "distraction" "network" "detachment" "offline") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/quiet"))])
+ (quilt . [(20190828 506) ((emacs (26 0))) "Minor mode for working with files in quilt" single ((:commit . "b56a1f1acc46cdf8655710e4c8f24f5f31f22c6a") (:keywords "extensions") (:authors ("Matt Mackall" . "mpm@selenic.com")) (:maintainer "Jan Stranik" . "jan@stranik.org") (:url . "https://github.com/jstranik/emacs-quilt"))])
+ (quiz . [(20190525 1206) ((cl-lib (0 5)) (emacs (25))) "Multiple choice quiz game" single ((:commit . "570bf53926d89282cdb9653bd5aa8fe968f92bbd") (:keywords "games" "trivia" "quiz") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/quiz.el"))])
+ (r-autoyas . [(20140101 1510) ((ess (0)) (yasnippet (0 8 0))) "Provides automatically created yasnippets for R function argument lists." tar ((:commit . "b4020ee7f5f895e0065b8b26da8a49c51432d530") (:keywords "r" "yasnippet") (:authors ("Sven Hartenstein & Matthew Fidler")) (:maintainer "Matthew Fidler") (:url . "https://github.com/mlf176f2/r-autoyas.el"))])
+ (racer . [(20191001 2344) ((emacs (25 1)) (rust-mode (0 2 0)) (dash (2 13 0)) (s (1 10 0)) (f (0 18 2)) (pos-tip (0 4 6))) "code completion, goto-definition and docs browsing for Rust via racer" single ((:commit . "a0bdf778f01e8c4b8a92591447257422ac0b455b") (:keywords "abbrev" "convenience" "matching" "rust" "tools") (:authors ("Phil Dawes")) (:maintainer "Phil Dawes") (:url . "https://github.com/racer-rust/emacs-racer"))])
+ (racket-mode . [(20200501 34) nil "No description available." tar ((:commit . "8f3b214a5ea06e6a2a9492e7d20b19badd0c3bdf"))])
+ (rails-log-mode . [(20140408 425) nil "Major mode for viewing Rails log files" single ((:commit . "ff440003ad7d47cb0ac3300f2a632f4cfd36a446") (:keywords "rails" "log") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com"))])
+ (railscasts-reloaded-theme . [(20190308 759) nil "Railscasts Reloaded color theme" single ((:commit . "c6a1cf13a164f22b026b0959527c3b98c2b1aa49") (:authors ("George Thomas" . "iamgeorgethomas@gmail.com")) (:maintainer "George Thomas" . "iamgeorgethomas@gmail.com") (:url . "https://github.com/thegeorgeous/railscasts-reloaded-theme"))])
+ (railscasts-theme . [(20150219 1525) nil "Railscasts color theme for GNU Emacs." single ((:commit . "1340c3f6c2717761cab95617cf8dcbd962b1095b") (:keywords "railscasts" "color" "theme") (:authors ("Oleg Shaldybin")) (:maintainer "Oleg Shaldybin") (:url . "https://github.com/mikenichols/railscasts-theme"))])
+ (rainbow-blocks . [(20171025 1438) nil "Block syntax highlighting for lisp code" single ((:commit . "dd435d7bb34ff6f162a5f315df308b90b7e9f842") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/rainbow-blocks"))])
+ (rainbow-delimiters . [(20191018 1233) nil "Highlight brackets according to their depth" single ((:commit . "5125f4e47604ad36c3eb4706310fcafac729ca8c") (:keywords "faces" "convenience" "lisp" "tools") (:authors ("Jeremy Rayman" . "opensource@jeremyrayman.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/rainbow-delimiters"))])
+ (rainbow-identifiers . [(20141102 1526) ((emacs (24))) "Highlight identifiers according to their names" single ((:commit . "19fbfded1baa98d12335f26f6d7b20e5ae44ce2e") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/rainbow-identifiers"))])
+ (rake . [(20180212 1008) ((f (0 13 0)) (dash (1 5 0)) (cl-lib (0 5))) "Run rake commands" single ((:commit . "9c204334b03b4e899fadae6e59c20cf105404128") (:keywords "rake" "ruby") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:url . "https://github.com/asok/rake.el"))])
+ (raku-mode . [(20200426 1953) ((emacs (24 4)) (pkg-info (0 1))) "Major mode for editing Raku code" tar ((:commit . "44529c097f98723067f852c6496d91257978c1e2") (:keywords "languages") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:url . "https://github.com/hinrik/perl6-mode"))])
+ (rally-mode . [(20161114 354) ((popwin (1 0 0))) "a mode to interact with the Rally Software web site." single ((:commit . "0f5e09a6abe2de7613f174b4f54863df93343134") (:keywords "rally" "ca" "agile") (:authors ("Sean LeBlanc" . "seanleblanc@gmail.com")) (:maintainer "Sean LeBlanc" . "seanleblanc@gmail.com") (:url . "https://pragcraft.wordpress.com/"))])
+ (rand-theme . [(20151219 2335) ((cl-lib (0 5))) "Random Emacs theme at start-up!" single ((:commit . "65a00e5c5150f857aa96803b68f50bc8da0215b7") (:authors ("Daniel Gopar")) (:maintainer "Daniel Gopar") (:url . "https://github.com/gopar/rand-theme"))])
+ (random-splash-image . [(20151003 130) nil "Randomly sets splash image to *GNU Emacs* buffer on startup." single ((:commit . "53a39ebfd8ac6be066a652a508a717870f94218a") (:keywords "games") (:authors ("kakakaya <kakakaya AT gmail.com>")) (:maintainer "kakakaya <kakakaya AT gmail.com>") (:url . "https://github.com/kakakaya/random-splash-image"))])
+ (ranger . [(20200218 203) ((emacs (24 4))) "Make dired more like ranger" single ((:commit . "ae9b3816a6da927cca5beb62c45400103797a2da") (:keywords "files" "convenience" "dired") (:authors ("Rich Alesi <https://github.com/ralesi>")) (:maintainer "Rich Alesi <https://github.com/ralesi>") (:url . "https://github.com/ralesi/ranger"))])
+ (rase . [(20120928 2045) nil "Run At Sun Event daemon" single ((:commit . "59b5f7e8102570b65040e8d55781c7ea28de7338") (:keywords "solar" "sunrise" "sunset" "midday" "midnight") (:authors ("Andrey Kotlarski" . "m00naticus@gmail.com")) (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/rase/"))])
+ (rats . [(20170818 1013) ((s (1 10 0)) (go-mode (1 3 1)) (cl-lib (0 5))) "Rapid testing suite for Go" single ((:commit . "a6d55aebcc54f669c6c6ffedf84364c4097903cc") (:keywords "go") (:authors ("Antoine Kalmbach" . "ane@iki.fi")) (:maintainer "Antoine Kalmbach" . "ane@iki.fi"))])
+ (rbenv . [(20141120 749) nil "Emacs integration for rbenv" single ((:commit . "2ea1a5bdc1266caef1dd77700f2c8f42429b03f1") (:keywords "ruby" "rbenv") (:authors ("Yves Senn" . "yves.senn@gmail.com")) (:maintainer "Yves Senn" . "yves.senn@gmail.com") (:url . "https://github.com/senny/rbenv.el"))])
+ (rbt . [(20170202 2302) ((popup (0 5 3)) (magit (20160128 1201))) "Integrate reviewboard with emacs." single ((:commit . "32bfba9062a014e375451cf4203c29535b5efc1e") (:keywords "reviewboard" "rbt") (:authors ("Joe Heyming" . "joeheyming@gmail.com")) (:maintainer "Joe Heyming" . "joeheyming@gmail.com"))])
+ (rbtagger . [(20191115 1858) ((emacs (25 1))) "Ruby tagging tools" tar ((:commit . "18ef567e65d1437e9a9e03d4f30a02d60e926d85") (:keywords "languages" "tools") (:authors ("Thiago Araújo" . "thiagoaraujos@gmail.com")) (:maintainer "Thiago Araújo" . "thiagoaraujos@gmail.com") (:url . "https://www.github.com/thiagoa/rbtagger"))])
+ (rc-mode . [(20160913 1918) nil "Major mode for the Plan9 rc shell" single ((:commit . "fe2e0570bf9c19a292e16b18fd4b0a256df5d93f") (:keywords "rc" "plan9" "shell") (:authors ("Jordan Brown")) (:maintainer "Jordan Brown") (:url . "https://github.com/mrhmouse/rc-mode.el"))])
+ (rcirc-alert . [(20141127 1047) nil "Configurable alert messages on top of RCIRC" tar ((:commit . "0adf8ff9c47023fec578f678424be62b0f49057f") (:keywords "lisp" "rcirc" "irc" "alert" "awesome") (:maintainer "Cayetano Santos"))])
+ (rcirc-alertify . [(20140407 119) ((alert (20140406 1353))) "Cross platform notifications for rcirc" single ((:commit . "ea5cafc55893f375eccbe013d12dbaa94bf6e259") (:keywords "comm" "convenience") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org"))])
+ (rcirc-groups . [(20170731 2101) nil "an emacs buffer in rcirc-groups major mode" single ((:commit . "b68ece9d219b909244d4e3c0d8bf6a746d6fead7") (:keywords "comm" "convenience") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "http://tapoueh.org/emacs/rcirc-groups.html"))])
+ (rcirc-notify . [(20150219 2204) nil "libnotify popups" single ((:commit . "841a7b5a6cdb0c11a812df924d2c6a7d364fd455") (:keywords "lisp" "rcirc" "irc" "notify" "growl") (:authors ("Will Farrington, Alex Schroeder <alex@gnu.org>, Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (rcirc-styles . [(20160207 250) ((cl-lib (0 5))) "support mIRC-style color and attribute codes" single ((:commit . "f313bf6a7470bed314b27c7a40558cb787d7bc67"))])
+ (rdf-prefix . [(20200216 914) nil "Prefix lookup for RDF" single ((:commit . "825af2c584fbad9e67c2c08e29040776fa647fe0") (:keywords "convenience" "abbrev") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/rdf-prefix"))])
+ (rdp . [(20120929 154) nil "Recursive Descent Parser library" single ((:commit . "b620192afada04aec33b38cc130fef0765f41ca9") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/rdp"))])
+ (rdxmk . [(20170630 134) nil "A small set of tools for redox developments" tar ((:commit . "e78749fb29738365ffa4d863ffabeb969ebb0bcf") (:keywords "redox" "convenience" "tools") (:authors ("Jacob Salzberg" . "jsalzbergedu@yahoo.com")) (:maintainer "Jacob Salzberg" . "jsalzbergedu@yahoo.com") (:url . "https://github.com/jsalzbergedu/rdxmk"))])
+ (react-snippets . [(20181002 1046) ((yasnippet (0 7 0))) "Yasnippets for React" tar ((:commit . "87ccb640d265fe799583ab55605b84d113223694"))])
+ (read-aloud . [(20160923 500) ((emacs (24 4))) "A simple interface to TTS engines" single ((:commit . "c662366226abfb07204ab442b4f853ed85438d8a") (:keywords "multimedia") (:authors ("Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com")) (:maintainer "Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com") (:url . "https://github.com/gromnitsky/read-aloud.el"))])
+ (readline-complete . [(20150708 1437) nil "offers completions in shell mode" single ((:commit . "30c020c37b2741160cc37e656e13c85d826a0ebf") (:authors ("Christopher Monsanto" . "chris@monsan.to")) (:maintainer "Christopher Monsanto" . "chris@monsan.to"))])
+ (real-auto-save . [(20200429 449) nil "Automatically save your all your buffers/files at regular intervals." single ((:commit . "5900d1d786000e9057b8815ab2685bed2045a5fa") (:authors ("Chaoji Li <lichaoji AT gmail DOT com>") ("Anand Reddy Pandikunta <anand21nanda AT gmail DOT com>")) (:maintainer "Chaoji Li <lichaoji AT gmail DOT com>"))])
+ (realgud . [(20200418 1721) ((load-relative (1 3 1)) (loc-changes (1 2)) (test-simple (1 3 0)) (emacs (25))) "A modular front-end for interacting with external debuggers" tar ((:commit . "e03446f54c7ee0b4ed3ec7300597046cf1de2bb8") (:keywords "debugger" "gdb" "python" "perl" "go" "bash" "zsh" "bashdb" "zshdb" "remake" "trepan" "perldb" "pdb") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud/"))])
+ (realgud-byebug . [(20190520 1140) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to the Ruby byebug debugger" tar ((:commit . "f8f20b92c6b13f75cc9797921c0e28d3def48b1c") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-byebug"))])
+ (realgud-ipdb . [(20191115 1116) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to ipdb" tar ((:commit . "347090928d7866a9909208c5bbe2cb8fa7b55cd7") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/realgud-ipdb"))])
+ (realgud-jdb . [(20191125 1700) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to Java's jdb debugger\"" tar ((:commit . "99b7f08e0fcec9e33dde8dbbe60e42cfec08bc17") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-jdb"))])
+ (realgud-lldb . [(20190912 1335) ((load-relative (1 3 1)) (realgud (1 5 0)) (emacs (25))) "Realgud front-end to lldb" tar ((:commit . "47cb0178fdde50a9d9151ab45806b41007cd758a") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-lldb"))])
+ (realgud-node-debug . [(20190525 1634) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (25))) "Realgud front-end to older \"node debug\"" tar ((:commit . "72e786359ce9dace1796b0d81a00e9340e9c90ad") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-node-debug"))])
+ (realgud-node-inspect . [(20190523 1251) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to newer \"node inspect\"" tar ((:commit . "c3ed48cf3bc2b28f9fd23bcf60ea13a3cf019fc8") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-node-inspect"))])
+ (realgud-old-debuggers . [(20190520 1150) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to older lesser-used debuggers" tar ((:commit . "0fad38283e885c452160232e01adf3f6ae51983b") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-old-debuggers"))])
+ (realgud-pry . [(20190520 1139) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to the Ruby pry debugger" tar ((:commit . "fe04c0e1e1ce33361d12ad6f9bcf493f3fe228e0") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-pry"))])
+ (realgud-rdb2 . [(20190520 1146) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end for interacting with Ruby debugger2" tar ((:commit . "3594aa74f7afda3c3251bb2af7fe0e8ec6d621ae") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-ruby-debugger2"))])
+ (realgud-trepan-ni . [(20190912 1418) ((load-relative (1 2)) (realgud (1 5 0)) (emacs (25))) "Realgud front-end to trepan-ni" tar ((:commit . "6e9cac5e8097018aadf41c88de541168036cc227") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud-trepan-ni"))])
+ (reaper . [(20200420 1703) ((emacs (24 3))) "Interact with Harvest time tracking app" single ((:commit . "c594d2fb9a027f360e98539a1debf5db639846b7") (:keywords "tools") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk") (:url . "https://github.com/xendk/reaper"))])
+ (reason-mode . [(20190710 1037) ((emacs (24 3))) "A major mode for editing ReasonML" tar ((:commit . "7cf6fbf4e8e86ebb76d118b2703e20b968e030d4") (:keywords "languages" "ocaml") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/reasonml-editor/reason-mode"))])
+ (reazon . [(20180921 1437) ((emacs (26))) "miniKanren for Emacs" tar ((:commit . "020be6467a83957adcbdcb192b61f2c76a94079b") (:keywords "languages" "extensions" "lisp") (:authors ("Nick Drozd" . "nicholasdrozd@gmail.com")) (:maintainer "Nick Drozd" . "nicholasdrozd@gmail.com") (:url . "https://github.com/nickdrozd/reazon"))])
+ (rebecca-theme . [(20180324 821) ((emacs (24))) "Rebecca Purple Theme" single ((:commit . "9ac0c71c2858b76dc5499f62c7c7fb7f9e8f16bc") (:keywords "theme" "dark") (:authors ("vic" . "vborja@apache.org")) (:maintainer "vic" . "vborja@apache.org") (:url . "https://github.com/vic/rebecca-theme"))])
+ (rebox2 . [(20121113 1300) nil "Handling of comment boxes in various styles." single ((:commit . "00634eca420cc48657b81e40e599ff8548083985") (:authors ("François Pinard") ("Le Wang")) (:maintainer "Le Wang (lewang.emacs!!!gmayo.com remove exclamations, correct host, hint: google mail)") (:url . "https://github.com/lewang/rebox2"))])
+ (recentf-ext . [(20170926 35) nil "Recentf extensions" single ((:commit . "450de5f8544ed6414e88d4924d7daa5caa55b7fe") (:keywords "convenience" "files") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/recentf-ext.el"))])
+ (recentf-remove-sudo-tramp-prefix . [(20180205 556) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "84bbac534cb114d8d11b86790435b65d36e99e68") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))])
+ (recently . [(20200120 1432) ((cl-lib (0 5)) (emacs (24))) "Track recently opened files to visit them again" single ((:commit . "fa8b52fe891a0adaabe0456f6f5a56a2600a831f") (:keywords "utility" "files") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:url . "https://github.com/10sr/recently-el"))])
+ (recompile-on-save . [(20151126 1446) ((dash (1 1 0)) (cl-lib (0 5))) "Trigger recompilation on file save." single ((:commit . "92e11446869d878803d4f3dec5d2101380c12bb2") (:keywords "convenience" "files" "processes" "tools") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "https://github.com/maio/recompile-on-save.el"))])
+ (recover-buffers . [(20171009 437) nil "revisit all buffers from an auto-save file" tar ((:commit . "81a5cb53099955ebc2a411a44cba5a394ee3f2d1") (:authors ("era eriksson <http://www.iki.fi/era>")) (:maintainer "era eriksson <http://www.iki.fi/era>"))])
+ (rect+ . [(20150621 44) nil "Extensions to rect.el" single ((:commit . "299b742faa0bc4448e0d5fe9cb98ab1eb93b8dcc") (:keywords "extensions" "data" "tools") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-rectplus"))])
+ (rectangle-utils . [(20190411 1757) ((emacs (24)) (cl-lib (0 5))) "Some useful rectangle functions." single ((:commit . "46f7e73340fee40c1ab9a4e766a08ae3fce83ebe") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/rectangle-utils"))])
+ (recursive-narrow . [(20190306 1521) nil "narrow-to-region that operates recursively" single ((:commit . "5e3e2067d5a148d7e64e64e0355d3b6860e4c259") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/recursive-narrow"))])
+ (redis . [(20150531 1948) ((emacs (24)) (cl-lib (0 5))) "Redis integration" single ((:commit . "2c33f3397bc14e7a8192867b55920492d4eead8c") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/redis.el"))])
+ (redpen-paragraph . [(20160625 1050) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "RedPen interface." single ((:commit . "770ffb34b04bfa0ea8484fa1506e96c530168e13") (:keywords "document" "proofreading" "help") (:authors ("karronoli")) (:maintainer "karronoli") (:url . "https://github.com/karronoli/redpen-paragraph.el"))])
+ (redprl . [(20180418 1434) ((emacs (24 3))) "Major mode for editing RedPRL proofs and interacting with RedPRL" single ((:commit . "c72190de76f7ed1cfbe1d2046c96e99ac5022b0c") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com"))])
+ (redshank . [(20180730 407) ((paredit (21))) "Common Lisp Editing Extensions" tar ((:commit . "d059c5841044aa163664f8bf87c1d981bf0a04fe") (:keywords "languages" "lisp") (:authors ("Michael Weber" . "michaelw@foldr.org")) (:maintainer "Michael Weber" . "michaelw@foldr.org"))])
+ (redtick . [(20180424 2136) ((emacs (24 4))) "Smallest pomodoro timer (1 char)" tar ((:commit . "94b4cd43ac20c64dcac96edac2c1a3b9fcc59bb9") (:keywords "calendar") (:authors ("F. Febles")) (:maintainer "F. Febles") (:url . "http://github.com/ferfebles/redtick"))])
+ (redtt . [(20181121 21) ((emacs (25 3))) "Major mode for editing redtt proofs" single ((:commit . "50689559ff970e33013b8cf8a3bbc8be18ec4e09") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:url . "http://github.com/RedPRL/redtt"))])
+ (refine . [(20180315 2228) ((emacs (24 3)) (s (1 11 0)) (dash (2 12 0)) (list-utils (0 4 4)) (loop (1 2))) "interactive value editing" single ((:commit . "0a99439a0b4ed6f79b9a240ea1270140a9e328bc") (:keywords "convenience") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (reformatter . [(20200426 818) ((emacs (24 3))) "Define commands which run reformatters on the current buffer" single ((:commit . "dc6278a6b1e3565604346ac41a6ffc3cbab04031") (:keywords "convenience" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/reformatter.el"))])
+ (regex-dsl . [(20100124 1028) nil "lisp syntax for regexps" single ((:commit . "ac89ab8b7691a165ef3007cb84417125cfc0632e") (:authors ("Aliaksey Kandratsenka" . "alk@tut.by")) (:maintainer "Aliaksey Kandratsenka" . "alk@tut.by"))])
+ (regex-tool . [(20170104 1918) nil "A regular expression evaluation tool for programmers" single ((:commit . "0b4a0111143c88ef94bec56624cb2e00c1a054e6") (:keywords "regex" "languages" "programming" "development") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "http://www.newartisans.com/"))])
+ (region-bindings-mode . [(20140407 2214) nil "Enable custom bindings when mark is active." single ((:commit . "3fa5dbdbd7c000bebff6d9d14a4be326ec24b6fc") (:keywords "convenience") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:url . "https://github.com/fgallina/region-bindings-mode"))])
+ (region-convert . [(20181221 528) nil "Convert string in region by Lisp function" single ((:commit . "a50a0828a989fc1788a32946249a3758793156b3") (:keywords "region" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))])
+ (region-occurrences-highlighter . [(20190905 730) ((emacs (24))) "Mark occurrences of current region (selection)." single ((:commit . "ee86d6a79342c6e4b3cfad5ec73cb0a40e18ae3d") (:keywords "convenience") (:authors ("Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com")) (:maintainer "Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com") (:url . "https://github.com/alvarogonzalezsotillo/region-occurrences-highlighter"))])
+ (region-state . [(20181205 1746) nil "Show the number of chars/lines or rows/columns in the region" single ((:commit . "8c636b655eef45e0015684699737d31e15450000") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/region-state.el"))])
+ (register-channel . [(20180926 2349) nil "Jump around fast using registers" single ((:commit . "9272923757402d177a0b2deab1d9c3c74601c48e") (:keywords "convenience") (:authors ("Yang Zhao" . "YangZhao11@users.noreply.github.com")) (:maintainer "Yang Zhao" . "YangZhao11@users.noreply.github.com"))])
+ (register-quicknav . [(20200325 1612) ((emacs (25 3))) "Quickly jump to next/previous register" single ((:commit . "06afa1efc490a6cbc1d814fc6f1e7a80a601ecc7") (:keywords "convenience") (:authors ("tastytea" . "tastytea@tastytea.de")) (:maintainer "tastytea" . "tastytea@tastytea.de") (:url . "https://schlomp.space/tastytea/register-quicknav"))])
+ (rego-mode . [(20200413 450) ((emacs (24 4)) (reformatter (0 3))) "A major mode for rego language" single ((:commit . "41c99057d0406c7fb3895a03da777af3961a648d") (:keywords "languages") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:url . "https://github.com/psibi/rego-mode"))])
+ (related . [(20190327 1024) ((cl-lib (0 5))) "Switch back and forth between similarly named buffers." single ((:commit . "546c7e811b290470288b617f2c27106bd83ccd33") (:keywords "file" "buffer" "switch" "selection" "matching" "convenience") (:authors ("Julien Montmartin")) (:maintainer "Julien Montmartin") (:url . "https://github.com/julien-montmartin/related"))])
+ (relative-buffers . [(20191004 1205) ((cl-lib (0 5)) (dash (2 6 0)) (s (1 9 0)) (f (0 16 2))) "Emacs buffers naming convention" single ((:commit . "6064cd0b3cbd42c4a46c70fc396f05be71f42bd6") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/relative-buffers"))])
+ (relax . [(20131029 2134) ((json (1 2))) "For browsing and interacting with CouchDB" single ((:commit . "6e33892623ab87833082262321dc8e1977209626") (:keywords "database" "http") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "http://github.com/technomancy/relax.el"))])
+ (remark-mode . [(20191103 1825) ((emacs (25 1)) (markdown-mode (2 0))) "Major mode for the remark slideshow tool" tar ((:commit . "e80a1b78304045dec3eceffb6c8cbaf2b6c7b57a") (:keywords "remark" "slideshow" "markdown" "hot reload") (:authors ("@torgeir")) (:maintainer "@torgeir"))])
+ (remember-last-theme . [(20170619 2133) ((emacs (24 4))) "Remember the last used theme between sessions." single ((:commit . "0973f1aa6b96355fa376fffe8b45733b6e963c51") (:keywords "convenience" "faces") (:authors ("Anler Hernández Peral" . "inbox+emacs@anler.me")) (:maintainer "Anler Hernández Peral" . "inbox+emacs@anler.me") (:url . "https://github.com/anler/remember-last-theme"))])
+ (remind-bindings . [(20200301 2213) ((emacs (25 1)) (omni-quotes (0 5)) (popwin (1 0)) (map (2 0))) "Reminders for your init bindings" single ((:commit . "730b6d7b30e397f8f11a6d3d5c269df21a33c450") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/remind-bindings.el"))])
+ (renpy . [(20190419 1749) nil "silly walks for Renpy" single ((:commit . "943e1af71d23128ff100d41d178ccffe28f97944") (:keywords "languages") (:authors ("PyTom" . "pytom@bishoujo.us")) (:maintainer "Dave Love" . "fx@gnu.org") (:url . "https://github.com/billywade/renpy-mode"))])
+ (repeatable-motion . [(20170620 1848) ((emacs (24))) "Make repeatable versions of motions" tar ((:commit . "f29effdc4121c2dc7e3fec9b3a62debce29cda9d") (:keywords "motion" "repeatable") (:authors ("William Hatch" . "willghatch@gmail.com")) (:maintainer "William Hatch" . "willghatch@gmail.com") (:url . "https://github.com/willghatch/emacs-repeatable-motion"))])
+ (repeater . [(20180418 1212) ((emacs (24 4))) "Repeat recent repeated commands" single ((:commit . "854b874542b186b2408cbc58ad0591fe8eb70b6c") (:keywords "convenience") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/repeater"))])
+ (repl-toggle . [(20190430 713) ((fullframe (0 0 5))) "Switch to/from repl buffer for current major-mode" single ((:commit . "a36caac7649fbffbe30f7b06541c9efd723563fc") (:keywords "repl" "buffers" "toggle") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))])
+ (replace-from-region . [(20170227 2316) nil "Replace commands whose query is from region" single ((:commit . "dc9318b9b2822da7b00ecc34d1dc965c8f96c9bb") (:keywords "replace" "search" "region") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/emacs/download/replace-from-region.el"))])
+ (replace-pairs . [(20160207 1251) ((emacs (24 4))) "Query-replace pairs of things" single ((:commit . "acfb254dddffcee4250092fab9394ef2b42ffbc0") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/replace-pairs"))])
+ (replace-symbol . [(20160518 12) nil "Rename symbols in expressions or buffers" single ((:commit . "baf949e528aee1881f455f9c84e67718bedcb3f6") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/replace-symbol-el"))])
+ (replace-with-inflections . [(20180831 635) ((cl-lib (0 5)) (string-inflection (1 0 10)) (inflections (1 1))) "Inflection aware `query-replace'" single ((:commit . "d9201e047856492f282da65459b28aba25998dbb") (:keywords "matching") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/replace-with-inflections.el"))])
+ (repo . [(20191201 38) ((emacs (24 3))) "Running repo from Emacs" single ((:commit . "7b3ce731f1209d74113cb65a2d6aa6f54ce8ed27") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/repo-el"))])
+ (req-package . [(20180122 500) ((use-package (1 0)) (dash (2 7 0)) (log4e (0 2 0)) (ht (0))) "A use-package wrapper for package runtime dependencies management" tar ((:commit . "0c0ac7451149dac6bfda2adfe959d1df1c273de6") (:keywords "dotemacs" "startup" "speed" "config" "package") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:url . "https://github.com/edvorg/req-package"))])
+ (request . [(20200219 2257) ((emacs (24 4))) "Compatible layer for URL request in Emacs" single ((:commit . "216d570a58d05ef1307edb63d2539bafa5f688c6") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:url . "https://github.com/tkf/emacs-request"))])
+ (request-deferred . [(20181129 317) ((deferred (0 3 1)) (request (0 2 0))) "Wrap request.el by deferred" single ((:commit . "216d570a58d05ef1307edb63d2539bafa5f688c6") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:url . "https://github.com/tkf/emacs-request"))])
+ (requirejs . [(20151204 719) ((js2-mode (20150713)) (popup (0 5 3)) (s (1 9 0)) (cl-lib (0 5)) (yasnippet (20151011 1823))) "Requirejs import manipulation and source traversal." tar ((:commit . "4ea2a5fcbc76e4cbb6a7461e6f05f019b75865b1") (:keywords "javascript" "requirejs") (:authors ("Joe Heyming" . "joeheyming@gmail.com")) (:maintainer "Joe Heyming" . "joeheyming@gmail.com") (:url . "https://github.com/joeheyming/requirejs-emacs"))])
+ (requirejs-mode . [(20130215 2104) nil "Improved AMD module management" single ((:commit . "bbb0c09f8eb2d6a33c17319be8137f68bb16bc92") (:keywords "javascript" "amd" "requirejs") (:authors ("Marc-Olivier Ricard" . "marco.ricard@gmail.com")) (:maintainer "Marc-Olivier Ricard" . "marco.ricard@gmail.com"))])
+ (resize-window . [(20180918 538) ((emacs (24)) (cl-lib (0 5))) "easily resize windows" single ((:commit . "72018aa4d2401b60120588199d4cedd0dc1fbcfb") (:keywords "window" "resize") (:authors ("Dan Sutton " . "danielsutton01@gmail.com")) (:maintainer "Dan Sutton " . "danielsutton01@gmail.com") (:url . "https://github.com/dpsutton/resize-mode"))])
+ (restart-emacs . [(20180601 1031) nil "Restart emacs from within emacs" single ((:commit . "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9") (:keywords "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/restart-emacs"))])
+ (restclient . [(20200430 1312) nil "An interactive HTTP client for Emacs" single ((:commit . "e4f1c9824b7bc9b8041709d2914de2850806d59c") (:keywords "http") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))])
+ (restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "e4f1c9824b7bc9b8041709d2914de2850806d59c") (:keywords "http" "helm") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))])
+ (restclient-test . [(20180106 2046) ((emacs (24 4)) (restclient (0))) "Run tests with restclient.el" single ((:commit . "4518561bc9661fedacb6fb352e9677207f45c418") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/restclient-test.el"))])
+ (reveal-in-folder . [(20191209 514) ((emacs (24 3)) (f (0 20 0))) "Reveal current file in folder" single ((:commit . "e3cc73688d8dc3b47ccb1db49519a83b275b1cde") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/reveal-in-folder"))])
+ (reveal-in-osx-finder . [(20150802 1657) nil "Reveal file associated with buffer in OS X Finder" single ((:commit . "5710e5936e47139a610ec9a06899f72e77ddc7bc") (:keywords "os x" "finder") (:authors ("Kazuki YOSHIDA")) (:maintainer "Kazuki YOSHIDA") (:url . "https://github.com/kaz-yos/reveal-in-osx-finder"))])
+ (reverse-im . [(20200324 1113) ((emacs (25 1))) "Reverse mapping for non-default system layouts" single ((:commit . "c42a7a585c7b85bc402f63535ae6261f68c6aa57") (:keywords "i18n") (:url . "https://github.com/a13/reverse-im.el"))])
+ (reverse-theme . [(20141205 145) nil "Reverse theme for Emacs" single ((:commit . "8319d0d5342890a3530ffa4daafdb7c35feda1ca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-reverse-theme"))])
+ (review-mode . [(20200131 122) nil "major mode for ReVIEW" single ((:commit . "09e2df58398b392f19642a12c8cb78eae726dbd2") (:authors ("Kenshi Muto" . "kmuto@kmuto.jp")) (:maintainer "Kenshi Muto" . "kmuto@kmuto.jp") (:url . "https://github.com/kmuto/review-el"))])
+ (reykjavik-theme . [(20180823 1544) ((emacs (24))) "Theme with a dark background." single ((:commit . "2cd0043ae6d046f812a95bb26398ea23141beccc") (:authors ("martin haesler")) (:maintainer "martin haesler"))])
+ (rfc-mode . [(20200215 1357) ((emacs (25 1)) (helm (3 2))) "RFC document browser and viewer" single ((:commit . "55d28321b480a095d29e5c6cd03c8dea9ad55553") (:authors ("Nicolas Martyanoff" . "khaelin@gmail.com")) (:maintainer "Nicolas Martyanoff" . "khaelin@gmail.com") (:url . "https://github.com/galdor/rfc-mode"))])
+ (rg . [(20200307 1623) ((emacs (25 1)) (s (1 10 0)) (transient (0 1 0)) (wgrep (2 1 10))) "A search tool based on ripgrep." tar ((:commit . "e19c06f4c556bda6457da3d50c14b12cb97679d9") (:keywords "matching" "tools") (:authors ("David Landell" . "david.landell@sunnyhill.email") ("Roland McGrath" . "roland@gnu.org")) (:maintainer "David Landell" . "david.landell@sunnyhill.email") (:url . "https://github.com/dajva/rg.el"))])
+ (rhtml-mode . [(20130422 1311) nil "major mode for editing RHTML files" tar ((:commit . "a6d71b38a3db867ccf82999c99805db1a3a33c33"))])
+ (rib-mode . [(20170726 1448) ((emacs (24))) "RenderMan® Interface Bytestream (RIB) Major Mode" single ((:commit . "97470158784c3c212e22e2c20b8471ee65ba59af") (:authors ("Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com")) (:maintainer "Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com") (:url . "https://github.com/blezek/rib-mode"))])
+ (rich-minority . [(20190419 1136) ((cl-lib (0 5))) "Clean-up and Beautify the list of minor-modes." single ((:commit . "a03e693f6f9232cf75363aaaf1cb041f21675c19") (:keywords "mode-line" "faces") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/rich-minority"))])
+ (right-click-context . [(20190528 1832) ((emacs (24 3)) (cl-lib (0 5)) (popup (0 5)) (ordinal (0 0 1))) "Right Click Context menu" single ((:commit . "4b1a2cd2b3eaea2393d3696a36da8f42e386c23d") (:keywords "mouse" "menu" "rightclick") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))])
+ (rigid-tabs . [(20170903 1559) ((emacs (24 3))) "Fix TAB alignment in diff buffers" single ((:commit . "eba84ceaba2e57e76ad2dfbb7a7154238a25d956") (:keywords "diff" "whitespace" "version control" "magit") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:url . "https://github.com/wavexx/rigid-tabs.el"))])
+ (rime . [(20200415 1454) ((emacs (26 3)) (dash (2 12 0)) (cl-lib (0 6 1)) (popup (0 5 3)) (posframe (0 1 0))) "Rime input method" tar ((:commit . "9afeb4aa45771ef20c83d1208744d954273cbaf3") (:keywords "convenience" "input-method") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://www.github.com/DogLooksGood/emacs-rime"))])
+ (rimero-theme . [(20180901 1348) ((emacs (24))) "Theme with a dark background suitable for UI and terminal usage." single ((:commit . "a2e706c2b34f749019979a133f08a2d94a1104b3") (:keywords "faces" "theme" "dark" "light colors") (:authors ("Yves Zoundi" . "yveszoundi@users.sf.net")) (:maintainer "Yves Zoundi" . "yveszoundi@users.sf.net") (:url . "https://github.com/yveszoundi/emacs-rimero-theme"))])
+ (rinari . [(20150709 640) ((ruby-mode (1 0)) (inf-ruby (2 2 5)) (ruby-compilation (0 16)) (jump (2 0))) "Rinari Is Not A Rails IDE" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:keywords "ruby" "rails" "project" "convenience" "web") (:authors ("Phil Hagelberg, Eric Schulte, Steve Purcell")) (:maintainer "Phil Hagelberg, Eric Schulte, Steve Purcell") (:url . "https://github.com/eschulte/rinari"))])
+ (rings . [(20160531 2027) nil "Buffer rings. Like tabs, but better." single ((:commit . "3590b222eb80652cbd27866f066bd3571d86edfc") (:keywords "utilities" "productivity") (:authors ("Konrad Scorciapino")) (:maintainer "Konrad Scorciapino") (:url . "http://github.com/konr/rings"))])
+ (ripgrep . [(20190215 841) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "40e871dcc4519a70981e9f28acea304692a60978") (:keywords "ripgrep" "ack" "pt" "ag" "sift" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/ripgrep.el"))])
+ (riscv-mode . [(20170804 1521) ((emacs (24 4))) "Major-mode for RISC V assembly" single ((:commit . "99febf97d1fa9441e8dada94fe30c2aa439c9749") (:keywords "riscv" "assembly") (:authors ("Adam Niederer <https://github.com/AdamNiederer>")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/riscv-mode"))])
+ (rivet-mode . [(20191230 1842) ((emacs (24)) (web-mode (16))) "Minor mode for editing Apache Rivet" single ((:commit . "ac15de8c76978638e129c26869123c75d5b1f8c7") (:authors ("Jade Michael Thornton")) (:maintainer "Jade Michael Thornton") (:url . "https://gitlab.com/thornjad/rivet-mode"))])
+ (rjsx-mode . [(20200120 1446) ((emacs (24 4)) (js2-mode (20170504))) "Real support for JSX" single ((:commit . "0061587a06cdc2579a8d0e90863498d96bf982d8") (:keywords "languages") (:authors ("Felipe Ochoa" . "felipe@fov.space")) (:maintainer "Felipe Ochoa" . "felipe@fov.space") (:url . "https://github.com/felipeochoa/rjsx-mode/"))])
+ (rmsbolt . [(20191218 257) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "2bc1afe528b70b8aad4243a3b2b72bcf09a599e1") (:keywords "compilation" "tools") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/rmsbolt"))])
+ (robe . [(20190521 58) ((inf-ruby (2 5 1)) (emacs (24 4))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "68503b32bb3a005787ecb7a7fdeb3bb4a2317e2b") (:keywords "ruby" "convenience" "rails") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:url . "https://github.com/dgutov/robe"))])
+ (robots-txt-mode . [(20190812 1858) nil "Major mode for editing robots.txt" single ((:commit . "8bf67285a25a6756607354d184e36583f2847e7d") (:keywords "languages" "comm" "web") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/robots-txt-mode"))])
+ (roguel-ike . [(20160120 302) ((popup (0 5 0))) "A coffee-break roguelike" tar ((:commit . "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))])
+ (rope-read-mode . [(20191215 1240) ((emacs (24))) "Rearrange lines to read text smoothly" single ((:commit . "d1246557e2c9c685b0ee4ec0e58237431b846096") (:keywords "reading" "convenience" "chill") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://github.com/marcowahl/rope-read-mode"))])
+ (ros . [(20200109 1940) ((emacs (24 4))) "Package to interact with and write code for ROS systems" tar ((:commit . "0babdd3bbc038ee7436db0cc869df35752456268") (:authors ("Max Beutelspacher" . "max.beutelspacher@mailbox.org")) (:maintainer "Max Beutelspacher" . "max.beutelspacher@mailbox.org") (:url . "https://github.com/DerBeutlin/ros.el"))])
+ (rotate . [(20160909 836) nil "Rotate the layout of emacs" single ((:commit . "091b5ac4fc310773253efb317e3dbe8e46959ba6") (:keywords "window" "layout") (:authors ("daichi.hirata <hirata.daichi at gmail.com>")) (:maintainer "daichi.hirata <hirata.daichi at gmail.com>") (:url . "https://github.com/daichirata/emacs-rotate"))])
+ (roy-mode . [(20121208 1158) nil "Roy major mode" single ((:commit . "0416f561edbc6b4a29fced8be84d2527a9613d65") (:keywords "extensions") (:authors ("Georgii Leontiev")) (:maintainer "Georgii Leontiev") (:url . "https://github.com/folone/roy-mode"))])
+ (rpm-spec-mode . [(20160710 1136) nil "RPM spec file editing commands for Emacs/XEmacs" single ((:commit . "c1c38050c48ea330c7cea632b8785d66daeefb2b") (:keywords "unix" "languages") (:authors ("Stig Bjørlykke," . "stig@bjorlykke.org")) (:maintainer "Stig Bjørlykke," . "stig@bjorlykke.org"))])
+ (rpn-calc . [(20181121 1154) ((popup (0 4))) "quick RPN calculator for hackers" single ((:commit . "27279f89c80eb3f28ff9f981eff06502056943e2") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/rpn-calc"))])
+ (rsense . [(20100511 405) nil "RSense client for Emacs" single ((:commit . "8b5ee58318747ca1dde84ee41d48c4f50175cf35") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "tomo@cx4a.org")) (:maintainer "Tomohiro Matsuyama" . "tomo@cx4a.org"))])
+ (rspec-mode . [(20200228 2348) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "9a2a9d2935ae17b8570485bdea7c347533b464f6") (:keywords "rspec" "ruby") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:url . "http://github.com/pezra/rspec-mode"))])
+ (rtags . [(20200221 36) ((emacs (24 3))) "A front-end for rtags" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))])
+ (rtags-xref . [(20200310 1909) ((emacs (25 1)) (rtags (2 37))) "RTags backend for xref.el" single ((:commit . "a42298e80dffae9a6b2e9816506174542f3cbbb7") (:authors ("Jörg Walter")) (:maintainer "RTags Team") (:url . "https://github.com/Andersbakken/rtags"))])
+ (rtm . [(20180329 1508) ((cl-lib (1 0))) "An elisp implementation of the Remember The Milk API" single ((:commit . "3e3d09387cb84801343ecca8fb02e82f213e7bbe") (:keywords "remember" "the" "milk" "productivity" "todo") (:authors ("Friedrich Delgado Friedrichs" . "frie...@nomaden.org")) (:maintainer "Friedrich Delgado Friedrichs" . "frie...@nomaden.org") (:url . "https://github.com/pmiddend/emacs-rtm"))])
+ (rubik . [(20180222 2014) ((cl-lib (1 0)) (emacs (25 3))) "Rubik's Cube" single ((:commit . "c8dab1726463dbc9042a0b00186e4a8df02eb868") (:keywords "games") (:authors ("Ivan 'Kurvivor' Truskov" . "trus19@gmail.com")) (:maintainer "Ivan 'Kurvivor' Truskov" . "trus19@gmail.com") (:url . "https://github.com/Kurvivor19/rubik-mode"))])
+ (rubocop . [(20190326 1424) ((emacs (24))) "An Emacs interface for RuboCop" single ((:commit . "03bf15558a6eb65e4f74000cab29412efd46660e") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/rubocop-emacs"))])
+ (rubocopfmt . [(20181009 1703) ((cl-lib (0 5))) "Minor-mode to format Ruby code with RuboCop on save" single ((:commit . "fc96145719a65b2551339d087ddd95b72e14646f") (:keywords "convenience" "wp" "edit" "ruby" "rubocop") (:authors ("Jim Myhrberg")) (:maintainer "Jim Myhrberg") (:url . "https://github.com/jimeh/rubocopfmt.el"))])
+ (ruby-compilation . [(20150709 640) ((inf-ruby (2 2 1))) "run a ruby process in a compilation buffer" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:keywords "test" "convenience") (:authors ("Eric Schulte")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/eschulte/rinari"))])
+ (ruby-electric . [(20200328 1528) nil "Minor mode for electrically editing ruby code" single ((:commit . "f2323cd9b5df3b34aa9810ba8109502824925d23") (:keywords "languages" "ruby") (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/ruby/elisp-ruby-electric"))])
+ (ruby-end . [(20141215 1223) nil "Automatic insertion of end blocks for Ruby" single ((:commit . "a136f75abb6d5577ce40d61dfeb778c2e9bb09c0") (:keywords "speed" "convenience" "ruby") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ruby-end"))])
+ (ruby-extra-highlight . [(20171106 1933) nil "Highlight Ruby parameters." single ((:commit . "83942d18eae361998d24c1c523b308eea821f048") (:keywords "languages" "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/ruby-extra-highlight"))])
+ (ruby-factory . [(20160102 721) ((inflections (1 1))) "Minor mode for Ruby test object generation libraries" tar ((:commit . "2bb7ccc2fccb5257376a989aa395bc7b9eb1d55d") (:keywords "ruby" "rails" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/ruby-factory-mode"))])
+ (ruby-hash-syntax . [(20200304 2214) ((emacs (24 1))) "Toggle ruby hash syntax between => and 1.9+ styles" single ((:commit . "d64036278dcfb4fa0603e6697142e02c2876f634") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ruby-hash-syntax"))])
+ (ruby-interpolation . [(20131112 1652) nil "Ruby string interpolation helpers" single ((:commit . "1978e337601222cedf00e117bf4b5cac15d1f203") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/ruby-interpolation.el"))])
+ (ruby-refactor . [(20160214 1650) ((ruby-mode (1 2))) "A minor mode which presents various Ruby refactoring helpers." single ((:commit . "e6b7125878a08518bffec6942df0c606f748e9ee") (:keywords "refactor" "ruby") (:url . "https://github.com/ajvargo/ruby-refactor"))])
+ (ruby-test-mode . [(20190412 909) ((ruby-mode (1 0)) (pcre2el (1 8))) "Minor mode for Behaviour and Test Driven" single ((:commit . "e805a81c3ea787f3c82dbb252c21d747be20bc7a") (:keywords "ruby" "unit" "test" "rspec" "tools") (:authors ("Roman Scherer" . "roman.scherer@gmx.de") ("Caspar Florian Ebeling" . "florian.ebeling@gmail.com")) (:maintainer "Roman Scherer" . "roman.scherer@burningswell.com") (:url . "https://github.com/ruby-test-mode/ruby-test-mode"))])
+ (ruby-tools . [(20151209 1615) nil "Collection of handy functions for ruby-mode." tar ((:commit . "6b97066b58a4f82eb2ecea6434a0a7e981aa4c18"))])
+ (rufo . [(20170718 1416) ((emacs (24 3))) "use rufo to automatically format ruby files" single ((:commit . "020b02ed6e9ab49e79d2ddf63e4ee2684c1728f4") (:authors ("Daniel Ma" . "danielhgma@gmail.com")) (:maintainer "Daniel Ma" . "danielhgma@gmail.com") (:url . "https://github.com/danielma/rufo.el"))])
+ (rum-mode . [(20180127 22) ((emacs (24))) "Major mode for Rum programming language" single ((:commit . "b69a3866e0299cae8c9c805d644e69b2c17b64de") (:keywords "rum" "languages" "lisp") (:url . "https://github.com/rumlang/rum-mode"))])
+ (run-stuff . [(20200106 443) ((emacs (24 4))) "context based command execution" single ((:commit . "d9f7fde3d33446481655d18ca5423c03a23c2e41") (:keywords "files" "lisp" "files" "convenience" "hypermedia") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://github.com/ideasman42/emacs-run-stuff"))])
+ (runner . [(20160524 743) nil "Improved \"open with\" suggestions for dired" single ((:commit . "a211d57ddc600410d07a8b534920ba905b093d87") (:keywords "shell command" "dired" "file extension" "open with") (:authors ("Thamer Mahmoud" . "thamer.mahmoud@gmail.com")) (:maintainer "Thamer Mahmoud" . "thamer.mahmoud@gmail.com") (:url . "https://github.com/thamer/runner"))])
+ (runtests . [(20150807 831) nil "Run unit tests from Emacs" single ((:commit . "ed90249f24cc48290018df48b9b9b7172440be3e") (:keywords "test") (:authors ("Sune Simonsen" . "sune@we-knowhow.dk")) (:maintainer "Sune Simonsen" . "sune@we-knowhow.dk") (:url . "https://github.com/sunesimonsen/emacs-runtests"))])
+ (russian-holidays . [(20170109 2140) nil "Russian holidays for the calendar" single ((:commit . "b285a30f29d85c48e3ea4eb93972d34a090c167b") (:authors ("Alexander I.Grafov" . "siberian@laika.name")) (:maintainer "Alexander I.Grafov" . "siberian@laika.name") (:url . "https://github.com/grafov/russian-holidays"))])
+ (rust-auto-use . [(20181125 637) nil "Utility to automatically insert Rust use statements" single ((:commit . "d924505ecd954625dcb2d56dfba97111dc6a17fa") (:keywords "languages") (:authors ("Rotem Yaari" . "rotemy@MBP.local")) (:maintainer "Rotem Yaari" . "rotemy@MBP.local"))])
+ (rust-mode . [(20200429 213) ((emacs (24 0))) "A major emacs mode for editing Rust source code" single ((:commit . "39f32ccd6a1183df26a223a23db255a67076cd2d") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/rust-lang/rust-mode"))])
+ (rust-playground . [(20200116 1043) ((emacs (24 3))) "Local Rust playground for short code snippets." single ((:commit . "5a117781dcb66065bea7830dd73618008fc34949") (:keywords "tools" "rust") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:url . "https://github.com/grafov/rust-playground"))])
+ (rustic . [(20200427 1132) ((emacs (26 1)) (xterm-color (1 6)) (dash (2 13 0)) (s (1 10 0)) (f (0 18 2)) (projectile (0 14 0)) (markdown-mode (2 3)) (spinner (1 7 3)) (let-alist (1 0 4)) (seq (2 3)) (ht (2 0))) "Rust development environment" tar ((:commit . "32a962ab2d3f87bde0e12c4e8975fe73d8ba8579") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla"))])
+ (rvm . [(20150402 1442) nil "Emacs integration for rvm" single ((:commit . "134497bc460990c71ab8fa75431156e62c17da2d") (:keywords "ruby" "rvm") (:authors ("Yves Senn" . "yves.senn@gmx.ch")) (:maintainer "Yves Senn" . "yves.senn@gmx.ch") (:url . "http://www.emacswiki.org/emacs/RvmEl"))])
+ (ryo-modal . [(20191017 1323) ((emacs (25 1))) "Roll your own modal mode" single ((:commit . "3a54312eea7023a86ca3f8eb3c03c872554bff2f") (:keywords "convenience" "modal" "keys") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/ryo-modal"))])
+ (s . [(20180406 808) nil "The long lost Emacs string manipulation library." single ((:commit . "43ba8b563bee3426cead0e6d4ddc09398e1a349d") (:keywords "strings") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (s-buffer . [(20130605 2124) ((s (1 6 0)) (noflet (0 0 3))) "s operations for buffers" single ((:commit . "f95d234282377f00a2c3a9846681080cb95bb1df") (:keywords "lisp") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-s-buffer"))])
+ (s12cpuv2-mode . [(20171013 2051) ((emacs (24 3))) "Major-mode for S12CPUV2 assembly" single ((:commit . "b17d4cf848dec1e20e66458e5c7ff77a2c051a8c") (:keywords "s12cpuv2" "assembly" "languages") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "https://github.com/AdamNiederer/s12cpuv2-mode"))])
+ (s3ed . [(20180204 1349) ((emacs (24 4)) (seq (0)) (dash (0))) "Tramp-like access to s3" tar ((:commit . "13503cb057bed29cb00a14dffe4472b5cb7748ad") (:keywords "s3" "tools") (:authors ("Matt Usifer" . "mattusifer@gmail.com")) (:maintainer "Matt Usifer" . "mattusifer@gmail.com") (:url . "https://github.com/mattusifer/s3ed"))])
+ (sackspace . [(20130719 956) nil "A better backspace" single ((:commit . "fd0480eaaf6d3d11fd30ac5feb2da2f4f7572708") (:keywords "delete" "convenience") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Michael Markert" . "markert.michael@googlemail.com") (:url . "http://github.com/cofi/sackspace.el"))])
+ (sage-shell-mode . [(20191103 1040) ((cl-lib (0 6 1)) (emacs (24 4)) (let-alist (1 0 5)) (deferred (0 5 1))) "A front-end for Sage Math" tar ((:commit . "8ff9888fd84a96816512403a1b5ded93b4d4278b") (:keywords "sage" "math") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/sagemath/sage-shell-mode"))])
+ (sailfish-scratchbox . [(20171202 1332) nil "Sailfish OS scratchbox inside the emacs." single ((:commit . "65c6b04abadd2cdeb4cc2dc2a8b96b06e0f27ed8") (:keywords "sb2" "mb2" "building" "scratchbox" "sailfish") (:authors ("V. V. Polevoy" . "fx@thefx.co")) (:maintainer "V. V. Polevoy" . "fx@thefx.co") (:url . "https://github.com/vityafx/sailfish-scratchbox.el"))])
+ (salesforce-utils . [(20160814 154) ((cl-lib (0 5))) "simple utilities for Salesforce" single ((:commit . "73328baf0fb94ac0d0de645a8f6d42e5ae27f773") (:authors ("Sean McAfee")) (:maintainer "Sean McAfee") (:url . "https://github.com/grimnebulin/emacs-salesforce"))])
+ (salt-mode . [(20200210 1200) ((emacs (24 4)) (yaml-mode (0 0 12)) (mmm-mode (0 5 4)) (mmm-jinja2 (0 1))) "Major mode for Salt States" single ((:commit . "c46b24e7fdf4a46df5507dc9c533bbc0064a46fa") (:keywords "languages") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Glynn Forrest" . "me@glynnforrest.com") (:url . "https://github.com/glynnforrest/salt-mode"))])
+ (sane-term . [(20181130 101) ((emacs (24 1))) "Multi Term is crazy. This is not." single ((:commit . "46352169bd6d2a86ca9c2052cd05ecd16fc7657b") (:authors ("Adam Patterson" . "adam@adamrt.com")) (:maintainer "Adam Patterson" . "adam@adamrt.com") (:url . "http://github.com/adamrt/sane-term"))])
+ (sass-mode . [(20190502 53) ((haml-mode (3 0 15)) (cl-lib (0 5))) "Major mode for editing Sass files" single ((:commit . "247a0d4b509f10b28e4687cd8763492bca03599b") (:keywords "markup" "language" "css") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "http://github.com/nex3/haml/tree/master"))])
+ (sauron . [(20181216 1200) nil "Track (erc/org/dbus/...) events and react to them." tar ((:commit . "e20eb21c93492a7c9e89579409ae5a07f77aa9fd"))])
+ (save-load-path . [(20140206 1214) nil "save load-path and reuse it to test" single ((:commit . "6cb763a37e2b8af505bff2bcd11fd49c9ea04d66") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/save-load-path.el"))])
+ (save-visited-files . [(20200212 414) nil "save opened files across sessions" single ((:commit . "8203a05a322324ec17b14437c8dfb38efdb53241") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/save-visited-files"))])
+ (savekill . [(20140418 229) nil "Save kill ring to disk" single ((:commit . "67fc94e3d8fe8ce3ca16f90518f6a46479b63e34") (:keywords "tools") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/savekill.el"))])
+ (say-what-im-doing . [(20160706 1931) nil "dictate what you're doing with text to speech" single ((:commit . "5b2ce6783b02805bcac1107a149bfba3852cd9d5") (:keywords "text to speech" "dumb" "funny") (:authors ("Benaiah Mischenko")) (:maintainer "Benaiah Mischenko") (:url . "http://github.com/benaiah/say-what-im-doing"))])
+ (sayid . [(20190919 654) ((cider (0 21 0))) "sayid nREPL middleware client" single ((:commit . "277404a6bb0a979e195df5886fc143bb1d1f1e8c") (:authors ("Bill Piel" . "bill@billpiel.com")) (:maintainer "Bill Piel" . "bill@billpiel.com") (:url . "https://github.com/clojure-emacs/sayid"))])
+ (sbt-mode . [(20200106 753) ((emacs (24 4))) "Interactive support for sbt projects" tar ((:commit . "633a315ad453cd963588c9b8fba02d9cf75296b4") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-sbt-mode"))])
+ (scad-mode . [(20190413 1246) nil "A major mode for editing OpenSCAD code" single ((:commit . "648206e2ea609e8f38599cd540368d54ff52ae8a") (:keywords "languages") (:authors ("Len Trigg, Łukasz Stelmach")) (:maintainer "Len Trigg" . "lenbok@gmail.com") (:url . "https://raw.github.com/openscad/openscad/master/contrib/scad-mode.el"))])
+ (scad-preview . [(20160206 1336) ((scad-mode (91 0))) "Preview SCAD models in real-time within Emacs" single ((:commit . "fee011589671cc8f1296cb6aa81553e5bb699819") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (scala-mode . [(20190929 1522) nil "Major mode for editing Scala" tar ((:commit . "46bb948345f165ebffe6ff3116e36a3b8a3f219d") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-scala-mode"))])
+ (scalariform . [(20190114 215) ((s (1 12 0)) (f (0 20 0))) "Format Scala code with scalariform." single ((:commit . "478a15ccb4f825aba73262bccd3e61ce7017f64b") (:keywords "processes" "scala" "scalariform") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:url . "https://github.com/zwild/scalariform"))])
+ (scf-mode . [(20151122 248) nil "shorten file-names in compilation type buffers" single ((:commit . "dbfcdcd89034f208d65e181af58e0d73ad09f8b2") (:keywords "compilation") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/scf-mode"))])
+ (scheme-complete . [(20181029 1255) nil "Smart auto completion for Scheme in Emacs" single ((:commit . "b86ee41d48664839181498313f4f3dc2fef17d6f") (:authors ("Alex Shinn")) (:maintainer "Alex Shinn"))])
+ (schrute . [(20170521 1840) ((emacs (24 3))) "Help you remember there is a better way to do something." single ((:commit . "59faa6c4232ae183cea93237301acad8c0763997") (:keywords "convenience") (:authors ("Jorge Araya Navarro" . "elcorreo@deshackra.com")) (:maintainer "Jorge Araya Navarro" . "elcorreo@deshackra.com") (:url . "https://bitbucket.org/shackra/dwight-k.-schrute"))])
+ (scihub . [(20190801 920) ((emacs (25))) "Sci-Hub integration" single ((:commit . "a32e8f47961d606c1315a972f2dab4d3a61945af") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/scihub.el"))])
+ (scion . [(20130315 1255) nil "Haskell Minor Mode for Interacting with the Scion Library" single ((:commit . "99b4589175665687181a932cd836850205625f71") (:url . "https://code.google.com/p/scion-lib/"))])
+ (sclang-extensions . [(20160509 338) ((auto-complete (1 4 0)) (s (1 3 1)) (dash (1 2 0)) (emacs (24 1))) "Extensions for the SuperCollider Emacs mode." tar ((:commit . "e9cc79732f16fdb582129303110c163dcc0d6da0") (:keywords "sclang" "supercollider" "languages" "tools") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))])
+ (sclang-snippets . [(20130513 751) ((yasnippet (0 8 0))) "Snippets for the SuperCollider Emacs mode" tar ((:commit . "c840a416b96f83bdd70491e3d1fbe2f1ae8b3f58") (:keywords "snippets") (:authors ("ptrv" . "mail@petervasil.net")) (:maintainer "ptrv" . "mail@petervasil.net"))])
+ (scpaste . [(20200415 40) ((htmlize (1 39))) "Paste to the web via scp." single ((:commit . "ca95a8dd088e848bd1cab6be207c6a98343ee176") (:keywords "convenience" "hypermedia") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/scpaste"))])
+ (scratch . [(20190314 614) ((emacs (25 1))) "Mode-specific scratch buffers" single ((:commit . "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca") (:keywords "convenience" "tools" "files") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:url . "https://github.com/ieure/scratch-el"))])
+ (scratch-ext . [(20140104 516) nil "Extensions for *scratch*" single ((:commit . "388c53cddd0466b451264894667ed64a6947ad67") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "https://github.com/kyanagi/scratch-ext-el"))])
+ (scratch-log . [(20141115 743) nil "Utility for *scratch* buffer." single ((:commit . "1168f7f16d36ca0f4ddf2bb98881f8db62cc5dc0") (:authors ("kmori" . "morihenotegami@gmail.com")) (:maintainer "kmori" . "morihenotegami@gmail.com"))])
+ (scratch-message . [(20170107 1336) nil "Changing message in your scratch buffer" single ((:commit . "3ecc7f5e3b8a597ebd1492fd426d3720a7f34302") (:keywords "util" "scratch") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/scratch-message.git"))])
+ (scratch-palette . [(20150225 842) ((popwin (0 7 0 -3))) "make scratch buffer for each files" single ((:commit . "f6803b448079f4a81cc699cec7442ef543cd5818") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (scratch-pop . [(20170510 1458) ((popwin (0 7 0 -3))) "Generate, popup (& optionally backup) scratch buffer(s)." single ((:commit . "7f4172c792b10bd38898dd8963cf0ade91921869") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (scratches . [(20151006 416) ((dash (2 11 0)) (f (0 17 0))) "Multiple scratches in any language" single ((:commit . "9441afe6396ca38f08029123fab5d87429cbf315") (:keywords "scratch") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))])
+ (scribble-mode . [(20190912 200) ((emacs (24))) "Major mode for editing Scribble documents" single ((:commit . "5c3ea3cc9bbad585476eee41ea76dc056c2012bb") (:keywords "convenience") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/scribble-mode"))])
+ (scroll-on-drag . [(20200411 1050) ((emacs (26 2))) "Interactive scrolling" single ((:commit . "42d96a60a207cd73e7a58111358deb05f084c59e") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://github.com/ideasman42/emacs-scroll-on-drag"))])
+ (scrollkeeper . [(20190109 629) ((emacs (25 1))) "Custom scrolling commands with visual guidelines" single ((:commit . "3c4ac6b6b44686d31c260ee0b19daaee59bdccd6") (:keywords "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/scrollkeeper.el"))])
+ (scrooge . [(20180630 1022) ((emacs (24)) (cl-lib (0 5)) (dash (2 13 0)) (thrift (0 9 3))) "Major mode for Twitter Scrooge files" single ((:commit . "0a8c58e9e6708abe4ef7e415bc1e0472318bb1b0") (:keywords "scrooge" "thrift") (:authors ("Daniel McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Daniel McClanahan" . "danieldmcclanahan@gmail.com"))])
+ (scss-mode . [(20180123 1708) nil "Major mode for editing SCSS files" single ((:commit . "cf58dbec5394280503eb5502938f3b5445d1b53d") (:keywords "scss" "css" "mode") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:url . "https://github.com/antonj/scss-mode"))])
+ (sdcv . [(20190610 732) ((emacs (24 3)) (popup (0 5 3)) (showtip (0 1)) (pos-tip (0 4 6)) (cl-lib (0 3))) "Interface for sdcv (StartDict console version)." single ((:commit . "943ae3e90cc9a0a88a37cc710acd7424fd4defc4") (:keywords "startdict" "sdcv") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:url . "http://www.emacswiki.org/emacs/download/sdcv.el"))])
+ (sdlang-mode . [(20161201 711) ((emacs (24 3))) "Major mode for Simple Declarative Language files." single ((:commit . "d42a6eedefeb44919fbacf58d302b6df18f05bbc") (:keywords "languages") (:authors ("Vladimir Panteleev")) (:maintainer "Vladimir Panteleev") (:url . "https://github.com/CyberShadow/sdlang-mode"))])
+ (search-web . [(20150312 1103) nil "Post web search queries using `browse-url'." single ((:commit . "c4ae86ac1acfc572b81f3d78764bd9a54034c331") (:authors ("Tomoya Otake" . "tomoya.ton@gmail.com")) (:maintainer "Tomoya Otake" . "tomoya.ton@gmail.com"))])
+ (searchq . [(20150829 1211) ((emacs (24 3))) "Framework of queued search tasks using GREP, ACK, AG and more." tar ((:commit . "dd510d55ad66a82c6ef022cfe7c4a73ad5365f82") (:authors ("boyw165")) (:maintainer "boyw165"))])
+ (seclusion-mode . [(20121118 2353) nil "Edit in seclusion. A Dark Room mode." single ((:commit . "9634e76c52bfb7200ff0f9f01404f743429e9ef0") (:authors (nil . "Daniel Leslie dan@ironoxide.ca")) (:maintainer nil . "Daniel Leslie dan@ironoxide.ca") (:url . "http://github.com/dleslie/seclusion-mode"))])
+ (secretaria . [(20191128 250) ((emacs (24 4)) (alert (1 2)) (s (1 12)) (f (0 20 0)) (org (9))) "A personal assistant based on org-mode" single ((:commit . "03986130a2ada1fa952d45e83536729f20230fcf") (:keywords "org" "convenience") (:authors ("Jorge Araya Navarro" . "jorge@esavara.cr")) (:maintainer "Jorge Araya Navarro" . "jorge@esavara.cr") (:url . "https://gitlab.com/shackra/secretaria"))])
+ (see-mode . [(20180511 41) ((emacs (24 4)) (language-detection (0 1 0))) "Edit string in a separate buffer" single ((:commit . "b6e72ea90105b03816c334be9e43bb41dcc79abf") (:keywords "convenience") (:authors ("Marcelo Muñoz" . "ma.munoz.araya@gmail.com")) (:maintainer "Marcelo Muñoz" . "ma.munoz.araya@gmail.com") (:url . "https://github.com/marcelino-m/see-mode"))])
+ (seeing-is-believing . [(20170214 1320) nil "minor mode for running the seeing-is-believing ruby gem" single ((:commit . "fbbe246c0fda87bb26227bb826eebadb418a220f") (:authors ("John Cinnamond")) (:maintainer "John Cinnamond"))])
+ (seethru . [(20150218 1829) ((shadchen (1 4))) "Easily change Emacs' transparency" single ((:commit . "d87e231f99313bea75b1e69e48c0f32968c82060") (:keywords "lisp" "tools" "alpha" "transparency") (:authors ("Benaiah Mischenko" . "benaiah@mischenko.com")) (:maintainer "Benaiah Mischenko" . "benaiah@mischenko.com") (:url . "http://github.com/benaiah/seethru"))])
+ (sekka . [(20170803 1247) ((cl-lib (0 3)) (concurrent (0 3 1)) (popup (0 5 2))) "A client for Sekka IME server" single ((:commit . "61840b57d9ae32bf8e297b175942590a1319c7e7") (:keywords "ime" "skk" "japanese") (:authors ("Kiyoka Nishiyama" . "kiyoka@sumibi.org")) (:maintainer "Kiyoka Nishiyama" . "kiyoka@sumibi.org") (:url . "https://github.com/kiyoka/sekka"))])
+ (select-themes . [(20160221 106) nil "Color theme selection with completing-read" single ((:commit . "236f54287519a3ea6dd7b3992d053e4f4ff5d0fe") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-select-themes"))])
+ (selected . [(20170222 834) nil "Keymap for when region is active" single ((:commit . "03edaeac90bc6000d263f03be3d889b4685e1bf7") (:keywords "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/selected.el"))])
+ (selectric-mode . [(20200209 2107) nil "IBM Selectric mode for Emacs" tar ((:commit . "bb9e66678f34e9bc23624ff6292cf5e7857e8e5f") (:keywords "multimedia" "convenience" "typewriter" "selectric") (:authors ("Ricardo Bánffy" . "rbanffy@gmail.com")) (:maintainer "Ricardo Banffy" . "rbanffy@gmail.com") (:url . "https://github.com/rbanffy/selectric-mode"))])
+ (selectrum . [(20200430 1400) ((emacs (25 1))) "Easily select item from list" tar ((:commit . "58022eb23c668c9888c19449164d8fa4567698e5") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/selectrum"))])
+ (selectrum-prescient . [(20200404 1550) ((emacs (25 1)) (prescient (4 1)) (selectrum (1 0))) "Selectrum integration" single ((:commit . "0f4a89bdec61395138d968a38d375e63ccfbed63") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))])
+ (semaphore . [(20190607 1949) ((emacs (26))) "Semaphore based on condition variables" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:keywords "processes" "unix") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:url . "http://github.com/webnf/semaphore.el"))])
+ (semaphore-promise . [(20190607 2115) ((emacs (26)) (semaphore (1)) (promise (1))) "semaphore integration with promise" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:keywords "processes" "unix") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:url . "http://github.com/webnf/semaphore.el"))])
+ (semi . [(20200429 641) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "57a948c5f07e57e78ab3c0e6fd76ffcd591bb4ac"))])
+ (seml-mode . [(20200419 1022) ((emacs (25 1)) (impatient-mode (1 1)) (htmlize (1 5)) (web-mode (16 0))) "Major-mode for SEML, S-Expression Markup Language, file" single ((:commit . "4ca9d275948898602640a46573cb95d7eef913e5") (:keywords "lisp" "html") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/seml-mode.el"))])
+ (sendto . [(20160425 1250) ((emacs (24 4))) "send the region content to a function" single ((:commit . "076b81d7a53f75b0a59b0ef3448f35570567054c") (:keywords "convenience" "region") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/sendto.el"))])
+ (sensitive . [(20170818 1251) ((emacs (24)) (sequences (0 1 0))) "A dead simple way to load sensitive information" single ((:commit . "69dd6125a41d8b55f4b6ba61daa4d1aa1f716fa8") (:keywords "convenience") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com"))])
+ (sentence-navigation . [(20180408 1619) ((ample-regexps (0 1)) (cl-lib (0 5)) (emacs (24 4))) "Commands to navigate one-spaced sentences." single ((:commit . "7c5d2edeaed01196aec25031782e89adeaa089f0") (:keywords "sentence" "evil") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/emacs-sentence-navigation"))])
+ (seoul256-theme . [(20180505 757) ((emacs (24 3))) "Low-contrast color scheme based on Seoul Colors." single ((:commit . "d28a9de73a5ffb1a1c9492db75a5c1efe5e9815f") (:keywords "theme") (:authors ("Anand Iyer" . "anand.ucb@gmail.com")) (:maintainer "Anand Iyer" . "anand.ucb@gmail.com") (:url . "http://github.com/anandpiyer/seoul256-emacs"))])
+ (separedit . [(20200407 728) ((emacs (24 4)) (dash (2 0)) (edit-indirect (0 1 5))) "Edit comment/string/docstring/code block in separate buffer" single ((:commit . "e9a7b4402859d73f052330106d29ad14c3d9b6f3") (:keywords "tools" "languages" "docs") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/separedit.el"))])
+ (sequences . [(20170818 1252) ((emacs (24))) "Ports of some Clojure sequence functions." single ((:commit . "564ebbd93b0beea4e75acfbf824350e90b5d5738") (:keywords "convenience") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com"))])
+ (sequential-command . [(20170926 40) nil "Many commands into one command" tar ((:commit . "a48cbcbe273b33edd3ae56e68f44b4100fa3a48a") (:keywords "convenience" "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el"))])
+ (servant . [(20140216 1219) ((s (1 8 0)) (dash (2 2 0)) (f (0 11 0)) (ansi (0 3 0)) (commander (0 5 0)) (epl (0 2)) (shut-up (0 2 1)) (web-server (0 0 1))) "ELPA server written in Emacs Lisp" tar ((:commit . "4d2aa8250b54b28e6e7ee4cd5ebd98a33db2c134") (:keywords "elpa" "server") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com") ("Sebastian Wiesner" . "lunaryorn@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/servant.el"))])
+ (serverspec . [(20150623 1155) ((dash (2 6 0)) (s (1 9 0)) (f (0 16 2)) (helm (1 6 1))) "Serverspec minor mode" tar ((:commit . "b6dfe82af9869438de5e5d860ced196641f372c0") (:authors ("k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>")) (:maintainer "k1LoW (Kenichirou Oyama), <k1lowxb [at] gmail [dot] com> <k1low [at] 101000lab [dot] org>") (:url . "http://101000lab.org"))])
+ (services . [(20170802 1130) ((cl-lib (0 5))) "Services database access functions." single ((:commit . "04c7986041a33dfa0b0ae57c7d6fbd600548c596") (:keywords "convenience" "net" "services") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/services.el"))])
+ (sesman . [(20190909 1754) ((emacs (25))) "Generic Session Manager" tar ((:commit . "edee869c209c016e5f0c5cbb8abb9f3ccd2d1e05") (:keywords "process") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/sesman"))])
+ (session . [(20120511 0) nil "use variables, registers and buffer places across sessions" single ((:commit . "19ea0806873daac3539a4b956e15655e99e3dd6c") (:keywords "session" "session management" "desktop" "data" "tools") (:authors ("Christoph Wedler" . "wedler@users.sourceforge.net")) (:maintainer "Christoph Wedler" . "wedler@users.sourceforge.net") (:url . "http://emacs-session.sourceforge.net/"))])
+ (seti-theme . [(20190201 1848) nil "A dark colored theme, inspired by Seti Atom Theme" single ((:commit . "9d76db0b91d4f574dd96ac80fad41da35bffa109") (:keywords "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/seti-theme"))])
+ (sexp-diff . [(20200314 2018) ((emacs (25))) "Diff sexps based on Levenshtein-like edit distance" single ((:commit . "7e8c988bea2af209e17b70fa51316ade55529acb") (:keywords "lisp") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/sexp-diff.el"))])
+ (sexp-move . [(20150915 1730) nil "Improved S-Expression Movement" single ((:commit . "117f7a91ab7c25e438413753e916570122011ce7") (:keywords "sexp") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:url . "https://gitlab.com/elzair/sexp-move"))])
+ (sexy-monochrome-theme . [(20200115 2146) nil "A sexy dark Emacs >= 24 theme for your sexy code" single ((:commit . "f3ad07d60c966ef34cb11026eaba053e114bb8f1") (:keywords "themes") (:authors ("Volodymyr Yevtushenko" . "voloyev@vivaldi.net")) (:maintainer "Volodymyr Yevtushenko" . "voloyev@vivaldi.net") (:url . "https://github.com/voloyev/sexy-monochrome-theme"))])
+ (sfz-mode . [(20200312 1153) ((emacs (25 1))) "Major mode for SFZ files" single ((:commit . "4d8ccde889b112896c7299cad9f1e9305bde8cb3") (:keywords "languages") (:authors ("Jean Pierre Cimalando" . "jp-dev@inbox.ru")) (:maintainer "Jean Pierre Cimalando" . "jp-dev@inbox.ru") (:url . "https://github.com/sfztools/emacs-sfz-mode"))])
+ (shackle . [(20191020 1249) ((cl-lib (0 5))) "Enforce rules for popups" single ((:commit . "7ccbe513852a1d1700b698547efca14b8940319d") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/shackle"))])
+ (shadchen . [(20141102 1839) nil "pattern matching for elisp" single ((:commit . "35f2b9c304eec990c16efbd557198289dc7cbb1f") (:authors ("Vincent Toups")) (:maintainer "Vincent Toups"))])
+ (shader-mode . [(20180518 1157) ((emacs (24))) "Major mode for shader" single ((:commit . "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c") (:authors ("midnightSuyama" . "midnightSuyama@gmail.com")) (:maintainer "midnightSuyama" . "midnightSuyama@gmail.com") (:url . "https://github.com/midnightSuyama/shader-mode"))])
+ (shadowenv . [(20190903 1907) ((emacs (24 3))) "Shadowenv integration." single ((:commit . "f3cbe25c82f99367ac009d67a2400eb6d56547ff") (:keywords "shadowenv" "tools") (:authors ("Dante Catalfamo" . "dante.catalfamo@shopify.com")) (:maintainer "Dante Catalfamo" . "dante.catalfamo@shopify.com") (:url . "https://github.com/Shopify/shadowenv.el"))])
+ (shakespeare-mode . [(20180704 2138) nil "A major mode for editing Shakespearean templates." single ((:commit . "c442eeea9d585e1b1fbb8813e33d47feec348a57") (:keywords "shakespeare" "hamlet" "lucius" "julius" "mode") (:authors ("Cody Reichert")) (:maintainer "Cody Reichert") (:url . "http://github.com/CodyReichert/shakespeare-mode"))])
+ (shampoo . [(20131230 1019) nil "A remote Smalltalk development mode" tar ((:commit . "bc193c39636c30182159c5c91c37a9a4cb50fedf"))])
+ (share2computer . [(20200316 31) ((emacs (25 1))) "Elisp helper of android ShareToComputer" single ((:commit . "15da47625a800e3310b8dc714bd4e41e32966d6a") (:keywords "convenience" "comm") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/share2computer"))])
+ (shell-command . [(20090830 1040) nil "enables tab-completion for `shell-command'" single ((:commit . "7e22125f746ce9ffbe9b0282d62f4b4bbbe672bd") (:keywords "shell") (:authors ("TSUCHIYA Masatoshi" . "tsuchiya@namazu.org")) (:maintainer "TSUCHIYA Masatoshi" . "tsuchiya@namazu.org"))])
+ (shell-current-directory . [(20140101 2354) nil "create new shell based on buffer directory" single ((:commit . "bf843771bf9a4aa05e054ade799eb8862f3be89a") (:keywords "shell" "comint") (:authors ("Daniel Polani")) (:maintainer "Daniel Polani"))])
+ (shell-here . [(20191011 1959) nil "Open a shell relative to the working directory" single ((:commit . "88b80deb1337a97b403b20fc467fa2d579b3bfd5") (:keywords "unix" "tools" "processes") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))])
+ (shell-history . [(20100505 839) nil "integration with shell history" single ((:commit . "ee371a81f2d2bf5a308344078329ca1e9b5ed38c") (:keywords "processes" "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/shell-history.el"))])
+ (shell-pop . [(20200315 1139) ((emacs (24)) (cl-lib (0 5))) "helps you to use shell easily on Emacs. Only one key action to work." single ((:commit . "4b4394037940a890a313d715d203d9ead2d156a6") (:keywords "shell" "terminal" "tools") (:authors ("Kazuo YAGI" . "kazuo.yagi@gmail.com")) (:maintainer "Kazuo YAGI" . "kazuo.yagi@gmail.com") (:url . "http://github.com/kyagi/shell-pop-el"))])
+ (shell-split-string . [(20151224 1008) nil "Split strings using shell-like syntax" single ((:commit . "19f6f999c33cc66a4c91bacdcc3697c25d97bf5a") (:keywords "utility" "library" "shell" "string") (:authors ("10sr <8.slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/shell-split-string-el"))])
+ (shell-switcher . [(20161029 552) ((emacs (24))) "Provide fast switching between shell buffers." tar ((:commit . "28a7f753dd7addd2933510526f52620cb5a22048"))])
+ (shell-toggle . [(20150226 1411) nil "Toggle to and from the shell buffer" single ((:commit . "0d01bd9a780fdb7fe6609c552523f4498649a3b9") (:keywords "processes") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Matthieu Moy") ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Mikael Sjödin" . "mic@docs.uu.se") (:url . "https://github.com/knu/shell-toggle.el"))])
+ (shelldoc . [(20151115 325) ((cl-lib (0 3)) (s (1 9 0))) "shell command editing support with man page." single ((:commit . "5df2264eb60e45066f3633df4f34834751667346") (:keywords "applications") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-shelldoc"))])
+ (shelltest-mode . [(20180501 141) nil "Major mode for shelltestrunner" single ((:commit . "5fea8c9394380e822971a171905b6b5ab9be812d") (:keywords "languages") (:authors ("Dustin Fechner" . "dfe@rtrn.io")) (:maintainer "Dustin Fechner" . "dfe@rtrn.io") (:url . "https://github.com/rtrn/shelltest-mode"))])
+ (shen-elisp . [(20180915 2028) ((emacs (24 4))) "Shen implementation in Elisp" tar ((:commit . "73b74c8d6e3a2ea34b667d177d9f130765bfe501") (:keywords "shen" "elisp") (:url . "http://github.com/deech/shen-elisp"))])
+ (shfmt . [(20200421 103) ((emacs (24)) (reformatter (0 3))) "Reformat shell scripts using shfmt" single ((:commit . "342c55fab27f1e62472eebbb53cfc73b0d422a34") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/emacs-shfmt"))])
+ (shift-number . [(20170301 1459) nil "Increase/decrease the number at point" single ((:commit . "cd099a5582fc996b800ac7607f6c38a004ce9740") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/shift-number.el"))])
+ (shift-text . [(20130831 1655) ((cl-lib (1 0)) (es-lib (0 3))) "Move the region in 4 directions, in a way similar to Eclipse's" single ((:commit . "1be9cbf994000022172ceb746fe1d597f57ea8ba") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/shift-text"))])
+ (shimbun . [(20200406 2209) nil "interfacing with web newspapers" tar ((:commit . "e522a44b151d69d4a176e8809225598ab540fc4d") (:keywords "news") (:authors ("TSUCHIYA Masatoshi" . "tsuchiya@namazu.org") ("Akihiro Arisawa " . "ari@mbf.sphere.ne.jp") ("Yuuichi Teranishi " . "teranisi@gohome.org") ("Katsumi Yamaoka " . "yamaoka@jpl.org")) (:maintainer "TSUCHIYA Masatoshi" . "tsuchiya@namazu.org"))])
+ (shm . [(20180327 57) nil "Structured Haskell Mode" tar ((:commit . "7f9df73f45d107017c18ce4835bbc190dfe6782e") (:keywords "development" "haskell" "structured") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com"))])
+ (shoulda . [(20140616 1833) ((cl-lib (0 5))) "Shoulda test support for ruby" single ((:commit . "fbe8eb8efc6cfcca1713283a290882cfcdc8725e") (:keywords "ruby" "tests" "shoulda") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com"))])
+ (show-css . [(20160210 1408) ((doom (1 3)) (s (1 10 0))) "Show the css of the html attribute the cursor is on" tar ((:commit . "771daeddd4df7a7c10f66419a837145649bab63b") (:keywords "hypermedia") (:authors ("Sheldon McGrandle" . "developer@rednemesis.com")) (:maintainer "Sheldon McGrandle" . "developer@rednemesis.com") (:url . "https://github.com/smmcg/showcss-mode"))])
+ (show-eol . [(20190924 621) ((emacs (24 4))) "Show end of line symbol in buffer." single ((:commit . "bd0e47d7d61bf04a923a1d1689693a47af3a2b22") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/show-eol"))])
+ (showtip . [(20090830 1040) nil "Show tip at cursor" single ((:commit . "930da302809a4257e8d69425455b29e1cc91949b") (:keywords "help") (:authors ("Ye Wenbin" . "wenbinye@gmail.com")) (:maintainer "Ye Wenbin" . "wenbinye@gmail.com"))])
+ (shpec-mode . [(20150530 922) nil "Minor mode for shpec specification" single ((:commit . "146adc8281d0f115df39a3a3f982ac59ab61b754") (:keywords "languages" "tools") (:authors ("AdrieanKhisbe" . "adriean.khisbe@live.fr")) (:maintainer "AdrieanKhisbe" . "adriean.khisbe@live.fr") (:url . "http://github.com/shpec/shpec-mode"))])
+ (shr-tag-pre-highlight . [(20171113 914) ((emacs (25 1)) (language-detection (0 1 0))) "Syntax highlighting code block in HTML" single ((:commit . "6182f43a36b0f82ba6edcf6e423b5f69a46a814e") (:keywords "html") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/shr-tag-pre-highlight.el"))])
+ (shrface . [(20200429 1727) ((emacs (25 1)) (org (9 0))) "Extend shr/eww with org features and analysis capability" single ((:commit . "4cb424c3dc66ca80a1f67e5402801d2f5b667b45") (:keywords "faces") (:authors ("Damon Chan" . "elecming@gmail.com")) (:maintainer "Damon Chan" . "elecming@gmail.com") (:url . "https://github.com/chenyanming/shrface"))])
+ (shrink-path . [(20190208 1335) ((emacs (24)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0))) "fish-style path" single ((:commit . "c14882c8599aec79a6e8ef2d06454254bb3e1e41") (:authors ("Benjamin Andresen")) (:maintainer "Benjamin Andresen") (:url . "https://gitlab.com/bennya/shrink-path.el"))])
+ (shrink-whitespace . [(20181003 321) nil "Whitespace removal DWIM key" single ((:commit . "0407b89c142bd17e65edb666f35e2c6755bd0867") (:keywords "convenience") (:authors ("Jean-Christophe Petkovich" . "jcpetkovich@gmail.com")) (:maintainer "Jean-Christophe Petkovich" . "jcpetkovich@gmail.com") (:url . "https://gitlab.com/jcpetkovich/shrink-whitespace.el"))])
+ (shroud . [(20200124 1833) ((emacs (25)) (epg (1 0 0)) (s (1 6 0)) (bui (1 2 0)) (dash (2 15 0)) (dash-functional (2 15 0))) "Shroud secrets" tar ((:commit . "bf8a854ecd440c525b870f9439f6785700af80d3") (:keywords "tools" "password") (:authors ("Amar Singh" . "nly@disroot.org")) (:maintainer "Amar Singh" . "nly@disroot.org") (:url . "https://github.com/o-nly/emacs-shroud"))])
+ (shut-up . [(20180628 1830) ((cl-lib (0 3)) (emacs (24))) "Shut up would you!" single ((:commit . "081d6b01e3ba0e60326558e545c4019219e046ce") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/shut-up.el"))])
+ (shx . [(20200410 639) ((emacs (24 4))) "Extras for the comint-mode shell" single ((:commit . "e5b4bae0a1a9bb8a762da40397a04efdd0b2b397") (:keywords "terminals" "processes" "comint" "shell" "repl") (:url . "https://github.com/riscy/shx-for-emacs"))])
+ (sibilant-mode . [(20151119 2145) nil "Support for the Sibilant programming language" single ((:commit . "bc1b5d8cd597918bafc9b2880ee49024740e54ab") (:keywords "languages") (:authors ("Jacob Rothstein" . "hi@jbr.me")) (:maintainer "Jacob Rothstein" . "hi@jbr.me") (:url . "http://sibilantjs.info"))])
+ (sicp . [(20200421 242) nil "Structure and Interpretation of Computer Programs in info format" tar ((:commit . "3efcd37eb7888845c5f3292beeb18219f9993e92") (:authors ("Hal Abelson") ("Jerry Sussman") ("Julie Sussman")) (:maintainer "Hal Abelson") (:url . "https://mitpress.mit.edu/sicp"))])
+ (side-notes . [(20200311 547) ((emacs (24 5))) "Easy access to a directory notes file" single ((:commit . "f78d7ba1173cf6056a95935add30cd30b7a7d347") (:keywords "convenience") (:authors ("William Rankin" . "code@william.bydasein.com")) (:maintainer "William Rankin" . "code@william.bydasein.com") (:url . "https://github.com/rnkn/side-notes"))])
+ (sift . [(20200421 1423) nil "Front-end for sift, a fast and powerful grep alternative" single ((:commit . "cdddba2d183146c340915003f1b5d09d13712c22") (:keywords "sift" "ack" "pt" "ag" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/sift.el"))])
+ (signal . [(20160816 1438) ((emacs (24)) (cl-lib (0 5))) "Advanced hook" single ((:commit . "aa58327e2297df921d72a0370468b48663efd438") (:keywords "internal" "lisp" "processes" "tools") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/signal"))])
+ (silkworm-theme . [(20191005 1903) ((emacs (24))) "Light theme with pleasant, low contrast colors." single ((:commit . "6cb44e3bfb095588aa3bdf8d0d45b583521f9e2c") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (simp . [(20180607 254) nil "Simple project definition, chiefly for file finding, and grepping" tar ((:commit . "d4d4b8547055347828bedccbeffdb4fd2d5a5d34") (:keywords "project" "grep" "find") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/simp"))])
+ (simple-bookmarks . [(20190204 1426) ((cl-lib (0 5))) "Bookmark / functioncall manager" tar ((:commit . "54e8d771bcdb0eb235b31c0aa9642171369500e5") (:keywords "bookmark" "functioncall") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/simple-bookmarks"))])
+ (simple-call-tree . [(20180224 2056) ((emacs (24 3)) (anaphora (1 0 0))) "analyze source code based on font-lock text-properties" single ((:commit . "20059eb5549408def76aeb03d0d20839903dedef") (:keywords "programming") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "http://www.emacswiki.org/emacs/download/simple-call-tree.el"))])
+ (simple-httpd . [(20191103 1446) ((cl-lib (0 3))) "pure elisp HTTP server" single ((:commit . "22ce66ea43e0eadb9ec1d691a35d9695fc29cee6") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-http-server"))])
+ (simple-modeline . [(20200427 717) ((emacs (26 1))) "A simple mode-line configuration for Emacs" tar ((:commit . "08197f4c37aa28c8305f0b0316619421e42a8b75") (:keywords "mode-line" "faces") (:authors ("Eder Elorriaga" . "gexplorer8@gmail.com")) (:maintainer "Eder Elorriaga" . "gexplorer8@gmail.com") (:url . "https://github.com/gexplorer/simple-modeline"))])
+ (simple-mpc . [(20180716 129) ((s (1 10 0))) "provides a simple interface to mpc" tar ((:commit . "bee8520e81292b4c7353e45b193f9a13b482f5b2") (:keywords "multimedia" "mpd" "mpc") (:authors ("Joren Van Onder" . "joren.vanonder@gmail.com")) (:maintainer "Joren Van Onder" . "joren.vanonder@gmail.com") (:url . "https://github.com/jorenvo/simple-mpc"))])
+ (simple-paren . [(20200120 2036) ((emacs (24)) (cl-lib (0 5))) "Non-electrical insert paired delimiter, wrap" single ((:commit . "2a4ba8f99f39abf17976db8118e32b80eff0798b") (:keywords "convenience") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:url . "https://github.com/andreas-roehler/simple-paren"))])
+ (simple-rtm . [(20160222 1534) ((rtm (0 1)) (dash (2 0 0))) "Interactive Emacs mode for Remember The Milk" single ((:commit . "8c7cd96cf66ef112be5c363e3378e304f8f83999") (:keywords "remember" "the" "milk" "productivity" "todo") (:authors ("Moritz Bunkus" . "morit@bunkus.org")) (:maintainer "Moritz Bunkus" . "morit@bunkus.org"))])
+ (simple-screen . [(20161009 920) nil "Simple screen configuration manager" single ((:commit . "596e3a451d9af24730ab31a8fe15c91a4264d09d") (:keywords "tools") (:authors ("Tadashi Watanabe" . "wac@umiushi.org")) (:maintainer "Tadashi Watanabe" . "wac@umiushi.org") (:url . "https://github.com/wachikun/simple-screen"))])
+ (simpleclip . [(20200210 1406) nil "Simplified access to the system clipboard" single ((:commit . "970159c788d38877f55f6fe93fe590642d45fb47") (:keywords "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/simpleclip"))])
+ (simplenote . [(20141118 1440) nil "Interact with simple-note.appspot.com" single ((:commit . "e836fcdb5a6497a9ffd6bceddd19b4bc52189078") (:keywords "simplenote") (:authors ("Konstantinos Efstathiou" . "konstantinos@efstathiou.gr")) (:maintainer "Konstantinos Efstathiou" . "konstantinos@efstathiou.gr"))])
+ (simplenote2 . [(20190321 933) ((request-deferred (0 2 0)) (uuidgen (20140918)) (unicode-escape (1 1))) "Interact with app.simplenote.com" tar ((:commit . "760ffecda63bd218876b623f46d332e3ef079be6") (:keywords "simplenote") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com"))])
+ (simplezen . [(20130421 1000) ((s (1 4 0)) (dash (1 1 0))) "A simple subset of zencoding-mode for Emacs." single ((:commit . "119fdf2c6890a0c56045ae72cf4fce0071a81481") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (skeletor . [(20191129 841) ((s (1 7 0)) (f (0 14 0)) (dash (2 2 0)) (cl-lib (0 3)) (let-alist (1 0 3)) (emacs (24 1))) "Provides project skeletons for Emacs" tar ((:commit . "eb21383a9c9e7cf7ae2bbb85cb6d4f42aa3cb37f") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))])
+ (skewer-less . [(20160828 2021) ((skewer-mode (1 5 3))) "Skewer support for live LESS stylesheet updates" single ((:commit . "8ce9d030e18133319181d5dabe3e905c8ca5fd6b") (:keywords "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))])
+ (skewer-mode . [(20200304 1142) ((simple-httpd (1 4 0)) (js2-mode (20090723)) (emacs (24))) "live browser JavaScript, CSS, and HTML interaction" tar ((:commit . "e5bed351939c92a1f788f78398583c2f83f1bb3c"))])
+ (skewer-reload-stylesheets . [(20160725 1220) ((skewer-mode (1 5 3))) "live-edit CSS, SCSS, Less, and friends." tar ((:commit . "b9cc5635230ac3c0603a6da690c6e632d0a7490a") (:authors ("Nate Eagleson" . "nate@nateeag.com")) (:maintainer "Nate Eagleson" . "nate@nateeag.com"))])
+ (skype . [(20160711 824) nil "skype UI for emacs users.." tar ((:commit . "8e3b33e620ed355522aa36434ff41e3ced080629") (:keywords "skype" "chat") (:authors ("SAKURAI Masashi" . "m.sakurai@kiwanami.net")) (:maintainer "SAKURAI Masashi" . "m.sakurai@kiwanami.net"))])
+ (sl . [(20161217 1404) ((cl-lib (0 5))) "An Emacs clone of sl(1)" tar ((:commit . "fceb2ae12a3065b2a265b921baca0891c5ea54dc") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/sl.el"))])
+ (slack . [(20200402 1656) ((websocket (1 8)) (request (0 2 0)) (oauth2 (0 10)) (circe (2 2)) (alert (1 2)) (emojify (0 2))) "Slack client for Emacs" tar ((:commit . "d53a57a18fb7034182c3d02503f937761e6a2a64") (:url . "https://github.com/yuya373/emacs-slack"))])
+ (slideview . [(20150324 2240) ((cl-lib (0 3))) "File slideshow" single ((:commit . "b6d170bda139aedf81b47dc55cbd1a3af512fb4c") (:keywords "files") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-slideview"))])
+ (slim-mode . [(20170728 1348) nil "Major mode for editing Slim files" single ((:commit . "3636d18ab1c8b316eea71c4732eb44743e2ded87") (:keywords "markup" "language") (:authors ("Nathan Weizenbaum")) (:maintainer "Nathan Weizenbaum") (:url . "http://github.com/slim-template/emacs-slim"))])
+ (slime . [(20200414 1444) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "221518f0d3d224403743e6690f6bb66c42d9dec9") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))])
+ (slime-company . [(20200424 1045) ((emacs (24 4)) (slime (2 13)) (company (0 9 0))) "slime completion backend for company mode" single ((:commit . "cec203c45ebd678b05341d1cdbe420ad07a1b8e0") (:keywords "convenience" "lisp" "abbrev") (:authors ("Ole Arndt" . "anwyn@sugarshark.com")) (:maintainer "Ole Arndt" . "anwyn@sugarshark.com"))])
+ (slime-docker . [(20190430 157) ((emacs (24)) (slime (2 16)) (docker-tramp (0 1)) (cl-lib (0 5))) "Integration of SLIME with Docker containers." tar ((:commit . "151cec4a11965cdc00d231900a50f2c9f455fce2") (:keywords "docker" "lisp" "slime") (:url . "https://github.com/daewok/slime-docker"))])
+ (slime-repl-ansi-color . [(20190426 1414) ((emacs (24)) (slime (2 3 1))) "Turn on ANSI colors in REPL output;" single ((:commit . "fdd0c7a75a217abca2ff16ab9281d55f392bd841") (:keywords "lisp") (:authors ("Max Mikhanosha" . "max@openchat.com")) (:maintainer "Augustin Fabre" . "augustin@augfab.fr") (:url . "https://gitlab.com/augfab/slime-repl-ansi-color"))])
+ (slime-theme . [(20170808 1322) ((emacs (24 0))) "an Emacs 24 theme based on Slime (tmTheme)" single ((:commit . "8e5880ac69e0b6a079103001cc3a90bdb688998f") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))])
+ (slime-volleyball . [(20190701 1624) nil "An SVG Slime Volleyball Game" tar ((:commit . "6c135ad18897c3566d4dadfe847061532600ba2e") (:keywords "games") (:authors ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))])
+ (slirm . [(20160201 1425) ((emacs (24 4))) "Systematic Literature Review Mode for Emacs." single ((:commit . "9adfbe1fc67580e7d0d90f7e927a25d63a797464") (:authors ("Florian Biermann" . "fbie@itu.dk")) (:maintainer "Florian Biermann" . "fbie@itu.dk") (:url . "http://github.com/fbie/slirm"))])
+ (slovak-holidays . [(20150418 855) nil "Adds a list of slovak holidays to Emacs calendar" single ((:commit . "effb16dfcd14797bf7448f5113085479db339c02") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))])
+ (slow-keys . [(20180831 459) ((emacs (24 1))) "Slow keys mode to avoid RSI" single ((:commit . "b93ad77f9fc1d14e080d7d64864fc9cb222248b6") (:keywords "convenience") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:url . "https://github.com/manuel-uberti/slow-keys"))])
+ (slstats . [(20170823 849) ((cl-lib (0 5)) (emacs (24))) "Acquire and display stats about Second Life" single ((:commit . "e9696066abf3f2b7b818a57c062530dfd9377033") (:keywords "games") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/slstats.el"))])
+ (sly . [(20200314 55) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "1382bda945ecfb4b177c7d05a36da8fd41e0384c") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))])
+ (sly-asdf . [(20200306 433) ((emacs (24 3)) (sly (1 0 0 -2 2)) (popup (0 5 3))) "ASDF system support for SLY" tar ((:commit . "32ce14994e8faee9321605cec36d156b02996c46") (:keywords "languages" "lisp" "sly" "asdf") (:maintainer "Matt George" . "mmge93@gmail.com") (:url . "https://github.com/mmgeorge/sly-asdf"))])
+ (sly-hello-world . [(20200225 1755) ((sly (1 0 0 -2 2))) "A template SLY contrib" tar ((:commit . "d25acc1220a3ce066bd9908251c2f0f88b1781e9") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-hello-world"))])
+ (sly-macrostep . [(20191211 1630) ((sly (1 0 0 -2 2)) (macrostep (0 9))) "fancy macro-expansion via macrostep.el" tar ((:commit . "5113e4e926cd752b1d0bcc1508b3ebad5def5fad") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-macrostep"))])
+ (sly-named-readtables . [(20191013 2138) ((sly (1 0 0 -2 2))) "Support named readtables in Common Lisp files" tar ((:commit . "a5a42674ccffa97ccd5e4e9742beaf3ea719931f") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-named-readtables"))])
+ (sly-quicklisp . [(20191012 2124) ((sly (1 0 0 -2 2))) "Quicklisp support for SLY" tar ((:commit . "01ebe3976a244309f2e277c09206831135a0b66c") (:keywords "languages" "lisp" "sly") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:url . "https://github.com/capitaomorte/sly-quicklisp"))])
+ (sly-repl-ansi-color . [(20171020 1516) ((sly (0)) (cl-lib (0 5))) "Add ANSI colors support to the sly mrepl." single ((:commit . "b9cd52d1cf927bf7e08582d46ab0bcf1d4fb5048") (:keywords "sly") (:authors ("Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") ("Max Mikhanosha")) (:maintainer "Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") (:url . "https://github.com/PuercoPop/sly-repl-ansi-color"))])
+ (smart-backspace . [(20171014 526) nil "intellj like backspace" single ((:commit . "a10ec44ff325ec8c4c98b1a6e44e89e60a9aa4ac") (:authors ("Takeshi Tsukamoto" . "t.t.itm.0403@gmail.com")) (:maintainer "Takeshi Tsukamoto" . "t.t.itm.0403@gmail.com") (:url . "https://github.com/itome/smart-backspace"))])
+ (smart-comment . [(20160322 1839) nil "smarter commenting" single ((:commit . "17ddbd83205818763e6d68aa7a1aa9aaf414cbd4") (:keywords "lisp") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io"))])
+ (smart-compile . [(20200322 24) nil "an interface to `compile'" single ((:commit . "e2a390b9b8518ad62283046400a0fb3e81eb5b79") (:keywords "tools" "unix") (:authors ("Seiji Zenitani" . "zenitani@mac.com")) (:maintainer "Seiji Zenitani" . "zenitani@mac.com"))])
+ (smart-cursor-color . [(20141124 1719) nil "Change cursor color dynamically" single ((:commit . "1d190f49ca77734b55ac58f1b6276e42ada967b0") (:keywords "cursor" "color" "face") (:authors ("7696122")) (:maintainer "7696122") (:url . "https://github.com/7696122/smart-cursor-color/"))])
+ (smart-dash . [(20200104 1620) nil "Smart-Dash minor mode" single ((:commit . "cc540eea7452e15d4ef2b09d8809d88174f509c0") (:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))])
+ (smart-forward . [(20140430 713) ((expand-region (0 8 0))) "Semantic navigation" single ((:commit . "7b6dbfdbd4b646376a567c70e1a161545431b72b") (:keywords "navigation") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (smart-hungry-delete . [(20170412 1343) ((emacs (24 3))) "smart hungry deletion of whitespace" single ((:commit . "7c1d56a92481594e14d40b5fdf6c48657a0108a0") (:keywords "convenience") (:authors ("Hauke Rehfeld" . "emacs@haukerehfeld.de")) (:maintainer "Hauke Rehfeld" . "emacs@haukerehfeld.de") (:url . "https://github.com/hrehfeld/emacs-smart-hungry-delete"))])
+ (smart-indent-rigidly . [(20141206 15) nil "Smart rigid indenting" single ((:commit . "323d1fe4d0b81e598249aad01bc44adb180ece0e") (:keywords "indenting" "coffee-mode" "haml-mode" "sass-mode") (:authors ("atom smith")) (:maintainer "atom smith") (:url . "https://github.com/re5et/smart-indent-rigidly"))])
+ (smart-input-source . [(20200428 1031) ((names (0 5)) (emacs (25))) "Switch OS native input source smartly" single ((:commit . "6d6db53db20712570cb99cd6a03f2be0349d87b8") (:keywords "convenience") (:url . "https://github.com/laishulu/emacs-smart-input-source"))])
+ (smart-jump . [(20190925 1518) ((emacs (25 1)) (dumb-jump (0 5 1))) "Smart go to definition." tar ((:commit . "07800ddd508cf620e6360e4a1f5bb25f8eab3ab1") (:keywords "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/smart-jump"))])
+ (smart-mark . [(20150912 210) nil "Restore point after C-g when mark" single ((:commit . "04b522a23e3aae8381c6a976fc978532fcb2e7d0") (:keywords "mark" "restore") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))])
+ (smart-mode-line . [(20190527 1156) ((emacs (24 3)) (rich-minority (0 1 1))) "A color coded smart mode-line." tar ((:commit . "999be065b195f2eddb4e1b629f99038d832d44b7") (:keywords "mode-line" "faces" "themes") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "http://github.com/Malabarba/smart-mode-line"))])
+ (smart-mode-line-atom-one-dark-theme . [(20200106 2016) ((emacs (24 3)) (smart-mode-line (2 10))) "Atom-one-dark theme for smart-mode-line" single ((:commit . "e281b52b164a477fcdb6a468976e8a1bdde1ca26") (:keywords "mode-line" "themes" "faces") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:url . "https://github.com/daviderestivo/smart-mode-line-atom-one-dark-theme"))])
+ (smart-mode-line-powerline-theme . [(20160706 38) ((emacs (24 3)) (powerline (2 2)) (smart-mode-line (2 5))) "smart-mode-line theme that mimics the powerline appearance." tar ((:commit . "999be065b195f2eddb4e1b629f99038d832d44b7") (:keywords "mode-line" "faces" "themes") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:url . "http://github.com/Bruce-Connor/smart-mode-line"))])
+ (smart-newline . [(20131208 340) nil "Provide smart newline for one keybind." single ((:commit . "0553a9e4be7188352de1a28f2eddfd28e7436f94") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai"))])
+ (smart-region . [(20150903 1403) ((emacs (24 4)) (expand-region (0 10 0)) (multiple-cursors (1 3 0)) (cl-lib (0 5))) "Smartly select region, rectangle, multi cursors" single ((:commit . "5a8017fd8e8dc3483865951c4942cab3f96f69f6") (:keywords "marking" "region") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:url . "https://github.com/uk-ar/smart-region"))])
+ (smart-semicolon . [(20171008 133) ((emacs (25))) "Insert semicolon smartly" single ((:commit . "bcea2aa37befa40abf8b24a2d2314904e6df43b3") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/smart-semicolon"))])
+ (smart-shift . [(20150203 725) nil "Smart shift text left/right." single ((:commit . "a26ab2b240137e62ec4bce1698ed9c5f7b6d13ae") (:keywords "convenience" "tools") (:authors ("Bin Huang" . "huangbin88@foxmail.com")) (:maintainer "Bin Huang" . "huangbin88@foxmail.com") (:url . "https://github.com/hbin/smart-shift"))])
+ (smart-tab . [(20200416 2228) ((emacs (24 3))) "Intelligent tab completion and indentation" single ((:commit . "67bf4f93f8afca61a3dc4f6c7a34b0b8ca9ede21") (:keywords "extensions") (:authors ("John SJ Anderson" . "john@genehack.org") ("Sebastien Rocca Serra" . "sroccaserra@gmail.com") ("Daniel Hackney" . "dan@haxney.org")) (:maintainer "John SJ Anderson" . "john@genehack.org") (:url . "http://github.com/genehack/smart-tab/tree/master"))])
+ (smart-tabs-mode . [(20160629 1452) nil "Intelligently indent with tabs, align with spaces!" single ((:commit . "9cc2594b82b03e7d68645a4878f9359f8b8c34c5") (:keywords "languages") (:authors ("John Croisant" . "jacius@gmail.com") ("Alan Pearce" . "alan@alanpearce.co.uk") ("Daniel Dehennin" . "daniel.dehennin@baby-gnu.org") ("Matt Renaud" . "mrenaud92@gmail.com")) (:maintainer "Joel C. Salomon" . "joelcsalomon@gmail.com") (:url . "http://www.emacswiki.org/emacs/SmartTabs"))])
+ (smart-window . [(20160717 130) ((cl-lib (0 5))) "vim-like window controlling plugin" single ((:commit . "5996461b7cbc5ab4509ac48537916eb29a8e4c16") (:keywords "window") (:authors ("Felix Chern" . "idryman@gmail.com")) (:maintainer "Felix Chern" . "idryman@gmail.com") (:url . "https://github.com/dryman/smart-window.el"))])
+ (smartparens . [(20200324 2147) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "555626a43f9bb1985aa9a0eb675f2b88b29702c8"))])
+ (smartrep . [(20150509 230) nil "Support sequential operation which omitted prefix keys." single ((:commit . "f0ff5a6d7b8603603598ae3045c98b011e58d86e") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/smartrep.el"))])
+ (smartscan . [(20170211 2033) nil "Jumps between other symbols found at point" single ((:commit . "234e077145710a174c20742de792b97ed2f965f6") (:keywords "extensions") (:authors ("Mickey Petersen" . "mickey@masteringemacs.org")) (:maintainer "Mickey Petersen" . "mickey@masteringemacs.org"))])
+ (smarty-mode . [(20100703 1158) nil "major mode for editing smarty templates" single ((:commit . "3dfdfe1571f5e9ef55a29c51e5a80046d4cb7568") (:keywords "smarty" "php" "languages" "templates") (:maintainer "Benj Carson") (:url . "none yet"))])
+ (smbc . [(20171229 1808) nil "View SMBC from Emacs" single ((:commit . "10538e3d575ba6ef3c94d555af2744b42dfd36c7") (:keywords "smbc" "webcomic") (:authors ("Saksham Sharma" . "saksham0808@gmail.com")) (:maintainer "Saksham Sharma" . "saksham0808@gmail.com") (:url . "https://github.com/sakshamsharma/emacs-smbc"))])
+ (smblog . [(20200424 938) ((emacs (24 3))) "samba log viewer" single ((:commit . "fc949cff7051b31f0dbc7169774144533a27b92f") (:authors ("Aurélien Aptel" . "aaptel@suse.com")) (:maintainer "Aurélien Aptel" . "aaptel@suse.com") (:url . "http://github.com/aaptel/smblog-mode"))])
+ (smeargle . [(20200323 533) ((emacs (24 3))) "Highlighting region by last updated time" single ((:commit . "a0e9bc2ea694aa2940102e1f4cfd8db8be437931") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/smeargle"))])
+ (smex . [(20151212 2209) ((emacs (24))) "M-x interface with Ido-style fuzzy matching." single ((:commit . "55aaebe3d793c2c990b39a302eb26c184281c42c") (:keywords "convenience" "usability") (:authors ("Cornelius Mika" . "cornelius.mika@gmail.com")) (:maintainer "Cornelius Mika" . "cornelius.mika@gmail.com") (:url . "http://github.com/nonsequitur/smex/"))])
+ (smiles-mode . [(20160717 1120) nil "Major mode for SMILES." single ((:commit . "fbb381758adcb000a0c304be1b797f985f00e2de") (:keywords "smiles") (:authors (nil . "John Kitchin [jkitchin@andrew.cmu.edu]")) (:maintainer nil . "John Kitchin [jkitchin@andrew.cmu.edu]"))])
+ (sml-modeline . [(20170614 2111) nil "Show position in a scrollbar like way in mode-line" single ((:commit . "d2f9f70174c4cf68c67eb3bb8088235735e34d9a") (:authors ("Lennart Borgman (lennart O borgman A gmail O com)")) (:maintainer "Lennart Borgman (lennart O borgman A gmail O com)") (:url . "http://bazaar.launchpad.net/~nxhtml/nxhtml/main/annotate/head%3A/util/sml-modeline.el"))])
+ (smmry . [(20161024 901) nil "SMMRY client" single ((:commit . "986a1b0aec8ab1ef17dbfb7886f47e5558cf738a") (:keywords "api" "smmry") (:authors ("james sangho nah" . "microamp@protonmail.com")) (:maintainer "james sangho nah" . "microamp@protonmail.com") (:url . "https://github.com/microamp/smmry.el"))])
+ (smog . [(20200211 528) ((emacs (24 1)) (org (8 1))) "Analyse the writing style, word use and readability of prose" single ((:commit . "0a6374493363d10826a8151d37fc461b08cc9b9a") (:keywords "tools" "style" "readability" "prose") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/smog"))])
+ (smooth-scroll . [(20130322 414) nil "Minor mode for smooth scrolling and in-place scrolling." single ((:commit . "02320f28abb5cae28b3a18f6b9ce93129bdbfc45") (:keywords "convenience" "emulations" "frames") (:authors ("K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>")) (:maintainer "K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>") (:url . "http://www.emacswiki.org/emacs/download/smooth-scroll.el"))])
+ (smooth-scrolling . [(20161002 1949) nil "Make emacs scroll smoothly" single ((:commit . "2462c13640aa4c75ab3ddad443fedc29acf68f84") (:keywords "convenience") (:authors ("Adam Spiers" . "emacs-ss@adamspiers.org") ("Jeremy Bondeson" . "jbondeson@gmail.com") ("Ryan C. Thompson" . "rct+github@thompsonclan.org")) (:maintainer "Adam Spiers" . "emacs-ss@adamspiers.org") (:url . "http://github.com/aspiers/smooth-scrolling/"))])
+ (smotitah . [(20150218 1030) nil "Modular emacs configuration framework" tar ((:commit . "f9ab562128a5460549d016913533778e8c94bcf3"))])
+ (smtpmail-multi . [(20160218 2349) nil "Use different smtp servers for sending mail" single ((:commit . "83fa9d7a02e000be95cb282c8b48446646896ea1") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/smtpmail-multi"))])
+ (smyx-theme . [(20141127 828) nil "smyx Color Theme" single ((:commit . "6263f6b401bbabaed388c8efcfc0be2e58c51401") (:keywords "color" "theme" "smyx") (:authors ("Uriel G Maldonado" . "uriel781@gmail.com")) (:maintainer "Uriel G Maldonado" . "uriel781@gmail.com"))])
+ (snakemake-mode . [(20200417 2230) ((emacs (24 5)) (cl-lib (0 5)) (magit-popup (2 4 0))) "Major mode for editing Snakemake files" tar ((:commit . "03562dcd82964d53eff7314b844c2897d1d9af55") (:keywords "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://git.kyleam.com/snakemake-mode/about"))])
+ (snapshot-timemachine . [(20161221 929) ((emacs (24 4))) "Step through (Btrfs, ZFS, ...) snapshots of files" single ((:commit . "99efcebab309b11ed512a8dc62555d3834df5efb") (:authors ("Thomas Winant" . "dewinant@gmail.com")) (:maintainer "Thomas Winant" . "dewinant@gmail.com") (:url . "https://github.com/mrBliss/snapshot-timemachine"))])
+ (snapshot-timemachine-rsnapshot . [(20170324 1213) ((snapshot-timemachine (20160222 132)) (seq (2 19))) "rsnapshot backend for snapshot-timemachine" single ((:commit . "72b0b700d80f1a0442e62bbbb6a0c8c59182f97f") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))])
+ (snazzy-theme . [(20170823 1832) ((emacs (24)) (base16-theme (2 1))) "An elegant syntax theme with bright colors" single ((:commit . "57a1763b49b4a776084c16bc70c219246fa5b412") (:keywords "faces" "theme" "color" "snazzy") (:url . "https://github.com/weijiangan/emacs-snazzy/"))])
+ (snippet . [(20130210 2315) nil "Insert snippets of text into a buffer" single ((:commit . "11d00dd803874b93836f2010b08bd2c97b0f3c63") (:authors ("Pete Kazmier")) (:maintainer "Pete Kazmier"))])
+ (snoopy . [(20171008 2004) ((emacs (24)) (cl-lib (0 6))) "minor mode for number row unshifted character insertion" single ((:commit . "ec4123bdebfe0bb7bf4feaac2dc02b59caffe386") (:keywords "lisp") (:authors ("António Nuno Monteiro" . "anmonteiro@gmail.com")) (:maintainer "António Nuno Monteiro" . "anmonteiro@gmail.com"))])
+ (soar-mode . [(20190503 1843) nil "A major mode for the Soar language" single ((:commit . "13b6fca62ea6574d230516fddf359a61f6558ecd") (:keywords "languages" "soar") (:url . "https://github.com/adeschamps/soar-mode"))])
+ (socyl . [(20170212 642) ((s (1 11 0)) (dash (2 12 0)) (pkg-info (0 5 0)) (cl-lib (0 5))) "Frontend for several search tools" tar ((:commit . "1ef2da42f66f3ab31a34131e51648f352416f0ba") (:keywords "ripgrep" "sift" "ack" "pt" "ag" "grep" "search") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/socyl"))])
+ (soft-charcoal-theme . [(20140420 1643) nil "Dark charcoal theme with soft colors" single ((:commit . "5607ab977fae6638e78b1495e02da8955c9ba19f") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-charcoal-theme"))])
+ (soft-morning-theme . [(20150918 2041) nil "Emacs24 theme with a light background." single ((:commit . "c0f9c70c97ef2be2a093cf839c4bfe27740a111c") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-morning-theme"))])
+ (soft-stone-theme . [(20140614 835) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "fb475514cfb02cf30ce358a61c48e46614344d48") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-stone-theme"))])
+ (solaire-mode . [(20200423 742) ((emacs (24 4)) (cl-lib (0 5))) "make certain buffers grossly incandescent" single ((:commit . "adc8c0c60d914f6395eba0bee78feedda128b30b") (:keywords "dim" "bright" "window" "buffer" "faces") (:authors ("Henrik Lissner <http://github/hlissner>")) (:maintainer "Henrik Lissner" . "henrik@lissner.net") (:url . "https://github.com/hlissner/emacs-solaire-mode"))])
+ (solarized-theme . [(20200411 1026) ((emacs (24 1)) (dash (2 16))) "The Solarized color theme" tar ((:commit . "c8f09494330900081ed5a4f020c972a37fd7b02e") (:keywords "convenience" "themes" "solarized") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/solarized-emacs"))])
+ (solidity-flycheck . [(20200113 1721) ((flycheck (32 -4)) (solidity-mode (0 1 9))) "Flycheck integration for solidity emacs mode" single ((:commit . "022b3159832384a7dcdc2168809e698600826047") (:keywords "languages" "solidity" "flycheck") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))])
+ (solidity-mode . [(20200418 921) nil "Major mode for ethereum's solidity language" tar ((:commit . "022b3159832384a7dcdc2168809e698600826047") (:keywords "languages" "solidity") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))])
+ (somafm . [(20200224 48) ((emacs (26 1)) (dash (2 12 0)) (request (0 3 2)) (cl-lib (0 6 1))) "A simple soma.fm interface" single ((:commit . "9fdb75e150e78170b3ca7863a8a0638c6ecc0fc0") (:keywords "multimedia") (:authors ("Arte Ebrahimi <>")) (:maintainer "Arte Ebrahimi <>") (:url . "https://github.com/artenator/somafm.el"))])
+ (sonic-pi . [(20171205 1205) ((cl-lib (0 5)) (osc (0 1)) (dash (2 2 0)) (emacs (24)) (highlight (0))) "A Emacs client for SonicPi" tar ((:commit . "3cf101b3b299735ed91658c7791ea4f04164e076") (:keywords "sonicpi" "ruby") (:authors ("Joseph Wilk" . "joe@josephwilk.net")) (:maintainer "Joseph Wilk" . "joe@josephwilk.net") (:url . "http://www.github.com/repl-electric/sonic-pi.el"))])
+ (soothe-theme . [(20141027 1441) ((emacs (24 1))) "a dark colorful theme for Emacs24." single ((:commit . "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-soothe-theme"))])
+ (sorcery-theme . [(20200413 2242) ((autothemer (0 2))) "A D&D (Dark and Dusty) Theme" single ((:commit . "fb041d0d8d4ae2840ddcfb1bd56fefe687da8c52") (:authors ("Maxime Tréca" . "maxime@gmail.com")) (:maintainer "Maxime Tréca" . "maxime@gmail.com") (:url . "http://github.com/vxid/emacs-theme-sorcery"))])
+ (soria-theme . [(20200429 941) ((emacs (25 1))) "A xoria256 theme with some colors from openSUSE" single ((:commit . "789f0a3474e6ad6c11e07f2c61d5994b2375bdba") (:keywords "faces") (:authors ("Miquel Sabaté Solà" . "mikisabate@gmail.com")) (:maintainer "Miquel Sabaté Solà" . "mikisabate@gmail.com") (:url . "https://github.com/mssola/soria"))])
+ (sort-words . [(20160929 1335) nil "Sort words in a selected region" single ((:commit . "7b6e108f80237363faf7ec28b2c58dec270b8601") (:keywords "tools") (:authors ("\"Aleksandar Simic\"" . "asimic@gmail.com")) (:maintainer "\"Aleksandar Simic\"" . "asimic@gmail.com") (:url . "http://github.org/dotemacs/sort-words.el"))])
+ (sos . [(20141215 403) ((org (7))) "StackOverflow Search" single ((:commit . "1573adca912b88b5010d99a25c83a5b2313bd39c") (:keywords "tools" "search" "questions") (:authors ("Rudolf Olah")) (:maintainer "Rudolf Olah") (:url . "https://github.com/omouse/emacs-sos"))])
+ (sotclojure . [(20170922 8) ((emacs (24 1)) (clojure-mode (4 0 0)) (cider (0 8)) (sotlisp (1 3))) "Write clojure at the speed of thought." tar ((:commit . "a480c887b53cb007b7b099c5ffcab89b9e59d7bc") (:keywords "convenience" "clojure") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-clojure"))])
+ (sotlisp . [(20190211 2026) ((emacs (24 1))) "Write lisp at the speed of thought." single ((:commit . "ed2356a325c7a4a88ec1bd31381c8666e8997e97") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))])
+ (sound-wav . [(20200323 728) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "8a18f8a62f4fdde80dfa069986aa959091a42472") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))])
+ (soundcloud . [(20150502 326) ((emms (20131016)) (json (1 2)) (deferred (0 3 1)) (string-utils (0 3 2)) (request (20140316 417)) (request-deferred (20130526 1015))) "a SoundCloud client for Emacs" single ((:commit . "f998d4276ea90258909c698f6a5a51fccb667c08") (:keywords "soundcloud" "music" "audio") (:authors ("Travis Thieman" . "travis.thieman@gmail.com")) (:maintainer "Travis Thieman" . "travis.thieman@gmail.com"))])
+ (soundklaus . [(20191220 2112) ((dash (2 12 1)) (emacs (24)) (emms (4 0)) (s (1 11 0)) (pkg-info (0 4)) (cl-lib (0 5)) (request (0 2 0))) "Play music on SoundCloud with Emacs via EMMS" tar ((:commit . "15ce6e7f24a45e4f202d83cca9fa3bfdd94ca592") (:keywords "soundcloud" "music" "emms") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:url . "https://github.com/r0man/soundklaus.el"))])
+ (sourcekit . [(20180101 834) ((emacs (24 3)) (dash (2 12 1)) (dash-functional (1 2 0)) (request (0 2 0))) "Library to interact with sourcekittendaemon" single ((:commit . "abf9bc5a0102eb666d3aa6d6bf22f6efcc852781") (:keywords "tools" "processes") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/company-sourcekit"))])
+ (sourcemap . [(20200315 1037) ((emacs (24 3))) "Sourcemap parser" single ((:commit . "bb2a56b2feb62b0c77d7f03ef2acd94f91be6b3f") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sourcemap"))])
+ (sourcerer-theme . [(20161014 1625) nil "A version of sourcerer by xero" single ((:commit . "c7f8e665d53bb48fb72f95f706710d53d24bd407") (:keywords "themes") (:authors ("Bryan Gilbert" . "gilbertw1@gmail.com")) (:maintainer "Bryan Gilbert" . "gilbertw1@gmail.com") (:url . "http://github.com/gilbertw1/sourcerer-emacs"))])
+ (sourcetrail . [(20170410 2137) ((emacs (24 4))) "Communication with Sourcetrail" single ((:commit . "b8d5557aa565ae979622312576db20515f65f977") (:keywords "external" "tool") (:authors ("Andreas Stallinger" . "astallinger@sourcetrail.com")) (:maintainer "Andreas Stallinger" . "astallinger@sourcetrail.com"))])
+ (space-theming . [(20200415 810) ((emacs (24))) "Easilly override theme faces" single ((:commit . "0a41a892180451d51095516e8ee2c9042be009c1") (:keywords "faces") (:url . "https://github.com/p3r7/space-theming"))])
+ (spacebar . [(20190719 334) ((eyebrowse (0 7 7)) (emacs (25 4 0))) "Workspaces Bar" single ((:commit . "2b2cd0e786877273103f048e62a06b0027deca2d") (:keywords "convenience") (:authors ("Matthias Margush" . "matthias.margush@gmail.com")) (:maintainer "Matthias Margush" . "matthias.margush@gmail.com") (:url . "https://github.com/matthias-margush/spacebar"))])
+ (spacegray-theme . [(20150719 1931) ((emacs (24 1))) "A Hyperminimal UI Theme" single ((:commit . "9826265c2bceb2ebc1c5e16a45021da0253ace97") (:keywords "themes") (:authors ("Bruce Williams" . "brwcodes@gmail.com")) (:maintainer "Bruce Williams" . "brwcodes@gmail.com") (:url . "http://github.com/bruce/emacs-spacegray-theme"))])
+ (spaceline . [(20191230 1221) ((emacs (24 4)) (cl-lib (0 5)) (powerline (2 3)) (dash (2 11 0)) (s (1 10 0))) "Modeline configuration library for powerline" tar ((:commit . "1b26af2c1a701481ac5d90928fe0200e389756c3") (:keywords "mode-line" "powerline" "spacemacs") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/spaceline"))])
+ (spaceline-all-the-icons . [(20190325 1602) ((emacs (24 4)) (all-the-icons (2 6 0)) (spaceline (2 0 0)) (memoize (1 0 1))) "A Spaceline theme using All The Icons" tar ((:commit . "5afd48c10f1bd42d9b9648c5e64596b72f3e9042") (:keywords "convenience" "lisp" "tools") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:url . "https://github.com/domtronn/spaceline-all-the-icons.el"))])
+ (spacemacs-theme . [(20200324 1107) nil "Color theme with a dark and light versions" tar ((:commit . "f79c40fb241e204539fde97200abae91e828e585") (:keywords "color" "theme") (:url . "https://github.com/nashamri/spacemacs-theme"))])
+ (spaces . [(20170809 2208) nil "Create and switch between named window configurations." single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))])
+ (spark . [(20160415 201) ((emacs (24 3))) "sparkline generation" single ((:commit . "0bf148c3ede3b31d56fd75f347cdd0b0eae60025") (:keywords "lisp" "data") (:authors ("Alvin Francis Dumalus")) (:maintainer "Alvin Francis Dumalus") (:url . "https://github.com/alvinfrancis/spark"))])
+ (sparkline . [(20150101 1319) ((cl-lib (0 3))) "Make sparkline images from a list of numbers" single ((:commit . "a2b5d817d272d6363b67ed8f8cc75499a19fa8d2") (:keywords "extensions") (:authors ("Willem Rein Oudshoorn" . "woudshoo@xs4all.nl")) (:maintainer "Willem Rein Oudshoorn" . "woudshoo@xs4all.nl"))])
+ (sparql-mode . [(20200429 1719) ((cl-lib (0 5)) (emacs (24 3))) "Edit and interactively evaluate SPARQL queries." tar ((:commit . "62f198256453265af48bef3a0207e80143fbff1e") (:authors ("Craig Andera <candera at wangdera dot com>")) (:maintainer "Bjarte Johansen <Bjarte dot Johansen at gmail dot com>") (:url . "https://github.com/ljos/sparql-mode"))])
+ (speech-tagger . [(20170728 1829) ((cl-lib (0 5))) "tag parts of speech using coreNLP" tar ((:commit . "61955b40d4e8b09e66a3e8033e82893f81657c06") (:keywords "speech" "tag" "nlp" "language" "corenlp" "parsing" "natural") (:authors ("Danny McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Danny McClanahan" . "danieldmcclanahan@gmail.com") (:url . "https://github.com/cosmicexplorer/speech-tagger"))])
+ (speechd-el . [(20200122 2036) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "590278f2b37919d082f576e522cbb790167a7f8d"))])
+ (speed-type . [(20191204 1107) ((emacs (24 3)) (cl-lib (0 3))) "Practice touch and speed typing" single ((:commit . "5ef695f7159aa1f20c7c9e55f0c39bcdacce8d21") (:keywords "games") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:url . "https://github.com/parkouss/speed-type"))])
+ (speedbar-git-respect . [(20191121 2120) ((f (0 8 0)) (emacs (25 1))) "Particular respect git repo in speedbar" single ((:commit . "4703650c20cb77f08833747529b55be13d450bae") (:authors ("Muromi Ukari" . "chendianbuji@gmail.com")) (:maintainer "Muromi Ukari" . "chendianbuji@gmail.com") (:url . "https://github.com/ukari/speedbar-git-respect"))])
+ (speeddating . [(20180319 723) ((emacs (25))) "Increase date and time at point" single ((:commit . "df69db0560f19636a66a74f3d88c793bbb18b21e") (:keywords "date" "time") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/emacs-speeddating"))])
+ (spell-fu . [(20200426 600) ((emacs (26 2))) "Fast & light spelling highlighter" single ((:commit . "e62cfc4f08fc4743d6961fe3402adbf2260d7e70") (:keywords "convenience") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-spell-fu-mode"))])
+ (sphinx-doc . [(20160116 1117) ((s (1 9 0)) (cl-lib (0 5)) (dash (2 10 0))) "Sphinx friendly docstrings for Python functions" single ((:commit . "f39da2e6cae55d5d7c7ce887e69755b7529bcd67") (:keywords "sphinx" "python") (:authors ("Vineet Naik" . "naikvin@gmail.com")) (:maintainer "Vineet Naik" . "naikvin@gmail.com") (:url . "https://github.com/naiquevin/sphinx-doc.el"))])
+ (sphinx-frontend . [(20161025 758) nil "Launch build process for rst documents via sphinx." single ((:commit . "0cbb03361c245382d3e679dded30c4fc1713c252") (:keywords "compile" "sphinx" "restructuredtext") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/sphinx-frontend"))])
+ (sphinx-mode . [(20180620 915) ((f (0 20 0)) (dash (2 14 1))) "Minor mode providing sphinx support." tar ((:commit . "b5ac514e213459dcc57184086f10b5b6be3cecd8"))])
+ (spice-mode . [(20190608 1033) ((emacs (24 3))) "Major mode for SPICE" single ((:commit . "e5e0644f03f9696f56dd69e2b6979da7f30ed600") (:keywords "spice" "spice2g6" "spice3" "eldo" "hspice" "layla" "mondriaan" "fasthenry" "cdl" "spectre compatibility" "netlist editing") (:authors ("Geert A. M. Van der Plas" . "geert_vanderplas@email.com") ("Emmanuel Rouat" . "emmanuel.rouat@wanadoo.fr") ("Carlin J. Vieri, MIT AI Lab" . "cvieri@ai.mit.edu")) (:maintainer "Geert A. M. Van der Plas" . "geert_vanderplas@email.com") (:url . "http://spice-mode.4t.com/"))])
+ (spiral . [(20180223 1140) ((emacs (25 1)) (a (0 1 0 -3 4)) (avy (0 4 0)) (clojure-mode (5 6 0)) (highlight (0)) (treepy (1 0 0))) "Clojure IDE based on UNREPL" tar ((:commit . "907b9792467139a942ba7b07ca0276b90770baf9") (:keywords "languages" "clojure") (:authors ("Daniel Barreto" . "daniel@barreto.tech")) (:maintainer "Daniel Barreto" . "daniel@barreto.tech") (:url . "https://github.com/Unrepl/spiral"))])
+ (splitjoin . [(20150505 1432) ((cl-lib (0 5))) "Transition between multiline and single-line code" single ((:commit . "e2945ee269e6e90f0243d6f2a33e067bb0a2873c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-splitjoin"))])
+ (splitter . [(20170809 2208) nil "Manage window splits" single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))])
+ (spotify . [(20181030 810) ((cl-lib (0 5))) "Control the spotify application from emacs" single ((:commit . "29577cf1188161f98b8358c149aaf47b2c137902") (:keywords "convenience") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/spotify-el"))])
+ (spotlight . [(20200109 2137) ((emacs (24 1)) (swiper (0 6 0)) (counsel (0 6 0))) "search files with Mac OS X spotlight" single ((:commit . "ea71f4fd380c51e50c47bb25855af4f40e4d8da0") (:keywords "search" "external") (:authors ("Ben Maughan" . "benmaughan@gmail.com")) (:maintainer "Ben Maughan" . "benmaughan@gmail.com") (:url . "http://www.pragmaticemacs.com"))])
+ (spray . [(20160304 2220) nil "a speed reading mode" single ((:commit . "00638bc916227f2f961013543d10e85a43a32e29") (:keywords "convenience") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:url . "https://github.com/ian-kelling/spray"))])
+ (springboard . [(20170106 755) ((helm (1 6 9))) "Temporarily change default-directory for one command" single ((:commit . "687d1e5898a880878995dc9bffe93b4598366203") (:keywords "helm") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))])
+ (sprintly-mode . [(20121006 534) ((furl (0 0 2))) "Major mode for dealing with sprint.ly" single ((:commit . "6695892bae5860b5268bf3ae62be990ee9b63c11") (:authors ("Justin Lilly" . "justin@justinlilly.com")) (:maintainer "Justin Lilly" . "justin@justinlilly.com") (:url . "https://github.com/sprintly/sprintly-mode"))])
+ (sproto-mode . [(20151115 1805) nil "Major mode for editing sproto." single ((:commit . "0583a88273204dccd884b7edaa3590cefd31e7f7") (:keywords "sproto") (:authors ("m2q1n9")) (:maintainer "m2q1n9"))])
+ (sprunge . [(20160301 243) ((request (0 2 0)) (cl-lib (0 5))) "Upload pastes to sprunge.us" single ((:commit . "0fd386b8b29c4175022a04ad70ea5643185b6726") (:keywords "tools") (:authors ("Tom Jakubowski")) (:maintainer "Tom Jakubowski"))])
+ (spu . [(20161214 324) ((emacs (24 4)) (signal (1 0)) (timp (1 2 0))) "Silently upgrade package in the background" tar ((:commit . "41eec86b595816e3852e8ad1a8e07e51a27fd065") (:keywords "convenience" "package") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/spu"))])
+ (sql-clickhouse . [(20191209 1443) ((emacs (24))) "support ClickHouse as SQL interpreter" single ((:commit . "8403a4a5d332dbb6459b7fbce6ea95c36d390a5b") (:authors ("Robert Schwarz" . "mail@rschwarz.net")) (:maintainer "Robert Schwarz" . "mail@rschwarz.net") (:url . "https://github.com/leethargo/sql-clickhouse"))])
+ (sql-impala . [(20181218 410) nil "comint support for Cloudera Impala" single ((:commit . "466e7c0c789ec3e5e8a276c8f6754f91bb584c3e") (:keywords "sql" "impala") (:authors ("Jason Terk" . "jason@goterkyourself.com")) (:maintainer "Jason Terk" . "jason@goterkyourself.com") (:url . "https://github.com/jterk/sql-impala"))])
+ (sql-presto . [(20190113 1742) nil "No description available." single ((:commit . "bcda455e300a1af75c7bb805882329bc844703b2"))])
+ (sql-sqlline . [(20191028 939) ((emacs (24 4))) "Adds SQLLine support to SQLi mode" single ((:commit . "990c79b7ebbf8ecb1e1161c9a942973efd8e2833") (:keywords "languages") (:authors ("Matteo Redaelli" . "matteo.redaelli@gmail.com")) (:maintainer "Matteo Redaelli" . "matteo.redaelli@gmail.com") (:url . "https://gitlab.com/matteo.redaelli/sql-sqlline"))])
+ (sqlformat . [(20200327 2329) ((emacs (24 3)) (reformatter (0 3))) "Reformat SQL using sqlformat or pgformatter" single ((:commit . "2f10382034cd5cd2356cc69b4a1e9116d77a0d86") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/sqlformat"))])
+ (sqlite . [(20180708 1711) nil "use sqlite via elisp" single ((:commit . "dad42b8bbca4994be1871343dd18fd6528ee5797") (:authors ("Christian Giménez")) (:maintainer "Christian Giménez"))])
+ (sqlup-mode . [(20170610 1537) nil "Upcase SQL words for you" single ((:commit . "3f9df9c88d6a7f9b1ae907e401cad8d3d7d63bbf") (:keywords "sql" "tools" "redis" "upcase") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "https://github.com/trevoke/sqlup-mode.el"))])
+ (sr-speedbar . [(20161025 831) nil "Same frame speedbar" single ((:commit . "77a83fb50f763a465c021eca7343243f465b4a47") (:keywords "speedbar" "sr-speedbar.el") (:authors ("Sebastian Rose" . "sebastian_rose@gmx.de")) (:maintainer "Sebastian Rose" . "sebastian_rose@gmx.de") (:url . "http://www.emacswiki.org/emacs/download/sr-speedbar.el"))])
+ (srcery-theme . [(20200422 1941) ((emacs (24))) "Dark color theme." single ((:commit . "9630e465cc5166f723b7c5378e326561cf2a1738") (:keywords "faces") (:authors ("Daniel Berg")) (:maintainer "Daniel Berg") (:url . "https://github.com/srcery-colors/srcery-emacs"))])
+ (srefactor . [(20180703 1810) ((emacs (24 4))) "A refactoring tool based on Semantic parser framework" tar ((:commit . "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5") (:keywords "c" "languages" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/semantic-refactor"))])
+ (srfi . [(20200426 2141) ((emacs (25 1)) (cl-lib (0 5))) "Scheme Requests for Implementation browser" tar ((:commit . "7ba71ef111a9397c8452894a0ef631f8a419b5f4") (:keywords "languages" "util") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/srfi-explorations/emacs-srfi"))])
+ (srv . [(20180715 1959) ((emacs (24 3))) "perform SRV DNS requests" single ((:commit . "714387d5a5cf34d8d8cd96bdb1f9cb8ded823ff7") (:keywords "comm") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:url . "https://github.com/legoscia/srv.el"))])
+ (ssass-mode . [(20200211 132) ((emacs (24 3))) "Edit Sass without a Turing Machine" single ((:commit . "96f557887ad97a0066a60c54f92b7234b8407016") (:keywords "languages" "sass") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ssass-mode"))])
+ (ssh . [(20120904 2042) nil "Support for remote logins using ssh." single ((:commit . "812e27409d01c38d74906a1816640506d6e7e3ef") (:keywords "unix" "comm") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))])
+ (ssh-agency . [(20200329 1558) ((emacs (24 4)) (dash (2 10 0))) "manage ssh-agent from Emacs" single ((:commit . "a5377e4317365a3d5442e06d5c255d4a7c7618db") (:authors ("Noam Postavsky" . "npostavs@user.sourceforge.net")) (:maintainer "Noam Postavsky" . "npostavs@user.sourceforge.net") (:url . "https://github.com/magit/ssh-agency"))])
+ (ssh-config-mode . [(20191221 1051) nil "Mode for fontification of ~/.ssh/config" tar ((:commit . "e9f009c064f63ca488c89c30ab0d3857a0155f86") (:keywords "ssh" "config" "emacs") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Harley Gorrell" . "harley@panix.com") (:url . "https://github.com/jhgorrell/ssh-config-mode-el"))])
+ (ssh-deploy . [(20200306 1012) ((emacs (25))) "Deployment via Tramp, global or per directory." tar ((:commit . "1bb2f821d4a78d483c147759348a29531486cdc4") (:keywords "tools" "convenience") (:authors ("Christian Johansson" . "christian@cvj.se")) (:maintainer "Christian Johansson" . "christian@cvj.se") (:url . "https://github.com/cjohansson/emacs-ssh-deploy"))])
+ (ssh-tunnels . [(20190622 931) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" tar ((:commit . "d32e2072f50bcbde787196abb5862735837dc8be") (:keywords "tools" "convenience") (:authors ("death <github.com/death>")) (:maintainer "death <github.com/death>") (:url . "http://github.com/death/ssh-tunnels"))])
+ (stack-mode . [(20150923 1523) ((haskell-mode (13 14)) (cl-lib (0 5)) (flycheck (0 23))) "A minor mode enabling various features based on stack-ide." tar ((:commit . "f3481e239dde9817152ec00e32bfc3ebf5aaf2cb") (:keywords "haskell" "stack") (:url . "https://github.com/commercialhaskell/stack-ide"))])
+ (stan-mode . [(20200221 2025) ((emacs (24 4))) "Major mode for editing Stan files" tar ((:commit . "599a0440086c660e6823622b35058f6d2d6d9637") (:keywords "languages" "c") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Daniel Lee" . "bearlee@alum.mit.edu") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-mode"))])
+ (stan-snippets . [(20200221 2025) ((emacs (24 3)) (stan-mode (10 1 0)) (yasnippet (0 8 0))) "Yasnippets for Stan" tar ((:commit . "599a0440086c660e6823622b35058f6d2d6d9637") (:keywords "languages" "tools") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-snippets"))])
+ (standoff-mode . [(20171115 1731) nil "Create stand-off markup, also called external markup." tar ((:commit . "cf84b14066d63694d931395c6026fd0245d8a62b"))])
+ (start-menu . [(20160426 1225) ((cl-lib (0 5)) (config-parser (0 1))) "start-menu for executing external program like in windows" single ((:commit . "f7d33fed7ad2dc61156f1c1cff9e1805366fbd69") (:keywords "convenience" "menu") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/el-start-menu"))])
+ (stash . [(20151117 1427) nil "lightweight persistent caching" single ((:commit . "c2e494d20c752b80ebbdffbf66687b3cdfc425ad") (:keywords "extensions" "data" "internal" "lisp") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://www.github.com/vermiculus/stash.el/"))])
+ (state . [(20180627 1956) ((emacs (24))) "Quick navigation between workspaces" single ((:commit . "258fe1cba00bdc2c600f866bb0406c719661d0a6") (:keywords "convenience" "workspaces") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/state.git"))])
+ (status . [(20151230 1408) nil "This package adds support for status icons to Emacs." tar ((:commit . "b62c74bf272566f82a68622f29fb9edafea0f241"))])
+ (steam . [(20190916 627) ((cl-lib (0 5))) "Organize and launch Steam games" single ((:commit . "f32951f4e0a4bc92813d0121d9df0257101b8992") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/steam.el"))])
+ (stem . [(20131102 1109) nil "Routines for stemming" single ((:commit . "d74e6611d6ba5025e0276a2cc7c8a90f46bfa9ac") (:keywords "stemming") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp") (:url . "https://github.com/yuutayamada/stem"))])
+ (stem-english . [(20180109 358) ((emacs (24 3))) "- routines for stemming English word" single ((:commit . "c9fc4c6ed6bf82382e479dae80912f4ae17d31f4") (:keywords "text") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "http://github.com/kawabata/stem-english"))])
+ (stgit . [(20171130 1559) nil "major mode for StGit interaction" single ((:commit . "41507e77001cbecfcea479e8a8f0821630371918") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://www.procode.org/stgit"))])
+ (sticky . [(20170926 36) nil "Sticky key for capital letters" single ((:commit . "fec4e1af38f17f5cd80eca361d8e8ef8772db366") (:keywords "convenience") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sticky.el"))])
+ (stickyfunc-enhance . [(20150429 1814) ((emacs (24 3))) "An enhancement to stock `semantic-stickyfunc-mode'" single ((:commit . "13bdba51fcd83ccbc3267959d23afc94d458dcb0") (:keywords "c" "languages" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/semantic-stickyfunc-enhance"))])
+ (stock-ticker . [(20150204 1052) ((s (1 9 0)) (request (0 2 0))) "Show stock prices in mode line" single ((:commit . "f2e564142c9de84232839a5b01979cf95b04d6a9") (:keywords "comms") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:url . "https://github.com/hagleitn/stock-ticker"))])
+ (stock-tracker . [(20200228 542) ((emacs (26)) (dash (2 16 0))) "Track stock price" single ((:commit . "32ae436a4cad49fea5038cc3e8eb638a3a83dd6c") (:keywords "convenience" "chinese" "stock") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:url . "https://github.com/beacoder/stock-tracker"))])
+ (strace-mode . [(20171116 2039) nil "strace output syntax highlighting" single ((:commit . "2901baa968d5180ab985ac40ca22cc20914d01f5") (:keywords "languages") (:authors ("Preston Moore" . "prestonkmoore@gmail.com")) (:maintainer "Preston Moore" . "prestonkmoore@gmail.com"))])
+ (strie . [(20160211 2222) ((cl-lib (0 5))) "A simple trie data structure implementation" single ((:commit . "eb7efb0cccc127c414f6a64db11454869d9c10a8") (:authors ("James Atwood" . "jatwood@cs.umass.edu")) (:maintainer "James Atwood" . "jatwood@cs.umass.edu"))])
+ (string-edit . [(20160411 656) ((dash (1 2 0))) "Avoid escape nightmares by editing string in separate buffer" single ((:commit . "c44b65b4c5e9f52be9c14d88ca2f402a18d9e1dd") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (string-inflection . [(20180827 1301) nil "underscore -> UPCASE -> CamelCase -> lowerCamelCase conversion of names" single ((:commit . "e9a50855a4c718592c28a5a892f164ecf46e39a8") (:keywords "elisp") (:authors ("akicho8" . "akicho8@gmail.com")) (:maintainer "akicho8" . "akicho8@gmail.com"))])
+ (string-utils . [(20140508 2041) ((list-utils (0 4 2))) "String-manipulation utilities" single ((:commit . "c2232d691617973ecf12a970c6008a161c21da14") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/string-utils"))])
+ (stripe-buffer . [(20141208 1508) ((cl-lib (1 0))) "Use a different background for even and odd lines" single ((:commit . "c252080f55cb78c951b19ebab9687f6d00237baf") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "sabof" . "esabof@gmail.com") (:url . "https://github.com/sabof/stripe-buffer"))])
+ (stripes . [(20200330 2022) ((emacs (24))) "highlight alternating lines differently" single ((:commit . "7b1d501f44b697a0514ef6759fd126d65867f18d") (:keywords "convenience" "faces") (:authors ("Michael Schierl" . "schierlm-public@gmx.de") ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:url . "https://gitlab.com/stepnem/stripes-el"))])
+ (stumpwm-mode . [(20140131 216) nil "special lisp mode for evaluating code into running stumpwm" single ((:commit . "61a7cf27e49e0779a53c018b2342f5f1c5cc70b4") (:keywords "comm" "lisp" "tools") (:maintainer "Shawn Betts"))])
+ (stupid-indent-mode . [(20170525 1117) nil "Plain stupid indentation minor mode" single ((:commit . "3295e7de5e2cfddc3bf0e462e852bf58972f5d70") (:authors ("Mihai Bazon" . "mihai.bazon@gmail.com")) (:maintainer "Mihai Bazon" . "mihai.bazon@gmail.com"))])
+ (stylefmt . [(20161025 824) nil "Stylefmt interface" single ((:commit . "7a38f26bf8ff947215f34f0a064c7ca80575ccbc") (:keywords "style" "code" "formatter") (:authors ("κeen")) (:maintainer "κeen") (:url . "https://github.com/KeenS/stylefmt.el"))])
+ (stylus-mode . [(20150313 1512) ((sws-mode (0))) "Major mode for editing .jade files" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))])
+ (subatomic-theme . [(20190607 1022) nil "Low contrast bluish color theme" single ((:commit . "a13cdac97a6d0488b13bc36d4c2f4d4102ff6a31") (:keywords "color-theme" "blue" "low contrast") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic"))])
+ (subatomic256-theme . [(20130621 210) nil "Fork of subatomic-theme for terminals." single ((:commit . "326177d6f99cd2b1d30df695e67ee3bc441cd96f") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic256"))])
+ (subemacs . [(20170401 934) nil "Evaluating expressions in a fresh Emacs subprocess" single ((:commit . "18d53939fec8968c08dfc5aff7240ca07efb1aac") (:keywords "extensions" "lisp" "multiprocessing") (:authors ("Klaus-Dieter Bauer" . "bauer.klaus.dieter@gmail.com")) (:maintainer "Klaus-Dieter Bauer" . "bauer.klaus.dieter@gmail.com") (:url . "https://github.com/kbauer/subemacs"))])
+ (sublime-themes . [(20170606 1844) nil "A collection of themes based on Sublime Text" tar ((:commit . "60ee40af82eb55b79d5ed4026f1911326311603f") (:keywords "faces") (:authors ("Owain Lewis" . "owain@owainlewis.com")) (:maintainer "Owain Lewis" . "owain@owainlewis.com"))])
+ (sublimity . [(20181121 1311) ((cl-lib (0 3))) "smooth-scrolling, minimap and distraction-free mode" tar ((:commit . "4c8d0280815978fc11e1c5f86266a11c717b0c89") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/sublimity"))])
+ (sudden-death . [(20180217 23) nil "Totsuzen-no-Shi" single ((:commit . "791a63d3f4df192e71f4232a9a4c5588f4b43dfb") (:authors ("yewton")) (:maintainer "yewton") (:url . "https://github.com/yewton/sudden-death.el"))])
+ (sudo-edit . [(20180731 1908) ((emacs (24)) (cl-lib (0 5))) "Open files as another user" single ((:commit . "cc3d478937b1accd38742bfceba92af02ee9357d") (:keywords "convenience") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "https://github.com/nflath/sudo-edit"))])
+ (sudo-ext . [(20170126 1214) nil "sudo support" single ((:commit . "9d4580f304121ce7b8104bd4bd3b64e4dfa3c9b3") (:keywords "unix") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sudo-ext.el"))])
+ (sudoku . [(20191015 1315) ((emacs (24 4))) "Simple sudoku game, can download puzzles" single ((:commit . "b1924fd244a5fa284de9d67b66fbd69164b37318") (:keywords "games") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))])
+ (suggest . [(20180916 1859) ((emacs (24 4)) (loop (1 3)) (dash (2 13 0)) (s (1 11 0)) (f (0 18 2)) (spinner (1 7 3))) "suggest elisp functions that give the output requested" tar ((:commit . "83a2679baf661ee834e9e75921fd546243a6d919") (:keywords "convenience") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/suggest.el"))])
+ (suggestion-box . [(20170830 807) ((emacs (25 1)) (popup (0 5 3))) "show tooltip on the cursor" single ((:commit . "50af0776c8caf3c79c4d37fd51cbf304ea34b68e") (:keywords "convenience") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>"))])
+ (sunburn-theme . [(20180602 1929) ((emacs (24))) "A low contrast color theme" single ((:commit . "ddb01b6f1f4f823398f7f8e08900c2b4a7811d3b") (:authors ("Martín Varela" . "martin@varela.fi")) (:maintainer "Martín Varela" . "martin@varela.fi") (:url . "http://github.com/mvarela/Sunburn-Theme"))])
+ (sunny-day-theme . [(20140413 2125) nil "Emacs24 theme with a light background." single ((:commit . "420e0a6eb33fcc9b75c2c9e88ab60a975d782a00") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/sunny-day-theme"))])
+ (sunshine . [(20200306 1711) ((cl-lib (0 5))) "Provide weather and forecast information." single ((:commit . "88256223539edcfe57017778a997a474c9c022f6") (:keywords "tools" "weather") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/sunshine.el"))])
+ (suomalainen-kalenteri . [(20190310 910) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "c8c03fe9bae57d4e15c287aef4f98911a3529240"))])
+ (super-save . [(20190806 915) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "279aa8e0103d6bd367619b7f57f9d60d7a3c5cfd") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/super-save"))])
+ (supergenpass . [(20130329 548) nil "SuperGenPass for Emacs" single ((:commit . "549072ef7b5b82913cadd4758e8a0a9926f0a04a") (:keywords "supergenpass") (:authors ("Jaime Fournier" . "jaimef@linbsd.org")) (:maintainer "Jaime Fournier" . "jaimef@linbsd.org"))])
+ (suscolors-theme . [(20190713 1009) nil "Colorful theme, inspired by Gruvbox." single ((:commit . "b4a979ee23e26e255b9a63525b0a28e810fab9ae") (:url . "https://github.com/TheSuspiciousWombat/SusColors-emacs"))])
+ (sv-kalender-namnsdagar . [(20190421 1521) nil "Swedish celebrated name of the day" single ((:commit . "fff970f49c77abfc69e37817f25a939818420971") (:keywords "calendar" "swedish" "localization") (:authors ("Mats Lidell" . "mats.lidell@lidells.se")) (:maintainer "Mats Lidell" . "mats.lidell@lidells.se") (:url . "https://github.com/matsl/sv-kalender-namnsdagar"))])
+ (svelte-mode . [(20200327 406) ((emacs (26 1))) "Emacs major mode for Svelte" single ((:commit . "48a26af6a3395a8bf3f09747d0a205c6dbc79313") (:keywords "wp" "languages") (:authors ("Leaf" . "leafvocation@gmail.com")) (:maintainer "Leaf" . "leafvocation@gmail.com") (:url . "https://github.com/leafOfTree/svelte-mode"))])
+ (svg-mode-line-themes . [(20150425 2006) ((xmlgen (0 4))) "SVG-based themes for mode-line" tar ((:commit . "80a0e01839cafbd66899202e7764c33231974259") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/svg-mode-line-themes"))])
+ (svnwrapper . [(20180414 1843) ((e2ansi (0 1 1))) "Highlighting and paging for shell command `svn'" tar ((:commit . "de5069f5784e5d9e87a0af0159ba5f28a3716583") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/svnwrapper"))])
+ (swagger-to-org . [(20160611 56) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "Convert a swagger.json file into an org-mode file" single ((:commit . "181357c71ea24bede263f5706d8781ad65e16877") (:keywords "ahungry" "emacs" "swagger" "openapi" "orgmode" "org" "export") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/swagger-to-org"))])
+ (swap-buffers . [(20150506 2139) nil "The quickest way to swap buffers between windows. Based on switch-window package." single ((:commit . "46ab31359b70d935add6c6e9533443116dc51103") (:keywords "window" "swap" "buffer" "exchange") (:authors ("Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com")) (:maintainer "Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com") (:url . "https://github.com/ekazakov/swap-buffers"))])
+ (swap-regions . [(20180915 1346) ((emacs (24 3))) "Swap text in two regions" single ((:commit . "f4fd9880cf690e003fcde88dcf2b46adbbbb03cd") (:keywords "convenience") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/swap-regions.el"))])
+ (sweetgreen . [(20180605 335) ((dash (2 12 1)) (helm (1 5 6)) (request (0 2 0)) (cl-lib (0 5))) "Order Salads from sweetgreen.com" single ((:commit . "e933fe466b5ef0e976967e203f88bd7a012469d1") (:keywords "salad" "food" "sweetgreen" "request") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:url . "https://www.github.com/CestDiego/sweetgreen.el"))])
+ (swift-helpful . [(20200321 10) ((emacs (25 1)) (dash (2 12 0)) (lsp-mode (6 0)) (swift-mode (8 0 0))) "Show documentation for Swift programs." tar ((:commit . "e58f26b8ab9cf0522d52fe9890d39dc9e645577e") (:keywords "help" "swift") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:url . "https://github.com/danielmartin/swift-helpful"))])
+ (swift-mode . [(20200418 617) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language." tar ((:commit . "2ab9ea1784a12a482ed9e3fb284b7a7658f40fff") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))])
+ (swift-playground-mode . [(20190730 1707) ((emacs (24 4)) (seq (2 2 0))) "Run Apple's playgrounds in Swift buffers" tar ((:commit . "111cde906508824ee11d774b908df867142a8aec") (:keywords "languages" "swift") (:url . "https://gitlab.com/michael.sanders/swift-playground-mode"))])
+ (swift3-mode . [(20160918 1250) ((emacs (24 4))) "Major-mode for Apple's Swift programming language." tar ((:commit . "4e51265c6905e17d8910e35b0b37cf51e20ecdfe") (:keywords "languages" "swift") (:url . "https://github.com/taku0/swift3-mode"))])
+ (swiper . [(20200427 846) ((emacs (24 5)) (ivy (0 13 0))) "Isearch with an overview. Oh, man!" single ((:commit . "1bf5b98dc2a01ff4d3255e349cf32817ffaccea1") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))])
+ (swiper-helm . [(20180131 1744) ((emacs (24 1)) (swiper (0 1 0)) (helm (1 5 3))) "Helm version of Swiper." single ((:commit . "93fb6db87bc6a5967898b5fd3286954cc72a0008") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper-helm"))])
+ (switch-buffer-functions . [(20200127 409) nil "Hook run when current buffer changed" single ((:commit . "95a846baa93bac4c3b3c028b9d53507f1042b23a") (:keywords "hook" "utility") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/switch-buffer-functions-el"))])
+ (switch-window . [(20181104 340) ((emacs (24))) "A *visual* way to switch window" tar ((:commit . "204f9fc1a39868a2d16ab9370a142c8c9c7a0943") (:keywords "convenience") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org") ("Feng Shu" . "tumashu@163.com")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/switch-window"))])
+ (swoop . [(20200321 319) ((emacs (24 3)) (ht (2 0)) (pcre2el (1 5)) (async (1 1))) "Peculiar buffer navigation" tar ((:commit . "7f6f20d0f32b76b7ce5b1459afa44c1ab700f8bb") (:keywords "tools" "swoop" "inner" "buffer" "search" "navigation") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-swoop"))])
+ (sws-mode . [(20150317 1945) nil "(S)ignificant (W)hite(S)pace mode" single ((:commit . "4dbde92542fc7ad61df38776980905a4721d642e") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:url . "https://github.com/brianc/jade-mode"))])
+ (sx . [(20191229 1746) ((emacs (24 1)) (cl-lib (0 5)) (json (1 3)) (markdown-mode (2 0)) (let-alist (1 0 3))) "StackExchange client. Ask and answer questions on Stack Overflow, Super User, and the likes" tar ((:commit . "e9d1093c97507a6d7b4f4710ef65200dae725e5f") (:keywords "help" "hypermedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/sx.el/"))])
+ (sxiv . [(20200326 1433) ((dash (2 16 0)) (emacs (25 1))) "Run the sxiv image viewer" single ((:commit . "dae46e6f5890f3d97d45eaadf0194b7ff01f6baf") (:keywords "multimedia") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabber.fr")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabber.fr") (:url . "https://gitlab.com/contrapunctus/sxiv.el"))])
+ (symbol-overlay . [(20191224 250) ((emacs (24 3)) (seq (2 2))) "Highlight symbols with keymap-enabled overlays" single ((:commit . "8096a684c29bae20e1f5a1c7adbe7881680a5c10") (:keywords "faces" "matching") (:authors ("wolray" . "wolray@foxmail.com")) (:maintainer "wolray" . "wolray@foxmail.com") (:url . "https://github.com/wolray/symbol-overlay/"))])
+ (symbolword-mode . [(20180401 1427) ((emacs (24)) (f (0 19 0))) "modify word split" single ((:commit . "cd344b6c2cb6a8fcf061af2c85441644a4e7a006") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/symbolword-mode"))])
+ (symex . [(20200425 1911) ((emacs (24 4)) (cl-lib (0 6 1)) (lispy (0 26 0)) (paredit (24)) (evil-cleverparens (20170718 413)) (dash-functional (2 15 0)) (evil (1 2 14)) (smartparens (1 11 0)) (racket-mode (20181030 1345)) (geiser (0 10)) (evil-surround (1 0 4)) (hydra (0 15 0)) (cider (0 21 0)) (slime (2 24))) "An evil way to edit Lisp symbolic expressions as trees" tar ((:commit . "3dba2ae3f65bd1c40e3756e05a57ced039a15a7f") (:keywords "lisp" "evil") (:authors ("Siddhartha Kasivajhula" . "sid@countvajhula.com")) (:maintainer "Siddhartha Kasivajhula" . "sid@countvajhula.com") (:url . "https://github.com/countvajhula/symex.el"))])
+ (symon . [(20170224 833) nil "tiny graphical system monitor" single ((:commit . "8dd8b6df49b03cd7d31b85aedbe9dd08fb922335") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (symon-lingr . [(20150719 1342) ((symon (1 1 2)) (cl-lib (0 5))) "A notification-based Lingr client powered by symon.el" single ((:commit . "056d1a473e36992ff5881e5ce6fdc331cead975f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (sync-recentf . [(20160326 2001) nil "Synchronize the recent files list between Emacs instances" single ((:commit . "0052561d5c5b5c2684faedc3eead776aec06c3ed") (:keywords "recentf") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/sync-recentf"))])
+ (synonymous . [(20180325 1817) ((emacs (24)) (cl-lib (0 5)) (request (0 2 0))) "A thesaurus at your fingertips" single ((:commit . "2cb9a674d84fddf3f1b00c9d6b13a853576acb87") (:keywords "utility") (:authors ("Katherine Whitlock" . "toroidalcode@gmail.com") ("Snippets adapted from FlySpell, authored by Manuel Serrano" . "Manuel.Serrano@inria.fr")) (:maintainer "Katherine Whitlock" . "toroidalcode@gmail.com") (:url . "http://github.com/toroidal-code/synonymous.el"))])
+ (synosaurus . [(20191125 552) ((cl-lib (0 5))) "An extensible thesaurus supporting lookup and substitution." tar ((:commit . "14d34fc92a77c3a916b4d58400424c44ae99cd81") (:url . "https://github.com/hpdeifel/synosaurus"))])
+ (synquid . [(20160930 1550) ((flycheck (27)) (emacs (24 3))) "Major mode for editing Synquid files" single ((:commit . "28701ce1a15437202f53ab93a14bcba1de83fd2c") (:keywords "languages") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "https://github.com/cpitclaudel/synquid-mode"))])
+ (syntactic-close . [(20200408 1148) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "c21ffdf6a2f8c2a83d3efc729852cd2b09fe03a6") (:keywords "languages" "convenience") (:authors ("Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org")) (:maintainer "Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org") (:url . "https://github.com/emacs-berlin/syntactic-close"))])
+ (syntactic-sugar . [(20140508 2041) nil "Effect-free forms such as if/then/else" single ((:commit . "7ddc4502c831abe1c4ad4c7d1ca628a2c9e13968") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/syntactic-sugar"))])
+ (syntax-subword . [(20160519 1905) nil "make operations on words more fine-grained" single ((:commit . "ad0db0fcb464652a1d3408f525dee9293ce2b70c") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))])
+ (sysctl . [(20190720 2028) ((emacs (26))) "Manage sysctl though org-mode" single ((:commit . "0fc50305a96de059ad1ff4e6081c9b4089f5247f") (:keywords "sysctl" "tools" "unix") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:url . "https://github.com/dantecatalfamo/sysctl.el"))])
+ (syslog-mode . [(20190913 2040) ((hide-lines (20130623)) (ov (20150311))) "Major-mode for viewing log files" single ((:commit . "18f441bf57dd70cdd48a71f1f4566ab35facdb35") (:keywords "unix") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/syslog-mode"))])
+ (system-packages . [(20200426 1714) ((emacs (24 3))) "functions to manage system packages" single ((:commit . "92c58d98bc7282df9fd6f24436a105f5f518cde9") (:authors ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "J. Alexander Branham" . "alex.branham@gmail.com") (:url . "https://gitlab.com/jabranham/system-packages"))])
+ (system-specific-settings . [(20140818 1457) nil "Apply settings only on certain systems" single ((:commit . "0050d85b2175095aa5ecf580a2fe43c069b0eef3") (:keywords "configuration") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/emacs-system-specific-settings"))])
+ (systemd . [(20191219 2304) ((emacs (24 4))) "Major mode for editing systemd units" tar ((:commit . "51c148e09a129ddf33d95276aa0e89d4ef6f8dd2") (:keywords "tools" "unix") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))])
+ (systemtap-mode . [(20151122 1940) nil "A mode for SystemTap" single ((:commit . "1a968c2b1f3a054bebf91ac49739d3a81ce050a9") (:keywords "tools" "languages") (:maintainer nil . "ruediger@c-plusplus.de") (:url . "https://github.com/ruediger/systemtap-mode"))])
+ (ta . [(20160619 1645) ((emacs (24 3)) (cl-lib (0 5))) "A tool to deal with Chinese homophonic characters" single ((:commit . "668ad41e71f374f8c32c8d0532f3d8485b355d35") (:keywords "tools") (:authors ("kuanyui" . "azazabc123@gmail.com")) (:maintainer "kuanyui" . "azazabc123@gmail.com") (:url . "http://github.com/kuanyui/ta.el"))])
+ (tab-group . [(20140306 1450) nil "Grouped tabs and their tabbar" single ((:commit . "5a290ec2608e4100fb188fd60ecb77affcc3465b") (:keywords "convenience" "tabs") (:authors ("INA Lintaro <tarao.gnn at gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>") (:url . "http://github.com/tarao/tab-group-el"))])
+ (tab-jump-out . [(20151006 130) ((dash (2 10)) (emacs (24 4))) "Use tab to jump out of delimiter pairs." single ((:commit . "1c3fec1826d2891177ea78e4e7cce1dc67e83e51") (:keywords "tab" "editing") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com"))])
+ (tabbar . [(20180726 1735) nil "Display a tab bar in the header line" tar ((:commit . "82bbda31cbe8ef367dd6501c3aa14b7f2c835910") (:keywords "convenience") (:authors ("David Ponce" . "david@dponce.com")) (:maintainer "David Ponce" . "david@dponce.com"))])
+ (tabbar-ruler . [(20160802 307) ((tabbar (2 0 1)) (powerline (2 3)) (mode-icons (0 4 0)) (cl-lib (0 5))) "Pretty tabbar, autohide, use both tabbar/ruler" tar ((:commit . "535568189aa12a3eff7f977d2783e57b6a65ab6a") (:keywords "tabbar" "ruler mode" "menu" "tool bar.") (:authors ("Matthew Fidler, Ta Quang Trung, Nathaniel Cunningham")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/tabbar-ruler.el"))])
+ (tablist . [(20200427 2205) ((emacs (24 3))) "Extended tabulated-list-mode" tar ((:commit . "faab7a035ef2258cc4ea2182f67e3aedab7e2af9") (:keywords "extensions" "lisp") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))])
+ (tabula-rasa . [(20141216 547) ((emacs (24 4))) "Distraction free writing mode" single ((:commit . "e85fff9de18dc31bc6a7aca726e34a95cc5459f5") (:keywords "distraction free" "writing") (:authors ("Ido Magal" . "misc@satans.church")) (:maintainer "Ido Magal" . "misc@satans.church") (:url . "https://github.com/idomagal/Tabula-Rasa/blob/master/tabula-rasa.el"))])
+ (tagedit . [(20161121 855) ((s (1 3 1)) (dash (1 0 3))) "Some paredit-like features for html-mode" single ((:commit . "b3a70101a0dcf85498c92b7fcfa7fdbac869746c") (:keywords "convenience") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (take-off . [(20140531 917) ((emacs (24 3)) (web-server (0 1 0))) "Emacs remote web access" tar ((:commit . "aa9ea45566fc74febbb6ee9c409ecc4b59246215") (:authors ("Thomas Burette" . "burettethomas@gmail.com")) (:maintainer "Thomas Burette" . "burettethomas@gmail.com") (:url . "https://github.com/tburette/take-off"))])
+ (tango-2-theme . [(20120312 2025) nil "Tango 2 color theme for GNU Emacs 24" single ((:commit . "64e44c98e41ebbe3b827d54280e3b9615787daaa") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))])
+ (tango-plus-theme . [(20200423 804) nil "A color theme based on the tango palette" single ((:commit . "1e9484bb392bb0aad2be159505c502320f8d0a5c") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))])
+ (tangotango-theme . [(20170924 1509) nil "Tango Palette color theme for Emacs 24." single ((:commit . "e2f2ea9c35f06dfc43a29c91c14cf0cdb19f2144") (:keywords "tango" "palette" "color" "theme" "emacs") (:authors ("Julien Barnier")) (:maintainer "Julien Barnier") (:url . "https://github.com/juba/color-theme-tangotango"))])
+ (tao-theme . [(20200325 344) nil "This package provides two parametrized uncoloured color themes for Emacs: tao-yin and tao-yang." tar ((:commit . "34917843cde086943816d8a48977658c663a784e"))])
+ (taskpaper-mode . [(20200416 2114) nil "Major mode for working with TaskPaper files" single ((:commit . "eedf6a465b8ccc865c108a6f2715769300f5a499") (:keywords "outlines" "notetaking" "task management" "productivity" "taskpaper") (:authors ("Dmitry Safronov" . "saf.dmitry@gmail.com")) (:maintainer "Dmitry Safronov" . "saf.dmitry@gmail.com") (:url . "https://github.com/saf-dmitry/taskpaper-mode"))])
+ (taskrunner . [(20190916 1608) ((emacs (25 1)) (projectile (2 0 0)) (async (1 9 3))) "Retrieve build system/taskrunner tasks" tar ((:commit . "716323aff410b4d864d137c9ebe4bbb5b8587f5e") (:keywords "build-system" "taskrunner" "build" "task-runner" "tasks" "convenience") (:authors ("Yavor Konstantinov <ykonstantinov1 AT gmail DOT com>")) (:maintainer "Yavor Konstantinov <ykonstantinov1 AT gmail DOT com>") (:url . "https://github.com/emacs-taskrunner/emacs-taskrunner"))])
+ (tawny-mode . [(20191108 1346) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "8dfb4f92db2d8598ba809636a82d210c378b4845") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))])
+ (tblui . [(20161007 1912) ((dash (2 12 1)) (magit-popup (2 6 0)) (tablist (0 70)) (cl-lib (0 5))) "Define tabulated list UI easily" single ((:commit . "bb29323bb3e27093d50cb42db3a9329a096b6e4d") (:authors ("Yuki Inoue <inouetakahiroki _at_ gmail.com>")) (:maintainer "Yuki Inoue <inouetakahiroki _at_ gmail.com>") (:url . "https://github.com/Yuki-Inoue/tblui.el"))])
+ (tbx2org . [(20140224 1559) ((dash (2 5 0)) (s (1 8 0)) (cl-lib (0 4))) "Tinderbox to org-mode conversion" single ((:commit . "08e9816ba6066f56936050b58d07ceb2187ae6f7") (:keywords "org-mode") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/tbx2org"))])
+ (tc . [(20181109 428) nil "a Japanese input method with T-Code on Emacs" tar ((:commit . "cb3403fb134dc62d8a48253027891785849cff31") (:authors ("Kaoru Maeda" . "maeda@src.ricoh.co.jp") ("Yasushi Saito" . "yasushi@cs.washington.edu") ("KITAJIMA Akira" . "kitajima@isc.osakac.ac.jp")) (:maintainer "KITAJIMA Akira"))])
+ (tco . [(20191129 2040) ((dash (1 2 0)) (emacs (24 3))) "Tail-call optimisation for Emacs lisp" single ((:commit . "d82478d56568f60b3a82fd010b3ca0bab2ef5dc9") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/tco.el"))])
+ (tdd-status-mode-line . [(20131123 1716) nil "TDD status on the mode-line" single ((:commit . "4c082e62f4915b573338a97efcc6854d132323dc") (:keywords "faces" "tdd") (:authors ("Gergely Nagy" . "algernon@madhouse-project.org")) (:maintainer "Gergely Nagy" . "algernon@madhouse-project.org") (:url . "https://github.com/algernon/tdd-status-mode-line"))])
+ (tea-time . [(20120331 820) nil "Simple timer package, useful to make perfect tea." single ((:commit . "1f6cf0bdd27c5eb3508989c5095427781f858eca") (:keywords "timer" "tea-time") (:authors ("konsty" . "antipin.konstantin@googlemail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com"))])
+ (teacode-expand . [(20181231 640) ((emacs (24 4))) "Expansion of text by TeaCode program." single ((:commit . "3aae07c71249de616d42fed7fa2585c4fa6f25c6") (:keywords "lisp") (:authors ("Richard Guay" . "raguay@customct.com")) (:maintainer "Richard Guay" . "raguay@customct.com") (:url . "https://github.com/raguay/TeaCode-Expand"))])
+ (telega . [(20200423 1038) ((emacs (26 1)) (visual-fill-column (1 9))) "Telegram client (unofficial)" tar ((:commit . "50ef9bf06cc162b39cf3553b89b02faf5bc87835") (:keywords "comm") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:url . "https://github.com/zevlg/telega.el"))])
+ (telepathy . [(20131209 1258) nil "Access Telepathy from Emacs" single ((:commit . "211d785b02a29ddc254422fdcc3db45262582f8c") (:keywords "telepathy" "tools") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (telephone-line . [(20200412 1614) ((emacs (24 4)) (cl-lib (0 5)) (cl-generic (0 2)) (seq (1 8))) "Rewrite of Powerline" tar ((:commit . "65198f72f3b1ae618507aa28094f05d6de4846a9") (:keywords "mode-line") (:authors ("Daniel Bordak" . "dbordak@fastmail.fm")) (:maintainer "Daniel Bordak" . "dbordak@fastmail.fm") (:url . "https://github.com/dbordak/telephone-line"))])
+ (template-overlays . [(20180706 1132) ((emacs (24 4)) (ov (1 0 6))) "Display template regions using overlays" single ((:commit . "d32db58c044b2aca3720879003f55b1d57208b07") (:keywords "faces" "convenience" "templates" "overlays") (:authors ("Mariano Montone" . "marianomontone@gmail.com")) (:maintainer "Mariano Montone" . "marianomontone@gmail.com") (:url . "http://www.github.com/mmontone/template-overlays"))])
+ (temporary-persistent . [(20200201 1719) ((emacs (24 3)) (names (20151201 0)) (dash (2 12 1)) (s (1 10 0))) "Keep temp notes buffers persistent" single ((:commit . "0080879b0257d350aeba1c4d6901613d7dc534de") (:keywords "temp" "buffers" "notes") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/temporary-persistent"))])
+ (ten-hundred-mode . [(20161028 2236) ((cl-lib (0 5))) "use only the ten hundred most usual words" tar ((:commit . "bdcfda49b1819e82d61fe90947e50bb948cf7933"))])
+ (term+ . [(20170509 17) ((emacs (24)) (cl-lib (0 5))) "term-mode enhancement" tar ((:commit . "c3c9239b339c127231860de43abfa08c44c0201a") (:keywords "terminal" "emulation") (:authors ("INA Lintaro <tarao.gnn at gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>") (:url . "https://github.com/tarao/term-plus-el"))])
+ (term+key-intercept . [(20140211 750) ((term+ (0 1)) (key-intercept (0 1))) "term+ intercept key mapping" single ((:commit . "fd0771fd66b8c7a909aaac972194485c79ba48c4") (:keywords "terminal" "emulation") (:authors ("INA Lintaro <tarao.gnn at gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>") (:url . "http://github.com/tarao/term+-el"))])
+ (term+mux . [(20140211 749) ((term+ (0 1)) (tab-group (0 1))) "term+ terminal multiplexer and session management" single ((:commit . "81b60e80cf008472bfd7fad9233af2ef722c208a") (:keywords "terminal" "emulation") (:authors ("INA Lintaro <tarao.gnn at gmail.com>")) (:maintainer "INA Lintaro <tarao.gnn at gmail.com>") (:url . "http://github.com/tarao/term+-el"))])
+ (term-alert . [(20161119 945) ((emacs (24 0)) (term-cmd (1 1)) (alert (1 1)) (f (0 18 2))) "Notifications when commands complete in term.el." tar ((:commit . "1166c39cc3fb1cb7808eb8955b7f9f6094a306cd"))])
+ (term-cmd . [(20160517 1045) ((emacs (24 0)) (dash (2 12 0)) (f (0 18 2))) "Send commands from programs running in term.el." tar ((:commit . "552aa58965aab9b78e46934462bafe54c0396ffb"))])
+ (term-manager . [(20190610 2032) ((dash (2 12 0)) (emacs (24 4))) "Contextual terminal management" tar ((:commit . "eea7894350a4f31e1df0c666d3fb0bac822d34d2") (:keywords "terminals" "tools") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))])
+ (term-projectile . [(20190307 400) ((emacs (24)) (term-manager (0 1 0)) (projectile (0 13 0))) "projectile terminal management" single ((:commit . "eea7894350a4f31e1df0c666d3fb0bac822d34d2") (:keywords "projectile" "tools" "terminals" "vc") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))])
+ (term-run . [(20200128 702) nil "Run arbitrary command in terminal buffer" single ((:commit . "0fd135d55fcf864598b1fb8dd880833a1a322910") (:keywords "utility" "shell" "command" "term-mode") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:url . "https://github.com/10sr/term-run-el"))])
+ (termbright-theme . [(20151031 235) ((emacs (24 1))) "a more usable theme for white-on-black terminals" single ((:commit . "bec6ab14336c0611e85f45486276004f16d20607") (:keywords "themes") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:url . "https://github.com/bmastenbrook/termbright-theme-el"))])
+ (terminal-focus-reporting . [(20180830 719) ((emacs (24 4))) "Minor mode for terminal focus reporting." single ((:commit . "8b84bf18f4c5f1b59a11692eb706f13c3598d9a5") (:keywords "convenience") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:url . "https://github.com/veelenga/terminal-focus-reporting.el"))])
+ (terminal-here . [(20180513 833) ((emacs (24)) (cl-lib (0 5))) "Run an external terminal in current directory" single ((:commit . "bc7f3477133df0142d3e49e6eb8eaf4468b57865") (:keywords "tools" "frames") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/terminal-here"))])
+ (terminal-toggle . [(20190226 1510) ((emacs (24)) (popwin (1 0 0))) "simple pop-up terminal" single ((:commit . "f824d634aef3600cb7a8e2ddf9e8444c6607c160") (:keywords "outlines") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:url . "https://github.com/mtekman/terminal-toggle.el"))])
+ (tern . [(20181108 722) ((json (1 2)) (cl-lib (0 5)) (emacs (24))) "Tern-powered JavaScript integration" single ((:commit . "a295a80a502771cc07dc061961e0eb85343c2925") (:authors ("Marijn Haverbeke")) (:maintainer "Marijn Haverbeke") (:url . "http://ternjs.net/"))])
+ (tern-auto-complete . [(20170521 1935) ((tern (0 0 1)) (auto-complete (1 4)) (cl-lib (0 5)) (emacs (24))) "Tern Completion by auto-complete.el" single ((:commit . "a295a80a502771cc07dc061961e0eb85343c2925") (:authors ("<m.sakurai at kiwanami.net>")) (:maintainer "<m.sakurai at kiwanami.net>"))])
+ (tern-context-coloring . [(20161218 747) ((emacs (24 3)) (context-coloring (8 1 0)) (tern (0 0 1))) "Use Tern for context coloring" single ((:commit . "3a8e979d6cc83aabcb3dda3f5f31a6422532efba") (:keywords "convenience" "faces" "tools") (:authors ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) (:maintainer "Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com") (:url . "https://github.com/jacksonrayhamilton/tern-context-coloring"))])
+ (terraform-doc . [(20190813 1254) ((emacs (24 4))) "Look up terraform documentation on the fly" single ((:commit . "2ec10ea7bef5a75edfffeb515dd268e19c1f8c9c") (:keywords "comm") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/terraform-doc"))])
+ (terraform-mode . [(20170112 517) ((emacs (24 3)) (hcl-mode (0 3))) "Major mode for terraform configuration file" single ((:commit . "2967e7bdc05d15617e121052f6e43c61439b9070") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-terraform-mode"))])
+ (test-c . [(20180423 1720) ((emacs (24 3))) "quickly test c code" single ((:commit . "761a576f62c7021ba941f178f153c51289df1553") (:authors ("Aurélien Aptel" . "aurelien.aptel@gmail.com")) (:maintainer "Aurélien Aptel" . "aurelien.aptel@gmail.com") (:url . "http://github.com/aaptel/test-c"))])
+ (test-case-mode . [(20130525 1434) ((fringe-helper (0 1 1))) "unit test front-end" single ((:commit . "6074df10ebc97ddfcc228c71c73db179e672dac3") (:keywords "tools") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/test-case-mode/"))])
+ (test-kitchen . [(20171129 2035) nil "Run test-kitchen inside of emacs" single ((:commit . "0fc0ca4808425f03fbeb8125246043723e2a179a") (:keywords "chef" "ruby" "test-kitchen") (:authors ("JJ Asghar")) (:maintainer "JJ Asghar") (:url . "http://github.com/jjasghar/test-kitchen-el"))])
+ (test-simple . [(20170527 1532) ((cl-lib (0))) "Simple Unit Test Framework for Emacs Lisp" single ((:commit . "cfd383d36dc6853917acb753fdfa0eebf33856f3") (:keywords "unit-test") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-test-simple"))])
+ (tex-smart-umlauts . [(20190316 2215) nil "Smart umlaut conversion for TeX." single ((:commit . "f15ed781b1fb38bf3e46c481dd602c3999920b99") (:keywords "tex" "wp") (:authors ("Frank Fischer <frank-fischer at shadow-soft.de>")) (:maintainer "Frank Fischer <frank-fischer at shadow-soft.de>") (:url . "http://hub.darcs.net/lyro/tex-smart-umlauts"))])
+ (texfrag . [(20200424 205) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "48118c4e38836117efb4eede927ab85d9a0d2013") (:keywords "tex" "languages" "wp") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:url . "https://github.com/TobiasZawada/texfrag"))])
+ (textile-mode . [(20170304 1716) nil "Textile markup editing major mode" single ((:commit . "c37aaab809503df008209390e31e19abf4e23630") (:authors ("Julien Barnier" . "julien@nozav.org")) (:maintainer "Julien Barnier" . "julien@nozav.org"))])
+ (textmate . [(20110816 2146) nil "TextMate minor mode for Emacs" single ((:commit . "350918b070148f0ace6d9d3cd4ebcaf15c1a8781") (:keywords "textmate" "osx" "mac") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org"))])
+ (textmate-to-yas . [(20160409 1708) nil "Import Textmate macros into yasnippet syntax" tar ((:commit . "be3a768b7ac4c2e24b9d4aa6e9ac1d916cdc5a73") (:keywords "yasnippet" "textmate") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/textmate-to-yas.el/"))])
+ (textx-mode . [(20170516 911) ((emacs (24 3))) "Major mode for editing TextX files" single ((:commit . "72f9f0c5855b382024f0da8f56833c22a70a5cb3") (:keywords "textx") (:authors ("Novak Boškov" . "gnovak.boskov@gmail.com")) (:maintainer "Novak Boškov" . "gnovak.boskov@gmail.com") (:url . "https://github.com/novakboskov/textx-mode"))])
+ (tf2-conf-mode . [(20161209 1620) nil "TF2 Configuration files syntax highlighting" single ((:commit . "536950f64c071ffd8495fb2c7ac7c63a11e25f93") (:keywords "languages") (:authors ("Guillermo Robles" . "guillerobles1995@gmail.com")) (:maintainer "Guillermo Robles" . "guillerobles1995@gmail.com") (:url . "https://github.com/wynro/emacs-tf2-conf-mode"))])
+ (tfsmacs . [(20180911 2114) ((emacs (25)) (tablist (0 70))) "MS TFS source control interaction." single ((:commit . "3c20cb76ccd7951eda0b5f076cd79e42f71e7220") (:keywords "tfs" "vc") (:authors ("Dino Chiesa <dpchiesa@outlook.com>, Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Dino Chiesa <dpchiesa@outlook.com>, Sebastian Monia" . "smonia@outlook.com") (:url . "http://github.com/sebasmonia/tfsmacs/"))])
+ (theme-changer . [(20171221 1927) nil "Sunrise/Sunset Theme Changer for Emacs" single ((:commit . "61945695a30d678e6a5d47cbe7c8aff59a8c30ea") (:keywords "color-theme" "deftheme" "solar" "sunrise" "sunset") (:authors ("Joshua B. Griffith" . "josh.griffith@gmail.com")) (:maintainer "Joshua B. Griffith" . "josh.griffith@gmail.com") (:url . "https://github.com/hadronzoo/theme-changer"))])
+ (theme-looper . [(20200410 1757) ((emacs (24)) (cl-lib (0 5))) "Loop thru the available color-themes" single ((:commit . "eece1cef4483c02402f845d6158b35f6578447c3") (:keywords "convenience" "color-themes") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))])
+ (theme-magic . [(20190711 2034) ((emacs (25)) (seq (1 8))) "Apply your Emacs theme to the rest of Linux" tar ((:commit . "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3") (:keywords "unix" "faces" "terminals" "extensions") (:authors ("GitHub user \"jcaw\"" . "40725916+jcaw@users.noreply.github.com")) (:maintainer "GitHub user \"jcaw\"" . "40725916+jcaw@users.noreply.github.com") (:url . "https://github.com/jcaw/theme-magic.el"))])
+ (therapy . [(20151113 1953) ((emacs (24))) "Hooks for managing multiple Python major versions" single ((:commit . "775a92bb7b6b0fcc5b38c0b5198a9d0a1bef788a") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/therapy"))])
+ (thingopt . [(20160520 2318) nil "Thing at Point optional utilities" single ((:commit . "5679815852652479f3b3c9f3a98affc927384b2c") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))])
+ (thinks . [(20170802 1128) ((cl-lib (0 5))) "Insert text in a think bubble." single ((:commit . "c02f236abc8c2025d9f01460b09b89ebdc96e28d") (:keywords "convenience" "quoting") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/thinks.el"))])
+ (thread-dump . [(20170816 1850) nil "Java thread dump viewer" single ((:commit . "204c9600242756d4b514bb5ff6293e052bf4b49d") (:authors ("Dmitry Neverov")) (:maintainer "Dmitry Neverov") (:url . "http://github.com/nd/thread-dump.el"))])
+ (threes . [(20160820 1242) ((emacs (24)) (seq (1 11))) "A clone of Threes (a tiny puzzle game)" single ((:commit . "6981acb30b856c77cba6aba63fefbf102cbdfbb2") (:keywords "games") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/threes.el"))])
+ (thrift . [(20200212 1903) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "9eb7cebbb7979c12f2574b80fcb8ce25309839f7") (:keywords "languages"))])
+ (thumb-through . [(20120119 534) nil "Plain text reader of HTML documents" single ((:commit . "08d8fb720f93c6172653e035191a8fa9c3305e63") (:keywords "html"))])
+ (tickscript-mode . [(20171219 203) ((emacs (24 1))) "A major mode for Tickscript files" single ((:commit . "f0579f38ff14954df5002ce30ae6d4a2c978d461") (:keywords "languages") (:authors ("Marc Sherry" . "msherry@gmail.com")) (:maintainer "Marc Sherry" . "msherry@gmail.com") (:url . "https://github.com/msherry/tickscript-mode"))])
+ (tidal . [(20191210 1647) ((haskell-mode (16)) (emacs (24))) "Interact with TidalCycles for live coding patterns" single ((:commit . "3735a13c9bbe4fbb788d9dbc363701081253bafa") (:keywords "tools") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:url . "https://github.com/tidalcycles/Tidal"))])
+ (tide . [(20200327 1218) ((dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "bb508ad0857b706a519d31a86f215175324bbd85") (:keywords "typescript") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/tide"))])
+ (tile . [(20161225 357) ((emacs (25 1)) (s (1 9 0)) (dash (2 12 0)) (stream (2 2 3))) "Tile windows with layouts" single ((:commit . "22660f21f6e95de5aba55cd5d293d4841e9a4661") (:keywords "tile" "tiling" "window" "manager" "dynamic" "frames") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/tile"))])
+ (time-ext . [(20170126 1215) nil "more function for time/date" single ((:commit . "d128becf660fe3f30178eb1b05cd266741f4784a") (:keywords "lisp") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/time-ext.el"))])
+ (timecop . [(20160520 1052) ((cl-lib (0 5)) (datetime-format (0 0 1))) "Freeze Time for testing" single ((:commit . "e6427538b547cbe02e1bd6ed4b765c73620bdae8") (:keywords "datetime" "testing") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-datetime"))])
+ (timer-revert . [(20150122 2032) nil "minor mode to revert buffer for a given time interval." tar ((:commit . "615c91dec8b440d2b9b7c725dd733d7432564e45"))])
+ (timesheet . [(20191024 151) ((s (1)) (org (7)) (auctex (11))) "Timesheet management add-on for org-mode" tar ((:commit . "5098dc87d3d4f289b6c1b6532070dacbfe6de9fd") (:keywords "org" "timesheet") (:authors ("Tom Marble")) (:maintainer "Tom Marble") (:url . "https://github.com/tmarble/timesheet.el"))])
+ (timonier . [(20170411 800) ((emacs (24 4)) (s (1 11 0)) (f (0 19 0)) (dash (2 12 0)) (pkg-info (0 5 0)) (hydra (0 13 6)) (request (0 2 0)) (all-the-icons (2 0 0))) "Manage Kubernetes Applications" tar ((:commit . "0a150ea87bf695b43cf1740dfd7e553e0ae7601c") (:keywords "kubernetes" "docker") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/timonier"))])
+ (timp . [(20160618 803) ((emacs (24 4)) (cl-lib (0 5)) (fifo-class (1 0)) (signal (1 0))) "Multithreading library" tar ((:commit . "66b21934b1eb8ee428c06dd64b3562ad44776a35") (:keywords "internal" "lisp" "processes" "tools") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:url . "https://github.com/mola-T/timp"))])
+ (tinkerer . [(20170906 1224) ((s (1 2 0))) "Elisp wrapper for Tinkerer Blogging Engine." single ((:commit . "e34135555f3748b578c7f8706dfd0c888fb87581") (:keywords "tinkerer" "blog" "wrapper") (:authors ("Yagnesh Raghava Yakkala" . "hi@yagnesh.org")) (:maintainer "Yagnesh Raghava Yakkala" . "hi@yagnesh.org") (:url . "https://github.com/yyr/tinkerer.el"))])
+ (tiny . [(20190722 1212) nil "Quickly generate linear ranges in Emacs" single ((:commit . "fd8a6b0b0c564d8242259e20e557ee6041f40908") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/tiny"))])
+ (tiny-menu . [(20161213 1235) ((emacs (24 4))) "Display tiny menus." single ((:commit . "05563b94537b6eb22aeddedef2a6e59e3f88d073") (:keywords "menu" "tools") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/tiny-menu.el"))])
+ (tinypng . [(20200306 911) ((emacs (25 1))) "Compress PNG and JPEG with TinyPNG.com API" single ((:commit . "f7632e073ce13ef5ce30ae5584cb482a8bb9ffff") (:keywords "multimedia") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/tinypng.el"))])
+ (tinysegmenter . [(20141124 1013) ((cl-lib (0 5))) "Super compact Japanese tokenizer in Javascript ported to emacs lisp" single ((:commit . "872134704bd25c13a4c59552433da4c6881b5230") (:keywords "convenience") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/tinysegmenter.el"))])
+ (tj3-mode . [(20180519 1228) nil "major mode for editing TaskJuggler 3 files" single ((:commit . "1d98eb23f1606392f34ef1b80517cfc940fb9950") (:authors ("Christophe Rhodes" . "christophe@rhodes.io")) (:maintainer "Christophe Rhodes" . "christophe@rhodes.io") (:url . "https://github.com/csrhodes/tj3-mode"))])
+ (tldr . [(20200330 1025) ((emacs (24 3)) (request (0 3 0))) "tldr client for Emacs" single ((:commit . "269bda7001613c0b70c0662d2a74d200765c1dcb") (:keywords "tools" "docs") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/tldr.el"))])
+ (tmmofl . [(20121025 1101) nil "Calls functions dependant on font lock highlighting at point" single ((:commit . "532aa6978e994e2b069ffe37aaf9a0011a07dadc") (:keywords "minor mode" "font lock" "toggling.") (:authors ("Phillip Lord" . "p.lord@hgmp.mrc.ac.uk")) (:maintainer "Phillip Lord" . "p.lord@hgmp.mrc.ac.uk"))])
+ (tmux-pane . [(20200419 1331) ((names (0 5)) (emacs (24)) (s (0))) "Provide integration between emacs window and tmux pane" single ((:commit . "6e8d0584b0bbd412c5d29c87add7364299b3d2a0") (:keywords "convenience" "terminals" "tmux" "window" "pane" "navigation" "integration") (:url . "https://github.com/laishulu/emacs-tmux-pane"))])
+ (toc-org . [(20190902 1055) nil "add table of contents to org-mode files (formerly, org-toc)" single ((:commit . "5deaec41ed0e5c51715737d7f74c5ae1b3c00387") (:keywords "org-mode" "org-toc" "toc-org" "org" "toc" "table" "of" "contents") (:authors ("Sergei Nosov <sergei.nosov [at] gmail.com>")) (:maintainer "Sergei Nosov <sergei.nosov [at] gmail.com>") (:url . "https://github.com/snosov1/toc-org"))])
+ (todoist . [(20200227 1510) ((dash (2 15 0)) (transient (0 1 0)) (org (8 3 5)) (emacs (25 3))) "Extension for interacting and managing todoist tasks" single ((:commit . "b1fba9f3600e6cfe129efae304b96a7f6dc66e1a") (:keywords "todoist" "task" "todo" "comm") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/emacs-todoist"))])
+ (todotxt . [(20180626 2230) nil "A major mode for editing todo.txt files" single ((:commit . "f13e404304c9d26c105de872f96b4601441b3875") (:keywords "todo.txt" "todotxt" "todotxt.el") (:authors ("Rick Dillon" . "rpdillon@killring.org")) (:maintainer "Rick Dillon" . "rpdillon@killring.org") (:url . "https://github.com/rpdillon/todotxt.el"))])
+ (todotxt-mode . [(20200228 952) nil "Major mode for editing todo.txt files" single ((:commit . "8b616ce1cf3e18a60757450a0acf22996abb9b79") (:keywords "wp" "files") (:authors ("Adolfo Villafiorita" . "adolfo.villafiorita@me.com")) (:maintainer "Adolfo Villafiorita" . "adolfo.villafiorita@me.com"))])
+ (togetherly . [(20170426 616) ((cl-lib (0 3))) "allow multiple clients to edit a single buffer online" single ((:commit . "a6491bd5dd84f2aded0cd112ff06ae76ff78dfeb") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (toggle . [(20180316 3) ((cl-lib (0 5))) "quickly open corresponding file (eg test vs impl)." single ((:commit . "97e74ae74a15338d386027379139e3bf27acf2f2") (:keywords "files" "extensions" "convenience") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com"))])
+ (toggle-quotes . [(20140710 926) nil "Toggle between single and double quoted string" single ((:commit . "33abc221d6887f0518337851318065cd86c34b03") (:keywords "convenience" "quotes") (:authors ("Jim Tian" . "tianjin.sc@gmail.com")) (:maintainer "Jim Tian" . "tianjin.sc@gmail.com") (:url . "https://github.com/toctan/toggle-quotes.el"))])
+ (toggle-test . [(20140723 537) nil "Toggle between source and test files in various programming languages" single ((:commit . "e969321f274903d705995a7d0345a257576ec5ff") (:keywords "tdd" "test" "toggle" "productivity") (:authors ("Raghunandan Rao" . "r.raghunandan@gmail.com")) (:maintainer "Raghunandan Rao" . "r.raghunandan@gmail.com") (:url . "https://github.com/rags/toggle-test"))])
+ (toggle-window . [(20141207 1548) nil "toggle current window size between half and full" single ((:commit . "e82c60e543933880402ede11e9423e48a17dde53") (:keywords "hide" "window") (:authors ("Kenny Liu")) (:maintainer "Kenny Liu") (:url . "https://github.com/deadghost/toggle-window"))])
+ (tomatinho . [(20180621 1748) nil "Simple and beautiful pomodoro timer" tar ((:commit . "b53354b9b9f496c0388d6a573b06b7d6fc53d0bd") (:keywords "time" "productivity" "pomodoro technique") (:authors ("Konrad Scorciapino" . "scorciapino@gmail.com")) (:maintainer "Konrad Scorciapino" . "scorciapino@gmail.com"))])
+ (toml . [(20130903 1255) nil "TOML (Tom's Obvious, Minimal Language) parser" single ((:commit . "9633a6872928e737a2335aae1065768b23d8c3b3") (:keywords "toml" "parser") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:url . "https://github.com/gongo/emacs-toml"))])
+ (toml-mode . [(20161107 1800) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing TOML files" single ((:commit . "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06") (:keywords "data" "toml") (:authors ("Felix Chern" . "idryman@gmail.com")) (:maintainer "Felix Chern" . "idryman@gmail.com") (:url . "https://github.com/dryman/toml-mode.el"))])
+ (tommyh-theme . [(20131004 2330) nil "A bright, bold-colored theme for emacs" single ((:commit . "46d1c69ee0a1ca7c67b569b891a2f28fed89e7d5") (:authors ("William Glass" . "william.glass@gmail.com")) (:maintainer "William Glass" . "william.glass@gmail.com"))])
+ (tongbu . [(20200414 507) ((emacs (25 1)) (web-server (0 1 2))) "A web server to share text or files between two devices" single ((:commit . "6f6e5c5446f0c5735357ab520b249ab97295653e") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/tongbu.el"))])
+ (tornado-template-mode . [(20141128 1008) nil "A major mode for editing tornado templates" single ((:commit . "667c0663dbbd279b6c345446b9f2bc50eb52b747") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))])
+ (torus . [(20190325 753) ((emacs (26))) "A buffer groups manager" single ((:commit . "b309da8c2eaee573a2e2572f25a08ce5da9e9990") (:keywords "files" "buffers" "groups" "persistent" "history" "layout" "tabs") (:authors ("Chimay")) (:maintainer "Chimay") (:url . "https://github.com/chimay/torus"))])
+ (total-lines . [(20171227 1239) ((emacs (24 3))) "Keep track of a buffer's total number of lines" single ((:commit . "473fa74a5416697ecd938866518bcad423f8fda6") (:keywords "convenience" "mode-line") (:authors ("Hinrik Örn Sigurðsson")) (:maintainer "Hinrik Örn Sigurðsson") (:url . "https://github.com/hinrik/total-lines"))])
+ (totd . [(20150519 1440) ((s (1 9 0)) (cl-lib (0 5))) "Display a random daily emacs command." single ((:commit . "ca47b618ea8290776cdb5b0f1c2c335691f69660") (:keywords "help") (:authors ("Erik Hetzner" . "egh@e6h.org")) (:maintainer "Erik Hetzner" . "egh@e6h.org"))])
+ (tox . [(20160810 1555) nil "Launch current python test with tox" single ((:commit . "7655eb254038d5e34433e8a9d66b3ffc9c72e40c") (:keywords "convenience" "tox" "python" "tests") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/tox.el"))])
+ (toxi-theme . [(20160424 2126) ((emacs (24))) "A dark color theme by toxi" single ((:commit . "90c8828b91025adf5adc96011a35d25682991b8a") (:authors ("Karsten Schmidt" . "info@postspectacular.com")) (:maintainer "Karsten Schmidt" . "info@postspectacular.com") (:url . "http://bitbucket.org/postspectacular/toxi-theme/"))])
+ (tql-mode . [(20170724 254) ((emacs (24))) "TQL mode" single ((:commit . "488add79eb3fc8ec02aedaa997fe1ed9e5c3e638") (:keywords "languages" "tql") (:authors ("Sean McLaughlin" . "seanmcl@gmail.com")) (:maintainer "Sean McLaughlin" . "seanmcl@gmail.com"))])
+ (traad . [(20180730 48) ((dash (2 13 0)) (deferred (0 3 2)) (popup (0 5 0)) (request (0 2 0)) (request-deferred (0 2 0)) (virtualenvwrapper (20151123)) (f (0 20 0)) (bind-map (1 1 1))) "emacs interface to the traad refactoring server." single ((:commit . "98e23363b7e8a590a2f55976123a8c3da75c87a5") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/traad"))])
+ (tracking . [(20171210 2102) nil "Buffer modification tracking" tar ((:commit . "e5bf5f89741a9c43aa406491e94dd8d58c302fb4") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/circe/wiki/Tracking"))])
+ (tracwiki-mode . [(20150119 1621) ((xml-rpc (1 6 8))) "Emacs Major mode for working with Trac" single ((:commit . "6a620444d59b438f42383b48cd4c19c03105dba6") (:keywords "trac" "wiki" "tickets") (:authors ("Matthew Erickson" . "peawee@peawee.net")) (:maintainer "Matthew Erickson" . "peawee@peawee.net"))])
+ (tramp-auto-auth . [(20191027 1419) ((emacs (24 4)) (tramp (0 0))) "TRAMP automatic authentication library" single ((:commit . "f15a12dfab651aff60f4a9d70f868030a12344ac") (:keywords "comm" "processes") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:url . "https://github.com/oitofelix/tramp-auto-auth"))])
+ (tramp-hdfs . [(20170821 1320) ((emacs (24 4))) "Tramp extension to access hadoop/hdfs file system in Emacs" single ((:commit . "f8406f77bf83b66306ced693a5e4aaf606f46762") (:keywords "tramp" "emacs" "hdfs" "hadoop" "webhdfs" "rest") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org"))])
+ (tramp-term . [(20190628 1207) nil "Automatic setup of directory tracking in ssh sessions." single ((:commit . "fdc3d5a29ca9549db462cd66d8f5d97026a1200f") (:keywords "tramp" "ssh") (:authors ("Randy Morris" . "randy.morris@archlinux.us")) (:maintainer "Randy Morris" . "randy.morris@archlinux.us") (:url . "https://github.com/randymorris/tramp-term.el"))])
+ (transfer-sh . [(20180603 1431) ((async (1 0))) "Simple interface for sending buffer contents to transfer.sh" single ((:commit . "55da85f963d347255a2b46568954923679331798") (:keywords "cloud" "upload" "share") (:authors ("S. Roskamp" . "steffen.roskamp@gmail.com")) (:maintainer "S. Roskamp" . "steffen.roskamp@gmail.com"))])
+ (transient . [(20200421 1326) ((emacs (25 1))) "Transient commands" tar ((:commit . "629c963e1f17715b56848a5bbd9017896fa49bdf") (:keywords "bindings") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/transient"))])
+ (transient-dwim . [(20200411 2015) ((emacs (26 1)) (transient (0 1))) "Useful preset transient commands" single ((:commit . "00d111e41e433736422e388e593b5c0df7d21bf9") (:keywords "tools") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:url . "https://github.com/conao3/transient-dwim.el"))])
+ (transmission . [(20200321 216) ((emacs (24 4)) (let-alist (1 0 5))) "Interface to a Transmission session" single ((:commit . "05a80e7a90303cd80f67681df2ec8e1bac88c394") (:keywords "comm" "tools") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))])
+ (transpose-frame . [(20200307 2119) nil "Transpose windows arrangement in a frame" single ((:commit . "12e523d70ff78cc8868097b56120848befab5dbc") (:keywords "window") (:authors ("S. Irie")) (:maintainer "S. Irie"))])
+ (transpose-mark . [(20150405 716) nil "Transpose data using the Emacs mark" single ((:commit . "667327602004794de97214cf336ac61650ef75b7") (:keywords "transpose" "convenience") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))])
+ (trashed . [(20191124 1351) ((emacs (25 1))) "Viewing/editing system trash can" single ((:commit . "cc0243c9a4f01dc889f5c5ced3e311f918fe0750") (:keywords "files" "convenience" "unix") (:authors ("Shingo Tanaka" . "shingo.fg8@gmail.com")) (:maintainer "Shingo Tanaka" . "shingo.fg8@gmail.com") (:url . "https://github.com/shingo256/trashed"))])
+ (travis . [(20150825 1138) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client for Travis" tar ((:commit . "754ef07c17fed17ab03664ad11e2b0b2ef5e78ed") (:keywords "travis") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-travis"))])
+ (tree-mode . [(20151104 1331) nil "A mode to manage tree widgets" single ((:commit . "b06078826d5875d74b0e7b7ac47b0d0917610534") (:keywords "help" "convenience" "widget") (:authors (nil . "wenbinye@163.com")) (:maintainer nil . "wenbinye@163.com"))])
+ (treefactor . [(20200131 621) ((emacs (26 1)) (dash (2 16 0)) (f (0 20 0)) (org (9 2 6)) (avy (0 5 0))) "Restructure your messy Org documents" single ((:commit . "273fe37aa4ba0fde084976f1b303ceec789a9f7b") (:keywords "outlines" "files" "convenience") (:authors ("Leo Littlebook" . "Leo.Littlebook@gmail.com")) (:maintainer "Leo Littlebook" . "Leo.Littlebook@gmail.com") (:url . "https://github.com/cyberthal/treefactor"))])
+ (treemacs . [(20200429 1952) ((emacs (25 2)) (cl-lib (0 5)) (dash (2 11 0)) (s (1 10 0)) (f (0 11 0)) (ace-window (0 9 0)) (pfuture (1 7)) (hydra (0 13 2)) (ht (2 2))) "A tree style file explorer package" tar ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treemacs-evil . [(20200302 558) ((emacs (25)) (evil (1 2 12)) (treemacs (0 0))) "Evil mode integration for treemacs" single ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treemacs-icons-dired . [(20200421 1426) ((treemacs (0 0)) (emacs (25 2)) (cl-lib (0 5))) "Treemacs icons for dired" single ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treemacs-magit . [(20200421 1426) ((emacs (25 2)) (treemacs (0 0)) (pfuture (1 3)) (magit (2 90 0))) "Magit integration for treemacs" single ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treemacs-persp . [(20200421 1426) ((emacs (25 2)) (treemacs (0 0)) (persp-mode (2 9 7)) (dash (2 11 0))) "Persp-mode integration for treemacs" single ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treemacs-projectile . [(20200114 1715) ((emacs (25 2)) (projectile (0 14 0)) (treemacs (0 0))) "Projectile integration for treemacs" single ((:commit . "10c96c9cd9e06f1bff7a708987861a8e73480647") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))])
+ (treepy . [(20191108 2217) ((emacs (25 1))) "Generic tree traversal tools" single ((:commit . "306f7031d26e4ebfc9ff36614acdc6993f3e23c3") (:keywords "lisp" "maint" "tools") (:authors ("Daniel Barreto" . "daniel.barreto.n@gmail.com")) (:maintainer "Daniel Barreto" . "daniel.barreto.n@gmail.com") (:url . "https://github.com/volrath/treepy.el"))])
+ (trident-mode . [(20190410 2036) ((emacs (24)) (slime (20130526)) (skewer-mode (1 5 0)) (dash (1 0 3))) "Live Parenscript interaction" single ((:commit . "109a1bc10bd0c4b47679a6ca5c4cd27c7c8d4ccb") (:keywords "languages" "lisp" "processes" "tools") (:authors ("John Mastro" . "john.b.mastro@gmail.com")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com") (:url . "https://github.com/johnmastro/trident-mode.el"))])
+ (trinary . [(20180904 2313) ((emacs (24))) "Trinary logic." single ((:commit . "886232c6d7e92a8e9fe573eef46754ebe321f90d") (:keywords "languages") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/trinary-logic"))])
+ (trr . [(20191019 1403) nil "a type-writing training program on GNU Emacs." tar ((:commit . "f841173e11213ac6916b2d3394b28fb202543871") (:keywords "games" "faces") (:authors ("YAMAMOTO Hirotaka" . "ymmt@is.s.u-tokyo.ac.jp") ("KATO Kenji" . "kato@suri.co.jp") (" *Original Author") ("INAMURA You" . "inamura@icot.or.jp") (" *Original Author")) (:maintainer "YAMAMOTO Hirotaka" . "ymmt@is.s.u-tokyo.ac.jp"))])
+ (truthy . [(20140508 2041) ((list-utils (0 4 2))) "Test the content of a value" single ((:commit . "8ed8d07772aa8457554547eb17e264b5df2b4a69") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/truthy"))])
+ (try . [(20181204 236) ((emacs (24))) "Try out Emacs packages." single ((:commit . "8831ded1784df43a2bd56c25ad3d0650cdb9df1d") (:keywords "packages") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/try"))])
+ (ts . [(20191010 210) ((emacs (26 1)) (dash (2 14 1)) (s (1 12 0))) "Timestamp and date/time library" single ((:commit . "df48734ef046547c1aa0de0f4c07d11964ef1f7f") (:keywords "date" "time" "timestamp") (:authors (nil . "Adam Porter <adam@alphapapa.net")) (:maintainer nil . "Adam Porter <adam@alphapapa.net") (:url . "http://github.com/alphapapa/ts.el"))])
+ (ts-comint . [(20181219 719) nil "Run a Typescript interpreter in an inferior process window." single ((:commit . "786b88fffc553e122868a1c4883f14136a040df6") (:keywords "typescript" "node" "inferior-mode" "convenience") (:authors ("Paul Huff" . "paul.huff@gmail.com")) (:maintainer "Paul Huff" . "paul.huff@gmail.com") (:url . "https://github.com/josteink/ts-comint"))])
+ (tss . [(20150913 1408) ((auto-complete (1 4 0)) (json-mode (1 1 0)) (log4e (0 2 0)) (yaxception (0 1))) "provide a interface for auto-complete.el/flymake.el on typescript-mode." tar ((:commit . "81ac6351a2ae258fd0ebf916dae9bd5a179fefd0") (:keywords "typescript" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-tss"))])
+ (tt-mode . [(20130804 1110) nil "Emacs major mode for editing Template Toolkit files." single ((:commit . "85ed3832e7eef391f7879d9990d59c7a3493c15e") (:authors ("Dave Cross" . "dave@dave.org.uk")) (:maintainer "Dave Cross" . "dave@dave.org.uk"))])
+ (ttl-mode . [(20160505 832) nil "mode for Turtle (and Notation 3)" single nil])
+ (tuareg . [(20191220 2314) ((caml (3 12 0 1)) (emacs (24 4))) "OCaml mode for Emacs." tar ((:commit . "c12061eb80c1487a1963af7cdae268d709a70ca9") (:keywords "ocaml" "languages") (:authors ("Albert Cohen" . "Albert.Cohen@inria.fr") ("Sam Steingold" . "sds@gnu.org") ("Christophe Troestler" . "Christophe.Troestler@umons.ac.be") ("Till Varoquaux" . "till@pps.jussieu.fr") ("Sean McLaughlin" . "seanmcl@gmail.com") ("Stefan Monnier" . "monnier@iro.umontreal.ca")) (:maintainer "Albert Cohen" . "Albert.Cohen@inria.fr") (:url . "https://github.com/ocaml/tuareg"))])
+ (tumble . [(20160112 729) ((http-post-simple (0)) (cl-lib (0 5))) "an Tumblr mode for Emacs" single ((:commit . "e8fd7643cccf2b6ea4170f0c5f1f87d007e7fa00") (:keywords "tumblr") (:authors ("Federico Builes" . "federico.builes@gmail.com")) (:maintainer "Federico Builes" . "federico.builes@gmail.com"))])
+ (tumblesocks . [(20191014 356) ((htmlize (1 39)) (oauth (1 0 3)) (markdown-mode (1 8 1))) "An Emacs tumblr client." tar ((:commit . "0e4c3847e31a59d405b9927107a23dde9531d744"))])
+ (tup-mode . [(20140410 1614) nil "Major mode for editing files for Tup" single ((:commit . "bcc100c6485f1c81fdcd1215dfc6c41a81c215c8") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Eric James Michael Ritz" . "lobbyjones@gmail.com") (:url . "https://github.com/ejmr/tup-mode"))])
+ (turing-machine . [(20180222 438) ((emacs (24 4))) "Single-tape Turing machine simulator" single ((:commit . "fa60b76a5bac1f54b7a1b3dc55aae7602c7e385b") (:keywords "turing" "machine" "simulation") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/therockmandolinist/turing-machine"))])
+ (turkish . [(20170910 1511) nil "Convert to Turkish characters on-the-fly" single ((:commit . "9831a316c176bb21a1b91226323ea4133163e00c") (:keywords "turkish" "languages" "automatic" "conversion") (:authors ("Deniz Yüret")) (:maintainer "Emre Sevinç" . "emre.sevinc@gmail.com") (:url . "http://www.denizyuret.com/2006/11/emacs-turkish-mode.html"))])
+ (turnip . [(20150309 629) ((dash (2 6 0)) (s (1 9 0))) "Interacting with tmux from Emacs" single ((:commit . "2fd32562fc6fc1cda6d91aa939cfb29f9b16e9de") (:keywords "terminals" "tools") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com"))])
+ (twig-mode . [(20130220 1850) nil "A major mode for twig" single ((:commit . "2849f273a4855d3314a9c0cc84134f5b28ad5ea6") (:authors ("Bojan Matic aka moljac024")) (:maintainer "Bojan Matic aka moljac024"))])
+ (twilight-anti-bright-theme . [(20160622 848) nil "A soothing Emacs 24 light-on-dark theme" single ((:commit . "523b95fcdbf4a6a6483af314ad05354a3d80f23f") (:keywords "themes") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:url . "https://github.com/jimeh/twilight-anti-bright-theme.el"))])
+ (twilight-bright-theme . [(20130605 843) nil "A Emacs 24 faces port of the TextMate theme" single ((:commit . "322157cb2f3bf7920ecd209dafc31bc1c7959f49") (:keywords "themes") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:url . "https://github.com/jimeh/twilight-bright-theme.el"))])
+ (twilight-theme . [(20120412 1303) nil "Twilight theme for GNU Emacs 24 (deftheme)" single ((:commit . "77c4741cb3dcf16e53d06d6c2ffdc660c40afb5b") (:authors ("Nick Parker" . "nickp@developernotes.com")) (:maintainer "Nick Parker" . "nickp@developernotes.com"))])
+ (twittering-mode . [(20181121 1402) nil "Major mode for Twitter" single ((:commit . "114891e8fdb4f06b1326a6cf795e49c205cf9e29") (:keywords "twitter" "web") (:authors ("Tadashi MATSUO" . "tad@mymail.twin.ne.jp") ("Y. Hayamizu" . "y.hayamizu@gmail.com") ("Tsuyoshi CHO" . "Tsuyoshi.CHO+develop@Gmail.com") ("Alberto Garcia" . "agarcia@igalia.com") ("Xavier Maillard" . "xavier@maillard.im")) (:maintainer "Tadashi MATSUO" . "tad@mymail.twin.ne.jp") (:url . "http://twmode.sf.net/"))])
+ (typescript-mode . [(20200430 1232) ((emacs (24 3))) "Major mode for editing typescript" tar ((:commit . "0fc729787007b5111f3584034af0f3ef2389098f") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))])
+ (typing . [(20180830 2203) nil "The Typing Of Emacs" single ((:commit . "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa") (:keywords "games") (:authors ("Alex Schroeder" . "alex@gnu.org")) (:maintainer "Alex Schroeder" . "alex@gnu.org") (:url . "http://www.emacswiki.org/emacs/TypingOfEmacs"))])
+ (typing-game . [(20160426 1220) nil "a simple typing game" single ((:commit . "616435a5270274f4c7b698697674dbb2039049a4") (:keywords "lisp" "game") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (typit . [(20200217 2059) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "231cb7df43253b84323520b8ed70f128d37003af") (:keywords "games") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/typit"))])
+ (typo . [(20200212 919) nil "Minor mode for typographic editing" single ((:commit . "505b4b1ead337b773863ea54066f867d07735f9e") (:keywords "convenience" "wp") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/typoel"))])
+ (typoscript-mode . [(20170126 912) ((emacs (24 4)) (use-package (0))) "mode for TypoScript files" single ((:commit . "44e7567e921573c4f33c537b827f71fb1f565c32") (:keywords "typo3" "typoscript") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/typoscript-mode"))])
+ (ubuntu-theme . [(20150805 1506) nil "A theme inspired by the default terminal colors in Ubuntu" single ((:commit . "88b0eefc75d4cbcde103057e1c5968d4c3052f69") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/ubuntu-theme"))])
+ (ucs-utils . [(20150826 1414) ((persistent-soft (0 8 8)) (pcache (0 2 3)) (list-utils (0 4 2))) "Utilities for Unicode characters" tar ((:commit . "cbfd42f822bf5717934fa2d92060e6e24a813433") (:keywords "i18n" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/ucs-utils"))])
+ (uimage . [(20160901 1221) nil "An iimage like mode with the ability to display url images" single ((:commit . "9893d09160ef7e8c0ecdcd74fca99ffeb5f9d70d") (:keywords "lisp" "url" "image") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))])
+ (ujelly-theme . [(20180214 1624) nil "Ujelly theme for GNU Emacs 24 (deftheme)" single ((:commit . "bf724ce7806a738d2043544061e5f9bbfc56e674") (:authors ("Mark Tran" . "mark.tran@gmail.com")) (:maintainer "Mark Tran" . "mark.tran@gmail.com") (:url . "http://github.com/marktran/color-theme-ujelly"))])
+ (ukrainian-holidays . [(20130720 1349) nil "Ukrainian holidays for Emacs calendar." single ((:commit . "e52b0c92843e9f4d0415a7ba3b8559785497d23d") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ukrainian-holidays"))])
+ (uml-mode . [(20200129 1147) ((emacs (24 4)) (seq (0))) "Minor mode for ascii uml sequence diagrams" single ((:commit . "4c37ac1c4424b2313cd8f16ba48a98a4cc214200") (:keywords "docs") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:url . "http://github.com/ianxm/emacs-uml"))])
+ (uncrustify-mode . [(20130707 1359) nil "Minor mode to automatically uncrustify." single ((:commit . "73893d000361e95784911e5ec268ad0ab2a1473c") (:keywords "uncrustify") (:authors ("Tabito Ohtani" . "koko1000ban@gmail.com")) (:maintainer "Tabito Ohtani" . "koko1000ban@gmail.com"))])
+ (undercover . [(20191122 2126) ((emacs (24)) (dash (2 0 0)) (shut-up (0 3 2))) "Test coverage library for Emacs Lisp" single ((:commit . "9f4fbd04cd25c61397a7058bf2bad33c7b669aa4") (:keywords "lisp" "tests" "coverage" "tools") (:authors ("Sviridov Alexander" . "sviridov.vmi@gmail.com")) (:maintainer "Sviridov Alexander" . "sviridov.vmi@gmail.com") (:url . "https://github.com/sviridov/undercover.el"))])
+ (underline-with-char . [(20191128 2309) ((emacs (24))) "Underline with a char" single ((:commit . "36577e72aa4fbfa7f1abad01842359209f543751") (:keywords "convenience") (:maintainer nil . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/underline-with-char"))])
+ (underwater-theme . [(20131118 2) nil "A gentle, deep blue color theme" single ((:commit . "4eb9ef014f580adc135d91d1cd68d37a310640b6") (:keywords "faces") (:authors ("Jon-Michael Deldin" . "dev@jmdeldin.com")) (:maintainer "Jon-Michael Deldin" . "dev@jmdeldin.com"))])
+ (undo-fu . [(20200413 159) ((emacs (24 3))) "Undo helper with redo" single ((:commit . "0ce9ac36144e80316fff50bfe1bc5dd7e5e7ded6") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-undo-fu"))])
+ (undo-fu-session . [(20200408 11) ((emacs (24 1))) "Persistent undo, available between sessions" single ((:commit . "b808ef0cdcdd2eef221c67eda567eed7fcb3d4af") (:keywords "convenience") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-undo-fu-session"))])
+ (undo-propose . [(20200204 1612) ((emacs (24 3))) "Simple and safe undo navigation" single ((:commit . "20409358ad321fb937152cf93a50a4a775e405d6") (:keywords "convenience" "files" "undo" "redo" "history") (:authors ("Jack Kamm")) (:maintainer "Jack Kamm") (:url . "https://github.com/jackkamm/undo-propose.el"))])
+ (undohist . [(20200120 1328) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "6c905772e6aa9969fd9ca500d2fe93e114130fe6") (:keywords "convenience") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com"))])
+ (unfill . [(20200304 2218) ((emacs (24 1))) "Do the opposite of fill-paragraph or fill-region" single ((:commit . "02c36a04364bcb586477ab79d2b5e0d4e6ae6d47") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/unfill"))])
+ (unicode-emoticons . [(20150204 1108) nil "Shortcuts for common unicode emoticons" single ((:commit . "fb18631f342b0243cf77cf59ed2067c47aae5233") (:keywords "games" "entertainment" "comms") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:url . "https://github.com/hagleitn/unicode-emoticons"))])
+ (unicode-enbox . [(20140508 2041) ((string-utils (0 3 2)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Surround a string with box-drawing characters" single ((:commit . "77074fac1994a4236f111d6a1d0cf79ea3fca151") (:keywords "extensions" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-enbox"))])
+ (unicode-escape . [(20160614 1234) ((emacs (24)) (names (20151201 0)) (dash (2 12 1))) "Escape/Unescape unicode notations" single ((:commit . "fc69ec780d9e54c364a9252bd0cf1d2507f3fab7") (:keywords "i18n" "unicode") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/unicode-escape.el"))])
+ (unicode-fonts . [(20181001 1509) ((font-utils (0 7 8)) (ucs-utils (0 8 2)) (list-utils (0 4 2)) (persistent-soft (0 8 10)) (pcache (0 3 1))) "Configure Unicode fonts" single ((:commit . "7b88ae84e589f6c8b9386b2fb5a02ff4ccb91169") (:keywords "i18n" "faces" "frames" "wp" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-fonts"))])
+ (unicode-input . [(20141219 720) nil "Support for unicode character input" single ((:commit . "e76ccb549e6a2a66c373da927eb65d69353e07db") (:keywords "unicode" "input") (:authors ("m00nlight" . "dot_wangyushi@yeah.net")) (:maintainer "m00nlight" . "dot_wangyushi@yeah.net"))])
+ (unicode-math-input . [(20190813 1436) ((emacs (25))) "Insert Unicode math symbols using TeX notation" single ((:commit . "ba45edbfb8fa453e29c4c6c73af60f06637951d6") (:authors ("Augusto Stoffel")) (:maintainer "Augusto Stoffel") (:url . "https://github.com/astoff/unicode-math-input.el"))])
+ (unicode-progress-reporter . [(20140508 2041) ((emacs (24 1 0)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Progress-reporter with fancy characters" single ((:commit . "5e66724fd7d15743213b082474d798117b194494") (:keywords "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-progress-reporter"))])
+ (unicode-troll-stopper . [(20190209 411) nil "Minor mode for Highlighting Unicode homoglyphs" single ((:commit . "5e8be35a7bf6382384a701663f7438ee27e4b67c") (:keywords "unicode") (:authors ("Cam Saül" . "cammsaul@gmail.com")) (:maintainer "Cam Saül" . "cammsaul@gmail.com") (:url . "https://github.com/camsaul/emacs-unicode-troll-stopper"))])
+ (unicode-whitespace . [(20140508 2041) ((ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "teach whitespace-mode about fancy characters" single ((:commit . "a18c6b38d78b94f2eb1dcc4cb4fa91b6a17efabe") (:keywords "faces" "wp" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/unicode-whitespace"))])
+ (unidecode . [(20180312 1926) nil "Transliterate Unicode to ASCII" tar ((:commit . "5502ada9287b4012eabb879f12f5b0a9df52c5b7") (:authors ("sindikat <sindikat at mail36 dot net>")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com"))])
+ (unify-opening . [(20171122 2012) ((emacs (24 4))) "Unify the mechanism to open files" single ((:commit . "502469ddba6d8d52159f53976265f7d956b6b17c") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/unify-opening"))])
+ (unipoint . [(20140113 2224) nil "a simple way to insert unicode characters by TeX name" single ((:commit . "5da04aebac35a5c9e1d8704f2231808d42f4b36a") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:url . "https://github.com/apgwoz/unipoint"))])
+ (unison . [(20160704 740) ((emacs (24 1))) "sync with Unison" single ((:commit . "a78a04c0d1398d00f75a1bd4799622a65bcb0f28") (:keywords "sync") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://github.com/unhammer/unison.el"))])
+ (unison-mode . [(20160513 1501) nil "Syntax highlighting for unison file synchronization program" single ((:commit . "0bd6a65c0d12f87fcf7bdff15fe54444959b93bf") (:keywords "symchronization" "unison") (:authors ("Karl Fogelmark" . "karlfogel@gmail.com")) (:maintainer "Karl Fogelmark" . "karlfogel@gmail.com") (:url . "https://github.com/impaktor/unison-mode"))])
+ (universal-emotions-emoticons . [(20180729 1941) ((emacs (24 4))) "Emoticons For The Six Universal Expressions" single ((:commit . "9cedd09ee65cb9fa71f27b0ab46a8353bdc00902") (:keywords "convenience" "docs" "languages") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "<gcr@wisdomandwonder.com>") (:url . "https://github.com/grettke/universal-emotions-emoticons"))])
+ (unkillable-scratch . [(20190309 17) ((emacs (24))) "Disallow the \\*scratch\\* buffer from being killed" single ((:commit . "b24c2a760529833f230c14cb02ff6e7ec92288ab") (:keywords "convenience") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.com")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.com") (:url . "https://github.com/EricCrosson/unkillable-scratch"))])
+ (unobtrusive-magit-theme . [(20200411 1349) ((emacs (24 1))) "An unobtrusive Magit theme" single ((:commit . "aede357009655d19d4468320b2b61b0f26a47593") (:keywords "faces" "vc" "magit") (:authors ("Thomas A. Brown" . "tabsoftwareconsulting@gmail.com")) (:maintainer "Thomas A. Brown" . "tabsoftwareconsulting@gmail.com") (:url . "https://github.com/tee3/unobtrusive-magit-theme"))])
+ (untitled-new-buffer . [(20161212 1508) ((emacs (24 4)) (magic-filetype (0 2 0))) "Open untitled new buffer like other text editors." single ((:commit . "4eabc6937b0e83062ffce9de0d42110224063a6c") (:keywords "files" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/untitled-new-buffer.el"))])
+ (upbo . [(20180422 822) ((dash (2 12 0)) (emacs (24 4))) "Karma Test Runner Integration" single ((:commit . "1e4b1e7f44f242a6cdcce0c157d07efe667b7bef") (:keywords "javascript" "js" "test" "karma") (:authors ("Sungho Kim(shiren)")) (:maintainer "Sungho Kim(shiren)") (:url . "http://github.com/shiren"))])
+ (uptimes . [(20191121 1030) ((cl-lib (0 5)) (emacs (24))) "Track and display Emacs session uptimes." single ((:commit . "29ae6585eeed5a00719b2e52f5ae1082087c1778") (:keywords "processes" "uptime") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/uptimes.el"))])
+ (url-shortener . [(20170805 242) nil "shorten long url and expand tinyurl" single ((:commit . "06db8270213b9e352d6c335b0663059a1353d05e") (:authors ("Yu Yang" . "yy2012cn@NOSPAM.gmail.com")) (:maintainer "Yu Yang" . "yy2012cn@NOSPAM.gmail.com") (:url . "https://github.com/yuyang0/url-shortener"))])
+ (urlenc . [(20140116 1456) nil "URL encoding/decoding utility for Emacs." single ((:commit . "835a6dcb783bbe84714bae87a3464aa0b128bfac") (:keywords "url") (:authors ("Taiki SUGAWARA" . "buzz.taiki@gmail.com")) (:maintainer "Taiki SUGAWARA" . "buzz.taiki@gmail.com") (:url . "https://github.com/buzztaiki/urlenc-el"))])
+ (urscript-mode . [(20190219 1604) ((emacs (24 4))) "major mode for editing URScript." single ((:commit . "b341f96b129ead8fb74d680cb4f546985bf110a9") (:keywords "languages") (:authors ("Guido Schmidt" . "git@guidoschmidt.cc")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:url . "https://github.com/guidoschmidt/urscript-mode"))])
+ (usage-memo . [(20170926 37) nil "integration of Emacs help system and memo" single ((:commit . "88e15a9942a3e0a6e36e9c3e51e3edb746067b1a") (:keywords "convenience" "languages" "lisp" "help" "tools" "docs") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/usage-memo.el"))])
+ (use-package . [(20200322 2110) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "c873d5529c9c80cb58222f22873a4f081c307cb2") (:keywords "dotemacs" "startup" "speed" "config" "package") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/use-package"))])
+ (use-package-chords . [(20181024 2322) ((use-package (2 1)) (bind-key (1 0)) (bind-chord (0 2)) (key-chord (0 6))) "key-chord keyword for use-package" single ((:commit . "c873d5529c9c80cb58222f22873a4f081c307cb2") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-chords"))])
+ (use-package-el-get . [(20180131 505) ((use-package (1 0))) "el-get support for use package" single ((:commit . "cba87c4e9a3a66b7c10962e3aefdf11c83d737bc") (:keywords "dotemacs" "startup" "speed" "config" "package" "tools") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:url . "https://github.com/edvorg/use-package-el-get"))])
+ (use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "c873d5529c9c80cb58222f22873a4f081c307cb2") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-ensure-system-package"))])
+ (use-package-hydra . [(20181228 745) ((emacs (24 3)) (use-package (2 4))) "Adds :hydra keyword to use-package macro" single ((:commit . "8cd55a1128fbdf6327bb38a199d206225896d146") (:keywords "convenience" "extensions" "tools") (:authors ("Toon Claes" . "toon@iotcl.com")) (:maintainer "Toon Claes" . "toon@iotcl.com") (:url . "https://gitlab.com/to1ne/use-package-hydra"))])
+ (use-ttf . [(20190823 939) ((emacs (24 4)) (s (1 12 0))) "Keep font consistency across different OSs." single ((:commit . "edfc3f4b50aec2234792c0cc894774e4916ce26a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/use-ttf"))])
+ (utop . [(20190715 1836) ((emacs (24))) "Universal toplevel for OCaml" single ((:commit . "471cb311159773bbb280d0f1a4b47c54456c67a9") (:keywords "ocaml" "languages") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:url . "https://github.com/diml/utop"))])
+ (uuid . [(20120910 851) nil "UUID's for EmacsLisp" single ((:commit . "1519bfeb0e31602b840bc8dd35d7c7e732c159fe") (:keywords "lisp") (:authors ("James Mastros")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (uuidgen . [(20200223 509) nil "Provides various UUID generating functions" single ((:commit . "f096f35a6e1f27d2bc9e9093cd61dd97bc33f502") (:keywords "extensions" "lisp" "tools") (:authors ("Kan-Ru Chen" . "kanru@kanru.info")) (:maintainer "Kan-Ru Chen" . "kanru@kanru.info"))])
+ (v2ex-mode . [(20160720 345) ((cl-lib (0 5)) (request (0 2)) (let-alist (1 0 3))) "Major mode for visit http://v2ex.com/ site." single ((:commit . "b7d19bb594b43ea3824a6f215dd1e5d1d4c0e8ad") (:keywords "v2ex" "v2ex.com") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:url . "https://github.com/aborn/v2ex-mode"))])
+ (vagrant . [(20170301 2206) nil "Manage a vagrant box from emacs" single ((:commit . "636ce2f9af32ea199170335a9cf1201b64873440") (:keywords "vagrant" "chef") (:authors ("Robert Crim" . "rob@servermilk.com")) (:maintainer "Robert Crim" . "rob@servermilk.com") (:url . "https://github.com/ottbot/vagrant.el"))])
+ (vagrant-tramp . [(20200118 2324) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "f67925928dd844b74e4002f433e6f0ebd3aae357") (:keywords "vagrant") (:authors ("Doug MacEachern" . "dougm@vmware.com") ("Ryan Prior " . "ryanprior@gmail.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:url . "https://github.com/dougm/vagrant-tramp"))])
+ (vala-mode . [(20150324 2225) nil "Vala mode derived mode" single ((:commit . "fb2871a4492d75d03d72e60474919ab89adb267b") (:keywords "vala" "languages" "oop") (:authors ("2005 Dylan R. E. Moonfire") (" 2008 Étienne BERSAC")) (:maintainer "Étienne BERSAC" . "bersace03@laposte.net"))])
+ (vala-snippets . [(20150429 352) ((yasnippet (0 8 0))) "Yasnippets for Vala" tar ((:commit . "671439501060449bd100b9fffd524a86064fbfbb") (:authors ("Daniel Gopar")) (:maintainer "Daniel Gopar") (:url . "https://github.com/gopar/vala-snippets"))])
+ (vale-mode . [(20190725 125) ((emacs (25))) "Major mode for writing Vale vaf files" single ((:commit . "48bbc4b4ee5bf0b1b73e52705c0fbc112b255cd0") (:keywords "convenience" "languages") (:authors ("Jay Bosamiya" . "jaybosamiya@gmail.com")) (:maintainer "Jay Bosamiya" . "jaybosamiya@gmail.com") (:url . "https://github.com/jaybosamiya/vale-mode.el"))])
+ (vbasense . [(20140221 2353) ((auto-complete (1 4 0)) (log4e (0 2 0)) (yaxception (0 1))) "provide a environment like Visual Basic Editor." tar ((:commit . "8c61a492d7c15218ae1a96e2aebfe6f78bfff6db") (:keywords "vba" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-vbasense"))])
+ (vc-auto-commit . [(20170107 1333) nil "Auto-committing feature for your repository" tar ((:commit . "446f664f4ec835532f4f18ba18b5fb731f6030aa") (:keywords "vc" "convenience") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "http://github.com/thisirs/vc-auto-commit.git"))])
+ (vc-check-status . [(20170107 1334) nil "Warn you when quitting emacs and leaving repo dirty." tar ((:commit . "37734beb16bfd8633ea328059bf9a47eed826d5c") (:keywords "vc" "convenience") (:authors ("Sylvain Rousseau <thisirs at gmail dot com>")) (:maintainer "Sylvain Rousseau <thisirs at gmail dot com>") (:url . "https://github.com/thisirs/vc-check-status"))])
+ (vc-darcs . [(20170905 320) ((emacs (24))) "a VC backend for darcs" single ((:commit . "390fb1ebdda1ffac45b9be02626dde3b6d95ac11") (:keywords "vc") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx") ("Juliusz Chroboczek" . "jch@pps.univ-paris-diderot.fr")) (:maintainer "Libor Čapák" . "capak@inputwish.com"))])
+ (vc-fossil . [(20180215 1635) nil "VC backend for the fossil sofware configuraiton management system" tar ((:commit . "7c5af95181213db38f81f5f9586f3334301a3ea0") (:authors ("Venkat Iyer" . "venkat@comit.com")) (:maintainer "Venkat Iyer" . "venkat@comit.com"))])
+ (vc-hgcmd . [(20191223 1331) ((emacs (25 1))) "VC mercurial backend that uses hg command server" single ((:commit . "8fc2e2c33334c9ff6d4c4d20a99d258e6cfdc567") (:keywords "vc") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-vc-hgcmd"))])
+ (vc-msg . [(20191128 1010) ((emacs (24 4)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "93794111daa95b809e46e6d961ad5f68eb8f78ed") (:keywords "git" "vc" "svn" "hg" "messenger") (:authors ("Chen Bin <chenbin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenbin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/vc-msg"))])
+ (vc-osc . [(20190402 2349) nil "non-resident support for osc version-control" single ((:commit . "bf5a515ed85f7d7cdfe66ed5bf4ef7554f8561e5") (:authors ("Adam Spiers (see vc.el for full credits)")) (:maintainer "Adam Spiers" . "aspiers@suse.com"))])
+ (vcomp . [(20190128 20) nil "compare version strings" single ((:commit . "f839b3b3257a564b19d7f9557dc8bcbbe0b95842") (:keywords "versions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/vcomp"))])
+ (vcsh . [(20200226 1339) ((emacs (25 1))) "vcsh integration" single ((:commit . "7e376436b8f450a5571e19246136ccf77bbdd4f1") (:keywords "vc" "files") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:url . "https://gitlab.com/stepnem/vcsh-el"))])
+ (vdf-mode . [(20191122 823) ((emacs (24 3))) "Major mode for editing Valve VDF files." single ((:commit . "35f5c3531b256b6578b9878ac2ce1ed79b3c8511") (:authors ("Philipp Middendorf")) (:maintainer "Philipp Middendorf") (:url . "https://github.com/plapadoo/vdf-mode"))])
+ (vdiff . [(20200214 1845) ((emacs (24 4)) (hydra (0 13 0))) "A diff tool similar to vimdiff" single ((:commit . "c0541ae9c2cb878be9ab3935da058a72155a14fc") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff"))])
+ (vdiff-magit . [(20190304 1707) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0)) (transient (0 1 0))) "magit integration for vdiff" single ((:commit . "b100d126c69e5c26a61ae05aa1778bcc4302b597") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff-magit"))])
+ (vdirel . [(20190430 624) ((emacs (24 4)) (org-vcard (0 1 0)) (helm (1 7 0)) (seq (1 11))) "Manipulate vdir (i.e., vCard) repositories" single ((:commit . "a9ef32a70a1f14416e3dc5fee478ce138cc011d3") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/vdirel"))])
+ (vdm-comint . [(20181127 2023) ((emacs (25)) (vdm-mode (0 0 4))) "REPL support for vdm-mode" single ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))])
+ (vdm-mode . [(20190328 1408) ((emacs (25))) "Major mode for the Vienna Development Method" tar ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))])
+ (vdm-snippets . [(20190313 1122) ((emacs (24)) (yasnippet (0 13 0))) "YASnippets for VDM mode" tar ((:commit . "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d") (:keywords "languages") (:authors ("Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com")) (:maintainer "Peter W. V. Tran-Jørgensen" . "peter.w.v.jorgensen@gmail.com") (:url . "https://github.com/peterwvj/vdm-mode"))])
+ (vector-utils . [(20140508 2041) nil "Vector-manipulation utility functions" single ((:commit . "c38ca1c6a23b2b51a6ac36c2c64e50e21cbe9d21") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/vector-utils"))])
+ (verb . [(20200404 951) ((emacs (25 1))) "Organize and send HTTP requests" tar ((:commit . "82cf1bde07b0c96b25d1dd16268663d8931fbb60") (:keywords "tools") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/verb"))])
+ (veri-kompass . [(20200213 934) ((emacs (25)) (cl-lib (0 5)) (org (8 2 0))) "verilog codebase navigation facility" single ((:commit . "271903cdf92db05898ee7cffb65641f30fa08280") (:keywords "languages" "extensions" "verilog" "hardware" "rtl") (:maintainer nil . "andrea_corallo@yahoo.it") (:url . "https://gitlab.com/koral/veri-kompass"))])
+ (verify-url . [(20160426 1228) ((cl-lib (0 5))) "find out invalid urls in the buffer or region" single ((:commit . "d6f3623cda8cd526a2d198619b137059cb1ba1ab") (:keywords "convenience" "usability" "url") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/verify-url"))])
+ (versuri . [(20200316 852) ((emacs (26 1)) (dash (2 16 0)) (request (0 3 0)) (anaphora (1 0 4)) (esxml (0 1 0)) (s (1 12 0)) (esqlite (0 3 1)) (ivy (0 11 0))) "The lyrics package" single ((:commit . "41e20583d1080beeeda0e36d1b2e6d74b9c57920") (:keywords "multimedia") (:authors ("Mihai Olteanu" . "mihai_olteanu@fastmail.fm")) (:maintainer "Mihai Olteanu" . "mihai_olteanu@fastmail.fm") (:url . "https://github.com/mihaiolteanu/versuri/"))])
+ (vertica . [(20131217 1511) ((sql (3 0))) "Vertica SQL mode extension" single ((:commit . "3c9647b425c5c13c30bf0cba483646af18196588") (:keywords "sql" "vertica") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com"))])
+ (vertica-snippets . [(20200423 1200) ((yasnippet (0 6 1))) "Yasnippets for Vertica" tar ((:commit . "6ced718d9120878878700592fab430a8542b748f") (:keywords "convenience" "snippets") (:authors ("Andreas Gerler" . "baron@bundesbrandschatzamt.de")) (:maintainer "Andreas Gerler" . "baron@bundesbrandschatzamt.de") (:url . "https://github.com/baron42bba/vertica-snippets"))])
+ (vertigo . [(20180829 2230) ((dash (2 11 0))) "Jump across lines using the home row." single ((:commit . "6303d17270ea92290a6960890bca515274f1682b") (:keywords "vim" "vertigo") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:url . "https://github.com/noctuid/vertigo.el"))])
+ (vhdl-capf . [(20160221 1734) nil "Completion at point function (capf) for vhdl-mode." single ((:commit . "290abe217050f33532bc9ccb04f894123402f414") (:keywords "convenience" "usability" "vhdl" "completion") (:authors ("sh-ow" . "sh-ow@users.noreply.github.com")) (:maintainer "sh-ow" . "sh-ow@users.noreply.github.com") (:url . "https://github.com/sh-ow/vhdl-capf"))])
+ (vhdl-tools . [(20200330 1819) ((ggtags (0 9 0)) (emacs (26 2)) (helm-rg (0 1)) (outshine (3 1 -1))) "Utilities for navigating vhdl sources" single ((:commit . "11645a398a11cdc4b84838294521ecfb229d7856") (:keywords "convenience" "languages" "vhdl") (:authors ("Cayetano Santos")) (:maintainer "Cayetano Santos") (:url . "https://gitlab.com/emacs-elisp/vhdl-tools/-/wikis/home"))])
+ (vi-tilde-fringe . [(20141028 242) ((emacs (24))) "Displays tildes in the fringe on empty lines a la Vi." single ((:commit . "f1597a8d54535bb1d84b442577b2024e6f910308") (:keywords "emulation") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:url . "https://github.com/syl20bnr/vi-tilde-fringe"))])
+ (viewer . [(20170107 202) nil "View-mode extension" single ((:commit . "6c8db025bf4021428f7f2c3ef9d74fb13f5d267a") (:keywords "view" "extensions") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:url . "http://github.com/rubikitch/viewer/"))])
+ (viking-mode . [(20160705 2027) nil "kill first, ask later" single ((:commit . "c76aa265d13ad91d6890d242e142d05e31f0340b") (:keywords "kill" "delete") (:authors ("T.v.Dein" . "tlinden@cpan.org")) (:maintainer "T.v.Dein" . "tlinden@cpan.org") (:url . "https://github.com/tlinden/viking-mode"))])
+ (vim-empty-lines-mode . [(20150111 426) ((emacs (23))) "Vim-like empty line indicator at end of files." single ((:commit . "d4a5034ca8ea0c962ad6e92c86c0fa2a74d2964b") (:keywords "emulations") (:authors ("Jonne Mickelin" . "jonne@ljhms.com")) (:maintainer "Jonne Mickelin" . "jonne@ljhms.com") (:url . "https://github.com/jmickelin/vim-empty-lines-mode"))])
+ (vim-region . [(20140329 1624) ((expand-region (20140127))) "Select region as vim" single ((:commit . "7c4a99ce3678fee40c83ab88e8ad075d2a935fdf") (:authors ("ongaeshi" . "ongaeshi0621@gmail.com")) (:maintainer "ongaeshi" . "ongaeshi0621@gmail.com") (:url . "https://github.com/ongaeshi/emacs-vim-region"))])
+ (vimgolf . [(20200205 1420) nil "VimGolf interface for the One True Editor" single ((:commit . "f565447ed294898588a19438d56c116555d8c628") (:keywords "games" "vimgolf" "vim") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com") (:url . "https://github.com/timvisher/vimgolf.el"))])
+ (vimish-fold . [(20200329 1242) ((emacs (24 4)) (cl-lib (0 5)) (f (0 18 0))) "Fold text like in Vim" single ((:commit . "63685239655a151181b9152e45478dad587f86f2") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/vimish-fold"))])
+ (vimrc-mode . [(20181116 1919) nil "Major mode for vimrc files" single ((:commit . "13bc150a870d5d4a95f1111e4740e2b22813c30e") (:keywords "languages" "vim") (:url . "https://github.com/mcandre/vimrc-mode"))])
+ (virtual-auto-fill . [(20200217 2333) ((emacs (25 2)) (adaptive-wrap (0 7)) (visual-fill-column (1 9))) "Readably display text without adding line breaks" single ((:commit . "291f6178a5423f01f2f69d6bc48603d4f605b61a") (:keywords "convenience" "mail" "outlines" "files" "wp") (:authors ("Luis Gerhorst" . "virtual-auto-fill@luisgerhorst.de")) (:maintainer "Luis Gerhorst" . "virtual-auto-fill@luisgerhorst.de") (:url . "https://github.com/luisgerhorst/virtual-auto-fill"))])
+ (virtualenv . [(20140220 2301) nil "Virtualenv for Python" single ((:commit . "276c0f4d6493b402dc4d22ecdf17b2b072e911b3") (:keywords "python" "virtualenv") (:authors ("Aaron Culich" . "aculich@gmail.com")) (:maintainer "Aaron Culich" . "aculich@gmail.com"))])
+ (virtualenvwrapper . [(20190223 1919) ((dash (1 5 0)) (s (1 6 1))) "a featureful virtualenv tool for Emacs" single ((:commit . "107e7e0bf923f44d217712772cd58b414d0065cb") (:keywords "python" "virtualenv" "virtualenvwrapper") (:authors ("James J Porter" . "porterjamesj@gmail.com")) (:maintainer "James J Porter" . "porterjamesj@gmail.com") (:url . "http://github.com/porterjamesj/virtualenvwrapper.el"))])
+ (visible-mark . [(20150624 450) nil "Make marks visible." single ((:commit . "a584db9bc88953b23a9648b3e14ade90767207f8") (:keywords "marking" "color" "faces") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:url . "https://gitlab.com/iankelling/visible-mark"))])
+ (visual-ascii-mode . [(20150129 1046) nil "Visualize ascii code (small integer) on buffer." single ((:commit . "99285a099a17472ddd9f1b4f74e9d092dd8c5947") (:keywords "presentation") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:url . "https://github.com/Dewdrops/visual-ascii-mode"))])
+ (visual-fill-column . [(20200428 816) ((emacs (24 3))) "fill-column for visual-line-mode" single ((:commit . "982606896e018c951917b73d2af6334df554cf9d") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://github.com/joostkremers/visual-fill-column"))])
+ (visual-regexp . [(20190414 814) ((cl-lib (0 2))) "A regexp/replace command for Emacs with interactive visual feedback" single ((:commit . "3e3ed81a3cbadef1f1f4cb16f9112a58641d70ca") (:keywords "regexp" "replace" "visual" "feedback") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/visual-regexp.el/"))])
+ (visual-regexp-steroids . [(20170222 253) ((visual-regexp (1 1))) "Extends visual-regexp to support other regexp engines" tar ((:commit . "a6420b25ec0fbba43bf57875827092e1196d8a9e") (:keywords "external" "foreign" "regexp" "replace" "python" "visual" "feedback") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:url . "https://github.com/benma/visual-regexp-steroids.el/"))])
+ (vlc . [(20200328 1143) ((emacs (25 1))) "VideoLAN VLC Media Player Control" single ((:commit . "932840f874e7510ee86e796bb5dc20d44514e31a") (:keywords "tools") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/vlc.el"))])
+ (vlf . [(20191126 2250) nil "View Large Files" tar ((:commit . "cc02f2533782d6b9b628cec7e2dcf25b2d05a27c") (:keywords "large files" "utilities") (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/vlfi"))])
+ (vmd-mode . [(20190929 735) ((emacs (24 3))) "Fast Github-flavored Markdown preview using a vmd subprocess." single ((:commit . "aa9b753601ee1ed31b4f717629179ce7a2cacba5") (:keywords "markdown" "preview" "live" "vmd") (:authors ("Blake Miller" . "blak3mill3r@gmail.com")) (:maintainer "Blake Miller" . "blak3mill3r@gmail.com") (:url . "https://github.com/blak3mill3r/vmd-mode"))])
+ (voca-builder . [(20161101 1645) ((popup (0 5 2))) "Helps you build up your vocabulary" single ((:commit . "51573beec8cd8308477b0faf453aad93e17f57c5") (:keywords "english" "vocabulary") (:authors ("Yi Tang" . "yi.tang.uk@me.com")) (:maintainer "Yi Tang" . "yi.tang.uk@me.com") (:url . "https://github.com/yitang/voca-builder"))])
+ (volatile-highlights . [(20160612 155) nil "Minor mode for visual feedback on some operations." single ((:commit . "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392") (:keywords "emulations" "convenience" "wp") (:authors ("K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>")) (:maintainer "K-talo Miyazaki <Keitaro dot Miyazaki at gmail dot com>") (:url . "http://www.emacswiki.org/emacs/download/volatile-highlights.el"))])
+ (volume . [(20150718 2009) nil "tweak your sound card volume from Emacs" single ((:commit . "ecc1550b3c8b501d37e0f0116b54b535d15f90f6") (:authors ("Daniel Brockman" . "daniel@brockman.se")) (:maintainer "Daniel Brockman" . "daniel@brockman.se") (:url . "http://www.brockman.se/software/volume-el/"))])
+ (vs-dark-theme . [(20191209 1600) ((emacs (24 1))) "Visual Studio IDE dark theme" single ((:commit . "d1f954a3879ec3f93c8dea9177772bf4d5bd0ecb") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/jcs090218/vs-dark-theme"))])
+ (vs-light-theme . [(20191209 1600) ((emacs (24 1))) "Visual Studio IDE light theme" single ((:commit . "764f478f5866140b121b1e43857487b7a66afa72") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/jcs090218/vs-light-theme"))])
+ (vscdark-theme . [(20191212 107) ((emacs (24 1))) "VS Code Dark+ like theme" single ((:commit . "8eba74059e8a9db974e4056ee024e52fe54da485") (:authors ("Alexander L. Belikoff")) (:maintainer "Alexander L. Belikoff") (:url . "https://github.com/abelikoff/vscdark-theme"))])
+ (vscode-icon . [(20191102 2010) ((emacs (25 1))) "Utility package to provide Vscode style icons" tar ((:commit . "4304e9f0a47406048129dc62171f08b67325a2ed") (:keywords "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/vscode-icon-emacs"))])
+ (vterm . [(20200429 428) ((emacs (25 1))) "This package implements a terminal via libvterm" tar ((:commit . "e63bd65eece7c5de3a534b7e2fdbe58256ec2da0") (:keywords "terminals") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:url . "https://github.com/akermu/emacs-libvterm"))])
+ (vterm-toggle . [(20200402 1516) ((emacs (25 1)) (vterm (0 0 1))) "Toggles between the vterm buffer and other buffers." single ((:commit . "15901e1e1eebd957ef18d38c920f944558ebd4fb") (:keywords "vterm" "terminals") (:authors (nil . "jixiuf jixiuf@qq.com")) (:maintainer nil . "jixiuf jixiuf@qq.com") (:url . "https://github.com/jixiuf/vterm-toggle"))])
+ (vue-html-mode . [(20180428 2035) nil "Major mode for editing Vue.js templates" single ((:commit . "1514939804bad558584feeb6298b38d22eadf64e") (:keywords "languages" "vue" "template") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/vue-html-mode"))])
+ (vue-mode . [(20190415 231) ((mmm-mode (0 5 5)) (vue-html-mode (0 2)) (ssass-mode (0 2)) (edit-indirect (0 1 4))) "Major mode for vue component based on mmm-mode" single ((:commit . "031edd1f97db6e7d8d6c295c0e6d58dd128b9e71") (:keywords "languages") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))])
+ (vuiet . [(20200424 1400) ((emacs (26 1)) (lastfm (1 1)) (versuri (1 0)) (s (1 12 0)) (bind-key (2 4)) (mpv (0 1 0))) "The music player and explorer for Emacs" single ((:commit . "5da06a8acebcaf84a3581610ff24aae1b46f786b") (:keywords "multimedia") (:authors ("Mihai Olteanu" . "mihai_olteanu@fastmail.fm")) (:maintainer "Mihai Olteanu" . "mihai_olteanu@fastmail.fm") (:url . "https://github.com/mihaiolteanu/vuiet"))])
+ (vyper-mode . [(20180707 1935) ((emacs (24 3))) "Major mode for the Vyper programming language" single ((:commit . "323dfddfc38f0b11697e9ebaf04d1b53297e54e5") (:keywords "languages") (:authors ("Alex Stokes" . "r.alex.stokes@gmail.com")) (:maintainer "Alex Stokes" . "r.alex.stokes@gmail.com") (:url . "https://github.com/ralexstokes/vyper-mode"))])
+ (w32-browser . [(20170101 1954) nil "Run Windows application associated with a file." single ((:commit . "e5c60eafd8f8d3546a0fa295ad5af2414d36b4e6") (:keywords "mouse" "dired" "w32" "explorer") (:authors ("Emacs Wiki, Drew Adams")) (:maintainer nil . "Drew Adams (concat \"drew.adams\" \"@\" \"oracle\" \".com\")") (:url . "http://www.emacswiki.org/w32-browser.el"))])
+ (w3m . [(20200325 2226) nil "an Emacs interface to w3m" tar ((:commit . "e522a44b151d69d4a176e8809225598ab540fc4d") (:keywords "w3m" "www" "hypermedia"))])
+ (wacspace . [(20180311 2350) ((dash (1 2 0)) (cl-lib (0 2))) "The WACky WorkSPACE manager for emACS" tar ((:commit . "54d19aab6fd2bc5945b7ffc58104e695064927e2"))])
+ (waf-mode . [(20170403 1940) nil "Waf integration for Emacs" single ((:commit . "20c75eabd1d54fbce8e0dbef785c9fb68577ee4f") (:authors ("Denys Valchuk" . "dvalchuk@gmail.com")) (:maintainer "Denys Valchuk" . "dvalchuk@gmail.com") (:url . "https://bitbucket.org/dvalchuk/waf-mode"))])
+ (waher-theme . [(20141115 1230) ((emacs (24 1))) "Emacs 24 theme based on waher for st2 by dduckster" single ((:commit . "60d31519fcfd8e797723d47961b255ae2f2e2c0a") (:authors ("Jasonm23" . "jasonm23@gmail.com")) (:maintainer "Jasonm23" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-waher-theme"))])
+ (wakatime-mode . [(20180920 702) nil "Automatic time tracking extension for WakaTime" single ((:commit . "2531cb58287770883ba534d20b3288955c4d6ef3") (:keywords "calendar" "comm") (:authors ("Gabor Torok" . "gabor@20y.hu")) (:maintainer "Alan Hamlett" . "alan@wakatime.com"))])
+ (wakib-keys . [(20200430 2155) ((emacs (24 4))) "Minor Mode for Modern Keybindings" single ((:commit . "d958150c053dae57445be37cda1c2b50efcbaac3") (:keywords "convenience" "keybindings" "keys") (:authors ("Abdulla Bubshait")) (:maintainer "Abdulla Bubshait") (:url . "https://github.com/darkstego/wakib-keys/"))])
+ (walkclj . [(20180718 900) ((emacs (25)) (parseclj (0 1 0)) (treepy (0 1 0))) "Manipulate Clojure parse trees" single ((:commit . "2e54fa813b11d1a87c890cdf117f30165a193024") (:keywords "languages") (:authors ("Arne Brasseur")) (:maintainer "Arne Brasseur") (:url . "https://github.com/plexus/walkclj"))])
+ (walkman . [(20200418 1554) ((transient (0 1 0)) (org (8 3 5)) (emacs (25 3))) "Write HTTP requests in Org mode" single ((:commit . "07a7710084c328dc238626f8b6e7d019380502de") (:keywords "walkman" "http" "curl" "org" "comm") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/walkman"))])
+ (wallpaper . [(20200408 1353) ((emacs (25 1))) "Setting the wallpaper" single ((:commit . "9fb5be9c2f7279f7ef2860eefd416359b9026ba3") (:keywords "unix" "wallpaper" "extensions") (:authors ("Farlado" . "farlado@sdf.org")) (:maintainer "Farlado" . "farlado@sdf.org") (:url . "https://github.com/farlado/emacs-wallpaper"))])
+ (wand . [(20200302 1536) ((dash (2 15 0)) (s (0 1 1))) "Magic wand for Emacs - Select and execute" tar ((:commit . "731b5ca33269fe563239bff16da6c41489432b80") (:keywords "extensions" "tools") (:authors ("Ha-Duong Nguyen <cmpitgATgmail>")) (:maintainer "Ha-Duong Nguyen <cmpitgATgmail>") (:url . "https://github.com/cmpitg/wand"))])
+ (wandbox . [(20170603 1231) ((emacs (24)) (request (0 3 0)) (s (1 10 0))) "Wandbox client" tar ((:commit . "e002fe41f2cd9b4ce2b1dc80b83301176e9117f1") (:keywords "tools") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/emacs-wandbox"))])
+ (wanderlust . [(20200124 858) ((semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "7af0d582cd48a37469e0606ea35887740d78c8b5"))])
+ (warm-night-theme . [(20161101 1428) ((emacs (24))) "Emacs 24 theme with a dark background." single ((:commit . "020f084d23409b5035150508ba6e57c2509edd64") (:authors ("martin haesler")) (:maintainer "martin haesler"))])
+ (watch-buffer . [(20120331 2044) nil "run a shell command when saving a buffer" single ((:commit . "761fd7252e6d7bf5148283c2a7ee935f087d9427") (:keywords "automation" "convenience") (:authors ("Michael Steger" . "mjsteger1@gmail.com")) (:maintainer "Michael Steger" . "mjsteger1@gmail.com") (:url . "https://github.com/mjsteger/watch-buffer"))])
+ (wavefront-obj-mode . [(20170808 1716) nil "Major mode for Wavefront obj files" single ((:commit . "34027915de6496460d8e68b5991dd24d47d54859") (:authors ("Sasha Kovar" . "sasha-emacs@arcocene.org")) (:maintainer "Sasha Kovar" . "sasha-emacs@arcocene.org") (:url . "http://github.com/abend/wavefront-obj-mode"))])
+ (wc-goal-mode . [(20140829 1359) nil "Running word count with goals (minor mode)" single ((:commit . "bf21ab9c5a449bcc20dd207a4915dcec218d2699") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-goal-mode"))])
+ (wc-mode . [(20200108 1841) ((emacs (24 1))) "Running word count with goals (minor mode)" single ((:commit . "79107d1130e8be3e1db4619373b98045b4fd9033") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-mode"))])
+ (wcheck-mode . [(20190626 1839) nil "General interface for text checkers" tar ((:commit . "271198bca70c05b4591c836d3c670b72cdfabe9c"))])
+ (wdl-mode . [(20180831 1946) nil "WDL (Workflow Definition Language) major mode" single ((:commit . "cef86e5afc136ae5ad9324cd6e6d6f860b889bcf") (:keywords "languages") (:authors ("Xiaowei Zhan" . "zhanxw@gmail.com")) (:maintainer "Xiaowei Zhan" . "zhanxw@gmail.com") (:url . "http://github.com/zhanxw/wdl-mode"))])
+ (weak-ref . [(20200217 2200) ((emacs (24 3))) "Weak references for Emacs Lisp" single ((:commit . "24e8c37da6465e65ce9f866267bd3fa53c8899c6") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-weak-ref"))])
+ (weather-metno . [(20150901 107) ((emacs (24)) (cl-lib (0 3))) "Weather data from met.no in Emacs" tar ((:commit . "bfc7137095e0ee71aad70ac46f2af677f3c051b6"))])
+ (web . [(20141231 2001) ((dash (2 9 0)) (s (1 5 0))) "useful HTTP client" single ((:commit . "483188dac4bc6b409b985c9dae45f3324a425efd") (:keywords "lisp" "http" "hypermedia") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:url . "http://github.com/nicferrier/emacs-web"))])
+ (web-beautify . [(20161115 2247) nil "Format HTML, CSS and JavaScript/JSON" single ((:commit . "e1b45321d8c11b404b12c8e55afe55eaa7c84ee9") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/web-beautify"))])
+ (web-completion-data . [(20160318 848) nil "Shared completion data for ac-html and company-web" tar ((:commit . "c272c94e8a71b779c29653a532f619acad433a4f") (:keywords "html" "auto-complete" "company") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:url . "https://github.com/osv/web-completion-data"))])
+ (web-mode . [(20200501 930) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "d115f8dc3052e5779938d782d9cdaa4533ef20ff") (:keywords "languages") (:authors ("François-Xavier Bois <fxbois AT Google Mail Service>")) (:maintainer "François-Xavier Bois") (:url . "http://web-mode.org"))])
+ (web-mode-edit-element . [(20190531 852) ((emacs (24 4)) (web-mode (14))) "Helper-functions for attribute- and element-handling" tar ((:commit . "ad5d7e4dc2420bdd00ce65d9adffbd38a5904afa") (:keywords "languages" "convenience") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/web-mode-edit-element"))])
+ (web-narrow-mode . [(20170407 210) ((web-mode (14 0 27))) "quick narrow code block in web-mode" single ((:commit . "73bdcb7d0701abe65dab4fc295d944885e05ae33") (:keywords "web-mode" "react" "narrow" "web") (:authors ("Qquanwei" . "quanwei9958@126.com")) (:maintainer "Johan Andersson" . "quanwei9958@126.com") (:url . "https://github.com/Qquanwei/web-narrow-mode"))])
+ (web-search . [(20190620 602) ((emacs (24 3))) "Open a web search" tar ((:commit . "a22cbdc663a1895d5a5b69de91e1e3b9eb64b92f") (:keywords "web" "search") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/web-search.el"))])
+ (web-server . [(20200330 1407) ((emacs (24 3))) "Emacs Web Server" tar ((:commit . "9edf4b5e3c6cea1738acf08241919e00437ec530") (:keywords "http" "server" "network") (:authors ("Eric Schulte" . "schulte.eric@gmail.com")) (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") (:url . "https://github.com/eschulte/emacs-web-server"))])
+ (webkit-color-picker . [(20180325 736) ((emacs (26 0)) (posframe (0 1 0))) "Insert and adjust colors using Webkit Widgets" tar ((:commit . "765cac80144cad4bc0bf59025ea0199f0486f737") (:keywords "tools") (:authors ("Ozan Sener" . "hi@ozan.email")) (:maintainer "Ozan Sener" . "hi@ozan.email") (:url . "https://github.com/osener/emacs-webkit-color-picker"))])
+ (weblogger . [(20110926 1618) ((xml-rpc (1 6 8))) "Weblog maintenance via XML-RPC APIs" single ((:commit . "b3dd4aead9d3a87e6d85e7fef4f4f3bd40d87b53") (:keywords "weblog" "blogger" "cms" "movable" "type" "openweblog" "blog") (:url . "http://launchpad.net/weblogger-el"))])
+ (webpaste . [(20200416 1007) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "7a3060266459566e450c5cafc00bc90c6508eae5") (:keywords "convenience" "comm" "paste") (:authors ("Elis \"etu\" Hirwing")) (:maintainer "Elis \"etu\" Hirwing") (:url . "https://github.com/etu/webpaste.el"))])
+ (websocket . [(20200419 2124) ((cl-lib (0 5))) "Emacs WebSocket client and server" single ((:commit . "078f83902c0846c00ed8e3b6c5add7ff9b98d8f9") (:keywords "communication" "websocket" "server") (:authors ("Andrew Hyatt" . "ahyatt@gmail.com")) (:maintainer "Andrew Hyatt" . "ahyatt@gmail.com") (:url . "https://github.com/ahyatt/emacs-websocket"))])
+ (wedge-ws . [(20140714 2149) nil "Wedge whitespace between columns in text" single ((:commit . "4669115f02d9c6fee067cc5369bb38c0f9db88b2") (:keywords "formatting" "indentation") (:authors ("Anders Eurenius" . "aes@spotify.com")) (:maintainer "Anders Eurenius" . "aes@spotify.com"))])
+ (weechat . [(20190520 1551) ((s (1 3 1)) (cl-lib (0 2)) (emacs (24)) (tracking (1 2))) "Chat via WeeChat's relay protocol in Emacs" tar ((:commit . "d9a13306ea8be27367f92e9202d116a88fa1f441"))])
+ (weechat-alert . [(20160416 1248) ((weechat (0 3 1)) (cl-lib (0 5)) (alert (1 2))) "Weechat notifier using alerts" single ((:commit . "a8fd557c8f335322f132c1c6c08b6741d6394e2e") (:keywords "irc" "chat" "network" "weechat") (:authors ("Andreas Klein" . "git@kungi.org")) (:maintainer "Andreas Klein" . "git@kungi.org") (:url . "https://github.com/kungi/weechat-alert"))])
+ (weibo . [(20150307 2242) ((cl-lib (0 5))) "Weibo client for Emacs" tar ((:commit . "a8abb50b7602fe15fe2bc6400ac29780e956b390") (:keywords "weibo") (:authors ("Austin" . "austiny.cn@gmail.com")) (:maintainer "Austin" . "austiny.cn@gmail.com") (:url . "https://github.com/austin-----/weibo.emacs"))])
+ (wgrep . [(20200217 1030) nil "Writable grep buffer and apply the changes to files" single ((:commit . "5977b8e00051c9003ca96e9d35133e0dea68db2c") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep.el"))])
+ (wgrep-ack . [(20200128 109) ((wgrep (2 1 1))) "Writable ack-and-a-half buffer and apply the changes to files" single ((:commit . "5977b8e00051c9003ca96e9d35133e0dea68db2c") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-ack.el"))])
+ (wgrep-ag . [(20200217 1028) ((wgrep (2 3 2))) "Writable ag buffer and apply the changes to files" single ((:commit . "5977b8e00051c9003ca96e9d35133e0dea68db2c") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-ag.el"))])
+ (wgrep-helm . [(20200128 109) ((wgrep (2 1 1))) "Writable helm-grep-mode buffer and apply the changes to files" single ((:commit . "5977b8e00051c9003ca96e9d35133e0dea68db2c") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-helm.el"))])
+ (wgrep-pt . [(20200128 109) ((wgrep (2 1 5))) "Writable pt buffer and apply the changes to files" single ((:commit . "5977b8e00051c9003ca96e9d35133e0dea68db2c") (:keywords "grep" "edit" "extensions") (:authors ("Masahiro Hayashi <mhayashi1120@gmail.com>, Bailey Ling" . "bling@live.ca")) (:maintainer "Masahiro Hayashi <mhayashi1120@gmail.com>, Bailey Ling" . "bling@live.ca") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-pt.el"))])
+ (what-the-commit . [(20150901 1316) nil "Random commit message generator" single ((:commit . "868c80a1b8614bcbd2225cd0290142c72f2a7956") (:keywords "git" "commit" "message") (:authors ("Dan Barbarito" . "dan@barbarito.me")) (:maintainer "Dan Barbarito" . "dan@barbarito.me") (:url . "http://barbarito.me/"))])
+ (which-key . [(20200216 1350) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "8b49ae978cceca65967f3544c236f32964ddbed0") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))])
+ (which-key-posframe . [(20190427 1103) ((emacs (26 0)) (posframe (0 4 3)) (which-key (3 3 2))) "Using posframe to show which-key" single ((:commit . "e7f28608c7fc9507e407c6b840dff09062df533a") (:keywords "convenience" "bindings" "tooltip") (:authors ("Yanghao Xie")) (:maintainer "Yanghao Xie" . "yhaoxie@gmail.com") (:url . "https://github.com/yanghaoxie/which-key-posframe"))])
+ (whitaker . [(20150814 1122) ((dash (2 10 0))) "Comint interface for Whitaker's Words" single ((:commit . "eaf26ea647b729ca705b73ea70312d5ffdf89448") (:keywords "processes") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))])
+ (white-sand-theme . [(20151117 1648) ((emacs (24))) "Emacs theme with a light background." single ((:commit . "97621edd69267dd143760d94393db2c2558c9ea4") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))])
+ (white-theme . [(20160917 1743) ((emacs (24))) "Minimalistic light color theme inspired by basic-theme" single ((:commit . "e9e6d5b9d43da6eb15e86f5fbc8b1ba83abe8c78") (:keywords "color" "theme" "minimal" "basic" "simple" "white") (:authors ("Anler Hernandez Peral" . "inbox@anler.me")) (:maintainer "Anler Hernandez Peral" . "inbox@anler.me") (:url . "http://github.com/anler/white-theme.el"))])
+ (whitespace-cleanup-mode . [(20200304 2227) ((emacs (24 1))) "Intelligently call whitespace-cleanup on save" single ((:commit . "5fac49636cd72a0043e2473c9a09a788cfd68d5f") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))])
+ (whizzml-mode . [(20191216 1743) ((emacs (24 4))) "Programming mode for editing WhizzML files" tar ((:commit . "65fa17f8c1dc50dcb90277b64019c2846a317293") (:keywords "languages" "lisp") (:authors ("Jose Antonio Ortega Ruiz" . "jao@bigml.com")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@bigml.com"))])
+ (whois . [(20200409 1538) ((emacs (24))) "Syntax highlighted domain name queries using system whois" single ((:commit . "907abd9538c4a1e088853b816af883e5040fc430") (:keywords "network" "comm") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/emacs-whois"))])
+ (whole-line-or-region . [(20200305 221) ((emacs (24 1))) "Operate on current line if region undefined" single ((:commit . "71f84725e2643b2ee74f27c60c4fd8b79c9c3c97") (:keywords "convenience" "wp") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whole-line-or-region"))])
+ (wide-column . [(20170925 1613) nil "Calls functions dependant on column position." single ((:commit . "ce9ef4675485a7bea381077866368ef875226b10") (:keywords "minor mode" "cursor colour" "column width") (:authors ("Phillip Lord" . "p.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "p.lord@russet.org.uk"))])
+ (widget-mvc . [(20150102 406) nil "MVC framework for the emacs widgets" single ((:commit . "ff5a85880df7b87f9f480fe3c28438a0712b7b87") (:keywords "lisp" "widget") (:authors ("SAKURAI Masashi <m.sakurai at kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai at kiwanami.net>"))])
+ (widgetjs . [(20160719 1504) ((makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1)) (s (1 9 0))) "Widgetjs mode" single ((:commit . "44a7241e1785775ce69b947bc7aed08f95795b19") (:keywords "help") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))])
+ (wiki-nav . [(20200309 1323) ((button-lock (1 0 2)) (nav-flash (1 0 0))) "Simple file navigation using [[WikiStrings]]" single ((:commit . "9afe0f4d05910b0cccc94cb6d4d880119f3b0528") (:keywords "mouse" "button" "hypermedia" "navigation") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))])
+ (wiki-summary . [(20181010 1824) ((emacs (24))) "View Wikipedia summaries in Emacs easily." single ((:commit . "fa41ab6e50b3b80e54148af9d4bac18fd0405000") (:keywords "wikipedia" "utility") (:authors ("Danny Gratzer")) (:maintainer "Danny Gratzer") (:url . "https://github.com/jozefg/wiki-summary.el"))])
+ (wilt . [(20180220 854) ((emacs (24 3)) (dash (2 12 0)) (s (1 10 0))) "An extensions for calculating WILT in a buffer." single ((:commit . "04dbe37fa35d0b24c791421785d2c97a8cbfe2cc") (:authors ("Austin Bingham" . "austin@sixty-north.com")) (:maintainer "Austin Bingham" . "austin@sixty-north.com") (:url . "https://github.com/sixty-north/emacs-wilt"))])
+ (win-switch . [(20161009 1627) nil "fast, dynamic bindings for window-switching/resizing" single ((:commit . "954eb5e4c5737f0c06368c42a7f1c3dd374d782f") (:keywords "window" "switch" "key bindings" "ergonomic" "efficient") (:authors ("Christopher Genovese" . "genovese@cmu.edu")) (:maintainer "Christopher R. Genovese" . "genovese@cmu.edu") (:url . "http://www.stat.cmu.edu/~genovese/emacs/win-switch/"))])
+ (windata . [(20090830 1040) nil "convert window configuration to list" single ((:commit . "a723fc446ceaec23d5f29ecc8245d94c99d91625") (:keywords "convenience" "frames") (:authors (nil . "wenbinye@gmail.com")) (:maintainer nil . "wenbinye@gmail.com"))])
+ (window-end-visible . [(20140508 2041) nil "Find the last visible point in a window" single ((:commit . "525500fb2ebc08f3f9ea493972e5f2e1d79f89ef") (:keywords "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/window-end-visible"))])
+ (window-jump . [(20170809 2208) nil "Move left/right/up/down through your windows." single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:keywords "frames" "convenience") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:url . "https://github.com/chumpage/chumpy-windows"))])
+ (window-layout . [(20170215 33) nil "window layout manager" single ((:commit . "cd2e4f967b610c2bbef53182829e47250d027056") (:keywords "window" "layout") (:authors ("SAKURAI Masashi <m.sakurai atmark kiwanami.net>")) (:maintainer "SAKURAI Masashi <m.sakurai atmark kiwanami.net>"))])
+ (window-number . [(20170801 151) nil "Select windows by numbers." single ((:commit . "d41722de646ffeb3f70d26e4a86a5a1ba5c6be87") (:keywords "windows") (:authors ("Johann \"Myrkraverk\" Oskarsson" . "myrkraverk@users.sourceforge.net")) (:maintainer "Nik Nyby" . "niknyby@riseup.net") (:url . "https://github.com/nikolas/window-number"))])
+ (window-numbering . [(20160809 1810) nil "Numbered window shortcuts" single ((:commit . "10809b3993a97c7b544240bf5d7ce9b1110a1b89") (:keywords "faces" "matching") (:authors ("Nikolaj Schumacher <bugs * nschum de>")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>") (:url . "http://nschum.de/src/emacs/window-numbering-mode/"))])
+ (window-purpose . [(20190628 1827) ((emacs (24 4)) (let-alist (1 0 3)) (imenu-list (0 1))) "Purpose-based window management for Emacs" tar ((:commit . "f6421966761ad911fe8861aba2b110c5dd60d1ea") (:keywords "frames") (:authors ("Bar Magal")) (:maintainer "Bar Magal") (:url . "https://github.com/bmag/emacs-purpose"))])
+ (winds . [(20200501 419) ((emacs (25 1))) "Window configuration switcher grouped by workspaces" single ((:commit . "720a0cedfdc20940f4c740e74fa0e16983cb0367") (:keywords "convenience") (:authors ("Javier A. Pollak" . "javi.po.123@gmail.com")) (:maintainer "Javier A. Pollak" . "javi.po.123@gmail.com") (:url . "https://github.com/Javyre/winds.el"))])
+ (windsize . [(20181029 2257) nil "Simple, intuitive window resizing" single ((:commit . "62c2846bbe95b0a73e996c75e4a644d05f57aaaa") (:keywords "window" "resizing" "convenience") (:authors ("Chris Perkins" . "chrisperkins99@gmail.com")) (:maintainer "Chris Perkins" . "chrisperkins99@gmail.com") (:url . "http://github.com/grammati/windsize"))])
+ (windwow . [(20170816 148) ((dash (2 11 0)) (cl-lib (0 6 1)) (emacs (24))) "simple workspace management" single ((:commit . "77bad26f651744b68d31b389389147014d250f23") (:keywords "frames") (:authors ("Viju Mathew" . "viju.jm@gmail.com")) (:maintainer "Viju Mathew" . "viju.jm@gmail.com") (:url . "github.com/vijumathew/windwow"))])
+ (winnow . [(20170903 1206) ((emacs (24))) "winnow ag/grep results by matching/excluding lines" single ((:commit . "18cb6b94338f3b7b4f2cd0331dad22f82dd9e0d3") (:keywords "matching") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:url . "https://github.com/dgtized/winnow.el"))])
+ (winpoint . [(20131023 1713) nil "Remember buffer positions per-window, not per buffer" single ((:commit . "e6050093c076308184566fa1d1012423d6934773") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/winpoint"))])
+ (winring . [(20180530 18) nil "Window configuration rings" single ((:commit . "f2d072bd446b73e93b127523f19ea82b99b9267f") (:keywords "frames" "tools") (:authors ("1997-2018 Barry A. Warsaw")) (:maintainer "1997-2018 Barry A. Warsaw") (:url . "https://gitlab.com/warsaw/winring"))])
+ (winum . [(20190911 1607) ((cl-lib (0 5)) (dash (2 13 0))) "Navigate windows and frames using numbers." single ((:commit . "c5455e866e8a5f7eab6a7263e2057aff5f1118b9") (:keywords "convenience" "frames" "windows" "multi-screen") (:authors ("Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com")) (:maintainer "Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com") (:url . "http://github.com/deb0ch/winum.el"))])
+ (wisp-mode . [(20191114 2340) nil "Tools for wisp: the Whitespace-to-Lisp preprocessor" tar ((:commit . "33b4fcdd8a17aa19d57971e4f6db5fcb7758843c") (:keywords "languages" "lisp") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))])
+ (wispjs-mode . [(20170720 1919) ((clojure-mode (0))) "Major mode for Wisp code." single ((:commit . "60f9f5fd9d1556e2d008939f67eb1b1d0f325fa8") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/wispjs-mode"))])
+ (with-editor . [(20200217 1015) ((emacs (24 4)) (async (1 9))) "Use the Emacsclient as $EDITOR" tar ((:commit . "4fe66d4d55c8eacebda53a13cc38e01d32bdaaa2") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/with-editor"))])
+ (with-emacs . [(20200210 1543) ((emacs (24 4))) "Evaluate Emacs Lisp expressions in a separate Emacs process" single ((:commit . "9f99bec56f87e53deb9f33b364eda77677a17eb9") (:keywords "tools") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/with-emacs.el"))])
+ (with-namespace . [(20130407 1822) ((dash (1 1 0)) (loop (1 1))) "interoperable elisp namespaces" single ((:commit . "8ac52da3a09cf46087720e30cf730d00f140cde6") (:keywords "namespaces") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))])
+ (with-proxy . [(20190920 24) ((emacs (24 4))) "Evaluate expressions with proxy" single ((:commit . "a7506af86ffc943f5d4cba712ec661125799c30b") (:keywords "comm") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/with-proxy.el"))])
+ (with-shell-interpreter . [(20200419 850) ((cl-lib (0 6 1))) "Helper for shell command APIs" single ((:commit . "ffd9c6a3a058fe072458f90e117590988042c662") (:keywords "processes" "terminals") (:url . "https://github.com/p3r7/with-shell-interpreter"))])
+ (with-simulated-input . [(20200215 1807) ((emacs (24 4))) "A macro to simulate user input non-interactively" single ((:commit . "29173588751eeb33d2392d380b26648b2e213438") (:keywords "lisp" "tools" "extensions") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/with-simulated-input"))])
+ (with-venv . [(20200125 1620) ((cl-lib (0 5)) (emacs (24 4))) "Execute with Python virtual environment activated" single ((:commit . "51ba19ac75a2796d494587b3b20ce51d4eb178a5") (:keywords "processes" "python" "venv") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:url . "https://github.com/10sr/with-venv-el"))])
+ (wn-mode . [(20151110 552) ((emacs (24))) "numeric window switching shortcuts" single ((:commit . "f05c3151523e529af5a0a3fa8c948b61fb369f6e") (:keywords "buffers" "windows" "switching-windows") (:authors ("Anonymous")) (:maintainer "Luís Oliveira" . "luismbo@gmail.com") (:url . "https://github.com/luismbo/wn-mode"))])
+ (wolfram . [(20190805 1007) nil "Wolfram Alpha Integration" single ((:commit . "a172712d5045834f5434cca2843a7c3506805db8") (:keywords "math") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com"))])
+ (wolfram-mode . [(20180307 13) ((emacs (24 3))) "Mathematica editing and inferior mode." single ((:commit . "be680190cac6ccf579dbce107deaae495928d1b3") (:keywords "languages" "processes" "tools") (:authors ("Daichi Mochihashi <daichi at cslab.kecl.ntt.co.jp>")) (:maintainer "Daichi Mochihashi <daichi at cslab.kecl.ntt.co.jp>") (:url . "https://github.com/kawabata/wolfram-mode/"))])
+ (wonderland . [(20130913 119) ((dash (2 0 0)) (dash-functional (1 0 0)) (multi (2 0 0)) (emacs (24))) "declarative configuration for Emacsen" single ((:commit . "89d274ad694b0e748efdac23ccd60b7d8b73d7c6") (:keywords "configuration" "profile" "wonderland") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:url . "http://github.com/kurisuwhyte/emacs-wonderland"))])
+ (wordgen . [(20170803 1820) ((emacs (24)) (cl-lib (0 5))) "Random word generator" single ((:commit . "aacad928ae99a953e034a831dfd0ebdf7d52ac1d") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/wordgen.el"))])
+ (wordnut . [(20180313 443) ((emacs (24 4))) "Major mode interface to WordNet" tar ((:commit . "feac531404041855312c1a046bde7ea18c674915"))])
+ (wordsmith-mode . [(20171025 1430) nil "Syntax analysis and NLP text-processing in Emacs (OSX-only)" single ((:commit . "589a97412138145bea70e0450eeddeb7f138d538") (:authors ("istib" . "istib@thebati.net")) (:maintainer "istib" . "istib@thebati.net"))])
+ (worf . [(20200121 1629) ((swiper (0 11 0)) (ace-link (0 1 0)) (hydra (0 13 0)) (zoutline (0 1 0))) "A warrior does not press so many keys! (in org-mode)" tar ((:commit . "bdc8240ff4188c7403a020eb58dc10eea104b7df") (:keywords "lisp") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/worf"))])
+ (workgroups . [(20110726 1641) nil "workgroups for windows (for Emacs)" single ((:commit . "9572b3492ee09054dc329f64ed846c962b395e39") (:keywords "session" "management" "window-configuration" "persistence") (:authors ("tlh" . "thunkout@gmail.com")) (:maintainer "tlh" . "thunkout@gmail.com"))])
+ (workgroups2 . [(20141102 1922) ((cl-lib (0 4)) (dash (2 8 0)) (anaphora (1 0 0)) (f (0 17))) "New workspaces for Emacs" single ((:commit . "bbefbb2579d463b243dcd4ecbfce82e1bdac3882") (:keywords "session" "management" "window-configuration" "persistence") (:authors ("Sergey Pashinin <sergey at pashinin dot com>")) (:maintainer "Sergey Pashinin <sergey at pashinin dot com>") (:url . "https://github.com/pashinin/workgroups2"))])
+ (world-time-mode . [(20140627 807) nil "show whole days of world-time diffs" single ((:commit . "ce7a3b45c87eb24cfe61eee453175d64f741d7cc") (:keywords "tools" "calendar") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))])
+ (wotd . [(20170328 1948) ((emacs (24 4)) (org (8 2 10))) "Fetch word-of-the-day from multiple online sources" single ((:commit . "d2937a3d91e014f8028a1f33d21c18cc0b065a64") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))])
+ (wrap-region . [(20140117 720) ((dash (1 0 3))) "Wrap text with punctation or tag" single ((:commit . "fbae9b0f106187af19823f1a6260b5c68b7252e6") (:keywords "speed" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/wrap-region"))])
+ (writefreely . [(20190628 1606) ((emacs (24 3)) (org (9 0)) (ox-gfm (0 0)) (request (0 3))) "Push your Org files as markdown to a writefreely instance" single ((:commit . "83a487e48e0d8342c372deb74d04c0b43474268c") (:keywords "convenience") (:authors ("Daniel Gomez <d.gomez at posteo dot org>")) (:maintainer "Daniel Gomez <d.gomez at posteo dot org>") (:url . "https://github.com/dangom/writefreely.el"))])
+ (writegood-mode . [(20180525 1343) nil "Polish up poor writing on the fly" single ((:commit . "b71757ec337e226909fb0422f0224e31acc71733") (:keywords "writing" "weasel-words" "grammar") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "http://github.com/bnbeckwith/writegood-mode"))])
+ (writeroom-mode . [(20200427 2319) ((emacs (24 1)) (visual-fill-column (1 9))) "Minor mode for distraction-free writing" tar ((:commit . "7f7acde5e8fc4ba74e511ca295e21f9ba7874730") (:keywords "text") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://github.com/joostkremers/writeroom-mode"))])
+ (ws-butler . [(20170111 2334) nil "Unobtrusively remove trailing whitespace." single ((:commit . "52321b99be69aa1b661da7743c4421a30d8b6bcb") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/ws-butler"))])
+ (wsd-mode . [(20191031 1211) nil "Emacs major-mode for www.websequencediagrams.com" tar ((:commit . "b87dee6d2d21fc868a3fae35bbd3f08910ad57e0") (:keywords "wsd" "diagrams" "design" "process" "modelling" "uml") (:authors ("Jostein Kjønigsen" . "jostein@gmail.com")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:url . "https://github.com/josteink/wsd-mode"))])
+ (wttrin . [(20170614 1206) ((emacs (24 4)) (xterm-color (1 0))) "Emacs frontend for weather web service wttr.in" single ((:commit . "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc") (:keywords "comm" "weather" "wttrin") (:authors ("Carl X. Su" . "bcbcarl@gmail.com") ("ono hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Carl X. Su" . "bcbcarl@gmail.com") (:url . "https://github.com/bcbcarl/emacs-wttrin"))])
+ (wucuo . [(20200421 441) ((emacs (24 4))) "Spell check code containing camel case words" single ((:commit . "2b7632813fdbbfe5abddf7ce425dea607c9946cc") (:keywords "convenience") (:authors ("Chen Bin <chenbin DOT sh AT gmail DOT com>")) (:maintainer "Chen Bin <chenbin DOT sh AT gmail DOT com>") (:url . "http://github.com/redguardtoo/wucuo"))])
+ (wwtime . [(20151122 1610) nil "Insert a time of day with appropriate world-wide localization" single ((:commit . "d04d8fa814b5d3644efaeb28f25520ada69acbbd") (:keywords "time") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))])
+ (www-synonyms . [(20170128 2251) ((request (0 2 0)) (cl-lib (0 5))) "insert synonym for a word" single ((:commit . "7e37ea35064ff31c9945f0198a653647d408c936") (:keywords "lisp") (:authors ("Bernhard Specht" . "bernhard@specht.net")) (:maintainer "Bernhard Specht" . "bernhard@specht.net"))])
+ (x-path-walker . [(20160922 1835) ((helm-core (1 9 2))) "Navigation feature for JSON/XML/HTML based on path (imenu like)" tar ((:commit . "3b01dbd7a039c6c84fdf8c8ee53ba72090ee950a") (:keywords "convenience") (:authors (nil . "<lompik@ArchOrion>")) (:maintainer nil . "<lompik@ArchOrion>"))])
+ (x509-mode . [(20180921 803) ((emacs (24 1)) (cl-lib (0 5))) "View certificates, CRLs and keys using OpenSSL." tar ((:commit . "9eb24c8721dcad9888b70213d06d770bc2386db7") (:authors ("Fredrik Axelsson" . "f.axelsson@gmai.com") ("Package-Requires: ((emacs \"24.1\") (cl-lib \"0.5\"))")) (:maintainer "Fredrik Axelsson" . "f.axelsson@gmai.com"))])
+ (x86-lookup . [(20180528 1635) ((emacs (24 3)) (cl-lib (0 3))) "jump to x86 instruction documentation" single ((:commit . "609b2ba70dc5a246ac9b4b5f89eb5ef4331519bf") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/x86-lookup"))])
+ (xah-css-mode . [(20200309 1750) ((emacs (24 3))) "Major mode for editing CSS code." single ((:commit . "43dbab2b8c35bd6892fe80bf064b41bd731545ff") (:keywords "languages" "convenience" "css" "color") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-css-mode.html"))])
+ (xah-elisp-mode . [(20190125 646) ((emacs (24 3))) "Major mode for editing emacs lisp." single ((:commit . "a09c51e450bf4b39bdc3f4063c2946baec7ae3b1") (:keywords "lisp" "languages") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-elisp-mode.html"))])
+ (xah-find . [(20190314 2039) ((emacs (24 1))) "find replace in pure emacs lisp. Purpose similar to grep/sed." single ((:commit . "a39f1ff9a7cf56e92b56c6f179741569b9172a48") (:keywords "convenience" "extensions" "files" "tools" "unix") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp-xah-find-text.html"))])
+ (xah-fly-keys . [(20200427 1357) ((emacs (24 1))) "ergonomic modal keybinding minor mode." tar ((:commit . "17319a5e5514a61564c7314cb65b7d825ca0bb0f") (:keywords "convenience" "emulations" "vim" "ergoemacs") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/misc/ergoemacs_vi_mode.html"))])
+ (xah-get-thing . [(20170821 1053) ((emacs (24 1))) "get thing or selection at point." single ((:commit . "e3ef069ea9fea3a092689d45c94c6211b51d0ea4") (:keywords "extensions" "lisp" "tools") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp_get-selection-or-unit.html"))])
+ (xah-lookup . [(20200420 1528) ((emacs (24 1))) "look up word on internet." single ((:commit . "c97a43dc0cebbfc519d0cce5b547dcc5e22b2085") (:keywords "help" "docs" "convenience") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xah-lookup.html"))])
+ (xah-math-input . [(20200217 740) ((emacs (24 1))) "a minor mode for inputting math and Unicode symbols." single ((:commit . "c1e72c4578a134e9aa3ec9ef425038d8c16fba94") (:keywords "abbrev" "convenience" "unicode" "math" "latex") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/xmsi-math-symbols-input.html"))])
+ (xah-reformat-code . [(20170821 1111) nil "commands to reformat source code." single ((:commit . "7fec8b28e46b8cc2813fac5149e3bbb56c0aa6b1") (:keywords "convenience") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/emacs_reformat_lines.html"))])
+ (xah-replace-pairs . [(20180508 249) ((emacs (24 1))) "emacs lisp functions for multi-pair find/replace." single ((:commit . "4d845cfbce32d45befd7c454e3476c3ce40d2b43") (:keywords "lisp" "tools" "find replace") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://ergoemacs.org/emacs/elisp_replace_string_region.html"))])
+ (xahk-mode . [(20170821 1107) ((emacs (24 1))) "Major mode for editing AutoHotkey scripts." single ((:commit . "02012b20603c00e3b2ef32159a690ed1e05d12c3") (:keywords "languages") (:authors ("Xah Lee ( http://xahlee.info/ )")) (:maintainer "Xah Lee ( http://xahlee.info/ )") (:url . "http://xahlee.info/mswin/emacs_autohotkey_mode.html"))])
+ (xbm-life . [(20160103 1017) nil "A XBM version of Conway's Game of Life" single ((:commit . "dd6a98ac9ea81b681e68f6318fed47158e5d469e") (:keywords "games") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/xbm-life"))])
+ (xcode-mode . [(20160907 1208) ((emacs (24 4)) (s (1 10 0)) (dash (2 11 0)) (multiple-cursors (1 0 0))) "A minor mode for emacs to perform Xcode like actions." single ((:commit . "2ae4f512d6c601ea39d5ab785c2b5288eac24b59") (:keywords "conveniences") (:authors ("Nickolas Lanasa" . "nick@nytekproductions.com")) (:maintainer "Nickolas Lanasa" . "nick@nytekproductions.com"))])
+ (xcode-project . [(20181025 1244) ((emacs (25))) "A package for reading Xcode project files." tar ((:commit . "0bf9a4230fab7830350c750c39beda99ef74d72f") (:keywords "languages" "tools") (:authors ("John Buckley" . "john@olivetoast.com")) (:maintainer "John Buckley" . "john@olivetoast.com") (:url . "https://github.com/nhojb/xcode-project.git"))])
+ (xcscope . [(20190723 629) nil "cscope interface for (X)Emacs" single ((:commit . "f3e2c84bd92f5a78182cc8d81f5358979a6c241c") (:keywords "languages" "c") (:authors ("Darryl Okahata" . "darrylo@sonic.net") ("Dima Kogan" . "dima@secretsauce.net")) (:maintainer "Dima Kogan" . "dima@secretsauce.net") (:url . "https://github.com/dkogan/xcscope.el"))])
+ (xkcd . [(20160419 1130) ((json (1 3))) "View xkcd from Emacs" single ((:commit . "66e928706fd660cfdab204c98a347b49c4267bdf") (:keywords "xkcd" "webcomic") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/emacs-xkcd"))])
+ (xml+ . [(20170727 2351) ((emacs (24 4)) (dash (2 12 0))) "Utilities for xml and html trees" single ((:commit . "232fa863c08fc159b21dd58c39ea45dce3334895") (:keywords "xml" "html") (:authors ("Ben Dean" . "bendean837@gmail.com")) (:maintainer "Ben Dean" . "bendean837@gmail.com") (:url . "https://github.com/bddean/xml-plus"))])
+ (xml-format . [(20191011 1148) ((emacs (25)) (reformatter (0 4))) "XML reformatter using xmllint" single ((:commit . "2861c4e33e18b077112efa072316b031bca4236c") (:keywords "languages") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/emacs-xml-format"))])
+ (xml-quotes . [(20200301 1222) nil "read quotations from an XML document" tar ((:commit . "8fc21e43b45f9a50b24642412f05afcc3a316a1f") (:keywords "xml" "quotations") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "https://github.com/ndw/xml-quotes"))])
+ (xml-rpc . [(20181002 1353) nil "An elisp implementation of clientside XML-RPC" single ((:commit . "8f624f8b964e9145acb504e4457c9510e87dd93c") (:keywords "xml" "rpc" "network") (:authors ("Mark A. Hershberger" . "mah@everybody.org")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:url . "http://github.com/hexmode/xml-rpc-el"))])
+ (xmlgen . [(20170411 1317) nil "A DSL for generating XML." single ((:commit . "dba66681f0c5e621a9e70e8afb34903c9ffe93c4") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))])
+ (xmlunicode . [(20191124 2312) nil "Unicode support for XML" tar ((:commit . "80f30becf860db4277e71e3445994fccaf35ba98") (:keywords "utf-8" "unicode" "xml" "characters") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))])
+ (xo . [(20160403 646) nil "XO linter integration with compilation mode" single ((:commit . "72fcd867cfa332fdb82f732925cf8977e690af78") (:keywords "processes") (:authors ("J.A" . "jer.github@gmail.com")) (:maintainer "J.A" . "jer.github@gmail.com"))])
+ (xonsh-mode . [(20191214 114) ((emacs (24 3))) "Major mode for editing xonshrc files" single ((:commit . "01819823822b6ebe01c02af548276cb2deb343f4") (:keywords "languages") (:authors ("Sean Farley" . "sean@farley.io")) (:maintainer "Sean Farley" . "sean@farley.io") (:url . "https://github.com/seanfarley/xonsh-mode"))])
+ (xquery-mode . [(20170214 1119) ((cl-lib (0 5))) "A simple mode for editing xquery programs" single ((:commit . "1b655ccf83d02a7bd473d2cf02359ed60bdf7369") (:url . "https://github.com/xquery-mode/xquery-mode"))])
+ (xquery-tool . [(20190523 1119) nil "A simple interface to saxonb's xquery." single ((:commit . "7f0859cc722607240689e57e14de8e0719052016") (:keywords "xml" "xquery" "emacs") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/xquery-tool.el"))])
+ (xref-js2 . [(20190915 2032) ((emacs (25)) (js2-mode (20150909))) "Jump to references/definitions using ag & js2-mode's AST" single ((:commit . "6f1ed5dae0c2485416196a51f2fa92f32e4b8262") (:keywords "javascript" "convenience" "tools") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/xref-js2"))])
+ (xresources-theme . [(20190108 1851) nil "Use your .Xresources as your emacs theme" single ((:commit . "5239acb51aa2dfa89a207e57012108d8fcf60562") (:keywords "xresources" "theme") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))])
+ (xterm-color . [(20200430 42) ((emacs (24 4))) "ANSI, XTERM 256 and Truecolor support" single ((:commit . "e35607c85d7888c7e72c364f8a735b3e5f0b9d29") (:keywords "faces") (:authors ("xristos" . "xristos@sdf.org")) (:maintainer "xristos" . "xristos@sdf.org") (:url . "https://github.com/atomontage/xterm-color"))])
+ (xterm-keybinder . [(20160523 56) ((emacs (24 3)) (cl-lib (0 5)) (let-alist (1 0 1))) "Let you extra keybinds in xterm/urxvt" tar ((:commit . "b29c4f700b0fa0c9f627f6725b36462b8fab06d6") (:keywords "convenient") (:authors ("Yuta Yamada <cokesboy\"at\"gmail.com>")) (:maintainer "Yuta Yamada <cokesboy\"at\"gmail.com>"))])
+ (xtest . [(20141214 1706) ((cl-lib (0 5))) "Simple Testing with Emacs & ERT" single ((:commit . "2c2bdf32667506dd9ddf6eb311832add616bdf1c") (:keywords "testing" "ert") (:authors ("Mustafa Shameem")) (:maintainer "Mustafa Shameem") (:url . "https://github.com/promethial/xtest"))])
+ (xwidgete . [(20171118 2116) ((emacs (25))) "enhances usability of current xwidget browser" single ((:commit . "e4e8410fe32176df85b46234717824519443fb04") (:keywords "xwidgete" "tools") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:url . "https://github.com/tuhdo/xwidgete"))])
+ (xwwp . [(20200413 757) ((emacs (26 1))) "Enhance xwidget webkit browser" tar ((:commit . "dcf6f9430dd9745e5f2705c0f42e013fab961c0e") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/xwwp"))])
+ (xwwp-follow-link-helm . [(20200331 800) ((emacs (26 1)) (xwwp (0 1))) "Link navigation in `xwidget-webkit' sessions using `helm'" single ((:commit . "dcf6f9430dd9745e5f2705c0f42e013fab961c0e") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/xwwp"))])
+ (xwwp-follow-link-ivy . [(20200331 800) ((emacs (26 1)) (xwwp (0 1))) "Link navigation in `xwidget-webkit' sessions using `ivy'" single ((:commit . "dcf6f9430dd9745e5f2705c0f42e013fab961c0e") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/xwwp"))])
+ (yabin . [(20140206 351) nil "Yet Another Bignum package (A thin wrapper of calc.el)." single ((:commit . "db8c404507560ef9147fcce2b94cd706fbfa03b5") (:keywords "data") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com"))])
+ (yafolding . [(20200119 1353) nil "Folding code blocks based on indentation" single ((:commit . "4c1888ae45f9241516519ae0ae3a899f2efa05ba") (:keywords "folding") (:authors ("Zeno Zeng" . "zenoofzeng@gmail.com")) (:maintainer "Zeno Zeng" . "zenoofzeng@gmail.com"))])
+ (yagist . [(20160418 508) ((cl-lib (0 3))) "Yet Another Emacs integration for gist.github.com" single ((:commit . "dcdbd84f348414815d02f3da8a6ee0ac271632d4") (:keywords "tools") (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/yagist.el"))])
+ (yahtzee . [(20171022 1412) ((emacs (24 3))) "The yahtzee game" single ((:commit . "b1ac95f7bc05deb3247a787cc456e474534e0927") (:keywords "games") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/yahtzee"))])
+ (yalinum . [(20130217 1043) nil "yet another display line numbers." single ((:commit . "d3e0cbe3f4f5ca311e3298e684901d6fea3ad973") (:keywords "convenience" "tools") (:authors ("tm8st" . "tm8st@hotmail.co.jp")) (:maintainer "tm8st" . "tm8st@hotmail.co.jp"))])
+ (yaml-imenu . [(20181001 627) ((emacs (24 4)) (yaml-mode (0))) "Enhancement of the imenu support in yaml-mode." tar ((:commit . "78a383098807014d9e7f2941196d8271677158cd") (:keywords "outlining" "convenience" "imenu") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/yaml-imenu.el"))])
+ (yaml-mode . [(20191127 2314) ((emacs (24 1))) "Major mode for editing YAML files" single ((:commit . "cecf4b106b0c4236931b14919fdf87ff3546e2c9") (:keywords "data" "yaml") (:authors ("Yoshiki Kurihara" . "clouder@gmail.com") ("Marshall T. Vandegrift" . "llasram@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com"))])
+ (yaml-tomato . [(20151123 753) ((s (1 9))) "copy or show the yaml path currently under cursor." single ((:commit . "f9df1c9bdfcec629b03031b2d2032f9dc533cb14") (:keywords "yaml") (:authors ("qrczeno")) (:maintainer "qrczeno"))])
+ (yandex-weather . [(20160311 2037) nil "Fetch Yandex Weather forecasts." tar ((:commit . "6f823fd9e04ff9efb2aa65f333079e9f7e6e5b28"))])
+ (yang-mode . [(20190507 724) nil "major mode for editing YANG files" single ((:commit . "4b4ab4d4a79d37d6c31c6ea7cccbc425e0b1eded") (:authors ("Martin Bjorklund" . "mbj4668@gmail.com")) (:maintainer "Martin Bjorklund" . "mbj4668@gmail.com"))])
+ (yankpad . [(20200409 1747) ((emacs (25))) "Paste snippets from an org-mode file" single ((:commit . "acfccf3633d7fd3b91d717fda4ae98e8e3345a06") (:keywords "abbrev" "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/yankpad"))])
+ (yapfify . [(20200406 830) nil "(automatically) format python buffers using YAPF." single ((:commit . "3df4e8ce65f55fd69479b3417525ce83a2b00b45") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/yapfify"))])
+ (yara-mode . [(20190423 710) ((emacs (24))) "Major mode for editing yara rule file" single ((:commit . "cd8093b1bc4fc260462f5284b157008fefa84880") (:keywords "yara") (:authors (nil . "binjo.cn@gmail.com")) (:maintainer nil . "binjo.cn@gmail.com") (:url . "not distributed yet"))])
+ (yard-mode . [(20170817 1237) nil "Minor mode for Ruby YARD comments" single ((:commit . "ba74a47463b0320ae152bd42a7dd7aeecd7b5748") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/yard-mode.el"))])
+ (yari . [(20151128 739) nil "Yet Another RI interface for Emacs" single ((:commit . "a2cb9656ee5dfe1fc2ee3854f3079a1c8e85dbe9") (:keywords "tools") (:authors ("Aleksei Gusev" . "aleksei.gusev@gmail.com")) (:maintainer "Aleksei Gusev" . "aleksei.gusev@gmail.com"))])
+ (yarn-mode . [(20200208 2332) ((emacs (24 3))) "Major mode for yarn.lock files." single ((:commit . "8239d4dc7d8a52fa1e3fa81bd32c904a359fcfc1") (:keywords "convenience") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:url . "https://github.com/anachronic/yarn-mode"))])
+ (yascroll . [(20200224 1117) ((emacs (26 1)) (cl-lib (0 3))) "Yet Another Scroll Bar Mode" single ((:commit . "b298a34ae872a45c3e83d29d33888abde59c185b") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:url . "https://github.com/emacsorphanage/yascroll"))])
+ (yasnippet . [(20200413 2221) ((cl-lib (0 5))) "Yet another snippet extension for Emacs" single ((:commit . "5b1217ab085fab4abeb1118dccb260691b446703") (:keywords "convenience" "emulation") (:maintainer "Noam Postavsky" . "npostavs@gmail.com") (:url . "http://github.com/joaotavora/yasnippet"))])
+ (yasnippet-lean . [(20190922 2037) ((yasnippet (0 8 0))) "Collection of snippets for the Lean prover" tar ((:commit . "9119be08a32286d3e8559138e8ae003856ae1c0a") (:keywords "convenience" "snippets" "leanprover") (:maintainer "Simon Hudon" . "simon.hudon@gmail.com") (:url . "https://github.com/leanprover-community/yasnippet-lean"))])
+ (yasnippet-snippets . [(20200425 1210) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "937cb7bb1921db38ab2c0c62062e8e32a29eabed") (:keywords "snippets") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com"))])
+ (yatemplate . [(20200108 2102) ((yasnippet (0 8 1)) (emacs (24 3))) "File templates with yasnippet" single ((:commit . "bfee45cfc179d6b7fbc3ff06c9f79b76dc7fbf58") (:keywords "files" "convenience") (:authors ("Wieland Hoffmann" . "themineo+yatemplate@gmail.com")) (:maintainer "Wieland Hoffmann" . "themineo+yatemplate@gmail.com") (:url . "https://github.com/mineo/yatemplate"))])
+ (yatex . [(20200208 931) nil "Yet Another tex-mode for emacs //野鳥//" tar ((:commit . "f4c2dca86202c2da5b4f0f6ec97c49dd1cb01e6c"))])
+ (yaxception . [(20150105 1452) nil "Provide framework about exception like Java for Elisp" single ((:commit . "4e94cf3e0b9b5631b0e90eb4b7de597ee7185875") (:keywords "exception" "error" "signal") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/yaxception"))])
+ (ycm . [(20150822 1836) nil "Emacs client for the YouCompleteMe auto-completion server." single ((:commit . "4da8a14abcd0f4fa3235042ade2e12b5068c0601") (:keywords "c" "abbrev") (:authors ("Ajay Gopinathan" . "ajay@gopinathan.net")) (:maintainer "Ajay Gopinathan" . "ajay@gopinathan.net"))])
+ (ycmd . [(20190416 807) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0)) (deferred (0 5 1)) (cl-lib (0 6 1)) (let-alist (1 0 5)) (request (0 3 0)) (request-deferred (0 3 0)) (pkg-info (0 6))) "emacs bindings to the ycmd completion server" tar ((:commit . "bc81b992f79100c98f56b7b83caf64cb8ea60477") (:url . "https://github.com/abingham/emacs-ycmd"))])
+ (ydk-mode . [(20170113 921) nil "Language support for Yu-Gi-Oh! deck files" single ((:commit . "f3f125b29408e0b0a34fec27dcb7c02c5dbfd04e") (:keywords "faces" "games" "languages" "ydk" "yugioh" "yu-gi-oh") (:authors ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) (:maintainer "Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com") (:url . "https://github.com/jacksonrayhamilton/ydk-mode"))])
+ (yequake . [(20200219 2323) ((emacs (25 2)) (dash (2 14 1))) "Drop-down frames, like Yakuake" single ((:commit . "d18166e597414350117d0b82a29e509fc53c636d") (:keywords "convenience" "window-system" "frames") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/yequake"))])
+ (yesql-ghosts . [(20150220 1237) ((s (1 9 0)) (dash (2 10 0)) (cider (0 8 0))) "Display ghostly yesql defqueries inline" single ((:commit . "8f1faf0137b85a5072d13e1240a463d9a35ce2bb") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))])
+ (yesterbox . [(20200327 52) ((emacs (24 3))) "Count number of inbox messages by day" single ((:commit . "10591342f1759e25756f5865371a53c132d8b0a0") (:keywords "mail") (:authors ("Stephen J. Eglen" . "sje30@cam.ac.uk")) (:maintainer "Stephen J. Eglen" . "sje30@cam.ac.uk") (:url . "http://github.com/sje30/yesterbox"))])
+ (yoficator . [(20190509 1620) nil "Interactively yoficate Russian texts" tar ((:commit . "fa914f9648515bca54b5e558ca57d2b65fa57491") (:authors ("Eugene Minkovskii" . "emin@mccme.ru") ("Alexander Krotov" . "ilabdsf@gmail.com")) (:maintainer "Eugene Minkovskii" . "emin@mccme.ru") (:url . "https://gitlab.com/link2xt/yoficator"))])
+ (yoshi-theme . [(20200422 208) nil "Theme named after my cat" single ((:commit . "caa83e4475885a2c9a126630f0feec1ce2eb0c4e") (:keywords "faces") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/yoshi-theme/"))])
+ (youdao-dictionary . [(20200429 259) ((popup (0 5 0)) (pos-tip (0 4 6)) (chinese-word-at-point (0 2)) (names (0 5)) (emacs (24))) "Youdao Dictionary interface for Emacs" single ((:commit . "bd839711e3cf6d3eb9c308cea5694369a440899e") (:keywords "convenience" "chinese" "dictionary") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/youdao-dictionary.el"))])
+ (z3-mode . [(20151120 2255) ((flycheck (0 23)) (emacs (24))) "A z3/SMTLIBv2 interactive development environment" single ((:commit . "163dc01d59e9880b4dc188d4e1ad84d6c0c852e1") (:keywords "z3" "yices" "mathsat" "smt" "beaver") (:authors ("Zephyr Pellerin" . "zephyr.pellerin@gmail.com")) (:maintainer "Zephyr Pellerin" . "zephyr.pellerin@gmail.com") (:url . "https://github.com/zv/z3-mode"))])
+ (zeal-at-point . [(20180131 2354) nil "Search the word at point with Zeal" single ((:commit . "0fc3263f44e95acd3e9d91057677621ce4d297ee") (:authors ("Jinzhu" . "wosmvp@gmail.com")) (:maintainer "Jinzhu" . "wosmvp@gmail.com") (:url . "https://github.com/jinzhu/zeal-at-point"))])
+ (zel . [(20171014 832) ((emacs (25)) (frecency (0 1))) "Access frecent files easily" single ((:commit . "9dae2d212224d1deae1f62561fa8e4d689fd09f2") (:keywords "convenience" "files" "matching") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/zel"))])
+ (zen-and-art-theme . [(20120622 1437) nil "zen and art color theme for GNU Emacs 24" single ((:commit . "a7226cbce0bca2501d69a620cb2aeabfc396c232") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))])
+ (zen-mode . [(20191224 706) ((emacs (24 3))) "A major mode for the Zen programming language" single ((:commit . "3d34bce20c1d7d35b99916672ea0dd67a96c7716") (:keywords "zen" "languages") (:authors ("Andrea Orru <andreaorru1991@gmail.com>, Andrew Kelley <superjoe30@gmail.com>, kristopher tate" . "kt@connectfree.co.jp")) (:maintainer "Andrea Orru <andreaorru1991@gmail.com>, Andrew Kelley <superjoe30@gmail.com>, kristopher tate" . "kt@connectfree.co.jp") (:url . "https://github.com/zenlang/zen-mode"))])
+ (zenburn-theme . [(20200305 737) nil "A low contrast color theme for Emacs." single ((:commit . "7dd796840376342426f60018a6cf209228452f3e") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))])
+ (zencoding-mode . [(20140213 822) nil "Unfold CSS-selector-like expressions to markup" single ((:commit . "58e42af182c98cb9941d27cd042d227fbf4e146c") (:keywords "convenience") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/rooney/zencoding"))])
+ (zenity-color-picker . [(20160302 1154) ((emacs (24 4))) "Insert and adjust colors using Zenity" single ((:commit . "4f4f46676a461ebc881487fb70c8c181e323db5e") (:keywords "colors") (:authors ("Samuel Laurén" . "samuel.lauren@iki.fi")) (:maintainer "Samuel Laurén" . "samuel.lauren@iki.fi") (:url . "https://bitbucket.org/Soft/zenity-color-picker.el"))])
+ (zeno-theme . [(20181027 118) ((emacs (24))) "A dark theme using different shades of blue" single ((:commit . "0914c4a5b1b9499e7f1ca5699b1c3ea2f4be3f1a") (:keywords "faces" "theme" "dark" "blue") (:authors ("Bharat Joshi" . "jbharat@outlook.com")) (:maintainer "Bharat Joshi" . "jbharat@outlook.com") (:url . "https://github.com/jbharat/zeno-theme"))])
+ (zephir-mode . [(20200417 830) ((cl-lib (0 5)) (pkg-info (0 4)) (emacs (25 1))) "Major mode for editing Zephir code" tar ((:commit . "4e9618b77dff67c1c7b6fff78605a62311db88b8") (:keywords "languages") (:authors ("Serghei Iakovlev" . "egrep@protonmail.ch")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:url . "https://github.com/zephir-lang/zephir-mode"))])
+ (zero-input . [(20200405 1220) ((emacs (24 3)) (s (1 2 0))) "Zero Chinese input method framework" single ((:commit . "729da9f4b99acb744ee6974ed7f3d4e252fd19da") (:url . "https://gitlab.emacsos.com/sylecn/zero-el"))])
+ (zerodark-theme . [(20190528 923) ((all-the-icons (2 0 0))) "A dark, medium contrast theme for Emacs" single ((:commit . "df22536a244293591575e56970bf83814faa7c14") (:keywords "themes") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/zerodark-theme"))])
+ (zetteldeft . [(20200501 935) ((emacs (25 1)) (deft (0 8))) "Turn deft into a zettelkasten system" tar ((:commit . "b1da843540dc126bde47e258f5aa6110959b3606") (:keywords "deft" "zettelkasten" "zetteldeft" "wp" "files") (:authors ("EFLS <Elias Storms>")) (:maintainer "EFLS <Elias Storms>") (:url . "https://efls.github.io/zetteldeft/"))])
+ (zig-mode . [(20200322 131) ((emacs (24 3))) "A major mode for the Zig programming language" single ((:commit . "fc7fde327f45533bb73be643e7bda1eda10394b6") (:keywords "zig" "languages") (:authors ("Andrea Orru <andreaorru1991@gmail.com>, Andrew Kelley" . "superjoe30@gmail.com")) (:maintainer "Andrea Orru <andreaorru1991@gmail.com>, Andrew Kelley" . "superjoe30@gmail.com") (:url . "https://github.com/zig-lang/zig-mode"))])
+ (zim-wiki-mode . [(20200316 1223) ((emacs (25)) (helm-ag (0 58)) (helm-projectile (0 14 0)) (dokuwiki-mode (0 1 1)) (link-hint (0 1)) (pretty-hydra (0 2 2))) "Zim Desktop Wiki edit mode" single ((:commit . "410fa67d5947b8801b03a58fcb2bd414cb5294f7") (:keywords "outlines") (:authors ("Will Foran" . "willforan+zim-wiki-mode@gmail.com")) (:maintainer "Will Foran" . "willforan+zim-wiki-mode@gmail.com") (:url . "https://github.com/WillForan/zim-wiki-mode"))])
+ (zlc . [(20151011 157) nil "Provides zsh like completion system to Emacs" single ((:commit . "4dd2ba267ecdeac845a7cbb3147294ee7daa25f4") (:keywords "matching" "convenience") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com"))])
+ (zmq . [(20200305 2345) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "2aed40aee51d19cbca83d1f1edc23a5f1522dd8d") (:keywords "comm") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-zmq"))])
+ (znc . [(20160627 2032) ((cl-lib (0 2))) "ZNC + ERC" single ((:commit . "ce468d185e4a949c45fdd7586313144bc69d4fe5") (:authors ("Yaroslav Shirokov")) (:maintainer "Yaroslav Shirokov") (:url . "https://github.com/sshirokov/ZNC.el"))])
+ (zombie . [(20141222 1616) nil "major mode for editing ZOMBIE programs" single ((:commit . "ff8cd1b4cdbb4b0b9b8fd1ec8f6fb93eba249345") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))])
+ (zombie-trellys-mode . [(20150304 1448) ((emacs (24)) (cl-lib (0 5)) (haskell-mode (1 5))) "A minor mode for interaction with Zombie Trellys" single ((:commit . "7f0c45fdda3a44c3b6d1762d116abb1421b8fba2") (:keywords "languages") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk"))])
+ (zone-nyan . [(20170818 1644) ((esxml (0 3 1))) "Zone out with nyan cat" single ((:commit . "4b1f8d95f130946718d52806489ffe2762aebfdc") (:keywords "zone") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/zone-nyan"))])
+ (zone-rainbow . [(20160120 1334) ((emacs (24 3))) "Zone out with rainbow." single ((:commit . "2ba4f1a87c69c4712124ebf12c1f3ea171e1af36") (:keywords "games") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/zone-rainbow"))])
+ (zone-select . [(20160118 1419) ((emacs (24 3)) (dash (2 8))) "Select zone programs." single ((:commit . "bf30da12f1625fe6563448fccf3c506acad10af7") (:keywords "games") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/zone-select"))])
+ (zone-sl . [(20160201 1210) ((emacs (24 3))) "Zone out with steam locomotives." single ((:commit . "7ec22e3661c6348382f9fc39a9d0063dbd2352ff") (:keywords "games") (:authors ("KAWABATA, Taichi <kawabata.taichi_at_gmail.com>")) (:maintainer "KAWABATA, Taichi <kawabata.taichi_at_gmail.com>") (:url . "https://github.com/kawabata/zone-sl"))])
+ (zoom . [(20200106 1204) ((emacs (24 4))) "Fixed and automatic balanced window layout" single ((:commit . "a54324344eca49cfb11626446e1ebe239cba6557") (:keywords "frames") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/zoom"))])
+ (zoom-window . [(20200323 720) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "ab14a365f3e496b07f5efc20992f9094ec166f06") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))])
+ (zop-to-char . [(20160212 1554) ((cl-lib (0 5))) "A replacement of zap-to-char." single ((:commit . "00152aa666354b27e56e20565f186b363afa0dce") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/zop-to-char"))])
+ (zossima . [(20121124 35) ((inf-ruby (2 2 3))) "Ruby from Emacs" tar ((:commit . "991676635c374d2a12714dcf48c1ce2d6f97a375") (:keywords "ruby" "convenience") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/zossima"))])
+ (zotelo . [(20160602 949) ((cl-lib (0 5))) "Manage Zotero collections from emacs" single ((:commit . "d9dc089b9adfcc70a63f2a84269a12eb7cb4c748") (:keywords "zotero" "emacs" "reftex" "bibtex" "mozrepl" "bibliography manager") (:authors ("Spinu Vitalie")) (:maintainer "Spinu Vitalie") (:url . "https://github.com/vitoshka/zotelo"))])
+ (zotxt . [(20200120 1950) ((request (0 3 2)) (deferred (0 5 1))) "Tools to integrate emacs with Zotero via the zotxt plugin." tar ((:commit . "2e7ce60fa4b0311c646a509c140fd1c94c08fa79"))])
+ (zoutline . [(20190520 1819) nil "Simple outline library." single ((:commit . "63756846f8540b6faf89d885438186e4fe1c7d8a") (:keywords "outline") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/zoutline"))])
+ (zpl-mode . [(20180906 1059) ((emacs (24 3))) "ZIMPL major mode" single ((:commit . "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e") (:url . "https://github.com/ax487/zpl-mode.git"))])
+ (zpresent . [(20200417 309) ((emacs (25 1)) (org-parser (0 4)) (dash (2 12 0)) (request (0 3 0))) "Simple presentation mode based on org files." single ((:commit . "406967322b7692492a5942d901335d626cace4d0") (:keywords "comm") (:url . "https://hg.sr.ht/~zck/zpresent"))])
+ (zprint-mode . [(20191130 1829) ((emacs (24 3))) "Reformat Clojure(Script) code using zprint" tar ((:commit . "4d0dd23b40155618181d9d1e4c82849e0d73b659") (:keywords "tools") (:authors ("Paulus Esterhazy" . "pesterhazy@gmail.com")) (:maintainer "Paulus Esterhazy" . "pesterhazy@gmail.com") (:url . "https://github.com/pesterhazy/zprint-mode.el"))])
+ (ztree . [(20191108 2234) ((cl-lib (0))) "Text mode directory tree" tar ((:commit . "0a5b25f364490a58ef7371534a39c75d11f54132") (:keywords "files" "tools") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/ztree"))])
+ (zweilight-theme . [(20170113 605) nil "A dark color theme for Emacs." single ((:commit . "7f45ab9e23164d65538edb2beb9692ecdc24c31e") (:authors ("Philip Arvidsson" . "contact@philiparvidsson.com")) (:maintainer "Philip Arvidsson" . "contact@philiparvidsson.com") (:url . "http://github.com/philiparvidsson/zweilight-emacs"))])
+ (zygospore . [(20140703 852) nil "reversible C-x 1 (delete-other-windows)" single ((:commit . "1af5ee663f5a7aa08d96a77cacff834dcdf55ea8") (:authors ("Louis Kottmann" . "louis.kottmann@gmail.com")) (:maintainer "Louis Kottmann" . "louis.kottmann@gmail.com") (:url . "https://github.com/louiskottmann/zygospore.el"))])
+ (zzz-to-char . [(20190713 1344) ((emacs (24 4)) (cl-lib (0 5)) (avy (0 3 0))) "Fancy version of `zap-to-char' command" single ((:commit . "09613d53e1e6e7c58102fb8812bbef2121d57026") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/zzz-to-char"))])) \ No newline at end of file
diff --git a/emacs.d/elpa/bind-key-20191110.416/bind-key-autoloads.el b/emacs.d/elpa/bind-key-20191110.416/bind-key-autoloads.el
new file mode 100644
index 0000000..7f4d424
--- /dev/null
+++ b/emacs.d/elpa/bind-key-20191110.416/bind-key-autoloads.el
@@ -0,0 +1,84 @@
+;;; bind-key-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "bind-key" "bind-key.el" (0 0 0 0))
+;;; Generated autoloads from bind-key.el
+
+(autoload 'bind-key "bind-key" "\
+Bind KEY-NAME to COMMAND in KEYMAP (`global-map' if not passed).
+
+KEY-NAME may be a vector, in which case it is passed straight to
+`define-key'. Or it may be a string to be interpreted as
+spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of
+`edmacro-mode' for details.
+
+COMMAND must be an interactive function or lambda form.
+
+KEYMAP, if present, should be a keymap and not a quoted symbol.
+For example:
+
+ (bind-key \"M-h\" #'some-interactive-function my-mode-map)
+
+If PREDICATE is non-nil, it is a form evaluated to determine when
+a key should be bound. It must return non-nil in such cases.
+Emacs can evaluate this form at any time that it does redisplay
+or operates on menu data structures, so you should write it so it
+can safely be called at any time.
+
+\(fn KEY-NAME COMMAND &optional KEYMAP PREDICATE)" nil t)
+
+(autoload 'unbind-key "bind-key" "\
+Unbind the given KEY-NAME, within the KEYMAP (if specified).
+See `bind-key' for more details.
+
+\(fn KEY-NAME &optional KEYMAP)" nil t)
+
+(autoload 'bind-key* "bind-key" "\
+Similar to `bind-key', but overrides any mode-specific bindings.
+
+\(fn KEY-NAME COMMAND &optional PREDICATE)" nil t)
+
+(autoload 'bind-keys "bind-key" "\
+Bind multiple keys at once.
+
+Accepts keyword arguments:
+:map MAP - a keymap into which the keybindings should be
+ added
+:prefix KEY - prefix key for these bindings
+:prefix-map MAP - name of the prefix map that should be created
+ for these bindings
+:prefix-docstring STR - docstring for the prefix-map variable
+:menu-name NAME - optional menu string for prefix map
+:filter FORM - optional form to determine when bindings apply
+
+The rest of the arguments are conses of keybinding string and a
+function symbol (unquoted).
+
+\(fn &rest ARGS)" nil t)
+
+(autoload 'bind-keys* "bind-key" "\
+
+
+\(fn &rest ARGS)" nil t)
+
+(autoload 'describe-personal-keybindings "bind-key" "\
+Display all the personal keybindings defined by `bind-key'.
+
+\(fn)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "bind-key" '("compare-keybindings" "get-binding-description" "bind-key" "personal-keybindings" "override-global-m")))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; bind-key-autoloads.el ends here
diff --git a/emacs.d/elpa/bind-key-20191110.416/bind-key-pkg.el b/emacs.d/elpa/bind-key-20191110.416/bind-key-pkg.el
new file mode 100644
index 0000000..95a0f1c
--- /dev/null
+++ b/emacs.d/elpa/bind-key-20191110.416/bind-key-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "bind-key" "20191110.416" "A simple way to manage personal keybindings" 'nil :commit "c873d5529c9c80cb58222f22873a4f081c307cb2" :keywords '("keys" "keybinding" "config" "dotemacs") :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :url "https://github.com/jwiegley/use-package")
diff --git a/emacs.d/elpa/bind-key-20191110.416/bind-key.el b/emacs.d/elpa/bind-key-20191110.416/bind-key.el
new file mode 100644
index 0000000..a8d259e
--- /dev/null
+++ b/emacs.d/elpa/bind-key-20191110.416/bind-key.el
@@ -0,0 +1,455 @@
+;;; bind-key.el --- A simple way to manage personal keybindings
+
+;; Copyright (c) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 16 Jun 2012
+;; Modified: 29 Nov 2017
+;; Version: 2.4
+;; Package-Version: 20191110.416
+;; Keywords: keys keybinding config dotemacs
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the gnu general public license as
+;; published by the free software foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; without any warranty; without even the implied warranty of
+;; merchantability or fitness for a particular purpose. see the gnu
+;; general public license for more details.
+
+;; You should have received a copy of the gnu general public license
+;; along with gnu emacs; see the file copying. if not, write to the
+;; free software foundation, inc., 59 temple place - suite 330,
+;; boston, ma 02111-1307, usa.
+
+;;; Commentary:
+
+;; If you have lots of keybindings set in your .emacs file, it can be hard to
+;; know which ones you haven't set yet, and which may now be overriding some
+;; new default in a new emacs version. This module aims to solve that
+;; problem.
+;;
+;; Bind keys as follows in your .emacs:
+;;
+;; (require 'bind-key)
+;;
+;; (bind-key "C-c x" 'my-ctrl-c-x-command)
+;;
+;; If the keybinding argument is a vector, it is passed straight to
+;; `define-key', so remapping a key with `[remap COMMAND]' works as
+;; expected:
+;;
+;; (bind-key [remap original-ctrl-c-x-command] 'my-ctrl-c-x-command)
+;;
+;; If you want the keybinding to override all minor modes that may also bind
+;; the same key, use the `bind-key*' form:
+;;
+;; (bind-key* "<C-return>" 'other-window)
+;;
+;; If you want to rebind a key only in a particular keymap, use:
+;;
+;; (bind-key "C-c x" 'my-ctrl-c-x-command some-other-mode-map)
+;;
+;; To unbind a key within a keymap (for example, to stop your favorite major
+;; mode from changing a binding that you don't want to override everywhere),
+;; use `unbind-key':
+;;
+;; (unbind-key "C-c x" some-other-mode-map)
+;;
+;; To bind multiple keys at once, or set up a prefix map, a `bind-keys' macro
+;; is provided. It accepts keyword arguments, please see its documentation
+;; for a detailed description.
+;;
+;; To add keys into a specific map, use :map argument
+;;
+;; (bind-keys :map dired-mode-map
+;; ("o" . dired-omit-mode)
+;; ("a" . some-custom-dired-function))
+;;
+;; To set up a prefix map, use `:prefix-map' and `:prefix' arguments (both are
+;; required)
+;;
+;; (bind-keys :prefix-map my-customize-prefix-map
+;; :prefix "C-c c"
+;; ("f" . customize-face)
+;; ("v" . customize-variable))
+;;
+;; You can combine all the keywords together. Additionally,
+;; `:prefix-docstring' can be specified to set documentation of created
+;; `:prefix-map' variable.
+;;
+;; To bind multiple keys in a `bind-key*' way (to be sure that your bindings
+;; will not be overridden by other modes), you may use `bind-keys*' macro:
+;;
+;; (bind-keys*
+;; ("C-o" . other-window)
+;; ("C-M-n" . forward-page)
+;; ("C-M-p" . backward-page))
+;;
+;; After Emacs loads, you can see a summary of all your personal keybindings
+;; currently in effect with this command:
+;;
+;; M-x describe-personal-keybindings
+;;
+;; This display will tell you if you've overridden a default keybinding, and
+;; what the default was. Also, it will tell you if the key was rebound after
+;; your binding it with `bind-key', and what it was rebound it to.
+
+;;; Code:
+
+(require 'cl-lib)
+(require 'easy-mmode)
+
+(defgroup bind-key nil
+ "A simple way to manage personal keybindings"
+ :group 'emacs)
+
+(defcustom bind-key-column-widths '(18 . 40)
+ "Width of columns in `describe-personal-keybindings'."
+ :type '(cons integer integer)
+ :group 'bind-key)
+
+(defcustom bind-key-segregation-regexp
+ "\\`\\(\\(C-[chx] \\|M-[gso] \\)\\([CM]-\\)?\\|.+-\\)"
+ "Regular expression used to divide key sets in the output from
+\\[describe-personal-keybindings]."
+ :type 'regexp
+ :group 'bind-key)
+
+(defcustom bind-key-describe-special-forms nil
+ "If non-nil, extract docstrings from lambdas, closures and keymaps if possible."
+ :type 'boolean
+ :group 'bind-key)
+
+;; Create override-global-mode to force key remappings
+
+(defvar override-global-map (make-keymap)
+ "override-global-mode keymap")
+
+(define-minor-mode override-global-mode
+ "A minor mode so that keymap settings override other modes."
+ t "")
+
+;; the keymaps in `emulation-mode-map-alists' take precedence over
+;; `minor-mode-map-alist'
+(add-to-list 'emulation-mode-map-alists
+ `((override-global-mode . ,override-global-map)))
+
+(defvar personal-keybindings nil
+ "List of bindings performed by `bind-key'.
+
+Elements have the form ((KEY . [MAP]) CMD ORIGINAL-CMD)")
+
+;;;###autoload
+(defmacro bind-key (key-name command &optional keymap predicate)
+ "Bind KEY-NAME to COMMAND in KEYMAP (`global-map' if not passed).
+
+KEY-NAME may be a vector, in which case it is passed straight to
+`define-key'. Or it may be a string to be interpreted as
+spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of
+`edmacro-mode' for details.
+
+COMMAND must be an interactive function or lambda form.
+
+KEYMAP, if present, should be a keymap and not a quoted symbol.
+For example:
+
+ (bind-key \"M-h\" #'some-interactive-function my-mode-map)
+
+If PREDICATE is non-nil, it is a form evaluated to determine when
+a key should be bound. It must return non-nil in such cases.
+Emacs can evaluate this form at any time that it does redisplay
+or operates on menu data structures, so you should write it so it
+can safely be called at any time."
+ (let ((namevar (make-symbol "name"))
+ (keyvar (make-symbol "key"))
+ (kdescvar (make-symbol "kdesc"))
+ (bindingvar (make-symbol "binding")))
+ `(let* ((,namevar ,key-name)
+ (,keyvar (if (vectorp ,namevar) ,namevar
+ (read-kbd-macro ,namevar)))
+ (,kdescvar (cons (if (stringp ,namevar) ,namevar
+ (key-description ,namevar))
+ (quote ,keymap)))
+ (,bindingvar (lookup-key (or ,keymap global-map) ,keyvar)))
+ (let ((entry (assoc ,kdescvar personal-keybindings))
+ (details (list ,command
+ (unless (numberp ,bindingvar)
+ ,bindingvar))))
+ (if entry
+ (setcdr entry details)
+ (add-to-list 'personal-keybindings (cons ,kdescvar details))))
+ ,(if predicate
+ `(define-key (or ,keymap global-map) ,keyvar
+ '(menu-item "" nil :filter (lambda (&optional _)
+ (when ,predicate
+ ,command))))
+ `(define-key (or ,keymap global-map) ,keyvar ,command)))))
+
+;;;###autoload
+(defmacro unbind-key (key-name &optional keymap)
+ "Unbind the given KEY-NAME, within the KEYMAP (if specified).
+See `bind-key' for more details."
+ `(progn
+ (bind-key ,key-name nil ,keymap)
+ (setq personal-keybindings
+ (cl-delete-if #'(lambda (k)
+ ,(if keymap
+ `(and (consp (car k))
+ (string= (caar k) ,key-name)
+ (eq (cdar k) ',keymap))
+ `(and (stringp (car k))
+ (string= (car k) ,key-name))))
+ personal-keybindings))))
+
+;;;###autoload
+(defmacro bind-key* (key-name command &optional predicate)
+ "Similar to `bind-key', but overrides any mode-specific bindings."
+ `(bind-key ,key-name ,command override-global-map ,predicate))
+
+(defun bind-keys-form (args keymap)
+ "Bind multiple keys at once.
+
+Accepts keyword arguments:
+:map MAP - a keymap into which the keybindings should be
+ added
+:prefix KEY - prefix key for these bindings
+:prefix-map MAP - name of the prefix map that should be created
+ for these bindings
+:prefix-docstring STR - docstring for the prefix-map variable
+:menu-name NAME - optional menu string for prefix map
+:filter FORM - optional form to determine when bindings apply
+
+The rest of the arguments are conses of keybinding string and a
+function symbol (unquoted)."
+ (let (map
+ doc
+ prefix-map
+ prefix
+ filter
+ menu-name
+ pkg)
+
+ ;; Process any initial keyword arguments
+ (let ((cont t))
+ (while (and cont args)
+ (if (cond ((and (eq :map (car args))
+ (not prefix-map))
+ (setq map (cadr args)))
+ ((eq :prefix-docstring (car args))
+ (setq doc (cadr args)))
+ ((and (eq :prefix-map (car args))
+ (not (memq map '(global-map
+ override-global-map))))
+ (setq prefix-map (cadr args)))
+ ((eq :prefix (car args))
+ (setq prefix (cadr args)))
+ ((eq :filter (car args))
+ (setq filter (cadr args)) t)
+ ((eq :menu-name (car args))
+ (setq menu-name (cadr args)))
+ ((eq :package (car args))
+ (setq pkg (cadr args))))
+ (setq args (cddr args))
+ (setq cont nil))))
+
+ (when (or (and prefix-map (not prefix))
+ (and prefix (not prefix-map)))
+ (error "Both :prefix-map and :prefix must be supplied"))
+
+ (when (and menu-name (not prefix))
+ (error "If :menu-name is supplied, :prefix must be too"))
+
+ (unless map (setq map keymap))
+
+ ;; Process key binding arguments
+ (let (first next)
+ (while args
+ (if (keywordp (car args))
+ (progn
+ (setq next args)
+ (setq args nil))
+ (if first
+ (nconc first (list (car args)))
+ (setq first (list (car args))))
+ (setq args (cdr args))))
+
+ (cl-flet
+ ((wrap (map bindings)
+ (if (and map pkg (not (memq map '(global-map
+ override-global-map))))
+ `((if (boundp ',map)
+ ,(macroexp-progn bindings)
+ (eval-after-load
+ ,(if (symbolp pkg) `',pkg pkg)
+ ',(macroexp-progn bindings))))
+ bindings)))
+
+ (append
+ (when prefix-map
+ `((defvar ,prefix-map)
+ ,@(when doc `((put ',prefix-map 'variable-documentation ,doc)))
+ ,@(if menu-name
+ `((define-prefix-command ',prefix-map nil ,menu-name))
+ `((define-prefix-command ',prefix-map)))
+ ,@(if (and map (not (eq map 'global-map)))
+ (wrap map `((bind-key ,prefix ',prefix-map ,map ,filter)))
+ `((bind-key ,prefix ',prefix-map nil ,filter)))))
+ (wrap map
+ (cl-mapcan
+ (lambda (form)
+ (let ((fun (and (cdr form) (list 'function (cdr form)))))
+ (if prefix-map
+ `((bind-key ,(car form) ,fun ,prefix-map ,filter))
+ (if (and map (not (eq map 'global-map)))
+ `((bind-key ,(car form) ,fun ,map ,filter))
+ `((bind-key ,(car form) ,fun nil ,filter))))))
+ first))
+ (when next
+ (bind-keys-form (if pkg
+ (cons :package (cons pkg next))
+ next) map)))))))
+
+;;;###autoload
+(defmacro bind-keys (&rest args)
+ "Bind multiple keys at once.
+
+Accepts keyword arguments:
+:map MAP - a keymap into which the keybindings should be
+ added
+:prefix KEY - prefix key for these bindings
+:prefix-map MAP - name of the prefix map that should be created
+ for these bindings
+:prefix-docstring STR - docstring for the prefix-map variable
+:menu-name NAME - optional menu string for prefix map
+:filter FORM - optional form to determine when bindings apply
+
+The rest of the arguments are conses of keybinding string and a
+function symbol (unquoted)."
+ (macroexp-progn (bind-keys-form args nil)))
+
+;;;###autoload
+(defmacro bind-keys* (&rest args)
+ (macroexp-progn (bind-keys-form args 'override-global-map)))
+
+(defun get-binding-description (elem)
+ (cond
+ ((listp elem)
+ (cond
+ ((memq (car elem) '(lambda function))
+ (if (and bind-key-describe-special-forms
+ (stringp (nth 2 elem)))
+ (nth 2 elem)
+ "#<lambda>"))
+ ((eq 'closure (car elem))
+ (if (and bind-key-describe-special-forms
+ (stringp (nth 3 elem)))
+ (nth 3 elem)
+ "#<closure>"))
+ ((eq 'keymap (car elem))
+ "#<keymap>")
+ (t
+ elem)))
+ ;; must be a symbol, non-symbol keymap case covered above
+ ((and bind-key-describe-special-forms (keymapp elem))
+ (let ((doc (get elem 'variable-documentation)))
+ (if (stringp doc) doc elem)))
+ ((symbolp elem)
+ elem)
+ (t
+ "#<byte-compiled lambda>")))
+
+(defun compare-keybindings (l r)
+ (let* ((regex bind-key-segregation-regexp)
+ (lgroup (and (string-match regex (caar l))
+ (match-string 0 (caar l))))
+ (rgroup (and (string-match regex (caar r))
+ (match-string 0 (caar r))))
+ (lkeymap (cdar l))
+ (rkeymap (cdar r)))
+ (cond
+ ((and (null lkeymap) rkeymap)
+ (cons t t))
+ ((and lkeymap (null rkeymap))
+ (cons nil t))
+ ((and lkeymap rkeymap
+ (not (string= (symbol-name lkeymap) (symbol-name rkeymap))))
+ (cons (string< (symbol-name lkeymap) (symbol-name rkeymap)) t))
+ ((and (null lgroup) rgroup)
+ (cons t t))
+ ((and lgroup (null rgroup))
+ (cons nil t))
+ ((and lgroup rgroup)
+ (if (string= lgroup rgroup)
+ (cons (string< (caar l) (caar r)) nil)
+ (cons (string< lgroup rgroup) t)))
+ (t
+ (cons (string< (caar l) (caar r)) nil)))))
+
+;;;###autoload
+(defun describe-personal-keybindings ()
+ "Display all the personal keybindings defined by `bind-key'."
+ (interactive)
+ (with-output-to-temp-buffer "*Personal Keybindings*"
+ (princ (format (concat "Key name%s Command%s Comments\n%s %s "
+ "---------------------\n")
+ (make-string (- (car bind-key-column-widths) 9) ? )
+ (make-string (- (cdr bind-key-column-widths) 8) ? )
+ (make-string (1- (car bind-key-column-widths)) ?-)
+ (make-string (1- (cdr bind-key-column-widths)) ?-)))
+ (let (last-binding)
+ (dolist (binding
+ (setq personal-keybindings
+ (sort personal-keybindings
+ (lambda (l r)
+ (car (compare-keybindings l r))))))
+
+ (if (not (eq (cdar last-binding) (cdar binding)))
+ (princ (format "\n\n%s: %s\n%s\n\n"
+ (cdar binding) (caar binding)
+ (make-string (+ 21 (car bind-key-column-widths)
+ (cdr bind-key-column-widths)) ?-)))
+ (if (and last-binding
+ (cdr (compare-keybindings last-binding binding)))
+ (princ "\n")))
+
+ (let* ((key-name (caar binding))
+ (at-present (lookup-key (or (symbol-value (cdar binding))
+ (current-global-map))
+ (read-kbd-macro key-name)))
+ (command (nth 1 binding))
+ (was-command (nth 2 binding))
+ (command-desc (get-binding-description command))
+ (was-command-desc (and was-command
+ (get-binding-description was-command)))
+ (at-present-desc (get-binding-description at-present))
+ )
+ (let ((line
+ (format
+ (format "%%-%ds%%-%ds%%s\n" (car bind-key-column-widths)
+ (cdr bind-key-column-widths))
+ key-name (format "`%s\'" command-desc)
+ (if (string= command-desc at-present-desc)
+ (if (or (null was-command)
+ (string= command-desc was-command-desc))
+ ""
+ (format "was `%s\'" was-command-desc))
+ (format "[now: `%s\']" at-present)))))
+ (princ (if (string-match "[ \t]+\n" line)
+ (replace-match "\n" t t line)
+ line))))
+
+ (setq last-binding binding)))))
+
+(provide 'bind-key)
+
+;; Local Variables:
+;; outline-regexp: ";;;\\(;* [^\s\t\n]\\|###autoload\\)\\|("
+;; indent-tabs-mode: nil
+;; End:
+
+;;; bind-key.el ends here
diff --git a/emacs.d/elpa/epl-20180205.2049/epl-autoloads.el b/emacs.d/elpa/epl-20180205.2049/epl-autoloads.el
new file mode 100644
index 0000000..c6221c5
--- /dev/null
+++ b/emacs.d/elpa/epl-20180205.2049/epl-autoloads.el
@@ -0,0 +1,22 @@
+;;; epl-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "epl" "epl.el" (0 0 0 0))
+;;; Generated autoloads from epl.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "epl" '("epl-")))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; epl-autoloads.el ends here
diff --git a/emacs.d/elpa/epl-20180205.2049/epl-pkg.el b/emacs.d/elpa/epl-20180205.2049/epl-pkg.el
new file mode 100644
index 0000000..a977868
--- /dev/null
+++ b/emacs.d/elpa/epl-20180205.2049/epl-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "epl" "20180205.2049" "Emacs Package Library" '((cl-lib "0.3")) :commit "78ab7a85c08222cd15582a298a364774e3282ce6" :keywords '("convenience") :authors '(("Sebastian Wiesner" . "swiesner@lunaryorn.com")) :maintainer '("Johan Andersson" . "johan.rejeep@gmail.com") :url "http://github.com/cask/epl")
diff --git a/emacs.d/elpa/epl-20180205.2049/epl.el b/emacs.d/elpa/epl-20180205.2049/epl.el
new file mode 100644
index 0000000..5bbd76a
--- /dev/null
+++ b/emacs.d/elpa/epl-20180205.2049/epl.el
@@ -0,0 +1,711 @@
+;;; epl.el --- Emacs Package Library -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2013-2015 Sebastian Wiesner
+;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2015 Free Software
+
+;; Author: Sebastian Wiesner <swiesner@lunaryorn.com>
+;; Maintainer: Johan Andersson <johan.rejeep@gmail.com>
+;; Sebastian Wiesner <swiesner@lunaryorn.com>
+;; Version: 0.10-cvs
+;; Package-Version: 20180205.2049
+;; Package-Requires: ((cl-lib "0.3"))
+;; Keywords: convenience
+;; URL: http://github.com/cask/epl
+
+;; This file is NOT part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; A package management library for Emacs, based on package.el.
+
+;; The purpose of this library is to wrap all the quirks and hassle of
+;; package.el into a sane API.
+
+;; The following functions comprise the public interface of this library:
+
+;;; Package directory selection
+
+;; `epl-package-dir' gets the directory of packages.
+
+;; `epl-default-package-dir' gets the default package directory.
+
+;; `epl-change-package-dir' changes the directory of packages.
+
+;;; Package system management
+
+;; `epl-initialize' initializes the package system and activates all
+;; packages.
+
+;; `epl-reset' resets the package system.
+
+;; `epl-refresh' refreshes all package archives.
+
+;; `epl-add-archive' adds a new package archive.
+
+;;; Package objects
+
+;; Struct `epl-requirement' describes a requirement of a package with `name' and
+;; `version' slots.
+
+;; `epl-requirement-version-string' gets a requirement version as string.
+
+;; Struct `epl-package' describes an installed or installable package with a
+;; `name' and some internal `description'.
+
+;; `epl-package-version' gets the version of a package.
+
+;; `epl-package-version-string' gets the version of a package as string.
+
+;; `epl-package-summary' gets the summary of a package.
+
+;; `epl-package-requirements' gets the requirements of a package.
+
+;; `epl-package-directory' gets the installation directory of a package.
+
+;; `epl-package-from-buffer' creates a package object for the package contained
+;; in the current buffer.
+
+;; `epl-package-from-file' creates a package object for a package file, either
+;; plain lisp or tarball.
+
+;; `epl-package-from-descriptor-file' creates a package object for a package
+;; description (i.e. *-pkg.el) file.
+
+;;; Package database access
+
+;; `epl-package-installed-p' determines whether a package is installed, either
+;; built-in or explicitly installed.
+
+;; `epl-package-outdated-p' determines whether a package is outdated, that is,
+;; whether a package with a higher version number is available.
+
+;; `epl-built-in-packages', `epl-installed-packages', `epl-outdated-packages'
+;; and `epl-available-packages' get all packages built-in, installed, outdated,
+;; or available for installation respectively.
+
+;; `epl-find-built-in-package', `epl-find-installed-packages' and
+;; `epl-find-available-packages' find built-in, installed and available packages
+;; by name.
+
+;; `epl-find-upgrades' finds all upgradable packages.
+
+;; `epl-built-in-p' return true if package is built-in to Emacs.
+
+;;; Package operations
+
+;; `epl-install-file' installs a package file.
+
+;; `epl-package-install' installs a package.
+
+;; `epl-package-delete' deletes a package.
+
+;; `epl-upgrade' upgrades packages.
+
+;;; Code:
+
+(require 'cl-lib)
+(require 'package)
+
+
+(unless (fboundp #'define-error)
+ ;; `define-error' for 24.3 and earlier, copied from subr.el
+ (defun define-error (name message &optional parent)
+ "Define NAME as a new error signal.
+MESSAGE is a string that will be output to the echo area if such an error
+is signaled without being caught by a `condition-case'.
+PARENT is either a signal or a list of signals from which it inherits.
+Defaults to `error'."
+ (unless parent (setq parent 'error))
+ (let ((conditions
+ (if (consp parent)
+ (apply #'append
+ (mapcar (lambda (parent)
+ (cons parent
+ (or (get parent 'error-conditions)
+ (error "Unknown signal `%s'" parent))))
+ parent))
+ (cons parent (get parent 'error-conditions)))))
+ (put name 'error-conditions
+ (delete-dups (copy-sequence (cons name conditions))))
+ (when message (put name 'error-message message)))))
+
+(defsubst epl--package-desc-p (package)
+ "Whether PACKAGE is a `package-desc' object.
+
+Like `package-desc-p', but return nil, if `package-desc-p' is not
+defined as function."
+ (and (fboundp 'package-desc-p) (package-desc-p package)))
+
+
+;;; EPL errors
+(define-error 'epl-error "EPL error")
+
+(define-error 'epl-invalid-package "Invalid EPL package" 'epl-error)
+
+(define-error 'epl-invalid-package-file "Invalid EPL package file"
+ 'epl-invalid-package)
+
+
+;;; Package directory
+(defun epl-package-dir ()
+ "Get the directory of packages."
+ package-user-dir)
+
+(defun epl-default-package-dir ()
+ "Get the default directory of packages."
+ (eval (car (get 'package-user-dir 'standard-value))))
+
+(defun epl-change-package-dir (directory)
+ "Change the directory of packages to DIRECTORY."
+ (setq package-user-dir directory)
+ (epl-initialize))
+
+
+;;; Package system management
+(defvar epl--load-path-before-initialize nil
+ "Remember the load path for `epl-reset'.")
+
+(defun epl-initialize (&optional no-activate)
+ "Load Emacs Lisp packages and activate them.
+
+With NO-ACTIVATE non-nil, do not activate packages."
+ (setq epl--load-path-before-initialize load-path)
+ (package-initialize no-activate))
+
+(defalias 'epl-refresh 'package-refresh-contents)
+
+(defun epl-add-archive (name url)
+ "Add a package archive with NAME and URL."
+ (add-to-list 'package-archives (cons name url)))
+
+(defun epl-reset ()
+ "Reset the package system.
+
+Clear the list of installed and available packages, the list of
+package archives and reset the package directory."
+ (setq package-alist nil
+ package-archives nil
+ package-archive-contents nil
+ load-path epl--load-path-before-initialize)
+ (when (boundp 'package-obsolete-alist) ; Legacy package.el
+ (setq package-obsolete-alist nil))
+ (epl-change-package-dir (epl-default-package-dir)))
+
+
+;;; Package structures
+(cl-defstruct (epl-requirement
+ (:constructor epl-requirement-create))
+ "Structure describing a requirement.
+
+Slots:
+
+`name' The name of the required package, as symbol.
+
+`version' The version of the required package, as version list."
+ name
+ version)
+
+(defun epl-requirement-version-string (requirement)
+ "The version of a REQUIREMENT, as string."
+ (package-version-join (epl-requirement-version requirement)))
+
+(cl-defstruct (epl-package (:constructor epl-package-create))
+ "Structure representing a package.
+
+Slots:
+
+`name' The package name, as symbol.
+
+`description' The package description.
+
+The format package description varies between package.el
+variants. For `package-desc' variants, it is simply the
+corresponding `package-desc' object. For legacy variants, it is
+a vector `[VERSION REQS DOCSTRING]'.
+
+Do not access `description' directly, but instead use the
+`epl-package' accessors."
+ name
+ description)
+
+(defmacro epl-package-as-description (var &rest body)
+ "Cast VAR to a package description in BODY.
+
+VAR is a symbol, bound to an `epl-package' object. This macro
+casts this object to the `description' object, and binds the
+description to VAR in BODY."
+ (declare (indent 1))
+ (unless (symbolp var)
+ (signal 'wrong-type-argument (list #'symbolp var)))
+ `(if (epl-package-p ,var)
+ (let ((,var (epl-package-description ,var)))
+ ,@body)
+ (signal 'wrong-type-argument (list #'epl-package-p ,var))))
+
+(defsubst epl-package--package-desc-p (package)
+ "Whether the description of PACKAGE is a `package-desc'."
+ (epl--package-desc-p (epl-package-description package)))
+
+(defun epl-package-version (package)
+ "Get the version of PACKAGE, as version list."
+ (epl-package-as-description package
+ (cond
+ ((fboundp 'package-desc-version) (package-desc-version package))
+ ;; Legacy
+ ((fboundp 'package-desc-vers)
+ (let ((version (package-desc-vers package)))
+ (if (listp version) version (version-to-list version))))
+ (:else (error "Cannot get version from %S" package)))))
+
+(defun epl-package-version-string (package)
+ "Get the version from a PACKAGE, as string."
+ (package-version-join (epl-package-version package)))
+
+(defun epl-package-summary (package)
+ "Get the summary of PACKAGE, as string."
+ (epl-package-as-description package
+ (cond
+ ((fboundp 'package-desc-summary) (package-desc-summary package))
+ ((fboundp 'package-desc-doc) (package-desc-doc package)) ; Legacy
+ (:else (error "Cannot get summary from %S" package)))))
+
+(defsubst epl-requirement--from-req (req)
+ "Create a `epl-requirement' from a `package-desc' REQ."
+ (let ((version (cadr req)))
+ (epl-requirement-create :name (car req)
+ :version (if (listp version) version
+ (version-to-list version)))))
+
+(defun epl-package-requirements (package)
+ "Get the requirements of PACKAGE.
+
+The requirements are a list of `epl-requirement' objects."
+ (epl-package-as-description package
+ (mapcar #'epl-requirement--from-req (package-desc-reqs package))))
+
+(defun epl-package-directory (package)
+ "Get the directory PACKAGE is installed to.
+
+Return the absolute path of the installation directory of
+PACKAGE, or nil, if PACKAGE is not installed."
+ (cond
+ ((fboundp 'package-desc-dir)
+ (package-desc-dir (epl-package-description package)))
+ ((fboundp 'package--dir)
+ (package--dir (symbol-name (epl-package-name package))
+ (epl-package-version-string package)))
+ (:else (error "Cannot get package directory from %S" package))))
+
+(defun epl-package-->= (pkg1 pkg2)
+ "Determine whether PKG1 is before PKG2 by version."
+ (not (version-list-< (epl-package-version pkg1)
+ (epl-package-version pkg2))))
+
+(defun epl-package--from-package-desc (package-desc)
+ "Create an `epl-package' from a PACKAGE-DESC.
+
+PACKAGE-DESC is a `package-desc' object, from recent package.el
+variants."
+ (if (and (fboundp 'package-desc-name)
+ (epl--package-desc-p package-desc))
+ (epl-package-create :name (package-desc-name package-desc)
+ :description package-desc)
+ (signal 'wrong-type-argument (list 'epl--package-desc-p package-desc))))
+
+(defun epl-package--parse-info (info)
+ "Parse a package.el INFO."
+ (if (epl--package-desc-p info)
+ (epl-package--from-package-desc info)
+ ;; For legacy package.el, info is a vector [NAME REQUIRES DESCRIPTION
+ ;; VERSION COMMENTARY]. We need to re-shape this vector into the
+ ;; `package-alist' format [VERSION REQUIRES DESCRIPTION] to attach it to the
+ ;; new `epl-package'.
+ (let ((name (intern (aref info 0)))
+ (info (vector (aref info 3) (aref info 1) (aref info 2))))
+ (epl-package-create :name name :description info))))
+
+(defun epl-package-from-buffer (&optional buffer)
+ "Create an `epl-package' object from BUFFER.
+
+BUFFER defaults to the current buffer.
+
+Signal `epl-invalid-package' if the buffer does not contain a
+valid package file."
+ (let ((info (with-current-buffer (or buffer (current-buffer))
+ (condition-case err
+ (package-buffer-info)
+ (error (signal 'epl-invalid-package (cdr err)))))))
+ (epl-package--parse-info info)))
+
+(defun epl-package-from-lisp-file (file-name)
+ "Parse the package headers the file at FILE-NAME.
+
+Return an `epl-package' object with the header metadata."
+ (with-temp-buffer
+ (insert-file-contents file-name)
+ (condition-case err
+ (epl-package-from-buffer (current-buffer))
+ ;; Attach file names to invalid package errors
+ (epl-invalid-package
+ (signal 'epl-invalid-package-file (cons file-name (cdr err))))
+ ;; Forward other errors
+ (error (signal (car err) (cdr err))))))
+
+(defun epl-package-from-tar-file (file-name)
+ "Parse the package tarball at FILE-NAME.
+
+Return a `epl-package' object with the meta data of the tarball
+package in FILE-NAME."
+ (condition-case nil
+ ;; In legacy package.el, `package-tar-file-info' takes the name of the tar
+ ;; file to parse as argument. In modern package.el, it has no arguments
+ ;; and works on the current buffer. Hence, we just try to call the legacy
+ ;; version, and if that fails because of a mismatch between formal and
+ ;; actual arguments, we use the modern approach. To avoid spurious
+ ;; signature warnings by the byte compiler, we suppress warnings when
+ ;; calling the function.
+ (epl-package--parse-info (with-no-warnings
+ (package-tar-file-info file-name)))
+ (wrong-number-of-arguments
+ (with-temp-buffer
+ (insert-file-contents-literally file-name)
+ ;; Switch to `tar-mode' to enable extraction of the file. Modern
+ ;; `package-tar-file-info' relies on `tar-mode', and signals an error if
+ ;; called in a buffer with a different mode.
+ (tar-mode)
+ (epl-package--parse-info (with-no-warnings
+ (package-tar-file-info)))))))
+
+(defun epl-package-from-file (file-name)
+ "Parse the package at FILE-NAME.
+
+Return an `epl-package' object with the meta data of the package
+at FILE-NAME."
+ (if (string-match-p (rx ".tar" string-end) file-name)
+ (epl-package-from-tar-file file-name)
+ (epl-package-from-lisp-file file-name)))
+
+(defun epl-package--parse-descriptor-requirement (requirement)
+ "Parse a REQUIREMENT in a package descriptor."
+ ;; This function is only called on legacy package.el. On package-desc
+ ;; package.el, we just let package.el do the work.
+ (cl-destructuring-bind (name version-string) requirement
+ (list name (version-to-list version-string))))
+
+(defun epl-package-from-descriptor-file (descriptor-file)
+ "Load a `epl-package' from a package DESCRIPTOR-FILE.
+
+A package descriptor is a file defining a new package. Its name
+typically ends with -pkg.el."
+ (with-temp-buffer
+ (insert-file-contents descriptor-file)
+ (goto-char (point-min))
+ (let ((sexp (read (current-buffer))))
+ (unless (eq (car sexp) 'define-package)
+ (error "%S is no valid package descriptor" descriptor-file))
+ (if (and (fboundp 'package-desc-from-define)
+ (fboundp 'package-desc-name))
+ ;; In Emacs snapshot, we can conveniently call a function to parse the
+ ;; descriptor
+ (let ((desc (apply #'package-desc-from-define (cdr sexp))))
+ (epl-package-create :name (package-desc-name desc)
+ :description desc))
+ ;; In legacy package.el, we must manually deconstruct the descriptor,
+ ;; because the load function has eval's the descriptor and has a lot of
+ ;; global side-effects.
+ (cl-destructuring-bind
+ (name version-string summary requirements) (cdr sexp)
+ (epl-package-create
+ :name (intern name)
+ :description
+ (vector (version-to-list version-string)
+ (mapcar #'epl-package--parse-descriptor-requirement
+ ;; Strip the leading `quote' from the package list
+ (cadr requirements))
+ summary)))))))
+
+
+;;; Package database access
+(defun epl-package-installed-p (package &optional min-version)
+ "Determine whether a PACKAGE, of MIN-VERSION or newer, is installed.
+
+PACKAGE is either a package name as symbol, or a package object.
+When a explicit MIN-VERSION is provided it overwrites the version of the PACKAGE object."
+ (let ((name (if (epl-package-p package)
+ (epl-package-name package)
+ package))
+ (min-version (or min-version (and (epl-package-p package)
+ (epl-package-version package)))))
+ (package-installed-p name min-version)))
+
+(defun epl--parse-built-in-entry (entry)
+ "Parse an ENTRY from the list of built-in packages.
+
+Return the corresponding `epl-package' object."
+ (if (fboundp 'package--from-builtin)
+ ;; In package-desc package.el, convert the built-in package to a
+ ;; `package-desc' and convert that to an `epl-package'
+ (epl-package--from-package-desc (package--from-builtin entry))
+ (epl-package-create :name (car entry) :description (cdr entry))))
+
+(defun epl-built-in-packages ()
+ "Get all built-in packages.
+
+Return a list of `epl-package' objects."
+ ;; This looks mighty strange, but it's the only way to force package.el to
+ ;; build the list of built-in packages. Without this, `package--builtins'
+ ;; might be empty.
+ (package-built-in-p 'foo)
+ (mapcar #'epl--parse-built-in-entry package--builtins))
+
+(defun epl-find-built-in-package (name)
+ "Find a built-in package with NAME.
+
+NAME is a package name, as symbol.
+
+Return the built-in package as `epl-package' object, or nil if
+there is no built-in package with NAME."
+ (when (package-built-in-p name)
+ ;; We must call `package-built-in-p' *before* inspecting
+ ;; `package--builtins', because otherwise `package--builtins' might be
+ ;; empty.
+ (epl--parse-built-in-entry (assq name package--builtins))))
+
+(defun epl-package-outdated-p (package)
+ "Determine whether a PACKAGE is outdated.
+
+A package is outdated, if there is an available package with a
+higher version.
+
+PACKAGE is either a package name as symbol, or a package object.
+In the former case, test the installed or built-in package with
+the highest version number, in the later case, test the package
+object itself.
+
+Return t, if the package is outdated, or nil otherwise."
+ (let* ((package (if (epl-package-p package)
+ package
+ (or (car (epl-find-installed-packages package))
+ (epl-find-built-in-package package))))
+ (available (car (epl-find-available-packages
+ (epl-package-name package)))))
+ (and package available (version-list-< (epl-package-version package)
+ (epl-package-version available)))))
+
+(defun epl--parse-package-list-entry (entry)
+ "Parse a list of packages from ENTRY.
+
+ENTRY is a single entry in a package list, e.g. `package-alist',
+`package-archive-contents', etc. Typically it is a cons cell,
+but the exact format varies between package.el versions. This
+function tries to parse all known variants.
+
+Return a list of `epl-package' objects parsed from ENTRY."
+ (let ((descriptions (cdr entry)))
+ (cond
+ ((listp descriptions)
+ (sort (mapcar #'epl-package--from-package-desc descriptions)
+ #'epl-package-->=))
+ ;; Legacy package.el has just a single package in an entry, which is a
+ ;; standard description vector
+ ((vectorp descriptions)
+ (list (epl-package-create :name (car entry)
+ :description descriptions)))
+ (:else (error "Cannot parse entry %S" entry)))))
+
+(defun epl-installed-packages ()
+ "Get all installed packages.
+
+Return a list of package objects."
+ (apply #'append (mapcar #'epl--parse-package-list-entry package-alist)))
+
+(defsubst epl--filter-outdated-packages (packages)
+ "Filter outdated packages from PACKAGES."
+ (let (res)
+ (dolist (package packages)
+ (when (epl-package-outdated-p package)
+ (push package res)))
+ (nreverse res)))
+
+(defun epl-outdated-packages ()
+ "Get all outdated packages, as in `epl-package-outdated-p'.
+
+Return a list of package objects."
+ (epl--filter-outdated-packages (epl-installed-packages)))
+
+(defsubst epl--find-package-in-list (name list)
+ "Find a package by NAME in a package LIST.
+
+Return a list of corresponding `epl-package' objects."
+ (let ((entry (assq name list)))
+ (when entry
+ (epl--parse-package-list-entry entry))))
+
+(defun epl-find-installed-package (name)
+ "Find the latest installed package by NAME.
+
+NAME is a package name, as symbol.
+
+Return the installed package with the highest version number as
+`epl-package' object, or nil, if no package with NAME is
+installed."
+ (car (epl-find-installed-packages name)))
+(make-obsolete 'epl-find-installed-package 'epl-find-installed-packages "0.7")
+
+(defun epl-find-installed-packages (name)
+ "Find all installed packages by NAME.
+
+NAME is a package name, as symbol.
+
+Return a list of all installed packages with NAME, sorted by
+version number in descending order. Return nil, if there are no
+packages with NAME."
+ (epl--find-package-in-list name package-alist))
+
+(defun epl-available-packages ()
+ "Get all packages available for installation.
+
+Return a list of package objects."
+ (apply #'append (mapcar #'epl--parse-package-list-entry
+ package-archive-contents)))
+
+(defun epl-find-available-packages (name)
+ "Find available packages for NAME.
+
+NAME is a package name, as symbol.
+
+Return a list of available packages for NAME, sorted by version
+number in descending order. Return nil, if there are no packages
+for NAME."
+ (epl--find-package-in-list name package-archive-contents))
+
+(cl-defstruct (epl-upgrade
+ (:constructor epl-upgrade-create))
+ "Structure describing an upgradable package.
+Slots:
+
+`installed' The installed package
+
+`available' The package available for installation."
+ installed
+ available)
+
+(defun epl-find-upgrades (&optional packages)
+ "Find all upgradable PACKAGES.
+
+PACKAGES is a list of package objects to upgrade, defaulting to
+all installed packages.
+
+Return a list of `epl-upgrade' objects describing all upgradable
+packages."
+ (let ((packages (or packages (epl-installed-packages)))
+ upgrades)
+ (dolist (pkg packages)
+ (let* ((version (epl-package-version pkg))
+ (name (epl-package-name pkg))
+ ;; Find the latest available package for NAME
+ (available-pkg (car (epl-find-available-packages name)))
+ (available-version (when available-pkg
+ (epl-package-version available-pkg))))
+ (when (and available-version (version-list-< version available-version))
+ (push (epl-upgrade-create :installed pkg
+ :available available-pkg)
+ upgrades))))
+ (nreverse upgrades)))
+
+(defalias 'epl-built-in-p 'package-built-in-p)
+
+
+;;; Package operations
+
+(defun epl-install-file (file)
+ "Install a package from FILE, like `package-install-file'."
+ (interactive (advice-eval-interactive-spec
+ (cadr (interactive-form #'package-install-file))))
+ (apply #'package-install-file (list file))
+ (let ((package (epl-package-from-file file)))
+ (unless (epl-package--package-desc-p package)
+ (epl--kill-autoload-buffer package))))
+
+(defun epl--kill-autoload-buffer (package)
+ "Kill the buffer associated with autoloads for PACKAGE."
+ (let* ((auto-name (format "%s-autoloads.el" (epl-package-name package)))
+ (generated-autoload-file (expand-file-name auto-name (epl-package-directory package)))
+ (buf (find-buffer-visiting generated-autoload-file)))
+ (when buf (kill-buffer buf))))
+
+(defun epl-package-install (package &optional force)
+ "Install a PACKAGE.
+
+PACKAGE is a `epl-package' object. If FORCE is given and
+non-nil, install PACKAGE, even if it is already installed."
+ (when (or force (not (epl-package-installed-p package)))
+ (if (epl-package--package-desc-p package)
+ (package-install (epl-package-description package))
+ ;; The legacy API installs by name. We have no control over versioning,
+ ;; etc.
+ (package-install (epl-package-name package))
+ (epl--kill-autoload-buffer package))))
+
+(defun epl-package-delete (package)
+ "Delete a PACKAGE.
+
+PACKAGE is a `epl-package' object to delete."
+ ;; package-delete allows for packages being trashed instead of fully deleted.
+ ;; Let's prevent his silly behavior
+ (let ((delete-by-moving-to-trash nil))
+ ;; The byte compiler will warn us that we are calling `package-delete' with
+ ;; the wrong number of arguments, since it can't infer that we guarantee to
+ ;; always call the correct version. Thus we suppress all warnings when
+ ;; calling `package-delete'. I wish there was a more granular way to
+ ;; disable just that specific warning, but it is what it is.
+ (if (epl-package--package-desc-p package)
+ (with-no-warnings
+ (package-delete (epl-package-description package)))
+ ;; The legacy API deletes by name (as string!) and version instead by
+ ;; descriptor. Hence `package-delete' takes two arguments. For some
+ ;; insane reason, the arguments are strings here!
+ (let ((name (symbol-name (epl-package-name package)))
+ (version (epl-package-version-string package)))
+ (with-no-warnings
+ (package-delete name version))
+ ;; Legacy package.el does not remove the deleted package
+ ;; from the `package-alist', so we do it manually here.
+ (let ((pkg (assq (epl-package-name package) package-alist)))
+ (when pkg
+ (setq package-alist (delq pkg package-alist))))))))
+
+(defun epl-upgrade (&optional packages preserve-obsolete)
+ "Upgrade PACKAGES.
+
+PACKAGES is a list of package objects to upgrade, defaulting to
+all installed packages.
+
+The old versions of the updated packages are deleted, unless
+PRESERVE-OBSOLETE is non-nil.
+
+Return a list of all performed upgrades, as a list of
+`epl-upgrade' objects."
+ (let ((upgrades (epl-find-upgrades packages)))
+ (dolist (upgrade upgrades)
+ (epl-package-install (epl-upgrade-available upgrade) 'force)
+ (unless preserve-obsolete
+ (epl-package-delete (epl-upgrade-installed upgrade))))
+ upgrades))
+
+(provide 'epl)
+
+;;; epl.el ends here
diff --git a/emacs.d/elpa/flycheck-20200427.12/flycheck-autoloads.el b/emacs.d/elpa/flycheck-20200427.12/flycheck-autoloads.el
new file mode 100644
index 0000000..61c0239
--- /dev/null
+++ b/emacs.d/elpa/flycheck-20200427.12/flycheck-autoloads.el
@@ -0,0 +1,274 @@
+;;; flycheck-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "flycheck" "flycheck.el" (0 0 0 0))
+;;; Generated autoloads from flycheck.el
+
+(autoload 'flycheck-manual "flycheck" "\
+Open the Flycheck manual.
+
+\(fn)" t nil)
+
+(autoload 'flycheck-mode "flycheck" "\
+Minor mode for on-the-fly syntax checking.
+
+When called interactively, toggle `flycheck-mode'. With prefix
+ARG, enable `flycheck-mode' if ARG is positive, otherwise disable
+it.
+
+When called from Lisp, enable `flycheck-mode' if ARG is omitted,
+nil or positive. If ARG is `toggle', toggle `flycheck-mode'.
+Otherwise behave as if called interactively.
+
+In `flycheck-mode' the buffer is automatically syntax-checked
+using the first suitable syntax checker from `flycheck-checkers'.
+Use `flycheck-select-checker' to select a checker for the current
+buffer manually.
+
+\\{flycheck-mode-map}
+
+\(fn &optional ARG)" t nil)
+
+(defvar global-flycheck-mode nil "\
+Non-nil if Global Flycheck mode is enabled.
+See the `global-flycheck-mode' command
+for a description of this minor mode.
+Setting this variable directly does not take effect;
+either customize it (see the info node `Easy Customization')
+or call the function `global-flycheck-mode'.")
+
+(custom-autoload 'global-flycheck-mode "flycheck" nil)
+
+(autoload 'global-flycheck-mode "flycheck" "\
+Toggle Flycheck mode in all buffers.
+With prefix ARG, enable Global Flycheck mode if ARG is positive;
+otherwise, disable it. If called from Lisp, enable the mode if
+ARG is omitted or nil.
+
+Flycheck mode is enabled in all buffers where
+`flycheck-mode-on-safe' would do it.
+See `flycheck-mode' for more information on Flycheck mode.
+
+\(fn &optional ARG)" t nil)
+
+(autoload 'flycheck-define-error-level "flycheck" "\
+Define a new error LEVEL with PROPERTIES.
+
+The following PROPERTIES constitute an error level:
+
+`:severity SEVERITY'
+ A number denoting the severity of this level. The higher
+ the number, the more severe is this level compared to other
+ levels. Defaults to 0.
+
+ The severity is used by `flycheck-error-level-<' to
+ determine the ordering of errors according to their levels.
+
+`:compilation-level LEVEL'
+
+ A number indicating the broad class of messages that errors
+ at this level belong to: one of 0 (info), 1 (warning), or
+ 2 or nil (error). Defaults to nil.
+
+ This is used by `flycheck-checker-pattern-to-error-regexp'
+ to map error levels into `compilation-mode''s hierarchy and
+ to get proper highlighting of errors in `compilation-mode'.
+
+`:overlay-category CATEGORY'
+ A symbol denoting the overlay category to use for error
+ highlight overlays for this level. See Info
+ node `(elisp)Overlay Properties' for more information about
+ overlay categories.
+
+ A category for an error level overlay should at least define
+ the `face' property, for error highlighting. Another useful
+ property for error level categories is `priority', to
+ influence the stacking of multiple error level overlays.
+
+`:fringe-bitmap BITMAPS'
+ A fringe bitmap symbol denoting the bitmap to use for fringe
+ indicators for this level, or a cons of two bitmaps (one for
+ narrow fringes and one for wide fringes). See Info node
+ `(elisp)Fringe Bitmaps' for more information about fringe
+ bitmaps, including a list of built-in fringe bitmaps.
+
+`:fringe-face FACE'
+ A face symbol denoting the face to use for fringe indicators
+ for this level.
+
+`:error-list-face FACE'
+ A face symbol denoting the face to use for messages of this
+ level in the error list. See `flycheck-list-errors'.
+
+\(fn LEVEL &rest PROPERTIES)" nil nil)
+
+(function-put 'flycheck-define-error-level 'lisp-indent-function '1)
+
+(autoload 'flycheck-define-command-checker "flycheck" "\
+Define SYMBOL as syntax checker to run a command.
+
+Define SYMBOL as generic syntax checker via
+`flycheck-define-generic-checker', which uses an external command
+to check the buffer. SYMBOL and DOCSTRING are the same as for
+`flycheck-define-generic-checker'.
+
+In addition to the properties understood by
+`flycheck-define-generic-checker', the following PROPERTIES
+constitute a command syntax checker. Unless otherwise noted, all
+properties are mandatory. Note that the default `:error-filter'
+of command checkers is `flycheck-sanitize-errors'.
+
+`:command COMMAND'
+ The command to run for syntax checking.
+
+ COMMAND is a list of the form `(EXECUTABLE [ARG ...])'.
+
+ EXECUTABLE is a string with the executable of this syntax
+ checker. It can be overridden with the variable
+ `flycheck-SYMBOL-executable'. Note that this variable is
+ NOT implicitly defined by this function. Use
+ `flycheck-def-executable-var' to define this variable.
+
+ Each ARG is an argument to the executable, either as string,
+ or as special symbol or form for
+ `flycheck-substitute-argument', which see.
+
+`:error-patterns PATTERNS'
+ A list of patterns to parse the output of the `:command'.
+
+ Each ITEM in PATTERNS is a list `(LEVEL SEXP ...)', where
+ LEVEL is a Flycheck error level (see
+ `flycheck-define-error-level'), followed by one or more RX
+ `SEXP's which parse an error of that level and extract line,
+ column, file name and the message.
+
+ See `rx' for general information about RX, and
+ `flycheck-rx-to-string' for some special RX forms provided
+ by Flycheck.
+
+ All patterns are applied in the order of declaration to the
+ whole output of the syntax checker. Output already matched
+ by a pattern will not be matched by subsequent patterns. In
+ other words, the first pattern wins.
+
+ This property is optional. If omitted, however, an
+ `:error-parser' is mandatory.
+
+`:error-parser FUNCTION'
+ A function to parse errors with.
+
+ The function shall accept three arguments OUTPUT CHECKER
+ BUFFER. OUTPUT is the syntax checker output as string,
+ CHECKER the syntax checker that was used, and BUFFER a
+ buffer object representing the checked buffer. The function
+ must return a list of `flycheck-error' objects parsed from
+ OUTPUT.
+
+ This property is optional. If omitted, it defaults to
+ `flycheck-parse-with-patterns'. In this case,
+ `:error-patterns' is mandatory.
+
+`:standard-input t'
+ Whether to send the buffer contents on standard input.
+
+ If this property is given and has a non-nil value, send the
+ contents of the buffer on standard input.
+
+ Defaults to nil.
+
+Note that you may not give `:start', `:interrupt', and
+`:print-doc' for a command checker. You can give a custom
+`:verify' function, though, whose results will be appended to the
+default `:verify' function of command checkers.
+
+\(fn SYMBOL DOCSTRING &rest PROPERTIES)" nil nil)
+
+(function-put 'flycheck-define-command-checker 'lisp-indent-function '1)
+
+(function-put 'flycheck-define-command-checker 'doc-string-elt '2)
+
+(autoload 'flycheck-def-config-file-var "flycheck" "\
+Define SYMBOL as config file variable for CHECKER, with default FILE-NAME.
+
+SYMBOL is declared as customizable variable using `defcustom', to
+provide configuration files for the given syntax CHECKER.
+CUSTOM-ARGS are forwarded to `defcustom'.
+
+FILE-NAME is the initial value of the new variable. If omitted,
+the default value is nil. It can be either a string or a list of
+strings.
+
+Use this together with the `config-file' form in the `:command'
+argument to `flycheck-define-checker'.
+
+\(fn SYMBOL CHECKER &optional FILE-NAME &rest CUSTOM-ARGS)" nil t)
+
+(function-put 'flycheck-def-config-file-var 'lisp-indent-function '3)
+
+(autoload 'flycheck-def-option-var "flycheck" "\
+Define SYMBOL as option variable with INIT-VALUE for CHECKER.
+
+SYMBOL is declared as customizable variable using `defcustom', to
+provide an option for the given syntax CHECKERS (a checker or a
+list of checkers). INIT-VALUE is the initial value of the
+variable, and DOCSTRING is its docstring. CUSTOM-ARGS are
+forwarded to `defcustom'.
+
+Use this together with the `option', `option-list' and
+`option-flag' forms in the `:command' argument to
+`flycheck-define-checker'.
+
+\(fn SYMBOL INIT-VALUE CHECKERS DOCSTRING &rest CUSTOM-ARGS)" nil t)
+
+(function-put 'flycheck-def-option-var 'lisp-indent-function '3)
+
+(function-put 'flycheck-def-option-var 'doc-string-elt '4)
+
+(autoload 'flycheck-define-checker "flycheck" "\
+Define SYMBOL as command syntax checker with DOCSTRING and PROPERTIES.
+
+Like `flycheck-define-command-checker', but PROPERTIES must not
+be quoted. Also, implicitly define the executable variable for
+SYMBOL with `flycheck-def-executable-var'.
+
+\(fn SYMBOL DOCSTRING &rest PROPERTIES)" nil t)
+
+(function-put 'flycheck-define-checker 'lisp-indent-function '1)
+
+(function-put 'flycheck-define-checker 'doc-string-elt '2)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "flycheck" '("flycheck-" "list-flycheck-errors" "help-flycheck-checker-d")))
+
+;;;***
+
+;;;### (autoloads nil "flycheck-buttercup" "flycheck-buttercup.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from flycheck-buttercup.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "flycheck-buttercup" '("flycheck-buttercup-format-error-list")))
+
+;;;***
+
+;;;### (autoloads nil "flycheck-ert" "flycheck-ert.el" (0 0 0 0))
+;;; Generated autoloads from flycheck-ert.el
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "flycheck-ert" '("flycheck-er")))
+
+;;;***
+
+;;;### (autoloads nil nil ("flycheck-pkg.el") (0 0 0 0))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; flycheck-autoloads.el ends here
diff --git a/emacs.d/elpa/flycheck-20200427.12/flycheck-buttercup.el b/emacs.d/elpa/flycheck-20200427.12/flycheck-buttercup.el
new file mode 100644
index 0000000..9802265
--- /dev/null
+++ b/emacs.d/elpa/flycheck-20200427.12/flycheck-buttercup.el
@@ -0,0 +1,157 @@
+;;; flycheck-buttercup.el --- Flycheck: Extensions to Buttercup -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2017 Flycheck contributors
+;; Copyright (C) 2016 Sebastian Wiesner and Flycheck contributors
+
+;; Author: Sebastian Wiesner <swiesner@lunaryorn.com>
+;; Maintainer: Clément Pit-Claudel <clement.pitclaudel@live.com>
+;; fmdkdd <fmdkdd@gmail.com>
+;; Keywords: lisp, tools
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Extensions to Buttercup to write BDD tests for Flycheck.
+;;
+;; Buttercup is a BDD testing framework for Emacs, see URL
+;; `https://github.com/jorgenschaefer/emacs-buttercup/'. Flycheck uses
+;; Buttercup extensively for new tests.
+;;
+;; This library provides extensions to Buttercup to write Specs for Flycheck.
+;;
+;; * Custom matchers
+;;
+;; (expect 'foo :to-be-local) - Is `foo' a local variable in the current buffer?
+
+;;; Code:
+
+(require 'buttercup)
+(require 'flycheck)
+(require 'seq)
+
+
+;;; Buttercup helpers
+
+(defun flycheck-buttercup-format-error-list (errors)
+ "Format ERRORS into a human-readable string."
+ (mapconcat (lambda (e) (flycheck-error-format e 'with-file-name))
+ errors "\n"))
+
+
+;;; Data matchers
+
+(buttercup-define-matcher :to-be-empty-string (s)
+ (let ((s (funcall s)))
+ (if (equal s "")
+ (cons t (format "Expected %S not be an empty string" s))
+ (cons nil (format "Expected %S to be an empty string" s)))))
+
+(buttercup-define-matcher :to-match-with-group (re s index match)
+ (let* ((re (funcall re))
+ (s (funcall s))
+ (index (funcall index))
+ (match (funcall match))
+ (matches? (string-match re s))
+ (result (and matches? (match-string index s))))
+ (if (and matches? (equal result match))
+ (cons t (format "Expected %S not to match %S with %S in group %s"
+ re s match index))
+
+ (cons nil (format "Expected %S to match %S with %S in group %s, %s"
+ re s match index
+ (if matches?
+ (format "but got %S" result)
+ "but did not match"))))))
+
+
+;;; Emacs feature matchers
+
+(buttercup-define-matcher :to-be-live (buffer)
+ (let ((buffer (get-buffer (funcall buffer))))
+ (if (buffer-live-p buffer)
+ (cons t (format "Expected %S not to be a live buffer, but it is"
+ buffer))
+ (cons nil (format "Expected %S to be a live buffer, but it is not"
+ buffer)))))
+
+(buttercup-define-matcher :to-be-visible (buffer)
+ (let ((buffer (get-buffer (funcall buffer))))
+ (cond
+ ((and buffer (get-buffer-window buffer))
+ (cons t (format "Expected %S not to be a visible buffer, but it is"
+ buffer)))
+ ((not (bufferp buffer))
+ (cons nil
+ (format "Expected %S to be a visible buffer, but it is not a buffer"
+ buffer)))
+ (t (cons
+ nil
+ (format "Expected %S to be a visible buffer, but it is not visible"
+ buffer))))))
+
+(buttercup-define-matcher :to-be-local (symbol)
+ (let ((symbol (funcall symbol)))
+ (if (local-variable-p symbol)
+ (cons t (format "Expected %S not to be a local variable, but it is"
+ symbol))
+ (cons nil (format "Expected %S to be a local variable, but it is not"
+ symbol)))))
+
+(buttercup-define-matcher :to-contain-match (buffer re)
+ (let ((buffer (funcall buffer))
+ (re (funcall re)))
+ (if (not (get-buffer buffer))
+ (cons nil (format "Expected %S to contain a match of %s, \
+but is not a buffer" buffer re))
+ (with-current-buffer buffer
+ (save-excursion
+ (goto-char (point-min))
+ (if (re-search-forward re nil 'noerror)
+ (cons t (format "Expected %S to contain a match \
+for %s, but it did not" buffer re))
+ (cons nil (format "Expected %S not to contain a match for \
+%s but it did not." buffer re))))))))
+
+
+;;; Flycheck matchers
+
+(buttercup-define-matcher :to-be-equal-flycheck-errors (a b)
+ (let* ((a (funcall a))
+ (b (funcall b))
+ (a-formatted (flycheck-buttercup-format-error-list a))
+ (b-formatted (flycheck-buttercup-format-error-list b)))
+ (if (equal a b)
+ (cons t (format "Expected
+%s
+not to be equal to
+%s" a-formatted b-formatted))
+ (cons nil (format "Expected
+%s
+to be equal to
+%s" a-formatted b-formatted)))))
+
+(provide 'flycheck-buttercup)
+
+;; Disable byte compilation for this library, to prevent package.el choking on a
+;; missing `buttercup' library. See
+;; https://github.com/flycheck/flycheck/issues/860
+
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
+
+;;; flycheck-buttercup.el ends here
diff --git a/emacs.d/elpa/flycheck-20200427.12/flycheck-ert.el b/emacs.d/elpa/flycheck-20200427.12/flycheck-ert.el
new file mode 100644
index 0000000..c58b294
--- /dev/null
+++ b/emacs.d/elpa/flycheck-20200427.12/flycheck-ert.el
@@ -0,0 +1,495 @@
+;;; flycheck-ert.el --- Flycheck: ERT extensions -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2017-2018 Flycheck contributors
+;; Copyright (C) 2013-2016 Sebastian Wiesner and Flycheck contributors
+
+;; Author: Sebastian Wiesner <swiesner@lunaryorn.com>
+;; Maintainer: Clément Pit-Claudel <clement.pitclaudel@live.com>
+;; fmdkdd <fmdkdd@gmail.com>
+;; URL: https://github.com/flycheck/flycheck
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Unit testing library for Flycheck, the modern on-the-fly syntax checking
+;; extension for GNU Emacs.
+
+;; Provide various utility functions and unit test helpers to test Flycheck and
+;; Flycheck extensions.
+
+;;; Code:
+
+(require 'flycheck)
+(require 'ert)
+(require 'macroexp) ; For macro utilities
+
+
+;;; Compatibility
+
+(eval-and-compile
+ ;; Provide `ert-skip' and friends for Emacs 24.3
+ (defconst flycheck-ert-ert-can-skip (fboundp 'ert-skip)
+ "Whether ERT supports test skipping.")
+
+ (unless (fboundp 'define-error)
+ ;; from Emacs `subr.el'
+ (defun define-error (name message &optional parent)
+ "Define NAME as a new error signal.
+MESSAGE is a string that will be output to the echo area if such an error
+is signaled without being caught by a `condition-case'.
+PARENT is either a signal or a list of signals from which it inherits.
+Defaults to `error'."
+ (unless parent (setq parent 'error))
+ (let ((conditions
+ (if (consp parent)
+ (apply #'append
+ (mapcar
+ (lambda (parent)
+ (cons parent
+ (or (get parent 'error-conditions)
+ (error "Unknown signal `%s'" parent))))
+ parent))
+ (cons parent (get parent 'error-conditions)))))
+ (put name 'error-conditions
+ (delete-dups (copy-sequence (cons name conditions))))
+ (when message (put name 'error-message message)))))
+
+ (unless flycheck-ert-ert-can-skip
+ ;; Fake skipping
+
+ (define-error 'flycheck-ert-skipped "Test skipped")
+
+ (defun ert-skip (data)
+ (signal 'flycheck-ert-skipped data))
+
+ (defmacro skip-unless (form)
+ `(unless (ignore-errors ,form)
+ (signal 'flycheck-ert-skipped ',form)))
+
+ (defun ert-test-skipped-p (result)
+ (and (ert-test-failed-p result)
+ (eq (car (ert-test-failed-condition result))
+ 'flycheck-ert-skipped)))))
+
+
+;;; Internal variables
+
+(defvar flycheck-ert--resource-directory nil
+ "The directory to get resources from in this test suite.")
+
+
+;;; Resource management macros
+
+(defmacro flycheck-ert-with-temp-buffer (&rest body)
+ "Eval BODY within a temporary buffer.
+
+Like `with-temp-buffer', but resets the modification state of the
+temporary buffer to make sure that it is properly killed even if
+it has a backing file and is modified."
+ (declare (indent 0) (debug t))
+ `(with-temp-buffer
+ (unwind-protect
+ ,(macroexp-progn body)
+ ;; Reset modification state of the buffer, and unlink it from its backing
+ ;; file, if any, because Emacs refuses to kill modified buffers with
+ ;; backing files, even if they are temporary.
+ (set-buffer-modified-p nil)
+ (set-visited-file-name nil 'no-query))))
+
+(defmacro flycheck-ert-with-file-buffer (file-name &rest body)
+ "Create a buffer from FILE-NAME and eval BODY.
+
+BODY is evaluated with `current-buffer' being a buffer with the
+contents FILE-NAME."
+ (declare (indent 1) (debug t))
+ `(let ((file-name ,file-name))
+ (unless (file-exists-p file-name)
+ (error "%s does not exist" file-name))
+ (flycheck-ert-with-temp-buffer
+ (insert-file-contents file-name 'visit)
+ (set-visited-file-name file-name 'no-query)
+ (cd (file-name-directory file-name))
+ ;; Mark the buffer as not modified, because we just loaded the file up to
+ ;; now.
+ (set-buffer-modified-p nil)
+ ,@body)))
+
+(defmacro flycheck-ert-with-help-buffer (&rest body)
+ "Execute BODY and kill the help buffer afterwards.
+
+Use this macro to test functions that create a Help buffer."
+ (declare (indent 0))
+ `(unwind-protect
+ ,(macroexp-progn body)
+ (when (buffer-live-p (get-buffer (help-buffer)))
+ (kill-buffer (help-buffer)))))
+
+(defmacro flycheck-ert-with-global-mode (&rest body)
+ "Execute BODY with Global Flycheck Mode enabled.
+
+After BODY, restore the old state of Global Flycheck Mode."
+ (declare (indent 0))
+ `(let ((old-state global-flycheck-mode))
+ (unwind-protect
+ (progn
+ (global-flycheck-mode 1)
+ ,@body)
+ (global-flycheck-mode (if old-state 1 -1)))))
+
+(defmacro flycheck-ert-with-env (env &rest body)
+ "Add ENV to `process-environment' in BODY.
+
+Execute BODY with a `process-environment' which contains all
+variables from ENV added.
+
+ENV is an alist, where each cons cell `(VAR . VALUE)' is a
+environment variable VAR to be added to `process-environment'
+with VALUE."
+ (declare (indent 1))
+ `(let ((process-environment (copy-sequence process-environment)))
+ (pcase-dolist (`(,var . ,value) ,env)
+ (setenv var value))
+ ,@body))
+
+
+;;; Test resources
+(defun flycheck-ert-resource-filename (resource-file)
+ "Determine the absolute file name of a RESOURCE-FILE.
+
+Relative file names are expanded against
+`flycheck-ert--resource-directory'."
+ (expand-file-name resource-file flycheck-ert--resource-directory))
+
+(defmacro flycheck-ert-with-resource-buffer (resource-file &rest body)
+ "Create a temp buffer from a RESOURCE-FILE and execute BODY.
+
+The absolute file name of RESOURCE-FILE is determined with
+`flycheck-ert-resource-filename'."
+ (declare (indent 1))
+ `(flycheck-ert-with-file-buffer
+ (flycheck-ert-resource-filename ,resource-file)
+ ,@body))
+
+
+;;; Test suite initialization
+
+(defun flycheck-ert-initialize (resource-dir)
+ "Initialize a test suite with RESOURCE-DIR.
+
+RESOURCE-DIR is the directory, `flycheck-ert-resource-filename'
+should use to lookup resource files."
+ (when flycheck-ert--resource-directory
+ (error "Test suite already initialized"))
+ (let ((tests (ert-select-tests t t)))
+ ;; Select all tests
+ (unless tests
+ (error "No tests defined. \
+Call `flycheck-ert-initialize' after defining all tests!"))
+
+ (setq flycheck-ert--resource-directory resource-dir)
+
+ ;; Emacs 24.3 don't support skipped tests, so we add poor man's test
+ ;; skipping: We mark skipped tests as expected failures by adjusting the
+ ;; expected result of all test cases. Not particularly pretty, but works :)
+ (unless flycheck-ert-ert-can-skip
+ (dolist (test tests)
+ (let ((result (ert-test-expected-result-type test)))
+ (setf (ert-test-expected-result-type test)
+ `(or ,result (satisfies ert-test-skipped-p))))))))
+
+
+;;; Test case definitions
+(defmacro flycheck-ert-def-checker-test (checker language name
+ &rest keys-and-body)
+ "Define a test case for a syntax CHECKER for LANGUAGE.
+
+CHECKER is a symbol or a list of symbols denoting syntax checkers
+being tested by the test. The test case is skipped, if any of
+these checkers cannot be used. LANGUAGE is a symbol or a list of
+symbols denoting the programming languages supported by the
+syntax checkers. This is currently only used for tagging the
+test appropriately.
+
+NAME is a symbol denoting the local name of the test. The test
+itself is ultimately named
+`flycheck-define-checker/CHECKER/NAME'. If CHECKER is a list,
+the first checker in the list is used for naming the test.
+
+Optionally, the keyword arguments `:tags' and `:expected-result'
+may be given. They have the same meaning as in `ert-deftest.',
+and are added to the tags and result expectations set up by this
+macro.
+
+The remaining forms KEYS-AND-BODY denote the body of the test
+case, including assertions and setup code."
+ (declare (indent 3))
+ (unless checker
+ (error "No syntax checkers specified"))
+ (unless language
+ (error "No languages specified"))
+ (let* ((checkers (if (symbolp checker) (list checker) checker))
+ (checker (car checkers))
+ (languages (if (symbolp language) (list language) language))
+ (language-tags (mapcar (lambda (l) (intern (format "language-%s" l)))
+ languages))
+ (checker-tags (mapcar (lambda (c) (intern (format "checker-%s" c)))
+ checkers))
+ (local-name (or name 'default))
+ (full-name (intern (format "flycheck-define-checker/%s/%s"
+ checker local-name)))
+ (keys-and-body (ert--parse-keys-and-body keys-and-body))
+ (body (cadr keys-and-body))
+ (keys (car keys-and-body))
+ (default-tags '(syntax-checker external-tool)))
+ `(ert-deftest ,full-name ()
+ :expected-result ,(or (plist-get keys :expected-result) :passed)
+ :tags (append ',(append default-tags language-tags checker-tags)
+ ,(plist-get keys :tags))
+ ,@(mapcar (lambda (c)
+ `(skip-unless
+ ;; Ignore non-command checkers
+ (or (not (flycheck-checker-get ',c 'command))
+ (executable-find (flycheck-checker-executable ',c)))))
+ checkers)
+ ,@body)))
+
+
+;;; Test case results
+
+(defun flycheck-ert-syntax-check-timed-out-p (result)
+ "Whether RESULT denotes a timed-out test.
+
+RESULT is an ERT test result object."
+ (and (ert-test-failed-p result)
+ (eq (car (ert-test-failed-condition result))
+ 'flycheck-ert-syntax-check-timed-out)))
+
+
+;;; Syntax checking in tests
+
+(defvar-local flycheck-ert-syntax-checker-finished nil
+ "Non-nil if the current checker has finished.")
+
+(add-hook 'flycheck-after-syntax-check-hook
+ (lambda () (setq flycheck-ert-syntax-checker-finished t)))
+
+(defconst flycheck-ert-checker-wait-time 10
+ "Time to wait until a checker is finished in seconds.
+
+After this time has elapsed, the checker is considered to have
+failed, and the test aborted with failure.")
+
+(define-error 'flycheck-ert-syntax-check-timed-out "Syntax check timed out.")
+
+(defun flycheck-ert-wait-for-syntax-checker ()
+ "Wait until the syntax check in the current buffer is finished."
+ (let ((starttime (float-time)))
+ (while (and (not flycheck-ert-syntax-checker-finished)
+ (< (- (float-time) starttime) flycheck-ert-checker-wait-time))
+ (accept-process-output nil 0.02))
+ (unless (< (- (float-time) starttime) flycheck-ert-checker-wait-time)
+ (flycheck-stop)
+ (signal 'flycheck-ert-syntax-check-timed-out nil)))
+ (setq flycheck-ert-syntax-checker-finished nil))
+
+(defun flycheck-ert-buffer-sync ()
+ "Like `flycheck-buffer', but synchronously."
+ (setq flycheck-ert-syntax-checker-finished nil)
+ (should (not (flycheck-running-p)))
+ (flycheck-mode) ;; This will only start a deferred check,
+ (should (flycheck-get-checker-for-buffer))
+ (flycheck-buffer) ;; …so we need an explicit manual check
+ ;; After starting the check, the checker should either be running now, or
+ ;; already be finished (if it was fast).
+ (should (or flycheck-current-syntax-check
+ flycheck-ert-syntax-checker-finished))
+ ;; Also there should be no deferred check pending anymore
+ (should-not (flycheck-deferred-check-p))
+ (flycheck-ert-wait-for-syntax-checker))
+
+(defun flycheck-ert-ensure-clear ()
+ "Clear the current buffer.
+
+Raise an assertion error if the buffer is not clear afterwards."
+ (flycheck-clear)
+ (should (not flycheck-current-errors))
+ (should (not (-any? (lambda (ov) (overlay-get ov 'flycheck-overlay))
+ (overlays-in (point-min) (point-max))))))
+
+
+;;; Test assertions
+
+(defun flycheck-error-without-group (err)
+ "Return a copy ERR with the `group' property set to nil."
+ (let ((copy (copy-flycheck-error err)))
+ (setf (flycheck-error-group copy) nil)
+ copy))
+
+(defun flycheck-ert-should-overlay (error)
+ "Test that ERROR has a proper overlay in the current buffer.
+
+ERROR is a Flycheck error object."
+ (let* ((overlay (-first (lambda (ov)
+ (equal (flycheck-error-without-group
+ (overlay-get ov 'flycheck-error))
+ (flycheck-error-without-group error)))
+ (flycheck-overlays-in 0 (+ 1 (buffer-size)))))
+ (region
+ ;; Overlays of errors from other files are on the first line
+ (if (flycheck-relevant-error-other-file-p error)
+ (cons (point-min)
+ (save-excursion (goto-char (point-min)) (point-at-eol)))
+ (flycheck-error-region-for-mode error 'symbols)))
+ (level (flycheck-error-level error))
+ (category (flycheck-error-level-overlay-category level))
+ (face (get category 'face))
+ (fringe-bitmap (flycheck-error-level-fringe-bitmap level))
+ (fringe-face (flycheck-error-level-fringe-face level))
+ (fringe-icon (list 'left-fringe fringe-bitmap fringe-face)))
+ (should overlay)
+ (should (overlay-get overlay 'flycheck-overlay))
+ (should (= (overlay-start overlay) (car region)))
+ (should (= (overlay-end overlay) (cdr region)))
+ (should (eq (overlay-get overlay 'face) face))
+ (should (equal (get-char-property 0 'display
+ (overlay-get overlay 'before-string))
+ fringe-icon))
+ (should (eq (overlay-get overlay 'category) category))
+ (should (equal (flycheck-error-without-group (overlay-get overlay
+ 'flycheck-error))
+ (flycheck-error-without-group error)))))
+
+(defun flycheck-ert-should-errors (&rest errors)
+ "Test that the current buffers has ERRORS.
+
+ERRORS is a list of errors expected to be present in the current
+buffer. Each error is given as a list of arguments to
+`flycheck-error-new-at'.
+
+If ERRORS are omitted, test that there are no errors at all in
+the current buffer.
+
+With ERRORS, test that each error in ERRORS is present in the
+current buffer, and that the number of errors in the current
+buffer is equal to the number of given ERRORS. In other words,
+check that the buffer has all ERRORS, and no other errors."
+ (let ((expected (mapcar (apply-partially #'apply #'flycheck-error-new-at)
+ errors)))
+ (should (equal (mapcar #'flycheck-error-without-group expected)
+ (mapcar #'flycheck-error-without-group
+ flycheck-current-errors)))
+ ;; Check that related errors are the same
+ (cl-mapcar (lambda (err1 err2)
+ (should (equal (mapcar #'flycheck-error-without-group
+ (flycheck-related-errors err1 expected))
+ (mapcar #'flycheck-error-without-group
+ (flycheck-related-errors err2)))))
+ expected flycheck-current-errors)
+ (mapc #'flycheck-ert-should-overlay expected))
+ (should (= (length errors)
+ (length (flycheck-overlays-in (point-min) (point-max))))))
+
+(define-error 'flycheck-ert-suspicious-checker "Suspicious state from checker")
+
+(defun flycheck-ert-should-syntax-check-in-buffer (&rest errors)
+ "Test a syntax check in BUFFER, expecting ERRORS.
+
+This is like `flycheck-ert-should-syntax-check', but with a
+buffer in the right mode instead of a file."
+ ;; Load safe file-local variables because some tests depend on them
+ (let ((enable-local-variables :safe)
+ ;; Disable all hooks at this place, to prevent 3rd party packages
+ ;; from interfering
+ (hack-local-variables-hook))
+ (hack-local-variables))
+ ;; Configure config file locating for unit tests
+ (let ((process-hook-called 0)
+ (suspicious nil))
+ (add-hook 'flycheck-process-error-functions
+ (lambda (_err)
+ (setq process-hook-called (1+ process-hook-called))
+ nil)
+ nil :local)
+ (add-hook 'flycheck-status-changed-functions
+ (lambda (status)
+ (when (eq status 'suspicious)
+ (setq suspicious t)))
+ nil :local)
+ (flycheck-ert-buffer-sync)
+ (when suspicious
+ (signal 'flycheck-ert-suspicious-checker nil))
+ (apply #'flycheck-ert-should-errors errors)
+ (should (= process-hook-called (length errors))))
+ (flycheck-ert-ensure-clear))
+
+(defun flycheck-ert-should-syntax-check (resource-file modes &rest errors)
+ "Test a syntax check in RESOURCE-FILE with MODES.
+
+RESOURCE-FILE is the file to check. MODES is a single major mode
+symbol or a list thereof, specifying the major modes to syntax
+check with. If more than one major mode is specified, the test
+is run for each mode separately, so if you give three major
+modes, the entire test will run three times. ERRORS is the list
+of expected errors, as in `flycheck-ert-should-errors'. If
+omitted, the syntax check must not emit any errors. The errors
+are cleared after each test.
+
+The syntax checker is selected via standard syntax checker
+selection. To test a specific checker, you need to set
+`flycheck-checker' or `flycheck-disabled-checkers' accordingly
+before using this predicate, depending on whether you want to use
+manual or automatic checker selection.
+
+During the syntax check, configuration files of syntax checkers
+are also searched in the `config-files' sub-directory of the
+resource directory."
+ (when (symbolp modes)
+ (setq modes (list modes)))
+ (dolist (mode modes)
+ (unless (fboundp mode)
+ (ert-skip (format "%S missing" mode)))
+ (flycheck-ert-with-resource-buffer resource-file
+ (funcall mode)
+ (apply #'flycheck-ert-should-syntax-check-in-buffer errors))))
+
+(defun flycheck-ert-at-nth-error (n)
+ "Determine whether point is at the N'th Flycheck error.
+
+Return non-nil if the point is at the N'th Flycheck error in the
+current buffer. Otherwise return nil."
+ (let* ((error (nth (1- n) flycheck-current-errors))
+ (mode flycheck-highlighting-mode)
+ (region (flycheck-error-region-for-mode error mode)))
+ (and (member error (flycheck-overlay-errors-at (point)))
+ (= (point) (car region)))))
+
+(defun flycheck-ert-explain--at-nth-error (n)
+ "Explain a failed at-nth-error predicate at N."
+ (let ((errors (flycheck-overlay-errors-at (point))))
+ (if (null errors)
+ (format "Expected to be at error %s, but no error at point %s"
+ n (point))
+ (let ((pos (cl-position (car errors) flycheck-current-errors)))
+ (format "Expected to be at error %s, but point %s is at error %s"
+ n (point) (1+ pos))))))
+
+(put 'flycheck-ert-at-nth-error 'ert-explainer
+ 'flycheck-ert-explain--at-nth-error)
+
+(provide 'flycheck-ert)
+
+;;; flycheck-ert.el ends here
diff --git a/emacs.d/elpa/flycheck-20200427.12/flycheck-pkg.el b/emacs.d/elpa/flycheck-20200427.12/flycheck-pkg.el
new file mode 100644
index 0000000..23c5624
--- /dev/null
+++ b/emacs.d/elpa/flycheck-20200427.12/flycheck-pkg.el
@@ -0,0 +1,16 @@
+(define-package "flycheck" "20200427.12" "On-the-fly syntax checking"
+ '((dash "2.12.1")
+ (pkg-info "0.4")
+ (let-alist "1.0.4")
+ (seq "1.11")
+ (emacs "24.3"))
+ :keywords
+ '("convenience" "languages" "tools")
+ :authors
+ '(("Sebastian Wiesner" . "swiesner@lunaryorn.com"))
+ :maintainer
+ '("Clément Pit-Claudel" . "clement.pitclaudel@live.com")
+ :url "http://www.flycheck.org")
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
diff --git a/emacs.d/elpa/flycheck-20200427.12/flycheck.el b/emacs.d/elpa/flycheck-20200427.12/flycheck.el
new file mode 100644
index 0000000..bce312a
--- /dev/null
+++ b/emacs.d/elpa/flycheck-20200427.12/flycheck.el
@@ -0,0 +1,11825 @@
+;;; flycheck.el --- On-the-fly syntax checking -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2017-2019 Flycheck contributors
+;; Copyright (C) 2012-2016 Sebastian Wiesner and Flycheck contributors
+;; Copyright (C) 2013, 2014 Free Software Foundation, Inc.
+;;
+;; Author: Sebastian Wiesner <swiesner@lunaryorn.com>
+;; Maintainer: Clément Pit-Claudel <clement.pitclaudel@live.com>
+;; fmdkdd <fmdkdd@gmail.com>
+;; URL: http://www.flycheck.org
+;; Keywords: convenience, languages, tools
+;; Version: 32-cvs
+;; Package-Requires: ((dash "2.12.1") (pkg-info "0.4") (let-alist "1.0.4") (seq "1.11") (emacs "24.3"))
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; On-the-fly syntax checking for GNU Emacs 24.
+;;
+;; Flycheck is a modern on-the-fly syntax checking extension for GNU Emacs,
+;; intended as replacement for the older Flymake extension which is part of GNU
+;; Emacs.
+;;
+;; Flycheck automatically checks buffers for errors while you type, and reports
+;; warnings and errors directly in the buffer and in an optional IDE-like error
+;; list.
+;;
+;; It comes with a rich interface for custom syntax checkers and other
+;; extensions, and has already many 3rd party extensions adding new features.
+;;
+;; Please read the online manual at http://www.flycheck.org for more
+;; information. You can open the manual directly from Emacs with `M-x
+;; flycheck-manual'.
+;;
+;; # Setup
+;;
+;; Flycheck works best on Unix systems. It does not officially support Windows,
+;; but tries to maintain Windows compatibility and should generally work fine on
+;; Windows, too.
+;;
+;; To enable Flycheck add the following to your init file:
+;;
+;; (add-hook 'after-init-hook #'global-flycheck-mode)
+;;
+;; Flycheck will then automatically check buffers in supported languages, as
+;; long as all necessary tools are present. Use `flycheck-verify-setup' to
+;; troubleshoot your Flycheck setup.
+
+;;; Code:
+
+(eval-when-compile
+ (require 'let-alist) ; `let-alist'
+ (require 'compile) ; Compile Mode integration
+ (require 'jka-compr) ; To inhibit compression of temp files
+ (require 'pcase) ; `pcase-dolist' (`pcase' itself is autoloaded)
+ )
+
+(require 'dash)
+
+(require 'seq) ; Sequence functions
+(require 'subr-x nil 'no-error) ; Additional utilities, Emacs 24.4 and upwards
+(require 'cl-lib) ; `cl-defstruct' and CL utilities
+(require 'tabulated-list) ; To list errors
+(require 'easymenu) ; Flycheck Mode menu definition
+(require 'rx) ; Regexp fanciness in `flycheck-define-checker'
+(require 'help-mode) ; `define-button-type'
+(require 'find-func) ; `find-function-regexp-alist'
+(require 'json) ; `flycheck-parse-tslint'
+(require 'ansi-color) ; `flycheck-parse-with-patterns-without-color'
+
+
+;; Declare a bunch of dynamic variables that we need from other modes
+(defvar sh-shell) ; For shell script checker predicates
+(defvar ess-language) ; For r-lintr predicate
+
+;; Tell the byte compiler about autoloaded functions from packages
+(declare-function pkg-info-version-info "pkg-info" (package))
+
+
+;;; Compatibility
+(eval-and-compile
+ (unless (fboundp 'string-suffix-p)
+ ;; TODO: Remove when dropping support for Emacs 24.3 and earlier
+ (defun string-suffix-p (suffix string &optional ignore-case)
+ "Return non-nil if SUFFIX is a suffix of STRING.
+If IGNORE-CASE is non-nil, the comparison is done without paying
+attention to case differences."
+ (let ((start-pos (- (length string) (length suffix))))
+ (and (>= start-pos 0)
+ (eq t (compare-strings suffix nil nil
+ string start-pos nil ignore-case))))))
+
+ ;; TODO: Remove when dropping support for Emacs 24.3 and earlier
+ (unless (featurep 'subr-x)
+ ;; `subr-x' function for Emacs 24.3 and below
+ (defsubst string-join (strings &optional separator)
+ "Join all STRINGS using SEPARATOR."
+ (mapconcat 'identity strings separator))
+
+ (defsubst string-trim-left (string)
+ "Remove leading whitespace from STRING."
+ (if (string-match "\\`[ \t\n\r]+" string)
+ (replace-match "" t t string)
+ string))
+
+ (defsubst string-trim-right (string)
+ "Remove trailing whitespace from STRING."
+ (if (string-match "[ \t\n\r]+\\'" string)
+ (replace-match "" t t string)
+ string))
+
+ (defsubst string-trim (string)
+ "Remove leading and trailing whitespace from STRING."
+ (string-trim-left (string-trim-right string)))
+
+ (defsubst string-empty-p (string)
+ "Check whether STRING is empty."
+ (string= string ""))))
+
+
+;;; Customization
+(defgroup flycheck nil
+ "Modern on-the-fly syntax checking for GNU Emacs."
+ :prefix "flycheck-"
+ :group 'tools
+ :link '(url-link :tag "Website" "http://www.flycheck.org")
+ :link '(url-link :tag "Github" "https://github.com/flycheck/flycheck"))
+
+(defgroup flycheck-config-files nil
+ "Configuration files for on-the-fly syntax checkers."
+ :prefix "flycheck-"
+ :group 'flycheck)
+
+(defgroup flycheck-options nil
+ "Options for on-the-fly syntax checkers."
+ :prefix "flycheck-"
+ :group 'flycheck)
+
+(defgroup flycheck-executables nil
+ "Executables of syntax checkers."
+ :prefix "flycheck-"
+ :group 'flycheck)
+
+(defgroup flycheck-faces nil
+ "Faces used by on-the-fly syntax checking."
+ :prefix "flycheck-"
+ :group 'flycheck)
+
+(defcustom flycheck-checkers
+ '(ada-gnat
+ asciidoctor
+ asciidoc
+ awk-gawk
+ bazel-buildifier
+ c/c++-clang
+ c/c++-gcc
+ c/c++-cppcheck
+ cfengine
+ chef-foodcritic
+ coffee
+ coffee-coffeelint
+ coq
+ css-csslint
+ css-stylelint
+ cuda-nvcc
+ cwl
+ d-dmd
+ dockerfile-hadolint
+ elixir-credo
+ emacs-lisp
+ emacs-lisp-checkdoc
+ ember-template
+ erlang-rebar3
+ erlang
+ eruby-erubis
+ eruby-ruumba
+ fortran-gfortran
+ go-gofmt
+ go-golint
+ go-vet
+ go-build
+ go-test
+ go-errcheck
+ go-unconvert
+ go-staticcheck
+ groovy
+ haml
+ handlebars
+ haskell-stack-ghc
+ haskell-ghc
+ haskell-hlint
+ html-tidy
+ javascript-eslint
+ javascript-jshint
+ javascript-standard
+ json-jsonlint
+ json-python-json
+ json-jq
+ jsonnet
+ less
+ less-stylelint
+ llvm-llc
+ lua-luacheck
+ lua
+ markdown-markdownlint-cli
+ markdown-mdl
+ nix
+ nix-linter
+ opam
+ perl
+ perl-perlcritic
+ php
+ php-phpmd
+ php-phpcs
+ processing
+ proselint
+ protobuf-protoc
+ protobuf-prototool
+ pug
+ puppet-parser
+ puppet-lint
+ python-flake8
+ python-pylint
+ python-pycompile
+ python-mypy
+ r-lintr
+ racket
+ rpm-rpmlint
+ rst-sphinx
+ rst
+ ruby-rubocop
+ ruby-standard
+ ruby-reek
+ ruby-rubylint
+ ruby
+ ruby-jruby
+ rust-cargo
+ rust
+ rust-clippy
+ scala
+ scala-scalastyle
+ scheme-chicken
+ scss-lint
+ scss-stylelint
+ sass/scss-sass-lint
+ sass
+ scss
+ sh-bash
+ sh-posix-dash
+ sh-posix-bash
+ sh-zsh
+ sh-shellcheck
+ slim
+ slim-lint
+ sql-sqlint
+ systemd-analyze
+ tcl-nagelfar
+ terraform
+ terraform-tflint
+ tex-chktex
+ tex-lacheck
+ texinfo
+ textlint
+ typescript-tslint
+ verilog-verilator
+ vhdl-ghdl
+ xml-xmlstarlet
+ xml-xmllint
+ yaml-jsyaml
+ yaml-ruby
+ yaml-yamllint)
+ "Syntax checkers available for automatic selection.
+
+A list of Flycheck syntax checkers to choose from when syntax
+checking a buffer. Flycheck will automatically select a suitable
+syntax checker from this list, unless `flycheck-checker' is set,
+either directly or with `flycheck-select-checker'.
+
+You should not need to change this variable normally. In order
+to disable syntax checkers, please use
+`flycheck-disabled-checkers'. This variable is intended for 3rd
+party extensions to tell Flycheck about new syntax checkers.
+
+Syntax checkers in this list must be defined with
+`flycheck-define-checker'."
+ :group 'flycheck
+ :type '(repeat (symbol :tag "Checker"))
+ :risky t)
+
+(defcustom flycheck-disabled-checkers nil
+ "Syntax checkers excluded from automatic selection.
+
+A list of Flycheck syntax checkers to exclude from automatic
+selection. Flycheck will never automatically select a syntax
+checker in this list, regardless of the value of
+`flycheck-checkers'.
+
+However, syntax checkers in this list are still available for
+manual selection with `flycheck-select-checker'.
+
+Use this variable to disable syntax checkers, instead of removing
+the syntax checkers from `flycheck-checkers'. You may also use
+this option as a file or directory local variable to disable
+specific checkers in individual files and directories
+respectively."
+ :group 'flycheck
+ :type '(repeat (symbol :tag "Checker"))
+ :package-version '(flycheck . "0.16")
+ :safe #'flycheck-symbol-list-p)
+(make-variable-buffer-local 'flycheck-disabled-checkers)
+
+(defvar-local flycheck--automatically-disabled-checkers nil
+ "List of syntax checkers automatically disabled for this buffer.
+
+A checker can be automatically disabled in two cases:
+
+1. Its `:enabled' predicate returned false.
+2. It returned too many errors (see `flycheck-checker-error-threshold').
+
+To trigger a reverification from Emacs Lisp code, do not modify
+this variable: use `flycheck-reset-enabled-checker'.")
+
+(defvar-local flycheck-checker nil
+ "Syntax checker to use for the current buffer.
+
+If unset or nil, automatically select a suitable syntax checker
+from `flycheck-checkers' on every syntax check.
+
+If set to a syntax checker only use this syntax checker and never
+select one from `flycheck-checkers' automatically. The syntax
+checker is used regardless of whether it is contained in
+`flycheck-checkers' or `flycheck-disabled-checkers'. If the
+syntax checker is unusable in the current buffer an error is
+signaled.
+
+A syntax checker assigned to this variable must be defined with
+`flycheck-define-checker'.
+
+Use the command `flycheck-select-checker' to select a syntax
+checker for the current buffer, or set this variable as file
+local variable to always use a specific syntax checker for a
+file. See Info Node `(emacs)Specifying File Variables' for more
+information about file variables.")
+(put 'flycheck-checker 'safe-local-variable 'flycheck-registered-checker-p)
+
+(defcustom flycheck-locate-config-file-functions nil
+ "Functions to locate syntax checker configuration files.
+
+Each function in this hook must accept two arguments: The value
+of the configuration file variable, and the syntax checker
+symbol. It must return either a string with an absolute path to
+the configuration file, or nil, if it cannot locate the
+configuration file.
+
+The functions in this hook are called in order of appearance, until a
+function returns non-nil. The configuration file returned by that
+function is then given to the syntax checker if it exists.
+
+This variable is an abnormal hook. See Info
+node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t)
+
+(defcustom flycheck-checker-error-threshold 400
+ "Maximum errors allowed per syntax checker.
+
+The value of this variable is either an integer denoting the
+maximum number of errors per syntax checker and buffer, or nil to
+not limit the errors reported from a syntax checker.
+
+If this variable is a number and a syntax checker reports more
+errors than the value of this variable, its errors are not
+discarded, and not highlighted in the buffer or available in the
+error list. The affected syntax checker is also disabled for
+future syntax checks of the buffer."
+ :group 'flycheck
+ :type '(choice (const :tag "Do not limit reported errors" nil)
+ (integer :tag "Maximum number of errors"))
+ :risky t
+ :package-version '(flycheck . "0.22"))
+
+(defcustom flycheck-process-error-functions nil
+ "Functions to process errors.
+
+Each function in this hook must accept a single argument: A
+Flycheck error to process.
+
+All functions in this hook are called in order of appearance,
+until a function returns non-nil. Thus, a function in this hook
+may return nil, to allow for further processing of the error, or
+any non-nil value, to indicate that the error was fully processed
+and inhibit any further processing.
+
+The functions are called for each newly parsed error immediately
+after the corresponding syntax checker finished. At this stage,
+the overlays from the previous syntax checks are still present,
+and there may be further syntax checkers in the chain.
+
+This variable is an abnormal hook. See Info
+node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :package-version '(flycheck . "0.13")
+ :risky t)
+
+(defcustom flycheck-display-errors-delay 0.9
+ "Delay in seconds before displaying errors at point.
+
+Use floating point numbers to express fractions of seconds."
+ :group 'flycheck
+ :type 'number
+ :package-version '(flycheck . "0.15")
+ :safe #'numberp)
+
+(defcustom flycheck-display-errors-function #'flycheck-display-error-messages
+ "Function to display error messages.
+
+If set to a function, call the function with the list of errors
+to display as single argument. Each error is an instance of the
+`flycheck-error' struct.
+
+If set to nil, do not display errors at all."
+ :group 'flycheck
+ :type '(choice (const :tag "Display error messages"
+ flycheck-display-error-messages)
+ (const :tag "Display error messages only if no error list"
+ flycheck-display-error-messages-unless-error-list)
+ (function :tag "Error display function"))
+ :package-version '(flycheck . "0.13")
+ :risky t)
+
+(defcustom flycheck-help-echo-function #'flycheck-help-echo-all-error-messages
+ "Function to compute the contents of the error tooltips.
+
+If set to a function, call the function with the list of errors
+to display as single argument. Each error is an instance of the
+`flycheck-error' struct. The function is used to set the
+help-echo property of flycheck error overlays. It should return
+a string, which is displayed when the user hovers over an error
+or presses \\[display-local-help].
+
+If set to nil, do not show error tooltips."
+ :group 'flycheck
+ :type '(choice (const :tag "Concatenate error messages to form a tooltip"
+ flycheck-help-echo-all-error-messages)
+ (function :tag "Help echo function"))
+ :package-version '(flycheck . "0.25")
+ :risky t)
+
+(defcustom flycheck-command-wrapper-function #'identity
+ "Function to modify checker commands before execution.
+
+The value of this option is a function which is given a list
+containing the full command of a syntax checker after
+substitution through `flycheck-substitute-argument' but before
+execution. The function may return a new command for Flycheck to
+execute.
+
+The default value is `identity' which does not change the
+command. You may provide your own function to run Flycheck
+commands through `bundle exec', `nix-shell' or similar wrappers."
+ :group 'flycheck
+ :type '(choice (const :tag "Do not modify commands" identity)
+ (function :tag "Modify command with a custom function"))
+ :package-version '(flycheck . "0.25")
+ :risky t)
+
+(defcustom flycheck-executable-find #'flycheck-default-executable-find
+ "Function to search for executables.
+
+The value of this option is a function which is given the name or
+path of an executable and shall return the full path to the
+executable, or nil if the executable does not exit.
+
+The default is `flycheck-default-executable-find', which searches
+variable `exec-path' when given a command name, and resolves
+paths to absolute ones. You can customize this option to search
+for checkers in other environments such as bundle or NixOS
+sandboxes."
+ :group 'flycheck
+ :type '(choice
+ (const :tag "Search executables in `exec-path'"
+ flycheck-default-executable-find)
+ (function :tag "Search executables with a custom function"))
+ :package-version '(flycheck . "32")
+ :risky t)
+
+(defun flycheck-default-executable-find (executable)
+ "Resolve EXECUTABLE to a full path.
+
+Like `executable-find', but supports relative paths.
+
+Attempts invoking `executable-find' first; if that returns nil,
+and EXECUTABLE contains a directory component, expands to a full
+path and tries invoking `executable-find' again."
+ ;; file-name-directory returns non-nil iff the given path has a
+ ;; directory component.
+ (or
+ (executable-find executable)
+ (when (file-name-directory executable)
+ (executable-find (expand-file-name executable)))))
+
+(defcustom flycheck-indication-mode 'left-fringe
+ "The indication mode for Flycheck errors and warnings.
+
+This variable controls how Flycheck indicates errors in buffers.
+May either be `left-fringe', `right-fringe', or nil.
+
+If set to `left-fringe' or `right-fringe', indicate errors and
+warnings via icons in the left and right fringe respectively.
+
+If set to nil, do not indicate errors and warnings, but just
+highlight them according to `flycheck-highlighting-mode'."
+ :group 'flycheck
+ :type '(choice (const :tag "Indicate in the left fringe" left-fringe)
+ (const :tag "Indicate in the right fringe" right-fringe)
+ (const :tag "Do not indicate" nil))
+ :safe #'symbolp)
+
+(defcustom flycheck-highlighting-mode 'symbols
+ "The highlighting mode for Flycheck errors and warnings.
+
+The highlighting mode controls how Flycheck highlights errors in
+buffers when a checker only reports the starting position of an
+error. The following modes are known:
+
+`columns'
+ Highlight a single character. If the error does not have a column,
+ highlight the whole line.
+
+`symbols'
+ Highlight a full symbol if there is any, otherwise behave like `columns'.
+ This is the default.
+
+`sexps'
+ Highlight a full expression, if there is any, otherwise behave like
+ `columns'. Note that this mode can be *very* slow in some major modes.
+
+`lines'
+ Highlight the whole line.
+
+nil
+ Do not highlight errors at all. However, errors will still
+ be reported in the mode line and in error message popups,
+ and indicated according to `flycheck-indication-mode'."
+ :group 'flycheck
+ :type '(choice (const :tag "Highlight columns only" columns)
+ (const :tag "Highlight symbols" symbols)
+ (const :tag "Highlight expressions" sexps)
+ (const :tag "Highlight whole lines" lines)
+ (const :tag "Do not highlight errors" nil))
+ :package-version '(flycheck . "0.14")
+ :safe #'symbolp)
+
+(defcustom flycheck-check-syntax-automatically '(save
+ idle-change
+ new-line
+ mode-enabled)
+ "When Flycheck should check syntax automatically.
+
+This variable is a list of events that may trigger syntax checks.
+The following events are known:
+
+`save'
+ Check syntax immediately after the buffer was saved.
+
+`idle-change'
+ Check syntax a short time (see `flycheck-idle-change-delay')
+ after the last change to the buffer.
+
+`idle-buffer-switch'
+ Check syntax a short time (see `flycheck-idle-buffer-switch-delay')
+ after the user switches to a buffer.
+
+`new-line'
+ Check syntax immediately after a new line was inserted into
+ the buffer.
+
+`mode-enabled'
+ Check syntax immediately when variable `flycheck-mode' is
+ non-nil.
+
+Flycheck performs a syntax checks only on events, which are
+contained in this list. For instance, if the value of this
+variable is `(mode-enabled save)', Flycheck will only check if
+the mode is enabled or the buffer was saved, but never after
+changes to the buffer contents.
+
+If nil, never check syntax automatically. In this case, use
+`flycheck-buffer' to start a syntax check manually."
+ :group 'flycheck
+ :type '(set (const :tag "After the buffer was saved" save)
+ (const :tag "After the buffer was changed and idle" idle-change)
+ (const
+ :tag "After switching the current buffer" idle-buffer-switch)
+ (const :tag "After a new line was inserted" new-line)
+ (const :tag "After `flycheck-mode' was enabled" mode-enabled))
+ :package-version '(flycheck . "0.12")
+ :safe #'flycheck-symbol-list-p)
+
+(defcustom flycheck-idle-change-delay 0.5
+ "How many seconds to wait after a change before checking syntax.
+
+After the buffer was changed, Flycheck will wait as many seconds
+as the value of this variable before starting a syntax check. If
+the buffer is modified during this time, Flycheck will wait
+again.
+
+This variable has no effect, if `idle-change' is not contained in
+`flycheck-check-syntax-automatically'."
+ :group 'flycheck
+ :type 'number
+ :package-version '(flycheck . "0.13")
+ :safe #'numberp)
+
+(defcustom flycheck-idle-buffer-switch-delay 0.5
+ "How many seconds to wait after switching buffers before checking syntax.
+
+After the user switches to a new buffer, Flycheck will wait as
+many seconds as the value of this variable before starting a
+syntax check. If the user switches to another buffer during this
+time, whether a syntax check is still performed depends on the
+value of `flycheck-buffer-switch-check-intermediate-buffers'.
+
+This variable has no effect if `idle-buffer-switch' is not
+contained in `flycheck-check-syntax-automatically'."
+ :group 'flycheck
+ :type 'number
+ :package-version '(flycheck . "32")
+ :safe #'numberp)
+
+(defcustom flycheck-buffer-switch-check-intermediate-buffers nil
+ "Whether to check syntax in a buffer you only visit briefly.
+
+If nil, then when you switch to a buffer but switch to another
+buffer before the syntax check is performed, then the check is
+canceled. If non-nil, then syntax checks due to switching
+buffers are always performed. This only affects buffer switches
+that happen less than `flycheck-idle-buffer-switch-delay' seconds
+apart.
+
+This variable has no effect if `idle-buffer-switch' is not
+contained in `flycheck-check-syntax-automatically'."
+ :group 'flycheck
+ :type 'boolean
+ :package-version '(flycheck . "32")
+ :safe #'booleanp)
+
+(defcustom flycheck-standard-error-navigation t
+ "Whether to support error navigation with `next-error'.
+
+If non-nil, enable navigation of Flycheck errors with
+`next-error', `previous-error' and `first-error'. Otherwise,
+these functions just navigate errors from compilation modes.
+
+Flycheck error navigation with `flycheck-next-error',
+`flycheck-previous-error' and `flycheck-first-error' is always
+enabled, regardless of the value of this variable.
+
+Note that this setting only takes effect when variable
+`flycheck-mode' is non-nil. Changing it will not affect buffers
+where variable `flycheck-mode' is already non-nil."
+ :group 'flycheck
+ :type 'boolean
+ :package-version '(flycheck . "0.15")
+ :safe #'booleanp)
+
+(define-widget 'flycheck-minimum-level 'lazy
+ "A radio-type choice of minimum error levels.
+
+See `flycheck-navigation-minimum-level' and
+`flycheck-error-list-minimum-level'."
+ :type '(radio (const :tag "All locations" nil)
+ (const :tag "Informational messages" info)
+ (const :tag "Warnings" warning)
+ (const :tag "Errors" error)
+ (symbol :tag "Custom error level")))
+
+(defcustom flycheck-navigation-minimum-level nil
+ "The minimum level of errors to navigate.
+
+If set to an error level, only navigate errors whose error level
+is at least as severe as this one. If nil, navigate all errors."
+ :group 'flycheck
+ :type 'flycheck-minimum-level
+ :safe #'flycheck-error-level-p
+ :package-version '(flycheck . "0.21"))
+
+(defcustom flycheck-error-list-minimum-level nil
+ "The minimum level of errors to display in the error list.
+
+If set to an error level, only display errors whose error level
+is at least as severe as this one in the error list. If nil,
+display all errors.
+
+This is the default level, used when the error list is opened.
+You can temporarily change the level using
+\\[flycheck-error-list-set-filter], or reset it to this value
+using \\[flycheck-error-list-reset-filter]."
+ :group 'flycheck
+ :type 'flycheck-minimum-level
+ :safe #'flycheck-error-level-p
+ :package-version '(flycheck . "0.24"))
+
+(defcustom flycheck-relevant-error-other-file-minimum-level 'error
+ "The minimum level of errors from other files to display in this buffer.
+
+If set to an error level, only display errors from other files
+whose error level is at least as severe as this one. If nil,
+display all errors from other files."
+ :group 'flycheck
+ :type 'flycheck-minimum-level
+ :safe #'flycheck-error-level-p
+ :package-version '(flycheck . "32"))
+
+(defcustom flycheck-relevant-error-other-file-show t
+ "Whether to show errors from other files."
+ :group 'flycheck
+ :type 'boolean
+ :package-version '(flycheck . "32")
+ :safe #'booleanp)
+
+(defcustom flycheck-completing-read-function #'completing-read
+ "Function to read from minibuffer with completion.
+
+The function must be compatible to the built-in `completing-read'
+function."
+ :group 'flycheck
+ :type '(choice (const :tag "Default" completing-read)
+ (const :tag "IDO" ido-completing-read)
+ (function :tag "Custom function"))
+ :risky t
+ :package-version '(flycheck . "26"))
+
+(defcustom flycheck-temp-prefix "flycheck"
+ "Prefix for temporary files created by Flycheck."
+ :group 'flycheck
+ :type 'string
+ :package-version '(flycheck . "0.19")
+ :risky t)
+
+(defcustom flycheck-mode-hook nil
+ "Hooks to run after command `flycheck-mode' is toggled."
+ :group 'flycheck
+ :type 'hook
+ :risky t)
+
+(defcustom flycheck-after-syntax-check-hook nil
+ "Functions to run after each syntax check.
+
+This hook is run after a syntax check was finished.
+
+At this point, *all* chained checkers were run, and all errors
+were parsed, highlighted and reported. The variable
+`flycheck-current-errors' contains all errors from all syntax
+checkers run during the syntax check, so you can apply any error
+analysis functions.
+
+Note that this hook does *not* run after each individual syntax
+checker in the syntax checker chain, but only after the *last
+checker*.
+
+This variable is a normal hook. See Info node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t)
+
+(defcustom flycheck-before-syntax-check-hook nil
+ "Functions to run before each syntax check.
+
+This hook is run right before a syntax check starts.
+
+Error information from the previous syntax check is *not*
+cleared before this hook runs.
+
+Note that this hook does *not* run before each individual syntax
+checker in the syntax checker chain, but only before the *first
+checker*.
+
+This variable is a normal hook. See Info node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t)
+
+(defcustom flycheck-syntax-check-failed-hook nil
+ "Functions to run if a syntax check failed.
+
+This hook is run whenever an error occurs during Flycheck's
+internal processing. No information about the error is given to
+this hook.
+
+You should use this hook to conduct additional cleanup actions
+when Flycheck failed.
+
+This variable is a normal hook. See Info node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t)
+
+(defcustom flycheck-status-changed-functions nil
+ "Functions to run if the Flycheck status changed.
+
+This hook is run whenever the status of Flycheck changes. Each
+hook function takes the status symbol as single argument, as
+given to `flycheck-report-status', which see.
+
+This variable is an abnormal hook. See Info
+node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t
+ :package-version '(flycheck . "0.20"))
+
+(defcustom flycheck-error-list-after-refresh-hook nil
+ "Functions to run after the error list was refreshed.
+
+This hook is run whenever the error list is refreshed.
+
+This variable is a normal hook. See Info node `(elisp)Hooks'."
+ :group 'flycheck
+ :type 'hook
+ :risky t
+ :package-version '(flycheck . "0.21"))
+
+(defface flycheck-error
+ '((((supports :underline (:style wave)))
+ :underline (:style wave :color "Red1"))
+ (t
+ :underline t :inherit error))
+ "Flycheck face for errors."
+ :package-version '(flycheck . "0.13")
+ :group 'flycheck-faces)
+
+(defface flycheck-warning
+ '((((supports :underline (:style wave)))
+ :underline (:style wave :color "DarkOrange"))
+ (t
+ :underline t :inherit warning))
+ "Flycheck face for warnings."
+ :package-version '(flycheck . "0.13")
+ :group 'flycheck-faces)
+
+(defface flycheck-info
+ '((((supports :underline (:style wave)))
+ :underline (:style wave :color "ForestGreen"))
+ (t
+ :underline t :inherit success))
+ "Flycheck face for informational messages."
+ :package-version '(flycheck . "0.15")
+ :group 'flycheck-faces)
+
+(defface flycheck-fringe-error
+ '((t :inherit error))
+ "Flycheck face for fringe error indicators."
+ :package-version '(flycheck . "0.13")
+ :group 'flycheck-faces)
+
+(defface flycheck-fringe-warning
+ '((t :inherit warning))
+ "Flycheck face for fringe warning indicators."
+ :package-version '(flycheck . "0.13")
+ :group 'flycheck-faces)
+
+(defface flycheck-fringe-info
+ ;; Semantically `success' is probably not the right face, but it looks nice as
+ ;; a base face
+ '((t :inherit success))
+ "Flycheck face for fringe info indicators."
+ :package-version '(flycheck . "0.15")
+ :group 'flycheck-faces)
+
+(defface flycheck-error-list-error
+ '((t :inherit error))
+ "Flycheck face for error messages in the error list."
+ :package-version '(flycheck . "0.16")
+ :group 'flycheck-faces)
+
+(defface flycheck-error-list-warning
+ '((t :inherit warning))
+ "Flycheck face for warning messages in the error list."
+ :package-version '(flycheck . "0.16")
+ :group 'flycheck-faces)
+
+(defface flycheck-error-list-info
+ '((t :inherit success))
+ "Flycheck face for info messages in the error list."
+ :package-version '(flycheck . "0.16")
+ :group 'flycheck-faces)
+
+;; The base faces for the following two faces are inspired by Compilation Mode
+(defface flycheck-error-list-line-number
+ '((t :inherit font-lock-constant-face))
+ "Face for line numbers in the error list."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "0.16"))
+
+(defface flycheck-error-list-column-number
+ '((t :inherit font-lock-constant-face))
+ "Face for line numbers in the error list."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "0.16"))
+
+(defface flycheck-error-list-filename
+ '((t :inherit font-lock-variable-name-face))
+ "Face for filenames in the error list."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "32"))
+
+(defface flycheck-error-list-id
+ '((t :inherit font-lock-type-face))
+ "Face for the error ID in the error list."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "0.22"))
+
+(defface flycheck-error-list-id-with-explainer
+ '((t :inherit flycheck-error-list-id
+ :box (:style released-button)))
+ "Face for the error ID in the error list, for errors that have an explainer."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "30"))
+
+(defface flycheck-error-list-checker-name
+ '((t :inherit font-lock-function-name-face))
+ "Face for the syntax checker name in the error list."
+ :group 'flycheck-faces
+ :package-version '(flycheck . "0.21"))
+
+(defface flycheck-error-list-highlight
+ '((t :inherit highlight))
+ "Flycheck face to highlight errors in the error list."
+ :package-version '(flycheck . "0.15")
+ :group 'flycheck-faces)
+
+(defface flycheck-verify-select-checker
+ '((t :box (:style released-button)))
+ "Flycheck face for the 'select' button in the verify setup buffer."
+ :package-version '(flycheck . "32")
+ :group 'flycheck-faces)
+
+(defvar flycheck-command-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "c" #'flycheck-buffer)
+ (define-key map "C" #'flycheck-clear)
+ (define-key map (kbd "C-c") #'flycheck-compile)
+ (define-key map "n" #'flycheck-next-error)
+ (define-key map "p" #'flycheck-previous-error)
+ (define-key map "l" #'flycheck-list-errors)
+ (define-key map (kbd "C-w") #'flycheck-copy-errors-as-kill)
+ (define-key map "s" #'flycheck-select-checker)
+ (define-key map "?" #'flycheck-describe-checker)
+ (define-key map "h" #'flycheck-display-error-at-point)
+ (define-key map "e" #'flycheck-explain-error-at-point)
+ (define-key map "H" #'display-local-help)
+ (define-key map "i" #'flycheck-manual)
+ (define-key map "V" #'flycheck-version)
+ (define-key map "v" #'flycheck-verify-setup)
+ (define-key map "x" #'flycheck-disable-checker)
+ map)
+ "Keymap of Flycheck interactive commands.")
+
+(defcustom flycheck-keymap-prefix (kbd "C-c !")
+ "Prefix for key bindings of Flycheck.
+
+Changing this variable outside Customize does not have any
+effect. To change the keymap prefix from Lisp, you need to
+explicitly re-define the prefix key:
+
+ (define-key flycheck-mode-map flycheck-keymap-prefix nil)
+ (setq flycheck-keymap-prefix (kbd \"C-c f\"))
+ (define-key flycheck-mode-map flycheck-keymap-prefix
+ flycheck-command-map)
+
+Please note that Flycheck's manual documents the default
+keybindings. Changing this variable is at your own risk."
+ :group 'flycheck
+ :package-version '(flycheck . "0.19")
+ :type 'string
+ :risky t
+ :set
+ (lambda (variable key)
+ (when (and (boundp variable) (boundp 'flycheck-mode-map))
+ (define-key flycheck-mode-map (symbol-value variable) nil)
+ (define-key flycheck-mode-map key flycheck-command-map))
+ (set-default variable key)))
+
+(defcustom flycheck-mode-line '(:eval (flycheck-mode-line-status-text))
+ "Mode line lighter for Flycheck.
+
+The value of this variable is a mode line template as in
+`mode-line-format'. See Info Node `(elisp)Mode Line Format' for
+more information. Note that it should contain a _single_ mode
+line construct only.
+
+Customize this variable to change how Flycheck reports its status
+in the mode line. You may use `flycheck-mode-line-status-text'
+to obtain a human-readable status text, including an
+error/warning count.
+
+You may also assemble your own status text. The current status
+of Flycheck is available in `flycheck-last-status-change'. The
+errors in the current buffer are stored in
+`flycheck-current-errors', and the function
+`flycheck-count-errors' may be used to obtain the number of
+errors grouped by error level.
+
+Set this variable to nil to disable the mode line completely."
+ :group 'flycheck
+ :type 'sexp
+ :risky t
+ :package-version '(flycheck . "0.20"))
+
+(defcustom flycheck-mode-line-prefix "FlyC"
+ "Base mode line lighter for Flycheck.
+
+This will have an effect only with the default
+`flycheck-mode-line'.
+
+If you've customized `flycheck-mode-line' then the customized
+function must be updated to use this variable."
+ :group 'flycheck
+ :type 'string
+ :package-version '(flycheck . "26"))
+
+(defcustom flycheck-error-list-mode-line
+ `(,(propertized-buffer-identification "%12b")
+ " for buffer "
+ (:eval (flycheck-error-list-propertized-source-name))
+ (:eval (flycheck-error-list-mode-line-filter-indicator)))
+ "Mode line construct for Flycheck error list.
+
+The value of this variable is a mode line template as in
+`mode-line-format', to be used as
+`mode-line-buffer-identification' in `flycheck-error-list-mode'.
+See Info Node `(elisp)Mode Line Format' for more information.
+
+Customize this variable to change how the error list appears in
+the mode line. The default shows the name of the buffer and the
+name of the source buffer, i.e. the buffer whose errors are
+currently listed."
+ :group 'flycheck
+ :type 'sexp
+ :risky t
+ :package-version '(flycheck . "0.20"))
+
+(defcustom flycheck-global-modes t
+ "Modes for which option `flycheck-mode' is turned on.
+
+If t, Flycheck Mode is turned on for all major modes. If a list,
+Flycheck Mode is turned on for all `major-mode' symbols in that
+list. If the `car' of the list is `not', Flycheck Mode is turned
+on for all `major-mode' symbols _not_ in that list. If nil,
+Flycheck Mode is never turned on by command
+`global-flycheck-mode'.
+
+Note that Flycheck is never turned on for modes whose
+`mode-class' property is `special' (see Info node `(elisp)Major
+Mode Conventions'), regardless of the value of this option.
+
+Only has effect when variable `global-flycheck-mode' is non-nil."
+ :group 'flycheck
+ :type '(choice (const :tag "none" nil)
+ (const :tag "all" t)
+ (set :menu-tag "mode specific" :tag "modes"
+ :value (not)
+ (const :tag "Except" not)
+ (repeat :inline t (symbol :tag "mode"))))
+ :risky t
+ :package-version '(flycheck . "0.23"))
+
+;; Add built-in functions to our hooks, via `add-hook', to make sure that our
+;; functions are really present, even if the variable was implicitly defined by
+;; another call to `add-hook' that occurred before Flycheck was loaded. See
+;; http://lists.gnu.org/archive/html/emacs-devel/2015-02/msg01271.html for why
+;; we don't initialize the hook variables right away. We append our own
+;; functions, because a user likely expects that their functions come first,
+;; even if they added them before Flycheck was loaded.
+(dolist (hook (list #'flycheck-locate-config-file-by-path
+ #'flycheck-locate-config-file-ancestor-directories
+ #'flycheck-locate-config-file-home))
+ (add-hook 'flycheck-locate-config-file-functions hook 'append))
+
+(add-hook 'flycheck-process-error-functions #'flycheck-add-overlay 'append)
+
+
+;;; Global Flycheck menu
+(defvar flycheck-mode-menu-map
+ (easy-menu-create-menu
+ "Syntax Checking"
+ '(["Enable on-the-fly syntax checking" flycheck-mode
+ :style toggle :selected flycheck-mode
+ :enable (or flycheck-mode
+ ;; Don't let users toggle the mode if there is no syntax
+ ;; checker for this buffer
+ (seq-find #'flycheck-checker-supports-major-mode-p
+ flycheck-checkers))]
+ ["Check current buffer" flycheck-buffer flycheck-mode]
+ ["Clear errors in buffer" flycheck-clear t]
+ "---"
+ ["Go to next error" flycheck-next-error flycheck-mode]
+ ["Go to previous error" flycheck-previous-error flycheck-mode]
+ ["Show all errors" flycheck-list-errors flycheck-mode]
+ "---"
+ ["Copy messages at point" flycheck-copy-errors-as-kill
+ (flycheck-overlays-at (point))]
+ ["Explain error at point" flycheck-explain-error-at-point]
+ "---"
+ ["Select syntax checker" flycheck-select-checker flycheck-mode]
+ ["Disable syntax checker" flycheck-disable-checker flycheck-mode]
+ ["Set executable of syntax checker" flycheck-set-checker-executable
+ flycheck-mode]
+ "---"
+ ["Describe syntax checker" flycheck-describe-checker t]
+ ["Verify setup" flycheck-verify-setup t]
+ ["Show Flycheck version" flycheck-version t]
+ ["Read the Flycheck manual" flycheck-info t]))
+ "Menu of command `flycheck-mode'.")
+
+(easy-menu-add-item nil '("Tools") flycheck-mode-menu-map "Spell Checking")
+
+
+;;; Version information, manual and loading of Flycheck
+(defun flycheck-version (&optional show-version)
+ "Get the Flycheck version as string.
+
+If called interactively or if SHOW-VERSION is non-nil, show the
+version in the echo area and the messages buffer.
+
+The returned string includes both, the version from package.el
+and the library version, if both a present and different.
+
+If the version number could not be determined, signal an error,
+if called interactively, or if SHOW-VERSION is non-nil, otherwise
+just return nil."
+ (interactive (list t))
+ (let ((version (pkg-info-version-info 'flycheck)))
+ (when show-version
+ (message "Flycheck version: %s" version))
+ version))
+
+(defun flycheck-unload-function ()
+ "Unload function for Flycheck."
+ (global-flycheck-mode -1)
+ (easy-menu-remove-item nil '("Tools") (cadr flycheck-mode-menu-map))
+ (remove-hook 'kill-emacs-hook #'flycheck-global-teardown)
+ (setq find-function-regexp-alist
+ (assq-delete-all 'flycheck-checker find-function-regexp-alist)))
+
+;;;###autoload
+(defun flycheck-manual ()
+ "Open the Flycheck manual."
+ (interactive)
+ (browse-url "http://www.flycheck.org"))
+
+(define-obsolete-function-alias 'flycheck-info
+ 'flycheck-manual "26" "Open the Flycheck manual.")
+
+
+;;; Utility functions
+(defun flycheck-sexp-to-string (sexp)
+ "Convert SEXP to a string.
+
+Like `prin1-to-string' but ensure that the returned string
+is loadable."
+ (let ((print-quoted t)
+ (print-length nil)
+ (print-level nil))
+ (prin1-to-string sexp)))
+
+(defun flycheck-string-to-number-safe (string)
+ "Safely convert STRING to a number.
+
+If STRING is of string type and a numeric string, convert STRING
+to a number and return it. Otherwise return nil."
+ (let ((number-re (rx string-start (one-or-more (any digit)) string-end)))
+ (when (and (stringp string) (string-match-p number-re string))
+ (string-to-number string))))
+
+(defun flycheck-string-or-nil-p (obj)
+ "Determine if OBJ is a string or nil."
+ (or (null obj) (stringp obj)))
+
+(defun flycheck-string-list-p (obj)
+ "Determine if OBJ is a list of strings."
+ (and (listp obj) (seq-every-p #'stringp obj)))
+
+(defun flycheck-string-or-string-list-p (obj)
+ "Determine if OBJ is a string or a list of strings."
+ (or (stringp obj) (flycheck-string-list-p obj)))
+
+(defun flycheck-symbol-list-p (obj)
+ "Determine if OBJ is a list of symbols."
+ (and (listp obj) (seq-every-p #'symbolp obj)))
+
+(defvar-local flycheck--file-truename-cache nil)
+
+(defun flycheck--file-truename (file)
+ "Memoize the result of `file-truename' on (directory-file-name FILE)."
+ ;; `file-truename' is slow, but alternatives are incomplete, so memoizing is
+ ;; our best bet. See https://github.com/flycheck/flycheck/pull/1698.
+ (unless flycheck--file-truename-cache
+ (setq-local flycheck--file-truename-cache (make-hash-table :test 'equal)))
+ (or (gethash file flycheck--file-truename-cache)
+ (puthash file (file-truename (directory-file-name file))
+ flycheck--file-truename-cache)))
+
+(defun flycheck-same-files-p (file-a file-b)
+ "Determine whether FILE-A and FILE-B refer to the same file.
+
+Files are the same if (in the order checked) they are equal, or
+if they resolve to the same canonical paths."
+ (or (string= file-a file-b)
+ (string= (flycheck--file-truename file-a)
+ (flycheck--file-truename file-b))))
+
+(defvar-local flycheck-temporaries nil
+ "Temporary files and directories created by Flycheck.")
+
+(defun flycheck-temp-dir-system ()
+ "Create a unique temporary directory.
+
+Use `flycheck-temp-prefix' as prefix, and add the directory to
+`flycheck-temporaries'.
+
+Return the path of the directory"
+ (let* ((tempdir (make-temp-file flycheck-temp-prefix 'directory)))
+ (push tempdir flycheck-temporaries)
+ tempdir))
+
+(defun flycheck-temp-file-system (filename &optional suffix)
+ "Create a temporary file named after FILENAME.
+
+If FILENAME is non-nil, this function creates a temporary
+directory with `flycheck-temp-dir-system', and creates a file
+with the same name as FILENAME in this directory.
+
+Otherwise this function creates a temporary file starting with
+`flycheck-temp-prefix'. If present, SUFFIX is appended;
+otherwise, a random suffix is used. The path of the file is
+added to `flycheck-temporaries'.
+
+Return the path of the file."
+ (let ((tempfile (convert-standard-filename
+ (if filename
+ (expand-file-name (file-name-nondirectory filename)
+ (flycheck-temp-dir-system))
+ (make-temp-file flycheck-temp-prefix nil suffix)))))
+ (push tempfile flycheck-temporaries)
+ tempfile))
+
+(defun flycheck-temp-file-inplace (filename &optional suffix)
+ "Create an in-place copy of FILENAME.
+
+Prefix the file with `flycheck-temp-prefix' and add the path of
+the file to `flycheck-temporaries'.
+
+If FILENAME is nil, fall back to `flycheck-temp-file-system' with
+the specified SUFFIX.
+
+Return the path of the file."
+ (if filename
+ (let* ((tempname (format "%s_%s"
+ flycheck-temp-prefix
+ (file-name-nondirectory filename)))
+ (tempfile (convert-standard-filename
+ (expand-file-name tempname
+ (file-name-directory filename)))))
+ (push tempfile flycheck-temporaries)
+ tempfile)
+ (flycheck-temp-file-system filename suffix)))
+
+(defun flycheck-temp-directory (checker)
+ "Return the directory where CHECKER writes temporary files.
+
+Return nil if the CHECKER does not write temporary files."
+ (let ((args (flycheck-checker-arguments checker)))
+ (cond
+ ((memq 'source args) temporary-file-directory)
+ ((memq 'source-inplace args)
+ (if buffer-file-name (file-name-directory buffer-file-name)
+ temporary-file-directory))
+ (t nil))))
+
+(defun flycheck-temp-files-writable-p (checker)
+ "Whether CHECKER can write temporary files.
+
+If CHECKER has `source' or `source-inplace' in its `:command',
+return whether flycheck has the permissions to create the
+respective temporary files.
+
+Return t if CHECKER does not use temporary files."
+ (let ((dir (flycheck-temp-directory checker)))
+ (or (not dir) (file-writable-p dir))))
+
+(defun flycheck-save-buffer-to-file (file-name)
+ "Save the contents of the current buffer to FILE-NAME."
+ (make-directory (file-name-directory file-name) t)
+ (let ((jka-compr-inhibit t))
+ (write-region nil nil file-name nil 0)))
+
+(defun flycheck-save-buffer-to-temp (temp-file-fn)
+ "Save buffer to temp file returned by TEMP-FILE-FN.
+
+Return the name of the temporary file."
+ (let ((filename (funcall temp-file-fn (buffer-file-name))))
+ ;; Do not flush short-lived temporary files onto disk
+ (let ((write-region-inhibit-fsync t))
+ (flycheck-save-buffer-to-file filename))
+ filename))
+
+(defun flycheck-prepend-with-option (option items &optional prepend-fn)
+ "Prepend OPTION to each item in ITEMS, using PREPEND-FN.
+
+Prepend OPTION to each item in ITEMS.
+
+ITEMS is a list of strings to pass to the syntax checker. OPTION
+is the option, as string. PREPEND-FN is a function called to
+prepend OPTION to each item in ITEMS. It receives the option and
+a single item from ITEMS as argument, and must return a string or
+a list of strings with OPTION prepended to the item. If
+PREPEND-FN is nil or omitted, use `list'.
+
+Return a list of strings where OPTION is prepended to each item
+in ITEMS using PREPEND-FN. If PREPEND-FN returns a list, it is
+spliced into the resulting list."
+ (unless (stringp option)
+ (error "Option %S is not a string" option))
+ (unless prepend-fn
+ (setq prepend-fn #'list))
+ (let ((prepend
+ (lambda (item)
+ (let ((result (funcall prepend-fn option item)))
+ (cond
+ ((and (listp result) (seq-every-p #'stringp result)) result)
+ ((stringp result) (list result))
+ (t (error "Invalid result type for option: %S" result)))))))
+ (apply #'append (seq-map prepend items))))
+
+(defun flycheck-find-in-buffer (pattern)
+ "Find PATTERN in the current buffer.
+
+Return the result of the first matching group of PATTERN, or nil,
+if PATTERN did not match."
+ (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (when (re-search-forward pattern nil 'no-error)
+ (match-string-no-properties 1)))))
+
+(defun flycheck-buffer-empty-p (&optional buffer)
+ "Check whether a BUFFER is empty, defaulting to the current one."
+ (= (buffer-size buffer) 0))
+
+(defun flycheck-buffer-nonempty-p (&optional buffer)
+ "Check whether a BUFFER is nonempty, defaulting to the current one."
+ (> (buffer-size buffer) 0))
+
+(defun flycheck-ephemeral-buffer-p ()
+ "Determine whether the current buffer is an ephemeral buffer.
+
+See Info node `(elisp)Buffer Names' for information about
+ephemeral buffers."
+ (string-prefix-p " " (buffer-name)))
+
+(defun flycheck-encrypted-buffer-p ()
+ "Determine whether the current buffer is an encrypted file.
+
+See Info node `(epa)Top' for Emacs' interface to encrypted
+files."
+ ;; The EPA file handler sets this variable locally to remember the recipients
+ ;; of the encrypted file for re-encryption. Hence, a local binding of this
+ ;; variable is a good indication that the buffer is encrypted. I haven't
+ ;; found any better indicator anyway.
+ (local-variable-p 'epa-file-encrypt-to))
+
+(defun flycheck-autoloads-file-p ()
+ "Determine whether the current buffer is an autoloads file.
+
+Autoloads are generated by package.el during installation."
+ (string-suffix-p "-autoloads.el" (buffer-name)))
+
+(defun flycheck-in-user-emacs-directory-p (filename)
+ "Whether FILENAME is in `user-emacs-directory'."
+ (string-prefix-p (file-name-as-directory
+ (flycheck--file-truename user-emacs-directory))
+ (flycheck--file-truename filename)))
+
+(defun flycheck-safe-delete (file-or-dir)
+ "Safely delete FILE-OR-DIR."
+ (ignore-errors
+ (if (file-directory-p file-or-dir)
+ (delete-directory file-or-dir 'recursive)
+ (delete-file file-or-dir))))
+
+(defun flycheck-safe-delete-temporaries ()
+ "Safely delete all temp files and directories of Flycheck.
+
+Safely delete all files and directories listed in
+`flycheck-temporaries' and set the variable's value to nil."
+ (seq-do #'flycheck-safe-delete flycheck-temporaries)
+ (setq flycheck-temporaries nil))
+
+(defun flycheck-rx-file-name (form)
+ "Translate the `(file-name)' FORM into a regular expression."
+ (let ((body (or (cdr form) '((minimal-match
+ (one-or-more not-newline))))))
+ (rx-to-string `(group-n 1 ,@body) t)))
+
+(defun flycheck-rx-message (form)
+ "Translate the `(message)' FORM into a regular expression."
+ (let ((body (or (cdr form) '((one-or-more not-newline)))))
+ (rx-to-string `(group-n 4 ,@body) t)))
+
+(defun flycheck-rx-id (form)
+ "Translate the `(id)' FORM into a regular expression."
+ (rx-to-string `(group-n 5 ,@(cdr form)) t))
+
+(defun flycheck-rx-to-string (form &optional no-group)
+ "Like `rx-to-string' for FORM, but with special keywords:
+
+`line'
+ matches the initial line number.
+
+`column'
+ matches the initial column number.
+
+`end-line'
+ matches the final line number.
+
+`end-column'
+ matches the final column number (exclusive).
+
+
+`(file-name SEXP ...)'
+ matches the file name. SEXP describes the file name. If no
+ SEXP is given, use a default body of `(minimal-match
+ (one-or-more not-newline))'.
+
+`(message SEXP ...)'
+ matches the message. SEXP constitutes the body of the
+ message. If no SEXP is given, use a default body
+ of `(one-or-more not-newline)'.
+
+`(id SEXP ...)'
+ matches an error ID. SEXP describes the ID.
+
+NO-GROUP is passed to `rx-to-string'.
+
+See `rx' for a complete list of all built-in `rx' forms."
+ (let ((rx-constituents
+ (append
+ `((file-name flycheck-rx-file-name 0 nil) ;; group 1
+ (line . ,(rx (group-n 2 (one-or-more digit))))
+ (column . ,(rx (group-n 3 (one-or-more digit))))
+ (message flycheck-rx-message 0 nil) ;; group 4
+ (id flycheck-rx-id 0 nil) ;; group 5
+ (end-line . ,(rx (group-n 6 (one-or-more digit))))
+ (end-column . ,(rx (group-n 7 (one-or-more digit)))))
+ rx-constituents nil)))
+ (rx-to-string form no-group)))
+
+(defun flycheck-current-load-file ()
+ "Get the source file currently being loaded.
+
+Always return the name of the corresponding source file, never
+any byte-compiled file.
+
+Return nil, if the currently loaded file cannot be determined."
+ (-when-let* ((this-file (cond
+ (load-in-progress load-file-name)
+ ((bound-and-true-p byte-compile-current-file))
+ (t (buffer-file-name))))
+ ;; A best guess for the source file of a compiled library. Works
+ ;; well in most cases, and especially for ELPA packages
+ (source-file (concat (file-name-sans-extension this-file)
+ ".el")))
+ (when (file-exists-p source-file)
+ source-file)))
+
+(defun flycheck-module-root-directory (module &optional file-name)
+ "Get the root directory for a MODULE in FILE-NAME.
+
+MODULE is a qualified module name, either a string with
+components separated by a dot, or as list of components.
+FILE-NAME is the name of the file or directory containing the
+module as string. When nil or omitted, defaults to the return
+value of function `buffer-file-name'.
+
+Return the root directory of the module, that is, the directory,
+from which FILE-NAME can be reached by descending directories
+along each part of MODULE.
+
+If the MODULE name does not match the directory hierarchy upwards
+from FILE-NAME, return the directory containing FILE-NAME. When
+FILE-NAME is nil, return `default-directory'."
+ (let ((file-name (or file-name (buffer-file-name)))
+ (module-components (if (stringp module)
+ (split-string module (rx "."))
+ (copy-sequence module))))
+ (if (and module-components file-name)
+ (let ((parts (nreverse module-components))
+ (base-directory (directory-file-name
+ (file-name-sans-extension file-name))))
+ (while (and parts
+ (string= (file-name-nondirectory base-directory)
+ (car parts)))
+ (pop parts)
+ (setq base-directory (directory-file-name
+ (file-name-directory base-directory))))
+ (file-name-as-directory base-directory))
+ (if file-name
+ (file-name-directory file-name)
+ (expand-file-name default-directory)))))
+
+(defun flycheck-goto-line (line)
+ "Move point to beginning of line number LINE."
+ (goto-char (point-min))
+ (forward-line (- line 1)))
+
+(defun flycheck-line-column-to-position (line column)
+ "Return the point closest to LINE, COLUMN on line LINE.
+
+COLUMN is one-based."
+ (save-excursion
+ (flycheck-goto-line line)
+ (min (+ (point) (1- column)) (line-end-position))))
+
+(defun flycheck-line-column-at-point ()
+ "Return the line and column number at point."
+ (cons (line-number-at-pos) (1+ (- (point) (line-beginning-position)))))
+
+(defun flycheck-line-column-at-pos (pos)
+ "Return the line and column number at position POS.
+
+COLUMN is one-based."
+ (let ((inhibit-field-text-motion t))
+ (save-excursion
+ (goto-char pos)
+ (flycheck-line-column-at-point))))
+
+
+;;; Minibuffer tools
+(defvar flycheck-read-checker-history nil
+ "`completing-read' history of `flycheck-read-checker'.")
+
+(defun flycheck-completing-read (prompt candidates default &optional history)
+ "Read a value from the minibuffer.
+
+Use `flycheck-completing-read-function' to read input from the
+minibuffer with completion.
+
+Show PROMPT and read one of CANDIDATES, defaulting to DEFAULT.
+HISTORY is passed to `flycheck-completing-read-function'.
+
+Note that `flycheck-completing-read-function' may return an empty
+string instead of nil, even when \"\" isn't among the candidates.
+See `completing-read' for more details."
+ (funcall flycheck-completing-read-function
+ prompt candidates nil 'require-match nil history default))
+
+(defun flycheck-read-checker (prompt &optional default property candidates)
+ "Read a flycheck checker from minibuffer with PROMPT and DEFAULT.
+
+PROMPT is a string to show in the minibuffer as prompt. It
+should end with a single space. DEFAULT is a symbol denoting the
+default checker to use, if the user did not select any checker.
+PROPERTY is a symbol denoting a syntax checker property. If
+non-nil, only complete syntax checkers which have a non-nil value
+for PROPERTY. CANDIDATES is an optional list of all syntax
+checkers available for completion, defaulting to all defined
+checkers. If given, PROPERTY is ignored.
+
+Return the checker as symbol, or DEFAULT if no checker was
+chosen. If DEFAULT is nil and no checker was chosen, signal a
+`user-error' if the underlying completion system does not provide
+a default on its own."
+ (when (and default (not (flycheck-valid-checker-p default)))
+ (error "%S is no valid Flycheck checker" default))
+ (let* ((candidates (seq-map #'symbol-name
+ (or candidates
+ (flycheck-defined-checkers property))))
+ (default (and default (symbol-name default)))
+ (input (flycheck-completing-read
+ prompt candidates default
+ 'flycheck-read-checker-history)))
+ (when (string-empty-p input)
+ (unless default
+ (user-error "No syntax checker selected"))
+ (setq input default))
+ (let ((checker (intern input)))
+ (unless (flycheck-valid-checker-p checker)
+ (error "%S is not a valid Flycheck syntax checker" checker))
+ checker)))
+
+(defun flycheck-read-error-level (prompt)
+ "Read an error level from the user with PROMPT.
+
+Only offers level for which errors currently exist, in addition
+to the default levels."
+ (let* ((levels (seq-map #'flycheck-error-level
+ (flycheck-error-list-current-errors)))
+ (levels-with-defaults (append '(info warning error) levels))
+ (uniq-levels (seq-uniq levels-with-defaults))
+ (level (flycheck-completing-read prompt uniq-levels nil)))
+ (when (string-empty-p level) (setq level nil))
+ (and level (intern level))))
+
+
+;;; Checker API
+(defun flycheck-defined-checkers (&optional property)
+ "Find all defined syntax checkers, optionally with PROPERTY.
+
+PROPERTY is a symbol. If given, only return syntax checkers with
+a non-nil value for PROPERTY.
+
+The returned list is sorted alphapetically by the symbol name of
+the syntax checkers."
+ (let (defined-checkers)
+ (mapatoms (lambda (symbol)
+ (when (and (flycheck-valid-checker-p symbol)
+ (or (null property)
+ (flycheck-checker-get symbol property)))
+ (push symbol defined-checkers))))
+ (sort defined-checkers #'string<)))
+
+(defun flycheck-registered-checker-p (checker)
+ "Determine whether CHECKER is registered.
+
+A checker is registered if it is contained in
+`flycheck-checkers'."
+ (and (flycheck-valid-checker-p checker)
+ (memq checker flycheck-checkers)))
+
+(defun flycheck-disabled-checker-p (checker)
+ "Determine whether CHECKER is disabled.
+
+A checker is disabled if it is contained in
+`flycheck-disabled-checkers'."
+ (or (memq checker flycheck-disabled-checkers)
+ (flycheck-automatically-disabled-checker-p checker)))
+
+(defun flycheck-automatically-disabled-checker-p (checker)
+ "Determine whether CHECKER has been automatically disabled.
+
+A checker has been automatically disabled if it is contained in
+`flycheck--automatically-disabled-checkers'."
+ (memq checker flycheck--automatically-disabled-checkers))
+
+
+
+;;; Generic syntax checkers
+(defconst flycheck-generic-checker-version 2
+ "The internal version of generic syntax checker declarations.
+
+Flycheck will not use syntax checkers whose generic version is
+less than this constant.")
+
+(defsubst flycheck--checker-property-name (property)
+ "Return the SYMBOL property for checker PROPERTY."
+ (intern (concat "flycheck-" (symbol-name property))))
+
+(defun flycheck-checker-get (checker property)
+ "Get the value of CHECKER's PROPERTY."
+ (get checker (flycheck--checker-property-name property)))
+
+(gv-define-setter flycheck-checker-get (value checker property)
+ `(setf (get ,checker (flycheck--checker-property-name ,property)) ,value))
+
+(defun flycheck-validate-next-checker (next &optional strict)
+ "Validate NEXT checker.
+
+With STRICT non-nil, also check whether the syntax checker and
+the error level in NEXT are valid. Otherwise just check whether
+these are symbols.
+
+Signal an error if NEXT is not a valid entry for
+`:next-checkers'."
+ (when (symbolp next)
+ (setq next (cons t next)))
+ (pcase next
+ (`(,level . ,checker)
+ (if strict
+ (progn
+ (unless (or (eq level t) (flycheck-error-level-p level))
+ (error "%S is not a valid Flycheck error level" level))
+ (unless (flycheck-valid-checker-p checker)
+ (error "%s is not a valid Flycheck syntax checker" checker)))
+ (unless (symbolp level)
+ (error "Error level %S must be a symbol" level))
+ (unless (symbolp checker)
+ (error "Checker %S must be a symbol" checker))))
+ (_ (error "%S must be a symbol or cons cell" next)))
+ t)
+
+(defun flycheck-define-generic-checker (symbol docstring &rest properties)
+ "Define SYMBOL as generic syntax checker.
+
+Any syntax checker defined with this macro is eligible for manual
+syntax checker selection with `flycheck-select-checker'. To make
+the new syntax checker available for automatic selection, it must
+be registered in `flycheck-checkers'.
+
+DOCSTRING is the documentation of the syntax checker, for
+`flycheck-describe-checker'. The following PROPERTIES constitute
+a generic syntax checker. Unless otherwise noted, all properties
+are mandatory.
+
+`:start FUNCTION'
+ A function to start the syntax checker.
+
+ FUNCTION shall take two arguments and return a context
+ object if the checker is started successfully. Otherwise it
+ shall signal an error.
+
+ The first argument is the syntax checker being started. The
+ second is a callback function to report state changes to
+ Flycheck. The callback takes two arguments STATUS DATA,
+ where STATUS is a symbol denoting the syntax checker status
+ and DATA an optional argument with additional data for the
+ status report. See `flycheck-report-buffer-checker-status'
+ for more information about STATUS and DATA.
+
+ FUNCTION may be synchronous or asynchronous, i.e. it may
+ call the given callback either immediately, or at some later
+ point (e.g. from a process sentinel).
+
+ A syntax checker _must_ call CALLBACK at least once with a
+ STATUS that finishes the current syntax checker. Otherwise
+ Flycheck gets stuck at the current syntax check with this
+ syntax checker.
+
+ The context object returned by FUNCTION is passed to
+ `:interrupt'.
+
+`:interrupt FUNCTION'
+ A function to interrupt the syntax check.
+
+ FUNCTION is called with the syntax checker and the context
+ object returned by the `:start' function and shall try to
+ interrupt the syntax check. The context may be nil, if the
+ syntax check is interrupted before actually started.
+ FUNCTION should handle this situation.
+
+ If it cannot interrupt the syntax check, it may either
+ signal an error or silently ignore the attempt to interrupt
+ the syntax checker, depending on the severity of the
+ situation.
+
+ If interrupting the syntax check failed, Flycheck will let
+ the syntax check continue, but ignore any status reports.
+ Notably, it won't highlight any errors reported by the
+ syntax check in the buffer.
+
+ This property is optional. If omitted, Flycheck won't
+ attempt to interrupt syntax checks wit this syntax checker,
+ and simply ignore their results.
+
+`:print-doc FUNCTION'
+ A function to print additional documentation into the Help
+ buffer of this checker.
+
+ FUNCTION is called when creating the Help buffer for the
+ syntax checker, with the syntax checker as single argument,
+ after printing the name of the syntax checker and its modes
+ and predicate, but before printing DOCSTRING. It may insert
+ additional documentation into the current buffer.
+
+ The call occurs within `with-help-window'. Hence
+ `standard-output' points to the current buffer, so you may
+ use `princ' and friends to add content. Also, the current
+ buffer is put into Help mode afterwards, which automatically
+ turns symbols into references, if possible.
+
+ This property is optional. If omitted, no additional
+ documentation is printed for this syntax checker.
+
+:verify FUNCTION
+ A function to verify the checker for the current buffer.
+
+ FUNCTION is called with the syntax checker as single
+ argument, and shall return a list of
+ `flycheck-verification-result' objects indicating whether
+ the syntax checker could be used in the current buffer, and
+ highlighting potential setup problems.
+
+ This property is optional. If omitted, no additional
+ verification occurs for this syntax checker. It is however
+ absolutely recommended that you add a `:verify' function to
+ your syntax checker, because it will help users to spot
+ potential setup problems.
+
+`:modes MODES'
+ A major mode symbol or a list thereof, denoting major modes
+ to use this syntax checker in.
+
+ This syntax checker will only be used in buffers whose
+ `major-mode' is contained in MODES.
+
+ If `:predicate' is also given the syntax checker will only
+ be used in buffers for which the `:predicate' returns
+ non-nil.
+
+`:predicate FUNCTION'
+ A function to determine whether to use the syntax checker in
+ the current buffer.
+
+ FUNCTION is called without arguments and shall return
+ non-nil if this syntax checker shall be used to check the
+ current buffer. Otherwise it shall return nil.
+
+ If this checker has a `:working-directory' FUNCTION is
+ called with `default-directory' bound to the checker's
+ working directory.
+
+ FUNCTION is only called in matching major modes.
+
+ This property is optional.
+
+`:enabled FUNCTION'
+ A function to determine whether to use the syntax checker in
+ the current buffer.
+
+ This property behaves as `:predicate', except that it's only
+ called the first time a syntax checker is to be used in a buffer.
+
+ FUNCTION is called without arguments and shall return
+ non-nil if this syntax checker shall be used to check the
+ current buffer. Otherwise it shall return nil.
+
+ If FUNCTION returns a non-nil value the checker is put in a
+ whitelist in `flycheck--automatically-enabled-checkers' to
+ prevent further invocations of `:enabled'. Otherwise it is
+ disabled via `flycheck--automatically-disabled-checkers' to
+ prevent any further use of it.
+
+ If this checker has a `:working-directory' FUNCTION is
+ called with `default-directory' bound to the checker's
+ working directory.
+
+ FUNCTION is only called in matching major modes.
+
+ This property is optional.
+
+`:error-filter FUNCTION'
+ A function to filter the errors returned by this checker.
+
+ FUNCTION is called with the list of `flycheck-error' objects
+ returned by the syntax checker and shall return another list
+ of `flycheck-error' objects, which is considered the final
+ result of this syntax checker.
+
+ FUNCTION is free to add, remove or modify errors, whether in
+ place or by copying.
+
+ This property is optional. The default filter is
+ `identity'.
+
+`:error-explainer FUNCTION'
+ A function to return an explanation text for errors
+ generated by this checker.
+
+ FUNCTION is called with a `flycheck-error' object and shall
+ return an explanation message for this error as a string, or
+ nil if there is no explanation for this error.
+
+ This property is optional.
+
+`:next-checkers NEXT-CHECKERS'
+ A list denoting syntax checkers to apply after this syntax
+ checker, in what we call \"chaining\" of syntax checkers.
+
+ Each ITEM is a cons cell `(LEVEL . CHECKER)'. CHECKER is a
+ syntax checker to run after this syntax checker. LEVEL is
+ an error level. CHECKER will only be used if there are no
+ current errors of at least LEVEL. LEVEL may also be t, in
+ which case CHECKER is used regardless of the current errors.
+
+ ITEM may also be a syntax checker symbol, which is
+ equivalent to `(t . ITEM)'.
+
+ Flycheck tries all items in order of declaration, and uses
+ the first whose LEVEL matches and whose CHECKER is
+ registered and can be used for the current buffer.
+
+ This feature is typically used to apply more than one syntax
+ checker to a buffer. For instance, you might first use a
+ compiler to check a buffer for syntax and type errors, and
+ then run a linting tool that checks for insecure code, or
+ questionable style.
+
+ This property is optional. If omitted, it defaults to the
+ nil, i.e. no other syntax checkers are applied after this
+ syntax checker.
+
+`:working-directory FUNCTION'
+ The value of `default-directory' when invoking `:start'.
+
+ FUNCTION is a function taking the syntax checker as sole
+ argument. It shall return the absolute path to an existing
+ directory to use as `default-directory' for `:start' or
+ nil to fall back to the `default-directory' of the current
+ buffer.
+
+ This property is optional. If omitted, invoke `:start'
+ from the `default-directory' of the buffer being checked.
+
+Signal an error, if any property has an invalid value."
+ (declare (indent 1)
+ (doc-string 2))
+ (let ((start (plist-get properties :start))
+ (interrupt (plist-get properties :interrupt))
+ (print-doc (plist-get properties :print-doc))
+ (modes (plist-get properties :modes))
+ (predicate (plist-get properties :predicate))
+ (verify (plist-get properties :verify))
+ (enabled (plist-get properties :enabled))
+ (filter (or (plist-get properties :error-filter) #'identity))
+ (explainer (plist-get properties :error-explainer))
+ (next-checkers (plist-get properties :next-checkers))
+ (file (flycheck-current-load-file))
+ (working-directory (plist-get properties :working-directory)))
+
+ (unless (listp modes)
+ (setq modes (list modes)))
+
+ (unless (functionp start)
+ (error ":start %S of syntax checker %s is not a function" start symbol))
+ (unless (or (null interrupt) (functionp interrupt))
+ (error ":interrupt %S of syntax checker %s is not a function"
+ interrupt symbol))
+ (unless (or (null print-doc) (functionp print-doc))
+ (error ":print-doc %S of syntax checker %s is not a function"
+ print-doc symbol))
+ (unless (or (null verify) (functionp verify))
+ (error ":verify %S of syntax checker %S is not a function"
+ verify symbol))
+ (unless (or (null enabled) (functionp enabled))
+ (error ":enabled %S of syntax checker %S is not a function"
+ enabled symbol))
+ (unless modes
+ (error "Missing :modes in syntax checker %s" symbol))
+ (dolist (mode modes)
+ (unless (symbolp mode)
+ (error "Invalid :modes %s in syntax checker %s, %s must be a symbol"
+ modes symbol mode)))
+ (unless (or (null predicate) (functionp predicate))
+ (error ":predicate %S of syntax checker %s is not a function"
+ predicate symbol))
+ (unless (functionp filter)
+ (error ":error-filter %S of syntax checker %s is not a function"
+ filter symbol))
+ (unless (or (null explainer) (functionp explainer))
+ (error ":error-explainer %S of syntax checker %S is not a function"
+ explainer symbol))
+ (dolist (checker next-checkers)
+ (flycheck-validate-next-checker checker))
+
+ (let ((real-predicate
+ (and predicate
+ (lambda ()
+ ;; Run predicate in the checker's default directory
+ (let ((default-directory
+ (flycheck-compute-working-directory symbol)))
+ (funcall predicate)))))
+ (real-enabled
+ (lambda ()
+ (if (flycheck-valid-checker-p symbol)
+ (or (null enabled)
+ ;; Run enabled in the checker's default directory
+ (let ((default-directory
+ (flycheck-compute-working-directory symbol)))
+ (funcall enabled)))
+ (lwarn 'flycheck
+ :warning "%S is no valid Flycheck syntax checker.
+Try to reinstall the package defining this syntax checker." symbol)
+ nil))))
+ (pcase-dolist (`(,prop . ,value)
+ `((start . ,start)
+ (interrupt . ,interrupt)
+ (print-doc . ,print-doc)
+ (modes . ,modes)
+ (predicate . ,real-predicate)
+ (verify . ,verify)
+ (enabled . ,real-enabled)
+ (error-filter . ,filter)
+ (error-explainer . ,explainer)
+ (next-checkers . ,next-checkers)
+ (documentation . ,docstring)
+ (file . ,file)
+ (working-directory . ,working-directory)))
+ (setf (flycheck-checker-get symbol prop) value)))
+
+ ;; Track the version, to avoid breakage if the internal format changes
+ (setf (flycheck-checker-get symbol 'generic-checker-version)
+ flycheck-generic-checker-version)))
+
+(defun flycheck-valid-checker-p (checker)
+ "Check whether a CHECKER is valid.
+
+A valid checker is a symbol defined as syntax checker with
+`flycheck-define-checker'."
+ (and (symbolp checker)
+ (= (or (get checker 'flycheck-generic-checker-version) 0)
+ flycheck-generic-checker-version)))
+
+(defun flycheck-checker-supports-major-mode-p (checker &optional mode)
+ "Whether CHECKER supports the given major MODE.
+
+CHECKER is a syntax checker symbol and MODE a major mode symbol.
+Look at the `modes' property of CHECKER to determine whether
+CHECKER supports buffers in the given major MODE.
+
+MODE defaults to the value of `major-mode' if omitted or nil.
+
+Return non-nil if CHECKER supports MODE and nil otherwise."
+ (let ((mode (or mode major-mode)))
+ (memq mode (flycheck-checker-get checker 'modes))))
+
+(define-obsolete-variable-alias 'flycheck-enabled-checkers
+ 'flycheck--automatically-enabled-checkers "32")
+
+(defvar flycheck--automatically-enabled-checkers nil
+ "Syntax checkers included in automatic selection.
+
+A list of Flycheck syntax checkers included in automatic
+selection for the current buffer.")
+(make-variable-buffer-local 'flycheck--automatically-enabled-checkers)
+
+(defun flycheck-may-enable-checker (checker)
+ "Whether a generic CHECKER may be enabled for current buffer.
+
+Return non-nil if CHECKER may be used for the current buffer, and
+nil otherwise."
+ (let* ((enabled (flycheck-checker-get checker 'enabled))
+ (shall-enable
+ (and (not (flycheck-disabled-checker-p checker))
+ (or (memq checker flycheck--automatically-enabled-checkers)
+ (null enabled)
+ (funcall enabled)))))
+ (if shall-enable
+ (cl-pushnew checker flycheck--automatically-enabled-checkers)
+ (cl-pushnew checker flycheck--automatically-disabled-checkers))
+ shall-enable))
+
+(defun flycheck-reset-enabled-checker (checker)
+ "Reset the `:enabled' test of CHECKER.
+
+Forget that CHECKER has been enabled or automatically disabled
+from a previous `:enabled' test. Once a checker has been enabled
+or automatically disabled, `flycheck-may-enable-checker' will
+always be constant (t or nil respectively).
+
+If you wish to test the `:enabled' predicate again, you must
+first reset its state using this function."
+ (when (memq checker flycheck--automatically-disabled-checkers)
+ (setq flycheck--automatically-disabled-checkers
+ (remq checker flycheck--automatically-disabled-checkers)))
+ (when (memq checker flycheck--automatically-enabled-checkers)
+ (setq flycheck--automatically-enabled-checkers
+ (remq checker flycheck--automatically-enabled-checkers))))
+
+(defun flycheck-may-use-checker (checker)
+ "Whether a generic CHECKER may be used.
+
+Return non-nil if CHECKER may be used for the current buffer, and
+nil otherwise."
+ (let ((predicate (flycheck-checker-get checker 'predicate)))
+ (and (flycheck-valid-checker-p checker)
+ (flycheck-checker-supports-major-mode-p checker)
+ (flycheck-may-enable-checker checker)
+ (or (null predicate) (funcall predicate)))))
+
+(defun flycheck-may-use-next-checker (next-checker)
+ "Determine whether NEXT-CHECKER may be used."
+ (when (symbolp next-checker)
+ (push t next-checker))
+ (let ((level (car next-checker))
+ (next-checker (cdr next-checker)))
+ (and (or (eq level t)
+ (flycheck-has-max-current-errors-p level))
+ (flycheck-registered-checker-p next-checker)
+ (flycheck-may-use-checker next-checker))))
+
+
+;;; Help for generic syntax checkers
+(define-button-type 'help-flycheck-checker-def
+ :supertype 'help-xref
+ 'help-function #'flycheck-goto-checker-definition
+ 'help-echo "mouse-1, RET: find Flycheck checker definition")
+
+(defconst flycheck-find-checker-regexp
+ (rx line-start (zero-or-more (syntax whitespace))
+ "(" symbol-start
+ (or "flycheck-define-checker" "flycheck-define-command-checker")
+ symbol-end
+ (eval (list 'regexp find-function-space-re))
+ (? "'")
+ symbol-start "%s" symbol-end
+ (or (syntax whitespace) line-end))
+ "Regular expression to find a checker definition.")
+
+(add-to-list 'find-function-regexp-alist
+ '(flycheck-checker . flycheck-find-checker-regexp))
+
+(defun flycheck-goto-checker-definition (checker file)
+ "Go to to the definition of CHECKER in FILE."
+ (let ((location (find-function-search-for-symbol
+ checker 'flycheck-checker file)))
+ (pop-to-buffer (car location))
+ (if (cdr location)
+ (goto-char (cdr location))
+ (message "Unable to find checker location in file"))))
+
+(defun flycheck-checker-at-point ()
+ "Return the Flycheck checker found at or before point.
+
+Return nil if there is no checker."
+ (let ((symbol (variable-at-point 'any-symbol)))
+ (when (flycheck-valid-checker-p symbol)
+ symbol)))
+
+(defun flycheck-describe-checker (checker)
+ "Display the documentation of CHECKER.
+
+CHECKER is a checker symbol.
+
+Pop up a help buffer with the documentation of CHECKER."
+ (interactive
+ (let* ((enable-recursive-minibuffers t)
+ (default (or (flycheck-checker-at-point)
+ (ignore-errors (flycheck-get-checker-for-buffer))))
+ (prompt (if default
+ (format "Describe syntax checker (default %s): " default)
+ "Describe syntax checker: ")))
+ (list (flycheck-read-checker prompt default))))
+ (unless (flycheck-valid-checker-p checker)
+ (user-error "You didn't specify a Flycheck syntax checker"))
+ (help-setup-xref (list #'flycheck-describe-checker checker)
+ (called-interactively-p 'interactive))
+ (save-excursion
+ (with-help-window (help-buffer)
+ (let ((filename (flycheck-checker-get checker 'file))
+ (modes (flycheck-checker-get checker 'modes))
+ (predicate (flycheck-checker-get checker 'predicate))
+ (print-doc (flycheck-checker-get checker 'print-doc))
+ (next-checkers (flycheck-checker-get checker 'next-checkers)))
+ (princ (format "%s is a Flycheck syntax checker" checker))
+ (when filename
+ (princ (format " in `%s'" (file-name-nondirectory filename)))
+ (with-current-buffer standard-output
+ (save-excursion
+ (re-search-backward "`\\([^`']+\\)'" nil t)
+ (help-xref-button 1 'help-flycheck-checker-def
+ checker filename))))
+ (princ ".\n\n")
+
+ (let ((modes-start (with-current-buffer standard-output (point-max))))
+ ;; Track the start of the modes documentation, to properly re-fill
+ ;; it later
+ (princ " This syntax checker checks syntax in the major mode(s) ")
+ (princ (string-join
+ (seq-map (apply-partially #'format "`%s'") modes)
+ ", "))
+ (when predicate
+ (princ ", and uses a custom predicate"))
+ (princ ".")
+ (when next-checkers
+ (princ " It runs the following checkers afterwards:"))
+ (with-current-buffer standard-output
+ (save-excursion
+ (fill-region-as-paragraph modes-start (point-max))))
+ (princ "\n")
+
+ ;; Print the list of next checkers
+ (when next-checkers
+ (princ "\n")
+ (let ((beg-checker-list (with-current-buffer standard-output
+ (point))))
+ (dolist (next-checker next-checkers)
+ (if (symbolp next-checker)
+ (princ (format " * `%s'\n" next-checker))
+ (princ (format " * `%s' (maximum level `%s')\n"
+ (cdr next-checker) (car next-checker)))))
+ ;;
+ (with-current-buffer standard-output
+ (save-excursion
+ (while (re-search-backward "`\\([^`']+\\)'"
+ beg-checker-list t)
+ (let ((checker (intern-soft (match-string 1))))
+ (when (flycheck-valid-checker-p checker)
+ (help-xref-button 1 'help-flycheck-checker-doc
+ checker)))))))))
+ ;; Call the custom print-doc function of the checker, if present
+ (when print-doc
+ (funcall print-doc checker))
+ ;; Ultimately, print the docstring
+ (princ "\nDocumentation:\n")
+ (princ (flycheck-checker-get checker 'documentation))))))
+
+
+;;; Syntax checker verification
+(cl-defstruct (flycheck-verification-result
+ (:constructor flycheck-verification-result-new))
+ "Structure for storing a single verification result.
+
+Slots:
+
+`label'
+ A label for this result, as string
+
+`message'
+ A message for this result, as string
+
+`face'
+ The face to use for the `message'.
+
+ You can either use a face symbol, or a list of face symbols."
+ label message face)
+
+(defun flycheck-verify-generic-checker (checker)
+ "Verify a generic CHECKER in the current buffer.
+
+Return a list of `flycheck-verification-result' objects."
+ (let (results
+ (predicate (flycheck-checker-get checker 'predicate))
+ (enabled (flycheck-checker-get checker 'enabled))
+ (verify (flycheck-checker-get checker 'verify)))
+ (when enabled
+ (let ((result (flycheck-may-enable-checker checker)))
+ (push (flycheck-verification-result-new
+ :label "may enable"
+ :message (if result "yes" "Automatically disabled!")
+ :face (if result 'success '(bold warning)))
+ results)))
+ (when predicate
+ (let ((result (funcall predicate)))
+ (push (flycheck-verification-result-new
+ :label "predicate"
+ :message (prin1-to-string (not (null result)))
+ :face (if result 'success '(bold warning)))
+ results)))
+ (append (nreverse results)
+ (and verify (funcall verify checker)))))
+
+(define-button-type 'help-flycheck-checker-doc
+ :supertype 'help-xref
+ 'help-function #'flycheck-describe-checker
+ 'help-echo "mouse-1, RET: describe Flycheck checker")
+
+(define-button-type 'flycheck-checker-select
+ :supertype 'help-xref
+ 'help-function (lambda (buffer checker)
+ (with-current-buffer buffer
+ (flycheck-select-checker checker))
+ ;; Revert the verify-setup buffer since it is now stale
+ (revert-buffer))
+ 'help-echo "mouse-1, RET: select Flycheck checker"
+ 'face 'flycheck-verify-select-checker)
+
+(defun flycheck--verify-princ-checker (checker buffer
+ &optional with-mm with-select)
+ "Print verification result of CHECKER for BUFFER.
+
+When WITH-MM is given and non-nil, also include the major mode
+into the verification results.
+
+When WITH-SELECT is non-nil, add a button to select this checker."
+ (princ " ")
+ (insert-button (symbol-name checker)
+ 'type 'help-flycheck-checker-doc
+ 'help-args (list checker))
+ (when (with-current-buffer buffer (flycheck-disabled-checker-p checker))
+ (insert (propertize " (disabled)" 'face '(bold error))))
+ (when (eq checker (buffer-local-value 'flycheck-checker buffer))
+ (insert (propertize " (explicitly selected)" 'face 'bold)))
+ (when with-select
+ (princ " ")
+ (insert-text-button "select"
+ 'type 'flycheck-checker-select
+ 'help-args (list buffer checker)))
+ (princ "\n")
+ (let ((results (with-current-buffer buffer
+ (append (flycheck-verify-generic-checker checker)
+ (flycheck--verify-next-checkers checker)))))
+ (when with-mm
+ (with-current-buffer buffer
+ (let ((message-and-face
+ (if (flycheck-checker-supports-major-mode-p checker)
+ (cons (format "`%s' supported" major-mode) 'success)
+ (cons (format "`%s' not supported" major-mode) 'error))))
+ (push (flycheck-verification-result-new
+ :label "major mode"
+ :message (car message-and-face)
+ :face (cdr message-and-face))
+ results))))
+ (let* ((label-length
+ (seq-max (mapcar
+ (lambda (res)
+ (length (flycheck-verification-result-label res)))
+ results)))
+ (message-column (+ 8 label-length)))
+ (dolist (result results)
+ (princ " - ")
+ (princ (flycheck-verification-result-label result))
+ (princ ": ")
+ (princ (make-string (- message-column (current-column)) ?\ ))
+ (let ((message (flycheck-verification-result-message result))
+ (face (flycheck-verification-result-face result)))
+ ;; If face is nil, using propertize erases the face already contained
+ ;; by the message. We don't want that, since this would remove the
+ ;; button face from the checker chain result.
+ (insert (if face (propertize message 'face face) message)))
+ (princ "\n"))))
+ (princ "\n"))
+
+(defun flycheck--get-next-checker-symbol (next)
+ "Get the checker symmbol of NEXT checker.
+
+NEXT should be either a cons (NEXT-CHECKER . LEVEL) or a
+symbol."
+ (if (consp next) (cdr next) next))
+
+(defun flycheck-get-next-checkers (checker)
+ "Return the immediate next checkers of CHECKER.
+
+This is a list of checker symbols. The error levels of the
+`:next-checker' property are ignored."
+ (mapcar #'flycheck--get-next-checker-symbol
+ (flycheck-checker-get checker 'next-checkers)))
+
+(defun flycheck-all-next-checkers (checker)
+ "Return all checkers that may follow CHECKER.
+
+Return the transitive closure of the next-checker relation. The
+return value is a list of checkers, not including CHECKER."
+ (let ((next-checkers)
+ (visited)
+ (queue (list checker)))
+ (while queue
+ (let ((c (pop queue)))
+ (push c visited)
+ (dolist (n (flycheck-get-next-checkers c))
+ (push n next-checkers)
+ (unless (memq n visited)
+ (cl-pushnew n queue)))))
+ (seq-uniq next-checkers)))
+
+(defun flycheck--verify-next-checkers (checker)
+ "Return a verification result for the next checkers of CHECKER."
+ (-when-let (next (flycheck-get-next-checkers checker))
+ (list
+ (flycheck-verification-result-new
+ :label "next checkers"
+ ;; We use `make-text-button' to preserve the button properties in the
+ ;; string
+ :message (mapconcat
+ (lambda (checker)
+ (make-text-button (symbol-name checker) nil
+ 'type 'help-flycheck-checker-doc
+ 'help-args (list checker)))
+ next
+ ", ")))))
+
+(defun flycheck--verify-print-header (desc buffer)
+ "Print a title with DESC for BUFFER in the current buffer.
+
+DESC is an arbitrary string containing a description, and BUFFER
+is the buffer being verified. The name and the major mode mode
+of BUFFER are printed.
+
+DESC and information about BUFFER are printed in the current
+buffer."
+ (princ desc)
+ (insert (propertize (buffer-name buffer) 'face 'bold))
+ (princ " in ")
+ (let ((mode (buffer-local-value 'major-mode buffer)))
+ (insert-button (symbol-name mode)
+ 'type 'help-function
+ 'help-args (list mode)))
+ (princ ":\n\n"))
+
+(defun flycheck--verify-print-footer (buffer)
+ "Print a footer for BUFFER in the current buffer.
+
+BUFFER is the buffer being verified."
+ (princ "Flycheck Mode is ")
+ (let ((enabled (buffer-local-value 'flycheck-mode buffer)))
+ (insert (propertize (if enabled "enabled" "disabled")
+ 'face (if enabled 'success '(warning bold)))))
+ (princ
+ (with-current-buffer buffer
+ ;; Use key binding state in the verified buffer to print the help.
+ (substitute-command-keys
+ ". Use \\[universal-argument] \\[flycheck-disable-checker] \
+to enable disabled checkers.")))
+ (save-excursion
+ (let ((end (point)))
+ (backward-paragraph)
+ (fill-region-as-paragraph (point) end)))
+
+ (princ "\n\n--------------------\n\n")
+ (princ (format "Flycheck version: %s\n" (flycheck-version)))
+ (princ (format "Emacs version: %s\n" emacs-version))
+ (princ (format "System: %s\n" system-configuration))
+ (princ (format "Window system: %S\n" window-system)))
+
+(defun flycheck-verify-checker (checker)
+ "Check whether a CHECKER can be used in this buffer.
+
+Show a buffer listing possible problems that prevent CHECKER from
+being used for the current buffer.
+
+Note: Do not use this function to check whether a syntax checker
+is applicable from Emacs Lisp code. Use
+`flycheck-may-use-checker' instead."
+ (interactive (list (flycheck-read-checker "Checker to verify: ")))
+ (unless (flycheck-valid-checker-p checker)
+ (user-error "%s is not a syntax checker" checker))
+
+ ;; Save the buffer to make sure that all predicates are good
+ ;; FIXME: this may be surprising to users, with unintended side-effects.
+ (when (and (buffer-file-name) (buffer-modified-p))
+ (save-buffer))
+
+ (let ((buffer (current-buffer)))
+ (with-help-window (get-buffer-create " *Flycheck checker*")
+ (with-current-buffer standard-output
+ (flycheck--verify-print-header "Syntax checker in buffer " buffer)
+ (flycheck--verify-princ-checker checker buffer 'with-mm)
+ (if (with-current-buffer buffer (flycheck-may-use-checker checker))
+ (insert (propertize
+ "Flycheck can use this syntax checker for this buffer.\n"
+ 'face 'success))
+ (insert (propertize
+ "Flycheck cannot use this syntax checker for this buffer.\n"
+ 'face 'error)))
+ (insert "\n")
+ (flycheck--verify-print-footer buffer)))))
+
+(defun flycheck-verify-setup ()
+ "Check whether Flycheck can be used in this buffer.
+
+Display a new buffer listing all syntax checkers that could be
+applicable in the current buffer. For each syntax checkers,
+possible problems are shown."
+ (interactive)
+ ;; Save to make sure checkers that only work on saved buffers will pass the
+ ;; verification
+ (when (and (buffer-file-name) (buffer-modified-p))
+ (save-buffer))
+
+ (let* ((buffer (current-buffer))
+ (first-checker (flycheck-get-checker-for-buffer))
+ (valid-checkers
+ (remq first-checker
+ (seq-filter #'flycheck-may-use-checker flycheck-checkers)))
+ (valid-next-checkers
+ (when first-checker
+ (seq-intersection valid-checkers
+ (flycheck-all-next-checkers first-checker))))
+ (valid-remaining (seq-difference valid-checkers valid-next-checkers))
+ (other-checkers
+ (seq-difference (seq-filter #'flycheck-checker-supports-major-mode-p
+ flycheck-checkers)
+ (cons first-checker valid-checkers)))
+ (help-buffer (get-buffer-create " *Flycheck checkers*")))
+
+ ;; Print all applicable checkers for this buffer
+ (with-help-window help-buffer
+ (with-current-buffer standard-output
+ (flycheck--verify-print-header "Syntax checkers for buffer " buffer)
+
+ (if first-checker
+ (progn
+ (princ "First checker to run:\n\n")
+ (flycheck--verify-princ-checker first-checker buffer))
+ (insert (propertize
+ "No checker to run in this buffer.\n\n"
+ 'face '(bold error))))
+
+ (when valid-next-checkers
+ (princ
+ "Checkers that may run as part of the first checker's chain:\n\n")
+ (dolist (checker valid-next-checkers)
+ (flycheck--verify-princ-checker checker buffer)))
+
+ (when valid-remaining
+ (princ "Checkers that could run if selected:\n\n")
+ (dolist (checker valid-remaining)
+ (flycheck--verify-princ-checker checker buffer nil 'with-select)))
+
+ (when other-checkers
+ (princ
+ "Checkers that are compatible with this mode, \
+but will not run until properly configured:\n\n")
+ (dolist (checker other-checkers)
+ (flycheck--verify-princ-checker checker buffer)))
+
+ ;; If we have no checkers at all, that's worth mentioning
+ (unless (or first-checker valid-checkers other-checkers)
+ (insert (propertize
+ "No checkers are available for this buffer.\n\n"
+ 'face '(bold error))))
+
+ (let ((unregistered-checkers
+ (seq-difference (flycheck-defined-checkers) flycheck-checkers)))
+ (when unregistered-checkers
+ (insert (propertize
+ "\nThe following syntax checkers are not registered:\n\n"
+ 'face '(bold warning)))
+ (dolist (checker unregistered-checkers)
+ (princ " - ")
+ (princ checker)
+ (princ "\n"))
+ (princ
+ "\nTry adding these syntax checkers to `flycheck-checkers'.\n")))
+
+ (flycheck--verify-print-footer buffer)))
+
+ (with-current-buffer help-buffer
+ (setq-local revert-buffer-function
+ (lambda (_ignore-auto _noconfirm)
+ (with-current-buffer buffer (flycheck-verify-setup)))))))
+
+
+;;; Predicates for generic syntax checkers
+(defun flycheck-buffer-saved-p (&optional buffer)
+ "Determine whether BUFFER is saved to a file.
+
+BUFFER is the buffer to check. If omitted or nil, use the
+current buffer as BUFFER.
+
+Return non-nil if the BUFFER is backed by a file, and not
+modified, or nil otherwise."
+ (let ((file-name (buffer-file-name buffer)))
+ (and file-name (file-exists-p file-name) (not (buffer-modified-p buffer)))))
+
+
+;;; Extending generic checkers
+(defun flycheck-remove-next-checker (checker next)
+ "After CHECKER remove a NEXT checker.
+
+CHECKER is a syntax checker symbol, from which to remove NEXT
+checker.
+
+NEXT is a cons or a symbol, as documented in
+`flycheck-add-next-checker'."
+ (unless (flycheck-valid-checker-p checker)
+ (error "%s is not a valid syntax checker" checker))
+ (let* ((next-symbol (flycheck--get-next-checker-symbol next)))
+ (setf
+ (flycheck-checker-get checker 'next-checkers)
+ (seq-remove
+ (lambda (next) (eq (flycheck--get-next-checker-symbol next) next-symbol))
+ (flycheck-checker-get checker 'next-checkers)))))
+
+(defun flycheck-add-next-checker (checker next &optional append)
+ "After CHECKER add a NEXT checker.
+
+CHECKER is a syntax checker symbol, to which to add NEXT checker.
+
+NEXT is a cons cell `(LEVEL . NEXT-CHECKER)'. NEXT-CHECKER is a
+symbol denoting the syntax checker to run after CHECKER. LEVEL
+is an error level. NEXT-CHECKER will only be used if there is no
+current error whose level is more severe than LEVEL. LEVEL may
+also be t, in which case NEXT-CHECKER is used regardless of the
+current errors.
+
+NEXT can also be a syntax checker symbol only, which is
+equivalent to `(t . NEXT)'.
+
+NEXT-CHECKER is prepended before other next checkers, unless
+APPEND is non-nil."
+ (unless (flycheck-valid-checker-p checker)
+ (error "%s is not a valid syntax checker" checker))
+ (flycheck-validate-next-checker next 'strict)
+ (flycheck-remove-next-checker checker next)
+ (let ((next-checkers (flycheck-checker-get checker 'next-checkers)))
+ (setf (flycheck-checker-get checker 'next-checkers)
+ (if append (append next-checkers (list next))
+ (cons next next-checkers)))))
+
+(defun flycheck-add-mode (checker mode)
+ "To CHECKER add a new major MODE.
+
+CHECKER and MODE are symbols denoting a syntax checker and a
+major mode respectively.
+
+Add MODE to the `:modes' property of CHECKER, so that CHECKER
+will be used in buffers with MODE."
+ (unless (flycheck-valid-checker-p checker)
+ (error "%s is not a valid syntax checker" checker))
+ (unless (symbolp mode)
+ (error "%s is not a symbol" mode))
+ (push mode (flycheck-checker-get checker 'modes)))
+
+
+;;; Generic syntax checks
+(cl-defstruct (flycheck-syntax-check
+ (:constructor flycheck-syntax-check-new))
+ "Structure for storing syntax check state.
+
+Slots:
+
+`buffer'
+ The buffer being checked.
+
+`checker'
+ The syntax checker being used.
+
+`context'
+ The context object.
+
+`working-directory'
+ Working directory for the syntax checker. Serve as a value for
+ `default-directory' for a checker."
+ buffer checker context working-directory)
+
+(defun flycheck-syntax-check-start (syntax-check callback)
+ "Start a SYNTAX-CHECK with CALLBACK."
+ (let ((checker (flycheck-syntax-check-checker syntax-check))
+ (default-directory
+ (flycheck-syntax-check-working-directory syntax-check)))
+ (setf (flycheck-syntax-check-context syntax-check)
+ (funcall (flycheck-checker-get checker 'start) checker callback))))
+
+(defun flycheck-syntax-check-interrupt (syntax-check)
+ "Interrupt a SYNTAX-CHECK."
+ (let* ((checker (flycheck-syntax-check-checker syntax-check))
+ (interrupt-fn (flycheck-checker-get checker 'interrupt))
+ (context (flycheck-syntax-check-context syntax-check)))
+ (when interrupt-fn
+ (funcall interrupt-fn checker context))))
+
+
+;;; Syntax checking mode
+
+(defvar flycheck-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map flycheck-keymap-prefix flycheck-command-map)
+ ;; We place the menu under a custom menu key. Since this menu key is not
+ ;; present in the menu of the global map, no top-level menu entry is added
+ ;; to the global menu bar. However, it still appears on the mode line
+ ;; lighter.
+ (define-key map [menu-bar flycheck] flycheck-mode-menu-map)
+ map)
+ "Keymap of command `flycheck-mode'.")
+
+(defvar-local flycheck-old-next-error-function nil
+ "Remember the old `next-error-function'.")
+
+(defconst flycheck-hooks-alist
+ '(
+ ;; Handle events that may start automatic syntax checks
+ (after-save-hook . flycheck-handle-save)
+ (after-change-functions . flycheck-handle-change)
+ ;; Handle events that may triggered pending deferred checks
+ (window-configuration-change-hook . flycheck-perform-deferred-syntax-check)
+ (post-command-hook . flycheck-perform-deferred-syntax-check)
+ ;; Teardown Flycheck whenever the buffer state is about to get lost, to
+ ;; clean up temporary files and directories.
+ (kill-buffer-hook . flycheck-teardown)
+ (change-major-mode-hook . flycheck-teardown)
+ (before-revert-hook . flycheck-teardown)
+ ;; Update the error list if necessary
+ (post-command-hook . flycheck-error-list-update-source)
+ (post-command-hook . flycheck-error-list-highlight-errors)
+ ;; Display errors. Show errors at point after commands (like movements) and
+ ;; when Emacs gets focus. Cancel the display timer when Emacs looses focus
+ ;; (as there's no need to display errors if the user can't see them), and
+ ;; hide the error buffer (for large error messages) if necessary. Note that
+ ;; the focus hooks only work on Emacs 24.4 and upwards, but since undefined
+ ;; hooks are perfectly ok we don't need a version guard here. They'll just
+ ;; not work silently.
+ (post-command-hook . flycheck-maybe-display-error-at-point-soon)
+ (focus-in-hook . flycheck-display-error-at-point-soon)
+ (focus-out-hook . flycheck-cancel-error-display-error-at-point-timer)
+ (post-command-hook . flycheck-hide-error-buffer)
+ ;; Immediately show error popups when navigating to an error
+ (next-error-hook . flycheck-display-error-at-point))
+ "Hooks which Flycheck needs to hook in.
+
+The `car' of each pair is a hook variable, the `cdr' a function
+to be added or removed from the hook variable if Flycheck mode is
+enabled and disabled respectively.")
+
+;;;###autoload
+(define-minor-mode flycheck-mode
+ "Minor mode for on-the-fly syntax checking.
+
+When called interactively, toggle `flycheck-mode'. With prefix
+ARG, enable `flycheck-mode' if ARG is positive, otherwise disable
+it.
+
+When called from Lisp, enable `flycheck-mode' if ARG is omitted,
+nil or positive. If ARG is `toggle', toggle `flycheck-mode'.
+Otherwise behave as if called interactively.
+
+In `flycheck-mode' the buffer is automatically syntax-checked
+using the first suitable syntax checker from `flycheck-checkers'.
+Use `flycheck-select-checker' to select a checker for the current
+buffer manually.
+
+\\{flycheck-mode-map}"
+ :init-value nil
+ :keymap flycheck-mode-map
+ :lighter flycheck-mode-line
+ :after-hook (flycheck-buffer-automatically 'mode-enabled 'force-deferred)
+ (cond
+ (flycheck-mode
+ (flycheck-clear)
+
+ (pcase-dolist (`(,hook . ,fn) (reverse flycheck-hooks-alist))
+ (add-hook hook fn nil 'local))
+
+ (setq flycheck-old-next-error-function
+ (if flycheck-standard-error-navigation
+ next-error-function
+ :unset))
+ (when flycheck-standard-error-navigation
+ (setq next-error-function #'flycheck-next-error-function))
+
+ ;; This hook must be added globally since otherwise we cannot
+ ;; detect a change from a buffer where Flycheck is enabled to a
+ ;; buffer where Flycheck is not enabled, and therefore cannot
+ ;; notice that there has been any change when the user switches
+ ;; back to the buffer where Flycheck is enabled.
+ (add-hook 'buffer-list-update-hook #'flycheck-handle-buffer-switch))
+ (t
+ (unless (eq flycheck-old-next-error-function :unset)
+ (setq next-error-function flycheck-old-next-error-function))
+
+ (pcase-dolist (`(,hook . ,fn) flycheck-hooks-alist)
+ (remove-hook hook fn 'local))
+
+ (flycheck-teardown))))
+
+
+;;; Syntax checker selection for the current buffer
+(defun flycheck-get-checker-for-buffer ()
+ "Find the checker for the current buffer.
+
+Use the selected checker for the current buffer, if any,
+otherwise search for the best checker from `flycheck-checkers'.
+
+Return checker if there is a checker for the current buffer, or
+nil otherwise."
+ (if flycheck-checker
+ (when (flycheck-may-use-checker flycheck-checker)
+ flycheck-checker)
+ (seq-find #'flycheck-may-use-checker flycheck-checkers)))
+
+(defun flycheck-get-next-checker-for-buffer (checker)
+ "Get the checker to run after CHECKER for the current buffer."
+ (let ((next (seq-find #'flycheck-may-use-next-checker
+ (flycheck-checker-get checker 'next-checkers))))
+ (when next
+ (if (symbolp next) next (cdr next)))))
+
+(defun flycheck-select-checker (checker)
+ "Select CHECKER for the current buffer.
+
+CHECKER is a syntax checker symbol (see `flycheck-checkers') or
+nil. In the former case, use CHECKER for the current buffer,
+otherwise deselect the current syntax checker (if any) and use
+automatic checker selection via `flycheck-checkers'.
+
+If called interactively prompt for CHECKER. With prefix arg
+deselect the current syntax checker and enable automatic
+selection again.
+
+Set `flycheck-checker' to CHECKER and automatically start a new
+syntax check if the syntax checker changed.
+
+CHECKER will be used, even if it is not contained in
+`flycheck-checkers', or if it is disabled via
+`flycheck-disabled-checkers'."
+ (interactive
+ (if current-prefix-arg
+ (list nil)
+ (list (flycheck-read-checker "Select checker: "
+ (flycheck-get-checker-for-buffer)))))
+ (when (not (eq checker flycheck-checker))
+ (unless (or (not checker) (flycheck-may-use-checker checker))
+ (flycheck-verify-checker checker)
+ (user-error "Can't use syntax checker %S in this buffer" checker))
+ (setq flycheck-checker checker)
+ (when flycheck-mode
+ (flycheck-buffer))))
+
+(defun flycheck-disable-checker (checker &optional enable)
+ "Interactively disable CHECKER for the current buffer.
+
+Interactively, prompt for a syntax checker to disable, and add
+the syntax checker to the buffer-local value of
+`flycheck-disabled-checkers'.
+
+With non-nil ENABLE or with prefix arg, prompt for a disabled
+syntax checker and re-enable it by removing it from the
+buffer-local value of `flycheck-disabled-checkers'."
+ (declare
+ (interactive-only "Directly set `flycheck-disabled-checkers' instead"))
+ (interactive
+ (let* ((enable current-prefix-arg)
+ (candidates (if enable
+ (append flycheck-disabled-checkers
+ flycheck--automatically-disabled-checkers)
+ flycheck-checkers))
+ (prompt (if enable "Enable syntax checker: "
+ "Disable syntax checker: ")))
+ (when (and enable (not candidates))
+ (user-error "No syntax checkers disabled in this buffer"))
+ (list (flycheck-read-checker prompt nil nil candidates) enable)))
+ (unless checker
+ (user-error "No syntax checker given"))
+ (if enable
+ ;; We must use `remq' instead of `delq', because we must _not_ modify the
+ ;; list. Otherwise we could potentially modify the global default value,
+ ;; in case the list is the global default.
+ (progn
+ (when (memq checker flycheck-disabled-checkers)
+ (setq flycheck-disabled-checkers
+ (remq checker flycheck-disabled-checkers))
+ (flycheck-buffer))
+ (when (memq checker flycheck--automatically-disabled-checkers)
+ (setq flycheck--automatically-disabled-checkers
+ (remq checker flycheck--automatically-disabled-checkers))
+ (flycheck-buffer)))
+ (unless (memq checker flycheck-disabled-checkers)
+ (push checker flycheck-disabled-checkers)
+ (flycheck-buffer))))
+
+
+;;; Syntax checks for the current buffer
+(defvar-local flycheck-current-syntax-check nil
+ "The current syntax check in the this buffer.")
+(put 'flycheck-current-syntax-check 'permanent-local t)
+
+(defun flycheck-start-current-syntax-check (checker)
+ "Start a syntax check in the current buffer with CHECKER.
+
+Set `flycheck-current-syntax-check' accordingly."
+ ;; Allocate the current syntax check *before* starting it. This allows for
+ ;; synchronous checks, which call the status callback immediately in their
+ ;; start function.
+ (let* ((check
+ (flycheck-syntax-check-new
+ :buffer (current-buffer)
+ :checker checker
+ :context nil
+ :working-directory (flycheck-compute-working-directory checker)))
+ (callback (flycheck-buffer-status-callback check)))
+ (setq flycheck-current-syntax-check check)
+ (flycheck-report-status 'running)
+ (flycheck-syntax-check-start check callback)))
+
+(defun flycheck-running-p ()
+ "Determine whether a syntax check is running in the current buffer."
+ (not (null flycheck-current-syntax-check)))
+
+(defun flycheck-stop ()
+ "Stop any ongoing syntax check in the current buffer."
+ (when (flycheck-running-p)
+ (flycheck-syntax-check-interrupt flycheck-current-syntax-check)
+ ;; Remove the current syntax check, to reset Flycheck into a non-running
+ ;; state, and to make `flycheck-report-buffer-checker-status' ignore any
+ ;; status reports from the current syntax check.
+ (setq flycheck-current-syntax-check nil)
+ (flycheck-report-status 'interrupted)))
+
+(defun flycheck-buffer-status-callback (syntax-check)
+ "Create a status callback for SYNTAX-CHECK in the current buffer."
+ (lambda (&rest args)
+ (apply #'flycheck-report-buffer-checker-status
+ syntax-check args)))
+
+(defun flycheck-buffer ()
+ "Start checking syntax in the current buffer.
+
+Get a syntax checker for the current buffer with
+`flycheck-get-checker-for-buffer', and start it."
+ (interactive)
+ (flycheck-clean-deferred-check)
+ (if flycheck-mode
+ (unless (flycheck-running-p)
+ ;; Clear error list and mark all overlays for deletion. We do not
+ ;; delete all overlays immediately to avoid excessive re-displays and
+ ;; flickering, if the same errors gets highlighted again after the check
+ ;; completed.
+ (run-hooks 'flycheck-before-syntax-check-hook)
+ (flycheck-clear-errors)
+ (flycheck-mark-all-overlays-for-deletion)
+ (condition-case err
+ (let* ((checker (flycheck-get-checker-for-buffer)))
+ (if checker
+ (flycheck-start-current-syntax-check checker)
+ (flycheck-clear)
+ (flycheck-report-status 'no-checker)))
+ (error
+ (flycheck-report-failed-syntax-check)
+ (signal (car err) (cdr err)))))
+ (user-error "Flycheck mode disabled")))
+
+(defun flycheck-report-buffer-checker-status
+ (syntax-check status &optional data)
+ "In BUFFER, report a SYNTAX-CHECK STATUS with DATA.
+
+SYNTAX-CHECK is the `flycheck-syntax-check' which reported
+STATUS. STATUS denotes the status of CHECKER, with an optional
+DATA. STATUS may be one of the following symbols:
+
+`errored'
+ The syntax checker has errored. DATA is an optional error
+ message.
+
+ This report finishes the current syntax check.
+
+`interrupted'
+ The syntax checker was interrupted. DATA is ignored.
+
+ This report finishes the current syntax check.
+
+`finished'
+ The syntax checker has finished with a proper error report
+ for the current buffer. DATA is the (potentially empty)
+ list of `flycheck-error' objects reported by the syntax
+ check.
+
+ This report finishes the current syntax check.
+
+`suspicious'
+ The syntax checker encountered a suspicious state, which the
+ user needs to be informed about. DATA is an optional
+ message.
+
+A syntax checker _must_ report a status at least once with any
+symbol that finishes the current syntax checker. Otherwise
+Flycheck gets stuck with the current syntax check.
+
+If CHECKER is not the currently used syntax checker in
+`flycheck-current-syntax-check', the status report is largely
+ignored. Notably, any errors reported by the checker are
+discarded."
+ (let ((buffer (flycheck-syntax-check-buffer syntax-check)))
+ ;; Ignore the status report if the buffer is gone, or if this syntax check
+ ;; isn't the current one in buffer (which can happen if this is an old
+ ;; report of an interrupted syntax check, and a new syntax check was started
+ ;; since this check was interrupted)
+ (when (and (buffer-live-p buffer)
+ (eq syntax-check
+ (buffer-local-value 'flycheck-current-syntax-check buffer)))
+ (with-current-buffer buffer
+ (let ((checker (flycheck-syntax-check-checker syntax-check)))
+ (pcase status
+ ((or `errored `interrupted)
+ (flycheck-report-failed-syntax-check status)
+ (when (eq status 'errored)
+ ;; In case of error, show the error message
+ (message "Error from syntax checker %s: %s"
+ checker (or data "UNKNOWN!"))))
+ (`suspicious
+ (when flycheck-mode
+ (message "Suspicious state from syntax checker %s: %s"
+ checker (or data "UNKNOWN!")))
+ (flycheck-report-status 'suspicious))
+ (`finished
+ (when flycheck-mode
+ ;; Only report errors from the checker if Flycheck Mode is
+ ;; still enabled.
+ (flycheck-finish-current-syntax-check
+ data
+ (flycheck-syntax-check-working-directory syntax-check))))
+ (_
+ (error "Unknown status %s from syntax checker %s"
+ status checker))))))))
+
+(defun flycheck-finish-current-syntax-check (errors working-dir)
+ "Finish the current syntax-check in the current buffer with ERRORS.
+
+ERRORS is a list of `flycheck-error' objects reported by the
+current syntax check in `flycheck-current-syntax-check'.
+
+Report all ERRORS and potentially start any next syntax checkers.
+
+If the current syntax checker reported excessive errors, it is
+disabled via `flycheck-disable-excessive-checker' for subsequent
+syntax checks.
+
+Relative file names in ERRORS will be expanded relative to
+WORKING-DIR."
+ (let* ((syntax-check flycheck-current-syntax-check)
+ (checker (flycheck-syntax-check-checker syntax-check))
+ (errors (flycheck-relevant-errors
+ (flycheck-fill-and-expand-error-file-names
+ (flycheck-filter-errors
+ (flycheck-assert-error-list-p errors) checker)
+ working-dir))))
+ (unless (flycheck-disable-excessive-checker checker errors)
+ (flycheck-report-current-errors errors))
+ (let ((next-checker (flycheck-get-next-checker-for-buffer checker)))
+ (if next-checker
+ (flycheck-start-current-syntax-check next-checker)
+ (setq flycheck-current-syntax-check nil)
+ (flycheck-report-status 'finished)
+ ;; Delete overlays only after the very last checker has run, to avoid
+ ;; flickering on intermediate re-displays
+ (flycheck-delete-marked-overlays)
+ (flycheck-error-list-refresh)
+ (run-hooks 'flycheck-after-syntax-check-hook)
+ (when (eq (current-buffer) (window-buffer))
+ (flycheck-display-error-at-point))
+ ;; Immediately try to run any pending deferred syntax check, which
+ ;; were triggered by intermediate automatic check event, to make sure
+ ;; that we quickly refine outdated error information
+ (flycheck-perform-deferred-syntax-check)))))
+
+(defun flycheck-disable-excessive-checker (checker errors)
+ "Disable CHECKER if it reported excessive ERRORS.
+
+If ERRORS has more items than `flycheck-checker-error-threshold',
+add CHECKER to `flycheck--automatically-disabled-checkers', and
+show a warning.
+
+Return t when CHECKER was disabled, or nil otherwise."
+ (when (and flycheck-checker-error-threshold
+ (> (length errors) flycheck-checker-error-threshold))
+ ;; Disable CHECKER for this buffer
+ ;; (`flycheck--automatically-disabled-checkers' is a local variable).
+ (lwarn '(flycheck syntax-checker) :warning
+ (substitute-command-keys
+ "Syntax checker %s reported too many errors (%s) and is disabled.
+Use `\\[customize-variable] RET flycheck-checker-error-threshold' to
+change the threshold or `\\[universal-argument] \
+\\[flycheck-disable-checker]' to re-enable the checker.")
+ checker (length errors))
+ (push checker flycheck--automatically-disabled-checkers)
+ t))
+
+(defun flycheck-clear (&optional shall-interrupt)
+ "Clear all errors in the current buffer.
+
+With prefix arg or SHALL-INTERRUPT non-nil, also interrupt the
+current syntax check."
+ (interactive "P")
+ (when shall-interrupt
+ (flycheck-stop))
+ (flycheck-delete-all-overlays)
+ (flycheck-clear-errors)
+ (flycheck-error-list-refresh)
+ (flycheck-hide-error-buffer))
+
+(defun flycheck--empty-variables ()
+ "Empty variables used by Flycheck."
+ (kill-local-variable 'flycheck--file-truename-cache)
+ (kill-local-variable 'flycheck--idle-trigger-timer)
+ (kill-local-variable 'flycheck--idle-trigger-conditions)
+ (kill-local-variable 'flycheck--last-error-display-tick))
+
+(defun flycheck-teardown (&optional ignore-global)
+ "Teardown Flycheck in the current buffer.
+
+Completely clear the whole Flycheck state. Remove overlays, kill
+running checks, and empty all variables used by Flycheck.
+
+Unless optional argument IGNORE-GLOBAL is non-nil, check to see
+if no more Flycheck buffers remain (aside from the current
+buffer), and if so then clean up global hooks."
+ (flycheck-safe-delete-temporaries)
+ (flycheck-stop)
+ (flycheck-clean-deferred-check)
+ (flycheck-clear)
+ (flycheck-cancel-error-display-error-at-point-timer)
+ (flycheck--clear-idle-trigger-timer)
+ (flycheck--empty-variables)
+ (unless (or ignore-global
+ (seq-some (lambda (buf)
+ (and (not (equal buf (current-buffer)))
+ (buffer-local-value 'flycheck-mode buf)))
+ (buffer-list)))
+ (flycheck-global-teardown 'ignore-local)))
+
+
+;;; Automatic syntax checking in a buffer
+(defun flycheck-may-check-automatically (&rest conditions)
+ "Determine whether the buffer may be checked under one of CONDITIONS.
+
+Read-only buffers may never be checked automatically.
+
+If CONDITIONS are given, determine whether syntax may be checked
+under at least one of them, according to
+`flycheck-check-syntax-automatically'."
+ (and (not (or buffer-read-only (flycheck-ephemeral-buffer-p)))
+ (file-exists-p default-directory)
+ (or (not conditions)
+ (seq-some
+ (lambda (condition)
+ (memq condition flycheck-check-syntax-automatically))
+ conditions))))
+
+(defvar-local flycheck--idle-trigger-timer nil
+ "Timer used to trigger a syntax check after an idle delay.")
+
+(defvar-local flycheck--idle-trigger-conditions nil
+ "List of conditions under which an idle syntax check will be triggered.
+This will be some subset of the allowable values for
+`flycheck-check-syntax-automatically'.
+
+For example, if the user switches to a buffer and then makes an
+edit, this list will have the values `idle-change' and
+`idle-buffer-switch' in it, at least until the idle timer
+expires.")
+
+(defun flycheck-buffer-automatically (&optional condition force-deferred)
+ "Automatically check syntax at CONDITION.
+
+Syntax is not checked if `flycheck-may-check-automatically'
+returns nil for CONDITION. (CONDITION may be a single condition
+or a list of them.)
+
+The syntax check is deferred if FORCE-DEFERRED is non-nil, or if
+`flycheck-must-defer-check' returns t."
+ (when (and flycheck-mode (if (listp condition)
+ (apply #'flycheck-may-check-automatically
+ condition)
+ (flycheck-may-check-automatically condition)))
+ (flycheck--clear-idle-trigger-timer)
+ (setq flycheck--idle-trigger-conditions nil)
+ (if (or force-deferred (flycheck-must-defer-check))
+ (flycheck-buffer-deferred)
+ (with-demoted-errors "Error while checking syntax automatically: %S"
+ (flycheck-buffer)))))
+
+(defun flycheck--clear-idle-trigger-timer ()
+ "Clear the idle trigger timer."
+ (when flycheck--idle-trigger-timer
+ (cancel-timer flycheck--idle-trigger-timer)
+ (setq flycheck--idle-trigger-timer nil)))
+
+(defun flycheck--handle-idle-trigger (buffer)
+ "Run a syntax check in BUFFER if appropriate.
+This function is called by `flycheck--idle-trigger-timer'."
+ (let ((current-buffer (current-buffer)))
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (unless (or flycheck-buffer-switch-check-intermediate-buffers
+ (eq buffer current-buffer))
+ (setq flycheck--idle-trigger-conditions
+ (delq 'idle-buffer-switch
+ flycheck--idle-trigger-conditions)))
+ (when flycheck--idle-trigger-conditions
+ (flycheck-buffer-automatically flycheck--idle-trigger-conditions)
+ (setq flycheck--idle-trigger-conditions nil))))))
+
+(defun flycheck-handle-change (beg end _len)
+ "Handle a buffer change between BEG and END.
+
+BEG and END mark the beginning and end of the change text. _LEN
+is ignored.
+
+Start a syntax check if a new line has been inserted into the
+buffer."
+ ;; Save and restore the match data, as recommended in (elisp)Change Hooks
+ (save-match-data
+ (when flycheck-mode
+ (if (string-match-p (rx "\n") (buffer-substring beg end))
+ (flycheck-buffer-automatically 'new-line 'force-deferred)
+ (when (memq 'idle-change flycheck-check-syntax-automatically)
+ (flycheck--clear-idle-trigger-timer)
+ (cl-pushnew 'idle-change flycheck--idle-trigger-conditions)
+ (setq flycheck--idle-trigger-timer
+ (run-at-time flycheck-idle-change-delay nil
+ #'flycheck--handle-idle-trigger
+ (current-buffer))))))))
+
+(defvar flycheck--last-buffer (current-buffer)
+ "The current buffer or the buffer that was previously current.
+This is usually equal to the current buffer, unless the user just
+switched buffers. After a buffer switch, it is the previous
+buffer.")
+
+(defun flycheck-handle-buffer-switch ()
+ "Handle a possible switch to another buffer.
+
+If a buffer switch actually happened, schedule a syntax check."
+ ;; Switching buffers here is weird, but unfortunately necessary. It
+ ;; turns out that `with-temp-buffer' triggers
+ ;; `buffer-list-update-hook' twice, and the value of
+ ;; `current-buffer' is bogus in one of those triggers (the one just
+ ;; after the temp buffer is killed). If we rely on the bogus value,
+ ;; Flycheck will think that the user is switching back and forth
+ ;; between different buffers during the `with-temp-buffer' call
+ ;; (note: two different normal buffers, not the current buffer and
+ ;; the temp buffer!), and that would trigger spurious syntax checks.
+ ;; It seems that reading (window-buffer) gets us the correct current
+ ;; buffer in all important real-life situations (although it doesn't
+ ;; necessarily catch uses of `set-buffer').
+ (with-current-buffer (window-buffer)
+ (unless (or (equal flycheck--last-buffer (current-buffer))
+ ;; Don't bother keeping track of changes to and from
+ ;; the minibuffer, as they will never require us to
+ ;; run a syntax check.
+ (minibufferp))
+ (setq flycheck--last-buffer (current-buffer))
+ (when (and flycheck-mode
+ (memq 'idle-buffer-switch flycheck-check-syntax-automatically))
+ (flycheck--clear-idle-trigger-timer)
+ (cl-pushnew 'idle-buffer-switch flycheck--idle-trigger-conditions)
+ (setq flycheck--idle-trigger-timer
+ (run-at-time flycheck-idle-buffer-switch-delay nil
+ #'flycheck--handle-idle-trigger
+ (current-buffer)))))))
+
+(defun flycheck-handle-save ()
+ "Handle a save of the buffer."
+ (flycheck-buffer-automatically 'save))
+
+
+;;; Deferred syntax checking
+(defvar-local flycheck-deferred-syntax-check nil
+ "If non-nil, a deferred syntax check is pending.")
+
+(defun flycheck-must-defer-check ()
+ "Determine whether the syntax check has to be deferred.
+
+A check has to be deferred if the buffer is not visible, or if the buffer is
+currently being reverted.
+
+Return t if the check is to be deferred, or nil otherwise."
+ (or (not (get-buffer-window))
+ ;; We defer the syntax check if Flycheck is already running, to
+ ;; immediately start a new syntax check after the current one finished,
+ ;; because the result of the current check will most likely be outdated by
+ ;; the time it is finished.
+ (flycheck-running-p)
+ ;; We must defer checks while a buffer is being reverted, to avoid race
+ ;; conditions while the buffer contents are being restored.
+ revert-buffer-in-progress-p))
+
+(defun flycheck-deferred-check-p ()
+ "Determine whether the current buffer has a deferred check.
+
+Return t if so, or nil otherwise."
+ flycheck-deferred-syntax-check)
+
+(defun flycheck-buffer-deferred ()
+ "Defer syntax check for the current buffer."
+ (setq flycheck-deferred-syntax-check t))
+
+(defun flycheck-clean-deferred-check ()
+ "Clean a deferred syntax checking state."
+ (setq flycheck-deferred-syntax-check nil))
+
+(defun flycheck-perform-deferred-syntax-check ()
+ "Perform the deferred syntax check."
+ (when (flycheck-deferred-check-p)
+ (flycheck-clean-deferred-check)
+ (flycheck-buffer-automatically)))
+
+
+;;; Syntax checking in all buffers
+(defun flycheck-may-enable-mode ()
+ "Determine whether Flycheck mode may be enabled.
+
+Flycheck mode is not enabled for
+
+- the minibuffer,
+- `fundamental-mode'
+- major modes whose `mode-class' property is `special',
+- ephemeral buffers (see `flycheck-ephemeral-buffer-p'),
+- encrypted buffers (see `flycheck-encrypted-buffer-p'),
+- remote files (see `file-remote-p'),
+- and major modes excluded by `flycheck-global-modes'.
+
+Return non-nil if Flycheck mode may be enabled, and nil
+otherwise."
+ (and (pcase flycheck-global-modes
+ ;; Whether `major-mode' is disallowed by `flycheck-global-modes'
+ (`t t)
+ (`(not . ,modes) (not (memq major-mode modes)))
+ (modes (memq major-mode modes)))
+ (not (or (minibufferp)
+ (eq major-mode 'fundamental-mode)
+ (eq (get major-mode 'mode-class) 'special)
+ (flycheck-ephemeral-buffer-p)
+ (flycheck-encrypted-buffer-p)
+ (and (buffer-file-name)
+ (file-remote-p (buffer-file-name) 'method))))))
+
+(defun flycheck-mode-on-safe ()
+ "Enable command `flycheck-mode' if it is safe to do so.
+
+Command `flycheck-mode' is only enabled if
+`flycheck-may-enable-mode' returns a non-nil result."
+ (when (flycheck-may-enable-mode)
+ (flycheck-mode)))
+
+;;;###autoload
+(define-globalized-minor-mode global-flycheck-mode flycheck-mode
+ flycheck-mode-on-safe
+ :init-value nil
+ ;; Do not expose Global Flycheck Mode on customize interface, because the
+ ;; interaction between package.el and customize is currently broken. See
+ ;; https://github.com/flycheck/flycheck/issues/595
+
+ ;; :require 'flycheck :group
+ ;; 'flycheck
+ )
+
+(defun flycheck-global-teardown (&optional ignore-local)
+ "Teardown Flycheck in all buffers.
+
+Completely clear the whole Flycheck state in all buffers, stop
+all running checks, remove all temporary files, and empty all
+variables of Flycheck.
+
+Also remove global hooks. (If optional argument IGNORE-LOCAL is
+non-nil, then only do this and skip per-buffer teardown.)"
+ (unless ignore-local
+ (dolist (buffer (buffer-list))
+ (with-current-buffer buffer
+ (when flycheck-mode
+ (flycheck-teardown 'ignore-global)))))
+ (remove-hook 'buffer-list-update-hook #'flycheck-handle-buffer-switch))
+
+;; Clean up the entire state of Flycheck when Emacs is killed, to get rid of any
+;; pending temporary files.
+(add-hook 'kill-emacs-hook #'flycheck-global-teardown)
+
+
+;;; Errors from syntax checks
+(cl-defstruct (flycheck-error
+ (:constructor nil)
+ (:constructor
+ flycheck-error-new
+ (&key
+ line column end-line end-column
+ buffer checker filename message level id group
+ &aux (-end-line end-line) (-end-column end-column)))
+ (:constructor
+ flycheck-error-new-at
+ (line
+ column
+ &optional level message
+ &key end-line end-column checker id group
+ (filename (buffer-file-name)) (buffer (current-buffer))
+ &aux (-end-line end-line) (-end-column end-column)))
+ (:constructor
+ flycheck-error-new-at-pos
+ (pos
+ &optional level message
+ &key end-pos checker id group
+ (filename (buffer-file-name)) (buffer (current-buffer))
+ &aux
+ ((line . column)
+ (if pos (flycheck-line-column-at-pos pos)
+ '(nil . nil)))
+ ((-end-line . -end-column)
+ (if end-pos (flycheck-line-column-at-pos end-pos)
+ '(nil . nil))))))
+ "Structure representing an error reported by a syntax checker.
+Slots:
+
+`buffer'
+ The buffer that the error was reported for, as buffer object.
+
+`checker'
+ The syntax checker which reported this error, as symbol.
+
+`filename'
+ The file name the error refers to, as string.
+
+`line'
+ The line on which the error starts, as number.
+
+`column' (optional)
+ The column at which the error starts, as number.
+
+ For compatibility with external tools and unlike Emacs
+ itself (e.g. in Compile Mode) Flycheck uses _1-based_
+ columns: The first character on a line is column 1.
+
+ Occasionally some tools try to proactively adapt to Emacs
+ and emit 0-based columns automatically. In these cases, the
+ columns must be adjusted for Flycheck, see
+ `flycheck-increment-error-columns'.
+
+ If nil, the whole line is highlighted.
+
+`end-line' (optional)
+ The line on which the error ends. If nil, this is computed according to
+ `flycheck-highlighting-mode'.
+
+`end-column'
+ The column at which the error ends. If nil, this is computed according to
+ `flycheck-highlighting-mode'. Error intervals are right-open: the
+ end-column points to the first character not included in the error. For
+ example, 1:1 is an empty range. and in \"line-number-at-pos\", the range
+ 6:12 covers the word \"number\".
+
+`message' (optional)
+ The error message as a string, if any.
+
+`level'
+ The error level, as either `info', `warning' or `error'.
+
+`id' (optional)
+ An ID identifying the kind of error.
+
+`group' (optional)
+ A symbol identifying the group the error belongs to.
+
+ Some tools will emit multiple errors that relate to the same
+ issue (e.g., lifetime errors in Rust). All related errors
+ collected by a checker should have the same `group` value,
+ in order to be able to present them to the user.
+
+ See `flycheck-related-errors`."
+ buffer checker filename line column message level id group
+ ;; The fields below are at the end of the record to preserve backwards
+ ;; compatibility; see https://github.com/flycheck/flycheck/pull/1400 and
+ ;; https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00436.html
+ -end-line -end-column)
+
+;; These accessors are defined for backwards compatibility
+;; FIXME: Clean up once package.el learns how to recompile dependencies.
+
+(defun flycheck-error-end-line (err)
+ "Return the end line of a Flycheck error ERR."
+ (condition-case nil (flycheck-error--end-line err)
+ (args-out-of-range nil)))
+
+(defun flycheck-error-end-column (err)
+ "Return the end column of a Flycheck error ERR."
+ (condition-case nil (flycheck-error--end-column err)
+ (args-out-of-range nil)))
+
+(defun flycheck-error--set-end-line (err line)
+ "Set the end line of a Flycheck error ERR to LINE."
+ (condition-case nil (setf (flycheck-error--end-line err) line)
+ (args-out-of-range nil)))
+
+(defun flycheck-error--set-end-column (err column)
+ "Set the end column of a Flycheck error ERR to COLUMN."
+ (condition-case nil (setf (flycheck-error--end-column err) column)
+ (args-out-of-range nil)))
+
+(gv-define-simple-setter flycheck-error-end-line
+ flycheck-error--set-end-line)
+(gv-define-simple-setter flycheck-error-end-column
+ flycheck-error--set-end-column)
+
+(defmacro flycheck-error-with-buffer (err &rest forms)
+ "Switch to the buffer of ERR and evaluate FORMS.
+
+If the buffer of ERR is not live, FORMS are not evaluated."
+ (declare (indent 1) (debug t))
+ `(when (buffer-live-p (flycheck-error-buffer ,err))
+ (with-current-buffer (flycheck-error-buffer ,err)
+ ,@forms)))
+
+(defun flycheck--exact-region (line col end-line end-col)
+ "Get the region of range LINE, COL, END-LINE, END-COL.
+
+Return a cons cell `(BEG . END)'. If the input range is empty,
+it is expanded to cover at least one character so that END is
+always greater than BEG."
+ (let ((beg (flycheck-line-column-to-position line col))
+ (end (flycheck-line-column-to-position end-line end-col)))
+ (cond
+ ((< beg end) (cons beg end))
+ ((= end (point-max)) (cons (1- end) end))
+ (t (cons end (1+ end))))))
+
+(defun flycheck--line-region (pos)
+ "Get the line region of position POS.
+
+Return a cons cell `(BEG . END)' where BEG is the first
+non-whitespace character on the line ERR refers to, and END the
+end of the line."
+ (save-excursion
+ (goto-char pos)
+ (forward-line 0)
+ (let ((bol (point))
+ (end (line-end-position)))
+ ;; Move to the beginning of this line's indentation, similar to
+ ;; `back-to-indentation'
+ (skip-syntax-forward " " end)
+ (backward-prefix-chars)
+ ;; If the current line is blank, highlight it in full; if it's
+ ;; empty, include the previous line break character(s) to have
+ ;; any region at all (when called with 0, `line-end-position'
+ ;; gives us the end of the previous line).
+ (cons (if (eolp) (if (= bol end) (line-end-position 0) bol) (point))
+ end))))
+
+(defun flycheck--column-region (pos)
+ "Get the column region of position POS.
+
+Return a cons cell `(BEG . END)' where BEG is the character
+before the column, and END the actual column."
+ (save-excursion
+ (goto-char pos)
+ ;; (eobp): No enough lines in the buffer
+ (if (eobp) (cons (1- (point-max)) (point-max))
+ (cons pos (1+ pos)))))
+
+(defun flycheck-bounds-of-thing-at-point (thing pos)
+ "Get the region of THING at position POS.
+
+THING is a understood by `thing-at-point'.
+
+Return a cons cell `(BEG . END)' where BEG is the beginning of
+the THING at the column, and END the end of the THING."
+ (save-excursion
+ (goto-char pos)
+ (bounds-of-thing-at-point thing)))
+
+(defun flycheck--approximate-region (line column mode)
+ "Compute the region of LINE, COLUMN based on MODE."
+ (let* ((beg (flycheck-line-column-to-position line (or column 1))))
+ (if (or (null column)
+ (eq mode 'lines))
+ (flycheck--line-region beg)
+ (or (pcase mode
+ (`symbols
+ ;; Ensure that we're on a word or symbol. See
+ ;; https://github.com/flycheck/flycheck/issues/1519
+ (and (< beg (point-max))
+ (memq (char-syntax (char-after beg)) '(?w ?_))
+ (flycheck-bounds-of-thing-at-point 'symbol beg)))
+ (`sexps
+ (flycheck-bounds-of-thing-at-point 'sexp beg)))
+ (flycheck--column-region beg)))))
+
+(defun flycheck-error-region-for-mode (err mode)
+ "Get the region of ERR for the highlighting MODE.
+
+ERR is a Flycheck error. If its position is fully specified, use
+that to compute a region; otherwise, use MODE, as documented in
+`flycheck-highlighting-mode'. If MODE is nil, signal an error."
+ (flycheck-error-with-buffer err
+ (save-excursion
+ (save-restriction
+ (widen)
+ ;; Ignoring fields speeds up calls to `line-end-position'.
+ (let* ((inhibit-field-text-motion t)
+ (line (flycheck-error-line err))
+ (column (flycheck-error-column err))
+ (end-line (or (flycheck-error-end-line err) line))
+ (end-column (flycheck-error-end-column err)))
+ (if (and line column end-line end-column)
+ (flycheck--exact-region line column end-line end-column)
+ (flycheck--approximate-region line column mode)))))))
+
+(defun flycheck-error-pos (err)
+ "Get the buffer position of ERR.
+
+ERR is a Flycheck error whose position to get.
+
+The error position is the error column, or the first
+non-whitespace character of the error line, if ERR has no error column."
+ (car (flycheck-error-region-for-mode err 'columns)))
+
+(defun flycheck-error-format-message-and-id (err)
+ "Format the message and id of ERR as human-readable string."
+ (let ((id (flycheck-error-id err))
+ (filename (flycheck-error-filename err)))
+ (concat (when (and filename (not (equal filename (buffer-file-name))))
+ (format "In \"%s\":\n"
+ (file-relative-name filename default-directory)))
+ (flycheck-error-message err)
+ (when id
+ (format " [%s]" id)))))
+
+(defun flycheck-error-format-position (err)
+ "Format the position of ERR as a human-readable string."
+ (let ((line (flycheck-error-line err))
+ (column (flycheck-error-column err))
+ (end-line (flycheck-error-end-line err))
+ (end-column (flycheck-error-end-column err)))
+ (if (and line column)
+ (if (or (null end-line) (equal line end-line))
+ (if (or (null end-column) (equal column (1- end-column)))
+ (format "%d:%d" line column)
+ (format "%d:%d-%d" line column end-column))
+ (format "(%d:%d)-(%d:%d)" line column end-line end-column))
+ (if (or (null end-line) (equal line end-line))
+ (format "%d" line)
+ (format "%d-%d" line end-line)))))
+
+(defun flycheck-error-format (err &optional with-file-name)
+ "Format ERR as human-readable string, optionally WITH-FILE-NAME.
+
+Return a string that represents the given ERR. If WITH-FILE-NAME
+is given and non-nil, include the file-name as well, otherwise
+omit it."
+ (let* ((level (symbol-name (flycheck-error-level err)))
+ (checker (symbol-name (flycheck-error-checker err)))
+ (format `(,@(when with-file-name
+ (list (flycheck-error-filename err) ":"))
+ ,(flycheck-error-format-position err) ":"
+ ,level ": "
+ ,(flycheck-error-format-message-and-id err)
+ " (" ,checker ")")))
+ (apply #'concat format)))
+
+(defun flycheck-error-< (err1 err2)
+ "Determine whether ERR1 is less than ERR2 by location."
+ (let ((l1 (flycheck-error-line err1))
+ (l2 (flycheck-error-line err2)))
+ (if (/= l1 l2)
+ (< l1 l2)
+ (let ((c1 (or (flycheck-error-column err1) 1))
+ (c2 (or (flycheck-error-column err2) 1)))
+ (if (/= c1 c2)
+ (< c1 c2)
+ (let ((el1 (or (flycheck-error-end-line err1) l1))
+ (el2 (or (flycheck-error-end-line err2) l2)))
+ (if (/= el1 el2)
+ (< el1 el2)
+ (let ((cl1 (or (flycheck-error-end-column err1) 1))
+ (cl2 (or (flycheck-error-end-column err2) 1)))
+ (< cl1 cl2)))))))))
+
+(defun flycheck-error-level-< (err1 err2)
+ "Determine whether ERR1 is less than ERR2 by error level.
+
+Like `flycheck-error-<', but compares by error level severity
+first. Levels of the same severity are compared by name."
+ (let* ((level1 (flycheck-error-level err1))
+ (level2 (flycheck-error-level err2))
+ (severity1 (flycheck-error-level-severity level1))
+ (severity2 (flycheck-error-level-severity level2)))
+ (cond
+ ((= severity1 severity2)
+ (if (string= level1 level2)
+ (flycheck-error-< err1 err2)
+ (string< level1 level2)))
+ (t (< severity1 severity2)))))
+
+(defun flycheck-assert-error-list-p (errors)
+ "Assert that all items in ERRORS are of `flycheck-error' type.
+
+Signal an error if any item in ERRORS is not a `flycheck-error'
+object, as by `flycheck-error-p'. Otherwise return ERRORS
+again."
+ (unless (listp errors)
+ (signal 'wrong-type-argument (list 'listp errors)))
+ (dolist (err errors)
+ (unless (flycheck-error-p err)
+ (signal 'wrong-type-argument (list 'flycheck-error-p err))))
+ errors)
+
+
+;;; Errors in the current buffer
+(defvar-local flycheck-current-errors nil
+ "A list of all errors and warnings in the current buffer.")
+
+(defun flycheck-report-current-errors (errors)
+ "Report ERRORS in the current buffer.
+
+Add ERRORS to `flycheck-current-errors' and process each error
+with `flycheck-process-error-functions'."
+ (setq flycheck-current-errors (sort (append errors flycheck-current-errors)
+ #'flycheck-error-<))
+ (overlay-recenter (point-max))
+ (seq-do (lambda (err)
+ (run-hook-with-args-until-success 'flycheck-process-error-functions
+ err))
+ errors))
+
+(defun flycheck-clear-errors ()
+ "Remove all error information from the current buffer."
+ (setq flycheck-current-errors nil)
+ (flycheck-report-status 'not-checked))
+
+(defun flycheck-fill-and-expand-error-file-names (errors directory)
+ "Fill and expand file names in ERRORS relative to DIRECTORY.
+
+Expand all file names of ERRORS against DIRECTORY. If the file
+name of an error is nil fill in the result of function
+`buffer-file-name' in the current buffer.
+
+Return ERRORS, modified in-place."
+ (seq-do (lambda (err)
+ (setf (flycheck-error-filename err)
+ (-if-let (filename (flycheck-error-filename err))
+ (expand-file-name filename directory)
+ (buffer-file-name))))
+ errors)
+ errors)
+
+(defun flycheck-relevant-error-other-file-p (err)
+ "Determine whether ERR is a relevant error for another file."
+ (let ((file-name (flycheck-error-filename err)))
+ (and file-name
+ flycheck-relevant-error-other-file-show
+ (or (null buffer-file-name)
+ (not (flycheck-same-files-p buffer-file-name file-name)))
+ (<= (flycheck-error-level-severity
+ flycheck-relevant-error-other-file-minimum-level)
+ (flycheck-error-level-severity (flycheck-error-level err))))))
+
+(defun flycheck-relevant-error-p (err)
+ "Determine whether ERR is relevant for the current buffer.
+
+Return t if ERR may be shown for the current buffer, or nil
+otherwise."
+ (flycheck-error-with-buffer err
+ (let ((file-name (flycheck-error-filename err))
+ (message (flycheck-error-message err)))
+ (and
+ (or
+ ;; Neither the error nor buffer have a file name
+ (and (not file-name) (not buffer-file-name))
+ ;; Both have files, and they match
+ (and buffer-file-name file-name
+ (flycheck-same-files-p file-name buffer-file-name))
+ ;; This is a significant error from another file
+ (flycheck-relevant-error-other-file-p err))
+ message
+ (not (string-empty-p message))
+ ;; Errors without line numbers are discarded. If a linter
+ ;; reports relevant errors without line numbers, use
+ ;; `flycheck-fill-empty-line-numbers' as the checker's
+ ;; `:error-filter' to set them to line 0.
+ (flycheck-error-line err)))))
+
+(defun flycheck-relevant-errors (errors)
+ "Filter the relevant errors from ERRORS.
+
+Return a list of all errors that are relevant for their
+corresponding buffer."
+ (seq-filter #'flycheck-relevant-error-p errors))
+
+(defun flycheck-related-errors (err &optional error-set)
+ "Get all the errors that are in the same group as ERR.
+
+Return a list of all errors (from ERROR-SET) that have the same
+`flycheck-error-group' as ERR, including ERR itself.
+
+If ERROR-SET is nil, `flycheck-current-errors' is used instead."
+ (let ((group (flycheck-error-group err))
+ (checker (flycheck-error-checker err)))
+ (if group
+ (seq-filter (lambda (e)
+ (and (eq (flycheck-error-checker e) checker)
+ (eq (flycheck-error-group e) group)))
+ (or error-set flycheck-current-errors))
+ (list err))))
+
+
+;;; Status reporting for the current buffer
+(defvar-local flycheck-last-status-change 'not-checked
+ "The last status change in the current buffer.")
+
+(defun flycheck-report-failed-syntax-check (&optional status)
+ "Report a failed Flycheck syntax check with STATUS.
+
+STATUS is a status symbol for `flycheck-report-status',
+defaulting to `errored'.
+
+Clear Flycheck state, run `flycheck-syntax-check-failed-hook' and
+report an error STATUS."
+ (flycheck-clear)
+ (setq flycheck-current-syntax-check nil)
+ (run-hooks 'flycheck-syntax-check-failed-hook)
+ (flycheck-report-status (or status 'errored)))
+
+(defun flycheck-report-status (status)
+ "Report Flycheck STATUS.
+
+STATUS is one of the following symbols:
+
+`not-checked'
+ The current buffer was not checked.
+
+`no-checker'
+ Automatic syntax checker selection did not find a suitable
+ syntax checker.
+
+`running'
+ A syntax check is now running in the current buffer.
+
+`errored'
+ The current syntax check has errored.
+
+`finished'
+ The current syntax check was finished normally.
+
+`interrupted'
+ The current syntax check was interrupted.
+
+`suspicious'
+ The last syntax check had a suspicious result.
+
+Set `flycheck-last-status-change' and call
+`flycheck-status-changed-functions' with STATUS. Afterwards
+refresh the mode line."
+ (setq flycheck-last-status-change status)
+ (run-hook-with-args 'flycheck-status-changed-functions status)
+ (force-mode-line-update))
+
+(defun flycheck-mode-line-status-text (&optional status)
+ "Get a text describing STATUS for use in the mode line.
+
+STATUS defaults to `flycheck-last-status-change' if omitted or
+nil."
+ (let ((text (pcase (or status flycheck-last-status-change)
+ (`not-checked "")
+ (`no-checker "-")
+ (`running "*")
+ (`errored "!")
+ (`finished
+ (let-alist (flycheck-count-errors flycheck-current-errors)
+ (if (or .error .warning)
+ (format ":%s/%s" (or .error 0) (or .warning 0))
+ "")))
+ (`interrupted ".")
+ (`suspicious "?"))))
+ (concat " " flycheck-mode-line-prefix text)))
+
+
+;;; Error levels
+;;;###autoload
+(defun flycheck-define-error-level (level &rest properties)
+ "Define a new error LEVEL with PROPERTIES.
+
+The following PROPERTIES constitute an error level:
+
+`:severity SEVERITY'
+ A number denoting the severity of this level. The higher
+ the number, the more severe is this level compared to other
+ levels. Defaults to 0.
+
+ The severity is used by `flycheck-error-level-<' to
+ determine the ordering of errors according to their levels.
+
+`:compilation-level LEVEL'
+
+ A number indicating the broad class of messages that errors
+ at this level belong to: one of 0 (info), 1 (warning), or
+ 2 or nil (error). Defaults to nil.
+
+ This is used by `flycheck-checker-pattern-to-error-regexp'
+ to map error levels into `compilation-mode''s hierarchy and
+ to get proper highlighting of errors in `compilation-mode'.
+
+`:overlay-category CATEGORY'
+ A symbol denoting the overlay category to use for error
+ highlight overlays for this level. See Info
+ node `(elisp)Overlay Properties' for more information about
+ overlay categories.
+
+ A category for an error level overlay should at least define
+ the `face' property, for error highlighting. Another useful
+ property for error level categories is `priority', to
+ influence the stacking of multiple error level overlays.
+
+`:fringe-bitmap BITMAPS'
+ A fringe bitmap symbol denoting the bitmap to use for fringe
+ indicators for this level, or a cons of two bitmaps (one for
+ narrow fringes and one for wide fringes). See Info node
+ `(elisp)Fringe Bitmaps' for more information about fringe
+ bitmaps, including a list of built-in fringe bitmaps.
+
+`:fringe-face FACE'
+ A face symbol denoting the face to use for fringe indicators
+ for this level.
+
+`:error-list-face FACE'
+ A face symbol denoting the face to use for messages of this
+ level in the error list. See `flycheck-list-errors'."
+ (declare (indent 1))
+ (setf (get level 'flycheck-error-level) t)
+ (setf (get level 'flycheck-error-severity)
+ (or (plist-get properties :severity) 0))
+ (setf (get level 'flycheck-compilation-level)
+ (plist-get properties :compilation-level))
+ (setf (get level 'flycheck-overlay-category)
+ (plist-get properties :overlay-category))
+ (setf (get level 'flycheck-fringe-bitmaps)
+ (let ((bitmap (plist-get properties :fringe-bitmap)))
+ (if (consp bitmap) bitmap (cons bitmap bitmap))))
+ ;; Kept for compatibility
+ (setf (get level 'flycheck-fringe-bitmap-double-arrow)
+ (car (get level 'flycheck-fringe-bitmaps)))
+ (setf (get level 'flycheck-fringe-face)
+ (plist-get properties :fringe-face))
+ (setf (get level 'flycheck-error-list-face)
+ (plist-get properties :error-list-face)))
+
+(defun flycheck-error-level-p (level)
+ "Determine whether LEVEL is a Flycheck error level."
+ (get level 'flycheck-error-level))
+
+(defun flycheck-error-level-severity (level)
+ "Get the numeric severity of LEVEL."
+ (or (get level 'flycheck-error-severity) 0))
+
+(defun flycheck-error-level-compilation-level (level)
+ "Get the compilation level for LEVEL."
+ (get level 'flycheck-compilation-level))
+
+(defun flycheck-error-level-overlay-category (level)
+ "Get the overlay category for LEVEL."
+ (get level 'flycheck-overlay-category))
+
+(defun flycheck-error-level-fringe-bitmap (level &optional hi-res)
+ "Get the fringe bitmap for LEVEL.
+
+Optional argument HI-RES non-nil means that the returned bitmap
+will be the high resolution version."
+ (let ((bitmaps (get level 'flycheck-fringe-bitmaps)))
+ (if hi-res (cdr bitmaps) (car bitmaps))))
+
+(defun flycheck-error-level-fringe-face (level)
+ "Get the fringe face for LEVEL."
+ (get level 'flycheck-fringe-face))
+
+(defun flycheck-error-level-error-list-face (level)
+ "Get the error list face for LEVEL."
+ (get level 'flycheck-error-list-face))
+
+(defun flycheck-error-level-make-fringe-icon (level side)
+ "Create the fringe icon for LEVEL at SIDE.
+
+Return a propertized string that shows a fringe bitmap according
+to LEVEL and the given fringe SIDE.
+
+LEVEL is a Flycheck error level defined with
+`flycheck-define-error-level', and SIDE is either `left-fringe'
+or `right-fringe'.
+
+Return a propertized string representing the fringe icon,
+intended for use as `before-string' of an overlay to actually
+show the icon."
+ (unless (memq side '(left-fringe right-fringe))
+ (error "Invalid fringe side: %S" side))
+ (let* ((fringe-width (pcase side
+ (`left-fringe (car (window-fringes)))
+ (`right-fringe (cadr (window-fringes)))))
+ (high-res (= 16 fringe-width)))
+ (propertize "!" 'display
+ (list side
+ (flycheck-error-level-fringe-bitmap level high-res)
+ (flycheck-error-level-fringe-face level)))))
+
+
+;;; Built-in error levels
+(when (fboundp 'define-fringe-bitmap)
+ (define-fringe-bitmap 'flycheck-fringe-bitmap-double-arrow
+ [#b11011000
+ #b01101100
+ #b00110110
+ #b00011011
+ #b00110110
+ #b01101100
+ #b11011000
+ #b00000000])
+ (define-fringe-bitmap 'flycheck-fringe-bitmap-double-arrow-hi-res
+ [#b0000000000000000
+ #b0000000000000000
+ #b1111001111000000
+ #b0111100111100000
+ #b0011110011110000
+ #b0001111001111000
+ #b0000111100111100
+ #b0000011110011110
+ #b0000011110011110
+ #b0000111100111100
+ #b0001111001111000
+ #b0011110011110000
+ #b0111100111100000
+ #b1111001111000000
+ #b0000000000000000
+ #b0000000000000000]
+ nil 16))
+
+(defconst flycheck-default-fringe-bitmaps
+ (cons 'flycheck-fringe-bitmap-double-arrow
+ 'flycheck-fringe-bitmap-double-arrow-hi-res))
+
+(setf (get 'flycheck-error-overlay 'face) 'flycheck-error)
+(setf (get 'flycheck-error-overlay 'priority) 110)
+
+(flycheck-define-error-level 'error
+ :severity 100
+ :compilation-level 2
+ :overlay-category 'flycheck-error-overlay
+ :fringe-bitmap flycheck-default-fringe-bitmaps
+ :fringe-face 'flycheck-fringe-error
+ :error-list-face 'flycheck-error-list-error)
+
+(setf (get 'flycheck-warning-overlay 'face) 'flycheck-warning)
+(setf (get 'flycheck-warning-overlay 'priority) 100)
+
+(flycheck-define-error-level 'warning
+ :severity 10
+ :compilation-level 1
+ :overlay-category 'flycheck-warning-overlay
+ :fringe-bitmap flycheck-default-fringe-bitmaps
+ :fringe-face 'flycheck-fringe-warning
+ :error-list-face 'flycheck-error-list-warning)
+
+(setf (get 'flycheck-info-overlay 'face) 'flycheck-info)
+(setf (get 'flycheck-info-overlay 'priority) 90)
+
+(flycheck-define-error-level 'info
+ :severity -10
+ :compilation-level 0
+ :overlay-category 'flycheck-info-overlay
+ :fringe-bitmap flycheck-default-fringe-bitmaps
+ :fringe-face 'flycheck-fringe-info
+ :error-list-face 'flycheck-error-list-info)
+
+
+;;; Error filtering
+(defun flycheck-filter-errors (errors checker)
+ "Filter ERRORS from CHECKER.
+
+Apply the error filter of CHECKER to ERRORs and return the
+result. If CHECKER has no error filter, fall back to
+`flycheck-sanitize-errors'."
+ (let ((filter (or (flycheck-checker-get checker 'error-filter)
+ #'flycheck-sanitize-errors)))
+ (funcall filter errors)))
+
+(defun flycheck-sanitize-errors (errors)
+ "Sanitize ERRORS.
+
+Sanitize ERRORS by trimming leading and trailing whitespace in
+all error messages, and by replacing 0 columns and empty error
+messages with nil.
+
+Returns sanitized ERRORS."
+ (dolist (err errors)
+ (flycheck-error-with-buffer err
+ (let ((message (flycheck-error-message err))
+ (id (flycheck-error-id err)))
+ (when message
+ (setq message (string-trim message))
+ (setf (flycheck-error-message err)
+ (if (string-empty-p message) nil message)))
+ (when (and id (string-empty-p id))
+ (setf (flycheck-error-id err) nil))
+ (when (eq (flycheck-error-column err) 0)
+ (setf (flycheck-error-column err) nil))
+ (when (eq (flycheck-error-end-column err) 0)
+ (setf (flycheck-error-end-column err) nil)))))
+ errors)
+
+(defun flycheck-remove-error-file-names (file-name errors)
+ "Remove matching FILE-NAME from ERRORS.
+
+Use as `:error-filter' for syntax checkers that output faulty
+filenames. Flycheck will later fill in the buffer file name.
+
+Return ERRORS."
+ (seq-do (lambda (err)
+ (when (and (flycheck-error-filename err)
+ (string= (flycheck-error-filename err) file-name))
+ (setf (flycheck-error-filename err) nil)))
+ errors)
+ errors)
+
+(defun flycheck-increment-error-columns (errors &optional offset)
+ "Increment all columns of ERRORS by OFFSET (default: 1).
+
+ Use this as `:error-filter' if a syntax checker outputs 0-based
+ columns."
+ (setq offset (or offset 1)) ;; Emacs bug #31715
+ (seq-do (lambda (err)
+ (when (flycheck-error-column err)
+ (cl-incf (flycheck-error-column err) offset))
+ (when (flycheck-error-end-column err)
+ (cl-incf (flycheck-error-end-column err) offset)))
+ errors)
+ errors)
+
+(defun flycheck-collapse-error-message-whitespace (errors)
+ "Collapse whitespace in all messages of ERRORS.
+
+Return ERRORS."
+ (dolist (err errors)
+ (-when-let (message (flycheck-error-message err))
+ (setf (flycheck-error-message err)
+ (replace-regexp-in-string (rx (one-or-more (any space "\n" "\r")))
+ " " message 'fixed-case 'literal))))
+ errors)
+
+(defun flycheck-dedent-error-messages (errors)
+ "Dedent all messages of ERRORS.
+
+For each error in ERRORS, determine the indentation offset from
+the leading whitespace of the first line, and dedent all further
+lines accordingly.
+
+Return ERRORS, with in-place modifications."
+ (dolist (err errors)
+ (-when-let (message (flycheck-error-message err))
+ (with-temp-buffer
+ (insert message)
+ ;; Determine the indentation offset
+ (goto-char (point-min))
+ (back-to-indentation)
+ (let* ((indent-offset (- (point) (point-min))))
+ ;; Now iterate over all lines and dedent each according to
+ ;; `indent-offset'
+ (while (not (eobp))
+ (back-to-indentation)
+ ;; If the current line starts with sufficient whitespace, delete the
+ ;; indentation offset. Otherwise keep the line intact, as we might
+ ;; loose valuable information
+ (when (>= (- (point) (line-beginning-position)) indent-offset)
+ (delete-char (- indent-offset)))
+ (forward-line 1)))
+ (delete-trailing-whitespace (point-min) (point-max))
+ (setf (flycheck-error-message err)
+ (buffer-substring-no-properties (point-min) (point-max))))))
+ errors)
+
+(defun flycheck-fold-include-levels (errors sentinel-message)
+ "Fold levels of ERRORS from included files.
+
+ERRORS is a list of `flycheck-error' objects. SENTINEL-MESSAGE
+is a regular expression matched against the error message to
+determine whether the error denotes errors from an included
+file. Alternatively, it is a function that is given an error and
+shall return non-nil, if the error denotes errors from an
+included file."
+ (unless (or (stringp sentinel-message) (functionp sentinel-message))
+ (error "Sentinel must be string or function: %S" sentinel-message))
+ (let ((sentinel (if (functionp sentinel-message)
+ sentinel-message
+ (lambda (err)
+ (string-match-p sentinel-message
+ (flycheck-error-message err)))))
+ (remaining-errors errors))
+ (while remaining-errors
+ (let* ((current-error (pop remaining-errors)))
+ (when (funcall sentinel current-error)
+ ;; We found an error denoting errors in the included file:
+ ;; 1. process all subsequent errors until faulty include file is found
+ ;; 2. process again all subsequent errors until an error has the
+ ;; current file name again
+ ;; 3. find the most severe error level
+ (let ((current-filename (flycheck-error-filename current-error))
+ (current-level nil)
+ (faulty-include-filename nil)
+ (filename nil)
+ (done (null remaining-errors)))
+
+ (while (not done)
+ (setq filename (flycheck-error-filename (car remaining-errors)))
+ (unless faulty-include-filename
+ (unless (string= filename current-filename)
+ (setq faulty-include-filename filename)))
+
+ (let* ((error-in-include (pop remaining-errors))
+ (in-include-level (flycheck-error-level error-in-include)))
+ (unless (funcall sentinel error-in-include)
+ ;; Ignore nested "included file" errors, we are only
+ ;; interested in real errors because these define our level
+ (when (or (not current-level)
+ (> (flycheck-error-level-severity in-include-level)
+ (flycheck-error-level-severity current-level)))
+ (setq current-level in-include-level))))
+
+ (setq done (or (null remaining-errors)
+ (and faulty-include-filename
+ (string= filename current-filename)))))
+
+ (setf (flycheck-error-level current-error) current-level
+ (flycheck-error-message current-error)
+ (format "In include %s" faulty-include-filename))))))
+ errors))
+
+(defun flycheck-dequalify-error-ids (errors)
+ "De-qualify error ids in ERRORS.
+
+Remove all qualifications from error ids in ERRORS, by stripping
+all leading dotted components from error IDs. For instance, if
+the error ID is com.foo.E100, replace it with E100.
+
+This error filter is mainly useful to simplify error IDs obtained
+from parsing Checkstyle XML, which frequently has very verbose
+IDs, that include the name of the tool."
+ (seq-do (lambda (err)
+ (let ((id (flycheck-error-id err)))
+ (when id
+ (setf (flycheck-error-id err)
+ (replace-regexp-in-string
+ (rx string-start
+ (group
+ (optional (zero-or-more not-newline) "."))
+ (one-or-more (not (any ".")))
+ string-end)
+ "" id 'fixedcase 'literal 1)))))
+ errors)
+ errors)
+
+(defun flycheck-remove-error-ids (errors)
+ "Remove all error ids from ERRORS."
+ (seq-do (lambda (err) (setf (flycheck-error-id err) nil)) errors)
+ errors)
+
+(defun flycheck-fill-empty-line-numbers (errors)
+ "Set ERRORS without lines to line 0.
+
+Use as `:error-filter' for syntax checkers that output errors
+without line numbers.
+
+Return ERRORS."
+ (seq-do (lambda (err)
+ (unless (flycheck-error-line err)
+ (setf (flycheck-error-line err) 0)))
+ errors)
+ errors)
+
+
+;;; Error analysis
+(defun flycheck-count-errors (errors)
+ "Count the number of ERRORS, grouped by level.
+
+Return an alist, where each ITEM is a cons cell whose `car' is an
+error level, and whose `cdr' is the number of errors of that
+level."
+ (let (counts-by-level)
+ (dolist (err errors)
+ (let* ((level (flycheck-error-level err))
+ (item (assq level counts-by-level)))
+ (if item
+ (cl-incf (cdr item))
+ (push (cons level 1) counts-by-level))))
+ counts-by-level))
+
+(defun flycheck-has-max-errors-p (errors level)
+ "Check if there is no error in ERRORS more severe than LEVEL."
+ (let ((severity (flycheck-error-level-severity level)))
+ (seq-every-p (lambda (e) (<= (flycheck-error-level-severity
+ (flycheck-error-level e))
+ severity))
+ errors)))
+
+(defun flycheck-has-max-current-errors-p (level)
+ "Check if there is no current error more severe than LEVEL."
+ (flycheck-has-max-errors-p flycheck-current-errors level))
+
+(defun flycheck-has-errors-p (errors level)
+ "Determine if there are any ERRORS with LEVEL."
+ (seq-some (lambda (e) (eq (flycheck-error-level e) level)) errors))
+
+(defun flycheck-has-current-errors-p (&optional level)
+ "Determine if the current buffer has errors with LEVEL.
+
+If LEVEL is omitted if the current buffer has any errors at all."
+ (if level
+ (flycheck-has-errors-p flycheck-current-errors level)
+ (and flycheck-current-errors t)))
+
+
+;;; Error overlays in the current buffer
+(defvar-local flycheck--last-overlay-index 0
+ "Last index given to a Flycheck overlay.
+
+These indices are used to preserve error order (Emacs doesn't
+preserve overlay order when calling `overlays-at').")
+
+(defun flycheck--next-overlay-index ()
+ "Compute the index to assign to a new Flycheck overlay."
+ (cl-incf flycheck--last-overlay-index))
+
+(defun flycheck-add-overlay (err)
+ "Add overlay for ERR.
+
+Return the created overlay."
+ ;; We must have a proper error region for the sake of fringe indication,
+ ;; error display and error navigation, even if the highlighting is disabled.
+ ;; We erase the highlighting later on in this case
+ (pcase-let* ((`(,beg . ,end)
+ (if (flycheck-relevant-error-other-file-p err)
+ ;; Display overlays for other-file errors on the first line
+ (cons (point-min)
+ (save-excursion (goto-char (point-min))
+ (point-at-eol)))
+ (flycheck-error-region-for-mode
+ err (or flycheck-highlighting-mode 'lines))))
+ (overlay (make-overlay beg end))
+ (level (flycheck-error-level err))
+ (category (flycheck-error-level-overlay-category level))
+ (index (flycheck--next-overlay-index)))
+ (unless (flycheck-error-level-p level)
+ (error "Undefined error level: %S" level))
+ (setf (overlay-get overlay 'flycheck-error-index) index)
+ (setf (overlay-get overlay 'flycheck-overlay) t)
+ (setf (overlay-get overlay 'flycheck-error) err)
+ (setf (overlay-get overlay 'category) category)
+ (unless flycheck-highlighting-mode
+ ;; Erase the highlighting from the overlay if requested by the user
+ (setf (overlay-get overlay 'face) nil))
+ (when flycheck-indication-mode
+ (setf (overlay-get overlay 'before-string)
+ (flycheck-error-level-make-fringe-icon
+ level flycheck-indication-mode)))
+ (setf (overlay-get overlay 'help-echo) #'flycheck-help-echo)
+ overlay))
+
+(defun flycheck-help-echo (_window object pos)
+ "Construct a tooltip message.
+
+Most of the actual work is done by calling
+`flycheck-help-echo-function' with the appropriate list of
+errors. Arguments WINDOW, OBJECT and POS are as described in
+info node `(elisp)Special properties', as this function is
+intended to be used as the 'help-echo property of flycheck error
+overlays."
+ (-when-let (buf (cond ((bufferp object) object)
+ ((overlayp object) (overlay-buffer object))))
+ (with-current-buffer buf
+ (-when-let* ((fn flycheck-help-echo-function)
+ (errs (flycheck-overlay-errors-at pos)))
+ (propertize (funcall fn errs) 'help-echo-inhibit-substitution t)))))
+
+(defun flycheck-help-echo-all-error-messages (errs)
+ "Concatenate error messages and ids from ERRS."
+ (mapconcat
+ (lambda (err)
+ (when err
+ (if (flycheck-error-message err)
+ (flycheck-error-format-message-and-id err)
+ (format "Unknown %s" (flycheck-error-level err)))))
+ errs "\n\n"))
+
+(defun flycheck-filter-overlays (overlays)
+ "Get all Flycheck overlays from OVERLAYS, in original order."
+ ;; The order of errors returned from overlays is not stable, so we sort
+ ;; them again using the internal index to guarantee errors are always
+ ;; displayed in the same order.
+ (seq-sort
+ (lambda (o1 o2) (< (overlay-get o1 'flycheck-error-index)
+ (overlay-get o2 'flycheck-error-index)))
+ (seq-filter (lambda (o) (overlay-get o 'flycheck-overlay)) overlays)))
+
+(defun flycheck-overlays-at (pos)
+ "Get all Flycheck overlays at POS."
+ (flycheck-filter-overlays (overlays-at pos)))
+
+(defun flycheck-overlays-in (beg end)
+ "Get all Flycheck overlays between BEG and END."
+ (flycheck-filter-overlays (overlays-in beg end)))
+
+(defun flycheck-overlay-errors-at (pos)
+ "Return a list of all flycheck errors overlaid at POS."
+ (seq-map (lambda (o) (overlay-get o 'flycheck-error))
+ (flycheck-overlays-at pos)))
+
+(defun flycheck-overlay-errors-in (beg end)
+ "Return a list of all flycheck errors overlaid between BEG and END."
+ (seq-map (lambda (o) (overlay-get o 'flycheck-error))
+ (flycheck-overlays-in beg end)))
+
+(defvar-local flycheck-overlays-to-delete nil
+ "Overlays mark for deletion after all syntax checks completed.")
+(put 'flycheck-overlays-to-delete 'permanent-local t)
+
+(defun flycheck-delete-all-overlays ()
+ "Remove all flycheck overlays in the current buffer."
+ (overlay-recenter (point-max))
+ (flycheck-delete-marked-overlays)
+ (setq flycheck--last-overlay-index 0)
+ (save-restriction
+ (widen)
+ (seq-do #'delete-overlay (flycheck-overlays-in (point-min) (point-max)))))
+
+(defun flycheck-mark-all-overlays-for-deletion ()
+ "Mark all current overlays for deletion."
+ (setq flycheck-overlays-to-delete
+ (append (flycheck-overlays-in (point-min) (point-max))
+ flycheck-overlays-to-delete)))
+
+(defun flycheck-delete-marked-overlays ()
+ "Delete all overlays marked for deletion."
+ (overlay-recenter (point-max))
+ (seq-do #'delete-overlay flycheck-overlays-to-delete)
+ (setq flycheck-overlays-to-delete nil))
+
+
+;;; Error navigation in the current buffer
+(defun flycheck-error-level-interesting-at-pos-p (pos)
+ "Check if error severity at POS passes `flycheck-error-level-interesting-p'."
+ (flycheck-error-level-interesting-p (get-char-property pos 'flycheck-error)))
+
+(defun flycheck-error-level-interesting-p (err)
+ "Check if ERR severity is >= `flycheck-navigation-minimum-level'.
+
+ERR is also interesting (the function returns true) if there are
+no errors as or more severe than `flycheck-navigation-minimum-level'."
+ (when (flycheck-error-p err)
+ (-if-let (min-level flycheck-navigation-minimum-level)
+ (or (<= (flycheck-error-level-severity min-level)
+ (flycheck-error-level-severity (flycheck-error-level err)))
+ (not (flycheck-has-current-errors-p min-level)))
+ t)))
+
+(defun flycheck-next-error-pos (n &optional reset)
+ "Get the position of the N-th next error.
+
+With negative N, get the position of the (-N)-th previous error
+instead. With non-nil RESET, search from `point-min', otherwise
+search from the current point.
+
+Return the position of the next or previous error, or nil if
+there is none. If N is zero, return `point', or `point-min' if
+RESET is non-nil."
+ (let ((n (or n 1))
+ (pos (if reset (point-min) (point))))
+ (if (>= n 0)
+ ;; Search forwards
+ (while (and pos (> n 0))
+ (setq n (1- n))
+ (when (get-char-property pos 'flycheck-error)
+ ;; Move beyond from the current error if any
+ (setq pos (next-single-char-property-change pos 'flycheck-error)))
+ (while (not (or (= pos (point-max))
+ (flycheck-error-level-interesting-at-pos-p pos)))
+ ;; Scan for the next error
+ (setq pos (next-single-char-property-change pos 'flycheck-error)))
+ (when (and (= pos (point-max))
+ (not (flycheck-error-level-interesting-at-pos-p pos)))
+ ;; If we reached the end of the buffer, but no error, we didn't find
+ ;; any
+ (setq pos nil)))
+ ;; Search backwards
+ (while (and pos (< n 0))
+ (setq n (1+ n))
+ ;; Loop until we find an error. We need to check the position *before*
+ ;; the current one, because `previous-single-char-property-change'
+ ;; always moves to the position *of* the change.
+ (while (not (or (= pos (point-min))
+ (flycheck-error-level-interesting-at-pos-p (1- pos))))
+ (setq pos (previous-single-char-property-change pos 'flycheck-error)))
+ (when (and (= pos (point-min))
+ (not (flycheck-error-level-interesting-at-pos-p pos)))
+ ;; We didn't find any error.
+ (setq pos nil))
+ (when pos
+ ;; We found an error, so move to its beginning
+ (setq pos (previous-single-char-property-change pos
+ 'flycheck-error)))))
+ pos))
+
+(defun flycheck-next-error-function (n reset)
+ "Visit the N-th error from the current point.
+
+N is the number of errors to advance by, where a negative N
+advances backwards. With non-nil RESET, advance from the
+beginning of the buffer, otherwise advance from the current
+position.
+
+Intended for use with `next-error-function'."
+ (-if-let* ((pos (flycheck-next-error-pos n reset))
+ (err (get-char-property pos 'flycheck-error)))
+ (flycheck-jump-to-error err)
+ (user-error "No more Flycheck errors")))
+
+(defun flycheck-next-error (&optional n reset)
+ "Visit the N-th error from the current point.
+
+N is the number of errors to advance by, where a negative N
+advances backwards. With non-nil RESET, advance from the
+beginning of the buffer, otherwise advance from the current
+position."
+ (interactive "P")
+ (when (consp n)
+ ;; Universal prefix argument means reset
+ (setq reset t n nil))
+ (flycheck-next-error-function n reset)
+ (flycheck-display-error-at-point))
+
+(defun flycheck-previous-error (&optional n)
+ "Visit the N-th previous error.
+
+If given, N specifies the number of errors to move backwards by.
+If N is negative, move forwards instead."
+ (interactive "P")
+ (flycheck-next-error (- (or n 1))))
+
+(defun flycheck-first-error (&optional n)
+ "Visit the N-th error from beginning of the buffer.
+
+If given, N specifies the number of errors to move forward from
+the beginning of the buffer."
+ (interactive "P")
+ (flycheck-next-error n 'reset))
+
+
+;;; Listing errors in buffers
+(defconst flycheck-error-list-buffer "*Flycheck errors*"
+ "The name of the buffer to show error lists.")
+
+(defvar flycheck-error-list-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map (kbd "f") #'flycheck-error-list-set-filter)
+ (define-key map (kbd "F") #'flycheck-error-list-reset-filter)
+ (define-key map (kbd "n") #'flycheck-error-list-next-error)
+ (define-key map (kbd "p") #'flycheck-error-list-previous-error)
+ (define-key map (kbd "g") #'flycheck-error-list-check-source)
+ (define-key map (kbd "e") #'flycheck-error-list-explain-error)
+ (define-key map (kbd "RET") #'flycheck-error-list-goto-error)
+ map)
+ "The keymap of `flycheck-error-list-mode'.")
+
+(defun flycheck-error-list-make-last-column (message checker)
+ "Compute contents of the last error list cell.
+
+MESSAGE and CHECKER are displayed in a single column to allow the
+message to stretch arbitrarily far."
+ (let ((checker-name (propertize (symbol-name checker)
+ 'face 'flycheck-error-list-checker-name)))
+ (format "%s (%s)" message checker-name)))
+
+(defconst flycheck-error-list-format
+ `[("File" 6)
+ ("Line" 5 flycheck-error-list-entry-< :right-align t)
+ ("Col" 3 nil :right-align t)
+ ("Level" 8 flycheck-error-list-entry-level-<)
+ ("ID" 6 t)
+ (,(flycheck-error-list-make-last-column "Message" 'Checker) 0 t)]
+ "Table format for the error list.")
+
+(defconst flycheck-error-list-padding 1
+ "Padding used in error list.")
+
+(defconst flycheck--error-list-msg-offset
+ (seq-reduce
+ (lambda (offset fmt)
+ (pcase-let* ((`(,_ ,width ,_ . ,props) fmt)
+ (padding (or (plist-get props :pad-right) 1)))
+ (+ offset width padding)))
+ (seq-subseq flycheck-error-list-format 0 -1)
+ flycheck-error-list-padding)
+ "Amount of space to use in `flycheck-flush-multiline-message'.")
+
+(define-derived-mode flycheck-error-list-mode tabulated-list-mode
+ "Flycheck errors"
+ "Major mode for listing Flycheck errors.
+
+\\{flycheck-error-list-mode-map}"
+ (setq tabulated-list-format flycheck-error-list-format
+ ;; Sort by location initially
+ tabulated-list-sort-key (cons "Line" nil)
+ tabulated-list-padding flycheck-error-list-padding
+ tabulated-list-entries #'flycheck-error-list-entries
+ ;; `revert-buffer' updates the mode line for us, so all we need to do is
+ ;; set the corresponding mode line construct.
+ mode-line-buffer-identification flycheck-error-list-mode-line)
+ ;; Guard `truncate-string-ellipsis' for Emacs 24.
+ ;; TODO: Remove when dropping Emacs 24 compatibility
+ (when (boundp 'truncate-string-ellipsis)
+ ;; See https://github.com/flycheck/flycheck/issues/1101
+ (setq-local truncate-string-ellipsis "…"))
+ (tabulated-list-init-header))
+
+(defvar-local flycheck-error-list-source-buffer nil
+ "The current source buffer of the error list.")
+;; Needs to permanently local to preserve the source buffer across buffer
+;; reversions
+(put 'flycheck-error-list-source-buffer 'permanent-local t)
+
+(defun flycheck-error-list-set-source (buffer)
+ "Set BUFFER as the source buffer of the error list."
+ (when (get-buffer flycheck-error-list-buffer)
+ (with-current-buffer flycheck-error-list-buffer
+ ;; Only update the source when required
+ (unless (eq buffer flycheck-error-list-source-buffer)
+ (setq flycheck-error-list-source-buffer buffer)
+ (flycheck-error-list-refresh)))))
+
+(defun flycheck-error-list-update-source ()
+ "Update the source buffer of the error list."
+ (unless (eq (current-buffer) (get-buffer flycheck-error-list-buffer))
+ ;; We must not update the source buffer, if the current buffer is the error
+ ;; list itself.
+ (flycheck-error-list-set-source (current-buffer))))
+
+(defun flycheck-error-list-check-source ()
+ "Trigger a syntax check in the source buffer of the error list."
+ (interactive)
+ (let ((buffer (get-buffer flycheck-error-list-source-buffer)))
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (flycheck-buffer)))))
+
+(define-button-type 'flycheck-error-list
+ 'action #'flycheck-error-list-button-goto-error
+ 'help-echo "mouse-1, RET: goto error"
+ 'face nil)
+
+(defun flycheck-error-list-button-goto-error (button)
+ "Go to the error at BUTTON."
+ (flycheck-error-list-goto-error (button-start button)))
+
+(define-button-type 'flycheck-error-list-explain-error
+ 'action #'flycheck-error-list-button-explain-error
+ 'help-echo "mouse-1, RET: explain error")
+
+(defun flycheck-error-list-button-explain-error (button)
+ "Explain the error at BUTTON."
+ (flycheck-error-list-explain-error (button-start button)))
+
+(defsubst flycheck-error-list-make-cell (text &optional face help-echo type)
+ "Make an error list cell with TEXT and FACE.
+
+If FACE is nil don't set a FACE on TEXT. If TEXT already has
+face properties, do not specify a FACE. Note though, that if
+TEXT gets truncated it will not inherit any previous face
+properties. If you expect TEXT to be truncated in the error
+list, do specify a FACE explicitly!
+
+If HELP-ECHO is non-nil, set a help-echo property on TEXT, with
+value HELP-ECHO. This is convenient if you expect TEXT to be
+truncated.
+
+The cell will have the type TYPE unless TYPE is nil, and the
+default type `flycheck-error-list' will be used instead."
+ (append (list text 'type (if type type
+ 'flycheck-error-list))
+ (and face (list 'face face))
+ (and help-echo (list 'help-echo help-echo))))
+
+(defsubst flycheck-error-list-make-number-cell (number face)
+ "Make a table cell for a NUMBER with FACE.
+
+Convert NUMBER to string, fontify it with FACE and return the
+string with attached text properties."
+ (flycheck-error-list-make-cell
+ (if (numberp number) (number-to-string number) "")
+ face))
+
+(defun flycheck-error-list-make-entry (error)
+ "Make a table cell for the given ERROR.
+
+Return a list with the contents of the table cell."
+ (let* ((level (flycheck-error-level error))
+ (level-face (flycheck-error-level-error-list-face level))
+ (filename (flycheck-error-filename error))
+ (line (flycheck-error-line error))
+ (column (flycheck-error-column error))
+ (message (or (flycheck-error-message error)
+ (format "Unknown %s" (symbol-name level))))
+ (flushed-msg (flycheck-flush-multiline-message message))
+ (id (flycheck-error-id error))
+ (id-str (if id (format "%s" id) ""))
+ (checker (flycheck-error-checker error))
+ (msg-and-checker
+ (flycheck-error-list-make-last-column flushed-msg checker))
+ (explainer (flycheck-checker-get checker 'error-explainer)))
+ (list error
+ (vector (flycheck-error-list-make-cell
+ (if filename
+ (file-name-nondirectory filename)
+ "")
+ 'flycheck-error-list-filename)
+ (flycheck-error-list-make-number-cell
+ line 'flycheck-error-list-line-number)
+ (flycheck-error-list-make-number-cell
+ column 'flycheck-error-list-column-number)
+ (flycheck-error-list-make-cell
+ (symbol-name (flycheck-error-level error)) level-face)
+ ;; Error ID use a different face when an error-explainer is
+ ;; present
+ (flycheck-error-list-make-cell
+ id-str (if explainer 'flycheck-error-list-id-with-explainer
+ 'flycheck-error-list-id)
+ id-str 'flycheck-error-list-explain-error)
+ (flycheck-error-list-make-cell
+ msg-and-checker nil msg-and-checker)))))
+
+(defun flycheck-flush-multiline-message (msg)
+ "Prepare error message MSG for display in the error list.
+
+Prepend all lines of MSG except the first with enough space to
+ensure that they line up properly once the message is displayed."
+ (let* ((spc-spec `(space . (:width ,flycheck--error-list-msg-offset)))
+ (spc (propertize " " 'display spc-spec))
+ (rep (concat "\\1" spc "\\2")))
+ (replace-regexp-in-string "\\([\r\n]+\\)\\(.\\)" rep msg)))
+
+(defun flycheck-error-list-current-errors ()
+ "Read the list of errors in `flycheck-error-list-source-buffer'."
+ (when (buffer-live-p flycheck-error-list-source-buffer)
+ (buffer-local-value 'flycheck-current-errors
+ flycheck-error-list-source-buffer)))
+
+(defun flycheck-error-list-entries ()
+ "Create the entries for the error list."
+ (-when-let* ((errors (flycheck-error-list-current-errors))
+ (filtered (flycheck-error-list-apply-filter errors)))
+ (seq-map #'flycheck-error-list-make-entry filtered)))
+
+(defun flycheck-error-list-entry-< (entry1 entry2)
+ "Determine whether ENTRY1 is before ENTRY2 by location.
+
+See `flycheck-error-<'."
+ (flycheck-error-< (car entry1) (car entry2)))
+
+(defun flycheck-error-list-entry-level-< (entry1 entry2)
+ "Determine whether ENTRY1 is before ENTRY2 by level.
+
+See `flycheck-error-level-<'."
+ (not (flycheck-error-level-< (car entry1) (car entry2))))
+
+(defvar flycheck-error-list-mode-line-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [mode-line mouse-1]
+ #'flycheck-error-list-mouse-switch-to-source)
+ map)
+ "Keymap for error list mode line.")
+
+(defun flycheck-error-list-propertized-source-name ()
+ "Get the name of the current source buffer for the mode line.
+
+Propertize the name of the current source buffer for use in the
+mode line indication of `flycheck-error-list-mode'."
+ (let ((name (replace-regexp-in-string
+ (rx "%") "%%"
+ (buffer-name flycheck-error-list-source-buffer)
+ 'fixed-case 'literal)))
+ (propertize name 'face 'mode-line-buffer-id
+ 'mouse-face 'mode-line-highlight
+ 'help-echo "mouse-1: switch to source"
+ 'local-map flycheck-error-list-mode-line-map)))
+
+(defun flycheck-error-list-mouse-switch-to-source (event)
+ "Switch to the error list source buffer of the EVENT window."
+ (interactive "e")
+ (save-selected-window
+ (when (eventp event)
+ (select-window (posn-window (event-start event))))
+ (when (buffer-live-p flycheck-error-list-source-buffer)
+ (switch-to-buffer flycheck-error-list-source-buffer))))
+
+(defun flycheck-get-error-list-window-list (&optional all-frames)
+ "Get all windows displaying the error list.
+
+ALL-FRAMES specifies the frames to consider, as in
+`get-buffer-window-list'."
+ (-when-let (buf (get-buffer flycheck-error-list-buffer))
+ (get-buffer-window-list buf nil all-frames)))
+
+(defun flycheck-get-error-list-window (&optional all-frames)
+ "Get a window displaying the error list, or nil if none.
+
+ALL-FRAMES specifies the frames to consider, as in
+`get-buffer-window'."
+ (-when-let (buf (get-buffer flycheck-error-list-buffer))
+ (get-buffer-window buf all-frames)))
+
+(defun flycheck-error-list-recenter-at (pos)
+ "Recenter the error list at POS."
+ (dolist (window (flycheck-get-error-list-window-list t))
+ (with-selected-window window
+ (goto-char pos)
+ (let ((recenter-redisplay nil))
+ (recenter)))))
+
+(defun flycheck-error-list-refresh ()
+ "Refresh the current error list.
+
+Add all errors currently reported for the current
+`flycheck-error-list-source-buffer', and recenter the error
+list."
+ ;; We only refresh the error list, when it is visible in a window, and we
+ ;; select this window while reverting, because Tabulated List mode attempts to
+ ;; recenter the error at the old location, so it must have the proper window
+ ;; selected.
+ (-when-let (window (flycheck-get-error-list-window t))
+ (with-selected-window window
+ (revert-buffer))
+ (run-hooks 'flycheck-error-list-after-refresh-hook)
+ (let ((preserve-pos (eq (current-buffer)
+ (get-buffer flycheck-error-list-buffer))))
+ ;; If the error list is the current buffer, don't recenter when
+ ;; highlighting
+ (flycheck-error-list-highlight-errors preserve-pos))))
+
+(defun flycheck-error-list-mode-line-filter-indicator ()
+ "Create a string representing the current error list filter."
+ (if flycheck-error-list-minimum-level
+ (format " [>= %s]" flycheck-error-list-minimum-level)
+ ""))
+
+(defun flycheck-error-list-set-filter (level)
+ "Restrict the error list to errors at level LEVEL or higher.
+
+LEVEL is either an error level symbol, or nil, to remove the filter."
+ (interactive
+ (list (flycheck-read-error-level
+ "Minimum error level (errors at lower levels will be hidden): ")))
+ (when (and level (not (flycheck-error-level-p level)))
+ (user-error "Invalid level: %s" level))
+ (-when-let (buf (get-buffer flycheck-error-list-buffer))
+ (with-current-buffer buf
+ (setq-local flycheck-error-list-minimum-level level))
+ (flycheck-error-list-refresh)
+ (flycheck-error-list-recenter-at (point-min))))
+
+(defun flycheck-error-list-reset-filter (&optional refresh)
+ "Remove local error filters and reset to the default filter.
+
+Interactively, or with non-nil REFRESH, refresh the error list."
+ (interactive '(t))
+ (kill-local-variable 'flycheck-error-list-minimum-level)
+ (when refresh
+ (flycheck-error-list-refresh)
+ (flycheck-error-list-recenter-at (point-min))))
+
+(defun flycheck-error-list-apply-filter (errors)
+ "Filter ERRORS according to `flycheck-error-list-minimum-level'."
+ (-if-let* ((min-level flycheck-error-list-minimum-level)
+ (min-severity (flycheck-error-level-severity min-level)))
+ (seq-filter (lambda (err) (>= (flycheck-error-level-severity
+ (flycheck-error-level err))
+ min-severity))
+ errors)
+ errors))
+
+(defun flycheck-error-list-goto-error (&optional pos)
+ "Go to the location of the error at POS in the error list.
+
+POS defaults to `point'."
+ (interactive)
+ (-when-let* ((error (tabulated-list-get-id pos)))
+ (flycheck-jump-to-error error)))
+
+(defun flycheck-jump-to-error (error)
+ "Go to the location of ERROR."
+ (let* ((error-copy (copy-flycheck-error error))
+ (filename (flycheck-error-filename error))
+ (other-file-error (flycheck-relevant-error-other-file-p error))
+ (buffer (if filename
+ (find-file-noselect filename)
+ (flycheck-error-buffer error))))
+ (when (buffer-live-p buffer)
+ (setf (flycheck-error-buffer error-copy) buffer)
+ (flycheck-jump-in-buffer buffer error-copy)
+ ;; When jumping to an error in another file, it may not have
+ ;; this error available for highlighting yet, so we trigger a check
+ ;; if necessary.
+ (when other-file-error
+ (with-current-buffer buffer
+ ;; `seq-contains-p' is only in seq >= 2.21
+ (unless (with-no-warnings
+ (seq-contains flycheck-current-errors error-copy 'equal))
+ (when flycheck-mode
+ (flycheck-buffer))))))))
+
+(defun flycheck-jump-in-buffer (buffer error)
+ "In BUFFER, jump to ERROR."
+ ;; FIXME: we assume BUFFER and the buffer of ERROR are the same. We don't
+ ;; need the first argument then.
+ (if (eq (window-buffer) (get-buffer flycheck-error-list-buffer))
+ ;; When called from within the error list, keep the error list,
+ ;; otherwise replace the current buffer.
+ (pop-to-buffer buffer 'other-window)
+ (switch-to-buffer buffer))
+ (let ((pos (flycheck-error-pos error)))
+ (unless (eq (goto-char pos) (point))
+ ;; If widening gets in the way of moving to the right place, remove it
+ ;; and try again
+ (widen)
+ (goto-char pos)))
+ ;; Re-highlight the errors. We have post-command-hook for that, but calls to
+ ;; `flycheck-jump-in-buffer' that come from other buffers (e.g. from the error
+ ;; list) won't trigger it.
+ (flycheck-error-list-highlight-errors 'preserve-pos))
+
+(defun flycheck-error-list-explain-error (&optional pos)
+ "Explain the error at POS in the error list.
+
+POS defaults to `point'."
+ (interactive)
+ (-when-let* ((error (tabulated-list-get-id pos))
+ (explainer (flycheck-checker-get (flycheck-error-checker error)
+ 'error-explainer))
+ (explanation (funcall explainer error)))
+ (flycheck-display-error-explanation explanation)))
+
+(defun flycheck-error-list-next-error-pos (pos &optional n)
+ "Starting from POS get the N'th next error in the error list.
+
+N defaults to 1. If N is negative, search for the previous error
+instead.
+
+Get the beginning position of the N'th next error from POS, or
+nil, if there is no next error."
+ (let ((n (or n 1)))
+ (if (>= n 0)
+ ;; Search forward
+ (while (and pos (/= n 0))
+ (setq n (1- n))
+ (setq pos (next-single-property-change pos 'tabulated-list-id)))
+ ;; Search backwards
+ (while (/= n 0)
+ (setq n (1+ n))
+ ;; We explicitly give the limit here to explicitly have the minimum
+ ;; point returned, to be able to move to the first error (which starts
+ ;; at `point-min')
+ (setq pos (previous-single-property-change pos 'tabulated-list-id
+ nil (point-min)))))
+ pos))
+
+(defun flycheck-error-list-previous-error (n)
+ "Go to the N'th previous error in the error list."
+ (interactive "P")
+ (flycheck-error-list-next-error (- (or n 1))))
+
+(defun flycheck-error-list-next-error (n)
+ "Go to the N'th next error in the error list."
+ (interactive "P")
+ (let ((pos (flycheck-error-list-next-error-pos (point) n)))
+ (when (and pos (/= pos (point)))
+ (goto-char pos)
+ (save-selected-window
+ ;; Keep the error list selected, so that the user can navigate errors by
+ ;; repeatedly pressing n/p, without having to re-select the error list
+ ;; window.
+ (flycheck-error-list-goto-error)))))
+
+(defvar-local flycheck-error-list-highlight-overlays nil
+ "Error highlight overlays in the error list buffer.")
+(put 'flycheck-error-list-highlight-overlays 'permanent-local t)
+
+(defun flycheck-error-list-highlight-errors (&optional preserve-pos)
+ "Highlight errors in the error list.
+
+Highlight all errors in the error lists that are at point in the
+source buffer, and on the same line as point. Then recenter the
+error list to the highlighted error, unless PRESERVE-POS is
+non-nil."
+ (when (get-buffer flycheck-error-list-buffer)
+ (with-current-buffer flycheck-error-list-buffer
+ (let ((current-errors
+ (when (buffer-live-p flycheck-error-list-source-buffer)
+ (with-current-buffer flycheck-error-list-source-buffer
+ (flycheck-overlay-errors-in (line-beginning-position)
+ (line-end-position))))))
+ (let ((old-overlays flycheck-error-list-highlight-overlays)
+ (min-point (point-max))
+ (max-point (point-min)))
+ ;; Display the new overlays first, to avoid re-display flickering
+ (setq flycheck-error-list-highlight-overlays nil)
+ (when current-errors
+ (let ((next-error-pos (point-min)))
+ (while next-error-pos
+ (let* ((beg next-error-pos)
+ (end (flycheck-error-list-next-error-pos beg))
+ (err (tabulated-list-get-id beg)))
+ (when (member err current-errors)
+ (setq min-point (min min-point beg)
+ max-point (max max-point beg))
+ (let ((ov (make-overlay beg
+ ;; Extend overlay to the beginning
+ ;; of the next line, to highlight
+ ;; the whole line
+ (or end (point-max)))))
+ (push ov flycheck-error-list-highlight-overlays)
+ (setf (overlay-get ov 'flycheck-error-highlight-overlay)
+ t)
+ (setf (overlay-get ov 'face)
+ 'flycheck-error-list-highlight)))
+ (setq next-error-pos end)))))
+ ;; Delete the old overlays
+ (seq-do #'delete-overlay old-overlays)
+ (when (and (not preserve-pos) current-errors)
+ ;; Move point to the middle error
+ (goto-char (+ min-point (/ (- max-point min-point) 2)))
+ (beginning-of-line)
+ ;; And recenter the error list at this position
+ (flycheck-error-list-recenter-at (point))))))))
+
+(defun flycheck-list-errors ()
+ "Show the error list for the current buffer."
+ (interactive)
+ (unless flycheck-mode
+ (user-error "Flycheck mode not enabled"))
+ ;; Create and initialize the error list
+ (unless (get-buffer flycheck-error-list-buffer)
+ (with-current-buffer (get-buffer-create flycheck-error-list-buffer)
+ (flycheck-error-list-mode)))
+ (flycheck-error-list-set-source (current-buffer))
+ ;; Reset the error filter
+ (flycheck-error-list-reset-filter)
+ ;; Show the error list in a window, and re-select the old window
+ (display-buffer flycheck-error-list-buffer)
+ ;; Finally, refresh the error list to show the most recent errors
+ (flycheck-error-list-refresh))
+
+(defalias 'list-flycheck-errors 'flycheck-list-errors)
+
+
+;;; Displaying errors in the current buffer
+(defun flycheck-display-errors (errors)
+ "Display ERRORS using `flycheck-display-errors-function'."
+ (when flycheck-display-errors-function
+ (funcall flycheck-display-errors-function errors)))
+
+(defvar-local flycheck-display-error-at-point-timer nil
+ "Timer to automatically show errors.")
+
+(defun flycheck-cancel-error-display-error-at-point-timer ()
+ "Cancel the error display timer for the current buffer."
+ (when flycheck-display-error-at-point-timer
+ (cancel-timer flycheck-display-error-at-point-timer)
+ (setq flycheck-display-error-at-point-timer nil)))
+
+(defun flycheck--error-display-tick ()
+ "Return point and tick counter of current buffer."
+ (cons (point) (buffer-modified-tick)))
+
+(defvar-local flycheck--last-error-display-tick nil
+ "Value of `flycheck--error-display-tick' when errors were last displayed.")
+
+(defun flycheck-display-error-at-point ()
+ "Display all the error messages at point."
+ (interactive)
+ ;; This function runs from a timer, so we must take care to not ignore any
+ ;; errors
+ (with-demoted-errors "Flycheck error display error: %s"
+ (flycheck-cancel-error-display-error-at-point-timer)
+ (setq flycheck--last-error-display-tick (flycheck--error-display-tick))
+ (when flycheck-mode
+ (-when-let (errors (flycheck-overlay-errors-at (point)))
+ (flycheck-display-errors errors)))))
+
+(defun flycheck-display-error-at-point-soon ()
+ "Display error messages at point, with a delay."
+ (setq flycheck--last-error-display-tick nil)
+ (flycheck-maybe-display-error-at-point-soon))
+
+(defun flycheck-maybe-display-error-at-point-soon ()
+ "Display error message at point with a delay, unless already displayed."
+ (flycheck-cancel-error-display-error-at-point-timer)
+ (when (and (not (equal flycheck--last-error-display-tick
+ (setq flycheck--last-error-display-tick
+ (flycheck--error-display-tick))))
+ (flycheck-overlays-at (point)))
+ (setq flycheck-display-error-at-point-timer
+ (run-at-time flycheck-display-errors-delay nil
+ 'flycheck-display-error-at-point))))
+
+
+;;; Functions to display errors
+(defconst flycheck-error-message-buffer "*Flycheck error messages*"
+ "The name of the buffer to show long error messages in.")
+
+(defun flycheck-error-message-buffer ()
+ "Get the buffer object to show long error messages in.
+
+Get the buffer named by variable `flycheck-error-message-buffer',
+or nil if the buffer does not exist."
+ (get-buffer flycheck-error-message-buffer))
+
+(defun flycheck-may-use-echo-area-p ()
+ "Determine whether the echo area may be used.
+
+The echo area may be used if the cursor is not in the echo area,
+and if the echo area is not occupied by minibuffer input."
+ (not (or cursor-in-echo-area (active-minibuffer-window))))
+
+(define-derived-mode flycheck-error-message-mode text-mode
+ "Flycheck error messages"
+ "Major mode for extended error messages.")
+
+(defun flycheck-display-error-messages (errors)
+ "Display the messages of ERRORS.
+
+Concatenate all non-nil messages of ERRORS separated by empty
+lines, and display them with `display-message-or-buffer', which
+shows the messages either in the echo area or in a separate
+buffer, depending on the number of lines. See Info
+node `(elisp)Displaying Messages' for more information.
+
+In the latter case, show messages in the buffer denoted by
+variable `flycheck-error-message-buffer'."
+ (when (and errors (flycheck-may-use-echo-area-p))
+ (let ((messages (seq-map #'flycheck-error-format-message-and-id errors)))
+ (display-message-or-buffer (string-join messages "\n\n")
+ flycheck-error-message-buffer
+ 'not-this-window)
+ ;; We cannot rely on `display-message-or-buffer' returning the right
+ ;; window. See URL `https://github.com/flycheck/flycheck/issues/1643'.
+ (-when-let ((buf (get-buffer flycheck-error-message-buffer)))
+ (with-current-buffer buf
+ (unless (derived-mode-p 'flycheck-error-message-mode)
+ (flycheck-error-message-mode)))))))
+
+(defun flycheck-display-error-messages-unless-error-list (errors)
+ "Show messages of ERRORS unless the error list is visible.
+
+Like `flycheck-display-error-messages', but only if the error
+list (see `flycheck-list-errors') is not visible in any window in
+the current frame."
+ (unless (flycheck-get-error-list-window 'current-frame)
+ (flycheck-display-error-messages errors)))
+
+(defun flycheck-hide-error-buffer ()
+ "Hide the Flycheck error buffer if necessary.
+
+Hide the error buffer if there is no error under point."
+ (-when-let* ((buffer (flycheck-error-message-buffer))
+ (window (get-buffer-window buffer)))
+ (unless (flycheck-overlays-at (point))
+ ;; save-selected-window prevents `quit-window' from changing the current
+ ;; buffer (see https://github.com/flycheck/flycheck/issues/648).
+ (save-selected-window
+ (quit-window nil window)))))
+
+
+;;; Working with errors
+(defun flycheck-copy-errors-as-kill (pos &optional formatter)
+ "Copy each error at POS into kill ring, using FORMATTER.
+
+FORMATTER is a function to turn an error into a string,
+defaulting to `flycheck-error-message'.
+
+Interactively, use `flycheck-error-format-message-and-id' as
+FORMATTER with universal prefix arg, and `flycheck-error-id' with
+normal prefix arg, i.e. copy the message and the ID with
+universal prefix arg, and only the id with normal prefix arg."
+ (interactive (list (point)
+ (pcase current-prefix-arg
+ ((pred not) #'flycheck-error-message)
+ ((pred consp) #'flycheck-error-format-message-and-id)
+ (_ #'flycheck-error-id))))
+ (let ((messages (delq nil (seq-map (or formatter #'flycheck-error-message)
+ (flycheck-overlay-errors-at pos)))))
+ (when messages
+ (seq-do #'kill-new (reverse messages))
+ (message (string-join messages "\n")))))
+
+(defun flycheck-explain-error-at-point ()
+ "Display an explanation for the first explainable error at point.
+
+The first explainable error at point is the first error at point
+with a non-nil `:error-explainer' function defined in its
+checker. The `:error-explainer' function is then called with
+this error to produce the explanation to display."
+ (interactive)
+ (-when-let* ((first-error
+ ;; Get the first error at point that has an `error-explainer'.
+ (seq-find (lambda (error)
+ (flycheck-checker-get
+ (flycheck-error-checker error) 'error-explainer))
+ (flycheck-overlay-errors-at (point))))
+ (explainer
+ (flycheck-checker-get (flycheck-error-checker first-error)
+ 'error-explainer))
+ (explanation (funcall explainer first-error)))
+ (flycheck-display-error-explanation explanation)))
+
+(defconst flycheck-explain-error-buffer "*Flycheck error explanation*"
+ "The name of the buffer to show error explanations.")
+
+(defun flycheck-display-error-explanation (explanation)
+ "Display the EXPLANATION string in a help buffer."
+ (with-help-window (get-buffer-create flycheck-explain-error-buffer)
+ (princ explanation)))
+
+
+;;; Syntax checkers using external commands
+(defun flycheck-command-argument-p (arg)
+ "Check whether ARG is a valid command argument."
+ (pcase arg
+ ((pred stringp) t)
+ ((or `source `source-inplace `source-original) t)
+ (`(,(or `source `source-inplace) ,suffix)
+ (stringp suffix))
+ ((or `temporary-directory `temporary-file-name) t)
+ (`null-device t)
+ (`(config-file ,option-name ,config-file-var)
+ (and (stringp option-name)
+ (symbolp config-file-var)))
+ (`(config-file ,option-name ,config-file-var ,prepender)
+ (and (stringp option-name)
+ (symbolp config-file-var)
+ (symbolp prepender)))
+ (`(,(or `option `option-list) ,option-name ,option-var)
+ (and (stringp option-name)
+ (symbolp option-var)))
+ (`(,(or `option `option-list) ,option-name ,option-var ,prepender)
+ (and (stringp option-name)
+ (symbolp option-var)
+ (symbolp prepender)))
+ (`(,(or `option `option-list) ,option-name ,option-var ,prepender ,filter)
+ (and (stringp option-name)
+ (symbolp option-var)
+ (symbolp prepender)
+ (symbolp filter)))
+ (`(option-flag ,option-name ,option-var)
+ (and (stringp option-name)
+ (symbolp option-var)))
+ (`(eval ,_) t)
+ (_ nil)))
+
+(defun flycheck-compute-working-directory (checker)
+ "Get the default working directory for CHECKER.
+
+Compute the value of `default-directory' for the invocation of
+the syntax checker command, by calling the function in the
+`working-directory' property of CHECKER, with CHECKER as sole
+argument, and returning its value. Signal an error if the
+function returns a non-existing working directory.
+
+If the property is undefined or if the function returns nil
+return the `default-directory' of the current buffer."
+ (let* ((def-directory-fn (flycheck-checker-get checker 'working-directory))
+ (directory (or (and def-directory-fn
+ (funcall def-directory-fn checker))
+ ;; Default to the `default-directory' of the current
+ ;; buffer
+ default-directory)))
+ (unless (file-exists-p directory)
+ (error ":working-directory %s of syntax checker %S does not exist"
+ directory checker))
+ directory))
+
+;;;###autoload
+(defun flycheck-define-command-checker (symbol docstring &rest properties)
+ "Define SYMBOL as syntax checker to run a command.
+
+Define SYMBOL as generic syntax checker via
+`flycheck-define-generic-checker', which uses an external command
+to check the buffer. SYMBOL and DOCSTRING are the same as for
+`flycheck-define-generic-checker'.
+
+In addition to the properties understood by
+`flycheck-define-generic-checker', the following PROPERTIES
+constitute a command syntax checker. Unless otherwise noted, all
+properties are mandatory. Note that the default `:error-filter'
+of command checkers is `flycheck-sanitize-errors'.
+
+`:command COMMAND'
+ The command to run for syntax checking.
+
+ COMMAND is a list of the form `(EXECUTABLE [ARG ...])'.
+
+ EXECUTABLE is a string with the executable of this syntax
+ checker. It can be overridden with the variable
+ `flycheck-SYMBOL-executable'. Note that this variable is
+ NOT implicitly defined by this function. Use
+ `flycheck-def-executable-var' to define this variable.
+
+ Each ARG is an argument to the executable, either as string,
+ or as special symbol or form for
+ `flycheck-substitute-argument', which see.
+
+`:error-patterns PATTERNS'
+ A list of patterns to parse the output of the `:command'.
+
+ Each ITEM in PATTERNS is a list `(LEVEL SEXP ...)', where
+ LEVEL is a Flycheck error level (see
+ `flycheck-define-error-level'), followed by one or more RX
+ `SEXP's which parse an error of that level and extract line,
+ column, file name and the message.
+
+ See `rx' for general information about RX, and
+ `flycheck-rx-to-string' for some special RX forms provided
+ by Flycheck.
+
+ All patterns are applied in the order of declaration to the
+ whole output of the syntax checker. Output already matched
+ by a pattern will not be matched by subsequent patterns. In
+ other words, the first pattern wins.
+
+ This property is optional. If omitted, however, an
+ `:error-parser' is mandatory.
+
+`:error-parser FUNCTION'
+ A function to parse errors with.
+
+ The function shall accept three arguments OUTPUT CHECKER
+ BUFFER. OUTPUT is the syntax checker output as string,
+ CHECKER the syntax checker that was used, and BUFFER a
+ buffer object representing the checked buffer. The function
+ must return a list of `flycheck-error' objects parsed from
+ OUTPUT.
+
+ This property is optional. If omitted, it defaults to
+ `flycheck-parse-with-patterns'. In this case,
+ `:error-patterns' is mandatory.
+
+`:standard-input t'
+ Whether to send the buffer contents on standard input.
+
+ If this property is given and has a non-nil value, send the
+ contents of the buffer on standard input.
+
+ Defaults to nil.
+
+Note that you may not give `:start', `:interrupt', and
+`:print-doc' for a command checker. You can give a custom
+`:verify' function, though, whose results will be appended to the
+default `:verify' function of command checkers."
+ (declare (indent 1)
+ (doc-string 2))
+ (dolist (prop '(:start :interrupt :print-doc))
+ (when (plist-get properties prop)
+ (error "%s not allowed in definition of command syntax checker %s"
+ prop symbol)))
+
+ (unless (plist-get properties :error-filter)
+ ;; Default to `flycheck-sanitize-errors' as error filter
+ (setq properties (plist-put properties :error-filter
+ #'flycheck-sanitize-errors)))
+ (let ((verify-fn (plist-get properties :verify)))
+ (setq properties
+ (plist-put properties :verify
+ (lambda (checker)
+ (append (flycheck-verify-command-checker checker)
+ (and verify-fn
+ (funcall verify-fn checker)))))))
+
+ (let ((command (plist-get properties :command))
+ (patterns (plist-get properties :error-patterns))
+ (parser (or (plist-get properties :error-parser)
+ #'flycheck-parse-with-patterns))
+ (enabled (plist-get properties :enabled))
+ (standard-input (plist-get properties :standard-input)))
+ (unless command
+ (error "Missing :command in syntax checker %s" symbol))
+ (unless (stringp (car command))
+ (error "Command executable for syntax checker %s must be a string: %S"
+ symbol (car command)))
+ (dolist (arg (cdr command))
+ (unless (flycheck-command-argument-p arg)
+ (error "Invalid command argument %S in syntax checker %s" arg symbol)))
+ (when (and (eq parser 'flycheck-parse-with-patterns)
+ (not patterns))
+ (error "Missing :error-patterns in syntax checker %s" symbol))
+
+ (setq properties
+ ;; Automatically disable command checkers if the executable does not
+ ;; exist.
+ (plist-put properties :enabled
+ (lambda ()
+ (and (flycheck-find-checker-executable symbol)
+ (flycheck-temp-files-writable-p symbol)
+ (or (not enabled) (funcall enabled))))))
+
+ (apply #'flycheck-define-generic-checker symbol docstring
+ :start #'flycheck-start-command-checker
+ :interrupt #'flycheck-interrupt-command-checker
+ :print-doc #'flycheck-command-checker-print-doc
+ properties)
+
+ ;; Pre-compile all errors patterns into strings, so that we don't need to do
+ ;; that on each error parse
+ (let ((patterns (seq-map (lambda (p)
+ (cons (flycheck-rx-to-string `(and ,@(cdr p))
+ 'no-group)
+ (car p)))
+ patterns)))
+ (pcase-dolist (`(,prop . ,value)
+ `((command . ,command)
+ (error-parser . ,parser)
+ (error-patterns . ,patterns)
+ (standard-input . ,standard-input)))
+ (setf (flycheck-checker-get symbol prop) value)))))
+
+(eval-and-compile
+ ;; Make this function available during byte-compilation, since we need it
+ ;; at macro expansion of `flycheck-def-executable-var'.
+ (defun flycheck-checker-executable-variable (checker)
+ "Get the executable variable of CHECKER.
+
+The executable variable is named `flycheck-CHECKER-executable'."
+ (intern (format "flycheck-%s-executable" checker))))
+
+(defun flycheck-checker-default-executable (checker)
+ "Get the default executable of CHECKER."
+ (car (flycheck-checker-get checker 'command)))
+
+(defun flycheck-checker-executable (checker)
+ "Get the command executable of CHECKER.
+
+The executable is either the value of the variable
+`flycheck-CHECKER-executable', or the default executable given in
+the syntax checker definition, if the variable is nil."
+ (let ((var (flycheck-checker-executable-variable checker)))
+ (or (and (boundp var) (symbol-value var))
+ (flycheck-checker-default-executable checker))))
+
+(defun flycheck-find-checker-executable (checker)
+ "Get the full path of the executable of CHECKER.
+
+Return the full absolute path to the executable of CHECKER, or
+nil if the executable does not exist."
+ (funcall flycheck-executable-find (flycheck-checker-executable checker)))
+
+(defun flycheck-checker-arguments (checker)
+ "Get the command arguments of CHECKER."
+ (cdr (flycheck-checker-get checker 'command)))
+
+(defun flycheck-substitute-argument (arg checker)
+ "Substitute ARG for CHECKER.
+
+Return a list of real arguments for the executable of CHECKER,
+substituted for the symbolic argument ARG. Single arguments,
+e.g. if ARG is a literal strings, are wrapped in a list.
+
+ARG may be one of the following forms:
+
+STRING
+ Return ARG unchanged.
+
+`source', `source-inplace'
+ Create a temporary file to check and return its path. With
+ `source-inplace' create the temporary file in the same
+ directory as the original file. The value of
+ `flycheck-temp-prefix' is used as prefix of the file name.
+
+ With `source', try to retain the non-directory component of
+ the buffer's file name in the temporary file.
+
+ `source' is the preferred way to pass the input file to a
+ syntax checker. `source-inplace' should only be used if the
+ syntax checker needs other files from the source directory,
+ such as include files in C.
+
+`(source SUFFIX)', `(source-inplace SUFFIX)'
+ Like `source' and `source-inplace', but ensure generated
+ file names end with the given suffix. Use this when the
+ checker requires that file names on its command line have a
+ certain suffix (file extension).
+
+`source-original'
+ Return the path of the actual file to check, or an empty
+ string if the buffer has no file name.
+
+ Note that the contents of the file may not be up to date
+ with the contents of the buffer to check. Do not use this
+ as primary input to a checker, unless absolutely necessary.
+
+ When using this symbol as primary input to the syntax
+ checker, add `flycheck-buffer-saved-p' to the `:predicate'.
+
+`temporary-directory'
+ Create a unique temporary directory and return its path.
+
+`temporary-file-name'
+ Return a unique temporary filename. The file is *not*
+ created.
+
+ To ignore the output of syntax checkers, try `null-device'
+ first.
+
+`null-device'
+ Return the value of `null-device', i.e the system null
+ device.
+
+ Use this option to ignore the output of a syntax checker.
+ If the syntax checker cannot handle the null device, or
+ won't write to an existing file, try `temporary-file-name'
+ instead.
+
+`(config-file OPTION VARIABLE [PREPEND-FN])'
+ Search the configuration file bound to VARIABLE with
+ `flycheck-locate-config-file' and return a list of arguments
+ that pass this configuration file to the syntax checker, or
+ nil if the configuration file was not found.
+
+ PREPEND-FN is called with the OPTION and the located
+ configuration file, and should return OPTION prepended
+ before the file, either a string or as list. If omitted,
+ PREPEND-FN defaults to `list'.
+
+`(option OPTION VARIABLE [PREPEND-FN [FILTER]])'
+ Retrieve the value of VARIABLE and return a list of
+ arguments that pass this value as value for OPTION to the
+ syntax checker.
+
+ PREPEND-FN is called with the OPTION and the value of
+ VARIABLE, and should return OPTION prepended before the
+ file, either a string or as list. If omitted, PREPEND-FN
+ defaults to `list'.
+
+ FILTER is an optional function to be applied to the value of
+ VARIABLE before prepending. This function must return nil
+ or a string. In the former case, return nil. In the latter
+ case, return a list of arguments as described above.
+
+`(option-list OPTION VARIABLE [PREPEND-FN [FILTER]])'
+ Retrieve the value of VARIABLE, which must be a list,
+ and prepend OPTION before each item in this list, using
+ PREPEND-FN.
+
+ PREPEND-FN is called with the OPTION and each item of the
+ list as second argument, and should return OPTION prepended
+ before the item, either as string or as list. If omitted,
+ PREPEND-FN defaults to `list'.
+
+ FILTER is an optional function to be applied to each item in
+ the list before prepending OPTION. It shall return the
+ option value for each item as string, or nil, if the item is
+ to be ignored.
+
+`(option-flag OPTION VARIABLE)'
+ Retrieve the value of VARIABLE and return OPTION, if the
+ value is non-nil. Otherwise return nil.
+
+`(eval FORM)'
+ Return the result of evaluating FORM in the buffer to be
+ checked. FORM must either return a string or a list of
+ strings, or nil to indicate that nothing should be
+ substituted for CELL. For all other return types, signal an
+ error
+
+ _No_ further substitutions are performed, neither in FORM
+ before it is evaluated, nor in the result of evaluating
+ FORM.
+
+In all other cases, signal an error.
+
+Note that substitution is *not* recursive. No symbols or cells
+are substituted within the body of cells!"
+ (pcase arg
+ ((pred stringp) (list arg))
+ (`source
+ (list (flycheck-save-buffer-to-temp #'flycheck-temp-file-system)))
+ (`source-inplace
+ (list (flycheck-save-buffer-to-temp #'flycheck-temp-file-inplace)))
+ (`(source ,suffix)
+ (list (flycheck-save-buffer-to-temp
+ (lambda (filename) (flycheck-temp-file-system filename suffix)))))
+ (`(source-inplace ,suffix)
+ (list (flycheck-save-buffer-to-temp
+ (lambda (filename) (flycheck-temp-file-inplace filename suffix)))))
+ (`source-original (list (or (buffer-file-name) "")))
+ (`temporary-directory (list (flycheck-temp-dir-system)))
+ (`temporary-file-name
+ (let ((directory (flycheck-temp-dir-system)))
+ (list (make-temp-name (expand-file-name "flycheck" directory)))))
+ (`null-device (list null-device))
+ (`(config-file ,option-name ,file-name-var)
+ (-when-let* ((value (symbol-value file-name-var))
+ (file-name (flycheck-locate-config-file value checker)))
+ (flycheck-prepend-with-option option-name (list file-name))))
+ (`(config-file ,option-name ,file-name-var ,prepend-fn)
+ (-when-let* ((value (symbol-value file-name-var))
+ (file-name (flycheck-locate-config-file value checker)))
+ (flycheck-prepend-with-option option-name (list file-name) prepend-fn)))
+ (`(option ,option-name ,variable)
+ (-when-let (value (symbol-value variable))
+ (unless (stringp value)
+ (error "Value %S of %S for option %s is not a string"
+ value variable option-name))
+ (flycheck-prepend-with-option option-name (list value))))
+ (`(option ,option-name ,variable ,prepend-fn)
+ (-when-let (value (symbol-value variable))
+ (unless (stringp value)
+ (error "Value %S of %S for option %s is not a string"
+ value variable option-name))
+ (flycheck-prepend-with-option option-name (list value) prepend-fn)))
+ (`(option ,option-name ,variable ,prepend-fn ,filter)
+ (-when-let (value (funcall filter (symbol-value variable)))
+ (unless (stringp value)
+ (error "Value %S of %S (filter: %S) for option %s is not a string"
+ value variable filter option-name))
+ (flycheck-prepend-with-option option-name (list value) prepend-fn)))
+ (`(option-list ,option-name ,variable)
+ (let ((value (symbol-value variable)))
+ (unless (and (listp value) (seq-every-p #'stringp value))
+ (error "Value %S of %S for option %S is not a list of strings"
+ value variable option-name))
+ (flycheck-prepend-with-option option-name value)))
+ (`(option-list ,option-name ,variable ,prepend-fn)
+ (let ((value (symbol-value variable)))
+ (unless (and (listp value) (seq-every-p #'stringp value))
+ (error "Value %S of %S for option %S is not a list of strings"
+ value variable option-name))
+ (flycheck-prepend-with-option option-name value prepend-fn)))
+ (`(option-list ,option-name ,variable ,prepend-fn ,filter)
+ (let ((value (delq nil (seq-map filter (symbol-value variable)))))
+ (unless (and (listp value) (seq-every-p #'stringp value))
+ (error "Value %S of %S for option %S is not a list of strings"
+ value variable option-name))
+ (flycheck-prepend-with-option option-name value prepend-fn)))
+ (`(option-flag ,option-name ,variable)
+ (when (symbol-value variable)
+ (list option-name)))
+ (`(eval ,form)
+ (let ((result (eval form)))
+ (cond
+ ((and (listp result) (seq-every-p #'stringp result)) result)
+ ((stringp result) (list result))
+ (t (error "Invalid result from evaluation of %S: %S" form result)))))
+ (_ (error "Unsupported argument %S" arg))))
+
+(defun flycheck-checker-substituted-arguments (checker)
+ "Get the substituted arguments of a CHECKER.
+
+Substitute each argument of CHECKER using
+`flycheck-substitute-argument'. This replaces any special
+symbols in the command."
+ (apply #'append
+ (seq-map (lambda (arg) (flycheck-substitute-argument arg checker))
+ (flycheck-checker-arguments checker))))
+
+(defun flycheck--process-send-buffer-contents-chunked (process)
+ "Send contents of current buffer to PROCESS in small batches.
+
+Send the entire buffer to the standard input of PROCESS in chunks
+of 4096 characters. Chunking is done in Emacs Lisp, hence this
+function is probably far less efficient than
+`send-process-region'. Use only when required."
+ (let ((from (point-min)))
+ (while (< from (point-max))
+ (let ((to (min (+ from 4096) (point-max))))
+ (process-send-region process from to)
+ (setq from to)))))
+
+(defvar flycheck-chunked-process-input
+ ;; Chunk process output on Windows to work around
+ ;; https://github.com/flycheck/flycheck/issues/794 and
+ ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22344. The presence of
+ ;; `w32-pipe-buffer-size' denotes an Emacs version (> Emacs 25.1) where pipe
+ ;; writes on Windows are fixed.
+ ;;
+ ;; TODO: Remove option and chunking when dropping Emacs 24 support, see
+ ;; https://github.com/flycheck/flycheck/issues/856
+ (and (eq system-type 'windows-nt) (not (boundp 'w32-pipe-buffer-size)))
+ "If non-nil send process input in small chunks.
+
+If this variable is non-nil `flycheck-process-send-buffer' sends
+buffer contents in small chunks.
+
+Defaults to nil, except on Windows to work around Emacs bug
+#22344.")
+
+(defun flycheck-process-send-buffer (process)
+ "Send all contents of current buffer to PROCESS.
+
+Sends all contents of the current buffer to the standard input of
+PROCESS, and terminates standard input with EOF.
+
+If `flycheck-chunked-process-input' is non-nil, send buffer
+contents in chunks via
+`flycheck--process-send-buffer-contents-chunked', which see.
+Otherwise use `process-send-region' to send all contents at once
+and rely on Emacs' own buffering and chunking."
+ (save-restriction
+ (widen)
+ (if flycheck-chunked-process-input
+ (flycheck--process-send-buffer-contents-chunked process)
+ (process-send-region process (point-min) (point-max))))
+ (process-send-eof process))
+
+(defun flycheck--wrap-command (prog args)
+ "Wrap PROG and ARGS using `flycheck-command-wrapper-function'."
+ ;; We don't call `flycheck-executable-find' on the output of the wrapper
+ ;; function, since it might not expect it (an executable-find function
+ ;; designed to find binaries in a sandbox could get confused if we asked it
+ ;; about the sandboxing program itself).
+ (funcall flycheck-command-wrapper-function (cons prog args)))
+
+(defun flycheck-start-command-checker (checker callback)
+ "Start a command CHECKER with CALLBACK."
+ (let (process)
+ (condition-case err
+ (let* ((program (flycheck-find-checker-executable checker))
+ (args (flycheck-checker-substituted-arguments checker))
+ (command (flycheck--wrap-command program args))
+ (sentinel-events nil)
+ ;; Use pipes to receive output from the syntax checker. They are
+ ;; more efficient and more robust than PTYs, which Emacs uses by
+ ;; default, and since we don't need any job control features, we
+ ;; can easily use pipes.
+ (process-connection-type nil))
+ ;; We pass do not associate the process with any buffer, by
+ ;; passing nil for the BUFFER argument of `start-process'.
+ ;; Instead, we just remember the buffer being checked in a
+ ;; process property (see below). This neatly avoids all
+ ;; side-effects implied by attached a process to a buffer, which
+ ;; may cause conflicts with other packages.
+ ;;
+ ;; See https://github.com/flycheck/flycheck/issues/298 for an
+ ;; example for such a conflict.
+ (setq process (apply 'start-process (format "flycheck-%s" checker)
+ nil command))
+ ;; Process sentinels can be called while sending input to the process.
+ ;; We want to record errors raised by process-send before calling
+ ;; `flycheck-handle-signal', so initially just accumulate events.
+ (setf (process-sentinel process)
+ (lambda (_ event) (push event sentinel-events)))
+ (setf (process-filter process) #'flycheck-receive-checker-output)
+ (set-process-query-on-exit-flag process nil)
+ ;; Remember the syntax checker, the buffer and the callback
+ (process-put process 'flycheck-checker checker)
+ (process-put process 'flycheck-callback callback)
+ (process-put process 'flycheck-buffer (current-buffer))
+ ;; The default directory is bound in the `flycheck-syntax-check-start'
+ ;; function.
+ (process-put process 'flycheck-working-directory default-directory)
+ ;; Track the temporaries created by argument substitution in the
+ ;; process itself, to get rid of the global state ASAP.
+ (process-put process 'flycheck-temporaries flycheck-temporaries)
+ (setq flycheck-temporaries nil)
+ ;; Send the buffer to the process on standard input, if enabled.
+ (when (flycheck-checker-get checker 'standard-input)
+ (condition-case err
+ (flycheck-process-send-buffer process)
+ ;; Some checkers exit before reading all input, causing errors
+ ;; such as a `file-error' for a closed pipe, or a plain “no longer
+ ;; connected to pipe; closed it” error for a disconnection. We
+ ;; report them if needed in `flycheck-finish-checker-process' (see
+ ;; `https://github.com/flycheck/flycheck/issues/1278').
+ (error (process-put process 'flycheck-error err))))
+ ;; Set the actual sentinel and process any events that might have
+ ;; happened while we were sending input.
+ (setf (process-sentinel process) #'flycheck-handle-signal)
+ (dolist (event (nreverse sentinel-events))
+ (flycheck-handle-signal process event))
+ ;; Return the process.
+ process)
+ (error
+ ;; In case of error, clean up our resources, and report the error back to
+ ;; Flycheck.
+ (flycheck-safe-delete-temporaries)
+ (when process
+ ;; No need to explicitly delete the temporary files of the process,
+ ;; because deleting runs the sentinel, which will delete them anyway.
+ (delete-process process))
+ (signal (car err) (cdr err))))))
+
+(defun flycheck-interrupt-command-checker (_checker process)
+ "Interrupt a PROCESS."
+ ;; Deleting the process always triggers the sentinel, which does the cleanup
+ (when process
+ (delete-process process)))
+
+(defun flycheck-command-checker-print-doc (checker)
+ "Print additional documentation for a command CHECKER."
+ (let ((executable (flycheck-checker-default-executable checker))
+ (config-file-var (flycheck-checker-get checker 'config-file-var))
+ (option-vars (seq-sort #'string<
+ (flycheck-checker-get checker 'option-vars))))
+ (princ "\n")
+
+ (let ((doc-start (with-current-buffer standard-output (point-max))))
+ ;; Track the start of our documentation so that we can re-indent it
+ ;; properly
+ (princ " This syntax checker executes \"")
+ (princ executable)
+ (princ "\"")
+ (when config-file-var
+ (princ ", using a configuration file from `")
+ (princ (symbol-name config-file-var))
+ (princ "'"))
+ (princ ". The executable can be overridden with `")
+ (princ (symbol-name (flycheck-checker-executable-variable checker)))
+ (princ "'.")
+
+ (with-current-buffer standard-output
+ (save-excursion
+ (fill-region-as-paragraph doc-start (point-max)))))
+ (princ "\n")
+ (when option-vars
+ (princ
+ "\n This syntax checker can be configured with these options:\n\n")
+ (dolist (var option-vars)
+ (princ (format " * `%s'\n" var))))))
+
+(defun flycheck-verify-command-checker (checker)
+ "Verify a command CHECKER in the current buffer.
+
+Return a list of `flycheck-verification-result' objects for
+CHECKER."
+ (let ((executable (flycheck-find-checker-executable checker))
+ (config-file-var (flycheck-checker-get checker 'config-file-var)))
+ `(
+ ,(flycheck-verification-result-new
+ :label "executable"
+ :message (if executable (format "Found at %s" executable) "Not found")
+ :face (if executable 'success '(bold error)))
+ ,@(when config-file-var
+ (let* ((value (symbol-value config-file-var))
+ (path (and value (flycheck-locate-config-file value checker))))
+ (list (flycheck-verification-result-new
+ :label "configuration file"
+ :message (if path (format "Found at %S" path) "Not found")
+ :face (if path 'success 'warning)))))
+ ,@(when (not (flycheck-temp-files-writable-p checker))
+ (list (flycheck-verification-result-new
+ :label "temp directory"
+ :message (format "%s is not writable"
+ (flycheck-temp-directory checker))
+ :face 'error))))))
+
+
+;;; Process management for command syntax checkers
+(defun flycheck-receive-checker-output (process output)
+ "Receive a syntax checking PROCESS OUTPUT."
+ (push output (process-get process 'flycheck-pending-output)))
+
+(defun flycheck-get-output (process)
+ "Get the complete output of PROCESS."
+ (with-demoted-errors "Error while retrieving process output: %S"
+ (let ((pending-output (process-get process 'flycheck-pending-output)))
+ (apply #'concat (nreverse pending-output)))))
+
+(defun flycheck-handle-signal (process _event)
+ "Handle a signal from the syntax checking PROCESS.
+
+_EVENT is ignored."
+ (when (memq (process-status process) '(signal exit))
+ (let ((files (process-get process 'flycheck-temporaries))
+ (buffer (process-get process 'flycheck-buffer))
+ (callback (process-get process 'flycheck-callback))
+ (cwd (process-get process 'flycheck-working-directory))
+ (err (process-get process 'flycheck-error)))
+ ;; Delete the temporary files
+ (seq-do #'flycheck-safe-delete files)
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (condition-case err
+ (pcase (process-status process)
+ (`signal
+ (funcall callback 'interrupted))
+ (`exit
+ (flycheck-finish-checker-process
+ (process-get process 'flycheck-checker)
+ (or err (process-exit-status process))
+ files
+ (flycheck-get-output process) callback cwd)))
+ ((debug error)
+ (funcall callback 'errored (error-message-string err)))))))))
+
+(defun flycheck-finish-checker-process
+ (checker exit-status files output callback cwd)
+ "Finish a checker process from CHECKER with EXIT-STATUS.
+
+EXIT-STATUS can be a number or an arbitrary form (if it is not 0,
+a `suspicious' status is reported to CALLBACK).
+
+FILES is a list of files given as input to the checker. OUTPUT
+is the output of the syntax checker. CALLBACK is the status
+callback to use for reporting.
+
+Parse the OUTPUT and report an appropriate error status.
+
+Resolve all errors in OUTPUT using CWD as working directory."
+ (let ((errors (flycheck-parse-output output checker (current-buffer))))
+ (when (and (not (equal exit-status 0)) (null errors))
+ ;; Warn about a suspicious result from the syntax checker. We do right
+ ;; after parsing the errors, before filtering, because a syntax checker
+ ;; might report errors from other files (e.g. includes) even if there
+ ;; are no errors in the file being checked.
+ (funcall callback 'suspicious
+ (format "Flycheck checker %S returned %S, but \
+its output contained no errors: %s\nTry installing a more \
+recent version of %S, and please open a bug report if the issue \
+persists in the latest release. Thanks!" checker exit-status
+output checker)))
+ (funcall callback 'finished
+ ;; Fix error file names, by substituting them backwards from the
+ ;; temporaries.
+ (seq-map (lambda (e) (flycheck-fix-error-filename e files cwd))
+ errors))))
+
+
+;;; Executables of command checkers.
+(defmacro flycheck-def-executable-var (checker default-executable)
+ "Define the executable variable for CHECKER.
+
+DEFAULT-EXECUTABLE is the default executable. It is only used in
+the docstring of the variable.
+
+The variable is defined with `defcustom' in the
+`flycheck-executables' group. It's also defined to be risky as
+file-local variable, to avoid arbitrary executables being used
+for syntax checking."
+ (let ((executable-var (flycheck-checker-executable-variable checker)))
+ `(progn
+ (defcustom ,executable-var nil
+ ,(format "The executable of the %s syntax checker.
+
+Either a string containing the name or the path of the
+executable, or nil to use the default executable from the syntax
+checker declaration.
+
+The default executable is %S." checker default-executable)
+ :type '(choice (const :tag "Default executable" nil)
+ (string :tag "Name or path"))
+ :group 'flycheck-executables
+ :risky t))))
+
+(defun flycheck-set-checker-executable (checker &optional executable)
+ "Set the executable of CHECKER in the current buffer.
+
+CHECKER is a syntax checker symbol. EXECUTABLE is a string with
+the name of an executable or the path to an executable file, which
+is to be used as executable for CHECKER. If omitted or nil,
+reset the executable of CHECKER.
+
+Interactively, prompt for a syntax checker and an executable
+file, and set the executable of the selected syntax checker.
+With prefix arg, prompt for a syntax checker only, and reset the
+executable of the select checker to the default.
+
+Set the executable variable of CHECKER, that is,
+`flycheck-CHECKER-executable' to EXECUTABLE. Signal
+`user-error', if EXECUTABLE does not denote a command or an
+executable file.
+
+This command is intended for interactive use only. In Lisp, just
+`let'-bind the corresponding variable, or set it directly. Use
+`flycheck-checker-executable-variable' to obtain the executable
+variable symbol for a syntax checker."
+ (declare (interactive-only "Set the executable variable directly instead"))
+ (interactive
+ (let* ((checker (flycheck-read-checker "Syntax checker: "))
+ (default-executable (flycheck-checker-default-executable checker))
+ (executable (if current-prefix-arg
+ nil
+ (read-file-name "Executable: " nil default-executable
+ nil nil flycheck-executable-find))))
+ (list checker executable)))
+ (when (and executable (not (funcall flycheck-executable-find executable)))
+ (user-error "%s is no executable" executable))
+ (let ((variable (flycheck-checker-executable-variable checker)))
+ (set (make-local-variable variable) executable)))
+
+
+;;; Configuration files and options for command checkers
+(defun flycheck-register-config-file-var (var checkers)
+ "Register VAR as config file var for CHECKERS.
+
+CHECKERS is a single syntax checker or a list thereof."
+ (when (symbolp checkers)
+ (setq checkers (list checkers)))
+ (dolist (checker checkers)
+ (setf (flycheck-checker-get checker 'config-file-var) var)))
+
+;;;###autoload
+(defmacro flycheck-def-config-file-var (symbol checker &optional file-name
+ &rest custom-args)
+ "Define SYMBOL as config file variable for CHECKER, with default FILE-NAME.
+
+SYMBOL is declared as customizable variable using `defcustom', to
+provide configuration files for the given syntax CHECKER.
+CUSTOM-ARGS are forwarded to `defcustom'.
+
+FILE-NAME is the initial value of the new variable. If omitted,
+the default value is nil. It can be either a string or a list of
+strings.
+
+Use this together with the `config-file' form in the `:command'
+argument to `flycheck-define-checker'."
+ (declare (indent 3))
+ `(progn
+ (defcustom ,symbol ,file-name
+ ,(format "Configuration file for `%s'.
+
+If set to a string, locate the configuration file using the
+functions from `flycheck-locate-config-file-functions'. If the
+file is found pass it to the syntax checker as configuration
+file.
+
+If no configuration file is found, or if this variable is set to
+nil, invoke the syntax checker without a configuration file.
+
+Use this variable as file-local variable if you need a specific
+configuration file for a buffer." checker)
+ :type '(choice (const :tag "No configuration file" nil)
+ (string :tag "File name or path")
+ (repeat :tag "File names or paths" string))
+ :safe #'flycheck-string-or-string-list-p
+ :group 'flycheck-config-files
+ ,@custom-args)
+ (flycheck-register-config-file-var ',symbol ',checker)))
+
+(defun flycheck-locate-config-file (filenames checker)
+ "Locate the configuration file for CHECKER, based on FILENAMES.
+
+FILENAMES can be either a single file, or a list. Each filename
+is passed to all `flycheck-locate-config-file-functions', until
+one returns non-nil.
+
+Return the absolute path of the configuration file, or nil if no
+configuration file was found."
+ (when (stringp filenames)
+ (setq filenames (list filenames)))
+ (let ((config-file nil))
+ (while (and filenames (null config-file))
+ (setq config-file (run-hook-with-args-until-success
+ 'flycheck-locate-config-file-functions
+ (pop filenames) checker)))
+ (when (and config-file (file-exists-p config-file))
+ config-file)))
+
+(defun flycheck-locate-config-file-by-path (filepath _checker)
+ "Locate a configuration file by a FILEPATH.
+
+If FILEPATH is a contains a path separator, expand it against the
+default directory and return it if it points to an existing file.
+Otherwise return nil.
+
+_CHECKER is ignored."
+ ;; If the path is just a plain file name, skip it.
+ (unless (string= (file-name-nondirectory filepath) filepath)
+ (let ((file-name (expand-file-name filepath)))
+ (and (file-exists-p file-name) file-name))))
+
+(defun flycheck-locate-config-file-ancestor-directories (filename _checker)
+ "Locate a configuration FILENAME in ancestor directories.
+
+If the current buffer has a file name, search FILENAME in the
+directory of the current buffer and all ancestors thereof (see
+`locate-dominating-file'). If the file is found, return its
+absolute path. Otherwise return nil.
+
+_CHECKER is ignored."
+ (-when-let* ((basefile (buffer-file-name))
+ (directory (locate-dominating-file basefile filename)))
+ (expand-file-name filename directory)))
+
+(defun flycheck-locate-config-file-home (filename _checker)
+ "Locate a configuration FILENAME in the home directory.
+
+Return the absolute path, if FILENAME exists in the user's home
+directory, or nil otherwise."
+ (let ((path (expand-file-name filename "~")))
+ (when (file-exists-p path)
+ path)))
+
+(seq-do (apply-partially #'custom-add-frequent-value
+ 'flycheck-locate-config-file-functions)
+ '(flycheck-locate-config-file-by-path
+ flycheck-locate-config-file-ancestor-directories
+ flycheck-locate-config-file-home))
+
+(defun flycheck-register-option-var (var checkers)
+ "Register an option VAR with CHECKERS.
+
+VAR is an option symbol, and CHECKERS a syntax checker symbol or
+a list thereof. Register VAR with all CHECKERS so that it
+appears in the help output."
+ (when (symbolp checkers)
+ (setq checkers (list checkers)))
+ (dolist (checker checkers)
+ (cl-pushnew var (flycheck-checker-get checker 'option-vars))))
+
+;;;###autoload
+(defmacro flycheck-def-option-var (symbol init-value checkers docstring
+ &rest custom-args)
+ "Define SYMBOL as option variable with INIT-VALUE for CHECKER.
+
+SYMBOL is declared as customizable variable using `defcustom', to
+provide an option for the given syntax CHECKERS (a checker or a
+list of checkers). INIT-VALUE is the initial value of the
+variable, and DOCSTRING is its docstring. CUSTOM-ARGS are
+forwarded to `defcustom'.
+
+Use this together with the `option', `option-list' and
+`option-flag' forms in the `:command' argument to
+`flycheck-define-checker'."
+ (declare (indent 3)
+ (doc-string 4))
+ `(progn
+ (defcustom ,symbol ,init-value
+ ,(concat docstring "
+
+This variable is an option for the following syntax checkers:
+
+"
+ (mapconcat (lambda (c) (format " - `%s'" c))
+ (if (symbolp checkers) (list checkers) checkers)
+ "\n"))
+ :group 'flycheck-options
+ ,@custom-args)
+ (flycheck-register-option-var ',symbol ',checkers)))
+
+(defun flycheck-option-int (value)
+ "Convert an integral option VALUE to a string.
+
+If VALUE is nil, return nil. Otherwise return VALUE converted to
+a string."
+ (and value (number-to-string value)))
+
+(defun flycheck-option-symbol (value)
+ "Convert a symbol option VALUE to string.
+
+If VALUE is nil return nil. Otherwise return VALUE converted to
+a string."
+ (and value (symbol-name value)))
+
+(defun flycheck-option-comma-separated-list (value &optional separator filter)
+ "Convert VALUE into a list separated by SEPARATOR.
+
+SEPARATOR is a string to separate items in VALUE, defaulting to
+\",\". FILTER is an optional function, which takes a single
+argument and returns either a string or nil.
+
+If VALUE is a list, apply FILTER to each item in VALUE, remove
+all nil items, and return a single string of all remaining items
+separated by SEPARATOR.
+
+Otherwise, apply FILTER to VALUE and return the result.
+SEPARATOR is ignored in this case."
+ (let ((filter (or filter #'identity))
+ (separator (or separator ",")))
+ (if (listp value)
+ (-when-let (value (delq nil (seq-map filter value)))
+ (string-join value separator))
+ (funcall filter value))))
+
+(defmacro flycheck-def-args-var (symbol checkers &rest custom-args)
+ "Define SYMBOL as argument variable for CHECKERS.
+
+SYMBOL is declared as customizable, risky and buffer-local
+variable using `defcustom' to provide an option for arbitrary
+arguments for the given syntax CHECKERS (either a single checker
+or a list of checkers). CUSTOM-ARGS is forwarded to `defcustom'.
+
+Use the `eval' form to splice this variable into the
+`:command'."
+ (declare (indent 2))
+ `(flycheck-def-option-var ,symbol nil ,checkers
+ "A list of additional command line arguments.
+
+The value of this variable is a list of strings with additional
+command line arguments."
+ :risky t
+ :type '(repeat (string :tag "Argument"))
+ ,@custom-args))
+
+
+;;; Command syntax checkers as compile commands
+(defun flycheck-checker-pattern-to-error-regexp (pattern)
+ "Convert PATTERN into an error regexp for compile.el.
+
+Return a list representing PATTERN, suitable as element in
+`compilation-error-regexp-alist'."
+ (let* ((regexp (car pattern))
+ (level (cdr pattern))
+ (level-no (flycheck-error-level-compilation-level level)))
+ `(,regexp 1 (2 . 6) (3 . 7) ,level-no)))
+
+(defun flycheck-checker-compilation-error-regexp-alist (checker)
+ "Convert error patterns of CHECKER for use with compile.el.
+
+Return an alist of all error patterns of CHECKER, suitable for
+use with `compilation-error-regexp-alist'."
+ (seq-map #'flycheck-checker-pattern-to-error-regexp
+ (flycheck-checker-get checker 'error-patterns)))
+
+(defun flycheck--substitute-shell-command-argument (arg checker)
+ "Substitute ARG for CHECKER.
+
+Like `flycheck-substitute-argument', except for source,
+source-inplace, and source-original."
+ (if (memq arg '(source source-inplace source-original))
+ (list buffer-file-name)
+ (flycheck-substitute-argument arg checker)))
+
+(defun flycheck--checker-substituted-shell-command-arguments (checker)
+ "Get the substituted arguments of a CHECKER to run as a shell command.
+
+Substitute each argument of CHECKER using
+`flycheck-substitute-shell-command-argument'."
+ (apply #'append
+ (seq-map (lambda (arg)
+ (flycheck--substitute-shell-command-argument arg checker))
+ (flycheck-checker-arguments checker))))
+
+(defun flycheck-checker-shell-command (checker)
+ "Get a shell command for CHECKER.
+
+Perform substitution in the arguments of CHECKER, but with
+`flycheck--substitute-shell-command-argument'.
+
+Return the command of CHECKER as single string, suitable for
+shell execution."
+ ;; Note: Do NOT use `combine-and-quote-strings' here. Despite it's name it
+ ;; does not properly quote shell arguments, and actually breaks for special
+ ;; characters. See https://github.com/flycheck/flycheck/pull/522
+ (let* ((args (flycheck--checker-substituted-shell-command-arguments checker))
+ (program
+ (or (flycheck-find-checker-executable checker)
+ (user-error "Cannot find `%s' using `flycheck-executable-find'"
+ (flycheck-checker-executable checker))))
+ (wrapped (flycheck--wrap-command program args))
+ (abs-prog
+ ;; The executable path returned by `flycheck-command-wrapper-function'
+ ;; may not be absolute, so expand it here. See URL
+ ;; `https://github.com/flycheck/flycheck/issues/1461'.
+ (or (executable-find (car wrapped))
+ (user-error "Cannot find `%s' using `executable-find'"
+ (car wrapped))))
+ (command (mapconcat #'shell-quote-argument
+ (cons abs-prog (cdr wrapped)) " ")))
+ (if (flycheck-checker-get checker 'standard-input)
+ ;; If the syntax checker expects the source from standard input add an
+ ;; appropriate shell redirection
+ (concat command " < " (shell-quote-argument (buffer-file-name)))
+ command)))
+
+(defun flycheck-compile-name (_name)
+ "Get a name for a Flycheck compilation buffer.
+
+_NAME is ignored."
+ (format "*Flycheck %s*" (buffer-file-name)))
+
+(defun flycheck-compile (checker)
+ "Run CHECKER via `compile'.
+
+CHECKER must be a valid syntax checker. Interactively, prompt
+for a syntax checker to run.
+
+Instead of highlighting errors in the buffer, this command pops
+up a separate buffer with the entire output of the syntax checker
+tool, just like `compile' (\\[compile])."
+ (interactive
+ (let ((default (flycheck-get-checker-for-buffer)))
+ (list (flycheck-read-checker "Run syntax checker as compile command: "
+ (when (flycheck-checker-get default 'command)
+ default)
+ 'command))))
+ (unless (flycheck-valid-checker-p checker)
+ (user-error "%S is not a valid syntax checker" checker))
+ (unless (buffer-file-name)
+ (user-error "Cannot compile a buffer without a backing file"))
+ (unless (flycheck-may-use-checker checker)
+ (user-error "Cannot use syntax checker %S in this buffer" checker))
+ (unless (flycheck-checker-executable checker)
+ (user-error "Cannot run checker %S as shell command" checker))
+ (save-some-buffers)
+ (let* ((default-directory (flycheck-compute-working-directory checker))
+ (command (flycheck-checker-shell-command checker))
+ (buffer (compilation-start command nil #'flycheck-compile-name)))
+ (with-current-buffer buffer
+ (setq-local compilation-error-regexp-alist
+ (flycheck-checker-compilation-error-regexp-alist checker)))))
+
+
+;;; General error parsing for command checkers
+(defun flycheck-parse-output (output checker buffer)
+ "Parse OUTPUT from CHECKER in BUFFER.
+
+OUTPUT is a string with the output from the checker symbol
+CHECKER. BUFFER is the buffer which was checked.
+
+Return the errors parsed with the error patterns of CHECKER."
+ (funcall (flycheck-checker-get checker 'error-parser) output checker buffer))
+
+(defun flycheck-fix-error-filename (err buffer-files cwd)
+ "Fix the file name of ERR from BUFFER-FILES.
+
+Resolves error file names relative to CWD directory.
+
+Make the file name of ERR absolute. If the absolute file name of
+ERR is in BUFFER-FILES, replace it with the value of variable
+`buffer-file-name'."
+ (flycheck-error-with-buffer err
+ (-when-let (filename (flycheck-error-filename err))
+ (when (seq-some (apply-partially #'flycheck-same-files-p
+ (expand-file-name filename cwd))
+ buffer-files)
+ (setf (flycheck-error-filename err) buffer-file-name)
+ (when (and buffer-file-name (flycheck-error-message err))
+ (setf (flycheck-error-message err)
+ (replace-regexp-in-string
+ (regexp-quote filename) buffer-file-name
+ (flycheck-error-message err) 'fixed-case 'literal))))))
+ err)
+
+
+;;; Error parsers for command syntax checkers
+(defun flycheck-parse-xml-region (beg end)
+ "Parse the xml region between BEG and END.
+
+Wrapper around `xml-parse-region' which transforms the return
+value of this function into one compatible to
+`libxml-parse-xml-region' by simply returning the first element
+from the node list."
+ (ignore-errors (car (xml-parse-region beg end))))
+
+(defun flycheck-parse-xml-region-with-fallback (beg end)
+ "Parse the xml region between BEG and END.
+
+Try parsing with libxml first; if that fails, revert to
+`flycheck-parse-xml-region'. Failures can be caused by incorrect
+XML (see URL `https://github.com/flycheck/flycheck/issues/1298'),
+or on Windows by a missing libxml DLL with a libxml-enabled Emacs
+\(see URL `https://github.com/flycheck/flycheck/issues/1330')."
+ ;; FIXME use `libxml-available-p' when it gets implemented.
+ (or (and (fboundp 'libxml-parse-xml-region)
+ (libxml-parse-xml-region beg end))
+ (flycheck-parse-xml-region beg end)))
+
+(defvar flycheck-xml-parser 'flycheck-parse-xml-region-with-fallback
+ "Function used to parse an xml string from a region.
+
+The default uses libxml if available, and falls back to
+`flycheck-parse-xml-region' otherwise.")
+
+(defun flycheck-parse-xml-string (xml)
+ "Parse an XML string.
+
+Return the document tree parsed from XML in the form `(ROOT ATTRS
+BODY...)'. ROOT is a symbol identifying the name of the root
+element. ATTRS is an alist of the attributes of the root node.
+BODY is zero or more body elements, either as strings (in case of
+text nodes) or as XML nodes, in the same for as the root node."
+ (with-temp-buffer
+ (insert xml)
+ (funcall flycheck-xml-parser (point-min) (point-max))))
+
+(defun flycheck-parse-checkstyle (output checker buffer)
+ "Parse Checkstyle errors from OUTPUT.
+
+Parse Checkstyle-like XML output. Use this error parser for
+checkers that have an option to output errors in this format.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `http://checkstyle.sourceforge.net/' for information
+about Checkstyle."
+ (pcase (flycheck-parse-xml-string output)
+ (`(checkstyle ,_ . ,file-nodes)
+ (let (errors)
+ (dolist (node file-nodes)
+ (pcase node
+ (`(file ,file-attrs . ,error-nodes)
+ (dolist (node error-nodes)
+ (pcase node
+ (`(error ,error-attrs . ,_)
+ (let-alist error-attrs
+ (push (flycheck-error-new-at
+ (flycheck-string-to-number-safe .line)
+ (flycheck-string-to-number-safe .column)
+ (pcase .severity
+ (`"error" 'error)
+ (`"warning" 'warning)
+ (`"info" 'info)
+ ;; Default to error for unknown .severity
+ (_ 'error))
+ .message
+ :checker checker :id .source
+ :buffer buffer
+ :filename (cdr (assq 'name file-attrs)))
+ errors))))))))
+ (nreverse errors)))))
+
+(defun flycheck-parse-cppcheck (output checker buffer)
+ "Parse Cppcheck errors from OUTPUT.
+
+Parse Cppcheck XML v2 output.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `http://cppcheck.sourceforge.net/' for more information
+about Cppcheck."
+ (pcase (flycheck-parse-xml-string output)
+ (`(results ,_ . ,body)
+ (let (errors)
+ (dolist (node body)
+ (pcase node
+ (`(errors ,_ . ,error-nodes)
+ (dolist (node error-nodes)
+ (pcase node
+ (`(error ,error-attrs . ,loc-nodes)
+ (let ((id (cdr (assq 'id error-attrs)))
+ (message (cdr (assq 'verbose error-attrs)))
+ (level (pcase (cdr (assq 'severity error-attrs))
+ (`"error" 'error)
+ (`"style" 'info)
+ (`"information" 'info)
+ (_ 'warning))))
+ (dolist (node loc-nodes)
+ (pcase node
+ (`(location ,loc-attrs . ,_)
+ (let-alist loc-attrs
+ (push (flycheck-error-new-at
+ (flycheck-string-to-number-safe .line)
+ nil
+ level
+ ;; cppcheck return newline characters as "\012"
+ (replace-regexp-in-string "\\\\012" "\n"
+ message)
+ :id id
+ :checker checker
+ :buffer buffer
+ :filename .file)
+ errors))))))))))))
+ (nreverse errors)))))
+
+(defun flycheck-parse-phpmd (output checker buffer)
+ "Parse phpmd errors from OUTPUT.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `http://phpmd.org/' for more information about phpmd."
+ (pcase (flycheck-parse-xml-string output)
+ (`(pmd ,_ . ,body)
+ (let (errors)
+ (dolist (node body)
+ (pcase node
+ (`(file ,file-attrs . ,violation-nodes)
+ (let ((filename (cdr (assq 'name file-attrs))))
+ (dolist (node violation-nodes)
+ (pcase node
+ (`(violation ,vio-attrs ,(and message (pred stringp)))
+ (let-alist vio-attrs
+ (push
+ (flycheck-error-new-at
+ (flycheck-string-to-number-safe .beginline)
+ nil
+ 'warning (string-trim message)
+ ;; Ignore .endline (phpmd marks giant spans as errors)
+ ;; :end-line (flycheck-string-to-number-safe .endline)
+ :id .rule
+ :checker checker
+ :buffer buffer
+ :filename filename)
+ errors)))))))))
+ (nreverse errors)))))
+
+(defun flycheck-parse-reek (output checker buffer)
+ "Parse Reek warnings from JSON OUTPUT.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://github.com/troessner/reek' for more information
+about Reek."
+ (let ((errors nil))
+ (dolist (message (car (flycheck-parse-json output)))
+ (let-alist message
+ (dolist (line (delete-dups .lines))
+ (push
+ (flycheck-error-new-at
+ line
+ nil
+ 'warning (concat .context " " .message)
+ :id .smell_type
+ :checker checker
+ :buffer buffer
+ :filename .source)
+ errors))))
+ (nreverse errors)))
+
+(defun flycheck-parse-go-staticcheck (output checker buffer)
+ "Parse staticheck warnings from JSON OUTPUT.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://staticcheck.io/docs/formatters' for more
+information about staticheck."
+ (let ((errors nil))
+ (dolist (msg (flycheck-parse-json output))
+ (let-alist msg
+ (push
+ (flycheck-error-new-at
+ .location.line
+ .location.column
+ (pcase .severity
+ (`"error" 'error)
+ (`"warning" 'warning)
+ (`"ignored" 'info)
+ ;; Default to warning for unknown .severity
+ (_ 'warning))
+ .message
+ :id .code
+ :checker checker
+ :buffer buffer
+ :filename .location.file)
+ errors)))
+ (nreverse errors)))
+
+(defun flycheck-parse-tslint (output checker buffer)
+ "Parse TSLint errors from JSON OUTPUT.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://palantir.github.io/tslint/' for more information
+about TSLint."
+ (seq-map (lambda (message)
+ (let-alist message
+ (flycheck-error-new-at
+ (+ 1 .startPosition.line)
+ (+ 1 .startPosition.character)
+ (pcase .ruleSeverity
+ ("ERROR" 'error)
+ ("WARNING" 'warning)
+ (_ 'warning))
+ .failure
+ :id .ruleName
+ :checker checker
+ :buffer buffer
+ :filename .name
+ :end-line (+ 1 .endPosition.line)
+ :end-column (+ 1 .endPosition.character))))
+ (car (flycheck-parse-json output))))
+
+(defun flycheck-parse-rust-collect-spans (span)
+ "Return a list of spans contained in a SPAN object."
+ (let ((spans))
+ (let-alist span
+ ;; With macro expansion errors, some spans will point to phony file names
+ ;; to indicate an error inside the std rust lib. We skip these spans as
+ ;; they won't appear in flycheck anyway.
+ (unless (string= .file_name "<std macros>")
+ (push span spans))
+
+ ;; Macro expansion errors will have a span in the 'expansion' field, so we
+ ;; recursively collect it.
+ (if .expansion.span
+ (append (flycheck-parse-rust-collect-spans .expansion.span)
+ spans)
+ spans))))
+
+(defun flycheck-parse-rustc-diagnostic (diagnostic checker buffer)
+ "Turn a rustc DIAGNOSTIC into a `flycheck-error'.
+
+CHECKER and BUFFER denote the CHECKER that returned DIAGNOSTIC
+and the BUFFER that was checked respectively.
+
+DIAGNOSTIC should be a parsed JSON object describing a rustc
+diagnostic, following the format described there:
+
+https://github.com/rust-lang/rust/blob/master/src/librustc_errors/json.rs#L154"
+ (let ((error-message)
+ (error-level)
+ (error-code)
+ (primary-filename)
+ (primary-line)
+ (primary-column)
+ (primary-end-line)
+ (primary-end-column)
+ (group (make-symbol "group"))
+ (spans)
+ (children)
+ (errors))
+ ;; The diagnostic format is described in the link above. The gist of it is
+ ;; that a diagnostic can have several causes in the source text; these
+ ;; causes are represented by spans. The diagnostic has a message and a
+ ;; level (error, warning), while the spans have a filename, line, column,
+ ;; and an optional label. The primary span points to the root cause of the
+ ;; error in the source text, while non-primary spans point to related
+ ;; causes. Spans may have an 'expansion' field for macro expansion errors;
+ ;; these expansion fields will contain another span (and so on). In
+ ;; addition, a diagnostic can also have children diagnostics that are used
+ ;; to provide additional information through their message field, but do not
+ ;; seem to contain any spans (yet).
+ ;;
+ ;; We first gather spans in order to turn every span into a flycheck error
+ ;; object, that we collect into the `errors' list.
+
+ ;; Nested `let-alist' cause compilation warnings, hence we `setq' all
+ ;; these values here first to avoid nesting.
+ (let-alist diagnostic
+ (setq error-message .message
+ error-level (pcase .level
+ (`"error" 'error)
+ (`"warning" 'warning)
+ (`"note" 'info)
+ (_ 'error))
+ ;; The 'code' field of the diagnostic contains the actual error
+ ;; code and an optional explanation that we ignore
+ error-code .code.code
+ ;; Collect all spans recursively
+ spans (seq-mapcat #'flycheck-parse-rust-collect-spans .spans)
+ children .children))
+
+ ;; Turn each span into a flycheck error
+ (dolist (span spans)
+ (let-alist span
+ ;; Children may not have filename/line/column information, so we use
+ ;; those from the primary span
+ (when .is_primary
+ (setq primary-filename .file_name
+ primary-line .line_start
+ primary-column .column_start
+ primary-end-line .line_end
+ primary-end-column .column_end))
+ (push
+ (flycheck-error-new-at
+ .line_start
+ .column_start
+ ;; Non-primary spans are used for notes
+ (if .is_primary error-level 'info)
+ (if .is_primary
+ ;; Primary spans may have labels with additional information
+ (concat error-message (when .label
+ (format " (%s)" .label)))
+ ;; If the label is empty, fallback on the error message,
+ ;; otherwise we won't be able to display anything
+ (or .label error-message))
+ :id error-code
+ :checker checker
+ :buffer buffer
+ :filename .file_name
+ :group group
+ :end-line .line_end
+ :end-column .column_end)
+ errors)))
+
+ ;; Then we turn children messages into flycheck errors pointing to the
+ ;; location of the primary span.
+ (dolist (child children)
+ (let ((message (let-alist child .message)))
+ (let-alist (car (let-alist child .spans))
+ (push
+ (flycheck-error-new-at
+ ;; Use the line/column from the first span if there is one, or
+ ;; fallback to the line/column information from the primary span of
+ ;; the diagnostic.
+ (or .line_start primary-line)
+ (or .column_start primary-column)
+ 'info
+ ;; Messages from `cargo clippy' may suggest replacement code. In
+ ;; these cases, the `message' field itself is an unhelpful `try' or
+ ;; `change this to'. We add the `suggested_replacement' field in
+ ;; these cases.
+ (if .suggested_replacement
+ (format "%s: `%s`" message .suggested_replacement)
+ message)
+ :id error-code
+ :checker checker
+ :buffer buffer
+ :filename primary-filename
+ :group group
+ :end-line (or .line_end primary-end-line)
+ :end-column (or .column_end primary-end-column))
+ errors))))
+
+ ;; If there are no spans, the error is not associated with a specific
+ ;; file but with the project as a whole. We still need to report it to
+ ;; the user by emitting a corresponding flycheck-error object.
+ (unless spans
+ (push (flycheck-error-new-at
+ ;; We have no specific position to attach the error to, so
+ ;; let's use the top of the file.
+ 1 1
+ error-level
+ error-message
+ :id error-code
+ :checker checker
+ :buffer buffer
+ :group group)
+ errors))
+ (nreverse errors)))
+
+(defconst flycheck--json-parser
+ (if (and (functionp 'json-parse-buffer)
+ ;; json-parse-buffer only supports keyword arguments in Emacs 27+
+ (>= emacs-major-version 27))
+ (lambda ()
+ (json-parse-buffer
+ :object-type 'alist :array-type 'list
+ :null-object nil :false-object nil))
+ #'json-read)
+ "Function to use to parse JSON strings.")
+
+(defun flycheck-parse-json (output)
+ "Return parsed JSON data from OUTPUT.
+
+OUTPUT is a string that contains JSON data. Each line of OUTPUT
+may be either plain text, a JSON array (starting with `['), or a
+JSON object (starting with `{').
+
+This function ignores the plain text lines, parses the JSON
+lines, and returns the parsed JSON lines in a list."
+ (let ((objects nil)
+ (json-array-type 'list)
+ (json-false nil))
+ (with-temp-buffer
+ (insert output)
+ (goto-char (point-min))
+ (while (not (eobp))
+ (when (memq (char-after) '(?\{ ?\[))
+ (push (funcall flycheck--json-parser) objects))
+ (forward-line)))
+ (nreverse objects)))
+
+(defun flycheck-parse-rustc (output checker buffer)
+ "Parse rustc errors from OUTPUT and return a list of `flycheck-error'.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+The expected format for OUTPUT is a mix of plain text lines and
+JSON lines. This function ignores the plain text lines and
+parses only JSON lines. Each JSON line is expected to be a JSON
+object that corresponds to a diagnostic from the compiler. The
+expected diagnostic format is described there:
+
+https://github.com/rust-lang/rust/blob/master/src/libsyntax/json.rs#L67-L139"
+ (seq-mapcat (lambda (msg)
+ (flycheck-parse-rustc-diagnostic msg checker buffer))
+ (flycheck-parse-json output)))
+
+(defun flycheck-parse-cargo-rustc (output checker buffer)
+ "Parse Cargo errors from OUTPUT and return a list of `flycheck-error'.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+The expected format for OUTPUT is a mix of plain text lines and
+JSON lines. This function ignores the plain text lines and
+parses only JSON lines. Each JSON line is expected to be a JSON
+object that represents a message from Cargo. The format of
+messages emitted by Cargo is described in cargo's
+machine_message.rs at URL `https://git.io/vh24R'."
+ (let ((errors))
+ (dolist (msg (flycheck-parse-json output))
+ (let-alist msg
+ ;; Errors and warnings from rustc are wrapped by cargo, so we filter and
+ ;; unwrap them, and delegate the actual construction of `flycheck-error'
+ ;; objects to `flycheck-parse-rustc-diagnostic'.
+ (when (string= .reason "compiler-message")
+ (push (flycheck-parse-rustc-diagnostic .message checker buffer)
+ errors))))
+ (apply #'nconc errors)))
+
+;; Some checkers output ANSI terminal colors, which don't match up
+;; with :error-patterns, so we strip those color codes from the output
+;; here before passing it along to the default behavior. This is
+;; originally only used in the rebar3 checker, but the systemd checker
+;; now also makes use of it.
+;;
+;; The relevant discussion can be found at
+;; https://github.com/flycheck/flycheck/pull/1144
+(defun flycheck-parse-with-patterns-without-color (output checker buffer)
+ "Strip color codes from OUTPUT before passing it to the default behavior.
+
+CHECKER and BUFFER are passed along as well."
+ (flycheck-parse-with-patterns
+ (and (fboundp 'ansi-color-filter-apply) (ansi-color-filter-apply output))
+ checker buffer))
+
+
+;;; Error parsing with regular expressions
+(defun flycheck-get-regexp (patterns)
+ "Create a single regular expression from PATTERNS."
+ (rx-to-string `(or ,@(seq-map (lambda (p) (list 'regexp (car p))) patterns))
+ 'no-group))
+
+(defun flycheck-tokenize-output-with-patterns (output patterns)
+ "Tokenize OUTPUT with PATTERNS.
+
+Split the output into error tokens, using all regular expressions
+from the error PATTERNS. An error token is simply a string
+containing a single error from OUTPUT. Such a token can then be
+parsed into a structured error by applying the PATTERNS again,
+see `flycheck-parse-errors-with-patterns'.
+
+Return a list of error tokens."
+ (let ((regexp (flycheck-get-regexp patterns))
+ (last-match 0)
+ errors)
+ (while (string-match regexp output last-match)
+ (push (match-string 0 output) errors)
+ (setq last-match (match-end 0)))
+ (reverse errors)))
+
+(defun flycheck-try-parse-error-with-pattern (err pattern checker)
+ "Try to parse a single ERR with a PATTERN for CHECKER.
+
+Return the parsed error if PATTERN matched ERR, or nil
+otherwise.
+
+`end-line' defaults to the value of `line' when `end-column' is
+set, since checkers often omit redundant end lines (as in
+<file>:<line>:<column>-<end-column>)."
+ (let ((regexp (car pattern))
+ (level (cdr pattern)))
+ (when (string-match regexp err)
+ (let ((filename (match-string 1 err))
+ (line (flycheck-string-to-number-safe (match-string 2 err)))
+ (column (flycheck-string-to-number-safe (match-string 3 err)))
+ (message (match-string 4 err))
+ (id (match-string 5 err))
+ (end-line (flycheck-string-to-number-safe (match-string 6 err)))
+ (end-column (flycheck-string-to-number-safe (match-string 7 err))))
+ (flycheck-error-new-at
+ line
+ column
+ level
+ (unless (string-empty-p message) message)
+ :id (unless (string-empty-p id) id)
+ :checker checker
+ :filename (if (or (null filename) (string-empty-p filename))
+ (buffer-file-name)
+ filename)
+ :end-line (or end-line (and end-column line))
+ :end-column end-column)))))
+
+(defun flycheck-parse-error-with-patterns (err patterns checker)
+ "Parse a single ERR with error PATTERNS for CHECKER.
+
+Apply each pattern in PATTERNS to ERR, in the given order, and
+return the first parsed error."
+ ;; Try to parse patterns in the order of declaration to make sure that the
+ ;; first match wins.
+ (let (parsed-error)
+ (while (and patterns
+ (not (setq parsed-error
+ (flycheck-try-parse-error-with-pattern
+ err (car patterns) checker))))
+ (setq patterns (cdr patterns)))
+ parsed-error))
+
+(defun flycheck-parse-with-patterns (output checker buffer)
+ "Parse OUTPUT from CHECKER with error patterns.
+
+Uses the error patterns of CHECKER to tokenize the output and
+tries to parse each error token with all patterns, in the order
+of declaration. Hence an error is never matched twice by two
+different patterns. The pattern declared first always wins.
+
+_BUFFER is ignored.
+
+Return a list of parsed errors and warnings (as `flycheck-error'
+objects)."
+ (with-current-buffer buffer
+ (let ((patterns (flycheck-checker-get checker 'error-patterns)))
+ (seq-map (lambda (err)
+ (flycheck-parse-error-with-patterns err patterns checker))
+ (flycheck-tokenize-output-with-patterns output patterns)))))
+
+
+;;; Convenience definition of command-syntax checkers
+
+;; This macro is autoloaded to prevent `with-eval-after-load' from expanding its
+;; arguments. See https://github.com/flycheck/flycheck/issues/1398.
+;;;###autoload
+(defmacro flycheck-define-checker (symbol docstring &rest properties)
+ "Define SYMBOL as command syntax checker with DOCSTRING and PROPERTIES.
+
+Like `flycheck-define-command-checker', but PROPERTIES must not
+be quoted. Also, implicitly define the executable variable for
+SYMBOL with `flycheck-def-executable-var'."
+ (declare (indent 1)
+ (doc-string 2))
+ (let ((command (plist-get properties :command))
+ (parser (plist-get properties :error-parser))
+ (filter (plist-get properties :error-filter))
+ (explainer (plist-get properties :error-explainer))
+ (predicate (plist-get properties :predicate))
+ (enabled-fn (plist-get properties :enabled))
+ (verify-fn (plist-get properties :verify)))
+
+ `(progn
+ (flycheck-def-executable-var ,symbol ,(car command))
+
+ (flycheck-define-command-checker ',symbol
+ ,docstring
+ :command ',command
+ ,@(when parser
+ `(:error-parser #',parser))
+ :error-patterns ',(plist-get properties :error-patterns)
+ ,@(when filter
+ `(:error-filter #',filter))
+ ,@(when explainer
+ `(:error-explainer #',explainer))
+ :modes ',(plist-get properties :modes)
+ ,@(when predicate
+ `(:predicate #',predicate))
+ :next-checkers ',(plist-get properties :next-checkers)
+ ,@(when enabled-fn
+ `(:enabled #',enabled-fn))
+ ,@(when verify-fn
+ `(:verify #',verify-fn))
+ :standard-input ',(plist-get properties :standard-input)
+ :working-directory ',(plist-get properties :working-directory)))))
+
+
+;;; Built-in checkers
+(flycheck-def-args-var flycheck-gnat-args ada-gnat
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gnat-include-path nil ada-gnat
+ "A list of include directories for GNAT.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of gcc.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gnat-language-standard "2012" ada-gnat
+ "The language standard to use in GNAT.
+
+The value of this variable is either a string denoting a language
+standard, or nil, to use the default standard. When non-nil, pass
+the language standard via the `-std' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gnat-warnings
+ '("wa") ada-gnat
+ "A list of additional Ada warnings to enable in GNAT.
+
+The value of this variable is a list of strings, where each
+string is the name of a warning category to enable. By default,
+most optional warnings are recommended, as in `-gnata'.
+
+Refer to Info Node `(gnat_ugn_unw)Warning Message Control' for
+more information about GNAT warnings."
+ :type '(repeat :tag "Warnings" (string :tag "Warning name"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-define-checker ada-gnat
+ "An Ada syntax checker using GNAT.
+
+Uses the GNAT compiler from GCC. See URL
+`https://www.adacore.com/community/'."
+ :command ("gnatmake"
+ "-c" ; Just compile, don't bind
+ "-f" ; Force re-compilation
+ "-u" ; Compile the main file only
+ "-gnatf" ; Full error information
+ "-gnatef" ; Full source file name
+ "-D" temporary-directory
+ (option-list "-gnat" flycheck-gnat-warnings concat)
+ (option-list "-I" flycheck-gnat-include-path concat)
+ (option "-gnat" flycheck-gnat-language-standard concat)
+ (eval flycheck-gnat-args)
+ source)
+ :error-patterns
+ ((error line-start
+ (message "In file included from") " " (file-name) ":" line ":"
+ column ":"
+ line-end)
+ (info line-start (file-name) ":" line ":" column
+ ": note: " (message) line-end)
+ (warning line-start (file-name) ":" line ":" column
+ ": warning: " (message) line-end)
+ ;; no specific error prefix in Ada
+ (error line-start (file-name) ":" line ":" column
+ ": " (message) line-end))
+ :modes ada-mode)
+
+(flycheck-define-checker asciidoc
+ "A AsciiDoc syntax checker using the AsciiDoc compiler.
+
+See URL `http://www.methods.co.nz/asciidoc'."
+ :command ("asciidoc" "-o" null-device "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "asciidoc: ERROR: <stdin>: Line " line ": " (message)
+ line-end)
+ (warning line-start
+ "asciidoc: WARNING: <stdin>: Line " line ": " (message)
+ line-end)
+ (info line-start
+ "asciidoc: DEPRECATED: <stdin>: Line " line ": " (message)
+ line-end))
+ :modes adoc-mode)
+
+(flycheck-define-checker asciidoctor
+ "An AsciiDoc syntax checker using the Asciidoctor compiler.
+
+See URL `http://asciidoctor.org'."
+ :command ("asciidoctor" "-o" null-device "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "asciidoctor: ERROR: <stdin>: Line " line ": " (message)
+ line-end)
+ (warning line-start
+ "asciidoctor: WARNING: <stdin>: Line " line ": " (message)
+ line-end))
+ :modes adoc-mode)
+
+(defun flycheck-awk-gawk-fix-message (err)
+ "Remove the repeated file-name/line from the error message of ERR."
+ (setf (flycheck-error-message err)
+ (replace-regexp-in-string
+ (rx line-start
+ (group (zero-or-more (any " " "\t")))
+ (group (zero-or-more nonl) "\n")
+ (backref 1))
+ "\\2"
+ (replace-regexp-in-string
+ (rx "\ngawk: " (zero-or-more (not (any " "))) ":")
+ "\n"
+ (flycheck-error-message err))))
+ err)
+
+(defun flycheck-awk-gawk-error-filter (errors)
+ "Remove repeated file-name/line from ERRORS."
+ (seq-do #'flycheck-awk-gawk-fix-message errors)
+ errors)
+
+(flycheck-define-checker awk-gawk
+ "GNU awk's built-in --lint checker."
+ :command ("gawk"
+ ;; Avoid code execution. See https://github.com/w0rp/ale/pull/1411
+ "--source" "'BEGIN{exit} END{exit 1}'"
+ "-f" source
+ "--lint"
+ "/dev/null")
+ :standard-input nil
+ :error-patterns
+ ((warning line-start
+ "gawk: "
+ (file-name) ":" line ":" (optional column ":")
+ (message (one-or-more not-newline)
+ (optional "\n"
+ (one-or-more not-newline)
+ " ^ "
+ (one-or-more not-newline)))
+ line-end))
+ :error-filter flycheck-awk-gawk-error-filter
+ :modes awk-mode)
+
+(flycheck-define-checker bazel-buildifier
+ "An Bazel checker using the buildifier.
+
+See URL `https://github.com/bazelbuild/buildtools/blob/master/buildifier'."
+ :command ("buildifier" "-lint=warn")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "<stdin>:" line ":" column ": " (message)
+ line-end)
+ (warning line-start
+ "<stdin>:" line ": " (id (one-or-more (in word "-"))) ": " (message)
+ line-end))
+ :modes bazel-mode)
+
+(flycheck-def-args-var flycheck-clang-args c/c++-clang
+ :package-version '(flycheck . "0.22"))
+
+(flycheck-def-option-var flycheck-clang-blocks nil c/c++-clang
+ "Enable blocks in Clang.
+
+When non-nil, enable blocks in Clang with `-fblocks'. See URL
+`http://clang.llvm.org/docs/BlockLanguageSpec.html' for more
+information about blocks."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-clang-definitions nil c/c++-clang
+ "Additional preprocessor definitions for Clang.
+
+The value of this variable is a list of strings, where each
+string is an additional definition to pass to Clang, via the `-D'
+option."
+ :type '(repeat (string :tag "Definition"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.15"))
+
+(flycheck-def-option-var flycheck-clang-include-path nil c/c++-clang
+ "A list of include directories for Clang.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of Clang.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.14"))
+
+(flycheck-def-option-var flycheck-clang-includes nil c/c++-clang
+ "A list of additional include files for Clang.
+
+The value of this variable is a list of strings, where each
+string is a file to include before syntax checking. Relative
+paths are relative to the file being checked."
+ :type '(repeat (file :tag "Include file"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.15"))
+
+(flycheck-def-option-var flycheck-clang-language-standard nil c/c++-clang
+ "The language standard to use in Clang.
+
+The value of this variable is either a string denoting a language
+standard, or nil, to use the default standard. When non-nil,
+pass the language standard via the `-std' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.15"))
+(make-variable-buffer-local 'flycheck-clang-language-standard)
+
+(flycheck-def-option-var flycheck-clang-ms-extensions nil c/c++-clang
+ "Whether to enable Microsoft extensions to C/C++ in Clang.
+
+When non-nil, enable Microsoft extensions to C/C++ via
+`-fms-extensions'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-def-option-var flycheck-clang-no-exceptions nil c/c++-clang
+ "Whether to disable exceptions in Clang.
+
+When non-nil, disable exceptions for syntax checks, via
+`-fno-exceptions'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-clang-no-rtti nil c/c++-clang
+ "Whether to disable RTTI in Clang.
+
+When non-nil, disable RTTI for syntax checks, via `-fno-rtti'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.15"))
+
+(flycheck-def-option-var flycheck-clang-pedantic nil c/c++-clang
+ "Whether to warn about language extensions in Clang.
+
+For ISO C, follows the version specified by any -std option used.
+When non-nil, disable non-ISO extensions to C/C++ via
+`-pedantic'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-def-option-var flycheck-clang-pedantic-errors nil c/c++-clang
+ "Whether to error on language extensions in Clang.
+
+For ISO C, follows the version specified by any -std option used.
+When non-nil, disable non-ISO extensions to C/C++ via
+`-pedantic-errors'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-def-option-var flycheck-clang-standard-library nil c/c++-clang
+ "The standard library to use for Clang.
+
+The value of this variable is the name of a standard library as
+string, or nil to use the default standard library.
+
+Refer to the Clang manual at URL
+`http://clang.llvm.org/docs/UsersManual.html' for more
+information about the standard library."
+ :type '(choice (const :tag "Default standard library" nil)
+ (const "libc++")
+ (const :tag "GNU libstdc++" "libstdc++")
+ (string :tag "Library name"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.15"))
+
+(flycheck-def-option-var flycheck-clang-warnings '("all" "extra") c/c++-clang
+ "A list of additional warnings to enable in Clang.
+
+The value of this variable is a list of strings, where each string
+is the name of a warning category to enable. By default, all
+recommended warnings and some extra warnings are enabled (as by
+`-Wall' and `-Wextra' respectively).
+
+Refer to the Clang manual at URL
+`http://clang.llvm.org/docs/UsersManual.html' for more
+information about warnings."
+ :type '(choice (const :tag "No additional warnings" nil)
+ (repeat :tag "Additional warnings"
+ (string :tag "Warning name")))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.14"))
+
+(defun flycheck-c/c++-quoted-include-directory ()
+ "Get the directory for quoted includes.
+
+C/C++ compilers typically look up includes with quotation marks
+in the directory of the file being compiled. However, since
+Flycheck uses temporary copies for syntax checking, it needs to
+explicitly determine the directory for quoted includes.
+
+This function determines the directory by looking at function
+`buffer-file-name', or if that is nil, at `default-directory'."
+ (-if-let (fn (buffer-file-name))
+ (file-name-directory fn)
+ ;; If the buffer has no file name, fall back to its default directory
+ default-directory))
+
+(flycheck-define-checker c/c++-clang
+ "A C/C++ syntax checker using Clang.
+
+See URL `http://clang.llvm.org/'."
+ :command ("clang"
+ "-fsyntax-only"
+ "-fno-color-diagnostics" ; Do not include color codes in output
+ "-fno-caret-diagnostics" ; Do not visually indicate the source
+ ; location
+ "-fno-diagnostics-show-option" ; Do not show the corresponding
+ ; warning group
+ "-iquote" (eval (flycheck-c/c++-quoted-include-directory))
+ (option "-std=" flycheck-clang-language-standard concat)
+ (option-flag "-pedantic" flycheck-clang-pedantic)
+ (option-flag "-pedantic-errors" flycheck-clang-pedantic-errors)
+ (option "-stdlib=" flycheck-clang-standard-library concat)
+ (option-flag "-fms-extensions" flycheck-clang-ms-extensions)
+ (option-flag "-fno-exceptions" flycheck-clang-no-exceptions)
+ (option-flag "-fno-rtti" flycheck-clang-no-rtti)
+ (option-flag "-fblocks" flycheck-clang-blocks)
+ (option-list "-include" flycheck-clang-includes)
+ (option-list "-W" flycheck-clang-warnings concat)
+ (option-list "-D" flycheck-clang-definitions concat)
+ (option-list "-I" flycheck-clang-include-path)
+ (eval flycheck-clang-args)
+ "-x" (eval
+ (pcase major-mode
+ (`c++-mode "c++")
+ (`c-mode "c")))
+ ;; Read from standard input
+ "-")
+ :standard-input t
+ :error-patterns
+ ((info line-start (or "<stdin>" (file-name)) ":" line ":" column
+ ": note: " (optional (message)) line-end)
+ (warning line-start (or "<stdin>" (file-name)) ":" line ":" column
+ ": warning: " (optional (message)) line-end)
+ (error line-start (or "<stdin>" (file-name)) ":" line ":" column
+ ": " (or "fatal error" "error") ": " (optional (message)) line-end))
+ :error-filter
+ (lambda (errors)
+ (let ((errors (flycheck-sanitize-errors errors)))
+ (dolist (err errors)
+ ;; Clang will output empty messages for #error/#warning pragmas without
+ ;; messages. We fill these empty errors with a dummy message to get
+ ;; them past our error filtering
+ (setf (flycheck-error-message err)
+ (or (flycheck-error-message err) "no message")))
+ errors))
+ :modes (c-mode c++-mode)
+ :next-checkers ((warning . c/c++-cppcheck)))
+
+(flycheck-def-args-var flycheck-gcc-args c/c++-gcc
+ :package-version '(flycheck . "0.22"))
+
+(flycheck-def-option-var flycheck-gcc-definitions nil c/c++-gcc
+ "Additional preprocessor definitions for GCC.
+
+The value of this variable is a list of strings, where each
+string is an additional definition to pass to GCC, via the `-D'
+option."
+ :type '(repeat (string :tag "Definition"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gcc-include-path nil c/c++-gcc
+ "A list of include directories for GCC.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of gcc.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gcc-includes nil c/c++-gcc
+ "A list of additional include files for GCC.
+
+The value of this variable is a list of strings, where each
+string is a file to include before syntax checking. Relative
+paths are relative to the file being checked."
+ :type '(repeat (file :tag "Include file"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gcc-language-standard nil c/c++-gcc
+ "The language standard to use in GCC.
+
+The value of this variable is either a string denoting a language
+standard, or nil, to use the default standard. When non-nil,
+pass the language standard via the `-std' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.20"))
+(make-variable-buffer-local 'flycheck-gcc-language-standard)
+
+(flycheck-def-option-var flycheck-gcc-no-exceptions nil c/c++-gcc
+ "Whether to disable exceptions in GCC.
+
+When non-nil, disable exceptions for syntax checks, via
+`-fno-exceptions'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gcc-no-rtti nil c/c++-gcc
+ "Whether to disable RTTI in GCC.
+
+When non-nil, disable RTTI for syntax checks, via `-fno-rtti'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gcc-openmp nil c/c++-gcc
+ "Whether to enable OpenMP in GCC.
+
+When non-nil, enable OpenMP for syntax checkers, via
+`-fopenmp'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.21"))
+
+(flycheck-def-option-var flycheck-gcc-pedantic nil c/c++-gcc
+ "Whether to warn about language extensions in GCC.
+
+For ISO C, follows the version specified by any -std option used.
+When non-nil, disable non-ISO extensions to C/C++ via
+`-pedantic'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-def-option-var flycheck-gcc-pedantic-errors nil c/c++-gcc
+ "Whether to error on language extensions in GCC.
+
+For ISO C, follows the version specified by any -std option used.
+When non-nil, disable non-ISO extensions to C/C++ via
+`-pedantic-errors'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-def-option-var flycheck-gcc-warnings '("all" "extra") c/c++-gcc
+ "A list of additional warnings to enable in GCC.
+
+The value of this variable is a list of strings, where each string
+is the name of a warning category to enable. By default, all
+recommended warnings and some extra warnings are enabled (as by
+`-Wall' and `-Wextra' respectively).
+
+Refer to the gcc manual at URL
+`https://gcc.gnu.org/onlinedocs/gcc/' for more information about
+warnings."
+ :type '(choice (const :tag "No additional warnings" nil)
+ (repeat :tag "Additional warnings"
+ (string :tag "Warning name")))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-define-checker c/c++-gcc
+ "A C/C++ syntax checker using GCC.
+
+Requires GCC 4.4 or newer. See URL `https://gcc.gnu.org/'."
+ :command ("gcc"
+ "-fshow-column"
+ "-iquote" (eval (flycheck-c/c++-quoted-include-directory))
+ (option "-std=" flycheck-gcc-language-standard concat)
+ (option-flag "-pedantic" flycheck-gcc-pedantic)
+ (option-flag "-pedantic-errors" flycheck-gcc-pedantic-errors)
+ (option-flag "-fno-exceptions" flycheck-gcc-no-exceptions)
+ (option-flag "-fno-rtti" flycheck-gcc-no-rtti)
+ (option-flag "-fopenmp" flycheck-gcc-openmp)
+ (option-list "-include" flycheck-gcc-includes)
+ (option-list "-W" flycheck-gcc-warnings concat)
+ (option-list "-D" flycheck-gcc-definitions concat)
+ (option-list "-I" flycheck-gcc-include-path)
+ (eval flycheck-gcc-args)
+ "-x" (eval
+ (pcase major-mode
+ (`c++-mode "c++")
+ (`c-mode "c")))
+ ;; GCC performs full checking only when actually compiling, so
+ ;; `-fsyntax-only' is not enough. Just let it generate assembly
+ ;; code.
+ "-S" "-o" null-device
+ ;; Read from standard input
+ "-")
+ :standard-input t
+ :error-patterns
+ ((info line-start (or "<stdin>" (file-name))
+ ":" line (optional ":" column)
+ ": note: " (message) line-end)
+ (warning line-start (or "<stdin>" (file-name))
+ ":" line (optional ":" column)
+ ": warning: " (message (one-or-more (not (any "\n["))))
+ (optional "[" (id (one-or-more not-newline)) "]") line-end)
+ (error line-start (or "<stdin>" (file-name))
+ ":" line (optional ":" column)
+ ": " (or "fatal error" "error") ": " (message) line-end))
+ :modes (c-mode c++-mode)
+ :next-checkers ((warning . c/c++-cppcheck)))
+
+(flycheck-def-option-var flycheck-cppcheck-checks '("style") c/c++-cppcheck
+ "Enabled checks for Cppcheck.
+
+The value of this variable is a list of strings, where each
+string is the name of an additional check to enable. By default,
+all coding style checks are enabled.
+
+See section \"Enable message\" in the Cppcheck manual at URL
+`http://cppcheck.sourceforge.net/manual.pdf', and the
+documentation of the `--enable' option for more information,
+including a list of supported checks."
+ :type '(repeat :tag "Additional checks"
+ (string :tag "Check name"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.14"))
+
+(flycheck-def-option-var flycheck-cppcheck-standards nil c/c++-cppcheck
+ "The standards to use in cppcheck.
+
+The value of this variable is either a list of strings denoting
+the standards to use, or nil to pass nothing to cppcheck. When
+non-nil, pass the standards via one or more `--std=' options."
+ :type '(choice (const :tag "Default" nil)
+ (repeat :tag "Custom standards"
+ (string :tag "Standard name")))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "28"))
+(make-variable-buffer-local 'flycheck-cppcheck-standards)
+
+(flycheck-def-option-var flycheck-cppcheck-suppressions-file nil c/c++-cppcheck
+ "The suppressions file to use in cppcheck.
+
+The value of this variable is a file with the suppressions to
+use, or nil to pass nothing to cppcheck. When non-nil, pass the
+suppressions file via the `--suppressions-list=' option."
+ :type '(choice (const :tag "Default" nil)
+ (file :tag "Suppressions file"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-cppcheck-suppressions-file)
+
+(flycheck-def-option-var flycheck-cppcheck-suppressions nil c/c++-cppcheck
+ "The suppressions to use in cppcheck.
+
+The value of this variable is either a list of strings denoting
+the suppressions to use, or nil to pass nothing to cppcheck.
+When non-nil, pass the suppressions via one or more `--suppress='
+options."
+ :type '(choice (const :tag "Default" nil)
+ (repeat :tag "Additional suppressions"
+ (string :tag "Suppression")))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "28"))
+
+(flycheck-def-option-var flycheck-cppcheck-inconclusive nil c/c++-cppcheck
+ "Whether to enable Cppcheck inconclusive checks.
+
+When non-nil, enable Cppcheck inconclusive checks. This allows Cppcheck to
+report warnings it's not certain of, but it may result in false positives.
+
+This will have no effect when using Cppcheck 1.53 and older."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.19"))
+
+(flycheck-def-option-var flycheck-cppcheck-include-path nil c/c++-cppcheck
+ "A list of include directories for cppcheck.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of cppcheck.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-define-checker c/c++-cppcheck
+ "A C/C++ checker using cppcheck.
+
+See URL `http://cppcheck.sourceforge.net/'."
+ :command ("cppcheck" "--quiet" "--xml-version=2" "--inline-suppr"
+ (option "--enable=" flycheck-cppcheck-checks concat
+ flycheck-option-comma-separated-list)
+ (option-flag "--inconclusive" flycheck-cppcheck-inconclusive)
+ (option-list "-I" flycheck-cppcheck-include-path)
+ (option-list "--std=" flycheck-cppcheck-standards concat)
+ (option-list "--suppress=" flycheck-cppcheck-suppressions concat)
+ (option "--suppressions-list="
+ flycheck-cppcheck-suppressions-file concat)
+ "-x" (eval
+ (pcase major-mode
+ (`c++-mode "c++")
+ (`c-mode "c")))
+ source)
+ :error-parser flycheck-parse-cppcheck
+ :modes (c-mode c++-mode))
+
+(flycheck-define-checker cfengine
+ "A CFEngine syntax checker using cf-promises.
+
+See URL `https://cfengine.com/'."
+ :command ("cf-promises" "-Wall" "-f"
+ ;; We must stay in the same directory to resolve @include
+ source-inplace)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column
+ ": warning: " (message) line-end)
+ (error line-start (file-name) ":" line ":" column
+ ": error: " (message) line-end))
+ :modes (cfengine-mode cfengine3-mode))
+
+(flycheck-def-option-var flycheck-foodcritic-tags nil chef-foodcritic
+ "A list of tags to select for Foodcritic.
+
+The value of this variable is a list of strings where each string
+is a tag expression describing Foodcritic rules to enable or
+disable, via the `--tags' option. To disable a tag, prefix it
+with `~'."
+ :type '(repeat :tag "Tags" (string :tag "Tag expression"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-define-checker chef-foodcritic
+ "A Chef cookbooks syntax checker using Foodcritic.
+
+See URL `http://www.foodcritic.io'."
+ ;; Use `source-inplace' to allow resource discovery with relative paths.
+ ;; foodcritic interprets these as relative to the source file, so we need to
+ ;; stay within the source tree. See
+ ;; https://github.com/flycheck/flycheck/pull/556
+ :command ("foodcritic"
+ (option-list "--tags" flycheck-foodcritic-tags)
+ source-inplace)
+ :error-patterns
+ ((error line-start (id (one-or-more alnum)) ": "
+ (message) ": " (file-name) ":" line line-end))
+ :modes (enh-ruby-mode ruby-mode)
+ :predicate
+ (lambda ()
+ (let ((parent-dir (file-name-directory
+ (directory-file-name
+ (expand-file-name default-directory)))))
+ (or
+ ;; Chef CookBook
+ ;; http://docs.opscode.com/chef/knife.html#id38
+ (locate-dominating-file parent-dir "recipes")
+ ;; Knife Solo
+ ;; http://matschaffer.github.io/knife-solo/#label-Init+command
+ (locate-dominating-file parent-dir "cookbooks")))))
+
+(flycheck-define-checker coffee
+ "A CoffeeScript syntax checker using coffee.
+
+See URL `https://coffeescript.org/'."
+ ;; --print suppresses generation of compiled .js files
+ :command ("coffee" "--compile" "--print" "--stdio")
+ :standard-input t
+ :error-patterns
+ ((error line-start "[stdin]:" line ":" column
+ ": error: " (message) line-end))
+ :modes coffee-mode
+ :next-checkers ((warning . coffee-coffeelint)))
+
+(flycheck-def-config-file-var flycheck-coffeelintrc coffee-coffeelint
+ ".coffeelint.json")
+
+(flycheck-define-checker coffee-coffeelint
+ "A CoffeeScript style checker using coffeelint.
+
+See URL `http://www.coffeelint.org/'."
+ :command
+ ("coffeelint"
+ (config-file "--file" flycheck-coffeelintrc)
+ "--stdin" "--reporter" "checkstyle")
+ :standard-input t
+ :error-parser flycheck-parse-checkstyle
+ :error-filter (lambda (errors)
+ (flycheck-remove-error-file-names
+ "stdin" (flycheck-remove-error-ids
+ (flycheck-sanitize-errors errors))))
+ :modes coffee-mode)
+
+(defun flycheck-coq-error-filter (errors)
+ "Sanitize Coq ERRORS and compute end-lines and end-columns."
+ (flycheck-increment-error-columns errors)
+ (dolist (err errors)
+ (setf (flycheck-error-message err)
+ (replace-regexp-in-string (rx (1+ (syntax whitespace)) line-end)
+ "" (flycheck-error-message err)
+ 'fixedcase 'literal))
+ (-when-let* ((end-col (flycheck-error-end-column err)))
+ ;; Coq reports an offset (potentially past eol), not an end column
+ (let* ((line (flycheck-error-line err))
+ (end-lc (save-excursion
+ (flycheck-goto-line line)
+ (goto-char (+ (point) (1- end-col)))
+ (flycheck-line-column-at-point))))
+ (setf (flycheck-error-end-line err) (car end-lc))
+ (setf (flycheck-error-end-column err) (cdr end-lc)))))
+ (flycheck-sanitize-errors errors))
+
+(flycheck-define-checker coq
+ "A Coq syntax checker using the Coq compiler.
+
+See URL `https://coq.inria.fr/'."
+ ;; We use coqtop in batch mode, because coqc is picky about file names.
+ :command ("coqtop" "-batch" "-load-vernac-source" source)
+ :error-patterns
+ ((error line-start "File \"" (file-name) "\", line " line
+ ", characters " column "-" end-column ":\n"
+ (or "Syntax error:" "Error:")
+ ;; Most Coq error messages span multiple lines, and end with a dot.
+ ;; There are simple one-line messages, too, though.
+ (message (or (and (one-or-more (or not-newline "\n")) ".")
+ (one-or-more not-newline)))
+ line-end))
+ :error-filter flycheck-coq-error-filter
+ :modes coq-mode)
+
+(flycheck-define-checker css-csslint
+ "A CSS syntax and style checker using csslint.
+
+See URL `https://github.com/CSSLint/csslint'."
+ :command ("csslint" "--format=checkstyle-xml" source)
+ :error-parser flycheck-parse-checkstyle
+ :error-filter flycheck-dequalify-error-ids
+ :modes css-mode)
+
+(defconst flycheck-stylelint-args '("--formatter" "json")
+ "Common arguments to stylelint invocations.")
+
+(flycheck-def-config-file-var flycheck-stylelintrc
+ (css-stylelint scss-stylelint less-stylelint) nil)
+
+(flycheck-def-option-var flycheck-stylelint-quiet
+ nil (css-stylelint scss-stylelint less-stylelint)
+ "Whether to run stylelint in quiet mode.
+
+When non-nil, enable quiet mode, via `--quiet'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . 26))
+
+(defconst flycheck-stylelint-error-re
+ (flycheck-rx-to-string
+ '(: line-start (id (one-or-more word)) ": " (message) line-end)))
+
+(defun flycheck-parse-stylelint (output checker buffer)
+ "Parse stylelint errors from OUTPUT.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+The CHECKER usually returns the errors as JSON.
+
+If the CHECKER throws an Error it returns an Error message with a stacktrace."
+ (condition-case nil
+ (flycheck-parse-stylelint-json output checker buffer)
+
+ ;; The output could not be parsed as JSON
+ (json-error
+
+ ;; Extract a flycheck error from the output (with a regular expression)
+ ;; For match-string 4/5 see flycheck-rx-message/flycheck-rx-id
+ (when (string-match flycheck-stylelint-error-re output)
+ (list (flycheck-error-new-at
+ 1 nil 'error
+ (match-string 4 output)
+ :id (match-string 5 output)
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer)))))))
+
+(defun flycheck-parse-stylelint-json (output checker buffer)
+ "Parse stylelint JSON errors from OUTPUT.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `http://stylelint.io/developer-guide/formatters/' for information
+about the JSON format of stylelint."
+ (let ((json-object-type 'plist))
+
+ ;; stylelint returns a vector of result objects
+ ;; Since we only passed one file, the first element is enough
+ (let* ((stylelint-output (elt (json-read-from-string output) 0))
+ (filename (buffer-file-name buffer))
+
+ ;; Turn all deprecations into warnings
+ (deprecations
+ (mapcar (lambda (d)
+ (flycheck-error-new-at
+ 1 nil 'warning
+ (plist-get d :text)
+ :id "Deprecation Warning"
+ :checker checker
+ :buffer buffer
+ :filename filename))
+ (plist-get stylelint-output :deprecations)))
+
+ ;; Turn all invalid options into errors
+ (invalid-options
+ (mapcar (lambda (io)
+ (flycheck-error-new-at
+ 1 nil 'error
+ (plist-get io :text)
+ :id "Invalid Option"
+ :checker checker
+ :buffer buffer
+ :filename filename))
+ (plist-get stylelint-output :invalidOptionWarnings)))
+
+ ;; Read all linting warnings
+ (warnings
+ (mapcar (lambda (w)
+ (flycheck-error-new-at
+ (plist-get w :line) (plist-get w :column)
+ (pcase (plist-get w :severity)
+ (`"error" 'error)
+ (`"warning" 'warning)
+ ;; Default to info for unknown .severity
+ (_ 'info))
+ (plist-get w :text)
+ :id (plist-get w :rule)
+ :checker checker
+ :buffer buffer
+ :filename filename))
+ (plist-get stylelint-output :warnings))))
+
+ ;; Return the combined errors (deprecations, invalid options, warnings)
+ (append deprecations invalid-options warnings))))
+
+(flycheck-define-checker css-stylelint
+ "A CSS syntax and style checker using stylelint.
+
+See URL `http://stylelint.io/'."
+ :command ("stylelint"
+ (eval flycheck-stylelint-args)
+ (option-flag "--quiet" flycheck-stylelint-quiet)
+ (config-file "--config" flycheck-stylelintrc)
+ "--stdin-filename" (eval (or (buffer-file-name) "style.css")))
+ :standard-input t
+ :error-parser flycheck-parse-stylelint
+ :predicate flycheck-buffer-nonempty-p
+ :modes (css-mode))
+
+(flycheck-def-option-var flycheck-cuda-language-standard nil cuda-nvcc
+ "Our CUDA Language Standard."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-cuda-language-standard)
+
+(flycheck-def-option-var flycheck-cuda-includes nil cuda-nvcc
+ "Our include directories to pass to nvcc."
+ :type '(repeat (file :tag "Include file"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-def-option-var flycheck-cuda-definitions nil cuda-nvcc
+ "Additional preprocessor definitions for nvcc.
+A list of strings to pass to cuda, a la flycheck-clang"
+ :type '(repeat (string :tag "Definitions"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-def-option-var flycheck-cuda-include-path nil cuda-nvcc
+ "A list of include directories for nvcc."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker cuda-nvcc
+ "A CUDA C/C++ syntax checker using nvcc.
+
+See URL `https://developer.nvidia.com/cuda-llvm-compiler'."
+ :command ("nvcc"
+ "-c" ;; Compile Only
+ "--output-file" "/dev/null" ;; avoid creating output .o
+ "--x=cu" ;; explicitly specify it's a CUDA language file
+ (option "-std=" flycheck-cuda-language-standard concat)
+ (option-list "-include" flycheck-cuda-includes)
+ (option-list "-D" flycheck-cuda-definitions concat)
+ (option-list "-I" flycheck-cuda-include-path)
+ source)
+ :error-patterns
+ ((error line-start
+ (message "In file included from")
+ " " (or "<stdin>" (file-name))
+ ":" line ":" line-end)
+ (error line-start (or "<stdin>" (file-name))
+ "(" line "): error: " (message) line-end)
+ (error line-start (or "<stdin>" (file-name))
+ ":" line ":" column
+ ": fatal error: " (optional (message)) line-end)
+ (warning line-start (or "<stdin>" (file-name))
+ "(" line "): warning: " (message) line-end))
+ :modes cuda-mode)
+
+
+(flycheck-def-option-var flycheck-cwl-schema-path nil cwl
+ "A path for the schema file for Common Workflow Language.
+
+The value of this variable is a string that denotes a path for
+the schema file of Common Workflow Language."
+ :type '(choice (const :tag "None" nil)
+ (file :tag "Schema file"))
+ :safe #'flycheck-string-or-nil-p)
+
+(flycheck-define-checker cwl
+ "A CWL syntax checker using Schema Salad validator.
+
+Requires Schema Salad 2.6.20171101113912 or newer.
+See URL `https://www.commonwl.org/v1.0/SchemaSalad.html'."
+ :command ("schema-salad-tool"
+ "--quiet"
+ "--print-oneline"
+ (eval flycheck-cwl-schema-path)
+ source-inplace)
+ :error-patterns
+ ((error line-start
+ (file-name) ":" line ":" column ":" (zero-or-more blank)
+ (message (one-or-more not-newline))
+ line-end))
+ :modes cwl-mode)
+
+(defconst flycheck-d-module-re
+ (rx "module" (one-or-more (syntax whitespace))
+ (group (one-or-more (not (syntax whitespace))))
+ (zero-or-more (syntax whitespace))
+ ";")
+ "Regular expression to match a D module declaration.")
+
+(defun flycheck-d-base-directory ()
+ "Get the relative base directory path for this module."
+ (let* ((file-name (buffer-file-name))
+ (module-file (if (and file-name
+ (string= (file-name-nondirectory file-name)
+ "package.d"))
+ (directory-file-name (file-name-directory file-name))
+ file-name)))
+ (flycheck-module-root-directory
+ (flycheck-find-in-buffer flycheck-d-module-re)
+ module-file)))
+
+(flycheck-def-option-var flycheck-dmd-include-path nil d-dmd
+ "A list of include directories for dmd.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of dmd.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.18"))
+
+(flycheck-def-args-var flycheck-dmd-args d-dmd
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-define-checker d-dmd
+ "A D syntax checker using the DMD compiler.
+
+Requires DMD 2.066 or newer. See URL `https://dlang.org/'."
+ :command ("dmd"
+ "-debug" ; Compile in debug mode
+ "-o-" ; Don't generate an object file
+ "-vcolumns" ; Add columns in output
+ "-wi" ; Compilation will continue even if there are warnings
+ (eval (concat "-I" (flycheck-d-base-directory)))
+ (option-list "-I" flycheck-dmd-include-path concat)
+ (eval flycheck-dmd-args)
+ (source ".d"))
+ :error-patterns
+ ((error line-start
+ (file-name) "(" line "," column "): Error: " (message)
+ line-end)
+ (warning line-start (file-name) "(" line "," column "): "
+ (or "Warning" "Deprecation") ": " (message) line-end)
+ (info line-start (file-name) "(" line "," column "): "
+ (one-or-more " ") (message) line-end))
+ :modes d-mode)
+
+(flycheck-define-checker dockerfile-hadolint
+ "A Dockerfile syntax checker using the hadolint.
+
+See URL `http://github.com/hadolint/hadolint/'."
+ :command ("hadolint" "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ (file-name) ":" line ":" column " " (message)
+ line-end)
+ (warning line-start
+ (file-name) ":" line " " (id (one-or-more alnum)) " " (message)
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "/dev/stdin" errors)))
+ :modes dockerfile-mode)
+
+(defun flycheck-credo--working-directory (&rest _ignored)
+ "Check if `credo' is installed as dependency in the application."
+ (and buffer-file-name
+ (locate-dominating-file buffer-file-name "deps/credo")))
+
+(flycheck-def-option-var flycheck-elixir-credo-strict nil elixir-credo
+ "Enable strict mode in `credo'.
+
+When non-nil, pass the `--strict' flag to credo."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker elixir-credo
+ "An Elixir checker for static code analysis using Credo.
+
+See `http://credo-ci.org/'."
+ :command ("mix" "credo"
+ (option-flag "--strict" flycheck-elixir-credo-strict)
+ "--format" "flycheck"
+ "--read-from-stdin" source-original)
+ :standard-input t
+ :working-directory flycheck-credo--working-directory
+ :enabled flycheck-credo--working-directory
+ :error-patterns
+ ((info line-start
+ (file-name) ":" line (optional ":" column) ": "
+ (or "F" "R" "C") ": " (message) line-end)
+ (warning line-start
+ (file-name) ":" line (optional ":" column) ": "
+ (or "D" "W") ": " (message) line-end))
+ :modes elixir-mode)
+
+(defconst flycheck-this-emacs-executable
+ (concat invocation-directory invocation-name)
+ "The path to the currently running Emacs executable.")
+
+(defconst flycheck-emacs-args '("-Q" "--batch")
+ "Common arguments to Emacs invocations.")
+
+(defmacro flycheck-prepare-emacs-lisp-form (&rest body)
+ "Prepare BODY for use as check form in a subprocess."
+ (declare (indent 0))
+ `(flycheck-sexp-to-string
+ '(progn
+ (defvar jka-compr-inhibit)
+ (unwind-protect
+ ;; Flycheck inhibits compression of temporary files, thus we
+ ;; must not attempt to decompress.
+ (let ((jka-compr-inhibit t))
+ ;; Strip option-argument separator from arguments, if present
+ (when (equal (car command-line-args-left) "--")
+ (setq command-line-args-left (cdr command-line-args-left)))
+ ,@body)
+ ;; Prevent Emacs from processing the arguments on its own, see
+ ;; https://github.com/flycheck/flycheck/issues/319
+ (setq command-line-args-left nil)))))
+
+(defun flycheck-emacs-lisp-bytecomp-config-form ()
+ "Prepare an Emacs Lisp form to set byte-compiler variables."
+ (flycheck-sexp-to-string
+ `(progn
+ (require 'bytecomp)
+ (setq byte-compile-root-dir
+ ,(if buffer-file-name
+ (file-name-directory buffer-file-name)
+ default-directory)))))
+
+(defconst flycheck-emacs-lisp-check-form
+ (flycheck-prepare-emacs-lisp-form
+ ;; Keep track of the generated bytecode files, to delete them after byte
+ ;; compilation.
+ (require 'bytecomp)
+ (defvar flycheck-byte-compiled-files nil)
+ (let ((byte-compile-dest-file-function
+ (lambda (source)
+ (let ((temp-file (make-temp-file (file-name-nondirectory source))))
+ (push temp-file flycheck-byte-compiled-files)
+ temp-file))))
+ (unwind-protect
+ (byte-compile-file (car command-line-args-left))
+ (mapc (lambda (f) (ignore-errors (delete-file f)))
+ flycheck-byte-compiled-files))
+ (when (bound-and-true-p flycheck-emacs-lisp-check-declare)
+ (check-declare-file (car command-line-args-left))))))
+
+(flycheck-def-option-var flycheck-emacs-lisp-load-path nil emacs-lisp
+ "Load path to use in the Emacs Lisp syntax checker.
+
+When set to `inherit', use the `load-path' of the current Emacs
+session during syntax checking.
+
+When set to a list of strings, add each directory in this list to
+the `load-path' before invoking the byte compiler. Relative
+paths in this list are expanded against the `default-directory'
+of the buffer to check.
+
+When nil, do not explicitly set the `load-path' during syntax
+checking. The syntax check only uses the built-in `load-path' of
+Emacs in this case.
+
+Note that changing this variable can lead to wrong results of the
+syntax check, e.g. if an unexpected version of a required library
+is used."
+ :type '(choice (const :tag "Inherit current `load-path'" inherit)
+ (repeat :tag "Load path" directory))
+ :risky t
+ :package-version '(flycheck . "0.14"))
+
+(flycheck-def-option-var flycheck-emacs-lisp-initialize-packages
+ 'auto emacs-lisp
+ "Whether to initialize packages in the Emacs Lisp syntax checker.
+
+When nil, never initialize packages. When `auto', initialize
+packages only when checking `user-init-file' or files from
+`user-emacs-directory'. For any other non-nil value, always
+initialize packages.
+
+When initializing packages is enabled the `emacs-lisp' syntax
+checker calls `package-initialize' before byte-compiling the file
+to be checked. It also sets `package-user-dir' according to
+`flycheck-emacs-lisp-package-user-dir'."
+ :type '(choice (const :tag "Do not initialize packages" nil)
+ (const :tag "Initialize packages for configuration only" auto)
+ (const :tag "Always initialize packages" t))
+ :risky t
+ :package-version '(flycheck . "0.14"))
+
+(defconst flycheck-emacs-lisp-package-initialize-form
+ (flycheck-sexp-to-string
+ '(with-demoted-errors "Error during package initialization: %S"
+ (package-initialize)))
+ "Form used to initialize packages.")
+
+(defun flycheck-option-emacs-lisp-package-initialize (value)
+ "Option VALUE filter for `flycheck-emacs-lisp-initialize-packages'."
+ (let ((shall-initialize
+ (if (eq value 'auto)
+ (or (flycheck-in-user-emacs-directory-p
+ (or buffer-file-name default-directory))
+ ;; `user-init-file' is nil in non-interactive sessions. Now,
+ ;; no user would possibly use Flycheck in a non-interactive
+ ;; session, but our unit tests run non-interactively, so we
+ ;; have to handle this case anyway
+ (and user-init-file buffer-file-name
+ (flycheck-same-files-p buffer-file-name user-init-file)))
+ value)))
+ (when shall-initialize
+ ;; If packages shall be initialized, return the corresponding form,
+ ;; otherwise make Flycheck ignore the option by returning nil.
+ flycheck-emacs-lisp-package-initialize-form)))
+
+(flycheck-def-option-var flycheck-emacs-lisp-package-user-dir nil emacs-lisp
+ "Package directory for the Emacs Lisp syntax checker.
+
+If set to a string set `package-user-dir' to the value of this
+variable before initializing packages. If set to nil just inherit
+the value of `package-user-dir' from the running Emacs session.
+
+This variable has no effect, if
+`flycheck-emacs-lisp-initialize-packages' is nil."
+ :type '(choice (const :tag "Default package directory" nil)
+ (directory :tag "Custom package directory"))
+ :risky t
+ :package-version '(flycheck . "0.14"))
+
+(defun flycheck-option-emacs-lisp-package-user-dir (value)
+ "Option VALUE filter for `flycheck-emacs-lisp-package-user-dir'."
+ ;; Inherit the package directory from our Emacs session
+ (let ((value (or value (bound-and-true-p package-user-dir))))
+ (when value
+ (flycheck-sexp-to-string `(setq package-user-dir ,value)))))
+
+(flycheck-def-option-var flycheck-emacs-lisp-check-declare nil emacs-lisp
+ "If non-nil, check ‘declare-function’ forms using ‘check-declare-file’."
+ :type '(choice (const :tag "Do not check declare forms" nil)
+ (const :tag "Check declare forms" t))
+ :risky t
+ :package-version '(flycheck . "31"))
+
+(defun flycheck-option-emacs-lisp-check-declare (value)
+ "Option VALUE filter for `flycheck-emacs-lisp-check-declare'."
+ (when value
+ (flycheck-sexp-to-string
+ `(progn
+ (defvar flycheck-emacs-lisp-check-declare)
+ (setq flycheck-emacs-lisp-check-declare ,value)))))
+
+(defun flycheck--emacs-lisp-enabled-p ()
+ "Check whether to enable Emacs Lisp checkers in the current buffer."
+ (not
+ (or
+ ;; Do not check buffers used for autoloads generation during package
+ ;; installation. These buffers are too short-lived for being checked, and
+ ;; doing so causes spurious errors. See
+ ;; https://github.com/flycheck/flycheck/issues/45 and
+ ;; https://github.com/bbatsov/prelude/issues/248. We must also not check
+ ;; compilation buffers, but as these are ephemeral, Flycheck won't check
+ ;; them anyway.
+ (flycheck-autoloads-file-p)
+ ;; Cask/Carton and dir-locals files contain data, not code, and don't need
+ ;; to follow Checkdoc conventions either.
+ (and (buffer-file-name)
+ (member (file-name-nondirectory (buffer-file-name))
+ '("Cask" "Carton" ".dir-locals.el" ".dir-locals-2.el"))))))
+
+(flycheck-define-checker emacs-lisp
+ "An Emacs Lisp syntax checker using the Emacs Lisp Byte compiler.
+
+See Info Node `(elisp)Byte Compilation'."
+ :command ("emacs" (eval flycheck-emacs-args)
+ (eval
+ (let ((path (pcase flycheck-emacs-lisp-load-path
+ (`inherit load-path)
+ (p (seq-map #'expand-file-name p)))))
+ (flycheck-prepend-with-option "--directory" path)))
+ (option "--eval" flycheck-emacs-lisp-package-user-dir nil
+ flycheck-option-emacs-lisp-package-user-dir)
+ (option "--eval" flycheck-emacs-lisp-initialize-packages nil
+ flycheck-option-emacs-lisp-package-initialize)
+ (option "--eval" flycheck-emacs-lisp-check-declare nil
+ flycheck-option-emacs-lisp-check-declare)
+ "--eval" (eval (flycheck-emacs-lisp-bytecomp-config-form))
+ "--eval" (eval flycheck-emacs-lisp-check-form)
+ "--"
+ source-inplace)
+ :error-patterns
+ ((error line-start (file-name) ":" line ":" column ":"
+ (zero-or-more whitespace) "Error:" (zero-or-more whitespace)
+ (message (zero-or-more not-newline)
+ (zero-or-more "\n " (zero-or-more not-newline)))
+ line-end)
+ (warning line-start (file-name) ":" line ":" column ":"
+ (zero-or-more whitespace) "Warning:" (zero-or-more whitespace)
+ (message (zero-or-more not-newline)
+ (zero-or-more "\n " (zero-or-more not-newline)))
+ line-end)
+ (warning line-start (file-name) ":" line (optional ":" column) ":"
+ (zero-or-more whitespace) "Warning (check-declare): said\n"
+ (message (zero-or-more " " (zero-or-more not-newline))
+ (zero-or-more "\n " (zero-or-more not-newline)))
+ line-end)
+ ;; The following is for Emacs 24 ‘check-declare-file’, which uses a
+ ;; less informative format.
+ (warning line-start "Warning (check-declare): " (file-name) " said "
+ (message (zero-or-more not-newline))
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-fill-empty-line-numbers
+ (flycheck-collapse-error-message-whitespace
+ (flycheck-sanitize-errors errors))))
+ :modes (emacs-lisp-mode lisp-interaction-mode)
+ :enabled flycheck--emacs-lisp-enabled-p
+ :predicate
+ (lambda ()
+ ;; Do not check buffers that should not be byte-compiled. The checker
+ ;; process will refuse to compile these, which would confuse Flycheck
+ (not (bound-and-true-p no-byte-compile)))
+ :next-checkers (emacs-lisp-checkdoc))
+
+(defconst flycheck-emacs-lisp-checkdoc-form
+ (flycheck-prepare-emacs-lisp-form
+ (unless (require 'elisp-mode nil 'no-error)
+ ;; TODO: Fallback for Emacs 24, remove when dropping support for 24
+ (require 'lisp-mode))
+ (require 'checkdoc)
+
+ (let ((source (car command-line-args-left))
+ ;; Remember the default directory of the process
+ (process-default-directory default-directory))
+ ;; Note that we deliberately use our custom approach even despite of
+ ;; `checkdoc-file' which was added to Emacs 25.1. While it's conceptually
+ ;; the better thing, its implementation has too many flaws to be of use
+ ;; for us.
+ (with-temp-buffer
+ (insert-file-contents source 'visit)
+ (setq buffer-file-name source)
+ ;; And change back to the process default directory to make file-name
+ ;; back-substutition work
+ (setq default-directory process-default-directory)
+ (with-demoted-errors "Error in checkdoc: %S"
+ ;; Checkdoc needs the Emacs Lisp syntax table and comment syntax to
+ ;; parse sexps and identify docstrings correctly; see
+ ;; https://github.com/flycheck/flycheck/issues/833
+ (delay-mode-hooks (emacs-lisp-mode))
+ (setq delayed-mode-hooks nil)
+ (checkdoc-current-buffer t)
+ (with-current-buffer checkdoc-diagnostic-buffer
+ (princ (buffer-substring-no-properties (point-min) (point-max)))
+ (kill-buffer)))))))
+
+(defconst flycheck-emacs-lisp-checkdoc-variables
+ '(checkdoc-symbol-words
+ checkdoc-arguments-in-order-flag
+ checkdoc-force-history-flag
+ checkdoc-permit-comma-termination-flag
+ checkdoc-force-docstrings-flag
+ checkdoc-package-keywords-flag
+ checkdoc-spellcheck-documentation-flag
+ checkdoc-verb-check-experimental-flag
+ checkdoc-max-keyref-before-warn
+ sentence-end-double-space)
+ "Variables inherited by the checkdoc subprocess.")
+
+(defun flycheck-emacs-lisp-checkdoc-variables-form ()
+ "Make a sexp to pass relevant variables to a checkdoc subprocess.
+
+Variables are taken from `flycheck-emacs-lisp-checkdoc-variables'."
+ `(progn
+ ,@(seq-map (lambda (opt) `(setq-default ,opt ',(symbol-value opt)))
+ (seq-filter #'boundp flycheck-emacs-lisp-checkdoc-variables))))
+
+(flycheck-define-checker emacs-lisp-checkdoc
+ "An Emacs Lisp style checker using CheckDoc.
+
+The checker runs `checkdoc-current-buffer'."
+ :command ("emacs" (eval flycheck-emacs-args)
+ "--eval" (eval (flycheck-sexp-to-string
+ (flycheck-emacs-lisp-checkdoc-variables-form)))
+ "--eval" (eval flycheck-emacs-lisp-checkdoc-form)
+ "--" source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ": " (message) line-end))
+ :modes (emacs-lisp-mode)
+ :enabled flycheck--emacs-lisp-enabled-p)
+
+(dolist (checker '(emacs-lisp emacs-lisp-checkdoc))
+ (setf (car (flycheck-checker-get checker 'command))
+ flycheck-this-emacs-executable))
+
+(defun flycheck-ember-template--check-for-config (&rest _ignored)
+ "Check the required config file is available up the file system."
+ (and buffer-file-name
+ (locate-dominating-file buffer-file-name ".template-lintrc.js")))
+
+(defun flycheck-ember-template--parse-error (output checker buffer)
+ "Parse Ember-template-lint errors/warnings from JSON OUTPUT.
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively."
+ (mapcar (lambda (err)
+ (let-alist err
+ (flycheck-error-new-at
+ .line
+ .column
+ (pcase .severity
+ (2 'error)
+ (1 'warning)
+ (_ 'warning))
+ .message
+ :id .rule
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer))))
+ (cdr (car (car (flycheck-parse-json output))))))
+
+(flycheck-def-config-file-var flycheck-ember-template-lintrc
+ ember-template
+ ".template-lintrc.js")
+
+(flycheck-define-checker ember-template
+ "An Ember template checker using ember-template-lint."
+ :command ("ember-template-lint"
+ (config-file "--config-path" flycheck-ember-template-lintrc)
+ "--filename" source-original
+ "--json")
+ :standard-input t
+ :error-parser flycheck-ember-template--parse-error
+ :modes web-mode
+ :enabled flycheck-ember-template--check-for-config
+ :working-directory flycheck-ember-template--check-for-config)
+
+(flycheck-def-option-var flycheck-erlang-include-path nil erlang
+ "A list of include directories for Erlang.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of erlc.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-def-option-var flycheck-erlang-library-path nil erlang
+ "A list of library directories for Erlang.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the library path of erlc.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Library directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-define-checker erlang
+ "An Erlang syntax checker using the Erlang interpreter.
+
+See URL `http://www.erlang.org/'."
+ :command ("erlc"
+ "-o" temporary-directory
+ (option-list "-I" flycheck-erlang-include-path)
+ (option-list "-pa" flycheck-erlang-library-path)
+ "-Wall"
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ": Warning:" (message) line-end)
+ (error line-start (file-name) ":" line ": " (message) line-end))
+ :modes erlang-mode
+ :enabled (lambda () (string-suffix-p ".erl" (buffer-file-name))))
+
+(defun flycheck--contains-rebar-config (dir-name)
+ "Return DIR-NAME if rebar config file exists in DIR-NAME, nil otherwise."
+ (when (or (file-exists-p (expand-file-name "rebar.config" dir-name))
+ (file-exists-p (expand-file-name "rebar.config.script" dir-name)))
+ dir-name))
+
+(defun flycheck--locate-rebar3-project-root
+ (file-name &optional prev-file-name acc)
+ "Find the top-most rebar project root for source FILE-NAME.
+
+A project root directory is any directory containing a
+rebar.config file. Find the top-most directory to move out of any
+nested dependencies.
+
+FILE-NAME is a source file for which to find the project.
+
+PREV-FILE-NAME helps us prevent infinite looping
+
+ACC is an accumulator that keeps the list of results, the first
+non-nil of which will be our project root.
+
+Return the absolute path to the directory"
+ (if (string= file-name prev-file-name)
+ (car (remove nil acc))
+ (let ((current-dir (file-name-directory file-name)))
+ (flycheck--locate-rebar3-project-root
+ (directory-file-name current-dir)
+ file-name
+ (cons (flycheck--contains-rebar-config current-dir) acc)))))
+
+(defun flycheck-rebar3-project-root (&optional _checker)
+ "Return directory where rebar.config is located."
+ (flycheck--locate-rebar3-project-root buffer-file-name))
+
+(flycheck-def-option-var flycheck-erlang-rebar3-profile nil erlang-rebar3
+ "The rebar3 profile to use.
+
+The profile used when compiling, if VALUE is nil \"test\" will be used
+when the file is located in test directory, otherwise \"default\" will be
+used as profile."
+ :type '(choice (const :tag "Automatic" nil)
+ (string :tag "Profile"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+
+(defun flycheck-erlang-rebar3-get-profile ()
+ "Return rebar3 profile.
+
+Use flycheck-erlang-rebar3-profile if set, otherwise use test or eqc profile if
+directory name is \"test\" or \"eqc\", or else \"default\"."
+ (or
+ flycheck-erlang-rebar3-profile
+ (with-no-warnings
+ ;; `seq-contains-p' is only in seq >= 2.21
+ (seq-contains '("test" "eqc")
+ (and buffer-file-name
+ (file-name-base
+ (directory-file-name
+ (file-name-directory buffer-file-name))))))
+ "default"))
+
+(flycheck-define-checker erlang-rebar3
+ "An Erlang syntax checker using the rebar3 build tool."
+ :command ("rebar3" "as" (eval (flycheck-erlang-rebar3-get-profile)) "compile")
+ :error-parser flycheck-parse-with-patterns-without-color
+ :error-patterns
+ ((warning line-start
+ (file-name) ":" line ": Warning:" (message) line-end)
+ (error line-start
+ (file-name) ":" line ": " (message) line-end))
+ :modes erlang-mode
+ :enabled flycheck-rebar3-project-root
+ :predicate flycheck-buffer-saved-p
+ :working-directory flycheck-rebar3-project-root)
+
+(flycheck-define-checker eruby-erubis
+ "An eRuby syntax checker using the `erubis' command.
+
+See URL `http://www.kuwata-lab.com/erubis/'."
+ :command ("erubis" "-z" source)
+ :error-patterns
+ ((error line-start (file-name) ":" line ": " (message) line-end))
+ :modes (html-erb-mode rhtml-mode)
+ :next-checkers ((warning . eruby-ruumba)))
+
+(flycheck-def-config-file-var flycheck-ruumbarc eruby-ruumba ".ruumba.yml")
+
+(flycheck-def-option-var flycheck-ruumba-lint-only nil eruby-ruumba
+ "Whether to only report code issues in Ruumba.
+
+When non-nil, only report code issues in Ruumba, via `--lint'.
+Otherwise report style issues as well."
+ :safe #'booleanp
+ :type 'boolean
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker eruby-ruumba
+ "An eRuby syntax and style checker using the Ruumba tool.
+
+You need at least Ruumba 0.1.7 for this syntax checker.
+
+See URL `https://github.com/ericqweinstein/ruumba'."
+ :command ("ruumba"
+ "--display-cop-names"
+ "--force-exclusion"
+ "--format" "emacs"
+ "--cache" "false"
+ (config-file "--config" flycheck-ruumbarc)
+ (option-flag "--lint" flycheck-ruumba-lint-only)
+ ;; Ruumba takes the original file name as argument when reading
+ ;; from standard input
+ "--stdin" source-original)
+ :standard-input t
+ :working-directory flycheck-ruby--find-project-root
+ :error-patterns
+ ((info line-start (file-name) ":" line ":" column ": C: "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message) line-end)
+ (warning line-start (file-name) ":" line ":" column ": W: "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message)
+ line-end)
+ (error line-start (file-name) ":" line ":" column ": " (or "E" "F") ": "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message)
+ line-end))
+ :modes (html-erb-mode rhtml-mode))
+
+(flycheck-def-args-var flycheck-gfortran-args fortran-gfortran
+ :package-version '(flycheck . "0.22"))
+
+(flycheck-def-option-var flycheck-gfortran-include-path nil fortran-gfortran
+ "A list of include directories for GCC Fortran.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of gcc.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gfortran-language-standard "f95"
+ fortran-gfortran
+ "The language standard to use in GFortran.
+
+The value of this variable is either a string denoting a language
+standard, or nil, to use the default standard. When non-nil,
+pass the language standard via the `-std' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-def-option-var flycheck-gfortran-layout nil fortran-gfortran
+ "The source code layout to use in GFortran.
+
+The value of this variable is one of the following symbols:
+
+nil
+ Let gfortran determine the layout from the extension
+
+`free'
+ Use free form layout
+
+
+`fixed'
+ Use fixed form layout
+
+In any other case, an error is signaled."
+ :type '(choice (const :tag "Guess layout from extension" nil)
+ (const :tag "Free form layout" free)
+ (const :tag "Fixed form layout" fixed))
+ :safe (lambda (value) (or (not value) (memq value '(free fixed))))
+ :package-version '(flycheck . "0.20"))
+
+(defun flycheck-option-gfortran-layout (value)
+ "Option VALUE filter for `flycheck-gfortran-layout'."
+ (pcase value
+ (`nil nil)
+ (`free "free-form")
+ (`fixed "fixed-form")
+ (_ (error "Invalid value for flycheck-gfortran-layout: %S" value))))
+
+(flycheck-def-option-var flycheck-gfortran-warnings '("all" "extra")
+ fortran-gfortran
+ "A list of warnings for GCC Fortran.
+
+The value of this variable is a list of strings, where each string
+is the name of a warning category to enable. By default, all
+recommended warnings and some extra warnings are enabled (as by
+`-Wall' and `-Wextra' respectively).
+
+Refer to the gfortran manual at URL
+`https://gcc.gnu.org/onlinedocs/gfortran/' for more information
+about warnings"
+ :type '(choice (const :tag "No additional warnings" nil)
+ (repeat :tag "Additional warnings"
+ (string :tag "Warning name")))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-define-checker fortran-gfortran
+ "An Fortran syntax checker using GCC.
+
+Uses GCC's Fortran compiler gfortran. See URL
+`https://gcc.gnu.org/onlinedocs/gfortran/'."
+ :command ("gfortran"
+ "-fsyntax-only"
+ "-fshow-column"
+ ;; Do not visually indicate the source location
+ "-fno-diagnostics-show-caret"
+ ;; Do not show the corresponding warning group
+ "-fno-diagnostics-show-option"
+ ;; Fortran has similar include processing as C/C++
+ "-iquote" (eval (flycheck-c/c++-quoted-include-directory))
+ (option "-std=" flycheck-gfortran-language-standard concat)
+ (option "-f" flycheck-gfortran-layout concat
+ flycheck-option-gfortran-layout)
+ (option-list "-W" flycheck-gfortran-warnings concat)
+ (option-list "-I" flycheck-gfortran-include-path concat)
+ (eval flycheck-gfortran-args)
+ source)
+ :error-patterns
+ ((error line-start (file-name) ":" line (or ":" ".") column (or ": " ":\n")
+ (or (= 3 (zero-or-more not-newline) "\n") "")
+ (or "Error" "Fatal Error") ": "
+ (message) line-end)
+ (warning line-start (file-name) ":" line (or ":" ".") column (or ": " ":\n")
+ (or (= 3 (zero-or-more not-newline) "\n") "")
+ "Warning: " (message) line-end))
+ :modes (fortran-mode f90-mode))
+
+(flycheck-define-checker go-gofmt
+ "A Go syntax and style checker using the gofmt utility.
+
+See URL `https://golang.org/cmd/gofmt/'."
+ :command ("gofmt")
+ :standard-input t
+ :error-patterns
+ ((error line-start "<standard input>:" line ":" column ": "
+ (message) line-end))
+ :modes go-mode
+ :next-checkers ((warning . go-golint)
+ ;; Fall back, if go-golint doesn't exist
+ (warning . go-vet)
+ ;; Fall back, if go-vet doesn't exist
+ (warning . go-build) (warning . go-test)
+ (warning . go-errcheck)
+ (warning . go-unconvert)
+ (warning . go-staticcheck)))
+
+(flycheck-define-checker go-golint
+ "A Go style checker using Golint.
+
+See URL `https://github.com/golang/lint'."
+ :command ("golint" source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ": " (message) line-end))
+ :modes go-mode
+ :next-checkers (go-vet
+ ;; Fall back, if go-vet doesn't exist
+ go-build go-test go-errcheck go-unconvert))
+
+(flycheck-def-option-var flycheck-go-vet-print-functions nil go-vet
+ "A list of print-like functions for `go vet'.
+
+Go vet will check these functions for format string problems and
+issues, such as a mismatch between the number of formats used,
+and the number of arguments given.
+
+Each entry is in the form Name:N where N is the zero-based
+argument position of the first argument involved in the print:
+either the format or the first print argument for non-formatted
+prints. For example, if you have Warn and Warnf functions that
+take an io.Writer as their first argument, like Fprintf,
+-printfuncs=Warn:1,Warnf:1 "
+ :type '(repeat :tag "print-like functions"
+ (string :tag "function"))
+ :safe #'flycheck-string-list-p)
+
+(flycheck-define-checker go-vet
+ "A Go syntax checker using the `go vet' command.
+
+See URL `https://golang.org/cmd/go/' and URL
+`https://golang.org/cmd/vet/'."
+ :command ("go" "vet"
+ (option "-printf.funcs=" flycheck-go-vet-print-functions concat
+ flycheck-option-comma-separated-list)
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ": " (message) line-end))
+ :modes go-mode
+ :next-checkers (go-build
+ go-test
+ ;; Fall back if `go build' or `go test' can be used
+ go-errcheck
+ go-unconvert
+ go-staticcheck)
+ :verify (lambda (_)
+ (let* ((go (flycheck-checker-executable 'go-vet))
+ (have-vet (member "vet" (ignore-errors
+ (process-lines go "tool")))))
+ (list
+ (flycheck-verification-result-new
+ :label "go tool vet"
+ :message (if have-vet "present" "missing")
+ :face (if have-vet 'success '(bold error)))))))
+
+(flycheck-def-option-var flycheck-go-build-install-deps nil (go-build go-test)
+ "Whether to install dependencies in `go build' and `go test'.
+
+If non-nil automatically install dependencies with `go build'
+while syntax checking."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.25"))
+
+(flycheck-def-option-var flycheck-go-build-tags nil
+ (go-build go-test go-errcheck go-staticcheck)
+ "A list of tags for `go build'.
+
+Each item is a string with a tag to be given to `go build'."
+ :type '(repeat (string :tag "Tag"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.25"))
+
+
+(flycheck-def-option-var flycheck-go-version nil go-staticcheck
+ "The version of go that should be targeted by `staticcheck'.
+
+Should be a string representing a version, like 1.6 or 1.11.4.
+See `https://staticcheck.io/docs/#targeting-go-versions' for
+details."
+ :type '(choice (const :tag "Unspecified" nil)
+ (string :tag "Version"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.32"))
+
+(flycheck-define-checker go-build
+ "A Go syntax and type checker using the `go build' command.
+
+Requires Go 1.6 or newer. See URL `https://golang.org/cmd/go'."
+ :command ("go" "build"
+ (option-flag "-i" flycheck-go-build-install-deps)
+ ;; multiple tags are listed as "dev debug ..."
+ (option-list "-tags=" flycheck-go-build-tags concat)
+ "-o" null-device)
+ :error-patterns
+ ((error line-start (file-name) ":" line ":"
+ (optional column ":") " "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n\t" (one-or-more not-newline)))
+ line-end)
+ ;; Catch error message about multiple packages in a directory, which doesn't
+ ;; follow the standard error message format.
+ (info line-start
+ (message "can't load package: package "
+ (one-or-more (not (any ?: ?\n)))
+ ": found packages "
+ (one-or-more not-newline))
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (dolist (error errors)
+ (unless (flycheck-error-line error)
+ ;; Flycheck ignores errors without line numbers, but the error
+ ;; message about multiple packages in a directory doesn't come with a
+ ;; line number, so inject a fake one.
+ (setf (flycheck-error-line error) 1)))
+ errors)
+ :modes go-mode
+ :predicate (lambda ()
+ (and (flycheck-buffer-saved-p)
+ (not (string-suffix-p "_test.go" (buffer-file-name)))))
+ :next-checkers ((warning . go-errcheck)
+ (warning . go-unconvert)
+ (warning . go-staticcheck)))
+
+(flycheck-define-checker go-test
+ "A Go syntax and type checker using the `go test' command.
+
+Requires Go 1.6 or newer. See URL `https://golang.org/cmd/go'."
+ :command ("go" "test"
+ (option-flag "-i" flycheck-go-build-install-deps)
+ (option-list "-tags=" flycheck-go-build-tags concat)
+ "-c" "-o" null-device)
+ :error-patterns
+ ((error line-start (file-name) ":" line ":"
+ (optional column ":") " "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n\t" (one-or-more not-newline)))
+ line-end))
+ :modes go-mode
+ :predicate
+ (lambda () (and (flycheck-buffer-saved-p)
+ (string-suffix-p "_test.go" (buffer-file-name))))
+ :next-checkers ((warning . go-errcheck)
+ (warning . go-unconvert)
+ (warning . go-staticcheck)))
+
+(flycheck-define-checker go-errcheck
+ "A Go checker for unchecked errors.
+
+Requires errcheck newer than commit 8515d34 (Aug 28th, 2015).
+
+See URL `https://github.com/kisielk/errcheck'."
+ :command ("errcheck"
+ "-abspath"
+ (option-list "-tags=" flycheck-go-build-tags concat)
+ ".")
+ :error-patterns
+ ((warning line-start
+ (file-name) ":" line ":" column (or (one-or-more "\t") ": " ":\t")
+ (message)
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (let ((errors (flycheck-sanitize-errors errors)))
+ (dolist (err errors)
+ (-when-let (message (flycheck-error-message err))
+ ;; Improve the messages reported by errcheck to make them more clear.
+ (setf (flycheck-error-message err)
+ (format "Ignored `error` returned from `%s`" message)))))
+ errors)
+ :modes go-mode
+ :predicate (lambda () (flycheck-buffer-saved-p))
+ :next-checkers ((warning . go-unconvert)
+ (warning . go-staticcheck)))
+
+(flycheck-define-checker go-unconvert
+ "A Go checker looking for unnecessary type conversions.
+
+See URL `https://github.com/mdempsky/unconvert'."
+ :command ("unconvert" ".")
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ": " (message) line-end))
+ :modes go-mode
+ :predicate (lambda () (flycheck-buffer-saved-p)))
+
+(flycheck-define-checker go-staticcheck
+ "A Go checker that performs static analysis and linting using
+the `staticcheck' command.
+
+`staticcheck' is explicitly fully compatible with \"the last two
+versions of go\". `staticheck' can target earlier versions (with
+limited features) if `flycheck-go-version' is set. See URL
+`https://staticcheck.io/'."
+ :command ("staticcheck" "-f" "json"
+ (option-list "-tags" flycheck-go-build-tags concat)
+ (option "-go" flycheck-go-version))
+
+ :error-parser flycheck-parse-go-staticcheck
+ :modes go-mode)
+
+(flycheck-define-checker groovy
+ "A groovy syntax checker using groovy compiler API.
+
+See URL `http://www.groovy-lang.org'."
+ :command ("groovy" "-e"
+ "import org.codehaus.groovy.control.*
+
+unit = new CompilationUnit()
+unit.addSource(\"input\", System.in)
+
+try {
+ unit.compile(Phases.CONVERSION)
+} catch (MultipleCompilationErrorsException e) {
+ e.errorCollector.write(new PrintWriter(System.out, true), null)
+}")
+ :standard-input t
+ :error-patterns
+ ((error line-start "input: " line ":" (message)
+ " @ line " line ", column " column "." line-end))
+ :modes groovy-mode)
+
+(flycheck-define-checker haml
+ "A Haml syntax checker using the Haml compiler.
+
+See URL `http://haml.info'."
+ :command ("haml" "-c" "--stdin")
+ :standard-input t
+ :error-patterns
+ ((error line-start "Syntax error on line " line ": " (message) line-end)
+ (error line-start ":" line ": syntax error, " (message) line-end))
+ :modes haml-mode)
+
+(flycheck-define-checker handlebars
+ "A Handlebars syntax checker using the Handlebars compiler.
+
+See URL `http://handlebarsjs.com/'."
+ :command ("handlebars" "-i-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "Error: Parse error on line " line ":" (optional "\r") "\n"
+ (zero-or-more not-newline) "\n" (zero-or-more not-newline) "\n"
+ (message) line-end))
+ :modes (handlebars-mode handlebars-sgml-mode web-mode)
+ :predicate
+ (lambda ()
+ (if (eq major-mode 'web-mode)
+ ;; Check if this is a handlebars file since web-mode does not store the
+ ;; non-canonical engine name
+ (let* ((regexp-alist (bound-and-true-p web-mode-engine-file-regexps))
+ (pattern (cdr (assoc "handlebars" regexp-alist))))
+ (and pattern (buffer-file-name)
+ (string-match-p pattern (buffer-file-name))))
+ t)))
+
+(defconst flycheck-haskell-module-re
+ (rx line-start (zero-or-more (or "\n" (any space)))
+ "module" (one-or-more (or "\n" (any space)))
+ (group (one-or-more (not (any space "(" "\n")))))
+ "Regular expression for a Haskell module name.")
+
+(flycheck-def-args-var flycheck-ghc-args (haskell-stack-ghc haskell-ghc)
+ :package-version '(flycheck . "0.22"))
+
+(flycheck-def-option-var flycheck-ghc-stack-use-nix nil haskell-stack-ghc
+ "Whether to enable nix support in stack.
+
+When non-nil, stack will append '--nix' flag to any call."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "26"))
+
+(flycheck-def-option-var flycheck-ghc-stack-project-file nil haskell-stack-ghc
+ "Override project stack.yaml file.
+
+The value of this variable is a file path that refers to a yaml
+file for the current stack project. Relative file paths are
+resolved against the checker's working directory. When non-nil,
+stack will get overridden value via `--stack-yaml'."
+ :type '(choice (const :tag "Unspecified" nil)
+ (file :tag "Project file"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-def-option-var flycheck-ghc-no-user-package-database nil haskell-ghc
+ "Whether to disable the user package database in GHC.
+
+When non-nil, disable the user package database in GHC, via
+`-no-user-package-db'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-def-option-var flycheck-ghc-package-databases nil haskell-ghc
+ "Additional module databases for GHC.
+
+The value of this variable is a list of strings, where each
+string is a directory of a package database. Each package
+database is given to GHC via `-package-db'."
+ :type '(repeat (directory :tag "Package database"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-def-option-var flycheck-ghc-search-path nil
+ (haskell-stack-ghc haskell-ghc)
+ "Module search path for (Stack) GHC.
+
+The value of this variable is a list of strings, where each
+string is a directory containing Haskell modules. Each directory
+is added to the GHC search path via `-i'."
+ :type '(repeat (directory :tag "Module directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-def-option-var flycheck-ghc-language-extensions nil
+ (haskell-stack-ghc haskell-ghc)
+ "Language extensions for (Stack) GHC.
+
+The value of this variable is a list of strings, where each
+string is a Haskell language extension, as in the LANGUAGE
+pragma. Each extension is enabled via `-X'."
+ :type '(repeat (string :tag "Language extension"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.19"))
+
+(defvar flycheck-haskell-ghc-cache-directory nil
+ "The cache directory for `ghc' output.")
+
+(defun flycheck-haskell-ghc-cache-directory ()
+ "Get the cache location for `ghc' output.
+
+If no cache directory exists yet, create one and return it.
+Otherwise return the previously used cache directory."
+ (setq flycheck-haskell-ghc-cache-directory
+ (or flycheck-haskell-ghc-cache-directory
+ (make-temp-file "flycheck-haskell-ghc-cache" 'directory))))
+
+(defun flycheck--locate-dominating-file-matching (directory regexp)
+ "Search for a file in directory hierarchy starting at DIRECTORY.
+
+Look up the directory hierarchy from DIRECTORY for a directory
+containing a file that matches REGEXP."
+ (locate-dominating-file
+ directory
+ (lambda (dir)
+ (directory-files dir nil regexp t))))
+
+(defun flycheck-haskell--find-stack-default-directory ()
+ "Find a directory to run haskell-stack-ghc.
+
+Return a parent directory with a stack*.y[a]ml file, or the
+directory returned by \"stack path --project-root\"."
+ (or
+ (when (buffer-file-name)
+ (flycheck--locate-dominating-file-matching
+ (file-name-directory (buffer-file-name))
+ (rx "stack" (* any) "." (or "yml" "yaml") eos)))
+ (-when-let* ((stack (funcall flycheck-executable-find "stack"))
+ (output (ignore-errors
+ (process-lines stack
+ "--no-install-ghc"
+ "path" "--project-root")))
+ (stack-dir (car output)))
+ (and (file-directory-p stack-dir) stack-dir))))
+
+(defun flycheck-haskell--ghc-find-default-directory (_checker)
+ "Find a parent directory containing a cabal or package.yaml file."
+ (when (buffer-file-name)
+ (flycheck--locate-dominating-file-matching
+ (file-name-directory (buffer-file-name))
+ "\\.cabal\\'\\|\\`package\\.yaml\\'")))
+
+(flycheck-define-checker haskell-stack-ghc
+ "A Haskell syntax and type checker using `stack ghc'.
+
+See URL `https://github.com/commercialhaskell/stack'."
+ :command ("stack"
+ "--no-install-ghc"
+ (option "--stack-yaml" flycheck-ghc-stack-project-file)
+ (option-flag "--nix" flycheck-ghc-stack-use-nix)
+ "ghc" "--" "-Wall" "-no-link"
+ "-outputdir" (eval (flycheck-haskell-ghc-cache-directory))
+ (option-list "-X" flycheck-ghc-language-extensions concat)
+ (option-list "-i" flycheck-ghc-search-path concat)
+ (eval (concat
+ "-i"
+ (flycheck-module-root-directory
+ (flycheck-find-in-buffer flycheck-haskell-module-re))))
+ (eval flycheck-ghc-args)
+ "-x" (eval
+ (pcase major-mode
+ (`haskell-mode "hs")
+ (`haskell-literate-mode "lhs")))
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ":"
+ (or " " "\n ") (in "Ww") "arning:"
+ (optional " " "[" (id (one-or-more not-newline)) "]")
+ (optional "\n")
+ (message
+ (one-or-more " ") (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more (not (any ?\n ?|)))))
+ line-end)
+ (error line-start (file-name) ":" line ":" column ":" (optional " error:")
+ (or (message (one-or-more not-newline))
+ (and "\n"
+ (message
+ (one-or-more " ") (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more (not (any ?\n ?|)))))))
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors (flycheck-dedent-error-messages errors)))
+ :modes (haskell-mode haskell-literate-mode)
+ :next-checkers ((warning . haskell-hlint))
+ :working-directory (lambda (_)
+ (flycheck-haskell--find-stack-default-directory))
+ :enabled flycheck-haskell--find-stack-default-directory
+ :verify (lambda (_)
+ (let* ((stack (flycheck-haskell--find-stack-default-directory)))
+ (list
+ (flycheck-verification-result-new
+ :label "stack config"
+ :message (or stack "Not found")
+ :face (if stack 'success '(bold error)))))))
+
+(flycheck-define-checker haskell-ghc
+ "A Haskell syntax and type checker using ghc.
+
+See URL `https://www.haskell.org/ghc/'."
+ :command ("ghc" "-Wall" "-no-link"
+ "-outputdir" (eval (flycheck-haskell-ghc-cache-directory))
+ (option-flag "-no-user-package-db"
+ flycheck-ghc-no-user-package-database)
+ (option-list "-package-db" flycheck-ghc-package-databases)
+ (option-list "-i" flycheck-ghc-search-path concat)
+ ;; Include the parent directory of the current module tree, to
+ ;; properly resolve local imports
+ (eval (concat
+ "-i"
+ (flycheck-module-root-directory
+ (flycheck-find-in-buffer flycheck-haskell-module-re))))
+ (option-list "-X" flycheck-ghc-language-extensions concat)
+ (eval flycheck-ghc-args)
+ "-x" (eval
+ (pcase major-mode
+ (`haskell-mode "hs")
+ (`haskell-literate-mode "lhs")))
+ source)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ":"
+ (or " " "\n ") (in "Ww") "arning:"
+ (optional " " "[" (id (one-or-more not-newline)) "]")
+ (optional "\n")
+ (message
+ (one-or-more " ") (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more (not (any ?\n ?|)))))
+ line-end)
+ (error line-start (file-name) ":" line ":" column ":" (optional " error:")
+ (or (message (one-or-more not-newline))
+ (and "\n"
+ (message
+ (one-or-more " ") (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more (not (any ?\n ?|)))))))
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors (flycheck-dedent-error-messages errors)))
+ :modes (haskell-mode haskell-literate-mode)
+ :next-checkers ((warning . haskell-hlint))
+ :working-directory flycheck-haskell--ghc-find-default-directory)
+
+(flycheck-def-config-file-var flycheck-hlintrc haskell-hlint "HLint.hs")
+
+(flycheck-def-args-var flycheck-hlint-args haskell-hlint
+ :package-version '(flycheck . "0.25"))
+
+(flycheck-def-option-var flycheck-hlint-language-extensions
+ nil haskell-hlint
+ "Extensions list to enable for hlint.
+
+The value of this variable is a list of strings, where each
+string is a name of extension to enable in
+hlint (e.g. \"QuasiQuotes\")."
+ :type '(repeat :tag "Extensions" (string :tag "Extension"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-def-option-var flycheck-hlint-ignore-rules
+ nil haskell-hlint
+ "Ignore rules list for hlint checks.
+
+The value of this variable is a list of strings, where each
+string is an ignore rule (e.g. \"Use fmap\")."
+ :type '(repeat :tag "Ignore rules" (string :tag "Ignore rule"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-def-option-var flycheck-hlint-hint-packages
+ nil haskell-hlint
+ "Hint packages to include for hlint checks.
+
+The value of this variable is a list of strings, where each
+string is a default hint package (e.g. (\"Generalise\"
+\"Default\" \"Dollar\"))."
+ :type '(repeat :tag "Hint packages" (string :tag "Hint package"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-define-checker haskell-hlint
+ "A Haskell style checker using hlint.
+
+See URL `https://github.com/ndmitchell/hlint'."
+ :command ("hlint"
+ (option-list "-X" flycheck-hlint-language-extensions concat)
+ (option-list "-i=" flycheck-hlint-ignore-rules concat)
+ (option-list "-h" flycheck-hlint-hint-packages concat)
+ (config-file "-h" flycheck-hlintrc)
+ (eval flycheck-hlint-args)
+ source-inplace)
+ :error-patterns
+ ((info line-start
+ (file-name) ":" line ":" column
+ ": Suggestion: "
+ (message (one-or-more (and (one-or-more (not (any ?\n))) ?\n)))
+ line-end)
+ (warning line-start
+ (file-name) ":" line ":" column
+ ": Warning: "
+ (message (one-or-more (and (one-or-more (not (any ?\n))) ?\n)))
+ line-end)
+ (error line-start
+ (file-name) ":" line ":" column
+ ": Error: "
+ (message (one-or-more (and (one-or-more (not (any ?\n))) ?\n)))
+ line-end))
+ :modes (haskell-mode haskell-literate-mode))
+
+(flycheck-def-config-file-var flycheck-tidyrc html-tidy ".tidyrc")
+
+(flycheck-define-checker html-tidy
+ "A HTML syntax and style checker using Tidy.
+
+See URL `https://github.com/htacg/tidy-html5'."
+ :command ("tidy" (config-file "-config" flycheck-tidyrc)
+ "-lang" "en"
+ "-e" "-q")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "line " line
+ " column " column
+ " - Error: " (message) line-end)
+ (warning line-start
+ "line " line
+ " column " column
+ " - Warning: " (message) line-end))
+ :modes (html-mode mhtml-mode nxhtml-mode))
+
+(flycheck-def-config-file-var flycheck-jshintrc javascript-jshint ".jshintrc")
+
+(flycheck-def-option-var flycheck-jshint-extract-javascript nil
+ javascript-jshint
+ "Whether jshint should extract Javascript from HTML.
+
+If nil no extract rule is given to jshint. If `auto' only
+extract Javascript if a HTML file is detected. If `always' or
+`never' extract Javascript always or never respectively.
+
+Refer to the jshint manual at the URL
+`http://jshint.com/docs/cli/#flags' for more information."
+ :type
+ '(choice (const :tag "No extraction rule" nil)
+ (const :tag "Try to extract Javascript when detecting HTML files"
+ auto)
+ (const :tag "Always try to extract Javascript" always)
+ (const :tag "Never try to extract Javascript" never))
+ :safe #'symbolp
+ :package-version '(flycheck . "26"))
+
+(flycheck-define-checker javascript-jshint
+ "A Javascript syntax and style checker using jshint.
+
+See URL `http://www.jshint.com'."
+ :command ("jshint" "--reporter=checkstyle"
+ "--filename" source-original
+ (config-file "--config" flycheck-jshintrc)
+ (option "--extract=" flycheck-jshint-extract-javascript
+ concat flycheck-option-symbol)
+ "-")
+ :standard-input t
+ :error-parser flycheck-parse-checkstyle
+ :error-filter
+ (lambda (errors)
+ (flycheck-remove-error-file-names
+ "stdin" (flycheck-dequalify-error-ids errors)))
+ :modes (js-mode js2-mode js3-mode rjsx-mode))
+
+(flycheck-def-args-var flycheck-eslint-args javascript-eslint
+ :package-version '(flycheck . "32"))
+
+(flycheck-def-option-var flycheck-eslint-rules-directories nil javascript-eslint
+ "A list of directories with custom rules for ESLint.
+
+The value of this variable is a list of strings, where each
+string is a directory with custom rules for ESLint.
+
+Refer to the ESLint manual at URL
+`http://eslint.org/docs/user-guide/command-line-interface#--rulesdir'
+for more information about the custom directories."
+ :type '(repeat (directory :tag "Custom rules directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "29"))
+
+(defun flycheck-eslint-config-exists-p ()
+ "Whether there is a valid eslint config for the current buffer."
+ (let* ((executable (flycheck-find-checker-executable 'javascript-eslint))
+ (exitcode (and executable
+ (call-process executable nil nil nil
+ "--print-config" (or buffer-file-name
+ "index.js")))))
+ (eq exitcode 0)))
+
+(defun flycheck-parse-eslint (output checker buffer)
+ "Parse ESLint errors/warnings from JSON OUTPUT.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://eslint.org' for more information about ESLint."
+ (mapcar (lambda (err)
+ (let-alist err
+ (flycheck-error-new-at
+ .line
+ .column
+ (pcase .severity
+ (2 'error)
+ (1 'warning)
+ (_ 'warning))
+ .message
+ :id .ruleId
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer)
+ :end-line .endLine
+ :end-column .endColumn)))
+ (let-alist (caar (flycheck-parse-json output))
+ .messages)))
+
+(defun flycheck-eslint--find-working-directory (_checker)
+ "Look for a working directory to run ESLint CHECKER in.
+
+This will be the directory that contains the `node_modules'
+directory. If no such directory is found in the directory
+hierarchy, it looks first for `.eslintignore' and then for
+`.eslintrc' files to detect the project root."
+ (let* ((regex-config (concat "\\`\\.eslintrc"
+ "\\(\\.\\(js\\|ya?ml\\|json\\)\\)?\\'")))
+ (when buffer-file-name
+ (or (locate-dominating-file buffer-file-name "node_modules")
+ (locate-dominating-file buffer-file-name ".eslintignore")
+ (locate-dominating-file
+ (file-name-directory buffer-file-name)
+ (lambda (directory)
+ (> (length (directory-files directory nil regex-config t)) 0)))))))
+
+(flycheck-define-checker javascript-eslint
+ "A Javascript syntax and style checker using eslint.
+
+See URL `https://eslint.org/'."
+ :command ("eslint" "--format=json"
+ (option-list "--rulesdir" flycheck-eslint-rules-directories)
+ (eval flycheck-eslint-args)
+ "--stdin" "--stdin-filename" source-original)
+ :standard-input t
+ :error-parser flycheck-parse-eslint
+ :enabled (lambda () (flycheck-eslint-config-exists-p))
+ :modes (js-mode js-jsx-mode js2-mode js2-jsx-mode js3-mode rjsx-mode
+ typescript-mode)
+ :working-directory flycheck-eslint--find-working-directory
+ :verify
+ (lambda (_)
+ (let* ((default-directory
+ (flycheck-compute-working-directory 'javascript-eslint))
+ (have-config (flycheck-eslint-config-exists-p)))
+ (list
+ (flycheck-verification-result-new
+ :label "config file"
+ :message (if have-config "found" "missing or incorrect")
+ :face (if have-config 'success '(bold error)))))))
+
+(flycheck-define-checker javascript-standard
+ "A Javascript code and style checker for the (Semi-)Standard Style.
+
+This checker works with `standard' and `semistandard', defaulting
+to the former. To use it with the latter, set
+`flycheck-javascript-standard-executable' to `semistandard'.
+
+See URL `https://github.com/standard/standard' and URL
+`https://github.com/Flet/semistandard'."
+ :command ("standard" "--stdin")
+ :standard-input t
+ :error-patterns
+ ((error line-start " <text>:" line ":" column ":" (message) line-end))
+ :modes (js-mode js-jsx-mode js2-mode js2-jsx-mode js3-mode rjsx-mode))
+
+(flycheck-define-checker json-jsonlint
+ "A JSON syntax and style checker using jsonlint.
+
+See URL `https://github.com/zaach/jsonlint'."
+ ;; We can't use standard input for jsonlint, because it doesn't output errors
+ ;; anymore when using -c -q with standard input :/
+ :command ("jsonlint" "-c" "-q" source)
+ :error-patterns
+ ((error line-start
+ (file-name)
+ ": line " line
+ ", col " column ", "
+ (message) line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors (flycheck-increment-error-columns errors)))
+ :modes json-mode)
+
+(flycheck-define-checker json-python-json
+ "A JSON syntax checker using Python json.tool module.
+
+See URL `https://docs.python.org/3.5/library/json.html#command-line-interface'."
+ :command ("python3" "-m" "json.tool" source
+ ;; Send the pretty-printed output to the null device
+ null-device)
+ :error-patterns
+ ((error line-start
+ (message) ": line " line " column " column
+ ;; Ignore the rest of the line which shows the char position.
+ (one-or-more not-newline)
+ line-end))
+ :modes json-mode
+ ;; The JSON parser chokes if the buffer is empty and has no JSON inside
+ :predicate flycheck-buffer-nonempty-p)
+
+(flycheck-define-checker json-jq
+ "JSON checker using the jq tool.
+
+This checker accepts multiple consecutive JSON values in a
+single input, which is useful for jsonlines data.
+
+See URL `https://stedolan.github.io/jq/'."
+ :command ("jq" "." source null-device)
+ ;; Example error message:
+ ;; parse error: Expected another key-value pair at line 3, column 1
+ :error-patterns
+ ((error line-start
+ (optional "parse error: ")
+ (message) "at line " line ", column " column
+ (zero-or-more not-newline) line-end))
+ :modes json-mode)
+
+(flycheck-define-checker jsonnet
+ "A Jsonnet syntax checker using the jsonnet binary.
+
+See URL `https://jsonnet.org'."
+ :command ("jsonnet" source-inplace)
+ :error-patterns
+ ((error line-start "STATIC ERROR: " (file-name) ":"
+ (or (seq line ":" column (zero-or-one (seq "-" end-column)))
+ (seq "(" line ":" column ")" "-"
+ "(" end-line ":" end-column ")"))
+ ": " (message) line-end)
+ (error line-start "RUNTIME ERROR: " (message) "\n"
+ (? "\t" (file-name) ":" ;; first line of the backtrace
+ (or (seq line ":" column (zero-or-one (seq "-" end-column)))
+ (seq "(" line ":" column ")" "-"
+ "(" end-line ":" end-column ")")))))
+ :error-filter
+ (lambda (errs)
+ ;; Some errors are missing line numbers. See URL
+ ;; `https://github.com/google/jsonnet/issues/786'.
+ (dolist (err errs)
+ (unless (flycheck-error-line err)
+ (setf (flycheck-error-line err) 1)))
+ (flycheck-sanitize-errors errs))
+ :modes jsonnet-mode)
+
+(flycheck-define-checker less
+ "A LESS syntax checker using lessc.
+
+Requires lessc 1.4 or newer.
+
+See URL `http://lesscss.org'."
+ :command ("lessc" "--lint" "--no-color"
+ "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start (one-or-more word) ":"
+ (message)
+ " in - on line " line
+ ", column " column ":"
+ line-end))
+ :modes less-css-mode)
+
+(flycheck-define-checker less-stylelint
+ "A LESS syntax and style checker using stylelint.
+
+See URL `http://stylelint.io/'."
+ :command ("stylelint"
+ (eval flycheck-stylelint-args)
+ "--syntax" "less"
+ (option-flag "--quiet" flycheck-stylelint-quiet)
+ (config-file "--config" flycheck-stylelintrc))
+ :standard-input t
+ :error-parser flycheck-parse-stylelint
+ :predicate flycheck-buffer-nonempty-p
+ :modes (less-css-mode))
+
+(flycheck-define-checker llvm-llc
+ "Flycheck LLVM IR checker using llc.
+
+See URL `http://llvm.org/docs/CommandGuide/llc.html'."
+ :command ("llc" "-o" null-device source)
+ :error-patterns
+ ((error line-start
+ ;; llc prints the executable path
+ (zero-or-one (minimal-match (one-or-more not-newline)) ": ")
+ (file-name) ":" line ":" column ": error: " (message)
+ line-end))
+ :error-filter
+ (lambda (errors)
+ ;; sanitize errors occurring in inline assembly
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "<inline asm>" errors)))
+ :modes llvm-mode)
+
+(flycheck-def-config-file-var flycheck-luacheckrc lua-luacheck ".luacheckrc")
+
+(flycheck-def-option-var flycheck-luacheck-standards nil lua-luacheck
+ "The standards to use in luacheck.
+
+The value of this variable is either a list of strings denoting
+the standards to use, or nil to pass nothing to luacheck. When
+non-nil, pass the standards via one or more `--std' options."
+ :type '(choice (const :tag "Default" nil)
+ (repeat :tag "Custom standards"
+ (string :tag "Standard name")))
+ :safe #'flycheck-string-list-p)
+(make-variable-buffer-local 'flycheck-luacheck-standards)
+
+(flycheck-define-checker lua-luacheck
+ "A Lua syntax checker using luacheck.
+
+See URL `https://github.com/mpeterv/luacheck'."
+ :command ("luacheck"
+ "--formatter" "plain"
+ "--codes" ; Show warning codes
+ "--no-color"
+ (option-list "--std" flycheck-luacheck-standards)
+ (config-file "--config" flycheck-luacheckrc)
+ "--filename" source-original
+ ;; Read from standard input
+ "-")
+ :standard-input t
+ :error-patterns
+ ((warning line-start
+ (optional (file-name))
+ ":" line ":" column
+ ": (" (id "W" (one-or-more digit)) ") "
+ (message) line-end)
+ (error line-start
+ (optional (file-name))
+ ":" line ":" column ":"
+ ;; `luacheck' before 0.11.0 did not output codes for errors, hence
+ ;; the ID is optional here
+ (optional " (" (id "E" (one-or-more digit)) ") ")
+ (message) line-end))
+ :modes lua-mode)
+
+(flycheck-define-checker lua
+ "A Lua syntax checker using the Lua compiler.
+
+See URL `http://www.lua.org/'."
+ :command ("luac" "-p" "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ ;; Skip the name of the luac executable.
+ (minimal-match (zero-or-more not-newline))
+ ": stdin:" line ": " (message) line-end))
+ :modes lua-mode)
+
+(flycheck-define-checker opam
+ "A Opam syntax and style checker using opam lint.
+
+See URL `https://opam.ocaml.org/doc/man/opam-lint.html'."
+ :command ("opam" "lint" "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start ; syntax error
+ (one-or-more space) "error " (id ?2)
+ ": File format error"
+ (or (and " at line " line ", column " column ": " (message))
+ (and ": " (message)))
+ line-end)
+ (error line-start
+ (one-or-more space) "error " (id ?3)
+ (minimal-match (zero-or-more not-newline))
+ "at line " line ", column " column ": " (message)
+ line-end)
+ (error line-start
+ (one-or-more space) "error " (id (one-or-more num))
+ ": " (message (one-or-more not-newline))
+ line-end)
+ (warning line-start
+ (one-or-more space) "warning " (id (one-or-more num))
+ ": " (message)
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-increment-error-columns
+ (flycheck-fill-empty-line-numbers errors)))
+ :modes tuareg-opam-mode)
+
+(flycheck-def-option-var flycheck-perl-include-path nil perl
+ "A list of include directories for Perl.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of Perl.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-def-option-var flycheck-perl-module-list nil perl
+ "A list of modules to use for Perl.
+
+The value of this variable is a list of strings, where each
+string is a module to 'use' in Perl."
+ :type '(repeat :tag "Module")
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker perl
+ "A Perl syntax checker using the Perl interpreter.
+
+See URL `https://www.perl.org'."
+ :command ("perl" "-w" "-c"
+ (option-list "-I" flycheck-perl-include-path)
+ (option-list "-M" flycheck-perl-module-list concat))
+ :standard-input t
+ :error-patterns
+ ((error line-start (minimal-match (message))
+ " at - line " line
+ (or "." (and ", " (zero-or-more not-newline))) line-end))
+ :modes (perl-mode cperl-mode)
+ :next-checkers (perl-perlcritic))
+
+(flycheck-def-option-var flycheck-perlcritic-severity nil perl-perlcritic
+ "The message severity for Perl Critic.
+
+The value of this variable is a severity level as integer, for
+the `--severity' option to Perl Critic."
+ :type '(integer :tag "Severity level")
+ :safe #'integerp
+ :package-version '(flycheck . "0.18"))
+
+(flycheck-def-option-var flycheck-perlcritic-theme nil perl-perlcritic
+ "The theme expression for Perl Critic.
+
+The value of this variable is passed as the `--theme' option to
+`Perl::Critic'. See the documentation of `Perl::Critic' for
+details."
+ :type '(choice (const :tag "None" nil)
+ (string :tag "Theme expression"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32-csv"))
+
+(flycheck-def-config-file-var flycheck-perlcriticrc perl-perlcritic
+ ".perlcriticrc"
+ :package-version '(flycheck . "26"))
+
+(flycheck-define-checker perl-perlcritic
+ "A Perl syntax checker using Perl::Critic.
+
+See URL `https://metacpan.org/pod/Perl::Critic'."
+ :command ("perlcritic" "--no-color" "--verbose" "%f/%l/%c/%s/%p/%m (%e)\n"
+ (config-file "--profile" flycheck-perlcriticrc)
+ (option "--severity" flycheck-perlcritic-severity nil
+ flycheck-option-int)
+ (option "--theme" flycheck-perlcritic-theme))
+ :standard-input t
+ :error-patterns
+ ((info line-start
+ "STDIN/" line "/" column "/" (any "1") "/"
+ (id (one-or-more (not (any "/")))) "/" (message)
+ line-end)
+ (warning line-start
+ "STDIN/" line "/" column "/" (any "234") "/"
+ (id (one-or-more (not (any "/")))) "/" (message)
+ line-end)
+ (error line-start
+ "STDIN/" line "/" column "/" (any "5") "/"
+ (id (one-or-more (not (any "/")))) "/" (message)
+ line-end))
+ :modes (cperl-mode perl-mode))
+
+(flycheck-define-checker php
+ "A PHP syntax checker using the PHP command line interpreter.
+
+See URL `http://php.net/manual/en/features.commandline.php'."
+ :command ("php" "-l" "-d" "error_reporting=E_ALL" "-d" "display_errors=1"
+ "-d" "log_errors=0" source)
+ :error-patterns
+ ((error line-start (or "Parse" "Fatal" "syntax") " error" (any ":" ",") " "
+ (message) " in " (file-name) " on line " line line-end))
+ :modes (php-mode php+-mode)
+ :next-checkers ((warning . php-phpmd)
+ (warning . php-phpcs)))
+
+(flycheck-def-option-var flycheck-phpmd-rulesets
+ '("cleancode" "codesize" "controversial" "design" "naming" "unusedcode")
+ php-phpmd
+ "The rule sets for PHP Mess Detector.
+
+Set default rule sets and custom rule set files.
+
+See section \"Using multiple rule sets\" in the PHP Mess Detector
+manual at URL `https://phpmd.org/documentation/index.html'."
+ :type '(repeat :tag "rule sets"
+ (string :tag "A filename or rule set"))
+ :safe #'flycheck-string-list-p)
+
+(flycheck-define-checker php-phpmd
+ "A PHP style checker using PHP Mess Detector.
+
+See URL `https://phpmd.org/'."
+ :command ("phpmd" source "xml"
+ (eval (flycheck-option-comma-separated-list
+ flycheck-phpmd-rulesets)))
+ :error-parser flycheck-parse-phpmd
+ :modes (php-mode php+-mode)
+ :next-checkers (php-phpcs))
+
+(flycheck-def-option-var flycheck-phpcs-standard nil php-phpcs
+ "The coding standard for PHP CodeSniffer.
+
+When nil, use the default standard from the global PHP
+CodeSniffer configuration. When set to a string, pass the string
+to PHP CodeSniffer which will interpret it as name as a standard,
+or as path to a standard specification."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Standard name or file"))
+ :safe #'flycheck-string-or-nil-p)
+
+(flycheck-define-checker php-phpcs
+ "A PHP style checker using PHP Code Sniffer.
+
+Needs PHP Code Sniffer 2.6 or newer.
+
+See URL `http://pear.php.net/package/PHP_CodeSniffer/'."
+ :command ("phpcs" "--report=checkstyle"
+ ;; Use -q flag to force quiet mode
+ ;; Quiet mode prevents errors from extra output when phpcs has
+ ;; been configured with show_progress enabled
+ "-q"
+ (option "--standard=" flycheck-phpcs-standard concat)
+ ;; Some files are not detected correctly
+ ;; so it is necessary to pass the extension.
+ (eval
+ (-when-let* ((fname buffer-file-name)
+ (ext (file-name-extension fname)))
+ (concat "--extensions=" ext)))
+
+ ;; Pass original file name to phpcs. We need to concat explicitly
+ ;; here, because phpcs really insists to get option and argument as
+ ;; a single command line argument :|
+ (eval (when (buffer-file-name)
+ (concat "--stdin-path=" (buffer-file-name))))
+ ;; Read from standard input
+ "-")
+ :standard-input t
+ :error-parser flycheck-parse-checkstyle
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "STDIN" errors)))
+ :modes (php-mode php+-mode)
+ ;; phpcs seems to choke on empty standard input, hence skip phpcs if the
+ ;; buffer is empty, see https://github.com/flycheck/flycheck/issues/907
+ :predicate flycheck-buffer-nonempty-p)
+
+(flycheck-define-checker processing
+ "Processing command line tool.
+
+See https://github.com/processing/processing/wiki/Command-Line"
+ :command ("processing-java" "--force"
+ ;; Don't change the order of these arguments, processing is pretty
+ ;; picky
+ (eval (concat "--sketch=" (file-name-directory (buffer-file-name))))
+ (eval (concat "--output=" (flycheck-temp-dir-system)))
+ "--build")
+ :error-patterns
+ ((error line-start (file-name) ":" line ":" column
+ (zero-or-more (or digit ":")) (message) line-end))
+ :modes processing-mode
+ ;; This syntax checker needs a file name
+ :predicate (lambda () (buffer-file-name)))
+
+(defun flycheck-proselint-parse-errors (output checker buffer)
+ "Parse proselint json output errors from OUTPUT.
+
+CHECKER and BUFFER denoted the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `http://proselint.com/' for more information about proselint."
+ (mapcar (lambda (err)
+ (let-alist err
+ (flycheck-error-new-at-pos
+ .start
+ (pcase .severity
+ (`"suggestion" 'info)
+ (`"warning" 'warning)
+ (`"error" 'error)
+ ;; Default to error
+ (_ 'error))
+ .message
+ :id .check
+ :buffer buffer
+ :checker checker
+ ;; See https://github.com/amperser/proselint/issues/1048
+ :end-pos .end)))
+ (let-alist (car (flycheck-parse-json output))
+ .data.errors)))
+
+(flycheck-define-checker proselint
+ "Flycheck checker using Proselint.
+
+See URL `http://proselint.com/'."
+ :command ("proselint" "--json" "-")
+ :standard-input t
+ :error-parser flycheck-proselint-parse-errors
+ :modes (text-mode markdown-mode gfm-mode message-mode org-mode))
+
+(flycheck-def-option-var flycheck-protoc-import-path nil protobuf-protoc
+ "A list of directories to resolve import directives.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the import path. Relative paths
+are relative to the file being checked."
+ :type '(repeat (directory :tag "Import directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker protobuf-protoc
+ "A protobuf syntax checker using the protoc compiler.
+
+See URL `https://developers.google.com/protocol-buffers/'."
+ :command ("protoc" "--error_format" "gcc"
+ (eval (concat "--java_out=" (flycheck-temp-dir-system)))
+ ;; Add the current directory to resolve imports
+ (eval (concat "--proto_path="
+ (file-name-directory (buffer-file-name))))
+ ;; Add other import paths; this needs to be after the current
+ ;; directory to produce the right output. See URL
+ ;; `https://github.com/flycheck/flycheck/pull/1655'
+ (option-list "--proto_path=" flycheck-protoc-import-path concat)
+ source-inplace)
+ :error-patterns
+ ((info line-start (file-name) ":" line ":" column
+ ": note: " (message) line-end)
+ (error line-start (file-name) ":" line ":" column
+ ": " (message) line-end)
+ (error line-start
+ (message "In file included from") " " (file-name) ":" line ":"
+ column ":" line-end))
+ :modes protobuf-mode
+ :predicate (lambda () (buffer-file-name)))
+
+(defun flycheck-prototool-project-root (&optional _checker)
+ "Return the nearest directory holding the prototool.yaml configuration."
+ (and buffer-file-name
+ (locate-dominating-file buffer-file-name "prototool.yaml")))
+
+(flycheck-define-checker protobuf-prototool
+ "A protobuf syntax checker using prototool.
+
+See URL `https://github.com/uber/prototool'."
+ :command ("prototool" "lint" source-original)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":" column ":" (message) line-end))
+ :modes protobuf-mode
+ :enabled flycheck-prototool-project-root
+ :predicate flycheck-buffer-saved-p)
+
+(flycheck-define-checker pug
+ "A Pug syntax checker using the pug compiler.
+
+See URL `https://pugjs.org/'."
+ :command ("pug" "-p" (eval (expand-file-name (buffer-file-name))))
+ :standard-input t
+ :error-patterns
+ ;; errors with includes/extends (e.g. missing files)
+ ((error "Error: " (message) (zero-or-more not-newline) "\n"
+ (zero-or-more not-newline) "at "
+ (zero-or-more not-newline) " line " line)
+ ;; error when placing anything other than a mixin or
+ ;; block at the top-level of an extended template
+ ;; also unknown filters
+ (error line-start "Error: " (file-name) ":"
+ line ":" column "\n\n" (message) line-end)
+ ;; syntax/runtime errors (e.g. type errors, bad indentation, etc.)
+ (error line-start
+ (optional "Type") "Error: " (file-name) ":"
+ line (optional ":" column)
+ (zero-or-more not-newline) "\n"
+ (one-or-more (or (zero-or-more not-newline) "|"
+ (zero-or-more not-newline) "\n")
+ (zero-or-more "-") (zero-or-more not-newline) "|"
+ (zero-or-more not-newline) "\n")
+ (zero-or-more not-newline) "\n"
+ (one-or-more
+ (zero-or-more not-newline) "|"
+ (zero-or-more not-newline) "\n")
+ (zero-or-more not-newline) "\n"
+ (message)
+ line-end))
+ :modes pug-mode)
+
+(flycheck-define-checker puppet-parser
+ "A Puppet DSL syntax checker using puppet's own parser.
+
+See URL `https://puppet.com/'."
+ :command ("puppet" "parser" "validate" "--color=false")
+ :standard-input t
+ :error-patterns
+ (
+ ;; Patterns for Puppet 4
+ (error line-start "Error: Could not parse for environment "
+ (one-or-more (in "a-z" "0-9" "_")) ":"
+ (message) "(line: " line ", column: " column ")" line-end)
+ ;; Errors from Puppet < 4
+ (error line-start "Error: Could not parse for environment "
+ (one-or-more (in "a-z" "0-9" "_")) ":"
+ (message (minimal-match (one-or-more anything)))
+ " at line " line line-end)
+ (error line-start
+ ;; Skip over the path of the Puppet executable
+ (minimal-match (zero-or-more not-newline))
+ ": Could not parse for environment " (one-or-more word)
+ ": " (message (minimal-match (zero-or-more anything)))
+ " at " (file-name "/" (zero-or-more not-newline)) ":" line line-end))
+ :modes puppet-mode
+ :next-checkers ((warning . puppet-lint)))
+
+(flycheck-def-config-file-var flycheck-puppet-lint-rc puppet-lint
+ ".puppet-lint.rc"
+ :package-version '(flycheck . "26"))
+
+(flycheck-def-option-var flycheck-puppet-lint-disabled-checks nil puppet-lint
+ "Disabled checkers for `puppet-lint'.
+
+The value of this variable is a list of strings, where each
+string is the name of a check to disable (e.g. \"80chars\" or
+\"double_quoted_strings\").
+
+See URL `http://puppet-lint.com/checks/' for a list of all checks
+and their names."
+ :type '(repeat (string :tag "Check Name"))
+ :package-version '(flycheck . "26"))
+
+(defun flycheck-puppet-lint-disabled-arg-name (check)
+ "Create an argument to disable a puppetlint CHECK."
+ (concat "--no-" check "-check"))
+
+(flycheck-define-checker puppet-lint
+ "A Puppet DSL style checker using puppet-lint.
+
+See URL `http://puppet-lint.com/'."
+ ;; We must check the original file, because Puppetlint is quite picky on the
+ ;; names of files and there place in the directory structure, to comply with
+ ;; Puppet's autoload directory layout. For instance, a class foo::bar is
+ ;; required to be in a file foo/bar.pp. Any other place, such as a Flycheck
+ ;; temporary file will cause an error.
+ :command ("puppet-lint"
+ (config-file "--config" flycheck-puppet-lint-rc)
+ "--log-format"
+ "%{path}:%{line}:%{kind}: %{message} (%{check})"
+ (option-list "" flycheck-puppet-lint-disabled-checks concat
+ flycheck-puppet-lint-disabled-arg-name)
+ source-original)
+ :error-patterns
+ ((warning line-start (file-name) ":" line ":warning: " (message) line-end)
+ (error line-start (file-name) ":" line ":error: " (message) line-end))
+ :modes puppet-mode
+ ;; Since we check the original file, we can only use this syntax checker if
+ ;; the buffer is actually linked to a file, and if it is not modified.
+ :predicate flycheck-buffer-saved-p)
+
+(defun flycheck-python-find-module (checker module)
+ "Check if a Python MODULE is available.
+CHECKER's executable is assumed to be a Python REPL."
+ (-when-let* ((py (flycheck-find-checker-executable checker))
+ (script (concat "import sys; sys.path.pop(0);"
+ (format "import %s; print(%s.__file__)"
+ module module))))
+ (with-temp-buffer
+ (and (eq (ignore-errors (call-process py nil t nil "-c" script)) 0)
+ (string-trim (buffer-string))))))
+
+(defun flycheck-python-needs-module-p (checker)
+ "Determines whether CHECKER needs to be invoked through Python.
+Previous versions of Flycheck called pylint and flake8 directly;
+this check ensures that we don't break existing code."
+ (not (string-match-p (rx (or "pylint" "flake8")
+ (or "-script.pyw" ".exe" ".bat" "")
+ eos)
+ (flycheck-checker-executable checker))))
+
+(defun flycheck-python-verify-module (checker module)
+ "Verify that a Python MODULE is available.
+Return nil if CHECKER's executable is not a Python REPL. This
+function's is suitable for a checker's :verify."
+ (when (flycheck-python-needs-module-p checker)
+ (let ((mod-path (flycheck-python-find-module checker module)))
+ (list (flycheck-verification-result-new
+ :label (format "`%s' module" module)
+ :message (if mod-path (format "Found at %S" mod-path) "Missing")
+ :face (if mod-path 'success '(bold error)))))))
+
+(defun flycheck-python-module-args (checker module-name)
+ "Compute arguments to pass to CHECKER's executable to run MODULE-NAME.
+Return nil if CHECKER's executable is not a Python REPL.
+Otherwise, return a list starting with -c (-m is not enough
+because it adds the current directory to Python's path)."
+ (when (flycheck-python-needs-module-p checker)
+ `("-c" ,(concat "import sys;sys.path.pop(0);import runpy;"
+ (format "runpy.run_module(%S)" module-name)))))
+
+(flycheck-def-config-file-var flycheck-flake8rc python-flake8 ".flake8rc")
+
+(flycheck-def-option-var flycheck-flake8-error-level-alist
+ '(("^E9.*$" . error) ; Syntax errors from pep8
+ ("^F82.*$" . error) ; undefined variables from pyflakes
+ ("^F83.*$" . error) ; Duplicate arguments from flake8
+ ("^D.*$" . info) ; Docstring issues from flake8-pep257
+ ("^N.*$" . info) ; Naming issues from pep8-naming
+ )
+ python-flake8
+ "An alist mapping flake8 error IDs to Flycheck error levels.
+
+Each item in this list is a cons cell `(PATTERN . LEVEL)' where
+PATTERN is a regular expression matched against the error ID, and
+LEVEL is a Flycheck error level symbol.
+
+Each PATTERN is matched in the order of appearance in this list
+against the error ID. If it matches the ID, the level of the
+corresponding error is set to LEVEL. An error that is not
+matched by any PATTERN defaults to warning level.
+
+The default value of this option matches errors from flake8
+itself and from the following flake8 plugins:
+
+- pep8-naming
+- flake8-pep257
+
+You may add your own mappings to this option in order to support
+further flake8 plugins."
+ :type '(repeat (cons (regexp :tag "Error ID pattern")
+ (symbol :tag "Error level")))
+ :package-version '(flycheck . "0.22"))
+
+(flycheck-def-option-var flycheck-flake8-maximum-complexity nil python-flake8
+ "The maximum McCabe complexity of methods.
+
+If nil, do not check the complexity of methods. If set to an
+integer, report any complexity greater than the value of this
+variable as warning.
+
+If set to an integer, this variable overrules any similar setting
+in the configuration file denoted by `flycheck-flake8rc'."
+ :type '(choice (const :tag "Do not check McCabe complexity" nil)
+ (integer :tag "Maximum complexity"))
+ :safe #'integerp)
+
+(flycheck-def-option-var flycheck-flake8-maximum-line-length nil python-flake8
+ "The maximum length of lines.
+
+If set to an integer, the value of this variable denotes the
+maximum length of lines, overruling any similar setting in the
+configuration file denoted by `flycheck-flake8rc'. An error will
+be reported for any line longer than the value of this variable.
+
+If set to nil, use the maximum line length from the configuration
+file denoted by `flycheck-flake8rc', or the PEP 8 recommendation
+of 79 characters if there is no configuration with this setting."
+ :type '(choice (const :tag "Default value")
+ (integer :tag "Maximum line length in characters"))
+ :safe #'integerp)
+
+(defun flycheck-flake8-fix-error-level (err)
+ "Fix the error level of ERR.
+
+Update the error level of ERR according to
+`flycheck-flake8-error-level-alist'."
+ (pcase-dolist (`(,pattern . ,level) flycheck-flake8-error-level-alist)
+ (when (string-match-p pattern (flycheck-error-id err))
+ (setf (flycheck-error-level err) level)))
+ err)
+
+(defun flycheck-flake8--find-project-root (_checker)
+ "Find setup.cfg in a parent directory of the current buffer."
+ ;; This is a workaround for `https://gitlab.com/pycqa/flake8/issues/517'; see
+ ;; also `https://github.com/flycheck/flycheck/issues/1722'
+ (locate-dominating-file (or buffer-file-name default-directory) "setup.cfg"))
+
+(flycheck-define-checker python-flake8
+ "A Python syntax and style checker using Flake8.
+
+Requires Flake8 3.0 or newer. See URL
+`https://flake8.readthedocs.io/'."
+ ;; Not calling flake8 directly makes it easier to switch between different
+ ;; Python versions; see https://github.com/flycheck/flycheck/issues/1055.
+ :command ("python3"
+ (eval (flycheck-python-module-args 'python-flake8 "flake8"))
+ "--format=default"
+ (config-file "--append-config" flycheck-flake8rc)
+ (option "--max-complexity" flycheck-flake8-maximum-complexity nil
+ flycheck-option-int)
+ (option "--max-line-length" flycheck-flake8-maximum-line-length nil
+ flycheck-option-int)
+ (eval (when buffer-file-name
+ (concat "--stdin-display-name=" buffer-file-name)))
+ "-")
+ :standard-input t
+ :working-directory flycheck-flake8--find-project-root
+ :error-filter (lambda (errors)
+ (let ((errors (flycheck-sanitize-errors errors)))
+ (seq-map #'flycheck-flake8-fix-error-level errors)))
+ :error-patterns
+ ((warning line-start
+ (file-name) ":" line ":" (optional column ":") " "
+ (id (one-or-more (any alpha)) (one-or-more digit)) " "
+ (message (one-or-more not-newline))
+ line-end))
+ :enabled (lambda ()
+ (or (not (flycheck-python-needs-module-p 'python-flake8))
+ (flycheck-python-find-module 'python-flake8 "flake8")))
+ :verify (lambda (_) (flycheck-python-verify-module 'python-flake8 "flake8"))
+ :modes python-mode
+ :next-checkers ((warning . python-pylint)
+ (warning . python-mypy)))
+
+(flycheck-def-config-file-var flycheck-pylintrc python-pylint ".pylintrc")
+
+(flycheck-def-option-var flycheck-pylint-use-symbolic-id t python-pylint
+ "Whether to use pylint message symbols or message codes.
+
+A pylint message has both an opaque identifying code (such as `F0401') and a
+more meaningful symbolic code (such as `import-error'). This option governs
+which should be used and reported to the user."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.25"))
+
+(defun flycheck-parse-pylint (output checker buffer)
+ "Parse JSON OUTPUT of CHECKER on BUFFER as Pylint errors."
+ (mapcar (lambda (err)
+ (let-alist err
+ ;; Pylint can return -1 as a line or a column, hence the call to
+ ;; `max'. See `https://github.com/flycheck/flycheck/issues/1383'.
+ (flycheck-error-new-at
+ (and .line (max .line 1))
+ (and .column (max (1+ .column) 1))
+ (pcase .type
+ ;; See "pylint/utils.py"
+ ((or "fatal" "error") 'error)
+ ((or "info" "convention") 'info)
+ ((or "warning" "refactor" _) 'warning))
+ ;; Drop lines showing the error in context
+ (and (string-match (rx (*? nonl) eol) .message)
+ (match-string 0 .message))
+ :id (if flycheck-pylint-use-symbolic-id .symbol .message-id)
+ :checker checker
+ :buffer buffer
+ :filename .path)))
+ (car (flycheck-parse-json output))))
+
+(flycheck-define-checker python-pylint
+ "A Python syntax and style checker using Pylint.
+
+This syntax checker requires Pylint 1.0 or newer.
+
+See URL `https://www.pylint.org/'."
+ ;; --reports=n disables the scoring report.
+ ;; Not calling pylint directly makes it easier to switch between different
+ ;; Python versions; see https://github.com/flycheck/flycheck/issues/1055.
+ :command ("python3"
+ (eval (flycheck-python-module-args 'python-pylint "pylint"))
+ "--reports=n"
+ "--output-format=json"
+ (config-file "--rcfile=" flycheck-pylintrc concat)
+ ;; Need `source-inplace' for relative imports (e.g. `from .foo
+ ;; import bar'), see https://github.com/flycheck/flycheck/issues/280
+ source-inplace)
+ :error-parser flycheck-parse-pylint
+ :enabled (lambda ()
+ (or (not (flycheck-python-needs-module-p 'python-pylint))
+ (flycheck-python-find-module 'python-pylint "pylint")))
+ :verify (lambda (_) (flycheck-python-verify-module 'python-pylint "pylint"))
+ :modes python-mode
+ :next-checkers ((warning . python-mypy)))
+
+(flycheck-define-checker python-pycompile
+ "A Python syntax checker using Python's builtin compiler.
+
+See URL `https://docs.python.org/3.4/library/py_compile.html'."
+ :command ("python3" "-m" "py_compile" source)
+ :error-patterns
+ ;; Python 2.7
+ ((error line-start " File \"" (file-name) "\", line " line "\n"
+ (>= 2 (zero-or-more not-newline) "\n")
+ "SyntaxError: " (message) line-end)
+ (error line-start "Sorry: IndentationError: "
+ (message) "(" (file-name) ", line " line ")"
+ line-end)
+ ;; 2.6
+ (error line-start "SyntaxError: ('" (message (one-or-more (not (any "'"))))
+ "', ('" (file-name (one-or-more (not (any "'")))) "', "
+ line ", " column ", " (one-or-more not-newline) line-end))
+ :modes python-mode
+ :next-checkers ((warning . python-mypy)))
+
+(define-obsolete-variable-alias 'flycheck-python-mypy-ini
+ 'flycheck-python-mypy-config "32")
+
+(flycheck-def-config-file-var flycheck-python-mypy-config python-mypy
+ '("mypy.ini" "setup.cfg"))
+
+(flycheck-def-option-var flycheck-python-mypy-cache-dir nil python-mypy
+ "Directory used to write .mypy_cache directories."
+ :type '(choice
+ (const :tag "Write to the working directory" nil)
+ (const :tag "Never write .mypy_cache directories" null-device)
+ (string :tag "Path"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker python-mypy
+ "Mypy syntax and type checker. Requires mypy>=0.580.
+
+See URL `http://mypy-lang.org/'."
+ :command ("mypy"
+ "--show-column-numbers"
+ (config-file "--config-file" flycheck-python-mypy-config)
+ (option "--cache-dir" flycheck-python-mypy-cache-dir)
+ source-original)
+ :error-patterns
+ ((error line-start (file-name) ":" line (optional ":" column)
+ ": error:" (message) line-end)
+ (warning line-start (file-name) ":" line (optional ":" column)
+ ": warning:" (message) line-end)
+ (info line-start (file-name) ":" line (optional ":" column)
+ ": note:" (message) line-end))
+ :modes python-mode
+ ;; Ensure the file is saved, to work around
+ ;; https://github.com/python/mypy/issues/4746.
+ :predicate flycheck-buffer-saved-p)
+
+(flycheck-def-option-var flycheck-lintr-caching t r-lintr
+ "Whether to enable caching in lintr.
+
+By default, lintr caches all expressions in a file and re-checks
+only those that have changed. Setting this option to nil
+disables caching in case there are problems."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-def-option-var flycheck-lintr-linters "default_linters" r-lintr
+ "Linters to use with lintr.
+
+The value of this variable is a string containing an R
+expression, which selects linters for lintr."
+ :type 'string
+ :risky t
+ :package-version '(flycheck . "0.23"))
+
+(defun flycheck-r-has-lintr (R)
+ "Whether R has installed the `lintr' library."
+ (with-temp-buffer
+ (let ((process-environment (append '("LC_ALL=C") process-environment)))
+ (call-process R nil t nil
+ "--slave" "--restore" "--no-save" "-e"
+ "library('lintr')")
+ (goto-char (point-min))
+ (not (re-search-forward "there is no package called 'lintr'"
+ nil 'no-error)))))
+
+(flycheck-define-checker r-lintr
+ "An R style and syntax checker using the lintr package.
+
+See URL `https://github.com/jimhester/lintr'."
+ :command ("R" "--slave" "--restore" "--no-save" "-e"
+ (eval (concat
+ "library(lintr);"
+ "try(lint(commandArgs(TRUE)"
+ ", cache=" (if flycheck-lintr-caching "TRUE" "FALSE")
+ ", " flycheck-lintr-linters
+ "))"))
+ "--args" source)
+ :error-patterns
+ ((info line-start (file-name) ":" line ":" column ": style: " (message)
+ line-end)
+ (warning line-start (file-name) ":" line ":" column ": warning: " (message)
+ line-end)
+ (error line-start (file-name) ":" line ":" column ": error: " (message)
+ line-end))
+ :modes (ess-mode ess-r-mode)
+ :predicate
+ ;; Don't check ESS files which do not contain R, and make sure that lintr is
+ ;; actually available
+ (lambda ()
+ (and (equal ess-language "S")
+ (flycheck-r-has-lintr (flycheck-checker-executable 'r-lintr))))
+ :verify (lambda (checker)
+ (let ((has-lintr (flycheck-r-has-lintr
+ (flycheck-checker-executable checker))))
+ (list
+ (flycheck-verification-result-new
+ :label "lintr library"
+ :message (if has-lintr "present" "missing")
+ :face (if has-lintr 'success '(bold error)))))))
+
+(defun flycheck-racket-has-expand-p (checker)
+ "Whether the executable of CHECKER provides the `expand' command."
+ (let ((raco (flycheck-find-checker-executable checker)))
+ (when raco
+ (with-temp-buffer
+ (call-process raco nil t nil "expand")
+ (goto-char (point-min))
+ (not (looking-at-p (rx bol (1+ not-newline)
+ "Unrecognized command: expand"
+ eol)))))))
+
+(flycheck-define-checker racket
+ "A Racket syntax checker with `raco expand'.
+
+The `compiler-lib' racket package is required for this syntax
+checker.
+
+See URL `https://racket-lang.org/'."
+ :command ("raco" "expand" source-inplace)
+ :predicate
+ (lambda ()
+ (and (or (not (eq major-mode 'scheme-mode))
+ ;; In `scheme-mode' we must check the current Scheme implementation
+ ;; being used
+ (and (boundp 'geiser-impl--implementation)
+ (eq geiser-impl--implementation 'racket)))
+ (flycheck-racket-has-expand-p 'racket)))
+ :verify
+ (lambda (checker)
+ (let ((has-expand (flycheck-racket-has-expand-p checker))
+ (in-scheme-mode (eq major-mode 'scheme-mode))
+ (geiser-impl (bound-and-true-p geiser-impl--implementation)))
+ (list
+ (flycheck-verification-result-new
+ :label "compiler-lib package"
+ :message (if has-expand "present" "missing")
+ :face (if has-expand 'success '(bold error)))
+ (flycheck-verification-result-new
+ :label "Geiser Implementation"
+ :message (cond
+ ((not in-scheme-mode) "Using Racket Mode")
+ ((eq geiser-impl 'racket) "Racket")
+ (geiser-impl (format "Other: %s" geiser-impl))
+ (t "Geiser not active"))
+ :face (cond
+ ((or (not in-scheme-mode) (eq geiser-impl 'racket)) 'success)
+ (t '(bold error)))))))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-increment-error-columns
+ (seq-remove
+ (lambda (err)
+ (string-suffix-p
+ "/share/racket/pkgs/compiler-lib/compiler/commands/expand.rkt"
+ (flycheck-error-filename err)))
+ errors))))
+ :error-patterns
+ ((error line-start (zero-or-more space)
+ (file-name) ":" line ":" column ":" (message) line-end))
+ :modes (racket-mode scheme-mode))
+
+(flycheck-define-checker rpm-rpmlint
+ "A RPM SPEC file syntax checker using rpmlint.
+
+See URL `https://sourceforge.net/projects/rpmlint/'."
+ :command ("rpmlint" source)
+ :error-patterns
+ ((error line-start
+ (file-name) ":" (optional line ":") " E: " (message)
+ line-end)
+ (warning line-start
+ (file-name) ":" (optional line ":") " W: " (message)
+ line-end))
+ :error-filter
+ ;; Add fake line numbers if they are missing in the lint output
+ (lambda (errors)
+ (dolist (err errors)
+ (unless (flycheck-error-line err)
+ (setf (flycheck-error-line err) 1)))
+ errors)
+ :error-explainer
+ (lambda (error)
+ (-when-let* ((error-message (flycheck-error-message error))
+ (message-id (save-match-data
+ (string-match "\\([^ ]+\\)" error-message)
+ (match-string 1 error-message))))
+ (with-output-to-string
+ (call-process "rpmlint" nil standard-output nil "-I" message-id))))
+ :modes (sh-mode rpm-spec-mode)
+ :predicate (lambda () (or (not (eq major-mode 'sh-mode))
+ ;; In `sh-mode', we need the proper shell
+ (eq sh-shell 'rpm))))
+
+(flycheck-def-config-file-var flycheck-markdown-markdownlint-cli-config
+ markdown-markdownlint-cli nil
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker markdown-markdownlint-cli
+ "Markdown checker using markdownlint-cli.
+
+See URL `https://github.com/igorshubovych/markdownlint-cli'."
+ :command ("markdownlint"
+ (config-file "--config" flycheck-markdown-markdownlint-cli-config)
+ source)
+ :error-patterns
+ ((error line-start
+ (file-name) ":" line " " (id (one-or-more (not (any space))))
+ " " (message) line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "(string)" errors)))
+ :modes (markdown-mode gfm-mode))
+
+(flycheck-def-option-var flycheck-markdown-mdl-rules nil markdown-mdl
+ "Rules to enable for mdl.
+
+The value of this variable is a list of strings each of which is
+the name of a rule to enable.
+
+By default all rules are enabled.
+
+See URL `https://git.io/vhi2t'."
+ :type '(repeat :tag "Enabled rules"
+ (string :tag "rule name"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "27"))
+
+(flycheck-def-option-var flycheck-markdown-mdl-tags nil markdown-mdl
+ "Rule tags to enable for mdl.
+
+The value of this variable is a list of strings each of which is
+the name of a rule tag. Only rules with these tags are enabled.
+
+By default all rules are enabled.
+
+See URL `https://git.io/vhi2t'."
+ :type '(repeat :tag "Enabled tags"
+ (string :tag "tag name"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "27"))
+
+(flycheck-def-config-file-var flycheck-markdown-mdl-style markdown-mdl nil
+ :package-version '(flycheck . "27"))
+
+(flycheck-define-checker markdown-mdl
+ "Markdown checker using mdl.
+
+See URL `https://github.com/markdownlint/markdownlint'."
+ :command ("mdl"
+ (config-file "--style" flycheck-markdown-mdl-style)
+ (option "--tags=" flycheck-markdown-mdl-rules concat
+ flycheck-option-comma-separated-list)
+ (option "--rules=" flycheck-markdown-mdl-rules concat
+ flycheck-option-comma-separated-list))
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ (file-name) ":" line ": " (id (one-or-more alnum)) " " (message)
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "(stdin)" errors)))
+ :modes (markdown-mode gfm-mode))
+
+(flycheck-define-checker nix
+ "Nix checker using nix-instantiate.
+
+See URL `https://nixos.org/nix/manual/#sec-nix-instantiate'."
+ :command ("nix-instantiate" "--parse" "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "error: " (message) " at " (file-name) ":" line ":" column
+ line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-remove-error-file-names "(string)" errors)))
+ :next-checkers ((warning . nix-linter))
+ :modes nix-mode)
+
+(defun flycheck-parse-nix-linter (output checker buffer)
+ "Parse nix-linter warnings from JSON OUTPUT.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://github.com/Synthetica9/nix-linter' for more
+information about nix-linter."
+ (mapcar (lambda (err)
+ (let-alist err
+ (flycheck-error-new-at
+ .pos.spanBegin.sourceLine
+ .pos.spanBegin.sourceColumn
+ 'warning
+ .description
+ :id .offense
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer)
+ :end-line .pos.spanEnd.sourceLine
+ :end-column .pos.spanEnd.sourceColumn)))
+ (flycheck-parse-json output)))
+
+(flycheck-define-checker nix-linter
+ "Nix checker using nix-linter.
+
+See URL `https://github.com/Synthetica9/nix-linter'."
+ :command ("nix-linter" "--json-stream" "-")
+ :standard-input t
+ :error-parser flycheck-parse-nix-linter
+ :error-explainer
+ (lambda (error)
+ (-when-let (error-code (flycheck-error-id error))
+ (with-output-to-string
+ (call-process "nix-linter" nil standard-output nil "--help-for"
+ error-code))))
+ :modes nix-mode)
+
+(defun flycheck-locate-sphinx-source-directory ()
+ "Locate the Sphinx source directory for the current buffer.
+
+Return the source directory, or nil, if the current buffer is not
+part of a Sphinx project."
+ (-when-let* ((filename (buffer-file-name))
+ (dir (locate-dominating-file filename "conf.py")))
+ (expand-file-name dir)))
+
+(flycheck-define-checker rst
+ "A ReStructuredText (RST) syntax checker using Docutils.
+
+See URL `http://docutils.sourceforge.net/'."
+ ;; include:: directives
+ :command ("rst2pseudoxml.py" "--report=2" "--halt=5"
+ ;; Read from standard input and throw output away
+ "-" null-device)
+ :standard-input t
+ :error-patterns
+ ((warning line-start "<stdin>:" line ": (WARNING/2) " (message) line-end)
+ (error line-start "<stdin>:" line
+ ": (" (or "ERROR/3" "SEVERE/4") ") "
+ (message) line-end))
+ :modes rst-mode)
+
+(flycheck-def-option-var flycheck-sphinx-warn-on-missing-references t rst-sphinx
+ "Whether to warn about missing references in Sphinx.
+
+When non-nil (the default), warn about all missing references in
+Sphinx via `-n'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.17"))
+
+(flycheck-define-checker rst-sphinx
+ "A ReStructuredText (RST) syntax checker using Sphinx.
+
+Requires Sphinx 1.2 or newer. See URL `http://sphinx-doc.org'."
+ :command ("sphinx-build" "-b" "pseudoxml"
+ "-q" "-N" ; Reduced output and no colors
+ (option-flag "-n" flycheck-sphinx-warn-on-missing-references)
+ (eval (flycheck-locate-sphinx-source-directory))
+ temporary-directory ; Redirect the output to a temporary
+ ; directory
+ source-original) ; Sphinx needs the original document
+ :error-patterns
+ ((warning line-start (file-name) ":" line ": WARNING: " (message) line-end)
+ (error line-start
+ (file-name) ":" line
+ ": " (or "ERROR" "SEVERE") ": "
+ (message) line-end))
+ :modes rst-mode
+ :predicate (lambda () (and (flycheck-buffer-saved-p)
+ (flycheck-locate-sphinx-source-directory))))
+
+(defun flycheck-ruby--find-project-root (_checker)
+ "Compute an appropriate working-directory for flycheck-ruby.
+
+This is either a parent directory containing a Gemfile, or nil."
+ (and
+ buffer-file-name
+ (locate-dominating-file buffer-file-name "Gemfile")))
+
+(flycheck-def-config-file-var flycheck-rubocoprc ruby-rubocop ".rubocop.yml")
+
+(flycheck-def-option-var flycheck-rubocop-lint-only nil
+ (ruby-rubocop ruby-standard)
+ "Whether to only report code issues in Rubocop and Standard.
+
+When non-nil, only report code issues, via `--lint'. Otherwise
+report style issues as well."
+ :safe #'booleanp
+ :type 'boolean
+ :package-version '(flycheck . "0.16"))
+
+(defconst flycheck-ruby-rubocop-error-patterns
+ '((info line-start (file-name) ":" line ":" column ": C: "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message) line-end)
+ (warning line-start (file-name) ":" line ":" column ": W: "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message)
+ line-end)
+ (error line-start (file-name) ":" line ":" column ": " (or "E" "F") ": "
+ (optional (id (one-or-more (not (any ":")))) ": ") (message)
+ line-end)))
+
+(flycheck-def-executable-var ruby-rubocop "rubocop")
+(flycheck-define-command-checker 'ruby-rubocop
+ "A Ruby syntax and style checker using the RuboCop tool.
+
+You need at least RuboCop 0.34 for this syntax checker.
+
+See URL `http://batsov.com/rubocop/'."
+ ;; ruby-standard is defined based on this checker
+ :command '("rubocop"
+ "--display-cop-names"
+ "--force-exclusion"
+ "--format" "emacs"
+ ;; Explicitly disable caching to prevent Rubocop 0.35.1 and earlier
+ ;; from caching standard input. Later versions of Rubocop
+ ;; automatically disable caching with --stdin, see
+ ;; https://github.com/flycheck/flycheck/issues/844 and
+ ;; https://github.com/bbatsov/rubocop/issues/2576
+ "--cache" "false"
+ (config-file "--config" flycheck-rubocoprc)
+ (option-flag "--lint" flycheck-rubocop-lint-only)
+ ;; Rubocop takes the original file name as argument when reading
+ ;; from standard input
+ "--stdin" source-original)
+ :standard-input t
+ :working-directory #'flycheck-ruby--find-project-root
+ :error-patterns flycheck-ruby-rubocop-error-patterns
+ :modes '(enh-ruby-mode ruby-mode)
+ :next-checkers '((warning . ruby-reek)
+ (warning . ruby-rubylint)))
+
+(flycheck-def-config-file-var flycheck-ruby-standardrc ruby-standard
+ ".standard.yml")
+
+(flycheck-def-executable-var ruby-standard "standardrb")
+(flycheck-define-command-checker 'ruby-standard
+ "A Ruby syntax and style checker using the StandardRB gem.
+
+See URL `https://github.com/testdouble/standard' for more information."
+ ;; This checker is derived from ruby-rubocop; see above
+ :command '("standardrb"
+ "--display-cop-names"
+ "--force-exclusion"
+ "--format" "emacs"
+ "--cache" "false"
+ (config-file "--config" flycheck-ruby-standardrc)
+ (option-flag "--lint" flycheck-rubocop-lint-only)
+ "--stdin" source-original)
+ :standard-input t
+ :working-directory #'flycheck-ruby--find-project-root
+ :error-patterns flycheck-ruby-rubocop-error-patterns
+ :modes '(enh-ruby-mode ruby-mode)
+ :next-checkers '((warning . ruby-reek)
+ (warning . ruby-rubylint)))
+
+;; Default to `nil' to let Reek find its configuration file by itself
+(flycheck-def-config-file-var flycheck-reekrc ruby-reek nil
+ :safe #'string-or-null-p
+ :package-version '(flycheck . "30"))
+
+(flycheck-define-checker ruby-reek
+ "A Ruby smell checker using reek.
+
+See URL `https://github.com/troessner/reek'."
+ :command ("reek" "--format" "json"
+ (config-file "--config" flycheck-reekrc)
+ source)
+ :error-parser flycheck-parse-reek
+ :modes (enh-ruby-mode ruby-mode)
+ :next-checkers ((warning . ruby-rubylint)))
+
+;; Default to `nil' to let Rubylint find its configuration file by itself, and
+;; to maintain backwards compatibility with older Rubylint and Flycheck releases
+(flycheck-def-config-file-var flycheck-rubylintrc ruby-rubylint nil)
+
+(flycheck-define-checker ruby-rubylint
+ "A Ruby syntax and code analysis checker using ruby-lint.
+
+Requires ruby-lint 2.0.2 or newer. See URL
+`https://github.com/YorickPeterse/ruby-lint'."
+ :command ("ruby-lint" "--presenter=syntastic"
+ (config-file "--config" flycheck-rubylintrc)
+ source)
+ ;; Ruby Lint can't read from standard input
+ :error-patterns
+ ((info line-start
+ (file-name) ":I:" line ":" column ": " (message) line-end)
+ (warning line-start
+ (file-name) ":W:" line ":" column ": " (message) line-end)
+ (error line-start
+ (file-name) ":E:" line ":" column ": " (message) line-end))
+ :modes (enh-ruby-mode ruby-mode))
+
+(flycheck-define-checker ruby
+ "A Ruby syntax checker using the standard Ruby interpreter.
+
+Please note that the output of different Ruby versions and
+implementations varies wildly. This syntax checker supports
+current versions of MRI and JRuby, but may break when used with
+other implementations or future versions of these
+implementations.
+
+Please consider using `ruby-rubocop' or `ruby-reek' instead.
+
+See URL `https://www.ruby-lang.org/'."
+ :command ("ruby" "-w" "-c")
+ :standard-input t
+ :error-patterns
+ ;; These patterns support output from JRuby, too, to deal with RVM or Rbenv
+ ((error line-start "SyntaxError in -:" line ": " (message) line-end)
+ (warning line-start "-:" line ":" (optional column ":")
+ " warning: " (message) line-end)
+ (error line-start "-:" line ": " (message) line-end))
+ :modes (enh-ruby-mode ruby-mode)
+ :next-checkers ((warning . ruby-rubylint)))
+
+(flycheck-define-checker ruby-jruby
+ "A Ruby syntax checker using the JRuby interpreter.
+
+This syntax checker is very primitive, and may break on future
+versions of JRuby.
+
+Please consider using `ruby-rubocop' or `ruby-rubylint' instead.
+
+See URL `http://jruby.org/'."
+ :command ("jruby" "-w" "-c")
+ :standard-input t
+ :error-patterns
+ ((error line-start "SyntaxError in -:" line ": " (message) line-end)
+ (warning line-start "-:" line ": warning: " (message) line-end)
+ (error line-start "-:" line ": " (message) line-end))
+ :modes (enh-ruby-mode ruby-mode)
+ :next-checkers ((warning . ruby-rubylint)))
+
+(flycheck-def-args-var flycheck-cargo-check-args (rust-cargo)
+ :package-version '(flycheck . "32"))
+
+(flycheck-def-args-var flycheck-rust-args (rust)
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-def-option-var flycheck-rust-check-tests t (rust-cargo rust)
+ "Whether to check test code in Rust.
+
+For the `rust' checker: When non-nil, `rustc' is passed the
+`--test' flag, which will check any code marked with the
+`#[cfg(test)]' attribute and any functions marked with
+`#[test]'. Otherwise, `rustc' is not passed `--test' and test
+code will not be checked. Skipping `--test' is necessary when
+using `#![no_std]', because compiling the test runner requires
+`std'.
+
+For the `rust-cargo' checker: When non-nil, calls `cargo test
+--no-run' instead of `cargo check'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '("flycheck" . "0.19"))
+
+(flycheck-def-option-var flycheck-rust-crate-root nil rust
+ "A path to the crate root for the current buffer.
+
+The value of this variable is either a string with the path to
+the crate root for the current buffer, or nil if the current buffer
+is a crate. A relative path is relative to the current buffer.
+
+If this variable is non nil the current buffer will only be checked
+if it is not modified, i.e. after it has been saved."
+ :type '(choice (const :tag "Unspecified" nil)
+ (file :tag "Root"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "0.20"))
+(make-variable-buffer-local 'flycheck-rust-crate-root)
+
+(flycheck-def-option-var flycheck-rust-crate-type "lib" (rust-cargo rust)
+ "The type of the Rust Crate to check.
+
+For `rust-cargo', the value should be a string denoting the
+target type passed to Cargo. See
+`flycheck-rust-valid-crate-type-p' for the list of allowed
+values.
+
+For `rust', the value should be a string denoting the crate type
+for the `--crate-type' flag of rustc."
+ :type '(choice (const :tag "nil (rust/rust-cargo)" nil)
+ (const :tag "lib (rust/rust-cargo)" "lib")
+ (const :tag "bin (rust/rust-cargo)" "bin")
+ (const :tag "example (rust-cargo)" "example")
+ (const :tag "test (rust-cargo)" "test")
+ (const :tag "bench (rust-cargo)" "bench")
+ (const :tag "rlib (rust)" "rlib")
+ (const :tag "dylib (rust)" "dylib")
+ (const :tag "cdylib (rust)" "cdylib")
+ (const :tag "staticlib (rust)" "staticlib")
+ (const :tag "metadata (rust)" "metadata"))
+ :safe #'stringp
+ :package-version '(flycheck . "0.20"))
+(make-variable-buffer-local 'flycheck-rust-crate-type)
+
+(flycheck-def-option-var flycheck-rust-binary-name nil rust-cargo
+ "The name of the binary to pass to `cargo check --CRATE-TYPE'.
+
+The value of this variable is a string denoting the name of the
+target to check: usually the name of the crate, or the name of
+one of the files under `src/bin', `tests', `examples' or
+`benches'.
+
+This always requires a non-nil value, unless
+`flycheck-rust-crate-type' is `lib' or nil, in which case it is
+ignored."
+ :type '(choice (const :tag "Unspecified" nil)
+ (string :tag "Binary name"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "28"))
+(make-variable-buffer-local 'flycheck-rust-binary-name)
+
+(flycheck-def-option-var flycheck-rust-features nil rust-cargo
+ "List of features to activate during build or check.
+
+The value of this variable is a list of strings denoting features
+that will be activated to build the target to check. Features will
+be passed to `cargo check --features=FEATURES'."
+ :type '(repeat :tag "Features to activate"
+ (string :tag "Feature"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-rust-features)
+
+(flycheck-def-option-var flycheck-rust-library-path nil rust
+ "A list of library directories for Rust.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the library path of Rust.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Library directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.18"))
+
+(defun flycheck-rust-error-explainer (error)
+ "Return an explanation text for the given `flycheck-error' ERROR."
+ (-when-let (error-code (flycheck-error-id error))
+ (with-output-to-string
+ (call-process "rustc" nil standard-output nil "--explain" error-code))))
+
+(defun flycheck-rust-error-filter (errors)
+ "Filter ERRORS from rustc output that have no explanatory value."
+ (seq-remove
+ (lambda (err)
+ (or
+ ;; Macro errors emit a diagnostic in a phony file,
+ ;; e.g. "<println macros>".
+ (-when-let (filename (flycheck-error-filename err))
+ (string-match-p (rx "macros>" line-end) filename))
+ ;; Redundant message giving the number of failed errors
+ (-when-let (msg (flycheck-error-message err))
+ (string-match-p
+ (rx
+ (or (: "aborting due to " (optional (one-or-more num) " ")
+ "previous error")
+ (: "For more information about this error, try `rustc --explain "
+ (one-or-more alnum) "`.")))
+ msg))))
+ errors))
+
+(defun flycheck-rust-manifest-directory ()
+ "Return the nearest directory holding the Cargo manifest.
+
+Return the nearest directory containing the `Cargo.toml' manifest
+file, starting from the current buffer and using
+`locate-dominating-file'. Return nil if there is no such file,
+or if the current buffer has no file name."
+ (and buffer-file-name
+ (locate-dominating-file buffer-file-name "Cargo.toml")))
+
+(defun flycheck-rust-cargo-metadata ()
+ "Run 'cargo metadata' and return the result as parsed JSON object."
+ (car (flycheck-parse-json
+ (with-output-to-string
+ (call-process "cargo" nil standard-output nil
+ "metadata" "--no-deps" "--format-version" "1")))))
+
+(defun flycheck-rust-cargo-workspace-root ()
+ "Return the path to the workspace root of a Rust Cargo project.
+
+Return nil if the workspace root does not exist (for Rust
+versions inferior to 1.25)."
+ (let-alist (flycheck-rust-cargo-metadata)
+ .workspace_root))
+
+(defun flycheck-rust-cargo-has-command-p (command)
+ "Whether Cargo has COMMAND in its list of commands.
+
+Execute `cargo --list' to find out whether COMMAND is present."
+ (let ((cargo (funcall flycheck-executable-find "cargo")))
+ (member command (mapcar #'string-trim-left
+ (ignore-errors (process-lines cargo "--list"))))))
+
+(defun flycheck-rust-valid-crate-type-p (crate-type)
+ "Whether CRATE-TYPE is a valid target type for Cargo.
+
+A valid Cargo target type is one of `lib', `bin', `example',
+`test' or `bench'."
+ (member crate-type '(nil "lib" "bin" "example" "test" "bench")))
+
+(flycheck-define-checker rust-cargo
+ "A Rust syntax checker using Cargo.
+
+This syntax checker requires Rust 1.17 or newer. See URL
+`https://www.rust-lang.org'."
+ :command ("cargo"
+ (eval (if flycheck-rust-check-tests
+ "test"
+ "check"))
+ (eval (when flycheck-rust-check-tests
+ "--no-run"))
+ (eval (when flycheck-rust-crate-type
+ (concat "--" flycheck-rust-crate-type)))
+ ;; All crate targets except "lib" need a binary name
+ (eval (when (and flycheck-rust-crate-type
+ (not (string= flycheck-rust-crate-type "lib")))
+ flycheck-rust-binary-name))
+ (option "--features=" flycheck-rust-features concat
+ flycheck-option-comma-separated-list)
+ (eval flycheck-cargo-check-args)
+ "--message-format=json")
+ :error-parser flycheck-parse-cargo-rustc
+ :error-filter (lambda (errors)
+ ;; In Rust 1.25+, filenames are relative to the workspace
+ ;; root.
+ (let ((root (flycheck-rust-cargo-workspace-root)))
+ (seq-do (lambda (err)
+ ;; Some errors are crate level and do not have a
+ ;; filename
+ (when (flycheck-error-filename err)
+ (setf (flycheck-error-filename err)
+ (expand-file-name
+ (flycheck-error-filename err) root))))
+ (flycheck-rust-error-filter errors))))
+ :error-explainer flycheck-rust-error-explainer
+ :modes rust-mode
+ :predicate flycheck-buffer-saved-p
+ :enabled flycheck-rust-manifest-directory
+ :working-directory (lambda (_) (flycheck-rust-manifest-directory))
+ :verify
+ (lambda (_)
+ (and buffer-file-name
+ (let* ((has-toml (flycheck-rust-manifest-directory))
+ (valid-crate-type (flycheck-rust-valid-crate-type-p
+ flycheck-rust-crate-type))
+ (need-binary-name
+ (and flycheck-rust-crate-type
+ (not (string= flycheck-rust-crate-type "lib")))))
+ (list
+ (flycheck-verification-result-new
+ :label "Cargo.toml"
+ :message (if has-toml "Found" "Missing")
+ :face (if has-toml 'success '(bold warning)))
+ (flycheck-verification-result-new
+ :label "Crate type"
+ :message (if valid-crate-type
+ (format "%s" flycheck-rust-crate-type)
+ (format "%s (invalid, should be one of 'lib', 'bin', \
+'test', 'example' or 'bench')"
+ flycheck-rust-crate-type))
+ :face (if valid-crate-type 'success '(bold error)))
+ (flycheck-verification-result-new
+ :label "Binary name"
+ :message (cond
+ ((not need-binary-name) "Not required")
+ ((not flycheck-rust-binary-name) "Required")
+ (t (format "%s" flycheck-rust-binary-name)))
+ :face (cond
+ ((not need-binary-name) 'success)
+ ((not flycheck-rust-binary-name) '(bold error))
+ (t 'success))))))))
+
+(flycheck-define-checker rust
+ "A Rust syntax checker using Rust compiler.
+
+This syntax checker needs Rust 1.18 or newer. See URL
+`https://www.rust-lang.org'."
+ :command ("rustc"
+ (option "--crate-type" flycheck-rust-crate-type)
+ "--emit=mir" "-o" "/dev/null" ; avoid creating binaries
+ "--error-format=json"
+ (option-flag "--test" flycheck-rust-check-tests)
+ (option-list "-L" flycheck-rust-library-path concat)
+ (eval flycheck-rust-args)
+ (eval (or flycheck-rust-crate-root
+ (flycheck-substitute-argument 'source-original 'rust))))
+ :error-parser flycheck-parse-rustc
+ :error-filter flycheck-rust-error-filter
+ :error-explainer flycheck-rust-error-explainer
+ :modes rust-mode
+ :predicate flycheck-buffer-saved-p)
+
+(flycheck-define-checker rust-clippy
+ "A Rust syntax checker using clippy.
+
+See URL `https://github.com/rust-lang-nursery/rust-clippy'."
+ :command ("cargo" "clippy" "--message-format=json")
+ :error-parser flycheck-parse-cargo-rustc
+ :error-filter flycheck-rust-error-filter
+ :error-explainer flycheck-rust-error-explainer
+ :modes rust-mode
+ :predicate flycheck-buffer-saved-p
+ :enabled (lambda ()
+ (and (flycheck-rust-cargo-has-command-p "clippy")
+ (flycheck-rust-manifest-directory)))
+ :working-directory (lambda (_) (flycheck-rust-manifest-directory))
+ :verify
+ (lambda (_)
+ (and buffer-file-name
+ (let ((has-toml (flycheck-rust-manifest-directory))
+ (has-clippy (flycheck-rust-cargo-has-command-p "clippy")))
+ (list
+ (flycheck-verification-result-new
+ :label "Clippy"
+ :message (if has-clippy "Found"
+ "Cannot find the `cargo clippy' command")
+ :face (if has-clippy 'success '(bold warning)))
+ (flycheck-verification-result-new
+ :label "Cargo.toml"
+ :message (if has-toml "Found" "Missing")
+ :face (if has-toml 'success '(bold warning))))))))
+
+(defvar flycheck-sass-scss-cache-directory nil
+ "The cache directory for `sass' and `scss'.")
+
+(defun flycheck-sass-scss-cache-location ()
+ "Get the cache location for `sass' and `scss'.
+
+If no cache directory exists yet, create one and return it.
+Otherwise return the previously used cache directory."
+ (setq flycheck-sass-scss-cache-directory
+ (or flycheck-sass-scss-cache-directory
+ (make-temp-file "flycheck-sass-scss-cache" 'directory))))
+
+(flycheck-def-option-var flycheck-sass-compass nil sass
+ "Whether to enable the Compass CSS framework.
+
+When non-nil, enable the Compass CSS framework, via `--compass'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-define-checker sass
+ "A Sass syntax checker using the Sass compiler.
+
+See URL `http://sass-lang.com'."
+ :command ("sass"
+ "--cache-location" (eval (flycheck-sass-scss-cache-location))
+ (option-flag "--compass" flycheck-sass-compass)
+ "--check" "--stdin")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ (or "Syntax error: " "Error: ")
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ (optional "\r") "\n" (one-or-more " ") "on line " line
+ " of standard input"
+ line-end)
+ (warning line-start
+ "WARNING: "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ (optional "\r") "\n" (one-or-more " ") "on line " line
+ " of " (one-or-more not-newline)
+ line-end))
+ :modes sass-mode)
+
+(flycheck-def-config-file-var flycheck-sass-lintrc sass/scss-sass-lint
+ ".sass-lint.yml"
+ :package-version '(flycheck . "30"))
+
+(flycheck-define-checker sass/scss-sass-lint
+ "A SASS/SCSS syntax checker using sass-Lint.
+
+See URL `https://github.com/sasstools/sass-lint'."
+ :command ("sass-lint"
+ "--verbose"
+ "--no-exit"
+ "--format" "Checkstyle"
+ (config-file "--config" flycheck-sass-lintrc)
+ source)
+ :error-parser flycheck-parse-checkstyle
+ :modes (sass-mode scss-mode))
+
+(flycheck-define-checker scala
+ "A Scala syntax checker using the Scala compiler.
+
+See URL `https://www.scala-lang.org/'."
+ :command ("scalac" "-Ystop-after:parser" source)
+ :error-patterns
+ ((error line-start (file-name) ":" line ": error: " (message) line-end))
+ :modes scala-mode
+ :next-checkers ((warning . scala-scalastyle)))
+
+(flycheck-def-config-file-var flycheck-scalastylerc scala-scalastyle nil
+ :package-version '(flycheck . "0.20"))
+
+(flycheck-define-checker scala-scalastyle
+ "A Scala style checker using scalastyle.
+
+Note that this syntax checker is not used if
+`flycheck-scalastylerc' is nil or refers to a non-existing file.
+
+See URL `http://www.scalastyle.org'."
+ :command ("scalastyle"
+ (config-file "-c" flycheck-scalastylerc)
+ source)
+ :error-patterns
+ ((error line-start "error file=" (file-name) " message="
+ (message) " line=" line (optional " column=" column) line-end)
+ (warning line-start "warning file=" (file-name) " message="
+ (message) " line=" line (optional " column=" column) line-end))
+ :error-filter (lambda (errors)
+ (flycheck-sanitize-errors
+ (flycheck-increment-error-columns errors)))
+ :modes scala-mode
+ :predicate
+ ;; Inhibit this syntax checker if the JAR or the configuration are unset or
+ ;; missing
+ (lambda () (and flycheck-scalastylerc
+ (flycheck-locate-config-file flycheck-scalastylerc
+ 'scala-scalastyle)))
+ :verify (lambda (checker)
+ (let ((config-file (and flycheck-scalastylerc
+ (flycheck-locate-config-file
+ flycheck-scalastylerc checker))))
+ (list
+ (flycheck-verification-result-new
+ :label "Configuration file"
+ :message (cond
+ ((not flycheck-scalastylerc)
+ "`flycheck-scalastyletrc' not set")
+ ((not config-file)
+ (format "file %s not found" flycheck-scalastylerc))
+ (t (format "found at %s" config-file)))
+ :face (cond
+ ((not flycheck-scalastylerc) '(bold warning))
+ ((not config-file) '(bold error))
+ (t 'success)))))))
+
+(flycheck-def-args-var flycheck-scheme-chicken-args scheme-chicken
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker scheme-chicken
+ "A CHICKEN Scheme syntax checker using the CHICKEN compiler `csc'.
+
+See URL `http://call-cc.org/'."
+ :command ("csc" "-analyze-only" "-local"
+ (eval flycheck-scheme-chicken-args)
+ source)
+ :error-patterns
+ ((info line-start
+ "Note: " (zero-or-more not-newline) ":\n"
+ (one-or-more (any space)) "(" (file-name) ":" line ") " (message)
+ line-end)
+ (warning line-start
+ "Warning: " (zero-or-more not-newline) ",\n"
+ (one-or-more (any space)) (zero-or-more not-newline) ":\n"
+ (one-or-more (any space)) "(" (file-name) ":" line ") " (message)
+ line-end)
+ (warning line-start
+ "Warning: " (zero-or-more not-newline) ":\n"
+ (one-or-more (any space)) "(" (file-name) ":" line ") " (message)
+ line-end)
+ (error line-start "Error: (line " line ") " (message) line-end)
+ (error line-start "Syntax error: (" (file-name) ":" line ")"
+ (zero-or-more not-newline) " - "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (zero-or-more space)
+ (zero-or-more not-newline))
+ (one-or-more space) "<--")
+ line-end)
+ ;; A of version 4.12.0, the chicken compiler doesn't provide a
+ ;; line number for this error.
+ (error line-start "Syntax error: "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (zero-or-more space)
+ (zero-or-more not-newline))
+ (one-or-more space) "<--")
+ line-end)
+ (error line-start
+ "Error: " (zero-or-more not-newline) ":\n"
+ (one-or-more (any space)) "(" (file-name) ":" line ") " (message)
+ line-end)
+ ;; A of version 4.12.0, the chicken compiler doesn't provide a
+ ;; line number for this error.
+ (error line-start "Error: "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (zero-or-more space)
+ (zero-or-more not-newline))
+ (one-or-more space) "<--")))
+ :error-filter flycheck-fill-empty-line-numbers
+ :predicate
+ (lambda ()
+ ;; In `scheme-mode' we must check the current Scheme implementation
+ ;; being used
+ (and (boundp 'geiser-impl--implementation)
+ (eq geiser-impl--implementation 'chicken)))
+ :verify
+ (lambda (_checker)
+ (let ((geiser-impl (bound-and-true-p geiser-impl--implementation)))
+ (list
+ (flycheck-verification-result-new
+ :label "Geiser Implementation"
+ :message (cond
+ ((eq geiser-impl 'chicken) "Chicken Scheme")
+ (geiser-impl (format "Other: %s" geiser-impl))
+ (t "Geiser not active"))
+ :face (cond
+ ((eq geiser-impl 'chicken) 'success)
+ (t '(bold error)))))))
+ :modes scheme-mode)
+
+(defconst flycheck-scss-lint-checkstyle-re
+ (rx "cannot load such file" (1+ not-newline) "scss_lint_reporter_checkstyle")
+ "Regular expression to parse missing checkstyle error.")
+
+(defun flycheck-parse-scss-lint (output checker buffer)
+ "Parse SCSS-Lint OUTPUT from CHECKER and BUFFER.
+
+Like `flycheck-parse-checkstyle', but catches errors about
+missing checkstyle reporter from SCSS-Lint."
+ (if (string-match-p flycheck-scss-lint-checkstyle-re output)
+ (list (flycheck-error-new-at
+ 1 nil 'error "Checkstyle reporter for SCSS-Lint missing.
+Please run gem install scss_lint_reporter_checkstyle"
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer)))
+ (flycheck-parse-checkstyle output checker buffer)))
+
+(flycheck-def-config-file-var flycheck-scss-lintrc scss-lint ".scss-lint.yml"
+ :package-version '(flycheck . "0.23"))
+
+(flycheck-define-checker scss-lint
+ "A SCSS syntax checker using SCSS-Lint.
+
+Needs SCSS-Lint 0.43.2 or newer.
+
+See URL `https://github.com/brigade/scss-lint'."
+ :command ("scss-lint"
+ "--require=scss_lint_reporter_checkstyle"
+ "--format=Checkstyle"
+ (config-file "--config" flycheck-scss-lintrc)
+ "--stdin-file-path" source-original "-")
+ :standard-input t
+ ;; We cannot directly parse Checkstyle XML, since for some mysterious reason
+ ;; SCSS-Lint doesn't have a built-in Checkstyle reporter, and instead ships it
+ ;; as an addon which might not be installed. We use a custom error parser to
+ ;; check whether the addon is missing and turn that into a special kind of
+ ;; Flycheck error.
+ :error-parser flycheck-parse-scss-lint
+ :modes scss-mode
+ :verify
+ (lambda (checker)
+ (let* ((executable (flycheck-find-checker-executable checker))
+ (reporter-missing
+ (and executable
+ (with-temp-buffer
+ (call-process executable nil t nil
+ "--require=scss_lint_reporter_checkstyle")
+ (goto-char (point-min))
+ (re-search-forward
+ flycheck-scss-lint-checkstyle-re
+ nil 'no-error)))))
+ (when executable
+ (list
+ (flycheck-verification-result-new
+ :label "checkstyle reporter"
+ :message (if reporter-missing
+ "scss_lint_reporter_checkstyle missing"
+ "present")
+ :face (if reporter-missing
+ '(bold error)
+ 'success)))))))
+
+(flycheck-define-checker scss-stylelint
+ "A SCSS syntax and style checker using stylelint.
+
+See URL `http://stylelint.io/'."
+ :command ("stylelint"
+ (eval flycheck-stylelint-args)
+ "--syntax" "scss"
+ (option-flag "--quiet" flycheck-stylelint-quiet)
+ (config-file "--config" flycheck-stylelintrc))
+ :standard-input t
+ :error-parser flycheck-parse-stylelint
+ :predicate flycheck-buffer-nonempty-p
+ :modes (scss-mode))
+
+(flycheck-def-option-var flycheck-scss-compass nil scss
+ "Whether to enable the Compass CSS framework.
+
+When non-nil, enable the Compass CSS framework, via `--compass'."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "0.16"))
+
+(flycheck-define-checker scss
+ "A SCSS syntax checker using the SCSS compiler.
+
+See URL `http://sass-lang.com'."
+ :command ("scss"
+ "--cache-location" (eval (flycheck-sass-scss-cache-location))
+ (option-flag "--compass" flycheck-scss-compass)
+ "--check" "--stdin")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ (or "Syntax error: " "Error: ")
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ (optional "\r") "\n" (one-or-more " ") "on line " line
+ " of standard input"
+ line-end)
+ (warning line-start
+ "WARNING: "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ (optional "\r") "\n" (one-or-more " ") "on line " line
+ " of an unknown file"
+ line-end))
+ :modes scss-mode)
+
+(flycheck-def-args-var flycheck-sh-bash-args (sh-bash)
+ :package-version '(flycheck . "32"))
+
+(flycheck-define-checker sh-bash
+ "A Bash syntax checker using the Bash shell.
+
+See URL `http://www.gnu.org/software/bash/'."
+ :command ("bash" "--norc" "-n"
+ (eval flycheck-sh-bash-args)
+ "--")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ ;; The name/path of the bash executable
+ (one-or-more (not (any ":"))) ":"
+ ;; A label "line", possibly localized
+ (one-or-more (not (any digit)))
+ line (zero-or-more " ") ":" (zero-or-more " ")
+ (message) line-end))
+ :modes sh-mode
+ :predicate (lambda () (eq sh-shell 'bash))
+ :next-checkers ((warning . sh-shellcheck)))
+
+(flycheck-define-checker sh-posix-dash
+ "A POSIX Shell syntax checker using the Dash shell.
+
+See URL `http://gondor.apana.org.au/~herbert/dash/'."
+ :command ("dash" "-n")
+ :standard-input t
+ :error-patterns
+ ((error line-start (one-or-more (not (any ":"))) ": " line ": " (message)))
+ :modes sh-mode
+ :predicate (lambda () (eq sh-shell 'sh))
+ :next-checkers ((warning . sh-shellcheck)))
+
+(flycheck-define-checker sh-posix-bash
+ "A POSIX Shell syntax checker using the Bash shell.
+
+See URL `http://www.gnu.org/software/bash/'."
+ :command ("bash" "--posix" "--norc" "-n" "--")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ ;; The name/path of the bash executable
+ (one-or-more (not (any ":"))) ":"
+ ;; A label "line", possibly localized
+ (one-or-more (not (any digit)))
+ line (zero-or-more " ") ":" (zero-or-more " ")
+ (message) line-end))
+ :modes sh-mode
+ :predicate (lambda () (eq sh-shell 'sh))
+ :next-checkers ((warning . sh-shellcheck)))
+
+(flycheck-define-checker sh-zsh
+ "A Zsh syntax checker using the Zsh shell.
+
+See URL `http://www.zsh.org/'."
+ :command ("zsh" "--no-exec" "--no-globalrcs" "--no-rcs" source)
+ :error-patterns
+ ((error line-start (file-name) ":" line ": " (message) line-end))
+ :modes sh-mode
+ :predicate (lambda () (eq sh-shell 'zsh))
+ :next-checkers ((warning . sh-shellcheck)))
+
+(defconst flycheck-shellcheck-supported-shells '(bash ksh88 sh)
+ "Shells supported by ShellCheck.")
+
+(flycheck-def-option-var flycheck-shellcheck-excluded-warnings nil sh-shellcheck
+ "A list of excluded warnings for ShellCheck.
+
+The value of this variable is a list of strings, where each
+string is a warning code to be excluded from ShellCheck reports.
+By default, no warnings are excluded."
+ :type '(repeat :tag "Excluded warnings"
+ (string :tag "Warning code"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.21"))
+
+(flycheck-def-option-var flycheck-shellcheck-follow-sources t sh-shellcheck
+ "Whether to follow external sourced files in scripts.
+
+Shellcheck will follow and parse sourced files so long as a
+pre-runtime resolvable path to the file is present. This can
+either be part of the source command itself:
+ source /full/path/to/file.txt
+or added as a shellcheck directive before the source command:
+ # shellcheck source=/full/path/to/file.txt."
+ :type 'boolean
+ :safe #'booleanp
+ :package-version '(flycheck . "31"))
+
+(flycheck-define-checker sh-shellcheck
+ "A shell script syntax and style checker using Shellcheck.
+
+See URL `https://github.com/koalaman/shellcheck/'."
+ :command ("shellcheck"
+ "--format" "checkstyle"
+ "--shell" (eval (symbol-name sh-shell))
+ (option-flag "--external-sources"
+ flycheck-shellcheck-follow-sources)
+ (option "--exclude" flycheck-shellcheck-excluded-warnings list
+ flycheck-option-comma-separated-list)
+ "-")
+ :standard-input t
+ :error-parser flycheck-parse-checkstyle
+ :error-filter
+ (lambda (errors)
+ (flycheck-remove-error-file-names
+ "-" (flycheck-dequalify-error-ids errors)))
+ :modes sh-mode
+ :predicate (lambda () (memq sh-shell flycheck-shellcheck-supported-shells))
+ :verify (lambda (_)
+ (let ((supports-shell (memq sh-shell
+ flycheck-shellcheck-supported-shells)))
+ (list
+ (flycheck-verification-result-new
+ :label (format "Shell %s supported" sh-shell)
+ :message (if supports-shell "yes" "no")
+ :face (if supports-shell 'success '(bold warning)))))))
+
+(flycheck-define-checker slim
+ "A Slim syntax checker using the Slim compiler.
+
+See URL `http://slim-lang.com'."
+ :command ("slimrb" "--compile")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ "Slim::Parser::SyntaxError:" (message) (optional "\r") "\n "
+ "STDIN, Line " line (optional ", Column " column)
+ line-end))
+ :modes slim-mode
+ :next-checkers ((warning . slim-lint)))
+
+(flycheck-define-checker slim-lint
+ "A Slim linter.
+
+See URL `https://github.com/sds/slim-lint'."
+ :command ("slim-lint" "--reporter=checkstyle" source)
+ :error-parser flycheck-parse-checkstyle
+ :modes slim-mode)
+
+(flycheck-define-checker sql-sqlint
+ "A SQL syntax checker using the sqlint tool.
+
+See URL `https://github.com/purcell/sqlint'."
+ :command ("sqlint")
+ :standard-input t
+ :error-patterns
+ ((warning line-start "stdin:" line ":" column ":WARNING "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ line-end)
+ (error line-start "stdin:" line ":" column ":ERROR "
+ (message (one-or-more not-newline)
+ (zero-or-more "\n"
+ (one-or-more " ")
+ (one-or-more not-newline)))
+ line-end))
+ :modes (sql-mode))
+
+(flycheck-define-checker systemd-analyze
+ "A systemd unit checker using systemd-analyze(1).
+
+See URL
+`https://www.freedesktop.org/software/systemd/man/systemd-analyze.html'."
+ :command ("systemd-analyze" "verify" source)
+ :error-parser flycheck-parse-with-patterns-without-color
+ :error-patterns
+ ((error line-start (file-name) ":" (optional line ":") (message) line-end)
+ (error line-start "[" (file-name) ":" line "]" (message) line-end))
+ :error-filter flycheck-fill-empty-line-numbers
+ :modes (systemd-mode))
+
+(flycheck-def-config-file-var flycheck-chktexrc tex-chktex ".chktexrc")
+
+(flycheck-define-checker tcl-nagelfar
+ "An extensible tcl syntax checker
+
+See URL `http://nagelfar.sourceforge.net/'."
+ :command ("nagelfar" "-H" source)
+ :error-patterns
+ ;; foo.tcl: 29: E Wrong number of arguments (4) to "set"
+ ;; foo.tcl: 29: W Expr without braces
+ ((info line-start (file-name) ": " line ": N " (message) line-end)
+ (warning line-start (file-name) ": " line ": W " (message) line-end)
+ (error line-start (file-name) ": " line ": E " (message) line-end))
+ :modes tcl-mode)
+
+(flycheck-define-checker terraform
+ "A Terraform syntax checker with `terraform fmt'.
+
+See URL `https://www.terraform.io/docs/commands/fmt.html'."
+ :command ("terraform" "fmt" "-no-color" "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start "Error: " (one-or-more not-newline)
+ "\n\n on <stdin> line " line ":\n (source code not available)\n\n"
+ (message (one-or-more (and (one-or-more (not (any ?\n))) ?\n)))
+ line-end))
+ :next-checkers ((warning . terraform-tflint))
+ :modes terraform-mode)
+
+(flycheck-def-option-var flycheck-tflint-variable-files nil terraform-tflint
+ "A list of files to resolve terraform variables.
+
+The value of this variable is a list of strings, where each
+string is a file to add to the terraform variables files.
+Relative files are relative to the file being checked."
+ :type '(repeat (directory :tag "Variable file"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "32"))
+
+(defun flycheck-parse-tflint-linter (output checker buffer)
+ "Parse tflint warnings from JSON OUTPUT.
+
+CHECKER and BUFFER denote the CHECKER that returned OUTPUT and
+the BUFFER that was checked respectively.
+
+See URL `https://github.com/wata727/tflint' for more
+information about tflint."
+ (mapcar (lambda (err)
+ (let-alist err
+ (flycheck-error-new-at
+ .line
+ nil
+ (pcase .type
+ ("ERROR" 'error)
+ ("WARNING" 'warning)
+ (_ 'error))
+ .message
+ :id .detector
+ :checker checker
+ :buffer buffer
+ :filename (buffer-file-name buffer))))
+ (car (flycheck-parse-json output))))
+
+(flycheck-define-checker terraform-tflint
+ "A Terraform checker using tflint.
+
+See URL `https://github.com/wata727/tflint'."
+ :command ("tflint" "--format=json"
+ (option-list "--var-file=" flycheck-tflint-variable-files concat)
+ source-original)
+ :error-parser flycheck-parse-tflint-linter
+ :predicate flycheck-buffer-saved-p
+ :modes terraform-mode)
+
+(flycheck-define-checker tex-chktex
+ "A TeX and LaTeX syntax and style checker using chktex.
+
+See URL `http://www.nongnu.org/chktex/'."
+ :command ("chktex"
+ (config-file "--localrc" flycheck-chktexrc)
+ ;; Compact error messages, and no version information, and execute
+ ;; \input statements
+ "--verbosity=0" "--quiet" "--inputfiles")
+ :standard-input t
+ :error-patterns
+ ((warning line-start "stdin:" line ":" column ":"
+ (id (one-or-more digit)) ":" (message) line-end))
+ :error-filter
+ (lambda (errors)
+ (flycheck-sanitize-errors (flycheck-increment-error-columns errors)))
+ :modes (latex-mode plain-tex-mode))
+
+(flycheck-define-checker tex-lacheck
+ "A LaTeX syntax and style checker using lacheck.
+
+See URL `http://www.ctan.org/pkg/lacheck'."
+ :command ("lacheck" source-inplace)
+ :error-patterns
+ ((warning line-start
+ "\"" (file-name) "\", line " line ": " (message)
+ line-end))
+ :modes latex-mode)
+
+(flycheck-define-checker texinfo
+ "A Texinfo syntax checker using makeinfo.
+
+See URL `http://www.gnu.org/software/texinfo/'."
+ :command ("makeinfo" "-o" null-device "-")
+ :standard-input t
+ :error-patterns
+ ((warning line-start
+ "-:" line (optional ":" column) ": " "warning: " (message)
+ line-end)
+ (error line-start
+ "-:" line (optional ":" column) ": " (message)
+ line-end))
+ :modes texinfo-mode)
+
+(flycheck-def-config-file-var flycheck-textlint-config
+ textlint "textlintrc.json")
+
+;; This needs to be set because textlint plugins are installed separately,
+;; and there is no way to check their installation status -- textlint simply
+;; prints a backtrace.
+(flycheck-def-option-var flycheck-textlint-plugin-alist
+ '((markdown-mode . "@textlint/markdown")
+ (gfm-mode . "@textlint/markdown")
+ (t . "@textlint/text"))
+ textlint
+ "An alist mapping major modes to textlint plugins.
+
+Each item is a cons cell `(MAJOR-MODE . PLUGIN)', where MAJOR-MODE is a mode
+`flycheck-textlint' supports and PLUGIN is a textlint plugin. As a catch-all,
+when MAJOR-MODE is t, that PLUGIN will be used for any supported mode that
+isn't specified.
+
+See URL `https://npms.io/search?q=textlint-plugin' for all textlint plugins
+published on NPM."
+ :type '(repeat (choice (cons symbol string)
+ (cons (const t) string))))
+
+(defun flycheck--textlint-get-plugin ()
+ "Return the textlint plugin for the current mode."
+ (cdr (-first
+ (lambda (arg)
+ (pcase-let ((`(,mode . _) arg))
+ (or (and (booleanp mode) mode) ; mode is t
+ (derived-mode-p mode))))
+ flycheck-textlint-plugin-alist)))
+
+(flycheck-define-checker textlint
+ "A text prose linter using textlint.
+
+See URL `https://textlint.github.io/'."
+ :command ("textlint"
+ (config-file "--config" flycheck-textlint-config)
+ "--format" "json"
+ ;; get the first matching plugin from plugin-alist
+ "--plugin"
+ (eval (flycheck--textlint-get-plugin))
+ source)
+ ;; textlint seems to say that its json output is compatible with ESLint.
+ ;; https://textlint.github.io/docs/formatter.html
+ :error-parser flycheck-parse-eslint
+ ;; textlint can support different formats with textlint plugins, but
+ ;; only text and markdown formats are installed by default. Ask the
+ ;; user to add mode->plugin mappings manually in
+ ;; `flycheck-textlint-plugin-alist'.
+ :modes
+ (text-mode markdown-mode gfm-mode message-mode adoc-mode
+ mhtml-mode latex-mode org-mode rst-mode)
+ :enabled
+ (lambda () (flycheck--textlint-get-plugin))
+ :verify
+ (lambda (_)
+ (let ((plugin (flycheck--textlint-get-plugin)))
+ (list
+ (flycheck-verification-result-new
+ :label "textlint plugin"
+ :message plugin
+ :face 'success)))))
+
+(flycheck-def-config-file-var flycheck-typescript-tslint-config
+ typescript-tslint "tslint.json"
+ :package-version '(flycheck . "27"))
+
+(flycheck-def-option-var flycheck-typescript-tslint-rulesdir
+ nil typescript-tslint
+ "The directory of custom rules for TSLint.
+
+The value of this variable is either a string containing the path
+to a directory with custom rules, or nil, to not give any custom
+rules to TSLint.
+
+Refer to the TSLint manual at URL
+`http://palantir.github.io/tslint/usage/cli/'
+for more information about the custom directory."
+ :type '(choice (const :tag "No custom rules directory" nil)
+ (directory :tag "Custom rules directory"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "27"))
+
+(flycheck-def-args-var flycheck-tslint-args (typescript-tslint)
+ :package-version '(flycheck . "31"))
+
+(flycheck-define-checker typescript-tslint
+ "TypeScript style checker using TSLint.
+
+Note that this syntax checker is not used if
+`flycheck-typescript-tslint-config' is nil or refers to a
+non-existing file.
+
+See URL `https://github.com/palantir/tslint'."
+ :command ("tslint" "--format" "json"
+ (config-file "--config" flycheck-typescript-tslint-config)
+ (option "--rules-dir" flycheck-typescript-tslint-rulesdir)
+ (eval flycheck-tslint-args)
+ source-inplace)
+ :error-parser flycheck-parse-tslint
+ :modes (typescript-mode))
+
+(flycheck-def-option-var flycheck-verilator-include-path nil verilog-verilator
+ "A list of include directories for Verilator.
+
+The value of this variable is a list of strings, where each
+string is a directory to add to the include path of Verilator.
+Relative paths are relative to the file being checked."
+ :type '(repeat (directory :tag "Include directory"))
+ :safe #'flycheck-string-list-p
+ :package-version '(flycheck . "0.24"))
+
+(flycheck-define-checker verilog-verilator
+ "A Verilog syntax checker using the Verilator Verilog HDL simulator.
+
+See URL `https://www.veripool.org/wiki/verilator'."
+ :command ("verilator" "--lint-only" "-Wall"
+ (option-list "-I" flycheck-verilator-include-path concat)
+ source)
+ :error-patterns
+ ((warning line-start "%Warning-" (zero-or-more not-newline) ": "
+ (file-name) ":" line ": " (message) line-end)
+ (error line-start "%Error: " (file-name) ":"
+ line ": " (message) line-end))
+ :modes verilog-mode)
+
+(flycheck-def-option-var flycheck-ghdl-language-standard nil vhdl-ghdl
+ "The language standard to use in GHDL.
+
+The value of this variable is either a string denoting a language
+standard, or nil, to use the default standard. When non-nil,
+pass the language standard via the `--std' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (string :tag "Language standard"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-ghdl-language-standard)
+
+(flycheck-def-option-var flycheck-ghdl-workdir nil vhdl-ghdl
+ "The directory to use for the file library.
+
+The value of this variable is either a string with the directory
+to use for the file library, or nil, to use the default value.
+When non-nil, pass the directory via the `--workdir' option."
+ :type '(choice (const :tag "Default directory" nil)
+ (string :tag "Directory for the file library"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-ghdl-workdir)
+
+(flycheck-def-option-var flycheck-ghdl-ieee-library nil vhdl-ghdl
+ "The standard to use for the IEEE library.
+
+The value of this variable is either a string denoting an ieee library
+standard, or nil, to use the default standard. When non-nil,
+pass the ieee library standard via the `--ieee' option."
+ :type '(choice (const :tag "Default standard" nil)
+ (const :tag "No IEEE Library" "none")
+ (const :tag "IEEE standard" "standard")
+ (const :tag "Synopsys standard" "synopsys")
+ (const :tag "Mentor standard" "mentor"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "32"))
+(make-variable-buffer-local 'flycheck-ghdl-ieee-library)
+
+(flycheck-define-checker vhdl-ghdl
+ "A VHDL syntax checker using GHDL.
+
+See URL `https://github.com/ghdl/ghdl'."
+ :command ("ghdl"
+ "-s" ; only do the syntax checking
+ (option "--std=" flycheck-ghdl-language-standard concat)
+ (option "--workdir=" flycheck-ghdl-workdir concat)
+ (option "--ieee=" flycheck-ghdl-ieee-library concat)
+ source)
+ :error-patterns
+ ((error line-start (file-name) ":" line ":" column ": " (message) line-end))
+ :modes vhdl-mode)
+
+(flycheck-def-option-var flycheck-xml-xmlstarlet-xsd-path nil xml-xmlstarlet
+ "An XSD schema to validate against."
+ :type '(choice (const :tag "None" nil)
+ (file :tag "XSD schema"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "31"))
+
+(flycheck-define-checker xml-xmlstarlet
+ "A XML syntax checker and validator using the xmlstarlet utility.
+
+See URL `http://xmlstar.sourceforge.net/'."
+ ;; Validate standard input with verbose error messages, and do not dump
+ ;; contents to standard output
+ :command ("xmlstarlet" "val" "--err" "--quiet"
+ (option "--xsd" flycheck-xml-xmlstarlet-xsd-path)
+ "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start "-:" line "." column ": " (message) line-end))
+ :modes (xml-mode nxml-mode))
+
+(flycheck-def-option-var flycheck-xml-xmllint-xsd-path nil xml-xmllint
+ "An XSD schema to validate against."
+ :type '(choice (const :tag "None" nil)
+ (file :tag "XSD schema"))
+ :safe #'flycheck-string-or-nil-p
+ :package-version '(flycheck . "31"))
+
+(flycheck-define-checker xml-xmllint
+ "A XML syntax checker and validator using the xmllint utility.
+
+The xmllint is part of libxml2, see URL
+`http://www.xmlsoft.org/'."
+ :command ("xmllint" "--noout"
+ (option "--schema" flycheck-xml-xmllint-xsd-path)
+ "-")
+ :standard-input t
+ :error-patterns
+ ((error line-start "-:" line ": " (message) line-end))
+ :modes (xml-mode nxml-mode))
+
+(flycheck-define-checker yaml-jsyaml
+ "A YAML syntax checker using JS-YAML.
+
+See URL `https://github.com/nodeca/js-yaml'."
+ :command ("js-yaml")
+ :standard-input t
+ :error-patterns
+ ((error line-start
+ (or "JS-YAML" "YAMLException") ": "
+ (message) " at line " line ", column " column ":"
+ line-end))
+ :modes yaml-mode
+ :next-checkers ((warning . cwl)))
+
+(flycheck-define-checker yaml-ruby
+ "A YAML syntax checker using Ruby's YAML parser.
+
+This syntax checker uses the YAML parser from Ruby's standard
+library.
+
+See URL `http://www.ruby-doc.org/stdlib-2.0.0/libdoc/yaml/rdoc/YAML.html'."
+ :command ("ruby" "-ryaml" "-e" "begin;
+ YAML.load(STDIN); \
+ rescue Exception => e; \
+ STDERR.puts \"stdin:#{e}\"; \
+ end")
+ :standard-input t
+ :error-patterns
+ ((error line-start "stdin:" (zero-or-more not-newline) ":" (message)
+ "at line " line " column " column line-end))
+ :modes yaml-mode
+ :next-checkers ((warning . cwl)))
+
+(flycheck-def-config-file-var flycheck-yamllintrc yaml-yamllint ".yamllint")
+
+(flycheck-define-checker yaml-yamllint
+ "A YAML syntax checker using YAMLLint.
+See URL `https://github.com/adrienverge/yamllint'."
+ :standard-input t
+ :command ("yamllint" "-f" "parsable" "-"
+ (config-file "-c" flycheck-yamllintrc))
+ :error-patterns
+ ((error line-start
+ "stdin:" line ":" column ": [error] " (message) line-end)
+ (warning line-start
+ "stdin:" line ":" column ": [warning] " (message) line-end))
+ :modes yaml-mode)
+
+(provide 'flycheck)
+
+;; Local Variables:
+;; coding: utf-8
+;; indent-tabs-mode: nil
+;; End:
+
+;;; flycheck.el ends here
diff --git a/emacs.d/elpa/gnupg/pubring.kbx b/emacs.d/elpa/gnupg/pubring.kbx
new file mode 100644
index 0000000..87ba260
--- /dev/null
+++ b/emacs.d/elpa/gnupg/pubring.kbx
Binary files differ
diff --git a/emacs.d/elpa/gnupg/pubring.kbx~ b/emacs.d/elpa/gnupg/pubring.kbx~
new file mode 100644
index 0000000..11895d0
--- /dev/null
+++ b/emacs.d/elpa/gnupg/pubring.kbx~
Binary files differ
diff --git a/emacs.d/elpa/gnupg/trustdb.gpg b/emacs.d/elpa/gnupg/trustdb.gpg
new file mode 100644
index 0000000..a699eb6
--- /dev/null
+++ b/emacs.d/elpa/gnupg/trustdb.gpg
Binary files differ
diff --git a/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-autoloads.el b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-autoloads.el
new file mode 100644
index 0000000..b5e5928
--- /dev/null
+++ b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-autoloads.el
@@ -0,0 +1,25 @@
+;;; modus-operandi-theme-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "modus-operandi-theme" "modus-operandi-theme.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from modus-operandi-theme.el
+
+(when load-file-name (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name))))
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "modus-operandi-theme" '("modus-operandi")))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; modus-operandi-theme-autoloads.el ends here
diff --git a/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-pkg.el b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-pkg.el
new file mode 100644
index 0000000..0a35161
--- /dev/null
+++ b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "modus-operandi-theme" "20200501.252" "Accessible light theme (WCAG AAA)" '((emacs "26.1")) :commit "89a31f6242dac52071ee6be18feadcb604b548d7" :keywords '("faces" "theme" "accessibility") :authors '(("Protesilaos Stavrou" . "info@protesilaos.com")) :maintainer '("Protesilaos Stavrou" . "info@protesilaos.com") :url "https://gitlab.com/protesilaos/modus-themes")
diff --git a/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme.el b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme.el
new file mode 100644
index 0000000..7bc43a9
--- /dev/null
+++ b/emacs.d/elpa/modus-operandi-theme-20200501.252/modus-operandi-theme.el
@@ -0,0 +1,3315 @@
+;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*-
+
+;; Copyright (c) 2019-2020 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; URL: https://gitlab.com/protesilaos/modus-themes
+;; Package-Version: 20200501.252
+;; Version: 0.8.1
+;; Package-Requires: ((emacs "26.1"))
+;; Keywords: faces, theme, accessibility
+
+;; This file is NOT part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; This theme is designed for colour-contrast accessibility.
+;;
+;; 1. Provide a consistent minimum contrast ratio between background and
+;; foreground values of 7:1 or higher. This meets the highest such
+;; accessibility criterion per the guidelines of the Worldwide Web
+;; Consortium's Working Group on Accessibility (WCAG AAA standard).
+;;
+;; 2. Offer as close to full face coverage as possible. The list is
+;; already quite long (see further below), with more additions to follow
+;; as part of the ongoing development process.
+;;
+;; The theme provides the following customisation options, all of which
+;; are disabled by default:
+;;
+;; modus-operandi-theme-slanted-constructs
+;; modus-operandi-theme-bold-constructs
+;; modus-operandi-theme-proportional-fonts
+;; modus-operandi-theme-rainbow-headings
+;; modus-operandi-theme-section-headings
+;; modus-operandi-theme-scale-headings
+;; modus-operandi-theme-visible-fringes
+;; modus-operandi-theme-distinct-org-blocks
+;; modus-operandi-theme-3d-modeline
+;; modus-operandi-theme-subtle-diffs
+;;
+;; The default scale is as follows (it can be customised as well):
+;;
+;; modus-operandi-theme-scale-1 1.05
+;; modus-operandi-theme-scale-2 1.1
+;; modus-operandi-theme-scale-3 1.15
+;; modus-operandi-theme-scale-4 1.2
+;;
+;; What follows is the list of explicitly supported packages or face
+;; groups (there are implicitly supported packages as well, which
+;; inherit from font-lock or some basic group). You are encouraged to
+;; notify me of any missing package or change you would like to see.
+;;
+;; ace-window
+;; ag
+;; alert
+;; all-the-icons
+;; annotate
+;; anzu
+;; apropos
+;; apt-sources-list
+;; artbollocks-mode
+;; auctex and TeX
+;; auto-dim-other-buffers
+;; avy
+;; breakpoint (provided by built-in gdb-mi.el)
+;; bm
+;; buffer-expose
+;; calendar and diary
+;; calfw
+;; centaur-tabs
+;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
+;; cider
+;; color-rg
+;; column-enforce-mode
+;; company-mode
+;; company-posframe
+;; compilation-mode
+;; completions
+;; counsel
+;; counsel-css
+;; counsel-notmuch
+;; counsel-org-capture-string
+;; cov
+;; csv-mode
+;; ctrlf
+;; custom (M-x customize)
+;; dap-mode
+;; dashboard (emacs-dashboard)
+;; deadgrep
+;; debbugs
+;; define-word
+;; deft
+;; diff-hl
+;; diff-mode
+;; dim-autoload
+;; dired
+;; dired-async
+;; dired-git
+;; dired-git-info
+;; dired-narrow
+;; dired-subtree
+;; diredfl
+;; disk-usage
+;; doom-modeline
+;; dynamic-ruler
+;; easy-jekyll
+;; easy-kill
+;; ebdb
+;; ediff
+;; eglot
+;; eldoc-box
+;; elfeed
+;; elfeed-score
+;; emms
+;; enhanced-ruby-mode
+;; epa
+;; equake
+;; erc
+;; ert
+;; eshell
+;; evil (evil-mode)
+;; evil-goggles
+;; evil-visual-mark-mode
+;; eww
+;; eyebrowse
+;; fancy-dabbrev
+;; flycheck
+;; flycheck-indicator
+;; flycheck-posframe
+;; flymake
+;; flyspell
+;; flyspell-correct
+;; flx
+;; freeze-it
+;; frog-menu
+;; focus
+;; fold-this
+;; font-lock (generic syntax highlighting)
+;; forge
+;; fountain (fountain-mode)
+;; geiser
+;; git
+;; git-gutter (and variants)
+;; git-lens
+;; git-timemachine
+;; git-walktree
+;; gnus
+;; helm
+;; helm-ls-git
+;; helm-switch-shell
+;; helm-xref
+;; helpful
+;; highlight-blocks
+;; highlight-defined
+;; highlight-escape-sequences (`hes-mode')
+;; highlight-numbers
+;; highlight-symbol
+;; highlight-thing
+;; hl-fill-column
+;; hl-line-mode
+;; hl-todo
+;; hydra
+;; ibuffer
+;; icomplete
+;; ido-mode
+;; iedit
+;; iflipb
+;; imenu-list
+;; info
+;; info-colors
+;; interaction-log
+;; ioccur
+;; isearch, occur, etc.
+;; ivy
+;; ivy-posframe
+;; jira (org-jira)
+;; js2-mode
+;; julia
+;; jupyter
+;; kaocha-runner
+;; keycast
+;; line numbers (`display-line-numbers-mode' and global variant)
+;; lsp-mode
+;; lsp-ui
+;; magit
+;; magit-imerge
+;; man
+;; markdown-mode
+;; markup-faces (`adoc-mode')
+;; mentor
+;; messages
+;; modeline
+;; mood-line
+;; mu4e
+;; mu4e-conversation
+;; multiple-cursors
+;; neotree
+;; no-emoji
+;; num3-mode
+;; orderless
+;; org
+;; org-journal
+;; org-noter
+;; org-pomodoro
+;; org-recur
+;; org-roam
+;; org-superstar
+;; org-treescope
+;; origami
+;; outline-mode
+;; outline-minor-faces
+;; package (M-x list-packages)
+;; page-break-lines
+;; paradox
+;; paren-face
+;; parrot
+;; pass
+;; persp-mode
+;; perspective
+;; phi-grep
+;; phi-search
+;; pomidor
+;; powerline
+;; powerline-evil
+;; proced
+;; prodigy
+;; rainbow-blocks
+;; rainbow-identifiers
+;; rainbow-delimiters
+;; rcirc
+;; regexp-builder (also known as `re-builder')
+;; rg
+;; ripgrep
+;; rmail
+;; ruler-mode
+;; sallet
+;; selectrum
+;; sesman
+;; shell-script-mode
+;; show-paren-mode
+;; side-notes
+;; skewer-mode
+;; smart-mode-line
+;; smartparens
+;; smerge
+;; speedbar
+;; spell-fu
+;; stripes
+;; suggest
+;; switch-window
+;; swiper
+;; swoop
+;; sx
+;; symbol-overlay
+;; tab-bar-mode
+;; tab-line-mode
+;; syslog-mode
+;; trashed
+;; telephone-line
+;; term
+;; tomatinho
+;; transient (pop-up windows like Magit's)
+;; treemacs
+;; tuareg
+;; undo-tree
+;; vc (built-in mode line status for version control)
+;; vc-annotate (C-x v g)
+;; vimish-fold
+;; visible-mark
+;; visual-regexp
+;; volatile-highlights
+;; vterm
+;; wcheck-mode
+;; web-mode
+;; wgrep
+;; which-function-mode
+;; which-key
+;; whitespace-mode
+;; window-divider-mode
+;; winum
+;; writegood-mode
+;; woman
+;; xah-elisp-mode
+;; xref
+;; xterm-color (and ansi-colors)
+;; yaml-mode
+;; ztree
+
+;;; Code:
+
+
+
+(deftheme modus-operandi
+ "Light theme that conforms with the highest accessibility
+ standard for colour contrast between background and
+ foreground elements (WCAG AAA).")
+
+;; These faces will be inherited by actual constructs. They are meant
+;; for those cases where a face needs to distinguish its output from
+;; the rest of the text, such as `isearch' and `occur'… We define
+;; these separately in order to combine each colour with its
+;; appropriate foreground value. This is to ensure a consistent
+;; contrast ratio of >= 7:1.
+(defgroup modus-theme ()
+ "Theme that ensures WCAG AAA accessibility (contrast ratio
+between foreground and background is >= 7:1)."
+ :group 'faces
+ :prefix "modus-theme-"
+ :link '(url-link :tag "GitLab" "https://gitlab.com/protesilaos/modus-themes")
+ :tag "Modus Operandi")
+
+(defface modus-theme-subtle-red nil t)
+(defface modus-theme-subtle-green nil t)
+(defface modus-theme-subtle-yellow nil t)
+(defface modus-theme-subtle-blue nil t)
+(defface modus-theme-subtle-magenta nil t)
+(defface modus-theme-subtle-cyan nil t)
+(defface modus-theme-subtle-neutral nil t)
+(defface modus-theme-intense-red nil t)
+(defface modus-theme-intense-green nil t)
+(defface modus-theme-intense-yellow nil t)
+(defface modus-theme-intense-blue nil t)
+(defface modus-theme-intense-magenta nil t)
+(defface modus-theme-intense-cyan nil t)
+(defface modus-theme-intense-neutral nil t)
+(defface modus-theme-refine-red nil t)
+(defface modus-theme-refine-green nil t)
+(defface modus-theme-refine-yellow nil t)
+(defface modus-theme-refine-blue nil t)
+(defface modus-theme-refine-magenta nil t)
+(defface modus-theme-refine-cyan nil t)
+(defface modus-theme-active-red nil t)
+(defface modus-theme-active-green nil t)
+(defface modus-theme-active-yellow nil t)
+(defface modus-theme-active-blue nil t)
+(defface modus-theme-active-magenta nil t)
+(defface modus-theme-active-cyan nil t)
+(defface modus-theme-fringe-red nil t)
+(defface modus-theme-fringe-green nil t)
+(defface modus-theme-fringe-yellow nil t)
+(defface modus-theme-fringe-blue nil t)
+(defface modus-theme-fringe-magenta nil t)
+(defface modus-theme-fringe-cyan nil t)
+(defface modus-theme-special-cold nil t)
+(defface modus-theme-special-mild nil t)
+(defface modus-theme-special-warm nil t)
+(defface modus-theme-special-calm nil t)
+(defface modus-theme-diff-added nil t)
+(defface modus-theme-diff-changed nil t)
+(defface modus-theme-diff-removed nil t)
+(defface modus-theme-diff-refine-added nil t)
+(defface modus-theme-diff-refine-changed nil t)
+(defface modus-theme-diff-refine-removed nil t)
+(defface modus-theme-diff-focus-added nil t)
+(defface modus-theme-diff-focus-changed nil t)
+(defface modus-theme-diff-focus-removed nil t)
+(defface modus-theme-diff-heading nil t)
+
+;; User-facing customisation options. They are all deactivated by
+;; default (users must opt in).
+(defcustom modus-operandi-theme-slanted-constructs nil
+ "Use slanted text in more code constructs (italics or oblique)."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-bold-constructs nil
+ "Use bold text in more code constructs."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-proportional-fonts nil
+ "Use proportional fonts (variable-pitch) in headings."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-rainbow-headings nil
+ "Use more saturated colours for headings."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-section-headings nil
+ "Use a background and an overline in headings."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-scale-headings nil
+ "Use font scaling for headings."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-scale-1 1.05
+ "Font size that is slightly larger than the base value."
+ :type 'number)
+
+(defcustom modus-operandi-theme-scale-2 1.1
+ "Font size slightly larger than `modus-operandi-theme-scale-1'."
+ :type 'number)
+
+(defcustom modus-operandi-theme-scale-3 1.15
+ "Font size slightly larger than `modus-operandi-theme-scale-2'."
+ :type 'number)
+
+(defcustom modus-operandi-theme-scale-4 1.2
+ "Font size slightly larger than `modus-operandi-theme-scale-3'."
+ :type 'number)
+
+(defcustom modus-operandi-theme-visible-fringes nil
+ "Use a visible style for fringes."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-distinct-org-blocks nil
+ "Use a distinct background for `org-mode' source blocks."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-3d-modeline nil
+ "Use a three-dimensional style for the active mode line."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-subtle-diffs nil
+ "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
+ :type 'boolean)
+
+;; Helper functions that are meant to ease the implementation of the
+;; above customisation options.
+(defun modus-operandi-theme-heading-foreground (subtle rainbow)
+ "Apply foreground value to headings.
+SUBTLE is the default aesthetic.
+RAINBOW is the saturated one."
+ (if modus-operandi-theme-rainbow-headings
+ (list :foreground rainbow)
+ (list :foreground subtle)))
+
+(defun modus-operandi-theme-heading-block (bg fg)
+ "Conditionally extend heading styles.
+Apply BG to background and FG to overline."
+ (if modus-operandi-theme-section-headings
+ (list :background bg :overline fg)
+ (list :background nil :overline nil)))
+
+(defun modus-operandi-theme-org-todo-block (bgbox fgbox fg)
+ "Conditionally extend the styles of Org keywords.
+BGBOX applies to the background.
+FGBOX applies to the foreground and the border.
+FG is used when no block style is in effect."
+ (if modus-operandi-theme-section-headings
+ (list :background bgbox :foreground fgbox :box (list :color fgbox))
+ (list :foreground fg)))
+
+(defun modus-operandi-theme-org-src-block (bgsrc bg)
+ "Conditionally set the styles of Org source blocks.
+BGSRC applies to a distinct background. BG is used to keep
+blocks the same background as the rest of the buffer."
+ (if modus-operandi-theme-distinct-org-blocks
+ (list :background bgsrc :extend t)
+ (list :background bg)))
+
+(defun modus-operandi-theme-modeline-box (col3d col &optional btn int)
+ "Control the box properties of the mode line.
+COL3D is the border that is intended for the three-dimensional modeline.
+COL applies to the two-dimensional modeline.
+Optional BTN provides the 3d button style.
+Optional INT defines a border width."
+ (let* ((style (if btn 'released-button nil))
+ (int (if int int 1)))
+ (if modus-operandi-theme-3d-modeline
+ (list :line-width int :color col3d :style style)
+ (list :line-width 1 :color col :style nil))))
+
+(defun modus-operandi-theme-modeline-props (bg3d fg3d &optional bg fg)
+ "Control the background and foreground of the mode line.
+BG is the modeline's background.
+FG is the modeline's foreground.
+BG3D and FG3D apply to the three-dimensional modeline style."
+ (if modus-operandi-theme-3d-modeline
+ (list :background bg3d :foreground fg3d)
+ (list :background bg :foreground fg)))
+
+(defun modus-operandi-theme-diffs (subtle-bg subtle-fg intense-bg intense-fg)
+ "Colour combinations for `modus-operandi-theme-subtle-diffs'.
+
+SUBTLE-BG should be similar or the same as the main background
+SUBTLE-FG should be an appropriate accent value
+INTENSE-BG should be one of the dedicated backgrounds for diffs
+INTENSE-FG should be one of the dedicated foregrounds for diffs"
+ (if modus-operandi-theme-subtle-diffs
+ (list :background subtle-bg :foreground subtle-fg)
+ (list :background intense-bg :foreground intense-fg)))
+
+(defun modus-operandi-theme-scale (amount)
+ "Scale heading by AMOUNT.
+
+AMOUNT is a customisation option."
+ (when modus-operandi-theme-scale-headings
+ (list :height amount)))
+
+
+
+;; Define colour palette. Each colour must have a >= 7:1 contrast
+;; ratio relative to the foreground/background colour it is rendered
+;; against.
+(let ((class '((class color) (min-colors 89)))
+ (fg-main "#000000") (bg-main "#ffffff")
+ (fg-alt "#505050") (bg-alt "#f3f1f3")
+ (fg-dim "#282828") (bg-dim "#f8f8f8")
+ ;; specifically for on/off states (e.g. `mode-line')
+ ;;
+ ;; must be combined with themselves
+ (fg-active "#191919") (bg-active "#e0e0e0")
+ (fg-inactive "#424242") (bg-inactive "#efedef")
+ ;; special base values, used only for cases where the above
+ ;; fg-* or bg-* cannot or should not be used (to avoid confusion)
+ ;; must be combined with: {fg,bg}-{main,alt,dim}
+ (fg-special-cold "#093060") (bg-special-cold "#dde3f4")
+ (fg-special-mild "#184034") (bg-special-mild "#c4ede0")
+ (fg-special-warm "#5d3026") (bg-special-warm "#f0e0d4")
+ (fg-special-calm "#61284f") (bg-special-calm "#f8ddea")
+ ;; styles for the main constructs
+ ;;
+ ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
+ (red "#a80000") (green "#005f00")
+ (yellow "#8b3800") (blue "#0030a6")
+ (magenta "#721045") (cyan "#005589")
+ ;; styles for common, but still specialised constructs
+ ;;
+ ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
+ (red-alt "#972500") (green-alt "#305c00")
+ (yellow-alt "#714900") (blue-alt "#223fbf")
+ (magenta-alt "#8f0075") (cyan-alt "#185870")
+ ;; same purpose as above, just slight differences
+ ;;
+ ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
+ (red-alt-other "#a0132f") (green-alt-other "#095f1c")
+ (yellow-alt-other "#804000") (blue-alt-other "#0000bb")
+ (magenta-alt-other "#5317ac") (cyan-alt-other "#005a68")
+ ;; styles for elements that should be very subtle
+ ;;
+ ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
+ (red-nuanced "#4d0006") (green-nuanced "#003000")
+ (yellow-nuanced "#3a2a00") (blue-nuanced "#001170")
+ (magenta-nuanced "#381050") (cyan-nuanced "#003434")
+ ;; styles for slightly accented background
+ ;;
+ ;; must be combined with any of the above foreground values
+ (red-nuanced-bg "#fef2f2") (green-nuanced-bg "#f4faf4")
+ (yellow-nuanced-bg "#fcf6f1") (blue-nuanced-bg "#f4f4ff")
+ (magenta-nuanced-bg "#fff4fc") (cyan-nuanced-bg "#f0f6fa")
+ ;; styles for elements that should draw attention to themselves
+ ;;
+ ;; must be combined with: `bg-main'
+ (red-intense "#b60000") (green-intense "#006800")
+ (yellow-intense "#904200") (blue-intense "#1111ee")
+ (magenta-intense "#7000e0") (cyan-intense "#205b93")
+ ;; styles for background elements that should be visible yet
+ ;; subtle
+ ;;
+ ;; must be combined with: `fg-dim'
+ (red-subtle-bg "#f2b0a2") (green-subtle-bg "#aecf90")
+ (yellow-subtle-bg "#e4c340") (blue-subtle-bg "#b5d0ff")
+ (magenta-subtle-bg "#f0d3ff") (cyan-subtle-bg "#c0efff")
+ ;; styles for background elements that should be visible and
+ ;; distinguishable
+ ;;
+ ;; must be combined with: `fg-main'
+ (red-intense-bg "#ff8892") (green-intense-bg "#5ada88")
+ (yellow-intense-bg "#f5df23") (blue-intense-bg "#6aaeff")
+ (magenta-intense-bg "#d5baff") (cyan-intense-bg "#42cbd4")
+ ;; styles for refined git diffs and other contexts where both the
+ ;; foreground and the background need to have the same/similar hue
+ ;;
+ ;; must be combined with themselves OR the foregrounds can be
+ ;; combined with any of the base backgrounds
+ (red-refine-bg "#ffcccc") (green-refine-bg "#aceaac")
+ (yellow-refine-bg "#fff29a") (blue-refine-bg "#8ac7ff")
+ (magenta-refine-bg "#ffccff") (cyan-refine-bg "#8eecf4")
+ (red-refine-fg "#780000") (green-refine-fg "#004c00")
+ (yellow-refine-fg "#604000") (blue-refine-fg "#002288")
+ (magenta-refine-fg "#770077") (cyan-refine-fg "#004850")
+ ;; styles that are meant exclusively for the mode line
+ ;;
+ ;; must be combined with: `bg-active', `bg-inactive'
+ (red-active "#930000") (green-active "#005300")
+ (yellow-active "#703700") (blue-active "#0033c0")
+ (magenta-active "#6320a0") (cyan-active "#004882")
+ ;; styles that are meant exclusively for the fringes
+ ;;
+ ;; must have a minimum contrast ratio of 1.5:1 with `bg-inactive'
+ ;; and be combined with `fg-main' or `fg-dim'
+ (red-fringe-bg "#ff9a9a") (green-fringe-bg "#86cf86")
+ (yellow-fringe-bg "#e0c050") (blue-fringe-bg "#82afff")
+ (magenta-fringe-bg "#f0a3ff") (cyan-fringe-bg "#00d6e0")
+
+ ;; styles reserved for specific faces
+ ;;
+ ;; `bg-hl-line' is between `bg-dim' and `bg-alt', so it should
+ ;; work with all accents that cover those two, plus `bg-main'
+ ;;
+ ;; `bg-header' is between `bg-active' and `bg-inactive', so it
+ ;; can be combined with any of the "active" values, plus the
+ ;; "special" and base foreground colours
+ ;;
+ ;; `bg-paren-match', `bg-region' and `bg-tab-active' must be
+ ;; combined with `fg-main', while `bg-tab-inactive' should be
+ ;; combined with `fg-dim'
+ ;;
+ ;; `fg-tab-active' is meant to be combined with `bg-tab-active',
+ ;; though only for styling special elements, such as underlining
+ ;; the current tab
+ ;;
+ ;; `fg-escape-char-construct' and `fg-escape-char-backslash' can
+ ;; be combined `bg-main', `bg-dim', `bg-alt'
+ ;;
+ ;; `fg-lang-error', `fg-lang-warning', `fg-lang-note' can be
+ ;; combined with `bg-main', `bg-dim', `bg-alt'
+ ;;
+ ;; `fg-mark', `fg-mark-del', `fg-mark-other' can be combined with
+ ;; `bg-main', `bg-dim', `bg-alt', `bg-hl-line'
+ ;;
+ ;; `fg-unfocused' must be combined with `fg-main'
+ ;;
+ ;; the window divider colours apply to faces with just an fg value
+ ;;
+ ;; all pairs are combinable with themselves
+ (bg-hl-line "#f1f2f6")
+ (bg-paren-match "#efcabf")
+ (bg-region "#bcbcbc")
+
+ (bg-tab-active "#ababab")
+ (bg-tab-inactive "#dadada")
+ (fg-tab-active "#000077")
+
+ (fg-escape-char-construct "#8b1030")
+ (fg-escape-char-backslash "#644f00")
+
+ (fg-lang-error "#9f004f")
+ (fg-lang-warning "#605000")
+ (fg-lang-note "#4040ae")
+
+ (fg-window-divider-inner "#888888")
+ (fg-window-divider-outer "#585858")
+
+ (fg-unfocused "#56576d")
+
+ (fg-header "#2a2a2a") (bg-header "#e5e5e5")
+ (fg-whitespace "#645060") (bg-whitespace "#fff8fc")
+
+ (fg-diff-heading "#043355") (bg-diff-heading "#b7c2dd")
+ (fg-diff-added "#004500") (bg-diff-added "#d4fad4")
+ (fg-diff-changed "#524200") (bg-diff-changed "#fcefcf")
+ (fg-diff-removed "#691616") (bg-diff-removed "#ffe8ef")
+
+ (fg-diff-refine-added "#002a00") (bg-diff-refine-added "#94cf94")
+ (fg-diff-refine-changed "#302010") (bg-diff-refine-changed "#cccf8f")
+ (fg-diff-refine-removed "#400000") (bg-diff-refine-removed "#daa2b0")
+
+ (fg-diff-focus-added "#002c00") (bg-diff-focus-added "#bbeabb")
+ (fg-diff-focus-changed "#392900") (bg-diff-focus-changed "#ecdfbf")
+ (fg-diff-focus-removed "#4a0000") (bg-diff-focus-removed "#efcbcf")
+
+ (fg-diff-neutral-0 "#040404") (bg-diff-neutral-0 "#979797")
+ (fg-diff-neutral-1 "#252525") (bg-diff-neutral-1 "#b0b0b0")
+ (fg-diff-neutral-2 "#3a3a3a") (bg-diff-neutral-2 "#cccccc")
+
+ (fg-mark "#005040") (bg-mark "#a0f0cf")
+ (fg-mark-del "#840040") (bg-mark-del "#ffccbb")
+ (fg-mark-other "#782900") (bg-mark-other "#f5d88f")
+
+ ;; conditional styles that evaluate user-facing customisation
+ ;; options
+ (modus-theme-slant
+ (if modus-operandi-theme-slanted-constructs
+ 'italic
+ 'normal))
+
+ (modus-theme-bold
+ (if modus-operandi-theme-bold-constructs
+ 'bold
+ 'normal))
+
+ (modus-theme-variable-pitch
+ (if modus-operandi-theme-proportional-fonts
+ 'variable-pitch
+ 'default)))
+ (custom-theme-set-faces
+ 'modus-operandi
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;; custom faces that are inherited by other constructs below ;;
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ ;;; subtle coloured backgrounds
+ `(modus-theme-subtle-red ((,class (:background ,red-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-green ((,class (:background ,green-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-yellow ((,class (:background ,yellow-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-blue ((,class (:background ,blue-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-magenta ((,class (:background ,magenta-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-cyan ((,class (:background ,cyan-subtle-bg :foreground ,fg-dim))))
+ `(modus-theme-subtle-neutral ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ ;;; intense coloured backgrounds
+ `(modus-theme-intense-red ((,class (:background ,red-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-green ((,class (:background ,green-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-yellow ((,class (:background ,yellow-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-blue ((,class (:background ,blue-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-magenta ((,class (:background ,magenta-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-cyan ((,class (:background ,cyan-intense-bg :foreground ,fg-main))))
+ `(modus-theme-intense-neutral ((,class (:background ,bg-active :foreground ,fg-main))))
+ ;;; refined background and foreground combinations
+ `(modus-theme-refine-red ((,class (:background ,red-refine-bg :foreground ,red-refine-fg))))
+ `(modus-theme-refine-green ((,class (:background ,green-refine-bg :foreground ,green-refine-fg))))
+ `(modus-theme-refine-yellow ((,class (:background ,yellow-refine-bg :foreground ,yellow-refine-fg))))
+ `(modus-theme-refine-blue ((,class (:background ,blue-refine-bg :foreground ,blue-refine-fg))))
+ `(modus-theme-refine-magenta ((,class (:background ,magenta-refine-bg :foreground ,magenta-refine-fg))))
+ `(modus-theme-refine-cyan ((,class (:background ,cyan-refine-bg :foreground ,cyan-refine-fg))))
+ ;;; invert the colours used on the "active" backgrounds
+ ;;; mostly for use on the mode line
+ `(modus-theme-active-red ((,class (:background ,red-active :foreground ,bg-active))))
+ `(modus-theme-active-green ((,class (:background ,green-active :foreground ,bg-active))))
+ `(modus-theme-active-yellow ((,class (:background ,yellow-active :foreground ,bg-active))))
+ `(modus-theme-active-blue ((,class (:background ,blue-active :foreground ,bg-active))))
+ `(modus-theme-active-magenta ((,class (:background ,magenta-active :foreground ,bg-active))))
+ `(modus-theme-active-cyan ((,class (:background ,cyan-active :foreground ,bg-active))))
+ ;;; for fringe indicators
+ `(modus-theme-fringe-red ((,class (:background ,red-fringe-bg :foreground ,fg-dim))))
+ `(modus-theme-fringe-green ((,class (:background ,green-fringe-bg :foreground ,fg-dim))))
+ `(modus-theme-fringe-yellow ((,class (:background ,yellow-fringe-bg :foreground ,fg-dim))))
+ `(modus-theme-fringe-blue ((,class (:background ,blue-fringe-bg :foreground ,fg-dim))))
+ `(modus-theme-fringe-magenta ((,class (:background ,magenta-fringe-bg :foreground ,fg-dim))))
+ `(modus-theme-fringe-cyan ((,class (:background ,cyan-fringe-bg :foreground ,fg-dim))))
+ ;;; special base values that are closer to the grayscale than
+ ;;; the accents defined above
+ `(modus-theme-special-cold ((,class (:background ,bg-special-cold :foreground ,fg-special-cold))))
+ `(modus-theme-special-mild ((,class (:background ,bg-special-mild :foreground ,fg-special-mild))))
+ `(modus-theme-special-warm ((,class (:background ,bg-special-warm :foreground ,fg-special-warm))))
+ `(modus-theme-special-calm ((,class (:background ,bg-special-calm :foreground ,fg-special-calm))))
+ ;;; colour combinations intended for `diff-mode' or equivalent
+ `(modus-theme-diff-added ((,class (:background ,bg-diff-added :foreground ,fg-diff-added))))
+ `(modus-theme-diff-changed ((,class (:background ,bg-diff-changed :foreground ,fg-diff-changed))))
+ `(modus-theme-diff-removed ((,class (:background ,bg-diff-removed :foreground ,fg-diff-removed))))
+ `(modus-theme-diff-refine-added ((,class (:background ,bg-diff-refine-added :foreground ,fg-diff-refine-added))))
+ `(modus-theme-diff-refine-changed ((,class (:background ,bg-diff-refine-changed :foreground ,fg-diff-refine-changed))))
+ `(modus-theme-diff-refine-removed ((,class (:background ,bg-diff-refine-removed :foreground ,fg-diff-refine-removed))))
+ `(modus-theme-diff-focus-added ((,class (:background ,bg-diff-focus-added :foreground ,fg-diff-focus-added))))
+ `(modus-theme-diff-focus-changed ((,class (:background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))))
+ `(modus-theme-diff-focus-removed ((,class (:background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))))
+ `(modus-theme-diff-heading ((,class (:background ,bg-diff-heading :foreground ,fg-diff-heading))))
+ ;;;;;;;;;;;;;;;;;;;
+ ;; actual styles ;;
+ ;;;;;;;;;;;;;;;;;;;
+ ;;; default constructs
+ ;;;; absolute essentials
+ `(default ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(cursor ((,class (:background ,fg-main))))
+ `(fringe ((,class (:background
+ ,(if modus-operandi-theme-visible-fringes bg-inactive bg-main)
+ :foreground ,fg-main))))
+ `(vertical-border ((,class (:foreground ,fg-window-divider-inner))))
+ ;;;; basic and/or ungrouped styles
+ `(error ((,class (:foreground ,red :weight bold))))
+ `(escape-glyph ((,class (:foreground ,fg-escape-char-construct))))
+ `(header-line ((,class (:background ,bg-header :foreground ,fg-header))))
+ `(homoglyph ((,class (:foreground ,fg-escape-char-construct))))
+ `(ibuffer-locked-buffer ((,class (:foreground ,yellow-alt-other))))
+ `(italic ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(nobreak-hyphen ((,class (:foreground ,fg-escape-char-construct))))
+ `(nobreak-space ((,class (:foreground ,fg-escape-char-construct :underline t))))
+ `(minibuffer-prompt ((,class (:foreground ,cyan-alt))))
+ `(mm-command-output ((,class (:foreground ,red-alt-other))))
+ `(mm-uu-extract ((,class (:background ,bg-dim :foreground ,fg-special-mild))))
+ `(next-error ((,class (:inherit modus-theme-subtle-red))))
+ `(shadow ((,class (:foreground ,fg-alt))))
+ `(success ((,class (:foreground ,green :weight bold))))
+ `(trailing-whitespace ((,class (:background ,red-intense-bg))))
+ `(warning ((,class (:foreground ,yellow :weight bold))))
+ ;;;; ag
+ `(ag-hit-face ((,class (:foreground ,fg-special-cold))))
+ `(ag-match-face ((,class (:inherit modus-theme-special-calm))))
+ ;;;; alert
+ `(alert-high-face ((,class (:foreground ,red-alt :weight bold))))
+ `(alert-low-face ((,class (:foreground ,fg-special-mild))))
+ `(alert-moderate-face ((,class (:foreground ,yellow :weight bold))))
+ `(alert-trivial-face ((,class (:foreground ,fg-special-calm))))
+ `(alert-urgent-face ((,class (:foreground ,red-intense :weight bold))))
+ ;;;; all-the-icons
+ `(all-the-icons-blue ((,class (:foreground ,blue))))
+ `(all-the-icons-blue-alt ((,class (:foreground ,blue-alt))))
+ `(all-the-icons-cyan ((,class (:foreground ,cyan))))
+ `(all-the-icons-cyan-alt ((,class (:foreground ,cyan-alt))))
+ `(all-the-icons-dblue ((,class (:foreground ,blue-alt-other))))
+ `(all-the-icons-dcyan ((,class (:foreground ,cyan-alt-other))))
+ `(all-the-icons-dgreen ((,class (:foreground ,green-alt-other))))
+ `(all-the-icons-dired-dir-face ((,class (:foreground ,blue))))
+ `(all-the-icons-dmaroon ((,class (:foreground ,magenta-alt-other))))
+ `(all-the-icons-dorange ((,class (:foreground ,red-alt-other))))
+ `(all-the-icons-dpink ((,class (:foreground ,magenta))))
+ `(all-the-icons-dpurple ((,class (:foreground ,magenta-alt))))
+ `(all-the-icons-dred ((,class (:foreground ,red))))
+ `(all-the-icons-dsilver ((,class (:foreground ,fg-special-cold))))
+ `(all-the-icons-dyellow ((,class (:foreground ,yellow))))
+ `(all-the-icons-green ((,class (:foreground ,green))))
+ `(all-the-icons-lblue ((,class (:foreground ,blue-refine-fg))))
+ `(all-the-icons-lcyan ((,class (:foreground ,cyan-refine-fg))))
+ `(all-the-icons-lgreen ((,class (:foreground ,green-refine-fg))))
+ `(all-the-icons-lmaroon ((,class (:foreground ,magenta-refine-fg))))
+ `(all-the-icons-lorange ((,class (:foreground ,red-refine-fg))))
+ `(all-the-icons-lpink ((,class (:foreground ,magenta-refine-fg))))
+ `(all-the-icons-lpurple ((,class (:foreground ,magenta-refine-fg))))
+ `(all-the-icons-lred ((,class (:foreground ,red-refine-fg))))
+ `(all-the-icons-lsilver ((,class (:foreground ,fg-special-cold))))
+ `(all-the-icons-lyellow ((,class (:foreground ,yellow-refine-fg))))
+ `(all-the-icons-maroon ((,class (:foreground ,magenta))))
+ `(all-the-icons-orange ((,class (:foreground ,red-alt))))
+ `(all-the-icons-pink ((,class (:foreground ,magenta))))
+ `(all-the-icons-purple ((,class (:foreground ,magenta-alt))))
+ `(all-the-icons-purple-alt ((,class (:foreground ,magenta-alt-other))))
+ `(all-the-icons-red ((,class (:foreground ,red))))
+ `(all-the-icons-red-alt ((,class (:foreground ,red-alt))))
+ `(all-the-icons-silver ((,class (:foreground ,fg-special-cold))))
+ `(all-the-icons-yellow ((,class (:foreground ,yellow))))
+ ;;;; annotate
+ `(annotate-annotation ((,class (:inherit modus-theme-intense-blue))))
+ `(annotate-annotation-secondary ((,class (:inherit modus-theme-intense-yellow))))
+ `(annotate-highlight ((,class (:underline (:color ,blue-intense :style line)))))
+ `(annotate-highlight-secondary ((,class (:underline (:color ,yellow-intense :style line)))))
+ ;;;; anzu
+ `(anzu-match-1 ((,class (:inherit modus-theme-subtle-cyan))))
+ `(anzu-match-2 ((,class (:inherit modus-theme-subtle-green))))
+ `(anzu-match-3 ((,class (:inherit modus-theme-subtle-yellow))))
+ `(anzu-mode-line ((,class (:foreground ,green-active :weight bold))))
+ `(anzu-mode-line-no-match ((,class (:foreground ,red-active :weight bold))))
+ `(anzu-replace-highlight ((,class (:inherit modus-theme-refine-yellow :underline t))))
+ `(anzu-replace-to ((,class (:inherit modus-theme-intense-green :weight bold))))
+ ;;;; apropos
+ `(apropos-function-button ((,class (:foreground ,magenta-alt-other :underline t))))
+ `(apropos-keybinding ((,class (:foreground ,cyan :weight bold))))
+ `(apropos-misc-button ((,class (:foreground ,cyan-alt-other :underline t))))
+ `(apropos-property ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(apropos-symbol ((,class (:foreground ,blue-nuanced :weight ,modus-theme-bold :underline t))))
+ `(apropos-user-option-button ((,class (:foreground ,green-alt-other :underline t))))
+ `(apropos-variable-button ((,class (:foreground ,blue :underline t))))
+ ;;;; apt-sources-list
+ `(apt-sources-list-components ((,class (:foreground ,cyan))))
+ `(apt-sources-list-options ((,class (:foreground ,yellow))))
+ `(apt-sources-list-suite ((,class (:foreground ,green))))
+ `(apt-sources-list-type ((,class (:foreground ,magenta))))
+ `(apt-sources-list-uri ((,class (:foreground ,blue))))
+ ;;;; artbollocks-mode
+ `(artbollocks-face ((,class (:foreground ,cyan-nuanced :underline (:color ,fg-lang-note :style line)))))
+ `(artbollocks-lexical-illusions-face ((,class (:background ,bg-alt :foreground ,red-alt :underline t))))
+ `(artbollocks-passive-voice-face ((,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style line)))))
+ `(artbollocks-weasel-words-face ((,class (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style line)))))
+ ;;;; auctex and Tex
+ `(font-latex-bold-face ((,class (:foreground ,fg-special-calm :weight bold))))
+ `(font-latex-doctex-documentation-face ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(font-latex-doctex-preprocessor-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(font-latex-italic-face ((,class (:foreground ,fg-special-calm :slant italic))))
+ `(font-latex-math-face ((,class (:foreground ,cyan-alt-other))))
+ `(font-latex-script-char-face ((,class (:foreground ,cyan-alt-other))))
+ `(font-latex-sectioning-0-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(font-latex-sectioning-1-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
+ `(font-latex-sectioning-2-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))))
+ `(font-latex-sectioning-3-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))))
+ `(font-latex-sectioning-4-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced :weight bold))))
+ `(font-latex-sectioning-5-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,blue-nuanced))))
+ `(font-latex-sedate-face ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(font-latex-slide-title-face ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,cyan-nuanced :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(font-latex-string-face ((,class (:foreground ,blue-alt))))
+ `(font-latex-subscript-face ((,class (:height 0.95))))
+ `(font-latex-superscript-face ((,class (:height 0.95))))
+ `(font-latex-verbatim-face ((,class (:background ,bg-dim :foreground ,fg-special-mild))))
+ `(font-latex-warning-face ((,class (:foreground ,yellow-alt-other))))
+ `(tex-match ((,class (:foreground ,blue-alt-other))))
+ `(tex-verbatim ((,class (:background ,bg-dim :foreground ,fg-special-mild))))
+ `(texinfo-heading ((,class (:foreground ,magenta))))
+ `(TeX-error-description-error ((,class (:foreground ,red :weight bold))))
+ `(TeX-error-description-help ((,class (:foreground ,blue))))
+ `(TeX-error-description-tex-said ((,class (:foreground ,blue))))
+ `(TeX-error-description-warning ((,class (:foreground ,yellow :weight bold))))
+ ;;;; auto-dim-other-buffers
+ `(auto-dim-other-buffers-face ((,class (:background ,bg-alt))))
+ ;;;; avy
+ `(avy-background-face ((,class (:background ,bg-dim :foreground ,fg-dim))))
+ `(avy-goto-char-timer-face ((,class (:inherit modus-theme-intense-yellow :weight bold))))
+ `(avy-lead-face ((,class (:inherit modus-theme-intense-magenta :weight bold))))
+ `(avy-lead-face-0 ((,class (:inherit modus-theme-intense-blue :weight bold))))
+ `(avy-lead-face-1 ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(avy-lead-face-2 ((,class (:inherit modus-theme-intense-green :weight bold))))
+ ;;;; aw (ace-window)
+ `(aw-background-face ((,class (:background ,bg-dim :foreground ,fg-dim))))
+ `(aw-key-face ((,class (:foreground ,blue-intense :weight bold))))
+ `(aw-leading-char-face ((,class (:height 1.5 :background ,bg-main :foreground ,red-intense :weight bold))))
+ `(aw-minibuffer-leading-char-face ((,class (:foreground ,magenta-active))))
+ `(aw-mode-line-face ((,class (:weight bold))))
+ ;;;; bm
+ `(bm-face ((,class (:inherit modus-theme-subtle-yellow
+ ,@(and (>= emacs-major-version 27) '(:extend t))))))
+ `(bm-fringe-face ((,class (:inherit modus-theme-fringe-yellow))))
+ `(bm-fringe-persistent-face ((,class (:inherit modus-theme-fringe-blue))))
+ `(bm-persistent-face ((,class (:inherit modus-theme-intense-blue
+ ,@(and (>= emacs-major-version 27) '(:extend t))))))
+ ;;;; buttons, links, widgets
+ `(button ((,class (:foreground ,blue-alt-other :underline t))))
+ `(link ((,class (:foreground ,blue-alt-other :underline t))))
+ `(link-visited ((,class (:foreground ,magenta-alt-other :underline t))))
+ `(tooltip ((,class (:background ,bg-special-cold :foreground ,fg-main))))
+ `(widget-button ((,class (:inherit button))))
+ `(widget-button-pressed ((,class (:inherit button :foreground ,magenta))))
+ `(widget-documentation ((,class (:foreground ,green))))
+ `(widget-field ((,class (:background ,bg-alt :foreground ,fg-dim))))
+ `(widget-inactive ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ `(widget-single-line-field ((,class (:inherit widget-field))))
+ ;;;; breakpoint (built-in gdb-mi.el)
+ `(breakpoint-disabled ((,class (:foreground ,fg-alt))))
+ `(breakpoint-enabled ((,class (:foreground ,red :weight bold))))
+ ;;;; buffer-expose
+ `(buffer-expose-ace-char-face ((,class (:foreground ,red-active :weight bold))))
+ `(buffer-expose-mode-line-face ((,class (:foreground ,cyan-active))))
+ `(buffer-expose-selected-face ((,class (:inherit modus-theme-special-mild))))
+ ;;;; calendar and diary
+ `(calendar-month-header ((,class (:foreground ,fg-main :weight bold))))
+ `(calendar-today ((,class (:background ,bg-alt :underline t))))
+ `(calendar-weekday-header ((,class (:foreground ,blue-alt))))
+ `(calendar-weekend-header ((,class (:foreground ,fg-alt))))
+ `(diary ((,class (:foreground ,green-alt-other))))
+ `(diary-anniversary ((,class (:foreground ,yellow-alt-other))))
+ `(diary-time ((,class (:foreground ,red-alt))))
+ `(holiday ((,class (:foreground ,magenta-alt))))
+ ;;;; calfw
+ `(cfw:face-annotation ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(cfw:face-day-title ((,class (:background ,bg-alt :foreground ,fg-main))))
+ `(cfw:face-default-content ((,class (:foreground ,green-alt))))
+ `(cfw:face-default-day ((,class (:inherit cfw:face-day-title :weight bold))))
+ `(cfw:face-disable ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ `(cfw:face-grid ((,class (:foreground ,fg-inactive))))
+ `(cfw:face-header ((,class (::foreground ,fg-main :weight bold))))
+ `(cfw:face-holiday ((,class (:background ,bg-alt :foreground ,magenta :weight bold))))
+ `(cfw:face-periods ((,class (:foreground ,cyan-alt-other))))
+ `(cfw:face-saturday ((,class (:background ,bg-alt :foreground ,magenta-alt :weight bold))))
+ `(cfw:face-select ((,class (:inherit modus-theme-intense-blue))))
+ `(cfw:face-sunday ((,class (:background ,bg-alt :foreground ,magenta-alt-other :weight bold))))
+ `(cfw:face-title ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-warm :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(cfw:face-today ((,class (:foreground ,blue :weight bold))))
+ `(cfw:face-today-title ((,class (:inherit modus-theme-special-mild :box t))))
+ `(cfw:face-toolbar ((,class (:background ,bg-active :foreground ,bg-active))))
+ `(cfw:face-toolbar-button-off ((,class (:background ,bg-alt :foreground ,cyan))))
+ `(cfw:face-toolbar-button-on ((,class (:background ,bg-main :foreground ,blue-intense :weight bold))))
+ ;;;; centaur-tabs
+ `(centaur-tabs-active-bar-face ((,class (:background ,fg-tab-active))))
+ `(centaur-tabs-close-mouse-face ((,class (:underline t))))
+ `(centaur-tabs-close-selected ((,class (:inherit centaur-tabs-selected))))
+ `(centaur-tabs-close-unselected ((,class (:inherit centaur-tabs-unselected))))
+ `(centaur-tabs-modified-marker-selected ((,class (:inherit centaur-tabs-selected))))
+ `(centaur-tabs-modified-marker-unselected ((,class (:inherit centaur-tabs-unselected))))
+ `(centaur-tabs-default ((,class (:background ,bg-main :foreground ,bg-main))))
+ `(centaur-tabs-selected ((,class (:background ,bg-tab-active :foreground ,fg-main))))
+ `(centaur-tabs-selected-modified ((,class (:background ,bg-tab-active :foreground ,fg-main :slant italic))))
+ `(centaur-tabs-unselected ((,class (:background ,bg-tab-inactive :foreground ,fg-dim))))
+ `(centaur-tabs-unselected-modified ((,class (:background ,bg-tab-inactive :foreground ,fg-dim :slant italic))))
+ ;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
+ `(change-log-acknowledgment ((,class (:foreground ,fg-special-warm))))
+ `(change-log-conditionals ((,class (:foreground ,magenta-alt))))
+ `(change-log-date ((,class (:foreground ,magenta))))
+ `(change-log-email ((,class (:foreground ,cyan))))
+ `(change-log-file ((,class (:foreground ,blue))))
+ `(change-log-list ((,class (:foreground ,magenta-alt-other))))
+ `(change-log-name ((,class (:foreground ,cyan))))
+ `(log-edit-header ((,class (:foreground ,blue-alt :weight bold))))
+ `(log-edit-summary ((,class (:foreground ,magenta-alt-other))))
+ `(log-edit-unknown-header ((,class (:foreground ,fg-alt))))
+ `(log-view-file ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(log-view-message ((,class (:foreground ,fg-special-warm))))
+ ;;;; cider
+ `(cider-debug-code-overlay-face ((,class (:background ,bg-alt))))
+ `(cider-debug-prompt-face ((,class (:foreground ,magenta-alt :underline t))))
+ `(cider-deprecated-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(cider-docview-emphasis-face ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(cider-docview-literal-face ((,class (:foreground ,blue-alt))))
+ `(cider-docview-strong-face ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(cider-docview-table-border-face ((,class (:foreground ,fg-alt))))
+ `(cider-enlightened-face ((,class (:box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))))
+ `(cider-enlightened-local-face ((,class (:foreground ,yellow-alt-other :weight bold))))
+ `(cider-error-highlight-face ((,class (:foreground ,red :underline t))))
+ `(cider-fragile-button-face ((,class (:box (:line-width 3 :color ,fg-alt :style released-button)) :foreground ,yellow)))
+ `(cider-fringe-good-face ((,class (:foreground ,green-active))))
+ `(cider-instrumented-face ((,class (:box (:line-width -1 :color ,red :style nil) :background ,bg-dim))))
+ `(cider-reader-conditional-face ((,class (:foreground ,fg-special-warm :slant italic))))
+ `(cider-repl-input-face ((,class (:weight bold))))
+ `(cider-repl-prompt-face ((,class (:foreground ,cyan-alt-other))))
+ `(cider-repl-stderr-face ((,class (:foreground ,red :weight bold))))
+ `(cider-repl-stdout-face ((,class (:foreground ,blue))))
+ `(cider-result-overlay-face ((,class (:box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))))
+ `(cider-stacktrace-error-class-face ((,class (:foreground ,red :weight bold))))
+ `(cider-stacktrace-error-message-face ((,class (:foreground ,red-alt-other :slant italic))))
+ `(cider-stacktrace-face ((,class (:foreground ,fg-main))))
+ `(cider-stacktrace-filter-active-face ((,class (:foreground ,cyan-alt :underline t))))
+ `(cider-stacktrace-filter-inactive-face ((,class (:foreground ,cyan-alt))))
+ `(cider-stacktrace-fn-face ((,class (:foreground ,fg-main :weight bold))))
+ `(cider-stacktrace-ns-face ((,class (:foreground ,fg-alt :slant italic))))
+ `(cider-stacktrace-promoted-button-face ((,class (:box (:line-width 3 :color ,fg-alt :style released-button)) :foreground ,red)))
+ `(cider-stacktrace-suppressed-button-face ((,class (:box (:line-width 3 :color ,fg-alt :style pressed-button))
+ :background ,bg-alt :foreground ,fg-alt)))
+ `(cider-test-error-face ((,class (:inherit modus-theme-subtle-red))))
+ `(cider-test-failure-face ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(cider-test-success-face ((,class (:inherit modus-theme-intense-green))))
+ `(cider-traced-face ((,class (:box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))))
+ `(cider-warning-highlight-face ((,class (:foreground ,yellow :underline t))))
+ ;;;; color-rg
+ `(color-rg-font-lock-column-number ((,class (:foreground ,magenta-alt-other))))
+ `(color-rg-font-lock-command ((,class (:foreground ,fg-main :weight bold))))
+ `(color-rg-font-lock-file ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(color-rg-font-lock-flash ((,class (:inherit modus-theme-intense-blue))))
+ `(color-rg-font-lock-function-location ((,class (:inherit modus-theme-special-calm))))
+ `(color-rg-font-lock-header-line-directory ((,class (:foreground ,blue-active))))
+ `(color-rg-font-lock-header-line-edit-mode ((,class (:foreground ,magenta-active))))
+ `(color-rg-font-lock-header-line-keyword ((,class (:foreground ,green-active))))
+ `(color-rg-font-lock-header-line-text ((,class (:foreground ,fg-active))))
+ `(color-rg-font-lock-line-number ((,class (:foreground ,fg-special-warm))))
+ `(color-rg-font-lock-mark-changed ((,class (:foreground ,blue :weight bold))))
+ `(color-rg-font-lock-mark-deleted ((,class (:foreground ,red :weight bold))))
+ `(color-rg-font-lock-match ((,class (:inherit modus-theme-special-calm))))
+ `(color-rg-font-lock-position-splitter ((,class (:foreground ,fg-alt))))
+ ;;;; column-enforce-mode
+ `(column-enforce-face ((,class (:inherit modus-theme-refine-yellow))))
+ ;;;; company-mode
+ `(company-echo-common ((,class (:foreground ,magenta-alt-other))))
+ `(company-preview ((,class (:background ,bg-dim :foreground ,fg-dim))))
+ `(company-preview-common ((,class (:foreground ,blue-alt))))
+ `(company-preview-search ((,class (:inherit modus-theme-special-calm))))
+ `(company-scrollbar-bg ((,class (:background ,bg-active))))
+ `(company-scrollbar-fg ((,class (:background ,fg-active))))
+ `(company-template-field ((,class (:inherit modus-theme-intense-magenta))))
+ `(company-tooltip ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(company-tooltip-annotation ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(company-tooltip-annotation-selection ((,class (:foreground ,fg-main :weight bold))))
+ `(company-tooltip-common ((,class (:foreground ,blue-alt :weight bold))))
+ `(company-tooltip-common-selection ((,class (:foreground ,fg-main))))
+ `(company-tooltip-mouse ((,class (:inherit modus-theme-intense-blue))))
+ `(company-tooltip-search ((,class (:inherit modus-theme-refine-cyan :weight bold))))
+ `(company-tooltip-search-selection ((,class (:inherit modus-theme-intense-green :weight bold :underline t))))
+ `(company-tooltip-selection ((,class (:inherit modus-theme-subtle-cyan :weight bold))))
+ ;;;; company-posframe
+ `(company-posframe-active-backend-name ((,class (:background ,bg-active :foreground ,blue-active :weight bold))))
+ `(company-posframe-inactive-backend-name ((,class (:background ,bg-active :foreground ,fg-active))))
+ `(company-posframe-metadata ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ ;;;; compilation feedback
+ `(compilation-column-number ((,class (:foreground ,magenta-alt-other))))
+ `(compilation-error ((,class (:foreground ,red :weight ,modus-theme-bold))))
+ `(compilation-info ((,class (:foreground ,fg-special-cold))))
+ `(compilation-line-number ((,class (:foreground ,fg-special-warm))))
+ `(compilation-mode-line-exit ((,class (:foreground ,blue-active :weight ,modus-theme-bold))))
+ `(compilation-mode-line-fail ((,class (:foreground ,red-active :weight ,modus-theme-bold))))
+ `(compilation-mode-line-run ((,class (:foreground ,magenta-active :weight ,modus-theme-bold))))
+ `(compilation-warning ((,class (:foreground ,yellow :weight ,modus-theme-bold))))
+ ;;;; completions
+ `(completions-annotations ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(completions-common-part ((,class (:foreground ,cyan-alt-other))))
+ `(completions-first-difference ((,class (:foreground ,blue-alt-other :weight bold))))
+ ;;;; counsel
+ `(counsel-active-mode ((,class (:foreground ,magenta-alt-other))))
+ `(counsel-application-name ((,class (:foreground ,red-alt-other))))
+ `(counsel-key-binding ((,class (:foreground ,blue-alt-other :weight bold))))
+ `(counsel-outline-1 ((,class (:inherit outline-1))))
+ `(counsel-outline-2 ((,class (:inherit outline-2))))
+ `(counsel-outline-3 ((,class (:inherit outline-3))))
+ `(counsel-outline-4 ((,class (:inherit outline-4))))
+ `(counsel-outline-5 ((,class (:inherit outline-5))))
+ `(counsel-outline-6 ((,class (:inherit outline-6))))
+ `(counsel-outline-7 ((,class (:inherit outline-7))))
+ `(counsel-outline-8 ((,class (:inherit outline-8))))
+ `(counsel-outline-default ((,class (:foreground ,green-alt-other :weight bold))))
+ `(counsel-variable-documentation ((,class (:foreground ,yellow-alt-other :slant ,modus-theme-slant))))
+ ;;;; counsel-css
+ `(counsel-css-selector-depth-face-1 ((,class (:foreground ,blue))))
+ `(counsel-css-selector-depth-face-2 ((,class (:foreground ,cyan))))
+ `(counsel-css-selector-depth-face-3 ((,class (:foreground ,green))))
+ `(counsel-css-selector-depth-face-4 ((,class (:foreground ,yellow))))
+ `(counsel-css-selector-depth-face-5 ((,class (:foreground ,magenta))))
+ `(counsel-css-selector-depth-face-6 ((,class (:foreground ,red))))
+ ;;;; counsel-notmuch
+ `(counsel-notmuch-count-face ((,class (:foreground ,cyan))))
+ `(counsel-notmuch-date-face ((,class (:foreground ,blue))))
+ `(counsel-notmuch-people-face ((,class (:foreground ,magenta))))
+ `(counsel-notmuch-subject-face ((,class (:foreground ,magenta-alt-other))))
+ ;;;; counsel-org-capture-string
+ `(counsel-org-capture-string-template-body-face ((,class (:foreground ,fg-special-cold))))
+ ;;;; cov
+ `(cov-coverage-not-run-face ((,class (:foreground ,red-intense))))
+ `(cov-coverage-run-face ((,class (:foreground ,green-intense))))
+ `(cov-heavy-face ((,class (:foreground ,magenta-intense))))
+ `(cov-light-face ((,class (:foreground ,blue-intense))))
+ `(cov-med-face ((,class (:foreground ,yellow-intense))))
+ `(cov-none-face ((,class (:foreground ,cyan-intense))))
+ ;;;; csv-mode
+ `(csv-separator-face ((,class (:background ,bg-special-cold :foreground ,fg-main))))
+ ;;;; ctrlf
+ `(ctrlf-highlight-active ((,class (:inherit modus-theme-intense-green :weight bold))))
+ `(ctrlf-highlight-line ((,class (:background ,bg-hl-line))))
+ `(ctrlf-highlight-passive ((,class (:inherit modus-theme-refine-cyan))))
+ ;;;; custom (M-x customize)
+ `(custom-button ((,class (:box (:line-width 2 :color nil :style released-button)
+ :background ,bg-active :foreground ,fg-main))))
+ `(custom-button-mouse ((,class (:box (:line-width 2 :color nil :style released-button)
+ :background ,bg-active :foreground ,fg-active))))
+ `(custom-button-pressed ((,class (:box (:line-width 2 :color nil :style pressed-button)
+ :background ,bg-active :foreground ,fg-main))))
+ `(custom-changed ((,class (:inherit modus-theme-subtle-cyan))))
+ `(custom-comment ((,class (:foreground ,fg-alt))))
+ `(custom-comment-tag ((,class (:background ,bg-alt :foreground ,yellow-alt-other))))
+ `(custom-face-tag ((,class (:foreground ,blue-intense :weight bold))))
+ `(custom-group-tag ((,class (:foreground ,green-intense :weight bold))))
+ `(custom-group-tag-1 ((,class (:inherit modus-theme-special-warm))))
+ `(custom-invalid ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(custom-modified ((,class (:inherit modus-theme-subtle-cyan))))
+ `(custom-rogue ((,class (:inherit modus-theme-refine-magenta))))
+ `(custom-set ((,class (:foreground ,blue-alt))))
+ `(custom-state ((,class (:foreground ,cyan-alt-other))))
+ `(custom-themed ((,class (:inherit modus-theme-subtle-blue))))
+ `(custom-variable-tag ((,class (:foreground ,cyan :weight bold))))
+ ;;;; dap-mode
+ `(dap-mouse-eval-thing-face ((,class (:box (:line-width -1 :color ,blue-active :style nil)
+ :background ,bg-active :foreground ,fg-main))))
+ `(dap-result-overlay-face ((,class (:box (:line-width -1 :color ,bg-active :style nil)
+ :background ,bg-active :foreground ,fg-main))))
+ `(dap-ui-breakpoint-verified-fringe ((,class (:foreground ,green-active :weight bold))))
+ `(dap-ui-compile-errline ((,class (:foreground ,red-intense :weight bold))))
+ `(dap-ui-locals-scope-face ((,class (:foreground ,magenta :weight bold :underline t))))
+ `(dap-ui-locals-variable-face ((,class (:foreground ,cyan :weight bold))))
+ `(dap-ui-locals-variable-leaf-face ((,class (:foreground ,cyan-alt-other :slant italic))))
+ `(dap-ui-marker-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(dap-ui-sessions-stack-frame-face ((,class (:foreground ,magenta-alt :weight bold))))
+ `(dap-ui-sessions-terminated-active-face ((,class (:foreground ,fg-alt :weight bold))))
+ `(dap-ui-sessions-terminated-face ((,class (:foreground ,fg-alt))))
+ ;;;; dashboard (emacs-dashboard)
+ `(dashboard-banner-logo-title ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(dashboard-footer ((,class (:foreground ,fg-special-mild :weight bold))))
+ `(dashboard-heading ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(dashboard-navigator ((,class (:foreground ,cyan-alt-other))))
+ `(dashboard-text-banner ((,class (:foreground ,fg-dim))))
+ ;;;; deadgrep
+ `(deadgrep-filename-face ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(deadgrep-match-face ((,class (:inherit modus-theme-special-calm))))
+ `(deadgrep-meta-face ((,class (:foreground ,fg-alt))))
+ `(deadgrep-regexp-metachar-face ((,class (:foreground ,yellow-intense :weight bold))))
+ `(deadgrep-search-term-face ((,class (:foreground ,green-intense :weight bold))))
+ ;;;; debbugs
+ `(debbugs-gnu-archived ((,class (:inverse-video t))))
+ `(debbugs-gnu-done ((,class (:foreground ,fg-alt))))
+ `(debbugs-gnu-forwarded ((,class (:foreground ,fg-special-warm))))
+ `(debbugs-gnu-handled ((,class (:foreground ,green))))
+ `(debbugs-gnu-new ((,class (:foreground ,red))))
+ `(debbugs-gnu-pending ((,class (:foreground ,cyan))))
+ `(debbugs-gnu-stale-1 ((,class (:foreground ,yellow-nuanced))))
+ `(debbugs-gnu-stale-2 ((,class (:foreground ,yellow))))
+ `(debbugs-gnu-stale-3 ((,class (:foreground ,yellow-alt))))
+ `(debbugs-gnu-stale-4 ((,class (:foreground ,yellow-alt-other))))
+ `(debbugs-gnu-stale-5 ((,class (:foreground ,red-alt))))
+ `(debbugs-gnu-tagged ((,class (:foreground ,magenta-alt))))
+ ;;;; define-word
+ `(define-word-face-1 ((,class (:foreground ,yellow))))
+ `(define-word-face-2 ((,class (:foreground ,fg-main))))
+ ;;;; deft
+ `(deft-filter-string-error-face ((,class (:inherit modus-theme-refine-red))))
+ `(deft-filter-string-face ((,class (:foreground ,green-intense))))
+ `(deft-header-face ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(deft-separator-face ((,class (:foreground ,fg-alt))))
+ `(deft-summary-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(deft-time-face ((,class (:foreground ,fg-special-cold))))
+ `(deft-title-face ((,class (:foreground ,fg-main :weight bold))))
+ ;;;; diff-hl
+ `(diff-hl-change ((,class (:inherit modus-theme-fringe-blue))))
+ `(diff-hl-delete ((,class (:inherit modus-theme-fringe-red))))
+ `(diff-hl-dired-change ((,class (:inherit diff-hl-change))))
+ `(diff-hl-dired-delete ((,class (:inherit diff-hl-delete))))
+ `(diff-hl-dired-ignored ((,class (:inherit dired-ignored))))
+ `(diff-hl-dired-insert ((,class (:inherit diff-hl-insert))))
+ `(diff-hl-dired-unknown ((,class (:inherit dired-ignored))))
+ `(diff-hl-insert ((,class (:inherit modus-theme-fringe-green))))
+ `(diff-hl-reverted-hunk-highlight ((,class (:inherit modus-theme-fringe-magenta :weight bold))))
+ ;;;; diff-mode
+ `(diff-added ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-focus-added fg-diff-focus-added))))
+ `(diff-changed ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-focus-changed fg-diff-focus-changed))))
+ `(diff-context ((,class (:foreground ,fg-unfocused))))
+ `(diff-file-header ((,class (:foreground ,blue :weight bold))))
+ `(diff-function ((,class (:foreground ,fg-special-cold))))
+ `(diff-header ((,class (:foreground ,blue-nuanced))))
+ `(diff-hunk-header ((,class ,(modus-operandi-theme-diffs
+ bg-alt blue-alt
+ bg-diff-heading fg-diff-heading))))
+ `(diff-index ((,class (:foreground ,blue-alt :weight bold))))
+ `(diff-indicator-added ((,class (:inherit modus-theme-diff-focus-added))))
+ `(diff-indicator-changed ((,class (:inherit modus-theme-diff-focus-changed))))
+ `(diff-indicator-removed ((,class (:inherit modus-theme-diff-focus-removed))))
+ `(diff-nonexistent ((,class (:inherit modus-theme-neutral :weight bold))))
+ `(diff-refine-added ((,class ,(modus-operandi-theme-diffs
+ bg-diff-added fg-diff-added
+ bg-diff-refine-added fg-diff-refine-added))))
+ `(diff-refine-changed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-changed fg-diff-changed
+ bg-diff-refine-changed fg-diff-refine-changed))))
+ `(diff-refine-removed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-removed fg-diff-removed
+ bg-diff-refine-removed fg-diff-refine-removed))))
+ `(diff-removed ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-focus-removed fg-diff-focus-removed))))
+ ;;;; dim-autoload
+ `(dim-autoload-cookie-line ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ ;;;; dired
+ `(dired-directory ((,class (:foreground ,blue))))
+ `(dired-flagged ((,class (:background ,bg-mark-del :foreground ,fg-mark-del :weight bold))))
+ `(dired-header ((,class (:foreground ,fg-main :weight bold))))
+ `(dired-ignored ((,class (:foreground ,fg-alt))))
+ `(dired-mark ((,class (:foreground ,blue-alt :weight bold))))
+ `(dired-marked ((,class (:background ,bg-mark :foreground ,fg-mark :weight bold))))
+ `(dired-perm-write ((,class (:foreground ,fg-special-warm))))
+ `(dired-symlink ((,class (:foreground ,blue-alt :underline t))))
+ `(dired-warning ((,class (:foreground ,yellow :weight bold))))
+ ;;;; dired-async
+ `(dired-async-failures ((,class (:foreground ,red-active :weight ,modus-theme-bold))))
+ `(dired-async-message ((,class (:foreground ,green-active :weight ,modus-theme-bold))))
+ `(dired-async-mode-message ((,class (:foreground ,cyan-active :weight ,modus-theme-bold))))
+ ;;;; dired-git
+ `(dired-git-branch-else ((,class (:foreground ,magenta-alt :weight bold))))
+ `(dired-git-branch-master ((,class (:foreground ,magenta-alt-other :weight bold))))
+ ;;;; dired-git-info
+ `(dgi-commit-message-face ((,class (:foreground ,fg-special-mild))))
+ ;;;; dired-narrow
+ `(dired-narrow-blink ((,class (:inherit modus-theme-subtle-cyan :weight bold))))
+ ;;;; dired-subtree
+ ;; remove background from dired-subtree, else it breaks
+ ;; dired-{flagged,marked} and any other face that sets a background
+ ;; such as hl-line
+ `(dired-subtree-depth-1-face ((,class (:background nil))))
+ `(dired-subtree-depth-2-face ((,class (:background nil))))
+ `(dired-subtree-depth-3-face ((,class (:background nil))))
+ `(dired-subtree-depth-4-face ((,class (:background nil))))
+ `(dired-subtree-depth-5-face ((,class (:background nil))))
+ `(dired-subtree-depth-6-face ((,class (:background nil))))
+ ;;;; diredfl
+ `(diredfl-autofile-name ((,class (:inherit modus-theme-refine-yellow))))
+ `(diredfl-compressed-file-name ((,class (:foreground ,red-alt :weight bold))))
+ `(diredfl-compressed-file-suffix ((,class (:inherit diredfl-compressed-file-name))))
+ `(diredfl-date-time ((,class (:foreground ,fg-special-cold))))
+ `(diredfl-deletion ((,class (:inherit dired-flagged))))
+ `(diredfl-deletion-file-name ((,class (:inherit dired-flagged))))
+ `(diredfl-dir-heading ((,class (:inherit dired-header))))
+ `(diredfl-dir-name ((,class (:inherit dired-directory))))
+ `(diredfl-dir-priv ((,class (:foreground ,blue-alt))))
+ `(diredfl-exec-priv ((,class (:foreground ,cyan))))
+ `(diredfl-executable-tag ((,class (:foreground ,cyan-alt))))
+ `(diredfl-file-name ((,class (:foreground ,fg-main))))
+ `(diredfl-file-suffix ((,class (:foreground ,fg-special-warm))))
+ `(diredfl-flag-mark ((,class (:inherit dired-marked))))
+ `(diredfl-flag-mark-line ((,class (:inherit dired-marked))))
+ `(diredfl-ignored-file-name ((,class (:foreground ,fg-inactive))))
+ `(diredfl-link-priv ((,class (:foreground ,blue-alt))))
+ `(diredfl-no-priv ((,class (:foreground ,fg-inactive))))
+ `(diredfl-number ((,class (:foreground ,fg-alt))))
+ `(diredfl-other-priv ((,class (:foreground ,yellow))))
+ `(diredfl-rare-priv ((,class (:foreground ,green))))
+ `(diredfl-read-priv ((,class (:foreground ,magenta))))
+ `(diredfl-symlink ((,class (:foreground ,blue-alt :underline t))))
+ `(diredfl-tagged-autofile-name ((,class (:inherit modus-theme-refine-magenta))))
+ `(diredfl-write-priv ((,class (:foreground ,magenta-alt-other))))
+ ;;;; disk-usage
+ `(disk-usage-children ((,class (:foreground ,yellow))))
+ `(disk-usage-inaccessible ((,class (:foreground ,red :weight bold))))
+ `(disk-usage-percent ((,class (:foreground ,green))))
+ `(disk-usage-size ((,class (:foreground ,cyan))))
+ `(disk-usage-symlink ((,class (:foreground ,blue :underline t))))
+ `(disk-usage-symlink-directory ((,class (:foreground ,blue-alt :weight bold))))
+ ;;;; doom-modeline
+ `(doom-modeline-bar ((,class (:inherit modus-theme-active-blue))))
+ `(doom-modeline-bar-inactive ((,class (:background ,fg-inactive :foreground ,bg-main))))
+ `(doom-modeline-battery-charging ((,class (:foreground ,green-active))))
+ `(doom-modeline-battery-critical ((,class (:foreground ,red-active :weight bold))))
+ `(doom-modeline-battery-error ((,class (:inherit modus-theme-active-red))))
+ `(doom-modeline-battery-full ((,class (:foreground ,blue-active))))
+ `(doom-modeline-battery-normal ((,class (:foreground ,fg-active))))
+ `(doom-modeline-battery-warning ((,class (:foreground ,yellow-active :weight bold))))
+ `(doom-modeline-buffer-file ((,class (:foreground ,fg-active :weight bold))))
+ `(doom-modeline-buffer-major-mode ((,class (:foreground ,cyan-active :weight bold))))
+ `(doom-modeline-buffer-minor-mode ((,class (:foreground ,fg-inactive))))
+ `(doom-modeline-buffer-modified ((,class (:foreground ,magenta-active :weight bold))))
+ `(doom-modeline-buffer-path ((,class (:foreground ,fg-active :weight bold))))
+ `(doom-modeline-debug ((,class (:foreground ,yellow-active :weight bold))))
+ `(doom-modeline-evil-emacs-state ((,class (:foreground ,magenta-active :weight bold))))
+ `(doom-modeline-evil-insert-state ((,class (:foreground ,green-active :weight bold))))
+ `(doom-modeline-evil-motion-state ((,class (:foreground ,fg-inactive :weight bold))))
+ `(doom-modeline-evil-normal-state ((,class (:foreground ,fg-active :weight bold))))
+ `(doom-modeline-evil-operator-state ((,class (:foreground ,blue-active :weight bold))))
+ `(doom-modeline-evil-replace-state ((,class (:foreground ,red-active :weight bold))))
+ `(doom-modeline-evil-visual-state ((,class (:foreground ,cyan-active :weight bold))))
+ `(doom-modeline-highlight ((,class (:foreground ,blue-active :weight bold))))
+ `(doom-modeline-host ((,class (:slant italic))))
+ `(doom-modeline-info ((,class (:foreground ,green-active))))
+ `(doom-modeline-lsp-error ((,class (:foreground ,red-active :weight bold))))
+ `(doom-modeline-lsp-success ((,class (:foreground ,green-active :weight bold))))
+ `(doom-modeline-lsp-warning ((,class (:foreground ,yellow-active :weight bold))))
+ `(doom-modeline-panel ((,class (:inherit modus-theme-active-blue))))
+ `(doom-modeline-persp-buffer-not-in-persp ((,class (:foreground ,yellow-active :slant italic))))
+ `(doom-modeline-persp-name ((,class (:foreground ,fg-active))))
+ `(doom-modeline-project-dir ((,class (:foreground ,blue-active :weight bold))))
+ `(doom-modeline-project-parent-dir ((,class (:foreground ,blue-active))))
+ `(doom-modeline-project-root-dir ((,class (:foreground ,fg-active))))
+ `(doom-modeline-unread-number ((,class (:foreground ,fg-active :slant italic))))
+ `(doom-modeline-urgent ((,class (:foreground ,red-active :weight bold :underline t))))
+ `(doom-modeline-warning ((,class (:foreground ,yellow-active :weight bold))))
+ ;;;; dynamic-ruler
+ `(dynamic-ruler-negative-face ((,class (:inherit modus-theme-intense-neutral))))
+ `(dynamic-ruler-positive-face ((,class (:inherit modus-theme-intense-yellow))))
+ ;;;; easy-jekyll
+ `(easy-jekyll-help-face ((,class (:background ,bg-dim :foreground ,cyan-alt-other))))
+ ;;;; easy-kill
+ `(easy-kill-origin ((,class (:inherit modus-theme-subtle-red))))
+ `(easy-kill-selection ((,class (:inherit modus-theme-subtle-yellow))))
+ ;;;; ebdb
+ `(ebdb-address-default ((,class (:foreground ,fg-main))))
+ `(ebdb-db-char ((,class (:foreground ,fg-special-cold))))
+ `(ebdb-defunct ((,class (:foreground ,fg-alt))))
+ `(ebdb-field-hidden ((,class (:foreground ,magenta))))
+ `(ebdb-field-url ((,class (:foreground ,blue))))
+ `(ebdb-label ((,class (:foreground ,cyan-alt-other))))
+ `(ebdb-mail-default ((,class (:foreground ,fg-main))))
+ `(ebdb-mail-primary ((,class (:foreground ,blue-alt))))
+ `(ebdb-marked ((,class (:background ,cyan-intense-bg))))
+ `(ebdb-organization-name ((,class (:foreground ,fg-special-calm))))
+ `(ebdb-person-name ((,class (:foreground ,magenta-alt-other))))
+ `(ebdb-phone-default ((,class (:foreground ,fg-special-warm))))
+ `(ebdb-role-defunct ((,class (:foreground ,fg-alt))))
+ `(eieio-custom-slot-tag-face ((,class (:foreground ,red-alt))))
+ ;;;; ediff
+ `(ediff-current-diff-A ((,class ,(modus-operandi-theme-diffs
+ bg-alt red
+ bg-diff-removed fg-diff-removed))))
+ `(ediff-current-diff-Ancestor ((,class ,(modus-operandi-theme-diffs
+ bg-alt fg-special-cold
+ bg-special-cold fg-special-cold))))
+ `(ediff-current-diff-B ((,class ,(modus-operandi-theme-diffs
+ bg-alt green
+ bg-diff-added fg-diff-added))))
+ `(ediff-current-diff-C ((,class ,(modus-operandi-theme-diffs
+ bg-alt yellow
+ bg-diff-changed fg-diff-changed))))
+ `(ediff-even-diff-A ((,class (:background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))))
+ `(ediff-even-diff-Ancestor ((,class (:background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))))
+ `(ediff-even-diff-B ((,class (:background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))))
+ `(ediff-even-diff-C ((,class (:background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))))
+ `(ediff-fine-diff-A ((,class (:background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))))
+ `(ediff-fine-diff-Ancestor ((,class (:inherit modus-theme-refine-cyan))))
+ `(ediff-fine-diff-B ((,class (:background ,bg-diff-focus-added :foreground ,fg-diff-focus-added))))
+ `(ediff-fine-diff-C ((,class (:background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))))
+ `(ediff-odd-diff-A ((,class (:background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))))
+ `(ediff-odd-diff-Ancestor ((,class (:background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))))
+ `(ediff-odd-diff-B ((,class (:background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))))
+ `(ediff-odd-diff-C ((,class (:background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))))
+ ;;;; eglot
+ `(eglot-mode-line ((,class (:foreground ,magenta-active :weight ,modus-theme-bold))))
+ ;;;; eldoc-box
+ `(eldoc-box-body ((,class (:background ,bg-alt :foreground ,fg-main))))
+ `(eldoc-box-border ((,class (:background ,fg-alt))))
+ ;;;; elfeed
+ `(elfeed-log-date-face ((,class (:foreground ,cyan-alt))))
+ `(elfeed-log-debug-level-face ((,class (:foreground ,magenta))))
+ `(elfeed-log-error-level-face ((,class (:foreground ,red))))
+ `(elfeed-log-info-level-face ((,class (:foreground ,green))))
+ `(elfeed-log-warn-level-face ((,class (:foreground ,yellow))))
+ `(elfeed-search-date-face ((,class (:foreground ,cyan))))
+ `(elfeed-search-feed-face ((,class (:foreground ,blue))))
+ `(elfeed-search-filter-face ((,class (:foreground ,magenta-active))))
+ `(elfeed-search-last-update-face ((,class (:foreground ,green-active))))
+ `(elfeed-search-tag-face ((,class (:foreground ,cyan-alt-other))))
+ `(elfeed-search-title-face ((,class (:foreground ,fg-main))))
+ `(elfeed-search-unread-count-face ((,class (:foreground ,blue-active))))
+ `(elfeed-search-unread-title-face ((,class (:weight bold))))
+ ;;;; elfeed-score
+ `(elfeed-score-date-face ((,class (:foreground ,blue))))
+ `(elfeed-score-debug-level-face ((,class (:foreground ,magenta-alt-other))))
+ `(elfeed-score-error-level-face ((,class (:foreground ,red))))
+ `(elfeed-score-info-level-face ((,class (:foreground ,cyan))))
+ `(elfeed-score-warn-level-face ((,class (:foreground ,yellow))))
+ ;;;; emms
+ `(emms-playlist-track-face ((,class (:foreground ,blue))))
+ `(emms-playlist-selected-face ((,class (:foreground ,magenta :weight bold))))
+ ;;;; enhanced-ruby-mode
+ `(enh-ruby-heredoc-delimiter-face ((,class (:foreground ,blue-alt-other))))
+ `(enh-ruby-op-face ((,class (:foreground ,fg-main))))
+ `(enh-ruby-regexp-delimiter-face ((,class (:foreground ,green))))
+ `(enh-ruby-regexp-face ((,class (:foreground ,magenta))))
+ `(enh-ruby-string-delimiter-face ((,class (:foreground ,blue-alt))))
+ `(erm-syn-errline ((,class (:foreground ,red :underline t))))
+ `(erm-syn-warnline ((,class (:foreground ,yellow :underline t))))
+ ;;;; epa
+ `(epa-field-body ((,class (:foreground ,fg-main))))
+ `(epa-field-name ((,class (:foreground ,fg-dim :weight bold))))
+ `(epa-mark ((,class (:foreground ,magenta :weight bold))))
+ `(epa-string ((,class (:foreground ,blue-alt))))
+ `(epa-validity-disabled ((,class (:inherit modus-theme-refine-red))))
+ `(epa-validity-high ((,class (:foreground ,cyan :weight bold))))
+ `(epa-validity-low ((,class (:foreground ,fg-alt))))
+ `(epa-validity-medium ((,class (:foreground ,yellow))))
+ ;;;; equake
+ `(equake-buffer-face ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(equake-shell-type-eshell ((,class (:background ,bg-inactive :foreground ,green-active))))
+ `(equake-shell-type-rash ((,class (:background ,bg-inactive :foreground ,red-active))))
+ `(equake-shell-type-shell ((,class (:background ,bg-inactive :foreground ,cyan-active))))
+ `(equake-shell-type-term ((,class (:background ,bg-inactive :foreground ,yellow-active))))
+ `(equake-shell-type-vterm ((,class (:background ,bg-inactive :foreground ,magenta-active))))
+ `(equake-tab-active ((,class (:background ,fg-alt :foreground ,bg-alt))))
+ `(equake-tab-inactive ((,class (:foreground ,fg-inactive))))
+ ;;;; erc
+ `(erc-action-face ((,class (:foreground ,cyan :weight bold))))
+ `(erc-bold-face ((,class (:weight bold))))
+ `(erc-button ((,class (:inherit button))))
+ `(erc-command-indicator-face ((,class (:foreground ,cyan-alt :weight bold))))
+ `(erc-current-nick-face ((,class (:foreground ,blue))))
+ `(erc-dangerous-host-face ((,class (:inherit modus-theme-intense-red))))
+ `(erc-direct-msg-face ((,class (:foreground ,fg-special-mild))))
+ `(erc-error-face ((,class (:foreground ,red :weight bold))))
+ `(erc-fool-face ((,class (:foreground ,fg-inactive))))
+ `(erc-header-line ((,class (:background ,bg-alt :foreground ,fg-main))))
+ `(erc-input-face ((,class (:foreground ,fg-special-calm))))
+ `(erc-inverse-face ((,class (:inherit erc-default-face :inverse-video t))))
+ `(erc-keyword-face ((,class (:foreground ,magenta-alt :weight bold))))
+ `(erc-my-nick-face ((,class (:foreground ,magenta :weight bold))))
+ `(erc-my-nick-prefix-face ((,class (:inherit erc-my-nick-face))))
+ `(erc-nick-default-face ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(erc-nick-msg-face ((,class (:foreground ,green :weight bold))))
+ `(erc-nick-prefix-face ((,class (:inherit erc-nick-default-face :weight bold))))
+ `(erc-notice-face ((,class (:foreground ,fg-special-warm))))
+ `(erc-pal-face ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(erc-prompt-face ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(erc-timestamp-face ((,class (:foreground ,blue-alt))))
+ `(erc-underline-face ((,class (:underline t))))
+ ;;;; ert
+ `(ert-test-result-expected ((,class (:inherit modus-theme-intense-green))))
+ `(ert-test-result-unexpected ((,class (:inherit modus-theme-intense-red))))
+ ;;;; eshell
+ `(eshell-ls-archive ((,class (:foreground ,cyan-alt :weight bold))))
+ `(eshell-ls-backup ((,class (:foreground ,yellow-alt))))
+ `(eshell-ls-clutter ((,class (:foreground ,red-alt))))
+ `(eshell-ls-directory ((,class (:foreground ,blue-alt :weight bold))))
+ `(eshell-ls-executable ((,class (:foreground ,magenta-alt))))
+ `(eshell-ls-missing ((,class (:inherit modus-theme-intense-red))))
+ `(eshell-ls-product ((,class (:foreground ,fg-special-warm))))
+ `(eshell-ls-readonly ((,class (:foreground ,fg-special-cold))))
+ `(eshell-ls-special ((,class (:foreground ,magenta :weight bold))))
+ `(eshell-ls-symlink ((,class (:foreground ,cyan :underline t))))
+ `(eshell-ls-unreadable ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ `(eshell-prompt ((,class (:foreground ,cyan-alt-other :weight ,modus-theme-bold))))
+ ;;;; evil-mode
+ `(evil-ex-commands ((,class (:foreground ,magenta-alt-other))))
+ `(evil-ex-info ((,class (:foreground ,cyan-alt-other))))
+ `(evil-ex-lazy-highlight ((,class (:inherit modus-theme-refine-cyan))))
+ `(evil-ex-search ((,class (:inherit modus-theme-intense-green))))
+ `(evil-ex-substitute-matches ((,class (:inherit modus-theme-refine-yellow :underline t))))
+ `(evil-ex-substitute-replacement ((,class (:inherit modus-theme-intense-green :weight bold))))
+ ;;;; evil-goggles
+ `(evil-goggles-change-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(evil-goggles-commentary-face ((,class (:inherit modus-theme-subtle-neutral :slant ,modus-theme-slant))))
+ `(evil-goggles-default-face ((,class (:inherit modus-theme-subtle-neutral))))
+ `(evil-goggles-delete-face ((,class (:inherit modus-theme-refine-red))))
+ `(evil-goggles-fill-and-move-face ((,class (:inherit evil-goggles-default-face))))
+ `(evil-goggles-indent-face ((,class (:inherit evil-goggles-default-face))))
+ `(evil-goggles-join-face ((,class (:inherit modus-theme-subtle-green))))
+ `(evil-goggles-nerd-commenter-face ((,class (:inherit evil-goggles-commentary-face))))
+ `(evil-goggles-paste-face ((,class (:inherit modus-theme-subtle-cyan))))
+ `(evil-goggles-record-macro-face ((,class (:inherit modus-theme-special-cold))))
+ `(evil-goggles-replace-with-register-face ((,class (:inherit modus-theme-refine-magenta))))
+ `(evil-goggles-set-marker-face ((,class (:inherit modus-theme-intense-magenta))))
+ `(evil-goggles-shift-face ((,class (:inherit evil-goggles-default-face))))
+ `(evil-goggles-surround-face ((,class (:inherit evil-goggles-default-face))))
+ `(evil-goggles-yank-face ((,class (:inherit modus-theme-subtle-blue))))
+ ;;;; evil-visual-mark-mode
+ `(evil-visual-mark-face ((,class (:inherit modus-theme-intense-magenta))))
+ ;;;; eww
+ `(eww-invalid-certificate ((,class (:foreground ,red-active))))
+ `(eww-valid-certificate ((,class (:foreground ,green-active))))
+ `(eww-form-checkbox ((,class (:box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))))
+ `(eww-form-file ((,class (:box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))))
+ `(eww-form-select ((,class (:inherit eww-form-checkbox))))
+ `(eww-form-submit ((,class (:inherit eww-form-file))))
+ `(eww-form-text ((,class (:box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))))
+ `(eww-form-textarea ((,class (:background ,bg-alt :foreground ,fg-main))))
+ ;;;; eyebrowse
+ `(eyebrowse-mode-line-active ((,class (:foreground ,blue-active :weight bold))))
+ ;;;; fancy-dabbrev
+ `(fancy-dabbrev-menu-face ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(fancy-dabbrev-preview-face ((,class (:foreground ,fg-alt :underline t))))
+ `(fancy-dabbrev-selection-face ((,class (:inherit modus-theme-intense-cyan :weight bold))))
+ ;;;; flycheck
+ `(flycheck-error
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style wave)))
+ (,class (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style line)))))
+ `(flycheck-error-list-checker-name ((,class (:foreground ,magenta-active))))
+ `(flycheck-error-list-column-number ((,class (:foreground ,fg-special-cold))))
+ `(flycheck-error-list-error ((,class (:foreground ,red :weight ,modus-theme-bold))))
+ `(flycheck-error-list-filename ((,class (:foreground ,blue))))
+ `(flycheck-error-list-highlight ((,class (:inherit modus-theme-special-warm))))
+ `(flycheck-error-list-id ((,class (:foreground ,magenta-alt-other))))
+ `(flycheck-error-list-id-with-explainer ((,class (:inherit flycheck-error-list-id :box t))))
+ `(flycheck-error-list-info ((,class (:foreground ,cyan))))
+ `(flycheck-error-list-line-number ((,class (:foreground ,fg-special-warm))))
+ `(flycheck-error-list-warning ((,class (:foreground ,yellow))))
+ `(flycheck-fringe-error ((,class (:inherit modus-theme-fringe-red))))
+ `(flycheck-fringe-info ((,class (:inherit modus-theme-fringe-cyan))))
+ `(flycheck-fringe-warning ((,class (:inherit modus-theme-fringe-yellow))))
+ `(flycheck-info
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style wave)))
+ (,class (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style line)))))
+ `(flycheck-verify-select-checker ((,class (:box (:line-width 1 :color nil :style released-button)))))
+ `(flycheck-warning
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style wave)))
+ (,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style line)))))
+ ;;;; flycheck-indicator
+ `(flycheck-indicator-disabled ((,class (:foreground ,fg-inactive :slant ,modus-theme-slant))))
+ `(flycheck-indicator-error ((,class (:foreground ,red-active :weight ,modus-theme-bold))))
+ `(flycheck-indicator-info ((,class (:foreground ,blue-active :weight ,modus-theme-bold))))
+ `(flycheck-indicator-running ((,class (:foreground ,magenta-active :weight ,modus-theme-bold))))
+ `(flycheck-indicator-success ((,class (:foreground ,green-active :weight ,modus-theme-bold))))
+ `(flycheck-indicator-warning ((,class (:foreground ,yellow-active :weight ,modus-theme-bold))))
+ ;;;; flycheck-posframe
+ `(flycheck-posframe-background-face ((,class (:background ,bg-alt))))
+ `(flycheck-posframe-border-face ((,class (:foreground ,fg-alt))))
+ `(flycheck-posframe-error-face ((,class (:foreground ,red :weight bold))))
+ `(flycheck-posframe-face ((,class (:foreground ,fg-main :slant ,modus-theme-slant))))
+ `(flycheck-posframe-info-face ((,class (:foreground ,cyan :weight bold))))
+ `(flycheck-posframe-warning-face ((,class (:foreground ,yellow :weight bold))))
+ ;;;; flymake
+ `(flymake-error
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style wave)))
+ (,class (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style line)))))
+ `(flymake-note
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style wave)))
+ (,class (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style line)))))
+ `(flymake-warning
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style wave)))
+ (,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style line)))))
+ ;;;; flyspell
+ `(flyspell-duplicate
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,fg-lang-warning :underline (:style wave)))
+ (,class (:foreground ,fg-lang-warning :underline t))))
+ `(flyspell-incorrect
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,fg-lang-error :underline (:style wave)))
+ (,class (:foreground ,fg-lang-error :underline t))))
+ ;;;; flyspell-correct
+ `(flyspell-correct-highlight-face ((,class (:inherit modus-theme-refine-green))))
+ ;;;; flx
+ `(flx-highlight-face ((,class (:inherit modus-theme-intense-magenta))))
+ ;;;; freeze-it
+ `(freeze-it-show ((,class (:background ,bg-dim :foreground ,fg-special-warm))))
+ ;;;; frog-menu
+ `(frog-menu-action-keybinding-face ((,class (:foreground ,blue-alt-other))))
+ `(frog-menu-actions-face ((,class (:foreground ,magenta))))
+ `(frog-menu-border ((,class (:background ,bg-active))))
+ `(frog-menu-candidates-face ((,class (:foreground ,fg-main))))
+ `(frog-menu-posframe-background-face ((,class (:background ,bg-dim))))
+ `(frog-menu-prompt-face ((,class (:foreground ,cyan))))
+ ;;;; focus
+ `(focus-unfocused ((,class (:foreground ,fg-unfocused))))
+ ;;;; fold-this
+ `(fold-this-overlay ((,class (:inherit modus-theme-special-mild))))
+ ;;;; font-lock
+ `(font-lock-builtin-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(font-lock-comment-delimiter-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(font-lock-comment-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(font-lock-constant-face ((,class (:foreground ,blue-alt-other))))
+ `(font-lock-doc-face ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(font-lock-function-name-face ((,class (:foreground ,magenta))))
+ `(font-lock-keyword-face ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(font-lock-negation-char-face ((,class (:foreground ,yellow :weight ,modus-theme-bold))))
+ `(font-lock-preprocessor-face ((,class (:foreground ,magenta))))
+ `(font-lock-regexp-grouping-backslash ((,class (:foreground ,fg-escape-char-backslash :weight bold))))
+ `(font-lock-regexp-grouping-construct ((,class (:foreground ,fg-escape-char-construct :weight bold))))
+ `(font-lock-string-face ((,class (:foreground ,blue-alt))))
+ `(font-lock-type-face ((,class (:foreground ,magenta-alt))))
+ `(font-lock-variable-name-face ((,class (:foreground ,cyan))))
+ `(font-lock-warning-face ((,class (:foreground ,yellow-active :weight bold))))
+ ;;;; forge
+ `(forge-post-author ((,class (:foreground ,fg-main :weight bold))))
+ `(forge-post-date ((,class (:foreground ,fg-special-cold))))
+ `(forge-topic-closed ((,class (:foreground ,fg-alt))))
+ `(forge-topic-merged ((,class (:foreground ,fg-alt))))
+ `(forge-topic-open ((,class (:foreground ,fg-special-mild))))
+ `(forge-topic-unmerged ((,class (:foreground ,magenta :slant ,modus-theme-slant))))
+ `(forge-topic-unread ((,class (:foreground ,fg-main :weight bold))))
+ ;;;; fountain-mode
+ `(fountain-character ((,class (:foreground ,magenta-alt-other))))
+ `(fountain-comment ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(fountain-dialog ((,class (:foreground ,blue))))
+ `(fountain-metadata-key ((,class (:foreground ,blue-alt-other))))
+ `(fountain-metadata-value ((,class (:foreground ,cyan-alt-other))))
+ `(fountain-non-printing ((,class (:inherit fountain-comment))))
+ `(fountain-note ((,class (:foreground ,fg-special-warm :slant ,modus-theme-slant))))
+ `(fountain-page-break ((,class (:foreground ,yellow :weight bold))))
+ `(fountain-page-number ((,class (:foreground ,yellow-alt :weight bold))))
+ `(fountain-paren ((,class (:foreground ,cyan))))
+ `(fountain-scene-heading ((,class (:foreground ,fg-special-calm :weight bold))))
+ `(fountain-section-heading ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-main :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(fountain-section-heading-1 ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-main :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(fountain-section-heading-2 ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-warm :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
+ `(fountain-section-heading-3 ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-cold :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))))
+ `(fountain-section-heading-4 ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-mild :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))))
+ `(fountain-section-heading-5 ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-calm :weight bold))))
+ `(fountain-synopsis ((,class (:foreground ,green))))
+ `(fountain-template ((,class (:foreground ,magenta-alt))))
+ `(fountain-trans ((,class (:foreground ,magenta :weight bold))))
+ ;;;; geiser
+ `(geiser-font-lock-autodoc-current-arg ((,class (:foreground ,magenta))))
+ `(geiser-font-lock-autodoc-identifier ((,class (:foreground ,blue))))
+ `(geiser-font-lock-doc-button ((,class (:foreground ,cyan-alt :underline t))))
+ `(geiser-font-lock-doc-link ((,class (:inherit link))))
+ `(geiser-font-lock-error-link ((,class (:foreground ,red-alt :underline t))))
+ `(geiser-font-lock-image-button ((,class (:foreground ,green-alt :underline t))))
+ `(geiser-font-lock-repl-input ((,class (:weight bold))))
+ `(geiser-font-lock-repl-output ((,class (:foreground ,magenta-alt-other))))
+ `(geiser-font-lock-repl-prompt ((,class (:foreground ,cyan-alt-other))))
+ `(geiser-font-lock-xref-header ((,class (:weight bold))))
+ `(geiser-font-lock-xref-link ((,class (:inherit link))))
+ ;;;; git-commit
+ `(git-commit-comment-action ((,class (:foreground ,fg-special-calm :slant ,modus-theme-slant))))
+ `(git-commit-comment-branch-local ((,class (:foreground ,cyan :slant ,modus-theme-slant))))
+ `(git-commit-comment-branch-remote ((,class (:foreground ,blue :slant ,modus-theme-slant))))
+ `(git-commit-comment-detached ((,class (:foreground ,yellow :slant ,modus-theme-slant))))
+ `(git-commit-comment-file ((,class (:foreground ,blue :slant ,modus-theme-slant))))
+ `(git-commit-comment-heading ((,class (:foreground ,fg-main :weight bold :slant ,modus-theme-slant))))
+ `(git-commit-keyword ((,class (:foreground ,magenta))))
+ `(git-commit-known-pseudo-header ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(git-commit-nonempty-second-line ((,class (:inherit modus-theme-refine-yellow :weight bold))))
+ `(git-commit-overlong-summary ((,class (:inherit modus-theme-subtle-yellow))))
+ `(git-commit-pseudo-header ((,class (:foreground ,fg-alt :weight bold))))
+ `(git-commit-summary ((,class (:foreground ,magenta-alt-other))))
+ ;;;; git-gutter
+ `(git-gutter:added ((,class (:inherit modus-theme-fringe-green))))
+ `(git-gutter:deleted ((,class (:inherit modus-theme-fringe-red))))
+ `(git-gutter:modified ((,class (:inherit modus-theme-fringe-yellow))))
+ `(git-gutter:separator ((,class (:inherit modus-theme-fringe-cyan))))
+ `(git-gutter:unchanged ((,class (:inherit modus-theme-fringe-magenta))))
+ ;;;; git-gutter-fr
+ `(git-gutter-fr:added ((,class (:inherit modus-theme-fringe-green))))
+ `(git-gutter-fr:deleted ((,class (:inherit modus-theme-fringe-red))))
+ `(git-gutter-fr:modified ((,class (:inherit modus-theme-fringe-yellow))))
+ ;;;; git-{gutter,fringe}+
+ `(git-gutter+-added ((,class (:inherit modus-theme-fringe-green))))
+ `(git-gutter+-deleted ((,class (:inherit modus-theme-fringe-red))))
+ `(git-gutter+-modified ((,class (:inherit modus-theme-fringe-yellow))))
+ `(git-gutter+-separator ((,class (:inherit modus-theme-fringe-cyan))))
+ `(git-gutter+-unchanged ((,class (:inherit modus-theme-fringe-magenta))))
+ `(git-gutter-fr+-added ((,class (:inherit modus-theme-fringe-green))))
+ `(git-gutter-fr+-deleted ((,class (:inherit modus-theme-fringe-red))))
+ `(git-gutter-fr+-modified ((,class (:inherit modus-theme-fringe-yellow))))
+ ;;;; git-lens
+ `(git-lens-added ((,class (:foreground ,green :weight bold))))
+ `(git-lens-deleted ((,class (:foreground ,red :weight bold))))
+ `(git-lens-header ((,class (:height 1.1 :foreground ,cyan :weight bold))))
+ `(git-lens-modified ((,class (:foreground ,yellow :weight bold))))
+ `(git-lens-renamed ((,class (:foreground ,magenta :weight bold))))
+ ;;;; git-timemachine
+ `(git-timemachine-commit ((,class (:foreground ,yellow-active :weight bold))))
+ `(git-timemachine-minibuffer-author-face ((,class (:foreground ,fg-special-warm))))
+ `(git-timemachine-minibuffer-detail-face ((,class (:foreground ,red-alt))))
+ ;;;; git-walktree
+ `(git-walktree-commit-face ((,class (:foreground ,yellow))))
+ `(git-walktree-symlink-face ((,class (:foreground ,cyan :underline t))))
+ `(git-walktree-tree-face ((,class (:foreground ,magenta))))
+ ;;;; gnus
+ `(gnus-button ((,class (:inherit button))))
+ `(gnus-cite-1 ((,class (:foreground ,blue-alt))))
+ `(gnus-cite-10 ((,class (:foreground ,magenta-alt-other))))
+ `(gnus-cite-11 ((,class (:foreground ,yellow-alt-other))))
+ `(gnus-cite-2 ((,class (:foreground ,red-alt))))
+ `(gnus-cite-3 ((,class (:foreground ,green-alt))))
+ `(gnus-cite-4 ((,class (:foreground ,magenta-alt))))
+ `(gnus-cite-5 ((,class (:foreground ,yellow-alt))))
+ `(gnus-cite-6 ((,class (:foreground ,cyan-alt))))
+ `(gnus-cite-7 ((,class (:foreground ,blue-alt-other))))
+ `(gnus-cite-8 ((,class (:foreground ,red-alt-other))))
+ `(gnus-cite-9 ((,class (:foreground ,green-alt-other))))
+ `(gnus-cite-attribution ((,class (:foreground ,fg-main :slant italic))))
+ `(gnus-emphasis-highlight-words ((,class (:inherit modus-theme-refine-yellow))))
+ `(gnus-group-mail-1 ((,class (:foreground ,magenta :weight bold))))
+ `(gnus-group-mail-1-empty ((,class (:foreground ,magenta))))
+ `(gnus-group-mail-2 ((,class (:foreground ,magenta-alt :weight bold))))
+ `(gnus-group-mail-2-empty ((,class (:foreground ,magenta-alt))))
+ `(gnus-group-mail-3 ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(gnus-group-mail-3-empty ((,class (:foreground ,magenta-alt-other))))
+ `(gnus-group-mail-low ((,class (:foreground ,fg-special-calm :weight bold))))
+ `(gnus-group-mail-low-empty ((,class (:foreground ,fg-special-calm))))
+ `(gnus-group-news-1 ((,class (:foreground ,blue-alt-other :weight bold))))
+ `(gnus-group-news-1-empty ((,class (:foreground ,blue-alt))))
+ `(gnus-group-news-2 ((,class (:foreground ,green-alt-other :weight bold))))
+ `(gnus-group-news-2-empty ((,class (:foreground ,green-alt))))
+ `(gnus-group-news-3 ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(gnus-group-news-3-empty ((,class (:foreground ,cyan))))
+ `(gnus-group-news-4 ((,class (:foreground ,yellow-nuanced :weight bold))))
+ `(gnus-group-news-4-empty ((,class (:foreground ,green-nuanced))))
+ `(gnus-group-news-5 ((,class (:foreground ,magenta-nuanced :weight bold))))
+ `(gnus-group-news-5-empty ((,class (:foreground ,magenta-nuanced))))
+ `(gnus-group-news-6 ((,class (:foreground ,red-nuanced :weight bold))))
+ `(gnus-group-news-6-empty ((,class (:foreground ,red-nuanced))))
+ `(gnus-group-news-low ((,class (:foreground ,fg-alt :weight bold))))
+ `(gnus-group-news-low-empty ((,class (:foreground ,fg-alt))))
+ `(gnus-header-content ((,class (:foreground ,fg-special-calm))))
+ `(gnus-header-from ((,class (:foreground ,cyan-alt :weight bold :underline nil))))
+ `(gnus-header-name ((,class (:foreground ,cyan-alt-other))))
+ `(gnus-header-newsgroups ((,class (:foreground ,blue-alt :weight bold))))
+ `(gnus-header-subject ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(gnus-server-agent ((,class (:foreground ,cyan :weight bold))))
+ `(gnus-server-closed ((,class (:foreground ,magenta :weight bold))))
+ `(gnus-server-cloud ((,class (:foreground ,cyan-alt :weight bold))))
+ `(gnus-server-cloud-host ((,class (:inherit modus-theme-refine-cyan))))
+ `(gnus-server-denied ((,class (:foreground ,red :weight bold))))
+ `(gnus-server-offline ((,class (:foreground ,yellow :weight bold))))
+ `(gnus-server-opened ((,class (:foreground ,green :weight bold))))
+ `(gnus-signature ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(gnus-splash ((,class (:foreground ,fg-alt))))
+ `(gnus-summary-cancelled ((,class (:background ,bg-mark-other :foreground ,fg-mark-other :weight bold))))
+ `(gnus-summary-high-ancient ((,class (:foreground ,fg-alt :weight bold))))
+ `(gnus-summary-high-read ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(gnus-summary-high-ticked ((,class (:foreground ,red-alt :weight bold))))
+ `(gnus-summary-high-undownloaded ((,class (:foreground ,yellow :weight bold))))
+ `(gnus-summary-high-unread ((,class (:foreground ,fg-main :weight bold))))
+ `(gnus-summary-low-ancient ((,class (:foreground ,fg-alt :slant italic))))
+ `(gnus-summary-low-read ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(gnus-summary-low-ticked ((,class (:foreground ,red-refine-fg :slant italic))))
+ `(gnus-summary-low-undownloaded ((,class (:foreground ,yellow-refine-fg :slant italic))))
+ `(gnus-summary-low-unread ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(gnus-summary-normal-ancient ((,class (:foreground ,fg-special-calm))))
+ `(gnus-summary-normal-read ((,class (:foreground ,fg-special-cold))))
+ `(gnus-summary-normal-ticked ((,class (:foreground ,red-alt))))
+ `(gnus-summary-normal-undownloaded ((,class (:foreground ,yellow))))
+ `(gnus-summary-normal-unread ((,class (:foreground ,fg-main))))
+ `(gnus-summary-selected ((,class (:inherit modus-theme-subtle-cyan))))
+ ;;;; helm
+ `(helm-M-x-key ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(helm-action ((,class (:underline t))))
+ `(helm-bookmark-addressbook ((,class (:foreground ,green-alt))))
+ `(helm-bookmark-directory ((,class (:foreground ,blue :weight bold))))
+ `(helm-bookmark-file ((,class (:foreground ,fg-main))))
+ `(helm-bookmark-file-not-found ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(helm-bookmark-gnus ((,class (:foreground ,magenta))))
+ `(helm-bookmark-info ((,class (:foreground ,cyan-alt))))
+ `(helm-bookmark-man ((,class (:foreground ,yellow-alt))))
+ `(helm-bookmark-w3m ((,class (:foreground ,blue-alt))))
+ `(helm-buffer-archive ((,class (:foreground ,cyan :weight bold))))
+ `(helm-buffer-directory ((,class (:foreground ,blue :weight bold))))
+ `(helm-buffer-file ((,class (:foreground ,fg-main))))
+ `(helm-buffer-modified ((,class (:foreground ,yellow-alt))))
+ `(helm-buffer-not-saved ((,class (:foreground ,red-alt))))
+ `(helm-buffer-process ((,class (:foreground ,magenta))))
+ `(helm-buffer-saved-out ((,class (:background ,bg-alt :foreground ,red :weight bold))))
+ `(helm-buffer-size ((,class (:foreground ,fg-alt))))
+ `(helm-candidate-number ((,class (:foreground ,cyan-active))))
+ `(helm-candidate-number-suspended ((,class (:foreground ,yellow-active))))
+ `(helm-delete-async-message ((,class (:foreground ,magenta-active :weight bold))))
+ `(helm-eob-line ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(helm-etags-file ((,class (:foreground ,fg-dim :underline t))))
+ `(helm-ff-denied ((,class (:inherit modus-theme-intense-red))))
+ `(helm-ff-directory ((,class (:inherit helm-buffer-directory))))
+ `(helm-ff-dirs ((,class (:foreground ,blue-alt-other :weight bold))))
+ `(helm-ff-dotted-directory ((,class (:background ,bg-alt :foreground ,fg-alt :weight bold))))
+ `(helm-ff-dotted-symlink-directory ((,class (:inherit helm-ff-dotted-directory :underline t))))
+ `(helm-ff-executable ((,class (:foreground ,magenta-alt))))
+ `(helm-ff-file ((,class (:foreground ,fg-main))))
+ `(helm-ff-invalid-symlink ((,class (:foreground ,red :underline t))))
+ `(helm-ff-pipe ((,class (:inherit modus-theme-subtle-magenta))))
+ `(helm-ff-prefix ((,class (:inherit modus-theme-subtle-yellow))))
+ `(helm-ff-socket ((,class (:foreground ,red-alt-other))))
+ `(helm-ff-suid ((,class (:inherit modus-theme-refine-red))))
+ `(helm-ff-symlink ((,class (:foreground ,cyan :underline t))))
+ `(helm-ff-truename ((,class (:foreground ,blue-alt-other))))
+ `(helm-grep-cmd-line ((,class (:foreground ,yellow-alt-other))))
+ `(helm-grep-file ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(helm-grep-finish ((,class (:foreground ,green-active))))
+ `(helm-grep-lineno ((,class (:foreground ,fg-special-warm))))
+ `(helm-grep-match ((,class (:inherit modus-theme-special-calm))))
+ `(helm-header ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(helm-header-line-left-margin ((,class (:foreground ,yellow-intense :weight bold))))
+ `(helm-history-deleted ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(helm-history-remote ((,class (:foreground ,red-alt-other))))
+ `(helm-lisp-completion-info ((,class (:foreground ,fg-special-warm))))
+ `(helm-lisp-show-completion ((,class (:inherit modus-theme-refine-yellow))))
+ `(helm-locate-finish ((,class (:foreground ,green-active))))
+ `(helm-match ((,class (:inherit modus-theme-refine-cyan :weight bold))))
+ `(helm-match-item ((,class (:inherit modus-theme-subtle-cyan))))
+ `(helm-minibuffer-prompt ((,class (:inherit minibuffer-prompt))))
+ `(helm-moccur-buffer ((,class (:foreground ,cyan-alt-other :underline t))))
+ `(helm-mode-prefix ((,class (:inherit modus-theme-intense-magenta))))
+ `(helm-non-file-buffer ((,class (:foreground ,fg-alt))))
+ `(helm-prefarg ((,class (:foreground ,red-active))))
+ `(helm-resume-need-update ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-refine-magenta))))
+ `(helm-selection ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-refine-blue :weight bold))))
+ `(helm-selection-line ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-special-cold))))
+ `(helm-separator ((,class (:foreground ,fg-special-mild))))
+ `(helm-time-zone-current ((,class (:foreground ,green))))
+ `(helm-time-zone-home ((,class (:foreground ,magenta))))
+ `(helm-source-header ((,class (:foreground ,red-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(helm-top-columns ((,class (:inherit helm-header))))
+ `(helm-ucs-char ((,class (:foreground ,yellow-alt-other))))
+ `(helm-visible-mark ((,class (:inherit modus-theme-subtle-cyan))))
+ ;;;; helm-ls-git
+ `(helm-ls-git-added-copied-face ((,class (:foreground ,green-intense))))
+ `(helm-ls-git-added-modified-face ((,class (:foreground ,yellow-intense))))
+ `(helm-ls-git-conflict-face ((,class (:foreground ,red-intense :weight bold))))
+ `(helm-ls-git-deleted-and-staged-face ((,class (:foreground ,red-nuanced))))
+ `(helm-ls-git-deleted-not-staged-face ((,class (:foreground ,red))))
+ `(helm-ls-git-modified-and-staged-face ((,class (:foreground ,yellow-nuanced))))
+ `(helm-ls-git-modified-not-staged-face ((,class (:foreground ,yellow))))
+ `(helm-ls-git-renamed-modified-face ((,class (:foreground ,magenta))))
+ `(helm-ls-git-untracked-face ((,class (:foreground ,fg-special-cold))))
+ ;;;; helm-switch-shell
+ `(helm-switch-shell-new-shell-face ((,class (:inherit modus-theme-refine-magenta :weight bold))))
+ ;;;; helm-xref
+ `(helm-xref-file-name ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(helm-xref-file-name ((,class (:foreground ,fg-special-warm))))
+ ;;;; helpful
+ `(helpful-heading ((,class (:inherit ,modus-theme-variable-pitch :foreground ,fg-main :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ ;;;; highlight region or ad-hoc regexp
+ `(hi-black-b ((,class (:background ,fg-main :foreground ,bg-main))))
+ `(hi-blue ((,class (:background ,bg-alt :foreground ,blue :underline t))))
+ `(hi-blue-b ((,class (:inherit modus-theme-intense-blue))))
+ `(hi-green ((,class (:background ,bg-alt :foreground ,green :underline t))))
+ `(hi-green-b ((,class (:inherit modus-theme-intense-green))))
+ `(hi-pink ((,class (:background ,bg-alt :foreground ,magenta :underline t))))
+ `(hi-red-b ((,class (:inherit modus-theme-intense-red))))
+ `(hi-yellow ((,class (:background ,bg-alt :foreground ,yellow :underline t))))
+ `(highlight ((,class (:inherit modus-theme-subtle-blue))))
+ `(highlight-changes ((,class (:foreground ,yellow-alt-other))))
+ `(highlight-changes-delete ((,class (:foreground ,red-alt-other :underline t))))
+ `(hl-line ((,class (:background ,bg-hl-line))))
+ `(region ((,class (:background ,bg-region :foreground ,fg-main))))
+ `(secondary-selection ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ ;;;; highlight-blocks
+ `(highlight-blocks-depth-1-face ((,class (:background ,bg-dim :foreground ,fg-main))))
+ `(highlight-blocks-depth-2-face ((,class (:background ,bg-alt :foreground ,fg-main))))
+ `(highlight-blocks-depth-3-face ((,class (:background ,bg-special-cold :foreground ,fg-main))))
+ `(highlight-blocks-depth-4-face ((,class (:background ,bg-special-calm :foreground ,fg-main))))
+ `(highlight-blocks-depth-5-face ((,class (:background ,bg-special-warm :foreground ,fg-main))))
+ `(highlight-blocks-depth-6-face ((,class (:background ,bg-special-mild :foreground ,fg-main))))
+ `(highlight-blocks-depth-7-face ((,class (:background ,bg-inactive :foreground ,fg-main))))
+ `(highlight-blocks-depth-8-face ((,class (:background ,bg-active :foreground ,fg-main))))
+ `(highlight-blocks-depth-9-face ((,class (:background ,cyan-subtle-bg :foreground ,fg-main))))
+ ;;;; highlight-defined
+ `(highlight-defined-builtin-function-name-face ((,class (:foreground ,magenta))))
+ `(highlight-defined-face-name-face ((,class (:foreground ,fg-main))))
+ `(highlight-defined-function-name-face ((,class (:foreground ,magenta))))
+ `(highlight-defined-macro-name-face ((,class (:foreground ,magenta-alt))))
+ `(highlight-defined-special-form-name-face ((,class (:foreground ,magenta-alt-other))))
+ `(highlight-defined-variable-name-face ((,class (:foreground ,cyan))))
+ ;;;; highlight-escape-sequences (`hes-mode')
+ `(hes-escape-backslash-face ((,class (:foreground ,fg-escape-char-construct :weight bold))))
+ `(hes-escape-sequence-face ((,class (:foreground ,fg-escape-char-backslash :weight bold))))
+ ;;;; highlight-numbers
+ `(highlight-numbers-number ((,class (:foreground ,blue-alt-other))))
+ ;;;; highlight-symbol
+ `(highlight-symbol-face ((,class (:inherit modus-theme-special-mild))))
+ ;;;; highlight-thing
+ `(highlight-thing ((,class (:background ,bg-alt :foreground ,cyan))))
+ ;;;; hl-fill-column
+ `(hl-fill-column-face ((,class (:background ,bg-active :foreground ,fg-active))))
+ ;;;; hl-todo
+ `(hl-todo ((,class (:foreground ,red-alt-other :weight bold))))
+ ;;;; hydra
+ `(hydra-face-amaranth ((,class (:foreground ,yellow :weight bold))))
+ `(hydra-face-blue ((,class (:foreground ,blue-alt :weight bold))))
+ `(hydra-face-pink ((,class (:foreground ,magenta-alt :weight bold))))
+ `(hydra-face-red ((,class (:foreground ,red :weight bold))))
+ `(hydra-face-teal ((,class (:foreground ,cyan :weight bold))))
+ ;;;; icomplete
+ `(icomplete-first-match ((,class (:foreground ,magenta :weight bold))))
+ ;;;; icomplete-vertical
+ `(icomplete-vertical-separator ((,class (:foreground ,fg-alt))))
+ ;;;; ido-mode
+ `(ido-first-match ((,class (:foreground ,magenta :weight bold))))
+ `(ido-incomplete-regexp ((,class (:inherit error))))
+ `(ido-indicator ((,class (:inherit modus-theme-subtle-yellow))))
+ `(ido-only-match ((,class (:foreground ,magenta-intense :weight bold))))
+ `(ido-subdir ((,class (:foreground ,blue-alt-other))))
+ `(ido-virtual ((,class (:foreground ,yellow-alt-other))))
+ ;;;; iedit
+ `(iedit-occurrence ((,class (:inherit modus-theme-refine-blue))))
+ `(iedit-read-only-occurrence ((,class (:inherit modus-theme-intense-yellow))))
+ ;;;; iflipb
+ `(iflipb-current-buffer-face ((,class (:foreground ,cyan-alt :weight bold))))
+ `(iflipb-other-buffer-face ((,class (:foreground ,fg-alt))))
+ ;;;; imenu-list
+ `(imenu-list-entry-face-0 ((,class (:foreground ,magenta-alt-other))))
+ `(imenu-list-entry-face-1 ((,class (:foreground ,cyan-alt-other))))
+ `(imenu-list-entry-face-2 ((,class (:foreground ,yellow-alt-other))))
+ `(imenu-list-entry-face-3 ((,class (:foreground ,green-alt-other))))
+ `(imenu-list-entry-subalist-face-0 ((,class (:foreground ,magenta-alt-other :weight bold :underline t))))
+ `(imenu-list-entry-subalist-face-1 ((,class (:foreground ,cyan-alt-other :weight bold :underline t))))
+ `(imenu-list-entry-subalist-face-2 ((,class (:foreground ,yellow-alt-other :weight bold :underline t))))
+ `(imenu-list-entry-subalist-face-3 ((,class (:foreground ,green-alt-other :weight bold :underline t))))
+ ;;;; info
+ `(Info-quoted ((,class (:foreground ,magenta)))) ; the capitalisation is canonical
+ `(info-header-node ((,class (:foreground ,fg-special-warm))))
+ `(info-header-xref ((,class (:foreground ,blue-active))))
+ `(info-index-match ((,class (:inherit match))))
+ `(info-menu-star ((,class (:foreground ,fg-main))))
+ `(info-node ((,class (:weight bold))))
+ ;;;; info-colors
+ `(info-colors-lisp-code-block ((,class (:inherit fixed-pitch))))
+ `(info-colors-ref-item-command ((,class (:foreground ,magenta))))
+ `(info-colors-ref-item-constant ((,class (:foreground ,blue-alt-other))))
+ `(info-colors-ref-item-function ((,class (:foreground ,magenta))))
+ `(info-colors-ref-item-macro ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(info-colors-ref-item-other ((,class (:foreground ,cyan))))
+ `(info-colors-ref-item-special-form ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(info-colors-ref-item-syntax-class ((,class (:foreground ,magenta))))
+ `(info-colors-ref-item-type ((,class (:foreground ,magenta-alt))))
+ `(info-colors-ref-item-user-option ((,class (:foreground ,cyan))))
+ `(info-colors-ref-item-variable ((,class (:foreground ,cyan))))
+ ;;;; interaction-log
+ `(ilog-buffer-face ((,class (:foreground ,magenta-alt-other))))
+ `(ilog-change-face ((,class (:foreground ,magenta-alt))))
+ `(ilog-echo-face ((,class (:foreground ,yellow-alt-other))))
+ `(ilog-load-face ((,class (:foreground ,green))))
+ `(ilog-message-face ((,class (:foreground ,fg-alt))))
+ `(ilog-non-change-face ((,class (:foreground ,blue))))
+ ;;;; ioccur
+ `(ioccur-cursor ((,class (:foreground ,fg-main))))
+ `(ioccur-invalid-regexp ((,class (:foreground ,red))))
+ `(ioccur-match-face ((,class (:inherit modus-theme-special-calm))))
+ `(ioccur-match-overlay-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-special-cold))))
+ `(ioccur-num-line-face ((,class (:foreground ,fg-special-warm))))
+ `(ioccur-overlay-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-refine-blue))))
+ `(ioccur-regexp-face ((,class (:inherit modus-theme-intense-magenta :weight bold))))
+ `(ioccur-title-face ((,class (:foreground ,red-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ ;;;; isearch, occur, and the like
+ `(isearch ((,class (:inherit modus-theme-intense-green :weight bold))))
+ `(isearch-fail ((,class (:inherit modus-theme-refine-red))))
+ `(lazy-highlight ((,class (:inherit modus-theme-refine-cyan))))
+ `(match ((,class (:inherit modus-theme-special-calm))))
+ `(query-replace ((,class (:inherit modus-theme-intense-yellow :weight bold))))
+ ;;;; ivy
+ `(ivy-action ((,class (:foreground ,red-alt :weight bold))))
+ `(ivy-completions-annotations ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(ivy-confirm-face ((,class (:foreground ,cyan))))
+ `(ivy-current-match ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-intense-cyan :weight bold))))
+ `(ivy-cursor ((,class (:background ,fg-main :foreground ,bg-main))))
+ `(ivy-grep-info ((,class (:foreground ,cyan-alt))))
+ `(ivy-grep-line-number ((,class (:foreground ,fg-special-warm))))
+ `(ivy-highlight-face ((,class (:foreground ,magenta))))
+ `(ivy-match-required-face ((,class (:inherit error))))
+ `(ivy-minibuffer-match-face-1 ((,class (:inherit modus-theme-intense-neutral))))
+ `(ivy-minibuffer-match-face-2 ((,class (:inherit modus-theme-refine-green :weight bold))))
+ `(ivy-minibuffer-match-face-3 ((,class (:inherit modus-theme-refine-cyan :weight bold))))
+ `(ivy-minibuffer-match-face-4 ((,class (:inherit modus-theme-refine-magenta :weight bold))))
+ `(ivy-minibuffer-match-highlight ((,class (:inherit modus-theme-subtle-blue :weight bold))))
+ `(ivy-modified-buffer ((,class (:foreground ,yellow :slant ,modus-theme-slant))))
+ `(ivy-modified-outside-buffer ((,class (:foreground ,yellow-alt :slant ,modus-theme-slant))))
+ `(ivy-org ((,class (:foreground ,cyan-alt-other))))
+ `(ivy-prompt-match ((,class (:inherit ivy-current-match))))
+ `(ivy-remote ((,class (:foreground ,magenta))))
+ `(ivy-separator ((,class (:foreground ,fg-alt))))
+ `(ivy-subdir ((,class (:foreground ,blue-alt-other))))
+ `(ivy-virtual ((,class (:foreground ,magenta-alt-other))))
+ `(ivy-yanked-word ((,class (:inherit modus-theme-refine-blue))))
+ ;;;; ivy-posframe
+ `(ivy-posframe ((,class (:background ,bg-dim :foreground ,fg-main))))
+ `(ivy-posframe-border ((,class (:background ,bg-active))))
+ `(ivy-posframe-cursor ((,class (:background ,fg-main :foreground ,bg-main))))
+ ;;;; jira (org-jira)
+ `(jiralib-comment-face ((,class (:background ,bg-alt))))
+ `(jiralib-comment-header-face ((,class (:weight bold))))
+ `(jiralib-issue-info-face ((,class (:inherit modus-theme-special-warm))))
+ `(jiralib-issue-info-header-face ((,class (:inherit modus-theme-special-warm :weight bold))))
+ `(jiralib-issue-summary-face ((,class (:weight bold))))
+ `(jiralib-link-filter-face ((,class (:underline t))))
+ `(jiralib-link-issue-face ((,class (:underline t))))
+ `(jiralib-link-project-face ((,class (:underline t))))
+ ;;;; js2-mode
+ `(js2-error ((,class (:foreground ,red))))
+ `(js2-external-variable ((,class (:foreground ,cyan-alt-other))))
+ `(js2-function-call ((,class (:foreground ,magenta))))
+ `(js2-function-param ((,class (:foreground ,blue))))
+ `(js2-instance-member ((,class (:foreground ,magenta-alt-other))))
+ `(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,fg-main))))
+ `(js2-jsdoc-html-tag-name ((,class (:foreground ,cyan))))
+ `(js2-jsdoc-tag ((,class (:foreground ,fg-special-calm))))
+ `(js2-jsdoc-type ((,class (:foreground ,fg-special-cold))))
+ `(js2-jsdoc-value ((,class (:foreground ,fg-special-warm))))
+ `(js2-object-property ((,class (:foreground ,fg-main))))
+ `(js2-object-property-access ((,class (:foreground ,fg-main))))
+ `(js2-private-function-call ((,class (:foreground ,green-alt-other))))
+ `(js2-private-member ((,class (:foreground ,fg-special-mild))))
+ `(js2-warning ((,class (:foreground ,yellow-alt :underline t))))
+ ;;;; julia
+ `(julia-macro-face ((,class (:foreground ,magenta :weight ,modus-theme-bold))))
+ `(julia-quoted-symbol-face ((,class (:foreground ,blue-alt-other))))
+ ;;;; jupyter
+ `(jupyter-eval-overlay ((,class (:foreground ,blue :weight bold))))
+ `(jupyter-repl-input-prompt ((,class (:foreground ,cyan-alt-other))))
+ `(jupyter-repl-output-prompt ((,class (:foreground ,magenta-alt-other))))
+ `(jupyter-repl-traceback ((,class (:inherit modus-theme-intense-red))))
+ ;;;; kaocha-runner
+ `(kaocha-runner-error-face ((,class (:foreground ,red))))
+ `(kaocha-runner-success-face ((,class (:foreground ,green))))
+ `(kaocha-runner-warning-face ((,class (:foreground ,yellow))))
+ ;;;; keycast
+ `(keycast-command ((,class (:foreground ,blue-active :weight bold))))
+ `(keycast-key ((,class (:box ,(modus-operandi-theme-modeline-box blue-intense blue-active t -3)
+ ,@(modus-operandi-theme-modeline-props
+ blue-active bg-main
+ blue-active bg-active)))))
+ ;;;; line numbers (display-line-numbers-mode and global variant)
+ `(line-number ((,class (:background ,bg-dim :foreground ,fg-alt))))
+ `(line-number-current-line ((,class (:background ,bg-active :foreground ,fg-active :weight bold))))
+ ;;;; lsp-mode
+ `(lsp-face-highlight-read ((,class (:inherit modus-theme-subtle-blue :underline t))))
+ `(lsp-face-highlight-textual ((,class (:inherit modus-theme-subtle-blue))))
+ `(lsp-face-highlight-write ((,class (:inherit modus-theme-refine-blue :weight bold))))
+ `(lsp-face-semhl-constant ((,class (:foreground ,blue-alt-other))))
+ `(lsp-face-semhl-deprecated
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,yellow :underline (:style wave)))
+ (,class (:foreground ,yellow :underline t))))
+ `(lsp-face-semhl-enummember ((,class (:foreground ,blue-alt-other))))
+ `(lsp-face-semhl-field ((,class (:foreground ,cyan-alt))))
+ `(lsp-face-semhl-field-static ((,class (:foreground ,cyan-alt :slant ,modus-theme-slant))))
+ `(lsp-face-semhl-function ((,class (:foreground ,magenta))))
+ `(lsp-face-semhl-method ((,class (:foreground ,magenta))))
+ `(lsp-face-semhl-namespace ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(lsp-face-semhl-preprocessor ((,class (:foreground ,magenta))))
+ `(lsp-face-semhl-static-method ((,class (:foreground ,magenta :slant ,modus-theme-slant))))
+ `(lsp-face-semhl-type-class ((,class (:foreground ,magenta-alt))))
+ `(lsp-face-semhl-type-enum ((,class (:foreground ,magenta-alt))))
+ `(lsp-face-semhl-type-primitive ((,class (:foreground ,magenta-alt :slant ,modus-theme-slant))))
+ `(lsp-face-semhl-type-template ((,class (:foreground ,magenta-alt :slant ,modus-theme-slant))))
+ `(lsp-face-semhl-type-typedef ((,class (:foreground ,magenta-alt :slant ,modus-theme-slant))))
+ `(lsp-face-semhl-variable ((,class (:foreground ,cyan))))
+ `(lsp-face-semhl-variable-local ((,class (:foreground ,cyan))))
+ `(lsp-face-semhl-variable-parameter ((,class (:foreground ,cyan-alt-other))))
+ `(lsp-lens-face ((,class (:height 0.8 :foreground ,fg-alt))))
+ `(lsp-lens-mouse-face ((,class (:height 0.8 :foreground ,blue-alt-other :underline t))))
+ `(lsp-ui-doc-background ((,class (:background ,bg-alt))))
+ `(lsp-ui-doc-header ((,class (:background ,bg-header :foreground ,fg-header))))
+ `(lsp-ui-doc-url ((,class (:foreground ,blue-alt-other :underline t))))
+ `(lsp-ui-peek-filename ((,class (:foreground ,fg-special-warm))))
+ `(lsp-ui-peek-footer ((,class (:background ,bg-header :foreground ,fg-header))))
+ `(lsp-ui-peek-header ((,class (:background ,bg-header :foreground ,fg-header))))
+ `(lsp-ui-peek-highlight ((,class (:inherit modus-theme-subtle-blue))))
+ `(lsp-ui-peek-line-number ((,class (:foreground ,fg-alt))))
+ `(lsp-ui-peek-list ((,class (:background ,bg-dim))))
+ `(lsp-ui-peek-peek ((,class (:background ,bg-alt))))
+ `(lsp-ui-peek-selection ((,class (:inherit modus-theme-subtle-cyan))))
+ `(lsp-ui-sideline-code-action ((,class (:foreground ,yellow))))
+ `(lsp-ui-sideline-current-symbol ((,class (:height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main :weight bold))))
+ `(lsp-ui-sideline-symbol ((,class (:height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt :weight bold))))
+ `(lsp-ui-sideline-symbol-info ((,class (:height 0.99 :slant italic))))
+ ;;;; magit
+ `(magit-bisect-bad ((,class (:foreground ,red-alt-other))))
+ `(magit-bisect-good ((,class (:foreground ,green-alt-other))))
+ `(magit-bisect-skip ((,class (:foreground ,yellow-alt-other))))
+ `(magit-blame-date ((,class (:foreground ,fg-dim))))
+ `(magit-blame-dimmed ((,class (:foreground ,fg-inactive))))
+ `(magit-blame-hash ((,class (:foreground ,fg-special-warm))))
+ `(magit-blame-heading ((,class (:background ,bg-main :foreground ,fg-special-cold :weight bold))))
+ `(magit-blame-highlight ((,class (:inherit modus-theme-special-cold :weight bold))))
+ `(magit-blame-margin ((,class (:inherit magit-blame-highlight))))
+ `(magit-blame-name ((,class (:foreground ,fg-main))))
+ `(magit-blame-summary ((,class (:foreground ,fg-main))))
+ `(magit-branch-current ((,class (:foreground ,blue-alt-other :box t))))
+ `(magit-branch-local ((,class (:foreground ,blue-alt))))
+ `(magit-branch-remote ((,class (:foreground ,magenta-alt))))
+ `(magit-branch-remote-head ((,class (:foreground ,magenta-alt-other :box t))))
+ `(magit-branch-upstream ((,class (:slant italic))))
+ `(magit-cherry-equivalent ((,class (:background ,bg-main :foreground ,magenta-intense))))
+ `(magit-cherry-unmatched ((,class (:background ,bg-main :foreground ,cyan-intense))))
+ `(magit-diff-added ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-added fg-diff-added))))
+ `(magit-diff-added-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim green
+ bg-diff-focus-added fg-diff-focus-added))))
+ `(magit-diff-base ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-changed fg-diff-changed))))
+ `(magit-diff-base-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim yellow
+ bg-diff-focus-changed fg-diff-focus-changed))))
+ `(magit-diff-context ((,class (:foreground ,fg-unfocused))))
+ `(magit-diff-context-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim fg-dim
+ bg-inactive fg-inactive))))
+ `(magit-diff-file-heading ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(magit-diff-file-heading-highlight ((,class (:inherit modus-theme-special-cold :weight bold))))
+ `(magit-diff-file-heading-selection ((,class (:background ,bg-alt :foreground ,cyan))))
+ `(magit-diff-hunk-heading ((,class (:background ,bg-active :foreground ,fg-inactive :weight bold))))
+ `(magit-diff-hunk-heading-highlight ((,class (:inherit modus-theme-diff-heading :weight bold))))
+ `(magit-diff-hunk-heading-selection ((,class (:inherit modus-theme-intense-cyan))))
+ `(magit-diff-hunk-region ((,class (:weight bold))))
+ `(magit-diff-lines-boundary ((,class (:background ,fg-main))))
+ `(magit-diff-lines-heading ((,class (:inherit modus-theme-refine-magenta))))
+ `(magit-diff-removed ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-removed fg-diff-removed))))
+ `(magit-diff-removed-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim red
+ bg-diff-focus-removed fg-diff-focus-removed))))
+ `(magit-diffstat-added ((,class (:foreground ,green))))
+ `(magit-diffstat-removed ((,class (:foreground ,red))))
+ `(magit-dimmed ((,class (:foreground ,fg-alt))))
+ `(magit-filename ((,class (:foreground ,fg-special-cold))))
+ `(magit-hash ((,class (:foreground ,fg-special-warm))))
+ `(magit-head ((,class (:inherit magit-branch-local))))
+ `(magit-header-line ((,class (:foreground ,cyan-active :weight bold))))
+ `(magit-header-line-key ((,class (:foreground ,blue-active :weight bold))))
+ `(magit-header-line-log-select ((,class (:foreground ,fg-main :weight bold))))
+ `(magit-keyword ((,class (:foreground ,magenta))))
+ `(magit-keyword-squash ((,class (:foreground ,yellow-alt-other :weight bold))))
+ `(magit-log-author ((,class (:foreground ,cyan))))
+ `(magit-log-date ((,class (:foreground ,magenta))))
+ `(magit-log-graph ((,class (:foreground ,fg-dim))))
+ `(magit-mode-line-process ((,class (:foreground ,blue-active :weight bold))))
+ `(magit-mode-line-process-error ((,class (:foreground ,red-active :weight bold))))
+ `(magit-process-ng ((,class (:inherit error))))
+ `(magit-process-ok ((,class (:inherit success))))
+ `(magit-reflog-amend ((,class (:background ,bg-main :foreground ,magenta-intense))))
+ `(magit-reflog-checkout ((,class (:background ,bg-main :foreground ,blue-intense))))
+ `(magit-reflog-cherry-pick ((,class (:background ,bg-main :foreground ,green-intense))))
+ `(magit-reflog-commit ((,class (:background ,bg-main :foreground ,green-intense))))
+ `(magit-reflog-merge ((,class (:background ,bg-main :foreground ,green-intense))))
+ `(magit-reflog-other ((,class (:background ,bg-main :foreground ,cyan-intense))))
+ `(magit-reflog-rebase ((,class (:background ,bg-main :foreground ,magenta-intense))))
+ `(magit-reflog-remote ((,class (:background ,bg-main :foreground ,cyan-intense))))
+ `(magit-reflog-reset ((,class (:background ,bg-main :foreground ,red-intense))))
+ `(magit-refname ((,class (:foreground ,fg-alt))))
+ `(magit-refname-pullreq ((,class (:foreground ,fg-alt))))
+ `(magit-refname-stash ((,class (:foreground ,fg-alt))))
+ `(magit-refname-wip ((,class (:foreground ,fg-alt))))
+ `(magit-section ((,class (:background ,bg-dim :foreground ,fg-main))))
+ `(magit-section-heading ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(magit-section-heading-selection ((,class (:inherit modus-theme-refine-cyan :weight bold))))
+ `(magit-section-highlight ((,class (:background ,bg-alt))))
+ `(magit-sequence-done ((,class (:foreground ,green-alt))))
+ `(magit-sequence-drop ((,class (:foreground ,red-alt))))
+ `(magit-sequence-exec ((,class (:foreground ,magenta-alt))))
+ `(magit-sequence-head ((,class (:foreground ,cyan-alt))))
+ `(magit-sequence-onto ((,class (:foreground ,fg-alt))))
+ `(magit-sequence-part ((,class (:foreground ,yellow-alt))))
+ `(magit-sequence-pick ((,class (:foreground ,blue-alt))))
+ `(magit-sequence-stop ((,class (:foreground ,red))))
+ `(magit-signature-bad ((,class (:background ,bg-main :foreground ,red-intense :weight bold))))
+ `(magit-signature-error ((,class (:background ,bg-main :foreground ,red-intense))))
+ `(magit-signature-expired ((,class (:background ,bg-main :foreground ,yellow-intense))))
+ `(magit-signature-expired-key ((,class (:background ,bg-main :foreground ,yellow-intense))))
+ `(magit-signature-good ((,class (:background ,bg-main :foreground ,green-intense))))
+ `(magit-signature-revoked ((,class (:background ,bg-main :foreground ,magenta-intense))))
+ `(magit-signature-untrusted ((,class (:background ,bg-main :foreground ,cyan-intense))))
+ `(magit-tag ((,class (:foreground ,yellow-alt-other))))
+ ;;;; magit-imerge
+ `(magit-imerge-overriding-value ((,class (:foreground ,red-alt :weight bold))))
+ ;;;; man
+ `(Man-overstrike ((,class (:foreground ,magenta :weight bold))))
+ `(Man-reverse ((,class (:inherit modus-theme-subtle-magenta))))
+ `(Man-underline ((,class (:foreground ,cyan :underline t))))
+ ;;;; markdown-mode
+ `(markdown-blockquote-face ((,class (:background ,bg-dim :foreground ,fg-special-warm :slant ,modus-theme-slant))))
+ `(markdown-bold-face ((,class (:weight bold))))
+ `(markdown-code-face ((,class (:inherit fixed-pitch))))
+ `(markdown-comment-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(markdown-footnote-marker-face ((,class (:foreground ,cyan-alt :weight bold))))
+ `(markdown-footnote-text-face ((,class (:foreground ,fg-main :slant ,modus-theme-slant))))
+ `(markdown-gfm-checkbox-face ((,class (:foreground ,cyan-alt-other))))
+ `(markdown-header-delimiter-face ((,class (:foreground ,fg-dim :weight normal))))
+ `(markdown-header-face ((,class (:weight bold))))
+ `(markdown-header-rule-face ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(markdown-hr-face ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(markdown-html-attr-name-face ((,class (:foreground ,cyan))))
+ `(markdown-html-attr-value-face ((,class (:foreground ,blue))))
+ `(markdown-html-entity-face ((,class (:foreground ,cyan))))
+ `(markdown-html-tag-delimiter-face ((,class (:foreground ,fg-special-mild))))
+ `(markdown-html-tag-name-face ((,class (:foreground ,magenta-alt))))
+ `(markdown-inline-code-face ((,class (:foreground ,magenta))))
+ `(markdown-italic-face ((,class (:slant italic))))
+ `(markdown-language-info-face ((,class (:foreground ,fg-special-cold))))
+ `(markdown-language-keyword-face ((,class (:foreground ,green-alt-other))))
+ `(markdown-line-break-face ((,class (:inherit modus-theme-refine-cyan :underline t))))
+ `(markdown-link-face ((,class (:inherit link))))
+ `(markdown-link-title-face ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(markdown-list-face ((,class (:foreground ,fg-dim))))
+ `(markdown-markup-face ((,class (:foreground ,fg-alt))))
+ `(markdown-math-face ((,class (:foreground ,magenta-alt-other))))
+ `(markdown-metadata-key-face ((,class (:foreground ,cyan-alt-other))))
+ `(markdown-metadata-value-face ((,class (:foreground ,blue-alt))))
+ `(markdown-missing-link-face ((,class (:foreground ,yellow :weight bold))))
+ `(markdown-plain-url-face ((,class (:inherit markdown-link-face))))
+ `(markdown-pre-face ((,class (:foreground ,fg-special-mild))))
+ `(markdown-reference-face ((,class (:inherit markdown-markup-face))))
+ `(markdown-strike-through-face ((,class (:strike-through t))))
+ `(markdown-table-face ((,class (:foreground ,fg-special-cold))))
+ `(markdown-url-face ((,class (:foreground ,blue))))
+ ;;;; markup-faces (`adoc-mode')
+ `(markup-anchor-face ((,class (:foreground ,fg-inactive))))
+ `(markup-attribute-face ((,class (:foreground ,fg-inactive :slant italic))))
+ `(markup-big-face ((,class (:height 1.3 :foreground ,blue-nuanced))))
+ `(markup-bold-face ((,class (:foreground ,red-nuanced :weight bold))))
+ `(markup-code-face ((,class (:inherit fixed-pitch :foreground ,magenta))))
+ `(markup-command-face ((,class (:foreground ,fg-inactive))))
+ `(markup-comment-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(markup-complex-replacement-face ((,class (:box (:line-width 2 :color nil :style released-button)
+ :inherit modus-theme-refine-magenta))))
+ `(markup-emphasis-face ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(markup-error-face ((,class (:foreground ,red :weight bold))))
+ `(markup-gen-face ((,class (:foreground ,magenta-alt))))
+ `(markup-internal-reference-face ((,class (:foreground ,fg-inactive :underline t))))
+ `(markup-italic-face ((,class (:foreground ,fg-special-cold :slant italic))))
+ `(markup-list-face ((,class (:inherit modus-theme-special-calm))))
+ `(markup-meta-face ((,class (:foreground ,fg-inactive))))
+ `(markup-meta-hide-face ((,class (:foreground ,fg-alt))))
+ `(markup-passthrough-face ((,class (:inherit fixed-pitch :foreground ,cyan))))
+ `(markup-preprocessor-face ((,class (:foreground ,magenta))))
+ `(markup-replacement-face ((,class (:foreground ,yellow-alt-other))))
+ `(markup-secondary-text-face ((,class (:height 0.8 :foreground ,magenta-nuanced))))
+ `(markup-small-face ((,class (:height 0.8 :foreground ,fg-main))))
+ `(markup-strong-face ((,class (:foreground ,red-nuanced :weight bold))))
+ `(markup-subscript-face ((,class (:height 0.8 :foreground ,fg-special-cold))))
+ `(markup-superscript-face ((,class (:height 0.8 :foreground ,fg-special-cold))))
+ `(markup-table-cell-face ((,class (:inherit modus-theme-special-cold))))
+ `(markup-table-face ((,class (:inherit modus-theme-subtle-cyan))))
+ `(markup-table-row-face ((,class (:inherit modus-theme-subtle-cyan))))
+ `(markup-title-0-face ((,class (:height 3.0 :foreground ,blue-nuanced))))
+ `(markup-title-1-face ((,class (:height 2.4 :foreground ,blue-nuanced))))
+ `(markup-title-2-face ((,class (:height 1.8 :foreground ,blue-nuanced))))
+ `(markup-title-3-face ((,class (:height 1.4 :foreground ,blue-nuanced))))
+ `(markup-title-4-face ((,class (:height 1.2 :foreground ,blue-nuanced))))
+ `(markup-title-5-face ((,class (:height 1.2 :foreground ,blue-nuanced :underline t))))
+ `(markup-value-face ((,class (:foreground ,fg-inactive))))
+ `(markup-verbatim-face ((,class (:inherit modus-theme-special-mild))))
+ ;;;; mentor
+ `(mentor-download-message ((,class (:foreground ,fg-special-warm))))
+ `(mentor-download-name ((,class (:foreground ,fg-special-cold))))
+ `(mentor-download-progress ((,class (:foreground ,blue-alt-other))))
+ `(mentor-download-size ((,class (:foreground ,magenta-alt-other))))
+ `(mentor-download-speed-down ((,class (:foreground ,cyan-alt))))
+ `(mentor-download-speed-up ((,class (:foreground ,red-alt))))
+ `(mentor-download-state ((,class (:foreground ,yellow-alt))))
+ `(mentor-highlight-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(mentor-tracker-name ((,class (:foreground ,magenta-alt))))
+ ;;;; messages
+ `(message-cited-text-1 ((,class (:foreground ,cyan))))
+ `(message-cited-text-2 ((,class (:foreground ,green))))
+ `(message-cited-text-3 ((,class (:foreground ,yellow))))
+ `(message-cited-text-4 ((,class (:foreground ,red))))
+ `(message-header-cc ((,class (:foreground ,blue-alt))))
+ `(message-header-name ((,class (:foreground ,cyan-alt))))
+ `(message-header-newsgroups ((,class (:foreground ,blue :weight bold))))
+ `(message-header-other ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(message-header-subject ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(message-header-to ((,class (:foreground ,magenta-alt :weight bold))))
+ `(message-header-xheader ((,class (:foreground ,blue-alt-other))))
+ `(message-mml ((,class (:foreground ,green-alt-other))))
+ `(message-separator ((,class (:background ,bg-alt :foreground ,fg-special-warm))))
+ ;;;; modeline
+ `(mode-line ((,class (:box ,(modus-operandi-theme-modeline-box bg-inactive fg-inactive t)
+ ,@(modus-operandi-theme-modeline-props
+ bg-active fg-dim
+ bg-active fg-active)))))
+ `(mode-line-buffer-id ((,class (:weight bold))))
+ `(mode-line-emphasis ((,class (:foreground ,blue-active :weight bold))))
+ `(mode-line-highlight ((,class (:inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))))
+ `(mode-line-inactive ((,class (:box ,(modus-operandi-theme-modeline-box bg-active bg-active)
+ ,@(modus-operandi-theme-modeline-props
+ bg-dim fg-inactive
+ bg-inactive fg-inactive)))))
+ ;;;; mood-line
+ `(mood-line-modified ((,class (:foreground ,magenta-active))))
+ `(mood-line-status-error ((,class (:foreground ,red-active :weight bold))))
+ `(mood-line-status-info ((,class (:foreground ,cyan-active))))
+ `(mood-line-status-neutral ((,class (:foreground ,blue-active))))
+ `(mood-line-status-success ((,class (:foreground ,green-active))))
+ `(mood-line-status-warning ((,class (:foreground ,yellow-active :weight bold))))
+ `(mood-line-unimportant ((,class (:foreground ,fg-inactive))))
+ ;;;; mu4e
+ `(mu4e-attach-number-face ((,class (:foreground ,cyan-alt :weight bold))))
+ `(mu4e-cited-1-face ((,class (:foreground ,blue-alt))))
+ `(mu4e-cited-2-face ((,class (:foreground ,red-alt))))
+ `(mu4e-cited-3-face ((,class (:foreground ,green-alt))))
+ `(mu4e-cited-4-face ((,class (:foreground ,magenta-alt))))
+ `(mu4e-cited-5-face ((,class (:foreground ,cyan-alt))))
+ `(mu4e-cited-6-face ((,class (:foreground ,blue-alt-other))))
+ `(mu4e-cited-7-face ((,class (:foreground ,red-alt-other))))
+ `(mu4e-compose-header-face ((,class (:foreground ,green-alt))))
+ `(mu4e-compose-separator-face ((,class (:background ,bg-active :foreground ,fg-main :box t))))
+ `(mu4e-contact-face ((,class (:foreground ,cyan))))
+ `(mu4e-context-face ((,class (:foreground ,blue-active))))
+ `(mu4e-draft-face ((,class (:foreground ,magenta-refine-fg))))
+ `(mu4e-flagged-face ((,class (:foreground ,red-alt-other))))
+ `(mu4e-footer-face ((,class (:foreground ,fg-alt))))
+ `(mu4e-forwarded-face ((,class (:foreground ,green-alt-other))))
+ `(mu4e-header-face ((,class (:foreground ,fg-main))))
+ `(mu4e-header-highlight-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :background ,bg-hl-line))))
+ `(mu4e-header-key-face ((,class (:foreground ,fg-dim :weight bold))))
+ `(mu4e-header-marks-face ((,class (:foreground ,magenta-alt :weight bold))))
+ `(mu4e-header-title-face ((,class (:foreground ,fg-special-warm))))
+ `(mu4e-header-value-face ((,class (:foreground ,magenta-alt-other))))
+ `(mu4e-highlight-face ((,class (:foreground ,blue-intense :weight bold))))
+ `(mu4e-link-face ((,class (:inherit link))))
+ `(mu4e-modeline-face ((,class (:foreground ,magenta-active))))
+ `(mu4e-moved-face ((,class (:foreground ,blue-refine-fg))))
+ `(mu4e-ok-face ((,class (:foreground ,green-intense :weight bold))))
+ `(mu4e-region-code ((,class (:inherit modus-theme-special-calm))))
+ `(mu4e-replied-face ((,class (:foreground ,cyan-refine-fg))))
+ `(mu4e-special-header-value-face ((,class (:foreground ,magenta :weight bold))))
+ `(mu4e-system-face ((,class (:foreground ,fg-alt))))
+ `(mu4e-title-face ((,class (:foreground ,fg-main))))
+ `(mu4e-unread-face ((,class (:foreground ,fg-main :weight bold))))
+ `(mu4e-url-number-face ((,class (:foreground ,blue-alt-other :weight bold))))
+ `(mu4e-view-body-face ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(mu4e-warning-face ((,class (:inherit warning))))
+ ;;;; mu4e-conversation
+ `(mu4e-conversation-header ((,class (:inherit modus-theme-special-cold))))
+ `(mu4e-conversation-sender-1 ((,class (:foreground ,fg-special-warm))))
+ `(mu4e-conversation-sender-2 ((,class (:foreground ,fg-special-cold))))
+ `(mu4e-conversation-sender-3 ((,class (:foreground ,fg-special-mild))))
+ `(mu4e-conversation-sender-4 ((,class (:foreground ,fg-alt))))
+ `(mu4e-conversation-sender-5 ((,class (:foreground ,yellow-refine-fg))))
+ `(mu4e-conversation-sender-6 ((,class (:foreground ,cyan-refine-fg))))
+ `(mu4e-conversation-sender-7 ((,class (:foreground ,green-refine-fg))))
+ `(mu4e-conversation-sender-8 ((,class (:foreground ,blue-refine-fg))))
+ `(mu4e-conversation-sender-me ((,class (:foreground ,fg-main))))
+ `(mu4e-conversation-unread ((,class (:weight bold))))
+ ;;;; multiple-cursors
+ `(mc/cursor-bar-face ((,class (:height 1 :background ,fg-main))))
+ `(mc/cursor-face ((,class (:inverse-video t))))
+ `(mc/region-face ((,class (:inherit region))))
+ ;;;; neotree
+ `(neo-banner-face ((,class (:foreground ,magenta))))
+ `(neo-button-face ((,class (:inherit button))))
+ `(neo-dir-link-face ((,class (:foreground ,blue :weight bold))))
+ `(neo-expand-btn-face ((,class (:foreground ,cyan))))
+ `(neo-file-link-face ((,class (:foreground ,fg-main))))
+ `(neo-header-face ((,class (:foreground ,fg-main :weight bold))))
+ `(neo-root-dir-face ((,class (:foreground ,cyan-alt :weight bold))))
+ `(neo-vc-added-face ((,class (:foreground ,green))))
+ `(neo-vc-conflict-face ((,class (:foreground ,red :Weight bold))))
+ `(neo-vc-default-face ((,class (:foreground ,fg-main))))
+ `(neo-vc-edited-face ((,class (:foreground ,yellow))))
+ `(neo-vc-ignored-face ((,class (:foreground ,fg-inactive))))
+ `(neo-vc-missing-face ((,class (:foreground ,red-alt))))
+ `(neo-vc-needs-merge-face ((,class (:foreground ,magenta-alt))))
+ `(neo-vc-needs-update-face ((,class (:underline t))))
+ `(neo-vc-removed-face ((,class (:strike-through t))))
+ `(neo-vc-unlocked-changes-face ((,class (:inherit modus-theme-refine-blue))))
+ `(neo-vc-up-to-date-face ((,class (:foreground ,fg-alt))))
+ `(neo-vc-user-face ((,class (:foreground ,magenta))))
+ ;;;; no-emoji
+ `(no-emoji ((,class (:foreground ,cyan))))
+ ;;;; num3-mode
+ `(num3-face-even ((,class (:background ,bg-alt :weight bold))))
+ ;;;; orderless
+ `(orderless-match-face-0 ((,class (:foreground ,blue-alt :weight bold))))
+ `(orderless-match-face-1 ((,class (:foreground ,magenta-alt :weight bold))))
+ `(orderless-match-face-2 ((,class (:foreground ,green-alt-other :weight bold))))
+ `(orderless-match-face-3 ((,class (:foreground ,yellow-alt-other :weight bold))))
+ ;;;; org
+ `(org-agenda-calendar-event ((,class (:foreground ,blue-alt))))
+ `(org-agenda-calendar-sexp ((,class (:foreground ,cyan-alt))))
+ `(org-agenda-clocking ((,class (:inherit modus-theme-special-cold))))
+ `(org-agenda-column-dateline ((,class (:inherit modus-theme-subtle-neutral))))
+ `(org-agenda-current-time ((,class (:inherit modus-theme-intense-cyan))))
+ `(org-agenda-date ((,class (:inherit ,modus-theme-variable-pitch :foreground ,fg-main
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(org-agenda-date-today ((,class (:inherit ,modus-theme-variable-pitch :background ,cyan-subtle-bg
+ :foreground ,fg-main :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(org-agenda-date-weekend ((,class (:inherit ,modus-theme-variable-pitch :foreground ,fg-alt
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(org-agenda-diary ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(org-agenda-dimmed-todo-face ((,class (:inherit modus-theme-subtle-neutral))))
+ `(org-agenda-done ((,class (,@(modus-operandi-theme-org-todo-block green-nuanced-bg green-nuanced green)))))
+ `(org-agenda-filter-category ((,class (:background ,bg-active :foreground ,fg-main :box t))))
+ `(org-agenda-filter-effort ((,class (:background ,bg-active :foreground ,fg-main :box t))))
+ `(org-agenda-filter-regexp ((,class (:background ,bg-active :foreground ,fg-main :box t))))
+ `(org-agenda-filter-tags ((,class (:background ,bg-active :foreground ,fg-main :box t))))
+ `(org-agenda-restriction-lock ((,class (:background ,bg-dim :foreground ,fg-dim))))
+ `(org-agenda-structure ((,class (:inherit ,modus-theme-variable-pitch
+ :foreground ,fg-special-mild
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
+ `(org-archived ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(org-block ((,class (,@(modus-operandi-theme-org-src-block bg-dim bg-main) :foreground ,fg-main))))
+ `(org-block-begin-line ((,class (,@(and (>= emacs-major-version 27)
+ modus-operandi-theme-distinct-org-blocks
+ '(:extend t))
+ :background ,bg-alt :foreground ,fg-special-mild))))
+ `(org-block-end-line ((,class (:inherit org-block-begin-line))))
+ `(org-checkbox ((,class (:weight bold))))
+ `(org-checkbox-statistics-done ((,class (:foreground ,green
+ ,@(modus-operandi-theme-heading-block
+ green-nuanced-bg green-nuanced)))))
+ `(org-checkbox-statistics-todo ((,class (:foreground ,yellow
+ ,@(modus-operandi-theme-heading-block
+ yellow-nuanced-bg yellow-nuanced)))))
+ `(org-clock-overlay ((,class (:inherit modus-theme-special-cold))))
+ `(org-code ((,class (:foreground ,magenta))))
+ `(org-column ((,class (:background ,bg-alt))))
+ `(org-column-title ((,class (:underline t :background ,bg-alt :weight bold))))
+ `(org-date ((,class (:foreground ,blue-nuanced))))
+ `(org-date-selected ((,class (:inherit modus-theme-intense-cyan :weight bold))))
+ `(org-default ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(org-document-info ((,class (:foreground ,fg-special-cold))))
+ `(org-document-title ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(org-done ((,class (,@(modus-operandi-theme-org-todo-block green-nuanced-bg green-nuanced green)))))
+ `(org-drawer ((,class (:foreground ,cyan-alt))))
+ `(org-ellipsis ((,class (:foreground nil)))) ; inherits from the heading's colour
+ `(org-footnote ((,class (:foreground ,blue-alt :underline t))))
+ `(org-formula ((,class (:foreground ,red-alt))))
+ `(org-habit-alert-face ((,class (:inherit modus-theme-intense-yellow))))
+ `(org-habit-alert-future-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(org-habit-clear-face ((,class (:inherit modus-theme-intense-magenta))))
+ `(org-habit-clear-future-face ((,class (:inherit modus-theme-refine-magenta))))
+ `(org-habit-overdue-face ((,class (:inherit modus-theme-intense-red))))
+ `(org-habit-overdue-future-face ((,class (:inherit modus-theme-refine-red))))
+ `(org-habit-ready-face ((,class (:inherit modus-theme-intense-blue))))
+ `(org-habit-ready-future-face ((,class (:inherit modus-theme-refine-blue))))
+ `(org-headline-done ((,class (:foreground ,green-nuanced
+ ,@(modus-operandi-theme-heading-block
+ green-nuanced-bg green-nuanced)))))
+ `(org-hide ((,class (:foreground ,fg-main))))
+ `(org-latex-and-related ((,class (:foreground ,magenta-refine-fg))))
+ `(org-level-1 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-main magenta-alt-other)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)
+ ,@(modus-operandi-theme-heading-block magenta-nuanced-bg magenta-nuanced)))))
+ `(org-level-2 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-warm magenta-alt)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)
+ ,@(modus-operandi-theme-heading-block red-nuanced-bg red-nuanced)))))
+ `(org-level-3 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-cold blue)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)
+ ,@(modus-operandi-theme-heading-block blue-nuanced-bg blue-nuanced)))))
+ `(org-level-4 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-mild cyan-alt-other)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)
+ ,@(modus-operandi-theme-heading-block cyan-nuanced-bg cyan-nuanced)))))
+ `(org-level-5 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-calm green-alt)
+ ,@(modus-operandi-theme-heading-block green-nuanced-bg green-nuanced)))))
+ `(org-level-6 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground yellow-nuanced yellow-alt-other)
+ ,@(modus-operandi-theme-heading-block yellow-nuanced-bg yellow-nuanced)))))
+ `(org-level-7 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground red-nuanced red-alt)
+ ,@(modus-operandi-theme-heading-block red-nuanced-bg red-nuanced)))))
+ `(org-level-8 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-dim magenta)
+ ,@(modus-operandi-theme-heading-block bg-alt fg-alt)))))
+ `(org-link ((,class (:inherit link))))
+ `(org-list-dt ((,class (:weight bold))))
+ `(org-macro ((,class (:inherit org-latex-and-related))))
+ `(org-meta-line ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(org-mode-line-clock ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(org-mode-line-clock-overrun ((,class (:inherit modus-theme-active-red))))
+ `(org-priority ((,class (,@(modus-operandi-theme-org-todo-block blue-nuanced-bg blue-nuanced magenta)
+ ,@(modus-operandi-theme-heading-foreground magenta blue-alt)))))
+ `(org-quote ((,class (,@(modus-operandi-theme-org-src-block bg-dim bg-main)
+ :foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(org-scheduled ((,class (:foreground ,fg-special-cold))))
+ `(org-scheduled-previously ((,class (:foreground ,fg-special-warm))))
+ `(org-scheduled-today ((,class (:foreground ,yellow-alt-other))))
+ `(org-sexp-date ((,class (:inherit org-date))))
+ `(org-special-keyword ((,class (,@(modus-operandi-theme-org-todo-block cyan-nuanced-bg cyan-nuanced cyan-alt)))))
+ `(org-table ((,class (:foreground ,fg-special-cold))))
+ `(org-tag ((,class (:foreground ,magenta-nuanced :weight normal))))
+ `(org-tag-group ((,class (:foreground ,cyan-nuanced :weight bold))))
+ `(org-target ((,class (:underline t))))
+ `(org-time-grid ((,class (:foreground ,cyan-nuanced))))
+ `(org-todo ((,class (,@(modus-operandi-theme-org-todo-block magenta-nuanced-bg magenta-nuanced magenta-alt-other)
+ ,@(modus-operandi-theme-heading-foreground magenta-alt-other red-alt-other)))))
+ `(org-upcoming-deadline ((,class (:foreground ,red-alt-other))))
+ `(org-upcoming-distant-deadline ((,class (:foreground ,red-nuanced))))
+ `(org-verbatim ((,class (:background ,bg-alt :foreground ,fg-special-calm))))
+ `(org-verse ((,class (:inherit org-quote))))
+ `(org-warning ((,class (:foreground ,blue-intense))))
+ ;;;; org-journal
+ `(org-journal-calendar-entry-face ((,class (:foreground ,yellow-alt-other :slant ,modus-theme-slant))))
+ `(org-journal-calendar-scheduled-face ((,class (:foreground ,red-alt-other :slant ,modus-theme-slant))))
+ `(org-journal-highlight ((,class (:foreground ,magenta-alt))))
+ ;;;; org-noter
+ `(org-noter-no-notes-exist-face ((,class (:foreground ,red-active :weight bold))))
+ `(org-noter-notes-exist-face ((,class (:foreground ,green-active :weight bold))))
+ ;;;; org-pomodoro
+ `(org-pomodoro-mode-line ((,class (:foreground ,red-active))))
+ `(org-pomodoro-mode-line-break ((,class (:foreground ,cyan-active))))
+ `(org-pomodoro-mode-line-overtime ((,class (:foreground ,red-active :weight bold))))
+ ;;;; org-recur
+ `(org-recur ((,class (:foreground ,magenta-active))))
+ ;;;; org-roam
+ `(org-roam-link ((,class (:foreground ,blue-alt-other :underline t))))
+ `(org-roam-backlink ((,class (:foreground ,green-alt-other :underline t))))
+ ;;;; org-superstar
+ `(org-superstar-item ((,class (:foreground ,fg-main))))
+ `(org-superstar-leading ((,class (:foreground ,fg-whitespace))))
+ ;;;; org-treescope
+ `(org-treescope-faces--markerinternal-midday ((,class (:inherit modus-theme-intense-blue))))
+ `(org-treescope-faces--markerinternal-range ((,class (:inherit modus-theme-special-mild))))
+ ;;;; origami
+ `(origami-fold-header-face ((,class (:background ,bg-dim :foreground ,fg-dim :box t))))
+ `(origami-fold-replacement-face ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ ;;;; outline-mode
+ `(outline-1 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-main magenta-alt-other)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)
+ ,@(modus-operandi-theme-heading-block magenta-nuanced-bg magenta-nuanced)))))
+ `(outline-2 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-warm magenta-alt)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)
+ ,@(modus-operandi-theme-heading-block red-nuanced-bg red-nuanced)))))
+ `(outline-3 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-cold blue)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)
+ ,@(modus-operandi-theme-heading-block blue-nuanced-bg blue-nuanced)))))
+ `(outline-4 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-mild cyan-alt-other)
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)
+ ,@(modus-operandi-theme-heading-block cyan-nuanced-bg cyan-nuanced)))))
+ `(outline-5 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-special-calm green-alt)
+ ,@(modus-operandi-theme-heading-block green-nuanced-bg green-nuanced)))))
+ `(outline-6 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground yellow-nuanced yellow-alt-other)
+ ,@(modus-operandi-theme-heading-block yellow-nuanced-bg yellow-nuanced)))))
+ `(outline-7 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground red-nuanced red-alt)
+ ,@(modus-operandi-theme-heading-block red-nuanced-bg red-nuanced)))))
+ `(outline-8 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground fg-dim magenta)
+ ,@(modus-operandi-theme-heading-block bg-alt fg-alt)))))
+ ;;;; outline-minor-faces
+ `(outline-minor-0 ((,class (:background ,bg-alt))))
+ ;;;; package (M-x list-packages)
+ `(package-description ((,class (:foreground ,fg-special-cold))))
+ `(package-help-section-name ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(package-name ((,class (:inherit link))))
+ `(package-status-avail-obso ((,class (:foreground ,red :weight bold))))
+ `(package-status-available ((,class (:foreground ,fg-special-mild))))
+ `(package-status-built-in ((,class (:foreground ,magenta))))
+ `(package-status-dependency ((,class (:foreground ,magenta-alt-other))))
+ `(package-status-disabled ((,class (:inherit modus-theme-subtle-red))))
+ `(package-status-external ((,class (:foreground ,cyan-alt-other))))
+ `(package-status-held ((,class (:foreground ,yellow-alt))))
+ `(package-status-incompat ((,class (:foreground ,yellow :weight bold))))
+ `(package-status-installed ((,class (:foreground ,fg-special-warm))))
+ `(package-status-new ((,class (:foreground ,green :weight bold))))
+ `(package-status-unsigned ((,class (:foreground ,red-alt :weight bold))))
+ ;;;; page-break-lines
+ `(page-break-lines ((,class (:inherit default :foreground ,fg-window-divider-outer))))
+ ;;;; paradox
+ `(paradox-archive-face ((,class (:foreground ,fg-special-mild))))
+ `(paradox-comment-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(paradox-commit-tag-face ((,class (:inherit modus-theme-refine-magenta :box t))))
+ `(paradox-description-face ((,class (:foreground ,fg-special-cold))))
+ `(paradox-description-face-multiline ((,class (:foreground ,fg-special-cold))))
+ `(paradox-download-face ((,class (:foreground ,blue-alt-other :weight ,modus-theme-bold))))
+ `(paradox-highlight-face ((,class (:foreground ,cyan-alt-other :weight ,modus-theme-bold))))
+ `(paradox-homepage-button-face ((,class (:foreground ,magenta-alt-other :underline t))))
+ `(paradox-mode-line-face ((,class (:foreground ,cyan-active :weight bold))))
+ `(paradox-name-face ((,class (:foreground ,blue :underline t))))
+ `(paradox-star-face ((,class (:foreground ,magenta))))
+ `(paradox-starred-face ((,class (:foreground ,magenta-alt))))
+ ;;;; paren-face
+ `(parenthesis ((,class (:foreground ,fg-alt))))
+ ;;;; parrot
+ `(parrot-rotate-rotation-highlight-face ((,class (:inherit modus-theme-refine-magenta))))
+ ;;;; pass
+ `(pass-mode-directory-face ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(pass-mode-entry-face ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(pass-mode-header-face ((,class (:foreground ,fg-special-warm))))
+ ;;;; persp-mode
+ `(persp-face-lighter-buffer-not-in-persp ((,class (:inherit modus-theme-intense-red))))
+ `(persp-face-lighter-default ((,class (:foreground ,blue-active :weight bold))))
+ `(persp-face-lighter-nil-persp ((,class (:foreground ,fg-active :weight bold))))
+ ;;;; perspective
+ `(persp-selected-face ((,class (:foreground ,blue-active :weight bold))))
+ ;;;; phi-grep
+ `(phi-grep-heading-face ((,class (:foreground ,red-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(phi-grep-line-number-face ((,class (:foreground ,fg-special-warm))))
+ `(phi-grep-match-face ((,class (:inherit modus-theme-special-calm))))
+ `(phi-grep-modified-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(phi-grep-overlay-face ((,class (:inherit modus-theme-refine-blue))))
+ ;;;; phi-search
+ `(phi-replace-preview-face ((,class (:inherit modus-theme-intense-magenta))))
+ `(phi-search-failpart-face ((,class (:inherit modus-theme-refine-red))))
+ `(phi-search-match-face ((,class (:inherit modus-theme-refine-cyan))))
+ `(phi-search-selection-face ((,class (:inherit modus-theme-intense-green :weight bold))))
+ ;;;; pomidor
+ `(pomidor-break-face ((,class (:foreground ,blue-alt-other))))
+ `(pomidor-overwork-face ((,class (:foreground ,red-alt-other))))
+ `(pomidor-skip-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(pomidor-work-face ((,class (:foreground ,green-alt-other))))
+ ;;;; powerline
+ `(powerline-active0 ((,class (:background ,fg-inactive :foreground ,bg-inactive))))
+ `(powerline-active1 ((,class (:background ,bg-active :foreground ,fg-active))))
+ `(powerline-active2 ((,class (:background ,bg-alt :foreground ,fg-active))))
+ `(powerline-inactive0 ((,class (:background ,bg-active :foreground ,fg-inactive))))
+ `(powerline-inactive1 ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ `(powerline-inactive2 ((,class (:background ,bg-main :foreground ,fg-alt))))
+ ;;;; powerline-evil
+ `(powerline-evil-base-face ((,class (:background ,fg-main :foreground ,bg-main))))
+ `(powerline-evil-emacs-face ((,class (:inherit modus-theme-active-magenta))))
+ `(powerline-evil-insert-face ((,class (:inherit modus-theme-active-green))))
+ `(powerline-evil-motion-face ((,class (:inherit modus-theme-active-blue))))
+ `(powerline-evil-normal-face ((,class (:background ,fg-alt :foreground ,bg-main))))
+ `(powerline-evil-operator-face ((,class (:inherit modus-theme-active-yellow))))
+ `(powerline-evil-replace-face ((,class (:inherit modus-theme-active-red))))
+ `(powerline-evil-visual-face ((,class (:inherit modus-theme-active-cyan))))
+ ;;;; proced
+ `(proced-mark ((,class (:foreground ,blue-alt :weight bold))))
+ `(proced-marked ((,class (:background ,bg-mark-other :foreground ,fg-mark-other :weight bold))))
+ `(proced-sort-header ((,class (:foreground ,fg-special-calm :weight bold :underline t))))
+ ;;;; prodigy
+ `(prodigy-green-face ((,class (:foreground ,green))))
+ `(prodigy-red-face ((,class (:foreground ,red))))
+ `(prodigy-yellow-face ((,class (:foreground ,yellow))))
+ ;;;; rainbow-blocks
+ `(rainbow-blocks-depth-1-face ((,class (:foreground ,magenta-alt-other))))
+ `(rainbow-blocks-depth-2-face ((,class (:foreground ,blue))))
+ `(rainbow-blocks-depth-3-face ((,class (:foreground ,magenta-alt))))
+ `(rainbow-blocks-depth-4-face ((,class (:foreground ,green))))
+ `(rainbow-blocks-depth-5-face ((,class (:foreground ,magenta))))
+ `(rainbow-blocks-depth-6-face ((,class (:foreground ,cyan))))
+ `(rainbow-blocks-depth-7-face ((,class (:foreground ,yellow))))
+ `(rainbow-blocks-depth-8-face ((,class (:foreground ,cyan-alt))))
+ `(rainbow-blocks-depth-9-face ((,class (:foreground ,red-alt))))
+ `(rainbow-blocks-unmatched-face ((,class (:foreground ,red))))
+ ;;;; rainbow-identifiers
+ `(rainbow-identifiers-identifier-1 ((,class (:foreground ,green-alt-other))))
+ `(rainbow-identifiers-identifier-2 ((,class (:foreground ,magenta-alt-other))))
+ `(rainbow-identifiers-identifier-3 ((,class (:foreground ,cyan-alt-other))))
+ `(rainbow-identifiers-identifier-4 ((,class (:foreground ,yellow-alt-other))))
+ `(rainbow-identifiers-identifier-5 ((,class (:foreground ,blue-alt-other))))
+ `(rainbow-identifiers-identifier-6 ((,class (:foreground ,green-alt))))
+ `(rainbow-identifiers-identifier-7 ((,class (:foreground ,magenta-alt))))
+ `(rainbow-identifiers-identifier-8 ((,class (:foreground ,cyan-alt))))
+ `(rainbow-identifiers-identifier-9 ((,class (:foreground ,yellow-alt))))
+ `(rainbow-identifiers-identifier-10 ((,class (:foreground ,green))))
+ `(rainbow-identifiers-identifier-11 ((,class (:foreground ,magenta))))
+ `(rainbow-identifiers-identifier-12 ((,class (:foreground ,cyan))))
+ `(rainbow-identifiers-identifier-13 ((,class (:foreground ,yellow))))
+ `(rainbow-identifiers-identifier-14 ((,class (:foreground ,blue-alt))))
+ `(rainbow-identifiers-identifier-15 ((,class (:foreground ,red-alt))))
+ ;;;; rainbow-delimiters
+ `(rainbow-delimiters-base-face-error ((,class (:foreground ,red))))
+ `(rainbow-delimiters-base-face ((,class (:foreground ,fg-main))))
+ `(rainbow-delimiters-depth-1-face ((,class (:foreground ,green-alt-other))))
+ `(rainbow-delimiters-depth-2-face ((,class (:foreground ,magenta-alt-other))))
+ `(rainbow-delimiters-depth-3-face ((,class (:foreground ,cyan-alt-other))))
+ `(rainbow-delimiters-depth-4-face ((,class (:foreground ,yellow-alt-other))))
+ `(rainbow-delimiters-depth-5-face ((,class (:foreground ,blue-alt-other))))
+ `(rainbow-delimiters-depth-6-face ((,class (:foreground ,green-alt))))
+ `(rainbow-delimiters-depth-7-face ((,class (:foreground ,magenta-alt))))
+ `(rainbow-delimiters-depth-8-face ((,class (:foreground ,cyan-alt))))
+ `(rainbow-delimiters-depth-9-face ((,class (:foreground ,yellow-alt))))
+ `(rainbow-delimiters-mismatched-face ((,class (:foreground ,red-alt :weight bold))))
+ `(rainbow-delimiters-unmatched-face ((,class (:foreground ,red :weight bold))))
+ ;;;; rcirc
+ `(rcirc-bright-nick ((,class (:foreground ,magenta-alt :weight bold))))
+ `(rcirc-dim-nick ((,class (:foreground ,fg-alt))))
+ `(rcirc-my-nick ((,class (:foreground ,magenta :weight bold))))
+ `(rcirc-nick-in-message ((,class (:foreground ,blue))))
+ `(rcirc-nick-in-message-full-line ((,class (:foreground ,fg-special-mild :weight bold))))
+ `(rcirc-other-nick ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(rcirc-prompt ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(rcirc-server ((,class (:foreground ,fg-special-warm))))
+ `(rcirc-timestamp ((,class (:foreground ,fg-inactive))))
+ `(rcirc-url ((,class (:foreground ,blue :underline t))))
+ ;;;; regexp-builder (re-builder)
+ `(reb-match-0 ((,class (:inherit modus-theme-intense-blue))))
+ `(reb-match-1 ((,class (:inherit modus-theme-intense-magenta))))
+ `(reb-match-2 ((,class (:inherit modus-theme-intense-green))))
+ `(reb-match-3 ((,class (:inherit modus-theme-intense-red))))
+ `(reb-regexp-grouping-backslash ((,class (:foreground ,fg-escape-char-backslash :weight bold))))
+ `(reb-regexp-grouping-construct ((,class (:foreground ,fg-escape-char-construct :weight bold))))
+ ;;;; rg (rg.el)
+ `(rg-column-number-face ((,class (:foreground ,magenta-alt-other))))
+ `(rg-context-face ((,class (:foreground ,fg-unfocused))))
+ `(rg-error-face ((,class (:foreground ,red :weight bold))))
+ `(rg-file-tag-face ((,class (:foreground ,fg-special-cold))))
+ `(rg-filename-face ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(rg-line-number-face ((,class (:foreground ,fg-special-warm))))
+ `(rg-literal-face ((,class (:foreground ,blue-alt))))
+ `(rg-match-face ((,class (:inherit modus-theme-special-calm))))
+ `(rg-regexp-face ((,class (:foreground ,magenta-active))))
+ `(rg-toggle-off-face ((,class (:foreground ,fg-inactive :weight bold))))
+ `(rg-toggle-on-face ((,class (:foreground ,cyan-active :weight bold))))
+ `(rg-warning-face ((,class (:foreground ,yellow :weight bold))))
+ ;;;; ripgrep
+ `(ripgrep-context-face ((,class (:foreground ,fg-unfocused))))
+ `(ripgrep-error-face ((,class (:foreground ,red :weight bold))))
+ `(ripgrep-hit-face ((,class (:foreground ,cyan))))
+ `(ripgrep-match-face ((,class (:inherit modus-theme-special-calm))))
+ ;;;; rmail
+ `(rmail-header-name ((,class (:foreground ,cyan-alt-other))))
+ `(rmail-highlight ((,class (:foreground ,magenta-alt :weight bold))))
+ ;;;; ruler-mode
+ `(ruler-mode-column-number ((,class (:inherit ruler-mode-default :foreground ,fg-main :weight bold))))
+ `(ruler-mode-comment-column ((,class (:inherit ruler-mode-default :foreground ,red-active))))
+ `(ruler-mode-current-column ((,class (:inherit ruler-mode-default :foreground ,cyan-active :box t))))
+ `(ruler-mode-default ((,class (:background ,bg-inactive :foreground ,fg-inactive))))
+ `(ruler-mode-fill-column ((,class (:inherit ruler-mode-default :foreground ,green-active))))
+ `(ruler-mode-fringes ((,class (:inherit ruler-mode-default :foreground ,blue-active))))
+ `(ruler-mode-goal-column ((,class (:inherit ruler-mode-default :foreground ,magenta-active))))
+ `(ruler-mode-margins ((,class (:inherit ruler-mode-default :foreground ,bg-main))))
+ `(ruler-mode-pad ((,class (:background ,bg-active :foreground ,fg-inactive))))
+ `(ruler-mode-tab-stop ((,class (:inherit ruler-mode-default :foreground ,yellow-active))))
+ ;;;; sallet
+ `(sallet-buffer-compressed ((,class (:foreground ,yellow-nuanced :slant italic))))
+ `(sallet-buffer-default-directory ((,class (:foreground ,cyan-nuanced))))
+ `(sallet-buffer-directory ((,class (:foreground ,blue-nuanced))))
+ `(sallet-buffer-help ((,class (:foreground ,fg-special-cold))))
+ `(sallet-buffer-modified ((,class (:foreground ,yellow-alt-other :slant italic))))
+ `(sallet-buffer-ordinary ((,class (:foreground ,fg-main))))
+ `(sallet-buffer-read-only ((,class (:foreground ,yellow-alt))))
+ `(sallet-buffer-size ((,class (:foreground ,fg-special-calm))))
+ `(sallet-buffer-special ((,class (:foreground ,magenta-alt-other))))
+ `(sallet-flx-match ((,class (:inherit modus-theme-refine-cyan))))
+ `(sallet-recentf-buffer-name ((,class (:foreground ,blue-nuanced))))
+ `(sallet-recentf-file-path ((,class (:foreground ,fg-special-mild))))
+ `(sallet-regexp-match ((,class (:inherit modus-theme-refine-magenta))))
+ `(sallet-source-header ((,class (:foreground ,red-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(sallet-substring-match ((,class (:inherit modus-theme-refine-blue))))
+ ;;;; selectrum
+ `(selectrum-current-candidate ((,class (:inherit modus-theme-intense-cyan))))
+ `(selectrum-primary-highlight ((,class (:foreground ,magenta-alt :weight bold))))
+ `(selectrum-secondary-highlight ((,class (:foreground ,blue-alt-other :weight bold))))
+ ;;;; sesman
+ `(sesman-browser-button-face ((,class (:foreground ,blue-alt-other :underline t))))
+ `(sesman-browser-highligh-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(sesman-buffer-face ((,class (:foreground ,magenta))))
+ `(sesman-directory-face ((,class (:foreground ,blue :weight bold))))
+ `(sesman-project-face ((,class (:foreground ,magenta-alt-other :weight bold))))
+ ;;;; shell-script-mode
+ `(sh-heredoc ((,class (:foreground ,blue-alt))))
+ `(sh-quoted-exec ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ ;;;; show-paren-mode
+ `(show-paren-match ((,class (:background ,bg-paren-match :foreground ,fg-main))))
+ `(show-paren-match-expression ((,class (:inherit modus-theme-special-calm))))
+ `(show-paren-mismatch ((,class (:inherit modus-theme-intense-red))))
+ ;;;; side-notes
+ `(side-notes ((,class (:background ,bg-dim :foreground ,fg-dim))))
+ ;;;; skewer-mode
+ `(skewer-error-face ((,class (:foreground ,red :underline t))))
+ ;;;; smart-mode-line
+ `(sml/charging ((,class (:foreground ,green-active))))
+ `(sml/discharging ((,class (:foreground ,red-active))))
+ `(sml/filename ((,class (:foreground ,blue-active :weight bold))))
+ `(sml/folder ((,class (:foreground ,fg-active))))
+ `(sml/git ((,class (:foreground ,green-active :weight bold))))
+ `(sml/global ((,class (:foreground ,fg-active))))
+ `(sml/line-number ((,class (:inherit sml/global))))
+ `(sml/minor-modes ((,class (:inherit sml/global))))
+ `(sml/modes ((,class (:foreground ,fg-active :weight bold))))
+ `(sml/modified ((,class (:foreground ,magenta-active :weight bold))))
+ `(sml/mule-info ((,class (:inherit sml/global))))
+ `(sml/name-filling ((,class (:foreground ,yellow-active))))
+ `(sml/not-modified ((,class (:inherit sml/global))))
+ `(sml/numbers-separator ((,class (:inherit sml/global))))
+ `(sml/outside-modified ((,class (:inherit modus-theme-intense-red))))
+ `(sml/position-percentage ((,class (:inherit sml/global))))
+ `(sml/prefix ((,class (:foreground ,green-active))))
+ `(sml/process ((,class (:inherit sml/prefix))))
+ `(sml/projectile ((,class (:inherit sml/git))))
+ `(sml/read-only ((,class (:foreground ,cyan-active :weight bold))))
+ `(sml/remote ((,class (:inherit sml/global))))
+ `(sml/sudo ((,class (:inherit modus-theme-subtle-red))))
+ `(sml/time ((,class (:inherit sml/global))))
+ `(sml/vc ((,class (:inherit sml/git))))
+ `(sml/vc-edited ((,class (:foreground ,yellow-active :weight bold))))
+ ;;;; smartparens
+ `(sp-pair-overlay-face ((,class (:inherit modus-theme-special-warm))))
+ `(sp-show-pair-enclosing ((,class (:inherit modus-theme-special-mild))))
+ `(sp-show-pair-match-face ((,class (:background ,bg-paren-match :foreground ,fg-main))))
+ `(sp-show-pair-mismatch-face ((,class (:inherit modus-theme-intense-red))))
+ `(sp-wrap-overlay-closing-pair ((,class (:inherit sp-pair-overlay-face))))
+ `(sp-wrap-overlay-face ((,class (:inherit sp-pair-overlay-face))))
+ `(sp-wrap-overlay-opening-pair ((,class (:inherit sp-pair-overlay-face))))
+ `(sp-wrap-tag-overlay-face ((,class (:inherit sp-pair-overlay-face))))
+ ;;;; smerge
+ `(smerge-base ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-focus-changed fg-diff-focus-changed))))
+ `(smerge-lower ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-focus-added fg-diff-focus-added))))
+ `(smerge-markers ((,class (:background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))))
+ `(smerge-refined-added ((,class ,(modus-operandi-theme-diffs
+ bg-diff-added fg-diff-added
+ bg-diff-refine-added fg-diff-refine-added))))
+ `(smerge-refined-changed ((,class nil)))
+ `(smerge-refined-removed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-removed fg-diff-removed
+ bg-diff-refine-removed fg-diff-refine-removed))))
+ `(smerge-upper ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-focus-removed fg-diff-focus-removed))))
+ ;;;; speedbar
+ `(speedbar-button-face ((,class (:inherit link))))
+ `(speedbar-directory-face ((,class (:foreground ,blue :weight bold))))
+ `(speedbar-file-face ((,class (:foreground ,fg-main))))
+ `(speedbar-highlight-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(speedbar-selected-face ((,class (:foreground ,cyan :weight bold))))
+ `(speedbar-separator-face ((,class (:inherit modus-theme-intense-neutral))))
+ `(speedbar-tag-face ((,class (:foreground ,yellow-alt-other))))
+ ;;;; spell-fu
+ `(spell-fu-incorrect-face
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,fg-lang-error :underline (:style wave)))
+ (,class (:foreground ,fg-lang-error :underline t))))
+ ;;;; stripes
+ `(stripes ((,class (:background ,bg-alt))))
+ ;;;; success
+ `(suggest-heading ((,class (:foreground ,yellow-alt-other :weight bold))))
+ ;;;; switch-window
+ `(switch-window-background ((,class (:background ,bg-dim))))
+ `(switch-window-label ((,class (:height 3.0 :foreground ,blue-intense))))
+ ;;;; swiper
+ `(swiper-background-match-face-1 ((,class (:inherit modus-theme-subtle-neutral))))
+ `(swiper-background-match-face-2 ((,class (:inherit modus-theme-subtle-cyan))))
+ `(swiper-background-match-face-3 ((,class (:inherit modus-theme-subtle-magenta))))
+ `(swiper-background-match-face-4 ((,class (:inherit modus-theme-subtle-green))))
+ `(swiper-line-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :inherit modus-theme-special-cold))))
+ `(swiper-match-face-1 ((,class (:inherit swiper-line-face))))
+ `(swiper-match-face-2 ((,class (:inherit swiper-line-face))))
+ `(swiper-match-face-3 ((,class (:inherit swiper-line-face))))
+ `(swiper-match-face-4 ((,class (:inherit swiper-line-face))))
+ ;;;; swoop
+ `(swoop-face-header-format-line ((,class (:foreground ,red-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
+ `(swoop-face-line-buffer-name ((,class (:foreground ,blue-alt :weight bold
+ ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(swoop-face-line-number ((,class (:foreground ,fg-special-warm))))
+ `(swoop-face-target-line ((,class (:inherit modus-theme-intense-blue
+ ,@(and (>= emacs-major-version 27) '(:extend t))))))
+ `(swoop-face-target-words ((,class (:inherit modus-theme-refine-cyan))))
+ ;;;; sx
+ `(sx-inbox-item-type ((,class (:foreground ,magenta-alt-other))))
+ `(sx-inbox-item-type-unread ((,class (:inherit sx-inbox-item-type :weight bold))))
+ `(sx-question-list-answers ((,class (:foreground ,green))))
+ `(sx-question-list-answers-accepted ((,class (:box t :foreground ,green))))
+ `(sx-question-list-bounty ((,class (:background ,bg-alt :foreground ,yellow :weight bold))))
+ `(sx-question-list-date ((,class (:foreground ,fg-special-cold))))
+ `(sx-question-list-favorite ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(sx-question-list-parent ((,class (:foreground ,fg-main))))
+ `(sx-question-list-read-question ((,class (:foreground ,fg-alt))))
+ `(sx-question-list-score ((,class (:foreground ,fg-special-mild))))
+ `(sx-question-list-score-upvoted ((,class (:inherit sx-question-list-score :weight bold))))
+ `(sx-question-list-unread-question ((,class (:foreground ,fg-main :weight bold))))
+ `(sx-question-mode-accepted ((,class (:height 1.3 :foreground ,green :weight bold))))
+ `(sx-question-mode-closed ((,class (:box (:line-width 2 :color nil) :inherit modus-theme-active-yellow))))
+ `(sx-question-mode-closed-reason ((,class (:box (:line-width 2 :color nil) :foreground ,fg-main))))
+ `(sx-question-mode-content-face ((,class (:background ,bg-dim))))
+ `(sx-question-mode-date ((,class (:foreground ,blue))))
+ `(sx-question-mode-header ((,class (:foreground ,cyan :weight bold))))
+ `(sx-question-mode-kbd-tag ((,class (:height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main :weight bold))))
+ `(sx-question-mode-score ((,class (:foreground ,fg-dim))))
+ `(sx-question-mode-score-downvoted ((,class (:foreground ,yellow))))
+ `(sx-question-mode-score-upvoted ((,class (:foreground ,magenta :weight bold))))
+ `(sx-question-mode-title ((,class (:foreground ,fg-main :weight bold))))
+ `(sx-question-mode-title-comments ((,class (:foreground ,fg-alt :weight bold))))
+ `(sx-tag ((,class (:foreground ,magenta-alt))))
+ `(sx-user-name ((,class (:foreground ,blue-alt))))
+ `(sx-user-reputation ((,class (:foreground ,fg-alt))))
+ ;;;; symbol-overlay
+ `(symbol-overlay-default-face ((,class (:inherit modus-theme-refine-blue))))
+ `(symbol-overlay-face-1 ((,class (:inherit modus-theme-intense-blue))))
+ `(symbol-overlay-face-2 ((,class (:inherit modus-theme-refine-magenta))))
+ `(symbol-overlay-face-3 ((,class (:inherit modus-theme-intense-yellow))))
+ `(symbol-overlay-face-4 ((,class (:inherit modus-theme-intense-magenta))))
+ `(symbol-overlay-face-5 ((,class (:inherit modus-theme-intense-red))))
+ `(symbol-overlay-face-6 ((,class (:inherit modus-theme-refine-red))))
+ `(symbol-overlay-face-7 ((,class (:inherit modus-theme-intense-cyan))))
+ `(symbol-overlay-face-8 ((,class (:inherit modus-theme-refine-cyan))))
+ ;;;; syslog-mode
+ `(syslog-debug ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(syslog-error ((,class (:foreground ,red :weight bold))))
+ `(syslog-file ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(syslog-hide ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(syslog-hour ((,class (:foreground ,magenta-alt-other :weight bold))))
+ `(syslog-info ((,class (:foreground ,blue-alt-other :weight bold))))
+ `(syslog-ip ((,class (:foreground ,fg-special-mild :weight bold :underline t))))
+ `(syslog-su ((,class (:foreground ,red-alt :weight bold))))
+ `(syslog-warn ((,class (:foreground ,yellow :weight bold))))
+ ;;;; trashed
+ `(trashed-deleted ((,class (:background ,bg-mark-del :foreground ,fg-mark-del :weight bold))))
+ `(trashed-directory ((,class (:foreground ,blue))))
+ `(trashed-mark ((,class (:foreground ,blue-alt :weight bold))))
+ `(trashed-marked ((,class (:background ,bg-mark-other :foreground ,fg-mark-other :weight bold))))
+ `(trashed-restored ((,class (:background ,bg-mark :foreground ,fg-mark :weight bold))))
+ `(trashed-symlink ((,class (:foreground ,blue-alt :underline t))))
+ ;;;; telephone-line
+ `(telephone-line-accent-active ((,class (:background ,fg-inactive :foreground ,bg-inactive))))
+ `(telephone-line-accent-inactive ((,class (:background ,bg-active :foreground ,fg-active))))
+ `(telephone-line-error ((,class (:foreground ,red-active :weight bold))))
+ `(telephone-line-evil ((,class (:foreground ,fg-main))))
+ `(telephone-line-evil-emacs ((,class (:inherit telephone-line-evil :background ,magenta-intense-bg))))
+ `(telephone-line-evil-insert ((,class (:inherit telephone-line-evil :background ,green-intense-bg))))
+ `(telephone-line-evil-motion ((,class (:inherit telephone-line-evil :background ,yellow-intense-bg))))
+ `(telephone-line-evil-normal ((,class (:inherit telephone-line-evil :background ,bg-alt))))
+ `(telephone-line-evil-operator ((,class (:inherit telephone-line-evil :background ,yellow-subtle-bg))))
+ `(telephone-line-evil-replace ((,class (:inherit telephone-line-evil :background ,red-intense-bg))))
+ `(telephone-line-evil-visual ((,class (:inherit telephone-line-evil :background ,cyan-intense-bg))))
+ `(telephone-line-projectile ((,class (:foreground ,cyan-active))))
+ `(telephone-line-unimportant ((,class (:foreground ,fg-inactive))))
+ `(telephone-line-warning ((,class (:foreground ,yellow-active :weight bold))))
+ ;;;; term
+ `(term ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(term-bold ((,class (:weight bold))))
+ `(term-color-blue ((,class (:background ,blue :foreground ,blue))))
+ `(term-color-cyan ((,class (:background ,cyan :foreground ,cyan))))
+ `(term-color-green ((,class (:background ,green :foreground ,green))))
+ `(term-color-magenta ((,class (:background ,magenta :foreground ,magenta))))
+ `(term-color-red ((,class (:background ,red :foreground ,red))))
+ `(term-color-yellow ((,class (:background ,yellow :foreground ,yellow))))
+ `(term-underline ((,class (:underline t))))
+ ;;;; tomatinho
+ `(tomatinho-ok-face ((,class (:foreground ,blue-intense))))
+ `(tomatinho-pause-face ((,class (:foreground ,yellow-intense))))
+ `(tomatinho-reset-face ((,class (:foreground ,fg-alt))))
+ ;;;; transient
+ `(transient-active-infix ((,class (:inherit modus-theme-special-mild))))
+ `(transient-argument ((,class (:foreground ,green :weight bold))))
+ `(transient-disabled-suffix ((,class (:inherit modus-theme-intense-red))))
+ `(transient-enabled-suffix ((,class (:inherit modus-theme-intense-green))))
+ `(transient-heading ((,class (:foreground ,fg-special-warm :weight bold))))
+ `(transient-inactive-argument ((,class (:foreground ,fg-alt))))
+ `(transient-inactive-value ((,class (:foreground ,fg-alt))))
+ `(transient-key ((,class (:foreground ,magenta-intense))))
+ `(transient-mismatched-key ((,class (:underline t))))
+ `(transient-nonstandard-key ((,class (:underline t))))
+ `(transient-unreachable ((,class (:foreground ,fg-inactive))))
+ `(transient-unreachable-key ((,class (:foreground ,fg-inactive))))
+ `(transient-value ((,class (:foreground ,blue))))
+ ;;;; treemacs
+ `(treemacs-directory-collapsed-face ((,class (:foreground ,magenta-alt))))
+ `(treemacs-directory-face ((,class (:inherit dired-directory))))
+ `(treemacs-file-face ((,class (:foreground ,fg-main))))
+ `(treemacs-fringe-indicator-face ((,class (:foreground ,fg-main))))
+ `(treemacs-git-added-face ((,class (:foreground ,green-intense))))
+ `(treemacs-git-conflict-face ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(treemacs-git-ignored-face ((,class (:foreground ,fg-alt))))
+ `(treemacs-git-modified-face ((,class (:foreground ,yellow-alt-other))))
+ `(treemacs-git-renamed-face ((,class (:foreground ,cyan-alt-other))))
+ `(treemacs-git-unmodified-face ((,class (:foreground ,fg-main))))
+ `(treemacs-git-untracked-face ((,class (:foreground ,red-alt-other))))
+ `(treemacs-help-column-face ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold :underline t))))
+ `(treemacs-help-title-face ((,class (:foreground ,blue-alt-other))))
+ `(treemacs-on-failure-pulse-face ((,class (:inherit modus-theme-intense-red))))
+ `(treemacs-on-success-pulse-face ((,class (:inherit modus-theme-intense-green))))
+ `(treemacs-root-face ((,class (:foreground ,blue-alt-other :height 1.2 :weight bold :underline t))))
+ `(treemacs-root-remote-disconnected-face ((,class (:inherit treemacs-root-remote-face :foreground ,yellow))))
+ `(treemacs-root-remote-face ((,class (:inherit treemacs-root-face :foreground ,magenta))))
+ `(treemacs-root-remote-unreadable-face ((,class (:inherit treemacs-root-unreadable-face))))
+ `(treemacs-root-unreadable-face ((,class (:inherit treemacs-root-face :strike-through t))))
+ `(treemacs-tags-face ((,class (:foreground ,blue-alt))))
+ `(treemacs-tags-face ((,class (:foreground ,magenta-alt))))
+ ;;;; tuareg
+ `(caml-types-def-face ((,class (:inherit modus-theme-subtle-red))))
+ `(caml-types-expr-face ((,class (:inherit modus-theme-subtle-green))))
+ `(caml-types-occ-face ((,class (:inherit modus-theme-subtle-green))))
+ `(caml-types-scope-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(caml-types-typed-face ((,class (:inherit modus-theme-subtle-magenta))))
+ `(tuareg-font-double-semicolon-face ((,class (:foreground ,red-alt))))
+ `(tuareg-font-lock-attribute-face ((,class (:foreground ,magenta))))
+ `(tuareg-font-lock-constructor-face ((,class (:foreground ,fg-main))))
+ `(tuareg-font-lock-error-face ((,class (:inherit modus-theme-intense-red :weight bold))))
+ `(tuareg-font-lock-extension-node-face ((,class (:background ,bg-alt :foreground ,magenta))))
+ `(tuareg-font-lock-governing-face ((,class (:foreground ,fg-main :weight bold))))
+ `(tuareg-font-lock-infix-extension-node-face ((,class (:foreground ,magenta))))
+ `(tuareg-font-lock-interactive-directive-face ((,class (:foreground ,fg-special-cold))))
+ `(tuareg-font-lock-interactive-error-face ((,class (:foreground ,red :weight bold))))
+ `(tuareg-font-lock-interactive-output-face ((,class (:foreground ,blue-alt-other))))
+ `(tuareg-font-lock-label-face ((,class (:foreground ,cyan-alt-other))))
+ `(tuareg-font-lock-line-number-face ((,class (:foreground ,fg-special-warm))))
+ `(tuareg-font-lock-module-face ((,class (:foreground ,magenta-alt))))
+ `(tuareg-font-lock-multistage-face ((,class (:background ,bg-alt :foreground ,blue :weight bold))))
+ `(tuareg-font-lock-operator-face ((,class (:foreground ,red-alt))))
+ `(tuareg-opam-error-face ((,class (:foreground ,red :weight bold))))
+ `(tuareg-opam-pkg-variable-name-face ((,class (:foreground ,cyan :slant ,modus-theme-slant))))
+ ;;;; undo-tree
+ `(undo-tree-visualizer-active-branch-face ((,class (:foreground ,fg-main :weight bold))))
+ `(undo-tree-visualizer-current-face ((,class (:foreground ,blue-intense))))
+ `(undo-tree-visualizer-default-face ((,class (:foreground ,fg-alt))))
+ `(undo-tree-visualizer-register-face ((,class (:foreground ,magenta-intense))))
+ `(undo-tree-visualizer-unmodified-face ((,class (:foreground ,green-intense))))
+ ;;;; vc
+ `(vc-conflict-state ((,class (:foreground ,red-active :weight ,modus-theme-bold))))
+ `(vc-edited-state ((,class (:foreground ,fg-special-warm))))
+ `(vc-locally-added-state ((,class (:foreground ,cyan-active))))
+ `(vc-locked-state ((,class (:foreground ,magenta-active :weight ,modus-theme-bold))))
+ `(vc-missing-state ((,class (:foreground ,yellow-active :weight ,modus-theme-bold))))
+ `(vc-needs-update-state ((,class (:foreground ,fg-special-mild :weight ,modus-theme-bold))))
+ `(vc-removed-state ((,class (:foreground ,red-active))))
+ `(vc-state-base ((,class (:foreground ,fg-active))))
+ `(vc-up-to-date-state ((,class (:foreground ,fg-special-cold))))
+ ;;;; vimish-fold
+ `(vimish-fold-fringe ((,class (:foreground ,cyan-active))))
+ `(vimish-fold-mouse-face ((,class (:inherit modus-theme-intense-blue))))
+ `(vimish-fold-overlay ((,class (:background ,bg-alt :foreground ,fg-special-cold))))
+ ;;;; visible-mark
+ `(visible-mark-active ((,class (:background ,blue-intense-bg))))
+ `(visible-mark-face1 ((,class (:background ,cyan-intense-bg))))
+ `(visible-mark-face2 ((,class (:background ,yellow-intense-bg))))
+ `(visible-mark-forward-face1 ((,class (:background ,magenta-intense-bg))))
+ `(visible-mark-forward-face2 ((,class (:background ,green-intense-bg))))
+ ;;;; visual-regexp
+ `(vr/group-0 ((,class (:inherit modus-theme-intense-blue))))
+ `(vr/group-1 ((,class (:inherit modus-theme-intense-magenta))))
+ `(vr/group-2 ((,class (:inherit modus-theme-intense-green))))
+ `(vr/match-0 ((,class (:inherit modus-theme-refine-yellow))))
+ `(vr/match-1 ((,class (:inherit modus-theme-refine-yellow))))
+ `(vr/match-separator-face ((,class (:inherit modus-theme-intense-neutral :weight bold))))
+ ;;;; volatile-highlights
+ `(vhl/default-face ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
+ :background ,bg-alt :foreground ,blue-nuanced))))
+ ;;;; vterm
+ `(vterm-color-black ((,class (:background "black" :foreground "black"))))
+ `(vterm-color-blue ((,class (:background ,blue :foreground ,blue))))
+ `(vterm-color-cyan ((,class (:background ,cyan :foreground ,cyan))))
+ `(vterm-color-default ((,class (:background ,bg-main :foreground ,fg-main))))
+ `(vterm-color-green ((,class (:background ,green :foreground ,green))))
+ `(vterm-color-inverse-video ((,class (:background ,bg-main :inverse-video t))))
+ `(vterm-color-magenta ((,class (:background ,magenta :foreground ,magenta))))
+ `(vterm-color-red ((,class (:background ,red :foreground ,red))))
+ `(vterm-color-underline ((,class (:foreground ,fg-special-warm :underline t))))
+ `(vterm-color-white ((,class (:background "white" :foreground "white"))))
+ `(vterm-color-yellow ((,class (:background ,yellow :foreground ,yellow))))
+ ;;;; wcheck-mode
+ `(wcheck-default-face ((,class (:foreground ,red :underline t))))
+ ;;;; web-mode
+ `(web-mode-annotation-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-annotation-html-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-annotation-tag-face ((,class (:inherit web-mode-comment-face :underline t))))
+ `(web-mode-block-attr-name-face ((,class (:foreground ,blue))))
+ `(web-mode-block-attr-value-face ((,class (:foreground ,cyan-alt-other))))
+ `(web-mode-block-comment-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-block-control-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(web-mode-block-delimiter-face ((,class (:foreground ,fg-main))))
+ `(web-mode-block-face ((,class (:background ,bg-dim))))
+ `(web-mode-block-string-face ((,class (:inherit web-mode-string-face))))
+ `(web-mode-bold-face ((,class (:weight bold))))
+ `(web-mode-builtin-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(web-mode-comment-face ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
+ `(web-mode-comment-keyword-face ((,class (:background ,bg-dim :foreground ,yellow :weight bold))))
+ `(web-mode-constant-face ((,class (:foreground ,blue-alt-other))))
+ `(web-mode-css-at-rule-face ((,class (:foreground ,blue-alt-other))))
+ `(web-mode-css-color-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(web-mode-css-comment-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-css-function-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(web-mode-css-priority-face ((,class (:foreground ,yellow-alt :weight ,modus-theme-bold))))
+ `(web-mode-css-property-name-face ((,class (:foreground ,cyan))))
+ `(web-mode-css-pseudo-class-face ((,class (:foreground ,cyan-alt-other))))
+ `(web-mode-css-selector-face ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(web-mode-css-string-face ((,class (:inherit web-mode-string-face))))
+ `(web-mode-css-variable-face ((,class (:foreground ,fg-special-warm))))
+ `(web-mode-current-column-highlight-face ((,class (:background ,bg-alt))))
+ `(web-mode-current-element-highlight-face ((,class (:inherit modus-theme-special-mild))))
+ `(web-mode-doctype-face ((,class (:foreground ,fg-special-cold :slant ,modus-theme-slant))))
+ `(web-mode-error-face ((,class (:inherit modus-theme-intense-red))))
+ `(web-mode-filter-face ((,class (:foreground ,magenta))))
+ `(web-mode-folded-face ((,class (:underline t))))
+ `(web-mode-function-call-face ((,class (:foreground ,magenta))))
+ `(web-mode-function-name-face ((,class (:foreground ,magenta))))
+ `(web-mode-html-attr-custom-face ((,class (:foreground ,cyan))))
+ `(web-mode-html-attr-engine-face ((,class (:foreground ,fg-main))))
+ `(web-mode-html-attr-equal-face ((,class (:foreground ,fg-main))))
+ `(web-mode-html-attr-name-face ((,class (:foreground ,cyan))))
+ `(web-mode-html-attr-value-face ((,class (:foreground ,blue-alt-other))))
+ `(web-mode-html-entity-face ((,class (:foreground ,yellow-alt-other :slant ,modus-theme-slant))))
+ `(web-mode-html-tag-bracket-face ((,class (:foreground ,fg-dim))))
+ `(web-mode-html-tag-custom-face ((,class (:foreground ,magenta))))
+ `(web-mode-html-tag-face ((,class (:foreground ,magenta))))
+ `(web-mode-html-tag-namespaced-face ((,class (:foreground ,magenta-alt :weight ,modus-theme-bold))))
+ `(web-mode-html-tag-unclosed-face ((,class (:foreground ,red :underline t))))
+ `(web-mode-inlay-face ((,class (:background ,bg-alt))))
+ `(web-mode-italic-face ((,class (:slant italic))))
+ `(web-mode-javascript-comment-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-javascript-string-face ((,class (:inherit web-mode-string-face))))
+ `(web-mode-json-comment-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-json-context-face ((,class (:foreground ,magenta-alt))))
+ `(web-mode-json-key-face ((,class (:foreground ,blue-nuanced))))
+ `(web-mode-json-string-face ((,class (:inherit web-mode-string-face))))
+ `(web-mode-jsx-depth-1-face ((,class (:background ,blue-intense-bg :foreground ,fg-main))))
+ `(web-mode-jsx-depth-2-face ((,class (:background ,blue-subtle-bg :foreground ,fg-main))))
+ `(web-mode-jsx-depth-3-face ((,class (:background ,bg-special-cold :foreground ,fg-special-cold))))
+ `(web-mode-jsx-depth-4-face ((,class (:background ,bg-alt :foreground ,blue-refine-fg))))
+ `(web-mode-jsx-depth-5-face ((,class (:background ,bg-alt :foreground ,blue-nuanced))))
+ `(web-mode-keyword-face ((,class (:foreground ,magenta-alt-other :weight ,modus-theme-bold))))
+ `(web-mode-param-name-face ((,class (:foreground ,magenta))))
+ `(web-mode-part-comment-face ((,class (:inherit web-mode-comment-face))))
+ `(web-mode-part-face ((,class (:inherit web-mode-block-face))))
+ `(web-mode-part-string-face ((,class (:inherit web-mode-string-face))))
+ `(web-mode-preprocessor-face ((,class (:foreground ,magenta))))
+ `(web-mode-script-face ((,class (:inherit web-mode-part-face))))
+ `(web-mode-sql-keyword-face ((,class (:foreground ,yellow :weight bold))))
+ `(web-mode-string-face ((,class (:foreground ,blue-alt))))
+ `(web-mode-style-face ((,class (:inherit web-mode-part-face))))
+ `(web-mode-symbol-face ((,class (:foreground ,blue-alt-other))))
+ `(web-mode-type-face ((,class (:foreground ,magenta-alt))))
+ `(web-mode-underline-face ((,class (:underline t))))
+ `(web-mode-variable-name-face ((,class (:foreground ,cyan))))
+ `(web-mode-warning-face ((,class (:background ,bg-alt :foreground ,yellow-alt-other :weight bold))))
+ `(web-mode-whitespace-face ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ ;;;; wgrep
+ `(wgrep-delete-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(wgrep-done-face ((,class (:inherit modus-theme-refine-blue))))
+ `(wgrep-face ((,class (:inherit modus-theme-refine-green))))
+ `(wgrep-file-face ((,class (:foreground ,fg-special-warm))))
+ `(wgrep-reject-face ((,class (:inherit modus-theme-intense-red :weight bold))))
+ ;;;; which-function-mode
+ `(which-func ((,class (:foreground ,magenta-active))))
+ ;;;; which-key
+ `(which-key-command-description-face ((,class (:foreground ,cyan))))
+ `(which-key-group-description-face ((,class (:foreground ,magenta-alt))))
+ `(which-key-highlighted-command-face ((,class (:foreground ,cyan-alt :underline t))))
+ `(which-key-key-face ((,class (:foreground ,blue-intense :weight bold))))
+ `(which-key-local-map-description-face ((,class (:foreground ,fg-main))))
+ `(which-key-note-face ((,class (:background ,bg-dim :foreground ,fg-special-mild))))
+ `(which-key-separator-face ((,class (:foreground ,fg-alt))))
+ `(which-key-special-key-face ((,class (:foreground ,yellow-intense :weight bold))))
+ ;;;; whitespace-mode
+ `(whitespace-big-indent ((,class (:inherit modus-theme-subtle-red))))
+ `(whitespace-empty ((,class (:inherit modus-theme-intense-magenta))))
+ `(whitespace-hspace ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ `(whitespace-indentation ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ `(whitespace-line ((,class (:inherit modus-theme-special-warm))))
+ `(whitespace-newline ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ `(whitespace-space ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ `(whitespace-space-after-tab ((,class (:inherit modus-theme-subtle-magenta))))
+ `(whitespace-space-before-tab ((,class (:inherit modus-theme-subtle-cyan))))
+ `(whitespace-tab ((,class (:background ,bg-whitespace :foreground ,fg-whitespace))))
+ `(whitespace-trailing ((,class (:inherit modus-theme-intense-red))))
+ ;;;; window-divider-mode
+ `(window-divider ((,class (:foreground ,fg-window-divider-inner))))
+ `(window-divider-first-pixel ((,class (:foreground ,fg-window-divider-outer))))
+ `(window-divider-last-pixel ((,class (:foreground ,fg-window-divider-outer))))
+ ;;;; winum
+ `(winum-face ((,class (:foreground ,cyan-active :weight ,modus-theme-bold))))
+ ;;;; writegood-mode
+ `(writegood-duplicates-face ((,class (:background ,bg-alt :foreground ,red-alt :underline t))))
+ `(writegood-passive-voice-face ((,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style line)))))
+ `(writegood-weasels-face ((,class (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style line)))))
+ ;;;; woman
+ `(woman-addition ((,class (:foreground ,magenta-alt-other))))
+ `(woman-bold ((,class (:foreground ,magenta :weight bold))))
+ `(woman-italic ((,class (:foreground ,cyan :slant italic))))
+ `(woman-unknown ((,class (:foreground ,yellow :slant italic))))
+ ;;;; xah-elisp-mode
+ `(xah-elisp-at-symbol ((,class (:foreground ,red-alt :weight bold))))
+ `(xah-elisp-cap-variable ((,class (:foreground ,red-alt-other))))
+ `(xah-elisp-command-face ((,class (:foreground ,cyan-alt-other))))
+ `(xah-elisp-dollar-symbol ((,class (:foreground ,green))))
+ ;;;; xref
+ `(xref-file-header ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(xref-line-number ((,class (:foreground ,fg-alt))))
+ `(xref-match ((,class (:inherit match))))
+ ;;;; yaml-mode
+ `(yaml-tab-face ((,class (:inherit modus-theme-intense-red))))
+ ;;;; ztree
+ `(ztreep-arrow-face ((,class (:foreground ,fg-inactive))))
+ `(ztreep-diff-header-face ((,class (:height 1.2 :foreground ,fg-special-cold :weight bold))))
+ `(ztreep-diff-header-small-face ((,class (:foreground ,fg-special-mild :weight bold))))
+ `(ztreep-diff-model-add-face ((,class (:foreground ,green))))
+ `(ztreep-diff-model-diff-face ((,class (:foreground ,red))))
+ `(ztreep-diff-model-ignored-face ((,class (:foreground ,fg-alt :strike-through t))))
+ `(ztreep-diff-model-normal-face ((,class (:foreground ,fg-alt))))
+ `(ztreep-expand-sign-face ((,class (:foreground ,blue))))
+ `(ztreep-header-face ((,class (:height 1.2 :foreground ,fg-special-cold :weight bold))))
+ `(ztreep-leaf-face ((,class (:foreground ,cyan))))
+ `(ztreep-node-count-children-face ((,class (:foreground ,fg-special-warm))))
+ `(ztreep-node-face ((,class (:foreground ,fg-main))))
+ (when (>= emacs-major-version 27) ; EXPERIMENTAL this form is subject to review
+ (custom-theme-set-faces
+ 'modus-operandi
+ ;;;; tab-bar-mode
+ `(tab-bar ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(tab-bar-tab ((,class (:box (:line-width 1 :color ,fg-window-divider-inner)
+ :background ,bg-tab-active :foreground ,fg-main))))
+ `(tab-bar-tab-inactive ((,class (:box (:line-width 1 :color ,bg-tab-active)
+ :background ,bg-tab-inactive :foreground ,fg-dim))))
+ ;;;; tab-line-mode
+ `(tab-line ((,class (:height 0.95 :background ,bg-active :foreground ,fg-active))))
+ `(tab-line-close-highlight ((,class (:foreground ,red-active))))
+ `(tab-line-highlight ((,class (:background ,bg-tab-active :foreground ,fg-main))))
+ `(tab-line-tab ((,class (:box (:line-width 1 :color ,fg-window-divider-inner)
+ :background ,bg-tab-active :foreground ,fg-main))))
+ `(tab-line-tab-current ((,class (:box (:line-width 1 :color ,fg-window-divider-inner)
+ :background ,bg-tab-active :foreground ,fg-main))))
+ `(tab-line-tab-inactive ((,class (:box (:line-width 1 :color ,bg-tab-active)
+ :background ,bg-tab-inactive :foreground ,fg-dim))))))
+ ;;; Theme Variables
+ (custom-theme-set-variables
+ 'modus-operandi
+ ;;;; ansi-colors
+ `(ansi-color-faces-vector [default bold shadow italic underline success warning error])
+ `(ansi-color-names-vector [,fg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,bg-main])
+ ;;;; flymake fringe indicators
+ `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red))
+ `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow))
+ `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan))
+ ;;;; ibuffer
+ `(ibuffer-deletion-face 'dired-flagged)
+ `(ibuffer-filter-group-name-face 'dired-mark)
+ `(ibuffer-marked-face 'dired-marked)
+ `(ibuffer-title-face 'dired-header)
+ ;;;; hl-todo
+ `(hl-todo-keyword-faces
+ '(("HOLD" . ,yellow-alt)
+ ("TODO" . ,magenta)
+ ("NEXT" . ,magenta-alt-other)
+ ("THEM" . ,magenta-alt)
+ ("PROG" . ,cyan)
+ ("OKAY" . ,cyan-alt)
+ ("DONT" . ,green-alt)
+ ("FAIL" . ,red)
+ ("DONE" . ,green)
+ ("NOTE" . ,yellow-alt-other)
+ ("KLUDGE" . ,yellow)
+ ("HACK" . ,yellow)
+ ("TEMP" . ,red-nuanced)
+ ("FIXME" . ,red-alt-other)
+ ("XXX+" . ,red-alt)
+ ("REVIEW" . ,cyan-alt-other)
+ ("DEPRECATED" . ,blue-nuanced)))
+ ;;;;; vc-annotate (C-x v g)
+ `(vc-annotate-background nil)
+ `(vc-annotate-background-mode nil)
+ `(vc-annotate-color-map
+ '((20 . ,red)
+ (40 . ,magenta)
+ (60 . ,magenta-alt)
+ (80 . ,red-alt)
+ (100 . ,yellow)
+ (120 . ,yellow-alt)
+ (140 . ,fg-special-warm)
+ (160 . ,fg-special-mild)
+ (180 . ,green)
+ (200 . ,green-alt)
+ (220 . ,cyan-alt-other)
+ (240 . ,cyan-alt)
+ (260 . ,cyan)
+ (280 . ,fg-special-cold)
+ (300 . ,blue)
+ (320 . ,blue-alt)
+ (340 . ,blue-alt-other)
+ (360 . ,magenta-alt-other)))
+ `(vc-annotate-very-old-color nil)
+ ;;;; xterm-color
+ `(xterm-color-names [,fg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,bg-alt])
+ `(xterm-color-names-bright [,fg-alt ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt ,bg-main]))))
+
+;;;###autoload
+(when load-file-name
+ (add-to-list 'custom-theme-load-path
+ (file-name-as-directory (file-name-directory load-file-name))))
+
+(provide-theme 'modus-operandi)
+
+(provide 'modus-operandi-theme)
+;;; modus-operandi-theme.el ends here
diff --git a/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-autoloads.el b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-autoloads.el
new file mode 100644
index 0000000..44ce6b5
--- /dev/null
+++ b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-autoloads.el
@@ -0,0 +1,127 @@
+;;; pkg-info-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "pkg-info" "pkg-info.el" (0 0 0 0))
+;;; Generated autoloads from pkg-info.el
+
+(autoload 'pkg-info-library-original-version "pkg-info" "\
+Get the original version in the header of LIBRARY.
+
+The original version is stored in the X-Original-Version header.
+This header is added by the MELPA package archive to preserve
+upstream version numbers.
+
+LIBRARY is either a symbol denoting a named feature, or a library
+name as string.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version from the header of LIBRARY as list. Signal an
+error if the LIBRARY was not found or had no X-Original-Version
+header.
+
+See Info node `(elisp)Library Headers' for more information
+about library headers.
+
+\(fn LIBRARY &optional SHOW)" t nil)
+
+(autoload 'pkg-info-library-version "pkg-info" "\
+Get the version in the header of LIBRARY.
+
+LIBRARY is either a symbol denoting a named feature, or a library
+name as string.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version from the header of LIBRARY as list. Signal an
+error if the LIBRARY was not found or had no proper header.
+
+See Info node `(elisp)Library Headers' for more information
+about library headers.
+
+\(fn LIBRARY &optional SHOW)" t nil)
+
+(autoload 'pkg-info-defining-library-original-version "pkg-info" "\
+Get the original version of the library defining FUNCTION.
+
+The original version is stored in the X-Original-Version header.
+This header is added by the MELPA package archive to preserve
+upstream version numbers.
+
+If SHOW is non-nil, show the version in mini-buffer.
+
+This function is mainly intended to find the version of a major
+or minor mode, i.e.
+
+ (pkg-info-defining-library-version 'flycheck-mode)
+
+Return the version of the library defining FUNCTION. Signal an
+error if FUNCTION is not a valid function, if its defining
+library was not found, or if the library had no proper version
+header.
+
+\(fn FUNCTION &optional SHOW)" t nil)
+
+(autoload 'pkg-info-defining-library-version "pkg-info" "\
+Get the version of the library defining FUNCTION.
+
+If SHOW is non-nil, show the version in mini-buffer.
+
+This function is mainly intended to find the version of a major
+or minor mode, i.e.
+
+ (pkg-info-defining-library-version 'flycheck-mode)
+
+Return the version of the library defining FUNCTION. Signal an
+error if FUNCTION is not a valid function, if its defining
+library was not found, or if the library had no proper version
+header.
+
+\(fn FUNCTION &optional SHOW)" t nil)
+
+(autoload 'pkg-info-package-version "pkg-info" "\
+Get the version of an installed PACKAGE.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version as list, or nil if PACKAGE is not installed.
+
+\(fn PACKAGE &optional SHOW)" t nil)
+
+(autoload 'pkg-info-version-info "pkg-info" "\
+Obtain complete version info for LIBRARY and PACKAGE.
+
+LIBRARY is a symbol denoting a named feature, or a library name
+as string. PACKAGE is a symbol denoting an ELPA package. If
+omitted or nil, default to LIBRARY.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+When called interactively, prompt for LIBRARY. When called
+interactively with prefix argument, prompt for PACKAGE as well.
+
+Return a string with complete version information for LIBRARY.
+This version information contains the version from the headers of
+LIBRARY, and the version of the installed PACKAGE, the LIBRARY is
+part of. If PACKAGE is not installed, or if the PACKAGE version
+is the same as the LIBRARY version, do not include a package
+version.
+
+\(fn LIBRARY &optional PACKAGE SHOW)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "pkg-info" '("pkg-info-")))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; pkg-info-autoloads.el ends here
diff --git a/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-pkg.el b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-pkg.el
new file mode 100644
index 0000000..d4b90e1
--- /dev/null
+++ b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "pkg-info" "20150517.1143" "Information about packages" '((epl "0.8")) :commit "76ba7415480687d05a4353b27fea2ae02b8d9d61" :keywords '("convenience") :authors '(("Sebastian Wiesner" . "swiesner@lunaryorn.com")) :maintainer '("Sebastian Wiesner" . "swiesner@lunaryorn.com") :url "https://github.com/lunaryorn/pkg-info.el")
diff --git a/emacs.d/elpa/pkg-info-20150517.1143/pkg-info.el b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info.el
new file mode 100644
index 0000000..e6a03a1
--- /dev/null
+++ b/emacs.d/elpa/pkg-info-20150517.1143/pkg-info.el
@@ -0,0 +1,331 @@
+;;; pkg-info.el --- Information about packages -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2013-2015 Sebastian Wiesner <swiesner@lunaryorn.com>
+
+;; Author: Sebastian Wiesner <swiesner@lunaryorn.com>
+;; URL: https://github.com/lunaryorn/pkg-info.el
+;; Package-Version: 20150517.1143
+;; Keywords: convenience
+;; Version: 0.7-cvs
+;; Package-Requires: ((epl "0.8"))
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This library extracts information from installed packages.
+
+;;;; Functions:
+
+;; `pkg-info-library-version' extracts the version from the header of a library.
+;;
+;; `pkg-info-defining-library-version' extracts the version from the header of a
+;; library defining a function.
+;;
+;; `pkg-info-package-version' gets the version of an installed package.
+;;
+;; `pkg-info-format-version' formats a version list as human readable string.
+;;
+;; `pkg-info-version-info' returns complete version information for a specific
+;; package.
+;;
+;; `pkg-info-get-melpa-recipe' gets the MELPA recipe for a package.
+;;
+;; `pkg-info-get-melpa-fetcher' gets the fetcher used to build a package on
+;; MELPA.
+;;
+;; `pkg-info-wiki-package-p' determines whether a package was build from
+;; EmacsWiki on MELPA.
+
+;;; Code:
+
+(require 'epl)
+
+(require 'lisp-mnt)
+(require 'find-func)
+(require 'json) ; `json-read'
+(require 'url-http) ; `url-http-parse-response'
+
+(defvar url-http-end-of-headers)
+
+
+;;; Version information
+(defun pkg-info-format-version (version)
+ "Format VERSION as human-readable string.
+
+Return a human-readable string representing VERSION."
+ ;; XXX: Find a better, more flexible way of formatting?
+ (package-version-join version))
+
+(defsubst pkg-info--show-version-and-return (version show)
+ "Show and return VERSION.
+
+When SHOW is non-nil, show VERSION in minibuffer.
+
+Return VERSION."
+ (when show
+ (message (if (listp version) (pkg-info-format-version version) version)))
+ version)
+
+(defun pkg-info--read-library ()
+ "Read a library from minibuffer."
+ (completing-read "Load library: "
+ (apply-partially 'locate-file-completion-table
+ load-path
+ (get-load-suffixes))))
+
+(defun pkg-info--read-function ()
+ "Read a function name from minibuffer."
+ (let ((input (completing-read "Function: " obarray #'boundp :require-match)))
+ (if (string= input "") nil (intern input))))
+
+(defun pkg-info--read-package ()
+ "Read a package name from minibuffer."
+ (let* ((installed (epl-installed-packages))
+ (names (sort (mapcar (lambda (pkg)
+ (symbol-name (epl-package-name pkg)))
+ installed)
+ #'string<))
+ (default (car names)))
+ (completing-read "Installed package: " names nil 'require-match
+ nil nil default)))
+
+(defun pkg-info-library-source (library)
+ "Get the source file of LIBRARY.
+
+LIBRARY is either a symbol denoting a named feature, or a library
+name as string.
+
+Return the source file of LIBRARY as string."
+ (find-library-name (if (symbolp library) (symbol-name library) library)))
+
+(defun pkg-info-defining-library (function)
+ "Get the source file of the library defining FUNCTION.
+
+FUNCTION is a function symbol.
+
+Return the file name of the library as string. Signal an error
+if the library does not exist, or if the definition of FUNCTION
+was not found."
+ (unless (functionp function)
+ (signal 'wrong-type-argument (list 'functionp function)))
+ (let ((library (symbol-file function 'defun)))
+ (unless library
+ (error "Can't find definition of %s" function))
+ library))
+
+(defun pkg-info-x-original-version (file)
+ "Read the X-Original-Version header from FILE.
+
+Return the value as version list, or return nil if FILE lacks
+this header. Signal an error, if the value of the header is not
+a valid version."
+ (let ((version-str (with-temp-buffer
+ (insert-file-contents file)
+ (lm-header "X-Original-Version"))))
+ (when version-str
+ (version-to-list version-str))))
+
+;;;###autoload
+(defun pkg-info-library-original-version (library &optional show)
+ "Get the original version in the header of LIBRARY.
+
+The original version is stored in the X-Original-Version header.
+This header is added by the MELPA package archive to preserve
+upstream version numbers.
+
+LIBRARY is either a symbol denoting a named feature, or a library
+name as string.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version from the header of LIBRARY as list. Signal an
+error if the LIBRARY was not found or had no X-Original-Version
+header.
+
+See Info node `(elisp)Library Headers' for more information
+about library headers."
+ (interactive (list (pkg-info--read-library) t))
+ (let ((version (pkg-info-x-original-version
+ (pkg-info-library-source library))))
+ (if version
+ (pkg-info--show-version-and-return version show)
+ (error "Library %s has no original version" library))))
+
+;;;###autoload
+(defun pkg-info-library-version (library &optional show)
+ "Get the version in the header of LIBRARY.
+
+LIBRARY is either a symbol denoting a named feature, or a library
+name as string.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version from the header of LIBRARY as list. Signal an
+error if the LIBRARY was not found or had no proper header.
+
+See Info node `(elisp)Library Headers' for more information
+about library headers."
+ (interactive (list (pkg-info--read-library) t))
+ (let* ((source (pkg-info-library-source library))
+ (version (epl-package-version (epl-package-from-file source))))
+ (pkg-info--show-version-and-return version show)))
+
+;;;###autoload
+(defun pkg-info-defining-library-original-version (function &optional show)
+ "Get the original version of the library defining FUNCTION.
+
+The original version is stored in the X-Original-Version header.
+This header is added by the MELPA package archive to preserve
+upstream version numbers.
+
+If SHOW is non-nil, show the version in mini-buffer.
+
+This function is mainly intended to find the version of a major
+or minor mode, i.e.
+
+ (pkg-info-defining-library-version 'flycheck-mode)
+
+Return the version of the library defining FUNCTION. Signal an
+error if FUNCTION is not a valid function, if its defining
+library was not found, or if the library had no proper version
+header."
+ (interactive (list (pkg-info--read-function) t))
+ (pkg-info-library-original-version (pkg-info-defining-library function) show))
+
+;;;###autoload
+(defun pkg-info-defining-library-version (function &optional show)
+ "Get the version of the library defining FUNCTION.
+
+If SHOW is non-nil, show the version in mini-buffer.
+
+This function is mainly intended to find the version of a major
+or minor mode, i.e.
+
+ (pkg-info-defining-library-version 'flycheck-mode)
+
+Return the version of the library defining FUNCTION. Signal an
+error if FUNCTION is not a valid function, if its defining
+library was not found, or if the library had no proper version
+header."
+ (interactive (list (pkg-info--read-function) t))
+ (pkg-info-library-version (pkg-info-defining-library function) show))
+
+;;;###autoload
+(defun pkg-info-package-version (package &optional show)
+ "Get the version of an installed PACKAGE.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+Return the version as list, or nil if PACKAGE is not installed."
+ (interactive (list (pkg-info--read-package) t))
+ (let* ((name (if (stringp package) (intern package) package))
+ (package (car (epl-find-installed-packages name))))
+ (unless package
+ (error "Can't find installed package %s" name))
+ (pkg-info--show-version-and-return (epl-package-version package) show)))
+
+;;;###autoload
+(defun pkg-info-version-info (library &optional package show)
+ "Obtain complete version info for LIBRARY and PACKAGE.
+
+LIBRARY is a symbol denoting a named feature, or a library name
+as string. PACKAGE is a symbol denoting an ELPA package. If
+omitted or nil, default to LIBRARY.
+
+If SHOW is non-nil, show the version in the minibuffer.
+
+When called interactively, prompt for LIBRARY. When called
+interactively with prefix argument, prompt for PACKAGE as well.
+
+Return a string with complete version information for LIBRARY.
+This version information contains the version from the headers of
+LIBRARY, and the version of the installed PACKAGE, the LIBRARY is
+part of. If PACKAGE is not installed, or if the PACKAGE version
+is the same as the LIBRARY version, do not include a package
+version."
+ (interactive (list (pkg-info--read-library)
+ (when current-prefix-arg
+ (pkg-info--read-package))
+ t))
+ (let* ((package (or package (if (stringp library) (intern library) library)))
+ (orig-version (condition-case nil
+ (pkg-info-library-original-version library)
+ (error nil)))
+ ;; If we have X-Original-Version, we assume that MELPA replaced the
+ ;; library version with its generated version, so we use the
+ ;; X-Original-Version header instead, and ignore the library version
+ ;; header
+ (lib-version (or orig-version (pkg-info-library-version library)))
+ (pkg-version (condition-case nil
+ (pkg-info-package-version package)
+ (error nil)))
+ (version (if (and pkg-version
+ (not (version-list-= lib-version pkg-version)))
+ (format "%s (package: %s)"
+ (pkg-info-format-version lib-version)
+ (pkg-info-format-version pkg-version))
+ (pkg-info-format-version lib-version))))
+ (pkg-info--show-version-and-return version show)))
+
+(defconst pkg-info-melpa-recipe-url "http://melpa.org/recipes.json"
+ "The URL from which to fetch MELPA recipes.")
+
+(defvar pkg-info-melpa-recipes nil
+ "An alist of MELPA recipes.")
+
+(defun pkg-info-retrieve-melpa-recipes ()
+ "Retrieve MELPA recipes from MELPA archive."
+ (let ((buffer (url-retrieve-synchronously pkg-info-melpa-recipe-url)))
+ (with-current-buffer buffer
+ (unwind-protect
+ (let ((response-code (url-http-parse-response)))
+ (unless (equal response-code 200)
+ (error "Failed to retrieve MELPA recipes from %s (code %s)"
+ pkg-info-melpa-recipe-url response-code))
+ (goto-char url-http-end-of-headers)
+ (json-read))
+ (when (and buffer (buffer-live-p buffer))
+ (kill-buffer buffer))))))
+
+(defun pkg-info-get-melpa-recipes ()
+ "Get MELPA recipes."
+ (setq pkg-info-melpa-recipes
+ (or pkg-info-melpa-recipes
+ (pkg-info-retrieve-melpa-recipes))))
+
+(defun pkg-info-get-melpa-recipe (package)
+ "Get the MELPA recipe for PACKAGE.
+
+Return nil if PACKAGE is not on MELPA."
+ (cdr (assq package (pkg-info-get-melpa-recipes))))
+
+(defun pkg-info-get-melpa-fetcher (package)
+ "Get the MELPA fetcher for PACKAGE."
+ (cdr (assq 'fetcher (pkg-info-get-melpa-recipe package))))
+
+(defun pkg-info-wiki-package-p (package)
+ "Determine whether PACKAGE is build from the EmacsWiki."
+ (equal (pkg-info-get-melpa-fetcher package) "wiki"))
+
+(provide 'pkg-info)
+
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; coding: utf-8
+;; End:
+
+;;; pkg-info.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/dir b/emacs.d/elpa/use-package-20200322.2110/dir
new file mode 100644
index 0000000..651b05d
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/dir
@@ -0,0 +1,18 @@
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+
+File: dir, Node: Top This is the top of the INFO tree
+
+ This (the Directory node) gives a menu of major topics.
+ Typing "q" exits, "H" lists all Info commands, "d" returns here,
+ "h" gives a primer for first-timers,
+ "mEmacs<Return>" visits the Emacs manual, etc.
+
+ In Emacs, you can click mouse button 2 on a menu item or cross reference
+ to select it.
+
+* Menu:
+
+Emacs
+* use-package: (use-package). Declarative package configuration for Emacs.
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-autoloads.el b/emacs.d/elpa/use-package-20200322.2110/use-package-autoloads.el
new file mode 100644
index 0000000..51f39dc
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-autoloads.el
@@ -0,0 +1,230 @@
+;;; use-package-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+ (or (file-name-directory #$) (car load-path))))
+
+
+;;;### (autoloads nil "use-package-bind-key" "use-package-bind-key.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from use-package-bind-key.el
+
+(autoload 'use-package-autoload-keymap "use-package-bind-key" "\
+Loads PACKAGE and then binds the key sequence used to invoke
+this function to KEYMAP-SYMBOL. It then simulates pressing the
+same key sequence a again, so that the next key pressed is routed
+to the newly loaded keymap.
+
+This function supports use-package's :bind-keymap keyword. It
+works by binding the given key sequence to an invocation of this
+function for a particular keymap. The keymap is expected to be
+defined by the package. In this way, loading the package is
+deferred until the prefix key sequence is pressed.
+
+\(fn KEYMAP-SYMBOL PACKAGE OVERRIDE)" nil nil)
+
+(autoload 'use-package-normalize-binder "use-package-bind-key" "\
+
+
+\(fn NAME KEYWORD ARGS)" nil nil)
+
+(defalias 'use-package-normalize/:bind 'use-package-normalize-binder)
+
+(defalias 'use-package-normalize/:bind* 'use-package-normalize-binder)
+
+(defalias 'use-package-autoloads/:bind 'use-package-autoloads-mode)
+
+(defalias 'use-package-autoloads/:bind* 'use-package-autoloads-mode)
+
+(autoload 'use-package-handler/:bind "use-package-bind-key" "\
+
+
+\(fn NAME KEYWORD ARGS REST STATE &optional BIND-MACRO)" nil nil)
+
+(defalias 'use-package-normalize/:bind-keymap 'use-package-normalize-binder)
+
+(defalias 'use-package-normalize/:bind-keymap* 'use-package-normalize-binder)
+
+(autoload 'use-package-handler/:bind-keymap "use-package-bind-key" "\
+
+
+\(fn NAME KEYWORD ARGS REST STATE &optional OVERRIDE)" nil nil)
+
+(autoload 'use-package-handler/:bind-keymap* "use-package-bind-key" "\
+
+
+\(fn NAME KEYWORD ARG REST STATE)" nil nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-bind-key" '("use-package-handler/:bind*")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-core" "use-package-core.el" (0
+;;;;;; 0 0 0))
+;;; Generated autoloads from use-package-core.el
+
+(autoload 'use-package "use-package-core" "\
+Declare an Emacs package by specifying a group of configuration options.
+
+For full documentation, please see the README file that came with
+this file. Usage:
+
+ (use-package package-name
+ [:keyword [option]]...)
+
+:init Code to run before PACKAGE-NAME has been loaded.
+:config Code to run after PACKAGE-NAME has been loaded. Note that
+ if loading is deferred for any reason, this code does not
+ execute until the lazy load has occurred.
+:preface Code to be run before everything except `:disabled'; this
+ can be used to define functions for use in `:if', or that
+ should be seen by the byte-compiler.
+
+:mode Form to be added to `auto-mode-alist'.
+:magic Form to be added to `magic-mode-alist'.
+:magic-fallback Form to be added to `magic-fallback-mode-alist'.
+:interpreter Form to be added to `interpreter-mode-alist'.
+
+:commands Define autoloads for commands that will be defined by the
+ package. This is useful if the package is being lazily
+ loaded, and you wish to conditionally call functions in your
+ `:init' block that are defined in the package.
+:hook Specify hook(s) to attach this package to.
+
+:bind Bind keys, and define autoloads for the bound commands.
+:bind* Bind keys, and define autoloads for the bound commands,
+ *overriding all minor mode bindings*.
+:bind-keymap Bind a key prefix to an auto-loaded keymap defined in the
+ package. This is like `:bind', but for keymaps.
+:bind-keymap* Like `:bind-keymap', but overrides all minor mode bindings
+
+:defer Defer loading of a package -- this is implied when using
+ `:commands', `:bind', `:bind*', `:mode', `:magic', `:hook',
+ `:magic-fallback', or `:interpreter'. This can be an integer,
+ to force loading after N seconds of idle time, if the package
+ has not already been loaded.
+:after Delay the use-package declaration until after the named modules
+ have loaded. Once load, it will be as though the use-package
+ declaration (without `:after') had been seen at that moment.
+:demand Prevent the automatic deferred loading introduced by constructs
+ such as `:bind' (see `:defer' for the complete list).
+
+:if EXPR Initialize and load only if EXPR evaluates to a non-nil value.
+:disabled The package is ignored completely if this keyword is present.
+:defines Declare certain variables to silence the byte-compiler.
+:functions Declare certain functions to silence the byte-compiler.
+:load-path Add to the `load-path' before attempting to load the package.
+:diminish Support for diminish.el (if installed).
+:delight Support for delight.el (if installed).
+:custom Call `customize-set-variable' with each variable definition.
+:custom-face Call `customize-set-faces' with each face definition.
+:ensure Loads the package using package.el if necessary.
+:pin Pin the package to an archive.
+
+\(fn NAME &rest ARGS)" nil t)
+
+(function-put 'use-package 'lisp-indent-function '1)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-core" '("use-package-")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-delight" "use-package-delight.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from use-package-delight.el
+
+(autoload 'use-package-normalize/:delight "use-package-delight" "\
+Normalize arguments to delight.
+
+\(fn NAME KEYWORD ARGS)" nil nil)
+
+(autoload 'use-package-handler/:delight "use-package-delight" "\
+
+
+\(fn NAME KEYWORD ARGS REST STATE)" nil nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-delight" '("use-package-normalize-delight")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-diminish" "use-package-diminish.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from use-package-diminish.el
+
+(autoload 'use-package-normalize/:diminish "use-package-diminish" "\
+
+
+\(fn NAME KEYWORD ARGS)" nil nil)
+
+(autoload 'use-package-handler/:diminish "use-package-diminish" "\
+
+
+\(fn NAME KEYWORD ARG REST STATE)" nil nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-diminish" '("use-package-normalize-diminish")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-ensure" "use-package-ensure.el"
+;;;;;; (0 0 0 0))
+;;; Generated autoloads from use-package-ensure.el
+
+(autoload 'use-package-normalize/:ensure "use-package-ensure" "\
+
+
+\(fn NAME KEYWORD ARGS)" nil nil)
+
+(autoload 'use-package-handler/:ensure "use-package-ensure" "\
+
+
+\(fn NAME KEYWORD ENSURE REST STATE)" nil nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-ensure" '("use-package-")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-jump" "use-package-jump.el" (0
+;;;;;; 0 0 0))
+;;; Generated autoloads from use-package-jump.el
+
+(autoload 'use-package-jump-to-package-form "use-package-jump" "\
+Attempt to find and jump to the `use-package' form that loaded
+PACKAGE. This will only find the form if that form actually
+required PACKAGE. If PACKAGE was previously required then this
+function will jump to the file that originally required PACKAGE
+instead.
+
+\(fn PACKAGE)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-jump" '("use-package-find-require")))
+
+;;;***
+
+;;;### (autoloads nil "use-package-lint" "use-package-lint.el" (0
+;;;;;; 0 0 0))
+;;; Generated autoloads from use-package-lint.el
+
+(autoload 'use-package-lint "use-package-lint" "\
+Check for errors in use-package declarations.
+For example, if the module's `:if' condition is met, but even
+with the specified `:load-path' the module cannot be found.
+
+\(fn)" t nil)
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "use-package-lint" '("use-package-lint-declaration")))
+
+;;;***
+
+;;;### (autoloads nil nil ("use-package-pkg.el" "use-package.el")
+;;;;;; (0 0 0 0))
+
+;;;***
+
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; use-package-autoloads.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-bind-key.el b/emacs.d/elpa/use-package-20200322.2110/use-package-bind-key.el
new file mode 100644
index 0000000..e476b06
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-bind-key.el
@@ -0,0 +1,172 @@
+;;; use-package-bind-key.el --- Support for the :bind/:bind-keymap keywords -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 4 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4") (bind-key "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides support for the :bind, :bind*, :bind-keymap and :bind-keymap*
+;; keywords. Note that these are currently still baked into
+;; `use-package-keywords' and `use-package-deferring-keywords', although this
+;; is harmless if they are never used.
+
+;;; Code:
+
+(require 'use-package-core)
+(require 'bind-key)
+
+;;;###autoload
+(defun use-package-autoload-keymap (keymap-symbol package override)
+ "Loads PACKAGE and then binds the key sequence used to invoke
+this function to KEYMAP-SYMBOL. It then simulates pressing the
+same key sequence a again, so that the next key pressed is routed
+to the newly loaded keymap.
+
+This function supports use-package's :bind-keymap keyword. It
+works by binding the given key sequence to an invocation of this
+function for a particular keymap. The keymap is expected to be
+defined by the package. In this way, loading the package is
+deferred until the prefix key sequence is pressed."
+ (if (not (require package nil t))
+ (use-package-error (format "Cannot load package.el: %s" package))
+ (if (and (boundp keymap-symbol)
+ (keymapp (symbol-value keymap-symbol)))
+ (let* ((kv (this-command-keys-vector))
+ (key (key-description kv))
+ (keymap (symbol-value keymap-symbol)))
+ (if override
+ (bind-key* key keymap)
+ (bind-key key keymap))
+ (setq unread-command-events
+ (mapcar (lambda (ev) (cons t ev))
+ (listify-key-sequence kv))))
+ (use-package-error
+ (format "package.el %s failed to define keymap %s"
+ package keymap-symbol)))))
+
+;;;###autoload
+(defun use-package-normalize-binder (name keyword args)
+ (let ((arg args)
+ args*)
+ (while arg
+ (let ((x (car arg)))
+ (cond
+ ;; (KEY . COMMAND)
+ ((and (consp x)
+ (or (stringp (car x))
+ (vectorp (car x)))
+ (or (use-package-recognize-function (cdr x) t #'stringp)))
+ (setq args* (nconc args* (list x)))
+ (setq arg (cdr arg)))
+ ;; KEYWORD
+ ;; :map KEYMAP
+ ;; :prefix-docstring STRING
+ ;; :prefix-map SYMBOL
+ ;; :prefix STRING
+ ;; :filter SEXP
+ ;; :menu-name STRING
+ ;; :package SYMBOL
+ ((or (and (eq x :map) (symbolp (cadr arg)))
+ (and (eq x :prefix) (stringp (cadr arg)))
+ (and (eq x :prefix-map) (symbolp (cadr arg)))
+ (and (eq x :prefix-docstring) (stringp (cadr arg)))
+ (eq x :filter)
+ (and (eq x :menu-name) (stringp (cadr arg)))
+ (and (eq x :package) (symbolp (cadr arg))))
+ (setq args* (nconc args* (list x (cadr arg))))
+ (setq arg (cddr arg)))
+ ((listp x)
+ (setq args*
+ (nconc args* (use-package-normalize-binder name keyword x)))
+ (setq arg (cdr arg)))
+ (t
+ ;; Error!
+ (use-package-error
+ (concat (symbol-name name)
+ " wants arguments acceptable to the `bind-keys' macro,"
+ " or a list of such values"))))))
+ args*))
+
+;;;; :bind, :bind*
+
+;;;###autoload
+(defalias 'use-package-normalize/:bind 'use-package-normalize-binder)
+;;;###autoload
+(defalias 'use-package-normalize/:bind* 'use-package-normalize-binder)
+
+;; jww (2017-12-07): This is too simplistic. It will fail to determine
+;; autoloads in this situation:
+;; (use-package foo
+;; :bind (:map foo-map (("C-a" . func))))
+;;;###autoload
+(defalias 'use-package-autoloads/:bind 'use-package-autoloads-mode)
+;;;###autoload
+(defalias 'use-package-autoloads/:bind* 'use-package-autoloads-mode)
+
+;;;###autoload
+(defun use-package-handler/:bind
+ (name _keyword args rest state &optional bind-macro)
+ (use-package-concat
+ (use-package-process-keywords name rest state)
+ `(,@(mapcar
+ #'(lambda (xs)
+ `(,(if bind-macro bind-macro 'bind-keys)
+ :package ,name ,@(use-package-normalize-commands xs)))
+ (use-package-split-list-at-keys :break args)))))
+
+(defun use-package-handler/:bind* (name keyword arg rest state)
+ (use-package-handler/:bind name keyword arg rest state 'bind-keys*))
+
+;;;; :bind-keymap, :bind-keymap*
+
+;;;###autoload
+(defalias 'use-package-normalize/:bind-keymap 'use-package-normalize-binder)
+;;;###autoload
+(defalias 'use-package-normalize/:bind-keymap* 'use-package-normalize-binder)
+
+;;;###autoload
+(defun use-package-handler/:bind-keymap
+ (name _keyword args rest state &optional override)
+ (use-package-concat
+ (use-package-process-keywords name rest state)
+ (mapcar
+ #'(lambda (binding)
+ `(,(if override 'bind-key* 'bind-key)
+ ,(car binding)
+ #'(lambda ()
+ (interactive)
+ (use-package-autoload-keymap
+ ',(cdr binding) ',(use-package-as-symbol name)
+ ,override))))
+ args)))
+
+;;;###autoload
+(defun use-package-handler/:bind-keymap* (name keyword arg rest state)
+ (use-package-handler/:bind-keymap name keyword arg rest state t))
+
+(provide 'use-package-bind-key)
+
+;;; use-package-bind-key.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-core.el b/emacs.d/elpa/use-package-20200322.2110/use-package-core.el
new file mode 100644
index 0000000..c18877d
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-core.el
@@ -0,0 +1,1595 @@
+;;; use-package-core.el --- A configuration macro for simplifying your .emacs -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 29 Nov 2017
+;; Version: 2.4
+;; Package-Requires: ((emacs "24.3"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; The `use-package' declaration macro allows you to isolate package
+;; configuration in your ".emacs" in a way that is performance-oriented and,
+;; well, just tidy. I created it because I have over 80 packages that I use
+;; in Emacs, and things were getting difficult to manage. Yet with this
+;; utility my total load time is just under 1 second, with no loss of
+;; functionality!
+;;
+;; Please see README.md from the same repository for documentation.
+
+;;; Code:
+
+(require 'bytecomp)
+(require 'cl-lib)
+(require 'tabulated-list)
+
+(if (and (eq emacs-major-version 24) (eq emacs-minor-version 3))
+ (defsubst hash-table-keys (hash-table)
+ "Return a list of keys in HASH-TABLE."
+ (cl-loop for k being the hash-keys of hash-table collect k))
+ (eval-when-compile (require 'subr-x)))
+
+(eval-when-compile
+ (require 'regexp-opt))
+
+(defgroup use-package nil
+ "A use-package declaration for simplifying your `.emacs'."
+ :group 'startup)
+
+(defconst use-package-version "2.4"
+ "This version of use-package.")
+
+(defcustom use-package-keywords
+ '(:disabled
+ :load-path
+ :requires
+ :defines
+ :functions
+ :preface
+ :if :when :unless
+ :no-require
+ :catch
+ :after
+ :custom
+ :custom-face
+ :bind
+ :bind*
+ :bind-keymap
+ :bind-keymap*
+ :interpreter
+ :mode
+ :magic
+ :magic-fallback
+ :hook
+ ;; Any other keyword that also declares commands to be autoloaded (such as
+ ;; :bind) must appear before this keyword.
+ :commands
+ :init
+ :defer
+ :demand
+ :load
+ ;; This must occur almost last; the only forms which should appear after
+ ;; are those that must happen directly after the config forms.
+ :config)
+ "The set of valid keywords, in the order they are processed in.
+The order of this list is *very important*, so it is only
+advisable to insert new keywords, never to delete or reorder
+them. Further, attention should be paid to the NEWS.md if the
+default order ever changes, as they may have subtle effects on
+the semantics of use-package declarations and may necessitate
+changing where you had inserted a new keyword earlier.
+
+Note that `:disabled' is special in this list, as it causes
+nothing at all to happen, even if the rest of the use-package
+declaration is incorrect."
+ :type '(repeat symbol)
+ :group 'use-package)
+
+(defcustom use-package-deferring-keywords
+ '(:bind-keymap
+ :bind-keymap*
+ :commands)
+ "Unless `:demand' is used, keywords in this list imply deferred loading.
+The reason keywords like `:hook' are not in this list is that
+they only imply deferred loading if they reference actual
+function symbols that can be autoloaded from the module; whereas
+the default keywords provided here always defer loading unless
+otherwise requested."
+ :type '(repeat symbol)
+ :group 'use-package)
+
+(defcustom use-package-ignore-unknown-keywords nil
+ "If non-nil, issue warning instead of error when unknown
+keyword is encountered. The unknown keyword and its associated
+arguments will be ignored in the `use-package' expansion."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-verbose nil
+ "Whether to report about loading and configuration details.
+If you customize this, then you should require the `use-package'
+feature in files that use `use-package', even if these files only
+contain compiled expansions of the macros. If you don't do so,
+then the expanded macros do their job silently."
+ :type '(choice (const :tag "Quiet, without catching errors" errors)
+ (const :tag "Quiet" nil)
+ (const :tag "Verbose" t)
+ (const :tag "Debug" debug))
+ :group 'use-package)
+
+(defcustom use-package-check-before-init nil
+ "If non-nil, check that package exists before executing its `:init' block.
+This check is performed by calling `locate-library'."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-always-defer nil
+ "If non-nil, assume `:defer t' unless `:demand' is used.
+See also `use-package-defaults', which uses this value."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-always-demand nil
+ "If non-nil, assume `:demand t' unless `:defer' is used.
+See also `use-package-defaults', which uses this value."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-defaults
+ '(;; this '(t) has special meaning; see `use-package-handler/:config'
+ (:config '(t) t)
+ (:init nil t)
+ (:catch t (lambda (name args)
+ (not use-package-expand-minimally)))
+ (:defer use-package-always-defer
+ (lambda (name args)
+ (and use-package-always-defer
+ (not (plist-member args :defer))
+ (not (plist-member args :demand)))))
+ (:demand use-package-always-demand
+ (lambda (name args)
+ (and use-package-always-demand
+ (not (plist-member args :defer))
+ (not (plist-member args :demand))))))
+ "Default values for specified `use-package' keywords.
+Each entry in the alist is a list of three elements:
+The first element is the `use-package' keyword.
+
+The second is a form that can be evaluated to get the default
+value. It can also be a function that will receive the name of
+the use-package declaration and the keyword plist given to
+`use-package', in normalized form. The value it returns should
+also be in normalized form (which is sometimes *not* what one
+would normally write in a `use-package' declaration, so use
+caution).
+
+The third element is a form that can be evaluated to determine
+whether or not to assign a default value; if it evaluates to nil,
+then the default value is not assigned even if the keyword is not
+present in the `use-package' form. This third element may also be
+a function, in which case it receives the name of the package (as
+a symbol) and a list of keywords (in normalized form). It should
+return nil or non-nil depending on whether defaulting should be
+attempted."
+ :type `(repeat
+ (list (choice :tag "Keyword"
+ ,@(mapcar #'(lambda (k) (list 'const k))
+ use-package-keywords))
+ (choice :tag "Default value" sexp function)
+ (choice :tag "Enable if non-nil" sexp function)))
+ :group 'use-package)
+
+(defcustom use-package-merge-key-alist
+ '((:if . (lambda (new old) `(and ,new ,old)))
+ (:after . (lambda (new old) `(:all ,new ,old)))
+ (:defer . (lambda (new old) old))
+ (:bind . (lambda (new old) (append new (list :break) old))))
+ "Alist of keys and the functions used to merge multiple values.
+For example, if the following form is provided:
+
+ (use-package foo :if pred1 :if pred2)
+
+Then based on the above defaults, the merged result will be:
+
+ (use-package foo :if (and pred1 pred2))
+
+This is done so that, at the stage of invoking handlers, each
+handler is called only once."
+ :type `(repeat
+ (cons (choice :tag "Keyword"
+ ,@(mapcar #'(lambda (k) (list 'const k))
+ use-package-keywords)
+ (const :tag "Any" t))
+ function))
+ :group 'use-package)
+
+(defcustom use-package-hook-name-suffix "-hook"
+ "Text append to the name of hooks mentioned by :hook.
+Set to nil if you don't want this to happen; it's only a
+convenience."
+ :type '(choice string (const :tag "No suffix" nil))
+ :group 'use-package)
+
+(defcustom use-package-minimum-reported-time 0.1
+ "Minimal load time that will be reported.
+Note that `use-package-verbose' has to be set to a non-nil value
+for anything to be reported at all."
+ :type 'number
+ :group 'use-package)
+
+(defcustom use-package-inject-hooks nil
+ "If non-nil, add hooks to the `:init' and `:config' sections.
+In particular, for a given package `foo', the following hooks
+become available:
+
+ `use-package--foo--pre-init-hook'
+ `use-package--foo--post-init-hook'
+ `use-package--foo--pre-config-hook'
+ `use-package--foo--post-config-hook'
+
+This way, you can add to these hooks before evaluation of a
+`use-package` declaration, and exercise some control over what
+happens.
+
+NOTE: These hooks are run even if the user does not specify an
+`:init' or `:config' block, and they will happen at the regular
+time when initialization and configuration would have been
+performed.
+
+NOTE: If the `pre-init' hook return a nil value, that block's
+user-supplied configuration is not evaluated, so be certain to
+return t if you only wish to add behavior to what the user had
+specified."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-expand-minimally nil
+ "If non-nil, make the expanded code as minimal as possible.
+This disables:
+
+ - Printing to the *Messages* buffer of slowly-evaluating forms
+ - Capturing of load errors (normally redisplayed as warnings)
+ - Conditional loading of packages (load failures become errors)
+
+The main advantage to this variable is that, if you know your
+configuration works, it will make the byte-compiled file as
+minimal as possible. It can also help with reading macro-expanded
+definitions, to understand the main intent of what's happening."
+ :type 'boolean
+ :group 'use-package)
+
+(defcustom use-package-form-regexp-eval
+ `(concat ,(eval-when-compile
+ (concat "^\\s-*("
+ (regexp-opt '("use-package" "require") t)
+ "\\s-+\\("))
+ (or (bound-and-true-p lisp-mode-symbol-regexp)
+ "\\(?:\\sw\\|\\s_\\|\\\\.\\)+") "\\)")
+ "Sexp providing regexp for finding use-package forms in user files.
+This is used by `use-package-jump-to-package-form' and
+`use-package-enable-imenu-support'."
+ :type 'sexp
+ :group 'use-package)
+
+(defcustom use-package-enable-imenu-support nil
+ "If non-nil, cause imenu to see `use-package' declarations.
+This is done by adjusting `lisp-imenu-generic-expression' to
+include support for finding `use-package' and `require' forms.
+
+Must be set before loading use-package."
+ :type 'boolean
+ :set
+ #'(lambda (_sym value)
+ (eval-after-load 'lisp-mode
+ (if value
+ `(add-to-list 'lisp-imenu-generic-expression
+ (list "Packages" ,use-package-form-regexp-eval 2))
+ `(setq lisp-imenu-generic-expression
+ (remove (list "Packages" ,use-package-form-regexp-eval 2)
+ lisp-imenu-generic-expression)))))
+ :group 'use-package)
+
+(defconst use-package-font-lock-keywords
+ '(("(\\(use-package\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
+ (1 font-lock-keyword-face)
+ (2 font-lock-constant-face nil t))))
+
+(font-lock-add-keywords 'emacs-lisp-mode use-package-font-lock-keywords)
+
+(defcustom use-package-compute-statistics nil
+ "If non-nil, compute statistics concerned use-package declarations.
+View the statistical report using `use-package-report'. Note that
+if this option is enabled, you must require `use-package' in your
+user init file at loadup time, or you will see errors concerning
+undefined variables."
+ :type 'boolean
+ :group 'use-package)
+
+(defvar use-package-statistics (make-hash-table))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Utility functions
+;;
+
+(defsubst use-package-error (msg)
+ "Report MSG as an error, so the user knows it came from this package."
+ (error "use-package: %s" msg))
+
+(defsubst use-package-concat (&rest elems)
+ "Delete all empty lists from ELEMS (nil or (list nil)), and append them."
+ (apply #'append (delete nil (delete (list nil) elems))))
+
+(defsubst use-package-non-nil-symbolp (sym)
+ (and sym (symbolp sym)))
+
+(defsubst use-package-as-symbol (string-or-symbol)
+ "If STRING-OR-SYMBOL is already a symbol, return it. Otherwise
+convert it to a symbol and return that."
+ (if (symbolp string-or-symbol) string-or-symbol
+ (intern string-or-symbol)))
+
+(defsubst use-package-as-string (string-or-symbol)
+ "If STRING-OR-SYMBOL is already a string, return it. Otherwise
+convert it to a string and return that."
+ (if (stringp string-or-symbol) string-or-symbol
+ (symbol-name string-or-symbol)))
+
+(defsubst use-package-regex-p (re)
+ "Return t if RE is some regexp-like thing."
+ (or (and (listp re) (eq (car re) 'rx))
+ (stringp re)))
+
+(defun use-package-normalize-regex (re)
+ "Given some regexp-like thing in RE, resolve to a regular expression."
+ (cond
+ ((and (listp re) (eq (car re) 'rx)) (eval re))
+ ((stringp re) re)
+ (t (error "Not recognized as regular expression: %s" re))))
+
+(defsubst use-package-is-pair (x car-pred cdr-pred)
+ "Return non-nil if X is a cons satisfying the given predicates.
+CAR-PRED and CDR-PRED are applied to X's `car' and `cdr',
+respectively."
+ (and (consp x)
+ (funcall car-pred (car x))
+ (funcall cdr-pred (cdr x))))
+
+(defun use-package-as-mode (string-or-symbol)
+ "If STRING-OR-SYMBOL ends in `-mode' (or its name does), return
+it as a symbol. Otherwise, return it as a symbol with `-mode'
+appended."
+ (let ((string (use-package-as-string string-or-symbol)))
+ (intern (if (string-match "-mode\\'" string)
+ string
+ (concat string "-mode")))))
+
+(defsubst use-package-load-name (name &optional noerror)
+ "Return a form which will load or require NAME.
+It does the right thing no matter if NAME is a string or symbol.
+Argument NOERROR means to indicate load failures as a warning."
+ (if (stringp name)
+ `(load ,name ,noerror)
+ `(require ',name nil ,noerror)))
+
+(defun use-package-hook-injector (name-string keyword body)
+ "Wrap pre/post hook injections around the given BODY for KEYWORD.
+The BODY is a list of forms, so `((foo))' if only `foo' is being called."
+ (if (not use-package-inject-hooks)
+ body
+ (let ((keyword-name (substring (format "%s" keyword) 1)))
+ `((when (run-hook-with-args-until-failure
+ ',(intern (concat "use-package--" name-string
+ "--pre-" keyword-name "-hook")))
+ ,@body
+ (run-hooks
+ ',(intern (concat "use-package--" name-string
+ "--post-" keyword-name "-hook"))))))))
+
+(defun use-package-with-elapsed-timer (text body)
+ "BODY is a list of forms, so `((foo))' if only `foo' is being called."
+ (declare (indent 1))
+ (if use-package-expand-minimally
+ body
+ (let ((nowvar (make-symbol "now")))
+ (if (bound-and-true-p use-package-verbose)
+ `((let ((,nowvar (current-time)))
+ (message "%s..." ,text)
+ (prog1
+ ,(macroexp-progn body)
+ (let ((elapsed
+ (float-time (time-subtract (current-time) ,nowvar))))
+ (if (> elapsed ,use-package-minimum-reported-time)
+ (message "%s...done (%.3fs)" ,text elapsed)
+ (message "%s...done" ,text))))))
+ body))))
+
+(put 'use-package-with-elapsed-timer 'lisp-indent-function 1)
+
+(defun use-package-require (name &optional no-require body)
+ (if use-package-expand-minimally
+ (use-package-concat
+ (unless no-require
+ (list (use-package-load-name name)))
+ body)
+ (if no-require
+ body
+ (use-package-with-elapsed-timer
+ (format "Loading package %s" name)
+ `((if (not ,(use-package-load-name name t))
+ (display-warning 'use-package
+ (format "Cannot load %s" ',name)
+ :error)
+ ,@body))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Property lists
+;;
+
+(defun use-package-plist-delete (plist property)
+ "Delete PROPERTY from PLIST.
+This is in contrast to merely setting it to 0."
+ (let (p)
+ (while plist
+ (if (not (eq property (car plist)))
+ (setq p (plist-put p (car plist) (nth 1 plist))))
+ (setq plist (cddr plist)))
+ p))
+
+(defun use-package-plist-delete-first (plist property)
+ "Delete PROPERTY from PLIST.
+This is in contrast to merely setting it to 0."
+ (let (p)
+ (while plist
+ (if (eq property (car plist))
+ (setq p (nconc p (cddr plist))
+ plist nil)
+ (setq p (nconc p (list (car plist) (cadr plist)))
+ plist (cddr plist))))
+ p))
+
+(defsubst use-package-plist-maybe-put (plist property value)
+ "Add a VALUE for PROPERTY to PLIST, if it does not already exist."
+ (if (plist-member plist property)
+ plist
+ (plist-put plist property value)))
+
+(defsubst use-package-plist-cons (plist property value)
+ "Cons VALUE onto the head of the list at PROPERTY in PLIST."
+ (plist-put plist property (cons value (plist-get plist property))))
+
+(defsubst use-package-plist-append (plist property value)
+ "Append VALUE onto the front of the list at PROPERTY in PLIST."
+ (plist-put plist property (append value (plist-get plist property))))
+
+(defun use-package-split-list (pred xs)
+ (let ((ys (list nil)) (zs (list nil)) flip)
+ (cl-dolist (x xs)
+ (if flip
+ (nconc zs (list x))
+ (if (funcall pred x)
+ (progn
+ (setq flip t)
+ (nconc zs (list x)))
+ (nconc ys (list x)))))
+ (cons (cdr ys) (cdr zs))))
+
+(defun use-package-split-list-at-keys (key lst)
+ (and lst
+ (let ((xs (use-package-split-list (apply-partially #'eq key) lst)))
+ (cons (car xs) (use-package-split-list-at-keys key (cddr xs))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Keywords
+;;
+
+(defun use-package-keyword-index (keyword)
+ (cl-loop named outer
+ with index = 0
+ for k in use-package-keywords do
+ (if (eq k keyword)
+ (cl-return-from outer index))
+ (cl-incf index)))
+
+(defun use-package-normalize-plist (name input &optional plist merge-function)
+ "Given a pseudo-plist, normalize it to a regular plist.
+The normalized key/value pairs from input are added to PLIST,
+extending any keys already present."
+ (if (null input)
+ plist
+ (let* ((keyword (car input))
+ (xs (use-package-split-list #'keywordp (cdr input)))
+ (args (car xs))
+ (tail (cdr xs))
+ (normalizer
+ (intern-soft (concat "use-package-normalize/"
+ (symbol-name keyword))))
+ (arg (and (functionp normalizer)
+ (funcall normalizer name keyword args)))
+ (error-string (format "Unrecognized keyword: %s" keyword)))
+ (if (memq keyword use-package-keywords)
+ (progn
+ (setq plist (use-package-normalize-plist
+ name tail plist merge-function))
+ (plist-put plist keyword
+ (if (plist-member plist keyword)
+ (funcall merge-function keyword arg
+ (plist-get plist keyword))
+ arg)))
+ (if use-package-ignore-unknown-keywords
+ (progn
+ (display-warning 'use-package error-string)
+ (use-package-normalize-plist
+ name tail plist merge-function))
+ (use-package-error error-string))))))
+
+(defun use-package-unalias-keywords (_name args)
+ (setq args (cl-nsubstitute :if :when args))
+ (let (temp)
+ (while (setq temp (plist-get args :unless))
+ (setq args (use-package-plist-delete-first args :unless)
+ args (append args `(:if (not ,temp))))))
+ args)
+
+(defun use-package-merge-keys (key new old)
+ (let ((merger (assq key use-package-merge-key-alist)))
+ (if merger
+ (funcall (cdr merger) new old)
+ (append new old))))
+
+(defun use-package-sort-keywords (plist)
+ (let (plist-grouped)
+ (while plist
+ (push (cons (car plist) (cadr plist))
+ plist-grouped)
+ (setq plist (cddr plist)))
+ (let (result)
+ (cl-dolist
+ (x
+ (nreverse
+ (sort plist-grouped
+ #'(lambda (l r) (< (use-package-keyword-index (car l))
+ (use-package-keyword-index (car r)))))))
+ (setq result (cons (car x) (cons (cdr x) result))))
+ result)))
+
+(defun use-package-normalize-keywords (name args)
+ (let* ((name-symbol (if (stringp name) (intern name) name))
+ (name-string (symbol-name name-symbol)))
+
+ ;; The function `elisp--local-variables' inserts this unbound variable into
+ ;; macro forms to determine the locally bound variables for
+ ;; `elisp-completion-at-point'. It ends up throwing a lot of errors since it
+ ;; can occupy the position of a keyword (or look like a second argument to a
+ ;; keyword that takes one). Deleting it when it's at the top level should be
+ ;; harmless since there should be no locally bound variables to discover
+ ;; here anyway.
+ (setq args (delq 'elisp--witness--lisp args))
+
+ ;; Reduce the set of keywords down to its most fundamental expression.
+ (setq args (use-package-unalias-keywords name-symbol args))
+
+ ;; Normalize keyword values, coalescing multiple occurrences.
+ (setq args (use-package-normalize-plist name-symbol args nil
+ #'use-package-merge-keys))
+
+ ;; Add default values for keywords not specified, when applicable.
+ (cl-dolist (spec use-package-defaults)
+ (when (let ((func (nth 2 spec)))
+ (if (and func (functionp func))
+ (funcall func name args)
+ (eval func)))
+ (setq args (use-package-plist-maybe-put
+ args (nth 0 spec)
+ (let ((func (nth 1 spec)))
+ (if (and func (functionp func))
+ (funcall func name args)
+ (eval func)))))))
+
+ ;; Determine any autoloads implied by the keywords used.
+ (let ((iargs args)
+ commands)
+ (while iargs
+ (when (keywordp (car iargs))
+ (let ((autoloads
+ (intern-soft (concat "use-package-autoloads/"
+ (symbol-name (car iargs))))))
+ (when (functionp autoloads)
+ (setq commands
+ ;; jww (2017-12-07): Right now we just ignored the type of
+ ;; the autoload being requested, and assume they are all
+ ;; `command'.
+ (append (mapcar
+ #'car
+ (funcall autoloads name-symbol (car iargs)
+ (cadr iargs)))
+ commands)))))
+ (setq iargs (cddr iargs)))
+ (when commands
+ (setq args
+ ;; Like `use-package-plist-append', but removing duplicates.
+ (plist-put args :commands
+ (delete-dups
+ (append commands (plist-get args :commands)))))))
+
+ ;; If byte-compiling, pre-load the package so all its symbols are in
+ ;; scope. This is done by prepending statements to the :preface.
+ (when (bound-and-true-p byte-compile-current-file)
+ (setq args
+ (use-package-plist-append
+ args :preface
+ (use-package-concat
+ (mapcar #'(lambda (var) `(defvar ,var))
+ (plist-get args :defines))
+ (mapcar #'(lambda (fn) `(declare-function ,fn ,name-string))
+ (plist-get args :functions))
+ `((eval-when-compile
+ (with-demoted-errors
+ ,(format "Cannot load %s: %%S" name-string)
+ ,(when (eq use-package-verbose 'debug)
+ `(message ,(format "Compiling package %s" name-string)))
+ ,(unless (plist-get args :no-require)
+ `(unless (featurep ',name-symbol)
+ (load ,name-string nil t))))))))))
+
+ ;; Certain keywords imply :defer, if :demand was not specified.
+ (when (and (not (plist-member args :demand))
+ (not (plist-member args :defer))
+ (not (or (equal '(t) (plist-get args :load))
+ (equal (list (use-package-as-string name))
+ (mapcar #'use-package-as-string
+ (plist-get args :load)))))
+ (cl-some #'identity
+ (mapcar (apply-partially #'plist-member args)
+ use-package-deferring-keywords)))
+ (setq args (append args '(:defer t))))
+
+ ;; The :load keyword overrides :no-require
+ (when (and (plist-member args :load)
+ (plist-member args :no-require))
+ (setq args (use-package-plist-delete args :no-require)))
+
+ ;; If at this point no :load, :defer or :no-require has been seen, then
+ ;; :load the package itself.
+ (when (and (not (plist-member args :load))
+ (not (plist-member args :defer))
+ (not (plist-member args :no-require)))
+ (setq args (append args `(:load (,name)))))
+
+ ;; Sort the list of keywords based on the order of `use-package-keywords'.
+ (use-package-sort-keywords args)))
+
+(defun use-package-process-keywords (name plist &optional state)
+ "Process the next keyword in the free-form property list PLIST.
+The values in the PLIST have each been normalized by the function
+use-package-normalize/KEYWORD (minus the colon).
+
+STATE is a property list that the function may modify and/or
+query. This is useful if a package defines multiple keywords and
+wishes them to have some kind of stateful interaction.
+
+Unless the KEYWORD being processed intends to ignore remaining
+keywords, it must call this function recursively, passing in the
+plist with its keyword and argument removed, and passing in the
+next value for the STATE."
+ (declare (indent 1))
+ (unless (null plist)
+ (let* ((keyword (car plist))
+ (arg (cadr plist))
+ (rest (cddr plist)))
+ (unless (keywordp keyword)
+ (use-package-error (format "%s is not a keyword" keyword)))
+ (let* ((handler (concat "use-package-handler/" (symbol-name keyword)))
+ (handler-sym (intern handler)))
+ (if (functionp handler-sym)
+ (funcall handler-sym name keyword arg rest state)
+ (use-package-error
+ (format "Keyword handler not defined: %s" handler)))))))
+
+(put 'use-package-process-keywords 'lisp-indent-function 'defun)
+
+(defun use-package-list-insert (elem xs &optional anchor after test)
+ "Insert ELEM into the list XS.
+If ANCHOR is also a keyword, place the new KEYWORD before that
+one.
+If AFTER is non-nil, insert KEYWORD either at the end of the
+keywords list, or after the ANCHOR if one has been provided.
+If TEST is non-nil, it is the test used to compare ELEM to list
+elements. The default is `eq'.
+The modified list is returned. The original list is not modified."
+ (let (result)
+ (dolist (k xs)
+ (if (funcall (or test #'eq) k anchor)
+ (if after
+ (setq result (cons k result)
+ result (cons elem result))
+ (setq result (cons elem result)
+ result (cons k result)))
+ (setq result (cons k result))))
+ (if anchor
+ (nreverse result)
+ (if after
+ (nreverse (cons elem result))
+ (cons elem (nreverse result))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Argument Processing
+;;
+
+(defun use-package-only-one (label args f)
+ "Call F on the first member of ARGS if it has exactly one element."
+ (declare (indent 1))
+ (cond
+ ((and (listp args) (listp (cdr args))
+ (= (length args) 1))
+ (funcall f label (car args)))
+ (t
+ (use-package-error
+ (concat label " wants exactly one argument")))))
+
+(put 'use-package-only-one 'lisp-indent-function 'defun)
+
+(defun use-package-as-one (label args f &optional allow-empty)
+ "Call F on the first element of ARGS if it has one element, or all of ARGS.
+If ALLOW-EMPTY is non-nil, it's OK for ARGS to be an empty list."
+ (declare (indent 1))
+ (if (if args
+ (and (listp args) (listp (cdr args)))
+ allow-empty)
+ (if (= (length args) 1)
+ (funcall f label (car args))
+ (funcall f label args))
+ (use-package-error
+ (concat label " wants a non-empty list"))))
+
+(put 'use-package-as-one 'lisp-indent-function 'defun)
+
+(defun use-package-memoize (f arg)
+ "Ensure the macro-expansion of F applied to ARG evaluates ARG
+no more than once."
+ (let ((loaded (cl-gentemp "use-package--loaded"))
+ (result (cl-gentemp "use-package--result"))
+ (next (cl-gentemp "use-package--next")))
+ `((defvar ,loaded nil)
+ (defvar ,result nil)
+ (defvar ,next #'(lambda () (if ,loaded ,result
+ (setq ,loaded t ,result ,arg))))
+ ,@(funcall f `((funcall ,next))))))
+
+(defsubst use-package-normalize-value (_label arg)
+ "Normalize the Lisp value given by ARG.
+The argument LABEL is ignored."
+ (cond ((null arg) nil)
+ ((eq t arg) t)
+ ((use-package-non-nil-symbolp arg)
+ `(symbol-value ',arg))
+ ((functionp arg)
+ `(funcall #',arg))
+ (t arg)))
+
+(defun use-package-normalize-symbols (label arg &optional recursed)
+ "Normalize a list of symbols."
+ (cond
+ ((use-package-non-nil-symbolp arg)
+ (list arg))
+ ((and (not recursed) (listp arg) (listp (cdr arg)))
+ (mapcar #'(lambda (x) (car (use-package-normalize-symbols label x t))) arg))
+ (t
+ (use-package-error
+ (concat label " wants a symbol, or list of symbols")))))
+
+(defun use-package-normalize-symlist (_name keyword args)
+ (use-package-as-one (symbol-name keyword) args
+ #'use-package-normalize-symbols))
+
+(defun use-package-normalize-recursive-symbols (label arg)
+ "Normalize a list of symbols."
+ (cond
+ ((use-package-non-nil-symbolp arg)
+ arg)
+ ((and (listp arg) (listp (cdr arg)))
+ (mapcar #'(lambda (x) (use-package-normalize-recursive-symbols label x))
+ arg))
+ (t
+ (use-package-error
+ (concat label " wants a symbol, or nested list of symbols")))))
+
+(defun use-package-normalize-recursive-symlist (_name keyword args)
+ (use-package-as-one (symbol-name keyword) args
+ #'use-package-normalize-recursive-symbols))
+
+(defun use-package-normalize-paths (label arg &optional recursed)
+ "Normalize a list of filesystem paths."
+ (cond
+ ((and arg (or (use-package-non-nil-symbolp arg) (functionp arg)))
+ (let ((value (use-package-normalize-value label arg)))
+ (use-package-normalize-paths label (eval value))))
+ ((stringp arg)
+ (let ((path (if (file-name-absolute-p arg)
+ arg
+ (expand-file-name arg user-emacs-directory))))
+ (list path)))
+ ((and (not recursed) (listp arg) (listp (cdr arg)))
+ (mapcar #'(lambda (x)
+ (car (use-package-normalize-paths label x t))) arg))
+ (t
+ (use-package-error
+ (concat label " wants a directory path, or list of paths")))))
+
+(defun use-package-normalize-predicate (_name keyword args)
+ (if (null args)
+ t
+ (use-package-only-one (symbol-name keyword) args
+ #'use-package-normalize-value)))
+
+(defun use-package-normalize-form (label args)
+ "Given a list of forms, return it wrapped in `progn'."
+ (unless (listp (car args))
+ (use-package-error (concat label " wants a sexp or list of sexps")))
+ (mapcar #'(lambda (form)
+ (if (and (consp form)
+ (memq (car form)
+ '(use-package bind-key bind-key*
+ unbind-key bind-keys bind-keys*)))
+ (macroexpand form)
+ form)) args))
+
+(defun use-package-normalize-forms (_name keyword args)
+ (use-package-normalize-form (symbol-name keyword) args))
+
+(defun use-package-normalize-pairs
+ (key-pred val-pred name label arg &optional recursed)
+ "Normalize a list of pairs.
+KEY-PRED and VAL-PRED are predicates recognizing valid keys and
+values, respectively.
+If RECURSED is non-nil, recurse into sublists."
+ (cond
+ ((funcall key-pred arg)
+ (list (cons arg (use-package-as-symbol name))))
+ ((use-package-is-pair arg key-pred val-pred)
+ (list arg))
+ ((and (not recursed) (listp arg) (listp (cdr arg)))
+ (let (last-item)
+ (mapcar
+ #'(lambda (x)
+ (prog1
+ (let ((ret (use-package-normalize-pairs
+ key-pred val-pred name label x t)))
+ (if (and (listp ret)
+ (not (keywordp last-item)))
+ (car ret)
+ ret))
+ (setq last-item x))) arg)))
+ (t arg)))
+
+(defun use-package-recognize-function (v &optional binding additional-pred)
+ "A predicate that recognizes functional constructions:
+ nil
+ sym
+ 'sym
+ (quote sym)
+ #'sym
+ (function sym)
+ (lambda () ...)
+ '(lambda () ...)
+ (quote (lambda () ...))
+ #'(lambda () ...)
+ (function (lambda () ...))"
+ (or (if binding
+ (symbolp v)
+ (use-package-non-nil-symbolp v))
+ (and (listp v)
+ (memq (car v) '(quote function))
+ (use-package-non-nil-symbolp (cadr v)))
+ (if binding (commandp v) (functionp v))
+ (and additional-pred
+ (funcall additional-pred v))))
+
+(defun use-package-normalize-function (v)
+ "Reduce functional constructions to one of two normal forms:
+ sym
+ #'(lambda () ...)"
+ (cond ((symbolp v) v)
+ ((and (listp v)
+ (memq (car v) '(quote function))
+ (use-package-non-nil-symbolp (cadr v)))
+ (cadr v))
+ ((and (consp v)
+ (eq 'lambda (car v)))
+ v)
+ ((and (listp v)
+ (memq (car v) '(quote function))
+ (eq 'lambda (car (cadr v))))
+ (cadr v))
+ (t v)))
+
+(defun use-package-normalize-commands (args)
+ "Map over ARGS of the form ((_ . F) ...), normalizing functional F's."
+ (mapcar #'(lambda (x)
+ (if (consp x)
+ (cons (car x) (use-package-normalize-function (cdr x)))
+ x))
+ args))
+
+(defun use-package-normalize-mode (name keyword args)
+ "Normalize arguments for keywords which add regexp/mode pairs to an alist."
+ (use-package-as-one (symbol-name keyword) args
+ (apply-partially #'use-package-normalize-pairs
+ #'use-package-regex-p
+ #'use-package-recognize-function
+ name)))
+
+(defun use-package-autoloads-mode (_name _keyword args)
+ (mapcar
+ #'(lambda (x) (cons (cdr x) 'command))
+ (cl-remove-if-not #'(lambda (x)
+ (and (consp x)
+ (use-package-non-nil-symbolp (cdr x))))
+ args)))
+
+(defun use-package-handle-mode (name alist args rest state)
+ "Handle keywords which add regexp/mode pairs to an alist."
+ (use-package-concat
+ (use-package-process-keywords name rest state)
+ (mapcar
+ #'(lambda (thing)
+ `(add-to-list
+ ',alist
+ ',(cons (use-package-normalize-regex (car thing))
+ (cdr thing))))
+ (use-package-normalize-commands args))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Statistics
+;;
+
+(defun use-package-reset-statistics ()
+ (interactive)
+ (setq use-package-statistics (make-hash-table)))
+
+(defun use-package-statistics-status (package)
+ "Return loading configuration status of PACKAGE statistics."
+ (cond ((gethash :config package) "Configured")
+ ((gethash :init package) "Initialized")
+ ((gethash :preface package) "Prefaced")
+ ((gethash :use-package package) "Declared")))
+
+(defun use-package-statistics-last-event (package)
+ "Return the date when PACKAGE's status last changed.
+The date is returned as a string."
+ (format-time-string "%Y-%m-%d %a %H:%M"
+ (or (gethash :config package)
+ (gethash :init package)
+ (gethash :preface package)
+ (gethash :use-package package))))
+
+(defun use-package-statistics-time (package)
+ "Return the time is took for PACKAGE to load."
+ (+ (float-time (gethash :config-secs package '(0 0 0 0)))
+ (float-time (gethash :init-secs package '(0 0 0 0)))
+ (float-time (gethash :preface-secs package '(0 0 0 0)))
+ (float-time (gethash :use-package-secs package '(0 0 0 0)))))
+
+(defun use-package-statistics-convert (package)
+ "Return information about PACKAGE.
+
+The information is formatted in a way suitable for
+`use-package-statistics-mode'."
+ (let ((statistics (gethash package use-package-statistics)))
+ (list
+ package
+ (vector
+ (symbol-name package)
+ (use-package-statistics-status statistics)
+ (use-package-statistics-last-event statistics)
+ (format "%.2f" (use-package-statistics-time statistics))))))
+
+(defun use-package-report ()
+ "Show current statistics gathered about use-package declarations.
+In the table that's generated, the status field has the following
+meaning:
+ Configured :config has been processed (the package is loaded!)
+ Initialized :init has been processed (load status unknown)
+ Prefaced :preface has been processed
+ Declared the use-package declaration was seen"
+ (interactive)
+ (with-current-buffer (get-buffer-create "*use-package statistics*")
+ (setq tabulated-list-entries
+ (mapcar #'use-package-statistics-convert
+ (hash-table-keys use-package-statistics)))
+ (use-package-statistics-mode)
+ (tabulated-list-print)
+ (display-buffer (current-buffer))))
+
+(define-derived-mode use-package-statistics-mode tabulated-list-mode
+ "use-package statistics"
+ "Show current statistics gathered about use-package declarations."
+ (setq tabulated-list-format
+ ;; The sum of column width is 80 characters:
+ #[("Package" 25 t)
+ ("Status" 13 t)
+ ("Last Event" 23 t)
+ ("Time" 10 t)])
+ (tabulated-list-init-header))
+
+(defun use-package-statistics-gather (keyword name after)
+ (let* ((hash (gethash name use-package-statistics
+ (make-hash-table)))
+ (before (and after (gethash keyword hash (current-time)))))
+ (puthash keyword (current-time) hash)
+ (when after
+ (puthash (intern (concat (symbol-name keyword) "-secs"))
+ (time-subtract (current-time) before) hash))
+ (puthash name hash use-package-statistics)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Handlers
+;;
+
+;;;; :disabled
+
+;; Don't alias this to `ignore', as that will cause the resulting
+;; function to be interactive.
+(defun use-package-normalize/:disabled (_name _keyword _arg)
+ "Do nothing, return nil.")
+
+(defun use-package-handler/:disabled (name _keyword _arg rest state)
+ (use-package-process-keywords name rest state))
+
+;;;; :if, :when and :unless
+
+(defun use-package-normalize-test (_name keyword args)
+ (use-package-only-one (symbol-name keyword) args
+ #'use-package-normalize-value))
+
+(defalias 'use-package-normalize/:if 'use-package-normalize-test)
+
+(defun use-package-handler/:if (name _keyword pred rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ `((when ,pred ,@body))))
+
+(defalias 'use-package-normalize/:when 'use-package-normalize-test)
+
+(defalias 'use-package-handler/:when 'use-package-handler/:if)
+
+(defalias 'use-package-normalize/:unless 'use-package-normalize-test)
+
+(defun use-package-handler/:unless (name _keyword pred rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ `((unless ,pred ,@body))))
+
+;;;; :requires
+
+(defalias 'use-package-normalize/:requires 'use-package-normalize-symlist)
+
+(defun use-package-handler/:requires (name _keyword requires rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (if (null requires)
+ body
+ `((when ,(if (> (length requires) 1)
+ `(not (member nil (mapcar #'featurep ',requires)))
+ `(featurep ',(car requires)))
+ ,@body)))))
+
+;;;; :load-path
+
+(defun use-package-normalize/:load-path (_name keyword args)
+ (use-package-as-one (symbol-name keyword) args
+ #'use-package-normalize-paths))
+
+(defun use-package-handler/:load-path (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (use-package-concat
+ (mapcar #'(lambda (path)
+ `(eval-and-compile (add-to-list 'load-path ,path)))
+ arg)
+ body)))
+
+;;;; :no-require
+
+(defalias 'use-package-normalize/:no-require 'use-package-normalize-predicate)
+
+(defun use-package-handler/:no-require (name _keyword _arg rest state)
+ (use-package-process-keywords name rest state))
+
+;;;; :defines
+
+(defalias 'use-package-normalize/:defines 'use-package-normalize-symlist)
+
+(defun use-package-handler/:defines (name _keyword _arg rest state)
+ (use-package-process-keywords name rest state))
+
+;;;; :functions
+
+(defalias 'use-package-normalize/:functions 'use-package-normalize-symlist)
+
+(defun use-package-handler/:functions (name _keyword _arg rest state)
+ (use-package-process-keywords name rest state))
+
+;;;; :preface
+
+(defalias 'use-package-normalize/:preface 'use-package-normalize-forms)
+
+(defun use-package-handler/:preface (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (use-package-concat
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :preface ',name nil)))
+ (when arg
+ `((eval-and-compile ,@arg)))
+ body
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :preface ',name t))))))
+
+;;;; :catch
+
+(defvar use-package--form)
+(defvar use-package--hush-function #'(lambda (_keyword body) body))
+
+(defsubst use-package-hush (context keyword body)
+ `((condition-case-unless-debug err
+ ,(macroexp-progn body)
+ (error (funcall ,context ,keyword err)))))
+
+(defun use-package-normalize/:catch (_name keyword args)
+ (if (null args)
+ t
+ (use-package-only-one (symbol-name keyword) args
+ use-package--hush-function)))
+
+(defun use-package-handler/:catch (name keyword arg rest state)
+ (let* ((context (cl-gentemp "use-package--warning")))
+ (cond
+ ((not arg)
+ (use-package-process-keywords name rest state))
+ ((eq arg t)
+ `((defvar ,context
+ #'(lambda (keyword err)
+ (let ((msg (format "%s/%s: %s" ',name keyword
+ (error-message-string err))))
+ ,@(when (eq use-package-verbose 'debug)
+ `((with-current-buffer
+ (get-buffer-create "*use-package*")
+ (goto-char (point-max))
+ (insert "-----\n" msg ,use-package--form)
+ (emacs-lisp-mode))
+ (setq msg
+ (concat msg
+ " (see the *use-package* buffer)"))))
+ (display-warning 'use-package msg :error))))
+ ,@(let ((use-package--hush-function
+ (apply-partially #'use-package-hush context)))
+ (funcall use-package--hush-function keyword
+ (use-package-process-keywords name rest state)))))
+ ((functionp arg)
+ `((defvar ,context ,arg)
+ ,@(let ((use-package--hush-function
+ (apply-partially #'use-package-hush context)))
+ (funcall use-package--hush-function keyword
+ (use-package-process-keywords name rest state)))))
+ (t
+ (use-package-error "The :catch keyword expects 't' or a function")))))
+
+;;;; :interpreter
+
+(defalias 'use-package-normalize/:interpreter 'use-package-normalize-mode)
+(defalias 'use-package-autoloads/:interpreter 'use-package-autoloads-mode)
+
+(defun use-package-handler/:interpreter (name _keyword arg rest state)
+ (use-package-handle-mode name 'interpreter-mode-alist arg rest state))
+
+;;;; :mode
+
+(defalias 'use-package-normalize/:mode 'use-package-normalize-mode)
+(defalias 'use-package-autoloads/:mode 'use-package-autoloads-mode)
+
+(defun use-package-handler/:mode (name _keyword arg rest state)
+ (use-package-handle-mode name 'auto-mode-alist arg rest state))
+
+;;;; :magic
+
+(defalias 'use-package-normalize/:magic 'use-package-normalize-mode)
+(defalias 'use-package-autoloads/:magic 'use-package-autoloads-mode)
+
+(defun use-package-handler/:magic (name _keyword arg rest state)
+ (use-package-handle-mode name 'magic-mode-alist arg rest state))
+
+;;;; :magic-fallback
+
+(defalias 'use-package-normalize/:magic-fallback 'use-package-normalize-mode)
+(defalias 'use-package-autoloads/:magic-fallback 'use-package-autoloads-mode)
+
+(defun use-package-handler/:magic-fallback (name _keyword arg rest state)
+ (use-package-handle-mode name 'magic-fallback-mode-alist arg rest state))
+
+;;;; :hook
+
+(defun use-package-normalize/:hook (name keyword args)
+ (use-package-as-one (symbol-name keyword) args
+ #'(lambda (label arg)
+ (unless (or (use-package-non-nil-symbolp arg) (consp arg))
+ (use-package-error
+ (concat label " a <symbol> or (<symbol or list of symbols> . <symbol or function>)"
+ " or list of these")))
+ (use-package-normalize-pairs
+ #'(lambda (k)
+ (or (use-package-non-nil-symbolp k)
+ (and k (let ((every t))
+ (while (and every k)
+ (if (and (consp k)
+ (use-package-non-nil-symbolp (car k)))
+ (setq k (cdr k))
+ (setq every nil)))
+ every))))
+ #'use-package-recognize-function
+ name label arg))))
+
+(defalias 'use-package-autoloads/:hook 'use-package-autoloads-mode)
+
+(defun use-package-handler/:hook (name _keyword args rest state)
+ "Generate use-package custom keyword code."
+ (use-package-concat
+ (use-package-process-keywords name rest state)
+ (cl-mapcan
+ #'(lambda (def)
+ (let ((syms (car def))
+ (fun (cdr def)))
+ (when fun
+ (mapcar
+ #'(lambda (sym)
+ `(add-hook
+ (quote ,(intern
+ (concat (symbol-name sym)
+ use-package-hook-name-suffix)))
+ (function ,fun)))
+ (if (use-package-non-nil-symbolp syms) (list syms) syms)))))
+ (use-package-normalize-commands args))))
+
+;;;; :commands
+
+(defalias 'use-package-normalize/:commands 'use-package-normalize-symlist)
+
+(defun use-package-handler/:commands (name _keyword arg rest state)
+ (use-package-concat
+ ;; Since we deferring load, establish any necessary autoloads, and also
+ ;; keep the byte-compiler happy.
+ (let ((name-string (use-package-as-string name)))
+ (cl-mapcan
+ #'(lambda (command)
+ (when (symbolp command)
+ (append
+ (unless (plist-get state :demand)
+ `((unless (fboundp ',command)
+ (autoload #',command ,name-string nil t))))
+ (when (bound-and-true-p byte-compile-current-file)
+ `((eval-when-compile
+ (declare-function ,command ,name-string)))))))
+ (delete-dups arg)))
+ (use-package-process-keywords name rest state)))
+
+;;;; :defer
+
+(defalias 'use-package-normalize/:defer 'use-package-normalize-predicate)
+
+(defun use-package-handler/:defer (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (use-package-concat
+ ;; Load the package after a set amount of idle time, if the argument to
+ ;; `:defer' was a number.
+ (when (numberp arg)
+ `((run-with-idle-timer ,arg nil #'require
+ ',(use-package-as-symbol name) nil t)))
+ (if (or (not arg) (null body))
+ body
+ `((eval-after-load ',name ',(macroexp-progn body)))))))
+
+;;;; :after
+
+(defun use-package-normalize/:after (name keyword args)
+ (setq args (use-package-normalize-recursive-symlist name keyword args))
+ (if (consp args)
+ args
+ (list args)))
+
+(defun use-package-after-count-uses (features*)
+ "Count the number of time the body would appear in the result."
+ (cond ((use-package-non-nil-symbolp features*)
+ 1)
+ ((and (consp features*)
+ (memq (car features*) '(:or :any)))
+ (let ((num 0))
+ (cl-dolist (next (cdr features*))
+ (setq num (+ num (use-package-after-count-uses next))))
+ num))
+ ((and (consp features*)
+ (memq (car features*) '(:and :all)))
+ (apply #'max (mapcar #'use-package-after-count-uses
+ (cdr features*))))
+ ((listp features*)
+ (use-package-after-count-uses (cons :all features*)))))
+
+(defun use-package-require-after-load (features* body)
+ "Generate `eval-after-load' statements to represents FEATURES*.
+FEATURES* is a list containing keywords `:and' and `:all', where
+no keyword implies `:all'."
+ (cond
+ ((use-package-non-nil-symbolp features*)
+ `((eval-after-load ',features* ',(macroexp-progn body))))
+ ((and (consp features*)
+ (memq (car features*) '(:or :any)))
+ (cl-mapcan #'(lambda (x) (use-package-require-after-load x body))
+ (cdr features*)))
+ ((and (consp features*)
+ (memq (car features*) '(:and :all)))
+ (cl-dolist (next (cdr features*))
+ (setq body (use-package-require-after-load next body)))
+ body)
+ ((listp features*)
+ (use-package-require-after-load (cons :all features*) body))))
+
+(defun use-package-handler/:after (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state))
+ (uses (use-package-after-count-uses arg)))
+ (if (or (null uses) (null body))
+ body
+ (if (<= uses 1)
+ (use-package-require-after-load arg body)
+ (use-package-memoize
+ (apply-partially #'use-package-require-after-load arg)
+ (macroexp-progn body))))))
+
+;;;; :demand
+
+(defalias 'use-package-normalize/:demand 'use-package-normalize-predicate)
+
+(defun use-package-handler/:demand (name _keyword _arg rest state)
+ (use-package-process-keywords name rest state))
+
+;;;; :custom
+
+(defun use-package-normalize/:custom (_name keyword args)
+ "Normalize use-package custom keyword."
+ (use-package-as-one (symbol-name keyword) args
+ #'(lambda (label arg)
+ (unless (listp arg)
+ (use-package-error
+ (concat label " a (<symbol> <value> [comment])"
+ " or list of these")))
+ (if (use-package-non-nil-symbolp (car arg))
+ (list arg)
+ arg))))
+
+(defun use-package-handler/:custom (name _keyword args rest state)
+ "Generate use-package custom keyword code."
+ (use-package-concat
+ (mapcar
+ #'(lambda (def)
+ (let ((variable (nth 0 def))
+ (value (nth 1 def))
+ (comment (nth 2 def)))
+ (unless (and comment (stringp comment))
+ (setq comment (format "Customized with use-package %s" name)))
+ `(customize-set-variable (quote ,variable) ,value ,comment)))
+ args)
+ (use-package-process-keywords name rest state)))
+
+;;;; :custom-face
+
+(defun use-package-normalize/:custom-face (name-symbol _keyword arg)
+ "Normalize use-package custom-face keyword."
+ (let ((error-msg
+ (format "%s wants a (<symbol> <face-spec>) or list of these"
+ name-symbol)))
+ (unless (listp arg)
+ (use-package-error error-msg))
+ (cl-dolist (def arg arg)
+ (unless (listp def)
+ (use-package-error error-msg))
+ (let ((face (nth 0 def))
+ (spec (nth 1 def)))
+ (when (or (not face)
+ (not spec)
+ (> (length def) 2))
+ (use-package-error error-msg))))))
+
+(defun use-package-handler/:custom-face (name _keyword args rest state)
+ "Generate use-package custom-face keyword code."
+ (use-package-concat
+ (mapcar #'(lambda (def) `(custom-set-faces (backquote ,def))) args)
+ (use-package-process-keywords name rest state)))
+
+;;;; :init
+
+(defalias 'use-package-normalize/:init 'use-package-normalize-forms)
+
+(defun use-package-handler/:init (name _keyword arg rest state)
+ (use-package-concat
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :init ',name nil)))
+ (let ((init-body
+ (use-package-hook-injector (use-package-as-string name)
+ :init arg)))
+ (when init-body
+ (funcall use-package--hush-function :init
+ (if use-package-check-before-init
+ `((when (locate-library ,(use-package-as-string name))
+ ,@init-body))
+ init-body))))
+ (use-package-process-keywords name rest state)
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :init ',name t)))))
+
+;;;; :load
+
+(defun use-package-normalize/:load (name keyword args)
+ (setq args (use-package-normalize-recursive-symlist name keyword args))
+ (if (consp args)
+ args
+ (list args)))
+
+(defun use-package-handler/:load (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (cl-dolist (pkg arg)
+ (setq body (use-package-require (if (eq t pkg) name pkg) nil body)))
+ body))
+
+;;;; :config
+
+(defalias 'use-package-normalize/:config 'use-package-normalize-forms)
+
+(defun use-package-handler/:config (name _keyword arg rest state)
+ (let* ((body (use-package-process-keywords name rest state))
+ (name-symbol (use-package-as-symbol name)))
+ (use-package-concat
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :config ',name nil)))
+ (if (or (null arg) (equal arg '(t)))
+ body
+ (use-package-with-elapsed-timer
+ (format "Configuring package %s" name-symbol)
+ (funcall use-package--hush-function :config
+ (use-package-concat
+ (use-package-hook-injector
+ (symbol-name name-symbol) :config arg)
+ body
+ (list t)))))
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :config ',name t))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; The main macro
+;;
+
+(defmacro use-package-core (name args)
+ `(let* ((args* (use-package-normalize-keywords ,name ,args))
+ (use-package--form
+ (if (eq use-package-verbose 'debug)
+ (concat "\n\n"
+ (pp-to-string `(use-package ,name ,@,args))
+ "\n -->\n\n"
+ (pp-to-string `(use-package ,name ,@args*))
+ "\n ==>\n\n"
+ (pp-to-string
+ (macroexp-progn
+ (let ((use-package-verbose 'errors)
+ (use-package-expand-minimally t))
+ (use-package-process-keywords name args*
+ (and (plist-get args* :demand)
+ (list :demand t)))))))
+ "")))
+ (use-package-process-keywords name args*
+ (and (plist-get args* :demand)
+ (list :demand t)))))
+
+;;;###autoload
+(defmacro use-package (name &rest args)
+ "Declare an Emacs package by specifying a group of configuration options.
+
+For full documentation, please see the README file that came with
+this file. Usage:
+
+ (use-package package-name
+ [:keyword [option]]...)
+
+:init Code to run before PACKAGE-NAME has been loaded.
+:config Code to run after PACKAGE-NAME has been loaded. Note that
+ if loading is deferred for any reason, this code does not
+ execute until the lazy load has occurred.
+:preface Code to be run before everything except `:disabled'; this
+ can be used to define functions for use in `:if', or that
+ should be seen by the byte-compiler.
+
+:mode Form to be added to `auto-mode-alist'.
+:magic Form to be added to `magic-mode-alist'.
+:magic-fallback Form to be added to `magic-fallback-mode-alist'.
+:interpreter Form to be added to `interpreter-mode-alist'.
+
+:commands Define autoloads for commands that will be defined by the
+ package. This is useful if the package is being lazily
+ loaded, and you wish to conditionally call functions in your
+ `:init' block that are defined in the package.
+:hook Specify hook(s) to attach this package to.
+
+:bind Bind keys, and define autoloads for the bound commands.
+:bind* Bind keys, and define autoloads for the bound commands,
+ *overriding all minor mode bindings*.
+:bind-keymap Bind a key prefix to an auto-loaded keymap defined in the
+ package. This is like `:bind', but for keymaps.
+:bind-keymap* Like `:bind-keymap', but overrides all minor mode bindings
+
+:defer Defer loading of a package -- this is implied when using
+ `:commands', `:bind', `:bind*', `:mode', `:magic', `:hook',
+ `:magic-fallback', or `:interpreter'. This can be an integer,
+ to force loading after N seconds of idle time, if the package
+ has not already been loaded.
+:after Delay the use-package declaration until after the named modules
+ have loaded. Once load, it will be as though the use-package
+ declaration (without `:after') had been seen at that moment.
+:demand Prevent the automatic deferred loading introduced by constructs
+ such as `:bind' (see `:defer' for the complete list).
+
+:if EXPR Initialize and load only if EXPR evaluates to a non-nil value.
+:disabled The package is ignored completely if this keyword is present.
+:defines Declare certain variables to silence the byte-compiler.
+:functions Declare certain functions to silence the byte-compiler.
+:load-path Add to the `load-path' before attempting to load the package.
+:diminish Support for diminish.el (if installed).
+:delight Support for delight.el (if installed).
+:custom Call `customize-set-variable' with each variable definition.
+:custom-face Call `customize-set-faces' with each face definition.
+:ensure Loads the package using package.el if necessary.
+:pin Pin the package to an archive."
+ (declare (indent 1))
+ (unless (memq :disabled args)
+ (macroexp-progn
+ (use-package-concat
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :use-package ',name nil)))
+ (if (eq use-package-verbose 'errors)
+ (use-package-core name args)
+ (condition-case-unless-debug err
+ (use-package-core name args)
+ (error
+ (ignore
+ (display-warning
+ 'use-package
+ (format "Failed to parse package %s: %s"
+ name (error-message-string err)) :error)))))
+ (when use-package-compute-statistics
+ `((use-package-statistics-gather :use-package ',name t)))))))
+
+(put 'use-package 'lisp-indent-function 'defun)
+
+(provide 'use-package-core)
+
+;; Local Variables:
+;; indent-tabs-mode: nil
+;; End:
+
+;;; use-package-core.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-delight.el b/emacs.d/elpa/use-package-20200322.2110/use-package-delight.el
new file mode 100644
index 0000000..85d5c7c
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-delight.el
@@ -0,0 +1,91 @@
+;;; use-package-delight.el --- Support for the :delight keyword -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 3 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides support for the :delight keyword, which is made available by
+;; default by requiring `use-package'.
+
+;;; Code:
+
+(require 'use-package-core)
+
+(defun use-package-normalize-delight (name args)
+ "Normalize ARGS for a single call to `delight'."
+ (when (eq :eval (car args))
+ ;; Handle likely common mistake.
+ (use-package-error ":delight mode line constructs must be quoted"))
+ (cond ((and (= (length args) 1)
+ (use-package-non-nil-symbolp (car args)))
+ `(,(nth 0 args) nil ,name))
+ ((= (length args) 2)
+ `(,(nth 0 args) ,(nth 1 args) ,name))
+ ((= (length args) 3)
+ args)
+ (t
+ (use-package-error
+ ":delight expects `delight' arguments or a list of them"))))
+
+;;;###autoload
+(defun use-package-normalize/:delight (name _keyword args)
+ "Normalize arguments to delight."
+ (cond ((null args)
+ `((,(use-package-as-mode name) nil ,name)))
+ ((and (= (length args) 1)
+ (use-package-non-nil-symbolp (car args)))
+ `((,(car args) nil ,name)))
+ ((and (= (length args) 1)
+ (stringp (car args)))
+ `((,(use-package-as-mode name) ,(car args) ,name)))
+ ((and (= (length args) 1)
+ (listp (car args))
+ (eq 'quote (caar args)))
+ `((,(use-package-as-mode name) ,@(cdar args) ,name)))
+ ((and (= (length args) 2)
+ (listp (nth 1 args))
+ (eq 'quote (car (nth 1 args))))
+ `((,(car args) ,@(cdr (nth 1 args)) ,name)))
+ (t (mapcar
+ (apply-partially #'use-package-normalize-delight name)
+ (if (use-package-non-nil-symbolp (car args))
+ (list args)
+ args)))))
+
+;;;###autoload
+(defun use-package-handler/:delight (name _keyword args rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (use-package-concat
+ body
+ `((if (fboundp 'delight)
+ (delight '(,@args)))))))
+
+(add-to-list 'use-package-keywords :delight t)
+
+(provide 'use-package-delight)
+
+;;; use-package-delight.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-diminish.el b/emacs.d/elpa/use-package-20200322.2110/use-package-diminish.el
new file mode 100644
index 0000000..1f3895f
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-diminish.el
@@ -0,0 +1,80 @@
+;;; use-package-diminish.el --- Support for the :diminish keyword -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 3 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides support for the :diminish keyword, which is made available by
+;; default by requiring `use-package'.
+
+;;; Code:
+
+(require 'use-package-core)
+
+(defun use-package-normalize-diminish (name label arg &optional recursed)
+ "Normalize the arguments to diminish down to a list of one of two forms:
+ SYMBOL
+ (SYMBOL . STRING)"
+ (cond
+ ((not arg)
+ (list (use-package-as-mode name)))
+ ((use-package-non-nil-symbolp arg)
+ (list arg))
+ ((stringp arg)
+ (list (cons (use-package-as-mode name) arg)))
+ ((and (consp arg) (stringp (cdr arg)))
+ (list arg))
+ ((and (not recursed) (listp arg) (listp (cdr arg)))
+ (mapcar #'(lambda (x) (car (use-package-normalize-diminish
+ name label x t))) arg))
+ (t
+ (use-package-error
+ (concat label " wants a string, symbol, "
+ "(symbol . string) or list of these")))))
+
+;;;###autoload
+(defun use-package-normalize/:diminish (name keyword args)
+ (use-package-as-one (symbol-name keyword) args
+ (apply-partially #'use-package-normalize-diminish name) t))
+
+;;;###autoload
+(defun use-package-handler/:diminish (name _keyword arg rest state)
+ (let ((body (use-package-process-keywords name rest state)))
+ (use-package-concat
+ (mapcar #'(lambda (var)
+ `(if (fboundp 'diminish)
+ ,(if (consp var)
+ `(diminish ',(car var) ,(cdr var))
+ `(diminish ',var))))
+ arg)
+ body)))
+
+(add-to-list 'use-package-keywords :diminish t)
+
+(provide 'use-package-diminish)
+
+;;; use-package-diminish.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-ensure.el b/emacs.d/elpa/use-package-20200322.2110/use-package-ensure.el
new file mode 100644
index 0000000..50005a9
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-ensure.el
@@ -0,0 +1,214 @@
+;;; use-package-ensure.el --- Support for the :ensure and :pin keywords -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 3 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides support for the :ensure and :pin keywords, which is made available
+;; by default by requiring `use-package'.
+
+;;; Code:
+
+(require 'cl-lib)
+(require 'use-package-core)
+
+(defgroup use-package-ensure nil
+ "Support for :ensure and :pin keywords in use-package declarations."
+ :group 'use-package)
+
+(eval-when-compile
+ (declare-function package-installed-p "package")
+ (declare-function package-read-all-archive-contents "package" ()))
+
+(defcustom use-package-always-ensure nil
+ "Treat every package as though it had specified using `:ensure SEXP'.
+See also `use-package-defaults', which uses this value."
+ :type 'sexp
+ :group 'use-package-ensure)
+
+(defcustom use-package-always-pin nil
+ "Treat every package as though it had specified using `:pin SYM'.
+See also `use-package-defaults', which uses this value."
+ :type 'symbol
+ :group 'use-package-ensure)
+
+(defcustom use-package-ensure-function 'use-package-ensure-elpa
+ "Function that ensures a package is installed.
+This function is called with three arguments: the name of the
+package declared in the `use-package' form; the arguments passed
+to all `:ensure' keywords (always a list, even if only one); and
+the current `state' plist created by previous handlers.
+
+Note that this function is called whenever `:ensure' is provided,
+even if it is nil. It is up to the function to decide on the
+semantics of the various values for `:ensure'.
+
+This function should return non-nil if the package is installed.
+
+The default value uses package.el to install the package."
+ :type '(choice (const :tag "package.el" use-package-ensure-elpa)
+ (function :tag "Custom"))
+ :group 'use-package-ensure)
+
+;;;; :pin
+
+(defun use-package-normalize/:pin (_name keyword args)
+ (use-package-only-one (symbol-name keyword) args
+ #'(lambda (_label arg)
+ (cond
+ ((stringp arg) arg)
+ ((use-package-non-nil-symbolp arg) (symbol-name arg))
+ (t
+ (use-package-error
+ ":pin wants an archive name (a string)"))))))
+
+(eval-when-compile
+ (defvar package-pinned-packages)
+ (defvar package-archives))
+
+(defun use-package-archive-exists-p (archive)
+ "Check if a given ARCHIVE is enabled.
+
+ARCHIVE can be a string or a symbol or 'manual to indicate a
+manually updated package."
+ (if (member archive '(manual "manual"))
+ 't
+ (let ((valid nil))
+ (dolist (pa package-archives)
+ (when (member archive (list (car pa) (intern (car pa))))
+ (setq valid 't)))
+ valid)))
+
+(defun use-package-pin-package (package archive)
+ "Pin PACKAGE to ARCHIVE."
+ (unless (boundp 'package-pinned-packages)
+ (setq package-pinned-packages ()))
+ (let ((archive-symbol (if (symbolp archive) archive (intern archive)))
+ (archive-name (if (stringp archive) archive (symbol-name archive))))
+ (if (use-package-archive-exists-p archive-symbol)
+ (add-to-list 'package-pinned-packages (cons package archive-name))
+ (error "Archive '%s' requested for package '%s' is not available."
+ archive-name package))
+ (unless (bound-and-true-p package--initialized)
+ (package-initialize t))))
+
+(defun use-package-handler/:pin (name _keyword archive-name rest state)
+ (let ((body (use-package-process-keywords name rest state))
+ (pin-form (if archive-name
+ `(use-package-pin-package ',(use-package-as-symbol name)
+ ,archive-name))))
+ ;; Pinning should occur just before ensuring
+ ;; See `use-package-handler/:ensure'.
+ (if (bound-and-true-p byte-compile-current-file)
+ (eval pin-form) ; Eval when byte-compiling,
+ (push pin-form body)) ; or else wait until runtime.
+ body))
+
+;;;; :ensure
+
+(defvar package-archive-contents)
+
+;;;###autoload
+(defun use-package-normalize/:ensure (_name keyword args)
+ (if (null args)
+ (list t)
+ (use-package-only-one (symbol-name keyword) args
+ #'(lambda (_label arg)
+ (cond
+ ((symbolp arg)
+ (list arg))
+ ((and (listp arg) (= 3 (length arg))
+ (symbolp (nth 0 arg))
+ (eq :pin (nth 1 arg))
+ (or (stringp (nth 2 arg))
+ (symbolp (nth 2 arg))))
+ (list (cons (nth 0 arg) (nth 2 arg))))
+ (t
+ (use-package-error
+ (concat ":ensure wants an optional package name "
+ "(an unquoted symbol name), or (<symbol> :pin <string>)"))))))))
+
+(defun use-package-ensure-elpa (name args _state &optional _no-refresh)
+ (dolist (ensure args)
+ (let ((package
+ (or (and (eq ensure t) (use-package-as-symbol name))
+ ensure)))
+ (when package
+ (require 'package)
+ (when (consp package)
+ (use-package-pin-package (car package) (cdr package))
+ (setq package (car package)))
+ (unless (package-installed-p package)
+ (condition-case-unless-debug err
+ (progn
+ (when (assoc package (bound-and-true-p
+ package-pinned-packages))
+ (package-read-all-archive-contents))
+ (if (assoc package package-archive-contents)
+ (package-install package)
+ (package-refresh-contents)
+ (when (assoc package (bound-and-true-p
+ package-pinned-packages))
+ (package-read-all-archive-contents))
+ (package-install package))
+ t)
+ (error
+ (display-warning 'use-package
+ (format "Failed to install %s: %s"
+ name (error-message-string err))
+ :error))))))))
+
+;;;###autoload
+(defun use-package-handler/:ensure (name _keyword ensure rest state)
+ (let* ((body (use-package-process-keywords name rest state)))
+ ;; We want to avoid installing packages when the `use-package' macro is
+ ;; being macro-expanded by elisp completion (see `lisp--local-variables'),
+ ;; but still install packages when byte-compiling, to avoid requiring
+ ;; `package' at runtime.
+ (if (bound-and-true-p byte-compile-current-file)
+ ;; Eval when byte-compiling,
+ (funcall use-package-ensure-function name ensure state)
+ ;; or else wait until runtime.
+ (push `(,use-package-ensure-function ',name ',ensure ',state)
+ body))
+ body))
+
+(add-to-list 'use-package-defaults
+ '(:ensure (list use-package-always-ensure)
+ (lambda (name args)
+ (and use-package-always-ensure
+ (not (plist-member args :load-path))))) t)
+
+(add-to-list 'use-package-defaults
+ '(:pin use-package-always-pin use-package-always-pin) t)
+
+(add-to-list 'use-package-keywords :ensure)
+(add-to-list 'use-package-keywords :pin)
+
+(provide 'use-package-ensure)
+
+;;; use-package-ensure.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-jump.el b/emacs.d/elpa/use-package-20200322.2110/use-package-jump.el
new file mode 100644
index 0000000..4044ad1
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-jump.el
@@ -0,0 +1,79 @@
+;;; use-package-jump.el --- Attempt to jump to a use-package declaration -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 3 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides the command `M-x use-package-jump-to-package-form', however it
+;; only works if the package being jumped to was required during
+;; initialization. If it was delay-loaded, it will not work. Improvements are
+;; needed.
+
+;;; Code:
+
+(require 'use-package-core)
+
+(defun use-package-find-require (package)
+ "Find file that required PACKAGE by searching `load-history'.
+Returns an absolute file path or nil if none is found."
+ (catch 'suspect
+ (dolist (filespec load-history)
+ (dolist (entry (cdr filespec))
+ (when (equal entry (cons 'require package))
+ (throw 'suspect (car filespec)))))))
+
+;;;###autoload
+(defun use-package-jump-to-package-form (package)
+ "Attempt to find and jump to the `use-package' form that loaded
+PACKAGE. This will only find the form if that form actually
+required PACKAGE. If PACKAGE was previously required then this
+function will jump to the file that originally required PACKAGE
+instead."
+ (interactive (list (completing-read "Package: " features)))
+ (let* ((package (if (stringp package) (intern package) package))
+ (requiring-file (use-package-find-require package))
+ file location)
+ (if (null requiring-file)
+ (user-error "Can't find file requiring file; may have been autoloaded")
+ (setq file (if (string= (file-name-extension requiring-file) "elc")
+ (concat (file-name-sans-extension requiring-file) ".el")
+ requiring-file))
+ (when (file-exists-p file)
+ (find-file-other-window file)
+ (save-excursion
+ (goto-char (point-min))
+ (setq location
+ (re-search-forward
+ (format (eval use-package-form-regexp-eval) package) nil t)))
+ (if (null location)
+ (message "No use-package form found.")
+ (goto-char location)
+ (beginning-of-line))))))
+
+(provide 'use-package-jump)
+
+;;; use-package-jump.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-lint.el b/emacs.d/elpa/use-package-20200322.2110/use-package-lint.el
new file mode 100644
index 0000000..c6e7c3c
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-lint.el
@@ -0,0 +1,84 @@
+;;; use-package-lint.el --- Attempt to find errors in use-package declarations -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 3 Dec 2017
+;; Version: 1.0
+;; Package-Requires: ((emacs "24.3") (use-package "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Provides the command `M-x use-package-lint'.
+
+;;; Code:
+
+(require 'cl-lib)
+(require 'use-package-core)
+
+(defun use-package-lint-declaration (name plist)
+ (dolist (path (plist-get plist :load-path))
+ (unless (file-exists-p path)
+ (display-warning
+ 'use-package
+ (format "%s :load-path does not exist: %s"
+ name path) :error)))
+
+ (unless (or (plist-member plist :disabled)
+ (plist-get plist :no-require)
+ (locate-library (use-package-as-string name) nil
+ (plist-get plist :load-path)))
+ (display-warning
+ 'use-package
+ (format "%s module cannot be located" name) :error))
+
+ ;; (dolist (command (plist-get plist :commands))
+ ;; (unless (string= (find-lisp-object-file-name command nil)
+ ;; (locate-library (use-package-as-string name) nil
+ ;; (plist-get plist :load-path)))
+ ;; (display-warning
+ ;; 'use-package
+ ;; (format "%s :command is from different path: %s"
+ ;; name (symbol-name command)) :error)))
+ )
+
+;;;###autoload
+(defun use-package-lint ()
+ "Check for errors in use-package declarations.
+For example, if the module's `:if' condition is met, but even
+with the specified `:load-path' the module cannot be found."
+ (interactive)
+ (save-excursion
+ (goto-char (point-min))
+ (let ((re (eval use-package-form-regexp-eval)))
+ (while (re-search-forward re nil t)
+ (goto-char (match-beginning 0))
+ (let ((decl (read (current-buffer))))
+ (when (eq (car decl) 'use-package)
+ (use-package-lint-declaration
+ (use-package-as-string (cadr decl))
+ (use-package-normalize-keywords
+ (cadr decl) (cddr decl)))))))))
+
+(provide 'use-package-lint)
+
+;;; use-package-lint.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package-pkg.el b/emacs.d/elpa/use-package-20200322.2110/use-package-pkg.el
new file mode 100644
index 0000000..d91e303
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package-pkg.el
@@ -0,0 +1,13 @@
+(define-package "use-package" "20200322.2110" "A configuration macro for simplifying your .emacs"
+ '((emacs "24.3")
+ (bind-key "2.4"))
+ :keywords
+ '("dotemacs" "startup" "speed" "config" "package")
+ :authors
+ '(("John Wiegley" . "johnw@newartisans.com"))
+ :maintainer
+ '("John Wiegley" . "johnw@newartisans.com")
+ :url "https://github.com/jwiegley/use-package")
+;; Local Variables:
+;; no-byte-compile: t
+;; End:
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package.el b/emacs.d/elpa/use-package-20200322.2110/use-package.el
new file mode 100644
index 0000000..1a8fff8
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package.el
@@ -0,0 +1,54 @@
+;;; use-package.el --- A configuration macro for simplifying your .emacs -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2012-2017 John Wiegley
+
+;; Author: John Wiegley <johnw@newartisans.com>
+;; Maintainer: John Wiegley <johnw@newartisans.com>
+;; Created: 17 Jun 2012
+;; Modified: 29 Nov 2017
+;; Version: 2.4
+;; Package-Requires: ((emacs "24.3") (bind-key "2.4"))
+;; Keywords: dotemacs startup speed config package
+;; URL: https://github.com/jwiegley/use-package
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 3, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; The `use-package' declaration macro allows you to isolate package
+;; configuration in your ".emacs" in a way that is performance-oriented and,
+;; well, just tidy. I created it because I have over 80 packages that I use
+;; in Emacs, and things were getting difficult to manage. Yet with this
+;; utility my total load time is just under 1 second, with no loss of
+;; functionality!
+;;
+;; Please see README.md from the same repository for documentation.
+
+;;; Code:
+
+(require 'use-package-core)
+
+(require 'use-package-bind-key)
+(require 'use-package-diminish)
+(require 'use-package-delight)
+(require 'use-package-ensure)
+
+(declare-function use-package-jump-to-package-form "use-package-jump")
+(autoload #'use-package-jump-to-package-form "use-package-jump" nil t)
+
+(provide 'use-package)
+
+;;; use-package.el ends here
diff --git a/emacs.d/elpa/use-package-20200322.2110/use-package.info b/emacs.d/elpa/use-package-20200322.2110/use-package.info
new file mode 100644
index 0000000..9e6a1d8
--- /dev/null
+++ b/emacs.d/elpa/use-package-20200322.2110/use-package.info
@@ -0,0 +1,1048 @@
+This is use-package.info, produced by makeinfo version 6.5 from
+use-package.texi.
+
+ Copyright (C) 2012-2017 John Wiegley <johnw@newartisans.com>
+
+ You can redistribute this document and/or modify it under the terms
+ of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This document is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+INFO-DIR-SECTION Emacs
+START-INFO-DIR-ENTRY
+* use-package: (use-package). Declarative package configuration for Emacs.
+END-INFO-DIR-ENTRY
+
+
+File: use-package.info, Node: Top, Next: Introduction, Up: (dir)
+
+use-package User Manual
+***********************
+
+use-package is...
+
+ Copyright (C) 2012-2017 John Wiegley <johnw@newartisans.com>
+
+ You can redistribute this document and/or modify it under the terms
+ of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option)
+ any later version.
+
+ This document is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+* Menu:
+
+* Introduction::
+* Installation::
+* Getting Started::
+* Keywords::
+* FAQ::
+* Debugging Tools::
+* Command Index::
+* Function Index::
+* Variable Index::
+
+— The Detailed Node Listing —
+
+
+Installation
+
+* Installing from an Elpa Archive::
+* Installing from the Git Repository::
+* Post-Installation Tasks::
+
+
+
+
+Keywords
+
+* ‘:after’: after.
+* ‘:bind-keymap’, ‘:bind-keymap*’: bind-keymap bind-keymap*.
+* ‘:bind’, ‘:bind*’: bind bind*.
+* ‘:commands’: commands.
+* ‘:preface’, ‘:init’, ‘:config’: preface init config.
+* ‘:custom’: custom.
+* ‘:custom-face’: custom-face.
+* ‘:defer’, ‘:demand’: defer demand.
+* ‘:defines’, ‘:functions’: defines functions.
+* ‘:diminish’, ‘:delight’: diminish delight.
+* ‘:disabled’: disabled.
+* ‘:ensure’, ‘:pin’: ensure pin.
+* ‘:hook’: hook.
+* ‘:if’, ‘:when’, ‘:unless’: if when unless.
+* ‘:load-path’: load-path.
+* ‘:mode’, ‘:interpreter’: mode interpreter.
+* ‘:magic’, ‘:magic-fallback’: magic magic-fallback.
+* ‘:no-require’: no-require.
+* ‘:requires’: requires.
+
+
+
+‘:bind’, ‘:bind*’
+
+* Binding to local keymaps::
+
+FAQ
+
+* FAQ - How to ...?::
+* FAQ - Issues and Errors::
+
+FAQ - How to ...?
+
+* This is a question::
+
+
+FAQ - Issues and Errors
+
+* This is an issues::
+
+
+File: use-package.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
+
+1 Introduction
+**************
+
+The ‘use-package’ macro allows you to isolate package configuration in
+your ‘.emacs’ file in a way that is both performance-oriented and, well,
+tidy. I created it because I have over 400 packages that I use in
+Emacs, and things were getting difficult to manage. Yet with this
+utility my total load time is around 2 seconds, with no loss of
+functionality!
+
+
+File: use-package.info, Node: Installation, Next: Getting Started, Prev: Introduction, Up: Top
+
+2 Installation
+**************
+
+use-package can be installed using Emacs’ package manager or manually
+from its development repository.
+
+* Menu:
+
+* Installing from an Elpa Archive::
+* Installing from the Git Repository::
+* Post-Installation Tasks::
+
+
+File: use-package.info, Node: Installing from an Elpa Archive, Next: Installing from the Git Repository, Up: Installation
+
+2.1 Installing from an Elpa Archive
+===================================
+
+use-package is available from Melpa and Melpa-Stable. If you haven’t
+used Emacs’ package manager before, then it is high time you familiarize
+yourself with it by reading the documentation in the Emacs manual, see
+*note (emacs)Packages::. Then add one of the archives to
+‘package-archives’:
+
+ • To use Melpa:
+
+ (require 'package)
+ (add-to-list 'package-archives
+ '("melpa" . "https://melpa.org/packages/") t)
+
+ • To use Melpa-Stable:
+
+ (require 'package)
+ (add-to-list 'package-archives
+ '("melpa-stable" . "https://stable.melpa.org/packages/") t)
+
+ Once you have added your preferred archive, you need to update the
+local package list using:
+
+ M-x package-refresh-contents RET
+
+ Once you have done that, you can install use-package and its
+dependencies using:
+
+ M-x package-install RET use-package RET
+
+ Now see *note Post-Installation Tasks::.
+
+
+File: use-package.info, Node: Installing from the Git Repository, Next: Post-Installation Tasks, Prev: Installing from an Elpa Archive, Up: Installation
+
+2.2 Installing from the Git Repository
+======================================
+
+First, use Git to clone the use-package repository:
+
+ $ git clone https://github.com/jwiegley/use-package.git ~/.emacs.d/site-lisp/use-package
+ $ cd ~/.emacs.d/site-lisp/use-package
+
+ Then compile the libraries and generate the info manuals:
+
+ $ make
+
+ You may need to create ‘/path/to/use-package/config.mk’ with the
+following content before running ‘make’:
+
+ LOAD_PATH = -L /path/to/use-package
+
+ Finally add this to your init file:
+
+ (add-to-list 'load-path "~/.emacs.d/site-lisp/use-package")
+ (require 'use-package)
+
+ (with-eval-after-load 'info
+ (info-initialize)
+ (add-to-list 'Info-directory-list
+ "~/.emacs.d/site-lisp/use-package/"))
+
+ Note that elements of ‘load-path’ should not end with a slash, while
+those of ‘Info-directory-list’ should.
+
+ Instead of running use-package directly from the repository by adding
+it to the ‘load-path’, you might want to instead install it in some
+other directory using ‘sudo make install’ and setting ‘load-path’
+accordingly.
+
+ To update use-package use:
+
+ $ git pull
+ $ make
+
+ At times it might be necessary to run ‘make clean all’ instead.
+
+ To view all available targets use ‘make help’.
+
+ Now see *note Post-Installation Tasks::.
+
+
+File: use-package.info, Node: Post-Installation Tasks, Prev: Installing from the Git Repository, Up: Installation
+
+2.3 Post-Installation Tasks
+===========================
+
+After installing use-package you should verify that you are indeed using
+the use-package release you think you are using. It’s best to restart
+Emacs before doing so, to make sure you are not using an outdated value
+for ‘load-path’.
+
+ C-h v use-package-version RET
+
+ should display something like
+
+ use-package-version’s value is "2.4"
+
+ If you are completely new to use-package then see *note Getting
+Started::.
+
+ If you run into problems, then please see the *note FAQ::. Also see
+the *note Debugging Tools::.
+
+
+File: use-package.info, Node: Getting Started, Next: Keywords, Prev: Installation, Up: Top
+
+3 Getting Started
+*****************
+
+TODO. For now, see ‘README.md’.
+
+
+File: use-package.info, Node: Keywords, Next: FAQ, Prev: Getting Started, Up: Top
+
+4 Keywords
+**********
+
+* Menu:
+
+* ‘:after’: after.
+* ‘:bind-keymap’, ‘:bind-keymap*’: bind-keymap bind-keymap*.
+* ‘:bind’, ‘:bind*’: bind bind*.
+* ‘:commands’: commands.
+* ‘:preface’, ‘:init’, ‘:config’: preface init config.
+* ‘:custom’: custom.
+* ‘:custom-face’: custom-face.
+* ‘:defer’, ‘:demand’: defer demand.
+* ‘:defines’, ‘:functions’: defines functions.
+* ‘:diminish’, ‘:delight’: diminish delight.
+* ‘:disabled’: disabled.
+* ‘:ensure’, ‘:pin’: ensure pin.
+* ‘:hook’: hook.
+* ‘:if’, ‘:when’, ‘:unless’: if when unless.
+* ‘:load-path’: load-path.
+* ‘:mode’, ‘:interpreter’: mode interpreter.
+* ‘:magic’, ‘:magic-fallback’: magic magic-fallback.
+* ‘:no-require’: no-require.
+* ‘:requires’: requires.
+
+
+File: use-package.info, Node: after, Next: bind-keymap bind-keymap*, Up: Keywords
+
+4.1 ‘:after’
+============
+
+Sometimes it only makes sense to configure a package after another has
+been loaded, because certain variables or functions are not in scope
+until that time. This can achieved using an ‘:after’ keyword that
+allows a fairly rich description of the exact conditions when loading
+should occur. Here is an example:
+
+ (use-package hydra
+ :load-path "site-lisp/hydra")
+
+ (use-package ivy
+ :load-path "site-lisp/swiper")
+
+ (use-package ivy-hydra
+ :after (ivy hydra))
+
+ In this case, because all of these packages are demand-loaded in the
+order they occur, the use of ‘:after’ is not strictly necessary. By
+using it, however, the above code becomes order-independent, without an
+implicit depedence on the nature of your init file.
+
+ By default, ‘:after (foo bar)’ is the same as ‘:after (:all foo
+bar)’, meaning that loading of the given package will not happen until
+both ‘foo’ and ‘bar’ have been loaded. Here are some of the other
+possibilities:
+
+ :after (foo bar)
+ :after (:all foo bar)
+ :after (:any foo bar)
+ :after (:all (:any foo bar) (:any baz quux))
+ :after (:any (:all foo bar) (:all baz quux))
+
+ When you nest selectors, such as ‘(:any (:all foo bar) (:all baz
+quux))’, it means that the package will be loaded when either both ‘foo’
+and ‘bar’ have been loaded, or both ‘baz’ and ‘quux’ have been loaded.
+
+
+File: use-package.info, Node: bind-keymap bind-keymap*, Next: bind bind*, Prev: after, Up: Keywords
+
+4.2 ‘:bind-keymap’, ‘:bind-keymap*’
+===================================
+
+Normally ‘:bind’ expects that commands are functions that will be
+autoloaded from the given package. However, this does not work if one
+of those commands is actually a keymap, since keymaps are not functions,
+and cannot be autoloaded using Emacs’ ‘autoload’ mechanism.
+
+ To handle this case, ‘use-package’ offers a special, limited variant
+of ‘:bind’ called ‘:bind-keymap’. The only difference is that the
+"commands" bound to by ‘:bind-keymap’ must be keymaps defined in the
+package, rather than command functions. This is handled behind the
+scenes by generating custom code that loads the package containing the
+keymap, and then re-executes your keypress after the first load, to
+reinterpret that keypress as a prefix key.
+
+ For example:
+
+ (use-package projectile
+ :bind-keymap
+ ("C-c p" . projectile-command-map)
+
+
+File: use-package.info, Node: bind bind*, Next: commands, Prev: bind-keymap bind-keymap*, Up: Keywords
+
+4.3 ‘:bind’, ‘:bind*’
+=====================
+
+Another common thing to do when loading a module is to bind a key to
+primary commands within that module:
+
+ (use-package ace-jump-mode
+ :bind ("C-." . ace-jump-mode))
+
+ This does two things: first, it creates an autoload for the
+‘ace-jump-mode’ command and defers loading of ‘ace-jump-mode’ until you
+actually use it. Second, it binds the key ‘C-.’ to that command. After
+loading, you can use ‘M-x describe-personal-keybindings’ to see all such
+keybindings you’ve set throughout your ‘.emacs’ file.
+
+ A more literal way to do the exact same thing is:
+
+ (use-package ace-jump-mode
+ :commands ace-jump-mode
+ :init
+ (bind-key "C-." 'ace-jump-mode))
+
+ When you use the ‘:commands’ keyword, it creates autoloads for those
+commands and defers loading of the module until they are used. Since
+the ‘:init’ form is always run—even if ‘ace-jump-mode’ might not be on
+your system—remember to restrict ‘:init’ code to only what would succeed
+either way.
+
+ The ‘:bind’ keyword takes either a cons or a list of conses:
+
+ (use-package hi-lock
+ :bind (("M-o l" . highlight-lines-matching-regexp)
+ ("M-o r" . highlight-regexp)
+ ("M-o w" . highlight-phrase)))
+
+ The ‘:commands’ keyword likewise takes either a symbol or a list of
+symbols.
+
+ NOTE: Special keys like ‘tab’ or ‘F1’-‘Fn’ can be written in square
+brackets, i.e. ‘[tab]’ instead of ‘"tab"’. The syntax for the
+keybindings is similar to the "kbd" syntax: see the Emacs Manual
+(https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-Rebinding.html)
+for more information.
+
+ Examples:
+
+ (use-package helm
+ :bind (("M-x" . helm-M-x)
+ ("M-<f5>" . helm-find-files)
+ ([f10] . helm-buffers-list)
+ ([S-f10] . helm-recentf)))
+
+* Menu:
+
+* Binding to local keymaps::
+
+
+File: use-package.info, Node: Binding to local keymaps, Up: bind bind*
+
+4.3.1 Binding to local keymaps
+------------------------------
+
+Slightly different from binding a key to a keymap, is binding a key
+*within* a local keymap that only exists after the package is loaded.
+‘use-package’ supports this with a ‘:map’ modifier, taking the local
+keymap to bind to:
+
+ (use-package helm
+ :bind (:map helm-command-map
+ ("C-c h" . helm-execute-persistent-action)))
+
+ The effect of this statement is to wait until ‘helm’ has loaded, and
+then to bind the key ‘C-c h’ to ‘helm-execute-persistent-action’ within
+Helm’s local keymap, ‘helm-mode-map’.
+
+ Multiple uses of ‘:map’ may be specified. Any binding occurring
+before the first use of ‘:map’ are applied to the global keymap:
+
+ (use-package term
+ :bind (("C-c t" . term)
+ :map term-mode-map
+ ("M-p" . term-send-up)
+ ("M-n" . term-send-down)
+ :map term-raw-map
+ ("M-o" . other-window)
+ ("M-p" . term-send-up)
+ ("M-n" . term-send-down)))
+
+
+File: use-package.info, Node: commands, Next: preface init config, Prev: bind bind*, Up: Keywords
+
+4.4 ‘:commands’
+===============
+
+
+File: use-package.info, Node: preface init config, Next: custom, Prev: commands, Up: Keywords
+
+4.5 ‘:preface’, ‘:init’, ‘:config’
+==================================
+
+Here is the simplest ‘use-package’ declaration:
+
+ ;; This is only needed once, near the top of the file
+ (eval-when-compile
+ ;; Following line is not needed if use-package.el is in ~/.emacs.d
+ (add-to-list 'load-path "<path where use-package is installed>")
+ (require 'use-package))
+
+ (use-package foo)
+
+ This loads in the package ‘foo’, but only if ‘foo’ is available on
+your system. If not, a warning is logged to the ‘*Messages*’ buffer.
+If it succeeds, a message about ‘"Loading foo"’ is logged, along with
+the time it took to load, if it took over 0.1 seconds.
+
+ Use the ‘:init’ keyword to execute code before a package is loaded.
+It accepts one or more forms, up until the next keyword:
+
+ (use-package foo
+ :init
+ (setq foo-variable t))
+
+ Similarly, ‘:config’ can be used to execute code after a package is
+loaded. In cases where loading is done lazily (see more about
+autoloading below), this execution is deferred until after the autoload
+occurs:
+
+ (use-package foo
+ :init
+ (setq foo-variable t)
+ :config
+ (foo-mode 1))
+
+ As you might expect, you can use ‘:init’ and ‘:config’ together:
+
+ (use-package color-moccur
+ :commands (isearch-moccur isearch-all)
+ :bind (("M-s O" . moccur)
+ :map isearch-mode-map
+ ("M-o" . isearch-moccur)
+ ("M-O" . isearch-moccur-all))
+ :init
+ (setq isearch-lazy-highlight t)
+ :config
+ (use-package moccur-edit))
+
+ In this case, I want to autoload the commands ‘isearch-moccur’ and
+‘isearch-all’ from ‘color-moccur.el’, and bind keys both at the global
+level and within the ‘isearch-mode-map’ (see next section). When the
+package is actually loaded (by using one of these commands),
+‘moccur-edit’ is also loaded, to allow editing of the ‘moccur’ buffer.
+
+
+File: use-package.info, Node: custom, Next: custom-face, Prev: preface init config, Up: Keywords
+
+4.6 ‘:custom’
+=============
+
+The ‘:custom’ keyword allows customization of package custom variables.
+
+ (use-package comint
+ :custom
+ (comint-buffer-maximum-size 20000 "Increase comint buffer size.")
+ (comint-prompt-read-only t "Make the prompt read only."))
+
+ The documentation string is not mandatory.
+
+
+File: use-package.info, Node: custom-face, Next: defer demand, Prev: custom, Up: Keywords
+
+4.7 ‘:custom-face’
+==================
+
+The ‘:custom-face’ keyword allows customization of package custom faces.
+
+ (use-package eruby-mode
+ :custom-face
+ (eruby-standard-face ((t (:slant italic)))))
+
+
+File: use-package.info, Node: defer demand, Next: defines functions, Prev: custom-face, Up: Keywords
+
+4.8 ‘:defer’, ‘:demand’
+=======================
+
+In almost all cases you don’t need to manually specify ‘:defer t’. This
+is implied whenever ‘:bind’ or ‘:mode’ or ‘:interpreter’ is used.
+Typically, you only need to specify ‘:defer’ if you know for a fact that
+some other package will do something to cause your package to load at
+the appropriate time, and thus you would like to defer loading even
+though use-package isn’t creating any autoloads for you.
+
+ You can override package deferral with the ‘:demand’ keyword. Thus,
+even if you use ‘:bind’, using ‘:demand’ will force loading to occur
+immediately and not establish an autoload for the bound key.
+
+
+File: use-package.info, Node: defines functions, Next: diminish delight, Prev: defer demand, Up: Keywords
+
+4.9 ‘:defines’, ‘:functions’
+============================
+
+Another feature of ‘use-package’ is that it always loads every file that
+it can when ‘.emacs’ is being byte-compiled. This helps to silence
+spurious warnings about unknown variables and functions.
+
+ However, there are times when this is just not enough. For those
+times, use the ‘:defines’ and ‘:functions’ keywords to introduce dummy
+variable and function declarations solely for the sake of the
+byte-compiler:
+
+ (use-package texinfo
+ :defines texinfo-section-list
+ :commands texinfo-mode
+ :init
+ (add-to-list 'auto-mode-alist '("\\.texi$" . texinfo-mode)))
+
+ If you need to silence a missing function warning, you can use
+‘:functions’:
+
+ (use-package ruby-mode
+ :mode "\\.rb\\'"
+ :interpreter "ruby"
+ :functions inf-ruby-keys
+ :config
+ (defun my-ruby-mode-hook ()
+ (require 'inf-ruby)
+ (inf-ruby-keys))
+
+ (add-hook 'ruby-mode-hook 'my-ruby-mode-hook))
+
+
+File: use-package.info, Node: diminish delight, Next: disabled, Prev: defines functions, Up: Keywords
+
+4.10 ‘:diminish’, ‘:delight’
+============================
+
+‘use-package’ also provides built-in support for the diminish and
+delight utilities—if you have them installed. Their purpose is to
+remove or change minor mode strings in your mode-line.
+
+ diminish (https://github.com/myrjola/diminish.el) is invoked with the
+‘:diminish’ keyword, which is passed either a minor mode symbol, a cons
+of the symbol and its replacement string, or just a replacement string,
+in which case the minor mode symbol is guessed to be the package name
+with "-mode" appended at the end:
+
+ (use-package abbrev
+ :diminish abbrev-mode
+ :config
+ (if (file-exists-p abbrev-file-name)
+ (quietly-read-abbrev-file)))
+
+ delight (https://elpa.gnu.org/packages/delight.html) is invoked with
+the ‘:delight’ keyword, which is passed a minor mode symbol, a
+replacement string or quoted mode-line data
+(https://www.gnu.org/software/emacs/manual/html_node/elisp/Mode-Line-Data.html)
+(in which case the minor mode symbol is guessed to be the package name
+with "-mode" appended at the end), both of these, or several lists of
+both. If no arguments are provided, the default mode name is hidden
+completely.
+
+ ;; Don't show anything for rainbow-mode.
+ (use-package rainbow-mode
+ :delight)
+
+ ;; Don't show anything for auto-revert-mode, which doesn't match
+ ;; its package name.
+ (use-package autorevert
+ :delight auto-revert-mode)
+
+ ;; Remove the mode name for projectile-mode, but show the project name.
+ (use-package projectile
+ :delight '(:eval (concat " " (projectile-project-name))))
+
+ ;; Completely hide visual-line-mode and change auto-fill-mode to " AF".
+ (use-package emacs
+ :delight
+ (auto-fill-function " AF")
+ (visual-line-mode))
+
+
+File: use-package.info, Node: disabled, Next: ensure pin, Prev: diminish delight, Up: Keywords
+
+4.11 ‘:disabled’
+================
+
+The ‘:disabled’ keyword can turn off a module you’re having difficulties
+with, or stop loading something you’re not using at the present time:
+
+ (use-package ess-site
+ :disabled
+ :commands R)
+
+ When byte-compiling your ‘.emacs’ file, disabled declarations are
+omitted from the output entirely, to accelerate startup times.
+
+
+File: use-package.info, Node: ensure pin, Next: hook, Prev: disabled, Up: Keywords
+
+4.12 ‘:ensure’, ‘:pin’
+======================
+
+You can use ‘use-package’ to load packages from ELPA with ‘package.el’.
+This is particularly useful if you share your ‘.emacs’ among several
+machines; the relevant packages are downloaded automatically once
+declared in your ‘.emacs’. The ‘:ensure’ keyword causes the package(s)
+to be installed automatically if not already present on your system (set
+‘(setq use-package-always-ensure t)’ if you wish this behavior to be
+global for all packages):
+
+ (use-package magit
+ :ensure t)
+
+ If you need to install a different package from the one named by
+‘use-package’, you can specify it like this:
+
+ (use-package tex
+ :ensure auctex)
+
+ Lastly, when running on Emacs 24.4 or later, use-package can pin a
+package to a specific archive, allowing you to mix and match packages
+from different archives. The primary use-case for this is preferring
+packages from the ‘melpa-stable’ and ‘gnu’ archives, but using specific
+packages from ‘melpa’ when you need to track newer versions than what is
+available in the ‘stable’ archives is also a valid use-case.
+
+ By default ‘package.el’ prefers ‘melpa’ over ‘melpa-stable’ due to
+the versioning ‘(> evil-20141208.623 evil-1.0.9)’, so even if you are
+tracking only a single package from ‘melpa’, you will need to tag all
+the non-‘melpa’ packages with the appropriate archive. If this really
+annoys you, then you can set ‘use-package-always-pin’ to set a default.
+
+ If you want to manually keep a package updated and ignore upstream
+updates, you can pin it to ‘manual’, which as long as there is no
+repository by that name, will Just Work(tm).
+
+ ‘use-package’ throws an error if you try to pin a package to an
+archive that has not been configured using ‘package-archives’ (apart
+from the magic ‘manual’ archive mentioned above):
+
+ Archive 'foo' requested for package 'bar' is not available.
+
+ Example:
+
+ (use-package company
+ :ensure t
+ :pin melpa-stable)
+
+ (use-package evil
+ :ensure t)
+ ;; no :pin needed, as package.el will choose the version in melpa
+
+ (use-package adaptive-wrap
+ :ensure t
+ ;; as this package is available only in the gnu archive, this is
+ ;; technically not needed, but it helps to highlight where it
+ ;; comes from
+ :pin gnu)
+
+ (use-package org
+ :ensure t
+ ;; ignore org-mode from upstream and use a manually installed version
+ :pin manual)
+
+ *NOTE*: the ‘:pin’ argument has no effect on emacs versions < 24.4.
+
+
+File: use-package.info, Node: hook, Next: if when unless, Prev: ensure pin, Up: Keywords
+
+4.13 ‘:hook’
+============
+
+The ‘:hook’ keyword allows adding functions onto hooks, here only the
+basename of the hook is required. Thus, all of the following are
+equivalent:
+
+ (use-package ace-jump-mode
+ :hook prog-mode)
+
+ (use-package ace-jump-mode
+ :hook (prog-mode . ace-jump-mode))
+
+ (use-package ace-jump-mode
+ :commands ace-jump-mode
+ :init
+ (add-hook 'prog-mode-hook #'ace-jump-mode))
+
+ And likewise, when multiple hooks should be applied, the following
+are also equivalent:
+
+ (use-package ace-jump-mode
+ :hook (prog-mode text-mode))
+
+ (use-package ace-jump-mode
+ :hook ((prog-mode text-mode) . ace-jump-mode))
+
+ (use-package ace-jump-mode
+ :hook ((prog-mode . ace-jump-mode)
+ (text-mode . ace-jump-mode)))
+
+ (use-package ace-jump-mode
+ :commands ace-jump-mode
+ :init
+ (add-hook 'prog-mode-hook #'ace-jump-mode)
+ (add-hook 'text-mode-hook #'ace-jump-mode))
+
+ The use of ‘:hook’, as with ‘:bind’, ‘:mode’, ‘:interpreter’, etc.,
+causes the functions being hooked to implicitly be read as ‘:commands’
+(meaning they will establish interactive ‘autoload’ definitions for that
+module, if not already defined as functions), and so ‘:defer t’ is also
+implied by ‘:hook’.
+
+
+File: use-package.info, Node: if when unless, Next: load-path, Prev: hook, Up: Keywords
+
+4.14 ‘:if’, ‘:when’, ‘:unless’
+==============================
+
+You can use the ‘:if’ keyword to predicate the loading and
+initialization of modules.
+
+ For example, I only want ‘edit-server’ running for my main, graphical
+Emacs, not for other Emacsen I may start at the command line:
+
+ (use-package edit-server
+ :if window-system
+ :init
+ (add-hook 'after-init-hook 'server-start t)
+ (add-hook 'after-init-hook 'edit-server-start t))
+
+ In another example, we can load things conditional on the operating
+system:
+
+ (use-package exec-path-from-shell
+ :if (memq window-system '(mac ns))
+ :ensure t
+ :config
+ (exec-path-from-shell-initialize))
+
+ Note that ‘:when’ is provided as an alias for ‘:if’, and ‘:unless
+foo’ means the same thing as ‘:if (not foo)’.
+
+
+File: use-package.info, Node: load-path, Next: mode interpreter, Prev: if when unless, Up: Keywords
+
+4.15 ‘:load-path’
+=================
+
+If your package needs a directory added to the ‘load-path’ in order to
+load, use ‘:load-path’. This takes a symbol, a function, a string or a
+list of strings. If the path is relative, it is expanded within
+‘user-emacs-directory’:
+
+ (use-package ess-site
+ :load-path "site-lisp/ess/lisp/"
+ :commands R)
+
+ Note that when using a symbol or a function to provide a dynamically
+generated list of paths, you must inform the byte-compiler of this
+definition so the value is available at byte-compilation time. This is
+done by using the special form ‘eval-and-compile’ (as opposed to
+‘eval-when-compile’). Further, this value is fixed at whatever was
+determined during compilation, to avoid looking up the same information
+again on each startup:
+
+ (eval-and-compile
+ (defun ess-site-load-path ()
+ (shell-command "find ~ -path ess/lisp")))
+
+ (use-package ess-site
+ :load-path (lambda () (list (ess-site-load-path)))
+ :commands R)
+
+
+File: use-package.info, Node: mode interpreter, Next: magic magic-fallback, Prev: load-path, Up: Keywords
+
+4.16 ‘:mode’, ‘:interpreter’
+============================
+
+Similar to ‘:bind’, you can use ‘:mode’ and ‘:interpreter’ to establish
+a deferred binding within the ‘auto-mode-alist’ and
+‘interpreter-mode-alist’ variables. The specifier to either keyword can
+be a cons cell, a list of cons cells, or a string or regexp:
+
+ (use-package ruby-mode
+ :mode "\\.rb\\'"
+ :interpreter "ruby")
+
+ ;; The package is "python" but the mode is "python-mode":
+ (use-package python
+ :mode ("\\.py\\'" . python-mode)
+ :interpreter ("python" . python-mode))
+
+ If you aren’t using ‘:commands’, ‘:bind’, ‘:bind*’, ‘:bind-keymap’,
+‘:bind-keymap*’, ‘:mode’, or ‘:interpreter’ (all of which imply
+‘:defer’; see the docstring for ‘use-package’ for a brief description of
+each), you can still defer loading with the ‘:defer’ keyword:
+
+ (use-package ace-jump-mode
+ :defer t
+ :init
+ (autoload 'ace-jump-mode "ace-jump-mode" nil t)
+ (bind-key "C-." 'ace-jump-mode))
+
+ This does exactly the same thing as the following:
+
+ (use-package ace-jump-mode
+ :bind ("C-." . ace-jump-mode))
+
+
+File: use-package.info, Node: magic magic-fallback, Next: no-require, Prev: mode interpreter, Up: Keywords
+
+4.17 ‘:magic’, ‘:magic-fallback’
+================================
+
+Similar to ‘:mode‘ and ‘:interpreter‘, you can also use ‘:magic‘ and
+‘:magic-fallback‘ to cause certain function to be run if the beginning
+of a file matches a given regular expression. The difference between
+the two is that ‘:magic-fallback‘ has a lower priority than ‘:mode‘.
+For example:
+
+ “‘ elisp (use-package pdf-tools :load-path "site-lisp/pdf-tools/lisp"
+:magic ("%PDF" . pdf-view-mode) :config (pdf-tools-install)) “‘
+
+ This registers an autoloaded command for ‘pdf-view-mode‘, defers
+loading of ‘pdf-tools‘, and runs ‘pdf-view-mode‘ if the beginning of a
+buffer matches the string ‘"%PDF"‘.
+
+
+File: use-package.info, Node: no-require, Next: requires, Prev: magic magic-fallback, Up: Keywords
+
+4.18 ‘:no-require’
+==================
+
+Normally, ‘use-package’ will load each package at compile time before
+compiling the configuration, to ensure that any necessary symbols are in
+scope to satisfy the byte-compiler. At times this can cause problems,
+since a package may have special loading requirements, and all that you
+want to use ‘use-package’ for is to add a configuration to the
+‘eval-after-load’ hook. In such cases, use the ‘:no-require’ keyword:
+
+ (use-package foo
+ :no-require t
+ :config
+ (message "This is evaluated when `foo' is loaded"))
+
+
+File: use-package.info, Node: requires, Prev: no-require, Up: Keywords
+
+4.19 ‘:requires’
+================
+
+While the ‘:after’ keyword delays loading until the dependencies are
+loaded, the somewhat simpler ‘:requires’ keyword simply never loads the
+package if the dependencies are not available at the time the
+‘use-package’ declaration is encountered. By "available" in this
+context it means that ‘foo’ is available of ‘(featurep 'foo)’ evaluates
+to a non-nil value. For example:
+
+ (use-package abbrev
+ :requires foo)
+
+ This is the same as:
+
+ (use-package abbrev
+ :if (featurep 'foo))
+
+ As a convenience, a list of such packages may be specified:
+
+ (use-package abbrev
+ :requires (foo bar baz))
+
+ For more complex logic, such as that supported by ‘:after’, simply
+use ‘:if’ and the appropriate Lisp expression.
+
+
+File: use-package.info, Node: FAQ, Next: Debugging Tools, Prev: Keywords, Up: Top
+
+Appendix A FAQ
+**************
+
+The next two nodes lists frequently asked questions.
+
+ Please also use the *note Debugging Tools::.
+
+* Menu:
+
+* FAQ - How to ...?::
+* FAQ - Issues and Errors::
+
+
+File: use-package.info, Node: FAQ - How to ...?, Next: FAQ - Issues and Errors, Up: FAQ
+
+A.1 FAQ - How to ...?
+=====================
+
+* Menu:
+
+* This is a question::
+
+
+File: use-package.info, Node: This is a question, Up: FAQ - How to ...?
+
+A.1.1 This is a question
+------------------------
+
+This is an answer.
+
+
+File: use-package.info, Node: FAQ - Issues and Errors, Prev: FAQ - How to ...?, Up: FAQ
+
+A.2 FAQ - Issues and Errors
+===========================
+
+* Menu:
+
+* This is an issues::
+
+
+File: use-package.info, Node: This is an issues, Up: FAQ - Issues and Errors
+
+A.2.1 This is an issues
+-----------------------
+
+This is a description.
+
+
+File: use-package.info, Node: Debugging Tools, Next: Command Index, Prev: FAQ, Up: Top
+
+B Debugging Tools
+*****************
+
+TODO
+
+ Please also see the *note FAQ::.
+
+
+File: use-package.info, Node: Command Index, Next: Function Index, Prev: Debugging Tools, Up: Top
+
+Appendix C Command Index
+************************
+
+
+File: use-package.info, Node: Function Index, Next: Variable Index, Prev: Command Index, Up: Top
+
+Appendix D Function Index
+*************************
+
+
+File: use-package.info, Node: Variable Index, Prev: Function Index, Up: Top
+
+Appendix E Variable Index
+*************************
+
+
+
+Tag Table:
+Node: Top784
+Node: Introduction2819
+Node: Installation3306
+Node: Installing from an Elpa Archive3658
+Node: Installing from the Git Repository4773
+Node: Post-Installation Tasks6309
+Node: Getting Started7022
+Node: Keywords7194
+Node: after8113
+Node: bind-keymap bind-keymap*9645
+Node: bind bind*10698
+Node: Binding to local keymaps12738
+Node: commands13829
+Node: preface init config13971
+Node: custom16049
+Node: custom-face16489
+Node: defer demand16809
+Node: defines functions17621
+Node: diminish delight18766
+Node: disabled20709
+Node: ensure pin21204
+Node: hook23934
+Node: if when unless25352
+Node: load-path26298
+Node: mode interpreter27444
+Node: magic magic-fallback28755
+Node: no-require29600
+Node: requires30304
+Node: FAQ31191
+Node: FAQ - How to ...?31474
+Node: This is a question31646
+Node: FAQ - Issues and Errors31794
+Node: This is an issues31977
+Node: Debugging Tools32132
+Node: Command Index32306
+Node: Function Index32462
+Node: Variable Index32619
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/emacs.d/init.el b/emacs.d/init.el
new file mode 100644
index 0000000..a1574d5
--- /dev/null
+++ b/emacs.d/init.el
@@ -0,0 +1,137 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Initialize package system.
+
+(require 'package)
+
+(setq package-archives
+ '(("gnu" . "https://elpa.gnu.org/packages/")
+ ("melpa" . "https://melpa.org/packages/")))
+
+(package-initialize)
+
+;; Run this manually from time to time to update package lists.
+;(package-refresh-contents)
+
+;; Use-package for civilized configuration
+
+(unless (package-installed-p 'use-package)
+ (package-install 'use-package))
+(require 'use-package)
+(setq use-package-always-ensure t)
+
+;; Put customization in its own file.
+(setq custom-file "~/.emacs.d/custom.el")
+(load custom-file)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Packages I like.
+
+(use-package apache-mode)
+(use-package diminish)
+(use-package go-mode)
+(use-package graphviz-dot-mode)
+(use-package rust-mode)
+
+(use-package magit
+ :config
+ (global-set-key (kbd "C-x g") 'magit-status))
+
+(use-package yaml-mode
+ :config
+ (add-to-list 'auto-mode-alist '("\\.ick\\'" . yaml-mode))
+ (add-to-list 'auto-mode-alist '("\\.vmdb\\'" . yaml-mode))
+ (add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-mode))
+ (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)))
+
+(use-package markdown-mode
+ :config
+ (add-to-list 'auto-mode-alist '("NEWS" . markdown-mode))
+ (add-to-list 'auto-mode-alist '("README" . markdown-mode))
+ (add-to-list 'auto-mode-alist '("\\.mdwn\\'" . markdown-mode)))
+
+(use-package flycheck
+ :init (global-flycheck-mode))
+
+(use-package modus-operandi-theme
+ :config
+ (setq modus-operandi-theme-slanted-constructs t)
+ (setq modus-operandi-theme-bold-constructs t)
+ (load-theme 'modus-operandi t))
+
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; UI tweaks.
+
+;; Don't show help at startup
+(setq inhibit-startup-screen t)
+
+;; Disable tool bar in windows.
+(tool-bar-mode 0)
+
+;; Show column numbers in the mode line.
+(column-number-mode t)
+(setq column-number-indicator-zero-based nil)
+
+;; Show line number before line.
+(global-display-line-numbers-mode)
+(set-face-attribute 'line-number nil
+ :height 0.7)
+(set-face-attribute 'line-number-current-line nil
+ :foreground "#ff0000" :height 0.7)
+
+;; Enable X CLIPBOARD selection, instead of PRIMARY.
+(setq x-select-enable-clipboard t)
+
+;; Show directories in the Buffers menu.
+(setq buffers-menu-show-directories t)
+
+;; Don't line wrap long lines.
+(set-default 'truncate-lines t)
+
+;; Show size in mode line.
+(size-indication-mode)
+
+;; Highlight current line.
+(add-hook 'text-mode-hook 'hl-line-mode)
+(add-hook 'prog-mode-hook 'hl-line-mode)
+
+
+(when (display-graphic-p)
+ (global-unset-key "\C-x\C-c")
+ (global-unset-key "\C-z")
+ (global-unset-key "\C-_")
+ (global-unset-key (kbd "\C-x\C-z"))
+ (global-unset-key (kbd "<insert>"))
+ (global-set-key (kbd "C-=") 'text-scale-adjust)
+ (global-set-key (kbd "C-+") 'text-scale-adjust)
+ (global-set-key (kbd "C--") 'text-scale-adjust)
+ (global-set-key (kbd "C-0") 'text-scale-adjust)
+)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Other tweaks.
+
+;; Do not make backup files when saving.
+(setq make-backup-files nil)
+
+;; Turn on auto-fill-mode in all text modes automatically.
+(setq text-mode-hook (quote (turn-on-auto-fill text-mode-hook-identify)))
+
+;; Don't require double spaces to end sentences.
+(setq sentence-end-double-space nil)
+
+;; Base font size.
+(set-face-attribute 'default nil
+ :height 130
+ :family "Hack")
+
+;; Turn on flyspell spell checking.
+(add-hook 'text-mode-hook 'flyspell-mode)
+(add-hook 'prog-mode-hook 'flyspell-prog-mode)
+
+;; Show matching parens.
+(add-hook 'text-mode-hook 'show-paren-mode)
+(add-hook 'prog-mode-hook 'show-paren-mode)
diff --git a/make-symlinks b/make-symlinks
index 2d8e830..d3b9b1e 100755
--- a/make-symlinks
+++ b/make-symlinks
@@ -22,7 +22,7 @@ files="
abcde.conf
bash_profile
bashrc
- emacs
+ emacs.d
git-global-ignore
mailcap
profile