added golden-ratio and org-bullets
11 files modified
75 files renamed
278 files added
12 files deleted
| | |
| | | |
| | | (1 (zzz-to-char . [(20180101 619) ((emacs (24 4)) (cl-lib (0 5)) (avy (0 3 0))) "Fancy version of `zap-to-char' command" single ((:commit . "db8d9e660ad18a15159779efe34d7a98ef0df535") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/zzz-to-char"))]) (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"))]) (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"))]) (ztree . [(20180512 1850) ((cl-lib (0))) "Text mode directory tree" tar ((:commit . "c54425a094353ec40a8179f9eab3596f76c6cf94") (:keywords "files" "tools") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/ztree"))]) (zprint-mode . [(20181111 1945) ((emacs (24 3))) "reformat Clojure(Script) code using zprint" single ((:commit . "e1a7b7fe48e36e5cdf1269ab394d3cf779fdab58") (:keywords "tools") (:authors ("Paulus Esterhazy" . "pesterhazy@gmail.com")) (:maintainer "Paulus Esterhazy" . "pesterhazy@gmail.com") (:url . "https://github.com/pesterhazy/zprint-mode.el"))]) (zpresent . [(20180605 438) ((emacs (25 1)) (org-parser (0 4)) (dash (2 12 0)) (request (0 3 0))) "Simple presentation mode based on org files." single ((:keywords "comm") (:url . "https://bitbucket.org/zck/zpresent.el"))]) (zpl-mode . [(20180906 1059) ((emacs (24 3))) "ZIMPL major mode" single ((:commit . "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e") (:url . "https://github.com/ax487/zpl-mode.git"))]) (zoutline . [(20180314 1759) nil "Simple outline library." single ((:commit . "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699") (:keywords "outline") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/zoutline"))]) (zotxt . [(20180518 147) ((request-deferred (0 2 0))) "Tools to integrate emacs with Zotero via the zotxt plugin." tar ((:commit . "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"))]) (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"))]) (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"))]) (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"))]) (zoom-window . [(20170302 827) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "cd6ecc103fc30b171bda7daf1f44a550854d0dbf") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))]) (zoom . [(20180310 1221) ((emacs (24 4))) "Fixed and automatic balanced window layout" single ((:commit . "2cdb15c9e753222c8600120edecfb46c2fbfae5d") (:keywords "frames") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/zoom"))]) (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"))]) (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-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-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"))]) (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"))]) (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/"))]) (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"))]) (zmq . [(20181115 2300) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "f6960700f9458f9fe6cbc530da97bd1037d4d882") (:keywords "comm") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-zmq"))]) (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"))]) (zig-mode . [(20181114 1346) ((emacs (24))) "A major mode for the Zig programming language" single ((:commit . "cb485ff8d5d9fab0ac88c7685072fb75df921398") (: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"))]) (zerodark-theme . [(20180911 1451) ((all-the-icons (2 0 0))) "A dark, medium contrast theme for Emacs" single ((:commit . "09a6bc6d8bcc7c2bb89e497dc8f6d3a29f6fe4c2") (:keywords "themes") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/zerodark-theme"))]) (zephir-mode . [(20170918 425) ((cl-lib (0 5)) (pkg-info (0 4)) (emacs (24 3))) "Major mode for editing Zephir code" single ((:commit . "c2c6b7451667e68e29c353616f54ef9195c3fffd") (:keywords "languages") (:authors ("Serghei Iakovlev" . "serghei@phalconphp.com")) (:maintainer "Serghei Iakovlev") (:url . "https://github.com/sergeyklay/zephir-mode"))]) (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"))]) (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"))]) (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"))]) (zenburn-theme . [(20181014 1555) nil "A low contrast color theme for Emacs." single ((:commit . "d71a0f0556c1db785738ab9b0c989df342705a81") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (youdao-dictionary . [(20180714 414) ((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 . "9496ea3ba8aa999db3dbde88d6aa37f3579d8dea") (:keywords "convenience" "chinese" "dictionary") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/youdao-dictionary.el"))]) (yoshi-theme . [(20170330 700) nil "Theme named after my cat" single ((:commit . "eab4fb67e8fec47c25c4c1393ac1211f043dbd44") (:keywords "faces") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/yoshi-theme/"))]) (yoficator . [(20180815 4) nil "Interactively yoficate Russian texts" tar ((:commit . "92d96a342a1ce29500891b71372c515c158ea0d9") (:authors ("Eugene Minkovskii" . "emin@mccme.ru") ("Alexander Krotov" . "ilabdsf@gmail.com")) (:maintainer "Eugene Minkovskii" . "emin@mccme.ru") (:url . "https://gitlab.com/link2xt/yoficator"))]) (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"))]) (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"))]) (ycmd . [(20180724 1256) ((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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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"))]) (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"))]) (yatex . [(20181107 3) nil "Yet Another tex-mode for emacs //野鳥//" tar nil]) (yatemplate . [(20180617 952) ((yasnippet (0 8 1)) (emacs (24 3))) "File templates with yasnippet" tar ((:commit . "4f4fca9f04f7088c98aa195cf33635a35a6055cb") (:keywords "files" "convenience") (:authors ("Wieland Hoffmann" . "themineo+yatemplate@gmail.com")) (:maintainer "Wieland Hoffmann" . "themineo+yatemplate@gmail.com") (:url . "https://github.com/mineo/yatemplate"))]) (yasnippet-snippets . [(20181107 2203) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "7d4e06dbd6e517d27e4f1407b6f5180f29048588") (:keywords "snippets") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com"))]) (yasnippet . [(20181015 1212) ((cl-lib (0 5))) "Yet another snippet extension for Emacs." single ((:commit . "1d96da2e08664c31ff7f6f7441da1f4fa5680b1f") (:keywords "convenience" "emulation") (:maintainer "Noam Postavsky" . "npostavs@gmail.com") (:url . "http://github.com/joaotavora/yasnippet"))]) (yascroll . [(20170315 1906) ((cl-lib (0 3))) "Yet Another Scroll Bar Mode" single ((:commit . "fe4494e5f4faf2832e665c7de0fed99cdbb39478") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) (yarn-mode . [(20170709 1937) ((emacs (24 3))) "Major mode for yarn.lock files." single ((:commit . "998b408d6be05fd1c3a9fd8db6ffaab3bf86d06b") (: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"))]) (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"))]) (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"))]) (yara-mode . [(20170720 651) ((emacs (24))) "Major mode for editing yara rule file" single ((:commit . "af5c05b34a29fc1bd73a6d21c82cc76320b33e5c") (:keywords "yara") (:authors (nil . "binjo.cn@gmail.com")) (:maintainer nil . "binjo.cn@gmail.com") (:url . "not distributed yet"))]) (yapfify . [(20180830 733) nil "(automatically) format python buffers using YAPF." single ((:commit . "b858225e1debe6734ee718e5c3c209152652a8b3") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/yapfify"))]) (yankpad . [(20181115 2209) ((emacs (24))) "Paste snippets from an org-mode file" single ((:commit . "61c2f74b2858f383e95f89f9002f510146f53c4e") (:keywords "abbrev" "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/yankpad"))]) (yang-mode . [(20180306 1207) nil "major mode for editing YANG files" single ((:commit . "340aec635e359609b22f7e94df15af1af2b070f6") (:authors ("Martin Bjorklund" . "mbj4668@gmail.com")) (:maintainer "Martin Bjorklund" . "mbj4668@gmail.com"))]) (yandex-weather . [(20160311 2037) nil "Fetch Yandex Weather forecasts." tar ((:commit . "6f823fd9e04ff9efb2aa65f333079e9f7e6e5b28"))]) (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"))]) (yaml-mode . [(20180409 607) ((emacs (24 1))) "Major mode for editing YAML files" single ((:commit . "40067a10ac1360f0b9533f0bbbb2eea128e2574d") (:keywords "data" "yaml") (:authors ("Yoshiki Kurihara" . "clouder@gmail.com") ("Marshall T. Vandegrift" . "llasram@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com"))]) (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"))]) (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"))]) (yahtzee . [(20171022 1412) ((emacs (24 3))) "The yahtzee game" single ((:commit . "2f365e48cb37446f01e88c9ec35ed0059ea98bda") (:keywords "games") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/yahtzee"))]) (yahoo-weather . [(20181026 320) ((emacs (24))) "Displays weather information in mode-line" single ((:commit . "1d2db14daa1706e03dfe4379397eb89234a56400") (:keywords "weather" "mode-line") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/yahoo-weather-mode"))]) (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"))]) (yafolding . [(20170305 317) nil "Yet another folding extension for Emacs" single ((:commit . "57c015ddd7c3454571c80825bc5391d7a10fa1d7") (:keywords "folding") (:authors ("Zeno Zeng" . "zenoofzeng@gmail.com")) (:maintainer "Zeno Zeng" . "zenoofzeng@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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>"))]) (xterm-color . [(20180202 2318) ((cl-lib (0 5))) "ANSI & XTERM 256 color support" single ((:commit . "42374a98f1039e105cad9f16ce585dffc96a3f1c") (:keywords "faces") (:authors (nil . "xristos@sdf.lonestar.org")) (:maintainer nil . "xristos@sdf.lonestar.org") (:url . "https://github.com/atomontage/xterm-color"))]) (xresources-theme . [(20160331 1402) nil "Use your .Xresources as your emacs theme" single ((:commit . "feb0552d31cb54210eabbc1abe32c8ea62841b6f") (:keywords "xresources" "theme") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))]) (xref-js2 . [(20170530 826) ((emacs (25)) (js2-mode (20150909))) "Jump to references/definitions using ag & js2-mode's AST" single ((:commit . "d5f93605405989529c2f66b542def6c32429b927") (:keywords "javascript" "convenience" "tools") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/xref-js2"))]) (xquery-tool . [(20170605 826) nil "A simple interface to saxonb's xquery." single ((:commit . "0d1e2960c48701b83be5255d56324f65a6ee182e") (:keywords "xml" "xquery" "emacs") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/xquery-tool.el"))]) (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"))]) (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"))]) (xmlunicode . [(20160319 1612) nil "Unicode support for XML" tar ((:commit . "f5d185da46414c0509ebd0aa0fab416becf94612") (:keywords "utf-8" "unicode" "xml" "characters") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))]) (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"))]) (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"))]) (xml-quotes . [(20151230 2249) nil "read quotations from an XML document" tar ((:commit . "26db170e80b9295861227cdf970721b12539ed44") (:keywords "xml" "quotations") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "https://github.com/ndw/xml-quotes"))]) (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"))]) (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"))]) (xcscope . [(20180426 712) nil "cscope interface for (X)Emacs" single ((:commit . "57bff67460c587acf60f513de622b4c7ab312081") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-math-input . [(20180906 1712) ((emacs (24 1))) "a minor mode for inputting math and Unicode symbols." single ((:commit . "d0120a451daea474abeab7f87cc64d8ddc903ab4") (: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-lookup . [(20180815 1250) ((emacs (24 1))) "look up word on internet." single ((:commit . "e3132ff21c3d0160e5bd5b7222c50dc9840727d4") (: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-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-fly-keys . [(20181031 1817) ((emacs (24 1))) "ergonomic modal keybinding minor mode." single ((:commit . "9f122c3d680f66416c12a87db7db7a0844505120") (: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-find . [(20181101 1535) ((emacs (24 1))) "find replace in pure emacs lisp. Purpose similar to grep/sed." single ((:commit . "6c336c82a4887a4f5aaaa12695902aee5bb1fa30") (: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-elisp-mode . [(20181028 1444) ((emacs (24 3))) "Major mode for editing emacs lisp." single ((:commit . "675560e9ac09122e425b9544ad25793c9844dc21") (: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-css-mode . [(20180629 807) ((emacs (24 3))) "Major mode for editing CSS code." single ((:commit . "9293a1a21cb7c2a6fb4ae9af0e581f30d2e45016") (: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"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (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"))]) (wucuo . [(20181106 2257) ((emacs (24 4))) "Spell check code containing camel case words" single ((:commit . "4e988c101fe82f2e8c7b3710d15982fe28b8d32d") (: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"))]) (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"))]) (wsd-mode . [(20180807 1130) nil "Emacs major-mode for www.websequencediagrams.com" tar ((:commit . "0583df8efb742c90dc56df00f9714e13512cf6d9") (: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"))]) (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"))]) (writeroom-mode . [(20170623 1027) ((emacs (24 1)) (visual-fill-column (1 9))) "Minor mode for distraction-free writing" tar ((:commit . "be822ebe916fe30e8de228289757df1a30009a57") (:keywords "text") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (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"))]) (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"))]) (workgroups2 . [(20141102 1922) ((cl-lib (0 4)) (dash (2 8 0)) (anaphora (1 0 0)) (f (0 17))) "New workspaces for Emacs" single ((:commit . "928d509157ec8a4a2e343b6115dff034c3243a7a") (: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"))]) (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"))]) (worf . [(20180620 1711) ((swiper (0 7 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 . "b48e0c9bbd617ed8a8962174d804ce7a6da1c10a") (:keywords "lisp") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/worf"))]) (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"))]) (wordnut . [(20180313 443) ((emacs (24 4))) "Major mode interface to WordNet" tar ((:commit . "feac531404041855312c1a046bde7ea18c674915"))]) (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"))]) (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"))]) (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/"))]) (wolfram . [(20170123 756) nil "Wolfram Alpha Integration" single ((:commit . "6b5dceae3fd6cdb4d7562510deeafa02c93c010b") (:keywords "math") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com"))]) (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"))]) (with-simulated-input . [(20170821 617) ((emacs (24 4)) (seq (2 0)) (s (0))) "A macro to simulate user input non-interactively" single ((:commit . "af9a38ce28a741e6d8742750bef5d7b5afa13796") (:keywords "lisp" "tools" "extensions") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson"))]) (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-editor . [(20181113 1845) ((emacs (24 4)) (async (1 9))) "Use the Emacsclient as $EDITOR" tar ((:commit . "9dd9f176d96abc60365369de6d08c26c414ef1f3") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/with-editor"))]) (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"))]) (wisp-mode . [(20180520 758) nil "Tools for wisp: the Whitespace-to-Lisp preprocessor" tar ((:keywords "languages" "lisp") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) (winum . [(20181107 47) ((cl-lib (0 5)) (dash (2 13 0))) "Navigate windows and frames using numbers." single ((:commit . "8bafa66f800e43a2e5d596e000047a80b0e62cd7") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (window-purpose . [(20180926 1047) ((emacs (24 4)) (let-alist (1 0 3)) (imenu-list (0 1))) "Purpose-based window management for Emacs" tar ((:commit . "2b640955235d0a50dd1e3128612f41d595bc6dc8") (:keywords "frames") (:authors ("Bar Magal")) (:maintainer "Bar Magal") (:url . "https://github.com/bmag/emacs-purpose"))]) (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-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-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-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-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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (wiki-nav . [(20150223 1354) ((button-lock (1 0 2)) (nav-flash (1 0 0))) "Simple file navigation using [[WikiStrings]]" single ((:commit . "f9082feb329432fcf2ac49a95e64bed9fda24d58") (:keywords "mouse" "button" "hypermedia" "navigation") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))]) (widgetjs . [(20160719 1504) ((makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1)) (s (1 9 0))) "Widgetjs mode" single ((:commit . "7b35a8ebea4a96aadca0ec732d4504474812fd3c") (:keywords "help") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (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>"))]) (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"))]) (whole-line-or-region . [(20181116 2249) nil "operate on current line if region undefined" single ((:commit . "6fcbd6e403a8a66813fdf64ddd3f03b904c82a88") (:keywords "convenience" "wp") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (whizzml-mode . [(20180711 1610) ((emacs (24 4))) "Programming mode for editing WhizzML files" tar ((:commit . "f457052dc5426d542ca69185a5a87905f08f1310") (:keywords "languages" "lisp") (:authors ("Jose Antonio Ortega Ruiz" . "jao@bigml.com")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@bigml.com"))]) (whitespace-cleanup-mode . [(20170506 223) nil "Intelligently call whitespace-cleanup on save" single ((:commit . "6d0a35159ee04ef9f3b1a80c548f545643ddb397") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))]) (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"))]) (white-sand-theme . [(20151117 1648) ((emacs (24))) "Emacs theme with a light background." single ((:commit . "97621edd69267dd143760d94393db2c2558c9ea4") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (which-key . [(20181114 1432) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "43e3e3d7641a8e1c298b37e6a277612bf0898708") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))]) (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/"))]) (wgrep-pt . [(20140510 2231) ((wgrep (2 1 5))) "Writable pt buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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"))]) (wgrep-helm . [(20170510 2239) ((wgrep (2 1 1))) "Writable helm-grep-mode buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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-ag . [(20160923 1103) ((wgrep (2 1 5)) (cl-lib (0 5))) "Writable ag buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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-ack . [(20141012 1011) ((wgrep (2 1 1))) "Writable ack-and-a-half buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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 . [(20180711 626) nil "Writable grep buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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"))]) (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"))]) (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"))]) (weechat . [(20180513 1010) ((s (1 3 1)) (cl-lib (0 2)) (emacs (24)) (tracking (1 2))) "Chat via WeeChat's relay protocol in Emacs" tar ((:commit . "8cbda2738149b070c09288df550781b6c604beb2"))]) (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"))]) (websocket . [(20180423 16) ((cl-lib (0 5))) "Emacs WebSocket client and server" single ((:commit . "0d96ba2ff5a25c6cd6c66f417cc9b5f38a4308ba") (:keywords "communication" "websocket" "server") (:authors ("Andrew Hyatt" . "ahyatt@gmail.com")) (:maintainer "Andrew Hyatt" . "ahyatt@gmail.com"))]) (webpaste . [(20180815 1855) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "e7fed98c30e960911426be054bad183fd1ab6a37") (:keywords "convenience" "comm" "paste") (:authors ("Elis \"etu\" Hirwing")) (:maintainer "Elis \"etu\" Hirwing") (:url . "https://github.com/etu/webpaste.el"))]) (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"))]) (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"))]) (web-server . [(20140906 6) ((emacs (24 3))) "Emacs Web Server" tar ((:commit . "469cd3bc117bfb8da0c03a2a2fb185e80c81d068") (: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"))]) (web-search . [(20181028 525) ((emacs (24 3))) "Open a web search" tar ((:commit . "24f5b49774f4fb60c903c2b65598590d1c6456d9") (:keywords "web" "search") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/web-search.el"))]) (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-mode-edit-element . [(20161114 1754) ((emacs (24 4)) (web-mode (14))) "Helper-functions for attribute- and element-handling" tar ((:commit . "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce") (: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-mode . [(20181104 2004) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "29ced993bb1a435bd82d3e7395bed13b99e87de4") (:keywords "languages") (:authors ("François-Xavier Bois <fxbois AT Google Mail Service>")) (:maintainer "François-Xavier Bois") (:url . "http://web-mode.org"))]) (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-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 . [(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"))]) (weather-metno . [(20150901 107) ((emacs (24)) (cl-lib (0 3))) "Weather data from met.no in Emacs" tar ((:commit . "bfc7137095e0ee71aad70ac46f2af677f3c051b6"))]) (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"))]) (wcheck-mode . [(20180126 1216) nil "General interface for text checkers" tar ((:commit . "6aa26626ccc6f7f670de092c7d40e44ab8b410f9"))]) (wc-mode . [(20170127 429) nil "Running word count with goals (minor mode)" single ((:commit . "f218f42709a651b34d6c1ddd98856f44648ef707") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-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"))]) (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"))]) (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"))]) (warm-night-theme . [(20161101 1428) ((emacs (24))) "Emacs 24 theme with a dark background." single ((:commit . "020f084d23409b5035150508ba6e57c2509edd64") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (wanderlust . [(20181115 1219) ((semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "d90978fed42a05b37bb2d4ede441267793d092f7"))]) (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"))]) (wand . [(20180815 1031) ((dash (20161121 55)) (s (20160928 636))) "Magic wand for Emacs - Select and execute" tar ((:commit . "5c0d4833a3afc57e4b2398250139729cc9131d16") (:keywords "extensions" "tools") (:authors ("Ha-Duong Nguyen <cmpitgATgmail>")) (:maintainer "Ha-Duong Nguyen <cmpitgATgmail>") (:url . "https://github.com/cmpitg/wand"))]) (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"))]) (wakib-keys . [(20180818 1829) ((emacs (24 4))) "Minor Mode for Modern Keybindings" single ((:commit . "a858979620bd22801e5ce214dd46d69b19ccd357") (:keywords "convenience" "keybindings" "keys") (:authors ("Abdulla Bubshait")) (:maintainer "Abdulla Bubshait") (:url . "https://github.com/darkstego/wakib-keys/"))]) (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"))]) (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"))]) (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"))]) (wacspace . [(20180311 2350) ((dash (1 2 0)) (cl-lib (0 2))) "The WACky WorkSPACE manager for emACS" tar ((:commit . "54d19aab6fd2bc5945b7ffc58104e695064927e2"))]) (w3m . [(20181022 855) nil "an Emacs interface to w3m" tar ((:commit . "f392ad9864d3ec30e8b8151bdbd714f51be21bf3") (:keywords "w3m" "www" "hypermedia"))]) (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"))]) (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"))]) (vue-mode . [(20180827 15) ((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 . "33436c53e3f1b683b1069043a10a77dad805df03") (:keywords "languages") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))]) (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"))]) (vscode-icon . [(20180922 2150) ((emacs (25 1))) "Utility package to provide Vscode style icons" tar ((:commit . "3ad83ee122d312775a101c975424a2c87c3a80b1") (:keywords "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/vscode-icon-emacs"))]) (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/"))]) (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"))]) (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"))]) (vmd-mode . [(20180223 1356) ((emacs (24 3))) "Fast Github-flavored Markdown preview using a vmd subprocess." single ((:commit . "24e38a20951dfad6e3e985c7cc6286c1e271da5f") (:keywords "markdown" "preview" "live" "vmd") (:authors ("Blake Miller" . "blak3mill3r@gmail.com")) (:maintainer "Blake Miller" . "blak3mill3r@gmail.com") (:url . "https://github.com/blak3mill3r/vmd-mode"))]) (vlf . [(20180201 2254) nil "View Large Files" tar ((:commit . "31b292dc85a374fb343789e217015683bfbdf5f1") (:keywords "large files" "utilities") (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/vlfi"))]) (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/"))]) (visual-regexp . [(20170301 116) ((cl-lib (0 2))) "A regexp/replace command for Emacs with interactive visual feedback" single ((:commit . "b3096c2d391ff4e28a2a4e8cd82efbf11071ea85") (: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-fill-column . [(20180919 757) ((emacs (24 3))) "fill-column for visual-line-mode" single ((:commit . "33f68b9d94b5877f21209b68438a3cd95f801dc1") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (virtualenvwrapper . [(20180212 144) ((dash (1 5 0)) (s (1 6 1))) "a featureful virtualenv tool for Emacs" single ((:commit . "bf13158dde071bdf4901709ed101aba6b8a25f7f") (: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"))]) (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"))]) (vimrc-mode . [(20181116 1919) nil "Major mode for vimrc files" single ((:commit . "13bc150a870d5d4a95f1111e4740e2b22813c30e") (:keywords "languages" "vim") (:url . "https://github.com/mcandre/vimrc-mode"))]) (vimish-fold . [(20181101 1650) ((emacs (24 4)) (cl-lib (0 5)) (f (0 18 0))) "Fold text like in Vim" single ((:commit . "ee647688a53fe91174d5450b61b882d389196f8e") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/vimish-fold"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (vhdl-tools . [(20181115 1736) ((ggtags (0 8 12)) (emacs (26 1)) (outshine (2 0)) (helm (2 9 6))) "Utilities for navigating vhdl sources." single ((:commit . "536a265d74c6fb750f35d50950bdccf12f929512") (:keywords "languages" "convenience") (:authors ("Cayetano Santos")) (:maintainer "Cayetano Santos") (:url . "https://github.com/csantosb/vhdl-tools/wiki"))]) (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"))]) (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"))]) (vertica-snippets . [(20181016 748) ((yasnippet (0 6 1))) "Yasnippets for Vertica" tar ((:commit . "1f80a737ed53f11d985a64c97bb99cfba8fd0b67") (:keywords "convenience" "snippets") (:authors ("Andreas Gerler" . "baron@bundesbrandschatzamt.de")) (:maintainer "Andreas Gerler" . "baron@bundesbrandschatzamt.de") (:url . "https://github.com/baron42bba/vertica-snippets"))]) (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"))]) (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"))]) (veri-kompass . [(20181110 933) ((emacs (25)) (cl-lib (0 5)) (org (8 2 0))) "verilog codebase navigation facility" single ((:commit . "ca9aa51e456f3762e2ebaaae5a2b70297375a4c8") (:keywords "languages" "extensions" "verilog" "hardware" "rtl") (:maintainer nil . "andrea_corallo@yahoo.it") (:url . "https://gitlab.com/koral/veri-kompass"))]) (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"))]) (vdm-snippets . [(20181106 1107) ((emacs (24)) (yasnippet (0 13 0))) "YASnippets for VDM mode" tar ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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 . [(20181112 2011) ((emacs (25))) "Major mode for the Vienna Development Method" tar ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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"))]) (vdirel . [(20181001 1135) ((emacs (24 4)) (org-vcard (0 1 0)) (helm (1 7 0)) (seq (1 11))) "Manipulate vdir (i.e., vCard) repositories" single ((:commit . "dfe5f9478405b8292f85fc911db92e81b627626a") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/vdirel"))]) (vdiff-magit . [(20180819 1802) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0))) "magit integration for vdiff" single ((:commit . "2589b93a0a789b1d86e607cb84979c6a837eb008") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff-magit"))]) (vdiff . [(20180920 1720) ((emacs (24 4)) (hydra (0 13 0))) "A diff tool similar to vimdiff" single ((:commit . "3bfb5decd7fcef73759b247b29aeae669fb79499") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff"))]) (vcomp . [(20140906 2208) nil "compare version strings" single ((:commit . "092ef48a78e950c0576269d889be6caf9f6e61c5") (:keywords "versions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/vcomp"))]) (vcl-mode . [(20170119 2051) nil "Syntax highlighting for Varnish Command Language" single ((:commit . "3d86c1352a7370d558d25f4c8f7be744e7d27332") (:authors ("Stig Sandbeck Mathisen" . "ssm@redpill-linpro.com")) (:maintainer "Stig Sandbeck Mathisen" . "ssm@redpill-linpro.com"))]) (vc-osc . [(20161119 1955) nil "non-resident support for osc version-control" single ((:commit . "8c09a0d5f69237285101554261b77d76b546a24b") (:authors ("Adam Spiers (see vc.el for full credits)")) (:maintainer "Adam Spiers" . "aspiers@suse.com"))]) (vc-msg . [(20180605 58) ((emacs (24 3)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "ffd8db482cbd9fb63dace0e5ddcc7207a9c99f5e") (: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-hgcmd . [(20181113 758) ((emacs (25 1))) "VC mercurial backend that uses hg command server" single ((:commit . "c05d560a81cbf108579d2b52c49896eabb334c74") (: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-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-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-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-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"))]) (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"))]) (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"))]) (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"))]) (vagrant-tramp . [(20160427 2332) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "453ba605b28d2964bb4e10074f1e6891ebb4d2d6") (: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"))]) (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"))]) (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"))]) (uuidgen . [(20140918 2301) nil "Provides various UUID generating functions" single ((:commit . "7eb96415484c3854a3f383d1a3e10b87ae674e22") (:keywords "extensions" "lisp" "tools") (:authors ("Kan-Ru Chen" . "koster@debian.org")) (:maintainer "Kan-Ru Chen" . "koster@debian.org"))]) (uuid . [(20120910 851) nil "UUID's for EmacsLisp" single ((:commit . "1519bfeb0e31602b840bc8dd35d7c7e732c159fe") (:keywords "lisp") (:authors ("James Mastros")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) (utop . [(20181010 2155) ((emacs (24))) "Universal toplevel for OCaml" single ((:commit . "ea38850e606dd18c94e2ccabc28485fec1c8f91f") (:keywords "ocaml" "languages") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:url . "https://github.com/diml/utop"))]) (usql . [(20180305 2323) ((emacs (25 1))) "U-SQL support for sql-mode" single ((:commit . "bfaf428b366a9a185eef84f0d645a98dc918fe3d") (:keywords "languages") (:authors ("Nicholas Barnwell" . "nb@ul.io")) (:maintainer "Nicholas Barnwell" . "nb@ul.io") (:url . "https://github.com/nickbarwell/usql.el"))]) (use-ttf . [(20180609 552) ((emacs (24 4)) (s (1 12 0))) "Use the same font cross OS." single ((:commit . "29dddac84184e0c391dc586c56e94593df4f5a59") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/use-ttf"))]) (use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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-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-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 . "d9f229453da31fdf9a55207db09e360c5071d706") (: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 . [(20181110 1758) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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"))]) (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"))]) (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"))]) (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"))]) (uptimes . [(20180416 1323) ((cl-lib (0 5)) (emacs (24))) "Track and display emacs session uptimes." single ((:commit . "5e81f8bb419836602819045e7d5a74b76ad3e69c") (:keywords "processes" "uptime") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/uptimes.el"))]) (upbo . [(20180422 822) ((dash (2 12 0)) (emacs (24 4))) "Karma Test Runner Integration" single ((:commit . "c37728e11dedd29d849ba9523465b0cdaccea9d5") (:keywords "javascript" "js" "test" "karma") (:authors ("Sungho Kim(shiren)")) (:maintainer "Sungho Kim(shiren)") (:url . "http://github.com/shiren"))]) (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"))]) (unkillable-scratch . [(20160505 203) nil "Disallow buffers from being killed by regexp -- default is *scratch* buffer" single ((:commit . "676a5a97658830caece18fa65a23e3d113933151") (:keywords "scratch") (:authors ("Eric Crosson" . "esc@ericcrosson.com")) (:maintainer "Eric Crosson" . "esc@ericcrosson.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (unicode-troll-stopper . [(20151024 131) nil "Minor mode for Highlighting Unicode homoglyphs" single ((:commit . "15e4b57b78bf643bb56e5000078030cbb5c66e2a") (: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-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-input . [(20141219 720) nil "Support for unicode character input" single ((:keywords "unicode" "input") (:authors ("m00nlight" . "dot_wangyushi@yeah.net")) (:maintainer "m00nlight" . "dot_wangyushi@yeah.net"))]) (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-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-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-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"))]) (unfill . [(20170723 146) nil "Unfill paragraphs or regions, and toggle between filled & unfilled" single ((:commit . "df0c4dee19a3874b11c7c7f04e8a2fba629fda9b") (:keywords "utilities") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/unfill"))]) (undohist . [(20150315 1242) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "d2239a5f736724ceb9e3b6bcaa86f4064805cda0") (:keywords "convenience") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com"))]) (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"))]) (underline-with-char . [(20170814 923) ((emacs (24))) "Underline with a char" single ((:commit . "6daeba77e17dc11558ca3ccb0495524f5104d581") (:keywords "convenience") (:maintainer nil . "marcowahlsoft@gmail.com"))]) (undercover . [(20180403 1452) ((emacs (24)) (dash (2 0 0)) (shut-up (0 3 2))) "Test coverage library for Emacs Lisp" single ((:commit . "3fc54ef92f0b4b7d26d962d6ed29a81d526a3a66") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (typo . [(20171209 1023) nil "Minor mode for typographic editing" single ((:commit . "9dad93b6f367f02f52c8d9bf15d446d922cec294") (:keywords "convenience" "wp") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/typoel"))]) (typit . [(20180317 807) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "4fe50d616fc60e77eb9b5a824c0a1ca4010b0746") (:keywords "games") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/typit"))]) (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"))]) (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"))]) (typescript-mode . [(20181018 553) nil "Major mode for editing typescript" tar ((:commit . "fbaad515c90df0f5c3634c471034e3041a4a8cfc") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))]) (typed-clojure-mode . [(20151003 1822) ((clojure-mode (2 1 1)) (cider (0 10 0 -4))) "Typed Clojure minor mode for Emacs" tar ((:commit . "3abd53d8cc1ad77ffe76e02849d0ab7731fd8364") (:authors ("John Walker <john.lou.walker@gmail.com>, Ambrose Bonnaire-Sergeant" . "abonnairesergeant@gmail.com")) (:maintainer "John Walker <john.lou.walker@gmail.com>, Ambrose Bonnaire-Sergeant" . "abonnairesergeant@gmail.com") (:url . "https://github.com/typedclojure/typed-clojure-mode"))]) (twittering-mode . [(20180917 328) nil "Major mode for Twitter" single ((:commit . "ad7de82cf4b72fc166970d85849e2a9a9ae5a979") (: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/"))]) (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"))]) (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-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"))]) (twig-mode . [(20130220 1850) nil "A major mode for twig" single ((:commit . "2849f273a4855d3314a9c0cc84134f5b28ad5ea6") (:authors ("Bojan Matic aka moljac024")) (:maintainer "Bojan Matic aka moljac024"))]) (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"))]) (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"))]) (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"))]) (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"))]) (tumblesocks . [(20140215 2047) ((htmlize (1 39)) (oauth (1 0 3)) (markdown-mode (1 8 1))) "An Emacs tumblr client." tar ((:commit . "85a6cdc2db3390593fd886c474959b675460b310"))]) (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"))]) (tuareg . [(20180918 1913) ((caml (3 12 0 1))) "OCaml mode for Emacs." tar ((:commit . "c030be472c2aea4d4b770705f9099fb00e952618") (: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"))]) (ttl-mode . [(20160505 832) nil "mode for Turtle (and Notation 3)" single nil]) (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"))]) (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"))]) (ts-comint . [(20171106 647) nil "Run a Typescript interpreter in an inferior process window." single ((:commit . "8817dc7b3a6eb78c3cad42e5677c2113274a1963") (: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"))]) (try . [(20170226 1605) ((emacs (24))) "Try out Emacs packages." single ((:commit . "271b0a362cadf44d0694628b9e213f54516ef913") (:keywords "packages") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/try"))]) (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"))]) (trr . [(20170221 842) nil "a type-writing training program on GNU Emacs." tar ((:commit . "83660d8343ef3367837354dc684dfdde2f95826a") (: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"))]) (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"))]) (trident-mode . [(20130726 1907) ((emacs (24)) (slime (20130526)) (skewer-mode (1 5 0)) (dash (1 0 3))) "Live Parenscript interaction" single ((:commit . "ad3201f47e114de35df189c3d80f0fdea9507ea9") (: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"))]) (treepy . [(20180724 656) ((emacs (25 1))) "Generic tree traversal tools" single ((:commit . "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d") (: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"))]) (treemacs-projectile . [(20181029 624) ((projectile (0 14 0)) (treemacs (0))) "Projectile integration for treemacs" single ((:commit . "d934a5f43b0ab21e827afb0dd1dc37490027d275") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (treemacs-evil . [(20180803 1017) ((evil (1 2 12)) (treemacs (0))) "Evil mode integration for treemacs" single ((:commit . "d934a5f43b0ab21e827afb0dd1dc37490027d275") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (treemacs . [(20181108 1616) ((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 2)) (hydra (0 13 2)) (ht (2 2))) "A tree style file explorer package" tar ((:commit . "d934a5f43b0ab21e827afb0dd1dc37490027d275") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (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"))]) (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"))]) (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"))]) (transpose-frame . [(20151126 1426) nil "Transpose windows arrangement in a frame" single ((:commit . "011f420c3496b69fc22d789f64cb8091834feba7") (:keywords "window") (:authors ("S. Irie")) (:maintainer "S. Irie"))]) (transmission . [(20180728 1717) ((emacs (24 4)) (let-alist (1 0 5))) "Interface to a Transmission session" single ((:commit . "bbe4077b89afe732d346eeed1ad0783537f33480") (:keywords "comm" "tools") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))]) (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"))]) (tramp-term . [(20180223 1527) nil "Automatic setup of directory tracking in ssh sessions." single ((:commit . "7c29f888de0385a676dbf9a4e17bac0111f5c10a") (: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"))]) (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"))]) (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"))]) (tracking . [(20171210 2102) nil "Buffer modification tracking" tar ((:commit . "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/circe/wiki/Tracking"))]) (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"))]) (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"))]) (toxi-theme . [(20160424 2126) ((emacs (24))) "A dark color theme by toxi" single ((:authors ("Karsten Schmidt" . "info@postspectacular.com")) (:maintainer "Karsten Schmidt" . "info@postspectacular.com") (:url . "http://bitbucket.org/postspectacular/toxi-theme/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-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 . [(20180316 3) ((cl-lib (0 5))) "quickly open corresponding file (eg test vs impl)." single ((:commit . "4ce20cc5b25a1f1b4669ea8ff2880ec764eaf7da") (:keywords "files" "extensions" "convenience") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.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/"))]) (todotxt-mode . [(20150424 1404) nil "Major mode for editing todo.txt files" single ((:commit . "dc6ae151edee88f329ba7abc5d39b7440002232f") (:keywords "wp" "files") (:authors ("Adolfo Villafiorita" . "adolfo.villafiorita@me.com")) (:maintainer "Adolfo Villafiorita" . "adolfo.villafiorita@me.com"))]) (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"))]) (toc-org . [(20181108 1621) nil "add table of contents to org-mode files (formerly, org-toc)" single ((:commit . "4315afd2a408c0d432ba3d8d040c2326c222fdbf") (: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"))]) (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"))]) (tldr . [(20180122 1112) ((emacs (24 3))) "tldr client for Emacs" single ((:commit . "398b197c8d2238628b07e1b32d0f373876279f4c") (:keywords "tools" "docs") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/tldr.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"))]) (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"))]) (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"))]) (tiny . [(20170903 949) nil "Quickly generate linear ranges in Emacs" single ((:commit . "012b2e7a67b9f067bbfa0292479861ffbaa201fa") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/tiny"))]) (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"))]) (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"))]) (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"))]) (timesheet . [(20180802 202) ((s (1)) (org (7)) (auctex (11))) "Timesheet management add-on for org-mode" tar ((:commit . "67ca6a9f6733052066b438301fb2dd81b8b3f6eb") (:keywords "org" "timesheet") (:authors ("Tom Marble")) (:maintainer "Tom Marble") (:url . "https://github.com/tmarble/timesheet.el"))]) (timer-revert . [(20150122 2032) nil "minor mode to revert buffer for a given time interval." tar ((:commit . "615c91dec8b440d2b9b7c725dd733d7432564e45"))]) (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"))]) (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"))]) (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"))]) (tide . [(20181025 1201) ((dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "b2af64e5926b9c1493f7e39d5e928d61975816fb") (:keywords "typescript") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/tide"))]) (tidal . [(20181102 1631) ((haskell-mode (16)) (emacs (24))) "Interact with TidalCycles for live coding patterns" single ((:commit . "331094e6326352566ca647300ba1b35b72b625cf") (:keywords "tools") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:url . "https://github.com/tidalcycles/Tidal"))]) (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"))]) (thumb-through . [(20120119 534) nil "Plain text reader of HTML documents" single ((:commit . "08d8fb720f93c6172653e035191a8fa9c3305e63") (:keywords "html"))]) (thrift . [(20180905 1050) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "1bb2578e8de2216bed2f95a1062732edf7982924") (:keywords "languages"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (theme-looper . [(20170425 1306) ((cl-lib (0 5))) "Loop thru the available color-themes" single ((:commit . "875c2cfc84b3c143d3b14a7aba38905e35559157") (: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-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"))]) (tfsmacs . [(20180911 2114) ((emacs (25)) (tablist (0 70))) "MS TFS source control interaction." single ((:commit . "13ee3f528ff616880611f563a68d921250692ef8") (: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/"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (texfrag . [(20181001 753) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "87ebd2653c39abe0b02a91ab2182e6fff562f6c7") (:keywords "tex" "languages" "wp") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:url . "https://github.com/TobiasZawada/texfrag"))]) (tex-smart-umlauts . [(20160427 758) nil "Smart umlaut conversion for TeX." single ((:commit . "5261b931443558f4252489a1e6616034848aff02") (: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"))]) (test-simple . [(20170527 1532) ((cl-lib (0))) "Simple Unit Test Framework for Emacs Lisp" single ((:commit . "b3b69f52207d3a8111421ad7ab9ed82abbe85316") (:keywords "unit-test") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-test-simple"))]) (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-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-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"))]) (terraform-mode . [(20170112 517) ((emacs (24 3)) (hcl-mode (0 3))) "Major mode for terraform configuration file" single ((:commit . "6973d1acaba2835dfdf174f5a5e27de6366002e1") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-terraform-mode"))]) (tern-django . [(20160221 1923) ((emacs (24)) (tern (0 0 1)) (f (0 17 1))) "Create tern projects for django applications." tar ((:commit . "46f2cd5e96bc804069f18455a828b8e4c5ec358a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/tern-django"))]) (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"))]) (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 . "e94e20be8510040744fc803c9fda6bbb9625c6d2") (:authors ("<m.sakurai at kiwanami.net>")) (:maintainer "<m.sakurai at kiwanami.net>"))]) (tern . [(20181108 722) ((json (1 2)) (cl-lib (0 5)) (emacs (24))) "Tern-powered JavaScript integration" single ((:commit . "e94e20be8510040744fc803c9fda6bbb9625c6d2") (:authors ("Marijn Haverbeke")) (:maintainer "Marijn Haverbeke") (:url . "http://ternjs.net/"))]) (terminal-here . [(20180513 833) ((emacs (24)) (cl-lib (0 5))) "Run an external terminal in current directory" single ((:commit . "271cdd27b3807e76c483b63d47a8287cbabd99d0") (:keywords "tools" "frames") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/terminal-here"))]) (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"))]) (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"))]) (term-run . [(20151228 905) nil "Run arbitrary command in terminal buffer" single ((:commit . "bffd7b0183ca26645d191732092546eab7fca95e") (: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"))]) (term-projectile . [(20170421 805) ((emacs (24)) (term-manager (0 1 0)) (projectile (0 13 0))) "projectile terminal management" single ((:commit . "13a0f1637a1f075d70211ccb8162e63a18a474da") (: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-manager . [(20171020 841) ((dash (2 12 0)) (emacs (24 4))) "Contextual terminal management" tar ((:commit . "13a0f1637a1f075d70211ccb8162e63a18a474da") (:keywords "terminals" "tools") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))]) (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 . "6c9cbc659b70241d2ed1601eea34aeeca0646dac"))]) (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 . "47af9e6fe483ef0d393098c145f499362a33292a"))]) (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+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+ . [(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"))]) (ten-hundred-mode . [(20161028 2236) ((cl-lib (0 5))) "use only the ten hundred most usual words" tar ((:commit . "bdcfda49b1819e82d61fe90947e50bb948cf7933"))]) (temporary-persistent . [(20161210 1133) ((emacs (24 3)) (names (20151201 0)) (dash (2 12 1)) (s (1 10 0))) "Keep temp notes buffers persistent -*- lexical-binding: t" single ((:commit . "ac66f3054fc701d53f11ada9d2d9ab18ea481dc0") (:keywords "temp" "buffers" "notes") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/temporary-persistent"))]) (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"))]) (telephone-line . [(20181116 220) ((emacs (24 4)) (cl-lib (0 5)) (cl-generic (0 2)) (seq (1 8))) "Rewrite of Powerline" tar ((:commit . "212b3df07a58cfbeb1f767f6b7759c41e3ad44ff") (:keywords "mode-line") (:authors ("Daniel Bordak" . "dbordak@fastmail.fm")) (:maintainer "Daniel Bordak" . "dbordak@fastmail.fm") (:url . "https://github.com/dbordak/telephone-line"))]) (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"))]) (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"))]) (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"))]) (tco . [(20160811 12) ((dash (1 2 0)) (emacs (24))) "tail-call optimisation for Emacs lisp" single ((:commit . "97529ed7a0939c51ce0084c0aa8b12b313654735") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (tc . [(20181109 428) nil "a Japanese input method with T-Code on Emacs" tar ((:commit . "5496f8dee27c4d925977da3cca6fcacf9b45bc58") (:authors ("Kaoru Maeda" . "maeda@src.ricoh.co.jp") ("Yasushi Saito" . "yasushi@cs.washington.edu") ("KITAJIMA Akira" . "kitajima@isc.osakac.ac.jp")) (:maintainer "KITAJIMA Akira"))]) (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"))]) (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"))]) (tawny-mode . [(20170422 2202) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "d768cce65891f11cd2f96aff54b76e5bb07cc649") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) (taskpaper-mode . [(20181113 931) nil "Major mode for working with TaskPaper files" single ((:commit . "91a8a3ebbc3d8f067fcbe88933bc208518760013") (: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"))]) (tao-theme . [(20181020 1726) nil "This package provides two parametrized uncoloured color themes for Emacs: tao-yin and tao-yang." tar ((:commit . "c10ba53dad8aa3625191184a56c34ed456561771"))]) (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"))]) (tango-plus-theme . [(20170214 1708) nil "A color theme based on the tango palette" single ((:commit . "8ba8901397e3e9f1d53110487bfa0effc65015e7") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))]) (tango-2-theme . [(20120312 2025) nil "Tango 2 color theme for GNU Emacs 24" single ((:commit . "64e44c98e41ebbe3b827d54280e3b9615787daaa") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) (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"))]) (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"))]) (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"))]) (tablist . [(20170220 335) ((emacs (24 3))) "Extended tabulated-list-mode" tar ((:commit . "c834a84efb6efa32497efe1e73160fade741b836") (:keywords "extensions" "lisp") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (systemd . [(20180629 2106) ((emacs (24 4))) "Major mode for editing systemd units" tar ((:commit . "401d71c2dd24e424216ae5e4275c830f2a9c6b0c") (:keywords "tools" "unix") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))]) (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"))]) (system-packages . [(20180921 1906) ((emacs (24 3))) "functions to manage system packages" single ((:commit . "d18b2c0e38ddc1ccfcd7d787112fb3465df51769") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/system-packages"))]) (syntax-subword . [(20160519 1905) nil "make operations on words more fine-grained" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (syntactic-close . [(20181026 1631) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "426975d73c474eb4e6a0af20f34455aac6e89610") (: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"))]) (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"))]) (synosaurus . [(20180125 1834) ((cl-lib (0 5))) "An extensible thesaurus supporting lookup and substitution." tar ((:commit . "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb") (:url . "https://github.com/hpdeifel/synosaurus"))]) (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"))]) (syndicate . [(20160603 1523) ((evil (1 0))) "evil keybindings for org-mode" single ((:commit . "90cee202a06f5bab48268ebf9f62c43334b69f50") (:keywords "evil" "org" "bindings") (:authors ("Kawin Nikomborirak")) (:maintainer "Kawin Nikomborirak") (:url . "https://github.com/KNX32542/syndicate.git"))]) (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"))]) (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/"))]) (symon . [(20170224 833) nil "tiny graphical system monitor" single ((:commit . "8dd8b6df49b03cd7d31b85aedbe9dd08fb922335") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (symbolword-mode . [(20180401 1427) ((emacs (24)) (f (0 19 0))) "modify word split" single ((:commit . "3857c42696e20f49f274ff8bc45a6f3ee26884d4") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/symbolword-mode"))]) (symbol-overlay . [(20181112 818) ((emacs (24 3))) "Highlight symbols with keymap-enabled overlays" single ((:commit . "831506ee124f357d5bd4d213b9dea2d0e7ac1287") (:keywords "faces" "matching") (:authors ("wolray" . "wolray@foxmail.com")) (:maintainer "wolray" . "wolray@foxmail.com") (:url . "https://github.com/wolray/symbol-overlay/"))]) (sx . [(20180606 736) ((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 . "a214f46b15eb29eaf02abdd4ddc2f90c3925d15f") (:keywords "help" "hypermedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/sx.el/"))]) (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"))]) (swoop . [(20160120 1715) ((ht (2 0)) (pcre2el (1 5)) (async (1 1)) (emacs (24))) "Peculiar buffer navigation for Emacs" tar ((:commit . "a5e475db7a9f5db02ba3d08cd3c1c3594e2e01d7") (:keywords "swoop" "inner" "buffer" "search" "navigation") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-swoop"))]) (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"))]) (switch-buffer-functions . [(20171011 1704) nil "Hook run when current buffer changed" single ((:commit . "651696ef9dec7affbe51c81d9318288376c35899") (: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"))]) (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"))]) (swiper . [(20181008 1731) ((emacs (24 1)) (ivy (0 9 0))) "Isearch with an overview. Oh, man!" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (swift-mode . [(20181013 1002) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language." tar ((:commit . "fc718a5d48a4fc16e8be1c4bde65bb11cd107a09") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (suscolors-theme . [(20161109 2015) nil "Colorful theme, inspired by Gruvbox." single ((:commit . "b946e7924aa02fa7441c970026898f17fe97601f") (:url . "https://github.com/TheSuspiciousWombat/SusColors-emacs"))]) (supergenpass . [(20130329 548) nil "SuperGenPass for Emacs" single ((:commit . "549072ef7b5b82913cadd4758e8a0a9926f0a04a") (:keywords "supergenpass") (:authors ("Jaime Fournier" . "jaimef@linbsd.org")) (:maintainer "Jaime Fournier" . "jaimef@linbsd.org"))]) (super-save . [(20180929 727) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "2a905b8bdfc93bee16e2d62a61c6211bbe009331") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/super-save"))]) (suomalainen-kalenteri . [(20170801 826) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "c702e33cb6e13cb28bd761844e95be112a3c04f3"))]) (sunshine . [(20181029 1654) ((cl-lib (0 5))) "Provide weather and forecast information." single ((:commit . "8959dea03377e61aaca0124ac8d2703daaae6b9a") (:keywords "tools" "weather") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/sunshine.el"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (sudoku . [(20161111 706) ((emacs (24 4))) "Simple sudoku game, can download puzzles" single ((:commit . "77c11b5041b58fc943cf1668b44b40bae039cb5b") (:keywords "games") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) (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"))]) (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"))]) (sudden-death . [(20180217 23) nil "Totsuzen-no-Shi" single ((:commit . "791a63d3f4df192e71f4232a9a4c5588f4b43dfb") (:authors ("yewton")) (:maintainer "yewton") (:url . "https://github.com/yewton/sudden-death.el"))]) (sublimity . [(20170820 1527) ((cl-lib (0 3))) "smooth-scrolling, minimap and distraction-free mode" tar ((:commit . "62b0c526c599a0178a16a75f16513fc1f93a0d53") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/sublimity"))]) (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"))]) (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"))]) (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"))]) (subatomic-theme . [(20160126 1538) nil "Low contrast bluish color theme" single ((:commit . "6a4086af748b1ecb27f6ba2aa2614988db16d594") (:keywords "color-theme" "blue" "low contrast") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic"))]) (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"))]) (stylefmt . [(20161025 824) nil "Stylefmt interface" single ((:commit . "7a38f26bf8ff947215f34f0a064c7ca80575ccbc") (:keywords "style" "code" "formatter") (:authors ("κeen")) (:maintainer "κeen") (:url . "https://github.com/KeenS/stylefmt.el"))]) (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"))]) (stumpwm-mode . [(20140131 216) nil "special lisp mode for evaluating code into running stumpwm" single ((:commit . "61a7cf27e49e0779a53c018b2342f5f1c5cc70b4") (:keywords "comm" "lisp" "tools") (:maintainer "Shawn Betts"))]) (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"))]) (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"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (stgit . [(20171130 1559) nil "major mode for StGit interaction" single ((:commit . "d86a0c1ffd8db519a1e8d56b3d972fdd8a7f4818") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://www.procode.org/stgit"))]) (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"))]) (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"))]) (steam . [(20171109 13) ((cl-lib (0 5))) "Organize and launch Steam games" single ((:commit . "d6ca2a828b0824da51978397e198bf91c51ce793") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/steam.el"))]) (status . [(20151230 1408) nil "This package adds support for status icons to Emacs." tar ((:commit . "b62c74bf272566f82a68622f29fb9edafea0f241"))]) (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"))]) (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/"))]) (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"))]) (standoff-mode . [(20171115 1731) nil "Create stand-off markup, also called external markup." tar ((:commit . "cf84b14066d63694d931395c6026fd0245d8a62b"))]) (stan-snippets . [(20161024 258) ((stan-mode (9 2 0)) (yasnippet (0 8 0))) "Yasnippets for Stan" tar ((:commit . "a8e88473ef996b455523dc3fbcf2d8520659652f") (:keywords "snippets") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com")) (:maintainer "Jeffrey Arnold" . "jeffrey.arnold@gmail.com") (:url . "http://github.com/stan-dev/stan-mode"))]) (stan-mode . [(20180110 2241) nil "Major mode for editing Stan files" tar ((:commit . "a8e88473ef996b455523dc3fbcf2d8520659652f") (:keywords "languanges") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Daniel Lee" . "bearlee@alum.mit.edu")) (:maintainer "Jeffrey Arnold" . "jeffrey.arnold@gmail.com") (:url . "http://github.com/stan-dev/stan-mode"))]) (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"))]) (ssh-tunnels . [(20180703 2027) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" single ((:commit . "a6b6ae9a5d17afa9ea39ca8c071e889deefcf8a3") (:keywords "tools" "convenience") (:authors ("death <github.com/death>")) (:maintainer "death <github.com/death>") (:url . "http://github.com/death/ssh-tunnels"))]) (ssh-deploy . [(20181106 1347) ((emacs (24))) "Deployment via TRAMP, global or per directory." tar ((:commit . "88300e389e69f08d1511bcd8f185e608c9f6fddf") (:keywords "tools" "convenience") (:authors ("Christian Johansson" . "christian@cvj.se")) (:maintainer "Christian Johansson" . "christian@cvj.se") (:url . "https://github.com/cjohansson/emacs-ssh-deploy"))]) (ssh-config-mode . [(20180922 951) nil "Mode for fontification of ~/.ssh/config" tar ((:commit . "1ec676c021269c7b9cf814cf1d12f6acdcc25588") (: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-agency . [(20180508 26) ((emacs (24 4)) (dash (2 10 0))) "manage ssh-agent from Emacs" single ((:commit . "d9dbedd773ad3a831e02e162c47936d6814a850a") (:authors ("Noam Postavsky" . "npostavs@user.sourceforge.net")) (:maintainer "Noam Postavsky" . "npostavs@user.sourceforge.net") (:url . "https://github.com/magit/ssh-agency"))]) (ssh . [(20120904 2042) nil "Support for remote logins using ssh." single ((:commit . "c17cf5b43df8ac4662a0580f85898e1f078df0d1") (:keywords "unix" "comm") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (ssass-mode . [(20180428 2039) ((emacs (24 3))) "Edit Sass without a Turing Machine" single ((:commit . "da82ebb2aa7e4999c23547270d2b0b2cd9311a47") (:keywords "languages" "sass") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ssass-mode"))]) (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"))]) (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"))]) (srcery-theme . [(20181114 1649) ((emacs (24))) "Dark color theme." single ((:commit . "9f80e5b6a6b0cd5c6c1e1ca54d5611d0c7810425") (:keywords "faces") (:authors ("Daniel Berg")) (:maintainer "Daniel Berg") (:url . "https://github.com/srcery-colors/srcery-emacs"))]) (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"))]) (sqlup-mode . [(20170610 1537) nil "Upcase SQL words for you" single ((:commit . "04970977b4abb4d44301651618bbf1cdb0b263dd") (: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"))]) (sqlite . [(20180708 1711) nil "use sqlite via elisp" single ((:commit . "dad42b8bbca4994be1871343dd18fd6528ee5797") (:authors ("Christian Giménez")) (:maintainer "Christian Giménez"))]) (sqlformat . [(20181019 159) ((emacs (24))) "Reformat SQL using sqlformat or pgformatter" single ((:commit . "c7802edf4adb68d7a7a9db14a6b42c03f0a3da2d") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (sql-impala . [(20160427 2358) nil "comint support for Cloudera Impala" single ((:commit . "e7a2d79d60b0a6339d730fc39ca024c3d6c56de7") (:keywords "sql" "impala") (:authors ("Jason Terk" . "jason@goterkyourself.com")) (:maintainer "Jason Terk" . "jason@goterkyourself.com") (:url . "https://github.com/jterk/sql-impala"))]) (sql-clickhouse . [(20180302 1555) ((emacs (24))) "support ClickHouse as SQL interpreter" single ((:commit . "2edccd94145c55a040a3a87193793f06cf01f64f") (:authors ("Robert Schwarz" . "mail@rschwarz.net")) (:maintainer "Robert Schwarz" . "mail@rschwarz.net") (:url . "https://github.com/leethargo/sql-clickhouse"))]) (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"))]) (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"))]) (sproto-mode . [(20151115 1805) nil "Major mode for editing sproto." single ((:commit . "0583a88273204dccd884b7edaa3590cefd31e7f7") (:keywords "sproto") (:authors ("m2q1n9")) (:maintainer "m2q1n9"))]) (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"))]) (springboard . [(20170106 755) ((helm (1 6 9))) "Temporarily change default-directory for one command" single ((:commit . "263a8cd4582c81bfc29d7db37d5267e2488b148c") (:keywords "helm") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) (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"))]) (spotlight . [(20150929 755) ((emacs (24 1)) (swiper (0 6 0)) (counsel (0 6 0))) "search files with Mac OS X spotlight" single ((:commit . "ab902900f22e7d1ea2dd8169441d2da7155aaa68") (:keywords "search" "external") (:authors ("Ben Maughan" . "benmaughan@gmail.com")) (:maintainer "Ben Maughan" . "benmaughan@gmail.com") (:url . "http://www.pragmaticemacs.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (spice-mode . [(20171028 643) ((emacs (24 3))) "Major mode for SPICE" single ((:commit . "702bf2d5c3561be44771ea77b476532d32068504") (: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/"))]) (sphinx-mode . [(20180620 915) ((f (0 20 0)) (dash (2 14 1))) "Minor mode providing sphinx support." tar ((:commit . "b5ac514e213459dcc57184086f10b5b6be3cecd8"))]) (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-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"))]) (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"))]) (speed-type . [(20171230 1647) ((emacs (24 3)) (cl-lib (0 3))) "Practice touch and speed typing" single ((:commit . "7a67fcd7bf825eee890097bd4a1b3c4f531a1135") (:keywords "games") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:url . "https://github.com/parkouss/speed-type"))]) (speechd-el . [(20180105 2017) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "0b25d3eb7ae219d2af9a7e9df2f3334652156bf5"))]) (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"))]) (sparql-mode . [(20180320 1802) ((cl-lib (0 5)) (emacs (24 3))) "Edit and interactively evaluate SPARQL queries." tar ((:commit . "a00bb622c54086ac1ee96c265bf7fbef12c68089") (: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"))]) (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"))]) (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"))]) (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"))]) (spacemacs-theme . [(20181107 1725) nil "Color theme with a dark and light versions" tar ((:commit . "c162ad13e4ae1965619012332d3b5f57c9172e98") (:keywords "color" "theme") (:url . "https://github.com/nashamri/spacemacs-theme"))]) (spaceline-all-the-icons . [(20170829 820) ((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 . "e2e195f64a541d72b6d0ba0451f1e3072234b820") (: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"))]) (spaceline . [(20180628 746) ((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 . "29ced71ed0097cd5eba15d6bfdbafd9d18f5bd82") (:keywords "mode-line" "powerline" "spacemacs") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/spaceline"))]) (spacegray-theme . [(20150719 1931) ((emacs (24 1))) "A Hyperminimal UI Theme" single ((:commit . "7f70ee36297e5ccf9bc90b1f81472024f5a7a749") (:keywords "themes") (:authors ("Bruce Williams" . "brwcodes@gmail.com")) (:maintainer "Bruce Williams" . "brwcodes@gmail.com") (:url . "http://github.com/bruce/emacs-spacegray-theme"))]) (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"))]) (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"))]) (sourcemap . [(20161216 540) ((emacs (24 3))) "Sourcemap parser" single ((:commit . "64c89d296186f48d9135fb8aad501de19f64bceb") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sourcemap"))]) (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"))]) (soundklaus . [(20160314 1231) ((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 . "09ec030843482594beae2664b8fe1e0ad1e66472") (:keywords "soundcloud" "music" "emms") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:url . "https://github.com/r0man/soundklaus.el"))]) (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"))]) (sound-wav . [(20160725 1424) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "406868043761524118c27b1207be0f8bbda8798e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))]) (sotlisp . [(20180706 1749) ((emacs (24 1))) "Write lisp at the speed of thought." single ((:commit . "cc5730c0803a6e0f18e22d6027784b915d304318") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (solidity-mode . [(20180912 2154) nil "Major mode for ethereum's solidity language" tar ((:commit . "62c8495c1097f4cd447bb491d886fa983185d94e") (:keywords "languages") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))]) (solarized-theme . [(20181030 1912) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 6 0))) "The Solarized color theme, ported to Emacs." tar ((:commit . "87d4758e7ecc8ed873f3326e4f8b185fd2b9da0a"))]) (solaire-mode . [(20180521 935) ((emacs (24 4)) (cl-lib (0 5))) "make certain buffers grossly incandescent" single ((:commit . "abf2ce4da77d0877efb4a035687390ce921eda4f") (: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"))]) (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"))]) (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-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"))]) (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"))]) (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"))]) (snippet . [(20130210 2315) nil "Insert snippets of text into a buffer" single ((:commit . "11d00dd803874b93836f2010b08bd2c97b0f3c63") (:authors ("Pete Kazmier")) (:maintainer "Pete Kazmier"))]) (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/"))]) (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"))]) (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"))]) (snakemake-mode . [(20181008 250) ((emacs (24 5)) (cl-lib (0 5)) (magit-popup (2 4 0))) "Major mode for editing Snakemake files" tar ((:commit . "0cadd2bbd20aae1555561e81ed72fec43ec7296e") (:keywords "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/snakemake-mode"))]) (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"))]) (smtpmail-multi . [(20160218 2349) nil "Use different smtp servers for sending mail" single ((:commit . "81eabfe56f620ee044ff9dd52fa8b6148d0a9f30") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/smtpmail-multi"))]) (smotitah . [(20150218 1030) nil "Modular emacs configuration framework" tar ((:commit . "f9ab562128a5460549d016913533778e8c94bcf3"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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]"))]) (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/"))]) (smeargle . [(20161212 2358) ((emacs (24 3))) "Highlighting region by last updated time" single ((:commit . "0665b1ff5109731898bc4a0ca6d939933b804777") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-smeargle"))]) (smblog . [(20170419 1021) ((emacs (24 3))) "samba log viewer" single ((:commit . "5245e7aeac20915121946f59bba30899305d950b") (:authors ("Aurélien Aptel" . "aaptel@suse.com")) (:maintainer "Aurélien Aptel" . "aaptel@suse.com") (:url . "http://github.com/aaptel/smblog-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (smartparens . [(20181028 1005) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "d65f3c0f47413c1a67ced979dc2062a073d907af"))]) (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"))]) (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-tab . [(20170902 2107) nil "Intelligent tab completion and indentation." single ((:commit . "76a8ec13384975d39aa1b25e5384a02558dba574") (:keywords "extensions") (:authors ("John SJ Anderson" . "genehack@genehack.org") ("Sebastien Rocca Serra" . "sroccaserra@gmail.com") ("Daniel Hackney" . "dan@haxney.org")) (:maintainer "John SJ Anderson" . "genehack@genehack.org") (:url . "http://github.com/genehack/smart-tab/tree/master"))]) (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-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-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-newline . [(20131208 340) nil "Provide smart newline for one keybind." single ((:commit . "0553a9e4be7188352de1a28f2eddfd28e7436f94") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai"))]) (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 . "b79f4fa5f2380b0d726a895dd7199e5483004490") (: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-mode-line-atom-one-dark-theme . [(20180915 1335) ((emacs (24 3)) (smart-mode-line (2 10))) "Atom-one-dark theme for smart-mode-line" single ((:commit . "21cf510c6dfc919517af045435f16dc3527d7d04") (: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 . [(20180926 1036) ((emacs (24 3)) (rich-minority (0 1 1))) "A color coded smart mode-line." tar ((:commit . "b79f4fa5f2380b0d726a895dd7199e5483004490") (: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-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-jump . [(20181103 2227) ((emacs (25 1)) (dumb-jump (0 5 1))) "Smart go to definition." tar ((:commit . "aa963735196b7f64fb286163cd5c3e4d435814e5") (:keywords "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/smart-jump"))]) (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-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-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-dash . [(20110131 316) nil "Smart-Dash minor mode" single ((:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))]) (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-compile . [(20180316 330) nil "an interface to `compile'" single ((:commit . "16ebc3c570f1949b8198fcc8663d6d26df32717a") (:keywords "tools" "unix") (:authors ("Seiji Zenitani" . "zenitani@mac.com")) (:maintainer "Seiji Zenitani" . "zenitani@mac.com"))]) (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-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"))]) (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"))]) (sly-quicklisp . [(20170112 935) ((sly (1 0 0 -2 2))) "Quicklisp support for SLY" tar ((:commit . "8a9e3c0c07c6861ec33b338cc46ac12e7ce6a477") (: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-named-readtables . [(20150817 1516) ((sly (1 0 0 -2 2))) "Support named readtables in Common Lisp files" tar ((:commit . "df4ed79064cf85275804e201899b677bef4ab3f5") (: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-macrostep . [(20160119 1234) ((sly (1 0 0 -2 2)) (macrostep (0 9))) "fancy macro-expansion via macrostep.el" tar ((:commit . "eb16778d104413a3e2a8d5537437c4ad76c2954b") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-macrostep"))]) (sly-hello-world . [(20160119 1436) ((sly (1 0 0 -2 2))) "A template SLY contrib" tar ((:commit . "1bfcca692b6ec0670ed309ffe29eb9384397c183") (: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 . [(20181116 2131) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "c338f22cc2b88c05b80b417b8a7a13b3e3346ca9") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))]) (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"))]) (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"))]) (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"))]) (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"))]) (slime-volleyball . [(20140718 441) nil "An SVG Slime Volleyball Game" tar ((:commit . "159b5c0f40b109e3854e94b89ec5383854c46ae3") (:keywords "games") (:authors ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))]) (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-docker . [(20181107 1556) ((emacs (24)) (slime (2 16)) (docker-tramp (0 1)) (cl-lib (0 5))) "Integration of SLIME with Docker containers." tar ((:commit . "83a6ea7e4302e03f894a03f15ae0b68b101023c0") (:keywords "docker" "lisp" "slime") (:url . "https://github.com/daewok/slime-docker"))]) (slime-company . [(20180119 1843) ((emacs (24 4)) (slime (2 13)) (company (0 9 0))) "slime completion backend for company mode" single ((:commit . "4c2e2805540dea700130607fa235018a87e4a070") (:keywords "convenience" "lisp" "abbrev") (:authors ("Ole Arndt" . "anwyn@sugarshark.com")) (:maintainer "Ole Arndt" . "anwyn@sugarshark.com"))]) (slime . [(20181112 1346) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "b7bf530d884371d6560cad37bd9b9e587ebc5e06") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))]) (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"))]) (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"))]) (slack . [(20181113 336) ((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 . "19af9a367b55ca79377058f4d9b5776dd98a9f99") (:url . "https://github.com/yuya373/emacs-slack"))]) (sl . [(20161217 1404) ((cl-lib (0 5))) "An Emacs clone of sl(1)" tar ((:commit . "0882117728be91276b815e18c2a66106bf9d69d3") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/sl.el"))]) (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"))]) (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"))]) (skewer-mode . [(20180706 1807) ((simple-httpd (1 4 0)) (js2-mode (20090723)) (emacs (24))) "live browser JavaScript, CSS, and HTML interaction" tar ((:commit . "a381049acc4fa2087615b4b3b26c0865841386bd"))]) (skewer-less . [(20160828 2021) ((skewer-mode (1 5 3))) "Skewer support for live LESS stylesheet updates" single ((:commit . "927d6848a1ea9428d4cc995f76bd42f7b8da6bc8") (:keywords "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (skeletor . [(20170617 46) ((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 . "01c330ec115fc29bba5d9bdf6c15beb4a44e2281") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.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"))]) (simplenote2 . [(20171202 206) ((request-deferred (0 2 0))) "Interact with app.simplenote.com" tar ((:commit . "0fd6dbd0566af29964078e4b74baf69c2f52381a") (:keywords "simplenote") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com"))]) (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"))]) (simpleclip . [(20181105 1636) nil "Simplified access to the system clipboard" single ((:commit . "2468b08ad829aaf4a90246541978be3974c60ab8") (:keywords "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/simpleclip"))]) (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"))]) (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-paren . [(20180427 918) ((emacs (24)) (cl-lib (0 5))) "Insert paired delimiter, wrap" single ((:commit . "8d735905306c587851eff1445898499c01c530ca") (:keywords "convenience") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:url . "https://github.com/andreas-roehler/simple-paren"))]) (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-httpd . [(20180528 1603) ((cl-lib (0 3))) "pure elisp HTTP server" single ((:commit . "49721d5b791bee0fc25b1fdd69696371d546093a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-http-server"))]) (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-bookmarks . [(20160804 1401) ((cl-lib (0 5))) "Bookmark / functioncall manager" tar ((:commit . "6c58337f2b7dbe9e58b5e097b1567f046a01d071") (:keywords "bookmark" "functioncall") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/simple-bookmarks"))]) (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"))]) (silkworm-theme . [(20180301 1437) ((emacs (24))) "Light theme with pleasant, low contrast colors." single ((:commit . "4a297f952401cfe894dcb24174f6eda05e00fada") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (signature . [(20140730 1949) nil "Signature Survey" tar ((:commit . "c47df2e1189a84505f9224aa78e87b6c65d13d37") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (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"))]) (sift . [(20160107 1015) nil "Front-end for sift, a fast and powerful grep alternative" single ((:commit . "4ce8878a0fc396ded7521ce38852d93e1d863065") (: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"))]) (side-notes . [(20180524 628) ((emacs (24 5))) "Easy access to a directory notes file" single ((:commit . "981ac308b9b5d58e2af20485377e693d2a6e15aa") (:keywords "convenience") (:authors ("Paul W. Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul W. Rankin" . "hello@paulwrankin.com") (:url . "https://github.com/rnkn/side-notes"))]) (sicp . [(20180823 1222) nil "Structure and Interpretation of Computer Programs in info format" tar ((:commit . "33acfa10a058aa65b6b22084a5b86a82410d794e") (:authors ("Hal Abelson") ("Jerry Sussman") ("Julie Sussman")) (:maintainer "Hal Abelson") (:url . "https://mitpress.mit.edu/sicp"))]) (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"))]) (shx . [(20181110 354) ((emacs (24 4))) "\"Extras\" for the (comint-mode) shell" single ((:commit . "7ce75262a1decefc4c73ed89cf2a314cce030635") (:keywords "processes" "tools") (:url . "https://github.com/riscy/shx-for-emacs"))]) (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"))]) (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"))]) (shrink-path . [(20170813 247) ((emacs (24)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0))) "fish-style path" single ((:commit . "9d06c453d1537df46a4b703a29213cc7f7857aa0") (:authors ("Benjamin Andresen")) (:maintainer "Benjamin Andresen") (:url . "https://gitlab.com/bennya/shrink-path.el"))]) (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"))]) (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"))]) (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"))]) (show-marks . [(20130805 1449) ((fm (1 0))) "Navigate and visualize the mark-ring" single ((:commit . "97609566582e65eed0d0a854efa5c312f209115d") (:keywords "convenience") (:authors ("Greg Rowe" . "emacs@therowes.net")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/mark"))]) (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"))]) (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"))]) (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"))]) (shimbun . [(20181019 821) nil "interfacing with web newspapers" tar ((:commit . "f392ad9864d3ec30e8b8151bdbd714f51be21bf3") (: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"))]) (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"))]) (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"))]) (shen-elisp . [(20180915 2028) ((emacs (24 4))) "Shen implementation in Elisp" tar ((:commit . "73b74c8d6e3a2ea34b667d177d9f130765bfe501") (:keywords "shen" "elisp") (:url . "http://github.com/deech/shen-elisp"))]) (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"))]) (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"))]) (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"))]) (shell-switcher . [(20161029 552) ((emacs (24))) "Provide fast switching between shell buffers." tar ((:commit . "28a7f753dd7addd2933510526f52620cb5a22048"))]) (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-pop . [(20170304 1416) ((emacs (24)) (cl-lib (0 5))) "helps you to use shell easily on Emacs. Only one key action to work." single ((:commit . "4a3a9d093ad1add792bba764c601aa28de302b34") (: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-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-here . [(20150728 1704) nil "Open a shell relative to the working directory" single ((:commit . "251309141e18978d2b8014345acc6f5afcd4d509") (:keywords "unix" "tools" "processes") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (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-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"))]) (shampoo . [(20131230 1019) nil "A remote Smalltalk development mode" tar ((:commit . "bc193c39636c30182159c5c91c37a9a4cb50fedf"))]) (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"))]) (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"))]) (shadchen . [(20141102 1839) nil "pattern matching for elisp" single ((:commit . "35f2b9c304eec990c16efbd557198289dc7cbb1f") (:authors ("Vincent Toups")) (:maintainer "Vincent Toups"))]) (shackle . [(20171209 2201) ((cl-lib (0 5))) "Enforce rules for popups" single ((:commit . "4189c1c773aab533969b587f7801ffbcd1d7d613") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/shackle"))]) (sexy-monochrome-theme . [(20180526 808) nil "A sexy dark Emacs >= 24 theme for your sexy code" single ((:commit . "036bc238e48dd21aae1c34e6971d376582d8281b") (:keywords "themes") (:authors ("Volodymyr Yevtushenko" . "voloyev@vivaldi.net")) (:maintainer "Volodymyr Yevtushenko" . "voloyev@vivaldi.net") (:url . "https://github.com/voloyev/sexy-monochrome-theme"))]) (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"))]) (seti-theme . [(20161208 1636) nil "A dark colored theme, inspired by Seti Atom Theme" single ((:commit . "cbfef2fc15d19ce4c8326e65fafdd61737077132") (:keywords "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/seti-theme"))]) (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/"))]) (sesman . [(20181109 1100) ((emacs (25))) "Generic Session Manager" tar ((:commit . "2a1a9a4ccfd88127e13f2655ac130c82fe84f2f7") (:keywords "process") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/sesman"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (semi . [(20180825 901) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "d445dbdf39bab9aaf00582506357f25f1b78d76d"))]) (selectric-mode . [(20170216 1111) nil "IBM Selectric mode for Emacs" tar ((:commit . "aed70015b29074b52a5d0c49b88b7a501d276dda") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (secretaria . [(20181025 1957) ((emacs (24 4)) (alert (1 2)) (s (1 12)) (f (0 19 0))) "A personal assistant based on org-mode" single ((:commit . "27528f57c7543b425940db29b9b99d59d430ff09") (:keywords "org" "convenience") (:authors ("Jorge Araya Navarro" . "jorge@esavara.cr")) (:maintainer "Jorge Araya Navarro" . "jorge@esavara.cr") (:url . "https://gitlab.com/shackra/secretaria"))]) (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"))]) (searchq . [(20150829 1211) ((emacs (24 3))) "Framework of queued search tasks using GREP, ACK, AG and more." tar ((:commit . "dd510d55ad66a82c6ef022cfe7c4a73ad5365f82") (:authors ("boyw165")) (:maintainer "boyw165"))]) (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"))]) (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"))]) (sdcv . [(20180211 1633) ((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 . "7cb1f8ec0fa4bb25669534d62bff58df38a992a8") (: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"))]) (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"))]) (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"))]) (scribble-mode . [(20160124 2328) ((emacs (24))) "Major mode for editing Scribble documents" single ((:commit . "34e9e5edb921813b6483e0fefa848efb6ee4b314") (: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"))]) (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"))]) (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/"))]) (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-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-log . [(20141115 743) nil "Utility for *scratch* buffer." single ((:commit . "1168f7f16d36ca0f4ddf2bb98881f8db62cc5dc0") (:authors ("kmori" . "morihenotegami@gmail.com")) (:maintainer "kmori" . "morihenotegami@gmail.com"))]) (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 . [(20170614 2101) nil "Mode-specific scratch buffers" single ((:commit . "2cdf2b841ce7a0987093f65b0cc431947549f897") (:keywords "convenience" "tools" "files") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (scpaste . [(20180822 1551) ((htmlize (1 39))) "Paste to the web via scp." single ((:commit . "af23b09ece83a9382c3c3c1a2f09e78b8641f0a5") (:keywords "convenience" "hypermedia") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/scpaste"))]) (scp . [(20171204 251) ((emacs (25 1)) (cl-lib (0 5))) "Use the SCP command to transfer files with the remote server" single ((:commit . "447305db246d9c9240678dd9c734ed920300463a") (:keywords "convenience" "scp") (:authors ("zg" . "13853850881@163.com")) (:maintainer "zg" . "13853850881@163.com") (:url . "https://github.com/tszg/emacs-scp"))]) (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"))]) (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"))]) (scion . [(20130315 1255) nil "Haskell Minor Mode for Interacting with the Scion Library" single ((:commit . "99b4589175665687181a932cd836850205625f71") (:url . "https://code.google.com/p/scion-lib/"))]) (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"))]) (scheme-here . [(20141028 718) nil "cmuscheme extension for multiple inferior processes" single ((:commit . "430ba017cc530865218de23a8f7985095a58343f") (:keywords "scheme") (:authors ("Dimitris Vyzovitis" . "vyzo@media.mit.edu")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com") (:url . "https://github.com/kaihaosw/scheme-here"))]) (scheme-complete . [(20181029 1255) nil "Smart auto completion for Scheme in Emacs" single ((:commit . "b86ee41d48664839181498313f4f3dc2fef17d6f") (:authors ("Alex Shinn")) (:maintainer "Alex Shinn"))]) (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"))]) (scala-mode . [(20170802 1132) nil "Major mode for editing Scala" tar ((:commit . "56cba2903cf6e12c715dbb5c99b34c97b2679379") (:keywords "languages") (:url . "https://github.com/ensime/emacs-scala-mode"))]) (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/"))]) (scad-mode . [(20180109 209) nil "A major mode for editing OpenSCAD code" single ((:commit . "15d99397e8ee90d2f81ec62b245d77365ea540f3") (: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"))]) (sbt-mode . [(20180511 1622) ((emacs (24 4))) "Interactive support for sbt projects" tar ((:commit . "e658af140547cbef495c33535c7f694a501d318c") (:keywords "languages") (:url . "https://github.com/ensime/emacs-sbt-mode"))]) (sayid . [(20181024 1838) ((cider (0 14 0))) "sayid nREPL middleware client" single ((:commit . "078378240277160b00d332065d8325e713c0b526") (:authors ("Bill Piel" . "bill@billpiel.com")) (:maintainer "Bill Piel" . "bill@billpiel.com") (:url . "https://github.com/clojure-emacs/sayid"))]) (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"))]) (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"))]) (save-visited-files . [(20170301 650) nil "save opened files across sessions" single ((:commit . "33e8d223f622001f5792c52d8b36661e46b5834c") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/save-visited-files"))]) (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"))]) (sauron . [(20171105 1047) nil "Track (erc/org/dbus/...) events and react to them." tar ((:commit . "50f09bfc6f5bf79e72a1223e345ee720b507e56a"))]) (sass-mode . [(20161007 626) ((haml-mode (3 0 15)) (cl-lib (0 5))) "Major mode for editing Sass files" single ((:commit . "37105f46f6ea3592039f2ea7d0463ae7f042616e") (:keywords "markup" "language" "css") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "http://github.com/nex3/haml/tree/master"))]) (sane-term . [(20160620 1347) ((emacs (24 1))) "Multi Term is crazy. This is not." single ((:commit . "ef6fd08078f49f2bb3be60855d2d002bb6a5e0d2") (:authors ("Adam Patterson" . "adam@adamrt.com")) (:maintainer "Adam Patterson" . "adam@adamrt.com") (:url . "http://github.com/adamrt/sane-term"))]) (salt-mode . [(20181015 1025) ((emacs (24 4)) (yaml-mode (0 0 12)) (mmm-mode (0 5 4)) (mmm-jinja2 (0 1))) "Major mode for Salt States" single ((:commit . "432eaf8a48a79ec5e3b6149dac28370e140155e4") (:keywords "languages") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Glynn Forrest" . "me@glynnforrest.com") (:url . "https://github.com/glynnforrest/salt-mode"))]) (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"))]) (sailfish-scratchbox . [(20171202 1332) nil "Sailfish OS scratchbox inside the emacs." single ((:commit . "bb5ed0f0b0cd72f2eb1af065b7587ec81866b089") (: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"))]) (sage-shell-mode . [(20180215 835) ((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 . "9f07ff835e8d19afe571dbe414afb690c7b1cb5c") (:keywords "sage" "math") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/sagemath/sage-shell-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (s . [(20180406 808) nil "The long lost Emacs string manipulation library." single ((:commit . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e") (:keywords "strings") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (ryo-modal . [(20180331 818) ((emacs (24 4))) "Roll your own modal mode" single ((:commit . "42f874467dfdce59b511f883496ce2624b133dd7") (: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"))]) (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"))]) (rustic . [(20181101 1357) ((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))) "Rust development environment" tar ((:commit . "dd4bd58967ed9154af26aab72f0e1fd2a8c93b7e") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla"))]) (rust-playground . [(20180807 1158) ((emacs (24 3))) "Local Rust playground for short code snippets." single ((:commit . "092c8b11d62dea23953a004744833092bac85fe1") (:keywords "tools" "rust") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:url . "https://github.com/grafov/rust-playground"))]) (rust-mode . [(20181008 1628) ((emacs (24 0))) "A major emacs mode for editing Rust source code" single ((:commit . "12cb16964ce01f0e484b082ccc8a3430cc1c4158") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/rust-lang/rust-mode"))]) (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"))]) (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"))]) (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"))]) (run-stuff . [(20180209 748) ((emacs (24 4))) "context based command execution" single ((:commit . "ed42a7bc9a197ccf1ca87f9937bf98f0a9ed3f92") (: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"))]) (rum-mode . [(20180127 22) ((emacs (24))) "Major mode for Rum programming language" single ((:commit . "893b1a26244ef6ea82833a9afbc13cb82c0cfb53") (:keywords "rum" "languages" "lisp") (:url . "https://github.com/rumlang/rum-mode"))]) (rufo . [(20170718 1416) ((emacs (24 3))) "use rufo to automatically format ruby files" single ((:commit . "85a6d80fb05fef396a8029b8f944c92a53faf8fe") (:authors ("Daniel Ma" . "danielhgma@gmail.com")) (:maintainer "Daniel Ma" . "danielhgma@gmail.com") (:url . "https://github.com/danielma/rufo.el"))]) (ruby-tools . [(20151209 1615) nil "Collection of handy functions for ruby-mode." tar ((:commit . "6b97066b58a4f82eb2ecea6434a0a7e981aa4c18"))]) (ruby-test-mode . [(20171016 1631) ((ruby-mode (1 0)) (pcre2el (1 8))) "Minor mode for Behaviour and Test Driven" single ((:commit . "87f6d770f8d2326c8d36099aeee5d577f3e2af69") (:keywords "ruby" "unit" "test" "rspec") (:authors ("Roman Scherer" . "roman.scherer@gmx.de") ("Caspar Florian Ebeling" . "florian.ebeling@gmail.com")) (:maintainer "Roman Scherer" . "roman.scherer@burningswell.com"))]) (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-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-hash-syntax . [(20180324 209) nil "Toggle ruby hash syntax between classic and 1.9 styles" single ((:commit . "89fc364a837d7a78ecce34380f09c073a83e30e0") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ruby-hash-syntax"))]) (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-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-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-electric . [(20170810 1130) nil "Minor mode for electrically editing ruby code" single ((:commit . "3553448a780a1ea5c3b0e9becd820d4762876593") (:keywords "languages" "ruby") (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/ruby-electric.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-additional . [(20180913 1257) ((emacs (24 3)) (ruby-mode (1 2))) "ruby-mode extensions yet to be merged into Emacs" tar ((:commit . "ee275264bc9217e43df22733c1161514805ec3d4") (:keywords "ruby" "languages") (:url . "https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/"))]) (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"))]) (rubocop . [(20170312 611) ((emacs (24))) "An Emacs interface for RuboCop" single ((:commit . "0ab1329a8634762bec5bdf5f415c05b32f990248") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/rubocop-emacs"))]) (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"))]) (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"))]) (rtags . [(20180925 641) nil "A front-end for rtags" single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (rspec-mode . [(20180614 1148) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "dda1ece81bd2802c4097e5c963fac33a444659cb") (:keywords "rspec" "ruby") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:url . "http://github.com/pezra/rspec-mode"))]) (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"))]) (rpn-calc . [(20170523 142) ((popup (0 4))) "quick RPN calculator for hackers" single ((:commit . "66fcb64dbfddfc23823356b6213215bd7ab5efc6") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/rpn-calc"))]) (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"))]) (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"))]) (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"))]) (rope-read-mode . [(20171003 1419) nil "Rearrange lines to read text smoothly" single ((:commit . "77b183a6f5450138388509f54a6a2ce442766e50") (:keywords "reading" "convenience" "chill") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://github.com/marcowahl/rope-read-mode"))]) (roguel-ike . [(20160120 302) ((popup (0 5 0))) "A coffee-break roguelike" tar ((:commit . "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))]) (robots-txt-mode . [(20180919 1541) nil "Major mode for editing robots.txt" single ((:commit . "f8fc7ee50a3d5d7a2838772ed298fb69b9051c5c") (: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"))]) (robe . [(20171116 2049) ((inf-ruby (2 5 1)) (emacs (24 4))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "7829f4fdda41eee0add8868646ab86e6b17de4b4") (:keywords "ruby" "convenience" "rails") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:url . "https://github.com/dgutov/robe"))]) (rmsbolt . [(20181108 324) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "349ace73107f818bff5ecf4dee17c7192a9159e0") (:keywords "compilation" "tools") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/rmsbolt"))]) (rjsx-mode . [(20180913 2224) ((emacs (24 4)) (js2-mode (20170504))) "Real support for JSX" single ((:commit . "89358fd230878a19e3232a3e4ce21b7fb608faae") (:keywords "languages") (:authors ("Felipe Ochoa" . "felipe@fov.space")) (:maintainer "Felipe Ochoa" . "felipe@fov.space") (:url . "https://github.com/felipeochoa/rjsx-mode/"))]) (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"))]) (ripgrep . [(20180323 1620) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "93eca9138f6d6eea1af92f476c797ce19fa573d9") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (rich-minority . [(20170813 1322) ((cl-lib (0 5))) "Clean-up and Beautify the list of minor-modes." single ((:commit . "a50d9b2fd059f6a0e5b22063a5375851a087f61a") (:keywords "mode-line" "faces") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/rich-minority"))]) (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"))]) (rhtml-mode . [(20130422 1311) nil "major mode for editing RHTML files" tar ((:commit . "a6d71b38a3db867ccf82999c99805db1a3a33c33"))]) (rg . [(20181023 634) ((cl-lib (0 5)) (emacs (24 4)) (s (1 10 0)) (wgrep (2 1 10))) "A search tool based on ripgrep." tar ((:commit . "f6271b51915d2cffb041a58d1694d2319208e3a7") (: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"))]) (reykjavik-theme . [(20180823 1544) ((emacs (24))) "Theme with a dark background." single ((:commit . "2cd0043ae6d046f812a95bb26398ea23141beccc") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (review-mode . [(20180312 1235) nil "major mode for ReVIEW" single ((:commit . "bf38b0ce8be2eef1cf810ac6f3664d2190bb9ef7") (:authors ("Kenshi Muto" . "kmuto@debian.org")) (:maintainer "Kenshi Muto" . "kmuto@debian.org") (:url . "https://github.com/kmuto/review-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"))]) (reverse-im . [(20180213 1325) ((emacs (24 4))) "Reverse mapping for keyboard layouts other than english." single ((:commit . "16931909115a922b1cf3846b1f60509b6590001f") (:keywords "input" "method") (:url . "https://github.com/a13/reverse-im.el"))]) (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"))]) (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"))]) (restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "859d944796ce298b5779d9d256bd8d271d57e221") (:keywords "http" "helm") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) (restclient . [(20180316 1551) nil "An interactive HTTP client for Emacs" single ((:commit . "859d944796ce298b5779d9d256bd8d271d57e221") (:keywords "http") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (request-deferred . [(20160419 2305) ((deferred (0 3 1)) (request (0 2 0))) "Wrap request.el by deferred" single ((:commit . "a3d080e57eb8be606fbf39d1baff94e1b16e1fb8") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (request . [(20170201 147) ((emacs (24 4))) "Compatible layer for URL request in Emacs" single ((:commit . "a3d080e57eb8be606fbf39d1baff94e1b16e1fb8") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (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"))]) (repo . [(20170213 939) ((emacs (24 3))) "Running repo from Emacs" single ((:commit . "d7b87cd515bad8a67d3a892a46a23f5fe81e08de") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/repo-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"))]) (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-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-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"))]) (repl-toggle . [(20180501 1028) ((fullframe (0 0 5))) "Switch to/from repl buffer for current major-mode" single ((:commit . "484739e20bdc0e879cef647a1f5f89e8ab92c9b6") (:keywords "repl" "buffers" "toggle") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) (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"))]) (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"))]) (renpy . [(20180907 1934) nil "silly walks for Renpy" single ((:commit . "cf9c9ead6084210a4c0290a0d999a099b8d00a81") (:keywords "languages") (:authors ("PyTom" . "pytom@bishoujo.us")) (:maintainer "Dave Love" . "fx@gnu.org") (:url . "https://github.com/billywade/renpy-mode"))]) (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"))]) (remark-mode . [(20171218 756) ((emacs (25 1)) (markdown-mode (2 0))) "Major mode for the remark slideshow tool" tar ((:commit . "e8a95f25d865d6165a7fdb1cadf5e6f0bb5ee73b") (:keywords "remark" "slideshow" "markdown" "hot reload") (:authors ("@torgeir")) (:maintainer "@torgeir"))]) (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"))]) (relative-buffers . [(20160221 1923) ((cl-lib (0 5)) (dash (2 6 0)) (s (1 9 0)) (f (0 16 2))) "Emacs buffers naming convention" single ((:commit . "2547475084244d266b507e563c9b4034705cfeca") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/relative-buffers"))]) (related . [(20161003 610) ((cl-lib (0 5))) "Switch back and forth between similarly named buffers." single ((:commit . "0065a2e16eeaa9bface49f7f0815b9cf9719f441") (:keywords "file" "buffer" "switch" "selection" "matching" "convenience") (:authors ("Julien Montmartin")) (:maintainer "Julien Montmartin") (:url . "https://bitbucket.org/lyude/related/raw/master/related.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"))]) (region-state . [(20151128 1038) nil "Show the number of chars/lines or rows/columns in the region" single ((:commit . "07ffb7d9ada2fcd204f3447f078c265d25f36f60") (:keywords "convenience") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/region-state.el"))]) (region-convert . [(20161119 259) nil "Convert string in region by Lisp function" single ((:commit . "2f8195fb81b8d27aeb42bdc4055ebce37c09717b") (:keywords "region" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))]) (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"))]) (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/"))]) (regex-dsl . [(20100124 1028) nil "lisp syntax for regexps" single ((:commit . "ac89ab8b7691a165ef3007cb84417125cfc0632e") (:authors ("Aliaksey Kandratsenka" . "alk@tut.by")) (:maintainer "Aliaksey Kandratsenka" . "alk@tut.by"))]) (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"))]) (redtt . [(20181017 2259) ((emacs (25 3))) "Major mode for editing redtt proofs" single ((:commit . "355cec36d117e527f0338401768bcbccd1518dc0") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:url . "http://github.com/RedPRL/redtt"))]) (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"))]) (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"))]) (redprl . [(20180418 1434) ((emacs (24 3))) "Major mode for editing RedPRL proofs and interacting with RedPRL" single ((:commit . "4b13acd64cf523442f87337f7c41261e1dfd37dd") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com"))]) (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"))]) (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"))]) (recursive-narrow . [(20180917 449) nil "narrow-to-region that operates recursively" single ((:commit . "94f5c16a81ecf85c7442ebc8cd04ba7553ab5244") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/recursive-narrow"))]) (rectangle-utils . [(20160915 408) ((emacs (24)) (cl-lib (0 5))) "Some useful rectangle functions." single ((:commit . "6fe38fdd48ef5305a908b94a043a966ac3f2053a") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/rectangle-utils"))]) (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"))]) (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>"))]) (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"))]) (recentf-remove-sudo-tramp-prefix . [(20180205 556) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "6d23ebc3f52b0a66236c171c45cc77a4d3aba541") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))]) (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"))]) (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"))]) (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"))]) (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"))]) (reason-mode . [(20180727 1858) ((emacs (24 3))) "A major mode for editing ReasonML" tar ((:commit . "0ab99a03b2e47523e86d1e94ccc085e176b987df") (:keywords "languages" "ocaml") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/reasonml-editor/reason-mode"))]) (realgud-rdb2 . [(20160303 843) ((realgud (1 3))) "realgud front-end for interacting with Ruby debugger2" tar ((:commit . "b394bee61e75b7c6a5fa565594aa79b74887f5df") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-ruby-debugger2"))]) (realgud-pry . [(20160805 1445) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to the Ruby pry debugger" tar ((:commit . "9b3834048fcbc16827c55af38f8cfef0cf6533da") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-pry"))]) (realgud-old-debuggers . [(20170316 731) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to older lesser-used debuggers" tar ((:commit . "1e1d573a6ba731afbe68c1309a316457ca3fbb94") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-old-debuggers"))]) (realgud-byebug . [(20180309 323) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to the Ruby byebug debugger" tar ((:commit . "de603d58aa9ef72a2619247a0234fccf6bc2cc9a") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-byebug"))]) (realgud . [(20180925 10) ((load-relative (1 2)) (loc-changes (1 2)) (test-simple (1 2 0)) (cl-lib (0 5)) (emacs (24))) "A modular front-end for interacting with external debuggers" tar ((:commit . "36782d69c806079eb067705ef67fcb3b9299ae01") (:keywords "gdb" "python" "perl" "go" "bash" "nodejs" "zsh" "bashdb" "zshdb" "remake" "make" "trepan" "perldb" "pdb") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud/"))]) (real-auto-save . [(20180803 447) nil "Automatically save your all your buffers/files at regular intervals." single ((:commit . "b4f83f1e7e921e4cb762c7f525c209ff385742d8") (:authors ("Chaoji Li <lichaoji AT gmail DOT com>") ("Anand Reddy Pandikunta <anand21nanda AT gmail DOT com>")) (:maintainer "Chaoji Li <lichaoji AT gmail DOT com>"))]) (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"))]) (readability . [(20140716 27) ((oauth (1 4)) (ov (1 0)) (emacs (24 3))) "Read articles from Readability in Emacs" single ((:commit . "6c220ab8e0ca63946574ed892add5c8fd14002ce") (:keywords "readability" "oauth") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-readability"))]) (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"))]) (react-snippets . [(20181002 1046) ((yasnippet (0 7 0))) "Yasnippets for React" tar ((:commit . "87ccb640d265fe799583ab55605b84d113223694"))]) (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"))]) (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"))]) (rdf-prefix . [(20180127 1806) nil "Prefix lookup for RDF" single ((:commit . "164136d05505275d42d1ca3a390f55fcc89694b8") (:keywords "convenience" "abbrev") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/rdf-prefix"))]) (rcirc-styles . [(20160207 250) ((cl-lib (0 5))) "support mIRC-style color and attribute codes" single ((:commit . "f313bf6a7470bed314b27c7a40558cb787d7bc67"))]) (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-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-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-alert . [(20141127 1047) nil "Configurable alert messages on top of RCIRC" tar ((:commit . "0adf8ff9c47023fec578f678424be62b0f49057f") (:keywords "lisp" "rcirc" "irc" "alert" "awesome") (:maintainer "Cayetano Santos"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (ranger . [(20170817 1557) ((emacs (24 4))) "Make dired more like ranger" single ((:commit . "6bbff5df2e55f56047fca5058d9ca93ba4963aef") (:keywords "files" "convenience" "dired") (:authors ("Rich Alesi <https://github.com/ralesi>")) (:maintainer "Rich Alesi <https://github.com/ralesi>") (:url . "https://github.com/ralesi/ranger"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (rainbow-delimiters . [(20170929 1132) nil "Highlight brackets according to their depth" single ((:commit . "19b93892afa0494ba749c2ca9c154e04447ad778") (: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-blocks . [(20171025 1438) nil "Block syntax highlighting for lisp code" single ((:commit . "dd435d7bb34ff6f162a5f315df308b90b7e9f842") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/rainbow-blocks"))]) (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"))]) (railscasts-reloaded-theme . [(20181030 750) nil "Railscasts Reloaded color theme" single ((:commit . "ae77bc04fe5a948f418ec8693f6ff2c9ea757c50") (:authors ("George Thomas" . "iamgeorgethomas@gmail.com")) (:maintainer "George Thomas" . "iamgeorgethomas@gmail.com") (:url . "https://github.com/thegeorgeous/railscasts-reloaded-theme"))]) (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"))]) (racket-mode . [(20181030 1345) ((emacs (24 3)) (faceup (0 0 2)) (s (1 9 0))) "Major mode for Racket language." tar ((:commit . "f6bbd970f4a9aa2402b3531e6916fb2557b9c15c") (:authors ("Greg Hendershott")) (:maintainer "Greg Hendershott") (:url . "https://github.com/greghendershott/racket-mode"))]) (racer . [(20181023 2304) ((emacs (24 3)) (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 . "bf8f76f17c64eff2d6ca6029ee0ab7a466590128") (:keywords "abbrev" "convenience" "matching" "rust" "tools") (:authors ("Phil Dawes")) (:maintainer "Phil Dawes") (:url . "https://github.com/racer-rust/emacs-racer"))]) (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"))]) (quiz . [(20170818 1115) ((cl-lib (0 5)) (emacs (25))) "Multiple choice quiz game" single ((:commit . "c43151212ead2330e7ec8e5ac6914c617a12e4f8") (:keywords "games" "trivia" "quiz") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/quiz.el"))]) (quiet . [(20160508 1256) nil "disconnect from the online world for a while" single ((:commit . "6f20309f99e26fcae2601d1544b342f044e54baf") (:keywords "quiet" "distraction" "network" "detachment" "offline") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/quiet"))]) (quickrun . [(20170223 115) ((emacs (24 3))) "Run commands quickly" single ((:commit . "55bbe5d54b80206ea5a60bf2f58eb6368b2c8201") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))]) (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"))]) (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"))]) (quick-preview . [(20150829 439) nil "quick preview using GNOME sushi, gloobus or quick look" single ((:commit . "29c884c6ab385ef67d9aa656ebb7c94cabeb5c35") (:keywords "files" "hypermedia") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/quick-preview.el"))]) (quick-peek . [(20180525 1411) ((emacs (24 3))) "Inline quick-peek windows" single ((:commit . "3cc57cc12f4b5f27a18cc5fb0c32c3a943c16158") (:keywords "tools" "help" "doc" "convenience") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com"))]) (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>"))]) (quelpa-use-package . [(20180812 1029) ((emacs (24 3)) (quelpa (0)) (use-package (2))) "quelpa handler for use-package" single ((:commit . "90fc1eadf3f7ff3a3bef07d229a807aba2f7beef") (:keywords "package" "management" "elpa" "use-package") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa-use-package"))]) (quelpa . [(20181110 1619) ((emacs (24 3))) "Emacs Lisp packages built directly from source" tar ((:commit . "bc8070c43480fa5c3c0ad5775350e52bea7347c2") (:keywords "package" "management" "build" "source" "elpa") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa"))]) (quasi-monochrome-theme . [(20180516 1513) nil "Quasi Monochrome theme" tar ((:commit . "e803bc0c2e38f350feb8297a092812e5204781c7") (:keywords "color" "theme" "monochrome"))]) (quack . [(20181106 1301) nil "enhanced support for editing and running Scheme code" single ((:commit . "2146805ce2b5a9b155d73929986f11e713787e26"))]) (qt-pro-mode . [(20170604 1841) ((emacs (24))) "Qt Pro/Pri major mode" single ((:commit . "ed3b2ebe46828107c3b85e554b0a6a4dc2eeedf6") (:keywords "extensions") (:authors ("Todd Neal" . "tolchz@gmail.com")) (:maintainer "Todd Neal" . "tolchz@gmail.com"))]) (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"))]) (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"))]) (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"))]) (pyvenv . [(20180831 847) nil "Python virtual environment interface" single ((:commit . "921ae2356b6a111ac0b7e44fd04cba8e95cbe936") (:keywords "python" "virtualenv" "tools") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Jorgen Schaefer" . "contact@jorgenschaefer.de") (:url . "http://github.com/jorgenschaefer/pyvenv"))]) (pythonic . [(20180920 2315) ((emacs (25)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "6a5a2a365e4ea6fc5adfa96359418c437aa351c8") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))]) (python-x . [(20180802 1742) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "74d8c7eb824846de94705b1e74ee03ef109868d1") (:keywords "python" "eval" "folding") (:url . "https://github.com/wavexx/python-x.el") (:author . "Yuri D'Elia <wavexx@thregr.org>"))]) (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-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-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-mode . [(20181110 739) nil "Python major mode" tar ((:commit . "3954afcf093f50930f9d500dfad68cbbed84a01c"))]) (python-info . [(20151228 1852) nil "Python info manual for Emacs" tar ((:commit . "306f15441b54b25757cdfd3b327b84024ea21ed7"))]) (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-docstring . [(20170508 856) nil "Smart Python docstring formatting" tar ((:commit . "d35d2e0fbe468743c19a870fec7b28a7e725790d"))]) (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-cell . [(20181028 2140) nil "Support for MATLAB-like cells in python mode" single ((:commit . "2faa78b3f4faa12f09f9864ebd854ae7d4e95fd0") (:keywords "python" "matlab" "cell") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com"))]) (pytest . [(20181005 1524) ((s (1 9 0))) "Easy Python test running in Emacs" single ((:commit . "1bfa7549001e61ecd59cd6eae7c6656a924d1ba4") (:keywords "pytest" "python" "testing") (:url . "https://github.com/ionrock/pytest-el"))]) (pyramid . [(20181031 1102) ((emacs (25 2)) (pythonic (0 1 1)) (tablist (0 70))) "Minor mode for working with pyramid projects" tar ((:commit . "ad207ebe31a5b027560b69e20852156a3b882c0c") (: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"))]) (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 . "4af6a0668057986ad8d297d9152d897baf77e303") (:keywords "convenience") (:authors ("Edward Banner" . "edward.banner@gmail.com")) (:maintainer "Edward Banner" . "edward.banner@gmail.com") (:url . "https://github.com/ebanner/pynt"))]) (pylint . [(20170402 1255) nil "minor mode for running `pylint'" single ((:commit . "6e37ca37a78024dcc79ceb2431b0dfebd526f3ad") (:keywords "languages" "python") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (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"))]) (pyim-wbdict . [(20180930 458) ((pyim (1 0))) "Some wubi dicts for pyim" tar ((:commit . "55c7eed02c3253de12c71b925b8d9ef23425b64c") (: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"))]) (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-basedict . [(20170727 259) nil "The default pinyin dict of pyim" tar ((:commit . "3196cb210e056702c5a4ea1dac1d8e1e27740fab") (: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 . [(20181109 1350) ((emacs (24 4)) (popup (0 1)) (async (1 6)) (pyim-basedict (0 1))) "A Chinese input method support quanpin, shuangpin, wubi and cangjie." tar ((:commit . "8648d467d79b3bf1c3a99623f9329939cacc40da") (:keywords "convenience" "chinese" "pinyin" "input-method") (:authors ("Ye Wenbin <wenbinye@163.com>, Feng Shu" . "tumashu@163.com")) (:maintainer "Ye Wenbin <wenbinye@163.com>, Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim"))]) (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/"))]) (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"))]) (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 . "b6eef88ad89865a7e0ec8bae8c6ce8239cb649c6") (:keywords "python" "pyenv") (:authors ("Sviatoslav Bulbakha" . "mail@ssbb.me")) (:maintainer "Sviatoslav Bulbakha" . "mail@ssbb.me") (:url . "https://github.com/ssbb/pyenv-mode-auto"))]) (pyenv-mode . [(20170801 2348) ((pythonic (0 1 0))) "Integrate pyenv with python-mode" single ((:commit . "eabb1c66f9e0c0500fef4d089508aad246d81dc0") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pyenv-mode"))]) (pydoc-info . [(20110301 834) nil "Better Python support for info-lookup-symbol." tar nil]) (pydoc . [(20181025 51) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "abb948e27efaf2452f339c62cd99a1c69930bbfe") (:keywords "pydoc" "python") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:url . "https://github.com/statmobile/pydoc"))]) (pycoverage . [(20160325 112) ((emacs (24 3))) "Support for coverage stats on Python 2.X and 3" tar ((:commit . "4f5451f4d6e1e2ddd5878fc7d18f5fc4fc92a83d") (:keywords "project" "convenience") (:authors ("matt harrison")) (:maintainer "matt harrison") (:url . "https://github.com/mattharrison/pycoverage.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"))]) (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"))]) (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-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-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-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-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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (purp-theme . [(20181012 1454) nil "No description available." tar ((:commit . "9c0c1246008ed0844a90661e45c660d99451425e"))]) (purescript-mode . [(20181028 838) ((cl-lib (0 6))) "A PureScript editing mode" tar ((:commit . "a6c7e4cc5ea29cf96478490a57d495e745d6e054"))]) (puppet-mode . [(20180813 1947) ((emacs (24 1)) (pkg-info (0 4))) "Major mode for Puppet manifests" single ((:commit . "7dee1b5a5debac6e56f9107492a413b6c0edb94d") (:keywords "languages") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com") ("Russ Allbery" . "rra@stanford.edu")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/voxpupuli/puppet-mode"))]) (punpun-theme . [(20161103 847) nil "A bleak theme" tar ((:commit . "cce8b10b2df6f9187a9eaa0c3f21ff0dda175968"))]) (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"))]) (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"))]) (pulseaudio-control . [(20180627 1150) nil "Use `pactl' to manage PulseAudio volumes." single ((:commit . "1da372ec79f5d2fb901d1f9f0679fee8848fd011") (: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"))]) (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"))]) (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"))]) (psysh . [(20171023 529) ((emacs (24 3)) (s (1 9 0)) (f (0 17))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "926af4ae0c068ed699fc939f4b3e642aaa6f7c9e") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/psysh.el"))]) (psession . [(20181111 1412) ((emacs (24)) (cl-lib (0 5)) (async (1 9 3))) "Persistent save of elisp objects." single ((:commit . "ce7c28dc5aed37a3a3c4bd9a099032c15e5ef9e1") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/psession"))]) (psci . [(20180418 1233) ((purescript-mode (13 10)) (dash (2 9 0)) (s (1 9 0)) (f (0 17 1))) "Major mode for purescript repl psci" tar ((:commit . "3f5ef1141a97c4b5507204d48e8aeccd553e4591") (:keywords "purescript" "psci" "repl" "major" "mode") (:authors ("Antoine R. Dumont <eniotna.t AT gmail.com>")) (:maintainer "Antoine R. Dumont <eniotna.t AT gmail.com>") (:url . "https://github.com/ardumont/emacs-psci"))]) (psc-ide . [(20181002 1319) ((dash (2 13 0)) (dash-functional (1 2 0)) (company (0 8 7)) (cl-lib (0 5)) (s (1 10 0)) (emacs (24 4)) (flycheck (0 24)) (let-alist (1 0 4)) (seq (1 11))) "Minor mode for PureScript's psc-ide tool." tar ((:commit . "01a158b77210fec9c1bfc0caffaf08fccc0412ac") (: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"))]) (proxy-mode . [(20180521 330) ((emacs (25))) "A minor mode to toggle proxy." single ((:commit . "1cf689c2408945081215550589936a7eaab14987") (:keywords "comm" "proxy") (:url . "https://github.com/stardiviner/proxy-mode"))]) (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"))]) (protobuf-mode . [(20170526 1650) nil "major mode for editing protocol buffers." single ((:commit . "436139803ffbe0ca3dc0e563b63f29b2fd729d4f") (:keywords "google" "protobuf" "languages") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com"))]) (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"))]) (proportional . [(20171025 2337) ((emacs (25 1))) "use a proportional font everywhere" single ((:commit . "f671ffe8fd803e2fc462e2e1844aeeab1a13918e") (:keywords "faces") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/proportional"))]) (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"))]) (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"))]) (proof-general . [(20181115 1610) ((emacs (24 3))) "A generic front-end for proof assistants (interactive theorem provers)" tar ((:commit . "05df29f7ff065d8da45b81691c602b6cf075e4a0"))]) (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"))]) (prompt-text . [(20160106 1409) nil "Various information in minibuffer prompt" single ((:commit . "bb9265ebfada42d0e3c67c809665e1e5d980691e") (: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"))]) (promise . [(20180409 952) ((emacs (25)) (async (1 9))) "Promises/A+" tar ((:commit . "f623fa7466983fd1ba7034371f599434c03da723") (:keywords "async" "promise" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-promise"))]) (projmake-mode . [(20161031 1715) ((dash (20150611 922)) (indicators (20130217 1405))) "Project oriented automatic builder and error highlighter, flymake for projects" tar ((:commit . "a897701f7e8f8cc11459ed44eb0e454db2a460c1"))]) (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"))]) (projector . [(20180724 1822) ((alert (1 1)) (projectile (0 11 0)) (cl-lib (0 5))) "Lightweight library for managing project-aware shell and command buffers" single ((:commit . "d4aad9449960457932c19123c7ea2d60a67d1cca") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/projector"))]) (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"))]) (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-speedbar . [(20170517 243) ((projectile (0 11 0)) (sr-speedbar (0))) "projectile integration for speedbar" single ((:commit . "dcab13db72c2084edbebe808e35f1126fe0b3bcd") (: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-sift . [(20160107 1015) ((sift (0 2 0)) (projectile (0 13 0))) "Run a sift with Projectile" single ((:commit . "4ce8878a0fc396ded7521ce38852d93e1d863065") (: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-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "93eca9138f6d6eea1af92f476c797ce19fa573d9") (: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-rails . [(20181009 1317) ((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 . "af0f826f2e1b1aad4e31e089e5fc7b5937e82359") (: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-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-git-autofetch . [(20180418 2336) ((projectile (0 14 0)) (alert (1 2))) "automatically fetch git repositories" single ((:commit . "55855886bccb5a22fbeb2b1c86ef2e9ff4de9067") (: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-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-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 . [(20181106 1631) ((emacs (25 1)) (pkg-info (0 4))) "Manage and navigate projects in Emacs easily" single ((:commit . "9482d69e5ca6549ec7baea58f86c1445b544563b") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/projectile"))]) (project-shells . [(20171107 851) ((emacs (24 3)) (seq (2 19))) "Manage the shell buffers of each project" single ((:commit . "d9401de750e444697c2eb9de1ff79f2a2eba4af8") (: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"))]) (project-root . [(20110206 2030) nil "Define a project root and take actions based upon it." single ((:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) (project-persist-drawer . [(20151108 1222) ((project-persist (0 3))) "Use a project drawer with project-persist." tar ((:commit . "35bbe132a4fab6a0fec15ce6c0fd2fe6a4aa9626"))]) (project-persist . [(20180906 1302) nil "A minor mode to allow loading and saving of project settings." tar ((:commit . "26d9435bef44da2a1b0892eba822f9f487b98eec"))]) (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-abbrev . [(20180706 254) ((emacs (24 4))) "Customize abbreviation expansion in the project." single ((:commit . "3678f1bc0084c1092467f8fc1778fecdbe255c43") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/project-abbrev"))]) (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"))]) (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"))]) (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"))]) (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"))]) (prodigy . [(20180511 938) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (24))) "Manage external services from within Emacs" single ((:commit . "701dccaa56de9e6a330c05bde33bce4f3b3d6a97") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))]) (processing-snippets . [(20140426 1428) ((yasnippet (0 8 0))) "Snippets for processing-mode" tar ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-mode . [(20160614 1846) nil "Redisplay parts of the buffer as pretty Unicode symbols." single ((:commit . "59466813f6a46bed926ddcbae1a70b0eae7f73a0") (:keywords "pretty" "unicode" "symbols") (:authors ("Arthur Danskin" . "arthurdanskin@gmail.com")) (:maintainer "Dmitri Akatov" . "akatov@gmail.com") (:url . "https://github.com/akatov/pretty-mode"))]) (prettify-greek . [(20160603 908) nil "Greek letters for prettify-symbols" single ((:commit . "698d07a6ffe85f6fb53f3bfec4f49380c25cfd90") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-prettify-greek"))]) (prettier-js . [(20180109 726) nil "Minor mode to format JS code on file save" single ((:commit . "fac9dd29720f8417bd8cd5dd8ab5138c6dd7d701") (:keywords "convenience" "wp" "edit" "js") (:authors ("James Long and contributors")) (:maintainer "James Long and contributors") (:url . "https://github.com/prettier/prettier-emacs"))]) (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"))]) (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"))]) (prescient . [(20181022 2256) ((emacs (25 1))) "Better sorting and filtering." single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (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"))]) (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"))]) (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"))]) (powerthesaurus . [(20180719 908) ((emacs (24)) (request (0 3 0)) (s (1 12 0))) "Powerthesaurus integration" single ((:commit . "ab39b050e801934872f3dcaa60b50b0d30ecf367") (:keywords "convenience" "writing") (:url . "http://github.com/SavchenkoValeriy/emacs-powerthesaurus"))]) (powershell . [(20181011 1951) ((emacs (24))) "Mode for editing PowerShell scripts" single ((:commit . "c9a20e5a8b02dc5d7ccd2b1974eba28a9348ad5e") (: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"))]) (powerline-evil . [(20151112 1510) ((evil (1 0 8)) (powerline (2 3))) "Utilities for better Evil support for Powerline" tar ((:commit . "98b3a102b6dba6632aa0755a7257300c9b164309") (:keywords "evil" "mode-line" "powerline") (:authors ("Chris Johnson" . "raugturi@gmail.com")) (:maintainer "Chris Johnson" . "raugturi@gmail.com") (:url . "http://github.com/raugturi/powerline-evil/"))]) (powerline . [(20180322 248) ((cl-lib (0 2))) "Rewrite of Powerline" tar ((:commit . "af5ef31a33c3589a9be0b2a55a2741582e605efd") (:keywords "mode-line") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "http://github.com/milkypostman/powerline/"))]) (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"))]) (pov-mode . [(20161115 743) nil "Major mode for editing POV-Ray scene files." tar ((:commit . "9fc1db3aab7c27155674dd1a87ec62606035d074"))]) (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"))]) (posframe . [(20180927 602) ((emacs (26))) "Pop a posframe (just a frame) at point" single ((:commit . "2f4baf00ab9184dff75ec97fc520d1c91e1acb9c") (:keywords "tooltip") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/posframe"))]) (pos-tip . [(20150318 1513) nil "Show tooltip at point" single ((:commit . "051e08fec5cf30b7574bdf439f79fef7d42d689d") (:keywords "tooltip") (:authors ("S. Irie")) (:maintainer "S. Irie"))]) (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"))]) (popwin . [(20150315 1300) nil "Popup Window Manager." single ((:commit . "95dea14c60019d6cccf9a3b33e0dec4e1f22c304") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) (popup-switcher . [(20171205 851) ((cl-lib (0 3)) (popup (0 5 3))) "switch to other buffers and files via popup." single ((:commit . "f5788a31918e37bb5c04139048c667bcec9f1b62") (:keywords "popup" "switch" "buffers" "functions") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/popup-switcher"))]) (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-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-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-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 . [(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"))]) (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"))]) (pophint . [(20170918 248) ((log4e (0 2 0)) (yaxception (0 3))) "Provide navigation using pop-up tips, like Firefox's Vimperator Hint Mode" tar ((:commit . "909025c5a871ca4b9ec7aed7f1a27c819a94dba1") (:keywords "popup") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-pophint"))]) (ponylang-mode . [(20180804 1521) ((dash (2 10 0))) "Major mode for Pony code" single ((:commit . "be6f9dce623415656320f32e350e28da75c53437") (:keywords "languages" "programming") (:url . "https://github.com/seantallen/ponylang-mode"))]) (pony-snippets . [(20160205 411) ((yasnippet (0 8 0))) "Yasnippets for Pony" tar ((:commit . "a6615ab0693f17fc47ec45753202010238157810") (:keywords "snippets" "pony") (:url . "https://github.com/seantallen/pony-snippets"))]) (pony-mode . [(20170807 1522) nil "Minor mode for working with Django Projects" tar ((:commit . "760684d30b6c234d1b88c9a4673a808f36f7f341"))]) (pomodoro . [(20150716 1746) nil "A timer for the Pomodoro Technique" single ((:commit . "4a299b8f5e6623010224dcb3e524ff288c6a082c") (:authors ("David Kerschner" . "dkerschner@gmail.com")) (:maintainer "David Kerschner" . "dkerschner@gmail.com"))]) (pomidor . [(20180614 828) ((emacs (24 3)) (alert (1 2))) "Simple and cool pomodoro timer" tar ((:commit . "8859aecdb48b76a36c5e251793da0f108b2dfeb4") (:keywords "tools" "time" "applications" "pomodoro technique") (:authors ("TatriX" . "tatrics@gmail.com")) (:maintainer "TatriX" . "tatrics@gmail.com") (:url . "https://github.com/TatriX/pomidor"))]) (polymode . [(20181030 1841) ((emacs (25))) "Extensible framework for multiple major modes" tar ((:commit . "4c7db1c3a9f9f3d637ef34c9ca8e7549d9b28e75") (:keywords "languages" "multi-modes" "processes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vitoshka/polymode"))]) (poly-slim . [(20181010 2138) ((emacs (25)) (polymode (0 1 5)) (slim-mode (1 1))) "Polymodes for slim" single ((:commit . "1ec1ca8120e087cd1f33baee7b7059c324149f4b") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-slim"))]) (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-org . [(20181010 2137) ((emacs (25)) (polymode (0 1 5))) "Polymode for org-mode" single ((:commit . "3f74d3ba0ad8ffe01bbc0994fcc4e5fc7aef6121") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-org"))]) (poly-noweb . [(20181010 2137) ((emacs (25)) (polymode (0 1 5))) "Polymode for noweb" single ((:commit . "d604d62fa311c6d18dc10058b637eb95bd684eee") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-noweb"))]) (poly-markdown . [(20181010 2137) ((emacs (25)) (polymode (0 1 5)) (markdown-mode (2 3))) "Polymode for markdown-mode" single ((:commit . "d55d14273ba1ad05c6f1adf7ca5457b5a89acfce") (:keywords "emacs") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-markdown"))]) (poly-erb . [(20181019 1402) ((emacs (25)) (polymode (0 1 5))) "Polymode for erb" single ((:commit . "61fa4640a1cb08120c2c70bfc32029cc79b31b79") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-erb"))]) (poly-R . [(20181024 2054) ((emacs (25)) (polymode (0 1 5)) (poly-markdown (0 1 5)) (poly-noweb (0 1 5))) "Various polymodes for R language" single ((:commit . "b9236aab9043747bf764703e7b84f3c6bb526dec") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-R"))]) (pollen-mode . [(20181022 130) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing pollen files" single ((:commit . "3b57f40f78eb4458e7be41dc4051f9cf0ff6982e") (:keywords "languages" "pollen" "pollenpub") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))]) (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"))]) (point-stack . [(20170808 1658) nil "Back and forward navigation through buffer locations" single ((:commit . "76e17311e3a810314c7d31ac46dc55450ff30fa2") (:authors ("Matt Harrison" . "matthewharrison@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Matt Harrison" . "matthewharrison@gmail.com"))]) (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"))]) (poet-theme . [(20180924 329) nil "A theme for prose." tar ((:commit . "44439fd84143632760abfd5d8a65436e787955fd") (:authors ("Kunal Bhalla" . "bhalla.kunal@gmail.com")) (:maintainer "Kunal Bhalla" . "bhalla.kunal@gmail.com") (:url . "https://github.com/kunalb/poet/"))]) (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"))]) (pocket-reader . [(20180819 2007) ((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 . "0eb2e678b3fdc8899e420e6ecca03a2ada4b6283") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-reader.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-lib . [(20180712 23) ((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 . "8dd89153472d2e49bf9a3b3507b93c2acf0b44ac") (:keywords "pocket") (:authors (nil . "Adam Porter <adam@alphapapa.net")) (:maintainer nil . "Adam Porter <adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-lib.el"))]) (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"))]) (po-mode . [(20180505 1115) nil "major mode for GNU gettext PO files" single ((:commit . "17b1b16277d81af3afd5c51c53eda385e33f3178") (:keywords "i18n" "gettext"))]) (pmdm . [(20151109 1836) nil "poor man's desktop-mode alternative." single ((:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/pmdm.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (plaster . [(20180127 2050) ((emacs (24 3))) "Pasting to a plaster host with buffers." single ((:commit . "2e61d16af81b96ff3191afd7a880f032d245182b") (:keywords "convenience" "paste service") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/plaster/"))]) (plantuml-mode . [(20180816 1012) ((emacs (25 0))) "Major mode for PlantUML" single ((:commit . "b358a53bb0ab195f0193169d0d6869a3ef2c543e") (:keywords "uml" "plantuml" "ascii") (:authors ("Zhang Weize (zwz)")) (:maintainer "Carlo Sciolla (skuro)"))]) (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"))]) (plan9-theme . [(20180804 1441) nil "A color theme for Emacs based on Plan9" single ((:commit . "4c1050b8ed42e0f99ef64c77ec370a786bd0003c") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/plan9-theme.el"))]) (plain-theme . [(20171124 410) ((emacs (24))) "Plain theme without syntax highlighting" single ((:commit . "a3d5389a44326314da21f147bad2ede60e2cf986"))]) (pkgbuild-mode . [(20181116 1331) ((emacs (25 1))) "Interface to the ArchLinux package manager" single ((:commit . "c27b65c3deb116b296cef013f342159d9dec5c11") (:keywords "languages") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))]) (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"))]) (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"))]) (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"))]) (pivotal-tracker . [(20170720 1516) nil "Interact with Pivotal Tracker through its API" single ((:commit . "0311d117037c74512149a4a78b269c2e46d7dfba") (:authors ("John Andrews")) (:maintainer "John Andrews") (:url . "http://github.com/jxa/pivotal-tracker"))]) (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"))]) (pipenv . [(20180719 547) ((emacs (25 1)) (f (0 19 0)) (s (1 12 0))) "A Pipenv porcelain." single ((:commit . "5582bf60577de74e6301871c6b77ac86b6ce1970") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (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"))]) (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"))]) (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"))]) (pig-snippets . [(20130913 624) ((yasnippet (0 8 0))) "Snippets for pig-mode" tar ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959"))]) (pig-mode . [(20180520 1400) nil "Major mode for Pig files" single ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959") (:maintainer "David A. Shamma"))]) (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"))]) (picolisp-mode . [(20150516 855) nil "Major mode for PicoLisp programming." single ((:commit . "1a537b14090813f46cbba54636d40365e1a8067e") (:keywords "picolisp" "lisp" "programming") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/picolisp-mode"))]) (pickle . [(20180628 237) ((emacs (25 1)) (cl-lib (0 6 1))) "Major mode for editing cucumber gherkin files." single ((:commit . "568570b7d376026fbcb7c3df1ad8f605bd14c820") (:keywords "languages" "cucumber" "gherkin") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/pickle-mode"))]) (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"))]) (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"))]) (phpstan . [(20180721 1935) ((emacs (24 3))) "Interface to PHPStan." single ((:commit . "beac0e0e7160454d4f42162b3502a36ccf488120") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))]) (phpcbf . [(20180519 838) ((s (1 9 0))) "Format PHP code in Emacs using PHP_CodeSniffer's phpcbf" single ((:commit . "a31020fc4c5add7339e009faea66894dc02a77f1") (:keywords "tools" "php") (:authors ("nishimaki10")) (:maintainer "nishimaki10") (:url . "https://github.com/nishimaki10/emacs-phpcbf"))]) (phpactor . [(20181028 556) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17)) (composer (0 1))) "Interface to Phpactor" tar ((:commit . "eda8b34a729b3acb641aafa30552c501dec27d37") (: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"))]) (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"))]) (php-runtime . [(20180922 2215) ((emacs (25)) (cl-lib (0 5))) "Language binding bridge to PHP" single ((:commit . "a205c8dc4d19619b5e37478caeec0c74b7502b3c") (: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-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-mode . [(20180829 520) ((emacs (24 3)) (cl-lib (0 5))) "Major mode for editing PHP code" tar ((:commit . "1f04813f46219e626b385d0d96abefad914bfae0") (:keywords "languages" "php") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-mode"))]) (php-eldoc . [(20140202 1941) nil "eldoc backend for php" tar ((:commit . "df05064146b884d9081e10657e32dc480f070cfe") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/php-eldoc"))]) (php-cs-fixer . [(20170506 1833) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "ca2c075a22ad156c336d2aa093fb6394c9f6c112") (:keywords "languages" "php") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:url . "https://github.com/OVYA/php-cs-fixer"))]) (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-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-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"))]) (phoenix-dark-pink-theme . [(20170729 1403) nil "Originally a port of the Sublime Text 2 theme" single ((:commit . "4defbb76b00c1a29f060813898578152d6be623d") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-pink"))]) (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"))]) (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/"))]) (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-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 . [(20180322 129) nil "another incremental search & replace, compatible with \"multiple-cursors\"" tar ((:commit . "9a089b8271cb1cff9640848850298c9ec855286c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (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-grep . [(20170606 807) ((cl-lib (0 1))) "Interactively-editable recursive grep implementation in elisp" single ((:commit . "ab9bd8d25e751a9cbfa108b49839293230b6e8b5") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://github.com/zk-phi/phi-grep"))]) (phi-autopair . [(20170217 353) ((paredit (20))) "another simple-minded autopair implementation" single ((:commit . "3c7556779c3a53b045f5df33ae2a0c67469cbf60") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (phan . [(20180528 339) ((emacs (24)) (composer (0 0 8)) (f (0 17))) "Utility functions for Phan (PHP static analizer)" single ((:commit . "6b077b3421a0b2c0b98a6906b8ab0d14d9d7bf50") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@pixiv.com")) (:maintainer "USAMI Kenta" . "tadsan@pixiv.com") (:url . "https://github.com/emacs-php/phan.el"))]) (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"))]) (ph . [(20161029 1522) ((emacs (24 3))) "A global minor mode for managing multiple projects." tar ((:commit . "ed80dad9211583ed0db633448b3624c99b7fac23"))]) (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"))]) (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"))]) (pfuture . [(20180922 1315) ((emacs (25 2))) "a simple wrapper around asynchronous processes" single ((:commit . "c06e78b37ac3fba72ea446f11da38a6a5cba428c") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/pfuture"))]) (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"))]) (perspective . [(20181101 2234) ((cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "1358ba2c1727bd9eaa6c52b727e1e7b0c11ec5ca") (:keywords "workspace" "convenience" "frames") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:url . "http://github.com/nex3/perspective-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"))]) (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-mode . [(20180930 1720) nil "windows/buffers sets shared among frames + save/load." single ((:commit . "689f63e7370cd9424d84b9f7b2eb3d1955443313") (: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-fr . [(20180801 727) ((emacs (25 0)) (persp-mode (2 9 6)) (dash (2 13 0))) "In persp-mode, show perspective list in the GUI window title" single ((:commit . "3f536440b120499464106fd25f182d7580192870") (: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"))]) (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"))]) (persistent-scratch . [(20180929 1413) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "2e6678a837db85e68da713bbd4772c7fb88d83d4") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))]) (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"))]) (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"))]) (perl6-mode . [(20180619 1159) ((emacs (24 4)) (pkg-info (0 1))) "Major mode for editing Perl 6 code" tar ((:commit . "88de065795d6863b23b6042576b9e90f8cbf8798") (: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"))]) (per-buffer-theme . [(20160318 2201) ((cl-lib (0 5))) "Change theme according to buffer name or major mode." single ((:keywords "themes") (:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/per-buffer-theme.el"))]) (pelican-mode . [(20180604 2207) ((emacs (25))) "Minor mode for editing Pelican sites" single ((:commit . "209ad24318e1f28675da430aa10ef3467694b9ac") (: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"))]) (peg . [(20150708 641) nil "Parsing Expression Grammars in Emacs Lisp" single ((:commit . "081efeca91d790c7fbc90871ac22c40935f4833b"))]) (peep-dired . [(20160321 2237) nil "Peep at files in another window from dired buffers" single ((:commit . "c88a9a3050197840edfe145f11e0bb9488de32f4") (:keywords "files" "convenience") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com"))]) (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"))]) (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"))]) (pdfgrep . [(20181007 1728) ((emacs (24 4))) "run `pdfgrep' and display the results." single ((:commit . "e251cd5c88a4ba5cb69008ba412d329f4d59e1d2") (: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"))]) (pdf-tools . [(20181027 1623) ((emacs (24 3)) (tablist (0 70)) (let-alist (1 0 4))) "Support library for PDF documents." tar ((:commit . "b6c0e4f3bb8d57818c51f27c12b9235d39bec8d3") (:keywords "files" "multimedia") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) (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/"))]) (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"))]) (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"))]) (pcomplete-extension . [(20180707 455) ((emacs (24)) (cl-lib (0 5))) "additional completion for pcomplete" single ((:commit . "bb941272b54f49f780819f7ce4fd2c802de9a0da") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/pcomplete-extension"))]) (pcmpl-pip . [(20171201 833) ((s (1 12 0)) (f (0 19 0)) (seq (2 15))) "pcomplete for pip" single ((:commit . "8b001b579fc015f80ee0e4f3211058b830bf7c47") (:keywords "pcomplete" "pip" "python" "tools") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com"))]) (pcmpl-homebrew . [(20181105 309) nil "pcomplete for homebrew" single ((:commit . "3dc4eb22231d82edb9d33d17287bd9a018f7645e") (:keywords "pcomplete" "homebrew" "tools" "cask" "services") (:authors ("hiddenlotus" . "kaihaosw@gmail.com")) (:maintainer "hiddenlotus" . "kaihaosw@gmail.com"))]) (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-args . [(20120912 524) nil "Enhanced shell command completion" single ((:commit . "2ba03b3125ada8037585e545b88bd85b79da5c37") (: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"))]) (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"))]) (pcache . [(20170105 2214) ((eieio (1 3))) "persistent caching for Emacs." single ((:commit . "1f8086077d770e524492e6fa59b07856e85a6fea") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))]) (pc-bufsw . [(20180107 1840) nil "PC style quick buffer switcher" single ((:commit . "b99ba484e18ebf2b88654704146746490bb7625f") (:keywords "buffer") (:authors ("Igor Bukanov" . "igor@mir2.org")) (:maintainer "Igor Bukanov" . "igor@mir2.org") (:url . "https://github.com/ibukanov/pc-bufsw"))]) (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"))]) (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"))]) (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"))]) (path-helper . [(20181112 1828) ((emacs (24))) "Set PATH environment variables from config files" single ((:commit . "f04b637aca9d2d87bb14896ac8961668284a0fb9") (:keywords "tools" "unix") (:authors ("Arnaud Rouanet" . "arnaud@rouanet.org")) (:maintainer "Arnaud Rouanet" . "arnaud@rouanet.org") (:url . "https://github.com/arouanet/path-helper"))]) (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"))]) (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"))]) (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"))]) (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"))]) (pastebin . [(20101125 2002) nil "A simple interface to the www.pastebin.com webservice" single ((:commit . "8e9a829298ce0f747ab80758aa26caeb2af6cb30"))]) (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"))]) (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"))]) (password-store-otp . [(20180815 610) ((emacs (25)) (s (1 9 0)) (password-store (0 1))) "Password store (pass) OTP extension support" single ((:commit . "1819cd88463cd98a5be9a63273b09202dc2bba63") (:keywords "tools" "pass") (:authors ("Daniel Barreto")) (:maintainer "Daniel Barreto") (:url . "https://github.com/volrath/password-store-otp.el"))]) (password-store . [(20181031 1440) ((emacs (24)) (f (0 11 0)) (s (1 9 0)) (with-editor (2 5 11))) "Password store (pass) support" single ((:commit . "d29a389a40524c684595f51bb937f66958bc14ea") (:keywords "tools" "pass" "password" "password-store") (:authors ("Svend Sorensen" . "svend@svends.net")) (:maintainer "Svend Sorensen" . "svend@svends.net") (:url . "https://www.passwordstore.org/"))]) (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-generator . [(20150222 2040) nil "Password generator for humans. Good, Bad, Phonetic passwords included." single ((:commit . "c8193d5e963bda0a2f8e51fd4a94dcf37c76f282") (:authors ("Zargener" . "zargener@gmail.com")) (:maintainer "Zargener" . "zargener@gmail.com") (:url . "http://github.com/zargener/emacs-password-genarator"))]) (passthword . [(20141201 923) ((cl-lib (0 5))) "Simple password manager" single ((:commit . "30bace842eaaa6b48cb2251fb84868ebca0467d6") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (passmm . [(20180622 2326) ((emacs (24 4)) (password-store (0))) "A minor mode for pass (Password Store)." single ((:commit . "898709c63130d6c0422af544ebac64eae04d24ac") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/passmm"))]) (pass . [(20180201 1251) ((emacs (24 3)) (password-store (0 1)) (password-store-otp (0 1 5)) (f (0 17))) "Major mode for password-store.el" single ((:commit . "da08fed8dbe1bac980088d47b01f90154dbb8d8b") (:keywords "password-store" "password" "keychain") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (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"))]) (parseclj . [(20180602 2006) ((emacs (25)) (a (0 1 0 -3 4))) "Clojure/EDN parser" tar ((:commit . "dc0d165b0a8633f5b11ed9175a6e421c52f4d314") (:keywords "lisp") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))]) (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"))]) (parsebib . [(20181031 1021) ((emacs (24 3))) "A library for parsing bib files" single ((:commit . "27b30f5220b80637ed55f3b062ce2823adb40477") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (parrot . [(20181026 1612) ((emacs (24 1))) "Party Parrot rotates gracefully in mode-line." tar ((:commit . "2403f11e7e238b57629edd446da47828a3f549b7") (: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"))]) (parinfer . [(20180904 844) ((dash (2 13 0)) (cl-lib (0 5))) "Simpler Lisp editing" tar ((:commit . "a7c041454e05ec2b88333a73e72debaa671ed596") (:keywords "parinfer") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://github.com/DogLooksGood/parinfer-mode"))]) (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"))]) (paren-face . [(20180318 2025) nil "a face for parentheses in lisp modes" single ((:commit . "a45d111153a76c481fa0b36d6172ac90e073dfc4") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/paren-face"))]) (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"))]) (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"))]) (paredit-everywhere . [(20180506 849) ((paredit (22))) "Enable some paredit features in non-lisp buffers" single ((:commit . "653d7a58fb370d5f7df367464d8d05e23a70b29d") (:keywords "languages" "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (paredit . [(20171127 205) nil "minor mode for editing parentheses" single ((:commit . "acbe10fdd85d2e91831adf70b6a828bc7e900da0") (:keywords "lisp") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net"))]) (paradox . [(20181027 2234) ((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 . "798bdabdca6575d677631b1c482e975c9372d536") (:keywords "package" "packages") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/paradox"))]) (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"))]) (paper-theme . [(20180429 2215) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "theme" "paper") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:url . "https://cadadr.github.io/elisp/index.html#paper"))]) (pangu-spacing . [(20170317 857) nil "Minor-mode to add space between Chinese and English characters." single ((:commit . "a4463dbb74abdeddb6c1c132a1f8fcf67ed87498") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/pangu-spacing"))]) (pandoc-mode . [(20180917 721) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "d594ce399fc75eb553a6d8572713b827f744d95b") (:keywords "text" "pandoc") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (panda-theme . [(20180807 1143) ((emacs (24))) "Panda Theme" single ((:commit . "53b4cbb6bfdd531a8366bf1d01eede420e1f93c9") (:authors ("jamiecollinson" . "jamiecollinson@gmail.com")) (:maintainer "jamiecollinson" . "jamiecollinson@gmail.com") (:url . "https://github.com/jamiecollinson/emacs-panda-theme"))]) (pamparam . [(20180415 748) ((emacs (24 3)) (lispy (0 26 0)) (worf (0 1 0)) (hydra (0 13 4))) "Simple and fast flashcards." single ((:commit . "8fa25d06fb2ae6d992e738a10d8b2150e109d9bf") (:keywords "outlines" "hypermedia" "flashcards" "memory") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/pamparam"))]) (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"))]) (palimpsest . [(20170119 2032) nil "Various deletion strategies when editing" single ((:commit . "e6d5944393c260ceb724462c84046cc62c9ae916") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))]) (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"))]) (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"))]) (page-break-lines . [(20171210 831) ((emacs (24 4))) "Display ^L page breaks as tidy horizontal lines" single ((:commit . "fd3b7e38ad8747cd009ead7ef1bb150849ccc693") (:keywords "convenience" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/page-break-lines"))]) (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"))]) (pact-mode . [(20180905 1647) ((emacs (24 3))) "Mode for Pact, a LISPlike smart contract language." single ((:commit . "e4e4487c1d55b3fb8775abd948be28442efcffec") (: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"))]) (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"))]) (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"))]) (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"))]) (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-lint . [(20181115 103) ((cl-lib (0 5)) (emacs (24))) "A linting library for elisp package authors" tar ((:commit . "77422967927abf60166d31c9b52c640f1239066e") (: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-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-build . [(20181005 2241) ((cl-lib (0 5))) "Tools for assembling a package archive" tar ((:commit . "0a22c3fbbf661822ec1791739953b937a12fa623") (:keywords "tools") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net"))]) (package+ . [(20170816 256) nil "Extensions for the package library." single ((:commit . "9213f6134eabc2cff5826779ced437714324c066") (:keywords "extensions" "tools") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:url . "TBA"))]) (pacfiles-mode . [(20181028 1744) ((emacs (26)) (cl-lib (0 5))) "pacnew and pacsave merging tool" tar ((:commit . "ff58f387e0f85ca20c4c9f119bf13303bf8b5a76") (: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"))]) (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"))]) (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"))]) (ox-wk . [(20181111 934) ((emacs (24 4)) (org (8 3))) "Wiki Back-End for Org Export Engine" single ((:commit . "9fc37e7e2f789b0ba07cb117ea1e1dcd14a2fd83") (: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"))]) (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-twbs . [(20161103 2016) nil "Bootstrap compatible HTML Back-End for Org" single ((:commit . "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28") (: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-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-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-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-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-slack . [(20181112 115) ((org (9 1 4)) (ox-gfm (1 0))) "Slack Exporter for org-mode" single ((:commit . "5d66a123233dce6f6bc0dd1ccb9d0b0d9bf6ddf7") (:keywords "org" "slack" "outlines") (:authors ("Matt Price")) (:maintainer "Matt Price") (:url . "https://github.com/titaniumbones/ox-slack"))]) (ox-rst . [(20180315 13) ((emacs (24 4)) (org (8 2 4))) "Export reStructuredText using org-mode." single ((:commit . "a74b60883b0d844c80efb364dac1560b85f2548f") (:keywords "org" "rst" "rest" "restructuredtext") (:authors ("Masanao Igarashi" . "syoux2@gmail.com")) (:maintainer "Masanao Igarashi" . "syoux2@gmail.com") (:url . "https://github.com/masayuko/ox-rst"))]) (ox-reveal . [(20161027 926) ((org (20150330))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "001567cc12d50ba07612edd1718b86a12e8c2547") (:keywords "outlines" "hypermedia" "slideshow" "presentation") (:authors ("Yujie Wen <yjwen.ty at gmail dot com>")) (:maintainer "Yujie Wen <yjwen.ty at gmail dot com>"))]) (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-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-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-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-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-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-jira . [(20171001 916) ((org (8 3))) "JIRA Backend for Org Export Engine" single ((:commit . "db2ec528f46c9e611624ba28611c440a99bff255") (: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-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-jekyll . [(20180813 1755) nil "Export Jekyll articles using org-mode." single ((:commit . "102c53b1333abbf15b7c5c3ee1dc27124d1c0d68") (:keywords "org" "jekyll") (:authors ("Elsa Gonsiorowski" . "gonsie@me.com")) (:maintainer "Elsa Gonsiorowski" . "gonsie@me.com"))]) (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-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-hugo . [(20181106 2350) ((emacs (24 4)) (org (9 0))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "7fb284ec4b7f47ff1286598220650c5b24b56b45") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))]) (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-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-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "a66eeb00daa01ad403ac1a1db953ddbf9054be07") (:keywords "hypermedia") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:url . "http://github.com/ofosos/org-epub"))]) (ox-clip . [(20180306 340) ((org (8 2)) (htmlize (0))) "Cross-platform formatted copying for org-mode" single ((:commit . "594c90953a91948505bb394350adf110e041f19a") (: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-clip.el"))]) (ox-bibtex-chinese . [(20170723 309) ((emacs (24 4))) "Let ox-bibtex work well for Chinese users" tar ((:commit . "2ad2364399229144110db7ef6365ad0461d6a38c"))]) (ox-asciidoc . [(20171111 1154) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "e75d9565dd07dc59d11fa92d392ab47cecb3c902") (:keywords "org" "asciidoc") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-asciidoc"))]) (owdriver . [(20170401 1312) ((smartrep (0 0 3)) (log4e (0 2 0)) (yaxception (0 2 0))) "Quickly perform various actions on other windows" single ((:commit . "d934f182bafe29aa16c173440eff3fef08b0ec10") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/owdriver"))]) (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"))]) (overcast-theme . [(20180315 1943) ((emacs (24))) "A dark but vibrant color theme for Emacs" single ((:commit . "009257956522dedf07d9e136ee41ac0b1b0b3518") (:keywords "theme") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (ov . [(20150312 528) ((emacs (24 3))) "Overlay library for Emacs Lisp" single ((:commit . "fae7215b3dedba2a9ced145284332e4609bfdc38") (:keywords "overlay") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/ov.el"))]) (outshine . [(20181024 1414) ((outorg (2 0)) (cl-lib (0 5))) "outline with outshine outshines outline" tar ((:commit . "345d85ab5467ec6015fc58fe268936da93be0a5c") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/outshine"))]) (outrespace . [(20180711 1432) ((emacs (24 4))) "c++ namespace utility functions" single ((:commit . "7dafed7e1cabf4a0bb55e5c6465e83796e3fdabe") (:keywords "tools" "c++" "namespace") (:authors ("Dan Harms" . "danielrharms@gmail.com")) (:maintainer "Dan Harms" . "danielrharms@gmail.com") (:url . "https://github.com/articuluxe/outrespace.git"))]) (outorg . [(20170414 1915) ((emacs (24 4))) "Org-style comment editing" single ((:commit . "78b0695121fb974bc4e971eb4ef7f8afd6d89d64") (:maintainer "Adam Porter") (:url . "https://github.com/alphapapa/outorg"))]) (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"))]) (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/"))]) (outline-toc . [(20170730 1130) nil "Sidebar showing a \"table of contents\"." single ((:commit . "31f04bea19cfcfb01a94d1fd2b72391cb02b7463") (: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"))]) (outline-minor-faces . [(20181111 906) ((emacs (25 1))) "Headings faces for outline-minor-mode" single ((:commit . "3dc548f145f26a1405910d69468728846d575f79") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))]) (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>"))]) (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"))]) (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"))]) (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"))]) (osx-pseudo-daemon . [(20170722 607) nil "Daemon mode that plays nice with OSX." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) (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-location . [(20150613 917) nil "Watch and respond to changes in geographical location on OS X" tar ((:commit . "8bb3a94cc9f04b922d2d730fe08596cc6ee12bf2"))]) (osx-lib . [(20160920 0) ((emacs (24 4))) "Basic function for Apple/OSX." single ((:commit . "fdbbb41e07ba64d6a09b54bd142a7c7b83bfd09f") (:keywords "apple" "applescript" "osx" "finder" "emacs" "elisp" "vpn" "speech") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org"))]) (osx-dictionary . [(20171026 734) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "b16630ecf69f87ac873486d8b9c8c03e6c9ea7fa") (:keywords "mac" "dictionary") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))]) (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-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"))]) (origami . [(20180101 1553) ((s (1 9 0)) (dash (2 5 0)) (emacs (24)) (cl-lib (0 5))) "Flexible text folding" tar ((:commit . "1f38085c8f9af7842765ed63f7d6dfe4dab59366") (:keywords "folding") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/origami.el"))]) (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"))]) (orgtbl-join . [(20150121 2246) ((cl-lib (0 5))) "join columns from another table" tar ((:commit . "ccf5e0d96e053dc289da39a048715fcf36835ff2") (:keywords "org" "table" "join" "filtering") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) (orgtbl-ascii-plot . [(20151215 2151) nil "ascii-art bar plots in org-mode tables" single ((:commit . "cd91f6ae26a7402e192a1f4fd6248f5797edf19e") (:keywords "org" "table" "ascii" "plot") (:authors ("Thierry Banel tbanelwebmin at free dot fr") ("Michael Brand")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) (orgtbl-aggregate . [(20180731 2154) nil "Create an aggregated Org table from another one" tar ((:commit . "7e87e0fb0784be9370462614ec0ffc9d9ae6ef1c") (:keywords "org" "table" "aggregation" "filtering"))]) (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"))]) (orglue . [(20171220 1226) ((org (8 1)) (epic (0 2))) "more functionality to org-mode." tar ((:commit . "ae2a45c19b52e45db7891093a3ff17ba2e51c507") (:keywords "org") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))]) (orglink . [(20180318 2023) ((emacs (24 3)) (dash (2 12 1)) (org (8 3))) "use Org Mode links in other modes" single ((:commit . "e9e90e16ddaceaf99c9b251a215d6338b9762b4d") (:keywords "hypertext") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/orglink"))]) (orgit . [(20180318 2001) ((emacs (24 4)) (dash (2 13 0)) (magit (2 10 0)) (org (8 3 3))) "support for Org links to Magit buffers" single ((:commit . "d909f92d3b1b42184143fd5e6d4c6a2762477ab7") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/orgit"))]) (orgbox . [(20180827 218) ((org (8 0)) (cl-lib (0 5))) "Mailbox-like task scheduling Org." single ((:commit . "609e5e37348815ec3ba53ab6d643e38b0cc4fe17") (:keywords "org") (:authors ("Yasuhito Takamiya" . "yasuhito@gmail.com")) (:maintainer "Yasuhito Takamiya" . "yasuhito@gmail.com") (:url . "https://github.com/yasuhito/orgbox"))]) (organize-imports-java . [(20180623 1909) ((emacs (26)) (f (0 20 0)) (s (1 12 0)) (cl-lib (0 6))) "Mimic Eclipse's Organize Imports functionality." single ((:commit . "98dca0c9e046e03a3f14946c3f7af05debdf8197") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/organize-imports-java"))]) (organic-green-theme . [(20180522 1620) nil "Low-contrast green color theme." single ((:commit . "200ac4a636eeb6faf1793d1937e62a343debc437"))]) (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"))]) (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"))]) (org2issue . [(20160427 118) ((org (8 0)) (emacs (24 4)) (ox-gfm (0 1)) (gh (0 1)) (s (20160405 920))) "export org to github issue" single ((:commit . "0f7f13463e389f2d8d7d830a928042d0cf1c71eb") (:keywords "convenience" "github" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org2issue"))]) (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"))]) (org2ctex . [(20181012 151) ((emacs (24 4))) "Export org to ctex (a latex macro for Chinese)" single ((:commit . "2143992462594ce63733305f75f7c7d08123710a") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org2ctex"))]) (org2blog . [(20171219 311) ((org (8 3)) (xml-rpc (1 6 12)) (metaweblog (1 0 1)) (htmlize (1 51))) "Blog from Org mode to wordpress" tar ((:commit . "aa7a5730f4a58a53c41370dcde7bec43d5c1a2cd"))]) (org-wunderlist . [(20150818 213) ((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 . "f7f1ca73661356b9fa072efd73431592ff1182e1") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-wunderlist.el"))]) (org-wild-notifier . [(20180222 425) ((alert (1 2)) (dash (2 13 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "d0df145d9bbb72b2c315b7d8007cb6a59fea2095") (: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-web-tools . [(20181113 527) ((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 . "e9071d404efa417b6d46784c57b4725ff66f2f22") (: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-wc . [(20180610 253) nil "Count words in org mode trees." single ((:commit . "0716c1e8276f6953e139e357e97566e792c8be19") (:authors ("Simon Guest")) (:maintainer "Simon Guest"))]) (org-vcard . [(20170929 1110) nil "org-mode support for vCard export and import." tar ((:commit . "dbe266b79df4fb31f1766010322bf4e383ce1c03") (:keywords "outlines" "org" "vcard") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/org-vcard"))]) (org-variable-pitch . [(20180429 2215) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "faces") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#ovp"))]) (org-trello . [(20180331 631) ((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 . "e2e8a3d45057645e4caae7d46a79d2d9be2894bd"))]) (org-tree-slide . [(20180906 949) nil "A presentation tool for org-mode" single ((:commit . "d45152fad1c0a153251073806f1b65ebd3731411") (:keywords "org-mode" "presentation" "narrowing") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>"))]) (org-transform-tree-table . [(20150110 1433) ((dash (2 10 0)) (s (1 3 0))) "Transform org-mode tree with properties to a table, and the other way around" single ((:commit . "0a9bf07f01bc5fc3b349aff64e83999a8de83b52") (: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-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-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-timeline . [(20180812 1119) ((dash (2 13 0)) (emacs (24 3))) "Add graphical view of agenda to agenda buffer." single ((:commit . "701f13246ad1ce286be69cc16c1126536b71e7ca") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-timeline/"))]) (org-time-budgets . [(20151111 801) ((alert (0 5 10)) (cl-lib (0 5))) "Define time budgets and display clocked time." single ((:commit . "baa1ce6333157fed3b3799a80e6cf8c73c9e2c18") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com"))]) (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-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-table-sticky-header . [(20170409 114) ((org (8 2 10)) (emacs (24 4))) "Sticky header for org-mode tables" single ((:commit . "93dc69efc00ac9fd3cc2ece5100f51df33ec7d8b") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) (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-sync-snippets . [(20170824 1828) ((org (8 3 5)) (emacs (24 3)) (f (0 17 3))) "Export snippets to org-mode and vice versa" single ((:commit . "0f264a032d371d7dbb4a7cbaf0ea2f91b5a629ca") (:keywords "snippet" "org-mode" "yasnippet" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/org-sync-snippets"))]) (org-sync . [(20180221 1927) ((cl-lib (0 5)) (org (8 2)) (emacs (24))) "Synchronize Org documents with External Issue Trackers" tar ((:commit . "095335063b306871970f981898a220f62ad0ae4e") (: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-super-agenda . [(20180922 2151) ((emacs (25 1)) (s (1 10 0)) (dash (2 13)) (org (9 0)) (ht (2 2))) "Supercharge your agenda" tar ((:commit . "746b51073e5d5c6048320a9aef7e9273b4d154a9") (: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-sticky-header . [(20170423 435) ((emacs (24 4)) (org (8 3 5))) "Show off-screen Org heading at top of window" single ((:commit . "aae8dbc7f3b33c4dd35dc38d83791d7c23757060") (: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-static-blog . [(20180528 648) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "f69d2fd6671fb250fbd87df5efa898a7bf5b9bda") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))]) (org-starter . [(20180917 1205) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "A basic configuration framework for org mode" single ((:commit . "a1274f901366a39c2eeeaa36644c0bdd9837374b") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) (org-send-ebook . [(20181016 800) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "b4913a709f9206115c3e3ea73e217029cc0fb3de") (:keywords "org" "link" "ebook" "kindle" "epub" "mobi") (:url . "https://github.com/stardiviner/org-send-ebook"))]) (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-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-rich-yank . [(20180430 1344) ((emacs (24 4))) "paste with org-mode markup and link to source" single ((:commit . "b29bd06f295424fc15b3b8c1b3f78f501d67db47") (:keywords "convenience" "hypermedia" "org") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-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-ref . [(20181115 51) ((dash (2 11 0)) (htmlize (1 51)) (helm (1 5 5)) (helm-bibtex (2 0 0)) (ivy (0 8 0)) (hydra (0 13 2)) (key-chord (0)) (s (1 10 0)) (f (0 18 0)) (emacs (24 4)) (pdf-tools (0 7))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "1b5cf239d2abe203b9c64000c9010bbb6bf18fb4") (: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-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-recent-headings . [(20170908 429) ((emacs (25 1)) (org (9 0 5)) (dash (2 13 0)) (frecency (0 1))) "Jump to recently used Org headings" single ((:commit . "a09c2670c400c7a4fbbf0ac05d2d9226aa10e8f4") (: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-readme . [(20151204 1217) ((http-post-simple (1 0)) (yaoddmuse (0 1 1)) (header2 (21 0)) (lib-requires (21 0)) (cl-lib (0 5))) "Integrates Readme.org and Commentary/Change-logs." tar ((:commit . "4cb9f768d282a2835b4510b6504ff9ede487007d") (:keywords "header2" "readme.org" "emacswiki" "git") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/org-readme"))]) (org-randomnote . [(20171210 1357) ((f (0 19 0)) (dash (2 12 0))) "Find a random note in your Org-Mode files" single ((:commit . "c89eb4cf625ea7e7624b6a2d3d5676ce25ab03d7") (:authors ("Michael Fogleman" . "michaelwfogleman@gmail.com")) (:maintainer "Michael Fogleman" . "michaelwfogleman@gmail.com") (:url . "http://github.com/mwfogleman/org-randomnote"))]) (org-random-todo . [(20180312 804) ((emacs (24 3)) (alert (1 2))) "show a random TODO (with alert) every so often" single ((:commit . "8357350a66bbc4e0e5cb590acc104d39870cf736") (:keywords "org" "todo" "notification" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-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-projectile-helm . [(20180601 1822) ((org-projectile (1 0 0)) (helm (2 3 1)) (emacs (25))) "helm functions for org-projectile" single ((:commit . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-projectile . [(20180601 242) ((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 . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-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-present-remote . [(20181001 2141) ((org-present (9)) (elnode (0 9)) (emacs (24))) "A web-based remote control for org-present" single ((:commit . "2defabacd04b1d3a76de81b07d7f7c89d67babca") (: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-present . [(20180303 2330) ((org (7))) "Minimalist presentation minor-mode for Emacs org-mode." single ((:commit . "d13acd70eff6a1608bc991920232146a0de76b21") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "https://github.com/rlister/org-present"))]) (org-pomodoro . [(20171108 2114) ((alert (0 5 10)) (cl-lib (0 5))) "Pomodoro implementation for org-mode." tar ((:commit . "3deed1c26dcbda4d5231b9085ddf68e302b0f9dc") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "https://github.com/lolownia/org-pomodoro"))]) (org-pdfview . [(20180225 1006) ((org (8 2 10)) (pdf-tools (0 80))) "Support for links to documents in pdfview mode" single ((:commit . "09ef4bf8ff8319c1ac78046c7e6b89f6a0beb82c") (:keywords "org" "pdf-view" "pdf-tools") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com"))]) (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-parser . [(20171003 436) ((emacs (25 1)) (dash (2 12 0)) (ht (2 1))) "parse org files into structured datatypes." single ((:keywords "files" "outlines" "tools") (:url . "https://bitbucket.org/zck/org-parser.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 . "50430ababf73a2d090881a952e9770badaf7478b"))]) (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-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 . "b95b6a7ed9289637cb512232470633b330ca9713") (:keywords "wp" "convenience") (:authors ("Anders Johansson")) (:maintainer "Anders Johansson") (:url . "https://gitlab.com/andersjohansson/org-outline-numbering"))]) (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-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-noter . [(20181106 2341) ((emacs (24 4)) (cl-lib (0 6)) (org (9 0))) "A synchronized, Org-mode, document annotator" single ((:commit . "8e5d8eacffe251a4b6ab55f6cb36e0830f5fe8dc") (: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-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-multiple-keymap . [(20150329 106) ((org (8 2 4)) (emacs (24)) (cl-lib (0 5))) "Set keymap to elements, such as timestamp and priority." single ((:commit . "8ebc532df7f0dd6e6c3aa7c380a51d4166c668e8") (:keywords "convenience" "org-mode") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-multiple-keymap.el"))]) (org-msg . [(20181005 1543) ((emacs (24 4)) (htmlize (1 54))) "Org mode to send and reply to email in HTML." single ((:commit . "bc488c5ef820644660991c4cb73de2738173b4d4") (: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-mru-clock . [(20180419 1306) ((emacs (24 3))) "clock in/out of tasks with completion and persistent history" single ((:commit . "72e6cd0a6458ae0392f587026233f553278ab481") (:keywords "convenience" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-mind-map . [(20180826 2340) ((emacs (24)) (dash (1 8 0)) (org (8 2 10))) "Creates a directed graph from org-mode files" single ((:commit . "16a8aac5462c01c4e7b6b7915381fde42fd3caf6") (: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-mime . [(20181023 2314) ((emacs (24 4)) (cl-lib (0 5))) "org html export for text/html MIME emails" single ((:commit . "1e792ef0616069b3ec74a4b7d96fced8c9c6eb8a") (:keywords "mime" "mail" "email" "html") (:authors ("Eric Schulte")) (:maintainer "Chen Bin (redguardtoo)") (:url . "http://github.com/org-mime/org-mime"))]) (org-make-toc . [(20180731 1419) ((emacs (25 1)) (dash (2 12)) (s (1 10 0)) (org (9 0))) "Automatic tables of contents for Org files" single ((:commit . "710dcf99bd73763dcdfa5418a699955a9aeb60d8") (:keywords "org" "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-make-toc"))]) (org-listcruncher . [(20180815 603) ((cl-lib (0 5)) (seq (2 3)) (emacs (24 4))) "Parse Org mode list contents into table" single ((:commit . "50bd8c22cde3b9b091889861e44a5043b53556f7") (:keywords "convenience") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:url . "https://github.com/dfeich/org-listcruncher"))]) (org-linkany . [(20160207 411) ((log4e (0 2 0)) (yaxception (0 1))) "Insert link using anything.el/helm.el on org-mode" single ((:commit . "8cfe2f1a46e6654a79f56505349d1396263cecb3") (:keywords "org" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-linkany"))]) (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-link-minor-mode . [(20170805 1852) ((org (8))) "Enable org-mode links in non-org modes" single ((:commit . "7b92df60f3fee7f609d649d80ef243b45771ebea") (:authors ("Sean O'Halpin <sean dot ohalpin at gmail dot com>")) (:maintainer "Sean O'Halpin <sean dot ohalpin at gmail dot com>") (:url . "https://github.com/seanohalpin/org-link-minor-mode"))]) (org-kanban . [(20180916 816) ((dash (2 13 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "8091bdd96d0bf405e4d88766cd31a31f2afe8a36") (: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-journal . [(20181115 714) ((emacs (25 1))) "a simple org-mode based journaling mode" single ((:commit . "3ae2e7d7e372dee08143282a9137bf4dfc946645") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "http://github.com/bastibe/org-journal"))]) (org-jira . [(20181028 401) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (s (0 0 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "f9d34edabe7c586a051d31261b8b1f37eac21b62") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/org-jira"))]) (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-index . [(20181019 1258) ((emacs (24 4))) "A personal adaptive index for org" single ((:commit . "905e3dba6bdc009aa3fe7df0391f5f46afc0f68d") (:authors ("Marc Ihm" . "org-index@2484.de")) (:maintainer "Marc Ihm" . "org-index@2484.de") (:url . "https://github.com/marcIhm/org-index"))]) (org-if . [(20150920 1513) nil "Interactive Fiction Authoring System for Org-Mode." tar ((:commit . "fab602cc1bbee7a4e99c0083e129219d3f9ed2e8"))]) (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-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-gcal . [(20181004 748) ((request-deferred (0 2 0)) (alert (1 1)) (emacs (24)) (cl-lib (0 5)) (org (8 2 4))) "Org sync with Google Calendar" single ((:commit . "d1c2549e7e220880848bef5a8fcc06cbb82dbd9f") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "https://github.com/kidd/org-gcal.el"))]) (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-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-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-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-ehtml . [(20150506 2358) ((web-server (20140109 2200)) (emacs (24 3))) "Export Org-mode files as editable web pages" tar ((:commit . "9df85de1a0fe1e7b2d6c000777c1a0c0217f92d0"))]) (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-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-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-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-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-download . [(20180925 1528) ((async (1 2))) "Image drag-and-drop for Emacs org-mode" single ((:commit . "07b98eb4f7252e3f64a306c09dfb618be6ac181d") (:keywords "images" "screenshots" "download") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel") (:url . "https://github.com/abo-abo/org-download"))]) (org-dotemacs . [(20180802 28) ((org (7 9 3)) (cl-lib (0 5))) "Store your emacs config as an org file, and choose which bits to load." single ((:commit . "49072168158b6cd45796e92e940c9ac71e181722") (:keywords "local") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/org-dotemacs"))]) (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-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-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-context . [(20170107 1337) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "a3b4a4ce6d15e3c2d45eb5dcb78bea81913f3e21") (: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-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-clock-today . [(20161014 920) ((emacs (25))) "Show the total clocked time of the current day in the mode line" single ((:commit . "02b8fd541a01040405a9a1400c46dcb68b7c2a3a") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (org-clock-split . [(20180909 2047) ((emacs (24))) "Split clock entries" single ((:commit . "b2f1497b62e7f4a767be02e249e4ac95d4f8f21c") (: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-csv . [(20180314 257) ((org (8 3)) (s (1 0))) "Export `org-mode' clock entries to CSV format." single ((:commit . "5f96532e7a2c4a56a414a9e34f7a76b2f29d5d03") (: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-convenience . [(20160830 1856) ((cl-lib (0 5)) (org (8)) (emacs (24 3))) "convenience functions for org time tracking" single ((:commit . "2d3fab0991ef7fa8d94c46a63a66abd289c79d9e") (:keywords "org") (:authors ("Derek Feichtinger <dfeich.gmail.com>")) (:maintainer "Derek Feichtinger <dfeich.gmail.com>") (:url . "https://github.com/dfeich/org-clock-convenience"))]) (org-cliplink . [(20181022 1239) ((emacs (24 4))) "insert org-mode links from the clipboard" tar ((:commit . "7ab98f2b17a627e907b50c27737ec1a8ae8b0f3d") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/org-cliplink"))]) (org-chef . [(20181105 2035) ((org (0)) (emacs (24))) "Cookbook and recipe management with org-mode." tar ((:commit . "a35ad92970bdf6e251756cfecf5455997b8f8599") (: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-category-capture . [(20180601 242) ((org (9 0 0)) (emacs (24))) "Contextualy capture of org-mode TODOs." single ((:commit . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-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-caldav . [(20180403 2036) ((org (7))) "Sync org files with external calendar through CalDAV" single ((:commit . "8d3492c27a09f437d2d94f2736c56d7652e87aa0") (:keywords "calendar" "caldav") (:authors ("David Engster" . "deng@randomsample.de")) (:maintainer "David Engster" . "deng@randomsample.de"))]) (org-bullets . [(20180208 2343) nil "Show bullets in org-mode as UTF-8 characters" single ((:commit . "b56f2e3812626f2c4ac1686073d102c71f4a8513") (:authors ("sabof")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacsorphanage/org-bullets"))]) (org-brain . [(20181114 2246) ((emacs (25)) (org (9))) "Org-mode concept mapping" single ((:commit . "d2bd1461e69189a39bbe40ae0d0be080b13d0ba0") (: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-bookmark-heading . [(20180904 1709) ((emacs (24 4)) (f (0 17 2))) "Emacs bookmark support for org-mode" single ((:commit . "eba5ef7a3c992c4a9da86f64d12fca0c1158208a") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-bookmark-heading"))]) (org-board . [(20180530 1820) nil "bookmarking and web archival system for Org mode." single ((:commit . "38de9ff14099bb79b55ddf73b68b8e30ebd7b280") (: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-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-babel-eval-in-repl . [(20170511 1214) ((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 . "bfa72c582ac1531ad42aba23e2b1267ab68e31f6") (: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-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-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-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-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-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"))]) (orca . [(20171030 1916) ((emacs (24 3))) "Org Capture" single ((:commit . "5e1744afb793dda744ddc6fe342144b5e90bea08") (:keywords "org" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/orca"))]) (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"))]) (openwith . [(20120531 2136) nil "Open files with external programs" single ((:keywords "files" "processes") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at") (:url . "https://bitbucket.org/jpkotta/openwith"))]) (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"))]) (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 . "13499b7ae602c735e40c1c494bda6252a2f1c98f") (:keywords "opensource") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/OpenSourceOrg/el-opensourceorg"))]) (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"))]) (opencl-mode . [(20170816 1249) nil "Syntax coloring for opencl kernels" single ((:commit . "6e69434d0fa6e11a542acad370611bba18d3bc5c") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (one-themes . [(20181030 1142) ((emacs (24))) "One Colorscheme" tar ((:commit . "1b50f2f88fe5e207cbe6d68db710361e3bc4a9ce") (:authors ("Balaji Sivaraman" . "balaji@balajisivaraman.com")) (:maintainer "Balaji Sivaraman" . "balaji@balajisivaraman.com") (:url . "http://github.com/balajisivaraman/emacs-one-themes"))]) (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"))]) (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"))]) (omtose-phellack-theme . [(20161111 2120) nil "A dark theme, with cold bluish touch." tar ((:commit . "66f99633e199e65bd28641626435e8e59246529a"))]) (omnisharp . [(20181023 505) ((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)) (shut-up (0 3 2)) (f (0 19 0))) "Omnicompletion (intellisense) and more for C#" tar ((:commit . "260b2423b7b909b12b98d84e5b05b5b4e20040d0") (: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"))]) (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"))]) (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"))]) (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-quotes . [(20170425 1832) ((dash (2 8)) (omni-log (0 3 3)) (f (0 19 0)) (s (1 11 0)) (ht (2 1))) "Random quotes displayer" tar ((:commit . "454116c1dd6581baaeefd6b9310b1b6b7a5c36d0") (: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-log . [(20170930 1235) ((emacs (24)) (ht (2 0)) (s (1 6 1)) (dash (2 13 0))) "Logging utilities" tar ((:commit . "11e959473c1bd9415d0cda785940c36ba6ad44ab") (: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-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"))]) (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"))]) (olivetti . [(20180531 737) ((emacs (24 4))) "Minor mode for a nice writing environment" single ((:commit . "02272654f1d920ea2da5a4b553acd5e5cc096ab1") (:keywords "wp" "text") (:authors ("Paul Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul Rankin" . "hello@paulwrankin.com") (:url . "https://github.com/rnkn/olivetti"))]) (oldlace-theme . [(20150705 1300) ((emacs (24))) "Emacs 24 theme with an 'oldlace' background." single ((:commit . "5c6f437203b0783b36a7aff4a578de4a0c8c4ee6") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (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"))]) (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"))]) (octopress . [(20181009 2351) nil "A lightweight wrapper for Jekyll and Octopress." tar ((:commit . "d4d16f52278b14a271131a11e9cc0a94316de10e") (:keywords "octopress" "blog") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/octopress.el"))]) (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"))]) (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"))]) (ocp-indent . [(20180417 1549) nil "automatic indentation with ocp-indent" single ((:commit . "4830ebf5d1c1b8f47bc152ff13d2c6aa1aad705b") (:keywords "ocaml" "languages") (:url . "http://www.typerex.org/ocp-indent.html"))]) (ocodo-svg-modelines . [(20150516 1419) ((svg-mode-line-themes (0))) "A collection of beautiful SVG modelines" tar ((:commit . "c7b0789a177219f117c4de5659ecfa8622958c40"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (objed . [(20181116 1824) ((emacs (25)) (cl-lib (0 5))) "Navigate and edit text objects." tar ((:commit . "7c41d13201ce57276c35f4433ff68fe0b97f2a7b") (:keywords "convenience") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/objed"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ob-typescript . [(20150804 1230) ((emacs (24)) (org (8 0))) "org-babel functions for typescript evaluation" single ((:commit . "9dcbd226cbfb75e790dd9de91d9401dde85a889a") (:keywords "literate programming" "reproducible research" "typescript") (:authors ("KURASHIKI Satoru")) (:maintainer "KURASHIKI Satoru") (:url . "https://github.com/lurdan/ob-typescript"))]) (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-tmux . [(20180831 1017) ((emacs (25 1)) (seq (2 3)) (s (1 9 0))) "Babel Support for Interactive Terminal" single ((:commit . "73bed0ebad27f0ad57ea67582494543eb2fab73d") (:keywords "literate programming" "interactive shell" "tmux") (:authors ("Allard Hendriksen")) (:maintainer "Allard Hendriksen") (:url . "https://github.com/ahendriksen/ob-tmux"))]) (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-sql-mode . [(20180426 1911) ((emacs (24 4))) "SQL code blocks evaluated by sql-mode" single ((:commit . "8f38e4a882f79a53a96dc6f2a0a17b7878a461ad") (: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-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-sagemath . [(20170131 233) ((sage-shell-mode (0 0 8)) (s (1 8 0)) (emacs (24))) "org-babel functions for SageMath evaluation" tar ((:commit . "68d3e516c712bc7aa5042f305f3eb5bbb6d656c2") (:keywords "sagemath" "org-babel") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/ob-sagemath"))]) (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-restclient . [(20180904 709) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "00b2c5a6637ab6e504708612357ffb29b5416e4b") (:keywords "literate programming" "reproducible research") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:url . "http://orgmode.org"))]) (ob-prolog . [(20180720 1044) nil "org-babel functions for prolog evaluation." single ((:commit . "85ada8fc1f523167f137746c82d823a194160141") (:keywords "literate programming" "reproducible research") (:authors ("Bjarte Johansen")) (:maintainer "Bjarte Johansen") (:url . "https://github.com/ljos/ob-prolog"))]) (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-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-ml-marklogic . [(20170622 1833) nil "org-babel functions for MarkLogic evaluation" tar ((:commit . "f678af0f440b3030e311ed6fbc444200be04da91") (: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-mermaid . [(20180522 1659) nil "org-babel support for mermaid evaluation" single ((:commit . "5deaea757b3a5de874d94e40c03116fbc8195308") (:keywords "lisp") (:authors ("Alexei Nunez" . "alexeirnunez@gmail.com")) (:maintainer "Alexei Nunez" . "alexeirnunez@gmail.com") (:url . "https://github.com/arnm/ob-mermaid"))]) (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-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-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-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-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-go . [(20181107 1941) nil "org-babel functions for go evaluation" tar ((:commit . "237aded7aeb236573514fb26f23129852fd3c206") (:keywords "golang" "go" "literate programming" "reproducible research") (:authors ("K. Adam Christensen")) (:maintainer "K. Adam Christensen") (:url . "http://orgmode.org"))]) (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-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-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-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-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-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-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-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-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-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-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-cfengine3 . [(20180102 1812) nil "Org Babel functions for CFEngine 3" single ((:commit . "93ebcfceec3734f4bd187ae123686187d66fd401") (:keywords "tools" "convenience") (:authors ("Nick Anderson" . "nick@cmdln.org")) (:maintainer "Nick Anderson" . "nick@cmdln.org") (:url . "https://github.com/nickanderson/ob-cfengine3"))]) (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-blockdiag . [(20170728 101) nil "org-babel functions for blockdiag evaluation" single ((:commit . "634fcf64a4ae735afe7001d865b03f5d71e23046") (:keywords "tools" "convenience") (:authors ("Dmitry Moskowski")) (:maintainer "Dmitry Moskowski") (:url . "https://github.com/corpix/ob-blockdiag.el"))]) (ob-axiom . [(20171103 2248) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions")) (:maintainer "Paul Onions"))]) (ob-async . [(20180816 1553) ((async (1 9)) (org (9 0 1)) (emacs (24 4)) (dash (2 14 1))) "Asynchronous org-babel src block execution" single ((:commit . "2470490e6efb3f8efde1702f7986f6e31cc1ab6c") (:keywords "tools") (:authors ("Andrew Stahlman" . "andrewstahlman@gmail.com")) (:maintainer "Andrew Stahlman" . "andrewstahlman@gmail.com") (:url . "https://github.com/astahlman/ob-async"))]) (ob-applescript . [(20160914 2027) nil "org-babel functions for template evaluation" single ((:commit . "bc708af6cf45707d4e8d8f00ea59a7e413bfaca7") (:keywords "literate programming" "reproducible research" "mac") (:authors ("Stig Brautaset")) (:maintainer "Stig Brautaset") (:url . "http://github.com/stig/ob-applescript.el"))]) (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>"))]) (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>"))]) (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"))]) (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/"))]) (nvm . [(20171217 1636) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (dash-functional (2 4 0))) "Manage Node versions within Emacs" single ((:commit . "bc0a33257ec16e9f575bb6914b5949199897ada9") (:keywords "node" "nvm") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/nvm.el"))]) (nv-delete-back . [(20170224 1249) ((emacs (24))) "backward delete like modern text editors" single ((:commit . "44d506105989873dc1725e0cfc675925b35c9c98") (:keywords "lisp") (:authors ("Nicolas Vaughan <n.vaughan [at] oxon.org>")) (:maintainer "Nicolas Vaughan <n.vaughan [at] oxon.org>"))]) (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"))]) (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"))]) (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"))]) (number . [(20170901 1312) nil "Working with numbers at point." single ((:commit . "bbc278d34dbcca83e70e3be855ec98b23debfb99"))]) (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"))]) (nu-mode . [(20181021 2032) ((undo-tree (0 6 5)) (ace-window (0)) (avy (0)) (which-key (0)) (transpose-frame (0))) "Modern Emacs Prompts Based Keybinding." tar ((:commit . "1c20826ee462ad991e8b9cdeedfacb6bf1c159bf"))]) (nsis-mode . [(20180719 308) nil "NSIS-mode" tar ((:commit . "a49f5dbc8a5e60d3bbb803582efb5468bbbe7507") (:keywords "nsis") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/nsis-mode"))]) (ns-auto-titlebar . [(20181022 2154) ((emacs (24 4))) "Set the MacOS transparent titlebar to match theme" single ((:commit . "b16092e8058af63ad2bc222f166b0aa3cb66bf9d") (:keywords "frames") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ns-auto-titlebar"))]) (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"))]) (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"))]) (npm-mode . [(20180720 1701) ((emacs (24 1))) "minor mode for working with npm projects" single ((:commit . "4f4b9fc2c07290ae87f65179df95be5221e76bf2") (: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"))]) (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"))]) (nova-theme . [(20180905 1911) ((emacs (24 3))) "A dark, pastel color theme" single ((:commit . "932c83e6e06e795c2a380b69eee3913a3a805cea") (: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"))]) (nov . [(20181023 855) ((dash (2 12 0)) (esxml (0 3 3)) (emacs (24 4))) "Featureful EPUB reader mode" single ((:commit . "2a24915bed45364f83aa672c191418a01b4b6d83") (:keywords "hypermedia" "multimedia" "epub") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:url . "https://github.com/wasamasa/nov.el"))]) (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"))]) (notmuch . [(20181021 1330) nil "run notmuch within emacs" tar ((:commit . "7f726c6e87517eb9c84119a1c5e3a63bfaaa49f6") (:url . "https://notmuchmail.org/"))]) (nose . [(20140520 1648) nil "Easy Python test running in Emacs" single ((:keywords "nose" "python" "testing"))]) (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"))]) (nordless-theme . [(20180613 750) nil "A mostly colorless theme" single ((:commit . "e4da9d2465a123ea28e33a507cc7ab69692cde86") (:keywords "theme" "dark") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://github.com/lethom/nordless-theme.el"))]) (nord-theme . [(20180913 1749) ((emacs (24))) "An arctic, north-bluish clean and elegant theme" single ((:commit . "c4e0b5548e2f3a149658617b33813cb115bdecfe") (:authors ("Arctic Ice Studio" . "development@arcticicestudio.com")) (:maintainer "Arctic Ice Studio" . "development@arcticicestudio.com") (:url . "https://github.com/arcticicestudio/nord-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (nodejs-repl . [(20181024 1654) nil "Run Node.js REPL" single ((:commit . "d518947584c8041a36ffa103e2d487d852cd12ee") (:authors ("Takeshi Arabiki")) (:maintainer "Takeshi Arabiki"))]) (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"))]) (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"))]) (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"))]) (noccur . [(20150514 2120) nil "Run multi-occur on project/dired files" single ((:commit . "6cc02ce07178a61ae38a849f80472c01969272bc") (:keywords "convenience") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (noaa . [(20180419 1833) ((request (0 2 0)) (cl-lib (0 5)) (emacs (24))) "Get NOAA weather data" single ((:commit . "e99f7702512de49f93138dce6e0a7cfe2bc5eed3") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/noaa"))]) (no-littering . [(20181030 1247) ((cl-lib (0 5))) "help keeping ~/.emacs.d clean" single ((:commit . "b9c8dcfd5d0757aeca2fb772ff233cd6f1fd75db") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/no-littering"))]) (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"))]) (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"))]) (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"))]) (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"))]) (nlinum-hl . [(20170614 48) ((emacs (24 4)) (nlinum (1 7)) (cl-lib (0 5))) "heal nlinum's line numbers" single ((:commit . "d5ca1490e0cde0605e34a6a17de8cc236c9810da") (: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"))]) (nixos-options . [(20160209 1841) ((emacs (24))) "Interface for browsing and completing NixOS options." single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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/"))]) (nix-update . [(20180425 48) ((emacs (25))) "Update \"fetch\" blocks in .nix expressions" single ((:commit . "d92b2c190dbaeb16751be724fe381f8a796c424c") (:keywords "nix") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/nix-update-el"))]) (nix-sandbox . [(20171004 1706) ((dash (2 12 1)) (s (1 10 0))) "Utility functions to work with nix-shell sandboxes" single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (:authors ("Sven Keidel" . "svenkeidel@gmail.com")) (:maintainer "Sven Keidel" . "svenkeidel@gmail.com") (:url . "https://github.com/travisbhartwell/nix-emacs"))]) (nix-mode . [(20181030 346) ((emacs (24 3))) "Major mode for editing .nix files" tar ((:commit . "84ee98019fbb48854ebd57cc74848b7e7327a78c") (:keywords "nix" "languages" "tools" "unix") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/NixOS/nix-mode"))]) (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/"))]) (ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "cfd74e54fa30f507364bc2ecc4b4314ccbd60a1c"))]) (nimbus-theme . [(20181109 1214) nil "An awesome dark theme" single ((:commit . "e1fbbb5644c0ef5cd070f958ca17f4e5978c2ab6") (:keywords "faces") (:authors ("Marcin Swieczkowski" . "scatman@bu.edu")) (:maintainer "Marcin Swieczkowski" . "scatman@bu.edu") (:url . "https://github.com/m-cat/nimbus-theme"))]) (nim-mode . [(20181028 1713) ((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 . "2acb601e6b3bf81f2fe29cfa1f3967e81bd12564") (:keywords "nim" "languages") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner" . "hafnersimon@gmail.com"))]) (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"))]) (night-owl-theme . [(20180630 2131) ((emacs (24))) "A color theme for the night owls out there" single ((:commit . "6c73732986015c6a36919f16096d5e4f81b516ad") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "http://github.com/aaronjensen/night-owl-theme"))]) (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"))]) (niceify-info . [(20160416 1244) nil "improve usability of Info pages" single ((:commit . "38df5062bc3b99d1074cab3e788b5ed66732111c"))]) (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"))]) (ng2-mode . [(20180920 12) ((typescript-mode (0 1))) "Major modes for editing Angular 2" tar ((:commit . "db55c94c6697ca0e99d6713218bd8f47d2d374e3") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (netease-music . [(20181028 1254) ((names (0 5)) (emacs (25))) "listen netease music" single ((:commit . "31c31cff44d2889c0456ac11d5d38227f15f03b6") (:keywords "multimedia" "chinese" "music") (:authors ("hiro方圆" . "wfy11235813@gmail.com")) (:maintainer "hiro方圆" . "wfy11235813@gmail.com") (:url . "https://github.com/nicehiro/netease-music"))]) (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"))]) (neotree . [(20181113 2125) ((cl-lib (0 5))) "A tree plugin like NerdTree for Vim" tar ((:commit . "6e3ae07b08d4dd218c119e91a101d7e7ed6ef4d9") (:authors ("jaypei" . "jaypei97159@gmail.com")) (:maintainer "jaypei" . "jaypei97159@gmail.com") (:url . "https://github.com/jaypei/emacs-neotree"))]) (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"))]) (nemerle . [(20161029 2023) nil "major mode for editing nemerle programs" single ((:commit . "6904f590bf8b25a97838c6733dd2e53bd68467fd") (:keywords "nemerle" "mode" "languages") (:authors ("Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl")) (:maintainer "Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl"))]) (neato-graph-bar . [(20171231 153) ((emacs (24 3))) "Neat-o graph bars CPU/memory etc." single ((:commit . "c59f15ed9a40aecc174aa22c4bbfa7978e182705") (:authors ("Robert Cochran" . "robert-git@cochranmail.com")) (:maintainer "Robert Cochran" . "robert-git@cochranmail.com") (:url . "https://gitlab.com/RobertCochran/neato-graph-bar"))]) (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"))]) (ncl-mode . [(20180129 703) ((emacs (24))) "Major Mode for editing NCL scripts and other goodies" tar ((:commit . "602292712a9e6b7e7c25155978999e77d06b7338"))]) (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"))]) (navi2ch . [(20150330 216) nil "Navigator for 2ch for Emacsen" tar ((:commit . "f39d93c32acd5b9c3a7fb1a9fe14c5e1c4b5288e") (:keywords "network" "2ch") (:authors ("Taiki SUGAWARA" . "taiki@users.sourceforge.net")) (:maintainer "Taiki SUGAWARA" . "taiki@users.sourceforge.net"))]) (navi-mode . [(20180516 248) ((outshine (2 0)) (outorg (2 0))) "major-mode for easy buffer-navigation" single ((:commit . "7c3fd1a9b520300abfdb1b7c3de21403e81a95bf") (:maintainer "Adam Porter") (:url . "https://github.com/alphapapa/navi"))]) (nav-flash . [(20140508 2041) nil "Briefly highlight the current line" single ((:commit . "53f5bc59e3f32c1192d15637d3979732dacb2c35") (:keywords "extensions" "navigation" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/nav-flash"))]) (nav . [(20120507 707) nil "Emacs mode for filesystem navigation" tar ((:commit . "c5eb234c063f435dbdcd1f8bdc46cfc68c973ebe") (:authors ("Issac Trotts" . "issactrotts@google.com")) (:maintainer "Issac Trotts" . "issactrotts@google.com"))]) (nasm-mode . [(20180711 1909) ((emacs (24 3))) "NASM x86 assembly major mode" single ((:commit . "1d4871ef184fc5da792bccbae1ea189f876706fc") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/nasm-mode"))]) (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"))]) (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"))]) (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"))]) (naquadah-theme . [(20180212 1240) nil "A theme based on Tango color set" single ((:commit . "999056526db5095ce600c83672fc80cb744bd93e"))]) (nanowrimo . [(20151105 228) nil "Track progress for nanowrimo" single ((:authors ("Ivan Andrus <darthandrus at gmail.com>")) (:maintainer "Ivan Andrus <darthandrus at gmail.com>") (:url . "https://bitbucket.org/gvol/nanowrimo-mode"))]) (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/"))]) (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/"))]) (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"))]) (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"))]) (nameless . [(20180215 2221) ((emacs (24 4))) "Hide package namespace in your emacs-lisp code" single ((:commit . "3cd4ade5433c8e2041dfff9d9624d9e676d9c5ee") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/nameless"))]) (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"))]) (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 . [(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"))]) (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"))]) (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"))]) (myterminal-controls . [(20170426 236) ((emacs (24)) (cl-lib (0 5))) "Quick toggle controls at a key-stroke" single ((:commit . "aae4f50f9f22d374eaaac2ce95e522f13dcc8fc0") (:keywords "convenience" "shortcuts") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (mysql2sqlite . [(20170725 2216) nil "Convert mysql databases into sqlite databases." single ((:commit . "8e6e74451c942e2e92f90dc13222b95a7dbb285e"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mw-thesaurus . [(20180629 525) ((emacs (25))) "Merriam-Webster Thesaurus" single ((:commit . "b3f8c3aae2b68a4e6cc054c6c99d3b3135e781d1") (:keywords "wp" "matching") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/mw-thesaurus.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mustache . [(20170923 1233) ((ht (0 9)) (s (1 3 0)) (dash (1 2 0))) "a mustache templating library in emacs lisp" tar ((:commit . "5e39654b933a18131146a0f3b3e3dc55c5058124"))]) (multitran . [(20181107 1414) ((emacs (24)) (cl-lib (0 5))) "Interface to multitran" single ((:commit . "9e10b29c4e7cc64736a832649fa9fad8781fc65f") (:keywords "dictionary" "hypermedia") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) (multiple-cursors . [(20180913 1237) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "6a7c3c0853e3fe9e4b8e5985dbed8fd4075f33ff"))]) (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"))]) (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"))]) (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"))]) (multi-term . [(20160619 933) nil "Managing multiple terminal buffers in Emacs." single ((:commit . "f954e4e18b0a035151d34852387e724d87a3316f") (: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-run . [(20181101 426) ((emacs (24)) (window-layout (1 4))) "Manage multiple terminals and run commands on them" single ((:commit . "acf877d6b4982d90e506c6feb657b3975e063520") (:keywords "tools" "terminals") (:authors ("Sagar Jha")) (:maintainer "Sagar Jha") (:url . "https://www.github.com/sagarjha/multi-run"))]) (multi-project . [(20171217 2011) ((emacs (25))) "Find files, compile, search, and switch between" single ((:keywords "convenience" "project" "management") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://bitbucket.org/ellisvelo/multi-project/overview"))]) (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-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 . [(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"))]) (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"))]) (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"))]) (mu4e-maildirs-extension . [(20180606 812) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "3ef4c48516be66e73d24fe764aadbcfc126b7964") (: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-jump-to-list . [(20180425 1832) ((emacs (24 4)) (cl-lib (0 5))) "mu4e jump-to-list extension" single ((:commit . "e336ffe84b55edaaf4e48040d4d9156a9f4c881e") (: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-conversation . [(20181105 1722) ((emacs (25 1))) "Show a complete thread in a single buffer" single ((:commit . "54368a009474276247bdf39683e25ea68ae1f943") (:keywords "mail" "convenience" "mu4e") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/mu4e-conversation"))]) (mu4e-alert . [(20180305 646) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 3))) "Desktop notification for mu4e" single ((:commit . "96a293b28646f4620e257f24748becc4a06843cd") (:keywords "mail" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/mu4e-alert"))]) (mu-cite . [(20160130 1100) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "aea3c2d01eb3284d5e0124059d368e8c6b6ffddc"))]) (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"))]) (msvc . [(20171225 1538) ((emacs (24)) (cl-lib (0 5)) (cedet (1 0)) (ac-clang (2 0 0))) "Microsoft Visual C/C++ mode" tar ((:commit . "dfc529aa6da8b46b0a0c7db9a0e5e9bc33ab1fb3") (: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"))]) (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"))]) (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"))]) (mpv . [(20180602 1014) ((cl-lib (0 5)) (emacs (24)) (json (1 3)) (org (8 0))) "control mpv for easy note-taking" single ((:commit . "9dedf3b7c1bfd778284df7f394207ce0447ea7aa") (:keywords "tools" "multimedia") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com") (:url . "https://github.com/kljohann/mpv.el"))]) (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"))]) (mpdel . [(20181018 1208) ((emacs (25 1)) (libmpdel (0 7 0))) "Play and control your MPD music" tar ((:commit . "b9ada1670d6c104ebee3d186977a09b0aaca0d5e") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/mpdel"))]) (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"))]) (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"))]) (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-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 . [(20180101 800) nil "minor mode to input Japanese with Mozc" single ((:commit . "afb03ddfe72dde4cf2409863a3bfea160f7a66d8") (:keywords "mule" "multilingual" "input method"))]) (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"))]) (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"))]) (mowedline . [(20161122 235) nil "elisp utilities for using mowedline" single ((:commit . "6121b7d4aacd18f7b24da226e61dbae054e50a7c") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) (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"))]) (move-dup . [(20180531 1237) nil "Eclipse-like moving and duplicating lines or rectangles." single ((:commit . "24e5b6d7222cbe2437c602f1af37d5807569961a") (: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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (moom . [(20180910 438) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "a8820f19a8168ab395ba835872606280ad96916d") (: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"))]) (moody . [(20181014 1447) ((emacs (25 3))) "Tabs and ribbons for the mode line" single ((:commit . "f0cfdcff5946775a22e5b789899269669ba58ecd") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/moody"))]) (monroe . [(20180703 1746) nil "Yet another client for nREPL" single ((:commit . "7eeac4f5127f7d74cd975542a8b901742b682922") (:keywords "languages" "clojure" "nrepl" "lisp") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:url . "http://www.github.com/sanel/monroe"))]) (monotropic-theme . [(20181015 1230) ((emacs (24))) "Monotropic Theme" single ((:commit . "36df566aa8225e303f6c9d90c00740dd678a415e") (:authors ("caffo")) (:maintainer "caffo") (:url . "https://github.com/caffo/monotropic-theme"))]) (monokai-theme . [(20180730 1329) nil "A fruity color theme for Emacs." single ((:commit . "f4ef092129f4a35edaee0a9b2219c17e86309730") (:authors ("Kelvin Smith" . "oneKelvinSmith@gmail.com")) (:maintainer "Kelvin Smith" . "oneKelvinSmith@gmail.com") (:url . "http://github.com/oneKelvinSmith/monokai-emacs"))]) (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"))]) (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"))]) (monky . [(20181027 1538) nil "Control Hg from Emacs." tar ((:commit . "c831bd5861e92798ce9e4547eb484ee0e9cb2e1f"))]) (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"))]) (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"))]) (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"))]) (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"))]) (moe-theme . [(20180617 200) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "ee6d7a1c84ac7a11fcc82dfc3b174eee1c8461fa") (:url . "https://github.com/kuanyui/moe-theme.el"))]) (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"))]) (modern-cpp-font-lock . [(20180110 2031) nil "Font-locking for \"Modern C++\"" single ((:commit . "9b10e1831bac34685be89e32e83ed969c4bac683") (: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"))]) (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"))]) (mode-line-bell . [(20181029 516) nil "Flash the mode line instead of ringing the bell" single ((:commit . "4985ba42f5a19f46ddbf9b3622453a9694995ce5") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (mode-icons . [(20180910 1504) ((emacs (24)) (cl-lib (0 5))) "Show icons for modes" tar ((:commit . "26138d825cba7e6bd882707a909505d5536acb9b") (:keywords "multimedia") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://ryuslash.org/projects/mode-icons.html"))]) (modalka . [(20180101 613) ((emacs (24 4))) "Easily introduce native modal editing of your own design" single ((:commit . "9d990341aa13ea27ba4e47ad02b1a9619af22792") (:keywords "modal" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/modalka"))]) (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"))]) (mocha-snippets . [(20170104 527) ((yasnippet (0 8 0))) "Yasnippets for the Mocha JS Testing Framework" tar ((:commit . "e054137bd78f0d236e983874da1f345d30a71816") (:keywords "test" "javascript") (:authors ("Charles Lowell" . "cowboyd@frontside.io")) (:maintainer "Charles Lowell" . "cowboyd@frontside.io"))]) (mocha . [(20180321 2322) ((js2-mode (20150909)) (f (0 18))) "Run Mocha or Jasmine tests" single ((:commit . "33e1b521a8a8d0225df353b51f1e8a4588ee32d0") (:keywords "javascript" "mocha" "jasmine") (:authors ("Al Scott")) (:maintainer "Al Scott") (:url . "http://github.com/scottaj/mocha.el"))]) (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"))]) (mo-vi-ment-mode . [(20131029 633) nil "Provide vi-like cursor movement that's easy on the fingers" single ((:commit . "f45b014261f8fab19254920bd1d92f3a83263411") (:keywords "convenience") (:authors ("Ajay MT" . "ajay.tatachar@gmail.com")) (:maintainer "Ajay MT" . "ajay.tatachar@gmail.com"))]) (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"))]) (mmt . [(20180101 619) ((emacs (24 1)) (cl-lib (0 3))) "Missing macro tools for Emacs Lisp" single ((:commit . "e860009ce531ee05d2902309db5f804326596b45") (:keywords "macro" "emacs-lisp") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/mmt"))]) (mmm-mako . [(20121020 651) ((mmm-mode (0 4 8))) "MMM submode class for Mako Templates" single ((:authors ("Philip Jenvey" . "pjenvey@underboss.org")) (:maintainer "Philip Jenvey" . "pjenvey@underboss.org") (:url . "https://bitbucket.org/pjenvey/mmm-mako"))]) (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"))]) (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"))]) (mixed-pitch . [(20181004 1459) ((emacs (24 3))) "Use a variable pitch, keeping fixed pitch where it's sensible" single ((:commit . "f9bcdd9e30f8370ef0607d714b9411eddf8dd866") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/mixed-pitch"))]) (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"))]) (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"))]) (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"))]) (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"))]) (minitest . [(20160628 1820) ((dash (1 0 0))) "An Emacs mode for ruby minitest files" tar ((:commit . "1aadb7865c1dc69c201cecee275751ecec33a182") (:authors ("Arthur Neves")) (:maintainer "Arthur Neves") (:url . "https://github.com/arthurnn/minitest-emacs"))]) (minions . [(20181030 2101) ((emacs (25 2)) (dash (2 13 0))) "A minor-mode menu for the mode line" single ((:commit . "d36d2445420460c81bcd4822d0bfcbafaec2c682") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/minions"))]) (minimal-theme . [(20160608 1022) nil "A light/dark minimalistic Emacs 24 theme." tar ((:commit . "430e0d3fc2044c16aa9f10961841febbd60df285") (: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"))]) (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"))]) (miniedit . [(20100419 1745) nil "Enhanced editing for minibuffer fields." single ((:commit . "e12bf659c3eb92dd8a4cb77642dc0865c54667a3"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mingus . [(20180713 636) ((libmpdee (2 1))) "MPD Interface" tar ((:commit . "686d383f48b196c916c5fcb6ddc3bcff8a0c4b14") (:keywords "multimedia" "elisp" "music" "mpd") (:authors ("Niels Giesen <pft on #emacs>")) (:maintainer "Niels Giesen <pft on #emacs>") (:url . "https://github.com/pft/mingus"))]) (minesweeper . [(20150414 522) nil "play minesweeper in Emacs" single ((:keywords "game" "fun" "minesweeper" "inane" "diversion") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://bitbucket.org/zck/minesweeper.el"))]) (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"))]) (migemo . [(20160924 1441) ((cl-lib (0 5))) "Japanese incremental search through dynamic pattern expansion" single ((:commit . "e4744efae1b2fdea2bbd2ceaff0f6ea0bb739f5a") (: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"))]) (midje-mode . [(20170809 403) ((cider (0 1 4)) (clojure-mode (1 0))) "Minor mode for running Midje tests in emacs" tar ((:commit . "10ad5b6084cd03d5cd268b486a7c3c246d85535f"))]) (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"))]) (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"))]) (mhc . [(20180724 458) ((calfw (20150703))) "Message Harmonized Calendaring system." tar ((:commit . "2cd1e97fa2e32e7dfde5ee7878fb9a915fb6a3b8") (:keywords "calendar") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:url . "http://www.quickhack.net/mhc"))]) (mgmtconfig-mode . [(20180222 2057) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "43b5b4f5a409b203e4331fed962857e4ba034cd9") (: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"))]) (mexican-holidays . [(20160109 2142) nil "Mexico holidays for Emacs calendar." single ((:commit . "43ced1f9e40a04be6927d1a1be64060f9be4f5c5") (: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"))]) (mew . [(20180911 123) nil "Messaging in the Emacs World" tar ((:commit . "91a78fd6c6d74d0881d68c51dcd9be8cae065c02") (:authors ("Kazu Yamamoto" . "Kazu@Mew.org")) (:maintainer "Kazu Yamamoto" . "Kazu@Mew.org"))]) (metaweblog . [(20171217 240) ((xml-rpc (1 6 8))) "An emacs library to access metaweblog based weblogs" tar ((:commit . "aa14380eb7e7b879a0c16c96866b20a987cd3f2a"))]) (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"))]) (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"))]) (metalheart-theme . [(20160710 641) ((emacs (24))) "Low-contrast theme with a dark blue-green background." single ((:commit . "ec98ea2c11dc1213dae8cbe1fe0cee73ca138bb2") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (meta-presenter . [(20170426 234) nil "A simple multi-file presentation tool for Emacs" single ((:commit . "4e7aae56e5abf6deaadbda84fd5ec4e3e19c22be") (:keywords "productivity" "presentation") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (messages-are-flowing . [(20170219 120) nil "visible indication when composing \"flowed\" emails" single ((:commit . "ef879726957c850c3a5afd7f1118604991e37e32") (:keywords "mail") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com"))]) (meson-mode . [(20181115 2125) ((emacs (24 3))) "Major mode for the Meson build system files" single ((:commit . "b507a87455af906e6c49aa4af70eba5b1d1af9ef") (:keywords "languages" "tools") (:authors ("Michal Sojka" . "sojkam1@fel.cvut.cz")) (:maintainer "Michal Sojka" . "sojkam1@fel.cvut.cz") (:url . "https://github.com/wentasah/meson-mode"))]) (merlin-eldoc . [(20180830 1016) ((emacs (24 4)) (merlin (3 0))) "eldoc for OCaml and Reason" single ((:commit . "85dec436648f43c050048524fae7a3ad7ad4c019") (:keywords "merlin" "ocaml" "languages" "eldoc") (:authors ("Louis Roché" . "louis@louisroche.net")) (:maintainer "Louis Roché" . "louis@louisroche.net") (:url . "https://github.com/khady/merlin-eldoc"))]) (merlin . [(20180816 815) nil "Mode for Merlin, an assistant for OCaml." tar ((:commit . "aac7b39eb5305faa0ddd6b1d6fe2f4b36ac85aed") (: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"))]) (mentor . [(20181029 2007) ((xml-rpc (1 6 9)) (seq (1 11)) (cl-lib (0 5)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "9415472470ff23ee9600d94123c51c455d63018d") (:keywords "comm" "processes" "bittorrent") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com"))]) (memolist . [(20150804 1721) ((markdown-mode (22 0)) (ag (0 45))) "memolist.el is Emacs port of memolist.vim." single ((:commit . "60c296e202a71e9dcf1c3936d47b5c4b95c5839f") (:keywords "markdown" "memo") (:authors ("mikanfactory <k952i4j14x17_at_gmail.com>")) (:maintainer "mikanfactory") (:url . "http://github.com/mikanfactory/emacs-memolist"))]) (memoize . [(20180614 1930) nil "Memoization functions" single ((:commit . "9a561268ffb550b257a08710489a95cd087998b6") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/emacs-memoize"))]) (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"))]) (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"))]) (melancholy-theme . [(20170220 2048) nil "A dark theme for dark minds" single ((:commit . "a9e13ca7051731b3a2c2aece9f3e3033b9a5e41d") (:authors ("Sod Oscarfono" . "sod@oscarfono.com")) (:maintainer "Sod Oscarfono" . "sod@oscarfono.com") (:url . "http://github.com/techquila/melancholy-theme"))]) (meghanada . [(20181116 1302) ((emacs (24 3)) (yasnippet (0 6 1)) (company (0 9 0)) (flycheck (0 23))) "A better java development mode" tar ((:commit . "4914ab1496d88251f179dc3b6158fc65e999804a") (:keywords "languages" "java") (:authors ("Yutaka Matsubara" . "yutaka.matsubara@gmail.com")) (:maintainer "Yutaka Matsubara" . "yutaka.matsubara@gmail.com") (:url . "https://github.com/mopemope/meghanada-emacs"))]) (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"))]) (md4rd . [(20180626 536) ((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 . "75fbf295d896230c4b441dc773d266fa6cd7a509") (:keywords "ahungry" "reddit" "browse" "news") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/md4rd"))]) (md-readme . [(20160811 1646) nil "Markdown-formatted READMEs for your ELisp" tar ((:commit . "bf818dd847c8b06b3b5100c5d3cf24cf96662528") (: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"))]) (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"))]) (mbsync . [(20181002 640) nil "run mbsync to fetch mails" single ((:commit . "f549eccde6033449d24cd5b6148599484850c403") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/mbsync-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"))]) (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"))]) (mb-url . [(20181011 1752) ((cl-lib (0))) "Multiple Backends for Emacs URL package." tar ((:commit . "224b92353094aec25c9c46159d71ab2db5831498") (:url . "https://github.com/dochang/mb-url") (:keywords "url"))]) (maxframe . [(20170120 1705) nil "maximize the emacs frame based on display size" single ((:commit . "13bda6dd9f1d96aa4b9dd9957a26cefd399a7772") (:keywords "display" "frame" "window" "maximize") (:authors ("Ryan McGeary")) (:maintainer "Ryan McGeary"))]) (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"))]) (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"))]) (matlab-mode . [(20180928 1526) nil "Major mode for MATLAB(R) dot-m files" tar ((:commit . "3fbca4259b2584bde08df07ba51944d7e3e2b4f4") (:url . "http://sourceforge.net/projects/matlab-emacs/") (:keywords "matlab" "programming" "language" "(X)emacs"))]) (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"))]) (math-symbol-lists . [(20170221 1353) nil "Lists of Unicode math symbols and latex commands" tar ((:commit . "1af8fdcab7941a62287c2d04b8876e1538f39c60") (:keywords "unicode" "symbols" "mathematics") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/math-symbol-lists"))]) (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"))]) (mastodon . [(20180811 220) ((emacs (24 4))) "Client for Mastodon" tar ((:commit . "585a2dd79f6f929378237c3a678cf43efdf37407") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Johnson Denen" . "johnson.denen@gmail.com") (:url . "https://github.com/jdenen/mastodon.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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (markdown-toc . [(20170711 1949) ((s (1 9 0)) (dash (2 11 0)) (markdown-mode (2 1))) "A simple TOC generator for markdown file" tar ((:commit . "7038f4f6d5c2bc7e4aea89699a607ac2b7dd16a8"))]) (markdown-preview-mode . [(20180929 725) ((emacs (24 3)) (websocket (1 6)) (markdown-mode (2 0)) (cl-lib (0 5)) (web-server (0 1 1)) (uuidgen (0 3))) "markdown realtime preview minor mode." tar ((:commit . "cba12b77764df0fd3cf7008073df1badfa216073") (: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-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-mode . [(20181112 1529) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for Markdown-formatted text" single ((:commit . "d18a8f856d19dfac8fa6e6e72b2448e262045fcc") (: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-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"))]) (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"))]) (mark-multiple . [(20121118 1554) nil "Sorta lets you mark several regions at once." tar ((:commit . "f6a53c7c5283d640ae718f4548b0fda78877a375"))]) (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"))]) (map-regexp . [(20130522 2103) ((cl-lib (0 2))) "map over matches of a regular expression" single ((:commit . "b8e06284ec1c593d7d2bda5f35597a63de46333f") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-regexp"))]) (map-progress . [(20140310 2132) nil "mapping macros that report progress" single ((:commit . "3167eb218510953fb97e7d50948a625eaa3f0005") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-progress/"))]) (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"))]) (mandoku . [(20180403 1106) ((org (8 0)) (magit (20151028)) (github-clone (20150705)) (git (20140128))) "A tool to access repositories of premodern Chinese texts" tar ((:commit . "f230c871de8aab1be7b7a9718cd930548a90baa8"))]) (mandm-theme . [(20180915 1940) nil "An M&M color theme." single ((:commit . "b560aa0129c55a2f4fcc5e67a7d6c66ee4dc3124") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))]) (manage-minor-mode . [(20140310 1600) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "1bed33b0752380b548b822fe72e6858c5fe70c8e") (:keywords "minor-mode" "manage" "emacs") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (make-it-so . [(20180128 2107) ((swiper (0 8 0)) (emacs (24))) "Transform files with Makefile recipes." tar ((:commit . "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be") (:keywords "make" "dired") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/make-it-so"))]) (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"))]) (major-mode-icons . [(20170301 714) ((emacs (24 3)) (powerline (2 4)) (all-the-icons (2 3 0))) "display icon for major-mode on mode-line." tar ((:commit . "e6117a236b2ad52e948576550b183053321dfc91") (:keywords "frames" "multimedia") (:url . "http://github.com/stardiviner/major-mode-icons"))]) (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"))]) (magnatune . [(20151030 1935) ((dash (2 9 0)) (s (1 9 0))) "browse magnatune's music catalog" tar ((:commit . "605b01505ba30589c77ebb4c96834b5072ccbdd4"))]) (magma-mode . [(20180413 1427) ((cl-lib (0 3)) (dash (2 6 0)) (f (0 17 1))) "Magma mode for Emacs" tar ((:commit . "d8e41b3c0bc7d37be78fdbcabf6c13c9e182dfaa") (:url . "https://github.com/ThibautVerron/magma-mode"))]) (magithub . [(20181116 1355) ((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 . "033088315807446d29664cfddedea1a8f50fd304") (:keywords "git" "tools" "vc") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/magithub"))]) (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-todos . [(20181009 424) ((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 . "ccfb2c5df0d6371aee0d4abc4a55c403ee2b0241") (:keywords "magit" "vc") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/magit-todos"))]) (magit-tbdiff . [(20181023 1003) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-tbdiff" single ((:commit . "20da4b99e3f04d8e72c20706a36b1f5020400326") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-tbdiff"))]) (magit-svn . [(20170213 1233) ((emacs (24 4)) (magit (2 1 0))) "Git-Svn extension for Magit" single ((:commit . "c833903732a14478f5c4cfc561bae7c50671b36c") (:keywords "vc" "tools") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk"))]) (magit-stgit . [(20180522 1242) ((emacs (24 4)) (magit (2 1 0))) "StGit extension for Magit" single ((:commit . "186e60489f5449d87d94aca24b9d65e2f26a3bc5") (:keywords "vc" "tools") (:authors ("Lluís Vilanova" . "vilanova@ac.upc.edu")) (:maintainer "Lluís Vilanova" . "vilanova@ac.upc.edu"))]) (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-popup . [(20181003 921) ((emacs (24 4)) (async (1 9 2)) (dash (2 13 0))) "Define prefix-infix-suffix command combos" tar ((:commit . "8436447e3166b797edc596cf220f3bf9b41ff4d0") (:keywords "bindings") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit-popup"))]) (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 . "01e8bb24830861c50109878812550b4265cba82b") (: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-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-lfs . [(20170312 2224) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "799282fce73b668d2cf6e4fa87f889fec8e25333") (: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-imerge . [(20181024 1119) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-imerge" single ((:commit . "c2087091fbe24e818d16611c54f4932139757be7") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-imerge"))]) (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-gh-pulls . [(20180716 1636) ((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 . "6949e973f3e951cb0bfe75d889e0fcccc33ba733") (: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-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-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-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-annex . [(20181110 2236) ((cl-lib (0 3)) (magit (2 90 0))) "Control git-annex from Magit" single ((:commit . "66b81ea781fb192d0ed07002a0c1e7aa284041db") (: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 . [(20181116 1412) ((emacs (25 1)) (async (20180527)) (dash (20180910)) (ghub (20181107)) (git-commit (20181104)) (magit-popup (20181003)) (with-editor (20181103))) "A Git porcelain inside Emacs." tar ((:commit . "36d89c88e1337ec2b33c75c3d426289c66f86b10"))]) (magik-mode . [(20181005 841) nil "mode for editing Magik + some utils." tar ((:commit . "d87b9a5be8fc56e48241e02bab4b4a2d347b999d") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))]) (magic-latex-buffer . [(20170531 5) ((cl-lib (0 5)) (emacs (24 3))) "Magically enhance LaTeX-mode font-locking for semi-WYSIWYG editing" single ((:commit . "c03277d5619d9adcd871f3e6480a1a27985810cb") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (mac-pseudo-daemon . [(20170728 1940) ((cl-lib (0 1))) "Daemon mode that plays nice with Mac OS." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx" "mac") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) (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"))]) (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"))]) (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"))]) (lxc-tramp . [(20180523 2024) ((emacs (24)) (cl-lib (0 6))) "TRAMP integration for LXC containers" single ((:commit . "1aab85fef50df2067902bff13e1bac5e6366908b") (:keywords "lxc" "convenience") (:authors ("montag451")) (:maintainer "montag451") (:url . "https://github.com/montag451/lxc-tramp"))]) (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"))]) (lv . [(20181110 1740) nil "Other echo area" single ((:commit . "5c5b9ca3262594c92f8f73c98db5ed0f1efd0319") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel"))]) (lusty-explorer . [(20180628 1346) nil "Dynamic filesystem explorer and buffer switcher" single ((:commit . "fc4b2f0f8a07db107234490fdfbf72f8b76a6643") (:keywords "convenience" "files" "matching"))]) (lush-theme . [(20180816 2200) ((emacs (24))) "A dark theme with lush colors" single ((:commit . "7cfc993709d712f75c51b505078608c9e1c11466") (: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"))]) (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"))]) (lua-mode . [(20180323 1021) nil "a major-mode for editing Lua scripts" tar ((:commit . "99312b8d6c500ba3067da6d81efcfbbea05a1cbd") (: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"))]) (lsp-vue . [(20181030 1136) ((emacs (25 1)) (lsp-mode (3 0))) "Vue support for lsp-mode" single ((:commit . "85567342323943b37bb4e90376d3fae740be4aeb") (:authors ("Nikita Sivakov" . "cryptomaniac.512@gmail.com")) (:maintainer "Nikita Sivakov" . "cryptomaniac.512@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-vue"))]) (lsp-ui . [(20181031 2002) ((emacs (25 1)) (dash (2 14)) (dash-functional (1 2 0)) (flycheck (31)) (lsp-mode (5 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "5138e720451dfbcae2f55a8380416340d5706583") (: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"))]) (lsp-typescript . [(20180906 524) ((lsp-mode (3 0)) (typescript-mode (0 1)) (emacs (25 1))) "Javascript/Typescript support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-sh . [(20180913 158) ((lsp-mode (3 0))) "Shell support for lsp-mode" single ((:commit . "d9e94837ccbb54eafa381833d2a9a0089e01096b") (:keywords "sh" "shell" "bash") (:authors ("Mike Wilkerson" . "wilkystyle@gmail.com")) (:maintainer "Mike Wilkerson" . "wilkystyle@gmail.com") (:url . "https://github.com/wilkystyle/lsp-sh"))]) (lsp-rust . [(20180305 1308) ((emacs (25)) (lsp-mode (3 0)) (rust-mode (0 3 0)) (dash (1 0)) (markdown-mode (2 3))) "Rust support for lsp-mode" single ((:commit . "ecc889cc8735b280e0e6e84d2f4526b0048148b3") (:keywords "rust") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-rust"))]) (lsp-ruby . [(20180910 1921) ((lsp-mode (3 0)) (emacs (25 1))) "Ruby support for lsp-mode" single ((:commit . "690caff89ccf48d0b45688466482e78ec734e75b") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-ruby"))]) (lsp-python . [(20181108 754) ((lsp-mode (3 0))) "Python support for lsp-mode" single ((:commit . "9b67b63c4c8c53c77eda8b8081b8d458e655ba55") (:keywords "python") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-python"))]) (lsp-php . [(20180331 1644) ((emacs (25 1)) (lsp-mode (3 4))) "PHP support for lsp-mode" single ((:commit . "f96e23570120eca765132504df852a78d8b4d042") (:authors ("Declspeck" . "declspeck@declblog.com") ("zg" . "13853850881@163.com")) (:maintainer "Declspeck" . "declspeck@declblog.com") (:url . "https://github.com/emacs-lsp/lsp-php"))]) (lsp-p4 . [(20180728 1915) ((lsp-mode (3 0))) "P4 support for lsp-mode" single ((:commit . "9ac56f8932d6bfb332b6c84bc79361eba6df370a") (:keywords "lsp" "p4") (:authors ("Dmitri Makarov")) (:maintainer "Dmitri Makarov") (:url . "https://github.com/dmakarov/p4ls"))]) (lsp-ocaml . [(20180610 1854) ((emacs (25 1)) (lsp-mode (3 0))) "OCaml support for lsp-mode" single ((:commit . "5a8c776b6d75b502703243b3d628fccd813481b0") (:keywords "languages" "ocaml" "reason" "lsp") (:authors ("Antonio N. Monteiro" . "anmonteiro@gmail.com")) (:maintainer "Antonio N. Monteiro" . "anmonteiro@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-ocaml"))]) (lsp-mode . [(20181115 308) ((emacs (25 1))) "Minor mode for interacting with Language Servers" tar ((:commit . "9e0426cf88190a5c350a5436ab11af6f8d4d412e") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-mode"))]) (lsp-javascript-typescript . [(20180614 2011) ((lsp-mode (3 0)) (typescript-mode (0 1)) (emacs (25 1))) "Javascript/Typescript support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-javascript-flow . [(20180613 508) ((lsp-mode (3 0)) (emacs (25 1))) "Javascript/Flow support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("Ozan Sener" . "hi@ozan.email")) (:maintainer "Ozan Sener" . "hi@ozan.email") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-javacomp . [(20181029 2028) ((emacs (25 1)) (lsp-mode (3 0)) (s (1 2 0))) "Provide Java IDE features powered by JavaComp." single ((:commit . "2b5130951f758eb9d3000b9e391b5e7a3b63d371") (:keywords "java" "tools" "lsp") (:url . "https://github.com/tigersoldier/lsp-javacomp"))]) (lsp-java . [(20181102 1943) ((emacs (25 1)) (lsp-mode (3 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0))) "Java support for lsp-mode" tar ((:commit . "7eebaf5d45763627a5e49180d9f76a82432d62e3") (:keywords "java") (:url . "https://github.com/emacs-lsp/lsp-java"))]) (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-html . [(20180629 725) ((lsp-mode (4 2))) "HTML support for lsp-mode" single ((:commit . "53b3c30511cab7e5f1e4ad15094b407b27cdc7f5") (:keywords "languages" "html" "lsp") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-html"))]) (lsp-haskell . [(20181023 657) ((lsp-mode (3 0)) (haskell-mode (1 0))) "Haskell support for lsp-mode" single ((:commit . "1d18fb6b3c055d665dd0bc8694fd74782091d5cf") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))]) (lsp-hack . [(20181114 1747) ((lsp-mode (4 2))) "lsp-mode client for hacklang" single ((:commit . "2a9025a331aa08ebc4ad3524fe69eaa6f624ceae") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-hack"))]) (lsp-go . [(20180914 515) ((lsp-mode (3 0))) "Go support for lsp-mode" single ((:commit . "2327556e78682770a7a434610b08115f20ea5b1a") (:keywords "go" "golang") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-go"))]) (lsp-fortran . [(20180904 1636) ((lsp-mode (3 0))) "Fortran support for lsp-mode" single ((:commit . "dd990e5b1e8177c807dd935b6ffa76b495a54b4f") (:keywords "fortran" "fortran" "language server") (:authors ("Magnus Badel")) (:maintainer "Magnus Badel") (:url . "https://github.com/MagB93/lsp-fortran"))]) (lsp-dart . [(20181021 1708) ((emacs (25 1)) (lsp-mode (3 0))) "Dart support for lsp-mode" single ((:commit . "4979ccf88f09a8576fb739597eca22f4ece0a7e8") (:keywords "languages" "lsp" "dart") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/lsp-dart"))]) (lsp-css . [(20180627 1951) ((lsp-mode (3 0)) (emacs (25 1))) "CSS/LESS/SASS support for lsp-mode" single ((:commit . "1395b48209c5744e19f688ebb5fe8201e5a006df") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-css"))]) (lsp-clangd . [(20180828 1657) ((lsp-mode (3 0)) (emacs (24 3))) "clangd support for lsp-mode" single ((:commit . "37ca521483e3ce5b63b97672916368dbf4566a67") (:keywords "lsp" "clang" "clangd" "c" "c++" "objective-c" "objective-c++") (:authors ("Thomas Brown" . "tabsoftwareconsulting@gmail.com")) (:maintainer "Thomas Brown" . "tabsoftwareconsulting@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-clangd"))]) (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"))]) (lorem-ipsum . [(20140911 2108) nil "Insert dummy pseudo Latin text." single ((:commit . "4b39f6fed455d67f635b3837cf5668bf74d0f6cd") (:keywords "tools" "language" "convenience") (:authors ("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) (:maintainer "Joe Schafer" . "joe@jschaf.com"))]) (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"))]) (look-mode . [(20151211 1826) nil "quick file viewer for image and text file browsing" single ((:commit . "d65f75e8ea24eff2ac31c53b4835b45127eedd56") (:authors ("Peter H. Mao <peter.mao@gmail.com>" . "peterm@srl.caltech.edu")) (:maintainer "Peter H. Mao <peter.mao@gmail.com>" . "peterm@srl.caltech.edu"))]) (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"))]) (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"))]) (logview . [(20181027 1757) ((emacs (24 4)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a") (:keywords "files" "tools") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/logview"))]) (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"))]) (logpad . [(20180607 1915) nil "Simulate Windows Notepad for logging." single ((: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"))]) (lognav-mode . [(20180708 1022) ((emacs (24 3))) "Navigate Log Error Messages" single ((:keywords "log" "error" "lognav-mode" "convenience") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://bitbucket.org/ellisvelo/lognav-mode"))]) (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"))]) (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"))]) (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"))]) (log4e . [(20170401 1304) nil "provide logging framework for elisp" single ((:commit . "c69424e407be0d9d0e54b427d8b18b1ac5a607e2") (:keywords "log") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/log4e"))]) (lodgeit . [(20150312 1349) nil "Paste to a lodgeit powered pastebin" single ((:commit . "ec9b8e5cbb17bcf8ac4bdddd1d361cb60e59384c") (:keywords "pastebin" "lodgeit") (:authors ("Eric Larson" . "eric@ionrock.org")) (:maintainer "Eric Larson" . "eric@ionrock.org") (:url . "https://github.com/ionrock/lodgeit-el"))]) (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"))]) (loccur . [(20161227 1051) ((emacs (24 3))) "Perform an occur-like folding in current buffer" single ((:commit . "650d91dda0d313c8f445a0803c07809d857dee0f") (:keywords "matching") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/loccur"))]) (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"))]) (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"))]) (load-relative . [(20170526 1010) nil "relative file load (within a multi-file Emacs package)" tar ((:commit . "738896e3da491b35399178ed2c6bc92cc728d119") (:keywords "internal") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-load-relative"))]) (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"))]) (lms . [(20170804 1622) ((emacs (25 1))) "Squeezebox / Logitech Media Server frontend" single ((:keywords "multimedia") (:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/lms.el"))]) (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"))]) (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"))]) (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"))]) (lively . [(20171005 754) nil "interactively updating text" single ((:commit . "348675828c6a81bfa1ac311ca465aad813542c1b") (:authors ("Luke Gorrie" . "luke@bup.co.nz")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (live-py-mode . [(20181116 536) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "e823a86707a5821ad761fd27a9c9e90ac47d2319") (: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/"))]) (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"))]) (literate-starter-kit . [(20150730 1854) ((emacs (24 3))) "A literate starter kit to configure Emacs using Org-mode files." tar ((:commit . "6dce1d01781966c14558aa553cfc85008c06e115"))]) (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"))]) (literal-string . [(20170301 1530) ((markdown-mode (2 0)) (emacs (25))) "edit string literals in a dedicated buffer" single ((:commit . "2ca4fc08b8e19e6183b1f1db747bb0a4aa4f98eb") (:keywords "lisp" "tools" "docs") (:authors ("Joost Diepenmaat" . "joost@zeekat.nl")) (:maintainer "Joost Diepenmaat" . "joost@zeekat.nl") (:url . "https://github.com/joodie/literal-string-mode/"))]) (litecoin-ticker . [(20160612 11) ((json (1 2))) "litecoin price in modeline" single ((:commit . "3d8047c736e4ee0b8638953f8cc63eaefad34106") (:authors ("Zhe Lei")) (:maintainer "Zhe Lei"))]) (litable . [(20160922 1559) ((dash (2 6 0))) "dynamic evaluation replacement with emacs" single ((:commit . "90a2dca14a6da9b24fe332a65cff899ab4a90810") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) (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"))]) (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"))]) (list-unicode-display . [(20150219 901) ((cl-lib (0 5))) "Search for and list unicode characters by name" single ((:commit . "222c21c68ccc930b2843ea919c960de9be3b55c2") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.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-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"))]) (lispyville . [(20181111 1142) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "4d87b4532d549bed5fdac38ee137ad23451d0abf") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/lispyville"))]) (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"))]) (lispy . [(20181114 2049) ((emacs (24 1)) (ace-window (0 9 0)) (iedit (0 9 9)) (swiper (0 7 0)) (hydra (0 13 4)) (zoutline (0 1 0))) "vi-like Paredit" tar ((:commit . "4a9247144b77c904b45c21e94c4dbca91ef56c95"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 "))]) (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"))]) (link-hint . [(20180519 2130) ((avy (0 4 0)) (emacs (24 1)) (cl-lib (0 5))) "Use avy to open, copy, etc. visible links." single ((:commit . "23df5fa36ab182452be6b772475eab67b846dd92") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/link-hint.el"))]) (link . [(20140718 329) nil "Hypertext links in text buffers" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "interface" "hypermedia") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (linguistic . [(20181019 1542) nil "A package for basic linguistic analysis." tar ((:commit . "04ceb873ba41cd7cb4dc09e537a6dbb80cd12d65") (: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"))]) (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"))]) (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"))]) (line-up-words . [(20180219 1024) nil "Align words in an intelligent way" single ((:commit . "b6713d19dbc507a30e39f892f698a511f1cf3d1f") (:url . "https://github.com/janestreet/line-up-words"))]) (line-reminder . [(20180603 552) ((emacs (24 4)) (cl-lib (0 6))) "Remind current line status by current buffer." single ((:commit . "07543e7a2c09dee204e312e0318e7b230fb14ec7") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/line-reminder"))]) (light-soap-theme . [(20150607 1445) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "76a787bd40c6b567ae68ced7f5d9f9f10725e00d"))]) (lice . [(20170220 943) nil "License And Header Template" tar ((:commit . "4339929927c62bd636f89bb39ea999d18d269250") (: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"))]) (libmpdel . [(20181016 653) ((emacs (25 1))) "Communication with an MPD server" single ((:commit . "76711d7c32fe617647098f01d4fee9b3c1eaab46") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))]) (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"))]) (libgit . [(20181115 945) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "f1a3ada48eae85443169cfc3d870295a68b03577") (:keywords "git" "vc") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/libegit2"))]) (libelcouch . [(20180604 753) ((emacs (25 1)) (request (0 3 0))) "Communication with CouchDB" single ((:commit . "1faa877fd83c31f612eacb1d12645b2b4cfb57ed") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/elcouch/libelcouch/"))]) (lfe-mode . [(20170121 1254) nil "Lisp Flavoured Erlang mode" tar ((:commit . "ea62f924b7abbe2a0ff65e27be47acb7f452bc38"))]) (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"))]) (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>,"))]) (leuven-theme . [(20181113 1924) nil "Awesome Emacs color theme on white background" tar ((:commit . "945148b8903448815a39d18e72e6932385f8fd32") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (lentic . [(20161202 2152) ((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 . "678db9327209a1e6200c9272f4080595dc68f8a5") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) (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/"))]) (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"))]) (legalese . [(20150820 1724) nil "Add legalese to your program files" single ((:commit . "ec23e69d18329456beed9546a1d6c72f96db91cf") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/legalese"))]) (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"))]) (ledger-mode . [(20181107 1942) ((emacs (24 3))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "1f5c68fb59d81d2fffe49436ee99a8c291a4fe41"))]) (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"))]) (lean-mode . [(20180906 1645) ((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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (latexdiff . [(20180521 2232) ((emacs (24 4))) "Latexdiff integration in Emacs" single ((:commit . "024ee7a4fd235695dacd9f53594fef3d79bee88b") (: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"))]) (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"))]) (latex-preview-pane . [(20181008 1822) nil "Makes LaTeX editing less painful by providing a updatable preview pane" tar ((:commit . "5297668a89996b50b2b62f99cba01cc544dbed2e"))]) (latex-pretty-symbols . [(20151112 1044) nil "Display many latex symbols as their unicode counterparts" single ((: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-math-preview . [(20170522 2155) nil "preview LaTeX mathematical expressions." single ((:commit . "775887a89447dd19541b121161cc02e9799d0d3a") (: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-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"))]) (lastpass . [(20171208 1016) ((emacs (24 4)) (seq (1 9)) (cl-lib (0 5))) "LastPass command wrapper" single ((:commit . "a4529ce70b8187ed9ac4972997df152af58ef2eb") (:keywords "extensions" "processes" "lpass" "lastpass") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/emacs-lastpass"))]) (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"))]) (langtool . [(20180409 1016) ((cl-lib (0 3))) "Grammar check utility using LanguageTool" single ((:commit . "d93286722cff3fecf8641a4a6c3b0691f30362fe") (:keywords "docs") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-langtool"))]) (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/"))]) (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"))]) (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"))]) (labburn-theme . [(20170502 907) nil "A lab color space zenburn theme." single ((:commit . "e95334acd8a73fbe8e156f70e047014a87e92e66") (:keywords "theme" "zenburn") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/labburn-theme"))]) (lab-themes . [(20181015 1820) ((emacs (24))) "A custom theme carefully constructed in the LAB space" tar ((:commit . "dd1676e901c458cfcd7b9f331535150ae38a36f2") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/lab-theme"))]) (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"))]) (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"))]) (kurecolor . [(20180401 1221) ((emacs (24 1)) (s (1 0))) "color editing goodies for Emacs" single ((:commit . "a27153f6a01f38226920772dc4917b73166da5e6") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))]) (kubernetes-tramp . [(20171026 1622) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for kubernetes containers" single ((:commit . "9fa84df71f6e88bc23a756cdf2df393a35aec945") (: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"))]) (kubernetes-evil . [(20171123 219) ((kubernetes (0 12 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "2b5ce22b12bd8a569cb0a8019a395173e3a13523") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) (kubernetes . [(20180706 1220) ((emacs (25 1)) (dash (2 12 0)) (magit (2 8 0))) "Magit-like porcelain for Kubernetes." tar ((:commit . "2b5ce22b12bd8a569cb0a8019a395173e3a13523") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) (ksp-cfg-mode . [(20180609 547) ((cl-lib (0 5))) "major mode for editing KSP CFG files" single ((:commit . "fda64705f605fb8fccee53a5040fe4865ca17d44") (:keywords "data") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:url . "http://github.com/lashtear/ksp-cfg-mode"))]) (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"))]) (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/"))]) (kotlin-mode . [(20181109 1818) ((emacs (24 3))) "Major mode for kotlin" single ((:commit . "666187a086c042e70b65b13ea83b34a493440d95") (:keywords "languages") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com"))]) (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"))]) (korean-holidays . [(20170301 445) nil "Korean holidays for calendar." single ((:commit . "6e94c2e071069aee9ed12ebbfd9b0ad863b8c78e") (:keywords "calendar") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:url . "https://github.com/tttuuu888/korean-holidays"))]) (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"))]) (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"))]) (kodi-remote . [(20180820 715) ((request (0 2 0)) (let-alist (1 0 4)) (json (1 4)) (elnode (20140203 1506))) "Remote Control for Kodi" single ((:commit . "f74834871508b74650f360a63483f75f5455c501") (: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"))]) (know-your-http-well . [(20160208 2304) nil "Look up the meaning of HTTP headers, methods, relations, status codes" tar ((:commit . "3cc5ab6d2764ab7aacb1b6e026abaccbeb6c37f2"))]) (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"))]) (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"))]) (kiwix . [(20170927 820) ((emacs (24 4)) (cl-lib (0 5))) "Kiwix interface and support." single ((:commit . "86dbead6c0017beefd92a0b64a0bb5f5d12c5b16") (:keywords "kiwix" "wikipedia") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/kiwix.el"))]) (kivy-mode . [(20180702 2029) nil "Emacs major mode for editing Kivy files" single ((:commit . "083473b92a4612cb819266d309dc6ec1e4f1d524") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))]) (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"))]) (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"))]) (killer . [(20120808 1122) nil "kill and delete text" single ((:commit . "7bbb223f875402a7b2abee4baa5a54f10bd97212") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "http://github.com/tarsius/killer"))]) (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/"))]) (kill-or-bury-alive . [(20180101 618) ((emacs (24 4)) (cl-lib (0 5))) "Precise control over buffer killing in Emacs" single ((:commit . "0ba8f44efe60058ef66b10a059fd30489b42546f") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (keypress-multi-event . [(20180817 853) ((emacs (24 3))) "Perform different actions for the same keypress." single ((:commit . "ec94209e52e17427e513b0b24ac2de1ac90b3762") (: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"))]) (keymap-utils . [(20180318 2237) ((cl-lib (0 3))) "keymap utilities" single ((:commit . "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7") (:keywords "convenience" "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keymap-utils"))]) (keyfreq . [(20160516 1416) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "9c665c8c219d18866403897936427bb408e3d6b9") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))]) (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"))]) (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"))]) (keycast . [(20180318 2021) ((emacs (25 3))) "Show current command and its key in the mode line" single ((:commit . "46370b8a72922902921d3ed2fa194564568053dc") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keycast"))]) (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"))]) (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-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-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-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>"))]) (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/"))]) (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"))]) (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"))]) (kapacitor . [(20180910 442) ((emacs (25 1)) (magit (2 13 0)) (magit-popup (2 12 4))) "Main file for kapacitor-mode" single ((:commit . "b0e95f98b965f215be6ead14779949d5cf358ea5") (: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"))]) (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"))]) (kaolin-themes . [(20181110 1942) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "3bef66882a4dae923157b3dd5b529b15806a4966") (: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"))]) (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 "))]) (kanban . [(20170418 810) nil "Parse org-todo headlines to use org-tables as Kanban tables" single ((:keywords "outlines" "convenience") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(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"))]) (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"))]) (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"))]) (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"))]) (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-char . [(20180601 1348) nil "navigation by char" single ((:commit . "1e31a3c687f2b3c71bbfab881c6d75915534bb9e") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/jump-char"))]) (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"))]) (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"))]) (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-repl . [(20180923 1124) ((emacs (25))) "A minor mode for a Julia REPL" single ((:commit . "d8b94c6dbfa47fd51540b9d5b1bb0c2dfce3ebc2") (:keywords "languages") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:url . "https://github.com/tpapp/julia-repl"))]) (julia-mode . [(20180816 2117) nil "Major mode for editing Julia source code" single ((:commit . "ec01995f60486480cf2240bbd3b9a2ff3fa9e0f0") (:keywords "languages") (:url . "https://github.com/JuliaLang/julia"))]) (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"))]) (jsx-mode . [(20130908 1724) nil "major mode for JSX" single ((:commit . "47213429c09259126cddb5742482cfc444c70d50") (:authors ("Takeshi Arabiki (abicky)")) (:maintainer "Takeshi Arabiki (abicky)") (:url . "https://github.com/jsx/jsx-mode.el"))]) (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"))]) (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"))]) (jsonnet-mode . [(20180822 1619) ((emacs (24))) "Major mode for editing jsonnet files" single ((:commit . "0d68681d501fd57ebde5ed4fe100033a5d3aafa8") (:keywords "languages") (:authors ("Nick Lanham")) (:maintainer "Nick Lanham") (:url . "https://github.com/mgyucht/jsonnet-mode"))]) (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"))]) (json-rpc . [(20180104 1528) ((emacs (24 1)) (cl-lib (0 5))) "JSON-RPC library" single ((:commit . "0992ae71964055230aa5d4d934a1b93b5dfd7eb4") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-json-rpc"))]) (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-navigator . [(20171220 819) ((emacs (24 3)) (hierarchy (0 6 0))) "View and navigate JSON structures" single ((:commit . "7a1fec93500c46ccba4086d10115d8188607d0d0") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/json-navigator"))]) (json-mode . [(20180718 809) ((json-reformat (0 0 5)) (json-snatcher (1 0 0))) "Major mode for editing JSON files." single ((:commit . "ffc92b1eefc54963703b43be140f4c8c8ad348f7") (:authors ("Josh Johnston")) (:maintainer "Josh Johnston") (:url . "https://github.com/joshwnj/json-mode"))]) (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"))]) (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"))]) (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"))]) (js2-refactor . [(20180502 1042) ((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 . "79124b3274c43ad1f9ec6205fa362576552db02f"))]) (js2-mode . [(20180724 801) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "5165f4dc3805add174e48f0d64c5617d10ac3507") (: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-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-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"))]) (js-import . [(20180817 1056) ((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 . "c98e74a0b43d6ccb8764cf572cdde95ca27f5633") (: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-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-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-comint . [(20181106 2238) ((emacs (24 3))) "JavaScript interpreter in window." single ((:commit . "01be9d821269c513665d00416f6dac5c77808801") (: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-codemod . [(20171104 1154) ((emacs (24 4))) "Run js-codemod on current line or selected region" tar ((:commit . "014e56c846487d1eeaf8a91dd503b9d96eb1510a") (:keywords "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))]) (js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "29d245b4d126a5fc5153a4d8f17396be4165b4a6") (:keywords "languages") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))]) (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"))]) (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"))]) (jq-mode . [(20181103 1258) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "d6bbd83baf0746f22564f7ae92db44e06da6e08c") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (jinja2-mode . [(20141128 1007) nil "A major mode for jinja2" single ((:commit . "cfaa7bbe7bb290cc500440124ce89686f3e26f86") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))]) (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"))]) (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"))]) (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"))]) (jenkins . [(20170721 936) ((dash (2 12)) (emacs (24 3)) (json (1 4))) "Minimalistic Jenkins client for Emacs" single ((:commit . "1ec967973db685c9d84133ec6a5e06489ce06b62") (:keywords "jenkins" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) (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"))]) (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"))]) (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>"))]) (jedi-core . [(20181112 123) ((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 . "9d779960fef3d7ee29185f951f36f55353e281ca") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (jedi . [(20160426 456) ((emacs (24)) (jedi-core (0 2 2)) (auto-complete (1 4))) "a Python auto-completion for Emacs" single ((:commit . "9d779960fef3d7ee29185f951f36f55353e281ca") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (jdee . [(20180831 1500) ((emacs (24 3)) (flycheck (30)) (memoize (1 0 1)) (dash (2 13 0)) (s (1 12 0))) "Java Development Environment for Emacs" tar ((:commit . "8451b811b11d8cb428bafab31752e93180a3c724") (:keywords "java" "tools") (:authors ("Paul Kinnucan" . "pkinnucan@attbi.com")) (:maintainer "Paul Landes") (:url . "http://github.com/jdee-emacs/jdee"))]) (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"))]) (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"))]) (jazz-theme . [(20170411 1411) nil "A warm color theme for Emacs 24+." single ((:commit . "b1cb78a97cc4050f19d88a89e455c3e52d98240e") (:authors ("Roman Parykin" . "donderom@ymail.com")) (:maintainer "Roman Parykin" . "donderom@ymail.com") (:url . "https://github.com/donderom/jazz-theme"))]) (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/"))]) (javap-mode . [(20120223 2208) nil "Javap major mode" single ((:commit . "864c1130e204b2072e1d19cd027b6fce8ebe6629") (:url . "http://github.com/hiredman/javap-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (japanlaw . [(20160129 820) ((cl-lib (0 5))) "Japan law from law.e-gov.go.jp" single ((:commit . "c160e195cda0e02a709a2d39c62bc2a1ed39a09a") (:keywords "docs" "help") (:authors ("Kazushi NODA (http://www.ne.jp/asahi/alpha/kazu/)")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com"))]) (japanese-holidays . [(20160928 618) ((cl-lib (0 3))) "calendar functions for the Japanese calendar" single ((:commit . "0bccfac342d6ebda1c1a35c3babca0c800ff0c9b") (: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"))]) (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"))]) (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"))]) (jack-connect . [(20141207 1207) nil "Manage jack connections within Emacs" single ((:commit . "b00658dfe3d5d67431c18ffa693d5a3705067ba0") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) (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/"))]) (jabber . [(20180927 2325) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "fff33826f42e040dad7ef64ea312d85215d3b0a1"))]) (j-mode . [(20171224 1856) nil "Major mode for editing J programs" tar ((:commit . "e8725ac8af95498faabb2ca3ab3bd809a8f148e6") (:keywords "j" "languages") (:url . "http://github.com/zellio/j-mode"))]) (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"))]) (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"))]) (ivy-youtube . [(20181031 1208) ((request (0 2 0)) (ivy (0 8 0)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "57e773e29412dc87e9bf007b15ac8dbed149e7fc") (:keywords "youtube" "multimedia" "mpv" "vlc") (:authors ("Brunno dos Santos")) (:maintainer "Brunno dos Santos") (:url . "https://github.com/squiter/ivy-youtube"))]) (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-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 . "32580b4fd23ebf9ca7dde96704f7d53df6e253cd") (:keywords "convenience") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/ivy-yasnippet"))]) (ivy-xref . [(20180821 1211) ((emacs (25 1)) (ivy (0 10 0))) "Ivy interface for xref results" single ((:commit . "61864f82e554121be0a26ba0a1d8f48b669dd5f0") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/ivy-xref"))]) (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-todo . [(20171208 1609) ((ivy (0 8 0)) (emacs (24 3))) "Manage org-mode TODOs with ivy" single ((:commit . "964e347cea1a6097854d7113f5b07f6c5ef81df0") (:keywords "convenience") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/ivy-todo"))]) (ivy-rtags . [(20170523 454) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (ivy-rich . [(20181001 1147) ((emacs (24 4)) (ivy (0 8 0))) "More friendly display transformer for ivy." single ((:commit . "dee5d60f655c93f4f9f0e40507244112bd90dab5") (:keywords "ivy") (:authors ("Yevgnen Koh" . "wherejoystarts@gmail.com")) (:maintainer "Yevgnen Koh" . "wherejoystarts@gmail.com"))]) (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-prescient . [(20181022 2256) ((emacs (25 1)) (prescient (2 2 1)) (ivy (0 10 0))) "prescient.el + Ivy" single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (ivy-posframe . [(20180818 424) ((emacs (26 0)) (posframe (0 1 0)) (ivy (0 10 0))) "Using posframe to show Ivy" single ((:commit . "b92aaa1c4695e2c6012cdbc1469b89e8c0dac4c2") (:keywords "abbrev" "convenience" "matching" "ivy") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/ivy-posframe"))]) (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-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-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-mpdel . [(20180502 1848) ((emacs (25 1)) (ivy (0 10 0)) (libmpdel (0 5 0)) (mpdel (0 4 0))) "Ivy interface to navigate MPD" single ((:commit . "3f7d91cb10416b26a8e465d8c22e0faad4a722a8") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/ivy-mpdel"))]) (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-hydra . [(20180614 2200) ((emacs (24 1)) (ivy (0 9 0)) (hydra (0 13 4))) "Additional key bindings for Ivy" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (ivy-historian . [(20170716 420) ((emacs (24 4)) (historian (20170111)) (ivy (0 8 0)) (flx (0 6 1))) "Persistently store selected minibuffer candidates" single ((:commit . "6be869f585b854eb849303c452ab4f91dab04fa9") (:keywords "convenience" "ivy") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))]) (ivy-gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (ivy (0 8 0)) (gitlab (0 8))) "Ivy interface to Gitlab" single ((:commit . "68318aca3206d50701039c9aae39734ca29a49f9") (: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-feedwrangler . [(20180618 1522) nil "No description available." single ((:commit . "051eac49cae32b16fab2e06ff0115cd8fb5dc499"))]) (ivy-erlang-complete . [(20180716 444) ((async (1 9)) (counsel (0 8 0)) (ivy (0 8 0)) (erlang (19 2)) (emacs (24 4))) "Erlang context sensitive completion at point using ivy. It also support xref and eldoc." tar ((:commit . "6dad91e4951ed6fd8886bfee587144da18b57049"))]) (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-bibtex . [(20181030 2142) ((swiper (0 7 0)) (parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2))) "A bibliography manager based on Ivy" tar ((:commit . "af05ccb498d89550644cc01c80628053d4d2d73f") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de"))]) (ivy . [(20181111 1757) ((emacs (24 1))) "Incremental Vertical completYon" tar ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (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"))]) (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"))]) (iter2 . [(20181020 1502) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "3b418e05e93ea380baf905de14efda4c174f779c") (:keywords "elisp" "extensions") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/iter2"))]) (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/"))]) (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"))]) (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"))]) (isortify . [(20180612 1322) ((emacs (25)) (pythonic (0 1 0))) "(automatically) format python buffers using isort." single ((:commit . "442f12fa91695a43a4b542f7b82d6ac9b004729b") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/isortify"))]) (isolate . [(20181018 2235) ((emacs (25))) "Surrounding tool with flexible customizations." single ((:commit . "39ecc20ce57e338ece07fbd4f23b2a659c2365ca") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/isolate"))]) (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"))]) (isend-mode . [(20171118 1545) nil "Interactively send parts of an Emacs buffer to an interpreter" single ((:commit . "88d4576e70e5874115c305ab2767d181dfda5985") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/isend-mode.el"))]) (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"))]) (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"))]) (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"))]) (irony . [(20181030 834) ((cl-lib (0 5)) (json (1 2))) "C/C++ minor mode powered by libclang" tar ((:commit . "0a5ea0b9e7c28ec7d0685b108b8fb1f71f4365f4") (: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"))]) (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"))]) (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"))]) (iqa . [(20181024 2253) ((emacs (24 3))) "Init file(and directory) Quick Access." single ((:commit . "b45614f5204ed851de0abe93907aa94de5e37379") (:url . "https://github.com/a13/iqa.el"))]) (ipython-shell-send . [(20180910 446) ((emacs (24))) "Send code (including magics) to ipython shell" single ((:commit . "95dea09628c91f03df79befd7532d79afac1244e") (:keywords "tools" "processes") (:authors ("Jack Kamm" . "jackkamm@gmail.com")) (:maintainer "Jack Kamm" . "jackkamm@gmail.com") (:url . "https://github.com/jackkamm/ipython-shell-send-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"))]) (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"))]) (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"))]) (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"))]) (ioccur . [(20130822 548) nil "Incremental occur" single ((:commit . "4c0ef992a6fcd2aed62e3866d56650463108ab5a") (: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/ioccur"))]) (io-mode-inf . [(20140128 1934) nil "Interaction with an Io interpreter." single ((:commit . "6dd2bac3fd87484bb7d97e135b06c29d70b444b6") (:keywords "io" "languages") (:url . "https://github.com/slackorama/io-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (intero . [(20181109 1547) ((flycheck (0 25)) (company (0 8)) (emacs (24 4)) (haskell-mode (13 0))) "Complete development mode for Haskell" single ((:commit . "4be2a4a5de81bae504654a6b3a5d8a340be00e7e") (:keywords "haskell" "tools") (:authors ("Chris Done" . "chrisdone@fpcomplete.com")) (:maintainer "Chris Done" . "chrisdone@fpcomplete.com") (:url . "https://github.com/commercialhaskell/intero"))]) (interleave . [(20171004 624) nil "Interleaving text books since 2015" single ((:commit . "87549df30cbc681baf86b238bd14c7cf7ec11fc4") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/interleave"))]) (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"))]) (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"))]) (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"))]) (instapaper . [(20130104 1421) nil "add URLs to instapaper from emacs" single ((:authors ("Jason F. McBrayer" . "jmcbray@carcosa.net")) (:maintainer "Jason F. McBrayer" . "jmcbray@carcosa.net") (:url . "htts://bitbucket.org/jfm/emacs-instapaper"))]) (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"))]) (insert-shebang . [(20180403 1214) nil "Insert shebang line automatically." single ((:commit . "7bfea92ba1dae9d13d442e2f84f9fb6c05a0a9bd") (:keywords "shebang" "tool" "convenience") (:authors ("Sachin Patil" . "iclcoolster@gmail.com")) (:maintainer "Sachin Patil" . "iclcoolster@gmail.com") (:url . "http://github.com/psachin/insert-shebang"))]) (inlineR . [(20120520 1432) nil "insert Tag for inline image of R graphics" single ((:commit . "29357186beca825e3d0451b700ec09b9ed65e37b") (:keywords "convenience" "iimage.el" "cacoo.el") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/inlineR.el"))]) (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"))]) (inline-crypt . [(20170824 900) nil "Simple inline encryption via openssl" tar ((:commit . "281385b383f850fd2e895926b1cef804dd052633"))]) (inkpot-theme . [(20181026 509) nil "port of vim's inkpot theme" single ((:commit . "52fcb8ffc32a242a86956643ce9b8e8f726947aa") (: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"))]) (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"))]) (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"))]) (init-open-recentf . [(20161206 1445) ((emacs (24 4))) "Open recentf immediately after Emacs is started" single ((:commit . "7d8fb124806291f7f6ef2ec3a664ea25899b6d68") (: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"))]) (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/"))]) (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"))]) (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/"))]) (info-colors . [(20180205 1150) ((emacs (24)) (cl-lib (0 5))) "Extra colors for Info-mode" single ((:commit . "a8ebb7b8efa314c08ea8110d8b1876afb562bb45") (: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-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-beamer . [(20180604 2122) ((emacs (24 4))) "Utilities for working with info-beamer" single ((:commit . "af443795af20481af91ac54a489b20f6a9d90b0a") (:keywords "tools" "processes" "comm") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/info-beamer.el"))]) (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"))]) (inferior-spim . [(20160826 1346) nil "inferior mode for spim." single ((:commit . "fb9aa091f6058bf320793f1a608c1ed7322c1f47") (:keywords "spim" "inferior" "mips") (:authors ("hiddenlotus" . "kaihaosw@gmail.com")) (:maintainer "hiddenlotus" . "kaihaosw@gmail.com"))]) (inf-ruby . [(20180521 1348) nil "Run a Ruby process in a buffer" single ((:commit . "49d59a7897f594e3be74ecbddae83719f9a6c0f0") (: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"))]) (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-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-clojure . [(20180402 2103) ((emacs (24 4)) (clojure-mode (5 6))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "59868ff0433f7631c362ce25879bd4271d350ebc") (:keywords "processes" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))]) (indy . [(20150610 1706) nil "A minor mode and EDSL to manage your mode's indentation rules." single ((:commit . "4604867d8111f0e186a5351e68e054a77cb14abf") (:keywords "convenience" "matching" "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))]) (indium . [(20181015 908) ((emacs (25)) (seq (2 16)) (js2-mode (20140114)) (js2-refactor (0 9 0)) (company (0 9 0))) "JavaScript Awesome Development Environment" tar ((:commit . "042a47aa63a1156f26c332f04f87d354877106ed") (:keywords "tools" "javascript") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/indium"))]) (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"))]) (indent-tools . [(20180124 1208) ((s (0)) (hydra (0)) (yafolding (0))) "Indent, navigate (and more) by blocks of indentation: yaml, python etc." tar ((:commit . "b650b2ca82ccd9ccb4f3142afa0da4737ddd364f") (:keywords "indentation" "movements" "navigation" "kill" "fold" "yaml" "python") (:authors ("vindarel" . "ehvince@mailz.org")) (:maintainer "vindarel" . "ehvince@mailz.org") (:url . "https://gitlab.com/emacs-stuff/indent-tools/"))]) (indent-info . [(20180423 1912) nil "show indentation information in status bar" single ((:commit . "d218b4cb3726476caee91db6f6c920856ab992bc") (:keywords "convenience" "tools") (:authors ("Terje Larsen" . "terlar@gmail.com")) (:maintainer "Terje Larsen" . "terlar@gmail.com") (:url . "https://github.com/terlar/indent-info.el"))]) (indent-guide . [(20170221 1127) nil "show vertical lines to guide indentation" single ((:commit . "d64f43011c72068e008621e620009ec592b35913") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "bbc131278f8cd62f3e71b6f4a86b0c91792a3524") (: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"))]) (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"))]) (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/"))]) (impatient-mode . [(20181002 1231) ((cl-lib (0 3)) (simple-httpd (1 5 0)) (htmlize (1 40))) "Serve buffers live over HTTP" tar ((:commit . "96f6a05f8de74e19d570217fe83f0734623ddb0c") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/netguy204/imp.el"))]) (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"))]) (immortal-scratch . [(20160517 2118) nil "respawn the scratch buffer when it's killed" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (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"))]) (imenu-list . [(20180601 1402) ((cl-lib (0 5))) "Show imenu entries in a separate buffer" single ((:commit . "04f0632f7b8c81be8747617768c57b66e5d60994") (:authors ("Bar Magal (2015)")) (:maintainer "Bar Magal (2015)") (:url . "https://github.com/bmag/imenu-list"))]) (imenu-anywhere . [(20170805 1855) ((cl-lib (0 5))) "ido/ivy/helm imenu across same mode/project/etc buffers" single ((:commit . "fc7f0fd2f19e5ebee70156a99bf87393123893e3") (: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"))]) (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"))]) (imake . [(20180318 2259) ((emacs (24 3))) "Simple, opinionated make target runner" single ((:commit . "7df5fb9684a0288313ef5f64594078d477105959") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imake"))]) (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"))]) (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"))]) (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+ . [(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"))]) (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"))]) (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"))]) (iflipb . [(20171113 2044) nil "interactively flip between recently visited buffers" single ((:commit . "a5ad1fbd1173cff5228dab265515c92c0778f86a") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))]) (ietf-docs . [(20150928 957) nil "Fetch, Cache and Load IETF documents" single ((:commit . "ede30d6d26044069e1731fd20c0ab2324552c0b4") (:keywords "ietf" "rfc") (:authors ("Christian E. Hopps" . "chopps@gmail.com")) (:maintainer "Christian E. Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/ietf-docs"))]) (iedit . [(20181114 950) nil "Edit multiple regions in the same way simultaneously." tar ((:commit . "35505ad860be27feaee71e8caf646706bf8ee31d") (:keywords "occurrence" "region" "simultaneous" "refactoring") (:authors ("Victor Ren" . "victorhge@gmail.com")) (:maintainer "Victor Ren" . "victorhge@gmail.com") (:url . "https://www.emacswiki.org/emacs/Iedit"))]) (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"))]) (idris-mode . [(20180922 2051) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "0e3508aca4d1f46f8c062f84c386d9e5533a21c3") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))]) (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"))]) (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"))]) (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-springboard . [(20170106 755) nil "Temporarily change default-directory for one command" single ((:commit . "263a8cd4582c81bfc29d7db37d5267e2488b148c") (:keywords "ido") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) (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-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-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-occur . [(20160820 1440) ((dash (2 13 0))) "Yet another `occur' with `ido'." single ((:commit . "522af5d55b3d4cd6885f3b4100913566c202cec4") (:keywords "inner" "buffer" "search") (:authors ("Danil" . "danil@kutkevich.org")) (:maintainer "Danil" . "danil@kutkevich.org") (:url . "https://github.com/danil/ido-occur"))]) (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-migemo . [(20150921 2244) ((migemo (1 9 1))) "Migemo plug-in for Ido" single ((:commit . "e71114a92dd69cb46abf3fb71a09ce27506fcf77") (:keywords "files") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ido-migemo.el"))]) (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-hacks . [(20150331 1909) nil "Put more IDO in your IDO" single ((:commit . "b7e7514a0e011e4d767d1f5755c5eae9d85f83dc") (:keywords "convenience") (:authors ("Andreas Politz")) (:maintainer "Scott Jaderholm" . "jaderholm@gmail.com"))]) (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-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-flex-with-migemo . [(20180817 1440) ((flx-ido (0 6 1)) (migemo (1 9 1)) (emacs (24 4))) "use ido with flex and migemo" single ((:commit . "acced7c19f3ad505cc27cd95ab05593b8194d2e5") (:keywords "matching") (:authors ("ROCKTAKEY " . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY " . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/ido-flex-with-migemo"))]) (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-describe-bindings . [(20161023 1102) ((dash (2 13 0))) "Yet another `describe-bindings' with `ido'." single ((:commit . "a142ff1c33df23ed9665497d0dcae2943b3c706a") (: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-completing-read+ . [(20180628 244) ((emacs (24 4)) (cl-lib (0 5)) (s (0 1)) (memoize (1 1))) "A completing-read-function using ido" single ((:commit . "51d9d4e667aaf2833e94614e5eeffdbbcab4ee98") (:keywords "ido" "completion" "convenience") (:authors ("Ryan Thompson")) (:maintainer "Ryan Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-completing-read-plus"))]) (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-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-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"))]) (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/"))]) (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-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"))]) (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/"))]) (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"))]) (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>"))]) (ibuffer-vc . [(20181025 324) ((cl-lib (0 2))) "Group ibuffer's list by VC project, or show VC status" single ((:commit . "1a2dcdbaf1d314620b0512ce32e27dbcc6916e73") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-vc"))]) (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-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-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-projectile . [(20180325 325) ((projectile (0 11 0))) "Group ibuffer's list by projectile root" single ((:commit . "1e89bfa7cae0629d29f24af3d81774b88b3cede0") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-projectile"))]) (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"))]) (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"))]) (ialign . [(20181002 1655) ((emacs (24 4))) "visual align-regexp" single ((:commit . "2504a9e8c6c5ce6b470541955154af31a8f9d3ca") (: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"))]) (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"))]) (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"))]) (hydra . [(20181110 1740) ((cl-lib (0 5))) "Make bindings that stick around." tar ((:commit . "5c5b9ca3262594c92f8f73c98db5ed0f1efd0319") (:keywords "bindings") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/hydra"))]) (hyde . [(20160508 308) nil "Major mode to help create and manage Jekyll blogs" tar ((:commit . "a8cd6ed00ecd8d7de0ded2f4867015b412b15b76"))]) (hydandata-light-theme . [(20160816 418) nil "A light color theme that is easy on your eyes" single ((:commit . "0fbc91678ef65e1f65d7ec6792ff0b2f104d16a9") (:keywords "color-theme" "theme") (:authors ("David Chkhikvadze" . "david.chk@outlook.com")) (:maintainer "David Chkhikvadze" . "david.chk@outlook.com"))]) (hyai . [(20170301 1447) ((cl-lib (0 5)) (emacs (24))) "Haskell Yet Another Indentation" single ((:commit . "e1cd115c19225bbe0e1183d9a8c289eadaeb37b6") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/hyai"))]) (hy-mode . [(20180702 1940) ((dash (2 13 0)) (dash-functional (1 2 0)) (s (1 11 0)) (emacs (24))) "Major mode for Hylang" single ((:commit . "71a12a9208c4b87859bcbb6978e7915dd518e8dd") (:keywords "languages" "lisp" "python") (:url . "http://github.com/hylang/hy-mode"))]) (hungry-delete . [(20170412 102) nil "hungry delete minor mode" single ((:commit . "0434458d3f6b2b585f332271feaa054bf4ec96d7") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/hungry-delete"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(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"))]) (htmlize . [(20180923 1829) nil "Convert buffer text and decorations to HTML." single ((:commit . "8db0aa6aab77475a732b7363f0d57bd3933c18fd") (:keywords "hypermedia" "extensions") (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:maintainer "Hrvoje Niksic" . "hniksic@gmail.com"))]) (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"))]) (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"))]) (html-to-hiccup . [(20161028 1401) ((emacs (25 1)) (dash (2 13 0)) (s (1 10 0))) "Convert HTML to Hiccup syntax" single ((:commit . "99217a5058626d253ed8ada51a7642071fe54ba5") (: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-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-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"))]) (ht . [(20180129 2234) ((dash (2 12 0))) "The missing hash table library for Emacs" single ((:commit . "5a665d00dc8fda77bad2a43277d8809c23e46ab8") (:keywords "hash table" "hash map" "hash") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (howm . [(20180929 1214) ((cl-lib (0 5))) "Wiki-like note-taking tool" tar ((:commit . "f707233a99f425d67ddb86b197edeaa3f03a280d") (:authors ("HIRAOKA Kazuyuki" . "khi@users.osdn.me")) (:maintainer "HIRAOKA Kazuyuki" . "khi@users.osdn.me") (:url . "https://howm.osdn.jp"))]) (howdoi . [(20150204 43) nil "Instant coding answers via Emacs." tar ((:commit . "5fbf7069ee160c597a328e5ce5fb32920e1ca88f"))]) (how-many-lines-in-project . [(20140807 442) nil "Calculate how many lines are there in your project." single ((:commit . "8a37ef885d004fe2ce231bfe05ed4867c6192d9b") (:keywords "project" "convenience") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com"))]) (hound . [(20170627 1959) ((request (0 2 0)) (cl-lib (0 5))) "Display hound search results in a compilation window" single ((:commit . "0c5a250ef82870dca737a429b6e9b9db93874ed3") (:authors ("Ryan Young")) (:maintainer "Ryan Young"))]) (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"))]) (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"))]) (honcho . [(20180707 24) ((emacs (25 1)) (sudo-edit (0 1))) "Run and manage long-running services" single ((:commit . "f6a89a27e255b3ecb1f0b13058933558b1f0c6fb") (: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"))]) (homebrew-mode . [(20160615 1320) ((emacs (24 4)) (inf-ruby (2 4 0)) (dash (1 2 0))) "minor mode for editing Homebrew formulae" single ((:commit . "d422307aee2f897d1a92e3b959c3214bc54cbe38") (: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"))]) (home-end . [(20180817 855) ((emacs (24 3)) (keypress-multi-event (1 0))) "Smart multi-purpose home / end keys" single ((:commit . "359201766f41307958b6963f2a6b8cd8c7e64158") (: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"))]) (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"))]) (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"))]) (hoa-mode . [(20151203 1650) nil "Major mode for the Hanoi Omega Automata format" single ((:commit . "3c608e15b655d2375c5f81323ac561c7848dc029") (: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"))]) (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"))]) (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/"))]) (hlint-refactor . [(20170818 448) nil "Apply HLint suggestions" single ((:commit . "92c69aa01c65968e86c15db087bb1ea785e4736c") (:keywords "haskell" "refactor") (:url . "https://github.com/mpickering/hlint-refactor-mode"))]) (hledger-mode . [(20180821 1433) ((emacs (24 4)) (popup (0 5 3)) (async (1 9)) (htmlize (1 47))) "A mode for writing journal entries for hledger." tar ((:commit . "af51c0a7a0952c244e5c6bb818ab4ce3b9806609") (:keywords "data") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:url . "https://github.com/narendraj9/hledger-mode.git"))]) (hl-todo . [(20181031 1909) nil "highlight TODO and similar keywords" single ((:commit . "24b9925b1b2c7ad6bf7b66800395f74abf035c5f") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/hl-todo"))]) (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-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-anything . [(20160422 1708) ((emacs (24 3))) "Highlight symbols, selections, enclosing parens and more." tar ((:commit . "8696bc55a8cba408f0fc83a907a9ec529d79e558") (:authors ("boyw165")) (:maintainer "boyw165"))]) (hiwin . [(20150825 827) nil "Visible active window mode." single ((:commit . "6ee8ed051405653bd9b7332d7e9fbb591d954051") (:keywords "faces" "editing" "emulating") (:authors ("k.sugita")) (:maintainer "k.sugita"))]) (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"))]) (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"))]) (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"))]) (historian . [(20180619 1923) ((emacs (24 4))) "Persistently store selected minibuffer candidates" single ((:commit . "6be869f585b854eb849303c452ab4f91dab04fa9") (:keywords "convenience") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))]) (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"))]) (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-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"))]) (hindent . [(20180518 902) ((cl-lib (0 5))) "Indent haskell code using the \"hindent\" program" single ((:commit . "ffe03701050d159387c06103ecaf8147716d5cb8") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/hindent"))]) (himp . [(20181002 1654) ((emacs (24 3)) (vimish-fold (0 1 0))) "Automatically hide imports/documentation" single ((:commit . "3975c76cc9e7c6bfe7fe04ad95d8659cfed46b58") (:keywords "convenience" "tools") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "http://github.com/mkcms/himp/"))]) (highlight2clipboard . [(20151020 1840) ((htmlize (1 47))) "Copy text to clipboard with highlighting." tar ((:commit . "6ce58a060d9c5843ccb8c79ec2bba7858c68ac15") (:keywords "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren"))]) (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"))]) (highlight-thing . [(20170919 1404) nil "Minimalistic minor mode to highlight current thing under point." single ((:commit . "4eadd178175772fb04ae50e1199d797a6375ad4d") (: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-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-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-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-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-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-operators . [(20170213 2220) nil "a face for operators in programming modes" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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-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-indentation . [(20171218 937) nil "Minor modes for highlighting indentation" single ((:commit . "35e2c1d4f8f368685893128f77f90454cb9c2708") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:url . "https://github.com/antonj/Highlight-Indentation-for-Emacs"))]) (highlight-indent-guides . [(20181106 1821) ((emacs (24))) "Minor mode to highlight indentation" single ((:commit . "fc99ee753ac9d53ce91fb032f97430a551e04466") (:authors ("DarthFennec" . "darthfennec@derpymail.org")) (:maintainer "DarthFennec" . "darthfennec@derpymail.org") (:url . "https://github.com/DarthFennec/highlight-indent-guides"))]) (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-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-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-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-context-line . [(20170319 2142) nil "Improve orientation when scrolling" single ((:commit . "716e10a0c7b703b5f1d9c6ca1481524a4d06b7b8") (: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-blocks . [(20151201 1615) ((emacs (24))) "Highlight the blocks point is in" single ((:commit . "9c4240a5d16008db430d1a81c76dad474d3deb0c") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-blocks"))]) (highlight . [(20181002 1151) nil "Highlighting commands." single ((:commit . "ea733e17884aeae19172407e20559fc693fdd3a7") (: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"))]) (hierarchy . [(20171221 1151) ((emacs (25 1))) "Library to create and display hierarchy structures" single ((:commit . "06f21d3fc16c44c1fa45dc9c91d10100b4db9355") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/hierarchy"))]) (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>"))]) (hide-mode-line . [(20180302 1910) ((emacs (24 4))) "minor mode that hides/masks your modeline" single ((:commit . "86b9057391edad75467261c2e579603567e608f9") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (hexo . [(20180815 219) ((emacs (24 3))) "Major mode & tools for Hexo" single ((:commit . "6bca18f911f6b2cd5c055ed73ddec98c385f9f86") (:keywords "tools" "hexo") (:authors ("Ono Hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko (kuanyui)" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/hexo.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"))]) (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"))]) (hemisu-theme . [(20130508 1844) nil "Hemisu for Emacs." tar ((:commit . "5c206561aa2c844ecdf3e3b672c3235e559ddd7f") (:authors ("Andrzej Sliwa")) (:maintainer "Andrzej Sliwa") (:url . "http://github/anrzejsliwa/django-theme"))]) (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"))]) (helpful . [(20181031 2008) ((emacs (25 1)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 11 0)) (f (0 20 0)) (elisp-refs (1 2)) (shut-up (0 3))) "a better *help* buffer" single ((:commit . "039345ef60b4722d050c94ab1978540137df35f9") (:keywords "help" "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/helpful"))]) (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"))]) (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-youtube . [(20161114 248) ((request (0 2 0)) (helm (2 3 1)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "202c27fc3b54927611e9d9c764465e1b42ef7e41") (:keywords "youtube" "multimedia") (:authors ("Maximilian Roquemore" . "maximus12793@gmail.com")) (:maintainer "Maximilian Roquemore" . "maximus12793@gmail.com") (:url . "https://github.com/maximus12793/helm-youtube"))]) (helm-xref . [(20180528 1516) ((emacs (25 1)) (helm (1 9 4))) "Helm interface for xref results" single ((:commit . "6f7e8eeec5cc4db64a76ba242c0f2f61e7ee1e46") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/helm-xref"))]) (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-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-w3m . [(20181029 726) ((helm (1 5)) (w3m (0 0)) (cl-lib (0 5)) (emacs (24 1))) "W3m bookmark - helm interface." single ((:commit . "c15d926631198d6d759ec8881837bcca5a64963b"))]) (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-unicode . [(20180608 1407) ((helm (1 9 8)) (emacs (24 4))) "Helm command for unicode characters." single ((:commit . "fbeb0c5e741a6f462520884b744d43a9acbe1d34"))]) (helm-tramp . [(20180829 709) ((emacs (24 3)) (helm (2 0))) "Tramp helm interface for ssh, docker, vagrant" single ((:commit . "523a902fe69be5f770f79f815630e7e5d4766e9d") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-tramp"))]) (helm-themes . [(20160918 545) ((helm-core (2 0)) (emacs (24 4))) "Color theme selection with helm interface" single ((:commit . "1160af42590b0d845a55e65e1e782d9e4027fd6e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-themes"))]) (helm-tail . [(20180624 903) ((emacs (25 1)) (helm (2 7 0))) "Read recent output from various sources" single ((:commit . "cdbbd9bfb121534a4c089df84325cf776ba2c578") (: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-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-system-packages . [(20181012 655) ((emacs (24 4)) (helm (2 8 7)) (seq (1 8))) "Helm UI wrapper for system package managers." tar ((:commit . "d25e88c6791fb6166aa3f69693670750e56caa5b") (: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-swoop . [(20180215 1154) ((helm (1 0)) (emacs (24 3))) "Efficiently hopping squeezed lines powered by helm interface" single ((:commit . "c66336b8245ddc51c4206f19c119f1081920985c") (:keywords "helm" "swoop" "inner" "buffer" "search") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/helm-swoop"))]) (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-spotify-plus . [(20180107 1138) ((emacs (24 4)) (helm (2 0 0)) (multi (2 0 1))) "Control Spotify search and select music with Helm." single ((:commit . "895f241f1259891d5c89cd42023f119f9fa121d6") (: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>"))]) (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-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-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-slime . [(20181110 934) ((emacs (24)) (helm-core (1 9 8)) (slime (2 18)) (cl-lib (0 5))) "helm-sources and some utilities for SLIME." single ((:commit . "070d024147e1632b7358711b7f8fb77a28dcf265") (: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-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-selected . [(20171223 210) ((emacs (24 4)) (helm (2 8 6)) (selected (1 1))) "helm extension for selected.el" single ((:commit . "6743ede584571319e4c29204197e9ff6b7ee97cf") (: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-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-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-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-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-rtags . [(20170813 411) ((helm (2 0)) (rtags (2 10))) "A front-end for rtags" single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (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-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-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-rg . [(20180629 920) ((emacs (25)) (cl-lib (0 5)) (dash (2 13 0)) (helm (2 8 8))) "a helm interface to ripgrep" single ((:commit . "d356a2abb6359d709487ed49414e151627287577") (: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-recoll . [(20160731 921) ((helm (1 9 9))) "helm interface for the recoll desktop search tool." single ((:commit . "cc4c4fa9c8f4f99383647baa8512b60523dc8b36") (: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-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-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-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-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-qiita . [(20180301 1435) ((helm (2 8 2))) "Qiita with helm interface" single ((:commit . "3ccb85640bf54491ed3c3c8110d454ae181650dc") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-qiita"))]) (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-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-pt . [(20160214 2342) ((helm (1 5 6))) "Helm interface to the platinum searcher" tar ((:commit . "8acc52911dad1ed0c3975f134a468762afe0b76b") (:keywords "helm" "platinum searcher"))]) (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-projectile . [(20180815 1514) ((helm (1 9 9)) (projectile (0 14 0)) (cl-lib (0 3))) "Helm integration for Projectile" single ((:commit . "8a2dbc973548fac89356c11d70f7f474ea1367a5") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/helm-projectile"))]) (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-proc . [(20161006 305) ((helm (1 6 0))) "Helm interface for managing system processes" tar ((:commit . "576d31c2d74ba3897d56e2acd2b0993f52c2547c"))]) (helm-posframe . [(20180610 1748) ((emacs (26 0)) (posframe (0 1 0)) (helm (0 1))) "Using posframe to show helm window" single ((:commit . "d28f96ea92ee9393658901bb552723db10f40dc3") (:keywords "abbrev" "convenience" "matching" "helm") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/helm-posframe"))]) (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-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-perldoc . [(20160918 556) ((helm-core (2 0)) (deferred (0 3 1)) (emacs (24 4))) "perldoc with helm interface" tar ((:commit . "1979f9f67814c11ec9498502237c89a5e1153100") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-perldoc"))]) (helm-pass . [(20180607 2348) ((emacs (25)) (helm (0)) (password-store (0)) (auth-source-pass (4 0 0))) "helm interface of pass, the standard Unix password manager" single ((:commit . "fdff8f8f2e2b8a61caed7b6c171624700dbe1346") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://github.com/jabranham/helm-pass"))]) (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-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-org-rifle . [(20180923 2209) ((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 . "e272fc43b964ef06a2673afd7c341dba87ae9ac4") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/helm-org-rifle"))]) (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-notmuch . [(20180730 1722) ((helm (1 9 3)) (notmuch (0 21))) "Search emails with Notmuch and Helm" single ((:commit . "9988eb0f787c82c779f2417b5613b9142a5b1c9b") (:keywords "mail") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/helm-notmuch"))]) (helm-nixos-options . [(20151013 2309) ((nixos-options (0 0 1)) (helm (1 5 6))) "Helm Interface for nixos-options" single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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-navi . [(20170402 1452) ((emacs (24 4)) (helm (1 9 4)) (navi-mode (2 0)) (s (1 10 0))) "Helm for navi-mode" single ((:commit . "2256591174ff79f889450fdc10822316819d6476") (:keywords "navigation" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/emacs-helm/helm-navi"))]) (helm-mu . [(20180513 921) ((helm (1 5 5))) "Helm sources for searching emails and contacts" single ((:commit . "77e6fea24e01481418738421dbcfe28ef1bd63cf") (: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-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-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-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-make . [(20181107 2126) ((helm (1 5 3)) (projectile (0 11 0))) "Select a Makefile target with helm" single ((:commit . "f86c3973af760df6d7d0ecc61c3d9d14e1d93e2b") (:keywords "makefile") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/helm-make"))]) (helm-ls-svn . [(20150717 739) ((emacs (24 1)) (helm (1 7 0)) (cl-lib (0 5))) "helm extension to list svn files" single ((:commit . "4d4dc1a272f27fba5fdd7cc47e5d309b53c63ae3") (: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-ls-hg . [(20150909 543) ((helm (1 7 8))) "List hg files in hg project." single ((:commit . "61b91a22fcfb62d0fc56e361ec01ce96973c7165"))]) (helm-ls-git . [(20180711 923) ((helm (1 7 8))) "list git files." single ((:commit . "e38cee59c42fbf16b6de239a537d27af58473394"))]) (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-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-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-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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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-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-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-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-js-codemod . [(20171106 1044) ((emacs (24 4)) (helm-core (1 9 8)) (js-codemod (1 0 0))) "A helm interface for running js-codemods" single ((:commit . "18503d94e64418e8ea5c5854f197ae9f3009cdbf") (:keywords "helm" "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))]) (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-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-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-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-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-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-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-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-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-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-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-hatena-bookmark . [(20180804 546) ((helm (2 8 2))) "Hatena::Bookmark with helm interface" single ((:commit . "274e18182fe20c11e96009387a8e38e8cd2a1d7e") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-hatena-bookmark"))]) (helm-gtags . [(20170116 529) ((emacs (24 4)) (helm (2 0))) "GNU GLOBAL helm interface" single ((:commit . "108e93d0d099ebb7b98847388f368311cf177033") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-gtags"))]) (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-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-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-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-gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (helm (1 0)) (gitlab (0 8 0))) "Helm interface to Gitlab" single ((:commit . "68318aca3206d50701039c9aae39734ca29a49f9") (: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-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-github-stars . [(20180718 111) ((helm (1 6 8)) (emacs (24 4))) "Helm integration for your starred repositories on github" single ((:commit . "809cf88e2984b121348b1046e1d3890f1fd580b4") (: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-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-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 . [(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-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-ghq . [(20161015 817) ((helm (2 2 0))) "ghq with helm interface" single ((:commit . "49481685adbb25b3f766aabfdb7472becc673a94") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-ghq"))]) (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-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-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-frame . [(20170515 1950) ((emacs (24 4))) "open helm buffers in a dedicated frame" single ((:commit . "389e6461a423d649b7062ba99a2234bef7770059") (:keywords "lisp" "helm" "popup" "frame") (:authors ("chee" . "chee@snake.dog")) (:maintainer "chee" . "chee@snake.dog"))]) (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-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-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-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-firefox . [(20161202 1317) ((helm (1 5)) (cl-lib (0 5)) (emacs (24 1))) "Firefox bookmarks" single ((:commit . "0ad34b7b5abc485a86cae6920c14de861cbeb085") (:url . "https://github.com/emacs-helm/helm-firefox"))]) (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-exwm . [(20180827 837) ((emacs (25 2)) (helm (2 8 5)) (exwm (0 15))) "Helm for EXWM buffers" single ((:commit . "e21c6ffabadd2fe8d6c7805b6027cc59a6f914e9") (:keywords "helm" "exwm") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-exwm"))]) (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-eww . [(20180827 836) ((emacs (24 4)) (helm (2 8 6)) (seq (1 8))) "Helm UI wrapper for EWW." single ((:commit . "2bb7b644f953c45b5dd03298b556312440618026") (:keywords "helm" "packages") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-eww"))]) (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-emms . [(20180406 528) ((helm (1 5)) (emms (0 0)) (cl-lib (0 5)) (emacs (24 1))) "Emms for Helm." single ((:commit . "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec") (:url . "https://github.com/emacs-helm/helm-emms"))]) (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-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-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-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-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-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-dictionary . [(20160817 2033) ((helm (1 5 5))) "Helm source for looking up dictionaries" single ((:commit . "805ce850d4cbe811227d9c9b16cc51f652198f3f") (: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-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-descbinds . [(20180429 1456) ((helm (1 5))) "A convenient `describe-bindings' with `helm'" single ((:commit . "033be73f21778633813264ce1634a6e1ad873d8e") (: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-dash . [(20180503 918) ((helm (1 9 2)) (cl-lib (0 5))) "Offline documentation browser for +150 APIs using Dash docsets." single ((:commit . "0ac2db529577fa63f2ed32310062873c585b91de") (:keywords "docs") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "http://github.com/areina/helm-dash"))]) (helm-ctest . [(20180821 1005) ((s (1 9 0)) (dash (2 11 0)) (helm-core (1 7 4))) "Run ctest from within emacs" single ((:commit . "0c73689692a290f56080e95325c15362e90d529b") (:keywords "helm" "ctest") (:authors ("Dan LaManna" . "me@danlamanna.com")) (:maintainer "Dan LaManna" . "me@danlamanna.com"))]) (helm-css-scss . [(20140627 25) ((helm (1 0)) (emacs (24))) "CSS/SCSS/LESS Selectors with helm interface" single ((:commit . "ab8348aa98e0daa2f1b771e35bdb06bfacbe5016") (:keywords "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-cscope . [(20170326 722) ((xcscope (1 0)) (helm (1 6 7)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface for xcscope.el." single ((:commit . "3cc7259ab4989f9f7ca039e703cdac14b907530a") (:keywords "cscope" "helm") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:url . "https://github.com/alpha22jp/helm-cscope.el"))]) (helm-core . [(20181116 528) ((emacs (24 4)) (async (1 9 3))) "Development files for Helm" tar ((:commit . "5d60794e2bdea77e6acb1bdd9856de546688114e") (:url . "https://emacs-helm.github.io/helm/"))]) (helm-company . [(20180828 1612) ((helm (1 5 9)) (company (0 6 13))) "Helm interface for company-mode" single ((:commit . "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f") (: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-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-codesearch . [(20180204 433) ((s (1 10 0)) (dash (2 12 0)) (helm (1 7 7)) (cl-lib (0 5))) "helm interface for codesearch" single ((:commit . "87a68168b7c1490769305db0df60035e47799a75") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))]) (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-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-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-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-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-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-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-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-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-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-bundle-show . [(20151221 1230) ((helm (1 8 0))) "bundle show with helm interface" single ((:commit . "850fecb36f609f1dfd5d20ca0170c9a6b7f90ab9") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-bundle-show"))]) (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-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-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-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-bibtex . [(20181030 2142) ((helm (1 5 5)) (parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2))) "A bibliography manager based on Helm" tar ((:commit . "af05ccb498d89550644cc01c80628053d4d2d73f") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de"))]) (helm-bbdb . [(20180505 1508) ((helm (1 5)) (bbdb (3 1 2))) "Helm interface for bbdb" single ((:commit . "db286b0ee0ea18142f7d005e465832bb755bb0cb") (:url . "https://github.com/emacs-helm/helm-bbdb"))]) (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-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-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-ag . [(20170209 1545) ((emacs (24 4)) (helm (2 0))) "the silver searcher with helm interface" single ((:commit . "2fc02c4ead29bf0db06fd70740cc7c364cb650ac") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ag"))]) (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-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-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-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 . [(20181115 1728) ((emacs (24 4)) (async (1 9 3)) (popup (0 5 3)) (helm-core (3 0))) "Helm is an Emacs incremental and narrowing framework" tar ((:commit . "5d60794e2bdea77e6acb1bdd9856de546688114e") (:url . "https://emacs-helm.github.io/helm/"))]) (heaven-and-hell . [(20180421 921) ((emacs (24 4))) "easy toggle light/dark themes" single ((:commit . "0e4191065a1c18b50734a437f3cafb629b89edc0") (:keywords "faces") (:authors ("Valentin Ignatev" . "valentignatev@gmail.com")) (:maintainer "Valentin Ignatev" . "valentignatev@gmail.com") (:url . "https://github.com/valignatev/heaven-and-hell"))]) (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"))]) (hcl-mode . [(20170107 827) ((emacs (24 3))) "Major mode for Hashicorp" single ((:commit . "0f2c5ec7e7bcf77c8548e8cac8721ea935ca1b5e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-hcl-mode"))]) (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"))]) (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/"))]) (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"))]) (haxe-mode . [(20131004 842) nil "An Emacs major mode for Haxe" single ((:authors ("Jens Peter Secher")) (:maintainer "Jens Peter Secher") (:url . "http://people.debian.org/~jps/misc/haxe-mode.el"))]) (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"))]) (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"))]) (hasky-stack . [(20181108 1707) ((emacs (24 4)) (f (0 18 0)) (magit-popup (2 10))) "Interface to the Stack Haskell development tool" single ((:commit . "b62b18d6d2f4f3cf2a75b137c5ec12fa6b934910") (:keywords "tools" "haskell") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-stack"))]) (hasky-extensions . [(20180108 512) ((emacs (24 4)) (avy-menu (0 2))) "Toggle Haskell language extensions" single ((:commit . "6909022bccb7e5c26d1c4e5fa20cbc6b65c62d69") (:keywords "programming") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-extensions"))]) (hasklig-mode . [(20181110 1859) ((emacs (25))) "Hasklig ligatures" single ((:commit . "386c098c93a744f6b30ad937d193eebf0fd79e1b") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/hasklig-mode"))]) (haskell-tab-indent . [(20170701 958) nil "tab-based indentation for haskell-mode" single ((:commit . "b4cb851aef96c42ec7b3cc37b6fdd867fe5a0853") (:keywords "indentation" "haskell") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:url . "https://spwhitton.name/tech/code/haskell-tab-indent/"))]) (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-mode . [(20180917 923) ((emacs (24 3))) "A Haskell editing mode" tar ((:commit . "6a70c1858c7d505ba23185e209ef7eacf703ed8f") (:keywords "haskell" "cabal" "ghc" "repl") (:url . "https://github.com/haskell/haskell-mode"))]) (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-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 . [(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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (haml-mode . [(20170924 453) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing Haml files" single ((:commit . "1cbb2de8f0fc25f35448c5cad04642f28078f3bb") (:keywords "markup" "languages" "html") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "https://github.com/nex3/haml-mode"))]) (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"))]) (hamburg-theme . [(20160123 740) ((emacs (24))) "Color Theme with a dark blue background." single ((:commit . "aacefdf1501d97a5afc0e63c8ead4b2463323028") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (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/"))]) (hackernews . [(20180903 612) ((json (1 2))) "Access the Hacker News aggregator from Emacs" tar ((:commit . "d8c450bbc76d6bb65ec5cdb6c3b888a23f3769e9"))]) (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"))]) (hack-time-mode . [(20170527 1610) ((emacs (24 4))) "Forge time" single ((:commit . "73d6fcf8b39283526e5d4e3919193611e25a0898") (:keywords "time" "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/hack-time-mode"))]) (hack-mode . [(20181107 1748) ((emacs (25 1)) (s (1 11 0))) "Major mode for the Hack programming language" single ((:commit . "96d941984706f9bb97f8705ed1a0125c2c1647fd") (:authors ("John Allen" . "jallen@fb.com")) (:maintainer "John Allen" . "jallen@fb.com") (:url . "https://github.com/hhvm/hack-mode"))]) (habitica . [(20181024 1811) ((org (8 3 5)) (emacs (24 3))) "Interface for habitica.com" single ((:commit . "d977984ac342e9177ba98f400b3c160c450c936d") (:keywords "habitica" "todo") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/emacs-habitica"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (guix . [(20181028 1414) ((emacs (24 3)) (dash (2 11 0)) (geiser (0 8)) (bui (1 1 0)) (magit-popup (2 1 0)) (edit-indirect (0 1 4))) "Interface for GNU Guix" tar ((:commit . "bffd65a26c6960e2af2abb57274e4818cf683960") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://emacs-guix.gitlab.io/website/"))]) (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"))]) (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 . "9236d287a7272e307fb941237390a96037c8c0a2") (:keywords "help" "convenience") (:authors ("Tsunenobu Kai" . "kai2nenobu@gmail.com")) (:maintainer "Tsunenobu Kai" . "kai2nenobu@gmail.com") (:url . "https://github.com/kai2nenobu/guide-key"))]) (guess-language . [(20170620 1008) ((cl-lib (0 5)) (emacs (24))) "Robust automatic language detection" tar ((:commit . "1f1602f74d7159e7fb8c90f92ec5a3d1df5429da") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/guess-language.el"))]) (gtk-pomodoro-indicator . [(20171230 1640) nil "A pomodoro indicator for the GTK tray" tar ((:commit . "eb59b229de0dde307b20654075a9bbac69899a66") (:keywords "convenience" "pomodoro") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/gtk-pomodoro-indicator"))]) (gscholar-bibtex . [(20170913 2157) nil "Retrieve BibTeX from Google Scholar and other online sources(ACM, IEEE, DBLP)" single ((:commit . "ba4ce159e385d695d8560e8b06b3cbe48424861c") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) (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"))]) (gruvbox-theme . [(20181013 1144) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:commit . "39124183cf47d25780cd02e33e57743484b4c680") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "http://github.com/greduan/emacs-theme-gruvbox"))]) (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"))]) (gruber-darker-theme . [(20180529 712) nil "Gruber Darker color theme for Emacs 24." single ((:commit . "c7687ec0511941db1371dcd70b31061d74aa5668") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/gruber-darker-theme"))]) (groovy-mode . [(20181111 1057) ((s (1 12 0)) (emacs (24 3)) (dash (2 13 0))) "Major mode for Groovy source files" tar ((:commit . "f80b6795f645aff592ffbdc6b500084955094f5c") (: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"))]) (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"))]) (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"))]) (grin . [(20110806 658) nil "run grin and grind (python replacements for grep and find) putting hits in a grep buffer" single ((:keywords "python" "grin" "grind" "grep" "find") (:authors ("Darius Powell" . "dariusp686@gmail.com")) (:maintainer "Darius Powell" . "dariusp686@gmail.com") (:url . "http://bitbucket.org/dariusp686/emacs-grin"))]) (greymatters-theme . [(20150621 1123) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "a7220a8c6cf18ccae2b76946b6f01188a7c9d5d1") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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 . "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d") (: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"))]) (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"))]) (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/"))]) (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"))]) (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-is-the-new-black-theme . [(20180323 203) nil "A cool and minimalist green blackened theme engine" single ((:commit . "8a03687a2b8b55c5dc7f099086019278d505d8d8") (: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"))]) (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"))]) (grass-mode . [(20170503 1500) ((cl-lib (0 2)) (dash (2 8 0))) "Provides Emacs modes for interacting with the GRASS GIS program" single ((:keywords "grass" "gis") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca"))]) (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"))]) (graphviz-dot-mode . [(20171103 827) nil "Mode for the dot-language used by graphviz (att)." single ((:commit . "c456a2b65c734089e6c44e87209a5a432a741b1a") (:keywords "mode" "dot" "dot-language" "dotlanguage" "graphviz" "graphs" "att") (:maintainer "Pieter Pareit" . "pieter.pareit@gmail.com") (:url . "http://ppareit.github.com/graphviz-dot-mode/"))]) (graphql-mode . [(20180303 2358) ((emacs (24 3))) "Major mode for editing GraphQL schemas" single ((:commit . "36b1a4ed9fe78ccd1f386111644e69a5424a1a7b") (:keywords "languages") (:authors ("David Vazquez Pua" . "davazp@gmail.com")) (:maintainer "David Vazquez Pua" . "davazp@gmail.com"))]) (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"))]) (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"))]) (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"))]) (grandshell-theme . [(20180606 517) nil "Dark color theme for Emacs > 24 with intensive colors." tar ((:commit . "0ed8e4273607dd4fcaa742b4097259233b09eda6"))]) (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"))]) (grails-mode . [(20160504 911) nil "minor-mode that adds some Grails project management to a grails project" single ((:commit . "f80b6795f645aff592ffbdc6b500084955094f5c") (:keywords "languages") (:authors ("Jim Morris" . "morris@wolfman.com")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:url . "http://blog.wolfman.com"))]) (grails . [(20160417 636) ((emacs (24))) "Minor mode for Grails projects" single ((:commit . "fa638abe5c37f3f8af4fcd32f212453185ce50b1") (:url . "https://github.com/lifeisfoo/emacs-grails"))]) (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"))]) (grab-x-link . [(20180205 1146) ((emacs (24)) (cl-lib (0 5))) "Grab links from X11 apps and insert into Emacs" single ((:commit . "d19f0c0da0ddc55005a4c1cdc2b8c5de8bea1e8c") (:keywords "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-x-link"))]) (grab-mac-link . [(20180328 1445) ((emacs (24))) "Grab link from Mac Apps and insert it into Emacs" single ((:commit . "35edb57d136c2a9726fd14e6a59cce4fc0248771") (:keywords "mac" "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-mac-link.el"))]) (gpastel . [(20180420 650) ((emacs (24 3))) "Integrates GPaste with the kill-ring" single ((:commit . "ae11a0ae58577321605c338809fc5ae29b38fc72") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (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"))]) (govc . [(20180524 2023) ((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 . "f6196c9c7ab2f5a3c7c4c82e58ae23f602f34a4b") (:keywords "convenience") (:authors ("The govc developers")) (:maintainer "The govc developers") (:url . "https://github.com/vmware/govmomi/tree/master/govc/emacs"))]) (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-gem . [(20140729 1845) ((s (1 9 0))) "Open dired in gem directory" single ((:commit . "e3206f11f48bb7e798514a4ca2c2f60649613e5e") (:keywords "gemfile" "convenience") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (goto-chg . [(20180105 1833) nil "goto last change" single ((:commit . "e5b38e4e1378f6ea48fa9e8439f49c2998654aa4") (:keywords "convenience" "matching") (:authors ("David Andersson <l.david.andersson(at)sverige.nu>")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@github.com") (:url . "https://github.com/emacs-evil/goto-chg"))]) (gotham-theme . [(20171013 1916) nil "A very dark Emacs color theme." single ((:commit . "5e97554d1f9639698faedb0660e63694be33bd84") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/gotham-theme"))]) (gotest . [(20180617 1333) ((emacs (24 3)) (s (1 11 0)) (f (0 19 0)) (go-mode (1 5 0))) "Launch GO unit tests" single ((:commit . "36e09a6bf1face4c56d4a7707935c992786e0076") (: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"))]) (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 . "bbd27f6a0a77f484e2a3f082d70dc69da63ae52a") (: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"))]) (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"))]) (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"))]) (google-translate . [(20180926 1925) nil "Emacs interface to Google Translate." tar ((:commit . "eb1c4f51d522d2252dadfb4cd7ea045ccd344b98"))]) (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-maps . [(20171002 1434) ((emacs (24 3))) "Access Google Maps from Emacs" tar ((:commit . "c0e5dccfdc9f7f77ff8f29177547be47833d7156") (: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-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-c-style . [(20180130 1736) nil "Google's C/C++ style for c-mode" single ((:commit . "ad22a7536d9cbc552c2d265d5df18be9b1b24faa") (:keywords "c" "tools"))]) (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"))]) (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"))]) (golint . [(20180221 2015) nil "lint for the Go source code" single ((:commit . "c67002cb31c3a748b7688c27f20d8358b4193582") (:url . "https://github.com/golang/lint"))]) (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"))]) (golden-ratio-scroll-screen . [(20170224 229) nil "Scroll half screen down or up, and highlight current line" single ((:commit . "44e947194d3e5cbe0fd2f3c4886a4e6e1a0c0791") (: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"))]) (golden-ratio . [(20150819 1120) nil "Automatic resizing of Emacs windows to the golden ratio" single ((:commit . "72b028808b41d23fa3f7e8c0d23d2c475e7b46ae") (:keywords "window" "resizing") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (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"))]) (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"))]) (god-mode . [(20180117 1134) nil "God-like command entering minor mode" tar ((:commit . "344167ed9b4c212273dd056e7481cf1373b461d0") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/god-mode"))]) (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"))]) (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"))]) (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-snippets . [(20180113 611) ((yasnippet (0 8 0))) "Yasnippets for go" tar ((:commit . "d437df148879566ffe7f2e503a3cf2602aa9fb28"))]) (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-rename . [(20180627 648) ((go-mode (1 3 1))) "Integration of the 'gorename' tool into Emacs." single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "tools"))]) (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-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-playground . [(20181103 1846) ((emacs (24)) (go-mode (1 4 0)) (gotest (0 13 0))) "Local Golang playground for short snippets." single ((:commit . "fe75581eb81bb13ab129d2bbbc4af9a8b605fc3b") (:keywords "tools" "golang") (:authors ("Alexander I.Grafov (axel)" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov (axel)" . "grafov@gmail.com") (:url . "https://github.com/grafov/go-playground"))]) (go-mode . [(20181012 329) nil "Major mode for the Go programming language" single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "languages" "go") (:authors ("The go-mode Authors")) (:maintainer "The go-mode Authors") (:url . "https://github.com/dominikh/go-mode.el"))]) (go-imports . [(20180710 528) nil "Insert go import statement given package name" tar ((:commit . "d9950309c868aa46c45f8671413e53f97dc7fe0b") (:keywords "tools" "go" "import") (:authors ("Yaz Saito")) (:maintainer "Yaz Saito") (:url . "https://github.com/yasushi-saito/go-imports"))]) (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-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-guru . [(20181012 330) ((go-mode (1 3 1)) (cl-lib (0 5))) "Integration of the Go 'guru' analysis tool into Emacs." single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "tools"))]) (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-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-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-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-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-dlv . [(20160517 2046) ((go-mode (1 3 1))) "Go Delve - Debug Go programs interactively with the GUD." single ((:commit . "45a9e8a047c9995eb7c802268d96b3e527569f41") (: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-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-complete . [(20151015 928) ((go-mode (0)) (cl-lib (0 5))) "Native code completion for Go" single ((:commit . "e39efc356f6e19f17db3f3d2c81f28d38b31a55e") (:keywords "go" "golang" "completion") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/go-complete"))]) (go-autocomplete . [(20170626 1023) ((auto-complete (1 4 0))) "auto-complete-mode backend for go-mode" single ((:commit . "7b1d4e18cdc58a74dc1bd4c2d45b3f1b2ca227c3") (:keywords "languages") (:authors ("Mikhail" . "tensai@cirno.in")) (:maintainer "Mikhail" . "tensai@cirno.in"))]) (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 . [(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/"))]) (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"))]) (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-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-desktop-notify . [(20180623 1538) ((gnus (1 0))) "Gnus Desktop Notification global minor mode" single ((:commit . "44ebe0241a19f4052cd427dff408206542aa3c8f") (: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-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"))]) (gnuplot-mode . [(20171013 1616) nil "Major mode for editing gnuplot scripts" single ((:commit . "601f6392986f0cba332c87678d31ae0d0a496ce7") (:keywords "gnuplot" "plotting") (:url . "https://github.com/mkmcc/gnuplot-mode"))]) (gnuplot . [(20141231 2137) nil "drive gnuplot from within emacs" tar ((:commit . "21f9046e3f5caad41b750b5c9cee02fa4fd20fb9") (:keywords "gnuplot" "plotting") (:authors ("Bruce Ravel" . "bruceravel1@gmail.com")) (:maintainer "Bruce Ravel" . "bruceravel1@gmail.com"))]) (gnu-apl-mode . [(20180130 700) ((emacs (24))) "Integrate GNU APL with Emacs" tar ((:commit . "fa569827c916ed46e410e9f28e4b4d28f8567654") (:keywords "languages" "apl") (:url . "https://github.com/lokedhs/gnu-apl-mode"))]) (gntp . [(20141025 250) nil "Growl Notification Protocol for Emacs" single ((:commit . "767571135e2c0985944017dc59b0be79af222ef5") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (glsl-mode . [(20170927 1436) nil "major mode for Open GLSL shader files" single ((:commit . "384968506cf25c5c2df61b32fdfdbd041e3bf651") (:keywords "languages") (:url . "http://artis.inrialpes.fr/~Xavier.Decoret/resources/glsl-mode/"))]) (glab . [(20180821 1551) nil "minuscule client library for the Gitlab API" single ((:commit . "d75ba1bd8843f53ae3e37b206187b3b97d9f3540") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/ghub"))]) (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"))]) (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"))]) (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"))]) (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"))]) (gitlab-ci-mode-flycheck . [(20180604 2204) ((emacs (25)) (flycheck (31)) (gitlab-ci-mode (1))) "Flycheck support for ‘gitlab-ci-mode’" single ((:commit . "30ea0eab74b24818f187242b079845785035e967") (:keywords "tools" "vc" "convenience") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode-flycheck/"))]) (gitlab-ci-mode . [(20180604 2203) ((emacs (25)) (yaml-mode (0 0 12))) "mode for editing GitLab CI files" single ((:commit . "b9fd692d27351e959c4d272a2149def63ef1c00c") (:keywords "tools" "vc") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode/"))]) (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 . "68318aca3206d50701039c9aae39734ca29a49f9") (:keywords "gitlab") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))]) (gitignore-templates . [(20180327 1326) ((emacs (24 3))) "Access GitHub .gitignore templates" single ((:commit . "b0705b8de4cbdd631c64c4e0024d62ba4ad68052") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/gitignore-templates.el"))]) (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"))]) (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"))]) (github-stars . [(20180328 1133) ((emacs (25 1)) (ghub (2 0 0))) "Browse your Github Stars" single ((:commit . "15cbf15cdd3fbd2139b5c128a173bb8f6a4ef496") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/github-stars.el"))]) (github-search . [(20170824 323) ((magit (0 8 1)) (gh (1 0 0))) "Clone repositories by searching github" single ((:commit . "c5fa1d9f8f9bcf201fa31478a6f5e02ed5ac086b") (: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-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-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-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-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-elpa . [(20180831 811) ((package-build (1 0)) (commander (0 7 0)) (git (0 1 1))) "Build and publish ELPA repositories with GitHub Pages" tar ((:commit . "32979fa1080f19d10c108d2776fbfe16547b4cf8") (:authors (nil . "10sr<8slashes+el@gmail.com>")) (:maintainer nil . "10sr<8slashes+el@gmail.com>") (:url . "https://github.com/10sr/github-elpa"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (git-timemachine . [(20181114 1342) ((emacs (24 3))) "Walk through git revisions of a file" single ((:commit . "4eb2ee6eabcc437bc3a1addc19ba38eed165743d") (:keywords "git") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:url . "https://github.com/pidu/git-timemachine"))]) (git-ps1-mode . [(20181115 349) nil "Global minor-mode to print __git_ps1" single ((:commit . "b9188e26a64fa6f8678da6cbf5e3e865065f4f04") (: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-msg-prefix . [(20180118 1446) ((emacs (24)) (s (1 10 0)) (dash (2 9 0))) "Insert commit message prefix (issue number)" single ((:commit . "848f2c7475f5e4937b09f55e85ea89a3be5f8588") (: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-messenger . [(20170102 440) ((emacs (24 3)) (popup (0 5 0))) "Pop up last commit information of current line" single ((:commit . "83815915eb8c1cb47443ff34bca3fecf7d2edf3a") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-messenger"))]) (git-link . [(20181031 259) ((emacs (24 3))) "Get the GitHub/Bitbucket/GitLab URL for a buffer location" single ((:commit . "976723dfdb9ae42e093a3cb32fc41841e94201e6") (:keywords "git" "vc" "github" "bitbucket" "gitlab" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/git-link"))]) (git-lens . [(20180328 1417) ((emacs (24 4))) "Show new, deleted or modified files in branch" single ((:commit . "ea49e2e005af977a08331f8caa8f64d102b3b932") (: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-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-gutter-fringe . [(20170113 533) ((git-gutter (0 88)) (fringe-helper (0 1 1)) (cl-lib (0 5)) (emacs (24))) "Fringe version of git-gutter.el" single ((:commit . "16226caab44174301f1659f7bf8cc67a76153445") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-gutter-fringe"))]) (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 . [(20161105 1356) ((emacs (24 3))) "Port of Sublime Text plugin GitGutter" single ((:commit . "00c05264af046b5ce248e5b0bc42f117d9c27a09") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-gutter"))]) (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-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-commit-insert-issue . [(20171102 1841) ((projectile (0)) (s (0)) (github-issues (0)) (gitlab (0)) (bitbucket (0))) "Get issues list when typing \"Fixes #\"" single ((:commit . "f986923b04b587206ce7ee8e0c456768600e8be7") (:keywords "git" "github" "gitlab" "bitbucket" "commit" "issues") (:authors ("Vindarel")) (:maintainer "Vindarel") (:url . "https://gitlab.com/emacs-stuff/git-commit-insert-issue/"))]) (git-commit . [(20181116 1408) ((emacs (25 1)) (dash (20180910)) (with-editor (20181103))) "Edit Git commit messages" single ((:commit . "36d89c88e1337ec2b33c75c3d426289c66f86b10") (:keywords "git" "tools" "vc") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))]) (git-command . [(20160111 1303) ((term-run (0 1 4)) (with-editor (2 3 1))) "Yet another Git interface" single ((:commit . "dce465ca1cd80e16df0f8dce8e427a76e9edc3b7") (: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-blamed . [(20161028 1926) nil "Minor mode for incremental blame for Git" single ((:commit . "cef196abf398e2dd11f775d1e6cd8690567408aa") (:keywords "git" "version control" "release management"))]) (git-auto-commit-mode . [(20161229 1617) nil "Emacs Minor mode to automatically commit and push" single ((:commit . "2c8197e5d7813734d6a49f9b9c0b227b7ae022a8") (:keywords "vc") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/git-auto-commit-mode/"))]) (git-attr . [(20180925 2003) ((emacs (24 3))) "Git attributes of buffer file" tar ((:commit . "8f6290c76e7827d5a198e7dc04516bcfb2128c06") (: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-annex . [(20180427 1556) nil "Mode for easy editing of git-annex'd files" single ((:commit . "ebdb44aef1883f1b2b8058e05d30fb9315b03707") (: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 . [(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"))]) (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"))]) (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"))]) (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"))]) (gif-screencast . [(20180827 835) ((emacs (25 1))) "One-frame-per-action GIF recording" single ((:commit . "62e69ea464e87f1f7791d95a4fbbe9b70a84668a") (:keywords "multimedia" "screencast") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/ambrevar/emacs-gif-screencast"))]) (ghub . [(20181112 1755) ((emacs (25 1)) (dash (2 14 1)) (graphql (0 1 1)) (let-alist (1 0 5)) (treepy (1 0 0))) "Minuscule client libraries for Git forge APIs." tar ((:commit . "f389fce41cd1bd1805bad18d12e237362af05283"))]) (ghub+ . [(20181113 32) ((emacs (25)) (ghub (2 0)) (apiwrap (0 5))) "a thick GitHub API client built on ghub" single ((:commit . "51ebffe549286b3c0b0565a373f44f4d64fc57af") (:keywords "extensions" "multimedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/ghub-plus"))]) (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"))]) (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"))]) (gherkin-mode . [(20171224 1353) nil "An emacs major mode for editing gherkin files." single ((:commit . "0313492e7da152f0aa73ddf96c0287ded8f51253") (:keywords "languages") (:authors ("Craig Andera")) (:maintainer "Craig Andera"))]) (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"))]) (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"))]) (ghc . [(20180121 1218) ((haskell-mode (13 0))) "Sub mode for Haskell mode" tar ((:commit . "96c2207f0e9019f958d39582d4bf4af3bc9469d2"))]) (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"))]) (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"))]) (ggtags . [(20181031 1803) ((emacs (25))) "emacs frontend to GNU Global source code tagging system" single ((:commit . "669676461c74ffd30b81dce60cf4f081270f2858") (:keywords "tools" "convenience") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:url . "https://github.com/leoliu/ggtags"))]) (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"))]) (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"))]) (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"))]) (german-holidays . [(20161011 713) nil "German holidays for Emacs calendar" single ((:commit . "d7d540c229c1a8be68ee09fbda08fe3ea31b7d29") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/german-holidays"))]) (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"))]) (general . [(20181020 2323) ((emacs (24 4)) (cl-lib (0 5))) "Convenience wrappers for keybindings." single ((:commit . "f48c43c4449677fa629aac2693ffcb850ca58c89") (:keywords "vim" "evil" "leader" "keybindings" "keys") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/general.el"))]) (geiser . [(20181113 748) nil "GNU Emacs and Scheme talk to each other" tar ((:commit . "55f404607c503d8fe7d0b187f064e29667ac1496") (:url . "http://www.nongnu.org/geiser/"))]) (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"))]) (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"))]) (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"))]) (gdscript-mode . [(20180118 456) ((emacs (24 3))) "Major mode for editing Godot GDScript files" single ((:commit . "31af5283eaec207bc864022a28e2824132471eaf") (:keywords "languages") (:authors ("Adam Bark" . "adam@adambark.com")) (:maintainer "Adam Bark" . "adam@adambark.com") (:url . "https://github.com/AdamBark/gdscript-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"))]) (gap-mode . [(20180809 445) nil "Major mode for editing files in the GAP programing language." tar ((: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://bitbucket.org/gvol/gap-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"))]) (gams-mode . [(20181112 601) ((emacs (24 3))) "Major mode for General Algebraic Modeling System (GAMS)" single ((:commit . "210bd355dd2075bde3fd76c880aa489a25a54cb5") (:keywords "languages" "tools" "gams") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:url . "http://shirotakeda.org/en/gams/gams-mode/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (futhark-mode . [(20181101 1900) ((cl-lib (0 5))) "major mode for editing Futhark source files" single ((:commit . "8ab840c6d2d24696b916bfb28c99d4d0043ab64e") (:keywords "languages") (:url . "https://github.com/diku-dk/futhark"))]) (furl . [(20150509 316) nil "Friendly URL retrieval" single ((:commit . "014438271e0ef27333dfcd599cb247f12a20d870") (:authors ("Natalie Weizenbaum" . "nweiz@google.com")) (:maintainer "Natalie Weizenbaum" . "nweiz@google.com"))]) (fuo . [(20180314 1648) ((emacs (24 4))) "feeluown client." single ((:commit . "5318bef9d935b53031e6312652554920def69af2") (:keywords "feeluown" "multimedia" "unix") (:authors ("cosven" . "yinshaowen241@gmail.com")) (:maintainer "cosven" . "yinshaowen241@gmail.com") (:url . "http://github.com/cosven/emacs-fuo"))]) (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"))]) (fullframe . [(20170816 1003) ((cl-lib (0 5))) "Generalized automatic execution in a single frame" single ((:commit . "d6a5217f7f2a5a5edcb75140f3fa69b3a50f1cdd") (:keywords "fullscreen") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) (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/"))]) (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"))]) (fuel . [(20180224 2211) ((cl-lib (0 2)) (emacs (24 2))) "Major mode for the Factor programming language." tar ((:commit . "9804c3c7440b6fb9d308d76a81ee55d92b327788"))]) (fstar-mode . [(20181110 1349) ((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 . "0089f2d4451f73c389f82ebff9e22773f2d0014d") (: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"))]) (fsharp-mode . [(20180518 1820) ((company (0 8 0)) (company-quickhelp (1 2 0)) (popup (0 5 3)) (pos-tip (0 4 5)) (s (1 3 1)) (dash (1 1 0)) (flycheck (0 25))) "F# mode for Emacs" tar ((:commit . "68d2121a7317d90fe3794c9295d117f4aebd1438"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (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 . "31ef9ff4af1a4fed3dcc24ea74037feea8795c87") (: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"))]) (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"))]) (frameshot . [(20181110 1910) ((emacs (25 3))) "Take screenshots of a frame" single ((:commit . "3e1c9c2b34a3ab25cf373c411321280cc00096f6") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/frameshot"))]) (frames-only-mode . [(20180114 1848) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0))) "Use frames instead of Emacs windows" single ((:commit . "9a398dd58ebc1814183432118d11957b46746556") (:keywords "frames" "windows") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/frames-only-mode"))]) (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"))]) (frame-purpose . [(20180624 57) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "Purpose-specific frames" single ((:commit . "ef571eb64acb4fef5c5ab22bc1e87a0e6614efa4") (: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-mode . [(20170419 2127) ((s (1 9 0)) (emacs (24 4))) "Use frames instead of windows" single ((:commit . "fcdbafbda45758cd60ab3acb492fbbd692987a58") (:keywords "frames") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/frame-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"))]) (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"))]) (fountain-mode . [(20181011 843) ((emacs (24 5))) "Major mode for screenwriting in Fountain markup" single ((:commit . "6f2d72ecbe8d6cad637f3eac4de88dff469dd42c") (:keywords "wp" "text") (:authors ("Paul Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul Rankin" . "hello@paulwrankin.com"))]) (fortune-cookie . [(20170407 2217) nil "Print a fortune in your scratch buffer." single ((:commit . "bad99a2cd090f6646c7ee1125b95dd98744939c6") (:keywords "fortune" "cowsay" "scratch" "startup") (:authors ("Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com")) (:maintainer "Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com") (:url . "https://github.com/andschwa/fortune-cookie"))]) (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>"))]) (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"))]) (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-all . [(20181108 921) ((emacs (24)) (cl-lib (0 5))) "Auto-format C, C++, JS, Python, Ruby and 30 other languages" single ((:commit . "76054ed7236f18737cca4566fe8be7257f58cd81") (: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"))]) (form-feed . [(20160102 2253) nil "Display ^L glyphs as horizontal lines" single ((:commit . "799ca3e72b20a59a755a094b8cead57f654f3170") (:keywords "faces") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/form-feed"))]) (forest-blue-theme . [(20160627 842) ((emacs (24))) "Emacs theme with a dark background." single ((:commit . "58096ce1a25615d2bae806c3775bae3e2775019d") (:authors ("olkinn")) (:maintainer "olkinn"))]) (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"))]) (foreign-regexp . [(20180224 1121) nil "search and replace by foreign regexp." tar ((:commit . "2ec5c44f27c2396ee487aa0ed77ae47d143fa5aa") (: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>"))]) (forecast . [(20180429 2215) ((emacs (24 4))) "Weather forecasts" single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "weather" "forecast") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#forecast-el"))]) (fontify-face . [(20180420 1624) ((emacs (24))) "Fontify symbols representing faces with that face." single ((:commit . "fc3325c98427523d86f0b411e0515cec51ac3d8a") (:keywords "faces") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/fontify-face"))]) (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"))]) (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"))]) (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-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"))]) (folding . [(20170925 1538) nil "A folding-editor-like minor mode." single ((:commit . "3bf134fd1ecfa8767ab7020c25281ea5ce9968a2") (:keywords "tools") (:maintainer "Jari Aalto <jari aalto A T cante dt net>"))]) (fold-this . [(20180828 1336) nil "Just fold this region please" single ((:commit . "59ec711ee5f4decf197b8168e333b691b852c827") (:keywords "convenience") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (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-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"))]) (foggy-night-theme . [(20160209 1508) ((emacs (24))) "Dark low contrast theme with soft and muted colors." single ((:commit . "60a12abdac29c2d913e1cf24485d0cc083e26093") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (focus . [(20171204 503) ((emacs (24)) (cl-lib (0 5))) "Dim the font color of text in surrounding sections" single ((:commit . "045ee6175e9340f873db03445c74ff9eefa35a27") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/Focus"))]) (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"))]) (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"))]) (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"))]) (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-correct-popup . [(20180928 504) ((flyspell-correct (0 5 0)) (popup (0 5 3))) "correcting words with flyspell via popup interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct-ivy . [(20180929 1331) ((flyspell-correct (0 5 0)) (ivy (0 8 0))) "correcting words with flyspell via ivy interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct-helm . [(20180928 504) ((flyspell-correct (0 5 0)) (helm (1 9 0))) "correcting words with flyspell via helm interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct . [(20181106 801) nil "correcting words with flyspell via custom interface" tar ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (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"))]) (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"))]) (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"))]) (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-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-shellcheck . [(20180830 1145) ((emacs (26))) "A bash/sh Flymake backend" single ((:commit . "deed7160f2be6bfffe46c4cc77d0f1fefd03f82a") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/flymake-shellcheck"))]) (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-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-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-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-racket . [(20180912 109) ((emacs (26 1))) "Flymake extension for Racket." single ((:commit . "cf5c1d10280693bd2b8a6533fbca4383fb998c07") (:keywords "languages" "racket" "scheme") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-racket"))]) (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-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-phpcs . [(20140713 631) ((flymake-easy (0 9))) "making flymake work with PHP CodeSniffer" single ((:commit . "a4d383474e055e554aaf1cd617055d5d7181aa50") (:keywords "flymake" "phpcs" "php") (:authors ("Akiha Senda")) (:maintainer "Akiha Senda") (:url . "https://github.com/senda-akiha/flymake-phpcs/"))]) (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-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-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-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-ktlint . [(20180831 346) ((emacs (26 1))) "Flymake extension for Ktlint." single ((:commit . "33730a4818b74cb27196f06a9b23045d0af4c16d") (:keywords "languages" "ktlint") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-ktlint"))]) (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-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-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-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-haskell-multi . [(20170723 146) ((flymake-easy (0 1))) "Syntax-check haskell-mode using both ghc and hlint" tar ((:commit . "b564a94312259885b1380272eb867bf52a164020"))]) (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-gradle . [(20180924 200) ((emacs (26 1))) "Flymake extension for Gradle." single ((:commit . "c6045dd00e0bb1ec2b19df32756c61cbc5b3728b") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-gradle"))]) (flymake-google-cpplint . [(20140205 1325) ((flymake-easy (0 9))) "Help to comply with the Google C++ Style Guide" single ((:commit . "905d32e84a27f18a78bec455ca930ab1ff9ae31e") (: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-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-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-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-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-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-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-cppcheck . [(20140415 1257) ((flymake-easy (0 9))) "Flymake work with Cppcheck for C/C++" single ((:commit . "9554f504d425a04fa6a875f7e3179bc7cf07dd03") (: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-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"))]) (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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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-yamllint . [(20170325 1735) ((flycheck (30))) "Flycheck integration for YAMLLint" single ((:commit . "c2b273d84f15bd03464d6722391e595d7c179a5c") (: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-xcode . [(20180122 651) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Apple's Xcode." single ((:commit . "6147ab777e2c08e4f5ffdbd85d3013ca700fa835") (:keywords "languages" "xcode") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-xcode"))]) (flycheck-vdm . [(20181108 2022) ((emacs (24)) (flycheck (32 -4)) (vdm-mode (0 0 3))) "Syntax checking for vdm-mode" single ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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-vale . [(20180928 742) ((emacs (24 4)) (flycheck (0 22)) (let-alist (1 0 4))) "flycheck integration for vale" single ((:commit . "131dacdf55e2b469d64543e4ae373aa93ec40a4f") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/flycheck-vale"))]) (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-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-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-swiftlint . [(20180830 340) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Swiftlint." single ((:commit . "65101873c4c9f8e7eac9471188b161eeddda1555") (:keywords "languages" "swiftlint" "swift" "emacs") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-swiftlint"))]) (flycheck-swift3 . [(20181116 1202) ((emacs (24 4)) (flycheck (26))) "Flycheck: Swift support for Apple swift-mode" single ((:commit . "37994f11c93f585119647e6ba10761e9766b593d") (:keywords "convenience" "languages" "tools") (:authors ("Goichi Hirakawa" . "gooichi@gyazsquare.com")) (:maintainer "Goichi Hirakawa" . "gooichi@gyazsquare.com") (:url . "https://github.com/GyazSquare/flycheck-swift3"))]) (flycheck-swift . [(20170129 549) ((emacs (24 4)) (flycheck (0 25))) "Flycheck extension for Apple's Swift." single ((:commit . "4c5ad401252400a78da395fd56a71e67ff8c2761") (:keywords "languages" "swift"))]) (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-stack . [(20160520 944) ((flycheck (26)) (haskell-mode (13))) "Flychecker using stack ghci" single ((:commit . "f04235e00998000ee2c305f5a3ee72bb5dbbc926"))]) (flycheck-soar . [(20181106 852) ((emacs (25 1)) (flycheck (0 22))) "Analyze the SQL statements using mi soar." single ((:commit . "d2f03a0af9b625a645f3194dc24cfeee94d92760") (:keywords "convenience") (:authors ("zg" . "13853850881@163.com")) (:maintainer "zg" . "13853850881@163.com") (:url . "https://github.com/tszg/flycheck-soar"))]) (flycheck-rust . [(20180904 1117) ((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 . "f1220ccd9acbdb2556765f49f2f3dcb00dca2970") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-rust"))]) (flycheck-rtags . [(20180619 824) ((emacs (24)) (flycheck (0 23)) (rtags (2 10))) "RTags Flycheck integration." single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com")) (:maintainer "Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com") (:url . "http://rtags.net"))]) (flycheck-rebar3 . [(20180806 2103) ((flycheck (27))) "Rebar3 flycheck integration for Erlang projects" single ((:commit . "3cca1268c54643204b5bae52e3f0bf5bc921018c") (:keywords "erlang" "flycheck" "rebar3") (:authors ("Joe DeVivo")) (:maintainer "Joe DeVivo") (:url . "https://github/joedevivo/flycheck-rebar3"))]) (flycheck-pyre . [(20181014 155) ((emacs (24)) (flycheck (29)) (cl-lib (0 6))) "Support Pyre in flycheck" tar ((:commit . "58ba48d570e11011a4b70609f3a2565772010ad2") (:authors ("Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com")) (:maintainer "Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com") (:url . "https://github.com/linnik/flycheck-pyre"))]) (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-pycheckers . [(20181114 2039) ((flycheck (0 18))) "multiple syntax checker for Python, using Flycheck" tar ((:commit . "73f348b68532c856a32e3c962ebbee14f7b6c059") (:keywords "convenience" "tools" "languages") (:url . "https://github.com/msherry/flycheck-pycheckers"))]) (flycheck-purescript . [(20161121 1707) ((emacs (24 3)) (flycheck (0 22)) (dash (2 12 0)) (let-alist (1 0 4)) (seq (1 11))) "Flycheck: PureScript support" single ((:commit . "30f0435d5e2715053c8c6170b2bce2ae462ac819") (:keywords "convenience" "tools" "languages") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/flycheck-purescript"))]) (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-posframe . [(20180322 607) ((flycheck (0 24)) (emacs (26)) (posframe (0 3 0))) "Show flycheck error messages using posframe.el" single ((:commit . "61bdfd4b04e1651163fdcaa7dc631ad073b3e513") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-posframe"))]) (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-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-pony . [(20160501 2117) ((flycheck (0 25 1))) "Pony support in Flycheck" single ((:commit . "ef27475a14090396a01924d131bfee9e163cf6e9") (:keywords "tools" "convenience") (:url . "https://github.com/seantallen/flycheck-pony"))]) (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-pkg-config . [(20180430 2243) ((dash (2 8 0)) (s (1 9 0)) (flycheck (29))) "configure flycheck using pkg-config" single ((:commit . "e72e4c1b8153611ed82695673af84096f4d52795") (:keywords "flycheck") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (flycheck-phpstan . [(20180801 1741) ((emacs (24 3)) (flycheck (26)) (phpstan (0 2 1))) "Flycheck integration for PHPStan" single ((:commit . "beac0e0e7160454d4f42162b3502a36ccf488120") (:keywords "convenience" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))]) (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-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-package . [(20161111 2251) ((flycheck (0 22)) (package-lint (0 2))) "A Flycheck checker for elisp package authors" single ((:commit . "6d99248b45eea1e5236062f38e524230efdb1a84") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (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-objc-clang . [(20181116 1201) ((emacs (24 4)) (flycheck (26))) "Flycheck: Objective-C support using Clang" single ((:commit . "a3781e47f14068c811534a3348bf479eeb3f2041") (: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-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-nim . [(20160715 428) ((dash (2 4 0)) (flycheck (0 20))) "Defines a flycheck syntax checker for nim" single ((:commit . "6d27349b66e44578851e6148299709d64d2bde41") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/flycheck-nim"))]) (flycheck-mypy . [(20180907 1016) ((flycheck (0 18))) "Support mypy in flycheck" single ((:commit . "6f99166f5229c7b4298cff1818b7eaece1c9c8bd") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (flycheck-mmark . [(20180203 1732) ((emacs (24 4)) (flycheck (0 29))) "Flycheck checker for the MMark markdown processor" single ((:commit . "7fdcc48ff6ffa5e7db126a76f4948ab08b9eb8d4") (:keywords "convenience" "text") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mmark-md/flycheck-mmark"))]) (flycheck-mix . [(20170118 1430) ((flycheck (27)) (elixir-mode (1 8 0))) "Elixir mix flycheck integration" single ((:commit . "76684d4b5987925b98b254aab656f8bf8198ab88") (:keywords "elixir" "flycheck" "mix") (:authors ("Tomasz Kowal" . "tomekowal@gmail.com")) (:maintainer "Tomasz Kowal" . "tomekowal@gmail.com") (:url . "https://github.com/tomekowal/flycheck-mix"))]) (flycheck-mercury . [(20151123 734) ((flycheck (0 22)) (s (1 9 0)) (dash (2 4 0))) "Mercury support in Flycheck" single ((:commit . "fa9e433a0a912f0fae9e4dec9ea616ef99fcf861") (: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-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-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-ledger . [(20180819 321) ((flycheck (0 15))) "Flycheck integration for ledger files" single ((:commit . "8d7f52a4c7f80ca396ef0fc6c7d8e9f005778dfc") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (flycheck-kotlin . [(20170122 1137) ((flycheck (0 18))) "Support kotlin in flycheck" single ((:commit . "cbb9fbf70dbe8efcc3971b3606ee95c97469b1fe") (:authors ("Elric Milon" . "whirm_REMOVETHIS__@gmx.com")) (:maintainer "Elric Milon" . "whirm_REMOVETHIS__@gmx.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-joker . [(20180913 504) ((flycheck (0 18))) "Add Clojure syntax checker (via Joker) to flycheck" single ((:commit . "51e99e697761ee8dab863930910abdba7607c1bd") (:authors ("Roman Bataev" . "roman.bataev@gmail.com")) (:maintainer "Roman Bataev" . "roman.bataev@gmail.com"))]) (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-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-inline . [(20180821 849) ((emacs (25 1)) (flycheck (31))) "Display Flycheck errors inline" single ((:commit . "6381d676462dab74f337e6fed9ada121fec25caf") (:keywords "tools" "convenience") (:authors ("fmdkdd")) (:maintainer "fmdkdd") (:url . "https://github.com/flycheck/flycheck-inline"))]) (flycheck-hdevtools . [(20160926 702) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using hdevtools" single ((:commit . "eab1fc184854341a56154623a131cab6ff0ce18c") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/flycheck/flycheck-hdevtools"))]) (flycheck-haskell . [(20181015 1852) ((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 . "30a09b90cb6d72c1a1d449caa526fb7a4c66e341") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-haskell"))]) (flycheck-grammalecte . [(20181115 1646) ((emacs (24)) (flycheck (26))) "Integrate Grammalecte with Flycheck" tar ((:commit . "fe5d94dc6175fe8cc09965956fda5c0de0b280d6") (: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-gradle . [(20180924 200) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Gradle." single ((:commit . "6a61daada4b2353a1c7c223cf8d5bccb907534c8") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-gradle"))]) (flycheck-gometalinter . [(20180424 941) ((emacs (24)) (flycheck (0 22))) "flycheck checker for gometalinter" single ((:commit . "422f6e4b77b27fd7370f0c88437ac5072c9d3413") (:keywords "convenience" "tools" "go") (:authors ("Diep Pham" . "me@favadi.com")) (:maintainer "Diep Pham" . "me@favadi.com") (:url . "https://github.com/favadi/flycheck-gometalinter"))]) (flycheck-golangci-lint . [(20180711 817) ((emacs (24)) (flycheck (0 22))) "Flycheck checker for golangci-lint" single ((:commit . "b4b51aa6fe5335c0f46f2f83c7dc32e4141ff9f1") (: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-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-flow . [(20180801 1242) ((flycheck (0 18)) (json (1 4))) "Support Flow in flycheck" single ((:commit . "5d42270c798918c05c5e983e774063930bd87838") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (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-elsa . [(20181029 1421) ((emacs (25)) (seq (2 0)) (cask (0 8 4))) "Flycheck for Elsa." single ((:commit . "a48d1b1c28f908dcb0bc3aece38c161059df336d") (: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-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 . "debd0af563cb6c2944367a691c7fa3021d9378c1") (:authors ("Brian Sermons")) (:maintainer "Brian Sermons") (:url . "https://github.com/bsermons/flycheck-elm"))]) (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-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-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-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-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-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-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-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-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-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-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-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-crystal . [(20180627 242) ((flycheck (30))) "Add support for Crystal to Flycheck" single ((:commit . "8649736fea8960a5e54c3ec934484f231a518ea5") (:keywords "tools" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))]) (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-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-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-clojure . [(20180721 1412) ((cider (0 8 1)) (flycheck (0 22 -4 1)) (let-alist (1 0 1)) (emacs (24))) "Flycheck: Clojure support" single ((:commit . "d81d875f83f7db26cd7bf43d0f9bab272fb54a3c") (: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-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-clang-tidy . [(20171024 808) ((flycheck (0 30))) "Flycheck syntax checker using clang-tidy" single ((:commit . "b8ebd49693f67e08e420ba847cc88f6721ef9e3e") (:keywords "convenience" "languages" "tools") (:authors (nil . "Sebastian Nagel<sebastian.nagel@ncoding.at>")) (:maintainer nil . "Sebastian Nagel<sebastian.nagel@ncoding.at>") (:url . "https://github.com/ch1bo/flycheck-clang-tidy"))]) (flycheck-clang-analyzer . [(20180917 1425) ((flycheck (0 24)) (emacs (24 4))) "Integrate Clang Analyzer with flycheck" single ((:commit . "5c707505e3ea806fddb54d031ab64351293d7c2d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-clang-analyzer"))]) (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-checkbashisms . [(20160224 1706) ((emacs (24)) (flycheck (0 25))) "checkbashisms checker for flycheck" single ((:commit . "0794ad763d7cd81286283f6400bc89a81e8e07d4") (: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/Gnouc/flycheck-checkbashisms"))]) (flycheck-cask . [(20160928 926) ((emacs (24 1)) (flycheck (0 14)) (dash (2 4 0))) "Cask support in Flycheck" single ((:commit . "c3a51147eddeb7347de81f6a498fc96538bac499") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-cask"))]) (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-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-apertium . [(20160406 1318) ((flycheck (0 25))) "Apertium checkers in flycheck" tar ((:commit . "71cf49d5aaee962b995583384bfa045a1d4c3db7") (: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 . [(20181018 1021) ((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 . "1702d2db3d8ba9bcb9b2bf810e791e907fcc3adc") (:keywords "convenience" "languages" "tools") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "http://www.flycheck.org"))]) (flx-isearch . [(20180103 514) ((emacs (24)) (flx (20140821)) (cl-lib (0 5))) "Fuzzy incremental searching for emacs" single ((:commit . "f132fd6367e369885ab3a865fbfe20eee989bc0b") (:keywords "convenience" "search" "flx") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/flx-isearch"))]) (flx-ido . [(20180117 1519) ((flx (0 1)) (cl-lib (0 3))) "flx integration for ido" single ((:commit . "46040d0b096a0340d91235561f27a959a61d0fef") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (flx . [(20151030 1812) ((cl-lib (0 3))) "fuzzy matching with good sorting" single ((:commit . "46040d0b096a0340d91235561f27a959a61d0fef") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (fluxus-mode . [(20170210 1941) ((osc (0 1)) (emacs (24 4))) "Major mode for interfacing with Fluxus" single ((:commit . "3661d4dfdaf249138e7f215f15f291c9391ede8d") (:keywords "languages") (:authors ("modula t." . "defaultxr@gmail.com")) (:maintainer "modula t." . "defaultxr@gmail.com") (:url . "https://github.com/defaultxr/fluxus-mode"))]) (flucui-themes . [(20181015 1821) ((emacs (24))) "Custom theme inspired by the Flat UI palette" tar ((:commit . "eba54099a8a42524ccf41fe724ad495d528abcd2") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/flucui-theme"))]) (flower . [(20181025 1626) ((emacs (24 4)) (clomacs (0 0 3))) "Emacs task tracker client." tar ((:commit . "49e224ab26d85f5cd4a3ad9cdac391264b80ad5e") (:keywords "hypermedia" "outlines" "tools" "vc") (:authors ("Sergey Sobko" . "SSobko@ptsecurity.com")) (:maintainer "Sergey Sobko" . "SSobko@ptsecurity.com") (:url . "https://github.com/PositiveTechnologies/flower"))]) (flow-minor-mode . [(20180315 1824) ((emacs (25 1))) "Flow type mode based on web-mode." single ((:commit . "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e") (:url . "https://github.com/an-sh/flow-minor-mode"))]) (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"))]) (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"))]) (flimenu . [(20170418 147) ((dash (2 10 0)) (emacs (24 4))) "Flatten imenu automatically" single ((:commit . "9351201d89b05cbdaec312a6ebd7fd10c38d6112") (: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"))]) (flim . [(20180328 2324) ((apel (10 8))) "A library to provide basic features about message representation or encoding." tar ((:commit . "faaa2b1f2bb8fcf835ddfb8981654e4d3b2bdbc6"))]) (flex-isearch . [(20170308 2010) nil "Flex matching (like ido) in isearch." single ((:keywords "convenience" "search") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:url . "https://bitbucket.org/jpkotta/flex-isearch"))]) (flex-compile . [(20181107 426) ((emacs (25)) (buffer-manage (0 7)) (dash (2 13 0))) "Run, evaluate and compile for a many languages and modes." tar ((:commit . "a06f07e658d460cb662fa51c1c5d439ebee10375") (:keywords "compilation" "integration") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/flex-compile"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (fix-word . [(20180101 615) ((emacs (24 1)) (cl-lib (0 5))) "Convenient word transformation" single ((:commit . "8e66b6a7b599c6c5098490e83ef4e69acf307603") (:keywords "word" "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-word"))]) (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-input . [(20180101 620) ((emacs (24 4))) "Make input methods play nicely with alternative keyboard layout on OS level" single ((:commit . "37bc0734a2e71d66245ee3960879577e5ef906bb") (:keywords "input" "method") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-input"))]) (fish-mode . [(20180827 303) ((emacs (24))) "Major mode for fish shell scripts" single ((:commit . "35fc7c1e243a7410823088a571ecf378e9f3efa6") (:keywords "fish" "shell") (:authors ("Tony Wang" . "wwwjfy@gmail.com")) (:maintainer "Tony Wang" . "wwwjfy@gmail.com"))]) (fish-completion . [(20180827 829) nil "Add fish completion to pcomplete (shell and Eshell)" single ((:commit . "a73526d67c4c5f7f2e425cec79d56c7517c7f1e9") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/emacs-fish-completion"))]) (firrtl-mode . [(20180221 2355) ((emacs (24 3))) "mode for working with FIRRTL files" single ((:commit . "1ac00d526018945389bcb2292dbdd8395381774a") (:keywords "languages" "firrtl") (:authors ("Schuyler Eldridge" . "schuyler.eldridge@ibm.com")) (:maintainer "Schuyler Eldridge" . "schuyler.eldridge@ibm.com") (:url . "https://github.com/ibm/firrtl-mode"))]) (firestarter . [(20161219 1323) nil "Execute (shell) commands on save" single ((:commit . "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/firestarter"))]) (fireplace . [(20160811 1219) nil "A cozy fireplace for emacs" single ((:commit . "23a444f749bcb2b804593e3b2cb9c73cc59231fb") (:keywords "games") (:authors ("Johan Sivertsen" . "johanvts@gmail.com")) (:maintainer "Johan Sivertsen" . "johanvts@gmail.com") (:url . "https://github.com/johanvts/emacs-fireplace"))]) (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"))]) (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"))]) (fiplr . [(20140724 645) ((grizzl (0 1 0)) (cl-lib (0 1))) "Fuzzy Search for Files in Projects" tar ((:commit . "3f50159fd42125440d5b0eb9d6398560461f030b"))]) (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"))]) (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"))]) (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"))]) (find-temp-file . [(20170107 1339) nil "Open quickly a temporary file" single ((:commit . "513005d19d72d71f34481ee00158dd57bd93206f") (: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-file-in-repository . [(20151113 1319) nil "Quickly find files in a git, mercurial or other repository" single ((:commit . "8a8c84a6dbe7a2bba4564c3b58c92d157abfa3f8") (: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-file-in-project . [(20181020 1413) ((ivy (0 10 0)) (emacs (24 3))) "Find file/directory and review Diff/Patch/Commit efficiently everywhere" single ((:commit . "83c9384e0c85ee8e0e4ad79d13a24181b43ae0b0") (: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-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"))]) (finalize . [(20170418 1945) ((emacs (24 1)) (cl-generic (0 3)) (cl-lib (0 3)) (eieio (1 4))) "finalizers for Emacs Lisp" tar ((:commit . "846731531e7d1d80451787992e07bfe7dedbe9ff"))]) (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"))]) (fill-function-arguments . [(20180427 1702) ((emacs (24 4))) "Convert function arguments to/from single line" single ((:commit . "7e4d6928f978a7ead825b4f49092b1d1ca63a0e1") (:keywords "convenience") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/fill-function-arguments"))]) (fill-column-indicator . [(20171209 1924) nil "Graphically indicate the fill column" single ((:commit . "d2536b1c48f78679e15a2b50cd5d8c0ffde4b155") (:keywords "convenience") (:authors ("Alp Aker" . "alp.tekin.aker@gmail.com")) (:maintainer "Alp Aker" . "alp.tekin.aker@gmail.com"))]) (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"))]) (figlet . [(20160218 2237) nil "Annoy people with big, ascii art text" single ((:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) (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"))]) (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"))]) (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"))]) (fennel-mode . [(20181105 431) nil "a major-mode for editing Fennel code" single ((:commit . "b7335f7116944cbe82f20b4012cfcf0073f090ae") (:keywords "languages" "tools") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://gitlab.com/technomancy/fennel-mode"))]) (feebleline . [(20180914 2100) nil "Replace modeline with a slimmer proxy" single ((:commit . "89ddf31ecad885e5491e8d6b71b48c1591b3faec") (:authors ("Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com")) (:maintainer "Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com") (:url . "https://github.com/tautologyclub/feebleline"))]) (feature-mode . [(20170907 1448) nil "Major mode for editing Gherkin (i.e. Cucumber) user stories" tar ((:commit . "722b352c4f0b800a9356dd369c79612782b3b847"))]) (fd-dired . [(20180731 1049) ((emacs (25))) "find-dired alternative using fd" single ((:commit . "fd4c3f490b0b6727592b85f1635e57638dec8f91") (: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"))]) (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"))]) (fcitx . [(20170914 200) nil "Make fcitx better in Emacs" single ((:commit . "095332fbeb994c908c533fe2ad068c0728211c3d") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/fcitx.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (farmhouse-theme . [(20160713 2244) nil "Farmhouse Theme, Emacs edition" tar ((:commit . "7ddc1ff13b4a3d5466bd0d33ecb86100352e83a7") (:keywords "color" "theme") (:url . "https://github.com/mattly/emacs-farmhouse-theme"))]) (fancy-narrow . [(20171031 16) nil "narrow-to-region with more eye candy." single ((:commit . "9f4a587f6a5a387271fb665e13f59d41fd42504c") (: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"))]) (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"))]) (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"))]) (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"))]) (faff-theme . [(20181114 1336) nil "Light Emacs color theme on cornsilk3 background" single ((:commit . "646ab8b56093614679b8465993eae9678e792c12") (: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"))]) (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"))]) (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"))]) (face-explorer . [(20170710 1901) nil "Library and tools for faces and text properties" single ((:commit . "13bd4553bc4b09215a04d0267be1cb4ed834775c") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/face-explorer"))]) (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"))]) (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"))]) (f . [(20180106 922) ((s (1 7 0)) (dash (2 2 0))) "Modern API for working with files and directories" single ((:commit . "de6d4d40ddc844eee643e92d47b9d6a63fbebb48") (:keywords "files" "directories") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/f.el"))]) (eziam-theme . [(20180414 1029) nil "A mostly monochrome theme, inspired by Tao and Leuven, with dark and light versions." tar ((:commit . "96595833110cd64c391e0ccd5230782a8f0a4e08"))]) (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"))]) (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"))]) (eyebrowse . [(20180514 1919) ((dash (2 7 0)) (emacs (24 3 1))) "Easy window config switching" single ((:commit . "dfeea9e9cd6dcd78ddc9fccdf9a21f7317f754bc") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/eyebrowse"))]) (exwm-x . [(20180227 1057) ((cl-lib (0 5)) (exwm (0 17)) (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 . "4f7946db67d6599baba6b3961e8f543a68707742") (:keywords "window-manager" "exwm") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/exwm-x"))]) (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-edit . [(20180905 743) ((emacs (24 4))) "Edit mode for EXWM" single ((:commit . "961c0f3ea45766b888c73d7353da13d329538034") (:keywords "convenience") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/exwm-edit"))]) (extmap . [(20181028 1645) ((emacs (24 1))) "Externally-stored constant mapping for Elisp" single ((:commit . "1139b57d8f4276fe56b8416fdaf4745f2cdfe7c3") (:keywords "lisp") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/extmap"))]) (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"))]) (extempore-mode . [(20180105 621) ((emacs (24 4))) "Emacs major mode for Extempore source files" single ((:commit . "ae5f40d4b0883a4519e460cd7720e5fcc3a68fa5") (:keywords "extempore") (:authors ("Ben Swift" . "ben@benswift.me")) (:maintainer "Ben Swift" . "ben@benswift.me") (:url . "http://github.com/extemporelang/extempore-emacs-mode"))]) (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"))]) (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"))]) (expand-region . [(20180817 1134) nil "Increase selected region by semantic units." tar ((:commit . "ed3292473035dc8f3d2f321e82974ef87327808f"))]) (expand-line . [(20151006 207) nil "Expand selection by line" single ((:commit . "75a5d0241f35dd0748ab8ecb4ff16891535be372") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))]) (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"))]) (exiftool . [(20170822 2132) ((emacs (25))) "Elisp wrapper around ExifTool" single ((:commit . "3a07dbcb975577734d4abf6d68e1ab83a01951bb") (:keywords "data") (:authors ("Arun I" . "arunisaac@systemreboot.net")) (:maintainer "Arun I" . "arunisaac@systemreboot.net") (:url . "https://git.systemreboot.net/exiftool.el"))]) (exec-path-from-shell . [(20180324 204) nil "Get environment variables such as $PATH from the shell" single ((:commit . "9bc0f4a762f16d488376fb52409c58239a86d75d") (:keywords "unix" "environment") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/exec-path-from-shell"))]) (exato . [(20180305 1042) ((evil (1 2 13)) (emacs (24))) "EXATO: Evil XML/HTML Attributes Text Object" single ((:commit . "88266fa7fcfbef704032f671b94f756f2f98bd4f") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/exato"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-visual-mark-mode . [(20150202 1800) ((evil (1 0 9)) (dash (2 10))) "Display evil marks on buffer" single ((:commit . "094ee37599492885ff3144918fcdd9b74dadaaa0") (:keywords "evil") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (evil-vimish-fold . [(20171030 1151) ((emacs (24 4)) (evil (1 0 0)) (vimish-fold (0 2 0))) "Integrate vimish-fold with evil" single ((:commit . "c617fecb91303f8c63f85a6101a503fdc88aae84") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/evil-vimish-fold"))]) (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-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-textobj-syntax . [(20181101 1404) ((names (0 5)) (emacs (24)) (evil (0))) "Provides syntax text objects." single ((:commit . "933752ff2ae22d1bbcda394bdeed5c575d90d1d8") (:keywords "evil" "syntax" "highlight" "text-object") (:url . "https://github.com/laishulu/evil-textobj-syntax"))]) (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-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-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-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-text-object-python . [(20160815 841) ((emacs (24)) (evil (1 2 12))) "Python specific evil text objects" single ((:commit . "3b3fb01e7ad7eeeeae1143695547fe75148cc44f") (:keywords "evil" "python" "text-object") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-text-object-python"))]) (evil-test-helpers . [(20180109 1840) ((evil (1 2 13))) "unit test helpers for Evil" single ((:commit . "99bcf8c31ee72a3a571e013f40d105618fb92d19") (:authors ("Vegard Øye <vegard_oye at hotmail.com>")) (:maintainer "Vegard Øye <vegard_oye at hotmail.com>"))]) (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-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-swap-keys . [(20170726 1820) ((emacs (24))) "intelligently swap keys on text input with evil" single ((:commit . "56bc201e265a6bd482a7c41a7c81d2238341ef3a") (:keywords "evil" "key" "swap" "numbers" "symbols") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-swap-keys"))]) (evil-surround . [(20181020 1248) ((evil (1 2 12))) "emulate surround.vim from Vim" single ((:commit . "63ce01848878ce011eb4fee59c51109dd1e3ddb5") (: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-string-inflection . [(20180313 1755) ((emacs (24)) (evil (1 2 13)) (string-inflection (1 0 6))) "snake_case -> CamelCase -> etc. for text objects" single ((:commit . "008b74a9b2994abfb4ff5b679b8a5a26fd45e98a") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/evil-string-inflection"))]) (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-snipe . [(20180731 1731) ((emacs (24 4)) (evil (1 2 12)) (cl-lib (0 5))) "emulate vim-sneak & vim-seek" single ((:commit . "8dd076cc56eb9b04494e4e303b86a959b048350b") (: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-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-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-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-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-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-rails . [(20160621 2258) ((evil (1 0)) (projectile-rails (1 0))) "Rails support for Evil Mode" single ((:commit . "c8669783d8a40719b2604c58a4c06c248cab272f") (: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-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-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-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-org . [(20180323 2306) ((emacs (24 4)) (evil (1 0))) "evil keybindings for org-mode" tar ((:commit . "b6d652a9163d3430a9e0933a554bdbee5244bbf6") (:keywords "evil" "vim-emulation" "org-mode" "key-bindings" "presets") (:maintainer "Somelauw") (:url . "https://github.com/Somelauw/evil-org-mode.git"))]) (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-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-nerd-commenter . [(20180722 2325) ((emacs (24 4))) "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar ((:commit . "275c95c89cc09c7096bd6fd0deabd49f29634f5d") (:keywords "commenter" "vim" "line" "evil") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/evil-nerd-commenter"))]) (evil-multiedit . [(20181009 1515) ((emacs (24 4)) (evil (1 2 12)) (iedit (0 97)) (cl-lib (0 5))) "multiple cursors for evil-mode" single ((:commit . "ea38ac2f96c19a45591ece0e8b60252efe324657") (: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-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-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-mc . [(20180921 1727) ((emacs (24 3)) (evil (1 2 13)) (cl-lib (0 5))) "Multiple cursors for evil-mode" tar ((:commit . "2af29ecd2fbed1571c4cc2501dfb2e38ffd4bfa2") (: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-matchit . [(20181111 604) ((evil (1 2 0)) (emacs (24 4))) "Vim matchit ported to Evil" tar ((:commit . "7d65b4167b1f0086c2b42b3aec805e47a0d355c4") (: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-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-magit . [(20180702 1553) ((evil (1 2 3)) (magit (2 6 0))) "evil-based key bindings for magit" single ((:commit . "9e2275b14807168451e10b93d69e420e435f21ef") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/evil-magit"))]) (evil-lispy . [(20170304 1059) ((lispy (0 26 0)) (evil (1 2 12)) (hydra (0 13 5))) "precision Lisp editing with Evil and Lispy" tar ((:commit . "040a7ee130c2403a1d6dac591b94b202bb48e186") (: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-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-lion . [(20170811 614) ((emacs (24 3)) (evil (1 0 0))) "Evil align operator, port of vim-lion" single ((:commit . "aaa3874ad54c31b4322ac5bbc63e331498b11d61") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-lion"))]) (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-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-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-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-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-goggles . [(20180725 952) ((emacs (24 4)) (evil (1 0 0))) "Add a visual hint to evil operations" single ((:commit . "d7876e6566ac82b7c3251a59651e7db6ab756589") (:keywords "emulations" "evil" "vim" "visual") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-goggles"))]) (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-fringe-mark . [(20180728 647) ((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 . "37521e190dc0414a2bfddd6b219527b1a8dd3f58") (: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-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-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-expat . [(20180719 816) ((emacs (24 3)) (evil (1 0 0))) "Evil ex commands" single ((:commit . "3ff831784c5f301330ecced5ebd43cce42980d2b") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-expat"))]) (evil-exchange . [(20170511 259) ((evil (1 2 8)) (cl-lib (0 3))) "Exchange text more easily within Evil" single ((:commit . "47691537815150715e64e6f6ec79be7746c96120") (: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-ex-shell-command . [(20180903 614) ((emacs (24 4)) (evil (1 1 0))) "invoke shell-command right from evil-ex" single ((:commit . "dd31672b1f6b67072b06805c9460f90bc682488a") (: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-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-escape . [(20180910 1234) nil "No description available." single ((:commit . "f4e9116bfbaac8c9d210c17ad488e0982291245f"))]) (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-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-easymotion . [(20180114 654) ((emacs (24)) (avy (0 3 0)) (cl-lib (0 5))) "A port of vim's easymotion to emacs" single ((:commit . "79c13ed3bce018ac09d358e642e5bd7025e93603") (:keywords "convenience" "evil") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/evil-easymotion"))]) (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-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-collection . [(20181114 950) ((emacs (25 1)) (cl-lib (0 5)) (evil (1 2 13))) "A set of keybindings for Evil mode" tar ((:commit . "dfa412db04b3714a14a1879679daddefb873b89b") (:keywords "evil" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/emacs-evil/evil-collection"))]) (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-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-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-better-visual-line . [(20181026 1028) ((evil (1 2 13))) "gj and gk visual line mode fix" single ((:commit . "15f77e67fcc3c48db323ccd8c8c4bc249e2911b8") (:keywords "evil" "vim" "motion") (:authors ("<nuckollsp at gmail.com>")) (:maintainer "<nuckollsp at gmail.com>") (:url . "https://github.com/yourfin/evil-better-visual-line"))]) (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-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-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 . [(20181107 1016) ((emacs (24 1)) (undo-tree (0 6 3)) (goto-chg (1 6)) (cl-lib (0 5))) "Extensible Vi layer for Emacs." tar ((:commit . "99bcf8c31ee72a3a571e013f40d105618fb92d19"))]) (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"))]) (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"))]) (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"))]) (eval-sexp-fu . [(20180510 203) ((cl-lib (0)) (highlight (0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "1cfd0f3e167d63080692fad97ffe0091b024ad73") (:keywords "lisp" "highlight" "convenience") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))]) (eval-in-repl . [(20171122 1343) ((dash (0 0 0)) (paredit (0 0 0)) (ace-window (0 0 0))) "Consistent ESS-like eval interface for various REPLs" tar ((:commit . "fea05a5b81d74ac53cb2a83aa83a73d9526bcc42") (:url . "https://github.com/kaz-yos/eval-in-repl/"))]) (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"))]) (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"))]) (ethan-wspace . [(20170507 2030) nil "whitespace customizations for emacs" single ((:commit . "e055ee6730c0b03525d32e67511ef6c51e4c29e4") (:keywords "whitespace" "tab" "newline" "trailing" "clean") (:authors ("Ethan Glasser-Camp" . "ethan@betacantrips.com")) (:maintainer "Ethan Glasser-Camp" . "ethan@betacantrips.com"))]) (eterm-256color . [(20181026 1529) ((emacs (24 4)) (xterm-color (1 7)) (f (0 19 0))) "Customizable 256 colors for term." tar ((:commit . "1340f69a78faf4e709ee29875550ecc9f434b216") (:keywords "faces") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/dieggsy/eterm-256color"))]) (etable . [(20161028 2009) ((dash (2 9 0)) (interval-list (0 1)) (emacs (24 4))) "Implementation of javax.swing.JTable for Emacs." tar ((:commit . "d502141f0c69bf95256ba5cb9cd15350c7e942d2"))]) (esxml . [(20171129 807) nil "Library for working with xml via esxml and sxml" tar ((:commit . "5548ceba17deae0c3c6d0092672edc4de3c75ce3"))]) (esup . [(20180727 342) ((cl-lib (0 5)) (emacs (24))) "the Emacs StartUp Profiler (ESUP)" tar ((:commit . "5acb60e8d7a8fef854178f325682765820522b10") (:keywords "convenience" "processes") (:authors ("Joe Schafer" . "joe@jschaf.com")) (:maintainer "Joe Schafer" . "joe@jschaf.com") (:url . "http://github.com/jschaf/esup"))]) (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"))]) (ess-smart-underscore . [(20181112 2102) ((ess (0))) "Ess Smart Underscore" tar ((:commit . "17fde1f2bffffeb67520922e09ebf66693ef0c6f") (:keywords "ess" "underscore") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew Fidler") (:url . "http://github.com/mlf176f2/ess-smart-underscore.el"))]) (ess-smart-equals . [(20150202 601) ((emacs (24)) (ess (5 0))) "better smart-assignment with =-key in R and S" single ((:commit . "e0f5f18f01ed252fde50d051adf1fa6254a254c9") (: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-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 . [(20181113 1414) ((julia-mode (0 3))) "Emacs Speaks Statistics" tar ((:commit . "d8c11c6b9a079137c7c78ae27bbf80305ba17c19") (: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"))]) (esqlite-helm . [(20151116 850) ((esqlite (0 2 0)) (helm (20131207 845))) "Define helm source for sqlite database" single ((:commit . "bc4047e09b8f6c34802db86095cd465935670dce") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) (esqlite . [(20151206 1206) ((pcsv (1 3 3))) "Manipulate sqlite file from Emacs" single ((:commit . "bc4047e09b8f6c34802db86095cd465935670dce") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) (espy . [(20180929 1602) ((emacs (24))) "Emacs Simple Password Yielder" single ((:commit . "3daf31d55dc04bc0cd87f668b0ad106e67711349") (:keywords "convenience") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/espy"))]) (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"))]) (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"))]) (eslintd-fix . [(20180429 1455) ((dash (2 12 0)) (emacs (24 3))) "use eslint_d to automatically fix js files" single ((:commit . "90e451af4daa190d6c0e29fb714b0501a7cce89a") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/eslintd-fix"))]) (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"))]) (eshell-z . [(20170117 438) ((cl-lib (0 5))) "cd to frequent directory in eshell" single ((:commit . "c9334cbc1552234df3437f35d98e32f4d18446b8") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-z"))]) (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-prompt-extras . [(20180110 634) nil "Display extra information for your eshell prompt." single ((:commit . "1d8825dcc005b488c6366d0b3015fc6686194eea") (:keywords "eshell" "prompt") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/hiddenlotus/eshell-prompt-extras"))]) (eshell-git-prompt . [(20170909 1452) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 11 0))) "Some Eshell prompt for Git users" single ((:commit . "b6bb2d7bd4e393b4170b29891cfefb72ae020aab") (:keywords "eshell" "git") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-git-prompt"))]) (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-fixed-prompt . [(20170804 1335) ((emacs (25)) (s (1 11 0))) "Restrict eshell to a single fixed prompt" single ((:commit . "4351b214de6d4e8e45279930448e2f93b491848e") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (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-bookmark . [(20170922 1514) ((emacs (24 3))) "Integrate bookmarks with eshell." single ((:commit . "deda4b848b2fb979dbe73ead2cb866610e3596ed") (: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-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"))]) (esh-help . [(20170830 411) ((dash (1 4 0))) "Add some help functions and support for Eshell" single ((:commit . "8a8a9d4d9852f8bd96da3b94e95ff57097ac8ec6") (:keywords "eshell" "extensions") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/esh-help/"))]) (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-autosuggest . [(20171224 255) ((emacs (24 4)) (company (0 9 4))) "History autosuggestions for eshell" single ((:commit . "2fd996c1a29b21e60854a3c90d7d4fc3d5b0aded") (: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"))]) (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"))]) (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"))]) (es-mode . [(20181004 2217) ((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 . "1b7aca9b4e9fcebf4a67682203035eaf75b692e2") (:keywords "elasticsearch") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:url . "http://www.github.com/dakrone/es-mode"))]) (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"))]) (ert-runner . [(20180831 1145) ((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 . "90b8fdd5970ef76a4649be60003b37f82cdc1a65") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-runner.el"))]) (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-junit . [(20180809 2111) ((ert (0)) (emacs (23 4))) "JUnit XML reports from ert results" single ((:commit . "69177610824f20d4c4e16af4b9850fd96bea6491") (: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-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-async . [(20151011 1359) nil "Async support for ERT" single ((:commit . "f64a7ed5b0d2900c9a3d8cc33294bf8a79bc8526") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-async.el"))]) (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"))]) (erlstack-mode . [(20181019 2117) ((emacs (25 1)) (dash (2 12 0))) "Minor mode for analysing Erlang stacktraces" single ((:commit . "984ffddb18432ce3e11528052da8c1a5beb31e72") (:keywords "tools" "erlang") (:authors ("k32")) (:maintainer "k32") (:url . "https://github.com/k32/erlstack-mode"))]) (erlang . [(20181011 1236) ((emacs (24 1))) "Erlang major mode" tar ((:commit . "5873f86728d945be654e31d33fd72a9ecd9c6eaa"))]) (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"))]) (ergoemacs-mode . [(20180709 1345) ((emacs (24 1)) (undo-tree (0 6 5)) (cl-lib (0 5))) "Emacs mode based on common modern interface and ergonomics." tar ((:commit . "a5d46653fd3a521276630c81bf75d3e8d224e5cb") (: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"))]) (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"))]) (eredis . [(20181116 346) ((dash (0))) "eredis, a Redis client in emacs lisp" single ((:commit . "adc9d1dafb670b30170446f1e075ac1cffc111a3") (: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/"))]) (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"))]) (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"))]) (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"))]) (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-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-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-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-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-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-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-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-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-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-hl-nicks . [(20180415 1946) nil "ERC nick highlighter that ignores uniquifying chars when colorizing" single ((:commit . "756c4438a8245ccd3e389bf6c9850ee8453783ec") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/erc-hl-nicks"))]) (erc-hipchatify . [(20170314 1637) ((emacs (24 4)) (s (1 10 0)) (alert (1 2)) (request (0 2 0))) "Provide emoticons and html rendering for HipChat" single ((:keywords "erc" "bitlbee" "hipchat" "multimedia") (:authors ("Sean Farley" . "sean@farley.io")) (:maintainer "Sean Farley" . "sean@farley.io") (:url . "https://bitbucket.org/seanfarley/erc-hipchatify"))]) (erc-crypt . [(20161228 1539) ((cl-lib (0 5))) "Symmetric Encryption for ERC" single ((:commit . "731f9264a5bf08a8fc0b5ce69e72058c86f873a5") (:keywords "comm") (:authors (nil . "xristos@sdf.lonestar.org")) (:maintainer nil . "xristos@sdf.lonestar.org") (:url . "https://github.com/atomontage/erc-crypt"))]) (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"))]) (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"))]) (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"))]) (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"))]) (epm . [(20161027 734) ((emacs (24 3)) (epl (0 8))) "Emacs Package Manager" tar ((:commit . "ab3d194fc4d11520d6b9bce4746d7242f3f1606a") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/epm"))]) (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"))]) (epkg . [(20181104 1943) ((closql (1 0 0)) (dash (2 14 1)) (emacs (25 1))) "browse the Emacsmirror package database" tar ((:commit . "c42bc98a711ffa8d2a7b9096b563ac0edb0b9bf3") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/epkg"))]) (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"))]) (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"))]) (eopengrok . [(20160904 659) ((s (1 9 0)) (dash (2 10 0)) (magit (2 1 0)) (cl-lib (0 5))) "opengrok interface for emacs" single ((:commit . "78f734328aaf19c52720415c037708ece1944c4c") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))]) (envdir . [(20160221 1923) ((emacs (24)) (dash (2 10 0)) (f (0 17 2))) "Modify environment according to files in a specified directory" single ((:commit . "f29346c55ccf11d8c75628edc6d430ed63c36917") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/envdir-mode"))]) (ensime . [(20180615 1330) ((scala-mode (0 23)) (sbt-mode (0 2)) (yasnippet (0 10 0)) (company (0 9 0)) (dash (2 12 1)) (s (1 11 0)) (popup (0 5 3))) "ENhanced Scala Interaction Mode for Emacs" tar ((:commit . "34eb11dac3ec9d1c554c2e55bf056ece6983add7") (:keywords "languages") (:url . "https://github.com/ensime/ensime-emacs"))]) (enotify . [(20130407 1348) nil "A networked notification system for emacs" tar ((:commit . "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80"))]) (eno . [(20160110 1034) ((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 . "40075bb1ed9e62f42c5799f3d3721734742ed417") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/eno.el"))]) (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"))]) (enh-ruby-mode . [(20180730 2309) ((emacs (24))) "Major mode for editing Ruby files" tar ((:commit . "09e1ed06c1cf323e3b4d45cd86353087e6a12fde") (:keywords "languages" "elisp" "ruby") (:authors ("Geoff Jacobsen")) (:maintainer "Geoff Jacobsen") (:url . "http://github.com/zenspider/Enhanced-Ruby-Mode"))]) (engine-mode . [(20180401 1646) ((cl-lib (0 5))) "Define and query search engines from within Emacs." single ((:commit . "fd5a235b2c93b95143d676e6b654e388d7cdd956") (:authors ("Harry R. Schwartz" . "hello@harryrschwartz.com")) (:maintainer "Harry R. Schwartz" . "hello@harryrschwartz.com") (:url . "https://github.com/hrs/engine-mode"))]) (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"))]) (enclose . [(20121008 1614) nil "Enclose cursor within punctuation pairs." tar ((:commit . "2747653e84af39017f503064bc66ed1812a77259"))]) (emr . [(20180921 2115) ((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)) (iedit (0 97))) "Emacs refactoring system." tar ((:commit . "8856b2ed7e45dd33a5f81e1302a2fba736c64dd6") (:keywords "tools" "convenience" "refactoring") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) (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/"))]) (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"))]) (emojify . [(20180611 1538) ((seq (1 11)) (ht (2 0)) (emacs (24 3))) "Display emojis in Emacs" tar ((:commit . "38ae28d95b58e9fb86a3495a2dda3e5de254c4fc") (:keywords "multimedia" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/emacs-emojify"))]) (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"))]) (emoji-fontset . [(20160726 1924) nil "Set font face for Emoji." single ((:commit . "10be897fa5165fd40fd35a89e38c759e008fa775") (:keywords "emoji" "font" "config") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))]) (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-cheat-sheet-plus . [(20150617 1331) ((emacs (24)) (helm (1 6 4))) "emoji-cheat-sheet for emacs" tar ((:commit . "96a003127d646a2683d81ca906a17eace0a6413e") (: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"))]) (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"))]) (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-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-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-mpv . [(20180503 2127) ((emms (0))) "mpv support for EMMS" single ((:commit . "9c9ffc6f00a737a6db6377681a88e5292ebcf86b") (:keywords "multimedia" "emms" "mpv") (:url . "https://github.com/dochang/emms-player-mpv/"))]) (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-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-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-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 . [(20181101 1813) ((cl-lib (0 5))) "The Emacs Multimedia System" tar ((:commit . "56d9ec27dbbe75496e338f6621e196c04472470f") (: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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ember-mode . [(20181001 936) ((cl-lib (0 5))) "Ember navigation mode for emacs" single ((:commit . "88e5ffd33d8664b4d5124d6aa2ea9ed8d50c8c9e") (:keywords "ember" "ember.js" "emberjs") (:authors ("Aad Versteden" . "madnificent@gmail.com")) (:maintainer "Aad Versteden" . "madnificent@gmail.com"))]) (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"))]) (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"))]) (emamux . [(20170227 337) ((emacs (24 3))) "Interact with tmux" single ((:commit . "39f57786b2cdd3844888df42d71c7bd251f07158") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-emamux"))]) (emacsshot . [(20161018 1443) nil "Snapshot a frame or window from within Emacs" tar ((:commit . "11ace77ab718292d05b82d93178380aff591468b") (:keywords "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl") (:url . "https://github.com/marcowahl/emacsshot"))]) (emacsql-sqlite . [(20180128 2052) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for SQLite" tar ((:commit . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (: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 . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (: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 . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (emacsql . [(20181111 1005) ((emacs (25 1))) "high-level SQL database front-end" tar ((:commit . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (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"))]) (emacsc . [(20161028 1706) nil "helper for emacsc(1)" tar ((:commit . "421e0c567358769e32f670ae8e949d99abae0c28") (:keywords "tools") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/emacsc"))]) (emacsagist . [(20140331 1830) ((cl-lib (0 5))) "Search Packagist.org packages without leaving Emacs" single ((:commit . "aba342ba59c254a88017f25e9fb7a8cd6f2fda83") (:keywords "tools") (:authors ("Brian Zwahr" . "echosa@icloud.com")) (:maintainer "Brian Zwahr" . "echosa@icloud.com") (:url . "http://github.com/echosa/emacsagist"))]) (emacs-setup . [(20120727 1426) nil "Package for maintaining your emacs configuration. Clean up your .emacs!" tar ((:commit . "c783ec13e3b39093fffb6f6d64dccdce8ce4d375"))]) (elx . [(20181111 1007) ((emacs (25 1))) "extract information from Emacs Lisp libraries" single ((:commit . "c554db7e7f2c0c8a503def7739b8205193ba821f") (:keywords "docs" "libraries" "packages") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/elx"))]) (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"))]) (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"))]) (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-multi-term . [(20151022 233) ((emacs (24 4)) (elscreen (1 4 6)) (multi-term (1 3))) "Multi term for elscreen" single ((:commit . "7b6048a0dd80f69460a62bbc6f1af8856141a5ea") (:keywords "elscreen" "multi term") (:authors ("wamei" . "wamei.cho@gmail.com")) (:maintainer "wamei" . "wamei.cho@gmail.com"))]) (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-fr . [(20160920 953) ((elscreen (0)) (seq (1 11))) "Use frame title as screen tab" single ((:commit . "b9c11f80d277086d5d5bf88623e15fc7adbbbe3c") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/elscreen-fr"))]) (elscreen-buffer-group . [(20181027 528) ((emacs (24 4)) (elscreen (0)) (cl-lib (0 5))) "elscreen buffer group" single ((:commit . "cd671c4a86ff6e481d24d060b4069e518940f9c9") (: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 . [(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"))]) (elsa . [(20181110 959) nil "Emacs Lisp Static Analyser" tar ((:commit . "b43830944fd18f0f9e414e4acf411ad9914f2df3") (:keywords "languages" "lisp") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (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"))]) (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"))]) (elpy . [(20181103 1105) ((company (0 9 2)) (emacs (24 4)) (find-file-in-project (3 3)) (highlight-indentation (0 5 0)) (pyvenv (1 3)) (yasnippet (0 8 0)) (s (1 11 0))) "Emacs Python Development Environment" tar ((:commit . "c60189ec9bba29b75f32dfab814a9c7af96520eb"))]) (elpa-mirror . [(20181013 256) ((emacs (24 4))) "Create local package repository so package upgrade never breaks" single ((:commit . "4e94c5058f67ace2f739f5b3a8cd04d30289febf") (:keywords "cloud" "mirror" "elpa") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/elpa-mirror"))]) (elpa-clone . [(20170502 1214) ((emacs (24 4)) (cl-lib (0))) "Clone ELPA archive" single ((:commit . "92f4c9d3570ad002575a90d0cc4a522c203a1110") (: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-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"))]) (eloud . [(20160731 1557) ((emacs (24 4))) "A lightweight, interactive screen reader" single ((:commit . "82c97918585bd2a749251ae87d7732ca9d856c16") (:keywords "extensions") (:authors ("Patrick Smyth" . "patricksmyth01@gmail.com")) (:maintainer "Patrick Smyth" . "patricksmyth01@gmail.com") (:url . "https://github.com/smythp/eloud"))]) (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"))]) (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"))]) (elnode . [(20140203 2306) ((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 . "3f2bf225853e40a2a10386ee5ae0bd6ba5d44ce9"))]) (elmine . [(20170511 720) ((s (1 10 0))) "Redmine API access via elisp." single ((:commit . "432d2f2f7cb5b533f25b993d1001abcadcebe8ed") (:keywords "tools") (:authors ("Arthur Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/elmine"))]) (elmacro . [(20180628 1411) ((s (1 11 0)) (dash (2 13 0))) "Convert keyboard macros to emacs lisp" single ((:commit . "89b9b0feabafd01fee48111d67131c4c9b5fed9a") (:keywords "macro" "elisp" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/elmacro"))]) (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"))]) (elm-test-runner . [(20180918 2255) ((emacs (24 4))) "Enhanced support for running elm-test" single ((:commit . "73696add403cee6547fcb6eb4e49798e1583d0e2") (:authors ("Juan Edi")) (:maintainer "Juan Edi") (:url . "https://github.com/juanedi/elm-test-runner"))]) (elm-mode . [(20181114 2235) ((f (0 17)) (let-alist (1 0 5)) (seq (2 2)) (s (1 7 0)) (emacs (24 4)) (dash (2 13 0))) "Major mode for Elm" tar ((:commit . "a52c0c6216145ec1cf39d06541ad74f33f4816cc") (:authors ("Joseph Collard")) (:maintainer "Joseph Collard") (:url . "https://github.com/jcollard/elm-mode"))]) (elixir-yasnippets . [(20150417 1239) ((yasnippet (0 8 0))) "Yasnippets for Elixir" tar ((:commit . "980ca7626c14ef0573bec0035ec7942796062783"))]) (elixir-mode . [(20180711 1245) ((emacs (24)) (pkg-info (0 4))) "Major mode for editing Elixir files" tar ((:commit . "bfd09392a0253e4b96c642472e5d5b757a5254f8") (:keywords "languages" "elixir") (:url . "https://github.com/elixir-lang/emacs-elixir"))]) (elisp-slime-nav . [(20160128 1909) ((cl-lib (0 2))) "Make M-. and M-, work in elisp like they do in slime" single ((:commit . "34938422929800839e2f935aca890cd4a229ca99") (:keywords "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"))]) (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-refs . [(20181111 2223) ((dash (2 12 0)) (loop (1 2)) (s (1 11 0))) "find callers of elisp functions or macros" single ((:commit . "686aa5e6a6cc7cd20c6e11837251e19f303211b6") (:keywords "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (elisp-lint . [(20180224 2042) ((emacs (24))) "basic linting for Emacs Lisp" single ((:commit . "04b0d36ec0e4dc1bb54c2bf4c2d16b2af8cf6a39") (:keywords "lisp" "maint" "tools") (:authors ("Nikolaj Schumacher <bugs * nschum de>,")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>,") (:url . "http://github.com/gonewest818/elisp-lint/"))]) (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-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-depend . [(20161230 1550) nil "Parse depend libraries of elisp file." single ((:commit . "e4b201ac7dcee4489d58800c299fd04aaa61d07a"))]) (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"))]) (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"))]) (elgrep . [(20181023 959) ((emacs (25 1)) (async (1 9 2))) "Searching files for regular expressions" single ((:commit . "d648df1f2bde466d74c4810d7abab700a10b30d0") (:keywords "tools" "matching" "files" "unix") (:authors ("Tobias Zawada" . "naehring@smtp.1und1.de")) (:maintainer "Tobias Zawada" . "naehring@smtp.1und1.de") (:url . "https://github.com/TobiasZawada/elgrep"))]) (elfeed-web . [(20180829 1716) ((simple-httpd (1 4 3)) (elfeed (1 4 0)) (emacs (24 1))) "web interface to Elfeed" tar ((:commit . "afafa1f7d9e29de55ce5b1709074738a7e185f2a"))]) (elfeed-protocol . [(20181103 810) ((emacs (24 4)) (elfeed (2 1 1)) (cl-lib (0 5)) (auth-source (0))) "Provide owncloud/ttrss protocols for elfeed" tar ((:commit . "936e362bc13714dffdf2b9b1a17a4d708092ab2c") (:keywords "news") (:authors ("Xu Fasheng" . "fasheng.xu@gmail.com")) (:maintainer "Xu Fasheng" . "fasheng.xu@gmail.com") (:url . "https://github.com/fasheng/elfeed-protocol"))]) (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 . "607b8bf4923a995260a072559b77bee188614a06") (:keywords "news") (:authors ("Remy Honig" . "remyhonig@gmail.com")) (:maintainer "Remy Honig" . "remyhonig@gmail.com") (:url . "https://github.com/remyhonig/elfeed-org"))]) (elfeed-goodies . [(20171127 651) ((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 . "fc0c3e72f9fcd7bbf5237f6f2323bc666e8240b4") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/elfeed-goodies"))]) (elfeed . [(20180916 1338) ((emacs (24 3))) "an Emacs Atom/RSS feed reader" tar ((:commit . "afafa1f7d9e29de55ce5b1709074738a7e185f2a"))]) (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"))]) (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"))]) (electric-spacing . [(20161209 1957) nil "Insert operators with surrounding spaces smartly" single ((:commit . "9d0f8a213133f2619a4e9dfbba3b00d4348c07b0") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com"))]) (electric-operator . [(20181030 2155) ((dash (2 10 0)) (emacs (24 4))) "Automatically add spaces around operators" tar ((:commit . "3057f786b2a7b00364da2995da482858e94046e1") (:keywords "electric") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/electric-operator"))]) (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/"))]) (eldoc-overlay . [(20171219 940) ((emacs (24 3)) (inline-docs (1 0 1)) (quick-peek (1 0))) "Display eldoc with contextual documentation overlay." single ((:commit . "a391396f4cdf30a2f27a4c426b58b44ab3d0f0d0") (:keywords "documentation" "eldoc" "overlay") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/eldoc-overlay"))]) (eldoc-eval . [(20180607 1157) nil "Enable eldoc support when minibuffer is in use." single ((:commit . "f59a1ae7ecfa97ef659c7adb93e0673419acc485") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com"))]) (elcouch . [(20180809 936) ((emacs (25 1)) (json-mode (1 0 0)) (libelcouch (0 8 0))) "View and manipulate CouchDB databases" single ((:commit . "ae9b6261c5167d538914bfdbc4d34a36e50b5bc2") (:keywords "data" "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/elcouch"))]) (elcord . [(20181028 650) ((emacs (25))) "Allows you to integrate Rich Presence from Discord" tar ((:commit . "2224b0dd9137c04a62dd8ff7078ab80e9289643e") (:keywords "games") (:authors ("heatingdevice") ("Wilfredo Velázquez-Rodríguez" . "zulu.inuoe@gmail.com")) (:maintainer "heatingdevice") (:url . "https://github.com/Mstrodl/elcord"))]) (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"))]) (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"))]) (el2org . [(20180311 1555) ((emacs (25 1))) "Convert elisp file to org file" single ((:commit . "81f1c97db8911f5bdf92c729630ab509de4ec73f") (:keywords "convenience") (:authors ("Feng Shu <tumashu AT 163.com>")) (:maintainer "Feng Shu <tumashu AT 163.com>") (:url . "https://github.com/tumashu/el2org"))]) (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"))]) (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"))]) (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-sprunge . [(20140107 139) ((web-server (20140105 2246)) (htmlize (20130207 1202)) (emacs (24 3))) "Command line paste server with Emacs highlighting" tar ((:commit . "37855ec60aeb4d565c49a4d711edc7341e9a22cb"))]) (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-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-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-patch . [(20181018 1610) ((emacs (25))) "Future-proof your Elisp." single ((:commit . "3051dd30d6d90b855da16332b5b16b4f754a39c6") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/el-patch"))]) (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-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-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-get . [(20181006 225) nil "Manage the external elisp bits and pieces you depend upon" tar ((:commit . "424487ed3aef4e6a08b48084654e7210deb0512e") (: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-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-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"))]) (ejc-sql . [(20181113 1055) ((emacs (25 1)) (clomacs (0 0 3)) (dash (2 12 1)) (auto-complete (1 5 1)) (spinner (1 7 1)) (direx (1 0 0))) "Emacs SQL client uses Clojure JDBC." tar ((:commit . "9eef50aeecf58fe7cc88722c8ade62edbe22c34e") (:keywords "sql" "jdbc") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/ejc-sql"))]) (eink-theme . [(20170717 1507) nil "E Ink color theme" single ((:commit . "4c990bb3428f725735fa1f733ef4c5ad61f632b0") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://github.com/maio/eink-emacs"))]) (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>"))]) (ein . [(20181113 2117) ((websocket (1 7)) (auto-complete (1 4 0)) (request (0 3)) (deferred (0 5)) (request-deferred (0 2 0)) (cl-generic (0 3)) (dash (2 13 0)) (s (1 11 0)) (skewer-mode (1 6 2))) "Emacs IPython Notebook" tar ((:commit . "07bc906df91bc60d1f39426ea2e86482aa03370c"))]) (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"))]) (eide . [(20180626 1959) nil "IDE interface" tar ((:commit . "6bd4c3b67a532527b3514c72bf2d7371172b8a93"))]) (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"))]) (eglot . [(20181113 2208) ((emacs (26 1)) (jsonrpc (1 0 6))) "Client for Language Server Protocol (LSP) servers" single ((:commit . "0a18dca4cafa9c95f2f7341d7eab39e702c173e3") (: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"))]) (egison-mode . [(20181109 1624) nil "Egison editing mode" single ((:commit . "7b3094bd92000d8ea2136977dbbcc8db754696b9") (:authors ("Satoshi Egi" . "egisatoshi@gmail.com")) (:maintainer "Satoshi Egi" . "egisatoshi@gmail.com") (:url . "https://github.com/egisatoshi/egison3/blob/master/elisp/egison-mode.el"))]) (egg . [(20180713 918) nil "Emacs Got Git - Emacs interface to Git" tar ((:commit . "5bf9879eec067e25a60f2363137c9e69f7b5cc68") (:keywords "git" "version control" "release management") (:authors ("Bogolisk" . "bogolisk@gmail.com")) (:maintainer "Bogolisk" . "bogolisk@gmail.com"))]) (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"))]) (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"))]) (edts . [(20171030 709) ((auto-complete (1 3 1)) (auto-highlight-symbol (1 53)) (dash (2 13)) (erlang (2 4 1)) (f (0 19 0)) (popup (0 4)) (s (1 11 0))) "Erlang Development Tool Suite" tar ((:commit . "6ef4bdf571235ee1b078db321402270cabff7fda"))]) (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"))]) (editorconfig-generate . [(20181116 635) ((emacs (24))) "Generate .editorconfig" single ((:commit . "2921b53700dedf16b57d684439add187663954cd") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/emacs-lisp/blob/master/editorconfig-generate.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-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-charset-extras . [(20180223 457) ((editorconfig (0 6 0))) "Extra EditorConfig Charset Support" single ((:commit . "ddf60923c6f4841cb593b2ea04c9c710a01d262f") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/editorconfig-charset-extras-el"))]) (editorconfig . [(20181115 709) ((cl-lib (0 5))) "EditorConfig Emacs Plugin" tar ((:commit . "d6e48c863ed246be8894c6ee3c3c088ab4db4711") (:authors ("EditorConfig Team" . "editorconfig@googlegroups.com")) (:maintainer "EditorConfig Team" . "editorconfig@googlegroups.com") (:url . "https://github.com/editorconfig/editorconfig-emacs#readme"))]) (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"))]) (edit-server . [(20181016 1125) nil "server that responds to edit requests from Chrome" single ((:commit . "81eb5211f79cf5a2234b7a932f6006d27d506aa5") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs_chrome"))]) (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-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-indirect . [(20180422 1807) ((emacs (24 3))) "Edit regions in separate buffers" single ((:commit . "de645d8144e8a08f039a9c88185121ec81d957ef") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/edit-indirect"))]) (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-at-point . [(20150716 1324) nil "edit(copy,cut..) current things(word,symbol..) under cursor" single ((:commit . "3b800c11685102e1eab62ec71c5fc1589ebb81a7") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/edit-at-point.el"))]) (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"))]) (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"))]) (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 . [(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-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"))]) (edbi-sqlite . [(20160221 1923) ((emacs (24)) (edbi (0 1 3))) "Open sqlite files with edbi" single ((:commit . "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-sqlite"))]) (edbi-minor-mode . [(20160706 1447) ((edbi (0 1 3))) "Use edbi with regular SQL files." single ((:commit . "566a2141a6eb9d9d5d7e1bd7c251d1c5e8f0d2ec") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-minor-mode"))]) (edbi-django . [(20180924 2234) ((emacs (25)) (pythonic (0 1 0)) (edbi (0 1 3))) "Run edbi with django settings" single ((:commit . "c5ae06c4bad57b53c2dbb313cd59e96a1606814d") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-django"))]) (edbi-database-url . [(20160221 1923) ((emacs (24)) (edbi (0 1 3))) "Run edbi with database url" single ((:commit . "d56c580268cd93651998c4c6b1c5558e6b6ca90f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-database-url"))]) (edbi . [(20160225 141) ((concurrent (0 3 1)) (ctable (0 1 2)) (epc (0 1 1))) "Emacs Database Interface" tar ((:commit . "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))]) (ecukes . [(20171216 1208) ((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 . "3a77ba9f1064c2bca47b401974c009e65727c46e"))]) (eclipse-theme . [(20160430 1022) nil "Theme based on Eclipse circa 2010" single ((:commit . "dc54d9312d97210823b922038076e2b1b132eff2") (:keywords "themes") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/eclipse-theme"))]) (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"))]) (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"))]) (ebib . [(20181018 706) ((dash (2 5 0)) (seq (2 15)) (parsebib (2 3)) (emacs (24 4))) "a BibTeX database manager" tar ((:commit . "0163cbaf843661b1bd612936cbf26e7d1d77235c") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (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"))]) (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-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-jekyll . [(20181104 1256) ((emacs (24 4))) "Major mode managing jekyll blogs" single ((:commit . "3b810558b5816a5413460e77f4c6009dd8dfedcc") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-easy-jekyll"))]) (easy-hugo . [(20181030 1238) ((emacs (24 4)) (popup (0 5 3))) "Write blogs made with hugo by markdown or org-mode" single ((:commit . "2a87555a74fdc22d690fd19a04eaa53ad51d694b") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-easy-hugo"))]) (easy-escape . [(20161209 1544) nil "Improve readability of escape characters in regular expressions" single ((:commit . "63fa5fcf9a53b7d3c1e872081e65afad5a722ba8") (: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-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"))]) (eacl . [(20180607 1358) ((emacs (24 3)) (ivy (0 9 1))) "Auto-complete line(s) by grepping project" single ((:commit . "ccf1401b1acff67fe445c95e8be7b09e8c3ae5d8") (: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"))]) (e2wm-term . [(20141009 1308) ((e2wm (1 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perspective of e2wm.el for work in terminal" single ((:commit . "65b5ac88043d5c4048920a048f3599904ca55981") (:keywords "tools" "window manager") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-term"))]) (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-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-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-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-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-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 . [(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>"))]) (e2ansi . [(20180403 1915) ((face-explorer (0 0 3))) "Syntax highlighting support for `less', powered by Emacs." tar ((:commit . "f886e687d50ff58063a92d40623f2400fa913af0") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/e2ansi"))]) (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"))]) (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-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"))]) (dylan-mode . [(20180928 505) nil "Major mode for editing Dylan programs." tar ((:commit . "a347998ae3ab69c181e09d73f49e11666e89fe71") (:authors ("Robert Stockton" . "rgs@cs.cmu.edu")) (:maintainer "Chris Page" . "cpage@opendylan.org"))]) (dyalog-mode . [(20180605 2113) ((cl-lib (0 2)) (emacs (24))) "Major mode for editing Dyalog APL source code" tar ((:keywords "languages") (:authors ("Joakim Hårsman" . "joakim.harsman@gmail.com")) (:maintainer "Joakim Hårsman" . "joakim.harsman@gmail.com") (:url . "https://bitbucket.org/harsman/dyalog-mode/"))]) (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"))]) (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"))]) (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"))]) (dumb-jump . [(20181022 2224) ((emacs (24 3)) (f (0 20 0)) (s (1 11 0)) (dash (2 9 0)) (popup (0 5 3))) "jump to definition for multiple languages without configuration." single ((:commit . "0c893392f6f5e797fc4dcda67cdc44c7ceed31ca") (:keywords "programming") (:authors ("jack angers")) (:maintainer "jack angers"))]) (dumb-diff . [(20171211 2122) ((emacs (24 3))) "fast arbitrary diffs" single ((:commit . "1a2331d283049b71a07c1b06b1e0627a950d55f4") (:keywords "programming" "diff") (:authors ("jack angers")) (:maintainer "jack angers"))]) (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"))]) (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"))]) (dtrt-indent . [(20180921 2221) nil "Adapt to foreign indentation offsets" tar ((:commit . "e860db7235147ed5ac1fd8f12b51dbb7cf2e75f1") (:keywords "convenience" "files" "languages" "c") (:authors ("Julian Scheid" . "julians37@googlemail.com")) (:maintainer "Julian Scheid" . "julians37@googlemail.com"))]) (dtrace-script-mode . [(20150214 623) nil "DTrace code editing commands for Emacs" single ((:commit . "801af1ef16075d31a19830ebb8404bbf3a322f10"))]) (dsvn . [(20130120 2057) nil "Subversion interface" single ((:commit . "17bce692e9bd5a43373d5cb1d66da50e1acb903b") (:keywords "docs") (:authors ("David Kågedal" . "davidk@lysator.liu.se") (" Mattias Engdegård" . "mattiase@acm.org")) (:maintainer "Mattias Engdegård" . "mattiase@acm.org"))]) (drupal-spell . [(20130520 1655) nil "Aspell extra dictionary for Drupal" tar ((:commit . "cddf1dbc71fb4c5c4c50317db6830467fa97cff0") (:keywords "wp") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/drupal-spell"))]) (drupal-mode . [(20171120 2309) ((php-mode (1 5 0))) "Advanced minor mode for Drupal development" tar ((:commit . "47fda0a38a5b197f4606137d9c3b7d44aaeaa886") (: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"))]) (dropbox . [(20181105 306) ((json (1 2)) (oauth (1 0 3))) "Emacs backend for dropbox" single ((:commit . "761254c7de1bd8f76b2065ee2522e66ce3be032d") (:keywords "dropbox") (:authors ("Pavel Panchekha" . "me@pavpanchekha.com")) (:maintainer "Pavel Panchekha" . "me@pavpanchekha.com"))]) (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"))]) (drill-instructor-AZIK-force . [(20151123 514) ((popup (0 5))) "Support AZIK input" tar ((:commit . "008cea202dc31d7d6fb1e7d8e6334d516403b7a5"))]) (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"))]) (drag-stuff . [(20161108 749) nil "Drag stuff (lines, words, region, etc...) around" tar ((:commit . "6d06d846cd37c052d79acd0f372c13006aa7e7c8"))]) (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"))]) (dracula-theme . [(20180710 1324) ((emacs (24))) "Dracula Theme" single ((:commit . "a1c9888b7876ace60a536d27fb290e788bffc9cb") (:authors ("film42")) (:maintainer "film42") (:url . "https://github.com/dracula/emacs"))]) (dr-racket-like-unicode . [(20161021 1211) ((emacs (24 1))) "DrRacket-style unicode input" single ((:commit . "4953f1c8a68472e157a0dcd0a7e35a4ec2577133") (:keywords "i18n" "tools") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk"))]) (dpkg-dev-el . [(20181022 8) ((debian-el (37))) "Emacs modes for debian packaging" tar ((:commit . "a80f8ac5d81720cce90cf3bc5fbb45d50b1953d7"))]) (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"))]) (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"))]) (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/"))]) (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/"))]) (dotnet . [(20170827 1538) nil "Interact with dotnet CLI tool" single ((:commit . "e22fd23bf2bfab980d4802b10c4d872b800f90d4") (:keywords ".net" "tools") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:url . "https://github.com/julienXX/dotnet.el"))]) (dotenv-mode . [(20180207 1914) ((emacs (24 3))) "Major mode for .env files" single ((:commit . "f4c52bcd5313379b9f2460db7f7a33119dfa96ea") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-dotenv-mode"))]) (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"))]) (doom-themes . [(20181101 218) ((emacs (24 4)) (all-the-icons (1 0 0)) (cl-lib (0 5))) "an opinionated pack of modern color-themes" tar ((:commit . "2aa163b8322a55a69296552bc03b1b84413d5abc") (: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"))]) (doom-modeline . [(20181115 1828) ((emacs (25 1)) (all-the-icons (1 0 0)) (shrink-path (0 2 0)) (eldoc-eval (0 1)) (dash (2 11 0))) "A minimal and modern modeline" single ((:commit . "c809e27487bfc70957ec1facc6e83affd9204b5e") (:keywords "faces" "mode-line") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/doom-modeline"))]) (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/"))]) (doneburn-theme . [(20181110 1857) nil "A light theme based on Bozhidar Batsov's Zenburn" single ((:commit . "9c31dd6d664436df73c776560c7a660041b3a5bf") (: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"))]) (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"))]) (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"))]) (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"))]) (dockerfile-mode . [(20181104 1800) ((emacs (24)) (s (1 12))) "Major mode for editing Docker's Dockerfiles" single ((:commit . "7223d92718f78fa3ab15667cdb2ed90cfeb579e7") (:url . "https://github.com/spotify/dockerfile-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"))]) (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-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 . [(20181101 504) ((emacs (24 5)) (dash (2 14 1)) (docker-tramp (0 1)) (magit-popup (2 12 4)) (s (1 12 0)) (tablist (0 70)) (json-mode (1 7 0))) "Emacs interface to Docker" tar ((:commit . "c36bce1bad03833e0d35e260ed1e402c152606ba") (:keywords "filename" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/docker.el"))]) (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"))]) (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"))]) (dna-mode . [(20170804 814) nil "a major mode for editing dna sequences" tar ((:commit . "471d374de22c33eaddd8e41dd8ae29753fab2f6a") (: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"))]) (dmenu . [(20180118 1245) ((cl-lib (0 5))) "simulate the dmenu command line program" single ((:commit . "6e492cd4ee4fb39ecda92776707fc270f54d25e7") (:keywords "convenience" "usability") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))]) (dkmisc . [(20131110 1115) ((emacs (24 1))) "Miscellaneous functions required by dk* packages." tar ((:commit . "fe3d49c6f8322b6f89466361acd97585bdfe0608"))]) (dklrt . [(20131110 1341) ((dkmisc (0 50)) (ledger-mode (20130908 1357)) (emacs (24 1))) "Ledger Recurring Transactions." tar ((:commit . "5d6c99f8018335256ab934b4c1049708ae2d48ba"))]) (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"))]) (dkdo . [(20131110 1119) ((dkmisc (0 50)) (emacs (24 1))) "Do List major mode based on org-mode." tar ((:commit . "fd6bb105e8331fafb6385c5238c988c4c5bbe2da"))]) (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"))]) (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"))]) (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-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-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-commands . [(20181029 804) ((emacs (25 1))) "Run django commands" single ((:commit . "4e6387175b56095e53732cf1d3b3422eb85696fb") (:keywords "tools") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-django-commands"))]) (dizzee . [(20171201 916) nil "A more pleasant way to manage your project's subprocesses in Emacs." tar ((:commit . "e3cf1c2ea5d0fc00747524b6f3c5b905d0a8c8e1"))]) (dix-evil . [(20170105 1423) ((dix (0 3 0)) (evil (1 0 7))) "optional evil-integration with dix.el" single ((:commit . "bcc7fd7aef5d25171978c386c620e09d0ba8d2f8") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (dix . [(20170224 1415) ((cl-lib (0 5))) "minor mode for editing Apertium XML dictionary files" tar ((:commit . "bcc7fd7aef5d25171978c386c620e09d0ba8d2f8") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (ditz-mode . [(20150729 940) nil "Emacs interface to Ditz issue tracking system" single ((:keywords "tools") (:authors ("Glenn Hutchings" . "zondo42@gmail.com")) (:maintainer "Glenn Hutchings" . "zondo42@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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/"))]) (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"))]) (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"))]) (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-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 . [(20140103 2139) ((makey (0 3))) "discover more of Emacs" single ((:commit . "7b0044bbb3b3bd5d811fdfb0f5ac6ec8de1239df") (:authors ("Mickey Petersen" . "mickey@fyeah.org")) (:maintainer "Mickey Petersen" . "mickey@fyeah.org"))]) (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"))]) (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"))]) (disable-mouse . [(20171227 115) nil "Disable mouse commands globally" single ((:commit . "541363bd6353b8b05375552bab884a6315ea545c") (:keywords "mouse") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/disable-mouse"))]) (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"))]) (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"))]) (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"))]) (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"))]) (direnv . [(20180513 823) ((emacs (24 4)) (dash (2 12 0)) (with-editor (2 5 10))) "direnv support" single ((:commit . "6cf079fe8171bdf4bebefe02e8353d7f13847ebd") (: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"))]) (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"))]) (diredfl . [(20180211 214) ((emacs (24))) "Extra font lock rules for a more colourful dired" single ((:commit . "9b2a89951cee8bdf5c0cb67f9c3ad6ac73abf9cb") (:keywords "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/diredfl"))]) (dired-toggle-sudo . [(20151109 1006) nil "Browse directory with sudo privileges." single ((:commit . "02449dbda4e168f99fe5352c9628df5d39e11483") (:keywords "emacs" "dired") (:authors ("Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>")) (:maintainer "Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>"))]) (dired-toggle . [(20140907 2049) nil "provide a simple way to toggle dired buffer for current directory" single ((:commit . "84efb9ec9c327e4da53cdb7cda5b51dcd0ede0e5") (:keywords "dired" "toggle") (:authors ("Xu FaSheng" . "fasheng.xu@gmail.com")) (:maintainer "Xu FaSheng") (:url . "https://github.com/fasheng/dired-toggle"))]) (dired-subtree . [(20180922 1615) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Insert subdirectories in a tree-like fashion" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-single . [(20180824 312) nil "Reuse the current dired buffer to visit a directory" single ((:commit . "b0ccca83df0542c5525c047ae283c0eadf500f5c") (:keywords "dired" "reuse" "buffer") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "crocket" . "crockabiscuit@gmail.com"))]) (dired-sidebar . [(20181111 1740) ((emacs (25 1)) (dired-subtree (0 0 1))) "Tree browser leveraging dired" single ((:commit . "f7782416e5e8e5018f775106dc61dd3a4e5dda84") (:keywords "dired" "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/dired-sidebar"))]) (dired-rsync . [(20180906 1002) ((s (1 12 0)) (dash (2 0 0)) (emacs (24))) "Allow rsync from dired buffers" single ((:commit . "e112bf22c913d1491bb2149250be866ceb1806ff") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/dired-rsync"))]) (dired-rifle . [(20181012 2131) nil "Call rifle(1) from dired" single ((:commit . "a4f7b1e798397688b9c00d3507fcd395ece17a40") (: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-recent . [(20180921 2238) ((emacs (24))) "Dired visited paths history" single ((:commit . "7c5a818ab88fdfa779674931cc6d9466308fcd86") (: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-ranger . [(20180401 2206) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Implementation of useful ranger features for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-rainbow . [(20171202 2248) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Extended file highlighting according to its type" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus 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-open . [(20180922 1113) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Open files from dired using using custom actions" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-narrow . [(20181114 1723) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Live-narrowing of search results for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-launch . [(20180607 1841) nil "Use dired as a launcher" single ((:commit . "ad45940f76ef2f6c3bb55e998829b311de191dae") (:keywords "dired" "launch") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/dired-launch"))]) (dired-k . [(20170313 1503) ((emacs (24 3))) "highlight dired buffer by file size, modified time, git status" tar ((:commit . "c50e8f73358060a448bff66db2d330b52bbeffc1") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-dired-k"))]) (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-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-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-hacks-utils . [(20160527 2136) ((dash (2 5 0))) "Utilities and helpers for dired-hacks collection" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-filter . [(20180922 1107) ((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 . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (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-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-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-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-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-collapse . [(20180724 1644) ((dash (2 10 0)) (f (0 19 0)) (dired-hacks-utils (0 0 1))) "Collapse unique nested paths in dired listing" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-avfs . [(20161012 1104) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "AVFS support for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) (dired-atool . [(20180303 740) ((emacs (24))) "Pack/unpack files with atool on dired." single ((:commit . "bfa95c2a9ef81e8de51a15b2a43f707899946f9c") (:keywords "files") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/dired-atool"))]) (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"))]) (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"))]) (dimmer . [(20180218 411) ((emacs (25))) "visually highlight the selected buffer" single ((:commit . "d033fdda154e688e45cca35902dbff9915351b98") (:keywords "faces" "editing") (:authors ("Neil Okamoto")) (:maintainer "Neil Okamoto") (:url . "https://github.com/gonewest818/dimmer.el"))]) (diminish . [(20170419 1736) nil "Diminished modes are minor modes with no modeline display" single ((:commit . "565a983a39d2e2cffab5df13b34f3b6116723208") (: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"))]) (dim-autoload . [(20180318 2027) nil "dim or hide autoload cookie lines" single ((:commit . "788320fe089fafbdf1cb09d2ab4d29d64a804e21") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/dim-autoload"))]) (dim . [(20160818 949) ((emacs (24 4))) "Change mode-line names of major/minor modes" single ((:commit . "79b81724b951fedffdd3113f473c18990af837a9") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/dim.el"))]) (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"))]) (digitalocean . [(20180603 925) ((request (2 5)) (emacs (24 4))) "Create and manipulate digitalocean droplets" single ((:commit . "1cac663c4bcb7f8325783954df6c0caf3dc20f6e") (:keywords "processes" "tools") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:url . "https://github.com/olymk2/emacs-digitalocean"))]) (digit-groups . [(20160817 226) ((dash (2 11 0))) "Highlight place-value positions in numbers" single ((:authors ("Michael D. Adams <http://michaeldadams.org>")) (:maintainer "Michael D. Adams <http://michaeldadams.org>") (:url . "http://bitbucket.com/adamsmd/digit-groups"))]) (digistar-mode . [(20160218 1955) nil "major mode for Digistar scripts" single ((:commit . "15288b1e1a04b79b5ab7097fdd26d48b2ff41076") (:keywords "languages") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) (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"))]) (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"))]) (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"))]) (diff-hl . [(20180201 1155) ((cl-lib (0 2)) (emacs (24 3))) "Highlight uncommitted changes using VC" tar ((:commit . "154c64affe7bdd16da814d198277d29bd1b6bb2a") (:keywords "vc" "diff") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "https://github.com/dgutov/diff-hl"))]) (dictionary . [(20140718 329) ((connection (1 10)) (link (1 10))) "Client for rfc2229 dictionary servers" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "interface" "dictionary") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (dictcc . [(20171213 2134) ((emacs (24 4)) (cl-lib (0 5)) (ivy (0 10 0))) "Look up translations on dict.cc" single ((:commit . "7b988413f7719820cd846827525142a23f401e50") (:keywords "convenience") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))]) (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"))]) (diary-manager . [(20181027 222) ((emacs (25))) "Simple personal diary." single ((:commit . "1960f854073d37ac0ba6855efda833a790263ee2") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/diary-manager"))]) (dhall-mode . [(20181104 109) ((emacs (24 4))) "a major mode for dhall configuration language" single ((:commit . "1fa48e3aaa1623f2ac3d63a0681f3fb9343fee7a") (:keywords "languages") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:url . "https://github.com/psibi/dhall-mode"))]) (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"))]) (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"))]) (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/"))]) (desktop-environment . [(20180423 853) ((emacs (25 1))) "Helps you control your GNU/Linux computer" single ((:commit . "62fbceded526b8e35c90803bcf80e33ebfe8473a") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (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"))]) (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"))]) (demo-it . [(20180404 332) nil "Create demonstrations" tar ((:commit . "4f74e6f1bb6519587303e20fe59470853b1a0352") (:keywords "demonstration" "presentation" "test") (:authors ("Howard Abrams" . "howard.abrams@gmail.com")) (:maintainer "Howard Abrams" . "howard.abrams@gmail.com"))]) (demangle-mode . [(20180516 245) ((cl-lib (0 1)) (emacs (24))) "Automatically demangle C++ symbols" single ((:commit . "a34b062c8a08d35fe2b9ee66e92f6f9626aae9a3") (:keywords "c" "tools") (:authors ("Ben Liblit" . "liblit@acm.org")) (:maintainer "Ben Liblit" . "liblit@acm.org") (:url . "https://github.com/liblit/demangle-mode"))]) (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"))]) (deft . [(20181029 213) nil "quickly browse, filter, and edit plain text notes" single ((:commit . "47d268355b0d988804e19896770b29da7f01c7aa") (: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/"))]) (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"))]) (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"))]) (define-word . [(20180706 2029) ((emacs (24 3))) "display the definition of word at point." single ((:commit . "637cd29837d4bd5567e17a11a479fd2edfb0e2c1") (:keywords "dictionary" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/define-word"))]) (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"))]) (default-text-scale . [(20180521 649) nil "Easily adjust the font size in all frames" single ((:commit . "512d701df5e2079cad33329184fd7683c3b0b0af") (:keywords "frames" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/default-text-scale"))]) (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"))]) (dedicated . [(20090428 1931) nil "A very simple minor mode for dedicated buffers" single ((:commit . "8275fb672f9cc4ba6682ebda0ef91db827e32992") (:keywords "dedicated" "buffer") (:authors ("Eric Crampton" . "eric@atdesk.com")) (:maintainer "Eric Crampton" . "eric@atdesk.com"))]) (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"))]) (decide . [(20180316 1801) nil "rolling dice and other random things" single ((:commit . "257f0e39ac60ca375942950b44eeaee04cb9d961") (:authors ("Pelle Nilsson" . "perni@lysator.liu.se")) (:maintainer "Pelle Nilsson" . "perni@lysator.liu.se"))]) (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"))]) (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"))]) (debian-el . [(20181020 1513) nil "Emacs helpers specific to Debian users" tar ((:commit . "a499822afc2154ca83edf6a605ed22c5a932fa12"))]) (deadgrep . [(20181021 1349) ((emacs (25 1)) (dash (2 12 0)) (s (1 11 0)) (spinner (1 7 3))) "fast, friendly searching with ripgrep" single ((:commit . "4e177d7c540f0a6d317f08a15dcfec6ba97609fc") (:keywords "tools") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/deadgrep"))]) (ddskk . [(20180707 532) ((ccc (1 43)) (cdb (20141201 754))) "Simple Kana to Kanji conversion program." tar ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992"))]) (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"))]) (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"))]) (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"))]) (datomic-snippets . [(20180817 1045) ((s (1 4 0)) (dash (1 2 0)) (yasnippet (0 6 1))) "Yasnippets for Datomic" tar ((:commit . "4a14228840d5252e13d2bf6209670f26345bbb84"))]) (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"))]) (datetime . [(20181021 1750) ((emacs (24 1)) (extmap (1 0))) "Parsing, formatting and matching timestamps" tar ((:commit . "178befd4881f407ad97c05fadb74589ade7297f2") (:keywords "lisp" "i18n") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/datetime"))]) (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"))]) (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"))]) (dashboard . [(20180902 1848) ((emacs (24 4)) (page-break-lines (0 11))) "A startup screen extracted from Spacemacs" tar ((:commit . "caef4564d50cc00b748d98f6180f26d4036cc8c6") (:keywords "startup" "screen" "tools") (:authors ("Rakan Al-Hneiti")) (:maintainer "Rakan Al-Hneiti") (:url . "https://github.com/rakanalh/emacs-dashboard"))]) (dash-functional . [(20180107 1618) ((dash (2 0 0)) (emacs (24))) "Collection of useful combinators for Emacs Lisp" single ((:commit . "6514359b8606a6a9a94068ccd601fcd6379d6584") (:keywords "lisp" "functions" "combinators"))]) (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 . [(20180910 1856) nil "A modern list library for Emacs" single ((:commit . "6514359b8606a6a9a94068ccd601fcd6379d6584") (:keywords "lists") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (dart-mode . [(20181012 346) ((emacs (24 5)) (cl-lib (0 5)) (dash (2 10 0)) (flycheck (0 23)) (s (1 10))) "Major mode for editing Dart files" single ((:commit . "5d0a7cd09305d2dc4584e72a008db3f099228000") (:keywords "language") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "https://github.com/nex3/dart-mode"))]) (darktooth-theme . [(20181013 906) ((autothemer (0 2))) "From the darkness... it watches" single ((:commit . "780f9e25ae4abccab4e053f2caba7add4bc9d3be") (:url . "http://github.com/emacsfodder/emacs-theme-darktooth"))]) (darkokai-theme . [(20181019 1859) nil "A darker variant on Monokai." single ((:commit . "b887fc6080f8e021058bff7f53fad84c82c81a7a") (:url . "http://github.com/sjrmanning/darkokai"))]) (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"))]) (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"))]) (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"))]) (dark-mint-theme . [(20160302 642) nil "dark & minty fresh theme" single ((:commit . "95c30a26de31549cd341184ba9ab2be8fdc67eba"))]) (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"))]) (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"))]) (darcsum . [(20140316 410) nil "a pcl-cvs like interface for managing darcs patches" tar ((:commit . "00c252b51cb24c25fb74f529960ebd631514a4c1") (:keywords "completion" "convenience" "tools" "vc") (:authors ("John Wiegley" . "johnw@gnu.org")) (:maintainer "John Wiegley" . "johnw@gnu.org"))]) (dap-mode . [(20181026 1913) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (4 0)) (dash-functional (1 2 0)) (tree-mode (1 1 1 1)) (bui (1 1 0)) (f (0 20 0)) (s (1 12 0))) "Debug Adapter Protocol mode" tar ((:commit . "c99258d944f877bcf778375511582c852e4f3e76") (:keywords "languages" "debug") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/yyoncho/dap-mode"))]) (dante . [(20180916 729) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (haskell-mode (13 14)) (s (1 11 0)) (lcr (1 0))) "Development mode for Haskell" single ((:commit . "f16562abe570f5ca0e7abbf8c7058c81976a921f") (: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"))]) (danneskjold-theme . [(20181101 757) nil "Beautiful high-contrast Emacs theme." tar ((:commit . "5c55c2ced259e8bbf658b23fc0cb74946caa009e"))]) (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"))]) (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"))]) (daemons . [(20180610 1510) ((emacs (25 1))) "UI for managing init system daemons (services)" tar ((:commit . "dcf42cb3178d7245d6d49de346d5e2b44e5b7498") (:keywords "unix" "convenience") (:authors ("Chris Bowdon")) (:maintainer "Chris Bowdon") (:url . "https://github.com/cbowdon/daemons.el"))]) (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"))]) (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"))]) (d-mode . [(20181011 1927) ((emacs (24 3))) "D Programming Language major mode for (X)Emacs" single ((:commit . "385cda4afad79000b4cb7704861faf34009b0fc2") (:keywords "d" "programming" "language" "emacs" "cc-mode") (:authors ("William Baxter")) (:maintainer "Russel Winder" . "russel@winder.org.uk"))]) (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"))]) (cython-mode . [(20180213 1654) nil "Major mode for editing Cython files" single ((:commit . "97f5e715acf082cb013169b57966f37708a717ee"))]) (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"))]) (cyphejor . [(20180101 618) ((emacs (24 4))) "Shorten major mode names using user-defined rules" single ((:commit . "df449180d28691c9bdbef7bcb25aee75b2af50ca") (:keywords "mode-line" "major-mode") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/cyphejor"))]) (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"))]) (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"))]) (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"))]) (cyberpunk-theme . [(20180609 509) nil "Cyberpunk Color Theme" single ((:commit . "f8967e46b8bdb3eaf7b72474f2d70997dc1152e9") (:keywords "color" "theme" "cyberpunk") (:authors ("Nicholas M. Van Horn" . "nvanhorn@protonmail.com")) (:maintainer "Nicholas M. Van Horn" . "nvanhorn@protonmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (cubicle-mode . [(20171009 1957) nil "Major mode for the Cubicle model checker" single ((:commit . "c2fba597da83b9ddc1195f1c8710d5330db24735") (:authors ("Alain Mebsout")) (:maintainer "Alain Mebsout"))]) (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"))]) (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"))]) (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"))]) (ctags-update . [(20170728 758) nil "(auto) update TAGS in parent directory using exuberant-ctags" single ((:commit . "783bf91eba1cd27cbb739067a24e15e5e04564e6") (:keywords "exuberant-ctags" "etags") (:authors (nil . "Joseph(纪秀峰) jixiuf@gmail.com")) (:maintainer nil . "Joseph(纪秀峰) jixiuf@gmail.com") (:url . "https://github.com/jixiuf/ctags-update"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-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"))]) (csound-mode . [(20180925 1814) ((emacs (25)) (shut-up (0 3 2)) (multi (2 0 1))) "A major mode for interacting and coding Csound" tar ((:commit . "9bc2d0badf8316cca2d167348bb81a82e34297c8") (:authors ("Hlöðver Sigurðsson" . "hlolli@gmail.com")) (:maintainer "Hlöðver Sigurðsson" . "hlolli@gmail.com") (:url . "https://github.com/hlolli/csound-mode"))]) (csharp-mode . [(20181011 718) nil "C# mode derived mode" single ((:commit . "239527c1f27cf5246505f1faf23269487fdbfdd2") (: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"))]) (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"))]) (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"))]) (crystal-mode . [(20180827 329) ((emacs (24 4))) "Major mode for editing Crystal files" single ((:commit . "8649736fea8960a5e54c3ec934484f231a518ea5") (:keywords "languages" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))]) (cryptsy-public-api . [(20141008 1228) ((json (1 2))) "Library for working with the Cryptsy public API" single ((:commit . "795c204452f880c0087663e7c35faf26ea34af4d") (:keywords "cryptsy" "bitcoin" "litecoin" "dogecoin") (:authors ("Phil Newton" . "phil@sodaware.net")) (:maintainer "Phil Newton" . "phil@sodaware.net"))]) (cryptol-mode . [(20180321 1808) nil "Cryptol major mode for Emacs" single ((:commit . "91f8ad617e5db2fad57a7be1da211f22f3b51550") (: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"))]) (crux . [(20181108 827) ((seq (1 11))) "A Collection of Ridiculously Useful eXtensions" single ((:commit . "308f17d914e2cd79cbc809de66d02b03ceb82859") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/crux"))]) (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"))]) (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"))]) (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"))]) (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"))]) (creds . [(20140510 1706) ((s (1 9 0)) (dash (2 5 0))) "A parser credentials file library (not limited to credentials entries)" tar ((:commit . "b059397a7d59481f05fbb1bb9c8d3c2c69226482"))]) (creamsody-theme . [(20170222 1058) ((autothemer (0 2))) "Straight from the soda fountain." single ((:commit . "32fa3f4e461da92700523b1b20e7b28974c19a26") (:url . "http://github.com/emacsfodder/emacs-theme-creamsody"))]) (crappy-jsp-mode . [(20140311 931) nil "A pretty crappy major-mode for jsp." single ((:commit . "6c45ab92b452411cc0fab9bcee2f456276b4fc40") (:keywords "jsp" "major" "mode"))]) (cquery . [(20180811 2131) ((emacs (25 1)) (lsp-mode (3 4)) (dash (0 13))) "cquery client for lsp-mode" tar ((:commit . "a803e92e77e1ffc74c13a753c1eb4f6f47127a97") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani")) (:maintainer "Tobias Pisani") (:url . "https://github.com/jacobdufault/cquery"))]) (cql-mode . [(20160721 339) ((emacs (24))) "Major mode for editting CQLs" single ((:commit . "2529ade55c125a89d8215f096a74733a90611c5d") (: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"))]) (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"))]) (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"))]) (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"))]) (coverlay . [(20180518 2255) ((emacs (24 1)) (cl-lib (0 5))) "Test coverage overlays" single ((:commit . "8205a845d58755dd7640b2e2b5991bf842998935") (: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"))]) (coverage . [(20180227 457) ((ov (1 0)) (cl-lib (0 5))) "Code coverage line highlighting" single ((:commit . "c73d984168955ca0f47f44b0464aa45282df42b6") (: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"))]) (cov . [(20180415 2031) ((emacs (24 4)) (f (0 18 2)) (s (1 11 0)) (elquery (0))) "Show coverage stats in the fringe." single ((:commit . "7c72a949b9628296af97cc7e4df0af6c3824d66e") (:keywords "coverage" "gcov" "c") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/cov"))]) (counsel-world-clock . [(20171202 737) ((ivy (0 9 0)) (s (1 12 0))) "Display world clock using Ivy." single ((:commit . "04153fbb21e51b1cfd042bdfc6ed1e8355a1edd7") (:authors ("Kuang Chen <http://github.com/kchenphy>")) (:maintainer "Kuang Chen <http://github.com/kchenphy>") (:url . "https://github.com/kchenphy/counsel-world-clock"))]) (counsel-tramp . [(20180911 157) ((emacs (24 3)) (counsel (0 10))) "Tramp ivy interface for ssh, docker, vagrant" single ((:commit . "d44b986135fc09c8feefdba3caa55cc59cefc1e8") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-counsel-tramp"))]) (counsel-spotify . [(20180320 322) ((emacs (25)) (ivy (0 9 0))) "Control Spotify search and select music with Ivy." single ((:commit . "9033e207dccdfea7fe590d2e102d50fcd2bd22e3") (:authors ("Lautaro García <https://github.com/Lautaro-Garcia>")) (:maintainer "Lautaro García <https://github.com/Lautaro-Garcia>"))]) (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-projectile . [(20181020 1906) ((counsel (0 10 0)) (projectile (1 0 0))) "Ivy integration for Projectile" single ((:commit . "7607fb8bb4eb7fbe0ec20f9644b6bbaa5c363330") (:keywords "project" "convenience") (:authors ("Eric Danan")) (:maintainer "Eric Danan") (:url . "https://github.com/ericdanan/counsel-projectile"))]) (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-org-clock . [(20180623 1317) ((emacs (24 3)) (ivy (0 10 0)) (dash (2 0))) "Counsel commands for org-clock" single ((:commit . "960c919ed730f95b740cc6b3b9c17e0e1765d7d8") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/counsel-org-clock"))]) (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-notmuch . [(20180714 40) ((emacs (24)) (ivy (0 10 0)) (notmuch (0 21)) (s (1 12 0))) "Search emails in Notmuch asynchronously with Ivy" single ((:commit . "f4c864eca400abe0bb7420bcee80f2f8259ca0ff") (:keywords "mail") (:authors ("Alexander Fu Xi" . "fuxialexander@gmail.com")) (:maintainer "Alexander Fu Xi" . "fuxialexander@gmail.com") (:url . "https://github.com/fuxialexander/counsel-notmuch"))]) (counsel-gtags . [(20170326 1259) ((emacs (24 3)) (counsel (0 8 0))) "ivy for GNU global" single ((:commit . "220ebb48419ee6891ecbf9ea8fe130b494b17ee2") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-counsel-gtags"))]) (counsel-etags . [(20181105 216) ((emacs (24 4)) (counsel (0 9 1))) "Fast and complete Ctags/Etags solution using ivy" single ((:commit . "2690602b22bbcc70e051f2f9f5fb6a3956a2bf38") (: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-dash . [(20160729 1529) ((emacs (24 4)) (dash (2 12 1)) (dash-functional (1 2 0)) (helm-dash (1 3 0)) (counsel (0 8 0))) "Browse dash docsets using Ivy" single ((:commit . "07fa74a94ff4da5b6c8c4810f5e143e701b480d2") (:keywords "dash" "ivy" "counsel") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/counsel-dash"))]) (counsel-css . [(20180302 1036) ((emacs (24 4)) (counsel (0 7 0)) (cl-lib (0 5))) "stylesheet-selector-aware swiper" single ((:commit . "0536af00236cdce1ed08b40dd46c917e8b4b8869") (: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-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-bbdb . [(20171130 137) ((ivy (0 8 0)) (emacs (24 3))) "Quick search&input email from BBDB based on ivy" single ((:commit . "c86f4b9ef99c9db0b2c4196a300d61300dc2d0c1") (: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 . [(20181111 1805) ((emacs (24 3)) (swiper (0 9 0))) "Various completion functions using Ivy" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "convenience" "matching" "tools") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (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"))]) (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"))]) (copyit-pandoc . [(20160624 2028) ((emacs (24)) (copyit (0 0 1)) (pandoc (0 0 1))) "Copy it, yank anything!" single ((:commit . "f50d033b129d467fb517a351adf3f16cabd82a62") (:keywords "convinience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (copyit . [(20161126 1229) ((emacs (24)) (cl-lib (0 5)) (s (1 9 0))) "Copy it, yank anything!" single ((:commit . "f50d033b129d467fb517a351adf3f16cabd82a62") (:keywords "convenience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (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"))]) (copy-as-format . [(20171216 16) ((cl-lib (0 5))) "Copy buffer locations as GitHub/Slack/JIRA/HipChat/... formatted code" single ((:commit . "971957166fe64d914ec4be209b4f80efeeabbb19") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (constant-theme . [(20180921 1012) ((emacs (24 1))) "A calm, dark, almost monochrome color theme." tar ((:commit . "f7d5bb79b39be65951485c17fe2092cc74b75c7b") (:keywords "themes") (:authors ("Jannis Pohlmann" . "contact@jannispohlmann.de")) (:maintainer "Jannis Pohlmann" . "contact@jannispohlmann.de") (:url . "https://github.com/jannis/emacs-constant-theme"))]) (connection . [(20140718 329) nil "TCP-based client connection" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "network") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (conllu-mode . [(20181104 1742) ((emacs (25)) (cl-lib (0 5)) (flycheck (30)) (hydra (0 13 0)) (s (1 0))) "editing mode for CoNLL-U files" tar ((:commit . "1813121d8aafa0edf28741ad6f013573168cd4a6") (:keywords "extensions") (:authors ("bruno cuconato" . "bcclaro+emacs@gmail.com")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:url . "https://github.com/odanoburu/conllu-mode"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (conda . [(20181107 1951) ((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 . "94e9ece8c90f234b3fafd0fb82a1c24e3473c78e") (: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"))]) (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"))]) (composer . [(20180923 1140) ((emacs (24)) (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 . "6c1578b2352c81cc9a22616a70db2a14b7d2b67f") (:keywords "tools" "php" "dependency" "manager") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/composer.el"))]) (composable . [(20170724 647) ((emacs (24 4))) "composable editing" tar ((:commit . "ac981974f89607393cc61314aaa19672d45b0650") (:keywords "lisp") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io"))]) (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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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-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-try-hard . [(20150902 2206) ((emacs (24 3)) (company (0 8 0)) (dash (2 0))) "get all completions from company backends" single ((:commit . "70b94cfc40c576af404e743133979048e1bd2610") (:keywords "matching") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (company-terraform . [(20180703 1233) ((emacs (24 4)) (company (0 8 12)) (terraform-mode (0 6))) "A company backend for terraform" tar ((:commit . "9c1146bfe23d4c461f4a59577faf4e46fcca7fe9") (: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-tern . [(20161004 1847) ((company (0 8 0)) (tern (0 0 1)) (dash (2 8 0)) (dash-functional (2 8 0)) (s (1 9 0)) (cl-lib (0 5 0))) "Tern backend for company-mode" single ((:commit . "10ac058b065ae73c1f30e9fb7d969dd1a79387be") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/company-tern"))]) (company-tabnine . [(20181114 417) ((emacs (25)) (company (0 9 3)) (cl-lib (0 5)) (unicode-escape (1 1)) (s (1 12 0))) "A company-mode backend for TabNine" single ((:commit . "85277a840357142c44843172b2a2898ad74587a7") (:keywords "convenience") (:authors ("Tommy Xiang" . "tommyx058@gmail.com")) (:maintainer "Tommy Xiang" . "tommyx058@gmail.com") (:url . "https://github.com/TommyX12/company-tabnine/"))]) (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-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-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-solidity . [(20180407 2044) ((company (0 9 0)) (cl-lib (0 5 0)) (solidity-mode (0 1 8))) "Company-mode back-end for solidity-mode" single ((:commit . "32bfe4c8fe282c30ebf4f5cf1f9285f151c8e6d4") (: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-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 . "6ae625f80d90e0779c79de38e8f83a336c1d00fa") (: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-rtags . [(20180730 338) ((emacs (24 3)) (company (0 8 1)) (rtags (2 10))) "RTags back-end for company" single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (company-restclient . [(20151202 1201) ((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 . "19d819b14b7cd186a840369060963a08377d052e") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-restclient"))]) (company-reftex . [(20180713 841) ((emacs (25 1)) (s (1 12)) (company (0 8))) "Company backend based on RefTeX." single ((:commit . "d96ce340851499452c8d4d64bee80a3d7f9e9275") (: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-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-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-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-prescient . [(20181022 2256) ((emacs (25 1)) (prescient (2 2 1)) (company (0 9 6))) "prescient.el + Company" single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (company-posframe . [(20180610 1710) ((emacs (26 0)) (company (0 9 0)) (posframe (0 1 0))) "Use a posframe as company candidate menu" single ((:commit . "47861f501891d3c67958353c25f4dce13b386c3d") (:keywords "abbrev" "convenience" "matching") (:authors ("Clément Pit-Claudel, Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/company-posframe"))]) (company-pollen . [(20160812 1510) ((company (0 9 0)) (pollen-mode (1 0))) "company-mode completion backend for pollen" single ((:commit . "3b57f40f78eb4458e7be41dc4051f9cf0ff6982e") (:keywords "languages" "pollen" "pollenpub" "company") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))]) (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-phpactor . [(20181110 902) ((emacs (24 3)) (cl-lib (0 5)) (company (0 9 6)) (phpactor (0 1 0))) "company-mode backend for Phpactor" single ((:commit . "eda8b34a729b3acb641aafa30552c501dec27d37") (: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-php . [(20181110 303) ((cl-lib (0 5)) (ac-php-core (1)) (company (0 9))) "company completion source for php" single ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (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 . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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-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-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-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-math . [(20171016 1514) ((company (0 8 0)) (math-symbol-lists (1 2))) "Completion backends for unicode math symbols and latex tags" single ((:commit . "3481f03ebb6a613ff85b71ca8edd2d5842c49012") (:keywords "unicode" "symbols" "completion") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/company-math"))]) (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-lsp . [(20181105 1644) ((emacs (25 1)) (lsp-mode (3 4)) (company (0 9 0)) (s (1 2 0)) (dash (2 11 0))) "Company completion backend for lsp-mode." single ((:commit . "d333e5594f8d5e5cb96309f8a913747ff83ab089") (:url . "https://github.com/tigersoldier/company-lsp"))]) (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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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-jedi . [(20151217 321) ((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 . "2f54e791e10f5dc0ff164bfe97f1878359fab6f6") (:authors ("Boy" . "boyw165@gmail.com")) (:maintainer "Boy" . "boyw165@gmail.com"))]) (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-irony . [(20170905 2046) ((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 . "52aca45bcd0f2cb0648fcafa2bbb4f8ad4b2fee7") (:keywords "convenience") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/company-irony/"))]) (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-go . [(20180427 1856) ((company (0 8 0)) (go-mode (1 0 0))) "company-mode backend for Go (using gocode)" single ((:commit . "6730ddbe5142ea62dc8fe415bb1909d2966f7d9e") (:keywords "languages") (:authors ("nsf" . "no.smile.face@gmail.com")) (:maintainer "nsf" . "no.smile.face@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-ghci . [(20160311 200) ((company (0 8 11)) (haskell-mode (13))) "company backend which uses the current ghci process." single ((:commit . "c2d74a41166e76de2e78c87f582ba3a1179b2aa6") (:authors ("Hector Orellana" . "hofm92@gmail.com")) (:maintainer "Hector Orellana" . "hofm92@gmail.com"))]) (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-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-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-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-emoji . [(20180925 2008) ((cl-lib (0 5)) (company (0 8 0))) "company-mode backend for emoji" tar ((:commit . "f0d91d5be0077b20b418a3ba37d36f431fae322f") (: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-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (company (0 7)) (cl-lib (0 5))) "Eclim company backend" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))]) (company-edbi . [(20160221 1923) ((company (0 8 5)) (edbi (0 1 3)) (cl-lib (0 5 0)) (s (1 9 0))) "Edbi backend for company-mode" single ((:commit . "ffaeff75d0457285d16d11db772881542a6026ad") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/company-edbi"))]) (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-dict . [(20180216 956) ((emacs (24 4)) (company (0 8 12)) (parent-mode (2 3))) "A backend that emulates ac-source-dictionary" single ((:commit . "7ab6331d8095e9b93c726da754102fd708c0002e") (: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-dcd . [(20170516 910) ((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 . "4832188a9e42287539a69c372fe1643166a6a7aa") (:keywords "languages") (:authors ("tsukimizake <shomasd_at_gmail.com>")) (:maintainer "tsukimizake <shomasd_at_gmail.com>") (:url . "http://github.com/tsukimizake/company-dcd"))]) (company-coq . [(20181107 2136) ((company-math (1 1)) (company (0 8 12)) (yasnippet (0 11 0)) (dash (2 12 1)) (cl-lib (0 5))) "A collection of extensions for Proof General's Coq mode" tar ((:commit . "24f33527c5917cdd4c3c139f966c49c33b21d4d0"))]) (company-childframe . [(20180705 546) ((emacs (26 0)) (company-posframe (0 1 0))) "Please use company-posframe instead." single ((:commit . "562eaa1e3a0c39dd36f10cda37a3724384fde1df") (:keywords "abbrev" "convenience" "matching") (:authors ("Clément Pit-Claudel, Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/company-mode/company-mode"))]) (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-c-headers . [(20180814 1730) ((emacs (24 1)) (company (0 8))) "Company mode backend for C/C++ header files" single ((:commit . "41331192b3961c8e3a51540678e1d11eaa346f03") (:keywords "development" "company") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net"))]) (company-box . [(20180607 1545) ((emacs (26 0 91)) (dash (2 13)) (dash-functional (1 2 0)) (company (0 9 6))) "Company front-end with icons" tar ((:commit . "6e047e6fd7226a1b8292a74985db82bbccc679c7") (: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-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-axiom . [(20171024 2010) ((emacs (24)) (company (0 9)) (axiom-environment (20171021))) "A company-mode backend for the axiom-environment system" single ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas" "axiom-environment") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))]) (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-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-ansible . [(20180701 1813) ((emacs (24 4)) (company (0 8 12))) "A company back-end for ansible" tar ((:commit . "c6dc714e3a15f89671ae5e8fe668858b20ef63e8") (:keywords "ansible") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:url . "https://github.com/krzysztof-magosa/company-ansible"))]) (company-anaconda . [(20181025 1305) ((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 . "0ab70de1740e67cee451abcf3685c7525ff9e95a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (company . [(20181105 2312) ((emacs (24 3))) "Modular text completion framework" tar ((:commit . "c95a6b41d621de4253b77e512aa61fc0e75acddc") (:keywords "abbrev" "convenience" "matching") (:authors ("Nikolaj Schumacher")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "http://company-mode.github.io/"))]) (common-lisp-snippets . [(20180226 1523) ((yasnippet (0 8 0))) "Yasnippets for Common Lisp" tar ((:commit . "1ddf808311ba4d9e8444a1cb50bd5ee75e4111f6") (:keywords "snippets") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/common-lisp-snippets"))]) (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"))]) (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"))]) (commentary-theme . [(20180816 2115) ((emacs (24))) "A minimal theme with contrasting comments" single ((:commit . "1e2a64719b9d52992c6cdb91911ab313bcd69a77") (:url . "https://github.com/pzel/commentary-theme"))]) (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"))]) (comment-dwim-2 . [(20170809 2054) nil "An all-in-one comment command to rule them all" single ((:commit . "8da8aba4cab4a0a1eef3aea2de219227526876e4") (:keywords "convenience") (:authors ("Rémy Ferré" . "dev@remyferre.net")) (:maintainer "Rémy Ferré" . "dev@remyferre.net") (:url . "https://github.com/remyferre/comment-dwim-2"))]) (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"))]) (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"))]) (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"))]) (comint-intercept . [(20170317 1228) ((emacs (24 3))) "Intercept input in comint-mode" single ((:commit . "a329abf01fa8e0c6b02b46b29bcb421a21120dc5") (: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"))]) (comb . [(20180831 721) ((emacs (25 1))) "Interactive grep tool for manual static analysis" tar ((:commit . "69d59284e19428794b5c0aaa9be0e7d2770cc846") (:keywords "matching") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/comb"))]) (com-css-sort . [(20180927 1543) ((emacs (24 4)) (s (1 12 0))) "Common way of sorting the CSS attributes." single ((:commit . "d4121d2dc88b2f33c1b60a326a07e6f78e1f7a91") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/com-css-sort"))]) (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"))]) (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"))]) (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"))]) (color-theme-solarized . [(20171024 1525) ((color-theme (6 5 5))) "Solarized themes for Emacs" tar ((:commit . "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee"))]) (color-theme-sanityinc-tomorrow . [(20181024 1728) nil "A version of Chris Kempson's \"tomorrow\" themes" tar ((:commit . "d3c694f4c423bc8cfc74bd80d624b974ebc94e02") (: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-sanityinc-solarized . [(20181021 2055) nil "A version of Ethan Schoonover's Solarized themes" tar ((:commit . "fa2afc66beebdf7936b9f1391878798d6426730c") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/color-theme-sanityinc-solarized"))]) (color-theme-modern . [(20161219 1144) ((emacs (24))) "Reimplement colortheme with Emacs 24 theme framework." tar ((:commit . "42a79266f1d7b473e9328e67a455e505e6c3eff5") (:url . "https://github.com/emacs-jp/replace-colorthemes/"))]) (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-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 . [(20080305 834) nil "install color themes" tar ((:commit . "eeb07560b30aaf7934dfd21f5c2518a479905cd9") (: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-moccur . [(20141223 35) nil "multi-buffer occur (grep) mode" single ((:commit . "4f1c59ffd1ccc2ab1a171cd6b721e8cb9e002fb7") (:keywords "convenience") (:url . "http://www.bookshelf.jp/elc/color-moccur.el"))]) (color-identifiers-mode . [(20181011 2114) ((dash (2 5 0)) (emacs (24))) "Color identifiers based on their names" single ((:commit . "91296e02dd5f03fe5ee9aa08f95120fb716d2128") (:keywords "faces" "languages") (:authors ("Ankur Dave" . "ankurdave@gmail.com")) (:maintainer "Ankur Dave" . "ankurdave@gmail.com") (:url . "https://github.com/ankurdave/color-identifiers-mode"))]) (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"))]) (colemak-evil . [(20171015 2307) ((evil (20170323 1140))) "Colemak-friendly keybindings for Evil." single ((:commit . "192c779281ae1fbf2405dcdb55b3c5b2a1d0b3d1") (:authors ("Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com")) (:maintainer "Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com") (:url . "https://github.com/patbl/colemak-evil"))]) (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"))]) (coffee-mode . [(20170324 940) ((emacs (24 3))) "Major mode for CoffeeScript code" single ((:commit . "86ab8aae8662e8eff54d3013010b9c693b16eac5") (:keywords "coffeescript" "major" "mode") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org") (:url . "http://github.com/defunkt/coffee-mode"))]) (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"))]) (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"))]) (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"))]) (codebug . [(20140929 2137) nil "Interact with codebug" single ((:commit . "ac0e4331ba94ccb5203fa492570e1ca6b90c3d52") (:authors ("Shane Dowling")) (:maintainer "Shane Dowling") (:url . "http://www.shanedowling.com/"))]) (code-stats . [(20181110 1952) ((emacs (25)) (request (0 3 0))) "Code::Stats plugin" single ((:commit . "20d60ded0743f01206c3c2e92ab73788def9adcb") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/code-stats-emacs"))]) (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-archive . [(20180706 213) ((emacs (24 3))) "git supported code archive and reference for org-mode" single ((:commit . "bc51428d2761dedc20bca1014cc2760b3af87e0e") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/code-archive"))]) (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"))]) (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"))]) (cnfonts . [(20180830 2128) ((emacs (24))) "A simple Chinese fonts config tool" tar ((:commit . "6d07b14e5c04033966056dd231047f110ce925c0") (:keywords "convenience" "chinese" "font") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/cnfonts"))]) (cmm-mode . [(20150225 746) nil "Major mode for C-- source code" single ((:commit . "c3ad514dff3eb30434f6b20d953276d4c00de1ee"))]) (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"))]) (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"))]) (cmake-mode . [(20180709 1426) nil "major-mode for editing CMake sources" single ((:commit . "7aa41095fd23d31a4572966ba53ad85f61f5bc99"))]) (cmake-ide . [(20181023 1430) ((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 . "0a90200a74913f07c0ed08d1a1d5ebe314af26a4") (:keywords "languages") (:authors ("Atila Neves" . "atila.neves@gmail.com")) (:maintainer "Atila Neves" . "atila.neves@gmail.com") (:url . "http://github.com/atilaneves/cmake-ide"))]) (cmake-font-lock . [(20170117 2025) ((cmake-mode (0 0))) "Advanced, type aware, highlight support for CMake" single ((:commit . "8be491b4b13338078e524e2fe6213c93e18a101e") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/cmake-font-lock"))]) (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"))]) (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"))]) (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"))]) (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"))]) (closql . [(20181031 2158) ((emacs (25 1)) (emacsql-sqlite (3 0 0))) "store EIEIO objects using EmacSQL" single ((:commit . "012b94f8695e194455111fd54eff0b94dd0dd0db") (:keywords "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/closql"))]) (clomacs . [(20181003 1735) ((emacs (24 3)) (cider (0 18 0)) (s (1 12 0)) (simple-httpd (1 4 6))) "Simplifies Emacs Lisp interaction with Clojure." single ((:commit . "6c83a0e2ac13e8fcc4b99183dbb3426bfe8bbb9c") (:keywords "clojure" "interaction") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/clojure-emacs/clomacs"))]) (clojure-snippets . [(20180314 1308) ((yasnippet (0 10 0))) "Yasnippets for clojure" tar ((:commit . "6068dca90467a0f4ebc2cd39338a173d6f5ddc04"))]) (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-mode-extra-font-locking . [(20180114 1711) ((clojure-mode (3 0))) "Extra font-locking for Clojure mode" single ((:commit . "71b32ee95e8ec99098e212cd0ec74cb4c002e8c6") (:keywords "languages" "lisp") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) (clojure-mode . [(20181024 2224) ((emacs (25 1))) "Major mode for Clojure code" single ((:commit . "71b32ee95e8ec99098e212cd0ec74cb4c002e8c6") (:keywords "languages" "clojure" "clojurescript" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) (clojure-cheatsheet . [(20180201 804) ((helm (1 7 7)) (cider (0 9 0))) "The Clojure Cheatsheet for Emacs" single ((:commit . "85c382317a56bbdfac03ae95999c28fc0cde65d7") (:keywords "clojure" "cider" "cheatsheet" "helm") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/clojure-emacs/clojure-cheatsheet"))]) (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"))]) (clocker . [(20160125 2305) ((projectile (0 11 0)) (dash (2 10))) "Note taker and clock-in enforcer" single ((:commit . "4a4831ed4e42e18976edd16b844cb16cb78f3c17") (:keywords "org") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (clj-refactor . [(20180826 2149) ((emacs (25 1)) (seq (2 19)) (yasnippet (0 6 1)) (paredit (24)) (multiple-cursors (1 2 2)) (clojure-mode (5 6 1)) (cider (0 17 0)) (edn (1 1 2)) (inflections (2 3)) (hydra (0 13 2))) "A collection of commands for refactoring Clojure code" tar ((:commit . "ec158357c4f7a375bc47f89de71ea28028a3bfa0") (:keywords "convenience" "clojure" "cider") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Lars Andersen" . "expez@expez.com") ("Benedek Fazekas" . "benedek.fazekas@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (clips-mode . [(20170909 823) nil "Major mode for editing CLIPS code and REPL" tar ((:commit . "dd38e2822640a38f7d8bfec4f69d8dd24be27074"))]) (clippy . [(20161028 1954) ((pos-tip (1 0))) "Show tooltip with function documentation at point" single ((:commit . "ad4b5dba4cede6d4b21533186303d3d3e9a2510f") (:keywords "docs") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/clippy.el"))]) (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"))]) (cliphist . [(20171113 538) ((emacs (24 3)) (ivy (0 9 0))) "Read data from clipboard managers at Linux and Mac" tar ((:commit . "3cf4723defb41196c25bd174630dddd7caa579f2") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (clang-format . [(20180406 1514) ((cl-lib (0 3))) "Format code using clang-format" single ((:commit . "5556c31528af2661bed3011bd63ffc0ed44e18a0") (:keywords "tools" "c"))]) (cl-lib-highlight . [(20140127 2112) ((cl-lib (0 3))) "full cl-lib font-lock highlighting" single ((:commit . "fd1b308e6e989791d1df14438efa6b77d20f7c7e") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/cl-lib-highlight"))]) (cl-format . [(20160413 45) nil "CL format routine." tar ((:commit . "4380cb8009c47cc6d9098b383082b93b1aefa460"))]) (citeproc . [(20180429 757) ((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 . "44f147d228d2d652cdd404d31e987e14519c3eef") (: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"))]) (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"))]) (circe . [(20180525 1231) ((cl-lib (0 5))) "Client for IRC in Emacs" tar ((:commit . "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f") (:url . "https://github.com/jorgenschaefer/circe"))]) (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"))]) (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"))]) (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"))]) (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"))]) (cider-spy . [(20160313 1440) ((emacs (24 4)) (cider (0 10 0)) (dash (2 5 0)) (cl-lib (0 5)) (noflet (0 0 15))) "Spy on CIDER to get info" single ((:commit . "0224608d240e9900e588b6df049c2a87c24fc936") (:keywords "languages" "clojure" "cider" "nrepl") (:authors ("Jon Pither" . "jon.pither@gmail.com")) (:maintainer "Jon Pither" . "jon.pither@gmail.com") (:url . "http://www.github.com/jonpither/cider-spy"))]) (cider-hydra . [(20181015 727) ((cider (0 18 0)) (hydra (0 13 0))) "Hydras for CIDER." single ((:commit . "5956c3909cd9beae11f64973e4f0d830cea7860d") (: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"))]) (cider-eval-sexp-fu . [(20160907 800) ((emacs (24)) (highlight (0)) (eval-sexp-fu (0 4 0))) "Briefly highlights an evaluated sexp." single ((:commit . "5687e7b33e17f2be40b036dac82da4a5bc6705fb") (:keywords "languages" "clojure" "cider") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com"))]) (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 . [(20181110 1413) ((emacs (25)) (clojure-mode (5 9)) (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 . "3a520ec76cdd5509bf231e49809715f20a87d74b") (: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"))]) (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"))]) (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"))]) (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"))]) (choice-program . [(20180921 313) ((emacs (25)) (cl-lib (1 0))) "parameter based program" tar ((:commit . "08ce5a5dd79690aed12fd9d152d8cb4be988fdb1") (:keywords "exec" "execution" "parameter" "option") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/choice-program"))]) (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"))]) (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-wbim . [(20150624 350) nil "Enable Wubi Input Method in Emacs." tar ((:commit . "57ff61ff3895d77335709d24b40cefc4d10b0095"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (cheerilee . [(20160313 1835) ((xelb (0 1))) "Toolkit library" tar ((:commit . "41bd81b5b0bb657241ceda5be6af5e07254d7376") (:keywords "tools"))]) (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"))]) (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"))]) (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/"))]) (cheat-sh . [(20170802 1118) ((emacs (24))) "Interact with cheat.sh" single ((:commit . "e90445124f3f145a047779e42d070a3c5e150f70") (:keywords "docs" "help") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/cheat-sh.el"))]) (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"))]) (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"))]) (char-menu . [(20180101 618) ((emacs (24 3)) (avy-menu (0 1))) "Create your own menu for fast insertion of arbitrary symbols" single ((:commit . "82f0422179737bcb9f93481aebaf1071d54fc859") (:keywords "convenience" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/char-menu"))]) (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"))]) (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"))]) (challenger-deep-theme . [(20180816 2258) ((emacs (24))) "challenger-deep Theme" single ((:commit . "443ca72dca966b3d27dbec9eab54a09cbd76eac0") (:authors ("MaxSt")) (:maintainer "MaxSt") (:url . "https://github.com/challenger-deep-theme/emacs"))]) (cg . [(20181022 1316) ((emacs (24 3))) "major mode for editing Constraint Grammar files" single ((:commit . "34a892aa77c9870006bae988c79f694f2e5a68a3") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://visl.sdu.dk/constraint_grammar.html"))]) (cftag-mode . [(20170812 540) ((emacs (25))) "Emacs mode for editing tag-based CFML files" single ((:commit . "86e77dcbb583191a3e755bdc29534f33d82bfc56") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cftag-mode"))]) (cframe . [(20170917 2209) ((emacs (25)) (buffer-manage (0 6)) (dash (2 13 0))) "customize a frame and fast switch size and positions" single ((:commit . "bb99672502046e87c8f029ce98c637f762a4fc54") (:keywords "frame" "customize") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/cframe"))]) (cfml-mode . [(20170904 249) ((emacs (25)) (mmm-mode (0 5 4)) (cftag-mode (1 0 0))) "Emacs mode for editing CFML files" single ((:commit . "86e77dcbb583191a3e755bdc29534f33d82bfc56") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cfml-mode"))]) (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"))]) (cfengine-code-style . [(20171115 2108) nil "C code style for CFEngine project." single ((:commit . "b662c4620a1535dc2dfbaeced144ee3bfff3474c") (:authors ("Mikhail Gusarov" . "mikhail.gusarov@cfengine.com")) (:maintainer "Mikhail Gusarov" . "mikhail.gusarov@cfengine.com") (:url . "https://github.com/cfengine/core"))]) (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"))]) (cerbere . [(20181113 1641) ((pkg-info (0 5))) "Unit testing in Emacs for several programming languages" tar ((:commit . "bb18d932b16541105d41a668dbf6fc4e833a6dc2") (: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"))]) (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"))]) (centered-window . [(20171127 949) ((emacs (24 4))) "Center the text when there's only one window" single ((:commit . "24f7c5be9def20879f46659082d497e67b55d7af") (: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"))]) (centered-cursor-mode . [(20180112 1555) nil "cursor stays vertically centered" single ((:commit . "00fb47d227f9e211ec1c58161a501a1550c3a60d") (: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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (cdlatex . [(20140707 1126) nil "Fast input methods for LaTeX environments and math" single ((:commit . "ff534912b93fc2c7a6b191b1c8d6d699a46bbb01") (:keywords "tex") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com"))]) (cdb . [(20151205 1343) nil "constant database (cdb) reader for Emacs Lisp" single ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992") (:keywords "cdb") (:authors ("Yusuke Shinyama <yusuke at cs . nyu . edu>")) (:maintainer "SKK Development Team" . "skk@ring.gr.jp"))]) (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"))]) (ccls . [(20181106 546) ((emacs (25 1)) (lsp-mode (4 2)) (dash (0 14)) (projectile (1 0 0))) "ccls client for lsp-mode" tar ((:commit . "07ad553950e69f862f7c74c9b1f02c00ab450d22") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani, Fangrui Song")) (:maintainer "Tobias Pisani, Fangrui Song") (:url . "https://github.com/MaskRay/emacs-ccls"))]) (ccc . [(20151205 1343) nil "buffer local cursor color control library" single ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(20181107 942) ((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 . "199b4380dd3e178ff9df3a9d13d044d67e522b3f") (:keywords "speed" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/cask/cask"))]) (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"))]) (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"))]) (cargo . [(20181112 722) ((emacs (24 3)) (rust-mode (0 2 0)) (markdown-mode (2 4))) "Emacs Minor Mode for Cargo, Rust's Package Manager." tar ((:commit . "f8504cd51021741a3931c28dc5e87cc16687420b") (:keywords "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.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"))]) (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>"))]) (cangjie . [(20181015 1220) ((emacs (24)) (s (1 12 0)) (dash (2 14 1)) (f (0 2 0))) "retrieve cangjie code for han characters" single ((:commit . "98b53c3ffc289d5fbc893651b17280ed2f043d0b") (:keywords "convenience" "writing") (:url . "https://github.com/kisaragi-hiu/cangjie.el"))]) (caml . [(20181011 1328) nil "OCaml code editing commands for Emacs" tar ((:commit . "6fa3d820dfeab531e1c32c044e9ab22d54023c2d") (: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/"))]) (camcorder . [(20160405 434) ((emacs (24)) (names (20150000)) (cl-lib (0 5))) "Record screencasts in gif or other formats." single ((:commit . "b13d939990e6709492efefc0945798adc1c0fcb9") (: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"))]) (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"))]) (call-graph . [(20180509 1335) ((emacs (25 1)) (cl-lib (0 6 1)) (hierarchy (0 7 0)) (tree-mode (1 0 0)) (ivy (0 10 0))) "Library to generate call graph for c/c++ functions" single ((:commit . "7e51c1eea59b13e6c1c099680492ebcd58893399") (:keywords "programming" "convenience") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:url . "https://github.com/beacoder/call-graph"))]) (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>"))]) (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-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-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-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 . [(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"))]) (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"))]) (cal-china-x . [(20180211 1901) ((cl-lib (0 5))) "Chinese localization, lunar/horoscope/zodiac info and more..." tar ((:commit . "e9b309065829af3a9a0c526509bd64d9228fdced") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com") (:url . "https://github.com/xwl/cal-china-x"))]) (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"))]) (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"))]) (cacoo . [(20120319 2359) ((concurrent (0 3 1))) "Minor mode for Cacoo : http://cacoo.com" tar ((:commit . "c9fa04fbe97639b24698709530361c2bb5f3273c"))]) (cache . [(20111019 2300) nil "implementation of a hash table whose key-value pairs expire" single ((:commit . "7499586b6c8224df9f5c5bc4dec96b008258d580") (:authors ("Nathaniel Flath")) (:maintainer "Nathaniel Flath"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (button-lock . [(20150223 1354) nil "Clickable text defined by regular expression" single ((:commit . "f9082feb329432fcf2ac49a95e64bed9fda24d58") (:keywords "mouse" "button" "hypermedia" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))]) (buttercup . [(20181103 1106) nil "Behavior-Driven Emacs Lisp Testing" tar ((:commit . "4089d5f66dcf1dd25d8e56fe6508f1fa48ac097c"))]) (butler . [(20150812 8) ((deferred (0 3 2)) (json (1 2)) (emacs (24))) "Emacs client for Jenkins" tar ((:commit . "8ceb35737107572455cca9a61ff46b3ff78f1016"))]) (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"))]) (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"))]) (buster-mode . [(20140928 1213) nil "Minor mode to speed up development when writing tests with Buster.js" single ((:commit . "de6958ef8369400922618b8d1e99abfa91b97ac5") (:keywords "buster" "testing" "javascript"))]) (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"))]) (bundler . [(20160815 915) ((inf-ruby (2 1)) (cl-lib (0 5))) "Interact with Bundler from Emacs" single ((:commit . "f981f67c33b42243e57a78c358dffff70022b56b") (:keywords "bundler" "ruby") (:authors ("Tobias Svensson" . "tob@tobiassvensson.co.uk")) (:maintainer "Tobias Svensson" . "tob@tobiassvensson.co.uk") (:url . "http://github.com/endofunky/bundler.el"))]) (build-status . [(20171111 1947) ((cl-lib (0 5))) "Mode line build status indicator" single ((:commit . "ef44185d9dd748ea578d68398f3f729a8adb45b5") (: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"))]) (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-farm . [(20180906 1858) ((emacs (24 4)) (bui (1 1 0)) (magit-popup (2 1 0))) "Interface for Nix and Guix build farms (Hydra and Cuirass)" tar ((:commit . "e244dea35566a10253d61be430d3caf81b779af8") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitlab.com/alezost-emacs/build-farm"))]) (bui . [(20180812 2113) ((emacs (24 3)) (dash (2 11 0))) "Buffer interface library" tar ((:commit . "bd3c5ee32d28d80c6eb54b0340626103c32e3093") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/bui.el"))]) (bug-reference-github . [(20180128 1314) nil "Set `bug-reference-url-format' in Github repos" tar ((:commit . "f570a0532bfb44f095b42cf68ab1f69799101137") (: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"))]) (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"))]) (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-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-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-move . [(20160615 1803) nil "easily swap buffers" single ((:commit . "cb517ecf8409b5fdcda472d7190c6021f0c49751") (:keywords "lisp" "convenience") (:url . "https://github.com/lukhas/buffer-move"))]) (buffer-manage . [(20180528 1613) ((emacs (25)) (choice-program (0 3)) (dash (2 13 0))) "manage buffers" tar ((:commit . "8bbe342a4dafcfdaf305baea98bd4208036ab89a") (:keywords "interactive" "buffer" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/buffer-manage"))]) (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-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"))]) (buckwalter . [(20180107 1643) nil "Write arabic using Buckwalter transliteration" single ((:commit . "2aa5451c3682c268adebc6b1191a796466732f53") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (bshell . [(20170903 1837) ((emacs (25)) (buffer-manage (0 5))) "manage and track multiple inferior shells" single ((:commit . "884a8b906617d305e9d5d2c3750618d2f86f9aed") (:keywords "interactive" "shell" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/bshell"))]) (brutalist-theme . [(20181023 1222) nil "Brutalist theme" tar ((:commit . "8899f4f4a7faf0080977cd137e0ad7b00c40f1e8") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://git.madhouse-project.org/algernon/brutalist-theme.el"))]) (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"))]) (browse-kill-ring . [(20171219 1908) nil "interactively insert items from kill-ring" single ((:commit . "8debc43e41d7e51532698331c6f283905890b904") (: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-at-remote . [(20180622 631) ((f (0 17 2)) (s (1 9 0)) (cl-lib (0 5))) "Open github/gitlab/bitbucket/stash page from Emacs" single ((:commit . "99af94ada33badd3e1eceb704e07f62c1eef513a") (:keywords "github" "gitlab" "bitbucket" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) (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"))]) (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/"))]) (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"))]) (bpr . [(20180220 1844) ((emacs (24))) "Background Process Runner" tar ((:commit . "af84a83dea09d86e77d87ac30604f2c5b4bf4117") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (borg . [(20181031 2202) ((emacs (26)) (dash (2 14 1)) (epkg (3 1 1)) (magit (2 13 0))) "assimilate Emacs packages as Git submodules" tar ((:commit . "73990d3039f94da4ba213a3423f42f47f454d5db") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/borg"))]) (boon . [(20181014 927) ((emacs (25 1)) (expand-region (0 10 0)) (dash (2 12 0)) (multiple-cursors (1 3 0))) "Ergonomic Command Mode for Emacs." tar ((:commit . "675719ec1f6608a690fc613214920ac3c0d350a3"))]) (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/"))]) (boogie-friends . [(20171025 255) ((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 . "ff9903783013f3598b6f44c99d47b25c5cdbed00"))]) (bonjourmadame . [(20170919 1134) nil "Say \"Hello ma'am!\"" single ((:commit . "d3df185fce78aefa689fded8e56a654f0fde4ac0"))]) (bongo . [(20171119 242) ((cl-lib (0 5)) (emacs (24 1))) "play music with Emacs" tar ((:commit . "3d246be1e8d14865f5253567ab8fee5d4e9c470c"))]) (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"))]) (bog . [(20180815 2213) ((cl-lib (0 5))) "Extensions for research notes in Org mode" single ((:commit . "b5df3647f55359f8546dcfa991a351673a069a49") (:keywords "bib" "outlines") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/bog"))]) (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"))]) (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"))]) (bm . [(20181012 1631) nil "Visible bookmarks in buffer." tar ((:commit . "b85d407b53e1d852c47fcea2a245a4e67e48c38a") (: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"))]) (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"))]) (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"))]) (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"))]) (bln-mode . [(20180730 1223) nil "binary line navigation minor mode for cursor movement in long lines" single ((:commit . "b5e86b1bc8b7ac25bf8ec07056824861c4c3f050") (:keywords "motion" "location" "cursor" "convenience") (:authors ("Maarten Grachten")) (:maintainer "Maarten Grachten") (:url . "https://github.com/mgrachten/bln-mode"))]) (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"))]) (blimp . [(20180903 2240) ((emacs (25)) (eimp (1 4 0))) "Bustling Image Manipulation Package" single ((:commit . "a4c538c52f2371f4a184e4c905584c6decf7b407") (: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"))]) (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"))]) (blacken . [(20181025 1814) ((emacs (25 2))) "Reformat python buffers using the \"black\" formatter" single ((:commit . "d6929cf32adb180ac3c11da9861f62f57a66a64f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/blacken"))]) (blackboard-theme . [(20161216 656) ((emacs (24))) "TextMate Blackboard Theme" single ((:commit . "d8b984f2541bb86eb4363a2b4c94631e49843d4a") (:authors ("Dong Zheng")) (:maintainer "Dong Zheng") (:url . "https://github.com/don9z/blackboard-theme"))]) (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"))]) (bitlbee . [(20151203 0) nil "Help get Bitlbee (http://www.bitlbee.org) up and running." single ((:commit . "3a92a4119e0c007df2c7dcf1b1c3a5f23ee40e05"))]) (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/"))]) (bitbake . [(20180326 758) ((emacs (24 1)) (dash (2 6 0)) (mmm-mode (0 5 4)) (s (1 10 0))) "Running bitbake from emacs" single ((:commit . "e5088c4b3dfb4feb96850fbc281b4207d23c7713") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/bitbake-el"))]) (bison-mode . [(20160617 552) nil "Major mode for editing bison, yacc and lex files." single ((:commit . "314af3b7af7eb897fd3932616cb8600a85228cea") (:keywords "bison-mode" "yacc-mode") (:authors ("Eric Beuscher" . "beuscher@eecs.tulane.edu")) (:maintainer "Eric Beuscher" . "beuscher@eecs.tulane.edu"))]) (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"))]) (bing-dict . [(20181111 200) nil "Minimalists' English-Chinese Bing dictionary" tar ((:commit . "51266b11bca22923c3a86bc101abf9145d1397d3") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/bing-dict.el"))]) (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"))]) (bind-key . [(20180513 430) nil "A simple way to manage personal keybindings" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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-chord . [(20171204 2010) ((bind-key (1 0)) (key-chord (0 6))) "key-chord binding helper for use-package-chords" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-chords"))]) (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"))]) (bifocal . [(20181110 341) ((emacs (24 4))) "Split-screen scrolling for comint-mode buffers" single ((:commit . "add30c678488cec04976a85ba8cda20805938a01") (:keywords "frames" "processes" "tools") (:url . "https://github.com/riscy/bifocal-mode"))]) (bicycle . [(20180909 2126) ((emacs (25 1))) "cycle outline and code visibility" single ((:commit . "42a5db3514019d539500a67f913411f5533a1eb3") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))]) (bibtex-utils . [(20170817 1919) nil "Provides utilities for extending BibTeX mode" single ((:commit . "ed5ccce46c2088a28a2f0c49caa679d2f20567f0") (:keywords "bibtex") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca") (:url . "https://github.com/plantarum/bibtex-utils"))]) (bibslurp . [(20151202 2346) ((s (1 6 0)) (dash (1 5 0))) "retrieve BibTeX entries from NASA ADS" single ((:commit . "aeba96368f2a06959e4fe945375ce2a54d34b189") (:keywords "bibliography" "nasa ads") (:url . "https://github.com/mkmcc/bibslurp"))]) (bibretrieve . [(20180901 928) ((auctex (11 87)) (emacs (24 3))) "Retrieve BibTeX entries from the internet" tar ((:commit . "600fa1fcc4c5d79c628457f2316f3429c96be006") (:keywords "bibtex" "bibliography" "mathscinet" "arxiv" "zbmath") (:authors ("Antonio Sartori")) (:maintainer "Pavel Zorin-Kranich" . "pzorin@uni-bonn.de") (:url . "https://github.com/pzorin/bibretrieve"))]) (bibliothek . [(20180429 2215) ((emacs (24 4)) (pdf-tools (0 70)) (a (0 1 0 -3 4))) "Managing a digital library of PDFs" single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "tools") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#bibliothek-el"))]) (biblio-core . [(20160901 1815) ((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 . "a5a68fcf677f286f205f32dc7486f6c9f66aa6af") (:keywords "bib" "tex" "convenience" "hypermedia") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "http://github.com/cpitclaudel/biblio.el"))]) (biblio . [(20161014 2304) ((emacs (24 3)) (biblio-core (0 2))) "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org" tar ((:commit . "a5a68fcf677f286f205f32dc7486f6c9f66aa6af"))]) (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/"))]) (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"))]) (better-shell . [(20180625 1316) ((emacs (24 4))) "Better shell management" single ((:commit . "cfcd9d57f87ad68cd72bf4935fd1aaa1d9f059a9") (:keywords "convenience") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:url . "https://github.com/killdash9/better-shell"))]) (better-defaults . [(20170614 404) nil "Fixing weird quirks and poor defaults" single ((:commit . "ab830cf1a0987f43e419565404a4fa8c0a2f5560") (:keywords "convenience") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/better-defaults"))]) (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"))]) (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"))]) (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"))]) (belarus-holidays . [(20180615 1311) nil "Belarus holidays whith transfers" single ((:commit . "410a7dcf46fdcbee762a0c0aa0c7af03230b9656") (:authors ("Yauhen Makei" . "yauhen.makei@gmail.com")) (:maintainer "Yauhen Makei" . "yauhen.makei@gmail.com") (:url . "http://bitbucket.org/EugeneMakei/belarus-holidays.el"))]) (beginend . [(20180827 926) ((emacs (25 3))) "Redefine M-< and M-> for some modes" single ((:commit . "e4ff077de4a2c80e1f42adfc86837537899447a5") (:url . "https://github.com/DamienCassou/beginend"))]) (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/"))]) (beacon . [(20181008 1350) ((seq (2 14))) "Highlight the cursor whenever the window scrolls" single ((:commit . "07a2e9566be2a0b8f59b8ac8668448f1e250a400") (:keywords "convenience") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/beacon"))]) (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"))]) (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"))]) (bbdb2erc . [(20170221 1354) ((bbdb (3 0))) "make bbdb show if pal is online with ERC, click i to chat" single ((:commit . "15db2bd29df0f6ee32c499fdeffb960b6a7f97a0") (:keywords "irc" "contacts" "chat" "client" "internet") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (bbdb-vcard . [(20181005 1019) ((bbdb (3 0))) "vCard import/export for BBDB" tar ((:commit . "3e8630a8c45add7b495d7ef290ba9f402b359489") (: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"))]) (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-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 . [(20180907 311) nil "The Insidious Big Brother Database for GNU Emacs" tar ((:commit . "1a6ad82b11c7059f6a19fba575146cc31c6ffa8b"))]) (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-"))]) (bbcode-mode . [(20180505 927) ((cl-lib (0 5))) "Major mode for phpBB posts (BBCode markup)" single ((:commit . "ee30d43f9029e0919a06be0dde0ed16f201647c1") (:keywords "bbcode" "languages") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/bbcode-mode"))]) (bazel-mode . [(20180223 653) ((emacs (24 3))) "A major mode for editing Bazel files" single ((:commit . "b7aa14516feaed40ee4910eafa81db719de0fe56") (:keywords "languages" "bazel") (:authors ("Neri Marschik")) (:maintainer "Neri Marschik") (:url . "https://github.com/codesuki/bazel-mode"))]) (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"))]) (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"))]) (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-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"))]) (bash-completion . [(20180519 1620) nil "BASH completion for the shell buffer" single ((:commit . "fbdc78b8770833752ac4bda28e2c3ea764bf8e76") (:authors ("Stephane Zermatten" . "szermatt@gmx.net")) (:maintainer "Stephane Zermatten" . "szermatt@gmx.net"))]) (base16-theme . [(20181116 1843) nil "Collection of themes built on combinations of 16 base colors" tar ((:commit . "629c7e3eee756c088808322bbad996d05255f0e4") (:url . "https://github.com/belak/base16-emacs"))]) (bart-mode . [(20180201 229) ((emacs (24 3))) "Real time BART departures info." single ((:commit . "6feeb8f9badbc2ce4b60499bf7bf4acdae4cfed7") (:keywords "convenience" "transit") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/bart-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"))]) (bap-mode . [(20180802 1310) nil "Major-mode for BAP's IR" single ((:commit . "b74e583fa1e82046d79df21be225f9409698d293") (:keywords "languages") (:authors ("Thomas Barabosch <http://github/tbarabosch>")) (:maintainer "Thomas Barabosch" . "thomas.barabosch@fkie.fraunhofer.de") (:url . "https://github.com/fkie-cad/bap-mode"))]) (banner-comment . [(20180923 1911) ((emacs (24 4))) "For producing banner comments." single ((:commit . "ac52f6b24e590787a385c08cc3751d6f2ddca815") (:keywords "convenience") (:authors ("James Ferguson" . "james@faff.org")) (:maintainer "James Ferguson" . "james@faff.org") (:url . "https://github.com/WJCFerguson/banner-comment"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (backline . [(20181111 832) ((emacs (25 1)) (outline-minor-faces (0 1 0))) "Preserve appearance of outline headings" single ((:commit . "960deaef1d87658f79a0bd95c85946371d211590") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/backline"))]) (backlight . [(20180629 2159) ((emacs (24 3))) "backlight brightness adjustment on GNU/Linux" single ((:commit . "096e632bf100d318754d6c961c90ebb0ef29dce5") (:keywords "hardware") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/backlight.el"))]) (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"))]) (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/"))]) (babel . [(20181115 1210) nil "interface to web translation services such as Babelfish" single ((:commit . "972b133ca9054b900de4be8288f79c9896fef548") (: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"))]) (axiom-environment . [(20180823 955) ((emacs (24 2))) "An environment for using Axiom/OpenAxiom/FriCAS" tar ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))]) (aws-snippets . [(20180410 1545) ((yasnippet (0 8 0))) "Yasnippets for AWS" tar ((:commit . "a2ebae582a8c8a5f5f16dbc42ecd2ded9d70fca8") (:keywords "snippets"))]) (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"))]) (avy-zap . [(20160921 2144) ((avy (0 2 0))) "Zap to char using `avy'" single ((:commit . "6081738668ab726099ce1c711c580d9745dfaede") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/avy-zap"))]) (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-menu . [(20180101 620) ((emacs (24 3)) (avy (0 3 0))) "Library providing avy-powered popup menu" single ((:commit . "b133564cc438870d9b5505c8104611c8998fd0d5") (:keywords "popup" "menu") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/avy-menu"))]) (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 . [(20181009 1648) ((emacs (24 1)) (cl-lib (0 5))) "Jump to arbitrary positions in visible text and select text quickly." single ((:commit . "df4c4ac488ee59bc44f8658d9fcca0c86fb32c5c") (:keywords "point" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/avy"))]) (avk-emacs-themes . [(20180921 1233) nil "Collection of avk themes" tar ((:commit . "c0669408cfa423e0d38f990778232a771f63f05e") (:url . "https://github.com/avkoval/avk-emacs-themes"))]) (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"))]) (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"))]) (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"))]) (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"))]) (autotest . [(20180323 2242) nil "ZenTest's autotest integration with emacs." single ((:commit . "4ce20cc5b25a1f1b4669ea8ff2880ec764eaf7da") (: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"))]) (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"))]) (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/"))]) (autodisass-llvm-bitcode . [(20150411 125) nil "Automatically disassemble LLVM bitcode" tar ((:commit . "d2579e3a1427af2dc947c343e49eb3434078bf04"))]) (autodisass-java-bytecode . [(20151005 1612) nil "Automatically disassemble Java bytecode" tar ((:commit . "3d61dbe266133c950b39e880f78d142751c7dc4c"))]) (autobookmarks . [(20180531 1906) ((dash (2 10 0)) (cl-lib (0 5))) "Save recently visited files and buffers" single ((:commit . "e971aa49d97da9f7ed760b37e0b674e45f1c5673") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (auto-yasnippet . [(20180503 1908) ((yasnippet (0 8 0))) "Quickly create disposable yasnippets" single ((:commit . "623734aa418b18ff52cb65a0adb9e359aed31615") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/auto-yasnippet"))]) (auto-virtualenvwrapper . [(20181006 937) ((cl-lib (0 6)) (s (1 10 0)) (virtualenvwrapper (0))) "Lightweight auto activate python virtualenvs" single ((:commit . "72cc9168db475e8328019f9592493560dab832a5") (:keywords "python" "virtualenv" "tools") (:authors ("Marcwebbie" . "marcwebbie@gmail.com") ("Robert Zaremba" . "robert-zaremba@scale-it.pl")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com"))]) (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-sudoedit . [(20180915 706) ((emacs (24)) (f (0 19 0))) "auto sudo edit by tramp" single ((:commit . "16bfa23e6d9c30968a6b6364ada17c88138255f3") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/auto-sudoedit"))]) (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-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-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-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-package-update . [(20180712 2045) ((emacs (24 4)) (dash (2 1 0))) "Automatically update Emacs packages." single ((:commit . "55870d313fbe9db40b1a2b59dbc420ba66a9297e") (:keywords "package" "update") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:url . "http://github.com/rranelli/auto-package-update.el"))]) (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-minor-mode . [(20180527 1123) ((emacs (24 4))) "Enable minor modes by file name and contents" single ((:commit . "c62f4e04c7b73835c399f0348bea0ade2720bcbb") (: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-indent-mode . [(20171222 506) nil "Auto indent Minor mode" tar ((:commit . "28069360a7f89ad0286fd6a53db550752ec58488") (:keywords "auto" "indentation") (:authors ("Matthew L. Fidler, Le Wang & Others")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/auto-indent-mode.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-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-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-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-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-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-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-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-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-clang-async . [(20130526 1514) nil "Auto Completion source for clang for GNU Emacs" single ((:commit . "5d9c5cabbb6b31e0ac3637631c0c8b25184aa8b4") (:keywords "completion" "convenience"))]) (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-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-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-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 . [(20170125 245) ((popup (0 5 0)) (cl-lib (0 5))) "Auto Completion for GNU Emacs" tar ((:commit . "2e83566ddfa758c69afe50b8a1c62a66f47471e3"))]) (auto-compile . [(20180321 1507) ((emacs (24 3)) (packed (2 0 0))) "automatically compile Emacs Lisp libraries" single ((:commit . "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f") (:keywords "compile" "convenience" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/auto-compile"))]) (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-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"))]) (auth-source-pass . [(20181106 1348) ((emacs (25))) "Integrate auth-source with password-store" single ((:commit . "63c0631896b2f2ed6b359e026c6a7949932aa0bf") (:authors ("Damien Cassou" . "damien@cassou.me") ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/auth-password-store"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (attrap . [(20181114 841) ((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 . "f0336cf81a7e3a368a29d7125db652494d28ad61") (: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"))]) (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"))]) (atom-one-dark-theme . [(20181010 1348) nil "Atom One Dark color theme" single ((:commit . "8cba629dce7a2c53c690337915fdcaa80b4af769") (:authors ("Jonathan Chu" . "me@jonathanchu.is")) (:maintainer "Jonathan Chu" . "me@jonathanchu.is") (:url . "https://github.com/jonathanchu/atom-one-dark-theme"))]) (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"))]) (async-await . [(20170208 1150) ((emacs (25)) (promise (1 0))) "Async/Await" single ((:commit . "56ab90e4019ed1f81fd4ad9e8701b5cec7ffa795") (:keywords "async" "await" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-async-await"))]) (async . [(20180527 1730) nil "Asynchronous processing in Emacs" tar ((:commit . "d17c11e6082aa51f421bb037b828bdb15f405618") (:keywords "async") (:url . "https://github.com/jwiegley/emacs-async"))]) (assess . [(20170504 1357) ((emacs (24 1)) (m-buffer (0 15))) "Test support functions" tar ((:commit . "e5b0415126c6bd24bd220759ff04220d963a0195") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (aria2 . [(20141107 2317) ((emacs (24 4))) "Control aria2c commandline tool from Emacs" single ((:commit . "7a944c5100812269369225af7aa9580fedab175f") (:keywords "download" "bittorrent" "aria2") (:authors ("Łukasz Gruner" . "lukasz@gruner.lu")) (:maintainer "Łukasz Gruner" . "lukasz@gruner.lu") (:url . "https://bitbucket.org/ukaszg/aria2-mode"))]) (arduino-mode . [(20180509 36) ((emacs (25)) (cl-lib (0 5)) (spinner (1 7 3))) "Major mode for editing Arduino code." tar ((:commit . "e39cb1c02acb6676aea35f93fbd0d86badce6a38") (:keywords "languages" "arduino") (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/arduino-mode"))]) (archive-rpm . [(20180706 1232) ((emacs (24 4))) "RPM and CPIO support for archive-mode" tar ((:commit . "59f83caebbd2f92fd634f6968e6d17b50ffa3dc7"))]) (archive-region . [(20140201 2342) nil "Move region to archive file instead of killing" single ((:commit . "0d357d4c42a6a248c457f358f81b20fd20fede2f") (: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"))]) (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"))]) (apt-sources-list . [(20180527 1241) ((emacs (24 4))) "Mode for editing APT source.list files" single ((:commit . "44112833b3fa7f4d7e43708e5996782e22bb2fa3") (: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"))]) (apropospriate-theme . [(20181111 2112) nil "A colorful, low-contrast, light & dark theme set for Emacs with a fun name." tar ((:commit . "88c243ec90c1df7918c463b5a7ec875d057e8999") (:keywords "color" "theme") (:url . "https://github.com/waymondo/apropospriate-theme"))]) (aproject . [(20150605 906) nil "Basic project framework for Emacs" tar ((:commit . "3c7d23c341862dfd77fd0a64775df12ddb44ab54") (:keywords "environment" "project") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:url . "https://github.com/vietor/aproject"))]) (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"))]) (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"))]) (apiwrap . [(20180602 2231) ((emacs (25))) "api-wrapping macros" single ((:commit . "e4c9c57d6620a788ec8a715ff1bb50542edea3a6") (:keywords "tools" "maint" "convenience") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/apiwrap.el"))]) (apib-mode . [(20170520 1358) ((markdown-mode (2 1))) "Major mode for API Blueprint files" single ((:commit . "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6") (: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"))]) (apel . [(20170122 2258) nil "APEL (A Portable Emacs Library) provides support for portable Emacs Lisp programs" tar ((:commit . "339eb28ffae3165255a79de9b1fd362f43cd37c3"))]) (apache-mode . [(20180724 351) nil "major mode for editing Apache configuration files" single ((:commit . "d2ac57942f852a727db4fc73004e1e8f046cb657") (:keywords "languages" "faces") (:authors ("Karl Chen" . "quarl@nospam.quarl.org")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/apache-mode"))]) (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"))]) (anzu . [(20161017 1607) ((emacs (24 3))) "Show number of matches in mode-line while searching" single ((:commit . "e6c56ca8b23ac433f7be58b6f3f50801dd4164e4") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-anzu"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ant . [(20160211 1543) nil "helpers for compiling with ant" single ((:commit . "510b5a3f57ee4b2855422d88d359a28922c1ab70") (:keywords "compilation" "ant" "java"))]) (ansible-vault . [(20181116 1706) ((emacs (24 3))) "Minor mode for editing ansible vault files" single ((:commit . "d16389f44a4e76a12c789fe65df20692c7113685") (:keywords "ansible" "ansible-vault" "tools") (:maintainer "Zachary Elliott" . "contact@zell.io") (:url . "http://github.com/zellio/ansible-vault-mode"))]) (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 . [(20180813 114) ((s (1 9 0)) (f (0 16 2))) "Ansible minor mode" tar ((:commit . "8a097176d6772b6667254dbbe19c5fb64527bf5d") (: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"))]) (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"))]) (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"))]) (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"))]) (annotate . [(20171111 736) nil "annotate files without changing them" single ((:commit . "dedbd9e5d5286f1ca8ad73e489d408a20f06156c") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/annotate.el"))]) (anki-mode . [(20181106 1837) ((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 . "365fcfff45ed543f3df0d4110415f6f818ec2727") (:keywords "tools") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/anki-mode"))]) (anki-editor . [(20181005 838) ((emacs (25)) (request (0 3 0)) (dash (2 12 0))) "Minor mode for making Anki cards with Org" tar ((:commit . "0bee0064bc23ff2b3b6fc29beba97346576b380d") (:authors ("Lei Tan")) (:maintainer "Lei Tan") (:url . "https://github.com/louietan/anki-editor"))]) (angular-snippets . [(20140514 523) ((s (1 4 0)) (dash (1 2 0))) "Yasnippets for AngularJS" tar ((:commit . "af5ae0a4a8603b040446c28afcf6ca01a8b4bd7b"))]) (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"))]) (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"))]) (android-mode . [(20181016 709) nil "Minor mode for Android application development" single ((:commit . "f8cabafaa266b56fcf4b3c6942b3ae062735251a") (:keywords "tools" "processes") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/android-mode"))]) (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"))]) (anaconda-mode . [(20181030 2109) ((emacs (25)) (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 . "21a6218c2299575c82573a5c2c773d72b0f8be0d") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (amx . [(20181011 2251) ((emacs (24 4)) (s (0))) "Alternative M-x with extra features." single ((:commit . "4b08edb34c4d9c807ef1a820a629cda15e2347a0") (: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/"))]) (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"))]) (ample-theme . [(20180207 1745) nil "Calm Dark Theme for Emacs" tar ((:commit . "366698400c555211c2082962a5d74f3dd79a78c8") (:keywords "theme" "dark") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:url . "https://github.com/jordonbiondo/ample-theme"))]) (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"))]) (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"))]) (all-the-icons-ivy . [(20180826 2016) ((emacs (24 4)) (all-the-icons (2 4 0)) (ivy (0 8 0))) "Shows icons while using ivy and counsel" single ((:commit . "7baba16410e78ca3c7a564c3731baa75b2e8d93a") (:keywords "faces") (:authors ("asok")) (:maintainer "asok"))]) (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-dired . [(20170418 2131) ((emacs (24 4)) (all-the-icons (2 2 0))) "Shows icons for each file in dired mode" single ((:commit . "980b7747d6c4a7992a1ec56afad908956db0a519") (:keywords "files" "icons" "dired") (:authors ("jtbm37")) (:maintainer "jtbm37"))]) (all-the-icons . [(20180125 1557) ((emacs (24 3)) (memoize (1 0 1))) "A library for inserting Developer icons" tar ((:commit . "52d1f2d36468146c93aaf11399f581401a233306") (: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-ext . [(20170115 205) ((all (1 0))) "M-x all with helm-swoop/anything/multiple-cursors/line-number" single ((:commit . "9f4ef84a147cf4e0af6ef45826d6cb3558db6b88") (:keywords "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"))]) (align-cljlet . [(20160112 2101) ((clojure-mode (1 11 5))) "Space align various Clojure forms" single ((:commit . "602d72a7ad52788a0265e3c6da519464a98166b8") (:url . "https://github.com/gstamp/align-cljlet"))]) (alert . [(20181022 1742) ((gntp (0 1)) (log4e (0 3 0)) (cl-lib (0 5))) "Growl-style notification system for Emacs" single ((:commit . "9f329be87820474925f29b52a1131084c8ea95b9") (:keywords "notification" "emacs" "message") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/alert"))]) (alect-themes . [(20180504 1720) ((emacs (24 0))) "Configurable light, dark and black themes for Emacs 24 or later" tar ((:commit . "4d90833a7381123a979f73fa97a013071ca7ff00") (:keywords "color" "theme") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/alect-themes"))]) (alda-mode . [(20180608 605) ((emacs (24 0))) "An Alda major mode" single ((:commit . "c49dad79591de6662bf5f4eb79acac1d5dd2610e") (:keywords "alda" "highlight") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/alda-mode"))]) (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"))]) (alarm-clock . [(20181114 2335) ((emacs (24 4))) "Alarm Clock" tar ((:commit . "bf3f8e638c21d7ec27a63c28a90a4456de1ee50c") (:keywords "calendar" "tools" "convenience") (:authors ("Steve Lemuel" . "wlemuel@hotmail.com")) (:maintainer "Steve Lemuel" . "wlemuel@hotmail.com") (:url . "https://github.com/wlemuel/alarm-clock"))]) (alan-mode . [(20181011 1129) ((flycheck (32)) (emacs (25 1)) (s (1 12))) "Major mode for editing M-industries Alan files" single ((:commit . "130511906423732fdb941e51ca3e26194f65685a") (:keywords "alan" "languages") (:authors ("Paul van Dam" . "pvandam@m-industries.com")) (:maintainer "Paul van Dam" . "pvandam@m-industries.com") (:url . "https://github.com/M-industries/AlanForEmacs"))]) (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"))]) (airline-themes . [(20180411 406) ((powerline (2 3))) "vim-airline themes for emacs powerline" tar ((:commit . "8b528fbae0e557461315bed82883275d58df41f2") (: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"))]) (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"))]) (ahk-mode . [(20181113 1238) ((emacs (24 3))) "Major mode for editing AHK (AutoHotkey and AutoHotkey_L)" single ((:commit . "fde5be2cd4a0a48dc876031fb25be82892f700e0") (:keywords "ahk" "autohotkey" "hotkey" "keyboard shortcut" "automation") (:authors ("Rich Alesi")) (:maintainer "Rich Alesi") (:url . "https://github.com/ralesi/ahk-mode"))]) (ahg . [(20180921 822) nil "Alberto's Emacs interface for Mercurial (Hg)" single ((:authors ("Alberto Griggio" . "agriggio@users.sourceforge.net")) (:maintainer "Alberto Griggio" . "agriggio@users.sourceforge.net") (:url . "https://bitbucket.org/agriggio/ahg"))]) (aggressive-indent . [(20181018 236) ((emacs (24 1)) (cl-lib (0 5))) "Minor mode to aggressively keep your code always indented" single ((:commit . "cc8da01e32684e1b75d2901400e6723b2c2d42f8") (: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"))]) (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"))]) (ag . [(20180225 1040) ((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 . "77b4f50c5372bf219da496567b2b867261f0d354") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (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"))]) (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"))]) (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"))]) (addressbook-bookmark . [(20171108 634) ((emacs (24))) "An address book based on Standard Emacs bookmarks." single ((:commit . "981355dcfb7477c00d41560a5a66fce73f02c0f5") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/addressbook-bookmark"))]) (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"))]) (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"))]) (adafruit-wisdom . [(20180225 52) ((emacs (25))) "Get/display adafruit.com quotes" single ((:commit . "aafc01726f1b3160321d40160298a0e1b054b382") (: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"))]) (activity-watch-mode . [(20181112 1134) ((emacs (24)) (projectile (0)) (request (0))) "Automatic time tracking extension." single ((:commit . "85a34b213db8ef88db3ae32896bb3235b643e26f") (: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"))]) (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"))]) (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"))]) (achievements . [(20150530 1826) ((keyfreq (0 0 3))) "Achievements for emacs usage." tar nil]) (ace-window . [(20181008 1549) ((avy (0 2 0))) "Quickly switch windows." single ((:commit . "5b88de026cea5fc57e62bb490034392815be5f0f") (:keywords "window" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ace-window"))]) (ace-popup-menu . [(20180101 615) ((emacs (24 3)) (avy-menu (0 1))) "Replace GUI popup menu with something more efficient" single ((:commit . "7b436a0d9e896463d00afbeb7e49a59cc6670e9c") (: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-pinyin . [(20170501 626) ((avy (0 2 0)) (pinyinlib (0 1 0))) "Jump to Chinese characters using avy or ace-jump-mode" single ((:commit . "a9df88c1e6a32a4f4895acbb8c45383693c494c1") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/ace-pinyin"))]) (ace-mc . [(20160409 37) ((ace-jump-mode (1 0)) (multiple-cursors (1 0)) (dash (2 10 0))) "Add multiple cursors quickly using ace jump" single ((:commit . "b106bf6a6c78c3e026fbe9a99a34d6239adce4fd") (: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-link . [(20181103 2106) ((avy (0 4 0))) "Quickly follow links" single ((:commit . "dfd0fdf649703790a9a5ee027f2f86d6f1269d55") (: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-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-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-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-buffer . [(20171031 1550) ((avy (0 4 0)) (dash (2 4 0))) "fast buffer switching extension to `avy'" single ((:commit . "ae5be0415c823f7bb66833aa4af2180d4cf99cef") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ace-jump-buffer"))]) (ace-isearch . [(20170506 712) ((emacs (24))) "A seamless bridge between isearch, ace-jump-mode, avy, helm-swoop and swiper" single ((:commit . "0502f95e333c8059a678745e5a112542965661d1") (:authors ("Akira Tamamori")) (:maintainer "Akira Tamamori") (:url . "https://github.com/tam17aki/ace-isearch"))]) (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"))]) (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"))]) (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"))]) (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-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-rtags . [(20170523 454) ((auto-complete (1 4 0)) (rtags (2 10))) "auto-complete back-end for RTags" single ((:commit . "8578da446a22020ce33b46a05f9114dae39ce92c") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (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-php-core . [(20181115 1442) ((emacs (24)) (dash (1)) (php-mode (1)) (xcscope (1)) (s (1)) (f (0 17 0)) (popup (0 5 0))) "gen tags for php" tar ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (ac-php . [(20171201 934) ((ac-php-core (1)) (auto-complete (1 4 0)) (yasnippet (0 8 0))) "auto-completion source for php" single ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (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-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-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-js2 . [(20140906 1142) ((js2-mode (20090723)) (skewer-mode (1 4))) "Auto-complete source for Js2-mode, with navigation" tar ((:commit . "721c482e1d4a08f4a29a74437257d573e8f69969") (:authors ("Scott Barnett" . "scott.n.barnett@gmail.com")) (:maintainer "Scott Barnett" . "scott.n.barnett@gmail.com") (:url . "https://github.com/ScottyB/ac-js2"))]) (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-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-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-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 . [(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-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-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-geiser . [(20130929 647) ((geiser (0 5)) (auto-complete (1 4))) "Auto-complete backend for geiser" tar ((:commit . "502d18a8a0bd4b5fdd495a99299ba2a632c5cd9a"))]) (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-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-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-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (auto-complete (1 5))) "auto-complete source for eclim" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))]) (ac-dcd . [(20170323 1301) ((auto-complete (1 3 1)) (flycheck-dmd-dub (0 7))) "Auto Completion source for dcd for GNU Emacs" single ((:commit . "1614aa624252e3445b0392c8a9b7197084f3e422") (:keywords "languages") (:authors (nil . "<atila.neves@gmail.com>")) (:maintainer nil . "<atila.neves@gmail.com>") (:url . "http://github.com/atilaneves/ac-dcd"))]) (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-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-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-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-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"))]) (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"))]) (abl-mode . [(20181031 830) nil "Python TDD minor mode" single ((:commit . "b4c65b5a60a83200fe06f6caa77073316e5a4228") (: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"))]) (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/"))]) (abc-mode . [(20171020 1019) nil "Major mode for editing abc music files" single ((:commit . "238deedeb6c90df168045552eb463cfae9e1f88f") (:keywords "local" "docs") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu"))]) (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"))]) (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"))]) (@ . [(20181013 1828) ((emacs (24 3))) "multiple-inheritance prototype-based objects DSL" tar ((:commit . "fe78a75c88429343f017ccd74e62bd9465dba50a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/at-el"))]) (4clojure . [(20131014 2207) ((json (1 2)) (request (0 2 0))) "Open and evaluate 4clojure.com questions" single ((:commit . "3cdfd356c24cd3518397d29ae833f56a4d20b4ca") (:keywords "languages" "data") (:authors ("Joshua Hoff")) (:maintainer "Joshua Hoff"))]) (2048-game . [(20151026 1933) nil "play 2048 in Emacs" single ((:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://bitbucket.org/zck/2048.el"))]) (0xc . [(20170126 353) ((emacs (24 4)) (s (1 11 0))) "Base conversion made easy" single ((:commit . "12c2c6118c062a49594965c69e6a17bb46339eb2") (:keywords "base" "conversion") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/0xc"))]) (0blayout . [(20161008 607) nil "Layout grouping with ease" single ((:commit . "873732ddb99a3ec18845a37467ee06bce4e61d87") (:keywords "convenience" "window-management") (:authors ("Elis \"etu\" Axelsson")) (:maintainer "Elis \"etu\" Axelsson") (:url . "https://github.com/etu/0blayout"))])) |
| | | (1 (zzz-to-char . [(20180101 619) ((emacs (24 4)) (cl-lib (0 5)) (avy (0 3 0))) "Fancy version of `zap-to-char' command" single ((:commit . "db8d9e660ad18a15159779efe34d7a98ef0df535") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/zzz-to-char"))]) (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"))]) (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"))]) (ztree . [(20180512 1850) ((cl-lib (0))) "Text mode directory tree" tar ((:commit . "c54425a094353ec40a8179f9eab3596f76c6cf94") (:keywords "files" "tools") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/ztree"))]) (zprint-mode . [(20181111 1945) ((emacs (24 3))) "reformat Clojure(Script) code using zprint" single ((:commit . "e1a7b7fe48e36e5cdf1269ab394d3cf779fdab58") (:keywords "tools") (:authors ("Paulus Esterhazy" . "pesterhazy@gmail.com")) (:maintainer "Paulus Esterhazy" . "pesterhazy@gmail.com") (:url . "https://github.com/pesterhazy/zprint-mode.el"))]) (zpresent . [(20180605 438) ((emacs (25 1)) (org-parser (0 4)) (dash (2 12 0)) (request (0 3 0))) "Simple presentation mode based on org files." single ((:keywords "comm") (:url . "https://bitbucket.org/zck/zpresent.el"))]) (zpl-mode . [(20180906 1059) ((emacs (24 3))) "ZIMPL major mode" single ((:commit . "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e") (:url . "https://github.com/ax487/zpl-mode.git"))]) (zoutline . [(20180314 1759) nil "Simple outline library." single ((:commit . "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699") (:keywords "outline") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/zoutline"))]) (zotxt . [(20180518 147) ((request-deferred (0 2 0))) "Tools to integrate emacs with Zotero via the zotxt plugin." tar ((:commit . "23a4a9f74a658222027d53a9a83cd4bcc583ca8b"))]) (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"))]) (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"))]) (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"))]) (zoom-window . [(20170302 827) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "cd6ecc103fc30b171bda7daf1f44a550854d0dbf") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))]) (zoom . [(20180310 1221) ((emacs (24 4))) "Fixed and automatic balanced window layout" single ((:commit . "2cdb15c9e753222c8600120edecfb46c2fbfae5d") (:keywords "frames") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/zoom"))]) (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"))]) (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-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-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"))]) (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"))]) (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/"))]) (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"))]) (zmq . [(20181115 2300) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "f6960700f9458f9fe6cbc530da97bd1037d4d882") (:keywords "comm") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-zmq"))]) (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"))]) (zig-mode . [(20181114 1346) ((emacs (24))) "A major mode for the Zig programming language" single ((:commit . "cb485ff8d5d9fab0ac88c7685072fb75df921398") (: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"))]) (zerodark-theme . [(20180911 1451) ((all-the-icons (2 0 0))) "A dark, medium contrast theme for Emacs" single ((:commit . "09a6bc6d8bcc7c2bb89e497dc8f6d3a29f6fe4c2") (:keywords "themes") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/zerodark-theme"))]) (zephir-mode . [(20170918 425) ((cl-lib (0 5)) (pkg-info (0 4)) (emacs (24 3))) "Major mode for editing Zephir code" single ((:commit . "c2c6b7451667e68e29c353616f54ef9195c3fffd") (:keywords "languages") (:authors ("Serghei Iakovlev" . "serghei@phalconphp.com")) (:maintainer "Serghei Iakovlev") (:url . "https://github.com/sergeyklay/zephir-mode"))]) (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"))]) (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"))]) (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"))]) (zenburn-theme . [(20181014 1555) nil "A low contrast color theme for Emacs." single ((:commit . "d71a0f0556c1db785738ab9b0c989df342705a81") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (youdao-dictionary . [(20180714 414) ((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 . "9496ea3ba8aa999db3dbde88d6aa37f3579d8dea") (:keywords "convenience" "chinese" "dictionary") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/youdao-dictionary.el"))]) (yoshi-theme . [(20170330 700) nil "Theme named after my cat" single ((:commit . "eab4fb67e8fec47c25c4c1393ac1211f043dbd44") (:keywords "faces") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/yoshi-theme/"))]) (yoficator . [(20180815 4) nil "Interactively yoficate Russian texts" tar ((:commit . "92d96a342a1ce29500891b71372c515c158ea0d9") (:authors ("Eugene Minkovskii" . "emin@mccme.ru") ("Alexander Krotov" . "ilabdsf@gmail.com")) (:maintainer "Eugene Minkovskii" . "emin@mccme.ru") (:url . "https://gitlab.com/link2xt/yoficator"))]) (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"))]) (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"))]) (ycmd . [(20180724 1256) ((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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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"))]) (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"))]) (yatex . [(20181107 3) nil "Yet Another tex-mode for emacs //野鳥//" tar nil]) (yatemplate . [(20180617 952) ((yasnippet (0 8 1)) (emacs (24 3))) "File templates with yasnippet" tar ((:commit . "4f4fca9f04f7088c98aa195cf33635a35a6055cb") (:keywords "files" "convenience") (:authors ("Wieland Hoffmann" . "themineo+yatemplate@gmail.com")) (:maintainer "Wieland Hoffmann" . "themineo+yatemplate@gmail.com") (:url . "https://github.com/mineo/yatemplate"))]) (yasnippet-snippets . [(20181107 2203) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "7d4e06dbd6e517d27e4f1407b6f5180f29048588") (:keywords "snippets") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com"))]) (yasnippet . [(20181015 1212) ((cl-lib (0 5))) "Yet another snippet extension for Emacs." single ((:commit . "1d96da2e08664c31ff7f6f7441da1f4fa5680b1f") (:keywords "convenience" "emulation") (:maintainer "Noam Postavsky" . "npostavs@gmail.com") (:url . "http://github.com/joaotavora/yasnippet"))]) (yascroll . [(20170315 1906) ((cl-lib (0 3))) "Yet Another Scroll Bar Mode" single ((:commit . "fe4494e5f4faf2832e665c7de0fed99cdbb39478") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) (yarn-mode . [(20170709 1937) ((emacs (24 3))) "Major mode for yarn.lock files." single ((:commit . "998b408d6be05fd1c3a9fd8db6ffaab3bf86d06b") (: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"))]) (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"))]) (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"))]) (yara-mode . [(20170720 651) ((emacs (24))) "Major mode for editing yara rule file" single ((:commit . "af5c05b34a29fc1bd73a6d21c82cc76320b33e5c") (:keywords "yara") (:authors (nil . "binjo.cn@gmail.com")) (:maintainer nil . "binjo.cn@gmail.com") (:url . "not distributed yet"))]) (yapfify . [(20180830 733) nil "(automatically) format python buffers using YAPF." single ((:commit . "b858225e1debe6734ee718e5c3c209152652a8b3") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/yapfify"))]) (yankpad . [(20181115 2209) ((emacs (24))) "Paste snippets from an org-mode file" single ((:commit . "61c2f74b2858f383e95f89f9002f510146f53c4e") (:keywords "abbrev" "convenience") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/yankpad"))]) (yang-mode . [(20180306 1207) nil "major mode for editing YANG files" single ((:commit . "340aec635e359609b22f7e94df15af1af2b070f6") (:authors ("Martin Bjorklund" . "mbj4668@gmail.com")) (:maintainer "Martin Bjorklund" . "mbj4668@gmail.com"))]) (yandex-weather . [(20160311 2037) nil "Fetch Yandex Weather forecasts." tar ((:commit . "6f823fd9e04ff9efb2aa65f333079e9f7e6e5b28"))]) (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"))]) (yaml-mode . [(20180409 607) ((emacs (24 1))) "Major mode for editing YAML files" single ((:commit . "40067a10ac1360f0b9533f0bbbb2eea128e2574d") (:keywords "data" "yaml") (:authors ("Yoshiki Kurihara" . "clouder@gmail.com") ("Marshall T. Vandegrift" . "llasram@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com"))]) (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"))]) (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"))]) (yahtzee . [(20171022 1412) ((emacs (24 3))) "The yahtzee game" single ((:commit . "2f365e48cb37446f01e88c9ec35ed0059ea98bda") (:keywords "games") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:url . "https://github.com/drdv/yahtzee"))]) (yahoo-weather . [(20181026 320) ((emacs (24))) "Displays weather information in mode-line" single ((:commit . "1d2db14daa1706e03dfe4379397eb89234a56400") (:keywords "weather" "mode-line") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/yahoo-weather-mode"))]) (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"))]) (yafolding . [(20170305 317) nil "Yet another folding extension for Emacs" single ((:commit . "57c015ddd7c3454571c80825bc5391d7a10fa1d7") (:keywords "folding") (:authors ("Zeno Zeng" . "zenoofzeng@gmail.com")) (:maintainer "Zeno Zeng" . "zenoofzeng@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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>"))]) (xterm-color . [(20180202 2318) ((cl-lib (0 5))) "ANSI & XTERM 256 color support" single ((:commit . "42374a98f1039e105cad9f16ce585dffc96a3f1c") (:keywords "faces") (:authors (nil . "xristos@sdf.lonestar.org")) (:maintainer nil . "xristos@sdf.lonestar.org") (:url . "https://github.com/atomontage/xterm-color"))]) (xresources-theme . [(20160331 1402) nil "Use your .Xresources as your emacs theme" single ((:commit . "feb0552d31cb54210eabbc1abe32c8ea62841b6f") (:keywords "xresources" "theme") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))]) (xref-js2 . [(20170530 826) ((emacs (25)) (js2-mode (20150909))) "Jump to references/definitions using ag & js2-mode's AST" single ((:commit . "d5f93605405989529c2f66b542def6c32429b927") (:keywords "javascript" "convenience" "tools") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/xref-js2"))]) (xquery-tool . [(20170605 826) nil "A simple interface to saxonb's xquery." single ((:commit . "0d1e2960c48701b83be5255d56324f65a6ee182e") (:keywords "xml" "xquery" "emacs") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:url . "https://github.com/paddymcall/xquery-tool.el"))]) (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"))]) (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"))]) (xmlunicode . [(20160319 1612) nil "Unicode support for XML" tar ((:commit . "f5d185da46414c0509ebd0aa0fab416becf94612") (:keywords "utf-8" "unicode" "xml" "characters") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com"))]) (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"))]) (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"))]) (xml-quotes . [(20151230 2249) nil "read quotations from an XML document" tar ((:commit . "26db170e80b9295861227cdf970721b12539ed44") (:keywords "xml" "quotations") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:url . "https://github.com/ndw/xml-quotes"))]) (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"))]) (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"))]) (xcscope . [(20180426 712) nil "cscope interface for (X)Emacs" single ((:commit . "57bff67460c587acf60f513de622b4c7ab312081") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-math-input . [(20180906 1712) ((emacs (24 1))) "a minor mode for inputting math and Unicode symbols." single ((:commit . "d0120a451daea474abeab7f87cc64d8ddc903ab4") (: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-lookup . [(20180815 1250) ((emacs (24 1))) "look up word on internet." single ((:commit . "e3132ff21c3d0160e5bd5b7222c50dc9840727d4") (: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-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-fly-keys . [(20181031 1817) ((emacs (24 1))) "ergonomic modal keybinding minor mode." single ((:commit . "9f122c3d680f66416c12a87db7db7a0844505120") (: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-find . [(20181101 1535) ((emacs (24 1))) "find replace in pure emacs lisp. Purpose similar to grep/sed." single ((:commit . "6c336c82a4887a4f5aaaa12695902aee5bb1fa30") (: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-elisp-mode . [(20181028 1444) ((emacs (24 3))) "Major mode for editing emacs lisp." single ((:commit . "675560e9ac09122e425b9544ad25793c9844dc21") (: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-css-mode . [(20180629 807) ((emacs (24 3))) "Major mode for editing CSS code." single ((:commit . "9293a1a21cb7c2a6fb4ae9af0e581f30d2e45016") (: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"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (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"))]) (wucuo . [(20181106 2257) ((emacs (24 4))) "Spell check code containing camel case words" single ((:commit . "4e988c101fe82f2e8c7b3710d15982fe28b8d32d") (: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"))]) (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"))]) (wsd-mode . [(20180807 1130) nil "Emacs major-mode for www.websequencediagrams.com" tar ((:commit . "0583df8efb742c90dc56df00f9714e13512cf6d9") (: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"))]) (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"))]) (writeroom-mode . [(20170623 1027) ((emacs (24 1)) (visual-fill-column (1 9))) "Minor mode for distraction-free writing" tar ((:commit . "be822ebe916fe30e8de228289757df1a30009a57") (:keywords "text") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (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"))]) (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"))]) (workgroups2 . [(20141102 1922) ((cl-lib (0 4)) (dash (2 8 0)) (anaphora (1 0 0)) (f (0 17))) "New workspaces for Emacs" single ((:commit . "928d509157ec8a4a2e343b6115dff034c3243a7a") (: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"))]) (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"))]) (worf . [(20180620 1711) ((swiper (0 7 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 . "b48e0c9bbd617ed8a8962174d804ce7a6da1c10a") (:keywords "lisp") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/worf"))]) (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"))]) (wordnut . [(20180313 443) ((emacs (24 4))) "Major mode interface to WordNet" tar ((:commit . "feac531404041855312c1a046bde7ea18c674915"))]) (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"))]) (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"))]) (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/"))]) (wolfram . [(20170123 756) nil "Wolfram Alpha Integration" single ((:commit . "6b5dceae3fd6cdb4d7562510deeafa02c93c010b") (:keywords "math") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com"))]) (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"))]) (with-simulated-input . [(20170821 617) ((emacs (24 4)) (seq (2 0)) (s (0))) "A macro to simulate user input non-interactively" single ((:commit . "af9a38ce28a741e6d8742750bef5d7b5afa13796") (:keywords "lisp" "tools" "extensions") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson"))]) (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-editor . [(20181113 1845) ((emacs (24 4)) (async (1 9))) "Use the Emacsclient as $EDITOR" tar ((:commit . "9dd9f176d96abc60365369de6d08c26c414ef1f3") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/with-editor"))]) (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"))]) (wisp-mode . [(20180520 758) nil "Tools for wisp: the Whitespace-to-Lisp preprocessor" tar ((:keywords "languages" "lisp") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) (winum . [(20181107 47) ((cl-lib (0 5)) (dash (2 13 0))) "Navigate windows and frames using numbers." single ((:commit . "8bafa66f800e43a2e5d596e000047a80b0e62cd7") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (window-purpose . [(20180926 1047) ((emacs (24 4)) (let-alist (1 0 3)) (imenu-list (0 1))) "Purpose-based window management for Emacs" tar ((:commit . "2b640955235d0a50dd1e3128612f41d595bc6dc8") (:keywords "frames") (:authors ("Bar Magal")) (:maintainer "Bar Magal") (:url . "https://github.com/bmag/emacs-purpose"))]) (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-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-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-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-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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (wiki-nav . [(20150223 1354) ((button-lock (1 0 2)) (nav-flash (1 0 0))) "Simple file navigation using [[WikiStrings]]" single ((:commit . "f9082feb329432fcf2ac49a95e64bed9fda24d58") (:keywords "mouse" "button" "hypermedia" "navigation") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))]) (widgetjs . [(20160719 1504) ((makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1)) (s (1 9 0))) "Widgetjs mode" single ((:commit . "7b35a8ebea4a96aadca0ec732d4504474812fd3c") (:keywords "help") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (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>"))]) (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"))]) (whole-line-or-region . [(20181116 2249) nil "operate on current line if region undefined" single ((:commit . "6fcbd6e403a8a66813fdf64ddd3f03b904c82a88") (:keywords "convenience" "wp") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (whizzml-mode . [(20180711 1610) ((emacs (24 4))) "Programming mode for editing WhizzML files" tar ((:commit . "f457052dc5426d542ca69185a5a87905f08f1310") (:keywords "languages" "lisp") (:authors ("Jose Antonio Ortega Ruiz" . "jao@bigml.com")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@bigml.com"))]) (whitespace-cleanup-mode . [(20170506 223) nil "Intelligently call whitespace-cleanup on save" single ((:commit . "6d0a35159ee04ef9f3b1a80c548f545643ddb397") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))]) (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"))]) (white-sand-theme . [(20151117 1648) ((emacs (24))) "Emacs theme with a light background." single ((:commit . "97621edd69267dd143760d94393db2c2558c9ea4") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (which-key . [(20181114 1432) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "43e3e3d7641a8e1c298b37e6a277612bf0898708") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))]) (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/"))]) (wgrep-pt . [(20140510 2231) ((wgrep (2 1 5))) "Writable pt buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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"))]) (wgrep-helm . [(20170510 2239) ((wgrep (2 1 1))) "Writable helm-grep-mode buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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-ag . [(20160923 1103) ((wgrep (2 1 5)) (cl-lib (0 5))) "Writable ag buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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-ack . [(20141012 1011) ((wgrep (2 1 1))) "Writable ack-and-a-half buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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 . [(20180711 626) nil "Writable grep buffer and apply the changes to files" single ((:commit . "414be70bd313e482cd9f0b70fd2daad4ee23497c") (: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"))]) (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"))]) (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"))]) (weechat . [(20180513 1010) ((s (1 3 1)) (cl-lib (0 2)) (emacs (24)) (tracking (1 2))) "Chat via WeeChat's relay protocol in Emacs" tar ((:commit . "8cbda2738149b070c09288df550781b6c604beb2"))]) (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"))]) (websocket . [(20180423 16) ((cl-lib (0 5))) "Emacs WebSocket client and server" single ((:commit . "0d96ba2ff5a25c6cd6c66f417cc9b5f38a4308ba") (:keywords "communication" "websocket" "server") (:authors ("Andrew Hyatt" . "ahyatt@gmail.com")) (:maintainer "Andrew Hyatt" . "ahyatt@gmail.com"))]) (webpaste . [(20180815 1855) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "e7fed98c30e960911426be054bad183fd1ab6a37") (:keywords "convenience" "comm" "paste") (:authors ("Elis \"etu\" Hirwing")) (:maintainer "Elis \"etu\" Hirwing") (:url . "https://github.com/etu/webpaste.el"))]) (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"))]) (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"))]) (web-server . [(20140906 6) ((emacs (24 3))) "Emacs Web Server" tar ((:commit . "469cd3bc117bfb8da0c03a2a2fb185e80c81d068") (: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"))]) (web-search . [(20181028 525) ((emacs (24 3))) "Open a web search" tar ((:commit . "24f5b49774f4fb60c903c2b65598590d1c6456d9") (:keywords "web" "search") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/web-search.el"))]) (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-mode-edit-element . [(20161114 1754) ((emacs (24 4)) (web-mode (14))) "Helper-functions for attribute- and element-handling" tar ((:commit . "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce") (: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-mode . [(20181104 2004) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "29ced993bb1a435bd82d3e7395bed13b99e87de4") (:keywords "languages") (:authors ("François-Xavier Bois <fxbois AT Google Mail Service>")) (:maintainer "François-Xavier Bois") (:url . "http://web-mode.org"))]) (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-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 . [(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"))]) (weather-metno . [(20150901 107) ((emacs (24)) (cl-lib (0 3))) "Weather data from met.no in Emacs" tar ((:commit . "bfc7137095e0ee71aad70ac46f2af677f3c051b6"))]) (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"))]) (wcheck-mode . [(20180126 1216) nil "General interface for text checkers" tar ((:commit . "6aa26626ccc6f7f670de092c7d40e44ab8b410f9"))]) (wc-mode . [(20170127 429) nil "Running word count with goals (minor mode)" single ((:commit . "f218f42709a651b34d6c1ddd98856f44648ef707") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:url . "https://github.com/bnbeckwith/wc-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"))]) (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"))]) (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"))]) (warm-night-theme . [(20161101 1428) ((emacs (24))) "Emacs 24 theme with a dark background." single ((:commit . "020f084d23409b5035150508ba6e57c2509edd64") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (wanderlust . [(20181117 717) ((semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "05318ec3c724d5a0dad449a16b128a601bbce5ff"))]) (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"))]) (wand . [(20180815 1031) ((dash (20161121 55)) (s (20160928 636))) "Magic wand for Emacs - Select and execute" tar ((:commit . "5c0d4833a3afc57e4b2398250139729cc9131d16") (:keywords "extensions" "tools") (:authors ("Ha-Duong Nguyen <cmpitgATgmail>")) (:maintainer "Ha-Duong Nguyen <cmpitgATgmail>") (:url . "https://github.com/cmpitg/wand"))]) (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"))]) (wakib-keys . [(20180818 1829) ((emacs (24 4))) "Minor Mode for Modern Keybindings" single ((:commit . "a858979620bd22801e5ce214dd46d69b19ccd357") (:keywords "convenience" "keybindings" "keys") (:authors ("Abdulla Bubshait")) (:maintainer "Abdulla Bubshait") (:url . "https://github.com/darkstego/wakib-keys/"))]) (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"))]) (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"))]) (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"))]) (wacspace . [(20180311 2350) ((dash (1 2 0)) (cl-lib (0 2))) "The WACky WorkSPACE manager for emACS" tar ((:commit . "54d19aab6fd2bc5945b7ffc58104e695064927e2"))]) (w3m . [(20181022 855) nil "an Emacs interface to w3m" tar ((:commit . "f392ad9864d3ec30e8b8151bdbd714f51be21bf3") (:keywords "w3m" "www" "hypermedia"))]) (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"))]) (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"))]) (vue-mode . [(20180827 15) ((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 . "33436c53e3f1b683b1069043a10a77dad805df03") (:keywords "languages") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com"))]) (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"))]) (vscode-icon . [(20180922 2150) ((emacs (25 1))) "Utility package to provide Vscode style icons" tar ((:commit . "3ad83ee122d312775a101c975424a2c87c3a80b1") (:keywords "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/vscode-icon-emacs"))]) (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/"))]) (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"))]) (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"))]) (vmd-mode . [(20180223 1356) ((emacs (24 3))) "Fast Github-flavored Markdown preview using a vmd subprocess." single ((:commit . "24e38a20951dfad6e3e985c7cc6286c1e271da5f") (:keywords "markdown" "preview" "live" "vmd") (:authors ("Blake Miller" . "blak3mill3r@gmail.com")) (:maintainer "Blake Miller" . "blak3mill3r@gmail.com") (:url . "https://github.com/blak3mill3r/vmd-mode"))]) (vlf . [(20180201 2254) nil "View Large Files" tar ((:commit . "31b292dc85a374fb343789e217015683bfbdf5f1") (:keywords "large files" "utilities") (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/vlfi"))]) (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/"))]) (visual-regexp . [(20170301 116) ((cl-lib (0 2))) "A regexp/replace command for Emacs with interactive visual feedback" single ((:commit . "b3096c2d391ff4e28a2a4e8cd82efbf11071ea85") (: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-fill-column . [(20180919 757) ((emacs (24 3))) "fill-column for visual-line-mode" single ((:commit . "33f68b9d94b5877f21209b68438a3cd95f801dc1") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (virtualenvwrapper . [(20180212 144) ((dash (1 5 0)) (s (1 6 1))) "a featureful virtualenv tool for Emacs" single ((:commit . "bf13158dde071bdf4901709ed101aba6b8a25f7f") (: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"))]) (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"))]) (vimrc-mode . [(20181116 1919) nil "Major mode for vimrc files" single ((:commit . "13bc150a870d5d4a95f1111e4740e2b22813c30e") (:keywords "languages" "vim") (:url . "https://github.com/mcandre/vimrc-mode"))]) (vimish-fold . [(20181101 1650) ((emacs (24 4)) (cl-lib (0 5)) (f (0 18 0))) "Fold text like in Vim" single ((:commit . "ee647688a53fe91174d5450b61b882d389196f8e") (:keywords "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/vimish-fold"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (vhdl-tools . [(20181115 1736) ((ggtags (0 8 12)) (emacs (26 1)) (outshine (2 0)) (helm (2 9 6))) "Utilities for navigating vhdl sources." single ((:commit . "536a265d74c6fb750f35d50950bdccf12f929512") (:keywords "languages" "convenience") (:authors ("Cayetano Santos")) (:maintainer "Cayetano Santos") (:url . "https://github.com/csantosb/vhdl-tools/wiki"))]) (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"))]) (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"))]) (vertica-snippets . [(20181016 748) ((yasnippet (0 6 1))) "Yasnippets for Vertica" tar ((:commit . "1f80a737ed53f11d985a64c97bb99cfba8fd0b67") (:keywords "convenience" "snippets") (:authors ("Andreas Gerler" . "baron@bundesbrandschatzamt.de")) (:maintainer "Andreas Gerler" . "baron@bundesbrandschatzamt.de") (:url . "https://github.com/baron42bba/vertica-snippets"))]) (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"))]) (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"))]) (veri-kompass . [(20181110 933) ((emacs (25)) (cl-lib (0 5)) (org (8 2 0))) "verilog codebase navigation facility" single ((:commit . "ca9aa51e456f3762e2ebaaae5a2b70297375a4c8") (:keywords "languages" "extensions" "verilog" "hardware" "rtl") (:maintainer nil . "andrea_corallo@yahoo.it") (:url . "https://gitlab.com/koral/veri-kompass"))]) (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"))]) (vdm-snippets . [(20181106 1107) ((emacs (24)) (yasnippet (0 13 0))) "YASnippets for VDM mode" tar ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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 . [(20181112 2011) ((emacs (25))) "Major mode for the Vienna Development Method" tar ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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"))]) (vdirel . [(20181001 1135) ((emacs (24 4)) (org-vcard (0 1 0)) (helm (1 7 0)) (seq (1 11))) "Manipulate vdir (i.e., vCard) repositories" single ((:commit . "dfe5f9478405b8292f85fc911db92e81b627626a") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/vdirel"))]) (vdiff-magit . [(20180819 1802) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0))) "magit integration for vdiff" single ((:commit . "2589b93a0a789b1d86e607cb84979c6a837eb008") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff-magit"))]) (vdiff . [(20180920 1720) ((emacs (24 4)) (hydra (0 13 0))) "A diff tool similar to vimdiff" single ((:commit . "3bfb5decd7fcef73759b247b29aeae669fb79499") (:keywords "diff") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-vdiff"))]) (vcomp . [(20140906 2208) nil "compare version strings" single ((:commit . "092ef48a78e950c0576269d889be6caf9f6e61c5") (:keywords "versions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/vcomp"))]) (vcl-mode . [(20170119 2051) nil "Syntax highlighting for Varnish Command Language" single ((:commit . "3d86c1352a7370d558d25f4c8f7be744e7d27332") (:authors ("Stig Sandbeck Mathisen" . "ssm@redpill-linpro.com")) (:maintainer "Stig Sandbeck Mathisen" . "ssm@redpill-linpro.com"))]) (vc-osc . [(20161119 1955) nil "non-resident support for osc version-control" single ((:commit . "8c09a0d5f69237285101554261b77d76b546a24b") (:authors ("Adam Spiers (see vc.el for full credits)")) (:maintainer "Adam Spiers" . "aspiers@suse.com"))]) (vc-msg . [(20180605 58) ((emacs (24 3)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "ffd8db482cbd9fb63dace0e5ddcc7207a9c99f5e") (: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-hgcmd . [(20181113 758) ((emacs (25 1))) "VC mercurial backend that uses hg command server" single ((:commit . "c05d560a81cbf108579d2b52c49896eabb334c74") (: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-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-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-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-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"))]) (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"))]) (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"))]) (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"))]) (vagrant-tramp . [(20160427 2332) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "453ba605b28d2964bb4e10074f1e6891ebb4d2d6") (: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"))]) (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"))]) (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"))]) (uuidgen . [(20140918 2301) nil "Provides various UUID generating functions" single ((:commit . "7eb96415484c3854a3f383d1a3e10b87ae674e22") (:keywords "extensions" "lisp" "tools") (:authors ("Kan-Ru Chen" . "koster@debian.org")) (:maintainer "Kan-Ru Chen" . "koster@debian.org"))]) (uuid . [(20120910 851) nil "UUID's for EmacsLisp" single ((:commit . "1519bfeb0e31602b840bc8dd35d7c7e732c159fe") (:keywords "lisp") (:authors ("James Mastros")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk"))]) (utop . [(20181010 2155) ((emacs (24))) "Universal toplevel for OCaml" single ((:commit . "ea38850e606dd18c94e2ccabc28485fec1c8f91f") (:keywords "ocaml" "languages") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:url . "https://github.com/diml/utop"))]) (usql . [(20180305 2323) ((emacs (25 1))) "U-SQL support for sql-mode" single ((:commit . "bfaf428b366a9a185eef84f0d645a98dc918fe3d") (:keywords "languages") (:authors ("Nicholas Barnwell" . "nb@ul.io")) (:maintainer "Nicholas Barnwell" . "nb@ul.io") (:url . "https://github.com/nickbarwell/usql.el"))]) (use-ttf . [(20180609 552) ((emacs (24 4)) (s (1 12 0))) "Use the same font cross OS." single ((:commit . "29dddac84184e0c391dc586c56e94593df4f5a59") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/use-ttf"))]) (use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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-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-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 . "d9f229453da31fdf9a55207db09e360c5071d706") (: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 . [(20181110 1758) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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"))]) (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"))]) (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"))]) (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"))]) (uptimes . [(20180416 1323) ((cl-lib (0 5)) (emacs (24))) "Track and display emacs session uptimes." single ((:commit . "5e81f8bb419836602819045e7d5a74b76ad3e69c") (:keywords "processes" "uptime") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/uptimes.el"))]) (upbo . [(20180422 822) ((dash (2 12 0)) (emacs (24 4))) "Karma Test Runner Integration" single ((:commit . "c37728e11dedd29d849ba9523465b0cdaccea9d5") (:keywords "javascript" "js" "test" "karma") (:authors ("Sungho Kim(shiren)")) (:maintainer "Sungho Kim(shiren)") (:url . "http://github.com/shiren"))]) (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"))]) (unkillable-scratch . [(20160505 203) nil "Disallow buffers from being killed by regexp -- default is *scratch* buffer" single ((:commit . "676a5a97658830caece18fa65a23e3d113933151") (:keywords "scratch") (:authors ("Eric Crosson" . "esc@ericcrosson.com")) (:maintainer "Eric Crosson" . "esc@ericcrosson.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (unicode-troll-stopper . [(20151024 131) nil "Minor mode for Highlighting Unicode homoglyphs" single ((:commit . "15e4b57b78bf643bb56e5000078030cbb5c66e2a") (: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-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-input . [(20141219 720) nil "Support for unicode character input" single ((:keywords "unicode" "input") (:authors ("m00nlight" . "dot_wangyushi@yeah.net")) (:maintainer "m00nlight" . "dot_wangyushi@yeah.net"))]) (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-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-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-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"))]) (unfill . [(20170723 146) nil "Unfill paragraphs or regions, and toggle between filled & unfilled" single ((:commit . "df0c4dee19a3874b11c7c7f04e8a2fba629fda9b") (:keywords "utilities") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/unfill"))]) (undohist . [(20150315 1242) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "d2239a5f736724ceb9e3b6bcaa86f4064805cda0") (:keywords "convenience") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com"))]) (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"))]) (underline-with-char . [(20170814 923) ((emacs (24))) "Underline with a char" single ((:commit . "6daeba77e17dc11558ca3ccb0495524f5104d581") (:keywords "convenience") (:maintainer nil . "marcowahlsoft@gmail.com"))]) (undercover . [(20180403 1452) ((emacs (24)) (dash (2 0 0)) (shut-up (0 3 2))) "Test coverage library for Emacs Lisp" single ((:commit . "3fc54ef92f0b4b7d26d962d6ed29a81d526a3a66") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (typo . [(20171209 1023) nil "Minor mode for typographic editing" single ((:commit . "9dad93b6f367f02f52c8d9bf15d446d922cec294") (:keywords "convenience" "wp") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/typoel"))]) (typit . [(20180317 807) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "4fe50d616fc60e77eb9b5a824c0a1ca4010b0746") (:keywords "games") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/typit"))]) (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"))]) (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"))]) (typescript-mode . [(20181018 553) nil "Major mode for editing typescript" tar ((:commit . "fbaad515c90df0f5c3634c471034e3041a4a8cfc") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))]) (typed-clojure-mode . [(20151003 1822) ((clojure-mode (2 1 1)) (cider (0 10 0 -4))) "Typed Clojure minor mode for Emacs" tar ((:commit . "3abd53d8cc1ad77ffe76e02849d0ab7731fd8364") (:authors ("John Walker <john.lou.walker@gmail.com>, Ambrose Bonnaire-Sergeant" . "abonnairesergeant@gmail.com")) (:maintainer "John Walker <john.lou.walker@gmail.com>, Ambrose Bonnaire-Sergeant" . "abonnairesergeant@gmail.com") (:url . "https://github.com/typedclojure/typed-clojure-mode"))]) (twittering-mode . [(20180917 328) nil "Major mode for Twitter" single ((:commit . "ad7de82cf4b72fc166970d85849e2a9a9ae5a979") (: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/"))]) (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"))]) (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-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"))]) (twig-mode . [(20130220 1850) nil "A major mode for twig" single ((:commit . "2849f273a4855d3314a9c0cc84134f5b28ad5ea6") (:authors ("Bojan Matic aka moljac024")) (:maintainer "Bojan Matic aka moljac024"))]) (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"))]) (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"))]) (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"))]) (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"))]) (tumblesocks . [(20140215 2047) ((htmlize (1 39)) (oauth (1 0 3)) (markdown-mode (1 8 1))) "An Emacs tumblr client." tar ((:commit . "85a6cdc2db3390593fd886c474959b675460b310"))]) (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"))]) (tuareg . [(20180918 1913) ((caml (3 12 0 1))) "OCaml mode for Emacs." tar ((:commit . "c030be472c2aea4d4b770705f9099fb00e952618") (: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"))]) (ttl-mode . [(20160505 832) nil "mode for Turtle (and Notation 3)" single nil]) (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"))]) (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"))]) (ts-comint . [(20171106 647) nil "Run a Typescript interpreter in an inferior process window." single ((:commit . "8817dc7b3a6eb78c3cad42e5677c2113274a1963") (: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"))]) (try . [(20170226 1605) ((emacs (24))) "Try out Emacs packages." single ((:commit . "271b0a362cadf44d0694628b9e213f54516ef913") (:keywords "packages") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/try"))]) (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"))]) (trr . [(20170221 842) nil "a type-writing training program on GNU Emacs." tar ((:commit . "83660d8343ef3367837354dc684dfdde2f95826a") (: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"))]) (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"))]) (trident-mode . [(20130726 1907) ((emacs (24)) (slime (20130526)) (skewer-mode (1 5 0)) (dash (1 0 3))) "Live Parenscript interaction" single ((:commit . "ad3201f47e114de35df189c3d80f0fdea9507ea9") (: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"))]) (treepy . [(20180724 656) ((emacs (25 1))) "Generic tree traversal tools" single ((:commit . "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d") (: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"))]) (treemacs-projectile . [(20181029 624) ((projectile (0 14 0)) (treemacs (0))) "Projectile integration for treemacs" single ((:commit . "cb8b01dcd6fd19ea59e9277ea24c9786c83a5cd0") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (treemacs-evil . [(20180803 1017) ((evil (1 2 12)) (treemacs (0))) "Evil mode integration for treemacs" single ((:commit . "cb8b01dcd6fd19ea59e9277ea24c9786c83a5cd0") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (treemacs . [(20181117 1604) ((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 2)) (hydra (0 13 2)) (ht (2 2))) "A tree style file explorer package" tar ((:commit . "cb8b01dcd6fd19ea59e9277ea24c9786c83a5cd0") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (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"))]) (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"))]) (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"))]) (transpose-frame . [(20151126 1426) nil "Transpose windows arrangement in a frame" single ((:commit . "011f420c3496b69fc22d789f64cb8091834feba7") (:keywords "window") (:authors ("S. Irie")) (:maintainer "S. Irie"))]) (transmission . [(20180728 1717) ((emacs (24 4)) (let-alist (1 0 5))) "Interface to a Transmission session" single ((:commit . "bbe4077b89afe732d346eeed1ad0783537f33480") (:keywords "comm" "tools") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))]) (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"))]) (tramp-term . [(20180223 1527) nil "Automatic setup of directory tracking in ssh sessions." single ((:commit . "7c29f888de0385a676dbf9a4e17bac0111f5c10a") (: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"))]) (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"))]) (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"))]) (tracking . [(20171210 2102) nil "Buffer modification tracking" tar ((:commit . "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/circe/wiki/Tracking"))]) (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"))]) (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"))]) (toxi-theme . [(20160424 2126) ((emacs (24))) "A dark color theme by toxi" single ((:authors ("Karsten Schmidt" . "info@postspectacular.com")) (:maintainer "Karsten Schmidt" . "info@postspectacular.com") (:url . "http://bitbucket.org/postspectacular/toxi-theme/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-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 . [(20180316 3) ((cl-lib (0 5))) "quickly open corresponding file (eg test vs impl)." single ((:commit . "4ce20cc5b25a1f1b4669ea8ff2880ec764eaf7da") (:keywords "files" "extensions" "convenience") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.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/"))]) (todotxt-mode . [(20150424 1404) nil "Major mode for editing todo.txt files" single ((:commit . "dc6ae151edee88f329ba7abc5d39b7440002232f") (:keywords "wp" "files") (:authors ("Adolfo Villafiorita" . "adolfo.villafiorita@me.com")) (:maintainer "Adolfo Villafiorita" . "adolfo.villafiorita@me.com"))]) (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"))]) (toc-org . [(20181108 1621) nil "add table of contents to org-mode files (formerly, org-toc)" single ((:commit . "4315afd2a408c0d432ba3d8d040c2326c222fdbf") (: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"))]) (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"))]) (tldr . [(20180122 1112) ((emacs (24 3))) "tldr client for Emacs" single ((:commit . "398b197c8d2238628b07e1b32d0f373876279f4c") (:keywords "tools" "docs") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/tldr.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"))]) (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"))]) (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"))]) (tiny . [(20170903 949) nil "Quickly generate linear ranges in Emacs" single ((:commit . "012b2e7a67b9f067bbfa0292479861ffbaa201fa") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/tiny"))]) (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"))]) (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"))]) (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"))]) (timesheet . [(20180802 202) ((s (1)) (org (7)) (auctex (11))) "Timesheet management add-on for org-mode" tar ((:commit . "67ca6a9f6733052066b438301fb2dd81b8b3f6eb") (:keywords "org" "timesheet") (:authors ("Tom Marble")) (:maintainer "Tom Marble") (:url . "https://github.com/tmarble/timesheet.el"))]) (timer-revert . [(20150122 2032) nil "minor mode to revert buffer for a given time interval." tar ((:commit . "615c91dec8b440d2b9b7c725dd733d7432564e45"))]) (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"))]) (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"))]) (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"))]) (tide . [(20181025 1201) ((dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "b2af64e5926b9c1493f7e39d5e928d61975816fb") (:keywords "typescript") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:url . "http://github.com/ananthakumaran/tide"))]) (tidal . [(20181102 1631) ((haskell-mode (16)) (emacs (24))) "Interact with TidalCycles for live coding patterns" single ((:commit . "331094e6326352566ca647300ba1b35b72b625cf") (:keywords "tools") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:url . "https://github.com/tidalcycles/Tidal"))]) (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"))]) (thumb-through . [(20120119 534) nil "Plain text reader of HTML documents" single ((:commit . "08d8fb720f93c6172653e035191a8fa9c3305e63") (:keywords "html"))]) (thrift . [(20180905 1050) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "c272a9a7abcea8a07bc4eebc308abaab6b1755d6") (:keywords "languages"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (theme-looper . [(20170425 1306) ((cl-lib (0 5))) "Loop thru the available color-themes" single ((:commit . "875c2cfc84b3c143d3b14a7aba38905e35559157") (: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-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"))]) (tfsmacs . [(20180911 2114) ((emacs (25)) (tablist (0 70))) "MS TFS source control interaction." single ((:commit . "13ee3f528ff616880611f563a68d921250692ef8") (: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/"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (texfrag . [(20181001 753) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "87ebd2653c39abe0b02a91ab2182e6fff562f6c7") (:keywords "tex" "languages" "wp") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:url . "https://github.com/TobiasZawada/texfrag"))]) (tex-smart-umlauts . [(20160427 758) nil "Smart umlaut conversion for TeX." single ((:commit . "5261b931443558f4252489a1e6616034848aff02") (: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"))]) (test-simple . [(20170527 1532) ((cl-lib (0))) "Simple Unit Test Framework for Emacs Lisp" single ((:commit . "b3b69f52207d3a8111421ad7ab9ed82abbe85316") (:keywords "unit-test") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-test-simple"))]) (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-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-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"))]) (terraform-mode . [(20170112 517) ((emacs (24 3)) (hcl-mode (0 3))) "Major mode for terraform configuration file" single ((:commit . "6973d1acaba2835dfdf174f5a5e27de6366002e1") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-terraform-mode"))]) (tern-django . [(20160221 1923) ((emacs (24)) (tern (0 0 1)) (f (0 17 1))) "Create tern projects for django applications." tar ((:commit . "46f2cd5e96bc804069f18455a828b8e4c5ec358a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/tern-django"))]) (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"))]) (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 . "e94e20be8510040744fc803c9fda6bbb9625c6d2") (:authors ("<m.sakurai at kiwanami.net>")) (:maintainer "<m.sakurai at kiwanami.net>"))]) (tern . [(20181108 722) ((json (1 2)) (cl-lib (0 5)) (emacs (24))) "Tern-powered JavaScript integration" single ((:commit . "e94e20be8510040744fc803c9fda6bbb9625c6d2") (:authors ("Marijn Haverbeke")) (:maintainer "Marijn Haverbeke") (:url . "http://ternjs.net/"))]) (terminal-here . [(20180513 833) ((emacs (24)) (cl-lib (0 5))) "Run an external terminal in current directory" single ((:commit . "271cdd27b3807e76c483b63d47a8287cbabd99d0") (:keywords "tools" "frames") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/terminal-here"))]) (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"))]) (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"))]) (term-run . [(20151228 905) nil "Run arbitrary command in terminal buffer" single ((:commit . "bffd7b0183ca26645d191732092546eab7fca95e") (: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"))]) (term-projectile . [(20170421 805) ((emacs (24)) (term-manager (0 1 0)) (projectile (0 13 0))) "projectile terminal management" single ((:commit . "13a0f1637a1f075d70211ccb8162e63a18a474da") (: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-manager . [(20171020 841) ((dash (2 12 0)) (emacs (24 4))) "Contextual terminal management" tar ((:commit . "13a0f1637a1f075d70211ccb8162e63a18a474da") (:keywords "terminals" "tools") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://www.github.com/IvanMalison/term-manager"))]) (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 . "6c9cbc659b70241d2ed1601eea34aeeca0646dac"))]) (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 . "47af9e6fe483ef0d393098c145f499362a33292a"))]) (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+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+ . [(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"))]) (ten-hundred-mode . [(20161028 2236) ((cl-lib (0 5))) "use only the ten hundred most usual words" tar ((:commit . "bdcfda49b1819e82d61fe90947e50bb948cf7933"))]) (temporary-persistent . [(20161210 1133) ((emacs (24 3)) (names (20151201 0)) (dash (2 12 1)) (s (1 10 0))) "Keep temp notes buffers persistent -*- lexical-binding: t" single ((:commit . "ac66f3054fc701d53f11ada9d2d9ab18ea481dc0") (:keywords "temp" "buffers" "notes") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/temporary-persistent"))]) (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"))]) (telephone-line . [(20181116 220) ((emacs (24 4)) (cl-lib (0 5)) (cl-generic (0 2)) (seq (1 8))) "Rewrite of Powerline" tar ((:commit . "212b3df07a58cfbeb1f767f6b7759c41e3ad44ff") (:keywords "mode-line") (:authors ("Daniel Bordak" . "dbordak@fastmail.fm")) (:maintainer "Daniel Bordak" . "dbordak@fastmail.fm") (:url . "https://github.com/dbordak/telephone-line"))]) (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"))]) (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"))]) (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"))]) (tco . [(20160811 12) ((dash (1 2 0)) (emacs (24))) "tail-call optimisation for Emacs lisp" single ((:commit . "97529ed7a0939c51ce0084c0aa8b12b313654735") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (tc . [(20181109 428) nil "a Japanese input method with T-Code on Emacs" tar ((:commit . "5496f8dee27c4d925977da3cca6fcacf9b45bc58") (:authors ("Kaoru Maeda" . "maeda@src.ricoh.co.jp") ("Yasushi Saito" . "yasushi@cs.washington.edu") ("KITAJIMA Akira" . "kitajima@isc.osakac.ac.jp")) (:maintainer "KITAJIMA Akira"))]) (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"))]) (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"))]) (tawny-mode . [(20170422 2202) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "d768cce65891f11cd2f96aff54b76e5bb07cc649") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) (taskpaper-mode . [(20181113 931) nil "Major mode for working with TaskPaper files" single ((:commit . "91a8a3ebbc3d8f067fcbe88933bc208518760013") (: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"))]) (tao-theme . [(20181020 1726) nil "This package provides two parametrized uncoloured color themes for Emacs: tao-yin and tao-yang." tar ((:commit . "c10ba53dad8aa3625191184a56c34ed456561771"))]) (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"))]) (tango-plus-theme . [(20170214 1708) nil "A color theme based on the tango palette" single ((:commit . "8ba8901397e3e9f1d53110487bfa0effc65015e7") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))]) (tango-2-theme . [(20120312 2025) nil "Tango 2 color theme for GNU Emacs 24" single ((:commit . "64e44c98e41ebbe3b827d54280e3b9615787daaa") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) (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"))]) (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"))]) (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"))]) (tablist . [(20170220 335) ((emacs (24 3))) "Extended tabulated-list-mode" tar ((:commit . "c834a84efb6efa32497efe1e73160fade741b836") (:keywords "extensions" "lisp") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (systemd . [(20180629 2106) ((emacs (24 4))) "Major mode for editing systemd units" tar ((:commit . "401d71c2dd24e424216ae5e4275c830f2a9c6b0c") (:keywords "tools" "unix") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu"))]) (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"))]) (system-packages . [(20180921 1906) ((emacs (24 3))) "functions to manage system packages" single ((:commit . "d18b2c0e38ddc1ccfcd7d787112fb3465df51769") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/system-packages"))]) (syntax-subword . [(20160519 1905) nil "make operations on words more fine-grained" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (syntactic-close . [(20181026 1631) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "426975d73c474eb4e6a0af20f34455aac6e89610") (: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"))]) (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"))]) (synosaurus . [(20180125 1834) ((cl-lib (0 5))) "An extensible thesaurus supporting lookup and substitution." tar ((:commit . "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb") (:url . "https://github.com/hpdeifel/synosaurus"))]) (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"))]) (syndicate . [(20160603 1523) ((evil (1 0))) "evil keybindings for org-mode" single ((:commit . "90cee202a06f5bab48268ebf9f62c43334b69f50") (:keywords "evil" "org" "bindings") (:authors ("Kawin Nikomborirak")) (:maintainer "Kawin Nikomborirak") (:url . "https://github.com/KNX32542/syndicate.git"))]) (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"))]) (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/"))]) (symon . [(20170224 833) nil "tiny graphical system monitor" single ((:commit . "8dd8b6df49b03cd7d31b85aedbe9dd08fb922335") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (symbolword-mode . [(20180401 1427) ((emacs (24)) (f (0 19 0))) "modify word split" single ((:commit . "3857c42696e20f49f274ff8bc45a6f3ee26884d4") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/symbolword-mode"))]) (symbol-overlay . [(20181112 818) ((emacs (24 3))) "Highlight symbols with keymap-enabled overlays" single ((:commit . "831506ee124f357d5bd4d213b9dea2d0e7ac1287") (:keywords "faces" "matching") (:authors ("wolray" . "wolray@foxmail.com")) (:maintainer "wolray" . "wolray@foxmail.com") (:url . "https://github.com/wolray/symbol-overlay/"))]) (sx . [(20180606 736) ((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 . "a214f46b15eb29eaf02abdd4ddc2f90c3925d15f") (:keywords "help" "hypermedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/sx.el/"))]) (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"))]) (swoop . [(20160120 1715) ((ht (2 0)) (pcre2el (1 5)) (async (1 1)) (emacs (24))) "Peculiar buffer navigation for Emacs" tar ((:commit . "a5e475db7a9f5db02ba3d08cd3c1c3594e2e01d7") (:keywords "swoop" "inner" "buffer" "search" "navigation") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-swoop"))]) (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"))]) (switch-buffer-functions . [(20171011 1704) nil "Hook run when current buffer changed" single ((:commit . "651696ef9dec7affbe51c81d9318288376c35899") (: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"))]) (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"))]) (swiper . [(20181008 1731) ((emacs (24 1)) (ivy (0 9 0))) "Isearch with an overview. Oh, man!" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (swift-mode . [(20181117 1202) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language." tar ((:commit . "55ce4e53f856626938b50f014c5f82947a628d6a") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (suscolors-theme . [(20161109 2015) nil "Colorful theme, inspired by Gruvbox." single ((:commit . "b946e7924aa02fa7441c970026898f17fe97601f") (:url . "https://github.com/TheSuspiciousWombat/SusColors-emacs"))]) (supergenpass . [(20130329 548) nil "SuperGenPass for Emacs" single ((:commit . "549072ef7b5b82913cadd4758e8a0a9926f0a04a") (:keywords "supergenpass") (:authors ("Jaime Fournier" . "jaimef@linbsd.org")) (:maintainer "Jaime Fournier" . "jaimef@linbsd.org"))]) (super-save . [(20180929 727) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "2a905b8bdfc93bee16e2d62a61c6211bbe009331") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/super-save"))]) (suomalainen-kalenteri . [(20170801 826) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "c702e33cb6e13cb28bd761844e95be112a3c04f3"))]) (sunshine . [(20181029 1654) ((cl-lib (0 5))) "Provide weather and forecast information." single ((:commit . "8959dea03377e61aaca0124ac8d2703daaae6b9a") (:keywords "tools" "weather") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/sunshine.el"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (sudoku . [(20161111 706) ((emacs (24 4))) "Simple sudoku game, can download puzzles" single ((:commit . "77c11b5041b58fc943cf1668b44b40bae039cb5b") (:keywords "games") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) (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"))]) (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"))]) (sudden-death . [(20180217 23) nil "Totsuzen-no-Shi" single ((:commit . "791a63d3f4df192e71f4232a9a4c5588f4b43dfb") (:authors ("yewton")) (:maintainer "yewton") (:url . "https://github.com/yewton/sudden-death.el"))]) (sublimity . [(20170820 1527) ((cl-lib (0 3))) "smooth-scrolling, minimap and distraction-free mode" tar ((:commit . "62b0c526c599a0178a16a75f16513fc1f93a0d53") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/sublimity"))]) (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"))]) (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"))]) (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"))]) (subatomic-theme . [(20160126 1538) nil "Low contrast bluish color theme" single ((:commit . "6a4086af748b1ecb27f6ba2aa2614988db16d594") (:keywords "color-theme" "blue" "low contrast") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:url . "https://github.com/cryon/subatomic"))]) (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"))]) (stylefmt . [(20161025 824) nil "Stylefmt interface" single ((:commit . "7a38f26bf8ff947215f34f0a064c7ca80575ccbc") (:keywords "style" "code" "formatter") (:authors ("κeen")) (:maintainer "κeen") (:url . "https://github.com/KeenS/stylefmt.el"))]) (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"))]) (stumpwm-mode . [(20140131 216) nil "special lisp mode for evaluating code into running stumpwm" single ((:commit . "61a7cf27e49e0779a53c018b2342f5f1c5cc70b4") (:keywords "comm" "lisp" "tools") (:maintainer "Shawn Betts"))]) (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"))]) (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"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (stgit . [(20171130 1559) nil "major mode for StGit interaction" single ((:commit . "2f5b9240450d779293cd7d380bb638a73cf16abd") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://www.procode.org/stgit"))]) (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"))]) (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"))]) (steam . [(20171109 13) ((cl-lib (0 5))) "Organize and launch Steam games" single ((:commit . "d6ca2a828b0824da51978397e198bf91c51ce793") (:keywords "games") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:url . "http://github.com/Kungsgeten/steam.el"))]) (status . [(20151230 1408) nil "This package adds support for status icons to Emacs." tar ((:commit . "b62c74bf272566f82a68622f29fb9edafea0f241"))]) (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"))]) (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/"))]) (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"))]) (standoff-mode . [(20171115 1731) nil "Create stand-off markup, also called external markup." tar ((:commit . "cf84b14066d63694d931395c6026fd0245d8a62b"))]) (stan-snippets . [(20161024 258) ((stan-mode (9 2 0)) (yasnippet (0 8 0))) "Yasnippets for Stan" tar ((:commit . "a8e88473ef996b455523dc3fbcf2d8520659652f") (:keywords "snippets") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com")) (:maintainer "Jeffrey Arnold" . "jeffrey.arnold@gmail.com") (:url . "http://github.com/stan-dev/stan-mode"))]) (stan-mode . [(20180110 2241) nil "Major mode for editing Stan files" tar ((:commit . "a8e88473ef996b455523dc3fbcf2d8520659652f") (:keywords "languanges") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Daniel Lee" . "bearlee@alum.mit.edu")) (:maintainer "Jeffrey Arnold" . "jeffrey.arnold@gmail.com") (:url . "http://github.com/stan-dev/stan-mode"))]) (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"))]) (ssh-tunnels . [(20180703 2027) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" single ((:commit . "a6b6ae9a5d17afa9ea39ca8c071e889deefcf8a3") (:keywords "tools" "convenience") (:authors ("death <github.com/death>")) (:maintainer "death <github.com/death>") (:url . "http://github.com/death/ssh-tunnels"))]) (ssh-deploy . [(20181106 1347) ((emacs (24))) "Deployment via TRAMP, global or per directory." tar ((:commit . "88300e389e69f08d1511bcd8f185e608c9f6fddf") (:keywords "tools" "convenience") (:authors ("Christian Johansson" . "christian@cvj.se")) (:maintainer "Christian Johansson" . "christian@cvj.se") (:url . "https://github.com/cjohansson/emacs-ssh-deploy"))]) (ssh-config-mode . [(20180922 951) nil "Mode for fontification of ~/.ssh/config" tar ((:commit . "1ec676c021269c7b9cf814cf1d12f6acdcc25588") (: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-agency . [(20180508 26) ((emacs (24 4)) (dash (2 10 0))) "manage ssh-agent from Emacs" single ((:commit . "d9dbedd773ad3a831e02e162c47936d6814a850a") (:authors ("Noam Postavsky" . "npostavs@user.sourceforge.net")) (:maintainer "Noam Postavsky" . "npostavs@user.sourceforge.net") (:url . "https://github.com/magit/ssh-agency"))]) (ssh . [(20120904 2042) nil "Support for remote logins using ssh." single ((:commit . "c17cf5b43df8ac4662a0580f85898e1f078df0d1") (:keywords "unix" "comm") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (ssass-mode . [(20180428 2039) ((emacs (24 3))) "Edit Sass without a Turing Machine" single ((:commit . "da82ebb2aa7e4999c23547270d2b0b2cd9311a47") (:keywords "languages" "sass") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/ssass-mode"))]) (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"))]) (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"))]) (srcery-theme . [(20181114 1649) ((emacs (24))) "Dark color theme." single ((:commit . "9f80e5b6a6b0cd5c6c1e1ca54d5611d0c7810425") (:keywords "faces") (:authors ("Daniel Berg")) (:maintainer "Daniel Berg") (:url . "https://github.com/srcery-colors/srcery-emacs"))]) (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"))]) (sqlup-mode . [(20170610 1537) nil "Upcase SQL words for you" single ((:commit . "04970977b4abb4d44301651618bbf1cdb0b263dd") (: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"))]) (sqlite . [(20180708 1711) nil "use sqlite via elisp" single ((:commit . "dad42b8bbca4994be1871343dd18fd6528ee5797") (:authors ("Christian Giménez")) (:maintainer "Christian Giménez"))]) (sqlformat . [(20181019 159) ((emacs (24))) "Reformat SQL using sqlformat or pgformatter" single ((:commit . "c7802edf4adb68d7a7a9db14a6b42c03f0a3da2d") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (sql-impala . [(20160427 2358) nil "comint support for Cloudera Impala" single ((:commit . "e7a2d79d60b0a6339d730fc39ca024c3d6c56de7") (:keywords "sql" "impala") (:authors ("Jason Terk" . "jason@goterkyourself.com")) (:maintainer "Jason Terk" . "jason@goterkyourself.com") (:url . "https://github.com/jterk/sql-impala"))]) (sql-clickhouse . [(20180302 1555) ((emacs (24))) "support ClickHouse as SQL interpreter" single ((:commit . "2edccd94145c55a040a3a87193793f06cf01f64f") (:authors ("Robert Schwarz" . "mail@rschwarz.net")) (:maintainer "Robert Schwarz" . "mail@rschwarz.net") (:url . "https://github.com/leethargo/sql-clickhouse"))]) (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"))]) (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"))]) (sproto-mode . [(20151115 1805) nil "Major mode for editing sproto." single ((:commit . "0583a88273204dccd884b7edaa3590cefd31e7f7") (:keywords "sproto") (:authors ("m2q1n9")) (:maintainer "m2q1n9"))]) (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"))]) (springboard . [(20170106 755) ((helm (1 6 9))) "Temporarily change default-directory for one command" single ((:commit . "263a8cd4582c81bfc29d7db37d5267e2488b148c") (:keywords "helm") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) (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"))]) (spotlight . [(20150929 755) ((emacs (24 1)) (swiper (0 6 0)) (counsel (0 6 0))) "search files with Mac OS X spotlight" single ((:commit . "ab902900f22e7d1ea2dd8169441d2da7155aaa68") (:keywords "search" "external") (:authors ("Ben Maughan" . "benmaughan@gmail.com")) (:maintainer "Ben Maughan" . "benmaughan@gmail.com") (:url . "http://www.pragmaticemacs.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (spice-mode . [(20171028 643) ((emacs (24 3))) "Major mode for SPICE" single ((:commit . "702bf2d5c3561be44771ea77b476532d32068504") (: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/"))]) (sphinx-mode . [(20180620 915) ((f (0 20 0)) (dash (2 14 1))) "Minor mode providing sphinx support." tar ((:commit . "b5ac514e213459dcc57184086f10b5b6be3cecd8"))]) (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-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"))]) (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"))]) (speed-type . [(20171230 1647) ((emacs (24 3)) (cl-lib (0 3))) "Practice touch and speed typing" single ((:commit . "7a67fcd7bf825eee890097bd4a1b3c4f531a1135") (:keywords "games") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:url . "https://github.com/parkouss/speed-type"))]) (speechd-el . [(20180105 2017) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "0b25d3eb7ae219d2af9a7e9df2f3334652156bf5"))]) (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"))]) (sparql-mode . [(20180320 1802) ((cl-lib (0 5)) (emacs (24 3))) "Edit and interactively evaluate SPARQL queries." tar ((:commit . "a00bb622c54086ac1ee96c265bf7fbef12c68089") (: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"))]) (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"))]) (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"))]) (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"))]) (spacemacs-theme . [(20181107 1725) nil "Color theme with a dark and light versions" tar ((:commit . "c162ad13e4ae1965619012332d3b5f57c9172e98") (:keywords "color" "theme") (:url . "https://github.com/nashamri/spacemacs-theme"))]) (spaceline-all-the-icons . [(20170829 820) ((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 . "e2e195f64a541d72b6d0ba0451f1e3072234b820") (: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"))]) (spaceline . [(20180628 746) ((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 . "29ced71ed0097cd5eba15d6bfdbafd9d18f5bd82") (:keywords "mode-line" "powerline" "spacemacs") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/spaceline"))]) (spacegray-theme . [(20150719 1931) ((emacs (24 1))) "A Hyperminimal UI Theme" single ((:commit . "7f70ee36297e5ccf9bc90b1f81472024f5a7a749") (:keywords "themes") (:authors ("Bruce Williams" . "brwcodes@gmail.com")) (:maintainer "Bruce Williams" . "brwcodes@gmail.com") (:url . "http://github.com/bruce/emacs-spacegray-theme"))]) (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"))]) (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"))]) (sourcemap . [(20161216 540) ((emacs (24 3))) "Sourcemap parser" single ((:commit . "64c89d296186f48d9135fb8aad501de19f64bceb") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sourcemap"))]) (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"))]) (soundklaus . [(20160314 1231) ((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 . "09ec030843482594beae2664b8fe1e0ad1e66472") (:keywords "soundcloud" "music" "emms") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:url . "https://github.com/r0man/soundklaus.el"))]) (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"))]) (sound-wav . [(20160725 1424) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "406868043761524118c27b1207be0f8bbda8798e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))]) (sotlisp . [(20180706 1749) ((emacs (24 1))) "Write lisp at the speed of thought." single ((:commit . "cc5730c0803a6e0f18e22d6027784b915d304318") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (solidity-mode . [(20181117 1518) nil "Major mode for ethereum's solidity language" tar ((:commit . "d6c48a1cb64d3c8a825dc0d06c839f2cacd4d289") (:keywords "languages" "solidity") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co"))]) (solarized-theme . [(20181030 1912) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 6 0))) "The Solarized color theme, ported to Emacs." tar ((:commit . "87d4758e7ecc8ed873f3326e4f8b185fd2b9da0a"))]) (solaire-mode . [(20180521 935) ((emacs (24 4)) (cl-lib (0 5))) "make certain buffers grossly incandescent" single ((:commit . "abf2ce4da77d0877efb4a035687390ce921eda4f") (: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"))]) (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"))]) (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-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"))]) (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"))]) (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"))]) (snippet . [(20130210 2315) nil "Insert snippets of text into a buffer" single ((:commit . "11d00dd803874b93836f2010b08bd2c97b0f3c63") (:authors ("Pete Kazmier")) (:maintainer "Pete Kazmier"))]) (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/"))]) (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"))]) (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"))]) (snakemake-mode . [(20181008 250) ((emacs (24 5)) (cl-lib (0 5)) (magit-popup (2 4 0))) "Major mode for editing Snakemake files" tar ((:commit . "0cadd2bbd20aae1555561e81ed72fec43ec7296e") (:keywords "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/snakemake-mode"))]) (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"))]) (smtpmail-multi . [(20160218 2349) nil "Use different smtp servers for sending mail" single ((:commit . "81eabfe56f620ee044ff9dd52fa8b6148d0a9f30") (:keywords "comm") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/smtpmail-multi"))]) (smotitah . [(20150218 1030) nil "Modular emacs configuration framework" tar ((:commit . "f9ab562128a5460549d016913533778e8c94bcf3"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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]"))]) (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/"))]) (smeargle . [(20161212 2358) ((emacs (24 3))) "Highlighting region by last updated time" single ((:commit . "0665b1ff5109731898bc4a0ca6d939933b804777") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-smeargle"))]) (smblog . [(20170419 1021) ((emacs (24 3))) "samba log viewer" single ((:commit . "5245e7aeac20915121946f59bba30899305d950b") (:authors ("Aurélien Aptel" . "aaptel@suse.com")) (:maintainer "Aurélien Aptel" . "aaptel@suse.com") (:url . "http://github.com/aaptel/smblog-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (smartparens . [(20181028 1005) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "d65f3c0f47413c1a67ced979dc2062a073d907af"))]) (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"))]) (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-tab . [(20170902 2107) nil "Intelligent tab completion and indentation." single ((:commit . "76a8ec13384975d39aa1b25e5384a02558dba574") (:keywords "extensions") (:authors ("John SJ Anderson" . "genehack@genehack.org") ("Sebastien Rocca Serra" . "sroccaserra@gmail.com") ("Daniel Hackney" . "dan@haxney.org")) (:maintainer "John SJ Anderson" . "genehack@genehack.org") (:url . "http://github.com/genehack/smart-tab/tree/master"))]) (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-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-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-newline . [(20131208 340) nil "Provide smart newline for one keybind." single ((:commit . "0553a9e4be7188352de1a28f2eddfd28e7436f94") (:authors ("Satoshi Namai")) (:maintainer "Satoshi Namai"))]) (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 . "b79f4fa5f2380b0d726a895dd7199e5483004490") (: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-mode-line-atom-one-dark-theme . [(20180915 1335) ((emacs (24 3)) (smart-mode-line (2 10))) "Atom-one-dark theme for smart-mode-line" single ((:commit . "21cf510c6dfc919517af045435f16dc3527d7d04") (: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 . [(20180926 1036) ((emacs (24 3)) (rich-minority (0 1 1))) "A color coded smart mode-line." tar ((:commit . "b79f4fa5f2380b0d726a895dd7199e5483004490") (: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-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-jump . [(20181103 2227) ((emacs (25 1)) (dumb-jump (0 5 1))) "Smart go to definition." tar ((:commit . "aa963735196b7f64fb286163cd5c3e4d435814e5") (:keywords "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/smart-jump"))]) (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-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-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-dash . [(20110131 316) nil "Smart-Dash minor mode" single ((:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))]) (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-compile . [(20180316 330) nil "an interface to `compile'" single ((:commit . "16ebc3c570f1949b8198fcc8663d6d26df32717a") (:keywords "tools" "unix") (:authors ("Seiji Zenitani" . "zenitani@mac.com")) (:maintainer "Seiji Zenitani" . "zenitani@mac.com"))]) (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-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"))]) (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"))]) (sly-quicklisp . [(20170112 935) ((sly (1 0 0 -2 2))) "Quicklisp support for SLY" tar ((:commit . "8a9e3c0c07c6861ec33b338cc46ac12e7ce6a477") (: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-named-readtables . [(20150817 1516) ((sly (1 0 0 -2 2))) "Support named readtables in Common Lisp files" tar ((:commit . "df4ed79064cf85275804e201899b677bef4ab3f5") (: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-macrostep . [(20160119 1234) ((sly (1 0 0 -2 2)) (macrostep (0 9))) "fancy macro-expansion via macrostep.el" tar ((:commit . "eb16778d104413a3e2a8d5537437c4ad76c2954b") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-macrostep"))]) (sly-hello-world . [(20160119 1436) ((sly (1 0 0 -2 2))) "A template SLY contrib" tar ((:commit . "1bfcca692b6ec0670ed309ffe29eb9384397c183") (: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 . [(20181116 2131) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "c338f22cc2b88c05b80b417b8a7a13b3e3346ca9") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))]) (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"))]) (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"))]) (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"))]) (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"))]) (slime-volleyball . [(20140718 441) nil "An SVG Slime Volleyball Game" tar ((:commit . "159b5c0f40b109e3854e94b89ec5383854c46ae3") (:keywords "games") (:authors ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org"))]) (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-docker . [(20181107 1556) ((emacs (24)) (slime (2 16)) (docker-tramp (0 1)) (cl-lib (0 5))) "Integration of SLIME with Docker containers." tar ((:commit . "83a6ea7e4302e03f894a03f15ae0b68b101023c0") (:keywords "docker" "lisp" "slime") (:url . "https://github.com/daewok/slime-docker"))]) (slime-company . [(20180119 1843) ((emacs (24 4)) (slime (2 13)) (company (0 9 0))) "slime completion backend for company mode" single ((:commit . "4c2e2805540dea700130607fa235018a87e4a070") (:keywords "convenience" "lisp" "abbrev") (:authors ("Ole Arndt" . "anwyn@sugarshark.com")) (:maintainer "Ole Arndt" . "anwyn@sugarshark.com"))]) (slime . [(20181112 1346) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "b7bf530d884371d6560cad37bd9b9e587ebc5e06") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))]) (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"))]) (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"))]) (slack . [(20181113 336) ((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 . "19af9a367b55ca79377058f4d9b5776dd98a9f99") (:url . "https://github.com/yuya373/emacs-slack"))]) (sl . [(20161217 1404) ((cl-lib (0 5))) "An Emacs clone of sl(1)" tar ((:commit . "0882117728be91276b815e18c2a66106bf9d69d3") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/sl.el"))]) (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"))]) (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"))]) (skewer-mode . [(20180706 1807) ((simple-httpd (1 4 0)) (js2-mode (20090723)) (emacs (24))) "live browser JavaScript, CSS, and HTML interaction" tar ((:commit . "a381049acc4fa2087615b4b3b26c0865841386bd"))]) (skewer-less . [(20160828 2021) ((skewer-mode (1 5 3))) "Skewer support for live LESS stylesheet updates" single ((:commit . "927d6848a1ea9428d4cc995f76bd42f7b8da6bc8") (:keywords "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (skeletor . [(20170617 46) ((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 . "01c330ec115fc29bba5d9bdf6c15beb4a44e2281") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.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"))]) (simplenote2 . [(20171202 206) ((request-deferred (0 2 0))) "Interact with app.simplenote.com" tar ((:commit . "0fd6dbd0566af29964078e4b74baf69c2f52381a") (:keywords "simplenote") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com"))]) (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"))]) (simpleclip . [(20181105 1636) nil "Simplified access to the system clipboard" single ((:commit . "2468b08ad829aaf4a90246541978be3974c60ab8") (:keywords "convenience") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/simpleclip"))]) (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"))]) (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-paren . [(20180427 918) ((emacs (24)) (cl-lib (0 5))) "Insert paired delimiter, wrap" single ((:commit . "8d735905306c587851eff1445898499c01c530ca") (:keywords "convenience") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:url . "https://github.com/andreas-roehler/simple-paren"))]) (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-httpd . [(20180528 1603) ((cl-lib (0 3))) "pure elisp HTTP server" single ((:commit . "49721d5b791bee0fc25b1fdd69696371d546093a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-http-server"))]) (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-bookmarks . [(20160804 1401) ((cl-lib (0 5))) "Bookmark / functioncall manager" tar ((:commit . "6c58337f2b7dbe9e58b5e097b1567f046a01d071") (:keywords "bookmark" "functioncall") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:url . "https://github.com/jtkDvlp/simple-bookmarks"))]) (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"))]) (silkworm-theme . [(20180301 1437) ((emacs (24))) "Light theme with pleasant, low contrast colors." single ((:commit . "4a297f952401cfe894dcb24174f6eda05e00fada") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (signature . [(20140730 1949) nil "Signature Survey" tar ((:commit . "c47df2e1189a84505f9224aa78e87b6c65d13d37") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (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"))]) (sift . [(20160107 1015) nil "Front-end for sift, a fast and powerful grep alternative" single ((:commit . "4ce8878a0fc396ded7521ce38852d93e1d863065") (: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"))]) (side-notes . [(20180524 628) ((emacs (24 5))) "Easy access to a directory notes file" single ((:commit . "981ac308b9b5d58e2af20485377e693d2a6e15aa") (:keywords "convenience") (:authors ("Paul W. Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul W. Rankin" . "hello@paulwrankin.com") (:url . "https://github.com/rnkn/side-notes"))]) (sicp . [(20180823 1222) nil "Structure and Interpretation of Computer Programs in info format" tar ((:commit . "33acfa10a058aa65b6b22084a5b86a82410d794e") (:authors ("Hal Abelson") ("Jerry Sussman") ("Julie Sussman")) (:maintainer "Hal Abelson") (:url . "https://mitpress.mit.edu/sicp"))]) (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"))]) (shx . [(20181110 354) ((emacs (24 4))) "\"Extras\" for the (comint-mode) shell" single ((:commit . "7ce75262a1decefc4c73ed89cf2a314cce030635") (:keywords "processes" "tools") (:url . "https://github.com/riscy/shx-for-emacs"))]) (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"))]) (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"))]) (shrink-path . [(20170813 247) ((emacs (24)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0))) "fish-style path" single ((:commit . "9d06c453d1537df46a4b703a29213cc7f7857aa0") (:authors ("Benjamin Andresen")) (:maintainer "Benjamin Andresen") (:url . "https://gitlab.com/bennya/shrink-path.el"))]) (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"))]) (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"))]) (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"))]) (show-marks . [(20130805 1449) ((fm (1 0))) "Navigate and visualize the mark-ring" single ((:commit . "97609566582e65eed0d0a854efa5c312f209115d") (:keywords "convenience") (:authors ("Greg Rowe" . "emacs@therowes.net")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/mark"))]) (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"))]) (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"))]) (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"))]) (shimbun . [(20181019 821) nil "interfacing with web newspapers" tar ((:commit . "f392ad9864d3ec30e8b8151bdbd714f51be21bf3") (: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"))]) (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"))]) (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"))]) (shen-elisp . [(20180915 2028) ((emacs (24 4))) "Shen implementation in Elisp" tar ((:commit . "73b74c8d6e3a2ea34b667d177d9f130765bfe501") (:keywords "shen" "elisp") (:url . "http://github.com/deech/shen-elisp"))]) (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"))]) (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"))]) (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"))]) (shell-switcher . [(20161029 552) ((emacs (24))) "Provide fast switching between shell buffers." tar ((:commit . "28a7f753dd7addd2933510526f52620cb5a22048"))]) (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-pop . [(20170304 1416) ((emacs (24)) (cl-lib (0 5))) "helps you to use shell easily on Emacs. Only one key action to work." single ((:commit . "4a3a9d093ad1add792bba764c601aa28de302b34") (: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-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-here . [(20150728 1704) nil "Open a shell relative to the working directory" single ((:commit . "251309141e18978d2b8014345acc6f5afcd4d509") (:keywords "unix" "tools" "processes") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (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-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"))]) (shampoo . [(20131230 1019) nil "A remote Smalltalk development mode" tar ((:commit . "bc193c39636c30182159c5c91c37a9a4cb50fedf"))]) (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"))]) (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"))]) (shadchen . [(20141102 1839) nil "pattern matching for elisp" single ((:commit . "35f2b9c304eec990c16efbd557198289dc7cbb1f") (:authors ("Vincent Toups")) (:maintainer "Vincent Toups"))]) (shackle . [(20171209 2201) ((cl-lib (0 5))) "Enforce rules for popups" single ((:commit . "4189c1c773aab533969b587f7801ffbcd1d7d613") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/shackle"))]) (sexy-monochrome-theme . [(20180526 808) nil "A sexy dark Emacs >= 24 theme for your sexy code" single ((:commit . "036bc238e48dd21aae1c34e6971d376582d8281b") (:keywords "themes") (:authors ("Volodymyr Yevtushenko" . "voloyev@vivaldi.net")) (:maintainer "Volodymyr Yevtushenko" . "voloyev@vivaldi.net") (:url . "https://github.com/voloyev/sexy-monochrome-theme"))]) (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"))]) (seti-theme . [(20161208 1636) nil "A dark colored theme, inspired by Seti Atom Theme" single ((:commit . "cbfef2fc15d19ce4c8326e65fafdd61737077132") (:keywords "themes") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:url . "https://github.com/caisah/seti-theme"))]) (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/"))]) (sesman . [(20181109 1100) ((emacs (25))) "Generic Session Manager" tar ((:commit . "2a1a9a4ccfd88127e13f2655ac130c82fe84f2f7") (:keywords "process") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/sesman"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (semi . [(20180825 901) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "d445dbdf39bab9aaf00582506357f25f1b78d76d"))]) (selectric-mode . [(20170216 1111) nil "IBM Selectric mode for Emacs" tar ((:commit . "aed70015b29074b52a5d0c49b88b7a501d276dda") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (secretaria . [(20181025 1957) ((emacs (24 4)) (alert (1 2)) (s (1 12)) (f (0 19 0))) "A personal assistant based on org-mode" single ((:commit . "27528f57c7543b425940db29b9b99d59d430ff09") (:keywords "org" "convenience") (:authors ("Jorge Araya Navarro" . "jorge@esavara.cr")) (:maintainer "Jorge Araya Navarro" . "jorge@esavara.cr") (:url . "https://gitlab.com/shackra/secretaria"))]) (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"))]) (searchq . [(20150829 1211) ((emacs (24 3))) "Framework of queued search tasks using GREP, ACK, AG and more." tar ((:commit . "dd510d55ad66a82c6ef022cfe7c4a73ad5365f82") (:authors ("boyw165")) (:maintainer "boyw165"))]) (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"))]) (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"))]) (sdcv . [(20180211 1633) ((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 . "7cb1f8ec0fa4bb25669534d62bff58df38a992a8") (: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"))]) (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"))]) (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"))]) (scribble-mode . [(20160124 2328) ((emacs (24))) "Major mode for editing Scribble documents" single ((:commit . "34e9e5edb921813b6483e0fefa848efb6ee4b314") (: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"))]) (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"))]) (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/"))]) (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-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-log . [(20141115 743) nil "Utility for *scratch* buffer." single ((:commit . "1168f7f16d36ca0f4ddf2bb98881f8db62cc5dc0") (:authors ("kmori" . "morihenotegami@gmail.com")) (:maintainer "kmori" . "morihenotegami@gmail.com"))]) (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 . [(20170614 2101) nil "Mode-specific scratch buffers" single ((:commit . "2cdf2b841ce7a0987093f65b0cc431947549f897") (:keywords "convenience" "tools" "files") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com"))]) (scpaste . [(20180822 1551) ((htmlize (1 39))) "Paste to the web via scp." single ((:commit . "af23b09ece83a9382c3c3c1a2f09e78b8641f0a5") (:keywords "convenience" "hypermedia") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/scpaste"))]) (scp . [(20171204 251) ((emacs (25 1)) (cl-lib (0 5))) "Use the SCP command to transfer files with the remote server" single ((:commit . "447305db246d9c9240678dd9c734ed920300463a") (:keywords "convenience" "scp") (:authors ("zg" . "13853850881@163.com")) (:maintainer "zg" . "13853850881@163.com") (:url . "https://github.com/tszg/emacs-scp"))]) (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"))]) (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"))]) (scion . [(20130315 1255) nil "Haskell Minor Mode for Interacting with the Scion Library" single ((:commit . "99b4589175665687181a932cd836850205625f71") (:url . "https://code.google.com/p/scion-lib/"))]) (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"))]) (scheme-here . [(20141028 718) nil "cmuscheme extension for multiple inferior processes" single ((:commit . "430ba017cc530865218de23a8f7985095a58343f") (:keywords "scheme") (:authors ("Dimitris Vyzovitis" . "vyzo@media.mit.edu")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com") (:url . "https://github.com/kaihaosw/scheme-here"))]) (scheme-complete . [(20181029 1255) nil "Smart auto completion for Scheme in Emacs" single ((:commit . "b86ee41d48664839181498313f4f3dc2fef17d6f") (:authors ("Alex Shinn")) (:maintainer "Alex Shinn"))]) (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"))]) (scala-mode . [(20170802 1132) nil "Major mode for editing Scala" tar ((:commit . "56cba2903cf6e12c715dbb5c99b34c97b2679379") (:keywords "languages") (:url . "https://github.com/ensime/emacs-scala-mode"))]) (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/"))]) (scad-mode . [(20180109 209) nil "A major mode for editing OpenSCAD code" single ((:commit . "d4d3504975f9bd08c09e10db665de3fc83542747") (: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"))]) (sbt-mode . [(20180511 1622) ((emacs (24 4))) "Interactive support for sbt projects" tar ((:commit . "e658af140547cbef495c33535c7f694a501d318c") (:keywords "languages") (:url . "https://github.com/ensime/emacs-sbt-mode"))]) (sayid . [(20181024 1838) ((cider (0 14 0))) "sayid nREPL middleware client" single ((:commit . "078378240277160b00d332065d8325e713c0b526") (:authors ("Bill Piel" . "bill@billpiel.com")) (:maintainer "Bill Piel" . "bill@billpiel.com") (:url . "https://github.com/clojure-emacs/sayid"))]) (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"))]) (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"))]) (save-visited-files . [(20170301 650) nil "save opened files across sessions" single ((:commit . "33e8d223f622001f5792c52d8b36661e46b5834c") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/save-visited-files"))]) (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"))]) (sauron . [(20171105 1047) nil "Track (erc/org/dbus/...) events and react to them." tar ((:commit . "50f09bfc6f5bf79e72a1223e345ee720b507e56a"))]) (sass-mode . [(20161007 626) ((haml-mode (3 0 15)) (cl-lib (0 5))) "Major mode for editing Sass files" single ((:commit . "37105f46f6ea3592039f2ea7d0463ae7f042616e") (:keywords "markup" "language" "css") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "http://github.com/nex3/haml/tree/master"))]) (sane-term . [(20160620 1347) ((emacs (24 1))) "Multi Term is crazy. This is not." single ((:commit . "ef6fd08078f49f2bb3be60855d2d002bb6a5e0d2") (:authors ("Adam Patterson" . "adam@adamrt.com")) (:maintainer "Adam Patterson" . "adam@adamrt.com") (:url . "http://github.com/adamrt/sane-term"))]) (salt-mode . [(20181015 1025) ((emacs (24 4)) (yaml-mode (0 0 12)) (mmm-mode (0 5 4)) (mmm-jinja2 (0 1))) "Major mode for Salt States" single ((:commit . "432eaf8a48a79ec5e3b6149dac28370e140155e4") (:keywords "languages") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Glynn Forrest" . "me@glynnforrest.com") (:url . "https://github.com/glynnforrest/salt-mode"))]) (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"))]) (sailfish-scratchbox . [(20171202 1332) nil "Sailfish OS scratchbox inside the emacs." single ((:commit . "bb5ed0f0b0cd72f2eb1af065b7587ec81866b089") (: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"))]) (sage-shell-mode . [(20180215 835) ((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 . "9f07ff835e8d19afe571dbe414afb690c7b1cb5c") (:keywords "sage" "math") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/sagemath/sage-shell-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (s . [(20180406 808) nil "The long lost Emacs string manipulation library." single ((:commit . "03410e6a7a2b11e47e1fea3b7d9899c7df26435e") (:keywords "strings") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (ryo-modal . [(20180331 818) ((emacs (24 4))) "Roll your own modal mode" single ((:commit . "42f874467dfdce59b511f883496ce2624b133dd7") (: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"))]) (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"))]) (rustic . [(20181101 1357) ((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))) "Rust development environment" tar ((:commit . "dd4bd58967ed9154af26aab72f0e1fd2a8c93b7e") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla"))]) (rust-playground . [(20180807 1158) ((emacs (24 3))) "Local Rust playground for short code snippets." single ((:commit . "092c8b11d62dea23953a004744833092bac85fe1") (:keywords "tools" "rust") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:url . "https://github.com/grafov/rust-playground"))]) (rust-mode . [(20181008 1628) ((emacs (24 0))) "A major emacs mode for editing Rust source code" single ((:commit . "12cb16964ce01f0e484b082ccc8a3430cc1c4158") (:keywords "languages") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/rust-lang/rust-mode"))]) (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"))]) (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"))]) (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"))]) (run-stuff . [(20180209 748) ((emacs (24 4))) "context based command execution" single ((:commit . "ed42a7bc9a197ccf1ca87f9937bf98f0a9ed3f92") (: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"))]) (rum-mode . [(20180127 22) ((emacs (24))) "Major mode for Rum programming language" single ((:commit . "893b1a26244ef6ea82833a9afbc13cb82c0cfb53") (:keywords "rum" "languages" "lisp") (:url . "https://github.com/rumlang/rum-mode"))]) (rufo . [(20170718 1416) ((emacs (24 3))) "use rufo to automatically format ruby files" single ((:commit . "85a6d80fb05fef396a8029b8f944c92a53faf8fe") (:authors ("Daniel Ma" . "danielhgma@gmail.com")) (:maintainer "Daniel Ma" . "danielhgma@gmail.com") (:url . "https://github.com/danielma/rufo.el"))]) (ruby-tools . [(20151209 1615) nil "Collection of handy functions for ruby-mode." tar ((:commit . "6b97066b58a4f82eb2ecea6434a0a7e981aa4c18"))]) (ruby-test-mode . [(20171016 1631) ((ruby-mode (1 0)) (pcre2el (1 8))) "Minor mode for Behaviour and Test Driven" single ((:commit . "87f6d770f8d2326c8d36099aeee5d577f3e2af69") (:keywords "ruby" "unit" "test" "rspec") (:authors ("Roman Scherer" . "roman.scherer@gmx.de") ("Caspar Florian Ebeling" . "florian.ebeling@gmail.com")) (:maintainer "Roman Scherer" . "roman.scherer@burningswell.com"))]) (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-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-hash-syntax . [(20180324 209) nil "Toggle ruby hash syntax between classic and 1.9 styles" single ((:commit . "89fc364a837d7a78ecce34380f09c073a83e30e0") (:keywords "languages") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ruby-hash-syntax"))]) (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-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-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-electric . [(20170810 1130) nil "Minor mode for electrically editing ruby code" single ((:commit . "3553448a780a1ea5c3b0e9becd820d4762876593") (:keywords "languages" "ruby") (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/ruby-electric.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-additional . [(20180913 1257) ((emacs (24 3)) (ruby-mode (1 2))) "ruby-mode extensions yet to be merged into Emacs" tar ((:commit . "ee275264bc9217e43df22733c1161514805ec3d4") (:keywords "ruby" "languages") (:url . "https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/"))]) (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"))]) (rubocop . [(20170312 611) ((emacs (24))) "An Emacs interface for RuboCop" single ((:commit . "0ab1329a8634762bec5bdf5f415c05b32f990248") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/rubocop-emacs"))]) (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"))]) (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"))]) (rtags . [(20181117 2108) nil "A front-end for rtags" single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (rspec-mode . [(20180614 1148) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "dda1ece81bd2802c4097e5c963fac33a444659cb") (:keywords "rspec" "ruby") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:url . "http://github.com/pezra/rspec-mode"))]) (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"))]) (rpn-calc . [(20170523 142) ((popup (0 4))) "quick RPN calculator for hackers" single ((:commit . "66fcb64dbfddfc23823356b6213215bd7ab5efc6") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/rpn-calc"))]) (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"))]) (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"))]) (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"))]) (rope-read-mode . [(20171003 1419) nil "Rearrange lines to read text smoothly" single ((:commit . "77b183a6f5450138388509f54a6a2ce442766e50") (:keywords "reading" "convenience" "chill") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://github.com/marcowahl/rope-read-mode"))]) (roguel-ike . [(20160120 302) ((popup (0 5 0))) "A coffee-break roguelike" tar ((:commit . "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c"))]) (robots-txt-mode . [(20180919 1541) nil "Major mode for editing robots.txt" single ((:commit . "f8fc7ee50a3d5d7a2838772ed298fb69b9051c5c") (: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"))]) (robe . [(20171116 2049) ((inf-ruby (2 5 1)) (emacs (24 4))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "7829f4fdda41eee0add8868646ab86e6b17de4b4") (:keywords "ruby" "convenience" "rails") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:url . "https://github.com/dgutov/robe"))]) (rmsbolt . [(20181108 324) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "349ace73107f818bff5ecf4dee17c7192a9159e0") (:keywords "compilation" "tools") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/rmsbolt"))]) (rjsx-mode . [(20180913 2224) ((emacs (24 4)) (js2-mode (20170504))) "Real support for JSX" single ((:commit . "89358fd230878a19e3232a3e4ce21b7fb608faae") (:keywords "languages") (:authors ("Felipe Ochoa" . "felipe@fov.space")) (:maintainer "Felipe Ochoa" . "felipe@fov.space") (:url . "https://github.com/felipeochoa/rjsx-mode/"))]) (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"))]) (ripgrep . [(20180323 1620) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "93eca9138f6d6eea1af92f476c797ce19fa573d9") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (rich-minority . [(20170813 1322) ((cl-lib (0 5))) "Clean-up and Beautify the list of minor-modes." single ((:commit . "a50d9b2fd059f6a0e5b22063a5375851a087f61a") (:keywords "mode-line" "faces") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/rich-minority"))]) (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"))]) (rhtml-mode . [(20130422 1311) nil "major mode for editing RHTML files" tar ((:commit . "a6d71b38a3db867ccf82999c99805db1a3a33c33"))]) (rg . [(20181023 634) ((cl-lib (0 5)) (emacs (24 4)) (s (1 10 0)) (wgrep (2 1 10))) "A search tool based on ripgrep." tar ((:commit . "f6271b51915d2cffb041a58d1694d2319208e3a7") (: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"))]) (reykjavik-theme . [(20180823 1544) ((emacs (24))) "Theme with a dark background." single ((:commit . "2cd0043ae6d046f812a95bb26398ea23141beccc") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (review-mode . [(20180312 1235) nil "major mode for ReVIEW" single ((:commit . "bf38b0ce8be2eef1cf810ac6f3664d2190bb9ef7") (:authors ("Kenshi Muto" . "kmuto@debian.org")) (:maintainer "Kenshi Muto" . "kmuto@debian.org") (:url . "https://github.com/kmuto/review-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"))]) (reverse-im . [(20180213 1325) ((emacs (24 4))) "Reverse mapping for keyboard layouts other than english." single ((:commit . "16931909115a922b1cf3846b1f60509b6590001f") (:keywords "input" "method") (:url . "https://github.com/a13/reverse-im.el"))]) (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"))]) (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"))]) (restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "859d944796ce298b5779d9d256bd8d271d57e221") (:keywords "http" "helm") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) (restclient . [(20180316 1551) nil "An interactive HTTP client for Emacs" single ((:commit . "859d944796ce298b5779d9d256bd8d271d57e221") (:keywords "http") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (request-deferred . [(20160419 2305) ((deferred (0 3 1)) (request (0 2 0))) "Wrap request.el by deferred" single ((:commit . "a3d080e57eb8be606fbf39d1baff94e1b16e1fb8") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (request . [(20170201 147) ((emacs (24 4))) "Compatible layer for URL request in Emacs" single ((:commit . "a3d080e57eb8be606fbf39d1baff94e1b16e1fb8") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (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"))]) (repo . [(20170213 939) ((emacs (24 3))) "Running repo from Emacs" single ((:commit . "d7b87cd515bad8a67d3a892a46a23f5fe81e08de") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/repo-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"))]) (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-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-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"))]) (repl-toggle . [(20180501 1028) ((fullframe (0 0 5))) "Switch to/from repl buffer for current major-mode" single ((:commit . "484739e20bdc0e879cef647a1f5f89e8ab92c9b6") (:keywords "repl" "buffers" "toggle") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) (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"))]) (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"))]) (renpy . [(20180907 1934) nil "silly walks for Renpy" single ((:commit . "cf9c9ead6084210a4c0290a0d999a099b8d00a81") (:keywords "languages") (:authors ("PyTom" . "pytom@bishoujo.us")) (:maintainer "Dave Love" . "fx@gnu.org") (:url . "https://github.com/billywade/renpy-mode"))]) (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"))]) (remark-mode . [(20171218 756) ((emacs (25 1)) (markdown-mode (2 0))) "Major mode for the remark slideshow tool" tar ((:commit . "e8a95f25d865d6165a7fdb1cadf5e6f0bb5ee73b") (:keywords "remark" "slideshow" "markdown" "hot reload") (:authors ("@torgeir")) (:maintainer "@torgeir"))]) (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"))]) (relative-buffers . [(20160221 1923) ((cl-lib (0 5)) (dash (2 6 0)) (s (1 9 0)) (f (0 16 2))) "Emacs buffers naming convention" single ((:commit . "2547475084244d266b507e563c9b4034705cfeca") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/relative-buffers"))]) (related . [(20161003 610) ((cl-lib (0 5))) "Switch back and forth between similarly named buffers." single ((:commit . "0065a2e16eeaa9bface49f7f0815b9cf9719f441") (:keywords "file" "buffer" "switch" "selection" "matching" "convenience") (:authors ("Julien Montmartin")) (:maintainer "Julien Montmartin") (:url . "https://bitbucket.org/lyude/related/raw/master/related.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"))]) (region-state . [(20151128 1038) nil "Show the number of chars/lines or rows/columns in the region" single ((:commit . "07ffb7d9ada2fcd204f3447f078c265d25f36f60") (:keywords "convenience") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/region-state.el"))]) (region-convert . [(20161119 259) nil "Convert string in region by Lisp function" single ((:commit . "2f8195fb81b8d27aeb42bdc4055ebce37c09717b") (:keywords "region" "convenience") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/right-click-context"))]) (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"))]) (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/"))]) (regex-dsl . [(20100124 1028) nil "lisp syntax for regexps" single ((:commit . "ac89ab8b7691a165ef3007cb84417125cfc0632e") (:authors ("Aliaksey Kandratsenka" . "alk@tut.by")) (:maintainer "Aliaksey Kandratsenka" . "alk@tut.by"))]) (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"))]) (redtt . [(20181017 2259) ((emacs (25 3))) "Major mode for editing redtt proofs" single ((:commit . "355cec36d117e527f0338401768bcbccd1518dc0") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:url . "http://github.com/RedPRL/redtt"))]) (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"))]) (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"))]) (redprl . [(20180418 1434) ((emacs (24 3))) "Major mode for editing RedPRL proofs and interacting with RedPRL" single ((:commit . "4b13acd64cf523442f87337f7c41261e1dfd37dd") (:keywords "languages") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com"))]) (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"))]) (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"))]) (recursive-narrow . [(20180917 449) nil "narrow-to-region that operates recursively" single ((:commit . "94f5c16a81ecf85c7442ebc8cd04ba7553ab5244") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/recursive-narrow"))]) (rectangle-utils . [(20160915 408) ((emacs (24)) (cl-lib (0 5))) "Some useful rectangle functions." single ((:commit . "6fe38fdd48ef5305a908b94a043a966ac3f2053a") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/rectangle-utils"))]) (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"))]) (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>"))]) (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"))]) (recentf-remove-sudo-tramp-prefix . [(20180205 556) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "6d23ebc3f52b0a66236c171c45cc77a4d3aba541") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))]) (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"))]) (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"))]) (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"))]) (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"))]) (reason-mode . [(20180727 1858) ((emacs (24 3))) "A major mode for editing ReasonML" tar ((:commit . "0ab99a03b2e47523e86d1e94ccc085e176b987df") (:keywords "languages" "ocaml") (:authors ("Mozilla")) (:maintainer "Mozilla") (:url . "https://github.com/reasonml-editor/reason-mode"))]) (realgud-rdb2 . [(20160303 843) ((realgud (1 3))) "realgud front-end for interacting with Ruby debugger2" tar ((:commit . "b394bee61e75b7c6a5fa565594aa79b74887f5df") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-ruby-debugger2"))]) (realgud-pry . [(20160805 1445) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to the Ruby pry debugger" tar ((:commit . "9b3834048fcbc16827c55af38f8cfef0cf6533da") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-pry"))]) (realgud-old-debuggers . [(20170316 731) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to older lesser-used debuggers" tar ((:commit . "1e1d573a6ba731afbe68c1309a316457ca3fbb94") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-old-debuggers"))]) (realgud-byebug . [(20180309 323) ((realgud (1 4 3)) (cl-lib (0 5)) (emacs (24))) "realgud front-end to the Ruby byebug debugger" tar ((:commit . "de603d58aa9ef72a2619247a0234fccf6bc2cc9a") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-byebug"))]) (realgud . [(20180925 10) ((load-relative (1 2)) (loc-changes (1 2)) (test-simple (1 2 0)) (cl-lib (0 5)) (emacs (24))) "A modular front-end for interacting with external debuggers" tar ((:commit . "36782d69c806079eb067705ef67fcb3b9299ae01") (:keywords "gdb" "python" "perl" "go" "bash" "nodejs" "zsh" "bashdb" "zshdb" "remake" "make" "trepan" "perldb" "pdb") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/realgud/realgud/"))]) (real-auto-save . [(20180803 447) nil "Automatically save your all your buffers/files at regular intervals." single ((:commit . "b4f83f1e7e921e4cb762c7f525c209ff385742d8") (:authors ("Chaoji Li <lichaoji AT gmail DOT com>") ("Anand Reddy Pandikunta <anand21nanda AT gmail DOT com>")) (:maintainer "Chaoji Li <lichaoji AT gmail DOT com>"))]) (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"))]) (readability . [(20140716 27) ((oauth (1 4)) (ov (1 0)) (emacs (24 3))) "Read articles from Readability in Emacs" single ((:commit . "6c220ab8e0ca63946574ed892add5c8fd14002ce") (:keywords "readability" "oauth") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/emacs-readability"))]) (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"))]) (react-snippets . [(20181002 1046) ((yasnippet (0 7 0))) "Yasnippets for React" tar ((:commit . "87ccb640d265fe799583ab55605b84d113223694"))]) (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"))]) (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"))]) (rdf-prefix . [(20180127 1806) nil "Prefix lookup for RDF" single ((:commit . "164136d05505275d42d1ca3a390f55fcc89694b8") (:keywords "convenience" "abbrev") (:authors ("Simen Heggestøyl" . "simenheg@gmail.com")) (:maintainer "Simen Heggestøyl" . "simenheg@gmail.com") (:url . "https://github.com/simenheg/rdf-prefix"))]) (rcirc-styles . [(20160207 250) ((cl-lib (0 5))) "support mIRC-style color and attribute codes" single ((:commit . "f313bf6a7470bed314b27c7a40558cb787d7bc67"))]) (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-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-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-alert . [(20141127 1047) nil "Configurable alert messages on top of RCIRC" tar ((:commit . "0adf8ff9c47023fec578f678424be62b0f49057f") (:keywords "lisp" "rcirc" "irc" "alert" "awesome") (:maintainer "Cayetano Santos"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (ranger . [(20170817 1557) ((emacs (24 4))) "Make dired more like ranger" single ((:commit . "6bbff5df2e55f56047fca5058d9ca93ba4963aef") (:keywords "files" "convenience" "dired") (:authors ("Rich Alesi <https://github.com/ralesi>")) (:maintainer "Rich Alesi <https://github.com/ralesi>") (:url . "https://github.com/ralesi/ranger"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (rainbow-delimiters . [(20170929 1132) nil "Highlight brackets according to their depth" single ((:commit . "19b93892afa0494ba749c2ca9c154e04447ad778") (: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-blocks . [(20171025 1438) nil "Block syntax highlighting for lisp code" single ((:commit . "dd435d7bb34ff6f162a5f315df308b90b7e9f842") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/rainbow-blocks"))]) (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"))]) (railscasts-reloaded-theme . [(20181030 750) nil "Railscasts Reloaded color theme" single ((:commit . "ae77bc04fe5a948f418ec8693f6ff2c9ea757c50") (:authors ("George Thomas" . "iamgeorgethomas@gmail.com")) (:maintainer "George Thomas" . "iamgeorgethomas@gmail.com") (:url . "https://github.com/thegeorgeous/railscasts-reloaded-theme"))]) (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"))]) (racket-mode . [(20181117 229) ((emacs (24 3)) (faceup (0 0 2)) (s (1 9 0))) "Major mode for Racket language." tar ((:commit . "dd51668ad9d5293c5eb57f37bbc4c25a201ba467") (:authors ("Greg Hendershott")) (:maintainer "Greg Hendershott") (:url . "https://github.com/greghendershott/racket-mode"))]) (racer . [(20181023 2304) ((emacs (24 3)) (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 . "bf8f76f17c64eff2d6ca6029ee0ab7a466590128") (:keywords "abbrev" "convenience" "matching" "rust" "tools") (:authors ("Phil Dawes")) (:maintainer "Phil Dawes") (:url . "https://github.com/racer-rust/emacs-racer"))]) (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"))]) (quiz . [(20170818 1115) ((cl-lib (0 5)) (emacs (25))) "Multiple choice quiz game" single ((:commit . "c43151212ead2330e7ec8e5ac6914c617a12e4f8") (:keywords "games" "trivia" "quiz") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/quiz.el"))]) (quiet . [(20160508 1256) nil "disconnect from the online world for a while" single ((:commit . "6f20309f99e26fcae2601d1544b342f044e54baf") (:keywords "quiet" "distraction" "network" "detachment" "offline") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:url . "https://github.com/zzkt/quiet"))]) (quickrun . [(20170223 115) ((emacs (24 3))) "Run commands quickly" single ((:commit . "55bbe5d54b80206ea5a60bf2f58eb6368b2c8201") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))]) (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"))]) (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"))]) (quick-preview . [(20150829 439) nil "quick preview using GNOME sushi, gloobus or quick look" single ((:commit . "29c884c6ab385ef67d9aa656ebb7c94cabeb5c35") (:keywords "files" "hypermedia") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/quick-preview.el"))]) (quick-peek . [(20180525 1411) ((emacs (24 3))) "Inline quick-peek windows" single ((:commit . "3cc57cc12f4b5f27a18cc5fb0c32c3a943c16158") (:keywords "tools" "help" "doc" "convenience") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com"))]) (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>"))]) (quelpa-use-package . [(20180812 1029) ((emacs (24 3)) (quelpa (0)) (use-package (2))) "quelpa handler for use-package" single ((:commit . "90fc1eadf3f7ff3a3bef07d229a807aba2f7beef") (:keywords "package" "management" "elpa" "use-package") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa-use-package"))]) (quelpa . [(20181110 1619) ((emacs (24 3))) "Emacs Lisp packages built directly from source" tar ((:commit . "bc8070c43480fa5c3c0ad5775350e52bea7347c2") (:keywords "package" "management" "build" "source" "elpa") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:url . "https://framagit.org/steckerhalter/quelpa"))]) (quasi-monochrome-theme . [(20180516 1513) nil "Quasi Monochrome theme" tar ((:commit . "e803bc0c2e38f350feb8297a092812e5204781c7") (:keywords "color" "theme" "monochrome"))]) (quack . [(20181106 1301) nil "enhanced support for editing and running Scheme code" single ((:commit . "2146805ce2b5a9b155d73929986f11e713787e26"))]) (qt-pro-mode . [(20170604 1841) ((emacs (24))) "Qt Pro/Pri major mode" single ((:commit . "ed3b2ebe46828107c3b85e554b0a6a4dc2eeedf6") (:keywords "extensions") (:authors ("Todd Neal" . "tolchz@gmail.com")) (:maintainer "Todd Neal" . "tolchz@gmail.com"))]) (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"))]) (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"))]) (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"))]) (pyvenv . [(20180831 847) nil "Python virtual environment interface" single ((:commit . "921ae2356b6a111ac0b7e44fd04cba8e95cbe936") (:keywords "python" "virtualenv" "tools") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Jorgen Schaefer" . "contact@jorgenschaefer.de") (:url . "http://github.com/jorgenschaefer/pyvenv"))]) (pythonic . [(20180920 2315) ((emacs (25)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "6a5a2a365e4ea6fc5adfa96359418c437aa351c8") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))]) (python-x . [(20180802 1742) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "74d8c7eb824846de94705b1e74ee03ef109868d1") (:keywords "python" "eval" "folding") (:url . "https://github.com/wavexx/python-x.el") (:author . "Yuri D'Elia <wavexx@thregr.org>"))]) (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-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-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-mode . [(20181110 739) nil "Python major mode" tar ((:commit . "3954afcf093f50930f9d500dfad68cbbed84a01c"))]) (python-info . [(20151228 1852) nil "Python info manual for Emacs" tar ((:commit . "306f15441b54b25757cdfd3b327b84024ea21ed7"))]) (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-docstring . [(20170508 856) nil "Smart Python docstring formatting" tar ((:commit . "d35d2e0fbe468743c19a870fec7b28a7e725790d"))]) (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-cell . [(20181028 2140) nil "Support for MATLAB-like cells in python mode" single ((:commit . "2faa78b3f4faa12f09f9864ebd854ae7d4e95fd0") (:keywords "python" "matlab" "cell") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com"))]) (pytest . [(20181005 1524) ((s (1 9 0))) "Easy Python test running in Emacs" single ((:commit . "1bfa7549001e61ecd59cd6eae7c6656a924d1ba4") (:keywords "pytest" "python" "testing") (:url . "https://github.com/ionrock/pytest-el"))]) (pyramid . [(20181031 1102) ((emacs (25 2)) (pythonic (0 1 1)) (tablist (0 70))) "Minor mode for working with pyramid projects" tar ((:commit . "ad207ebe31a5b027560b69e20852156a3b882c0c") (: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"))]) (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 . "4af6a0668057986ad8d297d9152d897baf77e303") (:keywords "convenience") (:authors ("Edward Banner" . "edward.banner@gmail.com")) (:maintainer "Edward Banner" . "edward.banner@gmail.com") (:url . "https://github.com/ebanner/pynt"))]) (pylint . [(20170402 1255) nil "minor mode for running `pylint'" single ((:commit . "6e37ca37a78024dcc79ceb2431b0dfebd526f3ad") (:keywords "languages" "python") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (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"))]) (pyim-wbdict . [(20180930 458) ((pyim (1 0))) "Some wubi dicts for pyim" tar ((:commit . "55c7eed02c3253de12c71b925b8d9ef23425b64c") (: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"))]) (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-basedict . [(20170727 259) nil "The default pinyin dict of pyim" tar ((:commit . "3196cb210e056702c5a4ea1dac1d8e1e27740fab") (: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 . [(20181109 1350) ((emacs (24 4)) (popup (0 1)) (async (1 6)) (pyim-basedict (0 1))) "A Chinese input method support quanpin, shuangpin, wubi and cangjie." tar ((:commit . "8648d467d79b3bf1c3a99623f9329939cacc40da") (:keywords "convenience" "chinese" "pinyin" "input-method") (:authors ("Ye Wenbin <wenbinye@163.com>, Feng Shu" . "tumashu@163.com")) (:maintainer "Ye Wenbin <wenbinye@163.com>, Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/pyim"))]) (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/"))]) (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"))]) (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 . "b6eef88ad89865a7e0ec8bae8c6ce8239cb649c6") (:keywords "python" "pyenv") (:authors ("Sviatoslav Bulbakha" . "mail@ssbb.me")) (:maintainer "Sviatoslav Bulbakha" . "mail@ssbb.me") (:url . "https://github.com/ssbb/pyenv-mode-auto"))]) (pyenv-mode . [(20170801 2348) ((pythonic (0 1 0))) "Integrate pyenv with python-mode" single ((:commit . "eabb1c66f9e0c0500fef4d089508aad246d81dc0") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pyenv-mode"))]) (pydoc-info . [(20110301 834) nil "Better Python support for info-lookup-symbol." tar nil]) (pydoc . [(20181025 51) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "abb948e27efaf2452f339c62cd99a1c69930bbfe") (:keywords "pydoc" "python") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:url . "https://github.com/statmobile/pydoc"))]) (pycoverage . [(20160325 112) ((emacs (24 3))) "Support for coverage stats on Python 2.X and 3" tar ((:commit . "4f5451f4d6e1e2ddd5878fc7d18f5fc4fc92a83d") (:keywords "project" "convenience") (:authors ("matt harrison")) (:maintainer "matt harrison") (:url . "https://github.com/mattharrison/pycoverage.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"))]) (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"))]) (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-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-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-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-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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (purp-theme . [(20181012 1454) nil "No description available." tar ((:commit . "9c0c1246008ed0844a90661e45c660d99451425e"))]) (purescript-mode . [(20181028 838) ((cl-lib (0 6))) "A PureScript editing mode" tar ((:commit . "a6c7e4cc5ea29cf96478490a57d495e745d6e054"))]) (puppet-mode . [(20180813 1947) ((emacs (24 1)) (pkg-info (0 4))) "Major mode for Puppet manifests" single ((:commit . "7dee1b5a5debac6e56f9107492a413b6c0edb94d") (:keywords "languages") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com") ("Russ Allbery" . "rra@stanford.edu")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/voxpupuli/puppet-mode"))]) (punpun-theme . [(20161103 847) nil "A bleak theme" tar ((:commit . "cce8b10b2df6f9187a9eaa0c3f21ff0dda175968"))]) (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"))]) (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"))]) (pulseaudio-control . [(20180627 1150) nil "Use `pactl' to manage PulseAudio volumes." single ((:commit . "1da372ec79f5d2fb901d1f9f0679fee8848fd011") (: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"))]) (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"))]) (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"))]) (psysh . [(20171023 529) ((emacs (24 3)) (s (1 9 0)) (f (0 17))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "926af4ae0c068ed699fc939f4b3e642aaa6f7c9e") (:keywords "processes" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/psysh.el"))]) (psession . [(20181111 1412) ((emacs (24)) (cl-lib (0 5)) (async (1 9 3))) "Persistent save of elisp objects." single ((:commit . "ce7c28dc5aed37a3a3c4bd9a099032c15e5ef9e1") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/psession"))]) (psci . [(20180418 1233) ((purescript-mode (13 10)) (dash (2 9 0)) (s (1 9 0)) (f (0 17 1))) "Major mode for purescript repl psci" tar ((:commit . "3f5ef1141a97c4b5507204d48e8aeccd553e4591") (:keywords "purescript" "psci" "repl" "major" "mode") (:authors ("Antoine R. Dumont <eniotna.t AT gmail.com>")) (:maintainer "Antoine R. Dumont <eniotna.t AT gmail.com>") (:url . "https://github.com/ardumont/emacs-psci"))]) (psc-ide . [(20181002 1319) ((dash (2 13 0)) (dash-functional (1 2 0)) (company (0 8 7)) (cl-lib (0 5)) (s (1 10 0)) (emacs (24 4)) (flycheck (0 24)) (let-alist (1 0 4)) (seq (1 11))) "Minor mode for PureScript's psc-ide tool." tar ((:commit . "01a158b77210fec9c1bfc0caffaf08fccc0412ac") (: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"))]) (proxy-mode . [(20180521 330) ((emacs (25))) "A minor mode to toggle proxy." single ((:commit . "1cf689c2408945081215550589936a7eaab14987") (:keywords "comm" "proxy") (:url . "https://github.com/stardiviner/proxy-mode"))]) (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"))]) (protobuf-mode . [(20170526 1650) nil "major mode for editing protocol buffers." single ((:commit . "59133296a6e5d5017074e036557ebb658e49d435") (:keywords "google" "protobuf" "languages") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com"))]) (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"))]) (proportional . [(20171025 2337) ((emacs (25 1))) "use a proportional font everywhere" single ((:commit . "f671ffe8fd803e2fc462e2e1844aeeab1a13918e") (:keywords "faces") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/proportional"))]) (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"))]) (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"))]) (proof-general . [(20181115 1610) ((emacs (24 3))) "A generic front-end for proof assistants (interactive theorem provers)" tar ((:commit . "05df29f7ff065d8da45b81691c602b6cf075e4a0"))]) (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"))]) (prompt-text . [(20160106 1409) nil "Various information in minibuffer prompt" single ((:commit . "bb9265ebfada42d0e3c67c809665e1e5d980691e") (: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"))]) (promise . [(20180409 952) ((emacs (25)) (async (1 9))) "Promises/A+" tar ((:commit . "f623fa7466983fd1ba7034371f599434c03da723") (:keywords "async" "promise" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-promise"))]) (projmake-mode . [(20161031 1715) ((dash (20150611 922)) (indicators (20130217 1405))) "Project oriented automatic builder and error highlighter, flymake for projects" tar ((:commit . "a897701f7e8f8cc11459ed44eb0e454db2a460c1"))]) (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"))]) (projector . [(20180724 1822) ((alert (1 1)) (projectile (0 11 0)) (cl-lib (0 5))) "Lightweight library for managing project-aware shell and command buffers" single ((:commit . "d4aad9449960457932c19123c7ea2d60a67d1cca") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/projector"))]) (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"))]) (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-speedbar . [(20170517 243) ((projectile (0 11 0)) (sr-speedbar (0))) "projectile integration for speedbar" single ((:commit . "dcab13db72c2084edbebe808e35f1126fe0b3bcd") (: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-sift . [(20160107 1015) ((sift (0 2 0)) (projectile (0 13 0))) "Run a sift with Projectile" single ((:commit . "4ce8878a0fc396ded7521ce38852d93e1d863065") (: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-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "93eca9138f6d6eea1af92f476c797ce19fa573d9") (: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-rails . [(20181009 1317) ((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 . "af0f826f2e1b1aad4e31e089e5fc7b5937e82359") (: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-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-git-autofetch . [(20180418 2336) ((projectile (0 14 0)) (alert (1 2))) "automatically fetch git repositories" single ((:commit . "55855886bccb5a22fbeb2b1c86ef2e9ff4de9067") (: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-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-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 . [(20181106 1631) ((emacs (25 1)) (pkg-info (0 4))) "Manage and navigate projects in Emacs easily" single ((:commit . "9482d69e5ca6549ec7baea58f86c1445b544563b") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/projectile"))]) (project-shells . [(20171107 851) ((emacs (24 3)) (seq (2 19))) "Manage the shell buffers of each project" single ((:commit . "d9401de750e444697c2eb9de1ff79f2a2eba4af8") (: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"))]) (project-root . [(20110206 2030) nil "Define a project root and take actions based upon it." single ((:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) (project-persist-drawer . [(20151108 1222) ((project-persist (0 3))) "Use a project drawer with project-persist." tar ((:commit . "35bbe132a4fab6a0fec15ce6c0fd2fe6a4aa9626"))]) (project-persist . [(20180906 1302) nil "A minor mode to allow loading and saving of project settings." tar ((:commit . "26d9435bef44da2a1b0892eba822f9f487b98eec"))]) (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-abbrev . [(20180706 254) ((emacs (24 4))) "Customize abbreviation expansion in the project." single ((:commit . "3678f1bc0084c1092467f8fc1778fecdbe255c43") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/project-abbrev"))]) (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"))]) (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"))]) (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"))]) (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"))]) (prodigy . [(20180511 938) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (24))) "Manage external services from within Emacs" single ((:commit . "701dccaa56de9e6a330c05bde33bce4f3b3d6a97") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))]) (processing-snippets . [(20140426 1428) ((yasnippet (0 8 0))) "Snippets for processing-mode" tar ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-mode . [(20160614 1846) nil "Redisplay parts of the buffer as pretty Unicode symbols." single ((:commit . "59466813f6a46bed926ddcbae1a70b0eae7f73a0") (:keywords "pretty" "unicode" "symbols") (:authors ("Arthur Danskin" . "arthurdanskin@gmail.com")) (:maintainer "Dmitri Akatov" . "akatov@gmail.com") (:url . "https://github.com/akatov/pretty-mode"))]) (prettify-greek . [(20160603 908) nil "Greek letters for prettify-symbols" single ((:commit . "698d07a6ffe85f6fb53f3bfec4f49380c25cfd90") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-prettify-greek"))]) (prettier-js . [(20180109 726) nil "Minor mode to format JS code on file save" single ((:commit . "fac9dd29720f8417bd8cd5dd8ab5138c6dd7d701") (:keywords "convenience" "wp" "edit" "js") (:authors ("James Long and contributors")) (:maintainer "James Long and contributors") (:url . "https://github.com/prettier/prettier-emacs"))]) (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"))]) (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"))]) (prescient . [(20181022 2256) ((emacs (25 1))) "Better sorting and filtering." single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (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"))]) (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"))]) (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"))]) (powerthesaurus . [(20180719 908) ((emacs (24)) (request (0 3 0)) (s (1 12 0))) "Powerthesaurus integration" single ((:commit . "ab39b050e801934872f3dcaa60b50b0d30ecf367") (:keywords "convenience" "writing") (:url . "http://github.com/SavchenkoValeriy/emacs-powerthesaurus"))]) (powershell . [(20181011 1951) ((emacs (24))) "Mode for editing PowerShell scripts" single ((:commit . "c9a20e5a8b02dc5d7ccd2b1974eba28a9348ad5e") (: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"))]) (powerline-evil . [(20151112 1510) ((evil (1 0 8)) (powerline (2 3))) "Utilities for better Evil support for Powerline" tar ((:commit . "98b3a102b6dba6632aa0755a7257300c9b164309") (:keywords "evil" "mode-line" "powerline") (:authors ("Chris Johnson" . "raugturi@gmail.com")) (:maintainer "Chris Johnson" . "raugturi@gmail.com") (:url . "http://github.com/raugturi/powerline-evil/"))]) (powerline . [(20180322 248) ((cl-lib (0 2))) "Rewrite of Powerline" tar ((:commit . "af5ef31a33c3589a9be0b2a55a2741582e605efd") (:keywords "mode-line") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "http://github.com/milkypostman/powerline/"))]) (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"))]) (pov-mode . [(20161115 743) nil "Major mode for editing POV-Ray scene files." tar ((:commit . "9fc1db3aab7c27155674dd1a87ec62606035d074"))]) (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"))]) (posframe . [(20180927 602) ((emacs (26))) "Pop a posframe (just a frame) at point" single ((:commit . "2f4baf00ab9184dff75ec97fc520d1c91e1acb9c") (:keywords "tooltip") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/posframe"))]) (pos-tip . [(20150318 1513) nil "Show tooltip at point" single ((:commit . "051e08fec5cf30b7574bdf439f79fef7d42d689d") (:keywords "tooltip") (:authors ("S. Irie")) (:maintainer "S. Irie"))]) (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"))]) (popwin . [(20150315 1300) nil "Popup Window Manager." single ((:commit . "95dea14c60019d6cccf9a3b33e0dec4e1f22c304") (:keywords "convenience") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com"))]) (popup-switcher . [(20171205 851) ((cl-lib (0 3)) (popup (0 5 3))) "switch to other buffers and files via popup." single ((:commit . "f5788a31918e37bb5c04139048c667bcec9f1b62") (:keywords "popup" "switch" "buffers" "functions") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/popup-switcher"))]) (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-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-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-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 . [(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"))]) (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"))]) (pophint . [(20170918 248) ((log4e (0 2 0)) (yaxception (0 3))) "Provide navigation using pop-up tips, like Firefox's Vimperator Hint Mode" tar ((:commit . "909025c5a871ca4b9ec7aed7f1a27c819a94dba1") (:keywords "popup") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/emacs-pophint"))]) (ponylang-mode . [(20180804 1521) ((dash (2 10 0))) "Major mode for Pony code" single ((:commit . "be6f9dce623415656320f32e350e28da75c53437") (:keywords "languages" "programming") (:url . "https://github.com/seantallen/ponylang-mode"))]) (pony-snippets . [(20160205 411) ((yasnippet (0 8 0))) "Yasnippets for Pony" tar ((:commit . "a6615ab0693f17fc47ec45753202010238157810") (:keywords "snippets" "pony") (:url . "https://github.com/seantallen/pony-snippets"))]) (pony-mode . [(20170807 1522) nil "Minor mode for working with Django Projects" tar ((:commit . "760684d30b6c234d1b88c9a4673a808f36f7f341"))]) (pomodoro . [(20150716 1746) nil "A timer for the Pomodoro Technique" single ((:commit . "4a299b8f5e6623010224dcb3e524ff288c6a082c") (:authors ("David Kerschner" . "dkerschner@gmail.com")) (:maintainer "David Kerschner" . "dkerschner@gmail.com"))]) (pomidor . [(20180614 828) ((emacs (24 3)) (alert (1 2))) "Simple and cool pomodoro timer" tar ((:commit . "8859aecdb48b76a36c5e251793da0f108b2dfeb4") (:keywords "tools" "time" "applications" "pomodoro technique") (:authors ("TatriX" . "tatrics@gmail.com")) (:maintainer "TatriX" . "tatrics@gmail.com") (:url . "https://github.com/TatriX/pomidor"))]) (polymode . [(20181030 1841) ((emacs (25))) "Extensible framework for multiple major modes" tar ((:commit . "4c7db1c3a9f9f3d637ef34c9ca8e7549d9b28e75") (:keywords "languages" "multi-modes" "processes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vitoshka/polymode"))]) (poly-slim . [(20181010 2138) ((emacs (25)) (polymode (0 1 5)) (slim-mode (1 1))) "Polymodes for slim" single ((:commit . "1ec1ca8120e087cd1f33baee7b7059c324149f4b") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-slim"))]) (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-org . [(20181010 2137) ((emacs (25)) (polymode (0 1 5))) "Polymode for org-mode" single ((:commit . "3f74d3ba0ad8ffe01bbc0994fcc4e5fc7aef6121") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-org"))]) (poly-noweb . [(20181010 2137) ((emacs (25)) (polymode (0 1 5))) "Polymode for noweb" single ((:commit . "d604d62fa311c6d18dc10058b637eb95bd684eee") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-noweb"))]) (poly-markdown . [(20181010 2137) ((emacs (25)) (polymode (0 1 5)) (markdown-mode (2 3))) "Polymode for markdown-mode" single ((:commit . "d55d14273ba1ad05c6f1adf7ca5457b5a89acfce") (:keywords "emacs") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-markdown"))]) (poly-erb . [(20181019 1402) ((emacs (25)) (polymode (0 1 5))) "Polymode for erb" single ((:commit . "61fa4640a1cb08120c2c70bfc32029cc79b31b79") (:keywords "emacs") (:authors ("Siavash Sajjadi and Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-erb"))]) (poly-R . [(20181024 2054) ((emacs (25)) (polymode (0 1 5)) (poly-markdown (0 1 5)) (poly-noweb (0 1 5))) "Various polymodes for R language" single ((:commit . "b9236aab9043747bf764703e7b84f3c6bb526dec") (:keywords "languages" "multi-modes") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/polymode/poly-R"))]) (pollen-mode . [(20181022 130) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing pollen files" single ((:commit . "3b57f40f78eb4458e7be41dc4051f9cf0ff6982e") (:keywords "languages" "pollen" "pollenpub") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))]) (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"))]) (point-stack . [(20170808 1658) nil "Back and forward navigation through buffer locations" single ((:commit . "76e17311e3a810314c7d31ac46dc55450ff30fa2") (:authors ("Matt Harrison" . "matthewharrison@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Matt Harrison" . "matthewharrison@gmail.com"))]) (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"))]) (poet-theme . [(20180924 329) nil "A theme for prose." tar ((:commit . "44439fd84143632760abfd5d8a65436e787955fd") (:authors ("Kunal Bhalla" . "bhalla.kunal@gmail.com")) (:maintainer "Kunal Bhalla" . "bhalla.kunal@gmail.com") (:url . "https://github.com/kunalb/poet/"))]) (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"))]) (pocket-reader . [(20180819 2007) ((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 . "0eb2e678b3fdc8899e420e6ecca03a2ada4b6283") (:keywords "pocket") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-reader.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-lib . [(20180712 23) ((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 . "8dd89153472d2e49bf9a3b3507b93c2acf0b44ac") (:keywords "pocket") (:authors (nil . "Adam Porter <adam@alphapapa.net")) (:maintainer nil . "Adam Porter <adam@alphapapa.net") (:url . "https://github.com/alphapapa/pocket-lib.el"))]) (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"))]) (po-mode . [(20180505 1115) nil "major mode for GNU gettext PO files" single ((:commit . "17b1b16277d81af3afd5c51c53eda385e33f3178") (:keywords "i18n" "gettext"))]) (pmdm . [(20151109 1836) nil "poor man's desktop-mode alternative." single ((:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/pmdm.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (plaster . [(20180127 2050) ((emacs (24 3))) "Pasting to a plaster host with buffers." single ((:commit . "2e61d16af81b96ff3191afd7a880f032d245182b") (:keywords "convenience" "paste service") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:url . "http://github.com/shirakumo/plaster/"))]) (plantuml-mode . [(20180816 1012) ((emacs (25 0))) "Major mode for PlantUML" single ((:commit . "b358a53bb0ab195f0193169d0d6869a3ef2c543e") (:keywords "uml" "plantuml" "ascii") (:authors ("Zhang Weize (zwz)")) (:maintainer "Carlo Sciolla (skuro)"))]) (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"))]) (plan9-theme . [(20180804 1441) nil "A color theme for Emacs based on Plan9" single ((:commit . "4c1050b8ed42e0f99ef64c77ec370a786bd0003c") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/plan9-theme.el"))]) (plain-theme . [(20171124 410) ((emacs (24))) "Plain theme without syntax highlighting" single ((:commit . "a3d5389a44326314da21f147bad2ede60e2cf986"))]) (pkgbuild-mode . [(20181116 1331) ((emacs (25 1))) "Interface to the ArchLinux package manager" single ((:commit . "c27b65c3deb116b296cef013f342159d9dec5c11") (:keywords "languages") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))]) (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"))]) (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"))]) (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"))]) (pivotal-tracker . [(20170720 1516) nil "Interact with Pivotal Tracker through its API" single ((:commit . "0311d117037c74512149a4a78b269c2e46d7dfba") (:authors ("John Andrews")) (:maintainer "John Andrews") (:url . "http://github.com/jxa/pivotal-tracker"))]) (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"))]) (pipenv . [(20180719 547) ((emacs (25 1)) (f (0 19 0)) (s (1 12 0))) "A Pipenv porcelain." single ((:commit . "5582bf60577de74e6301871c6b77ac86b6ce1970") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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>"))]) (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"))]) (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"))]) (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"))]) (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"))]) (pig-snippets . [(20130913 624) ((yasnippet (0 8 0))) "Snippets for pig-mode" tar ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959"))]) (pig-mode . [(20180520 1400) nil "Major mode for Pig files" single ((:commit . "4c6c6e1b1bb719d8adc6c47cc24665f6fe558959") (:maintainer "David A. Shamma"))]) (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"))]) (picolisp-mode . [(20150516 855) nil "Major mode for PicoLisp programming." single ((:commit . "1a537b14090813f46cbba54636d40365e1a8067e") (:keywords "picolisp" "lisp" "programming") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/picolisp-mode"))]) (pickle . [(20180628 237) ((emacs (25 1)) (cl-lib (0 6 1))) "Major mode for editing cucumber gherkin files." single ((:commit . "568570b7d376026fbcb7c3df1ad8f605bd14c820") (:keywords "languages" "cucumber" "gherkin") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/pickle-mode"))]) (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"))]) (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"))]) (phpstan . [(20180721 1935) ((emacs (24 3))) "Interface to PHPStan." single ((:commit . "beac0e0e7160454d4f42162b3502a36ccf488120") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))]) (phpcbf . [(20180519 838) ((s (1 9 0))) "Format PHP code in Emacs using PHP_CodeSniffer's phpcbf" single ((:commit . "a31020fc4c5add7339e009faea66894dc02a77f1") (:keywords "tools" "php") (:authors ("nishimaki10")) (:maintainer "nishimaki10") (:url . "https://github.com/nishimaki10/emacs-phpcbf"))]) (phpactor . [(20181028 556) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17)) (composer (0 1))) "Interface to Phpactor" tar ((:commit . "eda8b34a729b3acb641aafa30552c501dec27d37") (: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"))]) (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"))]) (php-runtime . [(20180922 2215) ((emacs (25)) (cl-lib (0 5))) "Language binding bridge to PHP" single ((:commit . "a205c8dc4d19619b5e37478caeec0c74b7502b3c") (: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-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-mode . [(20180829 520) ((emacs (24 3)) (cl-lib (0 5))) "Major mode for editing PHP code" tar ((:commit . "1f04813f46219e626b385d0d96abefad914bfae0") (:keywords "languages" "php") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/php-mode"))]) (php-eldoc . [(20140202 1941) nil "eldoc backend for php" tar ((:commit . "df05064146b884d9081e10657e32dc480f070cfe") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/php-eldoc"))]) (php-cs-fixer . [(20170506 1833) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "ca2c075a22ad156c336d2aa093fb6394c9f6c112") (:keywords "languages" "php") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:url . "https://github.com/OVYA/php-cs-fixer"))]) (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-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-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"))]) (phoenix-dark-pink-theme . [(20170729 1403) nil "Originally a port of the Sublime Text 2 theme" single ((:commit . "4defbb76b00c1a29f060813898578152d6be623d") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-pink"))]) (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"))]) (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/"))]) (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-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 . [(20180322 129) nil "another incremental search & replace, compatible with \"multiple-cursors\"" tar ((:commit . "9a089b8271cb1cff9640848850298c9ec855286c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (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-grep . [(20170606 807) ((cl-lib (0 1))) "Interactively-editable recursive grep implementation in elisp" single ((:commit . "ab9bd8d25e751a9cbfa108b49839293230b6e8b5") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://github.com/zk-phi/phi-grep"))]) (phi-autopair . [(20170217 353) ((paredit (20))) "another simple-minded autopair implementation" single ((:commit . "3c7556779c3a53b045f5df33ae2a0c67469cbf60") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (phan . [(20180528 339) ((emacs (24)) (composer (0 0 8)) (f (0 17))) "Utility functions for Phan (PHP static analizer)" single ((:commit . "6b077b3421a0b2c0b98a6906b8ab0d14d9d7bf50") (:keywords "tools" "php") (:authors ("USAMI Kenta" . "tadsan@pixiv.com")) (:maintainer "USAMI Kenta" . "tadsan@pixiv.com") (:url . "https://github.com/emacs-php/phan.el"))]) (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"))]) (ph . [(20161029 1522) ((emacs (24 3))) "A global minor mode for managing multiple projects." tar ((:commit . "ed80dad9211583ed0db633448b3624c99b7fac23"))]) (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"))]) (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"))]) (pfuture . [(20180922 1315) ((emacs (25 2))) "a simple wrapper around asynchronous processes" single ((:commit . "c06e78b37ac3fba72ea446f11da38a6a5cba428c") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/pfuture"))]) (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"))]) (perspective . [(20181101 2234) ((cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "1358ba2c1727bd9eaa6c52b727e1e7b0c11ec5ca") (:keywords "workspace" "convenience" "frames") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:url . "http://github.com/nex3/perspective-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"))]) (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-mode . [(20180930 1720) nil "windows/buffers sets shared among frames + save/load." single ((:commit . "689f63e7370cd9424d84b9f7b2eb3d1955443313") (: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-fr . [(20180801 727) ((emacs (25 0)) (persp-mode (2 9 6)) (dash (2 13 0))) "In persp-mode, show perspective list in the GUI window title" single ((:commit . "3f536440b120499464106fd25f182d7580192870") (: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"))]) (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"))]) (persistent-scratch . [(20180929 1413) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "2e6678a837db85e68da713bbd4772c7fb88d83d4") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))]) (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"))]) (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"))]) (perl6-mode . [(20180619 1159) ((emacs (24 4)) (pkg-info (0 1))) "Major mode for editing Perl 6 code" tar ((:commit . "88de065795d6863b23b6042576b9e90f8cbf8798") (: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"))]) (per-buffer-theme . [(20160318 2201) ((cl-lib (0 5))) "Change theme according to buffer name or major mode." single ((:keywords "themes") (:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/per-buffer-theme.el"))]) (pelican-mode . [(20180604 2207) ((emacs (25))) "Minor mode for editing Pelican sites" single ((:commit . "209ad24318e1f28675da430aa10ef3467694b9ac") (: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"))]) (peg . [(20150708 641) nil "Parsing Expression Grammars in Emacs Lisp" single ((:commit . "081efeca91d790c7fbc90871ac22c40935f4833b"))]) (peep-dired . [(20160321 2237) nil "Peep at files in another window from dired buffers" single ((:commit . "c88a9a3050197840edfe145f11e0bb9488de32f4") (:keywords "files" "convenience") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com"))]) (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"))]) (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"))]) (pdfgrep . [(20181007 1728) ((emacs (24 4))) "run `pdfgrep' and display the results." single ((:commit . "e251cd5c88a4ba5cb69008ba412d329f4d59e1d2") (: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"))]) (pdf-tools . [(20181117 1939) ((emacs (24 3)) (tablist (0 70)) (let-alist (1 0 4))) "Support library for PDF documents." tar ((:commit . "105dd014fea424c5556f8e0a3e3d652722c46084") (:keywords "files" "multimedia") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de"))]) (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/"))]) (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"))]) (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"))]) (pcomplete-extension . [(20180707 455) ((emacs (24)) (cl-lib (0 5))) "additional completion for pcomplete" single ((:commit . "bb941272b54f49f780819f7ce4fd2c802de9a0da") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/pcomplete-extension"))]) (pcmpl-pip . [(20171201 833) ((s (1 12 0)) (f (0 19 0)) (seq (2 15))) "pcomplete for pip" single ((:commit . "8b001b579fc015f80ee0e4f3211058b830bf7c47") (:keywords "pcomplete" "pip" "python" "tools") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com"))]) (pcmpl-homebrew . [(20181105 309) nil "pcomplete for homebrew" single ((:commit . "3dc4eb22231d82edb9d33d17287bd9a018f7645e") (:keywords "pcomplete" "homebrew" "tools" "cask" "services") (:authors ("hiddenlotus" . "kaihaosw@gmail.com")) (:maintainer "hiddenlotus" . "kaihaosw@gmail.com"))]) (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-args . [(20120912 524) nil "Enhanced shell command completion" single ((:commit . "2ba03b3125ada8037585e545b88bd85b79da5c37") (: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"))]) (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"))]) (pcache . [(20170105 2214) ((eieio (1 3))) "persistent caching for Emacs." single ((:commit . "1f8086077d770e524492e6fa59b07856e85a6fea") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com"))]) (pc-bufsw . [(20180107 1840) nil "PC style quick buffer switcher" single ((:commit . "b99ba484e18ebf2b88654704146746490bb7625f") (:keywords "buffer") (:authors ("Igor Bukanov" . "igor@mir2.org")) (:maintainer "Igor Bukanov" . "igor@mir2.org") (:url . "https://github.com/ibukanov/pc-bufsw"))]) (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"))]) (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"))]) (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"))]) (path-helper . [(20181112 1828) ((emacs (24))) "Set PATH environment variables from config files" single ((:commit . "f04b637aca9d2d87bb14896ac8961668284a0fb9") (:keywords "tools" "unix") (:authors ("Arnaud Rouanet" . "arnaud@rouanet.org")) (:maintainer "Arnaud Rouanet" . "arnaud@rouanet.org") (:url . "https://github.com/arouanet/path-helper"))]) (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"))]) (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"))]) (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"))]) (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"))]) (pastebin . [(20101125 2002) nil "A simple interface to the www.pastebin.com webservice" single ((:commit . "8e9a829298ce0f747ab80758aa26caeb2af6cb30"))]) (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"))]) (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"))]) (password-store-otp . [(20180815 610) ((emacs (25)) (s (1 9 0)) (password-store (0 1))) "Password store (pass) OTP extension support" single ((:commit . "1819cd88463cd98a5be9a63273b09202dc2bba63") (:keywords "tools" "pass") (:authors ("Daniel Barreto")) (:maintainer "Daniel Barreto") (:url . "https://github.com/volrath/password-store-otp.el"))]) (password-store . [(20181031 1440) ((emacs (24)) (f (0 11 0)) (s (1 9 0)) (with-editor (2 5 11))) "Password store (pass) support" single ((:commit . "d29a389a40524c684595f51bb937f66958bc14ea") (:keywords "tools" "pass" "password" "password-store") (:authors ("Svend Sorensen" . "svend@svends.net")) (:maintainer "Svend Sorensen" . "svend@svends.net") (:url . "https://www.passwordstore.org/"))]) (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-generator . [(20150222 2040) nil "Password generator for humans. Good, Bad, Phonetic passwords included." single ((:commit . "c8193d5e963bda0a2f8e51fd4a94dcf37c76f282") (:authors ("Zargener" . "zargener@gmail.com")) (:maintainer "Zargener" . "zargener@gmail.com") (:url . "http://github.com/zargener/emacs-password-genarator"))]) (passthword . [(20141201 923) ((cl-lib (0 5))) "Simple password manager" single ((:commit . "30bace842eaaa6b48cb2251fb84868ebca0467d6") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (passmm . [(20180622 2326) ((emacs (24 4)) (password-store (0))) "A minor mode for pass (Password Store)." single ((:commit . "898709c63130d6c0422af544ebac64eae04d24ac") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/passmm"))]) (pass . [(20180201 1251) ((emacs (24 3)) (password-store (0 1)) (password-store-otp (0 1 5)) (f (0 17))) "Major mode for password-store.el" single ((:commit . "da08fed8dbe1bac980088d47b01f90154dbb8d8b") (:keywords "password-store" "password" "keychain") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (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"))]) (parseclj . [(20180602 2006) ((emacs (25)) (a (0 1 0 -3 4))) "Clojure/EDN parser" tar ((:commit . "dc0d165b0a8633f5b11ed9175a6e421c52f4d314") (:keywords "lisp") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net"))]) (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"))]) (parsebib . [(20181031 1021) ((emacs (24 3))) "A library for parsing bib files" single ((:commit . "27b30f5220b80637ed55f3b062ce2823adb40477") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (parrot . [(20181026 1612) ((emacs (24 1))) "Party Parrot rotates gracefully in mode-line." tar ((:commit . "2403f11e7e238b57629edd446da47828a3f549b7") (: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"))]) (parinfer . [(20180904 844) ((dash (2 13 0)) (cl-lib (0 5))) "Simpler Lisp editing" tar ((:commit . "a7c041454e05ec2b88333a73e72debaa671ed596") (:keywords "parinfer") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:url . "https://github.com/DogLooksGood/parinfer-mode"))]) (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"))]) (paren-face . [(20180318 2025) nil "a face for parentheses in lisp modes" single ((:commit . "a45d111153a76c481fa0b36d6172ac90e073dfc4") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/paren-face"))]) (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"))]) (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"))]) (paredit-everywhere . [(20180506 849) ((paredit (22))) "Enable some paredit features in non-lisp buffers" single ((:commit . "653d7a58fb370d5f7df367464d8d05e23a70b29d") (:keywords "languages" "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (paredit . [(20171127 205) nil "minor mode for editing parentheses" single ((:commit . "acbe10fdd85d2e91831adf70b6a828bc7e900da0") (:keywords "lisp") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net"))]) (paradox . [(20181027 2234) ((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 . "798bdabdca6575d677631b1c482e975c9372d536") (:keywords "package" "packages") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/paradox"))]) (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"))]) (paper-theme . [(20180429 2215) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "theme" "paper") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:url . "https://cadadr.github.io/elisp/index.html#paper"))]) (pangu-spacing . [(20170317 857) nil "Minor-mode to add space between Chinese and English characters." single ((:commit . "a4463dbb74abdeddb6c1c132a1f8fcf67ed87498") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/pangu-spacing"))]) (pandoc-mode . [(20180917 721) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "d594ce399fc75eb553a6d8572713b827f744d95b") (:keywords "text" "pandoc") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (panda-theme . [(20180807 1143) ((emacs (24))) "Panda Theme" single ((:commit . "53b4cbb6bfdd531a8366bf1d01eede420e1f93c9") (:authors ("jamiecollinson" . "jamiecollinson@gmail.com")) (:maintainer "jamiecollinson" . "jamiecollinson@gmail.com") (:url . "https://github.com/jamiecollinson/emacs-panda-theme"))]) (pamparam . [(20180415 748) ((emacs (24 3)) (lispy (0 26 0)) (worf (0 1 0)) (hydra (0 13 4))) "Simple and fast flashcards." single ((:commit . "8fa25d06fb2ae6d992e738a10d8b2150e109d9bf") (:keywords "outlines" "hypermedia" "flashcards" "memory") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/pamparam"))]) (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"))]) (palimpsest . [(20170119 2032) nil "Various deletion strategies when editing" single ((:commit . "e6d5944393c260ceb724462c84046cc62c9ae916") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com"))]) (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"))]) (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"))]) (page-break-lines . [(20171210 831) ((emacs (24 4))) "Display ^L page breaks as tidy horizontal lines" single ((:commit . "fd3b7e38ad8747cd009ead7ef1bb150849ccc693") (:keywords "convenience" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/page-break-lines"))]) (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"))]) (pact-mode . [(20180905 1647) ((emacs (24 3))) "Mode for Pact, a LISPlike smart contract language." single ((:commit . "e4e4487c1d55b3fb8775abd948be28442efcffec") (: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"))]) (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"))]) (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"))]) (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"))]) (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-lint-flymake . [(20181117 856) ((emacs (26)) (package-lint (0 5))) "A package-lint Flymake backend" single ((:commit . "83f34f747a13633c92210e6110e3c5377397761c") (:url . "https://github.com/purcell/package-lint"))]) (package-lint . [(20181115 103) ((cl-lib (0 5)) (emacs (24))) "A linting library for elisp package authors" tar ((:commit . "77422967927abf60166d31c9b52c640f1239066e") (: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-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-build . [(20181005 2241) ((cl-lib (0 5))) "Tools for assembling a package archive" tar ((:commit . "0a22c3fbbf661822ec1791739953b937a12fa623") (:keywords "tools") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net"))]) (package+ . [(20170816 256) nil "Extensions for the package library." single ((:commit . "9213f6134eabc2cff5826779ced437714324c066") (:keywords "extensions" "tools") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:url . "TBA"))]) (pacfiles-mode . [(20181028 1744) ((emacs (26)) (cl-lib (0 5))) "pacnew and pacsave merging tool" tar ((:commit . "ff58f387e0f85ca20c4c9f119bf13303bf8b5a76") (: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"))]) (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"))]) (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"))]) (ox-wk . [(20181111 934) ((emacs (24 4)) (org (8 3))) "Wiki Back-End for Org Export Engine" single ((:commit . "9fc37e7e2f789b0ba07cb117ea1e1dcd14a2fd83") (: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"))]) (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-twbs . [(20161103 2016) nil "Bootstrap compatible HTML Back-End for Org" single ((:commit . "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28") (: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-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-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-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-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-slack . [(20181112 115) ((org (9 1 4)) (ox-gfm (1 0))) "Slack Exporter for org-mode" single ((:commit . "5d66a123233dce6f6bc0dd1ccb9d0b0d9bf6ddf7") (:keywords "org" "slack" "outlines") (:authors ("Matt Price")) (:maintainer "Matt Price") (:url . "https://github.com/titaniumbones/ox-slack"))]) (ox-rst . [(20180315 13) ((emacs (24 4)) (org (8 2 4))) "Export reStructuredText using org-mode." single ((:commit . "a74b60883b0d844c80efb364dac1560b85f2548f") (:keywords "org" "rst" "rest" "restructuredtext") (:authors ("Masanao Igarashi" . "syoux2@gmail.com")) (:maintainer "Masanao Igarashi" . "syoux2@gmail.com") (:url . "https://github.com/masayuko/ox-rst"))]) (ox-reveal . [(20161027 926) ((org (20150330))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "001567cc12d50ba07612edd1718b86a12e8c2547") (:keywords "outlines" "hypermedia" "slideshow" "presentation") (:authors ("Yujie Wen <yjwen.ty at gmail dot com>")) (:maintainer "Yujie Wen <yjwen.ty at gmail dot com>"))]) (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-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-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-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-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-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-jira . [(20171001 916) ((org (8 3))) "JIRA Backend for Org Export Engine" single ((:commit . "db2ec528f46c9e611624ba28611c440a99bff255") (: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-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-jekyll . [(20180813 1755) nil "Export Jekyll articles using org-mode." single ((:commit . "102c53b1333abbf15b7c5c3ee1dc27124d1c0d68") (:keywords "org" "jekyll") (:authors ("Elsa Gonsiorowski" . "gonsie@me.com")) (:maintainer "Elsa Gonsiorowski" . "gonsie@me.com"))]) (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-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-hugo . [(20181106 2350) ((emacs (24 4)) (org (9 0))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "7fb284ec4b7f47ff1286598220650c5b24b56b45") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))]) (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-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-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "a66eeb00daa01ad403ac1a1db953ddbf9054be07") (:keywords "hypermedia") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:url . "http://github.com/ofosos/org-epub"))]) (ox-clip . [(20180306 340) ((org (8 2)) (htmlize (0))) "Cross-platform formatted copying for org-mode" single ((:commit . "594c90953a91948505bb394350adf110e041f19a") (: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-clip.el"))]) (ox-bibtex-chinese . [(20170723 309) ((emacs (24 4))) "Let ox-bibtex work well for Chinese users" tar ((:commit . "2ad2364399229144110db7ef6365ad0461d6a38c"))]) (ox-asciidoc . [(20171111 1154) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "e75d9565dd07dc59d11fa92d392ab47cecb3c902") (:keywords "org" "asciidoc") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:url . "https://github.com/yashi/org-asciidoc"))]) (owdriver . [(20170401 1312) ((smartrep (0 0 3)) (log4e (0 2 0)) (yaxception (0 2 0))) "Quickly perform various actions on other windows" single ((:commit . "d934f182bafe29aa16c173440eff3fef08b0ec10") (:keywords "convenience") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/owdriver"))]) (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"))]) (overcast-theme . [(20180315 1943) ((emacs (24))) "A dark but vibrant color theme for Emacs" single ((:commit . "009257956522dedf07d9e136ee41ac0b1b0b3518") (:keywords "theme") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (ov . [(20150312 528) ((emacs (24 3))) "Overlay library for Emacs Lisp" single ((:commit . "fae7215b3dedba2a9ced145284332e4609bfdc38") (:keywords "overlay") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/ov.el"))]) (outshine . [(20181024 1414) ((outorg (2 0)) (cl-lib (0 5))) "outline with outshine outshines outline" tar ((:commit . "345d85ab5467ec6015fc58fe268936da93be0a5c") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/outshine"))]) (outrespace . [(20180711 1432) ((emacs (24 4))) "c++ namespace utility functions" single ((:commit . "7dafed7e1cabf4a0bb55e5c6465e83796e3fdabe") (:keywords "tools" "c++" "namespace") (:authors ("Dan Harms" . "danielrharms@gmail.com")) (:maintainer "Dan Harms" . "danielrharms@gmail.com") (:url . "https://github.com/articuluxe/outrespace.git"))]) (outorg . [(20170414 1915) ((emacs (24 4))) "Org-style comment editing" single ((:commit . "78b0695121fb974bc4e971eb4ef7f8afd6d89d64") (:maintainer "Adam Porter") (:url . "https://github.com/alphapapa/outorg"))]) (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"))]) (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/"))]) (outline-toc . [(20170730 1130) nil "Sidebar showing a \"table of contents\"." single ((:commit . "31f04bea19cfcfb01a94d1fd2b72391cb02b7463") (: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"))]) (outline-minor-faces . [(20181111 906) ((emacs (25 1))) "Headings faces for outline-minor-mode" single ((:commit . "3dc548f145f26a1405910d69468728846d575f79") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))]) (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>"))]) (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"))]) (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"))]) (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"))]) (osx-pseudo-daemon . [(20170722 607) nil "Daemon mode that plays nice with OSX." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) (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-location . [(20150613 917) nil "Watch and respond to changes in geographical location on OS X" tar ((:commit . "8bb3a94cc9f04b922d2d730fe08596cc6ee12bf2"))]) (osx-lib . [(20160920 0) ((emacs (24 4))) "Basic function for Apple/OSX." single ((:commit . "fdbbb41e07ba64d6a09b54bd142a7c7b83bfd09f") (:keywords "apple" "applescript" "osx" "finder" "emacs" "elisp" "vpn" "speech") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org"))]) (osx-dictionary . [(20171026 734) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "b16630ecf69f87ac873486d8b9c8c03e6c9ea7fa") (:keywords "mac" "dictionary") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))]) (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-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"))]) (origami . [(20180101 1553) ((s (1 9 0)) (dash (2 5 0)) (emacs (24)) (cl-lib (0 5))) "Flexible text folding" tar ((:commit . "1f38085c8f9af7842765ed63f7d6dfe4dab59366") (:keywords "folding") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:url . "https://github.com/gregsexton/origami.el"))]) (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"))]) (orgtbl-join . [(20150121 2246) ((cl-lib (0 5))) "join columns from another table" tar ((:commit . "ccf5e0d96e053dc289da39a048715fcf36835ff2") (:keywords "org" "table" "join" "filtering") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) (orgtbl-ascii-plot . [(20151215 2151) nil "ascii-art bar plots in org-mode tables" single ((:commit . "cd91f6ae26a7402e192a1f4fd6248f5797edf19e") (:keywords "org" "table" "ascii" "plot") (:authors ("Thierry Banel tbanelwebmin at free dot fr") ("Michael Brand")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr"))]) (orgtbl-aggregate . [(20180731 2154) nil "Create an aggregated Org table from another one" tar ((:commit . "7e87e0fb0784be9370462614ec0ffc9d9ae6ef1c") (:keywords "org" "table" "aggregation" "filtering"))]) (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"))]) (orglue . [(20171220 1226) ((org (8 1)) (epic (0 2))) "more functionality to org-mode." tar ((:commit . "ae2a45c19b52e45db7891093a3ff17ba2e51c507") (:keywords "org") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net"))]) (orglink . [(20180318 2023) ((emacs (24 3)) (dash (2 12 1)) (org (8 3))) "use Org Mode links in other modes" single ((:commit . "e9e90e16ddaceaf99c9b251a215d6338b9762b4d") (:keywords "hypertext") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/orglink"))]) (orgit . [(20180318 2001) ((emacs (24 4)) (dash (2 13 0)) (magit (2 10 0)) (org (8 3 3))) "support for Org links to Magit buffers" single ((:commit . "d909f92d3b1b42184143fd5e6d4c6a2762477ab7") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/orgit"))]) (orgbox . [(20180827 218) ((org (8 0)) (cl-lib (0 5))) "Mailbox-like task scheduling Org." single ((:commit . "609e5e37348815ec3ba53ab6d643e38b0cc4fe17") (:keywords "org") (:authors ("Yasuhito Takamiya" . "yasuhito@gmail.com")) (:maintainer "Yasuhito Takamiya" . "yasuhito@gmail.com") (:url . "https://github.com/yasuhito/orgbox"))]) (organize-imports-java . [(20180623 1909) ((emacs (26)) (f (0 20 0)) (s (1 12 0)) (cl-lib (0 6))) "Mimic Eclipse's Organize Imports functionality." single ((:commit . "98dca0c9e046e03a3f14946c3f7af05debdf8197") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/organize-imports-java"))]) (organic-green-theme . [(20180522 1620) nil "Low-contrast green color theme." single ((:commit . "200ac4a636eeb6faf1793d1937e62a343debc437"))]) (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"))]) (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"))]) (org2issue . [(20160427 118) ((org (8 0)) (emacs (24 4)) (ox-gfm (0 1)) (gh (0 1)) (s (20160405 920))) "export org to github issue" single ((:commit . "0f7f13463e389f2d8d7d830a928042d0cf1c71eb") (:keywords "convenience" "github" "org") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/org2issue"))]) (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"))]) (org2ctex . [(20181012 151) ((emacs (24 4))) "Export org to ctex (a latex macro for Chinese)" single ((:commit . "2143992462594ce63733305f75f7c7d08123710a") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org2ctex"))]) (org2blog . [(20171219 311) ((org (8 3)) (xml-rpc (1 6 12)) (metaweblog (1 0 1)) (htmlize (1 51))) "Blog from Org mode to wordpress" tar ((:commit . "aa7a5730f4a58a53c41370dcde7bec43d5c1a2cd"))]) (org-wunderlist . [(20150818 213) ((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 . "f7f1ca73661356b9fa072efd73431592ff1182e1") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-wunderlist.el"))]) (org-wild-notifier . [(20180222 425) ((alert (1 2)) (dash (2 13 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "d0df145d9bbb72b2c315b7d8007cb6a59fea2095") (: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-web-tools . [(20181113 527) ((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 . "e9071d404efa417b6d46784c57b4725ff66f2f22") (: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-wc . [(20180610 253) nil "Count words in org mode trees." single ((:commit . "0716c1e8276f6953e139e357e97566e792c8be19") (:authors ("Simon Guest")) (:maintainer "Simon Guest"))]) (org-vcard . [(20170929 1110) nil "org-mode support for vCard export and import." tar ((:commit . "dbe266b79df4fb31f1766010322bf4e383ce1c03") (:keywords "outlines" "org" "vcard") (:authors ("Alexis" . "flexibeast@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:url . "https://github.com/flexibeast/org-vcard"))]) (org-variable-pitch . [(20180429 2215) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "faces") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#ovp"))]) (org-trello . [(20180331 631) ((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 . "e2e8a3d45057645e4caae7d46a79d2d9be2894bd"))]) (org-tree-slide . [(20180906 949) nil "A presentation tool for org-mode" single ((:commit . "d45152fad1c0a153251073806f1b65ebd3731411") (:keywords "org-mode" "presentation" "narrowing") (:authors ("Takaaki ISHIKAWA <takaxp at ieee dot org>")) (:maintainer "Takaaki ISHIKAWA <takaxp at ieee dot org>"))]) (org-transform-tree-table . [(20150110 1433) ((dash (2 10 0)) (s (1 3 0))) "Transform org-mode tree with properties to a table, and the other way around" single ((:commit . "0a9bf07f01bc5fc3b349aff64e83999a8de83b52") (: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-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-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-timeline . [(20180812 1119) ((dash (2 13 0)) (emacs (24 3))) "Add graphical view of agenda to agenda buffer." single ((:commit . "701f13246ad1ce286be69cc16c1126536b71e7ca") (:keywords "calendar") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/org-timeline/"))]) (org-time-budgets . [(20151111 801) ((alert (0 5 10)) (cl-lib (0 5))) "Define time budgets and display clocked time." single ((:commit . "baa1ce6333157fed3b3799a80e6cf8c73c9e2c18") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com"))]) (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-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-table-sticky-header . [(20170409 114) ((org (8 2 10)) (emacs (24 4))) "Sticky header for org-mode tables" single ((:commit . "93dc69efc00ac9fd3cc2ece5100f51df33ec7d8b") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) (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-sync-snippets . [(20170824 1828) ((org (8 3 5)) (emacs (24 3)) (f (0 17 3))) "Export snippets to org-mode and vice versa" single ((:commit . "0f264a032d371d7dbb4a7cbaf0ea2f91b5a629ca") (:keywords "snippet" "org-mode" "yasnippet" "tools") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/org-sync-snippets"))]) (org-sync . [(20180221 1927) ((cl-lib (0 5)) (org (8 2)) (emacs (24))) "Synchronize Org documents with External Issue Trackers" tar ((:commit . "095335063b306871970f981898a220f62ad0ae4e") (: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-super-agenda . [(20180922 2151) ((emacs (25 1)) (s (1 10 0)) (dash (2 13)) (org (9 0)) (ht (2 2))) "Supercharge your agenda" tar ((:commit . "746b51073e5d5c6048320a9aef7e9273b4d154a9") (: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-sticky-header . [(20170423 435) ((emacs (24 4)) (org (8 3 5))) "Show off-screen Org heading at top of window" single ((:commit . "aae8dbc7f3b33c4dd35dc38d83791d7c23757060") (: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-static-blog . [(20180528 648) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "f69d2fd6671fb250fbd87df5efa898a7bf5b9bda") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))]) (org-starter . [(20180917 1205) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "A basic configuration framework for org mode" single ((:commit . "a1274f901366a39c2eeeaa36644c0bdd9837374b") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) (org-send-ebook . [(20181016 800) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "b4913a709f9206115c3e3ea73e217029cc0fb3de") (:keywords "org" "link" "ebook" "kindle" "epub" "mobi") (:url . "https://github.com/stardiviner/org-send-ebook"))]) (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-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-rich-yank . [(20180430 1344) ((emacs (24 4))) "paste with org-mode markup and link to source" single ((:commit . "b29bd06f295424fc15b3b8c1b3f78f501d67db47") (:keywords "convenience" "hypermedia" "org") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-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-ref . [(20181115 51) ((dash (2 11 0)) (htmlize (1 51)) (helm (1 5 5)) (helm-bibtex (2 0 0)) (ivy (0 8 0)) (hydra (0 13 2)) (key-chord (0)) (s (1 10 0)) (f (0 18 0)) (emacs (24 4)) (pdf-tools (0 7))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "1b5cf239d2abe203b9c64000c9010bbb6bf18fb4") (: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-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-recent-headings . [(20170908 429) ((emacs (25 1)) (org (9 0 5)) (dash (2 13 0)) (frecency (0 1))) "Jump to recently used Org headings" single ((:commit . "a09c2670c400c7a4fbbf0ac05d2d9226aa10e8f4") (: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-readme . [(20151204 1217) ((http-post-simple (1 0)) (yaoddmuse (0 1 1)) (header2 (21 0)) (lib-requires (21 0)) (cl-lib (0 5))) "Integrates Readme.org and Commentary/Change-logs." tar ((:commit . "4cb9f768d282a2835b4510b6504ff9ede487007d") (:keywords "header2" "readme.org" "emacswiki" "git") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/org-readme"))]) (org-randomnote . [(20171210 1357) ((f (0 19 0)) (dash (2 12 0))) "Find a random note in your Org-Mode files" single ((:commit . "c89eb4cf625ea7e7624b6a2d3d5676ce25ab03d7") (:authors ("Michael Fogleman" . "michaelwfogleman@gmail.com")) (:maintainer "Michael Fogleman" . "michaelwfogleman@gmail.com") (:url . "http://github.com/mwfogleman/org-randomnote"))]) (org-random-todo . [(20180312 804) ((emacs (24 3)) (alert (1 2))) "show a random TODO (with alert) every so often" single ((:commit . "8357350a66bbc4e0e5cb590acc104d39870cf736") (:keywords "org" "todo" "notification" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-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-projectile-helm . [(20180601 1822) ((org-projectile (1 0 0)) (helm (2 3 1)) (emacs (25))) "helm functions for org-projectile" single ((:commit . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-projectile . [(20180601 242) ((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 . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-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-present-remote . [(20181001 2141) ((org-present (9)) (elnode (0 9)) (emacs (24))) "A web-based remote control for org-present" single ((:commit . "2defabacd04b1d3a76de81b07d7f7c89d67babca") (: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-present . [(20180303 2330) ((org (7))) "Minimalist presentation minor-mode for Emacs org-mode." single ((:commit . "d13acd70eff6a1608bc991920232146a0de76b21") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "https://github.com/rlister/org-present"))]) (org-pomodoro . [(20171108 2114) ((alert (0 5 10)) (cl-lib (0 5))) "Pomodoro implementation for org-mode." tar ((:commit . "3deed1c26dcbda4d5231b9085ddf68e302b0f9dc") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "https://github.com/lolownia/org-pomodoro"))]) (org-pdfview . [(20180225 1006) ((org (8 2 10)) (pdf-tools (0 80))) "Support for links to documents in pdfview mode" single ((:commit . "09ef4bf8ff8319c1ac78046c7e6b89f6a0beb82c") (:keywords "org" "pdf-view" "pdf-tools") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com"))]) (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-parser . [(20171003 436) ((emacs (25 1)) (dash (2 12 0)) (ht (2 1))) "parse org files into structured datatypes." single ((:keywords "files" "outlines" "tools") (:url . "https://bitbucket.org/zck/org-parser.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 . "50430ababf73a2d090881a952e9770badaf7478b"))]) (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-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 . "b95b6a7ed9289637cb512232470633b330ca9713") (:keywords "wp" "convenience") (:authors ("Anders Johansson")) (:maintainer "Anders Johansson") (:url . "https://gitlab.com/andersjohansson/org-outline-numbering"))]) (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-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-noter . [(20181106 2341) ((emacs (24 4)) (cl-lib (0 6)) (org (9 0))) "A synchronized, Org-mode, document annotator" single ((:commit . "8e5d8eacffe251a4b6ab55f6cb36e0830f5fe8dc") (: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-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-multiple-keymap . [(20150329 106) ((org (8 2 4)) (emacs (24)) (cl-lib (0 5))) "Set keymap to elements, such as timestamp and priority." single ((:commit . "8ebc532df7f0dd6e6c3aa7c380a51d4166c668e8") (:keywords "convenience" "org-mode") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/org-multiple-keymap.el"))]) (org-msg . [(20181005 1543) ((emacs (24 4)) (htmlize (1 54))) "Org mode to send and reply to email in HTML." single ((:commit . "bc488c5ef820644660991c4cb73de2738173b4d4") (: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-mru-clock . [(20180419 1306) ((emacs (24 3))) "clock in/out of tasks with completion and persistent history" single ((:commit . "72e6cd0a6458ae0392f587026233f553278ab481") (:keywords "convenience" "calendar") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (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-mind-map . [(20180826 2340) ((emacs (24)) (dash (1 8 0)) (org (8 2 10))) "Creates a directed graph from org-mode files" single ((:commit . "16a8aac5462c01c4e7b6b7915381fde42fd3caf6") (: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-mime . [(20181023 2314) ((emacs (24 4)) (cl-lib (0 5))) "org html export for text/html MIME emails" single ((:commit . "1e792ef0616069b3ec74a4b7d96fced8c9c6eb8a") (:keywords "mime" "mail" "email" "html") (:authors ("Eric Schulte")) (:maintainer "Chen Bin (redguardtoo)") (:url . "http://github.com/org-mime/org-mime"))]) (org-make-toc . [(20181118 500) ((emacs (25 1)) (dash (2 12)) (s (1 10 0)) (org (9 0))) "Automatic tables of contents for Org files" single ((:commit . "a73ec43211a2ec41a8dadae2e82a516c8bf5856a") (:keywords "org" "convenience") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-make-toc"))]) (org-listcruncher . [(20180815 603) ((cl-lib (0 5)) (seq (2 3)) (emacs (24 4))) "Parse Org mode list contents into table" single ((:commit . "50bd8c22cde3b9b091889861e44a5043b53556f7") (:keywords "convenience") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:url . "https://github.com/dfeich/org-listcruncher"))]) (org-linkany . [(20160207 411) ((log4e (0 2 0)) (yaxception (0 1))) "Insert link using anything.el/helm.el on org-mode" single ((:commit . "8cfe2f1a46e6654a79f56505349d1396263cecb3") (:keywords "org" "completion") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/org-linkany"))]) (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-link-minor-mode . [(20170805 1852) ((org (8))) "Enable org-mode links in non-org modes" single ((:commit . "7b92df60f3fee7f609d649d80ef243b45771ebea") (:authors ("Sean O'Halpin <sean dot ohalpin at gmail dot com>")) (:maintainer "Sean O'Halpin <sean dot ohalpin at gmail dot com>") (:url . "https://github.com/seanohalpin/org-link-minor-mode"))]) (org-kanban . [(20180916 816) ((dash (2 13 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "8091bdd96d0bf405e4d88766cd31a31f2afe8a36") (: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-journal . [(20181115 714) ((emacs (25 1))) "a simple org-mode based journaling mode" single ((:commit . "3ae2e7d7e372dee08143282a9137bf4dfc946645") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "http://github.com/bastibe/org-journal"))]) (org-jira . [(20181118 310) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (s (0 0 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "45f3e8f19f511fae2012828a99b8e3254708531c") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/org-jira"))]) (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-index . [(20181019 1258) ((emacs (24 4))) "A personal adaptive index for org" single ((:commit . "905e3dba6bdc009aa3fe7df0391f5f46afc0f68d") (:authors ("Marc Ihm" . "org-index@2484.de")) (:maintainer "Marc Ihm" . "org-index@2484.de") (:url . "https://github.com/marcIhm/org-index"))]) (org-if . [(20150920 1513) nil "Interactive Fiction Authoring System for Org-Mode." tar ((:commit . "fab602cc1bbee7a4e99c0083e129219d3f9ed2e8"))]) (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-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-gcal . [(20181004 748) ((request-deferred (0 2 0)) (alert (1 1)) (emacs (24)) (cl-lib (0 5)) (org (8 2 4))) "Org sync with Google Calendar" single ((:commit . "d1c2549e7e220880848bef5a8fcc06cbb82dbd9f") (:keywords "convenience") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "https://github.com/kidd/org-gcal.el"))]) (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-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-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-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-ehtml . [(20150506 2358) ((web-server (20140109 2200)) (emacs (24 3))) "Export Org-mode files as editable web pages" tar ((:commit . "9df85de1a0fe1e7b2d6c000777c1a0c0217f92d0"))]) (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-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-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-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-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-download . [(20180925 1528) ((async (1 2))) "Image drag-and-drop for Emacs org-mode" single ((:commit . "07b98eb4f7252e3f64a306c09dfb618be6ac181d") (:keywords "images" "screenshots" "download") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel") (:url . "https://github.com/abo-abo/org-download"))]) (org-dotemacs . [(20180802 28) ((org (7 9 3)) (cl-lib (0 5))) "Store your emacs config as an org file, and choose which bits to load." single ((:commit . "49072168158b6cd45796e92e940c9ac71e181722") (:keywords "local") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:url . "https://github.com/vapniks/org-dotemacs"))]) (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-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-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-context . [(20170107 1337) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "a3b4a4ce6d15e3c2d45eb5dcb78bea81913f3e21") (: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-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-clock-today . [(20161014 920) ((emacs (25))) "Show the total clocked time of the current day in the mode line" single ((:commit . "02b8fd541a01040405a9a1400c46dcb68b7c2a3a") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (org-clock-split . [(20180909 2047) ((emacs (24))) "Split clock entries" single ((:commit . "b2f1497b62e7f4a767be02e249e4ac95d4f8f21c") (: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-csv . [(20180314 257) ((org (8 3)) (s (1 0))) "Export `org-mode' clock entries to CSV format." single ((:commit . "5f96532e7a2c4a56a414a9e34f7a76b2f29d5d03") (: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-convenience . [(20160830 1856) ((cl-lib (0 5)) (org (8)) (emacs (24 3))) "convenience functions for org time tracking" single ((:commit . "2d3fab0991ef7fa8d94c46a63a66abd289c79d9e") (:keywords "org") (:authors ("Derek Feichtinger <dfeich.gmail.com>")) (:maintainer "Derek Feichtinger <dfeich.gmail.com>") (:url . "https://github.com/dfeich/org-clock-convenience"))]) (org-cliplink . [(20181022 1239) ((emacs (24 4))) "insert org-mode links from the clipboard" tar ((:commit . "7ab98f2b17a627e907b50c27737ec1a8ae8b0f3d") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/org-cliplink"))]) (org-chef . [(20181105 2035) ((org (0)) (emacs (24))) "Cookbook and recipe management with org-mode." tar ((:commit . "a35ad92970bdf6e251756cfecf5455997b8f8599") (: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-category-capture . [(20180601 242) ((org (9 0 0)) (emacs (24))) "Contextualy capture of org-mode TODOs." single ((:commit . "c798b1dff1d94304fa3621a905cbb572c7cb1d33") (: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-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-caldav . [(20180403 2036) ((org (7))) "Sync org files with external calendar through CalDAV" single ((:commit . "8d3492c27a09f437d2d94f2736c56d7652e87aa0") (:keywords "calendar" "caldav") (:authors ("David Engster" . "deng@randomsample.de")) (:maintainer "David Engster" . "deng@randomsample.de"))]) (org-bullets . [(20180208 2343) nil "Show bullets in org-mode as UTF-8 characters" single ((:commit . "b56f2e3812626f2c4ac1686073d102c71f4a8513") (:authors ("sabof")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacsorphanage/org-bullets"))]) (org-brain . [(20181114 2246) ((emacs (25)) (org (9))) "Org-mode concept mapping" single ((:commit . "d2bd1461e69189a39bbe40ae0d0be080b13d0ba0") (: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-bookmark-heading . [(20180904 1709) ((emacs (24 4)) (f (0 17 2))) "Emacs bookmark support for org-mode" single ((:commit . "eba5ef7a3c992c4a9da86f64d12fca0c1158208a") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/org-bookmark-heading"))]) (org-board . [(20180530 1820) nil "bookmarking and web archival system for Org mode." single ((:commit . "38de9ff14099bb79b55ddf73b68b8e30ebd7b280") (: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-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-babel-eval-in-repl . [(20170511 1214) ((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 . "bfa72c582ac1531ad42aba23e2b1267ab68e31f6") (: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-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-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-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-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-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"))]) (orca . [(20171030 1916) ((emacs (24 3))) "Org Capture" single ((:commit . "5e1744afb793dda744ddc6fe342144b5e90bea08") (:keywords "org" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/orca"))]) (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"))]) (openwith . [(20120531 2136) nil "Open files with external programs" single ((:keywords "files" "processes") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at") (:url . "https://bitbucket.org/jpkotta/openwith"))]) (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"))]) (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 . "13499b7ae602c735e40c1c494bda6252a2f1c98f") (:keywords "opensource") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/OpenSourceOrg/el-opensourceorg"))]) (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"))]) (opencl-mode . [(20170816 1249) nil "Syntax coloring for opencl kernels" single ((:commit . "6e69434d0fa6e11a542acad370611bba18d3bc5c") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (one-themes . [(20181030 1142) ((emacs (24))) "One Colorscheme" tar ((:commit . "1b50f2f88fe5e207cbe6d68db710361e3bc4a9ce") (:authors ("Balaji Sivaraman" . "balaji@balajisivaraman.com")) (:maintainer "Balaji Sivaraman" . "balaji@balajisivaraman.com") (:url . "http://github.com/balajisivaraman/emacs-one-themes"))]) (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"))]) (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"))]) (omtose-phellack-theme . [(20161111 2120) nil "A dark theme, with cold bluish touch." tar ((:commit . "66f99633e199e65bd28641626435e8e59246529a"))]) (omnisharp . [(20181023 505) ((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)) (shut-up (0 3 2)) (f (0 19 0))) "Omnicompletion (intellisense) and more for C#" tar ((:commit . "260b2423b7b909b12b98d84e5b05b5b4e20040d0") (: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"))]) (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"))]) (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"))]) (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-quotes . [(20170425 1832) ((dash (2 8)) (omni-log (0 3 3)) (f (0 19 0)) (s (1 11 0)) (ht (2 1))) "Random quotes displayer" tar ((:commit . "454116c1dd6581baaeefd6b9310b1b6b7a5c36d0") (: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-log . [(20170930 1235) ((emacs (24)) (ht (2 0)) (s (1 6 1)) (dash (2 13 0))) "Logging utilities" tar ((:commit . "11e959473c1bd9415d0cda785940c36ba6ad44ab") (: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-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"))]) (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"))]) (olivetti . [(20180531 737) ((emacs (24 4))) "Minor mode for a nice writing environment" single ((:commit . "02272654f1d920ea2da5a4b553acd5e5cc096ab1") (:keywords "wp" "text") (:authors ("Paul Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul Rankin" . "hello@paulwrankin.com") (:url . "https://github.com/rnkn/olivetti"))]) (oldlace-theme . [(20150705 1300) ((emacs (24))) "Emacs 24 theme with an 'oldlace' background." single ((:commit . "5c6f437203b0783b36a7aff4a578de4a0c8c4ee6") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (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"))]) (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"))]) (octopress . [(20181009 2351) nil "A lightweight wrapper for Jekyll and Octopress." tar ((:commit . "d4d16f52278b14a271131a11e9cc0a94316de10e") (:keywords "octopress" "blog") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:url . "https://github.com/aaronbieber/octopress.el"))]) (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"))]) (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"))]) (ocp-indent . [(20180417 1549) nil "automatic indentation with ocp-indent" single ((:commit . "4830ebf5d1c1b8f47bc152ff13d2c6aa1aad705b") (:keywords "ocaml" "languages") (:url . "http://www.typerex.org/ocp-indent.html"))]) (ocodo-svg-modelines . [(20150516 1419) ((svg-mode-line-themes (0))) "A collection of beautiful SVG modelines" tar ((:commit . "c7b0789a177219f117c4de5659ecfa8622958c40"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (objed . [(20181117 1925) ((emacs (25)) (cl-lib (0 5))) "Navigate and edit text objects." tar ((:commit . "975a8f336cdb5fc4361ce14bcb5f3a10972dde50") (:keywords "convenience") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:url . "https://github.com/clemera/objed"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ob-typescript . [(20150804 1230) ((emacs (24)) (org (8 0))) "org-babel functions for typescript evaluation" single ((:commit . "9dcbd226cbfb75e790dd9de91d9401dde85a889a") (:keywords "literate programming" "reproducible research" "typescript") (:authors ("KURASHIKI Satoru")) (:maintainer "KURASHIKI Satoru") (:url . "https://github.com/lurdan/ob-typescript"))]) (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-tmux . [(20180831 1017) ((emacs (25 1)) (seq (2 3)) (s (1 9 0))) "Babel Support for Interactive Terminal" single ((:commit . "73bed0ebad27f0ad57ea67582494543eb2fab73d") (:keywords "literate programming" "interactive shell" "tmux") (:authors ("Allard Hendriksen")) (:maintainer "Allard Hendriksen") (:url . "https://github.com/ahendriksen/ob-tmux"))]) (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-sql-mode . [(20180426 1911) ((emacs (24 4))) "SQL code blocks evaluated by sql-mode" single ((:commit . "8f38e4a882f79a53a96dc6f2a0a17b7878a461ad") (: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-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-sagemath . [(20170131 233) ((sage-shell-mode (0 0 8)) (s (1 8 0)) (emacs (24))) "org-babel functions for SageMath evaluation" tar ((:commit . "68d3e516c712bc7aa5042f305f3eb5bbb6d656c2") (:keywords "sagemath" "org-babel") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:url . "https://github.com/stakemori/ob-sagemath"))]) (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-restclient . [(20180904 709) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "00b2c5a6637ab6e504708612357ffb29b5416e4b") (:keywords "literate programming" "reproducible research") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:url . "http://orgmode.org"))]) (ob-prolog . [(20180720 1044) nil "org-babel functions for prolog evaluation." single ((:commit . "85ada8fc1f523167f137746c82d823a194160141") (:keywords "literate programming" "reproducible research") (:authors ("Bjarte Johansen")) (:maintainer "Bjarte Johansen") (:url . "https://github.com/ljos/ob-prolog"))]) (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-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-ml-marklogic . [(20170622 1833) nil "org-babel functions for MarkLogic evaluation" tar ((:commit . "f678af0f440b3030e311ed6fbc444200be04da91") (: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-mermaid . [(20180522 1659) nil "org-babel support for mermaid evaluation" single ((:commit . "5deaea757b3a5de874d94e40c03116fbc8195308") (:keywords "lisp") (:authors ("Alexei Nunez" . "alexeirnunez@gmail.com")) (:maintainer "Alexei Nunez" . "alexeirnunez@gmail.com") (:url . "https://github.com/arnm/ob-mermaid"))]) (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-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-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-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-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-go . [(20181107 1941) nil "org-babel functions for go evaluation" tar ((:commit . "237aded7aeb236573514fb26f23129852fd3c206") (:keywords "golang" "go" "literate programming" "reproducible research") (:authors ("K. Adam Christensen")) (:maintainer "K. Adam Christensen") (:url . "http://orgmode.org"))]) (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-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-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-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-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-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-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-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-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-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-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-cfengine3 . [(20180102 1812) nil "Org Babel functions for CFEngine 3" single ((:commit . "93ebcfceec3734f4bd187ae123686187d66fd401") (:keywords "tools" "convenience") (:authors ("Nick Anderson" . "nick@cmdln.org")) (:maintainer "Nick Anderson" . "nick@cmdln.org") (:url . "https://github.com/nickanderson/ob-cfengine3"))]) (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-blockdiag . [(20170728 101) nil "org-babel functions for blockdiag evaluation" single ((:commit . "634fcf64a4ae735afe7001d865b03f5d71e23046") (:keywords "tools" "convenience") (:authors ("Dmitry Moskowski")) (:maintainer "Dmitry Moskowski") (:url . "https://github.com/corpix/ob-blockdiag.el"))]) (ob-axiom . [(20171103 2248) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions")) (:maintainer "Paul Onions"))]) (ob-async . [(20180816 1553) ((async (1 9)) (org (9 0 1)) (emacs (24 4)) (dash (2 14 1))) "Asynchronous org-babel src block execution" single ((:commit . "2470490e6efb3f8efde1702f7986f6e31cc1ab6c") (:keywords "tools") (:authors ("Andrew Stahlman" . "andrewstahlman@gmail.com")) (:maintainer "Andrew Stahlman" . "andrewstahlman@gmail.com") (:url . "https://github.com/astahlman/ob-async"))]) (ob-applescript . [(20160914 2027) nil "org-babel functions for template evaluation" single ((:commit . "bc708af6cf45707d4e8d8f00ea59a7e413bfaca7") (:keywords "literate programming" "reproducible research" "mac") (:authors ("Stig Brautaset")) (:maintainer "Stig Brautaset") (:url . "http://github.com/stig/ob-applescript.el"))]) (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>"))]) (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>"))]) (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"))]) (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/"))]) (nvm . [(20171217 1636) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (dash-functional (2 4 0))) "Manage Node versions within Emacs" single ((:commit . "bc0a33257ec16e9f575bb6914b5949199897ada9") (:keywords "node" "nvm") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/nvm.el"))]) (nv-delete-back . [(20170224 1249) ((emacs (24))) "backward delete like modern text editors" single ((:commit . "44d506105989873dc1725e0cfc675925b35c9c98") (:keywords "lisp") (:authors ("Nicolas Vaughan <n.vaughan [at] oxon.org>")) (:maintainer "Nicolas Vaughan <n.vaughan [at] oxon.org>"))]) (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"))]) (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"))]) (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"))]) (number . [(20170901 1312) nil "Working with numbers at point." single ((:commit . "bbc278d34dbcca83e70e3be855ec98b23debfb99"))]) (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"))]) (nu-mode . [(20181021 2032) ((undo-tree (0 6 5)) (ace-window (0)) (avy (0)) (which-key (0)) (transpose-frame (0))) "Modern Emacs Prompts Based Keybinding." tar ((:commit . "1c20826ee462ad991e8b9cdeedfacb6bf1c159bf"))]) (nsis-mode . [(20180719 308) nil "NSIS-mode" tar ((:commit . "a49f5dbc8a5e60d3bbb803582efb5468bbbe7507") (:keywords "nsis") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:url . "http://github.com/mlf176f2/nsis-mode"))]) (ns-auto-titlebar . [(20181022 2154) ((emacs (24 4))) "Set the MacOS transparent titlebar to match theme" single ((:commit . "b16092e8058af63ad2bc222f166b0aa3cb66bf9d") (:keywords "frames") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ns-auto-titlebar"))]) (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"))]) (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"))]) (npm-mode . [(20180720 1701) ((emacs (24 1))) "minor mode for working with npm projects" single ((:commit . "4f4b9fc2c07290ae87f65179df95be5221e76bf2") (: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"))]) (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"))]) (nova-theme . [(20180905 1911) ((emacs (24 3))) "A dark, pastel color theme" single ((:commit . "932c83e6e06e795c2a380b69eee3913a3a805cea") (: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"))]) (nov . [(20181118 750) ((dash (2 12 0)) (esxml (0 3 3)) (emacs (24 4))) "Featureful EPUB reader mode" single ((:commit . "3bb7a4038f0c2100df671c9f1f33b785ed4ae296") (:keywords "hypermedia" "multimedia" "epub") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:url . "https://github.com/wasamasa/nov.el"))]) (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"))]) (notmuch . [(20181021 1330) nil "run notmuch within emacs" tar ((:commit . "7f726c6e87517eb9c84119a1c5e3a63bfaaa49f6") (:url . "https://notmuchmail.org/"))]) (nose . [(20140520 1648) nil "Easy Python test running in Emacs" single ((:keywords "nose" "python" "testing"))]) (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"))]) (nordless-theme . [(20180613 750) nil "A mostly colorless theme" single ((:commit . "e4da9d2465a123ea28e33a507cc7ab69692cde86") (:keywords "theme" "dark") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:url . "https://github.com/lethom/nordless-theme.el"))]) (nord-theme . [(20180913 1749) ((emacs (24))) "An arctic, north-bluish clean and elegant theme" single ((:commit . "c4e0b5548e2f3a149658617b33813cb115bdecfe") (:authors ("Arctic Ice Studio" . "development@arcticicestudio.com")) (:maintainer "Arctic Ice Studio" . "development@arcticicestudio.com") (:url . "https://github.com/arcticicestudio/nord-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (nodejs-repl . [(20181024 1654) nil "Run Node.js REPL" single ((:commit . "d518947584c8041a36ffa103e2d487d852cd12ee") (:authors ("Takeshi Arabiki")) (:maintainer "Takeshi Arabiki"))]) (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"))]) (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"))]) (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"))]) (noccur . [(20150514 2120) nil "Run multi-occur on project/dired files" single ((:commit . "6cc02ce07178a61ae38a849f80472c01969272bc") (:keywords "convenience") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com"))]) (noaa . [(20180419 1833) ((request (0 2 0)) (cl-lib (0 5)) (emacs (24))) "Get NOAA weather data" single ((:commit . "e99f7702512de49f93138dce6e0a7cfe2bc5eed3") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/noaa"))]) (no-littering . [(20181030 1247) ((cl-lib (0 5))) "help keeping ~/.emacs.d clean" single ((:commit . "b9c8dcfd5d0757aeca2fb772ff233cd6f1fd75db") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/no-littering"))]) (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"))]) (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"))]) (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"))]) (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"))]) (nlinum-hl . [(20170614 48) ((emacs (24 4)) (nlinum (1 7)) (cl-lib (0 5))) "heal nlinum's line numbers" single ((:commit . "d5ca1490e0cde0605e34a6a17de8cc236c9810da") (: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"))]) (nixos-options . [(20160209 1841) ((emacs (24))) "Interface for browsing and completing NixOS options." single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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/"))]) (nix-update . [(20180425 48) ((emacs (25))) "Update \"fetch\" blocks in .nix expressions" single ((:commit . "d92b2c190dbaeb16751be724fe381f8a796c424c") (:keywords "nix") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:url . "https://github.com/jwiegley/nix-update-el"))]) (nix-sandbox . [(20171004 1706) ((dash (2 12 1)) (s (1 10 0))) "Utility functions to work with nix-shell sandboxes" single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (:authors ("Sven Keidel" . "svenkeidel@gmail.com")) (:maintainer "Sven Keidel" . "svenkeidel@gmail.com") (:url . "https://github.com/travisbhartwell/nix-emacs"))]) (nix-mode . [(20181030 346) ((emacs (24 3))) "Major mode for editing .nix files" tar ((:commit . "84ee98019fbb48854ebd57cc74848b7e7327a78c") (:keywords "nix" "languages" "tools" "unix") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:url . "https://github.com/NixOS/nix-mode"))]) (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/"))]) (ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "5a78423193c48cae4800eb1ec44b62d14ae03920"))]) (nimbus-theme . [(20181109 1214) nil "An awesome dark theme" single ((:commit . "e1fbbb5644c0ef5cd070f958ca17f4e5978c2ab6") (:keywords "faces") (:authors ("Marcin Swieczkowski" . "scatman@bu.edu")) (:maintainer "Marcin Swieczkowski" . "scatman@bu.edu") (:url . "https://github.com/m-cat/nimbus-theme"))]) (nim-mode . [(20181028 1713) ((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 . "2acb601e6b3bf81f2fe29cfa1f3967e81bd12564") (:keywords "nim" "languages") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner" . "hafnersimon@gmail.com"))]) (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"))]) (night-owl-theme . [(20180630 2131) ((emacs (24))) "A color theme for the night owls out there" single ((:commit . "6c73732986015c6a36919f16096d5e4f81b516ad") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "http://github.com/aaronjensen/night-owl-theme"))]) (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"))]) (niceify-info . [(20160416 1244) nil "improve usability of Info pages" single ((:commit . "38df5062bc3b99d1074cab3e788b5ed66732111c"))]) (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"))]) (ng2-mode . [(20180920 12) ((typescript-mode (0 1))) "Major modes for editing Angular 2" tar ((:commit . "db55c94c6697ca0e99d6713218bd8f47d2d374e3") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (netease-music . [(20181028 1254) ((names (0 5)) (emacs (25))) "listen netease music" single ((:commit . "31c31cff44d2889c0456ac11d5d38227f15f03b6") (:keywords "multimedia" "chinese" "music") (:authors ("hiro方圆" . "wfy11235813@gmail.com")) (:maintainer "hiro方圆" . "wfy11235813@gmail.com") (:url . "https://github.com/nicehiro/netease-music"))]) (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"))]) (neotree . [(20181113 2125) ((cl-lib (0 5))) "A tree plugin like NerdTree for Vim" tar ((:commit . "6e3ae07b08d4dd218c119e91a101d7e7ed6ef4d9") (:authors ("jaypei" . "jaypei97159@gmail.com")) (:maintainer "jaypei" . "jaypei97159@gmail.com") (:url . "https://github.com/jaypei/emacs-neotree"))]) (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"))]) (nemerle . [(20161029 2023) nil "major mode for editing nemerle programs" single ((:commit . "6904f590bf8b25a97838c6733dd2e53bd68467fd") (:keywords "nemerle" "mode" "languages") (:authors ("Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl")) (:maintainer "Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl"))]) (neato-graph-bar . [(20171231 153) ((emacs (24 3))) "Neat-o graph bars CPU/memory etc." single ((:commit . "c59f15ed9a40aecc174aa22c4bbfa7978e182705") (:authors ("Robert Cochran" . "robert-git@cochranmail.com")) (:maintainer "Robert Cochran" . "robert-git@cochranmail.com") (:url . "https://gitlab.com/RobertCochran/neato-graph-bar"))]) (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"))]) (ncl-mode . [(20180129 703) ((emacs (24))) "Major Mode for editing NCL scripts and other goodies" tar ((:commit . "602292712a9e6b7e7c25155978999e77d06b7338"))]) (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"))]) (navi2ch . [(20150330 216) nil "Navigator for 2ch for Emacsen" tar ((:commit . "f39d93c32acd5b9c3a7fb1a9fe14c5e1c4b5288e") (:keywords "network" "2ch") (:authors ("Taiki SUGAWARA" . "taiki@users.sourceforge.net")) (:maintainer "Taiki SUGAWARA" . "taiki@users.sourceforge.net"))]) (navi-mode . [(20180516 248) ((outshine (2 0)) (outorg (2 0))) "major-mode for easy buffer-navigation" single ((:commit . "7c3fd1a9b520300abfdb1b7c3de21403e81a95bf") (:maintainer "Adam Porter") (:url . "https://github.com/alphapapa/navi"))]) (nav-flash . [(20140508 2041) nil "Briefly highlight the current line" single ((:commit . "53f5bc59e3f32c1192d15637d3979732dacb2c35") (:keywords "extensions" "navigation" "interface") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/nav-flash"))]) (nav . [(20120507 707) nil "Emacs mode for filesystem navigation" tar ((:commit . "c5eb234c063f435dbdcd1f8bdc46cfc68c973ebe") (:authors ("Issac Trotts" . "issactrotts@google.com")) (:maintainer "Issac Trotts" . "issactrotts@google.com"))]) (nasm-mode . [(20180711 1909) ((emacs (24 3))) "NASM x86 assembly major mode" single ((:commit . "1d4871ef184fc5da792bccbae1ea189f876706fc") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/nasm-mode"))]) (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"))]) (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"))]) (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"))]) (naquadah-theme . [(20180212 1240) nil "A theme based on Tango color set" single ((:commit . "999056526db5095ce600c83672fc80cb744bd93e"))]) (nanowrimo . [(20151105 228) nil "Track progress for nanowrimo" single ((:authors ("Ivan Andrus <darthandrus at gmail.com>")) (:maintainer "Ivan Andrus <darthandrus at gmail.com>") (:url . "https://bitbucket.org/gvol/nanowrimo-mode"))]) (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/"))]) (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/"))]) (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"))]) (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"))]) (nameless . [(20180215 2221) ((emacs (24 4))) "Hide package namespace in your emacs-lisp code" single ((:commit . "3cd4ade5433c8e2041dfff9d9624d9e676d9c5ee") (:keywords "convenience" "lisp") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/nameless"))]) (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"))]) (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 . [(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"))]) (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"))]) (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"))]) (myterminal-controls . [(20170426 236) ((emacs (24)) (cl-lib (0 5))) "Quick toggle controls at a key-stroke" single ((:commit . "aae4f50f9f22d374eaaac2ce95e522f13dcc8fc0") (:keywords "convenience" "shortcuts") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (mysql2sqlite . [(20170725 2216) nil "Convert mysql databases into sqlite databases." single ((:commit . "8e6e74451c942e2e92f90dc13222b95a7dbb285e"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mw-thesaurus . [(20180629 525) ((emacs (25))) "Merriam-Webster Thesaurus" single ((:commit . "b3f8c3aae2b68a4e6cc054c6c99d3b3135e781d1") (:keywords "wp" "matching") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/mw-thesaurus.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mustache . [(20170923 1233) ((ht (0 9)) (s (1 3 0)) (dash (1 2 0))) "a mustache templating library in emacs lisp" tar ((:commit . "5e39654b933a18131146a0f3b3e3dc55c5058124"))]) (multitran . [(20181107 1414) ((emacs (24)) (cl-lib (0 5))) "Interface to multitran" single ((:commit . "9e10b29c4e7cc64736a832649fa9fad8781fc65f") (:keywords "dictionary" "hypermedia") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru"))]) (multiple-cursors . [(20180913 1237) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "6a7c3c0853e3fe9e4b8e5985dbed8fd4075f33ff"))]) (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"))]) (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"))]) (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"))]) (multi-term . [(20160619 933) nil "Managing multiple terminal buffers in Emacs." single ((:commit . "f954e4e18b0a035151d34852387e724d87a3316f") (: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-run . [(20181101 426) ((emacs (24)) (window-layout (1 4))) "Manage multiple terminals and run commands on them" single ((:commit . "acf877d6b4982d90e506c6feb657b3975e063520") (:keywords "tools" "terminals") (:authors ("Sagar Jha")) (:maintainer "Sagar Jha") (:url . "https://www.github.com/sagarjha/multi-run"))]) (multi-project . [(20171217 2011) ((emacs (25))) "Find files, compile, search, and switch between" single ((:keywords "convenience" "project" "management") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://bitbucket.org/ellisvelo/multi-project/overview"))]) (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-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 . [(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"))]) (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"))]) (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"))]) (mu4e-maildirs-extension . [(20180606 812) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "3ef4c48516be66e73d24fe764aadbcfc126b7964") (: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-jump-to-list . [(20180425 1832) ((emacs (24 4)) (cl-lib (0 5))) "mu4e jump-to-list extension" single ((:commit . "e336ffe84b55edaaf4e48040d4d9156a9f4c881e") (: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-conversation . [(20181105 1722) ((emacs (25 1))) "Show a complete thread in a single buffer" single ((:commit . "54368a009474276247bdf39683e25ea68ae1f943") (:keywords "mail" "convenience" "mu4e") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/mu4e-conversation"))]) (mu4e-alert . [(20180305 646) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 3))) "Desktop notification for mu4e" single ((:commit . "96a293b28646f4620e257f24748becc4a06843cd") (:keywords "mail" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/mu4e-alert"))]) (mu-cite . [(20160130 1100) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "aea3c2d01eb3284d5e0124059d368e8c6b6ffddc"))]) (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"))]) (msvc . [(20171225 1538) ((emacs (24)) (cl-lib (0 5)) (cedet (1 0)) (ac-clang (2 0 0))) "Microsoft Visual C/C++ mode" tar ((:commit . "dfc529aa6da8b46b0a0c7db9a0e5e9bc33ab1fb3") (: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"))]) (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"))]) (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"))]) (mpv . [(20180602 1014) ((cl-lib (0 5)) (emacs (24)) (json (1 3)) (org (8 0))) "control mpv for easy note-taking" single ((:commit . "9dedf3b7c1bfd778284df7f394207ce0447ea7aa") (:keywords "tools" "multimedia") (:authors ("Johann Klähn" . "kljohann@gmail.com")) (:maintainer "Johann Klähn" . "kljohann@gmail.com") (:url . "https://github.com/kljohann/mpv.el"))]) (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"))]) (mpdel . [(20181018 1208) ((emacs (25 1)) (libmpdel (0 7 0))) "Play and control your MPD music" tar ((:commit . "b9ada1670d6c104ebee3d186977a09b0aaca0d5e") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/mpdel"))]) (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"))]) (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"))]) (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-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 . [(20180101 800) nil "minor mode to input Japanese with Mozc" single ((:commit . "afb03ddfe72dde4cf2409863a3bfea160f7a66d8") (:keywords "mule" "multilingual" "input method"))]) (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"))]) (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"))]) (mowedline . [(20161122 235) nil "elisp utilities for using mowedline" single ((:commit . "6121b7d4aacd18f7b24da226e61dbae054e50a7c") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) (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"))]) (move-dup . [(20180531 1237) nil "Eclipse-like moving and duplicating lines or rectangles." single ((:commit . "24e5b6d7222cbe2437c602f1af37d5807569961a") (: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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (moom . [(20180910 438) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "a8820f19a8168ab395ba835872606280ad96916d") (: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"))]) (moody . [(20181014 1447) ((emacs (25 3))) "Tabs and ribbons for the mode line" single ((:commit . "f0cfdcff5946775a22e5b789899269669ba58ecd") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/moody"))]) (monroe . [(20180703 1746) nil "Yet another client for nREPL" single ((:commit . "7eeac4f5127f7d74cd975542a8b901742b682922") (:keywords "languages" "clojure" "nrepl" "lisp") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:url . "http://www.github.com/sanel/monroe"))]) (monotropic-theme . [(20181015 1230) ((emacs (24))) "Monotropic Theme" single ((:commit . "36df566aa8225e303f6c9d90c00740dd678a415e") (:authors ("caffo")) (:maintainer "caffo") (:url . "https://github.com/caffo/monotropic-theme"))]) (monokai-theme . [(20180730 1329) nil "A fruity color theme for Emacs." single ((:commit . "f4ef092129f4a35edaee0a9b2219c17e86309730") (:authors ("Kelvin Smith" . "oneKelvinSmith@gmail.com")) (:maintainer "Kelvin Smith" . "oneKelvinSmith@gmail.com") (:url . "http://github.com/oneKelvinSmith/monokai-emacs"))]) (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"))]) (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"))]) (monky . [(20181027 1538) nil "Control Hg from Emacs." tar ((:commit . "c831bd5861e92798ce9e4547eb484ee0e9cb2e1f"))]) (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"))]) (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"))]) (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"))]) (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"))]) (moe-theme . [(20180617 200) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "ee6d7a1c84ac7a11fcc82dfc3b174eee1c8461fa") (:url . "https://github.com/kuanyui/moe-theme.el"))]) (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"))]) (modern-cpp-font-lock . [(20180110 2031) nil "Font-locking for \"Modern C++\"" single ((:commit . "9b10e1831bac34685be89e32e83ed969c4bac683") (: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"))]) (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"))]) (mode-line-bell . [(20181029 516) nil "Flash the mode line instead of ringing the bell" single ((:commit . "4985ba42f5a19f46ddbf9b3622453a9694995ce5") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (mode-icons . [(20180910 1504) ((emacs (24)) (cl-lib (0 5))) "Show icons for modes" tar ((:commit . "26138d825cba7e6bd882707a909505d5536acb9b") (:keywords "multimedia") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://ryuslash.org/projects/mode-icons.html"))]) (modalka . [(20180101 613) ((emacs (24 4))) "Easily introduce native modal editing of your own design" single ((:commit . "9d990341aa13ea27ba4e47ad02b1a9619af22792") (:keywords "modal" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/modalka"))]) (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"))]) (mocha-snippets . [(20170104 527) ((yasnippet (0 8 0))) "Yasnippets for the Mocha JS Testing Framework" tar ((:commit . "e054137bd78f0d236e983874da1f345d30a71816") (:keywords "test" "javascript") (:authors ("Charles Lowell" . "cowboyd@frontside.io")) (:maintainer "Charles Lowell" . "cowboyd@frontside.io"))]) (mocha . [(20180321 2322) ((js2-mode (20150909)) (f (0 18))) "Run Mocha or Jasmine tests" single ((:commit . "33e1b521a8a8d0225df353b51f1e8a4588ee32d0") (:keywords "javascript" "mocha" "jasmine") (:authors ("Al Scott")) (:maintainer "Al Scott") (:url . "http://github.com/scottaj/mocha.el"))]) (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"))]) (mo-vi-ment-mode . [(20131029 633) nil "Provide vi-like cursor movement that's easy on the fingers" single ((:commit . "f45b014261f8fab19254920bd1d92f3a83263411") (:keywords "convenience") (:authors ("Ajay MT" . "ajay.tatachar@gmail.com")) (:maintainer "Ajay MT" . "ajay.tatachar@gmail.com"))]) (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"))]) (mmt . [(20180101 619) ((emacs (24 1)) (cl-lib (0 3))) "Missing macro tools for Emacs Lisp" single ((:commit . "e860009ce531ee05d2902309db5f804326596b45") (:keywords "macro" "emacs-lisp") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/mmt"))]) (mmm-mako . [(20121020 651) ((mmm-mode (0 4 8))) "MMM submode class for Mako Templates" single ((:authors ("Philip Jenvey" . "pjenvey@underboss.org")) (:maintainer "Philip Jenvey" . "pjenvey@underboss.org") (:url . "https://bitbucket.org/pjenvey/mmm-mako"))]) (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"))]) (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"))]) (mixed-pitch . [(20181004 1459) ((emacs (24 3))) "Use a variable pitch, keeping fixed pitch where it's sensible" single ((:commit . "f9bcdd9e30f8370ef0607d714b9411eddf8dd866") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/mixed-pitch"))]) (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"))]) (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"))]) (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"))]) (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"))]) (minitest . [(20160628 1820) ((dash (1 0 0))) "An Emacs mode for ruby minitest files" tar ((:commit . "1aadb7865c1dc69c201cecee275751ecec33a182") (:authors ("Arthur Neves")) (:maintainer "Arthur Neves") (:url . "https://github.com/arthurnn/minitest-emacs"))]) (minions . [(20181030 2101) ((emacs (25 2)) (dash (2 13 0))) "A minor-mode menu for the mode line" single ((:commit . "d36d2445420460c81bcd4822d0bfcbafaec2c682") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/minions"))]) (minimal-theme . [(20160608 1022) nil "A light/dark minimalistic Emacs 24 theme." tar ((:commit . "430e0d3fc2044c16aa9f10961841febbd60df285") (: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"))]) (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"))]) (miniedit . [(20100419 1745) nil "Enhanced editing for minibuffer fields." single ((:commit . "e12bf659c3eb92dd8a4cb77642dc0865c54667a3"))]) (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"))]) (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"))]) (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"))]) (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"))]) (mingus . [(20180713 636) ((libmpdee (2 1))) "MPD Interface" tar ((:commit . "686d383f48b196c916c5fcb6ddc3bcff8a0c4b14") (:keywords "multimedia" "elisp" "music" "mpd") (:authors ("Niels Giesen <pft on #emacs>")) (:maintainer "Niels Giesen <pft on #emacs>") (:url . "https://github.com/pft/mingus"))]) (minesweeper . [(20150414 522) nil "play minesweeper in Emacs" single ((:keywords "game" "fun" "minesweeper" "inane" "diversion") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://bitbucket.org/zck/minesweeper.el"))]) (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"))]) (migemo . [(20160924 1441) ((cl-lib (0 5))) "Japanese incremental search through dynamic pattern expansion" single ((:commit . "e4744efae1b2fdea2bbd2ceaff0f6ea0bb739f5a") (: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"))]) (midje-mode . [(20170809 403) ((cider (0 1 4)) (clojure-mode (1 0))) "Minor mode for running Midje tests in emacs" tar ((:commit . "10ad5b6084cd03d5cd268b486a7c3c246d85535f"))]) (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"))]) (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"))]) (mhc . [(20180724 458) ((calfw (20150703))) "Message Harmonized Calendaring system." tar ((:commit . "2cd1e97fa2e32e7dfde5ee7878fb9a915fb6a3b8") (:keywords "calendar") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:url . "http://www.quickhack.net/mhc"))]) (mgmtconfig-mode . [(20180222 2057) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "43b5b4f5a409b203e4331fed962857e4ba034cd9") (: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"))]) (mexican-holidays . [(20160109 2142) nil "Mexico holidays for Emacs calendar." single ((:commit . "43ced1f9e40a04be6927d1a1be64060f9be4f5c5") (: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"))]) (mew . [(20180911 123) nil "Messaging in the Emacs World" tar ((:commit . "91a78fd6c6d74d0881d68c51dcd9be8cae065c02") (:authors ("Kazu Yamamoto" . "Kazu@Mew.org")) (:maintainer "Kazu Yamamoto" . "Kazu@Mew.org"))]) (metaweblog . [(20171217 240) ((xml-rpc (1 6 8))) "An emacs library to access metaweblog based weblogs" tar ((:commit . "aa14380eb7e7b879a0c16c96866b20a987cd3f2a"))]) (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"))]) (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"))]) (metalheart-theme . [(20160710 641) ((emacs (24))) "Low-contrast theme with a dark blue-green background." single ((:commit . "ec98ea2c11dc1213dae8cbe1fe0cee73ca138bb2") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (meta-presenter . [(20170426 234) nil "A simple multi-file presentation tool for Emacs" single ((:commit . "4e7aae56e5abf6deaadbda84fd5ec4e3e19c22be") (:keywords "productivity" "presentation") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:url . "http://ismail.teamfluxion.com"))]) (messages-are-flowing . [(20170219 120) nil "visible indication when composing \"flowed\" emails" single ((:commit . "ef879726957c850c3a5afd7f1118604991e37e32") (:keywords "mail") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com"))]) (meson-mode . [(20181115 2125) ((emacs (24 3))) "Major mode for the Meson build system files" single ((:commit . "b507a87455af906e6c49aa4af70eba5b1d1af9ef") (:keywords "languages" "tools") (:authors ("Michal Sojka" . "sojkam1@fel.cvut.cz")) (:maintainer "Michal Sojka" . "sojkam1@fel.cvut.cz") (:url . "https://github.com/wentasah/meson-mode"))]) (merlin-eldoc . [(20180830 1016) ((emacs (24 4)) (merlin (3 0))) "eldoc for OCaml and Reason" single ((:commit . "85dec436648f43c050048524fae7a3ad7ad4c019") (:keywords "merlin" "ocaml" "languages" "eldoc") (:authors ("Louis Roché" . "louis@louisroche.net")) (:maintainer "Louis Roché" . "louis@louisroche.net") (:url . "https://github.com/khady/merlin-eldoc"))]) (merlin . [(20180816 815) nil "Mode for Merlin, an assistant for OCaml." tar ((:commit . "aac7b39eb5305faa0ddd6b1d6fe2f4b36ac85aed") (: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"))]) (mentor . [(20181029 2007) ((xml-rpc (1 6 9)) (seq (1 11)) (cl-lib (0 5)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "9415472470ff23ee9600d94123c51c455d63018d") (:keywords "comm" "processes" "bittorrent") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com"))]) (memolist . [(20150804 1721) ((markdown-mode (22 0)) (ag (0 45))) "memolist.el is Emacs port of memolist.vim." single ((:commit . "60c296e202a71e9dcf1c3936d47b5c4b95c5839f") (:keywords "markdown" "memo") (:authors ("mikanfactory <k952i4j14x17_at_gmail.com>")) (:maintainer "mikanfactory") (:url . "http://github.com/mikanfactory/emacs-memolist"))]) (memoize . [(20180614 1930) nil "Memoization functions" single ((:commit . "9a561268ffb550b257a08710489a95cd087998b6") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/emacs-memoize"))]) (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"))]) (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"))]) (melancholy-theme . [(20170220 2048) nil "A dark theme for dark minds" single ((:commit . "a9e13ca7051731b3a2c2aece9f3e3033b9a5e41d") (:authors ("Sod Oscarfono" . "sod@oscarfono.com")) (:maintainer "Sod Oscarfono" . "sod@oscarfono.com") (:url . "http://github.com/techquila/melancholy-theme"))]) (meghanada . [(20181116 1302) ((emacs (24 3)) (yasnippet (0 6 1)) (company (0 9 0)) (flycheck (0 23))) "A better java development mode" tar ((:commit . "4914ab1496d88251f179dc3b6158fc65e999804a") (:keywords "languages" "java") (:authors ("Yutaka Matsubara" . "yutaka.matsubara@gmail.com")) (:maintainer "Yutaka Matsubara" . "yutaka.matsubara@gmail.com") (:url . "https://github.com/mopemope/meghanada-emacs"))]) (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"))]) (md4rd . [(20180626 536) ((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 . "75fbf295d896230c4b441dc773d266fa6cd7a509") (:keywords "ahungry" "reddit" "browse" "news") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:url . "https://github.com/ahungry/md4rd"))]) (md-readme . [(20160811 1646) nil "Markdown-formatted READMEs for your ELisp" tar ((:commit . "bf818dd847c8b06b3b5100c5d3cf24cf96662528") (: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"))]) (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"))]) (mbsync . [(20181002 640) nil "run mbsync to fetch mails" single ((:commit . "f549eccde6033449d24cd5b6148599484850c403") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/mbsync-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"))]) (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"))]) (mb-url . [(20181011 1752) ((cl-lib (0))) "Multiple Backends for Emacs URL package." tar ((:commit . "224b92353094aec25c9c46159d71ab2db5831498") (:url . "https://github.com/dochang/mb-url") (:keywords "url"))]) (maxframe . [(20170120 1705) nil "maximize the emacs frame based on display size" single ((:commit . "13bda6dd9f1d96aa4b9dd9957a26cefd399a7772") (:keywords "display" "frame" "window" "maximize") (:authors ("Ryan McGeary")) (:maintainer "Ryan McGeary"))]) (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"))]) (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"))]) (matlab-mode . [(20180928 1526) nil "Major mode for MATLAB(R) dot-m files" tar ((:commit . "3fbca4259b2584bde08df07ba51944d7e3e2b4f4") (:url . "http://sourceforge.net/projects/matlab-emacs/") (:keywords "matlab" "programming" "language" "(X)emacs"))]) (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"))]) (math-symbol-lists . [(20170221 1353) nil "Lists of Unicode math symbols and latex commands" tar ((:commit . "1af8fdcab7941a62287c2d04b8876e1538f39c60") (:keywords "unicode" "symbols" "mathematics") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/math-symbol-lists"))]) (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"))]) (mastodon . [(20180811 220) ((emacs (24 4))) "Client for Mastodon" tar ((:commit . "585a2dd79f6f929378237c3a678cf43efdf37407") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Johnson Denen" . "johnson.denen@gmail.com") (:url . "https://github.com/jdenen/mastodon.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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (markdown-toc . [(20170711 1949) ((s (1 9 0)) (dash (2 11 0)) (markdown-mode (2 1))) "A simple TOC generator for markdown file" tar ((:commit . "7038f4f6d5c2bc7e4aea89699a607ac2b7dd16a8"))]) (markdown-preview-mode . [(20180929 725) ((emacs (24 3)) (websocket (1 6)) (markdown-mode (2 0)) (cl-lib (0 5)) (web-server (0 1 1)) (uuidgen (0 3))) "markdown realtime preview minor mode." tar ((:commit . "cba12b77764df0fd3cf7008073df1badfa216073") (: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-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-mode . [(20181112 1529) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for Markdown-formatted text" single ((:commit . "d18a8f856d19dfac8fa6e6e72b2448e262045fcc") (: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-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"))]) (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"))]) (mark-multiple . [(20121118 1554) nil "Sorta lets you mark several regions at once." tar ((:commit . "f6a53c7c5283d640ae718f4548b0fda78877a375"))]) (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"))]) (map-regexp . [(20130522 2103) ((cl-lib (0 2))) "map over matches of a regular expression" single ((:commit . "b8e06284ec1c593d7d2bda5f35597a63de46333f") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-regexp"))]) (map-progress . [(20140310 2132) nil "mapping macros that report progress" single ((:commit . "3167eb218510953fb97e7d50948a625eaa3f0005") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/map-progress/"))]) (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"))]) (mandoku . [(20180403 1106) ((org (8 0)) (magit (20151028)) (github-clone (20150705)) (git (20140128))) "A tool to access repositories of premodern Chinese texts" tar ((:commit . "f230c871de8aab1be7b7a9718cd930548a90baa8"))]) (mandm-theme . [(20180915 1940) nil "An M&M color theme." single ((:commit . "b560aa0129c55a2f4fcc5e67a7d6c66ee4dc3124") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))]) (manage-minor-mode . [(20140310 1600) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "1bed33b0752380b548b822fe72e6858c5fe70c8e") (:keywords "minor-mode" "manage" "emacs") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (make-it-so . [(20180128 2107) ((swiper (0 8 0)) (emacs (24))) "Transform files with Makefile recipes." tar ((:commit . "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be") (:keywords "make" "dired") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/make-it-so"))]) (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"))]) (major-mode-icons . [(20170301 714) ((emacs (24 3)) (powerline (2 4)) (all-the-icons (2 3 0))) "display icon for major-mode on mode-line." tar ((:commit . "e6117a236b2ad52e948576550b183053321dfc91") (:keywords "frames" "multimedia") (:url . "http://github.com/stardiviner/major-mode-icons"))]) (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"))]) (magnatune . [(20151030 1935) ((dash (2 9 0)) (s (1 9 0))) "browse magnatune's music catalog" tar ((:commit . "605b01505ba30589c77ebb4c96834b5072ccbdd4"))]) (magma-mode . [(20180413 1427) ((cl-lib (0 3)) (dash (2 6 0)) (f (0 17 1))) "Magma mode for Emacs" tar ((:commit . "d8e41b3c0bc7d37be78fdbcabf6c13c9e182dfaa") (:url . "https://github.com/ThibautVerron/magma-mode"))]) (magithub . [(20181116 1355) ((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 . "94e9f9a1a168e324ec7b79e3437afd1c1fb80200") (:keywords "git" "tools" "vc") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/magithub"))]) (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-todos . [(20181009 424) ((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 . "ccfb2c5df0d6371aee0d4abc4a55c403ee2b0241") (:keywords "magit" "vc") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/magit-todos"))]) (magit-tbdiff . [(20181023 1003) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-tbdiff" single ((:commit . "20da4b99e3f04d8e72c20706a36b1f5020400326") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-tbdiff"))]) (magit-svn . [(20170213 1233) ((emacs (24 4)) (magit (2 1 0))) "Git-Svn extension for Magit" single ((:commit . "c833903732a14478f5c4cfc561bae7c50671b36c") (:keywords "vc" "tools") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk"))]) (magit-stgit . [(20180522 1242) ((emacs (24 4)) (magit (2 1 0))) "StGit extension for Magit" single ((:commit . "186e60489f5449d87d94aca24b9d65e2f26a3bc5") (:keywords "vc" "tools") (:authors ("Lluís Vilanova" . "vilanova@ac.upc.edu")) (:maintainer "Lluís Vilanova" . "vilanova@ac.upc.edu"))]) (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-popup . [(20181003 921) ((emacs (24 4)) (async (1 9 2)) (dash (2 13 0))) "Define prefix-infix-suffix command combos" tar ((:commit . "8436447e3166b797edc596cf220f3bf9b41ff4d0") (:keywords "bindings") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit-popup"))]) (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 . "01e8bb24830861c50109878812550b4265cba82b") (: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-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-lfs . [(20170312 2224) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "799282fce73b668d2cf6e4fa87f889fec8e25333") (: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-imerge . [(20181024 1119) ((emacs (24 4)) (magit (2 10 0))) "Magit extension for git-imerge" single ((:commit . "c2087091fbe24e818d16611c54f4932139757be7") (:keywords "vc" "tools") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/magit/magit-imerge"))]) (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-gh-pulls . [(20180716 1636) ((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 . "6949e973f3e951cb0bfe75d889e0fcccc33ba733") (: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-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-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-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-annex . [(20181110 2236) ((cl-lib (0 3)) (magit (2 90 0))) "Control git-annex from Magit" single ((:commit . "66b81ea781fb192d0ed07002a0c1e7aa284041db") (: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 . [(20181116 1412) ((emacs (25 1)) (async (20180527)) (dash (20180910)) (ghub (20181107)) (git-commit (20181104)) (magit-popup (20181003)) (with-editor (20181103))) "A Git porcelain inside Emacs." tar ((:commit . "36d89c88e1337ec2b33c75c3d426289c66f86b10"))]) (magik-mode . [(20181005 841) nil "mode for editing Magik + some utils." tar ((:commit . "d87b9a5be8fc56e48241e02bab4b4a2d347b999d") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))]) (magic-latex-buffer . [(20170531 5) ((cl-lib (0 5)) (emacs (24 3))) "Magically enhance LaTeX-mode font-locking for semi-WYSIWYG editing" single ((:commit . "c03277d5619d9adcd871f3e6480a1a27985810cb") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (mac-pseudo-daemon . [(20170728 1940) ((cl-lib (0 1))) "Daemon mode that plays nice with Mac OS." single ((:commit . "d235680a72677f11925b912428ad1a57b664e3e8") (:keywords "convenience" "osx" "mac") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) (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"))]) (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"))]) (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"))]) (lxc-tramp . [(20180523 2024) ((emacs (24)) (cl-lib (0 6))) "TRAMP integration for LXC containers" single ((:commit . "1aab85fef50df2067902bff13e1bac5e6366908b") (:keywords "lxc" "convenience") (:authors ("montag451")) (:maintainer "montag451") (:url . "https://github.com/montag451/lxc-tramp"))]) (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"))]) (lv . [(20181110 1740) nil "Other echo area" single ((:commit . "5c5b9ca3262594c92f8f73c98db5ed0f1efd0319") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel"))]) (lusty-explorer . [(20180628 1346) nil "Dynamic filesystem explorer and buffer switcher" single ((:commit . "fc4b2f0f8a07db107234490fdfbf72f8b76a6643") (:keywords "convenience" "files" "matching"))]) (lush-theme . [(20180816 2200) ((emacs (24))) "A dark theme with lush colors" single ((:commit . "7cfc993709d712f75c51b505078608c9e1c11466") (: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"))]) (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"))]) (lua-mode . [(20180323 1021) nil "a major-mode for editing Lua scripts" tar ((:commit . "99312b8d6c500ba3067da6d81efcfbbea05a1cbd") (: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"))]) (lsp-vue . [(20181030 1136) ((emacs (25 1)) (lsp-mode (3 0))) "Vue support for lsp-mode" single ((:commit . "85567342323943b37bb4e90376d3fae740be4aeb") (:authors ("Nikita Sivakov" . "cryptomaniac.512@gmail.com")) (:maintainer "Nikita Sivakov" . "cryptomaniac.512@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-vue"))]) (lsp-ui . [(20181031 2002) ((emacs (25 1)) (dash (2 14)) (dash-functional (1 2 0)) (flycheck (31)) (lsp-mode (5 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "5138e720451dfbcae2f55a8380416340d5706583") (: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"))]) (lsp-typescript . [(20180906 524) ((lsp-mode (3 0)) (typescript-mode (0 1)) (emacs (25 1))) "Javascript/Typescript support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-sh . [(20180913 158) ((lsp-mode (3 0))) "Shell support for lsp-mode" single ((:commit . "d9e94837ccbb54eafa381833d2a9a0089e01096b") (:keywords "sh" "shell" "bash") (:authors ("Mike Wilkerson" . "wilkystyle@gmail.com")) (:maintainer "Mike Wilkerson" . "wilkystyle@gmail.com") (:url . "https://github.com/wilkystyle/lsp-sh"))]) (lsp-rust . [(20180305 1308) ((emacs (25)) (lsp-mode (3 0)) (rust-mode (0 3 0)) (dash (1 0)) (markdown-mode (2 3))) "Rust support for lsp-mode" single ((:commit . "ecc889cc8735b280e0e6e84d2f4526b0048148b3") (:keywords "rust") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-rust"))]) (lsp-ruby . [(20180910 1921) ((lsp-mode (3 0)) (emacs (25 1))) "Ruby support for lsp-mode" single ((:commit . "690caff89ccf48d0b45688466482e78ec734e75b") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-ruby"))]) (lsp-python . [(20181108 754) ((lsp-mode (3 0))) "Python support for lsp-mode" single ((:commit . "9b67b63c4c8c53c77eda8b8081b8d458e655ba55") (:keywords "python") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-python"))]) (lsp-php . [(20180331 1644) ((emacs (25 1)) (lsp-mode (3 4))) "PHP support for lsp-mode" single ((:commit . "f96e23570120eca765132504df852a78d8b4d042") (:authors ("Declspeck" . "declspeck@declblog.com") ("zg" . "13853850881@163.com")) (:maintainer "Declspeck" . "declspeck@declblog.com") (:url . "https://github.com/emacs-lsp/lsp-php"))]) (lsp-p4 . [(20180728 1915) ((lsp-mode (3 0))) "P4 support for lsp-mode" single ((:commit . "9ac56f8932d6bfb332b6c84bc79361eba6df370a") (:keywords "lsp" "p4") (:authors ("Dmitri Makarov")) (:maintainer "Dmitri Makarov") (:url . "https://github.com/dmakarov/p4ls"))]) (lsp-ocaml . [(20180610 1854) ((emacs (25 1)) (lsp-mode (3 0))) "OCaml support for lsp-mode" single ((:commit . "5a8c776b6d75b502703243b3d628fccd813481b0") (:keywords "languages" "ocaml" "reason" "lsp") (:authors ("Antonio N. Monteiro" . "anmonteiro@gmail.com")) (:maintainer "Antonio N. Monteiro" . "anmonteiro@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-ocaml"))]) (lsp-mode . [(20181115 308) ((emacs (25 1))) "Minor mode for interacting with Language Servers" tar ((:commit . "9e0426cf88190a5c350a5436ab11af6f8d4d412e") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-mode"))]) (lsp-javascript-typescript . [(20180614 2011) ((lsp-mode (3 0)) (typescript-mode (0 1)) (emacs (25 1))) "Javascript/Typescript support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-javascript-flow . [(20180613 508) ((lsp-mode (3 0)) (emacs (25 1))) "Javascript/Flow support for lsp-mode" single ((:commit . "ab62826962887e82f0bc968817be4fc89a6953e4") (:keywords "languages" "tools") (:authors ("Ozan Sener" . "hi@ozan.email")) (:maintainer "Ozan Sener" . "hi@ozan.email") (:url . "https://github.com/emacs-lsp/lsp-javascript"))]) (lsp-javacomp . [(20181029 2028) ((emacs (25 1)) (lsp-mode (3 0)) (s (1 2 0))) "Provide Java IDE features powered by JavaComp." single ((:commit . "2b5130951f758eb9d3000b9e391b5e7a3b63d371") (:keywords "java" "tools" "lsp") (:url . "https://github.com/tigersoldier/lsp-javacomp"))]) (lsp-java . [(20181102 1943) ((emacs (25 1)) (lsp-mode (3 0)) (markdown-mode (2 3)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (dash-functional (1 2 0))) "Java support for lsp-mode" tar ((:commit . "7eebaf5d45763627a5e49180d9f76a82432d62e3") (:keywords "java") (:url . "https://github.com/emacs-lsp/lsp-java"))]) (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-html . [(20180629 725) ((lsp-mode (4 2))) "HTML support for lsp-mode" single ((:commit . "53b3c30511cab7e5f1e4ad15094b407b27cdc7f5") (:keywords "languages" "html" "lsp") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-html"))]) (lsp-haskell . [(20181023 657) ((lsp-mode (3 0)) (haskell-mode (1 0))) "Haskell support for lsp-mode" single ((:commit . "1d18fb6b3c055d665dd0bc8694fd74782091d5cf") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))]) (lsp-hack . [(20181114 1747) ((lsp-mode (4 2))) "lsp-mode client for hacklang" single ((:commit . "2a9025a331aa08ebc4ad3524fe69eaa6f624ceae") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-hack"))]) (lsp-go . [(20180914 515) ((lsp-mode (3 0))) "Go support for lsp-mode" single ((:commit . "2327556e78682770a7a434610b08115f20ea5b1a") (:keywords "go" "golang") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-go"))]) (lsp-fortran . [(20180904 1636) ((lsp-mode (3 0))) "Fortran support for lsp-mode" single ((:commit . "dd990e5b1e8177c807dd935b6ffa76b495a54b4f") (:keywords "fortran" "fortran" "language server") (:authors ("Magnus Badel")) (:maintainer "Magnus Badel") (:url . "https://github.com/MagB93/lsp-fortran"))]) (lsp-dart . [(20181021 1708) ((emacs (25 1)) (lsp-mode (3 0))) "Dart support for lsp-mode" single ((:commit . "4979ccf88f09a8576fb739597eca22f4ece0a7e8") (:keywords "languages" "lsp" "dart") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:url . "https://github.com/twlz0ne/lsp-dart"))]) (lsp-css . [(20180627 1951) ((lsp-mode (3 0)) (emacs (25 1))) "CSS/LESS/SASS support for lsp-mode" single ((:commit . "1395b48209c5744e19f688ebb5fe8201e5a006df") (:keywords "languages" "tools") (:authors ("George Pittarelli" . "g@gjp.cc")) (:maintainer "George Pittarelli" . "g@gjp.cc") (:url . "https://github.com/emacs-lsp/lsp-css"))]) (lsp-clangd . [(20180828 1657) ((lsp-mode (3 0)) (emacs (24 3))) "clangd support for lsp-mode" single ((:commit . "37ca521483e3ce5b63b97672916368dbf4566a67") (:keywords "lsp" "clang" "clangd" "c" "c++" "objective-c" "objective-c++") (:authors ("Thomas Brown" . "tabsoftwareconsulting@gmail.com")) (:maintainer "Thomas Brown" . "tabsoftwareconsulting@gmail.com") (:url . "https://github.com/emacs-lsp/lsp-clangd"))]) (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"))]) (lorem-ipsum . [(20140911 2108) nil "Insert dummy pseudo Latin text." single ((:commit . "4b39f6fed455d67f635b3837cf5668bf74d0f6cd") (:keywords "tools" "language" "convenience") (:authors ("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) (:maintainer "Joe Schafer" . "joe@jschaf.com"))]) (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"))]) (look-mode . [(20151211 1826) nil "quick file viewer for image and text file browsing" single ((:commit . "d65f75e8ea24eff2ac31c53b4835b45127eedd56") (:authors ("Peter H. Mao <peter.mao@gmail.com>" . "peterm@srl.caltech.edu")) (:maintainer "Peter H. Mao <peter.mao@gmail.com>" . "peterm@srl.caltech.edu"))]) (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"))]) (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"))]) (logview . [(20181027 1757) ((emacs (24 4)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a") (:keywords "files" "tools") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/logview"))]) (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"))]) (logpad . [(20180607 1915) nil "Simulate Windows Notepad for logging." single ((: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"))]) (lognav-mode . [(20180708 1022) ((emacs (24 3))) "Navigate Log Error Messages" single ((:keywords "log" "error" "lognav-mode" "convenience") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:url . "https://bitbucket.org/ellisvelo/lognav-mode"))]) (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"))]) (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"))]) (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"))]) (log4e . [(20170401 1304) nil "provide logging framework for elisp" single ((:commit . "c69424e407be0d9d0e54b427d8b18b1ac5a607e2") (:keywords "log") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/log4e"))]) (lodgeit . [(20150312 1349) nil "Paste to a lodgeit powered pastebin" single ((:commit . "ec9b8e5cbb17bcf8ac4bdddd1d361cb60e59384c") (:keywords "pastebin" "lodgeit") (:authors ("Eric Larson" . "eric@ionrock.org")) (:maintainer "Eric Larson" . "eric@ionrock.org") (:url . "https://github.com/ionrock/lodgeit-el"))]) (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"))]) (loccur . [(20161227 1051) ((emacs (24 3))) "Perform an occur-like folding in current buffer" single ((:commit . "650d91dda0d313c8f445a0803c07809d857dee0f") (:keywords "matching") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/loccur"))]) (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"))]) (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"))]) (load-relative . [(20170526 1010) nil "relative file load (within a multi-file Emacs package)" tar ((:commit . "738896e3da491b35399178ed2c6bc92cc728d119") (:keywords "internal") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "http://github.com/rocky/emacs-load-relative"))]) (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"))]) (lms . [(20170804 1622) ((emacs (25 1))) "Squeezebox / Logitech Media Server frontend" single ((:keywords "multimedia") (:authors ("Iñigo Serna" . "inigoserna@gmail.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmail.com") (:url . "https://bitbucket.com/inigoserna/lms.el"))]) (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"))]) (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"))]) (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"))]) (lively . [(20171005 754) nil "interactively updating text" single ((:commit . "348675828c6a81bfa1ac311ca465aad813542c1b") (:authors ("Luke Gorrie" . "luke@bup.co.nz")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (live-py-mode . [(20181116 536) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "e823a86707a5821ad761fd27a9c9e90ac47d2319") (: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/"))]) (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"))]) (literate-starter-kit . [(20150730 1854) ((emacs (24 3))) "A literate starter kit to configure Emacs using Org-mode files." tar ((:commit . "6dce1d01781966c14558aa553cfc85008c06e115"))]) (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"))]) (literal-string . [(20170301 1530) ((markdown-mode (2 0)) (emacs (25))) "edit string literals in a dedicated buffer" single ((:commit . "2ca4fc08b8e19e6183b1f1db747bb0a4aa4f98eb") (:keywords "lisp" "tools" "docs") (:authors ("Joost Diepenmaat" . "joost@zeekat.nl")) (:maintainer "Joost Diepenmaat" . "joost@zeekat.nl") (:url . "https://github.com/joodie/literal-string-mode/"))]) (litecoin-ticker . [(20160612 11) ((json (1 2))) "litecoin price in modeline" single ((:commit . "3d8047c736e4ee0b8638953f8cc63eaefad34106") (:authors ("Zhe Lei")) (:maintainer "Zhe Lei"))]) (litable . [(20160922 1559) ((dash (2 6 0))) "dynamic evaluation replacement with emacs" single ((:commit . "90a2dca14a6da9b24fe332a65cff899ab4a90810") (:keywords "lisp") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) (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"))]) (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"))]) (list-unicode-display . [(20150219 901) ((cl-lib (0 5))) "Search for and list unicode characters by name" single ((:commit . "222c21c68ccc930b2843ea919c960de9be3b55c2") (:keywords "convenience") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.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-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"))]) (lispyville . [(20181111 1142) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "4d87b4532d549bed5fdac38ee137ad23451d0abf") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/lispyville"))]) (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"))]) (lispy . [(20181114 2049) ((emacs (24 1)) (ace-window (0 9 0)) (iedit (0 9 9)) (swiper (0 7 0)) (hydra (0 13 4)) (zoutline (0 1 0))) "vi-like Paredit" tar ((:commit . "4a9247144b77c904b45c21e94c4dbca91ef56c95"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 "))]) (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"))]) (link-hint . [(20180519 2130) ((avy (0 4 0)) (emacs (24 1)) (cl-lib (0 5))) "Use avy to open, copy, etc. visible links." single ((:commit . "23df5fa36ab182452be6b772475eab67b846dd92") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/link-hint.el"))]) (link . [(20140718 329) nil "Hypertext links in text buffers" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "interface" "hypermedia") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (linguistic . [(20181019 1542) nil "A package for basic linguistic analysis." tar ((:commit . "04ceb873ba41cd7cb4dc09e537a6dbb80cd12d65") (: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"))]) (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"))]) (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"))]) (line-up-words . [(20180219 1024) nil "Align words in an intelligent way" single ((:commit . "b6713d19dbc507a30e39f892f698a511f1cf3d1f") (:url . "https://github.com/janestreet/line-up-words"))]) (line-reminder . [(20180603 552) ((emacs (24 4)) (cl-lib (0 6))) "Remind current line status by current buffer." single ((:commit . "07543e7a2c09dee204e312e0318e7b230fb14ec7") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/line-reminder"))]) (light-soap-theme . [(20150607 1445) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "76a787bd40c6b567ae68ced7f5d9f9f10725e00d"))]) (lice . [(20170220 943) nil "License And Header Template" tar ((:commit . "4339929927c62bd636f89bb39ea999d18d269250") (: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"))]) (libmpdel . [(20181016 653) ((emacs (25 1))) "Communication with an MPD server" single ((:commit . "76711d7c32fe617647098f01d4fee9b3c1eaab46") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))]) (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"))]) (libgit . [(20181115 945) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "f1a3ada48eae85443169cfc3d870295a68b03577") (:keywords "git" "vc") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:url . "https://github.com/TheBB/libegit2"))]) (libelcouch . [(20180604 753) ((emacs (25 1)) (request (0 3 0))) "Communication with CouchDB" single ((:commit . "1faa877fd83c31f612eacb1d12645b2b4cfb57ed") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/elcouch/libelcouch/"))]) (lfe-mode . [(20170121 1254) nil "Lisp Flavoured Erlang mode" tar ((:commit . "ea62f924b7abbe2a0ff65e27be47acb7f452bc38"))]) (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"))]) (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>,"))]) (leuven-theme . [(20181113 1924) nil "Awesome Emacs color theme on white background" tar ((:commit . "945148b8903448815a39d18e72e6932385f8fd32") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (lentic . [(20161202 2152) ((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 . "678db9327209a1e6200c9272f4080595dc68f8a5") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) (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/"))]) (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"))]) (legalese . [(20150820 1724) nil "Add legalese to your program files" single ((:commit . "ec23e69d18329456beed9546a1d6c72f96db91cf") (:keywords "convenience") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/jorgenschaefer/legalese"))]) (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"))]) (ledger-mode . [(20181107 1942) ((emacs (24 3))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "1f5c68fb59d81d2fffe49436ee99a8c291a4fe41"))]) (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"))]) (lean-mode . [(20180906 1645) ((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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (latexdiff . [(20180521 2232) ((emacs (24 4))) "Latexdiff integration in Emacs" single ((:commit . "024ee7a4fd235695dacd9f53594fef3d79bee88b") (: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"))]) (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"))]) (latex-preview-pane . [(20181008 1822) nil "Makes LaTeX editing less painful by providing a updatable preview pane" tar ((:commit . "5297668a89996b50b2b62f99cba01cc544dbed2e"))]) (latex-pretty-symbols . [(20151112 1044) nil "Display many latex symbols as their unicode counterparts" single ((: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-math-preview . [(20170522 2155) nil "preview LaTeX mathematical expressions." single ((:commit . "775887a89447dd19541b121161cc02e9799d0d3a") (: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-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"))]) (lastpass . [(20171208 1016) ((emacs (24 4)) (seq (1 9)) (cl-lib (0 5))) "LastPass command wrapper" single ((:commit . "a4529ce70b8187ed9ac4972997df152af58ef2eb") (:keywords "extensions" "processes" "lpass" "lastpass") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:url . "https://github.com/storvik/emacs-lastpass"))]) (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"))]) (langtool . [(20180409 1016) ((cl-lib (0 3))) "Grammar check utility using LanguageTool" single ((:commit . "d93286722cff3fecf8641a4a6c3b0691f30362fe") (:keywords "docs") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-langtool"))]) (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/"))]) (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"))]) (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"))]) (labburn-theme . [(20170502 907) nil "A lab color space zenburn theme." single ((:commit . "e95334acd8a73fbe8e156f70e047014a87e92e66") (:keywords "theme" "zenburn") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:url . "https://github.com/ksjogo/labburn-theme"))]) (lab-themes . [(20181015 1820) ((emacs (24))) "A custom theme carefully constructed in the LAB space" tar ((:commit . "dd1676e901c458cfcd7b9f331535150ae38a36f2") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/lab-theme"))]) (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"))]) (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"))]) (kurecolor . [(20180401 1221) ((emacs (24 1)) (s (1 0))) "color editing goodies for Emacs" single ((:commit . "a27153f6a01f38226920772dc4917b73166da5e6") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))]) (kubernetes-tramp . [(20171026 1622) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for kubernetes containers" single ((:commit . "9fa84df71f6e88bc23a756cdf2df393a35aec945") (: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"))]) (kubernetes-evil . [(20171123 219) ((kubernetes (0 12 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "2b5ce22b12bd8a569cb0a8019a395173e3a13523") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) (kubernetes . [(20180706 1220) ((emacs (25 1)) (dash (2 12 0)) (magit (2 8 0))) "Magit-like porcelain for Kubernetes." tar ((:commit . "2b5ce22b12bd8a569cb0a8019a395173e3a13523") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) (ksp-cfg-mode . [(20180609 547) ((cl-lib (0 5))) "major mode for editing KSP CFG files" single ((:commit . "fda64705f605fb8fccee53a5040fe4865ca17d44") (:keywords "data") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:url . "http://github.com/lashtear/ksp-cfg-mode"))]) (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"))]) (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/"))]) (kotlin-mode . [(20181109 1818) ((emacs (24 3))) "Major mode for kotlin" single ((:commit . "666187a086c042e70b65b13ea83b34a493440d95") (:keywords "languages") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com"))]) (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"))]) (korean-holidays . [(20170301 445) nil "Korean holidays for calendar." single ((:commit . "6e94c2e071069aee9ed12ebbfd9b0ad863b8c78e") (:keywords "calendar") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:url . "https://github.com/tttuuu888/korean-holidays"))]) (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"))]) (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"))]) (kodi-remote . [(20180820 715) ((request (0 2 0)) (let-alist (1 0 4)) (json (1 4)) (elnode (20140203 1506))) "Remote Control for Kodi" single ((:commit . "f74834871508b74650f360a63483f75f5455c501") (: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"))]) (know-your-http-well . [(20160208 2304) nil "Look up the meaning of HTTP headers, methods, relations, status codes" tar ((:commit . "3cc5ab6d2764ab7aacb1b6e026abaccbeb6c37f2"))]) (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"))]) (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"))]) (kiwix . [(20170927 820) ((emacs (24 4)) (cl-lib (0 5))) "Kiwix interface and support." single ((:commit . "86dbead6c0017beefd92a0b64a0bb5f5d12c5b16") (:keywords "kiwix" "wikipedia") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/kiwix.el"))]) (kivy-mode . [(20180702 2029) nil "Emacs major mode for editing Kivy files" single ((:commit . "372b81964f55d2ca74641944ab8c908172306e59") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))]) (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"))]) (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"))]) (killer . [(20120808 1122) nil "kill and delete text" single ((:commit . "7bbb223f875402a7b2abee4baa5a54f10bd97212") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "http://github.com/tarsius/killer"))]) (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/"))]) (kill-or-bury-alive . [(20180101 618) ((emacs (24 4)) (cl-lib (0 5))) "Precise control over buffer killing in Emacs" single ((:commit . "0ba8f44efe60058ef66b10a059fd30489b42546f") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (keypress-multi-event . [(20180817 853) ((emacs (24 3))) "Perform different actions for the same keypress." single ((:commit . "ec94209e52e17427e513b0b24ac2de1ac90b3762") (: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"))]) (keymap-utils . [(20180318 2237) ((cl-lib (0 3))) "keymap utilities" single ((:commit . "1ad766dbc111ec78b1a292da97b9bd4856cd2ff7") (:keywords "convenience" "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keymap-utils"))]) (keyfreq . [(20160516 1416) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "9c665c8c219d18866403897936427bb408e3d6b9") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))]) (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"))]) (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"))]) (keycast . [(20180318 2021) ((emacs (25 3))) "Show current command and its key in the mode line" single ((:commit . "46370b8a72922902921d3ed2fa194564568053dc") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/keycast"))]) (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"))]) (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-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-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-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>"))]) (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/"))]) (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"))]) (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"))]) (kapacitor . [(20180910 442) ((emacs (25 1)) (magit (2 13 0)) (magit-popup (2 12 4))) "Main file for kapacitor-mode" single ((:commit . "b0e95f98b965f215be6ead14779949d5cf358ea5") (: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"))]) (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"))]) (kaolin-themes . [(20181117 836) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "7ddbe315c85082a6ed9ded576ed8b9e9ed8fe1f2") (: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"))]) (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 "))]) (kanban . [(20170418 810) nil "Parse org-todo headlines to use org-tables as Kanban tables" single ((:keywords "outlines" "convenience") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(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"))]) (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"))]) (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"))]) (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"))]) (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-char . [(20180601 1348) nil "navigation by char" single ((:commit . "1e31a3c687f2b3c71bbfab881c6d75915534bb9e") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/jump-char"))]) (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"))]) (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"))]) (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-repl . [(20180923 1124) ((emacs (25))) "A minor mode for a Julia REPL" single ((:commit . "d8b94c6dbfa47fd51540b9d5b1bb0c2dfce3ebc2") (:keywords "languages") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:url . "https://github.com/tpapp/julia-repl"))]) (julia-mode . [(20180816 2117) nil "Major mode for editing Julia source code" single ((:commit . "ec01995f60486480cf2240bbd3b9a2ff3fa9e0f0") (:keywords "languages") (:url . "https://github.com/JuliaLang/julia"))]) (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"))]) (jsx-mode . [(20130908 1724) nil "major mode for JSX" single ((:commit . "47213429c09259126cddb5742482cfc444c70d50") (:authors ("Takeshi Arabiki (abicky)")) (:maintainer "Takeshi Arabiki (abicky)") (:url . "https://github.com/jsx/jsx-mode.el"))]) (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"))]) (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"))]) (jsonnet-mode . [(20180822 1619) ((emacs (24))) "Major mode for editing jsonnet files" single ((:commit . "0d68681d501fd57ebde5ed4fe100033a5d3aafa8") (:keywords "languages") (:authors ("Nick Lanham")) (:maintainer "Nick Lanham") (:url . "https://github.com/mgyucht/jsonnet-mode"))]) (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"))]) (json-rpc . [(20180104 1528) ((emacs (24 1)) (cl-lib (0 5))) "JSON-RPC library" single ((:commit . "0992ae71964055230aa5d4d934a1b93b5dfd7eb4") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-json-rpc"))]) (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-navigator . [(20171220 819) ((emacs (24 3)) (hierarchy (0 6 0))) "View and navigate JSON structures" single ((:commit . "7a1fec93500c46ccba4086d10115d8188607d0d0") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/json-navigator"))]) (json-mode . [(20180718 809) ((json-reformat (0 0 5)) (json-snatcher (1 0 0))) "Major mode for editing JSON files." single ((:commit . "ffc92b1eefc54963703b43be140f4c8c8ad348f7") (:authors ("Josh Johnston")) (:maintainer "Josh Johnston") (:url . "https://github.com/joshwnj/json-mode"))]) (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"))]) (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"))]) (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"))]) (js2-refactor . [(20180502 1042) ((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 . "79124b3274c43ad1f9ec6205fa362576552db02f"))]) (js2-mode . [(20180724 801) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "5165f4dc3805add174e48f0d64c5617d10ac3507") (: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-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-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"))]) (js-import . [(20180817 1056) ((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 . "c98e74a0b43d6ccb8764cf572cdde95ca27f5633") (: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-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-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-comint . [(20181106 2238) ((emacs (24 3))) "JavaScript interpreter in window." single ((:commit . "01be9d821269c513665d00416f6dac5c77808801") (: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-codemod . [(20171104 1154) ((emacs (24 4))) "Run js-codemod on current line or selected region" tar ((:commit . "014e56c846487d1eeaf8a91dd503b9d96eb1510a") (:keywords "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))]) (js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "29d245b4d126a5fc5153a4d8f17396be4165b4a6") (:keywords "languages") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))]) (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"))]) (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"))]) (jq-mode . [(20181103 1258) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "d6bbd83baf0746f22564f7ae92db44e06da6e08c") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (jinja2-mode . [(20141128 1007) nil "A major mode for jinja2" single ((:commit . "cfaa7bbe7bb290cc500440124ce89686f3e26f86") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))]) (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"))]) (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"))]) (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"))]) (jenkins . [(20170721 936) ((dash (2 12)) (emacs (24 3)) (json (1 4))) "Minimalistic Jenkins client for Emacs" single ((:commit . "1ec967973db685c9d84133ec6a5e06489ce06b62") (:keywords "jenkins" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) (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"))]) (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"))]) (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>"))]) (jedi-core . [(20181117 954) ((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 . "f0ec869f352e8c37a53c73b579ac94bad064c0d9") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (jedi . [(20160426 456) ((emacs (24)) (jedi-core (0 2 2)) (auto-complete (1 4))) "a Python auto-completion for Emacs" single ((:commit . "f0ec869f352e8c37a53c73b579ac94bad064c0d9") (:authors ("Takafumi Arakaki <aka.tkf at gmail.com>")) (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>"))]) (jdee . [(20180831 1500) ((emacs (24 3)) (flycheck (30)) (memoize (1 0 1)) (dash (2 13 0)) (s (1 12 0))) "Java Development Environment for Emacs" tar ((:commit . "8451b811b11d8cb428bafab31752e93180a3c724") (:keywords "java" "tools") (:authors ("Paul Kinnucan" . "pkinnucan@attbi.com")) (:maintainer "Paul Landes") (:url . "http://github.com/jdee-emacs/jdee"))]) (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"))]) (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"))]) (jazz-theme . [(20170411 1411) nil "A warm color theme for Emacs 24+." single ((:commit . "b1cb78a97cc4050f19d88a89e455c3e52d98240e") (:authors ("Roman Parykin" . "donderom@ymail.com")) (:maintainer "Roman Parykin" . "donderom@ymail.com") (:url . "https://github.com/donderom/jazz-theme"))]) (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/"))]) (javap-mode . [(20120223 2208) nil "Javap major mode" single ((:commit . "864c1130e204b2072e1d19cd027b6fce8ebe6629") (:url . "http://github.com/hiredman/javap-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (japanlaw . [(20160129 820) ((cl-lib (0 5))) "Japan law from law.e-gov.go.jp" single ((:commit . "c160e195cda0e02a709a2d39c62bc2a1ed39a09a") (:keywords "docs" "help") (:authors ("Kazushi NODA (http://www.ne.jp/asahi/alpha/kazu/)")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com"))]) (japanese-holidays . [(20160928 618) ((cl-lib (0 3))) "calendar functions for the Japanese calendar" single ((:commit . "0bccfac342d6ebda1c1a35c3babca0c800ff0c9b") (: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"))]) (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"))]) (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"))]) (jack-connect . [(20141207 1207) nil "Manage jack connections within Emacs" single ((:commit . "b00658dfe3d5d67431c18ffa693d5a3705067ba0") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) (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/"))]) (jabber . [(20180927 2325) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "fff33826f42e040dad7ef64ea312d85215d3b0a1"))]) (j-mode . [(20171224 1856) nil "Major mode for editing J programs" tar ((:commit . "e8725ac8af95498faabb2ca3ab3bd809a8f148e6") (:keywords "j" "languages") (:url . "http://github.com/zellio/j-mode"))]) (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"))]) (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"))]) (ivy-youtube . [(20181031 1208) ((request (0 2 0)) (ivy (0 8 0)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "57e773e29412dc87e9bf007b15ac8dbed149e7fc") (:keywords "youtube" "multimedia" "mpv" "vlc") (:authors ("Brunno dos Santos")) (:maintainer "Brunno dos Santos") (:url . "https://github.com/squiter/ivy-youtube"))]) (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-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 . "32580b4fd23ebf9ca7dde96704f7d53df6e253cd") (:keywords "convenience") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "https://github.com/mkcms/ivy-yasnippet"))]) (ivy-xref . [(20180821 1211) ((emacs (25 1)) (ivy (0 10 0))) "Ivy interface for xref results" single ((:commit . "61864f82e554121be0a26ba0a1d8f48b669dd5f0") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/ivy-xref"))]) (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-todo . [(20171208 1609) ((ivy (0 8 0)) (emacs (24 3))) "Manage org-mode TODOs with ivy" single ((:commit . "964e347cea1a6097854d7113f5b07f6c5ef81df0") (:keywords "convenience") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:url . "http://github.com/Kungsgeten/ivy-todo"))]) (ivy-rtags . [(20170523 454) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (ivy-rich . [(20181001 1147) ((emacs (24 4)) (ivy (0 8 0))) "More friendly display transformer for ivy." single ((:commit . "dee5d60f655c93f4f9f0e40507244112bd90dab5") (:keywords "ivy") (:authors ("Yevgnen Koh" . "wherejoystarts@gmail.com")) (:maintainer "Yevgnen Koh" . "wherejoystarts@gmail.com"))]) (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-prescient . [(20181022 2256) ((emacs (25 1)) (prescient (2 2 1)) (ivy (0 10 0))) "prescient.el + Ivy" single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (ivy-posframe . [(20180818 424) ((emacs (26 0)) (posframe (0 1 0)) (ivy (0 10 0))) "Using posframe to show Ivy" single ((:commit . "b92aaa1c4695e2c6012cdbc1469b89e8c0dac4c2") (:keywords "abbrev" "convenience" "matching" "ivy") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/ivy-posframe"))]) (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-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-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-mpdel . [(20180502 1848) ((emacs (25 1)) (ivy (0 10 0)) (libmpdel (0 5 0)) (mpdel (0 4 0))) "Ivy interface to navigate MPD" single ((:commit . "3f7d91cb10416b26a8e465d8c22e0faad4a722a8") (:keywords "multimedia") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/ivy-mpdel"))]) (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-hydra . [(20180614 2200) ((emacs (24 1)) (ivy (0 9 0)) (hydra (0 13 4))) "Additional key bindings for Ivy" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (ivy-historian . [(20170716 420) ((emacs (24 4)) (historian (20170111)) (ivy (0 8 0)) (flx (0 6 1))) "Persistently store selected minibuffer candidates" single ((:commit . "6be869f585b854eb849303c452ab4f91dab04fa9") (:keywords "convenience" "ivy") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))]) (ivy-gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (ivy (0 8 0)) (gitlab (0 8))) "Ivy interface to Gitlab" single ((:commit . "68318aca3206d50701039c9aae39734ca29a49f9") (: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-feedwrangler . [(20180618 1522) nil "No description available." single ((:commit . "051eac49cae32b16fab2e06ff0115cd8fb5dc499"))]) (ivy-erlang-complete . [(20180716 444) ((async (1 9)) (counsel (0 8 0)) (ivy (0 8 0)) (erlang (19 2)) (emacs (24 4))) "Erlang context sensitive completion at point using ivy. It also support xref and eldoc." tar ((:commit . "6dad91e4951ed6fd8886bfee587144da18b57049"))]) (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-bibtex . [(20181030 2142) ((swiper (0 7 0)) (parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2))) "A bibliography manager based on Ivy" tar ((:commit . "af05ccb498d89550644cc01c80628053d4d2d73f") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de"))]) (ivy . [(20181111 1757) ((emacs (24 1))) "Incremental Vertical completYon" tar ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "matching") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (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"))]) (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"))]) (iter2 . [(20181020 1502) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "3b418e05e93ea380baf905de14efda4c174f779c") (:keywords "elisp" "extensions") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/iter2"))]) (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/"))]) (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"))]) (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"))]) (isortify . [(20180612 1322) ((emacs (25)) (pythonic (0 1 0))) "(automatically) format python buffers using isort." single ((:commit . "442f12fa91695a43a4b542f7b82d6ac9b004729b") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/isortify"))]) (isolate . [(20181018 2235) ((emacs (25))) "Surrounding tool with flexible customizations." single ((:commit . "39ecc20ce57e338ece07fbd4f23b2a659c2365ca") (:keywords "convenience") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/isolate"))]) (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"))]) (isend-mode . [(20171118 1545) nil "Interactively send parts of an Emacs buffer to an interpreter" single ((:commit . "88d4576e70e5874115c305ab2767d181dfda5985") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/isend-mode.el"))]) (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"))]) (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"))]) (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"))]) (irony . [(20181030 834) ((cl-lib (0 5)) (json (1 2))) "C/C++ minor mode powered by libclang" tar ((:commit . "0a5ea0b9e7c28ec7d0685b108b8fb1f71f4365f4") (: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"))]) (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"))]) (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"))]) (iqa . [(20181024 2253) ((emacs (24 3))) "Init file(and directory) Quick Access." single ((:commit . "b45614f5204ed851de0abe93907aa94de5e37379") (:url . "https://github.com/a13/iqa.el"))]) (ipython-shell-send . [(20180910 446) ((emacs (24))) "Send code (including magics) to ipython shell" single ((:commit . "95dea09628c91f03df79befd7532d79afac1244e") (:keywords "tools" "processes") (:authors ("Jack Kamm" . "jackkamm@gmail.com")) (:maintainer "Jack Kamm" . "jackkamm@gmail.com") (:url . "https://github.com/jackkamm/ipython-shell-send-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"))]) (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"))]) (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"))]) (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"))]) (ioccur . [(20130822 548) nil "Incremental occur" single ((:commit . "4c0ef992a6fcd2aed62e3866d56650463108ab5a") (: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/ioccur"))]) (io-mode-inf . [(20140128 1934) nil "Interaction with an Io interpreter." single ((:commit . "6dd2bac3fd87484bb7d97e135b06c29d70b444b6") (:keywords "io" "languages") (:url . "https://github.com/slackorama/io-emacs"))]) (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"))]) (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"))]) (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"))]) (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"))]) (intero . [(20181109 1547) ((flycheck (0 25)) (company (0 8)) (emacs (24 4)) (haskell-mode (13 0))) "Complete development mode for Haskell" single ((:commit . "4be2a4a5de81bae504654a6b3a5d8a340be00e7e") (:keywords "haskell" "tools") (:authors ("Chris Done" . "chrisdone@fpcomplete.com")) (:maintainer "Chris Done" . "chrisdone@fpcomplete.com") (:url . "https://github.com/commercialhaskell/intero"))]) (interleave . [(20171004 624) nil "Interleaving text books since 2015" single ((:commit . "87549df30cbc681baf86b238bd14c7cf7ec11fc4") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/interleave"))]) (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"))]) (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"))]) (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"))]) (instapaper . [(20130104 1421) nil "add URLs to instapaper from emacs" single ((:authors ("Jason F. McBrayer" . "jmcbray@carcosa.net")) (:maintainer "Jason F. McBrayer" . "jmcbray@carcosa.net") (:url . "htts://bitbucket.org/jfm/emacs-instapaper"))]) (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"))]) (insert-shebang . [(20180403 1214) nil "Insert shebang line automatically." single ((:commit . "7bfea92ba1dae9d13d442e2f84f9fb6c05a0a9bd") (:keywords "shebang" "tool" "convenience") (:authors ("Sachin Patil" . "iclcoolster@gmail.com")) (:maintainer "Sachin Patil" . "iclcoolster@gmail.com") (:url . "http://github.com/psachin/insert-shebang"))]) (inlineR . [(20120520 1432) nil "insert Tag for inline image of R graphics" single ((:commit . "29357186beca825e3d0451b700ec09b9ed65e37b") (:keywords "convenience" "iimage.el" "cacoo.el") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/inlineR.el"))]) (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"))]) (inline-crypt . [(20170824 900) nil "Simple inline encryption via openssl" tar ((:commit . "281385b383f850fd2e895926b1cef804dd052633"))]) (inkpot-theme . [(20181026 509) nil "port of vim's inkpot theme" single ((:commit . "52fcb8ffc32a242a86956643ce9b8e8f726947aa") (: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"))]) (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"))]) (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"))]) (init-open-recentf . [(20161206 1445) ((emacs (24 4))) "Open recentf immediately after Emacs is started" single ((:commit . "7d8fb124806291f7f6ef2ec3a664ea25899b6d68") (: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"))]) (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/"))]) (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"))]) (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/"))]) (info-colors . [(20180205 1150) ((emacs (24)) (cl-lib (0 5))) "Extra colors for Info-mode" single ((:commit . "a8ebb7b8efa314c08ea8110d8b1876afb562bb45") (: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-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-beamer . [(20180604 2122) ((emacs (24 4))) "Utilities for working with info-beamer" single ((:commit . "af443795af20481af91ac54a489b20f6a9d90b0a") (:keywords "tools" "processes" "comm") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:url . "https://github.com/dakra/info-beamer.el"))]) (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"))]) (inferior-spim . [(20160826 1346) nil "inferior mode for spim." single ((:commit . "fb9aa091f6058bf320793f1a608c1ed7322c1f47") (:keywords "spim" "inferior" "mips") (:authors ("hiddenlotus" . "kaihaosw@gmail.com")) (:maintainer "hiddenlotus" . "kaihaosw@gmail.com"))]) (inf-ruby . [(20180521 1348) nil "Run a Ruby process in a buffer" single ((:commit . "49d59a7897f594e3be74ecbddae83719f9a6c0f0") (: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"))]) (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-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-clojure . [(20180402 2103) ((emacs (24 4)) (clojure-mode (5 6))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "59868ff0433f7631c362ce25879bd4271d350ebc") (:keywords "processes" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))]) (indy . [(20150610 1706) nil "A minor mode and EDSL to manage your mode's indentation rules." single ((:commit . "4604867d8111f0e186a5351e68e054a77cb14abf") (:keywords "convenience" "matching" "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com"))]) (indium . [(20181015 908) ((emacs (25)) (seq (2 16)) (js2-mode (20140114)) (js2-refactor (0 9 0)) (company (0 9 0))) "JavaScript Awesome Development Environment" tar ((:commit . "042a47aa63a1156f26c332f04f87d354877106ed") (:keywords "tools" "javascript") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://github.com/NicolasPetton/indium"))]) (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"))]) (indent-tools . [(20180124 1208) ((s (0)) (hydra (0)) (yafolding (0))) "Indent, navigate (and more) by blocks of indentation: yaml, python etc." tar ((:commit . "b650b2ca82ccd9ccb4f3142afa0da4737ddd364f") (:keywords "indentation" "movements" "navigation" "kill" "fold" "yaml" "python") (:authors ("vindarel" . "ehvince@mailz.org")) (:maintainer "vindarel" . "ehvince@mailz.org") (:url . "https://gitlab.com/emacs-stuff/indent-tools/"))]) (indent-info . [(20180423 1912) nil "show indentation information in status bar" single ((:commit . "d218b4cb3726476caee91db6f6c920856ab992bc") (:keywords "convenience" "tools") (:authors ("Terje Larsen" . "terlar@gmail.com")) (:maintainer "Terje Larsen" . "terlar@gmail.com") (:url . "https://github.com/terlar/indent-info.el"))]) (indent-guide . [(20170221 1127) nil "show vertical lines to guide indentation" single ((:commit . "d64f43011c72068e008621e620009ec592b35913") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "bbc131278f8cd62f3e71b6f4a86b0c91792a3524") (: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"))]) (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"))]) (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/"))]) (impatient-mode . [(20181002 1231) ((cl-lib (0 3)) (simple-httpd (1 5 0)) (htmlize (1 40))) "Serve buffers live over HTTP" tar ((:commit . "96f6a05f8de74e19d570217fe83f0734623ddb0c") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/netguy204/imp.el"))]) (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"))]) (immortal-scratch . [(20160517 2118) nil "respawn the scratch buffer when it's killed" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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"))]) (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"))]) (imenu-list . [(20180601 1402) ((cl-lib (0 5))) "Show imenu entries in a separate buffer" single ((:commit . "04f0632f7b8c81be8747617768c57b66e5d60994") (:authors ("Bar Magal (2015)")) (:maintainer "Bar Magal (2015)") (:url . "https://github.com/bmag/imenu-list"))]) (imenu-anywhere . [(20170805 1855) ((cl-lib (0 5))) "ido/ivy/helm imenu across same mode/project/etc buffers" single ((:commit . "fc7f0fd2f19e5ebee70156a99bf87393123893e3") (: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"))]) (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"))]) (imake . [(20180318 2259) ((emacs (24 3))) "Simple, opinionated make target runner" single ((:commit . "7df5fb9684a0288313ef5f64594078d477105959") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/imake"))]) (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"))]) (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"))]) (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+ . [(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"))]) (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"))]) (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"))]) (iflipb . [(20171113 2044) nil "interactively flip between recently visited buffers" single ((:commit . "a5ad1fbd1173cff5228dab265515c92c0778f86a") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))]) (ietf-docs . [(20150928 957) nil "Fetch, Cache and Load IETF documents" single ((:commit . "ede30d6d26044069e1731fd20c0ab2324552c0b4") (:keywords "ietf" "rfc") (:authors ("Christian E. Hopps" . "chopps@gmail.com")) (:maintainer "Christian E. Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/ietf-docs"))]) (iedit . [(20181114 950) nil "Edit multiple regions in the same way simultaneously." tar ((:commit . "35505ad860be27feaee71e8caf646706bf8ee31d") (:keywords "occurrence" "region" "simultaneous" "refactoring") (:authors ("Victor Ren" . "victorhge@gmail.com")) (:maintainer "Victor Ren" . "victorhge@gmail.com") (:url . "https://www.emacswiki.org/emacs/Iedit"))]) (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"))]) (idris-mode . [(20180922 2051) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "0e3508aca4d1f46f8c062f84c386d9e5533a21c3") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))]) (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"))]) (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"))]) (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-springboard . [(20170106 755) nil "Temporarily change default-directory for one command" single ((:commit . "263a8cd4582c81bfc29d7db37d5267e2488b148c") (:keywords "ido") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/springboard"))]) (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-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-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-occur . [(20160820 1440) ((dash (2 13 0))) "Yet another `occur' with `ido'." single ((:commit . "522af5d55b3d4cd6885f3b4100913566c202cec4") (:keywords "inner" "buffer" "search") (:authors ("Danil" . "danil@kutkevich.org")) (:maintainer "Danil" . "danil@kutkevich.org") (:url . "https://github.com/danil/ido-occur"))]) (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-migemo . [(20150921 2244) ((migemo (1 9 1))) "Migemo plug-in for Ido" single ((:commit . "e71114a92dd69cb46abf3fb71a09ce27506fcf77") (:keywords "files") (:authors ("myuhe <yuhei.maeda_at_gmail.com>")) (:maintainer "myuhe") (:url . "https://github.com/myuhe/ido-migemo.el"))]) (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-hacks . [(20150331 1909) nil "Put more IDO in your IDO" single ((:commit . "b7e7514a0e011e4d767d1f5755c5eae9d85f83dc") (:keywords "convenience") (:authors ("Andreas Politz")) (:maintainer "Scott Jaderholm" . "jaderholm@gmail.com"))]) (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-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-flex-with-migemo . [(20180817 1440) ((flx-ido (0 6 1)) (migemo (1 9 1)) (emacs (24 4))) "use ido with flex and migemo" single ((:commit . "acced7c19f3ad505cc27cd95ab05593b8194d2e5") (:keywords "matching") (:authors ("ROCKTAKEY " . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY " . "rocktakey@gmail.com") (:url . "https://github.com/ROCKTAKEY/ido-flex-with-migemo"))]) (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-describe-bindings . [(20161023 1102) ((dash (2 13 0))) "Yet another `describe-bindings' with `ido'." single ((:commit . "a142ff1c33df23ed9665497d0dcae2943b3c706a") (: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-completing-read+ . [(20180628 244) ((emacs (24 4)) (cl-lib (0 5)) (s (0 1)) (memoize (1 1))) "A completing-read-function using ido" single ((:commit . "51d9d4e667aaf2833e94614e5eeffdbbcab4ee98") (:keywords "ido" "completion" "convenience") (:authors ("Ryan Thompson")) (:maintainer "Ryan Thompson") (:url . "https://github.com/DarwinAwardWinner/ido-completing-read-plus"))]) (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-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-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"))]) (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/"))]) (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-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"))]) (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/"))]) (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"))]) (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>"))]) (ibuffer-vc . [(20181025 324) ((cl-lib (0 2))) "Group ibuffer's list by VC project, or show VC status" single ((:commit . "1a2dcdbaf1d314620b0512ce32e27dbcc6916e73") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-vc"))]) (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-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-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-projectile . [(20180325 325) ((projectile (0 11 0))) "Group ibuffer's list by projectile root" single ((:commit . "1e89bfa7cae0629d29f24af3d81774b88b3cede0") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/ibuffer-projectile"))]) (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"))]) (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"))]) (ialign . [(20181002 1655) ((emacs (24 4))) "visual align-regexp" single ((:commit . "2504a9e8c6c5ce6b470541955154af31a8f9d3ca") (: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"))]) (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"))]) (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"))]) (hydra . [(20181110 1740) ((cl-lib (0 5))) "Make bindings that stick around." tar ((:commit . "5c5b9ca3262594c92f8f73c98db5ed0f1efd0319") (:keywords "bindings") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/hydra"))]) (hyde . [(20160508 308) nil "Major mode to help create and manage Jekyll blogs" tar ((:commit . "a8cd6ed00ecd8d7de0ded2f4867015b412b15b76"))]) (hydandata-light-theme . [(20160816 418) nil "A light color theme that is easy on your eyes" single ((:commit . "0fbc91678ef65e1f65d7ec6792ff0b2f104d16a9") (:keywords "color-theme" "theme") (:authors ("David Chkhikvadze" . "david.chk@outlook.com")) (:maintainer "David Chkhikvadze" . "david.chk@outlook.com"))]) (hyai . [(20170301 1447) ((cl-lib (0 5)) (emacs (24))) "Haskell Yet Another Indentation" single ((:commit . "e1cd115c19225bbe0e1183d9a8c289eadaeb37b6") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/hyai"))]) (hy-mode . [(20180702 1940) ((dash (2 13 0)) (dash-functional (1 2 0)) (s (1 11 0)) (emacs (24))) "Major mode for Hylang" single ((:commit . "71a12a9208c4b87859bcbb6978e7915dd518e8dd") (:keywords "languages" "lisp" "python") (:url . "http://github.com/hylang/hy-mode"))]) (hungry-delete . [(20170412 102) nil "hungry delete minor mode" single ((:commit . "0434458d3f6b2b585f332271feaa054bf4ec96d7") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/hungry-delete"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(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"))]) (htmlize . [(20180923 1829) nil "Convert buffer text and decorations to HTML." single ((:commit . "8db0aa6aab77475a732b7363f0d57bd3933c18fd") (:keywords "hypermedia" "extensions") (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:maintainer "Hrvoje Niksic" . "hniksic@gmail.com"))]) (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"))]) (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"))]) (html-to-hiccup . [(20161028 1401) ((emacs (25 1)) (dash (2 13 0)) (s (1 10 0))) "Convert HTML to Hiccup syntax" single ((:commit . "99217a5058626d253ed8ada51a7642071fe54ba5") (: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-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-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"))]) (ht . [(20180129 2234) ((dash (2 12 0))) "The missing hash table library for Emacs" single ((:commit . "5a665d00dc8fda77bad2a43277d8809c23e46ab8") (:keywords "hash table" "hash map" "hash") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (howm . [(20180929 1214) ((cl-lib (0 5))) "Wiki-like note-taking tool" tar ((:commit . "f707233a99f425d67ddb86b197edeaa3f03a280d") (:authors ("HIRAOKA Kazuyuki" . "khi@users.osdn.me")) (:maintainer "HIRAOKA Kazuyuki" . "khi@users.osdn.me") (:url . "https://howm.osdn.jp"))]) (howdoi . [(20150204 43) nil "Instant coding answers via Emacs." tar ((:commit . "5fbf7069ee160c597a328e5ce5fb32920e1ca88f"))]) (how-many-lines-in-project . [(20140807 442) nil "Calculate how many lines are there in your project." single ((:commit . "8a37ef885d004fe2ce231bfe05ed4867c6192d9b") (:keywords "project" "convenience") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Wei Zhao" . "kaihaosw@gmail.com"))]) (hound . [(20170627 1959) ((request (0 2 0)) (cl-lib (0 5))) "Display hound search results in a compilation window" single ((:commit . "0c5a250ef82870dca737a429b6e9b9db93874ed3") (:authors ("Ryan Young")) (:maintainer "Ryan Young"))]) (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"))]) (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"))]) (honcho . [(20180707 24) ((emacs (25 1)) (sudo-edit (0 1))) "Run and manage long-running services" single ((:commit . "f6a89a27e255b3ecb1f0b13058933558b1f0c6fb") (: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"))]) (homebrew-mode . [(20160615 1320) ((emacs (24 4)) (inf-ruby (2 4 0)) (dash (1 2 0))) "minor mode for editing Homebrew formulae" single ((:commit . "d422307aee2f897d1a92e3b959c3214bc54cbe38") (: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"))]) (home-end . [(20180817 855) ((emacs (24 3)) (keypress-multi-event (1 0))) "Smart multi-purpose home / end keys" single ((:commit . "359201766f41307958b6963f2a6b8cd8c7e64158") (: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"))]) (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"))]) (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"))]) (hoa-mode . [(20151203 1650) nil "Major mode for the Hanoi Omega Automata format" single ((:commit . "3c608e15b655d2375c5f81323ac561c7848dc029") (: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"))]) (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"))]) (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/"))]) (hlint-refactor . [(20170818 448) nil "Apply HLint suggestions" single ((:commit . "92c69aa01c65968e86c15db087bb1ea785e4736c") (:keywords "haskell" "refactor") (:url . "https://github.com/mpickering/hlint-refactor-mode"))]) (hledger-mode . [(20180821 1433) ((emacs (24 4)) (popup (0 5 3)) (async (1 9)) (htmlize (1 47))) "A mode for writing journal entries for hledger." tar ((:commit . "af51c0a7a0952c244e5c6bb818ab4ce3b9806609") (:keywords "data") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:url . "https://github.com/narendraj9/hledger-mode.git"))]) (hl-todo . [(20181031 1909) nil "highlight TODO and similar keywords" single ((:commit . "24b9925b1b2c7ad6bf7b66800395f74abf035c5f") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/hl-todo"))]) (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-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-anything . [(20160422 1708) ((emacs (24 3))) "Highlight symbols, selections, enclosing parens and more." tar ((:commit . "8696bc55a8cba408f0fc83a907a9ec529d79e558") (:authors ("boyw165")) (:maintainer "boyw165"))]) (hiwin . [(20150825 827) nil "Visible active window mode." single ((:commit . "6ee8ed051405653bd9b7332d7e9fbb591d954051") (:keywords "faces" "editing" "emulating") (:authors ("k.sugita")) (:maintainer "k.sugita"))]) (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"))]) (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"))]) (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"))]) (historian . [(20180619 1923) ((emacs (24 4))) "Persistently store selected minibuffer candidates" single ((:commit . "6be869f585b854eb849303c452ab4f91dab04fa9") (:keywords "convenience") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/PythonNut/historian.el"))]) (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"))]) (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-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"))]) (hindent . [(20180518 902) ((cl-lib (0 5))) "Indent haskell code using the \"hindent\" program" single ((:commit . "ffe03701050d159387c06103ecaf8147716d5cb8") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/hindent"))]) (himp . [(20181002 1654) ((emacs (24 3)) (vimish-fold (0 1 0))) "Automatically hide imports/documentation" single ((:commit . "3975c76cc9e7c6bfe7fe04ad95d8659cfed46b58") (:keywords "convenience" "tools") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:url . "http://github.com/mkcms/himp/"))]) (highlight2clipboard . [(20151020 1840) ((htmlize (1 47))) "Copy text to clipboard with highlighting." tar ((:commit . "6ce58a060d9c5843ccb8c79ec2bba7858c68ac15") (:keywords "tools") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren"))]) (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"))]) (highlight-thing . [(20170919 1404) nil "Minimalistic minor mode to highlight current thing under point." single ((:commit . "4eadd178175772fb04ae50e1199d797a6375ad4d") (: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-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-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-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-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-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-operators . [(20170213 2220) nil "a face for operators in programming modes" single ((:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (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-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-indentation . [(20171218 937) nil "Minor modes for highlighting indentation" single ((:commit . "35e2c1d4f8f368685893128f77f90454cb9c2708") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:url . "https://github.com/antonj/Highlight-Indentation-for-Emacs"))]) (highlight-indent-guides . [(20181106 1821) ((emacs (24))) "Minor mode to highlight indentation" single ((:commit . "fc99ee753ac9d53ce91fb032f97430a551e04466") (:authors ("DarthFennec" . "darthfennec@derpymail.org")) (:maintainer "DarthFennec" . "darthfennec@derpymail.org") (:url . "https://github.com/DarthFennec/highlight-indent-guides"))]) (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-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-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-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-context-line . [(20170319 2142) nil "Improve orientation when scrolling" single ((:commit . "716e10a0c7b703b5f1d9c6ca1481524a4d06b7b8") (: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-blocks . [(20151201 1615) ((emacs (24))) "Highlight the blocks point is in" single ((:commit . "9c4240a5d16008db430d1a81c76dad474d3deb0c") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-blocks"))]) (highlight . [(20181002 1151) nil "Highlighting commands." single ((:commit . "ea733e17884aeae19172407e20559fc693fdd3a7") (: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"))]) (hierarchy . [(20171221 1151) ((emacs (25 1))) "Library to create and display hierarchy structures" single ((:commit . "06f21d3fc16c44c1fa45dc9c91d10100b4db9355") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/hierarchy"))]) (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>"))]) (hide-mode-line . [(20180302 1910) ((emacs (24 4))) "minor mode that hides/masks your modeline" single ((:commit . "86b9057391edad75467261c2e579603567e608f9") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (hexo . [(20180815 219) ((emacs (24 3))) "Major mode & tools for Hexo" single ((:commit . "6bca18f911f6b2cd5c055ed73ddec98c385f9f86") (:keywords "tools" "hexo") (:authors ("Ono Hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko (kuanyui)" . "azazabc123@gmail.com") (:url . "https://github.com/kuanyui/hexo.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"))]) (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"))]) (hemisu-theme . [(20130508 1844) nil "Hemisu for Emacs." tar ((:commit . "5c206561aa2c844ecdf3e3b672c3235e559ddd7f") (:authors ("Andrzej Sliwa")) (:maintainer "Andrzej Sliwa") (:url . "http://github/anrzejsliwa/django-theme"))]) (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"))]) (helpful . [(20181031 2008) ((emacs (25 1)) (dash (2 12 0)) (dash-functional (1 2 0)) (s (1 11 0)) (f (0 20 0)) (elisp-refs (1 2)) (shut-up (0 3))) "a better *help* buffer" single ((:commit . "039345ef60b4722d050c94ab1978540137df35f9") (:keywords "help" "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/helpful"))]) (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"))]) (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-youtube . [(20161114 248) ((request (0 2 0)) (helm (2 3 1)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "202c27fc3b54927611e9d9c764465e1b42ef7e41") (:keywords "youtube" "multimedia") (:authors ("Maximilian Roquemore" . "maximus12793@gmail.com")) (:maintainer "Maximilian Roquemore" . "maximus12793@gmail.com") (:url . "https://github.com/maximus12793/helm-youtube"))]) (helm-xref . [(20180528 1516) ((emacs (25 1)) (helm (1 9 4))) "Helm interface for xref results" single ((:commit . "6f7e8eeec5cc4db64a76ba242c0f2f61e7ee1e46") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/helm-xref"))]) (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-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-w3m . [(20181029 726) ((helm (1 5)) (w3m (0 0)) (cl-lib (0 5)) (emacs (24 1))) "W3m bookmark - helm interface." single ((:commit . "c15d926631198d6d759ec8881837bcca5a64963b"))]) (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-unicode . [(20180608 1407) ((helm (1 9 8)) (emacs (24 4))) "Helm command for unicode characters." single ((:commit . "fbeb0c5e741a6f462520884b744d43a9acbe1d34"))]) (helm-tramp . [(20180829 709) ((emacs (24 3)) (helm (2 0))) "Tramp helm interface for ssh, docker, vagrant" single ((:commit . "523a902fe69be5f770f79f815630e7e5d4766e9d") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-tramp"))]) (helm-themes . [(20160918 545) ((helm-core (2 0)) (emacs (24 4))) "Color theme selection with helm interface" single ((:commit . "1160af42590b0d845a55e65e1e782d9e4027fd6e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-themes"))]) (helm-tail . [(20180624 903) ((emacs (25 1)) (helm (2 7 0))) "Read recent output from various sources" single ((:commit . "cdbbd9bfb121534a4c089df84325cf776ba2c578") (: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-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-system-packages . [(20181012 655) ((emacs (24 4)) (helm (2 8 7)) (seq (1 8))) "Helm UI wrapper for system package managers." tar ((:commit . "d25e88c6791fb6166aa3f69693670750e56caa5b") (: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-swoop . [(20180215 1154) ((helm (1 0)) (emacs (24 3))) "Efficiently hopping squeezed lines powered by helm interface" single ((:commit . "c66336b8245ddc51c4206f19c119f1081920985c") (:keywords "helm" "swoop" "inner" "buffer" "search") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:url . "https://github.com/ShingoFukuyama/helm-swoop"))]) (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-spotify-plus . [(20180107 1138) ((emacs (24 4)) (helm (2 0 0)) (multi (2 0 1))) "Control Spotify search and select music with Helm." single ((:commit . "895f241f1259891d5c89cd42023f119f9fa121d6") (: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>"))]) (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-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-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-slime . [(20181110 934) ((emacs (24)) (helm-core (1 9 8)) (slime (2 18)) (cl-lib (0 5))) "helm-sources and some utilities for SLIME." single ((:commit . "070d024147e1632b7358711b7f8fb77a28dcf265") (: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-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-selected . [(20171223 210) ((emacs (24 4)) (helm (2 8 6)) (selected (1 1))) "helm extension for selected.el" single ((:commit . "6743ede584571319e4c29204197e9ff6b7ee97cf") (: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-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-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-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-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-rtags . [(20170813 411) ((helm (2 0)) (rtags (2 10))) "A front-end for rtags" single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (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-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-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-rg . [(20180629 920) ((emacs (25)) (cl-lib (0 5)) (dash (2 13 0)) (helm (2 8 8))) "a helm interface to ripgrep" single ((:commit . "d356a2abb6359d709487ed49414e151627287577") (: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-recoll . [(20160731 921) ((helm (1 9 9))) "helm interface for the recoll desktop search tool." single ((:commit . "cc4c4fa9c8f4f99383647baa8512b60523dc8b36") (: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-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-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-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-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-qiita . [(20180301 1435) ((helm (2 8 2))) "Qiita with helm interface" single ((:commit . "3ccb85640bf54491ed3c3c8110d454ae181650dc") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-qiita"))]) (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-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-pt . [(20160214 2342) ((helm (1 5 6))) "Helm interface to the platinum searcher" tar ((:commit . "8acc52911dad1ed0c3975f134a468762afe0b76b") (:keywords "helm" "platinum searcher"))]) (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-projectile . [(20180815 1514) ((helm (1 9 9)) (projectile (0 14 0)) (cl-lib (0 3))) "Helm integration for Projectile" single ((:commit . "8a2dbc973548fac89356c11d70f7f474ea1367a5") (:keywords "project" "convenience") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:url . "https://github.com/bbatsov/helm-projectile"))]) (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-proc . [(20161006 305) ((helm (1 6 0))) "Helm interface for managing system processes" tar ((:commit . "576d31c2d74ba3897d56e2acd2b0993f52c2547c"))]) (helm-posframe . [(20180610 1748) ((emacs (26 0)) (posframe (0 1 0)) (helm (0 1))) "Using posframe to show helm window" single ((:commit . "d28f96ea92ee9393658901bb552723db10f40dc3") (:keywords "abbrev" "convenience" "matching" "helm") (:authors ("Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/helm-posframe"))]) (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-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-perldoc . [(20160918 556) ((helm-core (2 0)) (deferred (0 3 1)) (emacs (24 4))) "perldoc with helm interface" tar ((:commit . "1979f9f67814c11ec9498502237c89a5e1153100") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-perldoc"))]) (helm-pass . [(20180607 2348) ((emacs (25)) (helm (0)) (password-store (0)) (auth-source-pass (4 0 0))) "helm interface of pass, the standard Unix password manager" single ((:commit . "fdff8f8f2e2b8a61caed7b6c171624700dbe1346") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://github.com/jabranham/helm-pass"))]) (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-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-org-rifle . [(20180923 2209) ((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 . "e272fc43b964ef06a2673afd7c341dba87ae9ac4") (:keywords "hypermedia" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/alphapapa/helm-org-rifle"))]) (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-notmuch . [(20180730 1722) ((helm (1 9 3)) (notmuch (0 21))) "Search emails with Notmuch and Helm" single ((:commit . "9988eb0f787c82c779f2417b5613b9142a5b1c9b") (:keywords "mail") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/helm-notmuch"))]) (helm-nixos-options . [(20151013 2309) ((nixos-options (0 0 1)) (helm (1 5 6))) "Helm Interface for nixos-options" single ((:commit . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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-navi . [(20170402 1452) ((emacs (24 4)) (helm (1 9 4)) (navi-mode (2 0)) (s (1 10 0))) "Helm for navi-mode" single ((:commit . "2256591174ff79f889450fdc10822316819d6476") (:keywords "navigation" "outlines") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "http://github.com/emacs-helm/helm-navi"))]) (helm-mu . [(20180513 921) ((helm (1 5 5))) "Helm sources for searching emails and contacts" single ((:commit . "77e6fea24e01481418738421dbcfe28ef1bd63cf") (: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-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-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-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-make . [(20181107 2126) ((helm (1 5 3)) (projectile (0 11 0))) "Select a Makefile target with helm" single ((:commit . "f86c3973af760df6d7d0ecc61c3d9d14e1d93e2b") (:keywords "makefile") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/helm-make"))]) (helm-ls-svn . [(20150717 739) ((emacs (24 1)) (helm (1 7 0)) (cl-lib (0 5))) "helm extension to list svn files" single ((:commit . "4d4dc1a272f27fba5fdd7cc47e5d309b53c63ae3") (: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-ls-hg . [(20150909 543) ((helm (1 7 8))) "List hg files in hg project." single ((:commit . "61b91a22fcfb62d0fc56e361ec01ce96973c7165"))]) (helm-ls-git . [(20180711 923) ((helm (1 7 8))) "list git files." single ((:commit . "e38cee59c42fbf16b6de239a537d27af58473394"))]) (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-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-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-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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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-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-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-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-js-codemod . [(20171106 1044) ((emacs (24 4)) (helm-core (1 9 8)) (js-codemod (1 0 0))) "A helm interface for running js-codemods" single ((:commit . "18503d94e64418e8ea5c5854f197ae9f3009cdbf") (:keywords "helm" "js" "codemod" "region") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>"))]) (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-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-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-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-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-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-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-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-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-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-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-hatena-bookmark . [(20180804 546) ((helm (2 8 2))) "Hatena::Bookmark with helm interface" single ((:commit . "274e18182fe20c11e96009387a8e38e8cd2a1d7e") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-hatena-bookmark"))]) (helm-gtags . [(20170116 529) ((emacs (24 4)) (helm (2 0))) "GNU GLOBAL helm interface" single ((:commit . "108e93d0d099ebb7b98847388f368311cf177033") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-gtags"))]) (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-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-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-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-gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (helm (1 0)) (gitlab (0 8 0))) "Helm interface to Gitlab" single ((:commit . "68318aca3206d50701039c9aae39734ca29a49f9") (: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-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-github-stars . [(20180718 111) ((helm (1 6 8)) (emacs (24 4))) "Helm integration for your starred repositories on github" single ((:commit . "809cf88e2984b121348b1046e1d3890f1fd580b4") (: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-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-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 . [(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-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-ghq . [(20161015 817) ((helm (2 2 0))) "ghq with helm interface" single ((:commit . "49481685adbb25b3f766aabfdb7472becc673a94") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-ghq"))]) (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-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-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-frame . [(20170515 1950) ((emacs (24 4))) "open helm buffers in a dedicated frame" single ((:commit . "389e6461a423d649b7062ba99a2234bef7770059") (:keywords "lisp" "helm" "popup" "frame") (:authors ("chee" . "chee@snake.dog")) (:maintainer "chee" . "chee@snake.dog"))]) (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-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-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-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-firefox . [(20161202 1317) ((helm (1 5)) (cl-lib (0 5)) (emacs (24 1))) "Firefox bookmarks" single ((:commit . "0ad34b7b5abc485a86cae6920c14de861cbeb085") (:url . "https://github.com/emacs-helm/helm-firefox"))]) (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-exwm . [(20180827 837) ((emacs (25 2)) (helm (2 8 5)) (exwm (0 15))) "Helm for EXWM buffers" single ((:commit . "e21c6ffabadd2fe8d6c7805b6027cc59a6f914e9") (:keywords "helm" "exwm") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-exwm"))]) (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-eww . [(20180827 836) ((emacs (24 4)) (helm (2 8 6)) (seq (1 8))) "Helm UI wrapper for EWW." single ((:commit . "2bb7b644f953c45b5dd03298b556312440618026") (:keywords "helm" "packages") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-eww"))]) (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-emms . [(20180406 528) ((helm (1 5)) (emms (0 0)) (cl-lib (0 5)) (emacs (24 1))) "Emms for Helm." single ((:commit . "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec") (:url . "https://github.com/emacs-helm/helm-emms"))]) (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-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-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-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-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-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-dictionary . [(20160817 2033) ((helm (1 5 5))) "Helm source for looking up dictionaries" single ((:commit . "805ce850d4cbe811227d9c9b16cc51f652198f3f") (: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-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-descbinds . [(20180429 1456) ((helm (1 5))) "A convenient `describe-bindings' with `helm'" single ((:commit . "033be73f21778633813264ce1634a6e1ad873d8e") (: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-dash . [(20180503 918) ((helm (1 9 2)) (cl-lib (0 5))) "Offline documentation browser for +150 APIs using Dash docsets." single ((:commit . "0ac2db529577fa63f2ed32310062873c585b91de") (:keywords "docs") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:url . "http://github.com/areina/helm-dash"))]) (helm-ctest . [(20180821 1005) ((s (1 9 0)) (dash (2 11 0)) (helm-core (1 7 4))) "Run ctest from within emacs" single ((:commit . "0c73689692a290f56080e95325c15362e90d529b") (:keywords "helm" "ctest") (:authors ("Dan LaManna" . "me@danlamanna.com")) (:maintainer "Dan LaManna" . "me@danlamanna.com"))]) (helm-css-scss . [(20140627 25) ((helm (1 0)) (emacs (24))) "CSS/SCSS/LESS Selectors with helm interface" single ((:commit . "ab8348aa98e0daa2f1b771e35bdb06bfacbe5016") (:keywords "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-cscope . [(20170326 722) ((xcscope (1 0)) (helm (1 6 7)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface for xcscope.el." single ((:commit . "3cc7259ab4989f9f7ca039e703cdac14b907530a") (:keywords "cscope" "helm") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:url . "https://github.com/alpha22jp/helm-cscope.el"))]) (helm-core . [(20181117 1055) ((emacs (24 4)) (async (1 9 3))) "Development files for Helm" tar ((:commit . "84a59b1e47528221dcb746058f95a6faffe4a5ae") (:url . "https://emacs-helm.github.io/helm/"))]) (helm-company . [(20180828 1612) ((helm (1 5 9)) (company (0 6 13))) "Helm interface for company-mode" single ((:commit . "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f") (: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-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-codesearch . [(20180204 433) ((s (1 10 0)) (dash (2 12 0)) (helm (1 7 7)) (cl-lib (0 5))) "helm interface for codesearch" single ((:commit . "87a68168b7c1490769305db0df60035e47799a75") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))]) (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-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-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-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-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-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-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-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-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-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-bundle-show . [(20151221 1230) ((helm (1 8 0))) "bundle show with helm interface" single ((:commit . "850fecb36f609f1dfd5d20ca0170c9a6b7f90ab9") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-bundle-show"))]) (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-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-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-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-bibtex . [(20181030 2142) ((helm (1 5 5)) (parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2))) "A bibliography manager based on Helm" tar ((:commit . "af05ccb498d89550644cc01c80628053d4d2d73f") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de"))]) (helm-bbdb . [(20180505 1508) ((helm (1 5)) (bbdb (3 1 2))) "Helm interface for bbdb" single ((:commit . "db286b0ee0ea18142f7d005e465832bb755bb0cb") (:url . "https://github.com/emacs-helm/helm-bbdb"))]) (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-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-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-ag . [(20170209 1545) ((emacs (24 4)) (helm (2 0))) "the silver searcher with helm interface" single ((:commit . "2fc02c4ead29bf0db06fd70740cc7c364cb650ac") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ag"))]) (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-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-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-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 . [(20181117 731) ((emacs (24 4)) (async (1 9 3)) (popup (0 5 3)) (helm-core (3 0))) "Helm is an Emacs incremental and narrowing framework" tar ((:commit . "84a59b1e47528221dcb746058f95a6faffe4a5ae") (:url . "https://emacs-helm.github.io/helm/"))]) (heaven-and-hell . [(20180421 921) ((emacs (24 4))) "easy toggle light/dark themes" single ((:commit . "0e4191065a1c18b50734a437f3cafb629b89edc0") (:keywords "faces") (:authors ("Valentin Ignatev" . "valentignatev@gmail.com")) (:maintainer "Valentin Ignatev" . "valentignatev@gmail.com") (:url . "https://github.com/valignatev/heaven-and-hell"))]) (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"))]) (hcl-mode . [(20170107 827) ((emacs (24 3))) "Major mode for Hashicorp" single ((:commit . "0f2c5ec7e7bcf77c8548e8cac8721ea935ca1b5e") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-hcl-mode"))]) (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"))]) (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/"))]) (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"))]) (haxe-mode . [(20131004 842) nil "An Emacs major mode for Haxe" single ((:authors ("Jens Peter Secher")) (:maintainer "Jens Peter Secher") (:url . "http://people.debian.org/~jps/misc/haxe-mode.el"))]) (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"))]) (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"))]) (hasky-stack . [(20181108 1707) ((emacs (24 4)) (f (0 18 0)) (magit-popup (2 10))) "Interface to the Stack Haskell development tool" single ((:commit . "b62b18d6d2f4f3cf2a75b137c5ec12fa6b934910") (:keywords "tools" "haskell") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-stack"))]) (hasky-extensions . [(20180108 512) ((emacs (24 4)) (avy-menu (0 2))) "Toggle Haskell language extensions" single ((:commit . "6909022bccb7e5c26d1c4e5fa20cbc6b65c62d69") (:keywords "programming") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/hasky-mode/hasky-extensions"))]) (hasklig-mode . [(20181110 1859) ((emacs (25))) "Hasklig ligatures" single ((:commit . "386c098c93a744f6b30ad937d193eebf0fd79e1b") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/hasklig-mode"))]) (haskell-tab-indent . [(20170701 958) nil "tab-based indentation for haskell-mode" single ((:commit . "b4cb851aef96c42ec7b3cc37b6fdd867fe5a0853") (:keywords "indentation" "haskell") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:url . "https://spwhitton.name/tech/code/haskell-tab-indent/"))]) (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-mode . [(20180917 923) ((emacs (24 3))) "A Haskell editing mode" tar ((:commit . "6a70c1858c7d505ba23185e209ef7eacf703ed8f") (:keywords "haskell" "cabal" "ghc" "repl") (:url . "https://github.com/haskell/haskell-mode"))]) (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-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 . [(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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (haml-mode . [(20170924 453) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing Haml files" single ((:commit . "1cbb2de8f0fc25f35448c5cad04642f28078f3bb") (:keywords "markup" "languages" "html") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "https://github.com/nex3/haml-mode"))]) (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"))]) (hamburg-theme . [(20160123 740) ((emacs (24))) "Color Theme with a dark blue background." single ((:commit . "aacefdf1501d97a5afc0e63c8ead4b2463323028") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (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/"))]) (hackernews . [(20180903 612) ((json (1 2))) "Access the Hacker News aggregator from Emacs" tar ((:commit . "ee077c4734ac6a1990dff6043a7deb2f57825c40"))]) (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"))]) (hack-time-mode . [(20170527 1610) ((emacs (24 4))) "Forge time" single ((:commit . "73d6fcf8b39283526e5d4e3919193611e25a0898") (:keywords "time" "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:url . "https://gitlab.com/marcowahl/hack-time-mode"))]) (hack-mode . [(20181107 1748) ((emacs (25 1)) (s (1 11 0))) "Major mode for the Hack programming language" single ((:commit . "96d941984706f9bb97f8705ed1a0125c2c1647fd") (:authors ("John Allen" . "jallen@fb.com")) (:maintainer "John Allen" . "jallen@fb.com") (:url . "https://github.com/hhvm/hack-mode"))]) (habitica . [(20181024 1811) ((org (8 3 5)) (emacs (24 3))) "Interface for habitica.com" single ((:commit . "d977984ac342e9177ba98f400b3c160c450c936d") (:keywords "habitica" "todo") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:url . "https://github.com/abrochard/emacs-habitica"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (guix . [(20181028 1414) ((emacs (24 3)) (dash (2 11 0)) (geiser (0 8)) (bui (1 1 0)) (magit-popup (2 1 0)) (edit-indirect (0 1 4))) "Interface for GNU Guix" tar ((:commit . "bffd65a26c6960e2af2abb57274e4818cf683960") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://emacs-guix.gitlab.io/website/"))]) (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"))]) (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 . "9236d287a7272e307fb941237390a96037c8c0a2") (:keywords "help" "convenience") (:authors ("Tsunenobu Kai" . "kai2nenobu@gmail.com")) (:maintainer "Tsunenobu Kai" . "kai2nenobu@gmail.com") (:url . "https://github.com/kai2nenobu/guide-key"))]) (guess-language . [(20170620 1008) ((cl-lib (0 5)) (emacs (24))) "Robust automatic language detection" tar ((:commit . "1f1602f74d7159e7fb8c90f92ec5a3d1df5429da") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/guess-language.el"))]) (gtk-pomodoro-indicator . [(20171230 1640) nil "A pomodoro indicator for the GTK tray" tar ((:commit . "eb59b229de0dde307b20654075a9bbac69899a66") (:keywords "convenience" "pomodoro") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/gtk-pomodoro-indicator"))]) (gscholar-bibtex . [(20170913 2157) nil "Retrieve BibTeX from Google Scholar and other online sources(ACM, IEEE, DBLP)" single ((:commit . "ba4ce159e385d695d8560e8b06b3cbe48424861c") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com"))]) (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"))]) (gruvbox-theme . [(20181013 1144) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:commit . "39124183cf47d25780cd02e33e57743484b4c680") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "http://github.com/greduan/emacs-theme-gruvbox"))]) (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"))]) (gruber-darker-theme . [(20180529 712) nil "Gruber Darker color theme for Emacs 24." single ((:commit . "c7687ec0511941db1371dcd70b31061d74aa5668") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/gruber-darker-theme"))]) (groovy-mode . [(20181111 1057) ((s (1 12 0)) (emacs (24 3)) (dash (2 13 0))) "Major mode for Groovy source files" tar ((:commit . "f80b6795f645aff592ffbdc6b500084955094f5c") (: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"))]) (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"))]) (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"))]) (grin . [(20110806 658) nil "run grin and grind (python replacements for grep and find) putting hits in a grep buffer" single ((:keywords "python" "grin" "grind" "grep" "find") (:authors ("Darius Powell" . "dariusp686@gmail.com")) (:maintainer "Darius Powell" . "dariusp686@gmail.com") (:url . "http://bitbucket.org/dariusp686/emacs-grin"))]) (greymatters-theme . [(20150621 1123) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "a7220a8c6cf18ccae2b76946b6f01188a7c9d5d1") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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 . "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d") (: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"))]) (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"))]) (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/"))]) (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"))]) (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-is-the-new-black-theme . [(20180323 203) nil "A cool and minimalist green blackened theme engine" single ((:commit . "8a03687a2b8b55c5dc7f099086019278d505d8d8") (: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"))]) (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"))]) (grass-mode . [(20170503 1500) ((cl-lib (0 2)) (dash (2 8 0))) "Provides Emacs modes for interacting with the GRASS GIS program" single ((:keywords "grass" "gis") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca"))]) (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"))]) (graphviz-dot-mode . [(20181118 551) nil "Mode for the dot-language used by graphviz (att)." single ((:commit . "243de72e09ddd5cdc4863613af8b749827a5e1cd") (:keywords "mode" "dot" "dot-language" "dotlanguage" "graphviz" "graphs" "att") (:maintainer "Pieter Pareit" . "pieter.pareit@gmail.com") (:url . "http://ppareit.github.com/graphviz-dot-mode/"))]) (graphql-mode . [(20180303 2358) ((emacs (24 3))) "Major mode for editing GraphQL schemas" single ((:commit . "36b1a4ed9fe78ccd1f386111644e69a5424a1a7b") (:keywords "languages") (:authors ("David Vazquez Pua" . "davazp@gmail.com")) (:maintainer "David Vazquez Pua" . "davazp@gmail.com"))]) (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"))]) (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"))]) (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"))]) (grandshell-theme . [(20180606 517) nil "Dark color theme for Emacs > 24 with intensive colors." tar ((:commit . "0ed8e4273607dd4fcaa742b4097259233b09eda6"))]) (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"))]) (grails-mode . [(20160504 911) nil "minor-mode that adds some Grails project management to a grails project" single ((:commit . "f80b6795f645aff592ffbdc6b500084955094f5c") (:keywords "languages") (:authors ("Jim Morris" . "morris@wolfman.com")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:url . "http://blog.wolfman.com"))]) (grails . [(20160417 636) ((emacs (24))) "Minor mode for Grails projects" single ((:commit . "fa638abe5c37f3f8af4fcd32f212453185ce50b1") (:url . "https://github.com/lifeisfoo/emacs-grails"))]) (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"))]) (grab-x-link . [(20180205 1146) ((emacs (24)) (cl-lib (0 5))) "Grab links from X11 apps and insert into Emacs" single ((:commit . "d19f0c0da0ddc55005a4c1cdc2b8c5de8bea1e8c") (:keywords "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-x-link"))]) (grab-mac-link . [(20180328 1445) ((emacs (24))) "Grab link from Mac Apps and insert it into Emacs" single ((:commit . "35edb57d136c2a9726fd14e6a59cce4fc0248771") (:keywords "mac" "hyperlink") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/grab-mac-link.el"))]) (gpastel . [(20180420 650) ((emacs (24 3))) "Integrates GPaste with the kill-ring" single ((:commit . "ae11a0ae58577321605c338809fc5ae29b38fc72") (:keywords "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (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"))]) (govc . [(20180524 2023) ((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 . "f6196c9c7ab2f5a3c7c4c82e58ae23f602f34a4b") (:keywords "convenience") (:authors ("The govc developers")) (:maintainer "The govc developers") (:url . "https://github.com/vmware/govmomi/tree/master/govc/emacs"))]) (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-gem . [(20140729 1845) ((s (1 9 0))) "Open dired in gem directory" single ((:commit . "e3206f11f48bb7e798514a4ca2c2f60649613e5e") (:keywords "gemfile" "convenience") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se"))]) (goto-chg . [(20180105 1833) nil "goto last change" single ((:commit . "e5b38e4e1378f6ea48fa9e8439f49c2998654aa4") (:keywords "convenience" "matching") (:authors ("David Andersson <l.david.andersson(at)sverige.nu>")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@github.com") (:url . "https://github.com/emacs-evil/goto-chg"))]) (gotham-theme . [(20171013 1916) nil "A very dark Emacs color theme." single ((:commit . "5e97554d1f9639698faedb0660e63694be33bd84") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/gotham-theme"))]) (gotest . [(20180617 1333) ((emacs (24 3)) (s (1 11 0)) (f (0 19 0)) (go-mode (1 5 0))) "Launch GO unit tests" single ((:commit . "36e09a6bf1face4c56d4a7707935c992786e0076") (: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"))]) (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 . "bbd27f6a0a77f484e2a3f082d70dc69da63ae52a") (: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"))]) (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"))]) (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"))]) (google-translate . [(20180926 1925) nil "Emacs interface to Google Translate." tar ((:commit . "eb1c4f51d522d2252dadfb4cd7ea045ccd344b98"))]) (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-maps . [(20171002 1434) ((emacs (24 3))) "Access Google Maps from Emacs" tar ((:commit . "c0e5dccfdc9f7f77ff8f29177547be47833d7156") (: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-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-c-style . [(20180130 1736) nil "Google's C/C++ style for c-mode" single ((:commit . "ad22a7536d9cbc552c2d265d5df18be9b1b24faa") (:keywords "c" "tools"))]) (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"))]) (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"))]) (golint . [(20180221 2015) nil "lint for the Go source code" single ((:commit . "c67002cb31c3a748b7688c27f20d8358b4193582") (:url . "https://github.com/golang/lint"))]) (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"))]) (golden-ratio-scroll-screen . [(20170224 229) nil "Scroll half screen down or up, and highlight current line" single ((:commit . "44e947194d3e5cbe0fd2f3c4886a4e6e1a0c0791") (: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"))]) (golden-ratio . [(20150819 1120) nil "Automatic resizing of Emacs windows to the golden ratio" single ((:commit . "72b028808b41d23fa3f7e8c0d23d2c475e7b46ae") (:keywords "window" "resizing") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (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"))]) (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"))]) (god-mode . [(20180117 1134) nil "God-like command entering minor mode" tar ((:commit . "344167ed9b4c212273dd056e7481cf1373b461d0") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/god-mode"))]) (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"))]) (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"))]) (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-snippets . [(20180113 611) ((yasnippet (0 8 0))) "Yasnippets for go" tar ((:commit . "d437df148879566ffe7f2e503a3cf2602aa9fb28"))]) (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-rename . [(20180627 648) ((go-mode (1 3 1))) "Integration of the 'gorename' tool into Emacs." single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "tools"))]) (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-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-playground . [(20181103 1846) ((emacs (24)) (go-mode (1 4 0)) (gotest (0 13 0))) "Local Golang playground for short snippets." single ((:commit . "fe75581eb81bb13ab129d2bbbc4af9a8b605fc3b") (:keywords "tools" "golang") (:authors ("Alexander I.Grafov (axel)" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov (axel)" . "grafov@gmail.com") (:url . "https://github.com/grafov/go-playground"))]) (go-mode . [(20181012 329) nil "Major mode for the Go programming language" single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "languages" "go") (:authors ("The go-mode Authors")) (:maintainer "The go-mode Authors") (:url . "https://github.com/dominikh/go-mode.el"))]) (go-imports . [(20180710 528) nil "Insert go import statement given package name" tar ((:commit . "d9950309c868aa46c45f8671413e53f97dc7fe0b") (:keywords "tools" "go" "import") (:authors ("Yaz Saito")) (:maintainer "Yaz Saito") (:url . "https://github.com/yasushi-saito/go-imports"))]) (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-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-guru . [(20181012 330) ((go-mode (1 3 1)) (cl-lib (0 5))) "Integration of the Go 'guru' analysis tool into Emacs." single ((:commit . "120fb911f1d8038f828da85eed8aaad977dabd8c") (:keywords "tools"))]) (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-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-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-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-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-dlv . [(20160517 2046) ((go-mode (1 3 1))) "Go Delve - Debug Go programs interactively with the GUD." single ((:commit . "45a9e8a047c9995eb7c802268d96b3e527569f41") (: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-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-complete . [(20151015 928) ((go-mode (0)) (cl-lib (0 5))) "Native code completion for Go" single ((:commit . "e39efc356f6e19f17db3f3d2c81f28d38b31a55e") (:keywords "go" "golang" "completion") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:url . "https://github.com/vibhavp/go-complete"))]) (go-autocomplete . [(20170626 1023) ((auto-complete (1 4 0))) "auto-complete-mode backend for go-mode" single ((:commit . "7b1d4e18cdc58a74dc1bd4c2d45b3f1b2ca227c3") (:keywords "languages") (:authors ("Mikhail" . "tensai@cirno.in")) (:maintainer "Mikhail" . "tensai@cirno.in"))]) (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 . [(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/"))]) (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"))]) (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-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-desktop-notify . [(20180623 1538) ((gnus (1 0))) "Gnus Desktop Notification global minor mode" single ((:commit . "44ebe0241a19f4052cd427dff408206542aa3c8f") (: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-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"))]) (gnuplot-mode . [(20171013 1616) nil "Major mode for editing gnuplot scripts" single ((:commit . "601f6392986f0cba332c87678d31ae0d0a496ce7") (:keywords "gnuplot" "plotting") (:url . "https://github.com/mkmcc/gnuplot-mode"))]) (gnuplot . [(20141231 2137) nil "drive gnuplot from within emacs" tar ((:commit . "21f9046e3f5caad41b750b5c9cee02fa4fd20fb9") (:keywords "gnuplot" "plotting") (:authors ("Bruce Ravel" . "bruceravel1@gmail.com")) (:maintainer "Bruce Ravel" . "bruceravel1@gmail.com"))]) (gnu-apl-mode . [(20180130 700) ((emacs (24))) "Integrate GNU APL with Emacs" tar ((:commit . "fa569827c916ed46e410e9f28e4b4d28f8567654") (:keywords "languages" "apl") (:url . "https://github.com/lokedhs/gnu-apl-mode"))]) (gntp . [(20141025 250) nil "Growl Notification Protocol for Emacs" single ((:commit . "767571135e2c0985944017dc59b0be79af222ef5") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (glsl-mode . [(20170927 1436) nil "major mode for Open GLSL shader files" single ((:commit . "384968506cf25c5c2df61b32fdfdbd041e3bf651") (:keywords "languages") (:url . "http://artis.inrialpes.fr/~Xavier.Decoret/resources/glsl-mode/"))]) (glab . [(20180821 1551) nil "minuscule client library for the Gitlab API" single ((:commit . "d75ba1bd8843f53ae3e37b206187b3b97d9f3540") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/ghub"))]) (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"))]) (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"))]) (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"))]) (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"))]) (gitlab-ci-mode-flycheck . [(20180604 2204) ((emacs (25)) (flycheck (31)) (gitlab-ci-mode (1))) "Flycheck support for ‘gitlab-ci-mode’" single ((:commit . "30ea0eab74b24818f187242b079845785035e967") (:keywords "tools" "vc" "convenience") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode-flycheck/"))]) (gitlab-ci-mode . [(20180604 2203) ((emacs (25)) (yaml-mode (0 0 12))) "mode for editing GitLab CI files" single ((:commit . "b9fd692d27351e959c4d272a2149def63ef1c00c") (:keywords "tools" "vc") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode/"))]) (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 . "68318aca3206d50701039c9aae39734ca29a49f9") (:keywords "gitlab") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:url . "https://github.com/nlamirault/emacs-gitlab"))]) (gitignore-templates . [(20180327 1326) ((emacs (24 3))) "Access GitHub .gitignore templates" single ((:commit . "b0705b8de4cbdd631c64c4e0024d62ba4ad68052") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/gitignore-templates.el"))]) (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"))]) (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"))]) (github-stars . [(20181118 448) ((emacs (25 1)) (ghub (2 0 0))) "Browse your Github Stars" single ((:commit . "807de6da3ab32d278d68a1b709c012f6bfa4d280") (:keywords "tools") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/github-stars.el"))]) (github-search . [(20170824 323) ((magit (0 8 1)) (gh (1 0 0))) "Clone repositories by searching github" single ((:commit . "c5fa1d9f8f9bcf201fa31478a6f5e02ed5ac086b") (: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-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-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-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-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-elpa . [(20180831 811) ((package-build (1 0)) (commander (0 7 0)) (git (0 1 1))) "Build and publish ELPA repositories with GitHub Pages" tar ((:commit . "32979fa1080f19d10c108d2776fbfe16547b4cf8") (:authors (nil . "10sr<8slashes+el@gmail.com>")) (:maintainer nil . "10sr<8slashes+el@gmail.com>") (:url . "https://github.com/10sr/github-elpa"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (git-timemachine . [(20181114 1342) ((emacs (24 3))) "Walk through git revisions of a file" single ((:commit . "4eb2ee6eabcc437bc3a1addc19ba38eed165743d") (:keywords "git") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:url . "https://github.com/pidu/git-timemachine"))]) (git-ps1-mode . [(20181115 349) nil "Global minor-mode to print __git_ps1" single ((:commit . "b9188e26a64fa6f8678da6cbf5e3e865065f4f04") (: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-msg-prefix . [(20180118 1446) ((emacs (24)) (s (1 10 0)) (dash (2 9 0))) "Insert commit message prefix (issue number)" single ((:commit . "848f2c7475f5e4937b09f55e85ea89a3be5f8588") (: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-messenger . [(20170102 440) ((emacs (24 3)) (popup (0 5 0))) "Pop up last commit information of current line" single ((:commit . "83815915eb8c1cb47443ff34bca3fecf7d2edf3a") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-messenger"))]) (git-link . [(20181031 259) ((emacs (24 3))) "Get the GitHub/Bitbucket/GitLab URL for a buffer location" single ((:commit . "976723dfdb9ae42e093a3cb32fc41841e94201e6") (:keywords "git" "vc" "github" "bitbucket" "gitlab" "convenience") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:url . "http://github.com/sshaw/git-link"))]) (git-lens . [(20180328 1417) ((emacs (24 4))) "Show new, deleted or modified files in branch" single ((:commit . "ea49e2e005af977a08331f8caa8f64d102b3b932") (: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-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-gutter-fringe . [(20170113 533) ((git-gutter (0 88)) (fringe-helper (0 1 1)) (cl-lib (0 5)) (emacs (24))) "Fringe version of git-gutter.el" single ((:commit . "16226caab44174301f1659f7bf8cc67a76153445") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-gutter-fringe"))]) (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 . [(20161105 1356) ((emacs (24 3))) "Port of Sublime Text plugin GitGutter" single ((:commit . "00c05264af046b5ce248e5b0bc42f117d9c27a09") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-git-gutter"))]) (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-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-commit-insert-issue . [(20171102 1841) ((projectile (0)) (s (0)) (github-issues (0)) (gitlab (0)) (bitbucket (0))) "Get issues list when typing \"Fixes #\"" single ((:commit . "f986923b04b587206ce7ee8e0c456768600e8be7") (:keywords "git" "github" "gitlab" "bitbucket" "commit" "issues") (:authors ("Vindarel")) (:maintainer "Vindarel") (:url . "https://gitlab.com/emacs-stuff/git-commit-insert-issue/"))]) (git-commit . [(20181116 1408) ((emacs (25 1)) (dash (20180910)) (with-editor (20181103))) "Edit Git commit messages" single ((:commit . "36d89c88e1337ec2b33c75c3d426289c66f86b10") (:keywords "git" "tools" "vc") (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/magit/magit"))]) (git-command . [(20160111 1303) ((term-run (0 1 4)) (with-editor (2 3 1))) "Yet another Git interface" single ((:commit . "dce465ca1cd80e16df0f8dce8e427a76e9edc3b7") (: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-blamed . [(20161028 1926) nil "Minor mode for incremental blame for Git" single ((:commit . "cef196abf398e2dd11f775d1e6cd8690567408aa") (:keywords "git" "version control" "release management"))]) (git-auto-commit-mode . [(20161229 1617) nil "Emacs Minor mode to automatically commit and push" single ((:commit . "2c8197e5d7813734d6a49f9b9c0b227b7ae022a8") (:keywords "vc") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/git-auto-commit-mode/"))]) (git-attr . [(20180925 2003) ((emacs (24 3))) "Git attributes of buffer file" tar ((:commit . "8f6290c76e7827d5a198e7dc04516bcfb2128c06") (: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-annex . [(20180427 1556) nil "Mode for easy editing of git-annex'd files" single ((:commit . "ebdb44aef1883f1b2b8058e05d30fb9315b03707") (: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 . [(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"))]) (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"))]) (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"))]) (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"))]) (gif-screencast . [(20180827 835) ((emacs (25 1))) "One-frame-per-action GIF recording" single ((:commit . "62e69ea464e87f1f7791d95a4fbbe9b70a84668a") (:keywords "multimedia" "screencast") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/ambrevar/emacs-gif-screencast"))]) (ghub . [(20181112 1755) ((emacs (25 1)) (dash (2 14 1)) (graphql (0 1 1)) (let-alist (1 0 5)) (treepy (1 0 0))) "Minuscule client libraries for Git forge APIs." tar ((:commit . "f389fce41cd1bd1805bad18d12e237362af05283"))]) (ghub+ . [(20181113 32) ((emacs (25)) (ghub (2 0)) (apiwrap (0 5))) "a thick GitHub API client built on ghub" single ((:commit . "51ebffe549286b3c0b0565a373f44f4d64fc57af") (:keywords "extensions" "multimedia" "tools") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/ghub-plus"))]) (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"))]) (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"))]) (gherkin-mode . [(20171224 1353) nil "An emacs major mode for editing gherkin files." single ((:commit . "0313492e7da152f0aa73ddf96c0287ded8f51253") (:keywords "languages") (:authors ("Craig Andera")) (:maintainer "Craig Andera"))]) (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"))]) (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"))]) (ghc . [(20180121 1218) ((haskell-mode (13 0))) "Sub mode for Haskell mode" tar ((:commit . "96c2207f0e9019f958d39582d4bf4af3bc9469d2"))]) (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"))]) (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"))]) (ggtags . [(20181031 1803) ((emacs (25))) "emacs frontend to GNU Global source code tagging system" single ((:commit . "669676461c74ffd30b81dce60cf4f081270f2858") (:keywords "tools" "convenience") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:url . "https://github.com/leoliu/ggtags"))]) (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"))]) (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"))]) (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"))]) (german-holidays . [(20161011 713) nil "German holidays for Emacs calendar" single ((:commit . "d7d540c229c1a8be68ee09fbda08fe3ea31b7d29") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/german-holidays"))]) (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"))]) (general . [(20181020 2323) ((emacs (24 4)) (cl-lib (0 5))) "Convenience wrappers for keybindings." single ((:commit . "f48c43c4449677fa629aac2693ffcb850ca58c89") (:keywords "vim" "evil" "leader" "keybindings" "keys") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:url . "https://github.com/noctuid/general.el"))]) (geiser . [(20181117 650) nil "GNU Emacs and Scheme talk to each other" tar ((:commit . "dcf754c0b9cdb87ffa5930ef8ffbae9256f2d07d") (:url . "http://www.nongnu.org/geiser/"))]) (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"))]) (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"))]) (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"))]) (gdscript-mode . [(20180118 456) ((emacs (24 3))) "Major mode for editing Godot GDScript files" single ((:commit . "31af5283eaec207bc864022a28e2824132471eaf") (:keywords "languages") (:authors ("Adam Bark" . "adam@adambark.com")) (:maintainer "Adam Bark" . "adam@adambark.com") (:url . "https://github.com/AdamBark/gdscript-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"))]) (gap-mode . [(20180809 445) nil "Major mode for editing files in the GAP programing language." tar ((: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://bitbucket.org/gvol/gap-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"))]) (gams-mode . [(20181112 601) ((emacs (24 3))) "Major mode for General Algebraic Modeling System (GAMS)" single ((:commit . "210bd355dd2075bde3fd76c880aa489a25a54cb5") (:keywords "languages" "tools" "gams") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:url . "http://shirotakeda.org/en/gams/gams-mode/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (futhark-mode . [(20181101 1900) ((cl-lib (0 5))) "major mode for editing Futhark source files" single ((:commit . "8ab840c6d2d24696b916bfb28c99d4d0043ab64e") (:keywords "languages") (:url . "https://github.com/diku-dk/futhark"))]) (furl . [(20150509 316) nil "Friendly URL retrieval" single ((:commit . "014438271e0ef27333dfcd599cb247f12a20d870") (:authors ("Natalie Weizenbaum" . "nweiz@google.com")) (:maintainer "Natalie Weizenbaum" . "nweiz@google.com"))]) (fuo . [(20180314 1648) ((emacs (24 4))) "feeluown client." single ((:commit . "5318bef9d935b53031e6312652554920def69af2") (:keywords "feeluown" "multimedia" "unix") (:authors ("cosven" . "yinshaowen241@gmail.com")) (:maintainer "cosven" . "yinshaowen241@gmail.com") (:url . "http://github.com/cosven/emacs-fuo"))]) (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"))]) (fullframe . [(20170816 1003) ((cl-lib (0 5))) "Generalized automatic execution in a single frame" single ((:commit . "d6a5217f7f2a5a5edcb75140f3fa69b3a50f1cdd") (:keywords "fullscreen") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de"))]) (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/"))]) (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"))]) (fuel . [(20180224 2211) ((cl-lib (0 2)) (emacs (24 2))) "Major mode for the Factor programming language." tar ((:commit . "9804c3c7440b6fb9d308d76a81ee55d92b327788"))]) (fstar-mode . [(20181110 1349) ((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 . "0089f2d4451f73c389f82ebff9e22773f2d0014d") (: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"))]) (fsharp-mode . [(20180518 1820) ((company (0 8 0)) (company-quickhelp (1 2 0)) (popup (0 5 3)) (pos-tip (0 4 5)) (s (1 3 1)) (dash (1 1 0)) (flycheck (0 25))) "F# mode for Emacs" tar ((:commit . "68d2121a7317d90fe3794c9295d117f4aebd1438"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (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 . "31ef9ff4af1a4fed3dcc24ea74037feea8795c87") (: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"))]) (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"))]) (frameshot . [(20181110 1910) ((emacs (25 3))) "Take screenshots of a frame" single ((:commit . "3e1c9c2b34a3ab25cf373c411321280cc00096f6") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/frameshot"))]) (frames-only-mode . [(20180114 1848) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0))) "Use frames instead of Emacs windows" single ((:commit . "9a398dd58ebc1814183432118d11957b46746556") (:keywords "frames" "windows") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/frames-only-mode"))]) (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"))]) (frame-purpose . [(20180624 57) ((emacs (25 1)) (dash (2 12)) (dash-functional (1 2 0))) "Purpose-specific frames" single ((:commit . "ef571eb64acb4fef5c5ab22bc1e87a0e6614efa4") (: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-mode . [(20170419 2127) ((s (1 9 0)) (emacs (24 4))) "Use frames instead of windows" single ((:commit . "fcdbafbda45758cd60ab3acb492fbbd692987a58") (:keywords "frames") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:url . "https://github.com/IvanMalison/frame-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"))]) (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"))]) (fountain-mode . [(20181011 843) ((emacs (24 5))) "Major mode for screenwriting in Fountain markup" single ((:commit . "6f2d72ecbe8d6cad637f3eac4de88dff469dd42c") (:keywords "wp" "text") (:authors ("Paul Rankin" . "hello@paulwrankin.com")) (:maintainer "Paul Rankin" . "hello@paulwrankin.com"))]) (fortune-cookie . [(20170407 2217) nil "Print a fortune in your scratch buffer." single ((:commit . "bad99a2cd090f6646c7ee1125b95dd98744939c6") (:keywords "fortune" "cowsay" "scratch" "startup") (:authors ("Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com")) (:maintainer "Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com") (:url . "https://github.com/andschwa/fortune-cookie"))]) (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>"))]) (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"))]) (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-all . [(20181108 921) ((emacs (24)) (cl-lib (0 5))) "Auto-format C, C++, JS, Python, Ruby and 30 other languages" single ((:commit . "76054ed7236f18737cca4566fe8be7257f58cd81") (: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"))]) (form-feed . [(20160102 2253) nil "Display ^L glyphs as horizontal lines" single ((:commit . "799ca3e72b20a59a755a094b8cead57f654f3170") (:keywords "faces") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/form-feed"))]) (forest-blue-theme . [(20160627 842) ((emacs (24))) "Emacs theme with a dark background." single ((:commit . "58096ce1a25615d2bae806c3775bae3e2775019d") (:authors ("olkinn")) (:maintainer "olkinn"))]) (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"))]) (foreign-regexp . [(20180224 1121) nil "search and replace by foreign regexp." tar ((:commit . "2ec5c44f27c2396ee487aa0ed77ae47d143fa5aa") (: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>"))]) (forecast . [(20180429 2215) ((emacs (24 4))) "Weather forecasts" single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "weather" "forecast") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#forecast-el"))]) (fontify-face . [(20180420 1624) ((emacs (24))) "Fontify symbols representing faces with that face." single ((:commit . "fc3325c98427523d86f0b411e0515cec51ac3d8a") (:keywords "faces") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/fontify-face"))]) (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"))]) (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"))]) (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-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"))]) (folding . [(20170925 1538) nil "A folding-editor-like minor mode." single ((:commit . "3bf134fd1ecfa8767ab7020c25281ea5ce9968a2") (:keywords "tools") (:maintainer "Jari Aalto <jari aalto A T cante dt net>"))]) (fold-this . [(20180828 1336) nil "Just fold this region please" single ((:commit . "59ec711ee5f4decf197b8168e333b691b852c827") (:keywords "convenience") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (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-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"))]) (foggy-night-theme . [(20160209 1508) ((emacs (24))) "Dark low contrast theme with soft and muted colors." single ((:commit . "60a12abdac29c2d913e1cf24485d0cc083e26093") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (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"))]) (focus . [(20171204 503) ((emacs (24)) (cl-lib (0 5))) "Dim the font color of text in surrounding sections" single ((:commit . "045ee6175e9340f873db03445c74ff9eefa35a27") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:url . "http://github.com/larstvei/Focus"))]) (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"))]) (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"))]) (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"))]) (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-correct-popup . [(20180928 504) ((flyspell-correct (0 5 0)) (popup (0 5 3))) "correcting words with flyspell via popup interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct-ivy . [(20180929 1331) ((flyspell-correct (0 5 0)) (ivy (0 8 0))) "correcting words with flyspell via ivy interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct-helm . [(20180928 504) ((flyspell-correct (0 5 0)) (helm (1 9 0))) "correcting words with flyspell via helm interface" single ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-correct . [(20181106 801) nil "correcting words with flyspell via custom interface" tar ((:commit . "204f145678df5e34a48ea3beae888a1bd6809974") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (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"))]) (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"))]) (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"))]) (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-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-shellcheck . [(20180830 1145) ((emacs (26))) "A bash/sh Flymake backend" single ((:commit . "deed7160f2be6bfffe46c4cc77d0f1fefd03f82a") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:url . "https://github.com/federicotdn/flymake-shellcheck"))]) (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-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-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-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-racket . [(20180912 109) ((emacs (26 1))) "Flymake extension for Racket." single ((:commit . "cf5c1d10280693bd2b8a6533fbca4383fb998c07") (:keywords "languages" "racket" "scheme") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-racket"))]) (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-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-phpcs . [(20140713 631) ((flymake-easy (0 9))) "making flymake work with PHP CodeSniffer" single ((:commit . "a4d383474e055e554aaf1cd617055d5d7181aa50") (:keywords "flymake" "phpcs" "php") (:authors ("Akiha Senda")) (:maintainer "Akiha Senda") (:url . "https://github.com/senda-akiha/flymake-phpcs/"))]) (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-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-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-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-ktlint . [(20180831 346) ((emacs (26 1))) "Flymake extension for Ktlint." single ((:commit . "33730a4818b74cb27196f06a9b23045d0af4c16d") (:keywords "languages" "ktlint") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-ktlint"))]) (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-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-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-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-haskell-multi . [(20170723 146) ((flymake-easy (0 1))) "Syntax-check haskell-mode using both ghc and hlint" tar ((:commit . "b564a94312259885b1380272eb867bf52a164020"))]) (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-gradle . [(20180924 200) ((emacs (26 1))) "Flymake extension for Gradle." single ((:commit . "c6045dd00e0bb1ec2b19df32756c61cbc5b3728b") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flymake-gradle"))]) (flymake-google-cpplint . [(20140205 1325) ((flymake-easy (0 9))) "Help to comply with the Google C++ Style Guide" single ((:commit . "905d32e84a27f18a78bec455ca930ab1ff9ae31e") (: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-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-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-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-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-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-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-cppcheck . [(20140415 1257) ((flymake-easy (0 9))) "Flymake work with Cppcheck for C/C++" single ((:commit . "9554f504d425a04fa6a875f7e3179bc7cf07dd03") (: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-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"))]) (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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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-yamllint . [(20170325 1735) ((flycheck (30))) "Flycheck integration for YAMLLint" single ((:commit . "c2b273d84f15bd03464d6722391e595d7c179a5c") (: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-xcode . [(20180122 651) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Apple's Xcode." single ((:commit . "6147ab777e2c08e4f5ffdbd85d3013ca700fa835") (:keywords "languages" "xcode") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-xcode"))]) (flycheck-vdm . [(20181108 2022) ((emacs (24)) (flycheck (32 -4)) (vdm-mode (0 0 3))) "Syntax checking for vdm-mode" single ((:commit . "5440ca997b997df11d3d3bf67e4b547df6df118d") (: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-vale . [(20180928 742) ((emacs (24 4)) (flycheck (0 22)) (let-alist (1 0 4))) "flycheck integration for vale" single ((:commit . "131dacdf55e2b469d64543e4ae373aa93ec40a4f") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/flycheck-vale"))]) (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-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-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-swiftlint . [(20180830 340) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Swiftlint." single ((:commit . "65101873c4c9f8e7eac9471188b161eeddda1555") (:keywords "languages" "swiftlint" "swift" "emacs") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-swiftlint"))]) (flycheck-swift3 . [(20181116 1202) ((emacs (24 4)) (flycheck (26))) "Flycheck: Swift support for Apple swift-mode" single ((:commit . "37994f11c93f585119647e6ba10761e9766b593d") (:keywords "convenience" "languages" "tools") (:authors ("Goichi Hirakawa" . "gooichi@gyazsquare.com")) (:maintainer "Goichi Hirakawa" . "gooichi@gyazsquare.com") (:url . "https://github.com/GyazSquare/flycheck-swift3"))]) (flycheck-swift . [(20170129 549) ((emacs (24 4)) (flycheck (0 25))) "Flycheck extension for Apple's Swift." single ((:commit . "4c5ad401252400a78da395fd56a71e67ff8c2761") (:keywords "languages" "swift"))]) (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-stack . [(20160520 944) ((flycheck (26)) (haskell-mode (13))) "Flychecker using stack ghci" single ((:commit . "f04235e00998000ee2c305f5a3ee72bb5dbbc926"))]) (flycheck-soar . [(20181106 852) ((emacs (25 1)) (flycheck (0 22))) "Analyze the SQL statements using mi soar." single ((:commit . "d2f03a0af9b625a645f3194dc24cfeee94d92760") (:keywords "convenience") (:authors ("zg" . "13853850881@163.com")) (:maintainer "zg" . "13853850881@163.com") (:url . "https://github.com/tszg/flycheck-soar"))]) (flycheck-rust . [(20180904 1117) ((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 . "f1220ccd9acbdb2556765f49f2f3dcb00dca2970") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-rust"))]) (flycheck-rtags . [(20180619 824) ((emacs (24)) (flycheck (0 23)) (rtags (2 10))) "RTags Flycheck integration." single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com")) (:maintainer "Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com") (:url . "http://rtags.net"))]) (flycheck-rebar3 . [(20180806 2103) ((flycheck (27))) "Rebar3 flycheck integration for Erlang projects" single ((:commit . "3cca1268c54643204b5bae52e3f0bf5bc921018c") (:keywords "erlang" "flycheck" "rebar3") (:authors ("Joe DeVivo")) (:maintainer "Joe DeVivo") (:url . "https://github/joedevivo/flycheck-rebar3"))]) (flycheck-pyre . [(20181014 155) ((emacs (24)) (flycheck (29)) (cl-lib (0 6))) "Support Pyre in flycheck" tar ((:commit . "58ba48d570e11011a4b70609f3a2565772010ad2") (:authors ("Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com")) (:maintainer "Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com") (:url . "https://github.com/linnik/flycheck-pyre"))]) (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-pycheckers . [(20181114 2039) ((flycheck (0 18))) "multiple syntax checker for Python, using Flycheck" tar ((:commit . "73f348b68532c856a32e3c962ebbee14f7b6c059") (:keywords "convenience" "tools" "languages") (:url . "https://github.com/msherry/flycheck-pycheckers"))]) (flycheck-purescript . [(20161121 1707) ((emacs (24 3)) (flycheck (0 22)) (dash (2 12 0)) (let-alist (1 0 4)) (seq (1 11))) "Flycheck: PureScript support" single ((:commit . "30f0435d5e2715053c8c6170b2bce2ae462ac819") (:keywords "convenience" "tools" "languages") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:url . "https://github.com/emacs-pe/flycheck-purescript"))]) (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-posframe . [(20180322 607) ((flycheck (0 24)) (emacs (26)) (posframe (0 3 0))) "Show flycheck error messages using posframe.el" single ((:commit . "61bdfd4b04e1651163fdcaa7dc631ad073b3e513") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-posframe"))]) (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-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-pony . [(20160501 2117) ((flycheck (0 25 1))) "Pony support in Flycheck" single ((:commit . "ef27475a14090396a01924d131bfee9e163cf6e9") (:keywords "tools" "convenience") (:url . "https://github.com/seantallen/flycheck-pony"))]) (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-pkg-config . [(20180430 2243) ((dash (2 8 0)) (s (1 9 0)) (flycheck (29))) "configure flycheck using pkg-config" single ((:commit . "e72e4c1b8153611ed82695673af84096f4d52795") (:keywords "flycheck") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (flycheck-phpstan . [(20180801 1741) ((emacs (24 3)) (flycheck (26)) (phpstan (0 2 1))) "Flycheck integration for PHPStan" single ((:commit . "beac0e0e7160454d4f42162b3502a36ccf488120") (:keywords "convenience" "php") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/phpstan.el"))]) (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-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-package . [(20161111 2251) ((flycheck (0 22)) (package-lint (0 2))) "A Flycheck checker for elisp package authors" single ((:commit . "6d99248b45eea1e5236062f38e524230efdb1a84") (:keywords "lisp") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (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-objc-clang . [(20181116 1201) ((emacs (24 4)) (flycheck (26))) "Flycheck: Objective-C support using Clang" single ((:commit . "a3781e47f14068c811534a3348bf479eeb3f2041") (: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-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-nim . [(20160715 428) ((dash (2 4 0)) (flycheck (0 20))) "Defines a flycheck syntax checker for nim" single ((:commit . "6d27349b66e44578851e6148299709d64d2bde41") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/flycheck-nim"))]) (flycheck-mypy . [(20180907 1016) ((flycheck (0 18))) "Support mypy in flycheck" single ((:commit . "6f99166f5229c7b4298cff1818b7eaece1c9c8bd") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (flycheck-mmark . [(20180203 1732) ((emacs (24 4)) (flycheck (0 29))) "Flycheck checker for the MMark markdown processor" single ((:commit . "7fdcc48ff6ffa5e7db126a76f4948ab08b9eb8d4") (:keywords "convenience" "text") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mmark-md/flycheck-mmark"))]) (flycheck-mix . [(20170118 1430) ((flycheck (27)) (elixir-mode (1 8 0))) "Elixir mix flycheck integration" single ((:commit . "76684d4b5987925b98b254aab656f8bf8198ab88") (:keywords "elixir" "flycheck" "mix") (:authors ("Tomasz Kowal" . "tomekowal@gmail.com")) (:maintainer "Tomasz Kowal" . "tomekowal@gmail.com") (:url . "https://github.com/tomekowal/flycheck-mix"))]) (flycheck-mercury . [(20151123 734) ((flycheck (0 22)) (s (1 9 0)) (dash (2 4 0))) "Mercury support in Flycheck" single ((:commit . "fa9e433a0a912f0fae9e4dec9ea616ef99fcf861") (: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-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-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-ledger . [(20180819 321) ((flycheck (0 15))) "Flycheck integration for ledger files" single ((:commit . "8d7f52a4c7f80ca396ef0fc6c7d8e9f005778dfc") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (flycheck-kotlin . [(20170122 1137) ((flycheck (0 18))) "Support kotlin in flycheck" single ((:commit . "cbb9fbf70dbe8efcc3971b3606ee95c97469b1fe") (:authors ("Elric Milon" . "whirm_REMOVETHIS__@gmx.com")) (:maintainer "Elric Milon" . "whirm_REMOVETHIS__@gmx.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-joker . [(20180913 504) ((flycheck (0 18))) "Add Clojure syntax checker (via Joker) to flycheck" single ((:commit . "51e99e697761ee8dab863930910abdba7607c1bd") (:authors ("Roman Bataev" . "roman.bataev@gmail.com")) (:maintainer "Roman Bataev" . "roman.bataev@gmail.com"))]) (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-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-inline . [(20180821 849) ((emacs (25 1)) (flycheck (31))) "Display Flycheck errors inline" single ((:commit . "6381d676462dab74f337e6fed9ada121fec25caf") (:keywords "tools" "convenience") (:authors ("fmdkdd")) (:maintainer "fmdkdd") (:url . "https://github.com/flycheck/flycheck-inline"))]) (flycheck-hdevtools . [(20160926 702) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using hdevtools" single ((:commit . "eab1fc184854341a56154623a131cab6ff0ce18c") (:keywords "convenience" "languages" "tools") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/flycheck/flycheck-hdevtools"))]) (flycheck-haskell . [(20181117 1001) ((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 . "072c854a65a73b441624a90a8aa3b86ec64cdd1e") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-haskell"))]) (flycheck-grammalecte . [(20181115 1646) ((emacs (24)) (flycheck (26))) "Integrate Grammalecte with Flycheck" tar ((:commit . "fe5d94dc6175fe8cc09965956fda5c0de0b280d6") (: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-gradle . [(20180924 200) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Gradle." single ((:commit . "6a61daada4b2353a1c7c223cf8d5bccb907534c8") (:keywords "languages" "gradle") (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/flycheck-gradle"))]) (flycheck-gometalinter . [(20180424 941) ((emacs (24)) (flycheck (0 22))) "flycheck checker for gometalinter" single ((:commit . "422f6e4b77b27fd7370f0c88437ac5072c9d3413") (:keywords "convenience" "tools" "go") (:authors ("Diep Pham" . "me@favadi.com")) (:maintainer "Diep Pham" . "me@favadi.com") (:url . "https://github.com/favadi/flycheck-gometalinter"))]) (flycheck-golangci-lint . [(20180711 817) ((emacs (24)) (flycheck (0 22))) "Flycheck checker for golangci-lint" single ((:commit . "b4b51aa6fe5335c0f46f2f83c7dc32e4141ff9f1") (: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-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-flow . [(20180801 1242) ((flycheck (0 18)) (json (1 4))) "Support Flow in flycheck" single ((:commit . "5d42270c798918c05c5e983e774063930bd87838") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (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-elsa . [(20181029 1421) ((emacs (25)) (seq (2 0)) (cask (0 8 4))) "Flycheck for Elsa." single ((:commit . "a48d1b1c28f908dcb0bc3aece38c161059df336d") (: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-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 . "debd0af563cb6c2944367a691c7fa3021d9378c1") (:authors ("Brian Sermons")) (:maintainer "Brian Sermons") (:url . "https://github.com/bsermons/flycheck-elm"))]) (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-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-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-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-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-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-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-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-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-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-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-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-crystal . [(20180627 242) ((flycheck (30))) "Add support for Crystal to Flycheck" single ((:commit . "8649736fea8960a5e54c3ec934484f231a518ea5") (:keywords "tools" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))]) (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-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-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-clojure . [(20180721 1412) ((cider (0 8 1)) (flycheck (0 22 -4 1)) (let-alist (1 0 1)) (emacs (24))) "Flycheck: Clojure support" single ((:commit . "d81d875f83f7db26cd7bf43d0f9bab272fb54a3c") (: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-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-clang-tidy . [(20171024 808) ((flycheck (0 30))) "Flycheck syntax checker using clang-tidy" single ((:commit . "b8ebd49693f67e08e420ba847cc88f6721ef9e3e") (:keywords "convenience" "languages" "tools") (:authors (nil . "Sebastian Nagel<sebastian.nagel@ncoding.at>")) (:maintainer nil . "Sebastian Nagel<sebastian.nagel@ncoding.at>") (:url . "https://github.com/ch1bo/flycheck-clang-tidy"))]) (flycheck-clang-analyzer . [(20180917 1425) ((flycheck (0 24)) (emacs (24 4))) "Integrate Clang Analyzer with flycheck" single ((:commit . "5c707505e3ea806fddb54d031ab64351293d7c2d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-clang-analyzer"))]) (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-checkbashisms . [(20160224 1706) ((emacs (24)) (flycheck (0 25))) "checkbashisms checker for flycheck" single ((:commit . "0794ad763d7cd81286283f6400bc89a81e8e07d4") (: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/Gnouc/flycheck-checkbashisms"))]) (flycheck-cask . [(20160928 926) ((emacs (24 1)) (flycheck (0 14)) (dash (2 4 0))) "Cask support in Flycheck" single ((:commit . "c3a51147eddeb7347de81f6a498fc96538bac499") (:keywords "tools" "convenience") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:url . "https://github.com/flycheck/flycheck-cask"))]) (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-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-apertium . [(20160406 1318) ((flycheck (0 25))) "Apertium checkers in flycheck" tar ((:commit . "71cf49d5aaee962b995583384bfa045a1d4c3db7") (: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 . [(20181018 1021) ((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 . "1702d2db3d8ba9bcb9b2bf810e791e907fcc3adc") (:keywords "convenience" "languages" "tools") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "http://www.flycheck.org"))]) (flx-isearch . [(20180103 514) ((emacs (24)) (flx (20140821)) (cl-lib (0 5))) "Fuzzy incremental searching for emacs" single ((:commit . "f132fd6367e369885ab3a865fbfe20eee989bc0b") (:keywords "convenience" "search" "flx") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/flx-isearch"))]) (flx-ido . [(20180117 1519) ((flx (0 1)) (cl-lib (0 3))) "flx integration for ido" single ((:commit . "46040d0b096a0340d91235561f27a959a61d0fef") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (flx . [(20151030 1812) ((cl-lib (0 3))) "fuzzy matching with good sorting" single ((:commit . "46040d0b096a0340d91235561f27a959a61d0fef") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (fluxus-mode . [(20170210 1941) ((osc (0 1)) (emacs (24 4))) "Major mode for interfacing with Fluxus" single ((:commit . "3661d4dfdaf249138e7f215f15f291c9391ede8d") (:keywords "languages") (:authors ("modula t." . "defaultxr@gmail.com")) (:maintainer "modula t." . "defaultxr@gmail.com") (:url . "https://github.com/defaultxr/fluxus-mode"))]) (flucui-themes . [(20181015 1821) ((emacs (24))) "Custom theme inspired by the Flat UI palette" tar ((:commit . "eba54099a8a42524ccf41fe724ad495d528abcd2") (:keywords "lisp") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:url . "https://github.com/MetroWind/flucui-theme"))]) (flower . [(20181025 1626) ((emacs (24 4)) (clomacs (0 0 3))) "Emacs task tracker client." tar ((:commit . "49e224ab26d85f5cd4a3ad9cdac391264b80ad5e") (:keywords "hypermedia" "outlines" "tools" "vc") (:authors ("Sergey Sobko" . "SSobko@ptsecurity.com")) (:maintainer "Sergey Sobko" . "SSobko@ptsecurity.com") (:url . "https://github.com/PositiveTechnologies/flower"))]) (flow-minor-mode . [(20180315 1824) ((emacs (25 1))) "Flow type mode based on web-mode." single ((:commit . "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e") (:url . "https://github.com/an-sh/flow-minor-mode"))]) (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"))]) (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"))]) (flimenu . [(20170418 147) ((dash (2 10 0)) (emacs (24 4))) "Flatten imenu automatically" single ((:commit . "9351201d89b05cbdaec312a6ebd7fd10c38d6112") (: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"))]) (flim . [(20180328 2324) ((apel (10 8))) "A library to provide basic features about message representation or encoding." tar ((:commit . "faaa2b1f2bb8fcf835ddfb8981654e4d3b2bdbc6"))]) (flex-isearch . [(20170308 2010) nil "Flex matching (like ido) in isearch." single ((:keywords "convenience" "search") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:url . "https://bitbucket.org/jpkotta/flex-isearch"))]) (flex-compile . [(20181107 426) ((emacs (25)) (buffer-manage (0 7)) (dash (2 13 0))) "Run, evaluate and compile for a many languages and modes." tar ((:commit . "a06f07e658d460cb662fa51c1c5d439ebee10375") (:keywords "compilation" "integration") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/flex-compile"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (fix-word . [(20180101 615) ((emacs (24 1)) (cl-lib (0 5))) "Convenient word transformation" single ((:commit . "8e66b6a7b599c6c5098490e83ef4e69acf307603") (:keywords "word" "convenience") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-word"))]) (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-input . [(20180101 620) ((emacs (24 4))) "Make input methods play nicely with alternative keyboard layout on OS level" single ((:commit . "37bc0734a2e71d66245ee3960879577e5ef906bb") (:keywords "input" "method") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/fix-input"))]) (fish-mode . [(20180827 303) ((emacs (24))) "Major mode for fish shell scripts" single ((:commit . "35fc7c1e243a7410823088a571ecf378e9f3efa6") (:keywords "fish" "shell") (:authors ("Tony Wang" . "wwwjfy@gmail.com")) (:maintainer "Tony Wang" . "wwwjfy@gmail.com"))]) (fish-completion . [(20180827 829) nil "Add fish completion to pcomplete (shell and Eshell)" single ((:commit . "a73526d67c4c5f7f2e425cec79d56c7517c7f1e9") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/emacs-fish-completion"))]) (firrtl-mode . [(20180221 2355) ((emacs (24 3))) "mode for working with FIRRTL files" single ((:commit . "1ac00d526018945389bcb2292dbdd8395381774a") (:keywords "languages" "firrtl") (:authors ("Schuyler Eldridge" . "schuyler.eldridge@ibm.com")) (:maintainer "Schuyler Eldridge" . "schuyler.eldridge@ibm.com") (:url . "https://github.com/ibm/firrtl-mode"))]) (firestarter . [(20161219 1323) nil "Execute (shell) commands on save" single ((:commit . "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/firestarter"))]) (fireplace . [(20160811 1219) nil "A cozy fireplace for emacs" single ((:commit . "23a444f749bcb2b804593e3b2cb9c73cc59231fb") (:keywords "games") (:authors ("Johan Sivertsen" . "johanvts@gmail.com")) (:maintainer "Johan Sivertsen" . "johanvts@gmail.com") (:url . "https://github.com/johanvts/emacs-fireplace"))]) (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"))]) (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"))]) (fiplr . [(20140724 645) ((grizzl (0 1 0)) (cl-lib (0 1))) "Fuzzy Search for Files in Projects" tar ((:commit . "3f50159fd42125440d5b0eb9d6398560461f030b"))]) (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"))]) (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"))]) (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"))]) (find-temp-file . [(20170107 1339) nil "Open quickly a temporary file" single ((:commit . "513005d19d72d71f34481ee00158dd57bd93206f") (: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-file-in-repository . [(20151113 1319) nil "Quickly find files in a git, mercurial or other repository" single ((:commit . "8a8c84a6dbe7a2bba4564c3b58c92d157abfa3f8") (: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-file-in-project . [(20181020 1413) ((ivy (0 10 0)) (emacs (24 3))) "Find file/directory and review Diff/Patch/Commit efficiently everywhere" single ((:commit . "83c9384e0c85ee8e0e4ad79d13a24181b43ae0b0") (: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-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"))]) (finalize . [(20170418 1945) ((emacs (24 1)) (cl-generic (0 3)) (cl-lib (0 3)) (eieio (1 4))) "finalizers for Emacs Lisp" tar ((:commit . "846731531e7d1d80451787992e07bfe7dedbe9ff"))]) (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"))]) (fill-function-arguments . [(20180427 1702) ((emacs (24 4))) "Convert function arguments to/from single line" single ((:commit . "7e4d6928f978a7ead825b4f49092b1d1ca63a0e1") (:keywords "convenience") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/fill-function-arguments"))]) (fill-column-indicator . [(20171209 1924) nil "Graphically indicate the fill column" single ((:commit . "d2536b1c48f78679e15a2b50cd5d8c0ffde4b155") (:keywords "convenience") (:authors ("Alp Aker" . "alp.tekin.aker@gmail.com")) (:maintainer "Alp Aker" . "alp.tekin.aker@gmail.com"))]) (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"))]) (figlet . [(20160218 2237) nil "Annoy people with big, ascii art text" single ((:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) (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"))]) (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"))]) (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"))]) (fennel-mode . [(20181105 431) nil "a major-mode for editing Fennel code" single ((:commit . "b7335f7116944cbe82f20b4012cfcf0073f090ae") (:keywords "languages" "tools") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://gitlab.com/technomancy/fennel-mode"))]) (feebleline . [(20180914 2100) nil "Replace modeline with a slimmer proxy" single ((:commit . "89ddf31ecad885e5491e8d6b71b48c1591b3faec") (:authors ("Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com")) (:maintainer "Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com") (:url . "https://github.com/tautologyclub/feebleline"))]) (feature-mode . [(20170907 1448) nil "Major mode for editing Gherkin (i.e. Cucumber) user stories" tar ((:commit . "722b352c4f0b800a9356dd369c79612782b3b847"))]) (fd-dired . [(20180731 1049) ((emacs (25))) "find-dired alternative using fd" single ((:commit . "fd4c3f490b0b6727592b85f1635e57638dec8f91") (: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"))]) (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"))]) (fcitx . [(20170914 200) nil "Make fcitx better in Emacs" single ((:commit . "095332fbeb994c908c533fe2ad068c0728211c3d") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/fcitx.el"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (farmhouse-theme . [(20160713 2244) nil "Farmhouse Theme, Emacs edition" tar ((:commit . "7ddc1ff13b4a3d5466bd0d33ecb86100352e83a7") (:keywords "color" "theme") (:url . "https://github.com/mattly/emacs-farmhouse-theme"))]) (fancy-narrow . [(20171031 16) nil "narrow-to-region with more eye candy." single ((:commit . "9f4a587f6a5a387271fb665e13f59d41fd42504c") (: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"))]) (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"))]) (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"))]) (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"))]) (faff-theme . [(20181114 1336) nil "Light Emacs color theme on cornsilk3 background" single ((:commit . "646ab8b56093614679b8465993eae9678e792c12") (: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"))]) (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"))]) (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"))]) (face-explorer . [(20170710 1901) nil "Library and tools for faces and text properties" single ((:commit . "13bd4553bc4b09215a04d0267be1cb4ed834775c") (:keywords "faces") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/face-explorer"))]) (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"))]) (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"))]) (f . [(20180106 922) ((s (1 7 0)) (dash (2 2 0))) "Modern API for working with files and directories" single ((:commit . "de6d4d40ddc844eee643e92d47b9d6a63fbebb48") (:keywords "files" "directories") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/f.el"))]) (eziam-theme . [(20180414 1029) nil "A mostly monochrome theme, inspired by Tao and Leuven, with dark and light versions." tar ((:commit . "96595833110cd64c391e0ccd5230782a8f0a4e08"))]) (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"))]) (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"))]) (eyebrowse . [(20180514 1919) ((dash (2 7 0)) (emacs (24 3 1))) "Easy window config switching" single ((:commit . "dfeea9e9cd6dcd78ddc9fccdf9a21f7317f754bc") (:keywords "convenience") (:authors ("Vasilij Schneidermann" . "v.schneidermann@gmail.com")) (:maintainer "Vasilij Schneidermann" . "v.schneidermann@gmail.com") (:url . "https://github.com/wasamasa/eyebrowse"))]) (exwm-x . [(20181117 918) ((cl-lib (0 5)) (exwm (0 17)) (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 . "c33cc513513c83b55a6c490f68fdb2196d44657d") (:keywords "window-manager" "exwm") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/exwm-x"))]) (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-edit . [(20180905 743) ((emacs (24 4))) "Edit mode for EXWM" single ((:commit . "961c0f3ea45766b888c73d7353da13d329538034") (:keywords "convenience") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:url . "https://github.com/agzam/exwm-edit"))]) (extmap . [(20181028 1645) ((emacs (24 1))) "Externally-stored constant mapping for Elisp" single ((:commit . "1139b57d8f4276fe56b8416fdaf4745f2cdfe7c3") (:keywords "lisp") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/extmap"))]) (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"))]) (extempore-mode . [(20180105 621) ((emacs (24 4))) "Emacs major mode for Extempore source files" single ((:commit . "ae5f40d4b0883a4519e460cd7720e5fcc3a68fa5") (:keywords "extempore") (:authors ("Ben Swift" . "ben@benswift.me")) (:maintainer "Ben Swift" . "ben@benswift.me") (:url . "http://github.com/extemporelang/extempore-emacs-mode"))]) (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"))]) (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"))]) (expand-region . [(20180817 1134) nil "Increase selected region by semantic units." tar ((:commit . "ed3292473035dc8f3d2f321e82974ef87327808f"))]) (expand-line . [(20151006 207) nil "Expand selection by line" single ((:commit . "75a5d0241f35dd0748ab8ecb4ff16891535be372") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))]) (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"))]) (exiftool . [(20170822 2132) ((emacs (25))) "Elisp wrapper around ExifTool" single ((:commit . "3a07dbcb975577734d4abf6d68e1ab83a01951bb") (:keywords "data") (:authors ("Arun I" . "arunisaac@systemreboot.net")) (:maintainer "Arun I" . "arunisaac@systemreboot.net") (:url . "https://git.systemreboot.net/exiftool.el"))]) (exec-path-from-shell . [(20180324 204) nil "Get environment variables such as $PATH from the shell" single ((:commit . "9bc0f4a762f16d488376fb52409c58239a86d75d") (:keywords "unix" "environment") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/exec-path-from-shell"))]) (exato . [(20180305 1042) ((evil (1 2 13)) (emacs (24))) "EXATO: Evil XML/HTML Attributes Text Object" single ((:commit . "88266fa7fcfbef704032f671b94f756f2f98bd4f") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/exato"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-visual-mark-mode . [(20150202 1800) ((evil (1 0 9)) (dash (2 10))) "Display evil marks on buffer" single ((:commit . "094ee37599492885ff3144918fcdd9b74dadaaa0") (:keywords "evil") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (evil-vimish-fold . [(20171030 1151) ((emacs (24 4)) (evil (1 0 0)) (vimish-fold (0 2 0))) "Integrate vimish-fold with evil" single ((:commit . "c617fecb91303f8c63f85a6101a503fdc88aae84") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/evil-vimish-fold"))]) (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-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-textobj-syntax . [(20181101 1404) ((names (0 5)) (emacs (24)) (evil (0))) "Provides syntax text objects." single ((:commit . "933752ff2ae22d1bbcda394bdeed5c575d90d1d8") (:keywords "evil" "syntax" "highlight" "text-object") (:url . "https://github.com/laishulu/evil-textobj-syntax"))]) (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-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-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-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-text-object-python . [(20160815 841) ((emacs (24)) (evil (1 2 12))) "Python specific evil text objects" single ((:commit . "3b3fb01e7ad7eeeeae1143695547fe75148cc44f") (:keywords "evil" "python" "text-object") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-text-object-python"))]) (evil-test-helpers . [(20180109 1840) ((evil (1 2 13))) "unit test helpers for Evil" single ((:commit . "99bcf8c31ee72a3a571e013f40d105618fb92d19") (:authors ("Vegard Øye <vegard_oye at hotmail.com>")) (:maintainer "Vegard Øye <vegard_oye at hotmail.com>"))]) (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-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-swap-keys . [(20170726 1820) ((emacs (24))) "intelligently swap keys on text input with evil" single ((:commit . "56bc201e265a6bd482a7c41a7c81d2238341ef3a") (:keywords "evil" "key" "swap" "numbers" "symbols") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:url . "https://github.com/wbolster/evil-swap-keys"))]) (evil-surround . [(20181020 1248) ((evil (1 2 12))) "emulate surround.vim from Vim" single ((:commit . "63ce01848878ce011eb4fee59c51109dd1e3ddb5") (: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-string-inflection . [(20180313 1755) ((emacs (24)) (evil (1 2 13)) (string-inflection (1 0 6))) "snake_case -> CamelCase -> etc. for text objects" single ((:commit . "008b74a9b2994abfb4ff5b679b8a5a26fd45e98a") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/evil-string-inflection"))]) (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-snipe . [(20180731 1731) ((emacs (24 4)) (evil (1 2 12)) (cl-lib (0 5))) "emulate vim-sneak & vim-seek" single ((:commit . "8dd076cc56eb9b04494e4e303b86a959b048350b") (: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-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-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-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-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-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-rails . [(20160621 2258) ((evil (1 0)) (projectile-rails (1 0))) "Rails support for Evil Mode" single ((:commit . "c8669783d8a40719b2604c58a4c06c248cab272f") (: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-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-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-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-org . [(20180323 2306) ((emacs (24 4)) (evil (1 0))) "evil keybindings for org-mode" tar ((:commit . "b6d652a9163d3430a9e0933a554bdbee5244bbf6") (:keywords "evil" "vim-emulation" "org-mode" "key-bindings" "presets") (:maintainer "Somelauw") (:url . "https://github.com/Somelauw/evil-org-mode.git"))]) (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-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-nerd-commenter . [(20180722 2325) ((emacs (24 4))) "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar ((:commit . "275c95c89cc09c7096bd6fd0deabd49f29634f5d") (:keywords "commenter" "vim" "line" "evil") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/evil-nerd-commenter"))]) (evil-multiedit . [(20181009 1515) ((emacs (24 4)) (evil (1 2 12)) (iedit (0 97)) (cl-lib (0 5))) "multiple cursors for evil-mode" single ((:commit . "ea38ac2f96c19a45591ece0e8b60252efe324657") (: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-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-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-mc . [(20180921 1727) ((emacs (24 3)) (evil (1 2 13)) (cl-lib (0 5))) "Multiple cursors for evil-mode" tar ((:commit . "2af29ecd2fbed1571c4cc2501dfb2e38ffd4bfa2") (: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-matchit . [(20181111 604) ((evil (1 2 0)) (emacs (24 4))) "Vim matchit ported to Evil" tar ((:commit . "7d65b4167b1f0086c2b42b3aec805e47a0d355c4") (: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-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-magit . [(20180702 1553) ((evil (1 2 3)) (magit (2 6 0))) "evil-based key bindings for magit" single ((:commit . "9e2275b14807168451e10b93d69e420e435f21ef") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/evil-magit"))]) (evil-lispy . [(20170304 1059) ((lispy (0 26 0)) (evil (1 2 12)) (hydra (0 13 5))) "precision Lisp editing with Evil and Lispy" tar ((:commit . "040a7ee130c2403a1d6dac591b94b202bb48e186") (: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-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-lion . [(20170811 614) ((emacs (24 3)) (evil (1 0 0))) "Evil align operator, port of vim-lion" single ((:commit . "aaa3874ad54c31b4322ac5bbc63e331498b11d61") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-lion"))]) (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-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-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-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-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-goggles . [(20180725 952) ((emacs (24 4)) (evil (1 0 0))) "Add a visual hint to evil operations" single ((:commit . "d7876e6566ac82b7c3251a59651e7db6ab756589") (:keywords "emulations" "evil" "vim" "visual") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-goggles"))]) (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-fringe-mark . [(20180728 647) ((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 . "37521e190dc0414a2bfddd6b219527b1a8dd3f58") (: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-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-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-expat . [(20180719 816) ((emacs (24 3)) (evil (1 0 0))) "Evil ex commands" single ((:commit . "3ff831784c5f301330ecced5ebd43cce42980d2b") (:keywords "emulations" "evil" "vim") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:url . "http://github.com/edkolev/evil-expat"))]) (evil-exchange . [(20170511 259) ((evil (1 2 8)) (cl-lib (0 3))) "Exchange text more easily within Evil" single ((:commit . "47691537815150715e64e6f6ec79be7746c96120") (: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-ex-shell-command . [(20180903 614) ((emacs (24 4)) (evil (1 1 0))) "invoke shell-command right from evil-ex" single ((:commit . "dd31672b1f6b67072b06805c9460f90bc682488a") (: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-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-escape . [(20180910 1234) nil "No description available." single ((:commit . "f4e9116bfbaac8c9d210c17ad488e0982291245f"))]) (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-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-easymotion . [(20180114 654) ((emacs (24)) (avy (0 3 0)) (cl-lib (0 5))) "A port of vim's easymotion to emacs" single ((:commit . "79c13ed3bce018ac09d358e642e5bd7025e93603") (:keywords "convenience" "evil") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:url . "https://github.com/pythonnut/evil-easymotion"))]) (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-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-collection . [(20181114 950) ((emacs (25 1)) (cl-lib (0 5)) (evil (1 2 13))) "A set of keybindings for Evil mode" tar ((:commit . "dfa412db04b3714a14a1879679daddefb873b89b") (:keywords "evil" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/emacs-evil/evil-collection"))]) (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-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-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-better-visual-line . [(20181026 1028) ((evil (1 2 13))) "gj and gk visual line mode fix" single ((:commit . "15f77e67fcc3c48db323ccd8c8c4bc249e2911b8") (:keywords "evil" "vim" "motion") (:authors ("<nuckollsp at gmail.com>")) (:maintainer "<nuckollsp at gmail.com>") (:url . "https://github.com/yourfin/evil-better-visual-line"))]) (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-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-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 . [(20181107 1016) ((emacs (24 1)) (undo-tree (0 6 3)) (goto-chg (1 6)) (cl-lib (0 5))) "Extensible Vi layer for Emacs." tar ((:commit . "99bcf8c31ee72a3a571e013f40d105618fb92d19"))]) (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"))]) (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"))]) (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"))]) (eval-sexp-fu . [(20180510 203) ((cl-lib (0)) (highlight (0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "1cfd0f3e167d63080692fad97ffe0091b024ad73") (:keywords "lisp" "highlight" "convenience") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net"))]) (eval-in-repl . [(20171122 1343) ((dash (0 0 0)) (paredit (0 0 0)) (ace-window (0 0 0))) "Consistent ESS-like eval interface for various REPLs" tar ((:commit . "fea05a5b81d74ac53cb2a83aa83a73d9526bcc42") (:url . "https://github.com/kaz-yos/eval-in-repl/"))]) (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"))]) (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"))]) (ethan-wspace . [(20170507 2030) nil "whitespace customizations for emacs" single ((:commit . "e055ee6730c0b03525d32e67511ef6c51e4c29e4") (:keywords "whitespace" "tab" "newline" "trailing" "clean") (:authors ("Ethan Glasser-Camp" . "ethan@betacantrips.com")) (:maintainer "Ethan Glasser-Camp" . "ethan@betacantrips.com"))]) (eterm-256color . [(20181026 1529) ((emacs (24 4)) (xterm-color (1 7)) (f (0 19 0))) "Customizable 256 colors for term." tar ((:commit . "1340f69a78faf4e709ee29875550ecc9f434b216") (:keywords "faces") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:url . "http://github.com/dieggsy/eterm-256color"))]) (etable . [(20161028 2009) ((dash (2 9 0)) (interval-list (0 1)) (emacs (24 4))) "Implementation of javax.swing.JTable for Emacs." tar ((:commit . "d502141f0c69bf95256ba5cb9cd15350c7e942d2"))]) (esxml . [(20171129 807) nil "Library for working with xml via esxml and sxml" tar ((:commit . "5548ceba17deae0c3c6d0092672edc4de3c75ce3"))]) (esup . [(20180727 342) ((cl-lib (0 5)) (emacs (24))) "the Emacs StartUp Profiler (ESUP)" tar ((:commit . "5acb60e8d7a8fef854178f325682765820522b10") (:keywords "convenience" "processes") (:authors ("Joe Schafer" . "joe@jschaf.com")) (:maintainer "Joe Schafer" . "joe@jschaf.com") (:url . "http://github.com/jschaf/esup"))]) (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"))]) (ess-smart-underscore . [(20181112 2102) ((ess (0))) "Ess Smart Underscore" tar ((:commit . "17fde1f2bffffeb67520922e09ebf66693ef0c6f") (:keywords "ess" "underscore") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew Fidler") (:url . "http://github.com/mlf176f2/ess-smart-underscore.el"))]) (ess-smart-equals . [(20150202 601) ((emacs (24)) (ess (5 0))) "better smart-assignment with =-key in R and S" single ((:commit . "e0f5f18f01ed252fde50d051adf1fa6254a254c9") (: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-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 . [(20181117 1705) ((julia-mode (0 3))) "Emacs Speaks Statistics" tar ((:commit . "58b011d78e6394e29dff173f66da652388eb87a8") (: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"))]) (esqlite-helm . [(20151116 850) ((esqlite (0 2 0)) (helm (20131207 845))) "Define helm source for sqlite database" single ((:commit . "bc4047e09b8f6c34802db86095cd465935670dce") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) (esqlite . [(20151206 1206) ((pcsv (1 3 3))) "Manipulate sqlite file from Emacs" single ((:commit . "bc4047e09b8f6c34802db86095cd465935670dce") (:keywords "data") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) (espy . [(20180929 1602) ((emacs (24))) "Emacs Simple Password Yielder" single ((:commit . "3daf31d55dc04bc0cd87f668b0ad106e67711349") (:keywords "convenience") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:url . "https://github.com/walseb/espy"))]) (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"))]) (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"))]) (eslintd-fix . [(20180429 1455) ((dash (2 12 0)) (emacs (24 3))) "use eslint_d to automatically fix js files" single ((:commit . "90e451af4daa190d6c0e29fb714b0501a7cce89a") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/eslintd-fix"))]) (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"))]) (eshell-z . [(20170117 438) ((cl-lib (0 5))) "cd to frequent directory in eshell" single ((:commit . "c9334cbc1552234df3437f35d98e32f4d18446b8") (:keywords "convenience") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-z"))]) (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-prompt-extras . [(20180110 634) nil "Display extra information for your eshell prompt." single ((:commit . "1d8825dcc005b488c6366d0b3015fc6686194eea") (:keywords "eshell" "prompt") (:authors ("Wei Zhao" . "kaihaosw@gmail.com")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/hiddenlotus/eshell-prompt-extras"))]) (eshell-git-prompt . [(20170909 1452) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 11 0))) "Some Eshell prompt for Git users" single ((:commit . "b6bb2d7bd4e393b4170b29891cfefb72ae020aab") (:keywords "eshell" "git") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/eshell-git-prompt"))]) (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-fixed-prompt . [(20170804 1335) ((emacs (25)) (s (1 11 0))) "Restrict eshell to a single fixed prompt" single ((:commit . "4351b214de6d4e8e45279930448e2f93b491848e") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (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-bookmark . [(20170922 1514) ((emacs (24 3))) "Integrate bookmarks with eshell." single ((:commit . "deda4b848b2fb979dbe73ead2cb866610e3596ed") (: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-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"))]) (esh-help . [(20170830 411) ((dash (1 4 0))) "Add some help functions and support for Eshell" single ((:commit . "8a8a9d4d9852f8bd96da3b94e95ff57097ac8ec6") (:keywords "eshell" "extensions") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:url . "https://github.com/tom-tan/esh-help/"))]) (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-autosuggest . [(20171224 255) ((emacs (24 4)) (company (0 9 4))) "History autosuggestions for eshell" single ((:commit . "2fd996c1a29b21e60854a3c90d7d4fc3d5b0aded") (: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"))]) (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"))]) (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"))]) (es-mode . [(20181004 2217) ((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 . "1b7aca9b4e9fcebf4a67682203035eaf75b692e2") (:keywords "elasticsearch") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:url . "http://www.github.com/dakrone/es-mode"))]) (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"))]) (ert-runner . [(20180831 1145) ((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 . "90b8fdd5970ef76a4649be60003b37f82cdc1a65") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-runner.el"))]) (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-junit . [(20180809 2111) ((ert (0)) (emacs (23 4))) "JUnit XML reports from ert results" single ((:commit . "69177610824f20d4c4e16af4b9850fd96bea6491") (: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-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-async . [(20151011 1359) nil "Async support for ERT" single ((:commit . "f64a7ed5b0d2900c9a3d8cc33294bf8a79bc8526") (:keywords "test") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/ert-async.el"))]) (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"))]) (erlstack-mode . [(20181019 2117) ((emacs (25 1)) (dash (2 12 0))) "Minor mode for analysing Erlang stacktraces" single ((:commit . "984ffddb18432ce3e11528052da8c1a5beb31e72") (:keywords "tools" "erlang") (:authors ("k32")) (:maintainer "k32") (:url . "https://github.com/k32/erlstack-mode"))]) (erlang . [(20181011 1236) ((emacs (24 1))) "Erlang major mode" tar ((:commit . "5873f86728d945be654e31d33fd72a9ecd9c6eaa"))]) (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"))]) (ergoemacs-mode . [(20180709 1345) ((emacs (24 1)) (undo-tree (0 6 5)) (cl-lib (0 5))) "Emacs mode based on common modern interface and ergonomics." tar ((:commit . "a5d46653fd3a521276630c81bf75d3e8d224e5cb") (: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"))]) (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"))]) (eredis . [(20181116 346) ((dash (0))) "eredis, a Redis client in emacs lisp" single ((:commit . "adc9d1dafb670b30170446f1e075ac1cffc111a3") (: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/"))]) (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"))]) (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"))]) (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"))]) (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-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-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-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-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-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-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-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-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-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-hl-nicks . [(20180415 1946) nil "ERC nick highlighter that ignores uniquifying chars when colorizing" single ((:commit . "756c4438a8245ccd3e389bf6c9850ee8453783ec") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/erc-hl-nicks"))]) (erc-hipchatify . [(20170314 1637) ((emacs (24 4)) (s (1 10 0)) (alert (1 2)) (request (0 2 0))) "Provide emoticons and html rendering for HipChat" single ((:keywords "erc" "bitlbee" "hipchat" "multimedia") (:authors ("Sean Farley" . "sean@farley.io")) (:maintainer "Sean Farley" . "sean@farley.io") (:url . "https://bitbucket.org/seanfarley/erc-hipchatify"))]) (erc-crypt . [(20161228 1539) ((cl-lib (0 5))) "Symmetric Encryption for ERC" single ((:commit . "731f9264a5bf08a8fc0b5ce69e72058c86f873a5") (:keywords "comm") (:authors (nil . "xristos@sdf.lonestar.org")) (:maintainer nil . "xristos@sdf.lonestar.org") (:url . "https://github.com/atomontage/erc-crypt"))]) (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"))]) (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"))]) (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"))]) (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"))]) (epm . [(20161027 734) ((emacs (24 3)) (epl (0 8))) "Emacs Package Manager" tar ((:commit . "ab3d194fc4d11520d6b9bce4746d7242f3f1606a") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/epm"))]) (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"))]) (epkg . [(20181104 1943) ((closql (1 0 0)) (dash (2 14 1)) (emacs (25 1))) "browse the Emacsmirror package database" tar ((:commit . "c42bc98a711ffa8d2a7b9096b563ac0edb0b9bf3") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/epkg"))]) (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"))]) (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"))]) (eopengrok . [(20160904 659) ((s (1 9 0)) (dash (2 10 0)) (magit (2 1 0)) (cl-lib (0 5))) "opengrok interface for emacs" single ((:commit . "78f734328aaf19c52720415c037708ece1944c4c") (:keywords "tools") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com"))]) (envdir . [(20160221 1923) ((emacs (24)) (dash (2 10 0)) (f (0 17 2))) "Modify environment according to files in a specified directory" single ((:commit . "f29346c55ccf11d8c75628edc6d430ed63c36917") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/envdir-mode"))]) (ensime . [(20180615 1330) ((scala-mode (0 23)) (sbt-mode (0 2)) (yasnippet (0 10 0)) (company (0 9 0)) (dash (2 12 1)) (s (1 11 0)) (popup (0 5 3))) "ENhanced Scala Interaction Mode for Emacs" tar ((:commit . "34eb11dac3ec9d1c554c2e55bf056ece6983add7") (:keywords "languages") (:url . "https://github.com/ensime/ensime-emacs"))]) (enotify . [(20130407 1348) nil "A networked notification system for emacs" tar ((:commit . "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80"))]) (eno . [(20160110 1034) ((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 . "40075bb1ed9e62f42c5799f3d3721734742ed417") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/eno.el"))]) (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"))]) (enh-ruby-mode . [(20180730 2309) ((emacs (24))) "Major mode for editing Ruby files" tar ((:commit . "09e1ed06c1cf323e3b4d45cd86353087e6a12fde") (:keywords "languages" "elisp" "ruby") (:authors ("Geoff Jacobsen")) (:maintainer "Geoff Jacobsen") (:url . "http://github.com/zenspider/Enhanced-Ruby-Mode"))]) (engine-mode . [(20180401 1646) ((cl-lib (0 5))) "Define and query search engines from within Emacs." single ((:commit . "fd5a235b2c93b95143d676e6b654e388d7cdd956") (:authors ("Harry R. Schwartz" . "hello@harryrschwartz.com")) (:maintainer "Harry R. Schwartz" . "hello@harryrschwartz.com") (:url . "https://github.com/hrs/engine-mode"))]) (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"))]) (enclose . [(20121008 1614) nil "Enclose cursor within punctuation pairs." tar ((:commit . "2747653e84af39017f503064bc66ed1812a77259"))]) (emr . [(20180921 2115) ((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)) (iedit (0 97))) "Emacs refactoring system." tar ((:commit . "8856b2ed7e45dd33a5f81e1302a2fba736c64dd6") (:keywords "tools" "convenience" "refactoring") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) (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/"))]) (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"))]) (emojify . [(20180611 1538) ((seq (1 11)) (ht (2 0)) (emacs (24 3))) "Display emojis in Emacs" tar ((:commit . "38ae28d95b58e9fb86a3495a2dda3e5de254c4fc") (:keywords "multimedia" "convenience") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:url . "https://github.com/iqbalansari/emacs-emojify"))]) (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"))]) (emoji-fontset . [(20160726 1924) nil "Set font face for Emoji." single ((:commit . "10be897fa5165fd40fd35a89e38c759e008fa775") (:keywords "emoji" "font" "config") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me"))]) (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-cheat-sheet-plus . [(20150617 1331) ((emacs (24)) (helm (1 6 4))) "emoji-cheat-sheet for emacs" tar ((:commit . "96a003127d646a2683d81ca906a17eace0a6413e") (: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"))]) (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"))]) (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-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-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-mpv . [(20180503 2127) ((emms (0))) "mpv support for EMMS" single ((:commit . "9c9ffc6f00a737a6db6377681a88e5292ebcf86b") (:keywords "multimedia" "emms" "mpv") (:url . "https://github.com/dochang/emms-player-mpv/"))]) (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-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-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-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 . [(20181101 1813) ((cl-lib (0 5))) "The Emacs Multimedia System" tar ((:commit . "56d9ec27dbbe75496e338f6621e196c04472470f") (: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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ember-mode . [(20181001 936) ((cl-lib (0 5))) "Ember navigation mode for emacs" single ((:commit . "88e5ffd33d8664b4d5124d6aa2ea9ed8d50c8c9e") (:keywords "ember" "ember.js" "emberjs") (:authors ("Aad Versteden" . "madnificent@gmail.com")) (:maintainer "Aad Versteden" . "madnificent@gmail.com"))]) (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"))]) (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"))]) (emamux . [(20170227 337) ((emacs (24 3))) "Interact with tmux" single ((:commit . "39f57786b2cdd3844888df42d71c7bd251f07158") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-emamux"))]) (emacsshot . [(20161018 1443) nil "Snapshot a frame or window from within Emacs" tar ((:commit . "11ace77ab718292d05b82d93178380aff591468b") (:keywords "convenience") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl") (:url . "https://github.com/marcowahl/emacsshot"))]) (emacsql-sqlite . [(20180128 2052) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for SQLite" tar ((:commit . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (: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 . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (: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 . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (emacsql . [(20181111 1005) ((emacs (25 1))) "high-level SQL database front-end" tar ((:commit . "f8c3d9fce28ab7d5b0c9fcf2c1236151ca7add24") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (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"))]) (emacsc . [(20161028 1706) nil "helper for emacsc(1)" tar ((:commit . "421e0c567358769e32f670ae8e949d99abae0c28") (:keywords "tools") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:url . "https://github.com/knu/emacsc"))]) (emacsagist . [(20140331 1830) ((cl-lib (0 5))) "Search Packagist.org packages without leaving Emacs" single ((:commit . "aba342ba59c254a88017f25e9fb7a8cd6f2fda83") (:keywords "tools") (:authors ("Brian Zwahr" . "echosa@icloud.com")) (:maintainer "Brian Zwahr" . "echosa@icloud.com") (:url . "http://github.com/echosa/emacsagist"))]) (emacs-setup . [(20120727 1426) nil "Package for maintaining your emacs configuration. Clean up your .emacs!" tar ((:commit . "c783ec13e3b39093fffb6f6d64dccdce8ce4d375"))]) (elx . [(20181111 1007) ((emacs (25 1))) "extract information from Emacs Lisp libraries" single ((:commit . "c554db7e7f2c0c8a503def7739b8205193ba821f") (:keywords "docs" "libraries" "packages") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/elx"))]) (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"))]) (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"))]) (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-multi-term . [(20151022 233) ((emacs (24 4)) (elscreen (1 4 6)) (multi-term (1 3))) "Multi term for elscreen" single ((:commit . "7b6048a0dd80f69460a62bbc6f1af8856141a5ea") (:keywords "elscreen" "multi term") (:authors ("wamei" . "wamei.cho@gmail.com")) (:maintainer "wamei" . "wamei.cho@gmail.com"))]) (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-fr . [(20160920 953) ((elscreen (0)) (seq (1 11))) "Use frame title as screen tab" single ((:commit . "b9c11f80d277086d5d5bf88623e15fc7adbbbe3c") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:url . "http://github.com/rocher/elscreen-fr"))]) (elscreen-buffer-group . [(20181027 528) ((emacs (24 4)) (elscreen (0)) (cl-lib (0 5))) "elscreen buffer group" single ((:commit . "cd671c4a86ff6e481d24d060b4069e518940f9c9") (: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 . [(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"))]) (elsa . [(20181110 959) nil "Emacs Lisp Static Analyser" tar ((:commit . "b43830944fd18f0f9e414e4acf411ad9914f2df3") (:keywords "languages" "lisp") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (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"))]) (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"))]) (elpy . [(20181103 1105) ((company (0 9 2)) (emacs (24 4)) (find-file-in-project (3 3)) (highlight-indentation (0 5 0)) (pyvenv (1 3)) (yasnippet (0 8 0)) (s (1 11 0))) "Emacs Python Development Environment" tar ((:commit . "c60189ec9bba29b75f32dfab814a9c7af96520eb"))]) (elpa-mirror . [(20181013 256) ((emacs (24 4))) "Create local package repository so package upgrade never breaks" single ((:commit . "4e94c5058f67ace2f739f5b3a8cd04d30289febf") (:keywords "cloud" "mirror" "elpa") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:url . "http://github.com/redguardtoo/elpa-mirror"))]) (elpa-clone . [(20170502 1214) ((emacs (24 4)) (cl-lib (0))) "Clone ELPA archive" single ((:commit . "92f4c9d3570ad002575a90d0cc4a522c203a1110") (: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-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"))]) (eloud . [(20160731 1557) ((emacs (24 4))) "A lightweight, interactive screen reader" single ((:commit . "82c97918585bd2a749251ae87d7732ca9d856c16") (:keywords "extensions") (:authors ("Patrick Smyth" . "patricksmyth01@gmail.com")) (:maintainer "Patrick Smyth" . "patricksmyth01@gmail.com") (:url . "https://github.com/smythp/eloud"))]) (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"))]) (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"))]) (elnode . [(20140203 2306) ((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 . "3f2bf225853e40a2a10386ee5ae0bd6ba5d44ce9"))]) (elmine . [(20170511 720) ((s (1 10 0))) "Redmine API access via elisp." single ((:commit . "432d2f2f7cb5b533f25b993d1001abcadcebe8ed") (:keywords "tools") (:authors ("Arthur Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Andersen" . "leoc.git@gmail.com") (:url . "http://github.com/leoc/elmine"))]) (elmacro . [(20180628 1411) ((s (1 11 0)) (dash (2 13 0))) "Convert keyboard macros to emacs lisp" single ((:commit . "89b9b0feabafd01fee48111d67131c4c9b5fed9a") (:keywords "macro" "elisp" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/elmacro"))]) (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"))]) (elm-test-runner . [(20180918 2255) ((emacs (24 4))) "Enhanced support for running elm-test" single ((:commit . "73696add403cee6547fcb6eb4e49798e1583d0e2") (:authors ("Juan Edi")) (:maintainer "Juan Edi") (:url . "https://github.com/juanedi/elm-test-runner"))]) (elm-mode . [(20181114 2235) ((f (0 17)) (let-alist (1 0 5)) (seq (2 2)) (s (1 7 0)) (emacs (24 4)) (dash (2 13 0))) "Major mode for Elm" tar ((:commit . "a52c0c6216145ec1cf39d06541ad74f33f4816cc") (:authors ("Joseph Collard")) (:maintainer "Joseph Collard") (:url . "https://github.com/jcollard/elm-mode"))]) (elixir-yasnippets . [(20150417 1239) ((yasnippet (0 8 0))) "Yasnippets for Elixir" tar ((:commit . "980ca7626c14ef0573bec0035ec7942796062783"))]) (elixir-mode . [(20180711 1245) ((emacs (24)) (pkg-info (0 4))) "Major mode for editing Elixir files" tar ((:commit . "bfd09392a0253e4b96c642472e5d5b757a5254f8") (:keywords "languages" "elixir") (:url . "https://github.com/elixir-lang/emacs-elixir"))]) (elisp-slime-nav . [(20160128 1909) ((cl-lib (0 2))) "Make M-. and M-, work in elisp like they do in slime" single ((:commit . "34938422929800839e2f935aca890cd4a229ca99") (:keywords "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"))]) (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-refs . [(20181111 2223) ((dash (2 12 0)) (loop (1 2)) (s (1 11 0))) "find callers of elisp functions or macros" single ((:commit . "686aa5e6a6cc7cd20c6e11837251e19f303211b6") (:keywords "lisp") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (elisp-lint . [(20180224 2042) ((emacs (24))) "basic linting for Emacs Lisp" single ((:commit . "04b0d36ec0e4dc1bb54c2bf4c2d16b2af8cf6a39") (:keywords "lisp" "maint" "tools") (:authors ("Nikolaj Schumacher <bugs * nschum de>,")) (:maintainer "Nikolaj Schumacher <bugs * nschum de>,") (:url . "http://github.com/gonewest818/elisp-lint/"))]) (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-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-depend . [(20161230 1550) nil "Parse depend libraries of elisp file." single ((:commit . "e4b201ac7dcee4489d58800c299fd04aaa61d07a"))]) (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"))]) (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"))]) (elgrep . [(20181023 959) ((emacs (25 1)) (async (1 9 2))) "Searching files for regular expressions" single ((:commit . "d648df1f2bde466d74c4810d7abab700a10b30d0") (:keywords "tools" "matching" "files" "unix") (:authors ("Tobias Zawada" . "naehring@smtp.1und1.de")) (:maintainer "Tobias Zawada" . "naehring@smtp.1und1.de") (:url . "https://github.com/TobiasZawada/elgrep"))]) (elfeed-web . [(20180829 1716) ((simple-httpd (1 4 3)) (elfeed (1 4 0)) (emacs (24 1))) "web interface to Elfeed" tar ((:commit . "afafa1f7d9e29de55ce5b1709074738a7e185f2a"))]) (elfeed-protocol . [(20181117 1159) ((emacs (24 4)) (elfeed (2 1 1)) (cl-lib (0 5)) (auth-source (0))) "Provide owncloud/ttrss protocols for elfeed" tar ((:commit . "29895e39400a31750dfd3d9a327840d7a59384df") (:keywords "news") (:authors ("Xu Fasheng" . "fasheng.xu@gmail.com")) (:maintainer "Xu Fasheng" . "fasheng.xu@gmail.com") (:url . "https://github.com/fasheng/elfeed-protocol"))]) (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 . "607b8bf4923a995260a072559b77bee188614a06") (:keywords "news") (:authors ("Remy Honig" . "remyhonig@gmail.com")) (:maintainer "Remy Honig" . "remyhonig@gmail.com") (:url . "https://github.com/remyhonig/elfeed-org"))]) (elfeed-goodies . [(20171127 651) ((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 . "fc0c3e72f9fcd7bbf5237f6f2323bc666e8240b4") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/elfeed-goodies"))]) (elfeed . [(20180916 1338) ((emacs (24 3))) "an Emacs Atom/RSS feed reader" tar ((:commit . "afafa1f7d9e29de55ce5b1709074738a7e185f2a"))]) (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"))]) (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"))]) (electric-spacing . [(20161209 1957) nil "Insert operators with surrounding spaces smartly" single ((:commit . "9d0f8a213133f2619a4e9dfbba3b00d4348c07b0") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com"))]) (electric-operator . [(20181030 2155) ((dash (2 10 0)) (emacs (24 4))) "Automatically add spaces around operators" tar ((:commit . "3057f786b2a7b00364da2995da482858e94046e1") (:keywords "electric") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/electric-operator"))]) (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/"))]) (eldoc-overlay . [(20171219 940) ((emacs (24 3)) (inline-docs (1 0 1)) (quick-peek (1 0))) "Display eldoc with contextual documentation overlay." single ((:commit . "a391396f4cdf30a2f27a4c426b58b44ab3d0f0d0") (:keywords "documentation" "eldoc" "overlay") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/eldoc-overlay"))]) (eldoc-eval . [(20180607 1157) nil "Enable eldoc support when minibuffer is in use." single ((:commit . "f59a1ae7ecfa97ef659c7adb93e0673419acc485") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com"))]) (elcouch . [(20180809 936) ((emacs (25 1)) (json-mode (1 0 0)) (libelcouch (0 8 0))) "View and manipulate CouchDB databases" single ((:commit . "ae9b6261c5167d538914bfdbc4d34a36e50b5bc2") (:keywords "data" "tools") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/elcouch"))]) (elcord . [(20181028 650) ((emacs (25))) "Allows you to integrate Rich Presence from Discord" tar ((:commit . "2224b0dd9137c04a62dd8ff7078ab80e9289643e") (:keywords "games") (:authors ("heatingdevice") ("Wilfredo Velázquez-Rodríguez" . "zulu.inuoe@gmail.com")) (:maintainer "heatingdevice") (:url . "https://github.com/Mstrodl/elcord"))]) (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"))]) (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"))]) (el2org . [(20180311 1555) ((emacs (25 1))) "Convert elisp file to org file" single ((:commit . "81f1c97db8911f5bdf92c729630ab509de4ec73f") (:keywords "convenience") (:authors ("Feng Shu <tumashu AT 163.com>")) (:maintainer "Feng Shu <tumashu AT 163.com>") (:url . "https://github.com/tumashu/el2org"))]) (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"))]) (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"))]) (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-sprunge . [(20140107 139) ((web-server (20140105 2246)) (htmlize (20130207 1202)) (emacs (24 3))) "Command line paste server with Emacs highlighting" tar ((:commit . "37855ec60aeb4d565c49a4d711edc7341e9a22cb"))]) (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-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-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-patch . [(20181018 1610) ((emacs (25))) "Future-proof your Elisp." single ((:commit . "3051dd30d6d90b855da16332b5b16b4f754a39c6") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/el-patch"))]) (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-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-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-get . [(20181006 225) nil "Manage the external elisp bits and pieces you depend upon" tar ((:commit . "424487ed3aef4e6a08b48084654e7210deb0512e") (: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-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-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"))]) (ejc-sql . [(20181113 1055) ((emacs (25 1)) (clomacs (0 0 3)) (dash (2 12 1)) (auto-complete (1 5 1)) (spinner (1 7 1)) (direx (1 0 0))) "Emacs SQL client uses Clojure JDBC." tar ((:commit . "9eef50aeecf58fe7cc88722c8ade62edbe22c34e") (:keywords "sql" "jdbc") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/kostafey/ejc-sql"))]) (eink-theme . [(20170717 1507) nil "E Ink color theme" single ((:commit . "4c990bb3428f725735fa1f733ef4c5ad61f632b0") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://github.com/maio/eink-emacs"))]) (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>"))]) (ein . [(20181113 2117) ((websocket (1 7)) (auto-complete (1 4 0)) (request (0 3)) (deferred (0 5)) (request-deferred (0 2 0)) (cl-generic (0 3)) (dash (2 13 0)) (s (1 11 0)) (skewer-mode (1 6 2))) "Emacs IPython Notebook" tar ((:commit . "07bc906df91bc60d1f39426ea2e86482aa03370c"))]) (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"))]) (eide . [(20180626 1959) nil "IDE interface" tar ((:commit . "6bd4c3b67a532527b3514c72bf2d7371172b8a93"))]) (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"))]) (eglot . [(20181117 1112) ((emacs (26 1)) (jsonrpc (1 0 6))) "Client for Language Server Protocol (LSP) servers" single ((:commit . "604c1b0c31f7202f83373dd97f620dbc2dddfa52") (: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"))]) (egison-mode . [(20181109 1624) nil "Egison editing mode" single ((:commit . "7b3094bd92000d8ea2136977dbbcc8db754696b9") (:authors ("Satoshi Egi" . "egisatoshi@gmail.com")) (:maintainer "Satoshi Egi" . "egisatoshi@gmail.com") (:url . "https://github.com/egisatoshi/egison3/blob/master/elisp/egison-mode.el"))]) (egg . [(20180713 918) nil "Emacs Got Git - Emacs interface to Git" tar ((:commit . "5bf9879eec067e25a60f2363137c9e69f7b5cc68") (:keywords "git" "version control" "release management") (:authors ("Bogolisk" . "bogolisk@gmail.com")) (:maintainer "Bogolisk" . "bogolisk@gmail.com"))]) (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"))]) (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"))]) (edts . [(20171030 709) ((auto-complete (1 3 1)) (auto-highlight-symbol (1 53)) (dash (2 13)) (erlang (2 4 1)) (f (0 19 0)) (popup (0 4)) (s (1 11 0))) "Erlang Development Tool Suite" tar ((:commit . "6ef4bdf571235ee1b078db321402270cabff7fda"))]) (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"))]) (editorconfig-generate . [(20181116 635) ((emacs (24))) "Generate .editorconfig" single ((:commit . "2921b53700dedf16b57d684439add187663954cd") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/emacs-lisp/blob/master/editorconfig-generate.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-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-charset-extras . [(20180223 457) ((editorconfig (0 6 0))) "Extra EditorConfig Charset Support" single ((:commit . "ddf60923c6f4841cb593b2ea04c9c710a01d262f") (:keywords "tools") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:url . "https://github.com/10sr/editorconfig-charset-extras-el"))]) (editorconfig . [(20181115 709) ((cl-lib (0 5))) "EditorConfig Emacs Plugin" tar ((:commit . "d6e48c863ed246be8894c6ee3c3c088ab4db4711") (:authors ("EditorConfig Team" . "editorconfig@googlegroups.com")) (:maintainer "EditorConfig Team" . "editorconfig@googlegroups.com") (:url . "https://github.com/editorconfig/editorconfig-emacs#readme"))]) (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"))]) (edit-server . [(20181016 1125) nil "server that responds to edit requests from Chrome" single ((:commit . "81eb5211f79cf5a2234b7a932f6006d27d506aa5") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs_chrome"))]) (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-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-indirect . [(20180422 1807) ((emacs (24 3))) "Edit regions in separate buffers" single ((:commit . "de645d8144e8a08f039a9c88185121ec81d957ef") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/edit-indirect"))]) (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-at-point . [(20150716 1324) nil "edit(copy,cut..) current things(word,symbol..) under cursor" single ((:commit . "3b800c11685102e1eab62ec71c5fc1589ebb81a7") (:authors (nil . "<e.enoson@gmail.com>")) (:maintainer nil . "<e.enoson@gmail.com>") (:url . "http://github.com/enoson/edit-at-point.el"))]) (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"))]) (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"))]) (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 . [(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-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"))]) (edbi-sqlite . [(20160221 1923) ((emacs (24)) (edbi (0 1 3))) "Open sqlite files with edbi" single ((:commit . "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-sqlite"))]) (edbi-minor-mode . [(20160706 1447) ((edbi (0 1 3))) "Use edbi with regular SQL files." single ((:commit . "566a2141a6eb9d9d5d7e1bd7c251d1c5e8f0d2ec") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-minor-mode"))]) (edbi-django . [(20180924 2234) ((emacs (25)) (pythonic (0 1 0)) (edbi (0 1 3))) "Run edbi with django settings" single ((:commit . "c5ae06c4bad57b53c2dbb313cd59e96a1606814d") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-django"))]) (edbi-database-url . [(20160221 1923) ((emacs (24)) (edbi (0 1 3))) "Run edbi with database url" single ((:commit . "d56c580268cd93651998c4c6b1c5558e6b6ca90f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/edbi-database-url"))]) (edbi . [(20160225 141) ((concurrent (0 3 1)) (ctable (0 1 2)) (epc (0 1 1))) "Emacs Database Interface" tar ((:commit . "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))]) (ecukes . [(20171216 1208) ((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 . "3a77ba9f1064c2bca47b401974c009e65727c46e"))]) (eclipse-theme . [(20160430 1022) nil "Theme based on Eclipse circa 2010" single ((:commit . "dc54d9312d97210823b922038076e2b1b132eff2") (:keywords "themes") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/eclipse-theme"))]) (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"))]) (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"))]) (ebib . [(20181018 706) ((dash (2 5 0)) (seq (2 15)) (parsebib (2 3)) (emacs (24 4))) "a BibTeX database manager" tar ((:commit . "0163cbaf843661b1bd612936cbf26e7d1d77235c") (:keywords "text" "bibtex") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm"))]) (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"))]) (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"))]) (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"))]) (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-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-jekyll . [(20181104 1256) ((emacs (24 4))) "Major mode managing jekyll blogs" single ((:commit . "3b810558b5816a5413460e77f4c6009dd8dfedcc") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-easy-jekyll"))]) (easy-hugo . [(20181030 1238) ((emacs (24 4)) (popup (0 5 3))) "Write blogs made with hugo by markdown or org-mode" single ((:commit . "2a87555a74fdc22d690fd19a04eaa53ad51d694b") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-easy-hugo"))]) (easy-escape . [(20161209 1544) nil "Improve readability of escape characters in regular expressions" single ((:commit . "63fa5fcf9a53b7d3c1e872081e65afad5a722ba8") (: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-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"))]) (eacl . [(20180607 1358) ((emacs (24 3)) (ivy (0 9 1))) "Auto-complete line(s) by grepping project" single ((:commit . "ccf1401b1acff67fe445c95e8be7b09e8c3ae5d8") (: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"))]) (e2wm-term . [(20141009 1308) ((e2wm (1 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perspective of e2wm.el for work in terminal" single ((:commit . "65b5ac88043d5c4048920a048f3599904ca55981") (:keywords "tools" "window manager") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:url . "https://github.com/aki2o/e2wm-term"))]) (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-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-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-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-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-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 . [(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>"))]) (e2ansi . [(20180403 1915) ((face-explorer (0 0 3))) "Syntax highlighting support for `less', powered by Emacs." tar ((:commit . "f886e687d50ff58063a92d40623f2400fa913af0") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/e2ansi"))]) (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"))]) (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-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"))]) (dylan-mode . [(20180928 505) nil "Major mode for editing Dylan programs." tar ((:commit . "a347998ae3ab69c181e09d73f49e11666e89fe71") (:authors ("Robert Stockton" . "rgs@cs.cmu.edu")) (:maintainer "Chris Page" . "cpage@opendylan.org"))]) (dyalog-mode . [(20180605 2113) ((cl-lib (0 2)) (emacs (24))) "Major mode for editing Dyalog APL source code" tar ((:keywords "languages") (:authors ("Joakim Hårsman" . "joakim.harsman@gmail.com")) (:maintainer "Joakim Hårsman" . "joakim.harsman@gmail.com") (:url . "https://bitbucket.org/harsman/dyalog-mode/"))]) (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"))]) (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"))]) (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"))]) (dumb-jump . [(20181022 2224) ((emacs (24 3)) (f (0 20 0)) (s (1 11 0)) (dash (2 9 0)) (popup (0 5 3))) "jump to definition for multiple languages without configuration." single ((:commit . "0c893392f6f5e797fc4dcda67cdc44c7ceed31ca") (:keywords "programming") (:authors ("jack angers")) (:maintainer "jack angers"))]) (dumb-diff . [(20171211 2122) ((emacs (24 3))) "fast arbitrary diffs" single ((:commit . "1a2331d283049b71a07c1b06b1e0627a950d55f4") (:keywords "programming" "diff") (:authors ("jack angers")) (:maintainer "jack angers"))]) (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"))]) (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"))]) (dtrt-indent . [(20180921 2221) nil "Adapt to foreign indentation offsets" tar ((:commit . "e860db7235147ed5ac1fd8f12b51dbb7cf2e75f1") (:keywords "convenience" "files" "languages" "c") (:authors ("Julian Scheid" . "julians37@googlemail.com")) (:maintainer "Julian Scheid" . "julians37@googlemail.com"))]) (dtrace-script-mode . [(20150214 623) nil "DTrace code editing commands for Emacs" single ((:commit . "801af1ef16075d31a19830ebb8404bbf3a322f10"))]) (dsvn . [(20130120 2057) nil "Subversion interface" single ((:commit . "17bce692e9bd5a43373d5cb1d66da50e1acb903b") (:keywords "docs") (:authors ("David Kågedal" . "davidk@lysator.liu.se") (" Mattias Engdegård" . "mattiase@acm.org")) (:maintainer "Mattias Engdegård" . "mattiase@acm.org"))]) (drupal-spell . [(20130520 1655) nil "Aspell extra dictionary for Drupal" tar ((:commit . "cddf1dbc71fb4c5c4c50317db6830467fa97cff0") (:keywords "wp") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:url . "https://github.com/arnested/drupal-spell"))]) (drupal-mode . [(20171120 2309) ((php-mode (1 5 0))) "Advanced minor mode for Drupal development" tar ((:commit . "47fda0a38a5b197f4606137d9c3b7d44aaeaa886") (: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"))]) (dropbox . [(20181105 306) ((json (1 2)) (oauth (1 0 3))) "Emacs backend for dropbox" single ((:commit . "761254c7de1bd8f76b2065ee2522e66ce3be032d") (:keywords "dropbox") (:authors ("Pavel Panchekha" . "me@pavpanchekha.com")) (:maintainer "Pavel Panchekha" . "me@pavpanchekha.com"))]) (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"))]) (drill-instructor-AZIK-force . [(20151123 514) ((popup (0 5))) "Support AZIK input" tar ((:commit . "008cea202dc31d7d6fb1e7d8e6334d516403b7a5"))]) (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"))]) (drag-stuff . [(20161108 749) nil "Drag stuff (lines, words, region, etc...) around" tar ((:commit . "6d06d846cd37c052d79acd0f372c13006aa7e7c8"))]) (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"))]) (dracula-theme . [(20180710 1324) ((emacs (24))) "Dracula Theme" single ((:commit . "a1c9888b7876ace60a536d27fb290e788bffc9cb") (:authors ("film42")) (:maintainer "film42") (:url . "https://github.com/dracula/emacs"))]) (dr-racket-like-unicode . [(20161021 1211) ((emacs (24 1))) "DrRacket-style unicode input" single ((:commit . "4953f1c8a68472e157a0dcd0a7e35a4ec2577133") (:keywords "i18n" "tools") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk"))]) (dpkg-dev-el . [(20181022 8) ((debian-el (37))) "Emacs modes for debian packaging" tar ((:commit . "a80f8ac5d81720cce90cf3bc5fbb45d50b1953d7"))]) (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"))]) (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"))]) (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/"))]) (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/"))]) (dotnet . [(20181117 1531) nil "Interact with dotnet CLI tool" single ((:commit . "70ed170caeeecba5fddbd82b0d6aec967b6c6ee4") (:keywords ".net" "tools") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:url . "https://github.com/julienXX/dotnet.el"))]) (dotenv-mode . [(20180207 1914) ((emacs (24 3))) "Major mode for .env files" single ((:commit . "f4c52bcd5313379b9f2460db7f7a33119dfa96ea") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-dotenv-mode"))]) (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"))]) (doom-themes . [(20181101 218) ((emacs (24 4)) (all-the-icons (1 0 0)) (cl-lib (0 5))) "an opinionated pack of modern color-themes" tar ((:commit . "2aa163b8322a55a69296552bc03b1b84413d5abc") (: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"))]) (doom-modeline . [(20181117 2008) ((emacs (25 1)) (all-the-icons (1 0 0)) (shrink-path (0 2 0)) (eldoc-eval (0 1)) (dash (2 11 0))) "A minimal and modern modeline" single ((:commit . "700a0107f28a5f321485fa1e2f03a067be122594") (:keywords "faces" "mode-line") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:url . "https://github.com/seagle0128/doom-modeline"))]) (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/"))]) (doneburn-theme . [(20181110 1857) nil "A light theme based on Bozhidar Batsov's Zenburn" single ((:commit . "9c31dd6d664436df73c776560c7a660041b3a5bf") (: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"))]) (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"))]) (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"))]) (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"))]) (dockerfile-mode . [(20181104 1800) ((emacs (24)) (s (1 12))) "Major mode for editing Docker's Dockerfiles" single ((:commit . "7223d92718f78fa3ab15667cdb2ed90cfeb579e7") (:url . "https://github.com/spotify/dockerfile-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"))]) (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-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 . [(20181101 504) ((emacs (24 5)) (dash (2 14 1)) (docker-tramp (0 1)) (magit-popup (2 12 4)) (s (1 12 0)) (tablist (0 70)) (json-mode (1 7 0))) "Emacs interface to Docker" tar ((:commit . "c36bce1bad03833e0d35e260ed1e402c152606ba") (:keywords "filename" "convenience") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/docker.el"))]) (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"))]) (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"))]) (dna-mode . [(20170804 814) nil "a major mode for editing dna sequences" tar ((:commit . "471d374de22c33eaddd8e41dd8ae29753fab2f6a") (: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"))]) (dmenu . [(20180118 1245) ((cl-lib (0 5))) "simulate the dmenu command line program" single ((:commit . "6e492cd4ee4fb39ecda92776707fc270f54d25e7") (:keywords "convenience" "usability") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com"))]) (dkmisc . [(20131110 1115) ((emacs (24 1))) "Miscellaneous functions required by dk* packages." tar ((:commit . "fe3d49c6f8322b6f89466361acd97585bdfe0608"))]) (dklrt . [(20131110 1341) ((dkmisc (0 50)) (ledger-mode (20130908 1357)) (emacs (24 1))) "Ledger Recurring Transactions." tar ((:commit . "5d6c99f8018335256ab934b4c1049708ae2d48ba"))]) (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"))]) (dkdo . [(20131110 1119) ((dkmisc (0 50)) (emacs (24 1))) "Do List major mode based on org-mode." tar ((:commit . "fd6bb105e8331fafb6385c5238c988c4c5bbe2da"))]) (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"))]) (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"))]) (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-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-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-commands . [(20181029 804) ((emacs (25 1))) "Run django commands" single ((:commit . "4e6387175b56095e53732cf1d3b3422eb85696fb") (:keywords "tools") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:url . "https://github.com/muffinmad/emacs-django-commands"))]) (dizzee . [(20171201 916) nil "A more pleasant way to manage your project's subprocesses in Emacs." tar ((:commit . "e3cf1c2ea5d0fc00747524b6f3c5b905d0a8c8e1"))]) (dix-evil . [(20170105 1423) ((dix (0 3 0)) (evil (1 0 7))) "optional evil-integration with dix.el" single ((:commit . "bcc7fd7aef5d25171978c386c620e09d0ba8d2f8") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (dix . [(20170224 1415) ((cl-lib (0 5))) "minor mode for editing Apertium XML dictionary files" tar ((:commit . "bcc7fd7aef5d25171978c386c620e09d0ba8d2f8") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (ditz-mode . [(20150729 940) nil "Emacs interface to Ditz issue tracking system" single ((:keywords "tools") (:authors ("Glenn Hutchings" . "zondo42@gmail.com")) (:maintainer "Glenn Hutchings" . "zondo42@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (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/"))]) (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"))]) (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"))]) (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-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 . [(20140103 2139) ((makey (0 3))) "discover more of Emacs" single ((:commit . "7b0044bbb3b3bd5d811fdfb0f5ac6ec8de1239df") (:authors ("Mickey Petersen" . "mickey@fyeah.org")) (:maintainer "Mickey Petersen" . "mickey@fyeah.org"))]) (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"))]) (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"))]) (disable-mouse . [(20171227 115) nil "Disable mouse commands globally" single ((:commit . "541363bd6353b8b05375552bab884a6315ea545c") (:keywords "mouse") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/disable-mouse"))]) (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"))]) (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"))]) (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"))]) (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"))]) (direnv . [(20180513 823) ((emacs (24 4)) (dash (2 12 0)) (with-editor (2 5 10))) "direnv support" single ((:commit . "6cf079fe8171bdf4bebefe02e8353d7f13847ebd") (: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"))]) (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"))]) (diredfl . [(20180211 214) ((emacs (24))) "Extra font lock rules for a more colourful dired" single ((:commit . "9b2a89951cee8bdf5c0cb67f9c3ad6ac73abf9cb") (:keywords "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/diredfl"))]) (dired-toggle-sudo . [(20151109 1006) nil "Browse directory with sudo privileges." single ((:commit . "02449dbda4e168f99fe5352c9628df5d39e11483") (:keywords "emacs" "dired") (:authors ("Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>")) (:maintainer "Sebastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>"))]) (dired-toggle . [(20140907 2049) nil "provide a simple way to toggle dired buffer for current directory" single ((:commit . "84efb9ec9c327e4da53cdb7cda5b51dcd0ede0e5") (:keywords "dired" "toggle") (:authors ("Xu FaSheng" . "fasheng.xu@gmail.com")) (:maintainer "Xu FaSheng") (:url . "https://github.com/fasheng/dired-toggle"))]) (dired-subtree . [(20180922 1615) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Insert subdirectories in a tree-like fashion" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-single . [(20180824 312) nil "Reuse the current dired buffer to visit a directory" single ((:commit . "b0ccca83df0542c5525c047ae283c0eadf500f5c") (:keywords "dired" "reuse" "buffer") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "crocket" . "crockabiscuit@gmail.com"))]) (dired-sidebar . [(20181111 1740) ((emacs (25 1)) (dired-subtree (0 0 1))) "Tree browser leveraging dired" single ((:commit . "f7782416e5e8e5018f775106dc61dd3a4e5dda84") (:keywords "dired" "files" "tools") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:url . "https://github.com/jojojames/dired-sidebar"))]) (dired-rsync . [(20180906 1002) ((s (1 12 0)) (dash (2 0 0)) (emacs (24))) "Allow rsync from dired buffers" single ((:commit . "e112bf22c913d1491bb2149250be866ceb1806ff") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/dired-rsync"))]) (dired-rifle . [(20181012 2131) nil "Call rifle(1) from dired" single ((:commit . "a4f7b1e798397688b9c00d3507fcd395ece17a40") (: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-recent . [(20180921 2238) ((emacs (24))) "Dired visited paths history" single ((:commit . "7c5a818ab88fdfa779674931cc6d9466308fcd86") (: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-ranger . [(20180401 2206) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Implementation of useful ranger features for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-rainbow . [(20171202 2248) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Extended file highlighting according to its type" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus 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-open . [(20180922 1113) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Open files from dired using using custom actions" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-narrow . [(20181114 1723) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Live-narrowing of search results for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-launch . [(20180607 1841) nil "Use dired as a launcher" single ((:commit . "ad45940f76ef2f6c3bb55e998829b311de191dae") (:keywords "dired" "launch") (:authors ("David Thompson")) (:maintainer "David Thompson") (:url . "https://github.com/thomp/dired-launch"))]) (dired-k . [(20170313 1503) ((emacs (24 3))) "highlight dired buffer by file size, modified time, git status" tar ((:commit . "c50e8f73358060a448bff66db2d330b52bbeffc1") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-dired-k"))]) (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-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-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-hacks-utils . [(20160527 2136) ((dash (2 5 0))) "Utilities and helpers for dired-hacks collection" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-filter . [(20180922 1107) ((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 . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (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-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-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-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-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-collapse . [(20180724 1644) ((dash (2 10 0)) (f (0 19 0)) (dired-hacks-utils (0 0 1))) "Collapse unique nested paths in dired listing" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (dired-avfs . [(20161012 1104) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "AVFS support for dired" single ((:commit . "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3") (:keywords "files") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com"))]) (dired-atool . [(20180303 740) ((emacs (24))) "Pack/unpack files with atool on dired." single ((:commit . "bfa95c2a9ef81e8de51a15b2a43f707899946f9c") (:keywords "files") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/dired-atool"))]) (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"))]) (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"))]) (dimmer . [(20180218 411) ((emacs (25))) "visually highlight the selected buffer" single ((:commit . "d033fdda154e688e45cca35902dbff9915351b98") (:keywords "faces" "editing") (:authors ("Neil Okamoto")) (:maintainer "Neil Okamoto") (:url . "https://github.com/gonewest818/dimmer.el"))]) (diminish . [(20170419 1736) nil "Diminished modes are minor modes with no modeline display" single ((:commit . "565a983a39d2e2cffab5df13b34f3b6116723208") (: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"))]) (dim-autoload . [(20180318 2027) nil "dim or hide autoload cookie lines" single ((:commit . "788320fe089fafbdf1cb09d2ab4d29d64a804e21") (:keywords "convenience") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/dim-autoload"))]) (dim . [(20160818 949) ((emacs (24 4))) "Change mode-line names of major/minor modes" single ((:commit . "79b81724b951fedffdd3113f473c18990af837a9") (:keywords "convenience") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/dim.el"))]) (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"))]) (digitalocean . [(20180603 925) ((request (2 5)) (emacs (24 4))) "Create and manipulate digitalocean droplets" single ((:commit . "1cac663c4bcb7f8325783954df6c0caf3dc20f6e") (:keywords "processes" "tools") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:url . "https://github.com/olymk2/emacs-digitalocean"))]) (digit-groups . [(20160817 226) ((dash (2 11 0))) "Highlight place-value positions in numbers" single ((:authors ("Michael D. Adams <http://michaeldadams.org>")) (:maintainer "Michael D. Adams <http://michaeldadams.org>") (:url . "http://bitbucket.com/adamsmd/digit-groups"))]) (digistar-mode . [(20160218 1955) nil "major mode for Digistar scripts" single ((:commit . "15288b1e1a04b79b5ab7097fdd26d48b2ff41076") (:keywords "languages") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) (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"))]) (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"))]) (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"))]) (diff-hl . [(20180201 1155) ((cl-lib (0 2)) (emacs (24 3))) "Highlight uncommitted changes using VC" tar ((:commit . "154c64affe7bdd16da814d198277d29bd1b6bb2a") (:keywords "vc" "diff") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "https://github.com/dgutov/diff-hl"))]) (dictionary . [(20140718 329) ((connection (1 10)) (link (1 10))) "Client for rfc2229 dictionary servers" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "interface" "dictionary") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (dictcc . [(20171213 2134) ((emacs (24 4)) (cl-lib (0 5)) (ivy (0 10 0))) "Look up translations on dict.cc" single ((:commit . "7b988413f7719820cd846827525142a23f401e50") (:keywords "convenience") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com"))]) (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"))]) (diary-manager . [(20181027 222) ((emacs (25))) "Simple personal diary." single ((:commit . "1960f854073d37ac0ba6855efda833a790263ee2") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/diary-manager"))]) (dhall-mode . [(20181104 109) ((emacs (24 4))) "a major mode for dhall configuration language" single ((:commit . "1fa48e3aaa1623f2ac3d63a0681f3fb9343fee7a") (:keywords "languages") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:url . "https://github.com/psibi/dhall-mode"))]) (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"))]) (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"))]) (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/"))]) (desktop-environment . [(20180423 853) ((emacs (25 1))) "Helps you control your GNU/Linux computer" single ((:commit . "62fbceded526b8e35c90803bcf80e33ebfe8473a") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (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"))]) (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"))]) (demo-it . [(20180404 332) nil "Create demonstrations" tar ((:commit . "4f74e6f1bb6519587303e20fe59470853b1a0352") (:keywords "demonstration" "presentation" "test") (:authors ("Howard Abrams" . "howard.abrams@gmail.com")) (:maintainer "Howard Abrams" . "howard.abrams@gmail.com"))]) (demangle-mode . [(20180516 245) ((cl-lib (0 1)) (emacs (24))) "Automatically demangle C++ symbols" single ((:commit . "a34b062c8a08d35fe2b9ee66e92f6f9626aae9a3") (:keywords "c" "tools") (:authors ("Ben Liblit" . "liblit@acm.org")) (:maintainer "Ben Liblit" . "liblit@acm.org") (:url . "https://github.com/liblit/demangle-mode"))]) (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"))]) (deft . [(20181029 213) nil "quickly browse, filter, and edit plain text notes" single ((:commit . "47d268355b0d988804e19896770b29da7f01c7aa") (: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/"))]) (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"))]) (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"))]) (define-word . [(20180706 2029) ((emacs (24 3))) "display the definition of word at point." single ((:commit . "637cd29837d4bd5567e17a11a479fd2edfb0e2c1") (:keywords "dictionary" "convenience") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/define-word"))]) (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"))]) (default-text-scale . [(20180521 649) nil "Easily adjust the font size in all frames" single ((:commit . "512d701df5e2079cad33329184fd7683c3b0b0af") (:keywords "frames" "faces") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/default-text-scale"))]) (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"))]) (dedicated . [(20090428 1931) nil "A very simple minor mode for dedicated buffers" single ((:commit . "8275fb672f9cc4ba6682ebda0ef91db827e32992") (:keywords "dedicated" "buffer") (:authors ("Eric Crampton" . "eric@atdesk.com")) (:maintainer "Eric Crampton" . "eric@atdesk.com"))]) (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"))]) (decide . [(20180316 1801) nil "rolling dice and other random things" single ((:commit . "257f0e39ac60ca375942950b44eeaee04cb9d961") (:authors ("Pelle Nilsson" . "perni@lysator.liu.se")) (:maintainer "Pelle Nilsson" . "perni@lysator.liu.se"))]) (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"))]) (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"))]) (debian-el . [(20181020 1513) nil "Emacs helpers specific to Debian users" tar ((:commit . "a499822afc2154ca83edf6a605ed22c5a932fa12"))]) (deadgrep . [(20181021 1349) ((emacs (25 1)) (dash (2 12 0)) (s (1 11 0)) (spinner (1 7 3))) "fast, friendly searching with ripgrep" single ((:commit . "4e177d7c540f0a6d317f08a15dcfec6ba97609fc") (:keywords "tools") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/deadgrep"))]) (ddskk . [(20180707 532) ((ccc (1 43)) (cdb (20141201 754))) "Simple Kana to Kanji conversion program." tar ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992"))]) (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"))]) (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"))]) (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"))]) (datomic-snippets . [(20180817 1045) ((s (1 4 0)) (dash (1 2 0)) (yasnippet (0 6 1))) "Yasnippets for Datomic" tar ((:commit . "4a14228840d5252e13d2bf6209670f26345bbb84"))]) (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"))]) (datetime . [(20181021 1750) ((emacs (24 1)) (extmap (1 0))) "Parsing, formatting and matching timestamps" tar ((:commit . "178befd4881f407ad97c05fadb74589ade7297f2") (:keywords "lisp" "i18n") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:url . "https://github.com/doublep/datetime"))]) (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"))]) (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"))]) (dashboard . [(20180902 1848) ((emacs (24 4)) (page-break-lines (0 11))) "A startup screen extracted from Spacemacs" tar ((:commit . "caef4564d50cc00b748d98f6180f26d4036cc8c6") (:keywords "startup" "screen" "tools") (:authors ("Rakan Al-Hneiti")) (:maintainer "Rakan Al-Hneiti") (:url . "https://github.com/rakanalh/emacs-dashboard"))]) (dash-functional . [(20180107 1618) ((dash (2 0 0)) (emacs (24))) "Collection of useful combinators for Emacs Lisp" single ((:commit . "6514359b8606a6a9a94068ccd601fcd6379d6584") (:keywords "lisp" "functions" "combinators"))]) (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 . [(20180910 1856) nil "A modern list library for Emacs" single ((:commit . "6514359b8606a6a9a94068ccd601fcd6379d6584") (:keywords "lists") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (dart-mode . [(20181012 346) ((emacs (24 5)) (cl-lib (0 5)) (dash (2 10 0)) (flycheck (0 23)) (s (1 10))) "Major mode for editing Dart files" single ((:commit . "5d0a7cd09305d2dc4584e72a008db3f099228000") (:keywords "language") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:url . "https://github.com/nex3/dart-mode"))]) (darktooth-theme . [(20181013 906) ((autothemer (0 2))) "From the darkness... it watches" single ((:commit . "780f9e25ae4abccab4e053f2caba7add4bc9d3be") (:url . "http://github.com/emacsfodder/emacs-theme-darktooth"))]) (darkokai-theme . [(20181019 1859) nil "A darker variant on Monokai." single ((:commit . "b887fc6080f8e021058bff7f53fad84c82c81a7a") (:url . "http://github.com/sjrmanning/darkokai"))]) (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"))]) (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"))]) (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"))]) (dark-mint-theme . [(20160302 642) nil "dark & minty fresh theme" single ((:commit . "95c30a26de31549cd341184ba9ab2be8fdc67eba"))]) (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"))]) (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"))]) (darcsum . [(20140316 410) nil "a pcl-cvs like interface for managing darcs patches" tar ((:commit . "00c252b51cb24c25fb74f529960ebd631514a4c1") (:keywords "completion" "convenience" "tools" "vc") (:authors ("John Wiegley" . "johnw@gnu.org")) (:maintainer "John Wiegley" . "johnw@gnu.org"))]) (dap-mode . [(20181026 1913) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (4 0)) (dash-functional (1 2 0)) (tree-mode (1 1 1 1)) (bui (1 1 0)) (f (0 20 0)) (s (1 12 0))) "Debug Adapter Protocol mode" tar ((:commit . "c99258d944f877bcf778375511582c852e4f3e76") (:keywords "languages" "debug") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:url . "https://github.com/yyoncho/dap-mode"))]) (dante . [(20180916 729) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (haskell-mode (13 14)) (s (1 11 0)) (lcr (1 0))) "Development mode for Haskell" single ((:commit . "f16562abe570f5ca0e7abbf8c7058c81976a921f") (: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"))]) (danneskjold-theme . [(20181101 757) nil "Beautiful high-contrast Emacs theme." tar ((:commit . "5c55c2ced259e8bbf658b23fc0cb74946caa009e"))]) (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"))]) (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"))]) (daemons . [(20180610 1510) ((emacs (25 1))) "UI for managing init system daemons (services)" tar ((:commit . "dcf42cb3178d7245d6d49de346d5e2b44e5b7498") (:keywords "unix" "convenience") (:authors ("Chris Bowdon")) (:maintainer "Chris Bowdon") (:url . "https://github.com/cbowdon/daemons.el"))]) (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"))]) (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"))]) (d-mode . [(20181011 1927) ((emacs (24 3))) "D Programming Language major mode for (X)Emacs" single ((:commit . "385cda4afad79000b4cb7704861faf34009b0fc2") (:keywords "d" "programming" "language" "emacs" "cc-mode") (:authors ("William Baxter")) (:maintainer "Russel Winder" . "russel@winder.org.uk"))]) (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"))]) (cython-mode . [(20180213 1654) nil "Major mode for editing Cython files" single ((:commit . "97f5e715acf082cb013169b57966f37708a717ee"))]) (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"))]) (cyphejor . [(20180101 618) ((emacs (24 4))) "Shorten major mode names using user-defined rules" single ((:commit . "df449180d28691c9bdbef7bcb25aee75b2af50ca") (:keywords "mode-line" "major-mode") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/cyphejor"))]) (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"))]) (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"))]) (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"))]) (cyberpunk-theme . [(20180609 509) nil "Cyberpunk Color Theme" single ((:commit . "f8967e46b8bdb3eaf7b72474f2d70997dc1152e9") (:keywords "color" "theme" "cyberpunk") (:authors ("Nicholas M. Van Horn" . "nvanhorn@protonmail.com")) (:maintainer "Nicholas M. Van Horn" . "nvanhorn@protonmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (cubicle-mode . [(20171009 1957) nil "Major mode for the Cubicle model checker" single ((:commit . "c2fba597da83b9ddc1195f1c8710d5330db24735") (:authors ("Alain Mebsout")) (:maintainer "Alain Mebsout"))]) (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"))]) (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"))]) (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"))]) (ctags-update . [(20170728 758) nil "(auto) update TAGS in parent directory using exuberant-ctags" single ((:commit . "783bf91eba1cd27cbb739067a24e15e5e04564e6") (:keywords "exuberant-ctags" "etags") (:authors (nil . "Joseph(纪秀峰) jixiuf@gmail.com")) (:maintainer nil . "Joseph(纪秀峰) jixiuf@gmail.com") (:url . "https://github.com/jixiuf/ctags-update"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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-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"))]) (csound-mode . [(20180925 1814) ((emacs (25)) (shut-up (0 3 2)) (multi (2 0 1))) "A major mode for interacting and coding Csound" tar ((:commit . "9bc2d0badf8316cca2d167348bb81a82e34297c8") (:authors ("Hlöðver Sigurðsson" . "hlolli@gmail.com")) (:maintainer "Hlöðver Sigurðsson" . "hlolli@gmail.com") (:url . "https://github.com/hlolli/csound-mode"))]) (csharp-mode . [(20181011 718) nil "C# mode derived mode" single ((:commit . "239527c1f27cf5246505f1faf23269487fdbfdd2") (: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"))]) (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"))]) (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"))]) (crystal-mode . [(20180827 329) ((emacs (24 4))) "Major mode for editing Crystal files" single ((:commit . "8649736fea8960a5e54c3ec934484f231a518ea5") (:keywords "languages" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))]) (cryptsy-public-api . [(20141008 1228) ((json (1 2))) "Library for working with the Cryptsy public API" single ((:commit . "795c204452f880c0087663e7c35faf26ea34af4d") (:keywords "cryptsy" "bitcoin" "litecoin" "dogecoin") (:authors ("Phil Newton" . "phil@sodaware.net")) (:maintainer "Phil Newton" . "phil@sodaware.net"))]) (cryptol-mode . [(20180321 1808) nil "Cryptol major mode for Emacs" single ((:commit . "91f8ad617e5db2fad57a7be1da211f22f3b51550") (: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"))]) (crux . [(20181108 827) ((seq (1 11))) "A Collection of Ridiculously Useful eXtensions" single ((:commit . "308f17d914e2cd79cbc809de66d02b03ceb82859") (:keywords "convenience") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "https://github.com/bbatsov/crux"))]) (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"))]) (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"))]) (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"))]) (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"))]) (creds . [(20140510 1706) ((s (1 9 0)) (dash (2 5 0))) "A parser credentials file library (not limited to credentials entries)" tar ((:commit . "b059397a7d59481f05fbb1bb9c8d3c2c69226482"))]) (creamsody-theme . [(20170222 1058) ((autothemer (0 2))) "Straight from the soda fountain." single ((:commit . "32fa3f4e461da92700523b1b20e7b28974c19a26") (:url . "http://github.com/emacsfodder/emacs-theme-creamsody"))]) (crappy-jsp-mode . [(20140311 931) nil "A pretty crappy major-mode for jsp." single ((:commit . "6c45ab92b452411cc0fab9bcee2f456276b4fc40") (:keywords "jsp" "major" "mode"))]) (cquery . [(20180811 2131) ((emacs (25 1)) (lsp-mode (3 4)) (dash (0 13))) "cquery client for lsp-mode" tar ((:commit . "a803e92e77e1ffc74c13a753c1eb4f6f47127a97") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani")) (:maintainer "Tobias Pisani") (:url . "https://github.com/jacobdufault/cquery"))]) (cql-mode . [(20160721 339) ((emacs (24))) "Major mode for editting CQLs" single ((:commit . "2529ade55c125a89d8215f096a74733a90611c5d") (: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"))]) (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"))]) (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"))]) (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"))]) (coverlay . [(20180518 2255) ((emacs (24 1)) (cl-lib (0 5))) "Test coverage overlays" single ((:commit . "8205a845d58755dd7640b2e2b5991bf842998935") (: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"))]) (coverage . [(20180227 457) ((ov (1 0)) (cl-lib (0 5))) "Code coverage line highlighting" single ((:commit . "c73d984168955ca0f47f44b0464aa45282df42b6") (: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"))]) (cov . [(20180415 2031) ((emacs (24 4)) (f (0 18 2)) (s (1 11 0)) (elquery (0))) "Show coverage stats in the fringe." single ((:commit . "7c72a949b9628296af97cc7e4df0af6c3824d66e") (:keywords "coverage" "gcov" "c") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:url . "https://github.com/AdamNiederer/cov"))]) (counsel-world-clock . [(20171202 737) ((ivy (0 9 0)) (s (1 12 0))) "Display world clock using Ivy." single ((:commit . "04153fbb21e51b1cfd042bdfc6ed1e8355a1edd7") (:authors ("Kuang Chen <http://github.com/kchenphy>")) (:maintainer "Kuang Chen <http://github.com/kchenphy>") (:url . "https://github.com/kchenphy/counsel-world-clock"))]) (counsel-tramp . [(20180911 157) ((emacs (24 3)) (counsel (0 10))) "Tramp ivy interface for ssh, docker, vagrant" single ((:commit . "d44b986135fc09c8feefdba3caa55cc59cefc1e8") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-counsel-tramp"))]) (counsel-spotify . [(20180320 322) ((emacs (25)) (ivy (0 9 0))) "Control Spotify search and select music with Ivy." single ((:commit . "9033e207dccdfea7fe590d2e102d50fcd2bd22e3") (:authors ("Lautaro García <https://github.com/Lautaro-Garcia>")) (:maintainer "Lautaro García <https://github.com/Lautaro-Garcia>"))]) (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-projectile . [(20181020 1906) ((counsel (0 10 0)) (projectile (1 0 0))) "Ivy integration for Projectile" single ((:commit . "7607fb8bb4eb7fbe0ec20f9644b6bbaa5c363330") (:keywords "project" "convenience") (:authors ("Eric Danan")) (:maintainer "Eric Danan") (:url . "https://github.com/ericdanan/counsel-projectile"))]) (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-org-clock . [(20180623 1317) ((emacs (24 3)) (ivy (0 10 0)) (dash (2 0))) "Counsel commands for org-clock" single ((:commit . "960c919ed730f95b740cc6b3b9c17e0e1765d7d8") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/counsel-org-clock"))]) (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-notmuch . [(20180714 40) ((emacs (24)) (ivy (0 10 0)) (notmuch (0 21)) (s (1 12 0))) "Search emails in Notmuch asynchronously with Ivy" single ((:commit . "f4c864eca400abe0bb7420bcee80f2f8259ca0ff") (:keywords "mail") (:authors ("Alexander Fu Xi" . "fuxialexander@gmail.com")) (:maintainer "Alexander Fu Xi" . "fuxialexander@gmail.com") (:url . "https://github.com/fuxialexander/counsel-notmuch"))]) (counsel-gtags . [(20170326 1259) ((emacs (24 3)) (counsel (0 8 0))) "ivy for GNU global" single ((:commit . "220ebb48419ee6891ecbf9ea8fe130b494b17ee2") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-counsel-gtags"))]) (counsel-etags . [(20181118 32) ((emacs (24 4)) (counsel (0 9 1))) "Fast and complete Ctags/Etags solution using ivy" tar ((:commit . "85ef65320c75d3fa10ce8b2520aba7cc45e45be6") (: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-dash . [(20160729 1529) ((emacs (24 4)) (dash (2 12 1)) (dash-functional (1 2 0)) (helm-dash (1 3 0)) (counsel (0 8 0))) "Browse dash docsets using Ivy" single ((:commit . "07fa74a94ff4da5b6c8c4810f5e143e701b480d2") (:keywords "dash" "ivy" "counsel") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:url . "https://github.com/nathankot/counsel-dash"))]) (counsel-css . [(20180302 1036) ((emacs (24 4)) (counsel (0 7 0)) (cl-lib (0 5))) "stylesheet-selector-aware swiper" single ((:commit . "0536af00236cdce1ed08b40dd46c917e8b4b8869") (: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-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-bbdb . [(20171130 137) ((ivy (0 8 0)) (emacs (24 3))) "Quick search&input email from BBDB based on ivy" single ((:commit . "c86f4b9ef99c9db0b2c4196a300d61300dc2d0c1") (: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 . [(20181111 1805) ((emacs (24 3)) (swiper (0 9 0))) "Various completion functions using Ivy" single ((:commit . "d76968a85f9dc5dcebdc25eb8e3af2cd2775319e") (:keywords "convenience" "matching" "tools") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/swiper"))]) (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"))]) (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"))]) (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"))]) (copyit-pandoc . [(20160624 2028) ((emacs (24)) (copyit (0 0 1)) (pandoc (0 0 1))) "Copy it, yank anything!" single ((:commit . "f50d033b129d467fb517a351adf3f16cabd82a62") (:keywords "convinience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (copyit . [(20161126 1229) ((emacs (24)) (cl-lib (0 5)) (s (1 9 0))) "Copy it, yank anything!" single ((:commit . "f50d033b129d467fb517a351adf3f16cabd82a62") (:keywords "convenience" "yank" "clipboard") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (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"))]) (copy-as-format . [(20171216 16) ((cl-lib (0 5))) "Copy buffer locations as GitHub/Slack/JIRA/HipChat/... formatted code" single ((:commit . "971957166fe64d914ec4be209b4f80efeeabbb19") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (constant-theme . [(20180921 1012) ((emacs (24 1))) "A calm, dark, almost monochrome color theme." tar ((:commit . "f7d5bb79b39be65951485c17fe2092cc74b75c7b") (:keywords "themes") (:authors ("Jannis Pohlmann" . "contact@jannispohlmann.de")) (:maintainer "Jannis Pohlmann" . "contact@jannispohlmann.de") (:url . "https://github.com/jannis/emacs-constant-theme"))]) (connection . [(20140718 329) nil "TCP-based client connection" single ((:commit . "a23b8f4a422d0de69a006ed010eff5795319db98") (:keywords "network") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net"))]) (conllu-mode . [(20181104 1742) ((emacs (25)) (cl-lib (0 5)) (flycheck (30)) (hydra (0 13 0)) (s (1 0))) "editing mode for CoNLL-U files" tar ((:commit . "1813121d8aafa0edf28741ad6f013573168cd4a6") (:keywords "extensions") (:authors ("bruno cuconato" . "bcclaro+emacs@gmail.com")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:url . "https://github.com/odanoburu/conllu-mode"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (conda . [(20181107 1951) ((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 . "94e9ece8c90f234b3fafd0fb82a1c24e3473c78e") (: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"))]) (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"))]) (composer . [(20180923 1140) ((emacs (24)) (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 . "6c1578b2352c81cc9a22616a70db2a14b7d2b67f") (:keywords "tools" "php" "dependency" "manager") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/zonuexe/composer.el"))]) (composable . [(20170724 647) ((emacs (24 4))) "composable editing" tar ((:commit . "ac981974f89607393cc61314aaa19672d45b0650") (:keywords "lisp") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io"))]) (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 . "ef87d020d3314efbac2e8925c115d0ac5c128c2a") (:url . "https://github.com/abingham/emacs-ycmd"))]) (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-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-try-hard . [(20150902 2206) ((emacs (24 3)) (company (0 8 0)) (dash (2 0))) "get all completions from company backends" single ((:commit . "70b94cfc40c576af404e743133979048e1bd2610") (:keywords "matching") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (company-terraform . [(20180703 1233) ((emacs (24 4)) (company (0 8 12)) (terraform-mode (0 6))) "A company backend for terraform" tar ((:commit . "9c1146bfe23d4c461f4a59577faf4e46fcca7fe9") (: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-tern . [(20161004 1847) ((company (0 8 0)) (tern (0 0 1)) (dash (2 8 0)) (dash-functional (2 8 0)) (s (1 9 0)) (cl-lib (0 5 0))) "Tern backend for company-mode" single ((:commit . "10ac058b065ae73c1f30e9fb7d969dd1a79387be") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/company-tern"))]) (company-tabnine . [(20181114 417) ((emacs (25)) (company (0 9 3)) (cl-lib (0 5)) (unicode-escape (1 1)) (s (1 12 0))) "A company-mode backend for TabNine" single ((:commit . "85277a840357142c44843172b2a2898ad74587a7") (:keywords "convenience") (:authors ("Tommy Xiang" . "tommyx058@gmail.com")) (:maintainer "Tommy Xiang" . "tommyx058@gmail.com") (:url . "https://github.com/TommyX12/company-tabnine/"))]) (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-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-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-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 . "d6c48a1cb64d3c8a825dc0d06c839f2cacd4d289") (: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-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 . "6ae625f80d90e0779c79de38e8f83a336c1d00fa") (: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-rtags . [(20180730 338) ((emacs (24 3)) (company (0 8 1)) (rtags (2 10))) "RTags back-end for company" single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (company-restclient . [(20151202 1201) ((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 . "19d819b14b7cd186a840369060963a08377d052e") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-restclient"))]) (company-reftex . [(20180713 841) ((emacs (25 1)) (s (1 12)) (company (0 8))) "Company backend based on RefTeX." single ((:commit . "d96ce340851499452c8d4d64bee80a3d7f9e9275") (: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-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-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-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-prescient . [(20181022 2256) ((emacs (25 1)) (prescient (2 2 1)) (company (0 9 6))) "prescient.el + Company" single ((:commit . "1623a0d4e5b9a752db45923fd91da48b49c85068") (:keywords "extensions") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:url . "https://github.com/raxod502/prescient.el"))]) (company-posframe . [(20180610 1710) ((emacs (26 0)) (company (0 9 0)) (posframe (0 1 0))) "Use a posframe as company candidate menu" single ((:commit . "47861f501891d3c67958353c25f4dce13b386c3d") (:keywords "abbrev" "convenience" "matching") (:authors ("Clément Pit-Claudel, Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/company-posframe"))]) (company-pollen . [(20160812 1510) ((company (0 9 0)) (pollen-mode (1 0))) "company-mode completion backend for pollen" single ((:commit . "3b57f40f78eb4458e7be41dc4051f9cf0ff6982e") (:keywords "languages" "pollen" "pollenpub" "company") (:authors ("Junsong Li <ljs.darkfish AT GMAIL>")) (:maintainer "Junsong Li") (:url . "https://github.com/lijunsong/pollen-mode"))]) (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-phpactor . [(20181110 902) ((emacs (24 3)) (cl-lib (0 5)) (company (0 9 6)) (phpactor (0 1 0))) "company-mode backend for Phpactor" single ((:commit . "eda8b34a729b3acb641aafa30552c501dec27d37") (: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-php . [(20181110 303) ((cl-lib (0 5)) (ac-php-core (1)) (company (0 9))) "company completion source for php" single ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (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 . "45c8d90748304c90e1503c9fa8db0443f3d4bd89") (: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-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-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-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-math . [(20171016 1514) ((company (0 8 0)) (math-symbol-lists (1 2))) "Completion backends for unicode math symbols and latex tags" single ((:commit . "3481f03ebb6a613ff85b71ca8edd2d5842c49012") (:keywords "unicode" "symbols" "completion") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:url . "https://github.com/vspinu/company-math"))]) (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-lsp . [(20181105 1644) ((emacs (25 1)) (lsp-mode (3 4)) (company (0 9 0)) (s (1 2 0)) (dash (2 11 0))) "Company completion backend for lsp-mode." single ((:commit . "d333e5594f8d5e5cb96309f8a913747ff83ab089") (:url . "https://github.com/tigersoldier/company-lsp"))]) (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 . "9d6b8471e2044310b4cd7cd3213b1fc8f78ec499") (: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-jedi . [(20151217 321) ((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 . "2f54e791e10f5dc0ff164bfe97f1878359fab6f6") (:authors ("Boy" . "boyw165@gmail.com")) (:maintainer "Boy" . "boyw165@gmail.com"))]) (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-irony . [(20170905 2046) ((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 . "52aca45bcd0f2cb0648fcafa2bbb4f8ad4b2fee7") (:keywords "convenience") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:url . "https://github.com/Sarcasm/company-irony/"))]) (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-go . [(20180427 1856) ((company (0 8 0)) (go-mode (1 0 0))) "company-mode backend for Go (using gocode)" single ((:commit . "6730ddbe5142ea62dc8fe415bb1909d2966f7d9e") (:keywords "languages") (:authors ("nsf" . "no.smile.face@gmail.com")) (:maintainer "nsf" . "no.smile.face@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-ghci . [(20160311 200) ((company (0 8 11)) (haskell-mode (13))) "company backend which uses the current ghci process." single ((:commit . "c2d74a41166e76de2e78c87f582ba3a1179b2aa6") (:authors ("Hector Orellana" . "hofm92@gmail.com")) (:maintainer "Hector Orellana" . "hofm92@gmail.com"))]) (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-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-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-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-emoji . [(20180925 2008) ((cl-lib (0 5)) (company (0 8 0))) "company-mode backend for emoji" tar ((:commit . "f0d91d5be0077b20b418a3ba37d36f431fae322f") (: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-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (company (0 7)) (cl-lib (0 5))) "Eclim company backend" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))]) (company-edbi . [(20160221 1923) ((company (0 8 5)) (edbi (0 1 3)) (cl-lib (0 5 0)) (s (1 9 0))) "Edbi backend for company-mode" single ((:commit . "ffaeff75d0457285d16d11db772881542a6026ad") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/company-edbi"))]) (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-dict . [(20180216 956) ((emacs (24 4)) (company (0 8 12)) (parent-mode (2 3))) "A backend that emulates ac-source-dictionary" single ((:commit . "7ab6331d8095e9b93c726da754102fd708c0002e") (: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-dcd . [(20170516 910) ((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 . "4832188a9e42287539a69c372fe1643166a6a7aa") (:keywords "languages") (:authors ("tsukimizake <shomasd_at_gmail.com>")) (:maintainer "tsukimizake <shomasd_at_gmail.com>") (:url . "http://github.com/tsukimizake/company-dcd"))]) (company-coq . [(20181107 2136) ((company-math (1 1)) (company (0 8 12)) (yasnippet (0 11 0)) (dash (2 12 1)) (cl-lib (0 5))) "A collection of extensions for Proof General's Coq mode" tar ((:commit . "24f33527c5917cdd4c3c139f966c49c33b21d4d0"))]) (company-childframe . [(20180705 546) ((emacs (26 0)) (company-posframe (0 1 0))) "Please use company-posframe instead." single ((:commit . "562eaa1e3a0c39dd36f10cda37a3724384fde1df") (:keywords "abbrev" "convenience" "matching") (:authors ("Clément Pit-Claudel, Feng Shu")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/company-mode/company-mode"))]) (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-c-headers . [(20180814 1730) ((emacs (24 1)) (company (0 8))) "Company mode backend for C/C++ header files" single ((:commit . "41331192b3961c8e3a51540678e1d11eaa346f03") (:keywords "development" "company") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net"))]) (company-box . [(20180607 1545) ((emacs (26 0 91)) (dash (2 13)) (dash-functional (1 2 0)) (company (0 9 6))) "Company front-end with icons" tar ((:commit . "6e047e6fd7226a1b8292a74985db82bbccc679c7") (: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-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-axiom . [(20171024 2010) ((emacs (24)) (company (0 9)) (axiom-environment (20171021))) "A company-mode backend for the axiom-environment system" single ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas" "axiom-environment") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))]) (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-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-ansible . [(20180701 1813) ((emacs (24 4)) (company (0 8 12))) "A company back-end for ansible" tar ((:commit . "c6dc714e3a15f89671ae5e8fe668858b20ef63e8") (:keywords "ansible") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:url . "https://github.com/krzysztof-magosa/company-ansible"))]) (company-anaconda . [(20181025 1305) ((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 . "0ab70de1740e67cee451abcf3685c7525ff9e95a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (company . [(20181105 2312) ((emacs (24 3))) "Modular text completion framework" tar ((:commit . "c95a6b41d621de4253b77e512aa61fc0e75acddc") (:keywords "abbrev" "convenience" "matching") (:authors ("Nikolaj Schumacher")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:url . "http://company-mode.github.io/"))]) (common-lisp-snippets . [(20180226 1523) ((yasnippet (0 8 0))) "Yasnippets for Common Lisp" tar ((:commit . "1ddf808311ba4d9e8444a1cb50bd5ee75e4111f6") (:keywords "snippets") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/common-lisp-snippets"))]) (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"))]) (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"))]) (commentary-theme . [(20180816 2115) ((emacs (24))) "A minimal theme with contrasting comments" single ((:commit . "1e2a64719b9d52992c6cdb91911ab313bcd69a77") (:url . "https://github.com/pzel/commentary-theme"))]) (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"))]) (comment-dwim-2 . [(20170809 2054) nil "An all-in-one comment command to rule them all" single ((:commit . "8da8aba4cab4a0a1eef3aea2de219227526876e4") (:keywords "convenience") (:authors ("Rémy Ferré" . "dev@remyferre.net")) (:maintainer "Rémy Ferré" . "dev@remyferre.net") (:url . "https://github.com/remyferre/comment-dwim-2"))]) (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"))]) (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"))]) (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"))]) (comint-intercept . [(20170317 1228) ((emacs (24 3))) "Intercept input in comint-mode" single ((:commit . "a329abf01fa8e0c6b02b46b29bcb421a21120dc5") (: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"))]) (comb . [(20180831 721) ((emacs (25 1))) "Interactive grep tool for manual static analysis" tar ((:commit . "69d59284e19428794b5c0aaa9be0e7d2770cc846") (:keywords "matching") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:url . "https://github.com/cyrus-and/comb"))]) (com-css-sort . [(20180927 1543) ((emacs (24 4)) (s (1 12 0))) "Common way of sorting the CSS attributes." single ((:commit . "d4121d2dc88b2f33c1b60a326a07e6f78e1f7a91") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/com-css-sort"))]) (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"))]) (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"))]) (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"))]) (color-theme-solarized . [(20171024 1525) ((color-theme (6 5 5))) "Solarized themes for Emacs" tar ((:commit . "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee"))]) (color-theme-sanityinc-tomorrow . [(20181024 1728) nil "A version of Chris Kempson's \"tomorrow\" themes" tar ((:commit . "d3c694f4c423bc8cfc74bd80d624b974ebc94e02") (: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-sanityinc-solarized . [(20181021 2055) nil "A version of Ethan Schoonover's Solarized themes" tar ((:commit . "fa2afc66beebdf7936b9f1391878798d6426730c") (:keywords "themes") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "http://github.com/purcell/color-theme-sanityinc-solarized"))]) (color-theme-modern . [(20161219 1144) ((emacs (24))) "Reimplement colortheme with Emacs 24 theme framework." tar ((:commit . "42a79266f1d7b473e9328e67a455e505e6c3eff5") (:url . "https://github.com/emacs-jp/replace-colorthemes/"))]) (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-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 . [(20080305 834) nil "install color themes" tar ((:commit . "eeb07560b30aaf7934dfd21f5c2518a479905cd9") (: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-moccur . [(20141223 35) nil "multi-buffer occur (grep) mode" single ((:commit . "4f1c59ffd1ccc2ab1a171cd6b721e8cb9e002fb7") (:keywords "convenience") (:url . "http://www.bookshelf.jp/elc/color-moccur.el"))]) (color-identifiers-mode . [(20181011 2114) ((dash (2 5 0)) (emacs (24))) "Color identifiers based on their names" single ((:commit . "91296e02dd5f03fe5ee9aa08f95120fb716d2128") (:keywords "faces" "languages") (:authors ("Ankur Dave" . "ankurdave@gmail.com")) (:maintainer "Ankur Dave" . "ankurdave@gmail.com") (:url . "https://github.com/ankurdave/color-identifiers-mode"))]) (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"))]) (colemak-evil . [(20171015 2307) ((evil (20170323 1140))) "Colemak-friendly keybindings for Evil." single ((:commit . "192c779281ae1fbf2405dcdb55b3c5b2a1d0b3d1") (:authors ("Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com")) (:maintainer "Patrick Brinich-Langlois" . "pbrinichlanglois@gmail.com") (:url . "https://github.com/patbl/colemak-evil"))]) (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"))]) (coffee-mode . [(20170324 940) ((emacs (24 3))) "Major mode for CoffeeScript code" single ((:commit . "86ab8aae8662e8eff54d3013010b9c693b16eac5") (:keywords "coffeescript" "major" "mode") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org") (:url . "http://github.com/defunkt/coffee-mode"))]) (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"))]) (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"))]) (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"))]) (codebug . [(20140929 2137) nil "Interact with codebug" single ((:commit . "ac0e4331ba94ccb5203fa492570e1ca6b90c3d52") (:authors ("Shane Dowling")) (:maintainer "Shane Dowling") (:url . "http://www.shanedowling.com/"))]) (code-stats . [(20181110 1952) ((emacs (25)) (request (0 3 0))) "Code::Stats plugin" single ((:commit . "20d60ded0743f01206c3c2e92ab73788def9adcb") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/code-stats-emacs"))]) (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-archive . [(20180706 213) ((emacs (24 3))) "git supported code archive and reference for org-mode" single ((:commit . "bc51428d2761dedc20bca1014cc2760b3af87e0e") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/code-archive"))]) (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"))]) (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"))]) (cnfonts . [(20180830 2128) ((emacs (24))) "A simple Chinese fonts config tool" tar ((:commit . "6d07b14e5c04033966056dd231047f110ce925c0") (:keywords "convenience" "chinese" "font") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/cnfonts"))]) (cmm-mode . [(20150225 746) nil "Major mode for C-- source code" single ((:commit . "c3ad514dff3eb30434f6b20d953276d4c00de1ee"))]) (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"))]) (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"))]) (cmake-mode . [(20180709 1426) nil "major-mode for editing CMake sources" single ((:commit . "be9ad8279a29893943b342cc5ffdbf9868fb1b4c"))]) (cmake-ide . [(20181023 1430) ((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 . "0a90200a74913f07c0ed08d1a1d5ebe314af26a4") (:keywords "languages") (:authors ("Atila Neves" . "atila.neves@gmail.com")) (:maintainer "Atila Neves" . "atila.neves@gmail.com") (:url . "http://github.com/atilaneves/cmake-ide"))]) (cmake-font-lock . [(20170117 2025) ((cmake-mode (0 0))) "Advanced, type aware, highlight support for CMake" single ((:commit . "8be491b4b13338078e524e2fe6213c93e18a101e") (:keywords "faces" "languages") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/cmake-font-lock"))]) (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"))]) (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"))]) (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"))]) (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"))]) (closql . [(20181031 2158) ((emacs (25 1)) (emacsql-sqlite (3 0 0))) "store EIEIO objects using EmacSQL" single ((:commit . "012b94f8695e194455111fd54eff0b94dd0dd0db") (:keywords "extensions") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/closql"))]) (clomacs . [(20181003 1735) ((emacs (24 3)) (cider (0 18 0)) (s (1 12 0)) (simple-httpd (1 4 6))) "Simplifies Emacs Lisp interaction with Clojure." single ((:commit . "6c83a0e2ac13e8fcc4b99183dbb3426bfe8bbb9c") (:keywords "clojure" "interaction") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:url . "https://github.com/clojure-emacs/clomacs"))]) (clojure-snippets . [(20180314 1308) ((yasnippet (0 10 0))) "Yasnippets for clojure" tar ((:commit . "6068dca90467a0f4ebc2cd39338a173d6f5ddc04"))]) (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-mode-extra-font-locking . [(20180114 1711) ((clojure-mode (3 0))) "Extra font-locking for Clojure mode" single ((:commit . "71b32ee95e8ec99098e212cd0ec74cb4c002e8c6") (:keywords "languages" "lisp") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) (clojure-mode . [(20181024 2224) ((emacs (25 1))) "Major mode for Clojure code" single ((:commit . "71b32ee95e8ec99098e212cd0ec74cb4c002e8c6") (:keywords "languages" "clojure" "clojurescript" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) (clojure-cheatsheet . [(20180201 804) ((helm (1 7 7)) (cider (0 9 0))) "The Clojure Cheatsheet for Emacs" single ((:commit . "85c382317a56bbdfac03ae95999c28fc0cde65d7") (:keywords "clojure" "cider" "cheatsheet" "helm") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/clojure-emacs/clojure-cheatsheet"))]) (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"))]) (clocker . [(20160125 2305) ((projectile (0 11 0)) (dash (2 10))) "Note taker and clock-in enforcer" single ((:commit . "4a4831ed4e42e18976edd16b844cb16cb78f3c17") (:keywords "org") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com"))]) (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"))]) (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"))]) (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"))]) (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"))]) (clj-refactor . [(20180826 2149) ((emacs (25 1)) (seq (2 19)) (yasnippet (0 6 1)) (paredit (24)) (multiple-cursors (1 2 2)) (clojure-mode (5 6 1)) (cider (0 17 0)) (edn (1 1 2)) (inflections (2 3)) (hydra (0 13 2))) "A collection of commands for refactoring Clojure code" tar ((:commit . "ec158357c4f7a375bc47f89de71ea28028a3bfa0") (:keywords "convenience" "clojure" "cider") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Lars Andersen" . "expez@expez.com") ("Benedek Fazekas" . "benedek.fazekas@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (clips-mode . [(20170909 823) nil "Major mode for editing CLIPS code and REPL" tar ((:commit . "dd38e2822640a38f7d8bfec4f69d8dd24be27074"))]) (clippy . [(20161028 1954) ((pos-tip (1 0))) "Show tooltip with function documentation at point" single ((:commit . "ad4b5dba4cede6d4b21533186303d3d3e9a2510f") (:keywords "docs") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:url . "https://github.com/Fuco1/clippy.el"))]) (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"))]) (cliphist . [(20171113 538) ((emacs (24 3)) (ivy (0 9 0))) "Read data from clipboard managers at Linux and Mac" tar ((:commit . "3cf4723defb41196c25bd174630dddd7caa579f2") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (clang-format . [(20180406 1514) ((cl-lib (0 3))) "Format code using clang-format" single ((:commit . "5556c31528af2661bed3011bd63ffc0ed44e18a0") (:keywords "tools" "c"))]) (cl-lib-highlight . [(20140127 2112) ((cl-lib (0 3))) "full cl-lib font-lock highlighting" single ((:commit . "fd1b308e6e989791d1df14438efa6b77d20f7c7e") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/cl-lib-highlight"))]) (cl-format . [(20160413 45) nil "CL format routine." tar ((:commit . "4380cb8009c47cc6d9098b383082b93b1aefa460"))]) (citeproc . [(20180429 757) ((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 . "44f147d228d2d652cdd404d31e987e14519c3eef") (: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"))]) (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"))]) (circe . [(20180525 1231) ((cl-lib (0 5))) "Client for IRC in Emacs" tar ((:commit . "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f") (:url . "https://github.com/jorgenschaefer/circe"))]) (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"))]) (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"))]) (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"))]) (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"))]) (cider-spy . [(20160313 1440) ((emacs (24 4)) (cider (0 10 0)) (dash (2 5 0)) (cl-lib (0 5)) (noflet (0 0 15))) "Spy on CIDER to get info" single ((:commit . "0224608d240e9900e588b6df049c2a87c24fc936") (:keywords "languages" "clojure" "cider" "nrepl") (:authors ("Jon Pither" . "jon.pither@gmail.com")) (:maintainer "Jon Pither" . "jon.pither@gmail.com") (:url . "http://www.github.com/jonpither/cider-spy"))]) (cider-hydra . [(20181015 727) ((cider (0 18 0)) (hydra (0 13 0))) "Hydras for CIDER." single ((:commit . "5956c3909cd9beae11f64973e4f0d830cea7860d") (: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"))]) (cider-eval-sexp-fu . [(20160907 800) ((emacs (24)) (highlight (0)) (eval-sexp-fu (0 4 0))) "Briefly highlights an evaluated sexp." single ((:commit . "5687e7b33e17f2be40b036dac82da4a5bc6705fb") (:keywords "languages" "clojure" "cider") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com"))]) (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 . [(20181110 1413) ((emacs (25)) (clojure-mode (5 9)) (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 . "3a520ec76cdd5509bf231e49809715f20a87d74b") (: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"))]) (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"))]) (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"))]) (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"))]) (choice-program . [(20180921 313) ((emacs (25)) (cl-lib (1 0))) "parameter based program" tar ((:commit . "08ce5a5dd79690aed12fd9d152d8cb4be988fdb1") (:keywords "exec" "execution" "parameter" "option") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/choice-program"))]) (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"))]) (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-wbim . [(20150624 350) nil "Enable Wubi Input Method in Emacs." tar ((:commit . "57ff61ff3895d77335709d24b40cefc4d10b0095"))]) (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-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"))]) (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"))]) (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"))]) (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"))]) (cheerilee . [(20160313 1835) ((xelb (0 1))) "Toolkit library" tar ((:commit . "41bd81b5b0bb657241ceda5be6af5e07254d7376") (:keywords "tools"))]) (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"))]) (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"))]) (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/"))]) (cheat-sh . [(20170802 1118) ((emacs (24))) "Interact with cheat.sh" single ((:commit . "e90445124f3f145a047779e42d070a3c5e150f70") (:keywords "docs" "help") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:url . "https://github.com/davep/cheat-sh.el"))]) (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"))]) (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"))]) (char-menu . [(20180101 618) ((emacs (24 3)) (avy-menu (0 1))) "Create your own menu for fast insertion of arbitrary symbols" single ((:commit . "82f0422179737bcb9f93481aebaf1071d54fc859") (:keywords "convenience" "editing") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/char-menu"))]) (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"))]) (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"))]) (challenger-deep-theme . [(20180816 2258) ((emacs (24))) "challenger-deep Theme" single ((:commit . "443ca72dca966b3d27dbec9eab54a09cbd76eac0") (:authors ("MaxSt")) (:maintainer "MaxSt") (:url . "https://github.com/challenger-deep-theme/emacs"))]) (cg . [(20181022 1316) ((emacs (24 3))) "major mode for editing Constraint Grammar files" single ((:commit . "34a892aa77c9870006bae988c79f694f2e5a68a3") (:keywords "languages") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:url . "https://visl.sdu.dk/constraint_grammar.html"))]) (cftag-mode . [(20170812 540) ((emacs (25))) "Emacs mode for editing tag-based CFML files" single ((:commit . "86e77dcbb583191a3e755bdc29534f33d82bfc56") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cftag-mode"))]) (cframe . [(20170917 2209) ((emacs (25)) (buffer-manage (0 6)) (dash (2 13 0))) "customize a frame and fast switch size and positions" single ((:commit . "bb99672502046e87c8f029ce98c637f762a4fc54") (:keywords "frame" "customize") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/cframe"))]) (cfml-mode . [(20170904 249) ((emacs (25)) (mmm-mode (0 5 4)) (cftag-mode (1 0 0))) "Emacs mode for editing CFML files" single ((:commit . "86e77dcbb583191a3e755bdc29534f33d82bfc56") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cfml-mode"))]) (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"))]) (cfengine-code-style . [(20171115 2108) nil "C code style for CFEngine project." single ((:commit . "b662c4620a1535dc2dfbaeced144ee3bfff3474c") (:authors ("Mikhail Gusarov" . "mikhail.gusarov@cfengine.com")) (:maintainer "Mikhail Gusarov" . "mikhail.gusarov@cfengine.com") (:url . "https://github.com/cfengine/core"))]) (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"))]) (cerbere . [(20181113 1641) ((pkg-info (0 5))) "Unit testing in Emacs for several programming languages" tar ((:commit . "bb18d932b16541105d41a668dbf6fc4e833a6dc2") (: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"))]) (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"))]) (centered-window . [(20171127 949) ((emacs (24 4))) "Center the text when there's only one window" single ((:commit . "24f7c5be9def20879f46659082d497e67b55d7af") (: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"))]) (centered-cursor-mode . [(20180112 1555) nil "cursor stays vertically centered" single ((:commit . "00fb47d227f9e211ec1c58161a501a1550c3a60d") (: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"))]) (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"))]) (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"))]) (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/"))]) (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"))]) (cdlatex . [(20140707 1126) nil "Fast input methods for LaTeX environments and math" single ((:commit . "ff534912b93fc2c7a6b191b1c8d6d699a46bbb01") (:keywords "tex") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com"))]) (cdb . [(20151205 1343) nil "constant database (cdb) reader for Emacs Lisp" single ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992") (:keywords "cdb") (:authors ("Yusuke Shinyama <yusuke at cs . nyu . edu>")) (:maintainer "SKK Development Team" . "skk@ring.gr.jp"))]) (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"))]) (ccls . [(20181106 546) ((emacs (25 1)) (lsp-mode (4 2)) (dash (0 14)) (projectile (1 0 0))) "ccls client for lsp-mode" tar ((:commit . "07ad553950e69f862f7c74c9b1f02c00ab450d22") (:keywords "languages" "lsp" "c++") (:authors ("Tobias Pisani, Fangrui Song")) (:maintainer "Tobias Pisani, Fangrui Song") (:url . "https://github.com/MaskRay/emacs-ccls"))]) (ccc . [(20151205 1343) nil "buffer local cursor color control library" single ((:commit . "b05c610e27b86e71fb4e8d67292ef6a696dd5992") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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 . [(20181107 942) ((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 . "199b4380dd3e178ff9df3a9d13d044d67e522b3f") (:keywords "speed" "convenience") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/cask/cask"))]) (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"))]) (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"))]) (cargo . [(20181112 722) ((emacs (24 3)) (rust-mode (0 2 0)) (markdown-mode (2 4))) "Emacs Minor Mode for Cargo, Rust's Package Manager." tar ((:commit . "f8504cd51021741a3931c28dc5e87cc16687420b") (:keywords "tools") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.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"))]) (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>"))]) (cangjie . [(20181015 1220) ((emacs (24)) (s (1 12 0)) (dash (2 14 1)) (f (0 2 0))) "retrieve cangjie code for han characters" single ((:commit . "98b53c3ffc289d5fbc893651b17280ed2f043d0b") (:keywords "convenience" "writing") (:url . "https://github.com/kisaragi-hiu/cangjie.el"))]) (caml . [(20181011 1328) nil "OCaml code editing commands for Emacs" tar ((:commit . "8145641e8a27b924ab05a7bea05e6ff52f0a217f") (: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/"))]) (camcorder . [(20160405 434) ((emacs (24)) (names (20150000)) (cl-lib (0 5))) "Record screencasts in gif or other formats." single ((:commit . "b13d939990e6709492efefc0945798adc1c0fcb9") (: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"))]) (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"))]) (call-graph . [(20180509 1335) ((emacs (25 1)) (cl-lib (0 6 1)) (hierarchy (0 7 0)) (tree-mode (1 0 0)) (ivy (0 10 0))) "Library to generate call graph for c/c++ functions" single ((:commit . "7e51c1eea59b13e6c1c099680492ebcd58893399") (:keywords "programming" "convenience") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:url . "https://github.com/beacoder/call-graph"))]) (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>"))]) (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-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-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-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 . [(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"))]) (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"))]) (cal-china-x . [(20180211 1901) ((cl-lib (0 5))) "Chinese localization, lunar/horoscope/zodiac info and more..." tar ((:commit . "e9b309065829af3a9a0c526509bd64d9228fdced") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com") (:url . "https://github.com/xwl/cal-china-x"))]) (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"))]) (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"))]) (cacoo . [(20120319 2359) ((concurrent (0 3 1))) "Minor mode for Cacoo : http://cacoo.com" tar ((:commit . "c9fa04fbe97639b24698709530361c2bb5f3273c"))]) (cache . [(20111019 2300) nil "implementation of a hash table whose key-value pairs expire" single ((:commit . "7499586b6c8224df9f5c5bc4dec96b008258d580") (:authors ("Nathaniel Flath")) (:maintainer "Nathaniel Flath"))]) (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"))]) (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/"))]) (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"))]) (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"))]) (button-lock . [(20150223 1354) nil "Clickable text defined by regular expression" single ((:commit . "f9082feb329432fcf2ac49a95e64bed9fda24d58") (:keywords "mouse" "button" "hypermedia" "extensions") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:url . "http://github.com/rolandwalker/button-lock"))]) (buttercup . [(20181103 1106) nil "Behavior-Driven Emacs Lisp Testing" tar ((:commit . "4089d5f66dcf1dd25d8e56fe6508f1fa48ac097c"))]) (butler . [(20150812 8) ((deferred (0 3 2)) (json (1 2)) (emacs (24))) "Emacs client for Jenkins" tar ((:commit . "8ceb35737107572455cca9a61ff46b3ff78f1016"))]) (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"))]) (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"))]) (buster-mode . [(20140928 1213) nil "Minor mode to speed up development when writing tests with Buster.js" single ((:commit . "de6958ef8369400922618b8d1e99abfa91b97ac5") (:keywords "buster" "testing" "javascript"))]) (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"))]) (bundler . [(20160815 915) ((inf-ruby (2 1)) (cl-lib (0 5))) "Interact with Bundler from Emacs" single ((:commit . "f981f67c33b42243e57a78c358dffff70022b56b") (:keywords "bundler" "ruby") (:authors ("Tobias Svensson" . "tob@tobiassvensson.co.uk")) (:maintainer "Tobias Svensson" . "tob@tobiassvensson.co.uk") (:url . "http://github.com/endofunky/bundler.el"))]) (build-status . [(20171111 1947) ((cl-lib (0 5))) "Mode line build status indicator" single ((:commit . "ef44185d9dd748ea578d68398f3f729a8adb45b5") (: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"))]) (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-farm . [(20180906 1858) ((emacs (24 4)) (bui (1 1 0)) (magit-popup (2 1 0))) "Interface for Nix and Guix build farms (Hydra and Cuirass)" tar ((:commit . "e244dea35566a10253d61be430d3caf81b779af8") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://gitlab.com/alezost-emacs/build-farm"))]) (bui . [(20180812 2113) ((emacs (24 3)) (dash (2 11 0))) "Buffer interface library" tar ((:commit . "bd3c5ee32d28d80c6eb54b0340626103c32e3093") (:keywords "tools") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/bui.el"))]) (bug-reference-github . [(20180128 1314) nil "Set `bug-reference-url-format' in Github repos" tar ((:commit . "f570a0532bfb44f095b42cf68ab1f69799101137") (: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"))]) (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"))]) (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-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-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-move . [(20160615 1803) nil "easily swap buffers" single ((:commit . "cb517ecf8409b5fdcda472d7190c6021f0c49751") (:keywords "lisp" "convenience") (:url . "https://github.com/lukhas/buffer-move"))]) (buffer-manage . [(20180528 1613) ((emacs (25)) (choice-program (0 3)) (dash (2 13 0))) "manage buffers" tar ((:commit . "8bbe342a4dafcfdaf305baea98bd4208036ab89a") (:keywords "interactive" "buffer" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/buffer-manage"))]) (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-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"))]) (buckwalter . [(20180107 1643) nil "Write arabic using Buckwalter transliteration" single ((:commit . "2aa5451c3682c268adebc6b1191a796466732f53") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (bshell . [(20170903 1837) ((emacs (25)) (buffer-manage (0 5))) "manage and track multiple inferior shells" single ((:commit . "884a8b906617d305e9d5d2c3750618d2f86f9aed") (:keywords "interactive" "shell" "management") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:url . "https://github.com/plandes/bshell"))]) (brutalist-theme . [(20181023 1222) nil "Brutalist theme" tar ((:commit . "8899f4f4a7faf0080977cd137e0ad7b00c40f1e8") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://git.madhouse-project.org/algernon/brutalist-theme.el"))]) (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"))]) (browse-kill-ring . [(20171219 1908) nil "interactively insert items from kill-ring" single ((:commit . "8debc43e41d7e51532698331c6f283905890b904") (: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-at-remote . [(20180622 631) ((f (0 17 2)) (s (1 9 0)) (cl-lib (0 5))) "Open github/gitlab/bitbucket/stash page from Emacs" single ((:commit . "99af94ada33badd3e1eceb704e07f62c1eef513a") (:keywords "github" "gitlab" "bitbucket" "convenience") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com"))]) (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"))]) (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/"))]) (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"))]) (bpr . [(20180220 1844) ((emacs (24))) "Background Process Runner" tar ((:commit . "af84a83dea09d86e77d87ac30604f2c5b4bf4117") (: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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (borg . [(20181031 2202) ((emacs (26)) (dash (2 14 1)) (epkg (3 1 1)) (magit (2 13 0))) "assimilate Emacs packages as Git submodules" tar ((:commit . "73990d3039f94da4ba213a3423f42f47f454d5db") (:keywords "tools") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/borg"))]) (boon . [(20181014 927) ((emacs (25 1)) (expand-region (0 10 0)) (dash (2 12 0)) (multiple-cursors (1 3 0))) "Ergonomic Command Mode for Emacs." tar ((:commit . "675719ec1f6608a690fc613214920ac3c0d350a3"))]) (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/"))]) (boogie-friends . [(20171025 255) ((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 . "ff9903783013f3598b6f44c99d47b25c5cdbed00"))]) (bonjourmadame . [(20170919 1134) nil "Say \"Hello ma'am!\"" single ((:commit . "d3df185fce78aefa689fded8e56a654f0fde4ac0"))]) (bongo . [(20171119 242) ((cl-lib (0 5)) (emacs (24 1))) "play music with Emacs" tar ((:commit . "3d246be1e8d14865f5253567ab8fee5d4e9c470c"))]) (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"))]) (bog . [(20180815 2213) ((cl-lib (0 5))) "Extensions for research notes in Org mode" single ((:commit . "b5df3647f55359f8546dcfa991a351673a069a49") (:keywords "bib" "outlines") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:url . "https://github.com/kyleam/bog"))]) (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"))]) (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"))]) (bm . [(20181012 1631) nil "Visible bookmarks in buffer." tar ((:commit . "b85d407b53e1d852c47fcea2a245a4e67e48c38a") (: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"))]) (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"))]) (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"))]) (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"))]) (bln-mode . [(20180730 1223) nil "binary line navigation minor mode for cursor movement in long lines" single ((:commit . "b5e86b1bc8b7ac25bf8ec07056824861c4c3f050") (:keywords "motion" "location" "cursor" "convenience") (:authors ("Maarten Grachten")) (:maintainer "Maarten Grachten") (:url . "https://github.com/mgrachten/bln-mode"))]) (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"))]) (blimp . [(20180903 2240) ((emacs (25)) (eimp (1 4 0))) "Bustling Image Manipulation Package" single ((:commit . "a4c538c52f2371f4a184e4c905584c6decf7b407") (: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"))]) (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"))]) (blacken . [(20181025 1814) ((emacs (25 2))) "Reformat python buffers using the \"black\" formatter" single ((:commit . "d6929cf32adb180ac3c11da9861f62f57a66a64f") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/blacken"))]) (blackboard-theme . [(20161216 656) ((emacs (24))) "TextMate Blackboard Theme" single ((:commit . "d8b984f2541bb86eb4363a2b4c94631e49843d4a") (:authors ("Dong Zheng")) (:maintainer "Dong Zheng") (:url . "https://github.com/don9z/blackboard-theme"))]) (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"))]) (bitlbee . [(20151203 0) nil "Help get Bitlbee (http://www.bitlbee.org) up and running." single ((:commit . "3a92a4119e0c007df2c7dcf1b1c3a5f23ee40e05"))]) (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/"))]) (bitbake . [(20180326 758) ((emacs (24 1)) (dash (2 6 0)) (mmm-mode (0 5 4)) (s (1 10 0))) "Running bitbake from emacs" single ((:commit . "e5088c4b3dfb4feb96850fbc281b4207d23c7713") (:keywords "convenience") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:url . "https://github.com/canatella/bitbake-el"))]) (bison-mode . [(20160617 552) nil "Major mode for editing bison, yacc and lex files." single ((:commit . "314af3b7af7eb897fd3932616cb8600a85228cea") (:keywords "bison-mode" "yacc-mode") (:authors ("Eric Beuscher" . "beuscher@eecs.tulane.edu")) (:maintainer "Eric Beuscher" . "beuscher@eecs.tulane.edu"))]) (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"))]) (bing-dict . [(20181111 200) nil "Minimalists' English-Chinese Bing dictionary" tar ((:commit . "51266b11bca22923c3a86bc101abf9145d1397d3") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/bing-dict.el"))]) (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"))]) (bind-key . [(20180513 430) nil "A simple way to manage personal keybindings" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (: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-chord . [(20171204 2010) ((bind-key (1 0)) (key-chord (0 6))) "key-chord binding helper for use-package-chords" single ((:commit . "d9f229453da31fdf9a55207db09e360c5071d706") (:keywords "convenience" "tools" "extensions") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/use-package-chords"))]) (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"))]) (bifocal . [(20181110 341) ((emacs (24 4))) "Split-screen scrolling for comint-mode buffers" single ((:commit . "add30c678488cec04976a85ba8cda20805938a01") (:keywords "frames" "processes" "tools") (:url . "https://github.com/riscy/bifocal-mode"))]) (bicycle . [(20180909 2126) ((emacs (25 1))) "cycle outline and code visibility" single ((:commit . "42a5db3514019d539500a67f913411f5533a1eb3") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/bicycle"))]) (bibtex-utils . [(20170817 1919) nil "Provides utilities for extending BibTeX mode" single ((:commit . "ed5ccce46c2088a28a2f0c49caa679d2f20567f0") (:keywords "bibtex") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca") (:url . "https://github.com/plantarum/bibtex-utils"))]) (bibslurp . [(20151202 2346) ((s (1 6 0)) (dash (1 5 0))) "retrieve BibTeX entries from NASA ADS" single ((:commit . "aeba96368f2a06959e4fe945375ce2a54d34b189") (:keywords "bibliography" "nasa ads") (:url . "https://github.com/mkmcc/bibslurp"))]) (bibretrieve . [(20180901 928) ((auctex (11 87)) (emacs (24 3))) "Retrieve BibTeX entries from the internet" tar ((:commit . "600fa1fcc4c5d79c628457f2316f3429c96be006") (:keywords "bibtex" "bibliography" "mathscinet" "arxiv" "zbmath") (:authors ("Antonio Sartori")) (:maintainer "Pavel Zorin-Kranich" . "pzorin@uni-bonn.de") (:url . "https://github.com/pzorin/bibretrieve"))]) (bibliothek . [(20180429 2215) ((emacs (24 4)) (pdf-tools (0 70)) (a (0 1 0 -3 4))) "Managing a digital library of PDFs" single ((:commit . "05f2655321f020fd4c069d1939f0902eaa837eb4") (:keywords "tools") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:url . "https://cadadr.github.io/elisp/index.html#bibliothek-el"))]) (biblio-core . [(20160901 1815) ((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 . "a5a68fcf677f286f205f32dc7486f6c9f66aa6af") (:keywords "bib" "tex" "convenience" "hypermedia") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:url . "http://github.com/cpitclaudel/biblio.el"))]) (biblio . [(20161014 2304) ((emacs (24 3)) (biblio-core (0 2))) "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org" tar ((:commit . "a5a68fcf677f286f205f32dc7486f6c9f66aa6af"))]) (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/"))]) (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"))]) (better-shell . [(20180625 1316) ((emacs (24 4))) "Better shell management" single ((:commit . "cfcd9d57f87ad68cd72bf4935fd1aaa1d9f059a9") (:keywords "convenience") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:url . "https://github.com/killdash9/better-shell"))]) (better-defaults . [(20170614 404) nil "Fixing weird quirks and poor defaults" single ((:commit . "ab830cf1a0987f43e419565404a4fa8c0a2f5560") (:keywords "convenience") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:url . "https://github.com/technomancy/better-defaults"))]) (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"))]) (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"))]) (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"))]) (belarus-holidays . [(20180615 1311) nil "Belarus holidays whith transfers" single ((:commit . "410a7dcf46fdcbee762a0c0aa0c7af03230b9656") (:authors ("Yauhen Makei" . "yauhen.makei@gmail.com")) (:maintainer "Yauhen Makei" . "yauhen.makei@gmail.com") (:url . "http://bitbucket.org/EugeneMakei/belarus-holidays.el"))]) (beginend . [(20180827 926) ((emacs (25 3))) "Redefine M-< and M-> for some modes" single ((:commit . "e4ff077de4a2c80e1f42adfc86837537899447a5") (:url . "https://github.com/DamienCassou/beginend"))]) (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/"))]) (beacon . [(20181008 1350) ((seq (2 14))) "Highlight the cursor whenever the window scrolls" single ((:commit . "07a2e9566be2a0b8f59b8ac8668448f1e250a400") (:keywords "convenience") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:url . "https://github.com/Malabarba/beacon"))]) (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"))]) (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"))]) (bbdb2erc . [(20170221 1354) ((bbdb (3 0))) "make bbdb show if pal is online with ERC, click i to chat" single ((:commit . "15db2bd29df0f6ee32c499fdeffb960b6a7f97a0") (:keywords "irc" "contacts" "chat" "client" "internet") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org"))]) (bbdb-vcard . [(20181005 1019) ((bbdb (3 0))) "vCard import/export for BBDB" tar ((:commit . "3e8630a8c45add7b495d7ef290ba9f402b359489") (: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"))]) (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-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 . [(20180907 311) nil "The Insidious Big Brother Database for GNU Emacs" tar ((:commit . "1a6ad82b11c7059f6a19fba575146cc31c6ffa8b"))]) (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-"))]) (bbcode-mode . [(20180505 927) ((cl-lib (0 5))) "Major mode for phpBB posts (BBCode markup)" single ((:commit . "ee30d43f9029e0919a06be0dde0ed16f201647c1") (:keywords "bbcode" "languages") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:url . "https://github.com/lassik/bbcode-mode"))]) (bazel-mode . [(20180223 653) ((emacs (24 3))) "A major mode for editing Bazel files" single ((:commit . "b7aa14516feaed40ee4910eafa81db719de0fe56") (:keywords "languages" "bazel") (:authors ("Neri Marschik")) (:maintainer "Neri Marschik") (:url . "https://github.com/codesuki/bazel-mode"))]) (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"))]) (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"))]) (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-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"))]) (bash-completion . [(20180519 1620) nil "BASH completion for the shell buffer" single ((:commit . "fbdc78b8770833752ac4bda28e2c3ea764bf8e76") (:authors ("Stephane Zermatten" . "szermatt@gmx.net")) (:maintainer "Stephane Zermatten" . "szermatt@gmx.net"))]) (base16-theme . [(20181116 1843) nil "Collection of themes built on combinations of 16 base colors" tar ((:commit . "629c7e3eee756c088808322bbad996d05255f0e4") (:url . "https://github.com/belak/base16-emacs"))]) (bart-mode . [(20180201 229) ((emacs (24 3))) "Real time BART departures info." single ((:commit . "6feeb8f9badbc2ce4b60499bf7bf4acdae4cfed7") (:keywords "convenience" "transit") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/bart-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"))]) (bap-mode . [(20180802 1310) nil "Major-mode for BAP's IR" single ((:commit . "b74e583fa1e82046d79df21be225f9409698d293") (:keywords "languages") (:authors ("Thomas Barabosch <http://github/tbarabosch>")) (:maintainer "Thomas Barabosch" . "thomas.barabosch@fkie.fraunhofer.de") (:url . "https://github.com/fkie-cad/bap-mode"))]) (banner-comment . [(20180923 1911) ((emacs (24 4))) "For producing banner comments." single ((:commit . "ac52f6b24e590787a385c08cc3751d6f2ddca815") (:keywords "convenience") (:authors ("James Ferguson" . "james@faff.org")) (:maintainer "James Ferguson" . "james@faff.org") (:url . "https://github.com/WJCFerguson/banner-comment"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (backline . [(20181111 832) ((emacs (25 1)) (outline-minor-faces (0 1 0))) "Preserve appearance of outline headings" single ((:commit . "960deaef1d87658f79a0bd95c85946371d211590") (:keywords "outlines") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/tarsius/backline"))]) (backlight . [(20180629 2159) ((emacs (24 3))) "backlight brightness adjustment on GNU/Linux" single ((:commit . "096e632bf100d318754d6c961c90ebb0ef29dce5") (:keywords "hardware") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/backlight.el"))]) (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"))]) (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/"))]) (babel . [(20181115 1210) nil "interface to web translation services such as Babelfish" single ((:commit . "972b133ca9054b900de4be8288f79c9896fef548") (: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"))]) (axiom-environment . [(20180823 955) ((emacs (24 2))) "An environment for using Axiom/OpenAxiom/FriCAS" tar ((:commit . "5d6b2cd12f639c11b032185c4c5fe4f5bba15b08") (:keywords "axiom" "openaxiom" "fricas") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org"))]) (aws-snippets . [(20180410 1545) ((yasnippet (0 8 0))) "Yasnippets for AWS" tar ((:commit . "a2ebae582a8c8a5f5f16dbc42ecd2ded9d70fca8") (:keywords "snippets"))]) (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"))]) (avy-zap . [(20160921 2144) ((avy (0 2 0))) "Zap to char using `avy'" single ((:commit . "6081738668ab726099ce1c711c580d9745dfaede") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/avy-zap"))]) (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-menu . [(20180101 620) ((emacs (24 3)) (avy (0 3 0))) "Library providing avy-powered popup menu" single ((:commit . "b133564cc438870d9b5505c8104611c8998fd0d5") (:keywords "popup" "menu") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:url . "https://github.com/mrkkrp/avy-menu"))]) (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 . [(20181009 1648) ((emacs (24 1)) (cl-lib (0 5))) "Jump to arbitrary positions in visible text and select text quickly." single ((:commit . "df4c4ac488ee59bc44f8658d9fcca0c86fb32c5c") (:keywords "point" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/avy"))]) (avk-emacs-themes . [(20180921 1233) nil "Collection of avk themes" tar ((:commit . "c0669408cfa423e0d38f990778232a771f63f05e") (:url . "https://github.com/avkoval/avk-emacs-themes"))]) (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"))]) (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"))]) (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"))]) (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"))]) (autotest . [(20180323 2242) nil "ZenTest's autotest integration with emacs." single ((:commit . "4ce20cc5b25a1f1b4669ea8ff2880ec764eaf7da") (: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"))]) (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"))]) (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/"))]) (autodisass-llvm-bitcode . [(20150411 125) nil "Automatically disassemble LLVM bitcode" tar ((:commit . "d2579e3a1427af2dc947c343e49eb3434078bf04"))]) (autodisass-java-bytecode . [(20151005 1612) nil "Automatically disassemble Java bytecode" tar ((:commit . "3d61dbe266133c950b39e880f78d142751c7dc4c"))]) (autobookmarks . [(20180531 1906) ((dash (2 10 0)) (cl-lib (0 5))) "Save recently visited files and buffers" single ((:commit . "e971aa49d97da9f7ed760b37e0b674e45f1c5673") (:keywords "files") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com"))]) (auto-yasnippet . [(20180503 1908) ((yasnippet (0 8 0))) "Quickly create disposable yasnippets" single ((:commit . "623734aa418b18ff52cb65a0adb9e359aed31615") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/auto-yasnippet"))]) (auto-virtualenvwrapper . [(20181006 937) ((cl-lib (0 6)) (s (1 10 0)) (virtualenvwrapper (0))) "Lightweight auto activate python virtualenvs" single ((:commit . "72cc9168db475e8328019f9592493560dab832a5") (:keywords "python" "virtualenv" "tools") (:authors ("Marcwebbie" . "marcwebbie@gmail.com") ("Robert Zaremba" . "robert-zaremba@scale-it.pl")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com"))]) (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-sudoedit . [(20180915 706) ((emacs (24)) (f (0 19 0))) "auto sudo edit by tramp" single ((:commit . "16bfa23e6d9c30968a6b6364ada17c88138255f3") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/auto-sudoedit"))]) (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-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-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-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-package-update . [(20180712 2045) ((emacs (24 4)) (dash (2 1 0))) "Automatically update Emacs packages." single ((:commit . "55870d313fbe9db40b1a2b59dbc420ba66a9297e") (:keywords "package" "update") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:url . "http://github.com/rranelli/auto-package-update.el"))]) (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-minor-mode . [(20180527 1123) ((emacs (24 4))) "Enable minor modes by file name and contents" single ((:commit . "c62f4e04c7b73835c399f0348bea0ade2720bcbb") (: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-indent-mode . [(20171222 506) nil "Auto indent Minor mode" tar ((:commit . "28069360a7f89ad0286fd6a53db550752ec58488") (:keywords "auto" "indentation") (:authors ("Matthew L. Fidler, Le Wang & Others")) (:maintainer "Matthew L. Fidler") (:url . "https://github.com/mlf176f2/auto-indent-mode.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-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-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-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-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-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-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-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-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-clang-async . [(20130526 1514) nil "Auto Completion source for clang for GNU Emacs" single ((:commit . "5d9c5cabbb6b31e0ac3637631c0c8b25184aa8b4") (:keywords "completion" "convenience"))]) (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-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-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-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 . [(20170125 245) ((popup (0 5 0)) (cl-lib (0 5))) "Auto Completion for GNU Emacs" tar ((:commit . "2e83566ddfa758c69afe50b8a1c62a66f47471e3"))]) (auto-compile . [(20180321 1507) ((emacs (24 3)) (packed (2 0 0))) "automatically compile Emacs Lisp libraries" single ((:commit . "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f") (:keywords "compile" "convenience" "lisp") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:url . "https://github.com/emacscollective/auto-compile"))]) (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-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"))]) (auth-source-pass . [(20181106 1348) ((emacs (25))) "Integrate auth-source with password-store" single ((:commit . "63c0631896b2f2ed6b359e026c6a7949932aa0bf") (:authors ("Damien Cassou" . "damien@cassou.me") ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/auth-password-store"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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/"))]) (attrap . [(20181114 841) ((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 . "f0336cf81a7e3a368a29d7125db652494d28ad61") (: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"))]) (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"))]) (atom-one-dark-theme . [(20181010 1348) nil "Atom One Dark color theme" single ((:commit . "8cba629dce7a2c53c690337915fdcaa80b4af769") (:authors ("Jonathan Chu" . "me@jonathanchu.is")) (:maintainer "Jonathan Chu" . "me@jonathanchu.is") (:url . "https://github.com/jonathanchu/atom-one-dark-theme"))]) (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"))]) (async-await . [(20170208 1150) ((emacs (25)) (promise (1 0))) "Async/Await" single ((:commit . "56ab90e4019ed1f81fd4ad9e8701b5cec7ffa795") (:keywords "async" "await" "convenience") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:url . "https://github.com/chuntaro/emacs-async-await"))]) (async . [(20180527 1730) nil "Asynchronous processing in Emacs" tar ((:commit . "d17c11e6082aa51f421bb037b828bdb15f405618") (:keywords "async") (:url . "https://github.com/jwiegley/emacs-async"))]) (assess . [(20170504 1357) ((emacs (24 1)) (m-buffer (0 15))) "Test support functions" tar ((:commit . "e5b0415126c6bd24bd220759ff04220d963a0195") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) (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/"))]) (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"))]) (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"))]) (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"))]) (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"))]) (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"))]) (aria2 . [(20141107 2317) ((emacs (24 4))) "Control aria2c commandline tool from Emacs" single ((:commit . "7a944c5100812269369225af7aa9580fedab175f") (:keywords "download" "bittorrent" "aria2") (:authors ("Łukasz Gruner" . "lukasz@gruner.lu")) (:maintainer "Łukasz Gruner" . "lukasz@gruner.lu") (:url . "https://bitbucket.org/ukaszg/aria2-mode"))]) (arduino-mode . [(20180509 36) ((emacs (25)) (cl-lib (0 5)) (spinner (1 7 3))) "Major mode for editing Arduino code." tar ((:commit . "e39cb1c02acb6676aea35f93fbd0d86badce6a38") (:keywords "languages" "arduino") (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://github.com/stardiviner/arduino-mode"))]) (archive-rpm . [(20180706 1232) ((emacs (24 4))) "RPM and CPIO support for archive-mode" tar ((:commit . "59f83caebbd2f92fd634f6968e6d17b50ffa3dc7"))]) (archive-region . [(20140201 2342) nil "Move region to archive file instead of killing" single ((:commit . "0d357d4c42a6a248c457f358f81b20fd20fede2f") (: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"))]) (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"))]) (apt-sources-list . [(20180527 1241) ((emacs (24 4))) "Mode for editing APT source.list files" single ((:commit . "44112833b3fa7f4d7e43708e5996782e22bb2fa3") (: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"))]) (apropospriate-theme . [(20181111 2112) nil "A colorful, low-contrast, light & dark theme set for Emacs with a fun name." tar ((:commit . "88c243ec90c1df7918c463b5a7ec875d057e8999") (:keywords "color" "theme") (:url . "https://github.com/waymondo/apropospriate-theme"))]) (aproject . [(20150605 906) nil "Basic project framework for Emacs" tar ((:commit . "3c7d23c341862dfd77fd0a64775df12ddb44ab54") (:keywords "environment" "project") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:url . "https://github.com/vietor/aproject"))]) (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"))]) (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"))]) (apiwrap . [(20180602 2231) ((emacs (25))) "api-wrapping macros" single ((:commit . "e4c9c57d6620a788ec8a715ff1bb50542edea3a6") (:keywords "tools" "maint" "convenience") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:url . "https://github.com/vermiculus/apiwrap.el"))]) (apib-mode . [(20170520 1358) ((markdown-mode (2 1))) "Major mode for API Blueprint files" single ((:commit . "6cc7c6f21b8e415b1718bb6a07ab2182e9e9dde6") (: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"))]) (apel . [(20170122 2258) nil "APEL (A Portable Emacs Library) provides support for portable Emacs Lisp programs" tar ((:commit . "339eb28ffae3165255a79de9b1fd362f43cd37c3"))]) (apache-mode . [(20180724 351) nil "major mode for editing Apache configuration files" single ((:commit . "d2ac57942f852a727db4fc73004e1e8f046cb657") (:keywords "languages" "faces") (:authors ("Karl Chen" . "quarl@nospam.quarl.org")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:url . "https://github.com/emacs-php/apache-mode"))]) (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"))]) (anzu . [(20161017 1607) ((emacs (24 3))) "Show number of matches in mode-line while searching" single ((:commit . "e6c56ca8b23ac433f7be58b6f3f50801dd4164e4") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-anzu"))]) (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"))]) (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"))]) (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"))]) (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"))]) (ant . [(20160211 1543) nil "helpers for compiling with ant" single ((:commit . "510b5a3f57ee4b2855422d88d359a28922c1ab70") (:keywords "compilation" "ant" "java"))]) (ansible-vault . [(20181116 1706) ((emacs (24 3))) "Minor mode for editing ansible vault files" single ((:commit . "d16389f44a4e76a12c789fe65df20692c7113685") (:keywords "ansible" "ansible-vault" "tools") (:maintainer "Zachary Elliott" . "contact@zell.io") (:url . "http://github.com/zellio/ansible-vault-mode"))]) (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 . [(20180813 114) ((s (1 9 0)) (f (0 16 2))) "Ansible minor mode" tar ((:commit . "8a097176d6772b6667254dbbe19c5fb64527bf5d") (: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"))]) (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"))]) (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"))]) (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"))]) (annotate . [(20171111 736) nil "annotate files without changing them" single ((:commit . "dedbd9e5d5286f1ca8ad73e489d408a20f06156c") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/annotate.el"))]) (anki-mode . [(20181106 1837) ((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 . "365fcfff45ed543f3df0d4110415f6f818ec2727") (:keywords "tools") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:url . "https://github.com/davidshepherd7/anki-mode"))]) (anki-editor . [(20181005 838) ((emacs (25)) (request (0 3 0)) (dash (2 12 0))) "Minor mode for making Anki cards with Org" tar ((:commit . "0bee0064bc23ff2b3b6fc29beba97346576b380d") (:authors ("Lei Tan")) (:maintainer "Lei Tan") (:url . "https://github.com/louietan/anki-editor"))]) (angular-snippets . [(20140514 523) ((s (1 4 0)) (dash (1 2 0))) "Yasnippets for AngularJS" tar ((:commit . "af5ae0a4a8603b040446c28afcf6ca01a8b4bd7b"))]) (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"))]) (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"))]) (android-mode . [(20181016 709) nil "Minor mode for Android application development" single ((:commit . "f8cabafaa266b56fcf4b3c6942b3ae062735251a") (:keywords "tools" "processes") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:url . "https://github.com/remvee/android-mode"))]) (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"))]) (anaconda-mode . [(20181030 2109) ((emacs (25)) (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 . "21a6218c2299575c82573a5c2c773d72b0f8be0d") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (amx . [(20181011 2251) ((emacs (24 4)) (s (0))) "Alternative M-x with extra features." single ((:commit . "4b08edb34c4d9c807ef1a820a629cda15e2347a0") (: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/"))]) (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"))]) (ample-theme . [(20180207 1745) nil "Calm Dark Theme for Emacs" tar ((:commit . "366698400c555211c2082962a5d74f3dd79a78c8") (:keywords "theme" "dark") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:url . "https://github.com/jordonbiondo/ample-theme"))]) (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"))]) (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"))]) (all-the-icons-ivy . [(20180826 2016) ((emacs (24 4)) (all-the-icons (2 4 0)) (ivy (0 8 0))) "Shows icons while using ivy and counsel" single ((:commit . "7baba16410e78ca3c7a564c3731baa75b2e8d93a") (:keywords "faces") (:authors ("asok")) (:maintainer "asok"))]) (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-dired . [(20170418 2131) ((emacs (24 4)) (all-the-icons (2 2 0))) "Shows icons for each file in dired mode" single ((:commit . "980b7747d6c4a7992a1ec56afad908956db0a519") (:keywords "files" "icons" "dired") (:authors ("jtbm37")) (:maintainer "jtbm37"))]) (all-the-icons . [(20180125 1557) ((emacs (24 3)) (memoize (1 0 1))) "A library for inserting Developer icons" tar ((:commit . "52d1f2d36468146c93aaf11399f581401a233306") (: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-ext . [(20170115 205) ((all (1 0))) "M-x all with helm-swoop/anything/multiple-cursors/line-number" single ((:commit . "9f4ef84a147cf4e0af6ef45826d6cb3558db6b88") (:keywords "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"))]) (align-cljlet . [(20160112 2101) ((clojure-mode (1 11 5))) "Space align various Clojure forms" single ((:commit . "602d72a7ad52788a0265e3c6da519464a98166b8") (:url . "https://github.com/gstamp/align-cljlet"))]) (alert . [(20181022 1742) ((gntp (0 1)) (log4e (0 3 0)) (cl-lib (0 5))) "Growl-style notification system for Emacs" single ((:commit . "9f329be87820474925f29b52a1131084c8ea95b9") (:keywords "notification" "emacs" "message") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:url . "https://github.com/jwiegley/alert"))]) (alect-themes . [(20180504 1720) ((emacs (24 0))) "Configurable light, dark and black themes for Emacs 24 or later" tar ((:commit . "4d90833a7381123a979f73fa97a013071ca7ff00") (:keywords "color" "theme") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:url . "https://github.com/alezost/alect-themes"))]) (alda-mode . [(20180608 605) ((emacs (24 0))) "An Alda major mode" single ((:commit . "c49dad79591de6662bf5f4eb79acac1d5dd2610e") (:keywords "alda" "highlight") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:url . "http://gitlab.com/jgkamat/alda-mode"))]) (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"))]) (alarm-clock . [(20181114 2335) ((emacs (24 4))) "Alarm Clock" tar ((:commit . "bf3f8e638c21d7ec27a63c28a90a4456de1ee50c") (:keywords "calendar" "tools" "convenience") (:authors ("Steve Lemuel" . "wlemuel@hotmail.com")) (:maintainer "Steve Lemuel" . "wlemuel@hotmail.com") (:url . "https://github.com/wlemuel/alarm-clock"))]) (alan-mode . [(20181011 1129) ((flycheck (32)) (emacs (25 1)) (s (1 12))) "Major mode for editing M-industries Alan files" single ((:commit . "130511906423732fdb941e51ca3e26194f65685a") (:keywords "alan" "languages") (:authors ("Paul van Dam" . "pvandam@m-industries.com")) (:maintainer "Paul van Dam" . "pvandam@m-industries.com") (:url . "https://github.com/M-industries/AlanForEmacs"))]) (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"))]) (airline-themes . [(20180411 406) ((powerline (2 3))) "vim-airline themes for emacs powerline" tar ((:commit . "8b528fbae0e557461315bed82883275d58df41f2") (: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"))]) (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"))]) (ahk-mode . [(20181113 1238) ((emacs (24 3))) "Major mode for editing AHK (AutoHotkey and AutoHotkey_L)" single ((:commit . "fde5be2cd4a0a48dc876031fb25be82892f700e0") (:keywords "ahk" "autohotkey" "hotkey" "keyboard shortcut" "automation") (:authors ("Rich Alesi")) (:maintainer "Rich Alesi") (:url . "https://github.com/ralesi/ahk-mode"))]) (ahg . [(20180921 822) nil "Alberto's Emacs interface for Mercurial (Hg)" single ((:authors ("Alberto Griggio" . "agriggio@users.sourceforge.net")) (:maintainer "Alberto Griggio" . "agriggio@users.sourceforge.net") (:url . "https://bitbucket.org/agriggio/ahg"))]) (aggressive-indent . [(20181018 236) ((emacs (24 1)) (cl-lib (0 5))) "Minor mode to aggressively keep your code always indented" single ((:commit . "cc8da01e32684e1b75d2901400e6723b2c2d42f8") (: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"))]) (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"))]) (ag . [(20180225 1040) ((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 . "77b4f50c5372bf219da496567b2b867261f0d354") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (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"))]) (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"))]) (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"))]) (addressbook-bookmark . [(20171108 634) ((emacs (24))) "An address book based on Standard Emacs bookmarks." single ((:commit . "981355dcfb7477c00d41560a5a66fce73f02c0f5") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/addressbook-bookmark"))]) (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"))]) (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"))]) (adafruit-wisdom . [(20180225 52) ((emacs (25))) "Get/display adafruit.com quotes" single ((:commit . "aafc01726f1b3160321d40160298a0e1b054b382") (: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"))]) (activity-watch-mode . [(20181112 1134) ((emacs (24)) (projectile (0)) (request (0))) "Automatic time tracking extension." single ((:commit . "85a34b213db8ef88db3ae32896bb3235b643e26f") (: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"))]) (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"))]) (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"))]) (achievements . [(20150530 1826) ((keyfreq (0 0 3))) "Achievements for emacs usage." tar nil]) (ace-window . [(20181008 1549) ((avy (0 2 0))) "Quickly switch windows." single ((:commit . "5b88de026cea5fc57e62bb490034392815be5f0f") (:keywords "window" "location") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/ace-window"))]) (ace-popup-menu . [(20180101 615) ((emacs (24 3)) (avy-menu (0 1))) "Replace GUI popup menu with something more efficient" single ((:commit . "7b436a0d9e896463d00afbeb7e49a59cc6670e9c") (: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-pinyin . [(20170501 626) ((avy (0 2 0)) (pinyinlib (0 1 0))) "Jump to Chinese characters using avy or ace-jump-mode" single ((:commit . "a9df88c1e6a32a4f4895acbb8c45383693c494c1") (:keywords "extensions") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:url . "https://github.com/cute-jumper/ace-pinyin"))]) (ace-mc . [(20160409 37) ((ace-jump-mode (1 0)) (multiple-cursors (1 0)) (dash (2 10 0))) "Add multiple cursors quickly using ace jump" single ((:commit . "b106bf6a6c78c3e026fbe9a99a34d6239adce4fd") (: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-link . [(20181103 2106) ((avy (0 4 0))) "Quickly follow links" single ((:commit . "dfd0fdf649703790a9a5ee027f2f86d6f1269d55") (: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-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-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-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-buffer . [(20171031 1550) ((avy (0 4 0)) (dash (2 4 0))) "fast buffer switching extension to `avy'" single ((:commit . "ae5be0415c823f7bb66833aa4af2180d4cf99cef") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ace-jump-buffer"))]) (ace-isearch . [(20170506 712) ((emacs (24))) "A seamless bridge between isearch, ace-jump-mode, avy, helm-swoop and swiper" single ((:commit . "0502f95e333c8059a678745e5a112542965661d1") (:authors ("Akira Tamamori")) (:maintainer "Akira Tamamori") (:url . "https://github.com/tam17aki/ace-isearch"))]) (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"))]) (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"))]) (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"))]) (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-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-rtags . [(20181117 1949) ((auto-complete (1 4 0)) (rtags (2 10))) "auto-complete back-end for RTags" single ((:commit . "6aa45cb37524fad6250ac4694b4a96c53eb29d0e") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "http://rtags.net"))]) (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-php-core . [(20181115 1442) ((emacs (24)) (dash (1)) (php-mode (1)) (xcscope (1)) (s (1)) (f (0 17 0)) (popup (0 5 0))) "gen tags for php" tar ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (ac-php . [(20171201 934) ((ac-php-core (1)) (auto-complete (1 4 0)) (yasnippet (0 8 0))) "auto-completion source for php" single ((:commit . "1883d3178ded71534a7e93189bc789d65e4a000e") (:keywords "completion" "convenience" "intellisense") (:authors (nil . "xcwenn@qq.com [https://github.com/xcwen]")) (:maintainer nil . "xcwenn@qq.com [https://github.com/xcwen]") (:url . "https://github.com/xcwen/ac-php"))]) (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-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-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-js2 . [(20140906 1142) ((js2-mode (20090723)) (skewer-mode (1 4))) "Auto-complete source for Js2-mode, with navigation" tar ((:commit . "721c482e1d4a08f4a29a74437257d573e8f69969") (:authors ("Scott Barnett" . "scott.n.barnett@gmail.com")) (:maintainer "Scott Barnett" . "scott.n.barnett@gmail.com") (:url . "https://github.com/ScottyB/ac-js2"))]) (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-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-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-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 . [(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-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-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-geiser . [(20130929 647) ((geiser (0 5)) (auto-complete (1 4))) "Auto-complete backend for geiser" tar ((:commit . "502d18a8a0bd4b5fdd495a99299ba2a632c5cd9a"))]) (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-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-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-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (auto-complete (1 5))) "auto-complete source for eclim" single ((:commit . "23f5b294f833ce58516d7b9ae08a7792d70022a1"))]) (ac-dcd . [(20170323 1301) ((auto-complete (1 3 1)) (flycheck-dmd-dub (0 7))) "Auto Completion source for dcd for GNU Emacs" single ((:commit . "1614aa624252e3445b0392c8a9b7197084f3e422") (:keywords "languages") (:authors (nil . "<atila.neves@gmail.com>")) (:maintainer nil . "<atila.neves@gmail.com>") (:url . "http://github.com/atilaneves/ac-dcd"))]) (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-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-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-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-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"))]) (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"))]) (abl-mode . [(20181031 830) nil "Python TDD minor mode" single ((:commit . "b4c65b5a60a83200fe06f6caa77073316e5a4228") (: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"))]) (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/"))]) (abc-mode . [(20171020 1019) nil "Major mode for editing abc music files" single ((:commit . "238deedeb6c90df168045552eb463cfae9e1f88f") (:keywords "local" "docs") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu"))]) (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"))]) (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"))]) (@ . [(20181013 1828) ((emacs (24 3))) "multiple-inheritance prototype-based objects DSL" tar ((:commit . "fe78a75c88429343f017ccd74e62bd9465dba50a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/at-el"))]) (4clojure . [(20131014 2207) ((json (1 2)) (request (0 2 0))) "Open and evaluate 4clojure.com questions" single ((:commit . "3cdfd356c24cd3518397d29ae833f56a4d20b4ca") (:keywords "languages" "data") (:authors ("Joshua Hoff")) (:maintainer "Joshua Hoff"))]) (2048-game . [(20151026 1933) nil "play 2048 in Emacs" single ((:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://bitbucket.org/zck/2048.el"))]) (0xc . [(20170126 353) ((emacs (24 4)) (s (1 11 0))) "Base conversion made easy" single ((:commit . "12c2c6118c062a49594965c69e6a17bb46339eb2") (:keywords "base" "conversion") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:url . "http://github.com/AdamNiederer/0xc"))]) (0blayout . [(20161008 607) nil "Layout grouping with ease" single ((:commit . "873732ddb99a3ec18845a37467ee06bce4e61d87") (:keywords "convenience" "window-management") (:authors ("Elis \"etu\" Axelsson")) (:maintainer "Elis \"etu\" Axelsson") (:url . "https://github.com/etu/0blayout"))])) |
New file |
| | |
| | | ;;; golden-ratio-autoloads.el --- automatically extracted autoloads |
| | | ;; |
| | | ;;; Code: |
| | | |
| | | (add-to-list 'load-path (directory-file-name |
| | | (or (file-name-directory #$) (car load-path)))) |
| | | |
| | | |
| | | ;;;### (autoloads nil "golden-ratio" "golden-ratio.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from golden-ratio.el |
| | | |
| | | (autoload 'golden-ratio "golden-ratio" "\ |
| | | Resizes current window to the golden-ratio's size specs. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (defvar golden-ratio-mode nil "\ |
| | | Non-nil if Golden-Ratio mode is enabled. |
| | | See the `golden-ratio-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 `golden-ratio-mode'.") |
| | | |
| | | (custom-autoload 'golden-ratio-mode "golden-ratio" nil) |
| | | |
| | | (autoload 'golden-ratio-mode "golden-ratio" "\ |
| | | Enable automatic window resizing with golden ratio. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "golden-ratio" '("golden-ratio-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;; Local Variables: |
| | | ;; version-control: never |
| | | ;; no-byte-compile: t |
| | | ;; no-update-autoloads: t |
| | | ;; coding: utf-8 |
| | | ;; End: |
| | | ;;; golden-ratio-autoloads.el ends here |
New file |
| | |
| | | ;;; -*- no-byte-compile: t -*- |
| | | (define-package "golden-ratio" "20150819.1120" "Automatic resizing of Emacs windows to the golden ratio" 'nil :commit "72b028808b41d23fa3f7e8c0d23d2c475e7b46ae" :keywords '("window" "resizing") :authors '(("Roman Gonzalez" . "romanandreg@gmail.com")) :maintainer '("Roman Gonzalez" . "romanandreg@gmail.com")) |
New file |
| | |
| | | ;;; golden-ratio.el --- Automatic resizing of Emacs windows to the golden ratio |
| | | |
| | | ;; Copyright (C) 2012 Roman Gonzalez |
| | | |
| | | ;; Author: Roman Gonzalez <romanandreg@gmail.com> |
| | | ;; Mantainer: Roman Gonzalez <romanandreg@gmail.com> |
| | | ;; Created: 13 Oct 2012 |
| | | ;; Keywords: Window Resizing |
| | | ;; Package-Version: 20150819.1120 |
| | | ;; Version: 0.0.4 |
| | | |
| | | ;; Code inspired by ideas from Tatsuhiro Ujihisa |
| | | |
| | | ;; This file is not part of GNU Emacs. |
| | | |
| | | ;; This file is free software (MIT License) |
| | | |
| | | ;;; Code: |
| | | (eval-when-compile (require 'cl)) |
| | | |
| | | (defconst golden-ratio--value 1.618 |
| | | "The golden ratio value itself.") |
| | | |
| | | (defgroup golden-ratio nil |
| | | "Resize windows to golden ratio." |
| | | :group 'windows) |
| | | |
| | | ;; Major modes that are exempt from being resized. An example of this |
| | | ;; for users of Org-mode might be: |
| | | ;; ("calendar-mode") or (calendar-mode) |
| | | (defcustom golden-ratio-exclude-modes nil |
| | | "A list of symbols or strings naming major modes. |
| | | Switching to a buffer whose major mode is a member of this list |
| | | will not cause the window to be resized to the golden ratio." |
| | | :type '(repeat (choice symbol string)) |
| | | :group 'golden-ratio) |
| | | |
| | | ;; Buffer names that are exempt from being resized. An example of this |
| | | ;; for users of Org-mode might be (note the leading spaces): |
| | | ;; (" *Org tags*" " *Org todo*") |
| | | (defcustom golden-ratio-exclude-buffer-names nil |
| | | "An array of strings containing buffer names. |
| | | Switching to a buffer whose name is a member of this list |
| | | will not cause the window to be resized to the golden ratio." |
| | | :type '(repeat string) |
| | | :group 'golden-ratio) |
| | | |
| | | (defcustom golden-ratio-inhibit-functions nil |
| | | "List of functions to call with no arguments. |
| | | Switching to a buffer, if any of these functions returns non-nil |
| | | will not cause the window to be resized to the golden ratio." |
| | | :group 'golden-ratio |
| | | :type '(repeat symbol)) |
| | | |
| | | (defcustom golden-ratio-extra-commands |
| | | '(windmove-left windmove-right windmove-down windmove-up) |
| | | "List of extra commands used to jump to other window." |
| | | :group 'golden-ratio |
| | | :type '(repeat symbol)) |
| | | |
| | | (defcustom golden-ratio-recenter nil |
| | | "Recenter window vertically and scroll right when non--nil." |
| | | :group 'golden-ratio |
| | | :type 'boolean) |
| | | |
| | | (defcustom golden-ratio-adjust-factor 1.0 |
| | | "Adjust the width sizing by some factor. 1 is no adjustment. |
| | | For very wide screens/frames, ie. 3400px, .4 may work well." |
| | | :group 'golden-ratio |
| | | :type 'integer) |
| | | |
| | | (defcustom golden-ratio-wide-adjust-factor 0.8 |
| | | "Width adjustment factor for widescreens. Used when |
| | | toggling between widescreen and regular modes." |
| | | :group 'golden-ratio |
| | | :type 'float) |
| | | |
| | | (defcustom golden-ratio-auto-scale nil |
| | | "Automatic width adjustment factoring. Scales the width |
| | | of the screens to be smaller as the frame gets bigger." |
| | | :group 'golden-ratio |
| | | :type 'boolean) |
| | | |
| | | (defcustom golden-ratio-exclude-buffer-regexp nil |
| | | "A list of regexp's used to match buffer names. |
| | | Switching to a buffer whose name matches one of these regexps |
| | | will prevent the window to be resized to the golden ratio." |
| | | :type '(repeat string) |
| | | :group 'golden-ratio) |
| | | |
| | | ;;; Compatibility |
| | | ;; |
| | | (unless (fboundp 'window-resizable-p) |
| | | (defalias 'window-resizable-p 'window--resizable-p)) |
| | | |
| | | (defun golden-ratio-toggle-widescreen () |
| | | (interactive) |
| | | (if (= golden-ratio-adjust-factor 1) |
| | | (setq golden-ratio-adjust-factor golden-ratio-wide-adjust-factor) |
| | | (setq golden-ratio-adjust-factor 1)) |
| | | (golden-ratio)) |
| | | |
| | | (defun golden-ratio-adjust (a) |
| | | "set the adjustment of window widths." |
| | | (interactive |
| | | (list |
| | | (read-number "Screeen width adjustment factor: " golden-ratio-adjust-factor))) |
| | | (setq golden-ratio-adjust-factor a) |
| | | (golden-ratio)) |
| | | |
| | | (defun golden-ratio--scale-factor () |
| | | (if golden-ratio-auto-scale |
| | | (- 1.0 (* (/ (- (frame-width) 100.0) 1000.0) 1.8)) |
| | | golden-ratio-adjust-factor)) |
| | | |
| | | (defun golden-ratio--dimensions () |
| | | (list (floor (/ (frame-height) golden-ratio--value)) |
| | | (floor (* (/ (frame-width) golden-ratio--value) |
| | | (golden-ratio--scale-factor))))) |
| | | |
| | | (defun golden-ratio--resize-window (dimensions &optional window) |
| | | (with-selected-window (or window (selected-window)) |
| | | (let ((nrow (floor (- (first dimensions) (window-height)))) |
| | | (ncol (floor (- (second dimensions) (window-width))))) |
| | | (when (window-resizable-p (selected-window) nrow) |
| | | (enlarge-window nrow)) |
| | | (when (window-resizable-p (selected-window) ncol t) |
| | | (enlarge-window ncol t))))) |
| | | |
| | | (defun golden-ratio-exclude-major-mode-p () |
| | | "Returns non-nil if `major-mode' should not use golden-ratio." |
| | | (or (memq major-mode golden-ratio-exclude-modes) |
| | | (member (symbol-name major-mode) |
| | | golden-ratio-exclude-modes))) |
| | | |
| | | ;;;###autoload |
| | | (defun golden-ratio (&optional arg) |
| | | "Resizes current window to the golden-ratio's size specs." |
| | | (interactive "p") |
| | | (unless (or (and (not golden-ratio-mode) (null arg)) |
| | | (window-minibuffer-p) |
| | | (one-window-p) |
| | | (golden-ratio-exclude-major-mode-p) |
| | | (member (buffer-name) |
| | | golden-ratio-exclude-buffer-names) |
| | | (and golden-ratio-exclude-buffer-regexp |
| | | (loop for r in golden-ratio-exclude-buffer-regexp |
| | | thereis (string-match r (buffer-name)))) |
| | | (and golden-ratio-inhibit-functions |
| | | (loop for fun in golden-ratio-inhibit-functions |
| | | thereis (funcall fun)))) |
| | | (let ((dims (golden-ratio--dimensions)) |
| | | (golden-ratio-mode nil)) |
| | | ;; Always disable `golden-ratio-mode' to avoid |
| | | ;; infinite loop in `balance-windows'. |
| | | (balance-windows) |
| | | (golden-ratio--resize-window dims) |
| | | (when golden-ratio-recenter |
| | | (scroll-right) (recenter))))) |
| | | |
| | | ;; Should return nil |
| | | (defadvice other-window |
| | | (after golden-ratio-resize-window) |
| | | (golden-ratio) nil) |
| | | |
| | | ;; Should return the buffer |
| | | (defadvice pop-to-buffer |
| | | (around golden-ratio-resize-window) |
| | | (prog1 ad-do-it (golden-ratio))) |
| | | |
| | | (defun golden-ratio--post-command-hook () |
| | | (when (or (memq this-command golden-ratio-extra-commands) |
| | | (and (consp this-command) ; A lambda form. |
| | | (loop for com in golden-ratio-extra-commands |
| | | thereis (or (memq com this-command) |
| | | (memq (car-safe com) this-command))))) |
| | | ;; This is needed in emacs-25 to avoid this error from `recenter': |
| | | ;; `recenter'ing a window that does not display current-buffer. |
| | | ;; This doesn't happen in emacs-24.4 and previous versions. |
| | | (run-with-idle-timer 0.01 nil (lambda () (golden-ratio))))) |
| | | |
| | | (defun golden-ratio--mouse-leave-buffer-hook () |
| | | (run-at-time 0.1 nil (lambda () |
| | | (golden-ratio)))) |
| | | |
| | | ;;;###autoload |
| | | (define-minor-mode golden-ratio-mode |
| | | "Enable automatic window resizing with golden ratio." |
| | | :lighter " Golden" |
| | | :global t |
| | | (if golden-ratio-mode |
| | | (progn |
| | | (add-hook 'window-configuration-change-hook 'golden-ratio) |
| | | (add-hook 'post-command-hook 'golden-ratio--post-command-hook) |
| | | (add-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) |
| | | (ad-activate 'other-window) |
| | | (ad-activate 'pop-to-buffer)) |
| | | (remove-hook 'window-configuration-change-hook 'golden-ratio) |
| | | (remove-hook 'post-command-hook 'golden-ratio--post-command-hook) |
| | | (remove-hook 'mouse-leave-buffer-hook 'golden-ratio--mouse-leave-buffer-hook) |
| | | (ad-deactivate 'other-window) |
| | | (ad-deactivate 'pop-to-buffer))) |
| | | |
| | | |
| | | (provide 'golden-ratio) |
| | | |
| | | ;;; golden-ratio.el ends here |
New file |
| | |
| | | ;;; helm-help.el --- Help messages for Helm. -*- lexical-binding: t -*- |
| | | |
| | | ;; Copyright (C) 2012 ~ 2018 Thierry Volpiatto <thierry.volpiatto@gmail.com> |
| | | |
| | | ;; 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/>. |
| | | |
| | | ;;; Code: |
| | | (require 'helm) |
| | | |
| | | (defvar helm-org-headings--nofilename) |
| | | (declare-function helm-source-org-headings-for-files "helm-org.el") |
| | | |
| | | |
| | | (defgroup helm-help nil |
| | | "Embedded help for `helm'." |
| | | :group 'helm) |
| | | |
| | | (defface helm-helper |
| | | '((t :inherit helm-header)) |
| | | "Face for Helm help string in minibuffer." |
| | | :group 'helm-help) |
| | | |
| | | (defvar helm-help--string-list '(helm-help-message |
| | | helm-buffer-help-message |
| | | helm-ff-help-message |
| | | helm-read-file-name-help-message |
| | | helm-generic-file-help-message |
| | | helm-grep-help-message |
| | | helm-pdfgrep-help-message |
| | | helm-etags-help-message |
| | | helm-ucs-help-message |
| | | helm-bookmark-help-message |
| | | helm-esh-help-message |
| | | helm-buffers-ido-virtual-help-message |
| | | helm-moccur-help-message |
| | | helm-top-help-message |
| | | helm-el-package-help-message |
| | | helm-M-x-help-message |
| | | helm-imenu-help-message |
| | | helm-colors-help-message |
| | | helm-semantic-help-message |
| | | helm-kmacro-help-message)) |
| | | |
| | | (defvar helm-documentation-buffer-name "*helm documentation*") |
| | | |
| | | ;;;###autoload |
| | | (defun helm-documentation () |
| | | "Preconfigured Helm for Helm documentation. |
| | | With a prefix arg refresh the documentation. |
| | | |
| | | Find here the documentation of all documented sources." |
| | | (interactive) |
| | | (require 'helm-org) |
| | | (with-current-buffer (get-buffer-create helm-documentation-buffer-name) |
| | | (let ((inhibit-read-only t)) |
| | | (erase-buffer) |
| | | (cl-loop for elm in helm-help--string-list |
| | | for str = (helm-interpret-value elm) |
| | | do (insert (substitute-command-keys str) "\n\n")) |
| | | (org-mode)) |
| | | (setq buffer-read-only t) |
| | | (view-mode)) |
| | | (let ((helm-org-headings--nofilename t)) |
| | | (helm :sources (helm-source-org-headings-for-files |
| | | (list (get-buffer helm-documentation-buffer-name))) |
| | | :candidate-number-limit 99999 |
| | | :buffer "*helm doc*"))) |
| | | |
| | | ;;; Local help messages. |
| | | |
| | | ;;; `helm-buffer-list' help |
| | | ;; |
| | | ;; |
| | | (defvar helm-buffer-help-message |
| | | "* Helm Buffer |
| | | |
| | | ** Tips |
| | | |
| | | *** Completion |
| | | |
| | | **** Major-mode |
| | | |
| | | You can enter a partial major-mode name (e.g. lisp, sh) to narrow down buffers. |
| | | To specify the major-mode, prefix it with \"*\" e.g. \"*lisp\". |
| | | |
| | | If you want to match all buffers but the ones with a specific major-mode |
| | | \(negation), prefix the major-mode with \"!\" e.g. \"*!lisp\". |
| | | |
| | | If you want to specify more than one major-mode, separate them with \",\", |
| | | e.g. \"*!lisp,!sh,!fun\" lists all buffers but the ones in lisp-mode, sh-mode |
| | | and fundamental-mode. |
| | | |
| | | Then enter a space followed by a pattern to narrow down to buffers matching this |
| | | pattern. |
| | | |
| | | **** Search inside buffers |
| | | |
| | | If you enter a space and a pattern prefixed by \"@\", Helm searches for text |
| | | matching this pattern \*inside* the buffer (i.e. not in the name of the buffer). |
| | | |
| | | If you enter a pattern prefixed with an escaped \"@\", Helm searches for a |
| | | buffer matching \"@pattern\" but does not search inside. |
| | | |
| | | **** Search by directory name |
| | | |
| | | If you prefix the pattern with \"/\", Helm matches over the directory names |
| | | of the buffers. |
| | | |
| | | This feature can be used to narrow down the search to one directory while |
| | | subsequent strings entered after a space match over the buffer name only. |
| | | |
| | | Note that negation is not supported for matching on buffer filename. |
| | | |
| | | Starting from Helm v1.6.8, you can specify more than one directory. |
| | | |
| | | **** Fuzzy matching |
| | | |
| | | `helm-buffers-fuzzy-matching' turns on fuzzy matching on buffer names, but not |
| | | on directory names or major modes. A pattern starting with \"^\" disables fuzzy |
| | | matching and matches by exact regexp. |
| | | |
| | | **** Examples |
| | | |
| | | With the following pattern |
| | | |
| | | \"*lisp ^helm @moc\" |
| | | |
| | | Helm narrows down the list by selecting only the buffers that are in lisp mode, |
| | | start with \"helm\" and which content matches \"moc\". |
| | | |
| | | Without the \"@\" |
| | | |
| | | \"*lisp ^helm moc\" |
| | | |
| | | Helm looks for lisp mode buffers starting with \"helm\" and containing \"moc\" |
| | | in their name. |
| | | |
| | | With this other pattern |
| | | |
| | | \"*!lisp !helm\" |
| | | |
| | | Helm narrows down to buffers that are not in \"lisp\" mode and that do not match |
| | | \"helm\". |
| | | |
| | | With this last pattern |
| | | |
| | | /helm/ w3 |
| | | |
| | | Helm narrows down to buffers that are in any \"helm\" subdirectory and |
| | | matching \"w3\". |
| | | |
| | | *** Creating buffers |
| | | |
| | | When creating a new buffer, use `\\[universal-argument]' to choose a mode from a |
| | | list. This list is customizable, see `helm-buffers-favorite-modes'. |
| | | |
| | | *** Killing buffers |
| | | |
| | | You can kill buffers either one by one or all the marked buffers at once. |
| | | |
| | | One kill-buffer command leaves Helm while the other is persistent. Run the |
| | | persistent kill-buffer command either with the regular |
| | | `helm-execute-persistent-action' called with a prefix argument (`\\[universal-argument] \\<helm-map>\\[helm-execute-persistent-action]') |
| | | or with its specific command `helm-buffer-run-kill-persistent'. See the |
| | | bindings below. |
| | | |
| | | *** Switching to buffers |
| | | |
| | | To switch to a buffer, press RET, to switch to a buffer in another window, select this buffer |
| | | and press \\<helm-buffer-map>\\[helm-buffer-switch-other-window], when called with a prefix arg |
| | | the buffer will be displayed vertically in other window. |
| | | If you mark more than one buffer, the marked buffers will be displayed in different windows. |
| | | |
| | | *** Meaning of colors and prefixes for buffers |
| | | |
| | | Remote buffers are prefixed with '@'. |
| | | Red => Buffer's file was modified on disk by an external process. |
| | | Indianred2 => Buffer exists but its file has been deleted. |
| | | Orange => Buffer is modified and not saved to disk. |
| | | Italic => A non-file buffer. |
| | | Yellow => Tramp archive buffer. |
| | | |
| | | ** Commands |
| | | \\<helm-buffer-map> |
| | | \\[helm-buffer-run-zgrep]\t\tGrep Buffer(s) works as zgrep too (`\\[universal-argument]' to grep all buffers but non-file buffers). |
| | | \\[helm-buffers-run-multi-occur]\t\tMulti-Occur buffer or marked buffers (`\\[universal-argument]' to toggle force-searching current-buffer). |
| | | \\[helm-buffer-switch-other-window]\t\tSwitch to other window. |
| | | \\[helm-buffer-switch-other-frame]\t\tSwitch to other frame. |
| | | \\[helm-buffers-run-browse-project]\t\tBrowse project from buffer. |
| | | \\[helm-buffer-run-query-replace-regexp]\t\tQuery-replace-regexp in marked buffers. |
| | | \\[helm-buffer-run-query-replace]\t\tQuery-replace in marked buffers. |
| | | \\[helm-buffer-run-ediff]\t\tEdiff current buffer with candidate. With two marked buffers, ediff those buffers. |
| | | \\[helm-buffer-run-ediff-merge]\t\tEdiff-merge current buffer with candidate. With two marked buffers, ediff-merge those buffers. |
| | | \\[helm-buffer-diff-persistent]\t\tToggle Diff-buffer with saved file without leaving Helm. |
| | | \\[helm-buffer-revert-persistent]\t\tRevert buffer without leaving Helm. |
| | | \\[helm-buffer-save-persistent]\t\tSave buffer without leaving Helm. |
| | | \\[helm-buffer-run-kill-buffers]\t\tDelete marked buffers and leave Helm. |
| | | \\[helm-buffer-run-kill-persistent]\t\tDelete buffer without leaving Helm. |
| | | \\[helm-buffer-run-rename-buffer]\t\tRename buffer. |
| | | \\[helm-toggle-all-marks]\t\tToggle all marks. |
| | | \\[helm-mark-all]\t\tMark all. |
| | | \\[helm-toggle-buffers-details]\t\tToggle details. |
| | | \\[helm-buffers-toggle-show-hidden-buffers]\t\tShow hidden buffers. |
| | | \\[helm-buffers-mark-similar-buffers]\t\tMark all buffers of the same type (color) as current buffer.") |
| | | |
| | | ;;; Find files help (`helm-find-files') |
| | | ;; |
| | | ;; |
| | | (defvar helm-ff-help-message |
| | | "* Helm Find Files |
| | | |
| | | ** Tips |
| | | |
| | | *** Navigation summary |
| | | |
| | | For a better experience you can enable auto completion by setting |
| | | `helm-ff-auto-update-initial-value' to non-nil in your init file. It is not |
| | | enabled by default to not confuse new users. |
| | | |
| | | **** Use `\\<helm-find-files-map>\\[helm-execute-persistent-action]' (persistent action) on a directory to go down one level |
| | | |
| | | On a symlinked directory a prefix argument expands to its true name. |
| | | |
| | | **** Use `\\<helm-find-files-map>\\[helm-find-files-up-one-level]' on a directory to go up one level |
| | | |
| | | **** Use `\\<helm-find-files-map>\\[helm-find-files-down-last-level]' to walk back the resulting tree of all the `\\<helm-map>\\[helm-execute-persistent-action]' you did |
| | | |
| | | The tree is reinitialized each time you browse a new tree with |
| | | `\\<helm-map>\\[helm-execute-persistent-action]' or by entering some pattern in the prompt. |
| | | |
| | | **** `RET' behavior |
| | | |
| | | It behaves differently depending on `helm-selection' (current candidate in helm-buffer): |
| | | |
| | | - candidate basename is \".\" => Open it in dired. |
| | | - candidate is a directory => Expand it. |
| | | - candidate is a file => Open it. |
| | | |
| | | If you have marked candidates and you press RET on a directory, |
| | | helm will navigate to this directory, if you want to exit with |
| | | RET with default action with these marked candidates, press RET |
| | | on a second time while you are on the root of this directory |
| | | e.g. \"/home/you/dir/.\" or press RET on any file which is not a |
| | | directory. You can also exit with default action at any moment |
| | | with `f1'. |
| | | |
| | | Note that when copying, renaming, etc. from `helm-find-files' the |
| | | destination file is selected with `helm-read-file-name'. |
| | | |
| | | To avoid confusion when using `read-file-name' or `read-directory-name', `RET' |
| | | follows its standard Emacs behaviour, i.e. it exits the minibuffer as soon as |
| | | you press `RET'. If you want the same behavior as in `helm-find-files', bind |
| | | `helm-ff-RET' to the `helm-read-file-map': |
| | | |
| | | (define-key helm-read-file-map (kbd \"RET\") 'helm-ff-RET) |
| | | |
| | | *** Find file at point |
| | | |
| | | Helm uses `ffap' partially or completely to find file at point depending on the |
| | | value of `helm-ff-guess-ffap-filenames': if non-nil, support is complete |
| | | \(annoying), if nil, support is partial. |
| | | |
| | | **** Find file at line number |
| | | |
| | | When text at point is in the form of |
| | | |
| | | ~/elisp/helm/helm.el:1234 |
| | | |
| | | Helm finds this file at the indicated line number, here 1234. |
| | | |
| | | **** Find URL at point |
| | | |
| | | When a URL is found at point, Helm expands to that URL only. |
| | | Pressing `RET' opens that URL using `browse-url-browser-function'. |
| | | |
| | | **** Find e-mail address at point |
| | | |
| | | When an e-mail address is found at point, Helm expands to this e-mail address |
| | | prefixed with \"mailto:\". Pressing `RET' opens a message buffer with that |
| | | e-mail address. |
| | | |
| | | *** Quick pattern expansion |
| | | |
| | | **** Enter `~/' at end of pattern to quickly reach home directory |
| | | |
| | | **** Enter `/' at end of pattern to quickly reach the file system root |
| | | |
| | | **** Enter `./' at end of pattern to quickly reach `default-directory' |
| | | |
| | | \(As per its value at the beginning of the session.) |
| | | |
| | | If you already are in the `default-directory' this will move the cursor to the top. |
| | | |
| | | **** Enter `../' at end of pattern will reach upper directory, moving cursor to the top |
| | | |
| | | This is different from using `\\<helm-find-files-map>\\[helm-find-files-up-one-level]' in that it moves |
| | | the cursor to the top instead of remaining on the previous subdir name. |
| | | |
| | | **** Enter `..name/' at end of pattern to start a recursive search |
| | | |
| | | It searches directories matching \"name\" under the current directory, see the |
| | | \"Recursive completion on subdirectories\" section below for more details. |
| | | |
| | | **** Any environment variable (e.g. `$HOME') at end of pattern gets expanded |
| | | |
| | | **** Any valid filename yanked after pattern gets expanded |
| | | |
| | | **** Special case: URL at point |
| | | |
| | | The quick expansions do not take effect after end a URL, you must kill the |
| | | pattern first (`\\[helm-delete-minibuffer-contents]'). |
| | | |
| | | *** Helm-find-files supports fuzzy matching |
| | | |
| | | It starts from the third character of the pattern. |
| | | |
| | | For instance \"fob\" or \"fbr\" will complete \"foobar\" but \"fb\" needs a |
| | | third character in order to complete it. |
| | | |
| | | *** Use `\\[universal-argument] \\[helm-execute-persistent-action]' or `\\[helm-follow-action-forward]' to display an image |
| | | |
| | | *** `\\[helm-execute-persistent-action]' on a filename expands to that filename in the Helm buffer |
| | | |
| | | Second hit displays the buffer filename. |
| | | Third hit kills the buffer filename. |
| | | Note: `\\[universal-argument] \\[helm-execute-persistent-action]' displays the buffer directly. |
| | | |
| | | *** Browse images directories with `helm-follow-mode' and navigate up/down |
| | | |
| | | You can also use `helm-follow-action-forward' and `helm-follow-action-backward' with |
| | | `\\[helm-follow-action-forward]' and `\\[helm-follow-action-backward]' respectively. |
| | | |
| | | *** Toggle auto-completion with `\\[helm-ff-run-toggle-auto-update]' |
| | | |
| | | It is useful when trying to create a new file or directory and you don't want |
| | | Helm to complete what you are writing. |
| | | |
| | | Note: On a terminal, the default binding `C-<backspace>' may not work. |
| | | In this case use `C-c <backspace>'. |
| | | |
| | | *** You can create a new directory and a new file at the same time |
| | | |
| | | Simply write the path in the prompt and press `RET', e.g. |
| | | \"~/new/newnew/newnewnew/my_newfile.txt\". |
| | | |
| | | *** To create a new directory, append a \"/\" to the new name and press `RET' |
| | | |
| | | *** To create a new file, enter a filename not ending with \"/\" |
| | | |
| | | Note that when you enter a new name, this one is prefixed with |
| | | \[?] if you are in a writable directory. If you are in a directory |
| | | where you have no write permission the new file name is not |
| | | prefixed and is colored in red. There is not such distinction |
| | | when using tramp, new filename just appear on top of buffer. |
| | | |
| | | *** Recursive search from Helm-find-files |
| | | |
| | | **** You can use Helm-browse-project (see binding below) |
| | | |
| | | - With no prefix argument: |
| | | If the current directory is under version control with either git or hg and |
| | | helm-ls-git and/or helm-ls-hg are installed, it lists all the files under |
| | | version control. Otherwise it falls back to Helm-find-files. See |
| | | https://github.com/emacs-helm/helm-ls-git and |
| | | https://github.com/emacs-helm/helm-ls-hg. |
| | | |
| | | - With one prefix argument: |
| | | List all the files under this directory and other subdirectories |
| | | \(recursion) and this list of files will be cached. |
| | | |
| | | - With two prefix arguments: |
| | | Same but the cache is refreshed. |
| | | |
| | | **** You can start a recursive search with \"locate\" or \"find\" |
| | | |
| | | See \"Note\" in the [[Recusive completion on subdirectories][section on subdirectories]]. |
| | | |
| | | Using \"locate\", you can enable the local database with a prefix argument. If the |
| | | local database doesn't already exists, you will be prompted for its creation. |
| | | If it exists and you want to refresh it, give it two prefix args. |
| | | |
| | | When using locate the helm-buffer remains empty until you type something. |
| | | Regardless Helm uses the basename of the pattern entered in the helm-find-files |
| | | session by default. Hitting `\\[next-history-element]' should just kick in the |
| | | locate search with this pattern. If you want Helm to automatically do this, add |
| | | `helm-source-locate' to `helm-sources-using-default-as-input'. |
| | | |
| | | **** Recursive completion on subdirectories |
| | | |
| | | Starting from the directory you are currently browsing, it is possible to have |
| | | completion of all directories underneath. Say you are at \"/home/you/foo/\" and |
| | | you want to go to \"/home/you/foo/bar/baz/somewhere/else\", simply type |
| | | \"/home/you/foo/..else\" and hit `\\[helm-execute-persistent-action]' or enter |
| | | the final \"/\". Helm will then list all possible directories under \"foo\" |
| | | matching \"else\". |
| | | |
| | | Entering two spaces before \"else\" instead of two dots also works. |
| | | |
| | | Note: Completion on subdirectories uses \"locate\" as backend, you can configure |
| | | the command with `helm-locate-recursive-dirs-command'. Because this completion |
| | | uses an index, the directory tree displayed may be out-of-date and not reflect |
| | | the latest change until you update the index (using \"updatedb\" for \"locate\"). |
| | | |
| | | If for some reason you cannot use an index, the \"find\" command from |
| | | \"findutils\" can be used instead. It will be slower though. You need to pass |
| | | the basedir as first argument of \"find\" and the subdir as the value for |
| | | '-(i)regex' or '-(i)name' with the two format specs that are mandatory in |
| | | `helm-locate-recursive-dirs-command'. |
| | | |
| | | Examples: |
| | | - \"find %s -type d -name '*%s*'\" |
| | | - \"find %s -type d -regex .*%s.*$\" |
| | | |
| | | *** Insert filename at point or complete filename at point |
| | | |
| | | On insertion (not on completion, i.e. there is nothing at point): |
| | | |
| | | - `\\[helm-ff-run-complete-fn-at-point]': insert absolute file name. |
| | | - `\\[universal-argument] \\[helm-ff-run-complete-fn-at-point]': insert abbreviated file name. |
| | | - `\\[universal-argument] \\[universal-argument] \\[helm-ff-run-complete-fn-at-point]': insert relative file name. |
| | | |
| | | On completion: |
| | | |
| | | - Target starts with \"~/\": insert abbreviate file name. |
| | | - target starts with \"/\" or \"[a-z]:/\": insert full path. |
| | | - Otherwise: insert relative file name. |
| | | |
| | | *** Use the wildcard to select multiple files |
| | | |
| | | Use of wilcard is supported to run an action over a set of files. |
| | | |
| | | Example: You can copy all the files with \".el\" extension by using \"*.el\" and |
| | | then run copy action. |
| | | |
| | | Similarly, \"**.el\" (note the two stars) will recursively select all \".el\" |
| | | files under the current directory. |
| | | |
| | | Note that when recursively copying files, you may have files with same name |
| | | dispatched across different subdirectories, so when copying them in the same |
| | | directory they will get overwritten. To avoid this Helm has a special action |
| | | called \"backup files\" that has the same behavior as the command line \"cp -f |
| | | --backup=numbered\": it allows you to copy many files with the same name from |
| | | different subdirectories into one directory. Files with same name are renamed |
| | | as follows: \"foo.txt.~1~\". Like with the --force option of cp, it is possible |
| | | to backup files in current directory. |
| | | |
| | | This command is available only when `dired-async-mode' is active. |
| | | |
| | | When using an action that involves an external backend (e.g. grep), using \"**\" |
| | | is not recommended (even thought it works fine) because it will be slower to |
| | | select all the files. You are better off leaving the backend to do it, it will |
| | | be faster. However, if you know you have not many files it is reasonable to use |
| | | this, also using not recursive wilcard (e.g. \"*.el\") is perfectly fine for |
| | | this. |
| | | |
| | | The \"**\" feature is active by default in the option `helm-file-globstar'. It |
| | | is different from the Bash \"shopt globstar\" feature in that to list files with |
| | | a named extension recursively you would write \"**.el\" whereas in Bash it would |
| | | be \"**/*.el\". Directory selection with \"**/\" like Bash \"shopt globstar\" |
| | | option is not supported yet. |
| | | |
| | | *** Query replace regexp on filenames |
| | | |
| | | Replace different parts of a file basename with something else. |
| | | |
| | | When calling this action you will be prompted twice as with |
| | | `query-replace', first for the matching expression of the text to |
| | | replace and second for the replacement text. Several facilities, |
| | | however, are provided to make the two prompts more powerfull. |
| | | |
| | | **** Syntax of the first prompt |
| | | |
| | | In addition to simple regexps, these shortcuts are available: |
| | | |
| | | - Basename without extension => \"%.\" |
| | | - Only extension => \".%\" |
| | | - Substring => \"%:<from>:<to>\" |
| | | - Whole basename => \"%\" |
| | | |
| | | **** Syntax of the second prompt |
| | | |
| | | In addition to a simple string to use as replacement, here is what you can use: |
| | | |
| | | - A placeholder refering to what you have selected in the first prompt: \"\\@\". |
| | | |
| | | After this placeholder you can use a search-and-replace syntax à-la sed: |
| | | |
| | | \"\\@/<regexp>/<replacement>/ |
| | | |
| | | You can select a substring from the string represented by the placeholder: |
| | | |
| | | \"\\@:<from>:<to>\" |
| | | |
| | | - A special character representing a number which is incremented: \"\\#\". |
| | | |
| | | - Shortcuts for `upcase', `downcase' and `capitalize' |
| | | are available as`%u', `%d' and `%c' respectively. |
| | | |
| | | **** Examples |
| | | |
| | | ***** Recursively rename all files with \".JPG\" extension to \".jpg\" |
| | | |
| | | Use the `helm-file-globstar' feature described in [[Using wildcard to select multiple files][recursive globbing]] |
| | | by entering \"**.JPG\" at the end of the Helm-find-files pattern, then hit |
| | | \\<helm-map>\\[helm-ff-query-replace-on-filenames]: First \"JPG\", then \"jpg\" |
| | | and hit `RET'. |
| | | |
| | | Alternatively you can enter \".%\" at the first prompt, then \"jpg\" and hit |
| | | `RET'. Note that when using this instead of using \"JPG\" at the first prompt, |
| | | all extensions will be renamed to \"jpg\" even if the extension of one of the |
| | | files is, say, \"png\". If you want to keep the original extension you can use |
| | | \"%d\" at the second prompt (downcase). |
| | | |
| | | ***** Batch-rename files from number 001 to 00x |
| | | |
| | | Use \"\\#\" inside the second prompt. |
| | | |
| | | Example 1: To rename the files |
| | | |
| | | foo.jpg |
| | | bar.jpg |
| | | baz.jpg |
| | | |
| | | to |
| | | |
| | | foo-001.jpg |
| | | foo-002.jpg |
| | | foo-003.jpg |
| | | |
| | | use \"%.\" as matching regexp and \"foo-\\#\" as replacement string. |
| | | |
| | | Example 2: To rename the files |
| | | |
| | | foo.jpg |
| | | bar.jpg |
| | | baz.jpg |
| | | |
| | | to |
| | | |
| | | foo-001.jpg |
| | | bar-002.jpg |
| | | baz-003.jpg |
| | | |
| | | use as matching regexp \"%.\" and as replacement string \"\\@-\\#\". |
| | | |
| | | ***** Replace a substring |
| | | |
| | | Use \"%:<from>:<to>\". |
| | | |
| | | Example: To rename files |
| | | |
| | | foo.jpg |
| | | bar.jpg |
| | | baz.jpg |
| | | |
| | | to |
| | | |
| | | fOo.jpg |
| | | bAr.jpg |
| | | bAz.jpg |
| | | |
| | | use as matching regexp \"%:1:2\" and as replacement string \"%u\" (upcase). |
| | | |
| | | Note that you \*cannot* use \"%.\" and \".%\" along with substring replacement. |
| | | |
| | | ***** Modify the string from the placeholder (\\@) |
| | | |
| | | - By substring, i.e. only using the substring of the placeholder: \"\\@:<from>:<to>\". |
| | | The length of placeholder is used for <to> when unspecified. |
| | | |
| | | Example 1: \"\\@:0:2\" replaces from the beginning to the second char of the placeholder. |
| | | |
| | | Example 2: \\@:2: replaces from the second char of the placeholder to the end. |
| | | |
| | | - By search-and-replace: \"\\@/<regexp>/<replacement>/\". |
| | | |
| | | Incremental replacement is also handled in <replacement>. |
| | | |
| | | Example 3: \"\\@/foo/bar/\" replaces \"foo\" by \"bar\" in the placeholder. |
| | | |
| | | Example 4: \"\\@/foo/-\\#/\" replaces \"foo\" in the placeholder by 001, 002, etc. |
| | | |
| | | ***** Clash in replacements (avoid overwriting files) |
| | | |
| | | When performing any of these replacement operations you may end up with same |
| | | names as replacement. In such cases Helm numbers the file that would otherwise |
| | | overwritten. For instance, should you remove the \"-m<n>\" part from the files |
| | | \"emacs-m1.txt\", \"emacs-m2.txt\" and \"emacs-m3.txt\" you would end up with |
| | | three files named \"emacs.txt\", the second renaming overwriting first file, and |
| | | the third renaming overwriting second file and so on. Instead Helm will |
| | | automatically rename the second and third files as \"emacs(1).txt\" and |
| | | \"emacs(2).txt\" respectively. |
| | | |
| | | ***** Query-replace on filenames vs. serial-rename action |
| | | |
| | | Unlike the [[Serial renaming][serial rename]] actions, the files renamed with |
| | | the query-replace action stay in their initial directory and are not moved to |
| | | the current directory. As such, using \"\\#\" to serial-rename files only makes |
| | | sense for files inside the same directory. It even keeps renaming files |
| | | with an incremental number in the next directories. |
| | | |
| | | *** Serial-rename |
| | | |
| | | You can use the serial-rename actions to rename, copy or symlink marked files to |
| | | a specific directory or in the current directory with all the files numbered |
| | | incrementally. |
| | | |
| | | - Serial-rename by renaming: |
| | | Rename all marked files with incremental numbering to a specific directory. |
| | | |
| | | - Serial-rename by copying: |
| | | Copy all marked files with incremental numbering to a specific directory. |
| | | |
| | | - Serial-rename by symlinking: |
| | | Symlink all marked files with incremental numbering to a specific directory. |
| | | |
| | | *** Edit marked files in a dired buffer |
| | | |
| | | You can open a dired buffer containing only marked files with `\\<helm-find-files-map>\\[helm-ff-run-marked-files-in-dired]'. |
| | | With a prefix argument you can open this same dired buffer in wdired mode for |
| | | editing. Note that wildcards are supported as well, so you can use e.g. |
| | | \"*.txt\" to select all \".txt\" files in the current directory or \"**.txt\" to |
| | | select all files recursively from the current directory. |
| | | See [[Use the wildcard to select multiple files]] section above. |
| | | |
| | | *** Defining default target directory for copying, renaming, etc |
| | | |
| | | You can customize `helm-dwim-target' to behave differently depending on the |
| | | windows open in the current frame. Default is to provide completion on all |
| | | directories associated to each window. |
| | | |
| | | *** Copying and renaming asynchronously |
| | | |
| | | If you have the async library installed (if you got Helm from MELPA you do), you |
| | | can use it for copying/renaming files by enabling `dired-async-mode'. |
| | | |
| | | Note that even when async is enabled, running a copy/rename action with a prefix |
| | | argument will execute action synchronously. Moreover it will follow the first |
| | | file of the marked files in its destination directory. |
| | | |
| | | When `dired-async-mode' is enabled, an additional action named \"Backup files\" |
| | | will be available. (Such command is not natively available in Emacs). |
| | | See [[Use the wildcard to select multiple files]] for details. |
| | | |
| | | *** Bookmark the `helm-find-files' session |
| | | |
| | | You can bookmark the `helm-find-files' session with `\\[helm-ff-bookmark-set]'. |
| | | You can later retrieve these bookmarks by calling `helm-filtered-bookmarks' |
| | | or, from the current `helm-find-files' session, by hitting `\\[helm-find-files-toggle-to-bookmark]'. |
| | | |
| | | *** Grep files from `helm-find-files' |
| | | |
| | | You can grep individual files from `helm-find-files' by using |
| | | \`\\<helm-find-files-map>\\[helm-ff-run-grep]'. This same command can also |
| | | recursively grep files from the current directory when called with a prefix |
| | | argument. In this case you will be prompted for the file extensions to use |
| | | \(grep backend) or the types of files to use (ack-grep backend). See the |
| | | `helm-grep-default-command' documentation to set this up. For compressed files |
| | | or archives, use zgrep with \`\\<helm-find-files-map>\\[helm-ff-run-zgrep]'. |
| | | |
| | | Otherwise you can use recursive commands like \`\\<helm-find-files-map>\\[helm-ff-run-grep-ag]' or `\\<helm-find-files-map>\\[helm-ff-run-git-grep]' |
| | | that are much faster than using `\\<helm-find-files-map>\\[helm-ff-run-grep]' with a prefix argument. |
| | | See `helm-grep-ag-command' and `helm-grep-git-grep-command' to set this up. |
| | | |
| | | You can also use \"id-utils\"' GID with \`\\<helm-find-files-map>\\[helm-ff-run-gid]' |
| | | by creating an ID index file with the \"mkid\" shell command. |
| | | |
| | | All those grep commands use the symbol at point as the default pattern. |
| | | Note that default is different from input (nothing is added to the prompt until |
| | | you hit `\\[next-history-element]'). |
| | | |
| | | **** Grepping on remote files |
| | | |
| | | On remote files grep is not well supported by TRAMP unless you suspend updates before |
| | | entering the pattern and re-enable it once your pattern is ready. |
| | | To toggle suspend-update, use `\\<helm-map>\\[helm-toggle-suspend-update]'. |
| | | |
| | | *** Setting up aliases in Eshell allows you to set up powerful customized commands |
| | | |
| | | Adding Eshell aliases to your `eshell-aliases-file' or using the |
| | | `alias' command from Eshell allows you to create personalized |
| | | commands not available in `helm-find-files' actions and use them |
| | | from `\\<helm-find-files-map>\\[helm-ff-run-eshell-command-on-file]'. |
| | | |
| | | Example: You want a command to uncompress some \"*.tar.gz\" files from `helm-find-files': |
| | | |
| | | 1) Create an Eshell alias named, say, \"untargz\" with the command |
| | | \"alias untargz tar zxvf $*\". |
| | | |
| | | 2) Now from `helm-find-files' select the \"*.tar.gz\" file (you can also |
| | | mark files if needed) and hit `\\<helm-find-files-map>\\[helm-ff-run-eshell-command-on-file]'. |
| | | |
| | | Note: When using marked files with this, the meaning of the prefix argument is |
| | | quite subtle. Say you have \"foo\", \"bar\" and \"baz\" marked; when you run |
| | | the alias command `example' on these files with no prefix argument it will run |
| | | `example' sequentially on each file: |
| | | |
| | | $ example foo |
| | | $ example bar |
| | | $ example baz |
| | | |
| | | With a prefix argument however it will apply `example' on all files at once: |
| | | |
| | | $ example foo bar baz |
| | | |
| | | Of course the alias command should support this. |
| | | |
| | | *** Using TRAMP with `helm-find-files' to read remote directories |
| | | |
| | | `helm-find-files' works fine with TRAMP despite some limitations. |
| | | |
| | | - Grepping files is not very well supported when used incrementally. |
| | | See [[Grepping on remote files]]. |
| | | |
| | | - Locate does not work on remote directories. |
| | | |
| | | **** A TRAMP syntax crash course |
| | | |
| | | Please refer to TRAMP's documentation for more details. |
| | | |
| | | - Connect to host 192.168.0.4 as user \"foo\": |
| | | |
| | | /scp:192.168.0.4@foo: |
| | | |
| | | - Connect to host 192.168.0.4 as user \"foo\" on port 2222: |
| | | |
| | | /scp:192.168.0.4@foo#2222: |
| | | |
| | | - Connect to host 192.168.0.4 as root using multihops syntax: |
| | | |
| | | /ssh:192.168.0.4@foo|sudo:192.168.0.4: |
| | | |
| | | Note: You can also use `tramp-default-proxies-alist' when connecting often to |
| | | the same hosts. |
| | | |
| | | As a rule of thumb, prefer the scp method unless using multihops (which only |
| | | works with the ssh method), especially when copying large files. |
| | | |
| | | You need to hit `C-j' once on top of a directory on the first connection |
| | | to complete the pattern in the minibuffer. |
| | | |
| | | **** Display color for directories, symlinks etc... with tramp |
| | | |
| | | Starting at helm version 2.9.7 it is somewhat possible to |
| | | colorize fnames by listing files without loosing performances with |
| | | external commands (ls and awk) if your system is compatible. |
| | | For this you can use `helm-list-dir-external' as value |
| | | for `helm-list-directory-function'. |
| | | |
| | | See `helm-list-directory-function' documentation for more infos. |
| | | |
| | | **** Completing host |
| | | |
| | | As soon as you enter the first \":\" after method e.g =/scp:= you will |
| | | have some completion about previously used hosts or from your =~/.ssh/config= |
| | | file, hitting `\\[helm-execute-persistent-action]' or `right' on a candidate will insert this host in minibuffer |
| | | without addind the ending \":\", second hit insert the last \":\". |
| | | As soon the last \":\" is entered TRAMP will kick in and you should see the list |
| | | of candidates soon after. |
| | | |
| | | When connection fails, be sure to delete your TRAMP connection with M-x |
| | | `helm-delete-tramp-connection' before retrying. |
| | | |
| | | **** Editing local files as root |
| | | |
| | | Use the sudo method: |
| | | |
| | | \"/sudo:host:\" or simply \"/sudo::\". |
| | | |
| | | *** Attach files to a mail buffer (message-mode) |
| | | |
| | | If you are in a `message-mode' or `mail-mode' buffer, that action will appear |
| | | in action menu, otherwise it is available at any time with \\<helm-find-files-map>\\[helm-ff-run-mail-attach-files]. |
| | | It behaves as follows: |
| | | |
| | | - If you are in a (mail or message) buffer, files are attached there. |
| | | |
| | | - If you are not in a mail buffer but one or more mail buffers exist, you are |
| | | prompted to attach files to one of these mail buffers. |
| | | |
| | | - If you are not in a mail buffer and no mail buffer exists, |
| | | a new mail buffer is created with the attached files in it. |
| | | |
| | | *** Open files in separate windows |
| | | |
| | | When [[Marked candidates][marking]] multiple files or using [[Use the wildcard to select multiple files][wildcard]], helm allow opening all |
| | | this files in separate windows using an horizontal layout or a |
| | | vertical layout if you used a prefix arg, when no more windows can be |
| | | displayed in frame, next files are opened in background without being |
| | | displayed. When using \\<helm-find-files-map>\\[helm-ff-run-switch-other-window] the current |
| | | buffer is kept and files are displayed next to it with same behavior as above. |
| | | When using two prefix args, files are opened in background without beeing displayed. |
| | | |
| | | *** Expand archives as directories in a avfs directory |
| | | |
| | | If you have mounted your filesystem with mountavfs, |
| | | you can expand archives in the \"~/.avfs\" directory with \\<helm-map>\\[helm-execute-persistent-action]. |
| | | |
| | | *** Tramp archive support (emacs-27+ only) |
| | | |
| | | If your emacs have library tramp-archive.el, you can browse the |
| | | content of archives with emacs and BTW helm-find-files. However this beeing |
| | | experimental and not very fast, helm doesn't provide an automatic |
| | | expansion and detection of archives, you will have to add the final / |
| | | manually and may have to force update (\\<helm-map>\\[helm-refresh]) |
| | | or remove and add again the final / until tramp finish decompressing archive. |
| | | |
| | | *** Touch files |
| | | |
| | | In the completion buffer, you can choose the default which is the current-time, it is |
| | | the first candidate or the timestamp of one of the selected files. |
| | | If you need to use something else, use \\<helm-map>\\[next-history-element] and edit |
| | | the date in minibuffer. |
| | | It is also a way to quickly create a new file without opening a buffer, saving it |
| | | and killing it. |
| | | To touch more than one new file, separate you filenames with a comma (\",\"). |
| | | If one wants to create (touch) a new file with comma inside the name use a prefix arg, |
| | | this will prevent splitting the name and create multiple files. |
| | | |
| | | *** Delete files |
| | | |
| | | You can delete files without quitting helm with |
| | | `\\<helm-find-files-map>\\[helm-ff-persistent-delete]' or delete files and quit helm with `\\[helm-ff-run-delete-file]'. |
| | | |
| | | In the second method you can choose to |
| | | make this command asynchronous by customizing |
| | | \`helm-ff-delete-files-function'. |
| | | |
| | | _WARNING_: When deleting files asynchronously you will NOT be |
| | | WARNED if directories are not empty, that's mean non empty directories will |
| | | be deleted in background without asking. |
| | | |
| | | A good compromise is to trash your files |
| | | when using asynchronous method (see [[Trashing files][Trashing files]]). |
| | | |
| | | When choosing synchronous delete, you can allow recursive |
| | | deletion of directories with `helm-ff-allow-recursive-deletes'. |
| | | Note that when trashing (synchronous) you are not asked for recursive deletion. |
| | | |
| | | Note that `helm-ff-allow-recursive-deletes' have no effect when |
| | | deleting asynchronously. |
| | | |
| | | First method (persistent delete) is always synchronous. |
| | | |
| | | Note that when a prefix arg is given, trashing behavior is inversed. |
| | | See [[Trashing files][Trashing files]]. |
| | | |
| | | **** Trashing files |
| | | |
| | | If you want to trash your files instead of deleting them you can |
| | | set `delete-by-moving-to-trash' to non nil, like this your files |
| | | will be moved to trash instead of beeing deleted. |
| | | |
| | | You can reverse at any time the behavior of `delete-by-moving-to-trash' by using |
| | | a prefix arg with any of the delete files command. |
| | | |
| | | On GNULinux distribution, when navigating to a Trash directory you |
| | | can restore any file in ..Trash/files directory with the 'Restore |
| | | from trash' action you will find in action menu (needs the |
| | | trash-cli package installed). |
| | | You can as well delete files from Trash directories with the 'delete files from trash' |
| | | action. |
| | | |
| | | Tip: Navigate to your Trash/files directories with `helm-find-files' and set a bookmark |
| | | there with \\<helm-find-files-map>\\[helm-ff-bookmark-set] for fast access to Trash. |
| | | |
| | | _WARNING:_ |
| | | |
| | | If you have an ENV var XDG_DATA_HOME in your .profile or .bash_profile |
| | | and this var is set to something like $HOME/.local/share (like preconized) |
| | | `move-file-to-trash' may try to create $HOME/.local/share/Trash (literally) |
| | | and its subdirs in the directory where you are actually trying to trash files. |
| | | because `move-file-to-trash' is interpreting XDG_DATA_HOME literally instead |
| | | of evaling its value (with `substitute-in-file-name'). |
| | | |
| | | ***** Trashing remote files with tramp |
| | | |
| | | Trashing remote files (or local files with sudo method) is disabled by default |
| | | because tramp is requiring the 'trash' command to be installed, if you want to |
| | | trash your remote files, customize `helm-trash-remote-files'. |
| | | The package on most GNU/Linux based distributions is trash-cli, it is available [[https://github.com/andreafrancia/trash-cli][here]]. |
| | | |
| | | NOTE: |
| | | When deleting your files with sudo method, your trashed files will not be listed |
| | | with trash-list until you log in as root. |
| | | |
| | | ** Commands |
| | | \\<helm-find-files-map> |
| | | \\[helm-ff-run-locate]\t\tRun `locate' (`\\[universal-argument]' to specify locate database, `M-n' to insert basename of candidate). |
| | | \\[helm-ff-run-browse-project]\t\tBrowse project (`\\[universal-argument]' to recurse, `\\[universal-argument] \\[universal-argument]' to recurse and refresh database). |
| | | \\[helm-ff-run-find-sh-command]\t\tRun `find' shell command from this directory. |
| | | \\[helm-ff-run-grep]\t\tRun Grep (`\\[universal-argument]' to recurse). |
| | | \\[helm-ff-run-pdfgrep]\t\tRun Pdfgrep on marked files. |
| | | \\[helm-ff-run-zgrep]\t\tRun zgrep (`\\[universal-argument]' to recurse). |
| | | \\[helm-ff-run-grep-ag]\t\tRun AG grep on current directory. |
| | | \\[helm-ff-run-git-grep]\t\tRun git-grep on current directory. |
| | | \\[helm-ff-run-gid]\t\tRun gid (id-utils). |
| | | \\[helm-ff-run-etags]\t\tRun Etags (`\\[universal-argument]' to use thing-at-point, `\\[universal-argument] \\[universal-argument]' to reload cache). |
| | | \\[helm-ff-run-rename-file]\t\tRename Files (`\\[universal-argument]' to follow). |
| | | \\[helm-ff-run-query-replace-fnames-on-marked]\t\tQuery replace on marked files. |
| | | \\[helm-ff-run-copy-file]\t\tCopy Files (`\\[universal-argument]' to follow). |
| | | \\[helm-ff-run-byte-compile-file]\t\tByte Compile Files (`\\[universal-argument]' to load). |
| | | \\[helm-ff-run-load-file]\t\tLoad Files. |
| | | \\[helm-ff-run-symlink-file]\t\tSymlink Files. |
| | | \\[helm-ff-run-hardlink-file]\t\tHardlink files. |
| | | \\[helm-ff-run-relsymlink-file]\t\tRelative symlink Files. |
| | | \\[helm-ff-run-delete-file]\t\tDelete Files. |
| | | \\[helm-ff-run-touch-files]\t\tTouch files. |
| | | \\[helm-ff-run-kill-buffer-persistent]\t\tKill buffer candidate without leaving Helm. |
| | | \\[helm-ff-persistent-delete]\t\tDelete file without leaving Helm. |
| | | \\[helm-ff-run-switch-to-eshell]\t\tSwitch to Eshell. |
| | | \\[helm-ff-run-eshell-command-on-file]\t\tEshell command on file (`\\[universal-argument]' to apply on marked files, otherwise treat them sequentially). |
| | | \\[helm-ff-run-ediff-file]\t\tEdiff file. |
| | | \\[helm-ff-run-ediff-merge-file]\t\tEdiff merge file. |
| | | \\[helm-ff-run-complete-fn-at-point]\t\tComplete file name at point. |
| | | \\[helm-ff-run-switch-other-window]\t\tSwitch to other window. |
| | | \\[helm-ff-run-switch-other-frame]\t\tSwitch to other frame. |
| | | \\[helm-ff-run-open-file-externally]\t\tOpen file with external program (`\\[universal-argument]' to choose). |
| | | \\[helm-ff-run-preview-file-externally]\t\tPreview file with external program. |
| | | \\[helm-ff-run-open-file-with-default-tool]\t\tOpen file externally with default tool. |
| | | \\[helm-ff-rotate-left-persistent]\t\tRotate image left. |
| | | \\[helm-ff-rotate-right-persistent]\t\tRotate image right. |
| | | \\[helm-find-files-up-one-level]\t\tGo to parent directory. |
| | | \\[helm-find-files-history]\t\tSwitch to the visited-directory history. |
| | | \\[helm-ff-file-name-history]\t\tSwitch to file name history. |
| | | \\[helm-ff-properties-persistent]\t\tShow file properties in a tooltip. |
| | | \\[helm-mark-all]\t\tMark all visible candidates. |
| | | \\[helm-ff-run-toggle-auto-update]\t\tToggle auto-expansion of directories. |
| | | \\[helm-unmark-all]\t\tUnmark all candidates, visible and invisible ones. |
| | | \\[helm-ff-run-gnus-attach-files]\t\tGnus' attach files to message buffer. |
| | | \\[helm-ff-run-print-file]\t\tPrint file, (`\\[universal-argument]' to refresh printer list). |
| | | \\[helm-enlarge-window]\t\tEnlarge Helm window. |
| | | \\[helm-narrow-window]\t\tNarrow Helm window. |
| | | \\[helm-ff-run-toggle-basename]\t\tToggle basename/fullpath. |
| | | \\[helm-ff-run-find-file-as-root]\t\tFind file as root. |
| | | \\[helm-ff-run-find-alternate-file]\t\tFind alternate file. |
| | | \\[helm-ff-run-insert-org-link]\t\tInsert org link. |
| | | \\[helm-ff-bookmark-set]\t\tSet bookmark to current directory. |
| | | \\[helm-find-files-toggle-to-bookmark]\t\tJump to bookmark list.") |
| | | |
| | | ;;; Help for `helm-read-file-name' |
| | | ;; |
| | | ;; |
| | | (defun helm-read-file-name-help-message () |
| | | (let ((name (if helm-alive-p |
| | | (assoc-default 'name (helm-get-current-source)) |
| | | "generic"))) |
| | | (format |
| | | "* Helm `%s' read file name completion |
| | | |
| | | This is `%s' read file name completion that have been \"helmized\" |
| | | because you have enabled [[Helm mode][helm-mode]]'. |
| | | Don't confuse this with `helm-find-files' which is a native helm command, |
| | | see [[Helm functions vs helmized emacs functions]]. |
| | | |
| | | ** Tips |
| | | |
| | | *** Navigation |
| | | |
| | | **** Enter `~/' at end of pattern to quickly reach home directory |
| | | |
| | | **** Enter `/' at end of pattern to quickly reach the file system root |
| | | |
| | | **** Enter `./' at end of pattern to quickly reach `default-directory' |
| | | |
| | | \(As per its value at the beginning of the session.) |
| | | |
| | | If you already are in the `default-directory' this will move the cursor to the top. |
| | | |
| | | **** Enter `../' at end of pattern will reach upper directory, moving cursor on top |
| | | |
| | | This is different from using `\\[helm-find-files-up-one-level]' in that it moves |
| | | the cursor to the top instead of remaining on the previous subdir name. |
| | | |
| | | **** You can complete with partial basename |
| | | |
| | | It starts from the third character of the pattern. |
| | | |
| | | For instance \"fob\" or \"fbr\" will complete \"foobar\" but \"fb\" needs a |
| | | third character in order to complete it. |
| | | |
| | | *** Persistent actions |
| | | |
| | | By default `helm-read-file-name' uses the persistent actions of `helm-find-files'. |
| | | |
| | | **** Use `\\[universal-argument] \\<helm-map>\\[helm-execute-persistent-action]' to display an image |
| | | |
| | | **** `\\<helm-map>\\[helm-execute-persistent-action]' on a filename will expand to this filename in Helm-buffer |
| | | |
| | | Second hit displays the buffer filename. |
| | | Third hit kills the buffer filename. |
| | | Note: `\\[universal-argument] \\<helm-map>\\[helm-execute-persistent-action]' displays the buffer directly. |
| | | |
| | | **** Browse images directories with `helm-follow-mode' and navigate up/down |
| | | |
| | | *** Delete characters backward |
| | | |
| | | When you want to delete characters backward, e.g. to create a new file or directory, |
| | | auto-update may come in the way when it keeps updating to an existent directory. |
| | | In that case, type `C-<backspace>' and then `<backspace>'. |
| | | This should not be needed when copying/renaming files because autoupdate is disabled |
| | | by default in that case. |
| | | |
| | | Note: On a terminal, the default binding `C-<backspace>' may not work. |
| | | In this case use `C-c <backspace>'. |
| | | |
| | | *** Create new directories and files |
| | | |
| | | **** You can create a new directory and a new file at the same time |
| | | |
| | | Simply write the path in prompt and press `RET', e.g. |
| | | \"~/new/newnew/newnewnew/my_newfile.txt\". |
| | | |
| | | **** To create a new directory, append a \"/\" at to the new name and press `RET' |
| | | |
| | | **** To create a new file, enter a filename not ending with \"/\" |
| | | |
| | | File and directory creation works only with some commands (e.g. `find-file') |
| | | and it will not work with others where it is not intended to return a file or |
| | | a directory \(e.g `list-directory'). |
| | | |
| | | *** Exiting minibuffer with empty string |
| | | |
| | | You can exit minibuffer with empty string with \\<helm-read-file--map>\\[helm-cr-empty-string]. |
| | | It is useful when some commands are prompting continuously until you enter an empty prompt. |
| | | |
| | | ** Commands |
| | | \\<helm-read-file-map> |
| | | \\[helm-find-files-up-one-level]\t\tGo to parent directory. |
| | | \\[helm-ff-run-toggle-auto-update]\t\tToggle auto-expansion of directories. |
| | | \\[helm-ff-run-toggle-basename]\t\tToggle basename. |
| | | \\[helm-ff-file-name-history]\t\tFile name history. |
| | | C/\\[helm-cr-empty-string]\t\tReturn empty string unless `must-match' is non-nil. |
| | | \\[helm-next-source]\t\tGo to next source. |
| | | \\[helm-previous-source]\t\tGo to previous source." |
| | | name name))) |
| | | |
| | | ;;; Generic file help - Used by locate. |
| | | ;; |
| | | ;; |
| | | (defvar helm-generic-file-help-message |
| | | "* Helm Generic files |
| | | |
| | | ** Tips |
| | | |
| | | *** Locate |
| | | |
| | | You can append to the search pattern any of the locate command line options, |
| | | e.g. -b, -e, -n <number>, etc. See the locate(1) man page for more details. |
| | | |
| | | Some other sources (at the moment \"recentf\" and \"file in current directory\") |
| | | support the -b flag for compatibility with locate when they are used with it. |
| | | |
| | | When you enable fuzzy matching on locate with `helm-locate-fuzzy-match', the |
| | | search will be performed on basename only for efficiency (so don't add \"-b\" at |
| | | prompt). As soon as you separate the patterns with spaces, fuzzy matching will |
| | | be disabled and search will be done on the full filename. Note that in |
| | | multi-match, fuzzy is completely disabled, which means that each pattern is a |
| | | match regexp (i.e. \"helm\" will match \"helm\" but \"hlm\" will \*not* match |
| | | \"helm\"). |
| | | |
| | | *** Browse project |
| | | |
| | | When the current directory is not under version control, don't forget to refresh |
| | | the cache when files have been added/removed in the directory. |
| | | |
| | | *** Find command |
| | | |
| | | Recursively search files using the \"find\" shell command. |
| | | |
| | | Candidates are all filenames that match all given globbing patterns. This |
| | | respects the options `helm-case-fold-search' and |
| | | `helm-findutils-search-full-path'. |
| | | |
| | | You can pass arbitrary \"find\" options directly after a \"*\" separator. |
| | | For example, this would find all files matching \"book\" that are larger |
| | | than 1 megabyte: |
| | | |
| | | book * -size +1M |
| | | |
| | | ** Commands |
| | | \\<helm-generic-files-map> |
| | | \\[helm-ff-run-toggle-basename]\t\tToggle basename. |
| | | \\[helm-ff-run-grep]\t\tRun grep (`\\[universal-argument]' to recurse). |
| | | \\[helm-ff-run-zgrep]\t\tRun zgrep. |
| | | \\[helm-ff-run-gid]\t\tRun GID (id-utils). |
| | | \\[helm-ff-run-pdfgrep]\t\tRun PDFgrep on marked files. |
| | | \\[helm-ff-run-copy-file]\t\tCopy file(s) |
| | | \\[helm-ff-run-rename-file]\t\tRename file(s). |
| | | \\[helm-ff-run-symlink-file]\t\tSymlink file(s). |
| | | \\[helm-ff-run-hardlink-file]\t\tHardlink file(s). |
| | | \\[helm-ff-run-delete-file]\t\tDelete file(s). |
| | | \\[helm-ff-run-byte-compile-file]\t\tByte compile Elisp file(s) (`\\[universal-argument]' to load). |
| | | \\[helm-ff-run-load-file]\t\tLoad Elisp file(s). |
| | | \\[helm-ff-run-ediff-file]\t\tEdiff file. |
| | | \\[helm-ff-run-ediff-merge-file]\t\tEdiff-merge file. |
| | | \\[helm-ff-run-switch-other-window]\t\tSwitch to other window. |
| | | \\[helm-ff-properties-persistent]\t\tShow file properties. |
| | | \\[helm-ff-run-etags]\t\tRun etags (`\\[universal-argument]' to use tap, `\\[universal-argument] \\[universal-argument]' to reload the database). |
| | | \\[helm-yank-text-at-point]\t\tYank text at point. |
| | | \\[helm-ff-run-open-file-externally]\t\tOpen file with external program (`\\[universal-argument]' to choose). |
| | | \\[helm-ff-run-open-file-with-default-tool]\t\tOpen file externally with default tool. |
| | | \\[helm-ff-run-insert-org-link]\t\tInsert org link.") |
| | | |
| | | ;;; Grep help |
| | | ;; |
| | | ;; |
| | | (defvar helm-grep-help-message |
| | | "* Helm Grep |
| | | |
| | | ** Tips |
| | | |
| | | *** Use a prefix argument to grep recursively |
| | | |
| | | With Helm supporting git-grep and AG however, you are better off using one of |
| | | them for recursive searches. |
| | | |
| | | *** You can use wild cards when selecting files (e.g. \"*.el\") |
| | | |
| | | *** You can grep in many different directories by marking files or using wild cards |
| | | |
| | | *** You can save the result in a `helm-grep-mode' buffer |
| | | |
| | | See [[Commands][commands]] below. |
| | | |
| | | Once in that buffer you can use \"emacs-wgrep\" (external package not bundled with Helm) |
| | | to edit your changes. |
| | | |
| | | *** Helm-grep supports multi-matching |
| | | |
| | | \(Starting from version 1.9.4.) |
| | | |
| | | Simply add a space between each pattern as for most Helm commands. |
| | | |
| | | *** See full path of selected candidate |
| | | |
| | | Add (helm-popup-tip-mode 1) in your init file or enable it interactively with |
| | | M-x helm-popup-tip-mode. |
| | | |
| | | *** Open file in other window |
| | | |
| | | The command \\<helm-grep-map>\\[helm-grep-run-other-window-action] allow you to open file |
| | | in other window horizontally or vertically if a prefix arg is supplied. |
| | | |
| | | *** Performance over TRAMP |
| | | |
| | | Grepping works but it is badly supported as TRAMP doesn't support multiple |
| | | processes running in a short delay (less than 5s) among other things. |
| | | |
| | | Helm uses a special hook to suspend the process automatically while you are |
| | | typing. Even if Helm handles this automatically by delaying each process by 5s, |
| | | you are adviced to this manually by hitting `\\<helm-map>\\[helm-toggle-suspend-update]' (suspend process) before |
| | | typing, and hit again `\\<helm-map>\\[helm-toggle-suspend-update]' when the regexp is ready to send to the remote |
| | | process. For simple regexps, there should be no need for this. |
| | | |
| | | Another solution is to not use TRAMP at all and mount your remote file system via |
| | | SSHFS. |
| | | |
| | | * Helm GID |
| | | |
| | | ** Tips |
| | | |
| | | Helm-GID reads the database created with the `mkid' command from id-utils. |
| | | The name of the database file can be customized with `helm-gid-db-file-name', it |
| | | is usually \"ID\". |
| | | |
| | | Helm-GID use the symbol at point as default-input. This command is also |
| | | accessible from `helm-find-files' which allow you to navigate to another |
| | | directory to consult its database. |
| | | |
| | | Note: Helm-GID supports multi-matches but only the last pattern entered will be |
| | | highlighted since there is no ~--color~-like option in GID itself. |
| | | |
| | | * Helm AG |
| | | |
| | | ** Tips |
| | | |
| | | Helm-AG is different from grep or ack-grep in that it works on a directory and |
| | | not on a list of files. |
| | | |
| | | You can ignore files and directories with a \".agignore\" file, local to a |
| | | directory or global when placed in the home directory. \(See the AG man page for |
| | | more details.) That file follows the same syntax as `helm-grep-ignored-files' |
| | | and `helm-grep-ignored-directories'. |
| | | |
| | | As always you can access Helm AG from `helm-find-files'. |
| | | |
| | | Starting with version 0.30, AG accepts one or more TYPE arguments on its command |
| | | line. Helm provides completion on these TYPE arguments when available with your |
| | | AG version. Use a prefix argument when starting a Helm-AG session to enable this |
| | | completion. |
| | | |
| | | Note: You can mark several types to match in the AG query. The first AG |
| | | versions providing this feature allowed only one type, so in this case only the |
| | | last mark will be used. |
| | | |
| | | * Helm git-grep |
| | | |
| | | Helm-git-grep searches the current directory, i.e the default directory or the |
| | | directory in Helm-find-files. If this current directory is a subdirectory of a |
| | | project and you want to also match parent directories (i.e the whole project), |
| | | use a prefix argument. |
| | | |
| | | ** Commands |
| | | \\<helm-grep-map> |
| | | \\[helm-goto-next-file]\t\tNext File. |
| | | \\[helm-goto-precedent-file]\t\tPrevious File. |
| | | \\[helm-yank-text-at-point]\t\tYank text at point in minibuffer. |
| | | \\[helm-grep-run-other-window-action]\t\tJump to other window. |
| | | \\[helm-grep-run-other-frame-action]\t\tJump to other frame. |
| | | \\[helm-grep-run-default-action]\t\tRun default action (same as `RET'). |
| | | \\[helm-grep-run-save-buffer]\t\tSave to a `helm-grep-mode' enabled buffer.") |
| | | |
| | | ;;; PDF grep help |
| | | ;; |
| | | ;; |
| | | (defvar helm-pdfgrep-help-message |
| | | "* Helm PDFgrep Map |
| | | |
| | | ** Commands |
| | | \\<helm-pdfgrep-map> |
| | | \\[helm-goto-next-file]\t\tNext file. |
| | | \\[helm-goto-precedent-file]\t\tPrevious file. |
| | | \\[helm-yank-text-at-point]\t\tYank text at point in minibuffer.") |
| | | |
| | | ;;; Etags help |
| | | ;; |
| | | ;; |
| | | (defvar helm-etags-help-message |
| | | "* Helm Etags Map |
| | | |
| | | ** Commands |
| | | \\<helm-etags-map> |
| | | \\[helm-goto-next-file]\t\tNext file. |
| | | \\[helm-goto-precedent-file]\t\tPrevious file. |
| | | \\[helm-yank-text-at-point]\t\tYank text at point in minibuffer.") |
| | | |
| | | ;;; UCS help |
| | | ;; |
| | | ;; |
| | | (defvar helm-ucs-help-message |
| | | "* Helm UCS |
| | | |
| | | ** Tips |
| | | |
| | | Use commands below to insert unicode characters in current buffer without |
| | | leaving Helm. |
| | | |
| | | ** Commands |
| | | \\<helm-ucs-map> |
| | | \\[helm-ucs-persistent-insert]\t\tInsert character. |
| | | \\[helm-ucs-persistent-forward]\t\tForward character. |
| | | \\[helm-ucs-persistent-backward]\t\tBackward character. |
| | | \\[helm-ucs-persistent-delete]\t\tDelete character backward. |
| | | \\[helm-ucs-persistent-insert-space]\t\tInsert space.") |
| | | |
| | | ;;; Bookmark help |
| | | ;; |
| | | ;; |
| | | (defvar helm-bookmark-help-message |
| | | "* Helm bookmark name |
| | | |
| | | ** Commands |
| | | \\<helm-bookmark-map> |
| | | \\[helm-bookmark-run-jump-other-window]\t\tJump other window. |
| | | \\[helm-bookmark-run-delete]\t\tDelete bookmark. |
| | | \\[helm-bookmark-run-edit]\t\tEdit bookmark. |
| | | \\[helm-bookmark-toggle-filename]\t\tToggle bookmark location visibility.") |
| | | |
| | | ;;; Eshell command on file help |
| | | ;; |
| | | ;; |
| | | (defvar helm-esh-help-message |
| | | "* Helm Eshell on file |
| | | |
| | | ** Tips |
| | | |
| | | *** Pass extra arguments after filename |
| | | |
| | | Normally the command or alias will be called with file as argument. For instance |
| | | |
| | | <command> candidate_file |
| | | |
| | | But you can also pass an argument or more after \"candidate_file\" like this: |
| | | |
| | | <command> %s [extra_args] |
| | | |
| | | \"candidate_file\" will be added at \"%s\" and the command will look at this: |
| | | |
| | | <command> candidate_file [extra_args] |
| | | |
| | | *** Specify marked files as arguments |
| | | |
| | | Example: |
| | | |
| | | <command> file1 file2... |
| | | |
| | | Call `helm-find-files-eshell-command-on-file' with one prefix argument. Otherwise |
| | | you can pass one prefix argument from the command selection buffer. |
| | | |
| | | Note: This does not work on remote files. |
| | | |
| | | With two prefix-args the output is printed to the `current-buffer'. |
| | | |
| | | With no prefix argument or a prefix argument value of '(16) (`\\[universal-argument] \\[universal-argument]') |
| | | the command is called once for each file like this: |
| | | |
| | | <command> file1 |
| | | <command> file2 |
| | | ... |
| | | |
| | | ** Commands |
| | | \\<helm-esh-on-file-map>") |
| | | |
| | | ;;; Ido virtual buffer help |
| | | ;; |
| | | ;; |
| | | (defvar helm-buffers-ido-virtual-help-message |
| | | "* Helm Ido virtual buffers |
| | | |
| | | ** Commands |
| | | \\<helm-buffers-ido-virtual-map> |
| | | \\[helm-ff-run-switch-other-window]\t\tSwitch to other window. |
| | | \\[helm-ff-run-switch-other-frame]\t\tSwitch to other frame. |
| | | \\[helm-ff-run-grep]\t\tGrep file. |
| | | \\[helm-ff-run-zgrep]\t\tZgrep file. |
| | | \\[helm-ff-run-delete-file]\t\tDelete file. |
| | | \\[helm-ff-run-open-file-externally]\t\tOpen file externally.") |
| | | |
| | | ;;; Moccur help |
| | | ;; |
| | | ;; |
| | | (defvar helm-moccur-help-message |
| | | "* Helm Moccur |
| | | |
| | | ** Tips |
| | | |
| | | *** Matching |
| | | |
| | | Multiple regexp matching is allowed, simply enter a space to separate the regexps. |
| | | |
| | | Matching empty lines is supported with the regexp \"^$\", you then get the |
| | | results displayed as the buffer-name and the line number only. You can |
| | | save and edit these results, i.e. add text to the empty line. |
| | | |
| | | *** Automatically match symbol at point |
| | | |
| | | Helm can automatically match the symbol at point while keeping the minibuffer |
| | | empty, ready to be written to. This behaviour is disabled by default. To |
| | | enable this you need to add `helm-source-occur' and `helm-source-moccur' to |
| | | `helm-sources-using-default-as-input'. |
| | | |
| | | *** Jump to the corresponding line in the searched buffer |
| | | |
| | | You can do this with `\\<helm-map>\\[helm-execute-persistent-action]' (persistent-action), to do it repeatedly |
| | | you can use `\\<helm-map>\\[helm-follow-action-forward]' and `\\<helm-map>\\[helm-follow-action-backward]' or enable `helm-follow-mode' with `\\<helm-map>\\[helm-follow-mode]'. |
| | | |
| | | *** Switch to buffer in other window |
| | | |
| | | The command \\<helm-moccur-map>\\[helm-moccur-run-goto-line-ow] allow you to switch to buffer |
| | | in other window horizontally or vertically if a prefix arg is supplied. |
| | | |
| | | *** Save the results |
| | | |
| | | Similarly to Helm-grep, you can save the results with `\\<helm-map>\\[helm-moccur-run-save-buffer]'. |
| | | Once in the saved buffer, you can edit it, see [[Edit a saved buffer][below]]. |
| | | |
| | | Of course if you don't save the results, you can resume the Helm session with |
| | | `helm-resume'. |
| | | |
| | | *** Refresh the resumed session |
| | | |
| | | When the buffer(s) where you ran helm-(m)occur get(s) modified, the Helm buffer |
| | | will flash red as a warning. You can refresh the buffer by running `\\<helm-map>\\[helm-refresh]'. |
| | | This can be done automatically by customizing `helm-moccur-auto-update-on-resume'. |
| | | |
| | | *** Refresh a saved buffer |
| | | |
| | | Type `g' to update the buffer. |
| | | |
| | | *** Edit a saved buffer |
| | | |
| | | First, install wgrep (https://github.com/mhayashi1120/Emacs-wgrep) and then: |
| | | |
| | | 1) `C-c C-p' (`wgrep-change-to-wgrep-mode') to edit the buffer(s). |
| | | 2) `C-x C-s' to save your changes. |
| | | |
| | | Tip: Use the excellent iedit (https://github.com/victorhge/iedit) to modify all |
| | | occurences at once in the buffer. |
| | | |
| | | *** Search in region |
| | | |
| | | When searching in current-buffer with `helm-occur', if a region |
| | | is found helm will search in this region only. If you marked |
| | | this region with `mark-defun' the symbol that was at point before |
| | | marking defun will be used when `helm-source-occur' is member of |
| | | `helm-sources-using-default-as-input'. |
| | | |
| | | ** Commands |
| | | \\<helm-moccur-map> |
| | | \\[helm-goto-next-file]\t\tNext buffer. |
| | | \\[helm-goto-precedent-file]\t\tPrevious buffer. |
| | | \\[helm-yank-text-at-point]\t\tYank text at point in minibuffer. |
| | | \\[helm-moccur-run-goto-line-ow]\t\tGo to line in other window. |
| | | \\[helm-moccur-run-goto-line-of]\t\tGo to line in new frame.") |
| | | |
| | | ;;; Helm Top |
| | | ;; |
| | | ;; |
| | | (defvar helm-top-help-message |
| | | "* Helm Top |
| | | |
| | | ** Commands |
| | | \\<helm-top-map> |
| | | \\[helm-top-run-sort-by-com]\t\tSort by commands. |
| | | \\[helm-top-run-sort-by-cpu]\t\tSort by CPU usage. |
| | | \\[helm-top-run-sort-by-user]\t\tSort alphabetically by user. |
| | | \\[helm-top-run-sort-by-mem]\t\tSort by memory.") |
| | | |
| | | ;;; Helm Elisp package |
| | | ;; |
| | | ;; |
| | | (defvar helm-el-package-help-message |
| | | "* Helm Elisp package |
| | | |
| | | ** Tips |
| | | |
| | | *** Compile all your packages asynchronously |
| | | |
| | | If you use async (if you have installed Helm from MELPA you do), only \"helm\", |
| | | \"helm-core\", and \"magit\" are compiled asynchronously. If you want all your |
| | | packages compiled asynchronously, add this to your init file: |
| | | |
| | | (setq async-bytecomp-allowed-packages '(all)) |
| | | |
| | | *** Upgrade Elisp packages |
| | | |
| | | On initialization (when Emacs is fetching packages on remote), if Helm finds |
| | | packages to upgrade, it will start in the upgradable packages view showing the packages |
| | | available for upgrade. |
| | | |
| | | On subsequent runs, you will have to refresh the list with `C-c \\[universal-argument]'. If Helm |
| | | finds upgrades you can switch to upgrade view (see below) to see what packages |
| | | are available for upgrade or simply hit `C-c U' to upgrade them all. |
| | | |
| | | To see upgradable packages hit `M-U'. |
| | | |
| | | Then you can install all upgradable packages with the \"upgrade all\" action |
| | | \(`C-c \\[universal-argument]'), or upgrade only specific packages by marking them and running the |
| | | \"upgrade\" action (visible only when there are upgradable packages). Of course |
| | | you can upgrade a single package by just running the \"upgrade\" action without |
| | | marking it (`C-c u' or `RET') . |
| | | |
| | | \*Warning:* You are strongly advised to \*restart* Emacs after \*upgrading* packages. |
| | | |
| | | *** Meaning of flags prefixing packages |
| | | |
| | | \(Emacs ≥25) |
| | | |
| | | - The flag \"S\" that prefixes package names means that the packages belong to `package-selected-packages'. |
| | | |
| | | - The flag \"U\" that prefix package names mean that this package is no more needed. |
| | | |
| | | ** Commands |
| | | \\<helm-el-package-map> |
| | | \\[helm-el-package-show-all]\t\tShow all packages. |
| | | \\[helm-el-package-show-installed]\t\tShow installed packages only. |
| | | \\[helm-el-package-show-uninstalled]\t\tShow non-installed packages only. |
| | | \\[helm-el-package-show-upgrade]\t\tShow upgradable packages only. |
| | | \\[helm-el-package-show-built-in]\t\tShow built-in packages only. |
| | | \\[helm-el-run-package-install]\t\tInstall package(s). |
| | | \\[helm-el-run-package-reinstall]\t\tReinstall package(s). |
| | | \\[helm-el-run-package-uninstall]\t\tUninstall package(s). |
| | | \\[helm-el-run-package-upgrade]\t\tUpgrade package(s). |
| | | \\[helm-el-run-package-upgrade-all]\t\tUpgrade all packages. |
| | | \\[helm-el-run-visit-homepage]\t\tVisit package homepage.") |
| | | |
| | | ;;; Helm M-x |
| | | ;; |
| | | ;; |
| | | (defvar helm-M-x-help-message |
| | | "* Helm M-x |
| | | |
| | | ** Tips |
| | | |
| | | *** You can get help on any command with persistent action (\\[helm-execute-persistent-action]) |
| | | |
| | | *** Prefix arguments |
| | | |
| | | You must pass prefix arguments \*after* starting `helm-M-x'. A mode-line |
| | | counter will display the number of given prefix arguments. |
| | | |
| | | If you pass prefix arguments before running `helm-M-x', it will be displayed in the prompt. |
| | | The first `\\[universal-argument]' after `helm-M-x' clears those prefix arguments.") |
| | | |
| | | ;;; Helm imenu |
| | | ;; |
| | | ;; |
| | | (defvar helm-imenu-help-message |
| | | "* Helm Imenu |
| | | |
| | | ** Commands |
| | | \\<helm-imenu-map> |
| | | \\[helm-imenu-next-section]\t\tGo to next section. |
| | | \\[helm-imenu-previous-section]\t\tGo to previous section.") |
| | | |
| | | ;;; Helm colors |
| | | ;; |
| | | ;; |
| | | (defvar helm-colors-help-message |
| | | "* Helm colors |
| | | |
| | | ** Commands |
| | | \\<helm-color-map> |
| | | \\[helm-color-run-insert-name]\t\tInsert the entry name. |
| | | \\[helm-color-run-kill-name]\t\tKill the entry name. |
| | | \\[helm-color-run-insert-rgb]\t\tInsert entry in RGB format. |
| | | \\[helm-color-run-kill-rgb]\t\tKill entry in RGB format.") |
| | | |
| | | ;;; Helm Semantic |
| | | ;; |
| | | ;; |
| | | (defvar helm-semantic-help-message |
| | | "* Helm Semantic |
| | | |
| | | ** Commands |
| | | \\<helm-semantic-map>") |
| | | |
| | | ;;; Helm kmacro |
| | | ;; |
| | | ;; |
| | | (defvar helm-kmacro-help-message |
| | | "* Helm kmacro |
| | | |
| | | ** Tips |
| | | |
| | | - Start recording a kmacro with `f3'. |
| | | - End the kmacro recording with `f4'. |
| | | - Run `helm-execute-kmacro' to list all your kmacros. |
| | | |
| | | Use persistent action to run your kmacro as many time as needed. |
| | | You can browse the kmacros with `helm-next-line' and `helm-previous-line'. |
| | | |
| | | Note: You can't record keys running Helm commands except `helm-M-x', under the |
| | | condition that you don't choose a command using Helm completion. |
| | | |
| | | ** Commands |
| | | \\<helm-kmacro-map>") |
| | | |
| | | ;;; Kill ring |
| | | ;; |
| | | ;; |
| | | (defvar helm-kill-ring-help-message |
| | | "* Helm kill ring |
| | | |
| | | ** Tips |
| | | |
| | | Every Helm session lets you save a candidate to the kill-ring / clipboard / |
| | | primary-selection with `\\<helm-map>\\[helm-kill-selection-and-quit]'. |
| | | |
| | | To save space, Helm-kill-ring truncates the candidates longer than |
| | | `helm-kill-ring-max-offset'. |
| | | `\\<helm-kill-ring-map>\\[helm-kill-ring-kill-selection]' then saves the whole |
| | | text and not the truncated value. The view of truncated candidates can be |
| | | toggled; see the command list below. |
| | | |
| | | As opposed to `yank', numeric prefix arguments are ignored with |
| | | `helm-show-kill-ring': there is no need for them since selection happens within |
| | | Helm. Moreover Helm has [[Shortcuts for executing Default Action on the nth |
| | | candidate][Shortcuts for executing Default Action on the nth candidate]]. |
| | | |
| | | It is recommended to globally bind `M-y' to `helm-show-kill-ring'. Once in the |
| | | Helm-kill-ring session you can navigate to next/previous line with `M-y' and |
| | | `M-u' for convenience. Of course `\\[helm-next-line]' and `\\[helm-previous-line]' are still available. |
| | | |
| | | It is possible to delete candidates from the kill ring. |
| | | |
| | | You can concatenate marked candidates and yank them in the current |
| | | buffer, thus creating a new entry in the kill ring. Candidates are |
| | | concatenated with `helm-kill-ring-separator' as default but you can |
| | | change interactively the separator while yanking by using two prefix |
| | | args. When you have something else than \"\\n\" as default value for |
| | | `helm-kill-ring-separator' and you want to use \"\\n\" from prompt, use |
| | | `C-q C-j' to enter a newline in prompt. |
| | | |
| | | To not push a new entry in the kill ring, use `\\<helm-map>\\[helm-copy-to-buffer]' instead of RET |
| | | \(note that you can't change separator with this). |
| | | |
| | | When inserting candidates with the default action (`RET'), `point' is placed at |
| | | the end of the candidate and `mark' at the beginning. You can revert this behavior |
| | | by using a prefix argument, i.e. `C-u RET', like the regular `yank' command does. |
| | | |
| | | ** Commands |
| | | \\<helm-kill-ring-map> |
| | | \\[helm-next-line]\t\tNext line. |
| | | \\[helm-previous-line]\t\tPrevious line. |
| | | \\[helm-kill-ring-delete]\t\tDelete entry. |
| | | \\[helm-kill-ring-toggle-truncated]\t\tToggle truncated view of candidate. |
| | | \\[helm-kill-ring-kill-selection]\t\tKill non-truncated of selection.") |
| | | |
| | | ;;; Org headings |
| | | ;; |
| | | ;; |
| | | (defvar helm-org-headings-help-message |
| | | "* Helm Org headings |
| | | |
| | | ** Tips |
| | | |
| | | *** Refiling |
| | | |
| | | You can refile one or more headings at a time. |
| | | |
| | | To refile one heading, move the point to the entry you want to refile and run |
| | | \\[helm-org-in-buffer-headings]. Then select the heading you want to refile to |
| | | and press \\<helm-org-headings-map>\\[helm-org-run-refile-heading-to] or select the refile action from the actions menu. |
| | | |
| | | To refile multiple headings, run \\[helm-org-in-buffer-headings] and mark the |
| | | headings you want to refile. Then select the heading you want to refile to |
| | | \(without marking it) and press \\<helm-org-headings-map>\\[helm-org-run-refile-heading-to] or select the refile action from the |
| | | actions menu. |
| | | |
| | | *** Tags completion |
| | | |
| | | Tags completion use `completing-read-multiple', perhaps have a |
| | | look at its docstring. |
| | | |
| | | **** Single tag |
| | | |
| | | From an org heading hit C-c C-c which provide a |
| | | \"Tags\" prompt, then hit TAB and RET if you want to enter an |
| | | existing tag or write a new tag in prompt. At this point you end |
| | | up with an entry in your prompt, if you enter RET, the entry is |
| | | added as tag in your org header. |
| | | |
| | | **** Multiple tags |
| | | |
| | | If you want to add more tag to your org header, add a separator[1] after |
| | | your tag and write a new tag or hit TAB to find another existing |
| | | tag, and so on until you have all the tags you want |
| | | e.g \"foo,bar,baz\" then press RET to finally add the tags to your |
| | | org header. |
| | | Note: [1] A separator can be a comma, a colon i.e. [,:] or a space. |
| | | |
| | | ** Commands |
| | | \\<helm-org-headings-map> |
| | | \\[helm-org-run-open-heading-in-indirect-buffer]\t\tOpen heading in indirect buffer. |
| | | \\[helm-org-run-refile-heading-to]\t\tRefile current or marked headings to selection. |
| | | \\[helm-org-run-insert-link-to-heading-at-marker]\t\tInsert link at point to selection." |
| | | ) |
| | | |
| | | ;;; Completing-read |
| | | ;; |
| | | (defun helm-comp-read-help-message () |
| | | (let ((com (assoc-default 'name (helm-get-current-source)))) |
| | | (format |
| | | "* Helm completing-read completion for `%s' |
| | | |
| | | Command `%s' is using a `completing-read' for completion on your input, |
| | | this completion have been \"helmized\" because you have enabled [[Helm mode][helm-mode]]'. |
| | | |
| | | ** Tips |
| | | |
| | | *** Disabling or use something else than helm for completion of some commands |
| | | |
| | | You can disable helm completion or use something else for specific commands of your choice, |
| | | for this customize variable `helm-completing-read-handlers-alist'. |
| | | |
| | | *** Exiting minibuffer with empty string |
| | | |
| | | You can exit minibuffer with empty string with \\<helm-comp-read-map>\\[helm-cr-empty-string]. |
| | | It is useful when some commands are prompting continuously until you enter an empty prompt. |
| | | |
| | | ** Commands |
| | | \\<helm-comp-read-map> |
| | | \\[helm-cr-empty-string]\t\tExit minibuffer with empty string." |
| | | com com))) |
| | | |
| | | |
| | | ;;; Mode line strings |
| | | ;; |
| | | ;; |
| | | ;;;###autoload |
| | | (defvar helm-comp-read-mode-line "\ |
| | | \\<helm-comp-read-map>\ |
| | | C/\\[helm-cr-empty-string]:Empty \ |
| | | \\<helm-map>\ |
| | | \\[helm-help]:Help \ |
| | | \\[helm-select-action]:Act \ |
| | | \\[helm-maybe-exit-minibuffer]/\ |
| | | f1/f2/f-n:NthAct \ |
| | | \\[helm-toggle-suspend-update]:Tog.suspend") |
| | | |
| | | ;;;###autoload |
| | | (defvar helm-read-file-name-mode-line-string "\ |
| | | \\<helm-read-file-map>\ |
| | | \\[helm-help]:Help \ |
| | | C/\\[helm-cr-empty-string]:Empty \ |
| | | \\<helm-map>\ |
| | | \\[helm-select-action]:Act \ |
| | | \\[helm-maybe-exit-minibuffer]/\ |
| | | f1/f2/f-n:NthAct \ |
| | | \\[helm-toggle-suspend-update]:Tog.suspend" |
| | | "String displayed in mode-line in `helm-source-find-files'.") |
| | | |
| | | ;;;###autoload |
| | | (defvar helm-top-mode-line "\ |
| | | \\<helm-top-map>\ |
| | | \\[helm-help]:Help \ |
| | | \\<helm-map>\ |
| | | \\[helm-select-action]:Act \ |
| | | \\[helm-maybe-exit-minibuffer]/\ |
| | | f1/f2/f-n:NthAct \ |
| | | \\[helm-toggle-suspend-update]:Tog.suspend") |
| | | |
| | | |
| | | (provide 'helm-help) |
| | | |
| | | ;; Local Variables: |
| | | ;; byte-compile-warnings: (not obsolete) |
| | | ;; coding: utf-8 |
| | | ;; indent-tabs-mode: nil |
| | | ;; End: |
| | | |
| | | ;;; helm-help.el ends here |
New file |
| | |
| | | (define-package "helm" "20181117.731" "Helm is an Emacs incremental and narrowing framework" |
| | | '((emacs "24.4") |
| | | (async "1.9.3") |
| | | (popup "0.5.3") |
| | | (helm-core "3.0")) |
| | | :url "https://emacs-helm.github.io/helm/") |
| | | ;; Local Variables: |
| | | ;; no-byte-compile: t |
| | | ;; End: |
New file |
| | |
| | | (define-package "helm-core" "20181117.1055" "Development files for Helm" |
| | | '((emacs "24.4") |
| | | (async "1.9.3")) |
| | | :url "https://emacs-helm.github.io/helm/") |
| | | ;; Local Variables: |
| | | ;; no-byte-compile: t |
| | | ;; End: |
New file |
| | |
| | | GNU GENERAL PUBLIC LICENSE |
| | | Version 3, 29 June 2007 |
| | | |
| | | Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
| | | Everyone is permitted to copy and distribute verbatim copies |
| | | of this license document, but changing it is not allowed. |
| | | |
| | | Preamble |
| | | |
| | | The GNU General Public License is a free, copyleft license for |
| | | software and other kinds of works. |
| | | |
| | | The licenses for most software and other practical works are designed |
| | | to take away your freedom to share and change the works. By contrast, |
| | | the GNU General Public License is intended to guarantee your freedom to |
| | | share and change all versions of a program--to make sure it remains free |
| | | software for all its users. We, the Free Software Foundation, use the |
| | | GNU General Public License for most of our software; it applies also to |
| | | any other work released this way by its authors. You can apply it to |
| | | your programs, too. |
| | | |
| | | When we speak of free software, we are referring to freedom, not |
| | | price. Our General Public Licenses are designed to make sure that you |
| | | have the freedom to distribute copies of free software (and charge for |
| | | them if you wish), that you receive source code or can get it if you |
| | | want it, that you can change the software or use pieces of it in new |
| | | free programs, and that you know you can do these things. |
| | | |
| | | To protect your rights, we need to prevent others from denying you |
| | | these rights or asking you to surrender the rights. Therefore, you have |
| | | certain responsibilities if you distribute copies of the software, or if |
| | | you modify it: responsibilities to respect the freedom of others. |
| | | |
| | | For example, if you distribute copies of such a program, whether |
| | | gratis or for a fee, you must pass on to the recipients the same |
| | | freedoms that you received. You must make sure that they, too, receive |
| | | or can get the source code. And you must show them these terms so they |
| | | know their rights. |
| | | |
| | | Developers that use the GNU GPL protect your rights with two steps: |
| | | (1) assert copyright on the software, and (2) offer you this License |
| | | giving you legal permission to copy, distribute and/or modify it. |
| | | |
| | | For the developers' and authors' protection, the GPL clearly explains |
| | | that there is no warranty for this free software. For both users' and |
| | | authors' sake, the GPL requires that modified versions be marked as |
| | | changed, so that their problems will not be attributed erroneously to |
| | | authors of previous versions. |
| | | |
| | | Some devices are designed to deny users access to install or run |
| | | modified versions of the software inside them, although the manufacturer |
| | | can do so. This is fundamentally incompatible with the aim of |
| | | protecting users' freedom to change the software. The systematic |
| | | pattern of such abuse occurs in the area of products for individuals to |
| | | use, which is precisely where it is most unacceptable. Therefore, we |
| | | have designed this version of the GPL to prohibit the practice for those |
| | | products. If such problems arise substantially in other domains, we |
| | | stand ready to extend this provision to those domains in future versions |
| | | of the GPL, as needed to protect the freedom of users. |
| | | |
| | | Finally, every program is threatened constantly by software patents. |
| | | States should not allow patents to restrict development and use of |
| | | software on general-purpose computers, but in those that do, we wish to |
| | | avoid the special danger that patents applied to a free program could |
| | | make it effectively proprietary. To prevent this, the GPL assures that |
| | | patents cannot be used to render the program non-free. |
| | | |
| | | The precise terms and conditions for copying, distribution and |
| | | modification follow. |
| | | |
| | | TERMS AND CONDITIONS |
| | | |
| | | 0. Definitions. |
| | | |
| | | "This License" refers to version 3 of the GNU General Public License. |
| | | |
| | | "Copyright" also means copyright-like laws that apply to other kinds of |
| | | works, such as semiconductor masks. |
| | | |
| | | "The Program" refers to any copyrightable work licensed under this |
| | | License. Each licensee is addressed as "you". "Licensees" and |
| | | "recipients" may be individuals or organizations. |
| | | |
| | | To "modify" a work means to copy from or adapt all or part of the work |
| | | in a fashion requiring copyright permission, other than the making of an |
| | | exact copy. The resulting work is called a "modified version" of the |
| | | earlier work or a work "based on" the earlier work. |
| | | |
| | | A "covered work" means either the unmodified Program or a work based |
| | | on the Program. |
| | | |
| | | To "propagate" a work means to do anything with it that, without |
| | | permission, would make you directly or secondarily liable for |
| | | infringement under applicable copyright law, except executing it on a |
| | | computer or modifying a private copy. Propagation includes copying, |
| | | distribution (with or without modification), making available to the |
| | | public, and in some countries other activities as well. |
| | | |
| | | To "convey" a work means any kind of propagation that enables other |
| | | parties to make or receive copies. Mere interaction with a user through |
| | | a computer network, with no transfer of a copy, is not conveying. |
| | | |
| | | An interactive user interface displays "Appropriate Legal Notices" |
| | | to the extent that it includes a convenient and prominently visible |
| | | feature that (1) displays an appropriate copyright notice, and (2) |
| | | tells the user that there is no warranty for the work (except to the |
| | | extent that warranties are provided), that licensees may convey the |
| | | work under this License, and how to view a copy of this License. If |
| | | the interface presents a list of user commands or options, such as a |
| | | menu, a prominent item in the list meets this criterion. |
| | | |
| | | 1. Source Code. |
| | | |
| | | The "source code" for a work means the preferred form of the work |
| | | for making modifications to it. "Object code" means any non-source |
| | | form of a work. |
| | | |
| | | A "Standard Interface" means an interface that either is an official |
| | | standard defined by a recognized standards body, or, in the case of |
| | | interfaces specified for a particular programming language, one that |
| | | is widely used among developers working in that language. |
| | | |
| | | The "System Libraries" of an executable work include anything, other |
| | | than the work as a whole, that (a) is included in the normal form of |
| | | packaging a Major Component, but which is not part of that Major |
| | | Component, and (b) serves only to enable use of the work with that |
| | | Major Component, or to implement a Standard Interface for which an |
| | | implementation is available to the public in source code form. A |
| | | "Major Component", in this context, means a major essential component |
| | | (kernel, window system, and so on) of the specific operating system |
| | | (if any) on which the executable work runs, or a compiler used to |
| | | produce the work, or an object code interpreter used to run it. |
| | | |
| | | The "Corresponding Source" for a work in object code form means all |
| | | the source code needed to generate, install, and (for an executable |
| | | work) run the object code and to modify the work, including scripts to |
| | | control those activities. However, it does not include the work's |
| | | System Libraries, or general-purpose tools or generally available free |
| | | programs which are used unmodified in performing those activities but |
| | | which are not part of the work. For example, Corresponding Source |
| | | includes interface definition files associated with source files for |
| | | the work, and the source code for shared libraries and dynamically |
| | | linked subprograms that the work is specifically designed to require, |
| | | such as by intimate data communication or control flow between those |
| | | subprograms and other parts of the work. |
| | | |
| | | The Corresponding Source need not include anything that users |
| | | can regenerate automatically from other parts of the Corresponding |
| | | Source. |
| | | |
| | | The Corresponding Source for a work in source code form is that |
| | | same work. |
| | | |
| | | 2. Basic Permissions. |
| | | |
| | | All rights granted under this License are granted for the term of |
| | | copyright on the Program, and are irrevocable provided the stated |
| | | conditions are met. This License explicitly affirms your unlimited |
| | | permission to run the unmodified Program. The output from running a |
| | | covered work is covered by this License only if the output, given its |
| | | content, constitutes a covered work. This License acknowledges your |
| | | rights of fair use or other equivalent, as provided by copyright law. |
| | | |
| | | You may make, run and propagate covered works that you do not |
| | | convey, without conditions so long as your license otherwise remains |
| | | in force. You may convey covered works to others for the sole purpose |
| | | of having them make modifications exclusively for you, or provide you |
| | | with facilities for running those works, provided that you comply with |
| | | the terms of this License in conveying all material for which you do |
| | | not control copyright. Those thus making or running the covered works |
| | | for you must do so exclusively on your behalf, under your direction |
| | | and control, on terms that prohibit them from making any copies of |
| | | your copyrighted material outside their relationship with you. |
| | | |
| | | Conveying under any other circumstances is permitted solely under |
| | | the conditions stated below. Sublicensing is not allowed; section 10 |
| | | makes it unnecessary. |
| | | |
| | | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. |
| | | |
| | | No covered work shall be deemed part of an effective technological |
| | | measure under any applicable law fulfilling obligations under article |
| | | 11 of the WIPO copyright treaty adopted on 20 December 1996, or |
| | | similar laws prohibiting or restricting circumvention of such |
| | | measures. |
| | | |
| | | When you convey a covered work, you waive any legal power to forbid |
| | | circumvention of technological measures to the extent such circumvention |
| | | is effected by exercising rights under this License with respect to |
| | | the covered work, and you disclaim any intention to limit operation or |
| | | modification of the work as a means of enforcing, against the work's |
| | | users, your or third parties' legal rights to forbid circumvention of |
| | | technological measures. |
| | | |
| | | 4. Conveying Verbatim Copies. |
| | | |
| | | You may convey verbatim copies of the Program's source code as you |
| | | receive it, in any medium, provided that you conspicuously and |
| | | appropriately publish on each copy an appropriate copyright notice; |
| | | keep intact all notices stating that this License and any |
| | | non-permissive terms added in accord with section 7 apply to the code; |
| | | keep intact all notices of the absence of any warranty; and give all |
| | | recipients a copy of this License along with the Program. |
| | | |
| | | You may charge any price or no price for each copy that you convey, |
| | | and you may offer support or warranty protection for a fee. |
| | | |
| | | 5. Conveying Modified Source Versions. |
| | | |
| | | You may convey a work based on the Program, or the modifications to |
| | | produce it from the Program, in the form of source code under the |
| | | terms of section 4, provided that you also meet all of these conditions: |
| | | |
| | | a) The work must carry prominent notices stating that you modified |
| | | it, and giving a relevant date. |
| | | |
| | | b) The work must carry prominent notices stating that it is |
| | | released under this License and any conditions added under section |
| | | 7. This requirement modifies the requirement in section 4 to |
| | | "keep intact all notices". |
| | | |
| | | c) You must license the entire work, as a whole, under this |
| | | License to anyone who comes into possession of a copy. This |
| | | License will therefore apply, along with any applicable section 7 |
| | | additional terms, to the whole of the work, and all its parts, |
| | | regardless of how they are packaged. This License gives no |
| | | permission to license the work in any other way, but it does not |
| | | invalidate such permission if you have separately received it. |
| | | |
| | | d) If the work has interactive user interfaces, each must display |
| | | Appropriate Legal Notices; however, if the Program has interactive |
| | | interfaces that do not display Appropriate Legal Notices, your |
| | | work need not make them do so. |
| | | |
| | | A compilation of a covered work with other separate and independent |
| | | works, which are not by their nature extensions of the covered work, |
| | | and which are not combined with it such as to form a larger program, |
| | | in or on a volume of a storage or distribution medium, is called an |
| | | "aggregate" if the compilation and its resulting copyright are not |
| | | used to limit the access or legal rights of the compilation's users |
| | | beyond what the individual works permit. Inclusion of a covered work |
| | | in an aggregate does not cause this License to apply to the other |
| | | parts of the aggregate. |
| | | |
| | | 6. Conveying Non-Source Forms. |
| | | |
| | | You may convey a covered work in object code form under the terms |
| | | of sections 4 and 5, provided that you also convey the |
| | | machine-readable Corresponding Source under the terms of this License, |
| | | in one of these ways: |
| | | |
| | | a) Convey the object code in, or embodied in, a physical product |
| | | (including a physical distribution medium), accompanied by the |
| | | Corresponding Source fixed on a durable physical medium |
| | | customarily used for software interchange. |
| | | |
| | | b) Convey the object code in, or embodied in, a physical product |
| | | (including a physical distribution medium), accompanied by a |
| | | written offer, valid for at least three years and valid for as |
| | | long as you offer spare parts or customer support for that product |
| | | model, to give anyone who possesses the object code either (1) a |
| | | copy of the Corresponding Source for all the software in the |
| | | product that is covered by this License, on a durable physical |
| | | medium customarily used for software interchange, for a price no |
| | | more than your reasonable cost of physically performing this |
| | | conveying of source, or (2) access to copy the |
| | | Corresponding Source from a network server at no charge. |
| | | |
| | | c) Convey individual copies of the object code with a copy of the |
| | | written offer to provide the Corresponding Source. This |
| | | alternative is allowed only occasionally and noncommercially, and |
| | | only if you received the object code with such an offer, in accord |
| | | with subsection 6b. |
| | | |
| | | d) Convey the object code by offering access from a designated |
| | | place (gratis or for a charge), and offer equivalent access to the |
| | | Corresponding Source in the same way through the same place at no |
| | | further charge. You need not require recipients to copy the |
| | | Corresponding Source along with the object code. If the place to |
| | | copy the object code is a network server, the Corresponding Source |
| | | may be on a different server (operated by you or a third party) |
| | | that supports equivalent copying facilities, provided you maintain |
| | | clear directions next to the object code saying where to find the |
| | | Corresponding Source. Regardless of what server hosts the |
| | | Corresponding Source, you remain obligated to ensure that it is |
| | | available for as long as needed to satisfy these requirements. |
| | | |
| | | e) Convey the object code using peer-to-peer transmission, provided |
| | | you inform other peers where the object code and Corresponding |
| | | Source of the work are being offered to the general public at no |
| | | charge under subsection 6d. |
| | | |
| | | A separable portion of the object code, whose source code is excluded |
| | | from the Corresponding Source as a System Library, need not be |
| | | included in conveying the object code work. |
| | | |
| | | A "User Product" is either (1) a "consumer product", which means any |
| | | tangible personal property which is normally used for personal, family, |
| | | or household purposes, or (2) anything designed or sold for incorporation |
| | | into a dwelling. In determining whether a product is a consumer product, |
| | | doubtful cases shall be resolved in favor of coverage. For a particular |
| | | product received by a particular user, "normally used" refers to a |
| | | typical or common use of that class of product, regardless of the status |
| | | of the particular user or of the way in which the particular user |
| | | actually uses, or expects or is expected to use, the product. A product |
| | | is a consumer product regardless of whether the product has substantial |
| | | commercial, industrial or non-consumer uses, unless such uses represent |
| | | the only significant mode of use of the product. |
| | | |
| | | "Installation Information" for a User Product means any methods, |
| | | procedures, authorization keys, or other information required to install |
| | | and execute modified versions of a covered work in that User Product from |
| | | a modified version of its Corresponding Source. The information must |
| | | suffice to ensure that the continued functioning of the modified object |
| | | code is in no case prevented or interfered with solely because |
| | | modification has been made. |
| | | |
| | | If you convey an object code work under this section in, or with, or |
| | | specifically for use in, a User Product, and the conveying occurs as |
| | | part of a transaction in which the right of possession and use of the |
| | | User Product is transferred to the recipient in perpetuity or for a |
| | | fixed term (regardless of how the transaction is characterized), the |
| | | Corresponding Source conveyed under this section must be accompanied |
| | | by the Installation Information. But this requirement does not apply |
| | | if neither you nor any third party retains the ability to install |
| | | modified object code on the User Product (for example, the work has |
| | | been installed in ROM). |
| | | |
| | | The requirement to provide Installation Information does not include a |
| | | requirement to continue to provide support service, warranty, or updates |
| | | for a work that has been modified or installed by the recipient, or for |
| | | the User Product in which it has been modified or installed. Access to a |
| | | network may be denied when the modification itself materially and |
| | | adversely affects the operation of the network or violates the rules and |
| | | protocols for communication across the network. |
| | | |
| | | Corresponding Source conveyed, and Installation Information provided, |
| | | in accord with this section must be in a format that is publicly |
| | | documented (and with an implementation available to the public in |
| | | source code form), and must require no special password or key for |
| | | unpacking, reading or copying. |
| | | |
| | | 7. Additional Terms. |
| | | |
| | | "Additional permissions" are terms that supplement the terms of this |
| | | License by making exceptions from one or more of its conditions. |
| | | Additional permissions that are applicable to the entire Program shall |
| | | be treated as though they were included in this License, to the extent |
| | | that they are valid under applicable law. If additional permissions |
| | | apply only to part of the Program, that part may be used separately |
| | | under those permissions, but the entire Program remains governed by |
| | | this License without regard to the additional permissions. |
| | | |
| | | When you convey a copy of a covered work, you may at your option |
| | | remove any additional permissions from that copy, or from any part of |
| | | it. (Additional permissions may be written to require their own |
| | | removal in certain cases when you modify the work.) You may place |
| | | additional permissions on material, added by you to a covered work, |
| | | for which you have or can give appropriate copyright permission. |
| | | |
| | | Notwithstanding any other provision of this License, for material you |
| | | add to a covered work, you may (if authorized by the copyright holders of |
| | | that material) supplement the terms of this License with terms: |
| | | |
| | | a) Disclaiming warranty or limiting liability differently from the |
| | | terms of sections 15 and 16 of this License; or |
| | | |
| | | b) Requiring preservation of specified reasonable legal notices or |
| | | author attributions in that material or in the Appropriate Legal |
| | | Notices displayed by works containing it; or |
| | | |
| | | c) Prohibiting misrepresentation of the origin of that material, or |
| | | requiring that modified versions of such material be marked in |
| | | reasonable ways as different from the original version; or |
| | | |
| | | d) Limiting the use for publicity purposes of names of licensors or |
| | | authors of the material; or |
| | | |
| | | e) Declining to grant rights under trademark law for use of some |
| | | trade names, trademarks, or service marks; or |
| | | |
| | | f) Requiring indemnification of licensors and authors of that |
| | | material by anyone who conveys the material (or modified versions of |
| | | it) with contractual assumptions of liability to the recipient, for |
| | | any liability that these contractual assumptions directly impose on |
| | | those licensors and authors. |
| | | |
| | | All other non-permissive additional terms are considered "further |
| | | restrictions" within the meaning of section 10. If the Program as you |
| | | received it, or any part of it, contains a notice stating that it is |
| | | governed by this License along with a term that is a further |
| | | restriction, you may remove that term. If a license document contains |
| | | a further restriction but permits relicensing or conveying under this |
| | | License, you may add to a covered work material governed by the terms |
| | | of that license document, provided that the further restriction does |
| | | not survive such relicensing or conveying. |
| | | |
| | | If you add terms to a covered work in accord with this section, you |
| | | must place, in the relevant source files, a statement of the |
| | | additional terms that apply to those files, or a notice indicating |
| | | where to find the applicable terms. |
| | | |
| | | Additional terms, permissive or non-permissive, may be stated in the |
| | | form of a separately written license, or stated as exceptions; |
| | | the above requirements apply either way. |
| | | |
| | | 8. Termination. |
| | | |
| | | You may not propagate or modify a covered work except as expressly |
| | | provided under this License. Any attempt otherwise to propagate or |
| | | modify it is void, and will automatically terminate your rights under |
| | | this License (including any patent licenses granted under the third |
| | | paragraph of section 11). |
| | | |
| | | However, if you cease all violation of this License, then your |
| | | license from a particular copyright holder is reinstated (a) |
| | | provisionally, unless and until the copyright holder explicitly and |
| | | finally terminates your license, and (b) permanently, if the copyright |
| | | holder fails to notify you of the violation by some reasonable means |
| | | prior to 60 days after the cessation. |
| | | |
| | | Moreover, your license from a particular copyright holder is |
| | | reinstated permanently if the copyright holder notifies you of the |
| | | violation by some reasonable means, this is the first time you have |
| | | received notice of violation of this License (for any work) from that |
| | | copyright holder, and you cure the violation prior to 30 days after |
| | | your receipt of the notice. |
| | | |
| | | Termination of your rights under this section does not terminate the |
| | | licenses of parties who have received copies or rights from you under |
| | | this License. If your rights have been terminated and not permanently |
| | | reinstated, you do not qualify to receive new licenses for the same |
| | | material under section 10. |
| | | |
| | | 9. Acceptance Not Required for Having Copies. |
| | | |
| | | You are not required to accept this License in order to receive or |
| | | run a copy of the Program. Ancillary propagation of a covered work |
| | | occurring solely as a consequence of using peer-to-peer transmission |
| | | to receive a copy likewise does not require acceptance. However, |
| | | nothing other than this License grants you permission to propagate or |
| | | modify any covered work. These actions infringe copyright if you do |
| | | not accept this License. Therefore, by modifying or propagating a |
| | | covered work, you indicate your acceptance of this License to do so. |
| | | |
| | | 10. Automatic Licensing of Downstream Recipients. |
| | | |
| | | Each time you convey a covered work, the recipient automatically |
| | | receives a license from the original licensors, to run, modify and |
| | | propagate that work, subject to this License. You are not responsible |
| | | for enforcing compliance by third parties with this License. |
| | | |
| | | An "entity transaction" is a transaction transferring control of an |
| | | organization, or substantially all assets of one, or subdividing an |
| | | organization, or merging organizations. If propagation of a covered |
| | | work results from an entity transaction, each party to that |
| | | transaction who receives a copy of the work also receives whatever |
| | | licenses to the work the party's predecessor in interest had or could |
| | | give under the previous paragraph, plus a right to possession of the |
| | | Corresponding Source of the work from the predecessor in interest, if |
| | | the predecessor has it or can get it with reasonable efforts. |
| | | |
| | | You may not impose any further restrictions on the exercise of the |
| | | rights granted or affirmed under this License. For example, you may |
| | | not impose a license fee, royalty, or other charge for exercise of |
| | | rights granted under this License, and you may not initiate litigation |
| | | (including a cross-claim or counterclaim in a lawsuit) alleging that |
| | | any patent claim is infringed by making, using, selling, offering for |
| | | sale, or importing the Program or any portion of it. |
| | | |
| | | 11. Patents. |
| | | |
| | | A "contributor" is a copyright holder who authorizes use under this |
| | | License of the Program or a work on which the Program is based. The |
| | | work thus licensed is called the contributor's "contributor version". |
| | | |
| | | A contributor's "essential patent claims" are all patent claims |
| | | owned or controlled by the contributor, whether already acquired or |
| | | hereafter acquired, that would be infringed by some manner, permitted |
| | | by this License, of making, using, or selling its contributor version, |
| | | but do not include claims that would be infringed only as a |
| | | consequence of further modification of the contributor version. For |
| | | purposes of this definition, "control" includes the right to grant |
| | | patent sublicenses in a manner consistent with the requirements of |
| | | this License. |
| | | |
| | | Each contributor grants you a non-exclusive, worldwide, royalty-free |
| | | patent license under the contributor's essential patent claims, to |
| | | make, use, sell, offer for sale, import and otherwise run, modify and |
| | | propagate the contents of its contributor version. |
| | | |
| | | In the following three paragraphs, a "patent license" is any express |
| | | agreement or commitment, however denominated, not to enforce a patent |
| | | (such as an express permission to practice a patent or covenant not to |
| | | sue for patent infringement). To "grant" such a patent license to a |
| | | party means to make such an agreement or commitment not to enforce a |
| | | patent against the party. |
| | | |
| | | If you convey a covered work, knowingly relying on a patent license, |
| | | and the Corresponding Source of the work is not available for anyone |
| | | to copy, free of charge and under the terms of this License, through a |
| | | publicly available network server or other readily accessible means, |
| | | then you must either (1) cause the Corresponding Source to be so |
| | | available, or (2) arrange to deprive yourself of the benefit of the |
| | | patent license for this particular work, or (3) arrange, in a manner |
| | | consistent with the requirements of this License, to extend the patent |
| | | license to downstream recipients. "Knowingly relying" means you have |
| | | actual knowledge that, but for the patent license, your conveying the |
| | | covered work in a country, or your recipient's use of the covered work |
| | | in a country, would infringe one or more identifiable patents in that |
| | | country that you have reason to believe are valid. |
| | | |
| | | If, pursuant to or in connection with a single transaction or |
| | | arrangement, you convey, or propagate by procuring conveyance of, a |
| | | covered work, and grant a patent license to some of the parties |
| | | receiving the covered work authorizing them to use, propagate, modify |
| | | or convey a specific copy of the covered work, then the patent license |
| | | you grant is automatically extended to all recipients of the covered |
| | | work and works based on it. |
| | | |
| | | A patent license is "discriminatory" if it does not include within |
| | | the scope of its coverage, prohibits the exercise of, or is |
| | | conditioned on the non-exercise of one or more of the rights that are |
| | | specifically granted under this License. You may not convey a covered |
| | | work if you are a party to an arrangement with a third party that is |
| | | in the business of distributing software, under which you make payment |
| | | to the third party based on the extent of your activity of conveying |
| | | the work, and under which the third party grants, to any of the |
| | | parties who would receive the covered work from you, a discriminatory |
| | | patent license (a) in connection with copies of the covered work |
| | | conveyed by you (or copies made from those copies), or (b) primarily |
| | | for and in connection with specific products or compilations that |
| | | contain the covered work, unless you entered into that arrangement, |
| | | or that patent license was granted, prior to 28 March 2007. |
| | | |
| | | Nothing in this License shall be construed as excluding or limiting |
| | | any implied license or other defenses to infringement that may |
| | | otherwise be available to you under applicable patent law. |
| | | |
| | | 12. No Surrender of Others' Freedom. |
| | | |
| | | If conditions are imposed on you (whether by court order, agreement or |
| | | otherwise) that contradict the conditions of this License, they do not |
| | | excuse you from the conditions of this License. If you cannot convey a |
| | | covered work so as to satisfy simultaneously your obligations under this |
| | | License and any other pertinent obligations, then as a consequence you may |
| | | not convey it at all. For example, if you agree to terms that obligate you |
| | | to collect a royalty for further conveying from those to whom you convey |
| | | the Program, the only way you could satisfy both those terms and this |
| | | License would be to refrain entirely from conveying the Program. |
| | | |
| | | 13. Use with the GNU Affero General Public License. |
| | | |
| | | Notwithstanding any other provision of this License, you have |
| | | permission to link or combine any covered work with a work licensed |
| | | under version 3 of the GNU Affero General Public License into a single |
| | | combined work, and to convey the resulting work. The terms of this |
| | | License will continue to apply to the part which is the covered work, |
| | | but the special requirements of the GNU Affero General Public License, |
| | | section 13, concerning interaction through a network will apply to the |
| | | combination as such. |
| | | |
| | | 14. Revised Versions of this License. |
| | | |
| | | The Free Software Foundation may publish revised and/or new versions of |
| | | the GNU General Public License from time to time. Such new versions will |
| | | be similar in spirit to the present version, but may differ in detail to |
| | | address new problems or concerns. |
| | | |
| | | Each version is given a distinguishing version number. If the |
| | | Program specifies that a certain numbered version of the GNU General |
| | | Public License "or any later version" applies to it, you have the |
| | | option of following the terms and conditions either of that numbered |
| | | version or of any later version published by the Free Software |
| | | Foundation. If the Program does not specify a version number of the |
| | | GNU General Public License, you may choose any version ever published |
| | | by the Free Software Foundation. |
| | | |
| | | If the Program specifies that a proxy can decide which future |
| | | versions of the GNU General Public License can be used, that proxy's |
| | | public statement of acceptance of a version permanently authorizes you |
| | | to choose that version for the Program. |
| | | |
| | | Later license versions may give you additional or different |
| | | permissions. However, no additional obligations are imposed on any |
| | | author or copyright holder as a result of your choosing to follow a |
| | | later version. |
| | | |
| | | 15. Disclaimer of Warranty. |
| | | |
| | | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY |
| | | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT |
| | | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY |
| | | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, |
| | | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| | | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM |
| | | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF |
| | | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
| | | |
| | | 16. Limitation of Liability. |
| | | |
| | | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
| | | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS |
| | | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
| | | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE |
| | | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF |
| | | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
| | | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), |
| | | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
| | | SUCH DAMAGES. |
| | | |
| | | 17. Interpretation of Sections 15 and 16. |
| | | |
| | | If the disclaimer of warranty and limitation of liability provided |
| | | above cannot be given local legal effect according to their terms, |
| | | reviewing courts shall apply local law that most closely approximates |
| | | an absolute waiver of all civil liability in connection with the |
| | | Program, unless a warranty or assumption of liability accompanies a |
| | | copy of the Program in return for a fee. |
| | | |
| | | END OF TERMS AND CONDITIONS |
| | | |
| | | How to Apply These Terms to Your New Programs |
| | | |
| | | If you develop a new program, and you want it to be of the greatest |
| | | possible use to the public, the best way to achieve this is to make it |
| | | free software which everyone can redistribute and change under these terms. |
| | | |
| | | To do so, attach the following notices to the program. It is safest |
| | | to attach them to the start of each source file to most effectively |
| | | state the exclusion of warranty; and each file should have at least |
| | | the "copyright" line and a pointer to where the full notice is found. |
| | | |
| | | <one line to give the program's name and a brief idea of what it does.> |
| | | Copyright (C) <year> <name of author> |
| | | |
| | | 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/>. |
| | | |
| | | Also add information on how to contact you by electronic and paper mail. |
| | | |
| | | If the program does terminal interaction, make it output a short |
| | | notice like this when it starts in an interactive mode: |
| | | |
| | | <program> Copyright (C) <year> <name of author> |
| | | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
| | | This is free software, and you are welcome to redistribute it |
| | | under certain conditions; type `show c' for details. |
| | | |
| | | The hypothetical commands `show w' and `show c' should show the appropriate |
| | | parts of the General Public License. Of course, your program's commands |
| | | might be different; for a GUI interface, you would use an "about box". |
| | | |
| | | You should also get your employer (if you work as a programmer) or school, |
| | | if any, to sign a "copyright disclaimer" for the program, if necessary. |
| | | For more information on this, and how to apply and follow the GNU GPL, see |
| | | <http://www.gnu.org/licenses/>. |
| | | |
| | | The GNU General Public License does not permit incorporating your program |
| | | into proprietary programs. If your program is a subroutine library, you |
| | | may consider it more useful to permit linking proprietary applications with |
| | | the library. If this is what you want to do, use the GNU Lesser General |
| | | Public License instead of this License. But first, please read |
| | | <http://www.gnu.org/philosophy/why-not-lgpl.html>. |
New file |
| | |
| | | This is the Emacs Org project, an Emacs library for organizing your life. |
| | | |
| | | The homepage of Org is at: |
| | | https://orgmode.org |
| | | |
| | | Installations instructions are at: |
| | | https://orgmode.org/org.html#Installation |
| | | |
| | | This distribution contains an ELPA packaged version of Org. |
| | | "ELPA" stands for the "Emacs Lisp Package Archive". |
| | | |
| | | The GNU ELPA is at: |
| | | http://elpa.gnu.org |
| | | |
| | | It contains the org-*.tar package, containing only the org files |
| | | that are also part of GNU Emacs. |
| | | |
| | | There are other ELPA online, offering more packages. |
| | | |
| | | Some contain the org-plus-contrib-*.tar ELPA package, which bundles |
| | | the core Org files plus many additional contributed libraries. |
| | | |
| | | All ELPA packages of Org contain: |
| | | |
| | | README_ELPA |
| | | This file. |
| | | |
| | | *.el |
| | | Elisp files. |
| | | |
| | | org |
| | | The Org info manual. |
| | | |
| | | orgcard.pdf |
| | | The Org reference card. |
| | | |
| | | etc/ |
| | | Libraries for the ODT exporter. |
| | | |
| | | org-*-pkg.el |
| | | The name of the package, requested GNU Emacs packaging system. |
New file |
| | |
| | | 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, "?" 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 |
| | | * Org Mode: (org). Outline-based notes management and organizer |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- See etc/org/README for copyright information --> |
| | | <office:document-content |
| | | xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" |
| | | xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" |
| | | xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" |
| | | xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" |
| | | xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" |
| | | xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" |
| | | xmlns:xlink="http://www.w3.org/1999/xlink" |
| | | xmlns:dc="http://purl.org/dc/elements/1.1/" |
| | | xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" |
| | | xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" |
| | | xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" |
| | | xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" |
| | | xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" |
| | | xmlns:math="http://www.w3.org/1998/Math/MathML" |
| | | xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" |
| | | xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" |
| | | xmlns:ooo="http://openoffice.org/2004/office" |
| | | xmlns:ooow="http://openoffice.org/2004/writer" |
| | | xmlns:oooc="http://openoffice.org/2004/calc" |
| | | xmlns:dom="http://www.w3.org/2001/xml-events" |
| | | xmlns:xforms="http://www.w3.org/2002/xforms" |
| | | xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xmlns:rpt="http://openoffice.org/2005/report" |
| | | xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" |
| | | xmlns:xodt="http://www.w3.org/1999/xodt" |
| | | xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" office:version="1.2"> |
| | | <!-- scripts --> |
| | | <office:scripts/> |
| | | |
| | | <!-- font face declarations --> |
| | | <office:font-face-decls> |
| | | <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/> |
| | | <style:font-face style:name="courier" svg:font-family="courier, monospace"/> |
| | | <style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/> |
| | | <style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J'" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Thorndale" svg:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/> |
| | | <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/> |
| | | </office:font-face-decls> |
| | | |
| | | <!-- automatic styles --> |
| | | <office:automatic-styles> |
| | | |
| | | <!-- Section styles --> |
| | | |
| | | <!-- Section styles for Table Of Contents and Other Indices --> |
| | | <style:style style:name="OrgIndexSection" style:family="section"> |
| | | <style:section-properties fo:background-color="#c0c0c0" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | <style:background-image/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | |
| | | <!-- Indented sections, used as container for tables that occur |
| | | within list items --> |
| | | <style:style style:name="OrgIndentedSection-Level-1" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="1.281cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-2" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="1.905cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-3" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="2.54cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-4" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="3.175cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-5" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="3.81cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-6" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="4.445cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-7" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="5.08cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-8" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="5.715cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-9" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="6.35cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgIndentedSection-Level-10" style:family="section"> |
| | | <style:section-properties text:dont-balance-text-columns="false" fo:margin-left="6.985cm" fo:margin-right="0cm" style:editable="false"> |
| | | <style:columns fo:column-count="1" fo:column-gap="0cm"/> |
| | | </style:section-properties> |
| | | </style:style> |
| | | |
| | | <!-- Table styles --> |
| | | <style:style style:name="OrgTable" style:family="table"> |
| | | <style:table-properties style:rel-width="96%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgTableColumn" style:family="table-column"> |
| | | <style:table-column-properties style:rel-column-width="1*"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgTblCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellL" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellLR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellT" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTL" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTLR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="none" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellB" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellBL" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellBR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellBLR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTB" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTBL" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTBR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="none" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTblCellTBLR" style:family="table-cell" style:parent-style-name="OrgTblCell"> |
| | | <style:table-cell-properties fo:padding="0.159cm" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000"/> |
| | | </style:style> |
| | | |
| | | <!-- BEGIN: Table styles for numbered equations --> |
| | | <style:style style:name="OrgEquation" style:family="table"> |
| | | <style:table-properties style:rel-width="100%" fo:margin-top="0cm" fo:margin-bottom="0.20cm" table:align="center"/> |
| | | </style:style> |
| | | <style:style style:name="OrgEquationTableColumn" style:family="table-column"> |
| | | <style:table-column-properties style:rel-column-width="1*"/> |
| | | </style:style> |
| | | <style:style style:name="OrgFirstEquationFirstColumnTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgEquationLastColumnTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> |
| | | </style:style> |
| | | <style:style style:name="OrgEquationFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgEquationLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <!-- END: Table styles for numbered equations --> |
| | | |
| | | <!-- BEGIN: Custom Table Template --> |
| | | <style:style style:name="Custom" style:family="table"> |
| | | <style:table-properties style:rel-width="80%" table:align="center"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomColumn" style:family="table-column"> |
| | | <style:table-column-properties style:rel-column-width="1*"/> |
| | | </style:style> |
| | | |
| | | <!-- Table Paragraph Styles --> |
| | | <style:style style:name="CustomTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> |
| | | <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomLastRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> |
| | | <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomLastColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> |
| | | <style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomFirstRowTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> |
| | | <style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomFirstColumnTableParagraph" style:family="paragraph" style:parent-style-name="Table_20_Contents"> |
| | | <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/> |
| | | <style:text-properties fo:color="#ffffff" style:text-outline="false" style:text-line-through-style="none" style:font-name="Times New Roman" fo:font-size="12pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="12pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-size-complex="12pt" style:font-style-complex="normal" style:font-weight-complex="normal" style:text-overline-style="none" style:text-overline-color="font-color"/> |
| | | </style:style> |
| | | |
| | | <!-- Table Cell Styles --> |
| | | <style:style style:name="CustomTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:background-color="#ffffff" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"> |
| | | <style:background-image/> |
| | | </style:table-cell-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomFirstRowTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:background-color="#000080" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"> |
| | | <style:background-image/> |
| | | </style:table-cell-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomLastRowTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"> |
| | | <style:background-image/> |
| | | </style:table-cell-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomFirstColumnTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:background-color="#4d4d4d" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"> |
| | | <style:background-image/> |
| | | </style:table-cell-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="CustomLastColumnTableCell" style:family="table-cell"> |
| | | <style:table-cell-properties style:vertical-align="top" fo:background-color="#cccccc" fo:padding="0.097cm" fo:border-left="0.002cm solid #000000" fo:border-right="0.002cm solid #000000" fo:border-top="0.002cm solid #000000" fo:border-bottom="0.002cm solid #000000"> |
| | | <style:background-image/> |
| | | </style:table-cell-properties> |
| | | </style:style> |
| | | |
| | | <!-- END: Custom Table Template --> |
| | | |
| | | </office:automatic-styles> |
| | | |
| | | <office:body> |
| | | <office:text> |
| | | <text:sequence-decls> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Table"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Text"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Equation"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Figure"/> |
| | | <text:sequence-decl text:display-outline-level="0" text:name="Listing"/> |
| | | </text:sequence-decls> |
| | | </office:text> |
| | | </office:body> |
| | | </office:document-content> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- See etc/org/README for copyright information --> |
| | | <office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2"> |
| | | <office:font-face-decls> |
| | | <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol"/> |
| | | <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/> |
| | | <style:font-face style:name="Courier New" svg:font-family="'Courier New'" style:font-family-generic="modern" style:font-pitch="fixed"/> |
| | | <style:font-face style:name="NSimSun" svg:font-family="NSimSun" style:font-family-generic="modern" style:font-pitch="fixed"/> |
| | | <style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/> |
| | | <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/> |
| | | <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/> |
| | | </office:font-face-decls> |
| | | <office:styles> |
| | | <style:default-style style:family="graphic"> |
| | | <style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> |
| | | <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> |
| | | <style:tab-stops/> |
| | | </style:paragraph-properties> |
| | | <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> |
| | | </style:default-style> |
| | | <style:default-style style:family="paragraph"> |
| | | <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/> |
| | | <style:text-properties style:use-window-font-color="true" style:font-name="Times New Roman" fo:font-size="12pt" fo:language="en" fo:country="GB" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Tahoma" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/> |
| | | </style:default-style> |
| | | <style:default-style style:family="table"> |
| | | <style:table-properties table:border-model="collapsing"/> |
| | | </style:default-style> |
| | | <style:default-style style:family="table-row"> |
| | | <style:table-row-properties fo:keep-together="auto"/> |
| | | </style:default-style> |
| | | |
| | | <!-- Outline numbering --> |
| | | <text:outline-style style:name="OrgOutline"> |
| | | <text:outline-level-style text:level="1" style:num-suffix=". " style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-0.762cm" fo:margin-left="0.762cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="2" style:num-suffix=". " style:num-format="1" text:display-levels="2"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.016cm" fo:margin-left="1.016cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="3" style:num-suffix=". " style:num-format="1" text:display-levels="3"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.27cm" fo:margin-left="1.27cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="4" style:num-suffix=". " style:num-format="1" text:display-levels="4"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.524cm" fo:margin-left="1.524cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="5" style:num-suffix=". " style:num-format="1" text:display-levels="5"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-1.778cm" fo:margin-left="1.778cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="6" style:num-suffix=". " style:num-format="1" text:display-levels="6"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.032cm" fo:margin-left="2.032cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="7" style:num-suffix=". " style:num-format="1" text:display-levels="7"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.286cm" fo:margin-left="2.286cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="8" style:num-suffix=". " style:num-format="1" text:display-levels="8"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.54cm" fo:margin-left="2.54cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="9" style:num-suffix=". " style:num-format="1" text:display-levels="9"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-2.794cm" fo:margin-left="2.794cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | <text:outline-level-style text:level="10" style:num-suffix=". " style:num-format="1" text:display-levels="10"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="nothing" fo:text-indent="-3.048cm" fo:margin-left="3.048cm"/> |
| | | </style:list-level-properties> |
| | | </text:outline-level-style> |
| | | </text:outline-style> |
| | | |
| | | <style:style style:name="Standard" style:family="paragraph" style:class="text"/> |
| | | <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"> |
| | | <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="17cm" style:type="right"/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | <style:text-properties style:font-name="Arial" fo:font-size="14pt" style:font-name-asian="SimSun" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt"/> |
| | | </style:style> |
| | | <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/> |
| | | </style:style> |
| | | <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> |
| | | <style:text-properties style:font-name-complex="Tahoma1"/> |
| | | </style:style> |
| | | <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> |
| | | <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Tahoma1" style:font-size-complex="12pt" style:font-style-complex="italic"/> |
| | | </style:style> |
| | | <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> |
| | | <style:paragraph-properties text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties style:font-name-complex="Tahoma1"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="1" style:class="text"> |
| | | <style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_1_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_1" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="2" style:class="text"> |
| | | <style:text-properties fo:font-size="14pt" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-style-complex="italic" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_2_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_2" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:class="text"> |
| | | <style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_3_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_3" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_4" style:display-name="Heading 4" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="4" style:class="text"> |
| | | <style:text-properties fo:font-size="85%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="85%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-style-complex="italic" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_4_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_4" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_5" style:display-name="Heading 5" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="5" style:class="text"> |
| | | <style:text-properties fo:font-size="85%" fo:font-weight="bold" style:font-size-asian="85%" style:font-weight-asian="bold" style:font-size-complex="85%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_5_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_5" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_6" style:display-name="Heading 6" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="6" style:class="text"> |
| | | <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_6_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_6" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_7" style:display-name="Heading 7" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="7" style:class="text"> |
| | | <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_7_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_7" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_8" style:display-name="Heading 8" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="8" style:class="text"> |
| | | <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_8_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_8" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_9" style:display-name="Heading 9" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="9" style:class="text"> |
| | | <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_9_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_9" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_10" style:display-name="Heading 10" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="10" style:class="text"> |
| | | <style:text-properties fo:font-size="75%" fo:font-weight="bold" style:font-size-asian="75%" style:font-weight-asian="bold" style:font-size-complex="75%" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_10_unnumbered" style:family="paragraph" style:parent-style-name="Heading_20_10" style:list-style-name=""> |
| | | </style:style> |
| | | <style:style style:name="Heading_20_1.title" style:display-name="Heading 1.title" style:family="paragraph" style:parent-style-name="Heading_20_1"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="Title" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Subtitle" style:class="chapter"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | <style:text-properties fo:font-size="18pt" fo:font-weight="bold" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-size-complex="18pt" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTitle" style:family="paragraph" style:parent-style-name="Title"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/> |
| | | <style:text-properties fo:font-size="24pt"/> |
| | | </style:style> |
| | | <style:style style:name="Subtitle" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="chapter"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | <style:text-properties fo:font-size="14pt" fo:font-style="italic" style:font-size-asian="14pt" style:font-style-asian="italic" style:font-size-complex="14pt" style:font-style-complex="italic"/> |
| | | </style:style> |
| | | <style:style style:name="OrgSubtitle" style:family="paragraph" style:parent-style-name="Subtitle"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/> |
| | | <style:text-properties fo:font-size="20pt"/> |
| | | </style:style> |
| | | <style:style style:name="Text_20_body_20_indent" style:display-name="Text body indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text"> |
| | | <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"/> |
| | | </style:style> |
| | | <style:style style:name="List_20_Indent" style:display-name="List Indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text"> |
| | | <style:paragraph-properties fo:margin-left="5.001cm" fo:margin-right="0cm" fo:text-indent="-4.5cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="0cm"/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="First_20_line_20_indent" style:display-name="First line indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text"> |
| | | <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0.499cm" style:auto-text-indent="false"/> |
| | | </style:style> |
| | | <style:style style:name="Hanging_20_indent" style:display-name="Hanging indent" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="text"> |
| | | <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="0cm"/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Salutation" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> |
| | | <style:paragraph-properties text:number-lines="false" text:line-number="0"/> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_Heading" style:display-name="Contents Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_1" style:display-name="Contents 1" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="17cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_2" style:display-name="Contents 2" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="16.501cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_3" style:display-name="Contents 3" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="0.998cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="16.002cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_4" style:display-name="Contents 4" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="1.498cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="15.503cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_5" style:display-name="Contents 5" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="1.997cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="15.004cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_6" style:display-name="Contents 6" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="2.496cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="14.504cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_7" style:display-name="Contents 7" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="2.995cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="14.005cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_8" style:display-name="Contents 8" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="3.494cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="13.506cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_9" style:display-name="Contents 9" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="3.993cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="13.007cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Contents_20_10" style:display-name="Contents 10" style:family="paragraph" style:parent-style-name="Index" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="4.493cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="12.508cm" style:type="right" style:leader-style="dotted" style:leader-text="."/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html"> |
| | | <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" fo:text-indent="0cm" style:auto-text-indent="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgFootnoteQuotations" style:family="paragraph" style:parent-style-name="Footnote" style:class="html"> |
| | | <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" fo:text-indent="0cm" style:auto-text-indent="false"/> |
| | | </style:style> |
| | | <style:style style:name="Preformatted_20_Text" style:display-name="Preformatted Text" style:family="paragraph" style:parent-style-name="Standard" style:class="html"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/> |
| | | <style:text-properties style:font-name="Courier New" fo:font-size="10pt" style:font-name-asian="NSimSun" style:font-size-asian="10pt" style:font-name-complex="Courier New" style:font-size-complex="10pt"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgVerse" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> |
| | | <style:paragraph-properties fo:background-color="transparent" fo:padding="0cm" fo:border="none" style:shadow="none"> |
| | | <style:background-image/> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgClock" style:family="paragraph" style:parent-style-name="Text_20_body"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm"/> |
| | | </style:style> |
| | | <style:style style:name="OrgClockLastLine" style:family="paragraph" style:parent-style-name="OrgClock"/> |
| | | <style:style style:name="OrgPlanning" style:family="paragraph" style:parent-style-name="Text_20_body"/> |
| | | |
| | | <!-- Fixed width block --> |
| | | <style:style style:name="OrgFixedWidthBlock" style:family="paragraph" style:parent-style-name="Preformatted_20_Text"> |
| | | <style:paragraph-properties fo:background-color="#c0c0c0" fo:padding="0.049cm" fo:border="0.06pt solid #000000" style:shadow="none"> |
| | | <style:background-image/> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="OrgFixedWidthBlockLastLine" style:family="paragraph" style:parent-style-name="OrgFixedWidthBlock"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgFormula" style:family="paragraph" style:parent-style-name="Text_20_body"> |
| | | <style:paragraph-properties> |
| | | <style:tab-stops> |
| | | <style:tab-stop style:position="17cm" style:type="right"/> |
| | | </style:tab-stops> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgSrcBlockLastLine" style:family="paragraph" style:parent-style-name="OrgSrcBlock"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgCenter" style:family="paragraph" style:parent-style-name="Text_20_body"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgFootnoteCenter" style:family="paragraph" style:parent-style-name="Footnote"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTableContents" style:family="paragraph" style:parent-style-name="Text_20_body"/> |
| | | <style:style style:name="OrgTableHeading" style:family="paragraph" style:parent-style-name="OrgTableContents" style:class="extra"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgTableHeadingLeft" style:family="paragraph" style:parent-style-name="OrgTableHeading"> |
| | | <style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTableHeadingRight" style:family="paragraph" style:parent-style-name="OrgTableHeading"> |
| | | <style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTableHeadingCenter" style:family="paragraph" style:parent-style-name="OrgTableHeading"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgTableContentsLeft" style:family="paragraph" style:parent-style-name="OrgTableContents"> |
| | | <style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTableContentsRight" style:family="paragraph" style:parent-style-name="OrgTableContents"> |
| | | <style:paragraph-properties fo:text-align="right" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTableContentsCenter" style:family="paragraph" style:parent-style-name="OrgTableContents"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="Text_20_body_20_bold" style:display-name="Text body bold" style:family="paragraph" style:parent-style-name="Text_20_body" style:next-style-name="Text_20_body"> |
| | | <style:text-properties fo:font-weight="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> |
| | | <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/> |
| | | </style:style> |
| | | <style:style style:name="Figure" style:family="paragraph" style:parent-style-name="Caption"/> |
| | | <style:style style:name="Illustration_20_Index_20_Heading" style:display-name="Illustration Index Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index"> |
| | | <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> |
| | | <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Table" style:family="paragraph" style:parent-style-name="Caption" style:class="extra"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:style style:name="Listing" style:family="paragraph" style:parent-style-name="Caption" style:class="extra"> |
| | | <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false" fo:keep-with-next="always"> |
| | | <style:tab-stops/> |
| | | </style:paragraph-properties> |
| | | </style:style> |
| | | <style:style style:name="Horizontal_20_Line" style:display-name="Horizontal Line" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="html"> |
| | | <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.21cm" style:page-number="auto" fo:padding="0cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.06pt solid #000000" style:shadow="none" text:number-lines="false" text:line-number="0" style:join-border="false"/> |
| | | <style:text-properties fo:font-size="6pt" style:font-size-asian="6pt" style:font-size-complex="6pt"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="Emphasis" style:family="text"> |
| | | <style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/> |
| | | </style:style> |
| | | <style:style style:name="Underline" style:family="text"> |
| | | <style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:background-color="transparent"/> |
| | | </style:style> |
| | | <style:style style:name="Strikethrough" style:family="text"> |
| | | <style:text-properties style:text-line-through-style="solid"/> |
| | | </style:style> |
| | | <style:style style:name="Source_20_Text" style:display-name="Source Text" style:family="text"> |
| | | <style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/> |
| | | </style:style> |
| | | <style:style style:name="Citation" style:family="text"> |
| | | <style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/> |
| | | </style:style> |
| | | <style:style style:name="Example" style:family="text"> |
| | | <style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/> |
| | | </style:style> |
| | | <style:style style:name="OrgCode" style:family="text" style:parent-style-name="Source_20_Text"/> |
| | | |
| | | <!-- BEGIN: Org Agenda Styles --> |
| | | <style:style style:name="OrgTodo" style:family="text"/> |
| | | <style:style style:name="OrgDone" style:family="text"/> |
| | | |
| | | <style:style style:name="OrgTag" style:family="text"> |
| | | <style:text-properties fo:font-variant="small-caps" fo:background-color="transparent"/> |
| | | </style:style> |
| | | <style:style style:name="OrgTags" style:family="text"/> |
| | | |
| | | <style:style style:name="OrgPriority" style:family="text"/> |
| | | <style:style style:name="OrgPriority-A" style:family="text" style:parent-style-name="OrgPriority"/> |
| | | <style:style style:name="OrgPriority-B" style:family="text" style:parent-style-name="OrgPriority"/> |
| | | <style:style style:name="OrgPriority-C" style:family="text" style:parent-style-name="OrgPriority"/> |
| | | |
| | | <style:style style:name="OrgTimestamp" style:display-name="OrgTimestamp" style:family="text"> |
| | | <style:text-properties style:font-name="Courier New" fo:background-color="transparent" style:font-name-asian="NSimSun" style:font-name-complex="Courier New"/> |
| | | </style:style> |
| | | <style:style style:name="OrgActiveTimestamp" style:family="text" style:parent-style-name="OrgTimestamp"/> |
| | | <style:style style:name="OrgInactiveTimestamp" style:family="text" style:parent-style-name="OrgTimestamp"/> |
| | | <style:style style:name="OrgTimestampKeyword" style:family="text"> |
| | | <style:text-properties style:use-window-font-color="true" fo:font-weight="bold"/> |
| | | </style:style> |
| | | <style:style style:name="OrgScheduledKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/> |
| | | <style:style style:name="OrgDeadlineKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/> |
| | | <style:style style:name="OrgClockKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/> |
| | | <style:style style:name="OrgClosedKeyword" style:family="text" style:parent-style-name="OrgTimestampKeyword"/> |
| | | <style:style style:name="OrgTimestampWrapper" style:family="text"/> |
| | | <style:style style:name="OrgTarget" style:family="text"/> |
| | | |
| | | <number:date-style style:name="OrgDate" number:automatic-order="true"> |
| | | <number:day number:style="long"/> |
| | | <number:text>/</number:text> |
| | | <number:month number:style="long"/> |
| | | <number:text>/</number:text> |
| | | <number:year number:style="long"/> |
| | | </number:date-style> |
| | | <!-- END: Org Agenda Styles --> |
| | | |
| | | <style:style style:name="Bold" style:family="text"> |
| | | <style:text-properties fo:font-weight="bold"/> |
| | | </style:style> |
| | | <style:style style:name="Numbering_20_Symbols" style:display-name="Numbering Symbols" style:family="text"/> |
| | | <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/> |
| | | <style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text"> |
| | | <style:text-properties style:text-position="super 58%"/> |
| | | </style:style> |
| | | <style:style style:name="OrgSuperscript" style:family="text"> |
| | | <style:text-properties style:text-position="super 58%"/> |
| | | </style:style> |
| | | <style:style style:name="OrgSubscript" style:family="text"> |
| | | <style:text-properties style:text-position="sub 58%"/> |
| | | </style:style> |
| | | <style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text"> |
| | | <style:text-properties fo:color="#000080" fo:language="zxx" fo:country="none" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" style:language-asian="zxx" style:country-asian="none" style:language-complex="zxx" style:country-complex="none"/> |
| | | </style:style> |
| | | <style:style style:name="Graphics" style:family="graphic"> |
| | | <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> |
| | | </style:style> |
| | | <style:style style:name="Frame" style:family="graphic"> |
| | | <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" fo:margin-top="0.201cm" fo:margin-bottom="0.201cm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0.15cm" fo:border="0.002cm solid #000000"/> |
| | | </style:style> |
| | | |
| | | <!-- Simple Images --> |
| | | <style:style style:name="OrgDisplayImage" style:family="graphic" style:parent-style-name="Graphics"> |
| | | <style:graphic-properties text:anchor-type="paragraph" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgPageImage" style:family="graphic" style:parent-style-name="Graphics"> |
| | | <style:graphic-properties text:anchor-type="page" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" style:shadow="none" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"> |
| | | <style:background-image/> |
| | | </style:graphic-properties> |
| | | </style:style> |
| | | |
| | | <!-- Captioned Images --> |
| | | <style:style style:name="OrgCaptionedImage" style:family="graphic" style:parent-style-name="Graphics"> |
| | | <style:graphic-properties style:rel-width="100%" text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame"> |
| | | <style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgPageImageCaptionFrame" style:family="graphic" style:parent-style-name="Frame"> |
| | | <style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.21cm" fo:margin-bottom="0.21cm" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="page" style:horizontal-pos="center" style:horizontal-rel="page" fo:background-color="transparent" style:background-transparency="100%" fo:padding="0cm" fo:border="none" style:shadow="none"> |
| | | <style:background-image/> |
| | | </style:graphic-properties> |
| | | </style:style> |
| | | |
| | | <!-- Inlined Images --> |
| | | <style:style style:name="OrgInlineImage" style:family="graphic" style:parent-style-name="Graphics"> |
| | | <style:graphic-properties text:anchor-type="as-char" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> |
| | | </style:style> |
| | | |
| | | <!-- Inline Formula --> |
| | | <style:style style:name="OrgFormula" style:family="graphic"> |
| | | <style:graphic-properties text:anchor-type="as-char" svg:y="0cm" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text" style:shadow="none"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula"> |
| | | <style:graphic-properties text:anchor-type="as-char" fo:margin-left="0.201cm" fo:margin-right="0.201cm" style:vertical-pos="middle" style:vertical-rel="text"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgInlineFormula" style:family="graphic" style:parent-style-name="Formula"> |
| | | <style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" draw:ole-draw-aspect="1"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgDisplayFormula" style:family="graphic" style:parent-style-name="OrgFormula"> |
| | | <style:graphic-properties style:vertical-pos="middle" style:vertical-rel="text" style:horizontal-pos="from-left" style:horizontal-rel="paragraph-content" draw:ole-draw-aspect="1"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgFormulaCaptionFrame" style:family="graphic" style:parent-style-name="Frame"> |
| | | <style:graphic-properties text:anchor-type="paragraph" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:wrap="right" style:number-wrapped-paragraphs="1" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph" fo:padding="0cm" fo:border="none"/> |
| | | </style:style> |
| | | |
| | | <style:style style:name="OrgCaptionedFormula" style:family="graphic" style:parent-style-name="OrgFormula"> |
| | | <style:graphic-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0cm" style:run-through="foreground" style:wrap="none" style:vertical-pos="from-top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:ole-draw-aspect="1"/> |
| | | </style:style> |
| | | |
| | | <!-- Inline Tasks --> |
| | | <style:style style:name="OrgInlineTaskHeading" style:family="paragraph" style:parent-style-name="Caption" style:next-style-name="Text_20_body"> |
| | | <style:text-properties style:font-name="Arial1" fo:font-style="normal" fo:font-weight="bold"/> |
| | | </style:style> |
| | | <style:style style:name="OrgInlineTaskFrame" style:family="graphic" style:parent-style-name="Frame"> |
| | | <style:graphic-properties svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:background-color="#ffffcc" style:background-transparency="0%" fo:padding="0.15cm" fo:border="0.26pt solid #000000" style:shadow="none"> |
| | | <style:background-image/> |
| | | </style:graphic-properties> |
| | | </style:style> |
| | | |
| | | <text:list-style style:name="Numbering_20_1" style:display-name="Numbering 1"> |
| | | <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.499cm" fo:text-indent="-0.499cm" fo:margin-left="0.499cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1cm" fo:text-indent="-0.499cm" fo:margin-left="1cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.499cm" fo:text-indent="-0.499cm" fo:margin-left="1.499cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.499cm" fo:margin-left="2cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.499cm" fo:text-indent="-0.499cm" fo:margin-left="2.499cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3cm" fo:text-indent="-0.499cm" fo:margin-left="3cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.5cm" fo:text-indent="-0.499cm" fo:margin-left="3.5cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.499cm" fo:margin-left="4.001cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.5cm" fo:text-indent="-0.499cm" fo:margin-left="4.5cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.001cm" fo:text-indent="-0.499cm" fo:margin-left="5.001cm"/> |
| | | </style:list-level-properties> |
| | | </text:list-level-style-number> |
| | | </text:list-style> |
| | | <text:list-style style:name="List_20_1" style:display-name="List 1"> |
| | | <text:list-level-style-bullet text:level="1" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="2" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.801cm" fo:text-indent="-0.4cm" fo:margin-left="0.801cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="3" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.199cm" fo:text-indent="-0.4cm" fo:margin-left="1.199cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="4" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.6cm" fo:text-indent="-0.4cm" fo:margin-left="1.6cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="5" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2cm" fo:text-indent="-0.4cm" fo:margin-left="2cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="6" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.401cm" fo:text-indent="-0.4cm" fo:margin-left="2.401cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="7" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.799cm" fo:text-indent="-0.4cm" fo:margin-left="2.799cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="8" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.2cm" fo:text-indent="-0.4cm" fo:margin-left="3.2cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="9" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.6cm" fo:text-indent="-0.4cm" fo:margin-left="3.6cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="10" text:style-name="Numbering_20_Symbols" text:bullet-char="•"> |
| | | <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> |
| | | <style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.001cm" fo:text-indent="-0.4cm" fo:margin-left="4.001cm"/> |
| | | </style:list-level-properties> |
| | | <style:text-properties style:font-name="OpenSymbol"/> |
| | | </text:list-level-style-bullet> |
| | | </text:list-style> |
| | | |
| | | <!-- Numbered List --> |
| | | <text:list-style style:name="OrgNumberedList"> |
| | | <text:list-level-style-number text:level="1" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="2" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="3" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="4" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="5" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="6" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="7" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="8" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="9" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="10" style:num-suffix="." style:num-format="1"> |
| | | <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | </text:list-style> |
| | | |
| | | <!-- Bulleted List --> |
| | | <text:list-style style:name="OrgBulletedList"> |
| | | <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" style:num-suffix="." text:bullet-char="•"> |
| | | <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm"/> |
| | | <style:text-properties fo:font-family="StarSymbol" style:font-charset="x-symbol"/> |
| | | </text:list-level-style-bullet> |
| | | </text:list-style> |
| | | |
| | | <!-- Description List --> |
| | | <text:list-style style:name="OrgDescriptionList"> |
| | | <text:list-level-style-number text:level="1" style:num-format=""> |
| | | <style:list-level-properties text:space-before="0.635cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="2" style:num-format=""> |
| | | <style:list-level-properties text:space-before="1.27cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="3" style:num-format=""> |
| | | <style:list-level-properties text:space-before="1.905cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="4" style:num-format=""> |
| | | <style:list-level-properties text:space-before="2.54cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="5" style:num-format=""> |
| | | <style:list-level-properties text:space-before="3.175cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="6" style:num-format=""> |
| | | <style:list-level-properties text:space-before="3.81cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="7" style:num-format=""> |
| | | <style:list-level-properties text:space-before="4.445cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="8" style:num-format=""> |
| | | <style:list-level-properties text:space-before="5.08cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="9" style:num-format=""> |
| | | <style:list-level-properties text:space-before="5.715cm"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="10" style:num-format=""> |
| | | <style:list-level-properties text:space-before="6.35cm"/> |
| | | </text:list-level-style-number> |
| | | </text:list-style> |
| | | |
| | | <text:list-style style:name="OrgSrcBlockNumberedLine"> |
| | | <text:list-level-style-number text:level="1" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="0.635cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="2" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="1.27cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="3" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="1.905cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="4" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="2.54cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="5" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="3.175cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="6" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="3.81cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="7" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="4.445cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="8" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="5.08cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="9" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="5.715cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | <text:list-level-style-number text:level="10" style:num-format="1"> |
| | | <style:list-level-properties text:space-before="6.35cm" text:min-label-width="0.635cm" text:min-label-distance="0.101cm" fo:text-align="end"/> |
| | | </text:list-level-style-number> |
| | | </text:list-style> |
| | | |
| | | <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/> |
| | | <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/> |
| | | <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> |
| | | </office:styles> |
| | | <office:automatic-styles> |
| | | <style:style style:name="MP1" style:family="paragraph" style:parent-style-name="Footer"> |
| | | <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> |
| | | </style:style> |
| | | <style:page-layout style:name="Mpm1" style:page-usage="mirrored"> |
| | | <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> |
| | | <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> |
| | | </style:page-layout-properties> |
| | | <style:header-style/> |
| | | <style:footer-style> |
| | | <style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/> |
| | | </style:footer-style> |
| | | </style:page-layout> |
| | | <style:page-layout style:name="Mpm2"> |
| | | <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> |
| | | <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> |
| | | </style:page-layout-properties> |
| | | <style:header-style/> |
| | | <style:footer-style/> |
| | | </style:page-layout> |
| | | <style:page-layout style:name="Mpm3" style:page-usage="mirrored"> |
| | | <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="i" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> |
| | | <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> |
| | | </style:page-layout-properties> |
| | | <style:header-style/> |
| | | <style:footer-style> |
| | | <style:header-footer-properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm"/> |
| | | </style:footer-style> |
| | | </style:page-layout> |
| | | <style:page-layout style:name="Mpm4" style:page-usage="right"> |
| | | <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" fo:background-color="transparent" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> |
| | | <style:background-image/> |
| | | <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> |
| | | </style:page-layout-properties> |
| | | <style:header-style/> |
| | | <style:footer-style> |
| | | <style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/> |
| | | </style:footer-style> |
| | | </style:page-layout> |
| | | <style:page-layout style:name="Mpm5" style:page-usage="mirrored"> |
| | | <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> |
| | | <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> |
| | | </style:page-layout-properties> |
| | | <style:header-style/> |
| | | <style:footer-style> |
| | | <style:header-footer-properties fo:min-height="0.6cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm" style:dynamic-spacing="false"/> |
| | | </style:footer-style> |
| | | </style:page-layout> |
| | | </office:automatic-styles> |
| | | <office:master-styles> |
| | | <style:master-page style:name="Standard" style:page-layout-name="Mpm1"> |
| | | <style:footer> |
| | | <text:p text:style-name="MP1"><text:page-number text:select-page="current"></text:page-number></text:p> |
| | | </style:footer> |
| | | </style:master-page> |
| | | <style:master-page style:name="OrgTitlePage" style:page-layout-name="Mpm2" style:next-style-name="OrgFrontMatterPage"/> |
| | | <style:master-page style:name="OrgFrontMatterPage" style:page-layout-name="Mpm3"> |
| | | <style:footer> |
| | | <text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p> |
| | | </style:footer> |
| | | </style:master-page> |
| | | <style:master-page style:name="OrgFirstPage" style:page-layout-name="Mpm4" style:next-style-name="OrgPage"> |
| | | <style:footer> |
| | | <text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p> |
| | | </style:footer> |
| | | </style:master-page> |
| | | <style:master-page style:name="OrgPage" style:page-layout-name="Mpm5"> |
| | | <style:footer> |
| | | <text:p text:style-name="MP1"><text:page-number text:select-page="current"/></text:p> |
| | | </style:footer> |
| | | </style:master-page> |
| | | </office:master-styles> |
| | | </office:document-styles> |
New file |
| | |
| | | The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the |
| | | following copyright information: |
| | | |
| | | Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | These files are part of GNU Emacs. |
| | | |
| | | GNU Emacs 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. |
| | | |
| | | GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | |
| | | Author: Jambunathan K <kjambunathan at gmail dot com> |
| | | Keywords: outlines, hypermedia, calendar, wp |
| | | Homepage: https://orgmode.org |
| | | |
| | | Commentary: |
| | | |
| | | These files are part of Org-mode's OpenDocument export module. |
| | | |
| | | OrgOdtContentTemplate.xml provides a template within which the content |
| | | of an exported document is enclosed. This file contributes to |
| | | "content.xml" file within an exported document and acts as a |
| | | repository of automatic styles. |
| | | |
| | | OrgOdtStyles.xml contributes to "styles.xml" file within an exported |
| | | document and acts as a repository of custom styles. |
New file |
| | |
| | | ;;; ob-C.el --- Babel Functions for C and Similar Languages -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Thierry Banel |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating C, C++, D code. |
| | | ;; |
| | | ;; very limited implementation: |
| | | ;; - currently only support :results output |
| | | ;; - not much in the way of error feedback |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'cc-mode) |
| | | (require 'ob) |
| | | |
| | | |
| | | (declare-function org-entry-get "org" (pom property &optional inherit literal-nil)) |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("C++" . "cpp")) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("D" . "d")) |
| | | |
| | | (defvar org-babel-default-header-args:C '()) |
| | | |
| | | (defconst org-babel-header-args:C '((includes . :any) |
| | | (defines . :any) |
| | | (main . :any) |
| | | (flags . :any) |
| | | (cmdline . :any) |
| | | (libs . :any)) |
| | | "C/C++-specific header arguments.") |
| | | |
| | | (defconst org-babel-header-args:C++ |
| | | (append '((namespaces . :any)) |
| | | org-babel-header-args:C) |
| | | "C++-specific header arguments.") |
| | | |
| | | (defcustom org-babel-C-compiler "gcc" |
| | | "Command used to compile a C source code file into an executable. |
| | | May be either a command in the path, like gcc |
| | | or an absolute path name, like /usr/local/bin/gcc |
| | | parameter may be used, like gcc -v" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-C++-compiler "g++" |
| | | "Command used to compile a C++ source code file into an executable. |
| | | May be either a command in the path, like g++ |
| | | or an absolute path name, like /usr/local/bin/g++ |
| | | parameter may be used, like g++ -v" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-D-compiler "rdmd" |
| | | "Command used to compile and execute a D source code file. |
| | | May be either a command in the path, like rdmd |
| | | or an absolute path name, like /usr/local/bin/rdmd |
| | | parameter may be used, like rdmd --chatty" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defvar org-babel-c-variant nil |
| | | "Internal variable used to hold which type of C (e.g. C or C++ or D) |
| | | is currently being evaluated.") |
| | | |
| | | (defun org-babel-execute:cpp (body params) |
| | | "Execute BODY according to PARAMS. |
| | | This function calls `org-babel-execute:C++'." |
| | | (org-babel-execute:C++ body params)) |
| | | |
| | | (defun org-babel-expand-body:cpp (body params) |
| | | "Expand a block of C++ code with org-babel according to its |
| | | header arguments." |
| | | (org-babel-expand-body:C++ body params)) |
| | | |
| | | (defun org-babel-execute:C++ (body params) |
| | | "Execute a block of C++ code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((org-babel-c-variant 'cpp)) (org-babel-C-execute body params))) |
| | | |
| | | (defun org-babel-expand-body:C++ (body params) |
| | | "Expand a block of C++ code with org-babel according to its |
| | | header arguments." |
| | | (let ((org-babel-c-variant 'cpp)) (org-babel-C-expand-C++ body params))) |
| | | |
| | | (defun org-babel-execute:D (body params) |
| | | "Execute a block of D code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((org-babel-c-variant 'd)) (org-babel-C-execute body params))) |
| | | |
| | | (defun org-babel-expand-body:D (body params) |
| | | "Expand a block of D code with org-babel according to its |
| | | header arguments." |
| | | (let ((org-babel-c-variant 'd)) (org-babel-C-expand-D body params))) |
| | | |
| | | (defun org-babel-execute:C (body params) |
| | | "Execute a block of C code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((org-babel-c-variant 'c)) (org-babel-C-execute body params))) |
| | | |
| | | (defun org-babel-expand-body:C (body params) |
| | | "Expand a block of C code with org-babel according to its |
| | | header arguments." |
| | | (let ((org-babel-c-variant 'c)) (org-babel-C-expand-C body params))) |
| | | |
| | | (defun org-babel-C-execute (body params) |
| | | "This function should only be called by `org-babel-execute:C' |
| | | or `org-babel-execute:C++' or `org-babel-execute:D'." |
| | | (let* ((tmp-src-file (org-babel-temp-file |
| | | "C-src-" |
| | | (pcase org-babel-c-variant |
| | | (`c ".c") (`cpp ".cpp") (`d ".d")))) |
| | | (tmp-bin-file ;not used for D |
| | | (org-babel-process-file-name |
| | | (org-babel-temp-file "C-bin-" org-babel-exeext))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (cmdline (if cmdline (concat " " cmdline) "")) |
| | | (flags (cdr (assq :flags params))) |
| | | (flags (mapconcat 'identity |
| | | (if (listp flags) flags (list flags)) " ")) |
| | | (libs (org-babel-read |
| | | (or (cdr (assq :libs params)) |
| | | (org-entry-get nil "libs" t)) |
| | | nil)) |
| | | (libs (mapconcat #'identity |
| | | (if (listp libs) libs (list libs)) |
| | | " ")) |
| | | (full-body |
| | | (pcase org-babel-c-variant |
| | | (`c (org-babel-C-expand-C body params)) |
| | | (`cpp (org-babel-C-expand-C++ body params)) |
| | | (`d (org-babel-C-expand-D body params))))) |
| | | (with-temp-file tmp-src-file (insert full-body)) |
| | | (pcase org-babel-c-variant |
| | | ((or `c `cpp) |
| | | (org-babel-eval |
| | | (format "%s -o %s %s %s %s" |
| | | (pcase org-babel-c-variant |
| | | (`c org-babel-C-compiler) |
| | | (`cpp org-babel-C++-compiler)) |
| | | tmp-bin-file |
| | | flags |
| | | (org-babel-process-file-name tmp-src-file) |
| | | libs) |
| | | "")) |
| | | (`d nil)) ;; no separate compilation for D |
| | | (let ((results |
| | | (org-babel-eval |
| | | (pcase org-babel-c-variant |
| | | ((or `c `cpp) |
| | | (concat tmp-bin-file cmdline)) |
| | | (`d |
| | | (format "%s %s %s %s" |
| | | org-babel-D-compiler |
| | | flags |
| | | (org-babel-process-file-name tmp-src-file) |
| | | cmdline))) |
| | | ""))) |
| | | (when results |
| | | (setq results (org-trim (org-remove-indentation results))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | (org-babel-read results t) |
| | | (let ((tmp-file (org-babel-temp-file "c-"))) |
| | | (with-temp-file tmp-file (insert results)) |
| | | (org-babel-import-elisp-from-file tmp-file))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))) |
| | | ))) |
| | | |
| | | (defun org-babel-C-expand-C++ (body params) |
| | | "Expand a block of C or C++ code with org-babel according to |
| | | its header arguments." |
| | | (org-babel-C-expand-C body params)) |
| | | |
| | | (defun org-babel-C-expand-C (body params) |
| | | "Expand a block of C or C++ code with org-babel according to |
| | | its header arguments." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (colnames (cdr (assq :colname-names params))) |
| | | (main-p (not (string= (cdr (assq :main params)) "no"))) |
| | | (includes (org-babel-read |
| | | (cdr (assq :includes params)) |
| | | nil)) |
| | | (defines (org-babel-read |
| | | (cdr (assq :defines params)) |
| | | nil)) |
| | | (namespaces (org-babel-read |
| | | (cdr (assq :namespaces params)) |
| | | nil))) |
| | | (when (stringp includes) |
| | | (setq includes (split-string includes))) |
| | | (when (stringp namespaces) |
| | | (setq namespaces (split-string namespaces))) |
| | | (when (stringp defines) |
| | | (let ((y nil) |
| | | (result (list t))) |
| | | (dolist (x (split-string defines)) |
| | | (if (null y) |
| | | (setq y x) |
| | | (nconc result (list (concat y " " x))) |
| | | (setq y nil))) |
| | | (setq defines (cdr result)))) |
| | | (mapconcat 'identity |
| | | (list |
| | | ;; includes |
| | | (mapconcat |
| | | (lambda (inc) (format "#include %s" inc)) |
| | | includes "\n") |
| | | ;; defines |
| | | (mapconcat |
| | | (lambda (inc) (format "#define %s" inc)) |
| | | (if (listp defines) defines (list defines)) "\n") |
| | | ;; namespaces |
| | | (mapconcat |
| | | (lambda (inc) (format "using namespace %s;" inc)) |
| | | namespaces |
| | | "\n") |
| | | ;; variables |
| | | (mapconcat 'org-babel-C-var-to-C vars "\n") |
| | | ;; table sizes |
| | | (mapconcat 'org-babel-C-table-sizes-to-C vars "\n") |
| | | ;; tables headers utility |
| | | (when colnames |
| | | (org-babel-C-utility-header-to-C)) |
| | | ;; tables headers |
| | | (mapconcat 'org-babel-C-header-to-C colnames "\n") |
| | | ;; body |
| | | (if main-p |
| | | (org-babel-C-ensure-main-wrap body) |
| | | body) "\n") "\n"))) |
| | | |
| | | (defun org-babel-C-expand-D (body params) |
| | | "Expand a block of D code with org-babel according to |
| | | its header arguments." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (colnames (cdr (assq :colname-names params))) |
| | | (main-p (not (string= (cdr (assq :main params)) "no"))) |
| | | (imports (or (cdr (assq :imports params)) |
| | | (org-babel-read (org-entry-get nil "imports" t))))) |
| | | (when (stringp imports) |
| | | (setq imports (split-string imports))) |
| | | (setq imports (append imports '("std.stdio" "std.conv"))) |
| | | (mapconcat 'identity |
| | | (list |
| | | "module mmm;" |
| | | ;; imports |
| | | (mapconcat |
| | | (lambda (inc) (format "import %s;" inc)) |
| | | imports "\n") |
| | | ;; variables |
| | | (mapconcat 'org-babel-C-var-to-C vars "\n") |
| | | ;; table sizes |
| | | (mapconcat 'org-babel-C-table-sizes-to-C vars "\n") |
| | | ;; tables headers utility |
| | | (when colnames |
| | | (org-babel-C-utility-header-to-C)) |
| | | ;; tables headers |
| | | (mapconcat 'org-babel-C-header-to-C colnames "\n") |
| | | ;; body |
| | | (if main-p |
| | | (org-babel-C-ensure-main-wrap body) |
| | | body) "\n") "\n"))) |
| | | |
| | | (defun org-babel-C-ensure-main-wrap (body) |
| | | "Wrap BODY in a \"main\" function call if none exists." |
| | | (if (string-match "^[ \t]*[intvod]+[ \t\n\r]*main[ \t]*(.*)" body) |
| | | body |
| | | (format "int main() {\n%s\nreturn 0;\n}\n" body))) |
| | | |
| | | (defun org-babel-prep-session:C (_session _params) |
| | | "This function does nothing as C is a compiled language with no |
| | | support for sessions" |
| | | (error "C is a compiled language -- no support for sessions")) |
| | | |
| | | (defun org-babel-load-session:C (_session _body _params) |
| | | "This function does nothing as C is a compiled language with no |
| | | support for sessions" |
| | | (error "C is a compiled language -- no support for sessions")) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-C-format-val (type val) |
| | | "Handle the FORMAT part of TYPE with the data from VAL." |
| | | (let ((format-data (cadr type))) |
| | | (if (stringp format-data) |
| | | (cons "" (format format-data val)) |
| | | (funcall format-data val)))) |
| | | |
| | | (defun org-babel-C-val-to-C-type (val) |
| | | "Determine the type of VAL. |
| | | Return a list (TYPE-NAME FORMAT). TYPE-NAME should be the name of the type. |
| | | FORMAT can be either a format string or a function which is called with VAL." |
| | | (let* ((basetype (org-babel-C-val-to-base-type val)) |
| | | (type |
| | | (pcase basetype |
| | | (`integerp '("int" "%d")) |
| | | (`floatp '("double" "%f")) |
| | | (`stringp |
| | | (list |
| | | (if (eq org-babel-c-variant 'd) "string" "const char*") |
| | | "\"%s\"")) |
| | | (_ (error "unknown type %S" basetype))))) |
| | | (cond |
| | | ((integerp val) type) ;; an integer declared in the #+begin_src line |
| | | ((floatp val) type) ;; a numeric declared in the #+begin_src line |
| | | ((and (listp val) (listp (car val))) ;; a table |
| | | `(,(car type) |
| | | (lambda (val) |
| | | (cons |
| | | (format "[%d][%d]" (length val) (length (car val))) |
| | | (concat |
| | | (if (eq org-babel-c-variant 'd) "[\n" "{\n") |
| | | (mapconcat |
| | | (lambda (v) |
| | | (concat |
| | | (if (eq org-babel-c-variant 'd) " [" " {") |
| | | (mapconcat (lambda (w) (format ,(cadr type) w)) v ",") |
| | | (if (eq org-babel-c-variant 'd) "]" "}"))) |
| | | val |
| | | ",\n") |
| | | (if (eq org-babel-c-variant 'd) "\n]" "\n}")))))) |
| | | ((or (listp val) (vectorp val)) ;; a list declared in the #+begin_src line |
| | | `(,(car type) |
| | | (lambda (val) |
| | | (cons |
| | | (format "[%d]" (length val)) |
| | | (concat |
| | | (if (eq org-babel-c-variant 'd) "[" "{") |
| | | (mapconcat (lambda (v) (format ,(cadr type) v)) val ",") |
| | | (if (eq org-babel-c-variant 'd) "]" "}")))))) |
| | | (t ;; treat unknown types as string |
| | | type)))) |
| | | |
| | | (defun org-babel-C-val-to-base-type (val) |
| | | "Determine the base type of VAL which may be |
| | | `integerp' if all base values are integers |
| | | `floatp' if all base values are either floating points or integers |
| | | `stringp' otherwise." |
| | | (cond |
| | | ((integerp val) 'integerp) |
| | | ((floatp val) 'floatp) |
| | | ((or (listp val) (vectorp val)) |
| | | (let ((type nil)) |
| | | (mapc (lambda (v) |
| | | (pcase (org-babel-C-val-to-base-type v) |
| | | (`stringp (setq type 'stringp)) |
| | | (`floatp |
| | | (if (or (not type) (eq type 'integerp)) |
| | | (setq type 'floatp))) |
| | | (`integerp |
| | | (unless type (setq type 'integerp))))) |
| | | val) |
| | | type)) |
| | | (t 'stringp))) |
| | | |
| | | (defun org-babel-C-var-to-C (pair) |
| | | "Convert an elisp val into a string of C code specifying a var |
| | | of the same value." |
| | | ;; TODO list support |
| | | (let ((var (car pair)) |
| | | (val (cdr pair))) |
| | | (when (symbolp val) |
| | | (setq val (symbol-name val)) |
| | | (when (= (length val) 1) |
| | | (setq val (string-to-char val)))) |
| | | (let* ((type-data (org-babel-C-val-to-C-type val)) |
| | | (type (car type-data)) |
| | | (formated (org-babel-C-format-val type-data val)) |
| | | (suffix (car formated)) |
| | | (data (cdr formated))) |
| | | (format "%s %s%s = %s;" |
| | | type |
| | | var |
| | | suffix |
| | | data)))) |
| | | |
| | | (defun org-babel-C-table-sizes-to-C (pair) |
| | | "Create constants of table dimensions, if PAIR is a table." |
| | | (when (listp (cdr pair)) |
| | | (cond |
| | | ((listp (cadr pair)) ;; a table |
| | | (concat |
| | | (format "const int %s_rows = %d;" (car pair) (length (cdr pair))) |
| | | "\n" |
| | | (format "const int %s_cols = %d;" (car pair) (length (cadr pair))))) |
| | | (t ;; a list declared in the #+begin_src line |
| | | (format "const int %s_cols = %d;" (car pair) (length (cdr pair))))))) |
| | | |
| | | (defun org-babel-C-utility-header-to-C () |
| | | "Generate a utility function to convert a column name |
| | | into a column number." |
| | | (pcase org-babel-c-variant |
| | | ((or `c `cpp) |
| | | "int get_column_num (int nbcols, const char** header, const char* column) |
| | | { |
| | | int c; |
| | | for (c=0; c<nbcols; c++) |
| | | if (strcmp(header[c],column)==0) |
| | | return c; |
| | | return -1; |
| | | } |
| | | ") |
| | | (`d |
| | | "int get_column_num (string[] header, string column) |
| | | { |
| | | foreach (c, h; header) |
| | | if (h==column) |
| | | return to!int(c); |
| | | return -1; |
| | | } |
| | | "))) |
| | | |
| | | (defun org-babel-C-header-to-C (head) |
| | | "Convert an elisp list of header table into a C or D vector |
| | | specifying a variable with the name of the table." |
| | | (let ((table (car head)) |
| | | (headers (cdr head))) |
| | | (concat |
| | | (format |
| | | (pcase org-babel-c-variant |
| | | ((or `c `cpp) "const char* %s_header[%d] = {%s};") |
| | | (`d "string %s_header[%d] = [%s];")) |
| | | table |
| | | (length headers) |
| | | (mapconcat (lambda (h) (format "%S" h)) headers ",")) |
| | | "\n" |
| | | (pcase org-babel-c-variant |
| | | ((or `c `cpp) |
| | | (format |
| | | "const char* %s_h (int row, const char* col) { return %s[row][get_column_num(%d,%s_header,col)]; }" |
| | | table table (length headers) table)) |
| | | (`d |
| | | (format |
| | | "string %s_h (size_t row, string col) { return %s[row][get_column_num(%s_header,col)]; }" |
| | | table table table)))))) |
| | | |
| | | (provide 'ob-C) |
| | | |
| | | ;;; ob-C.el ends here |
New file |
| | |
| | | ;;; ob-J.el --- Babel Functions for J -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Oleh Krehel |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating J code. |
| | | ;; |
| | | ;; Session interaction depends on `j-console' from package `j-mode' |
| | | ;; (available in MELPA). |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'ob) |
| | | |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function j-console-ensure-session "ext:j-console" ()) |
| | | |
| | | (defcustom org-babel-J-command "jconsole" |
| | | "Command to call J." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "9.0") |
| | | :type 'string) |
| | | |
| | | (defun org-babel-expand-body:J (body _params &optional _processed-params) |
| | | "Expand BODY according to PARAMS, return the expanded body. |
| | | PROCESSED-PARAMS isn't used yet." |
| | | (org-babel-J-interleave-echos-except-functions body)) |
| | | |
| | | (defun org-babel-J-interleave-echos (body) |
| | | "Interleave echo',' between each source line of BODY." |
| | | (mapconcat #'identity (split-string body "\n") "\necho','\n")) |
| | | |
| | | (defun org-babel-J-interleave-echos-except-functions (body) |
| | | "Interleave echo',' between source lines of BODY that aren't functions." |
| | | (if (obj-string-match-m "\\(?:^\\|\n\\)[^\n]*\\(?:0\\|1\\|2\\|3\\|4\\|dyad\\) : 0\n.*\n)\\(?:\n\\|$\\)" body) |
| | | (let ((s1 (substring body 0 (match-beginning 0))) |
| | | (s2 (match-string 0 body)) |
| | | (s3 (substring body (match-end 0)))) |
| | | (concat |
| | | (if (string= s1 "") |
| | | "" |
| | | (concat (org-babel-J-interleave-echos s1) |
| | | "\necho','\n")) |
| | | s2 |
| | | "\necho','\n" |
| | | (org-babel-J-interleave-echos-except-functions s3))) |
| | | (org-babel-J-interleave-echos body))) |
| | | |
| | | (defalias 'org-babel-execute:j 'org-babel-execute:J) |
| | | |
| | | (defun org-babel-execute:J (body params) |
| | | "Execute a block of J code BODY. |
| | | PARAMS are given by org-babel. |
| | | This function is called by `org-babel-execute-src-block'" |
| | | (message "executing J source code block") |
| | | (let* ((processed-params (org-babel-process-params params)) |
| | | (sessionp (cdr (assq :session params))) |
| | | (full-body (org-babel-expand-body:J |
| | | body params processed-params)) |
| | | (tmp-script-file (org-babel-temp-file "J-src"))) |
| | | (org-babel-j-initiate-session sessionp) |
| | | (org-babel-J-strip-whitespace |
| | | (if (string= sessionp "none") |
| | | (progn |
| | | (with-temp-file tmp-script-file |
| | | (insert full-body)) |
| | | (org-babel-eval (format "%s < %s" org-babel-J-command tmp-script-file) "")) |
| | | (org-babel-J-eval-string full-body))))) |
| | | |
| | | (defun org-babel-J-eval-string (str) |
| | | "Sends STR to the `j-console-cmd' session and executes it." |
| | | (let ((session (j-console-ensure-session))) |
| | | (with-current-buffer (process-buffer session) |
| | | (goto-char (point-max)) |
| | | (insert (format "\n%s\n" str)) |
| | | (let ((beg (point))) |
| | | (comint-send-input) |
| | | (sit-for .1) |
| | | (buffer-substring-no-properties |
| | | beg (point-max)))))) |
| | | |
| | | (defun org-babel-J-strip-whitespace (str) |
| | | "Remove whitespace from jconsole output STR." |
| | | (mapconcat |
| | | #'identity |
| | | (delete "" (mapcar |
| | | #'org-babel-J-print-block |
| | | (split-string str "^ *,\n" t))) |
| | | "\n\n")) |
| | | |
| | | (defun obj-get-string-alignment (str) |
| | | "Return a number to describe STR alignment. |
| | | STR represents a table. |
| | | Positive/negative/zero result means right/left/undetermined. |
| | | Don't trust first line." |
| | | (let* ((str (org-trim str)) |
| | | (lines (split-string str "\n" t)) |
| | | n1 n2) |
| | | (cond ((<= (length lines) 1) |
| | | 0) |
| | | ((= (length lines) 2) |
| | | ;; numbers are right-aligned |
| | | (if (and |
| | | (numberp (read (car lines))) |
| | | (numberp (read (cadr lines))) |
| | | (setq n1 (obj-match-second-space-right (nth 0 lines))) |
| | | (setq n2 (obj-match-second-space-right (nth 1 lines)))) |
| | | n2 |
| | | 0)) |
| | | ((not (obj-match-second-space-left (nth 0 lines))) |
| | | 0) |
| | | ((and |
| | | (setq n1 (obj-match-second-space-left (nth 1 lines))) |
| | | (setq n2 (obj-match-second-space-left (nth 2 lines))) |
| | | (= n1 n2)) |
| | | n1) |
| | | ((and |
| | | (setq n1 (obj-match-second-space-right (nth 1 lines))) |
| | | (setq n2 (obj-match-second-space-right (nth 2 lines))) |
| | | (= n1 n2)) |
| | | (- n1)) |
| | | (t 0)))) |
| | | |
| | | (defun org-babel-J-print-block (x) |
| | | "Prettify jconsole output X." |
| | | (let* ((x (org-trim x)) |
| | | (a (obj-get-string-alignment x)) |
| | | (lines (split-string x "\n" t)) |
| | | b) |
| | | (cond ((< a 0) |
| | | (setq b (obj-match-second-space-right (nth 0 lines))) |
| | | (concat (make-string (+ a b) ? ) x)) |
| | | ((> a 0) |
| | | (setq b (obj-match-second-space-left (nth 0 lines))) |
| | | (concat (make-string (- a b) ? ) x)) |
| | | (t x)))) |
| | | |
| | | (defun obj-match-second-space-left (s) |
| | | "Return position of leftmost space in second space block of S or nil." |
| | | (and (string-match "^ *[^ ]+\\( \\)" s) |
| | | (match-beginning 1))) |
| | | |
| | | (defun obj-match-second-space-right (s) |
| | | "Return position of rightmost space in second space block of S or nil." |
| | | (and (string-match "^ *[^ ]+ *\\( \\)[^ ]" s) |
| | | (match-beginning 1))) |
| | | |
| | | (defun obj-string-match-m (regexp string &optional start) |
| | | "Call (string-match REGEXP STRING START). |
| | | REGEXP is modified so that .* matches newlines as well." |
| | | (string-match |
| | | (replace-regexp-in-string "\\.\\*" "[\0-\377[:nonascii:]]*" regexp) |
| | | string |
| | | start)) |
| | | |
| | | (defun org-babel-j-initiate-session (&optional session) |
| | | "Initiate a J session. |
| | | SESSION is a parameter given by org-babel." |
| | | (unless (string= session "none") |
| | | (require 'j-console) |
| | | (j-console-ensure-session))) |
| | | |
| | | (provide 'ob-J) |
| | | |
| | | ;;; ob-J.el ends here |
New file |
| | |
| | | ;;; ob-R.el --- Babel Functions for R -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research, R, statistics |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating R code |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'cl-lib) |
| | | (require 'ob) |
| | | |
| | | (declare-function orgtbl-to-tsv "org-table" (table params)) |
| | | (declare-function R "ext:essd-r" (&optional start-args)) |
| | | (declare-function inferior-ess-send-input "ext:ess-inf" ()) |
| | | (declare-function ess-make-buffer-current "ext:ess-inf" ()) |
| | | (declare-function ess-eval-buffer "ext:ess-inf" (vis)) |
| | | (declare-function ess-wait-for-process "ext:ess-inf" |
| | | (&optional proc sec-prompt wait force-redisplay)) |
| | | |
| | | (defconst org-babel-header-args:R |
| | | '((width . :any) |
| | | (height . :any) |
| | | (bg . :any) |
| | | (units . :any) |
| | | (pointsize . :any) |
| | | (antialias . :any) |
| | | (quality . :any) |
| | | (compression . :any) |
| | | (res . :any) |
| | | (type . :any) |
| | | (family . :any) |
| | | (title . :any) |
| | | (fonts . :any) |
| | | (version . :any) |
| | | (paper . :any) |
| | | (encoding . :any) |
| | | (pagecentre . :any) |
| | | (colormodel . :any) |
| | | (useDingbats . :any) |
| | | (horizontal . :any) |
| | | (results . ((file list vector table scalar verbatim) |
| | | (raw html latex org code pp drawer) |
| | | (replace silent none append prepend) |
| | | (output value graphics)))) |
| | | "R-specific header arguments.") |
| | | |
| | | (defconst ob-R-safe-header-args |
| | | (append org-babel-safe-header-args |
| | | '(:width :height :bg :units :pointsize :antialias :quality |
| | | :compression :res :type :family :title :fonts |
| | | :version :paper :encoding :pagecentre :colormodel |
| | | :useDingbats :horizontal)) |
| | | "Header args which are safe for R babel blocks. |
| | | |
| | | See `org-babel-safe-header-args' for documentation of the format of |
| | | this variable.") |
| | | |
| | | (defvar org-babel-default-header-args:R '()) |
| | | (put 'org-babel-default-header-args:R 'safe-local-variable |
| | | (org-babel-header-args-safe-fn ob-R-safe-header-args)) |
| | | |
| | | (defcustom org-babel-R-command "R --slave --no-save" |
| | | "Name of command to use for executing R code." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defvar ess-current-process-name) ; dynamically scoped |
| | | (defvar ess-local-process-name) ; dynamically scoped |
| | | (defun org-babel-edit-prep:R (info) |
| | | (let ((session (cdr (assq :session (nth 2 info))))) |
| | | (when (and session |
| | | (string-prefix-p "*" session) |
| | | (string-suffix-p "*" session)) |
| | | (org-babel-R-initiate-session session nil)))) |
| | | |
| | | ;; The usage of utils::read.table() ensures that the command |
| | | ;; read.table() can be found even in circumstances when the utils |
| | | ;; package is not in the search path from R. |
| | | (defconst ob-R-transfer-variable-table-with-header |
| | | "%s <- local({ |
| | | con <- textConnection( |
| | | %S |
| | | ) |
| | | res <- utils::read.table( |
| | | con, |
| | | header = %s, |
| | | row.names = %s, |
| | | sep = \"\\t\", |
| | | as.is = TRUE |
| | | ) |
| | | close(con) |
| | | res |
| | | })" |
| | | "R code used to transfer a table defined as a variable from org to R. |
| | | |
| | | This function is used when the table contains a header.") |
| | | |
| | | (defconst ob-R-transfer-variable-table-without-header |
| | | "%s <- local({ |
| | | con <- textConnection( |
| | | %S |
| | | ) |
| | | res <- utils::read.table( |
| | | con, |
| | | header = %s, |
| | | row.names = %s, |
| | | sep = \"\\t\", |
| | | as.is = TRUE, |
| | | fill = TRUE, |
| | | col.names = paste(\"V\", seq_len(%d), sep =\"\") |
| | | ) |
| | | close(con) |
| | | res |
| | | })" |
| | | "R code used to transfer a table defined as a variable from org to R. |
| | | |
| | | This function is used when the table does not contain a header.") |
| | | |
| | | (defun org-babel-expand-body:R (body params &optional _graphics-file) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (mapconcat 'identity |
| | | (append |
| | | (when (cdr (assq :prologue params)) |
| | | (list (cdr (assq :prologue params)))) |
| | | (org-babel-variable-assignments:R params) |
| | | (list body) |
| | | (when (cdr (assq :epilogue params)) |
| | | (list (cdr (assq :epilogue params))))) |
| | | "\n")) |
| | | |
| | | (defun org-babel-execute:R (body params) |
| | | "Execute a block of R code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (save-excursion |
| | | (let* ((result-params (cdr (assq :result-params params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (session (org-babel-R-initiate-session |
| | | (cdr (assq :session params)) params)) |
| | | (graphics-file (and (member "graphics" (assq :result-params params)) |
| | | (org-babel-graphical-output-file params))) |
| | | (colnames-p (unless graphics-file (cdr (assq :colnames params)))) |
| | | (rownames-p (unless graphics-file (cdr (assq :rownames params)))) |
| | | (full-body |
| | | (let ((inside |
| | | (list (org-babel-expand-body:R body params graphics-file)))) |
| | | (mapconcat 'identity |
| | | (if graphics-file |
| | | (append |
| | | (list (org-babel-R-construct-graphics-device-call |
| | | graphics-file params)) |
| | | inside |
| | | (list "},error=function(e){plot(x=-1:1, y=-1:1, type='n', xlab='', ylab='', axes=FALSE); text(x=0, y=0, labels=e$message, col='red'); paste('ERROR', e$message, sep=' : ')}); dev.off()")) |
| | | inside) |
| | | "\n"))) |
| | | (result |
| | | (org-babel-R-evaluate |
| | | session full-body result-type result-params |
| | | (or (equal "yes" colnames-p) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) colnames-p)) |
| | | (or (equal "yes" rownames-p) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) rownames-p))))) |
| | | (if graphics-file nil result)))) |
| | | |
| | | (defun org-babel-prep-session:R (session params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (let* ((session (org-babel-R-initiate-session session params)) |
| | | (var-lines (org-babel-variable-assignments:R params))) |
| | | (org-babel-comint-in-buffer session |
| | | (mapc (lambda (var) |
| | | (end-of-line 1) (insert var) (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session)) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:R (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:R session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-variable-assignments:R (params) |
| | | "Return list of R statements assigning the block's variables." |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (mapcar |
| | | (lambda (pair) |
| | | (org-babel-R-assign-elisp |
| | | (car pair) (cdr pair) |
| | | (equal "yes" (cdr (assq :colnames params))) |
| | | (equal "yes" (cdr (assq :rownames params))))) |
| | | (mapcar |
| | | (lambda (i) |
| | | (cons (car (nth i vars)) |
| | | (org-babel-reassemble-table |
| | | (cdr (nth i vars)) |
| | | (cdr (nth i (cdr (assq :colname-names params)))) |
| | | (cdr (nth i (cdr (assq :rowname-names params))))))) |
| | | (number-sequence 0 (1- (length vars))))))) |
| | | |
| | | (defun org-babel-R-quote-tsv-field (s) |
| | | "Quote field S for export to R." |
| | | (if (stringp s) |
| | | (concat "\"" (mapconcat 'identity (split-string s "\"") "\"\"") "\"") |
| | | (format "%S" s))) |
| | | |
| | | (defun org-babel-R-assign-elisp (name value colnames-p rownames-p) |
| | | "Construct R code assigning the elisp VALUE to a variable named NAME." |
| | | (if (listp value) |
| | | (let* ((lengths (mapcar 'length (cl-remove-if-not 'sequencep value))) |
| | | (max (if lengths (apply 'max lengths) 0)) |
| | | (min (if lengths (apply 'min lengths) 0))) |
| | | ;; Ensure VALUE has an orgtbl structure (depth of at least 2). |
| | | (unless (listp (car value)) (setq value (list value))) |
| | | (let ((file (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field))) |
| | | (header (if (or (eq (nth 1 value) 'hline) colnames-p) |
| | | "TRUE" "FALSE")) |
| | | (row-names (if rownames-p "1" "NULL"))) |
| | | (if (= max min) |
| | | (format ob-R-transfer-variable-table-with-header |
| | | name file header row-names) |
| | | (format ob-R-transfer-variable-table-without-header |
| | | name file header row-names max)))) |
| | | (cond ((integerp value) (format "%s <- %s" name (concat (number-to-string value) "L"))) |
| | | ((floatp value) (format "%s <- %s" name value)) |
| | | ((stringp value) (format "%s <- %S" name (org-no-properties value))) |
| | | (t (format "%s <- %S" name (prin1-to-string value)))))) |
| | | |
| | | |
| | | (defvar ess-ask-for-ess-directory) ; dynamically scoped |
| | | (defun org-babel-R-initiate-session (session params) |
| | | "If there is not a current R process then create one." |
| | | (unless (string= session "none") |
| | | (let ((session (or session "*R*")) |
| | | (ess-ask-for-ess-directory |
| | | (and (boundp 'ess-ask-for-ess-directory) |
| | | ess-ask-for-ess-directory |
| | | (not (cdr (assq :dir params)))))) |
| | | (if (org-babel-comint-buffer-livep session) |
| | | session |
| | | (save-window-excursion |
| | | (when (get-buffer session) |
| | | ;; Session buffer exists, but with dead process |
| | | (set-buffer session)) |
| | | (require 'ess) (R) |
| | | (let ((R-proc (get-process (or ess-local-process-name |
| | | ess-current-process-name)))) |
| | | (while (process-get R-proc 'callbacks) |
| | | (ess-wait-for-process R-proc))) |
| | | (rename-buffer |
| | | (if (bufferp session) |
| | | (buffer-name session) |
| | | (if (stringp session) |
| | | session |
| | | (buffer-name)))) |
| | | (current-buffer)))))) |
| | | |
| | | (defun org-babel-R-associate-session (session) |
| | | "Associate R code buffer with an R session. |
| | | Make SESSION be the inferior ESS process associated with the |
| | | current code buffer." |
| | | (setq ess-local-process-name |
| | | (process-name (get-buffer-process session))) |
| | | (ess-make-buffer-current)) |
| | | |
| | | (defvar org-babel-R-graphics-devices |
| | | '((:bmp "bmp" "filename") |
| | | (:jpg "jpeg" "filename") |
| | | (:jpeg "jpeg" "filename") |
| | | (:tikz "tikz" "file") |
| | | (:tiff "tiff" "filename") |
| | | (:png "png" "filename") |
| | | (:svg "svg" "file") |
| | | (:pdf "pdf" "file") |
| | | (:ps "postscript" "file") |
| | | (:postscript "postscript" "file")) |
| | | "An alist mapping graphics file types to R functions. |
| | | |
| | | Each member of this list is a list with three members: |
| | | 1. the file extension of the graphics file, as an elisp :keyword |
| | | 2. the R graphics device function to call to generate such a file |
| | | 3. the name of the argument to this function which specifies the |
| | | file to write to (typically \"file\" or \"filename\")") |
| | | |
| | | (defun org-babel-R-construct-graphics-device-call (out-file params) |
| | | "Construct the call to the graphics device." |
| | | (let* ((allowed-args '(:width :height :bg :units :pointsize |
| | | :antialias :quality :compression :res |
| | | :type :family :title :fonts :version |
| | | :paper :encoding :pagecentre :colormodel |
| | | :useDingbats :horizontal)) |
| | | (device (file-name-extension out-file)) |
| | | (device-info (or (assq (intern (concat ":" device)) |
| | | org-babel-R-graphics-devices) |
| | | (assq :png org-babel-R-graphics-devices))) |
| | | (extra-args (cdr (assq :R-dev-args params))) filearg args) |
| | | (setq device (nth 1 device-info)) |
| | | (setq filearg (nth 2 device-info)) |
| | | (setq args (mapconcat |
| | | (lambda (pair) |
| | | (if (member (car pair) allowed-args) |
| | | (format ",%s=%S" |
| | | (substring (symbol-name (car pair)) 1) |
| | | (cdr pair)) "")) |
| | | params "")) |
| | | (format "%s(%s=\"%s\"%s%s%s); tryCatch({" |
| | | device filearg out-file args |
| | | (if extra-args "," "") (or extra-args "")))) |
| | | |
| | | (defconst org-babel-R-eoe-indicator "'org_babel_R_eoe'") |
| | | (defconst org-babel-R-eoe-output "[1] \"org_babel_R_eoe\"") |
| | | |
| | | (defconst org-babel-R-write-object-command "{ |
| | | function(object,transfer.file) { |
| | | object |
| | | invisible( |
| | | if ( |
| | | inherits( |
| | | try( |
| | | { |
| | | tfile<-tempfile() |
| | | write.table(object, file=tfile, sep=\"\\t\", |
| | | na=\"nil\",row.names=%s,col.names=%s, |
| | | quote=FALSE) |
| | | file.rename(tfile,transfer.file) |
| | | }, |
| | | silent=TRUE), |
| | | \"try-error\")) |
| | | { |
| | | if(!file.exists(transfer.file)) |
| | | file.create(transfer.file) |
| | | } |
| | | ) |
| | | } |
| | | }(object=%s,transfer.file=\"%s\")" |
| | | "A template for an R command to evaluate a block of code and write the result to a file. |
| | | |
| | | Has four %s escapes to be filled in: |
| | | 1. Row names, \"TRUE\" or \"FALSE\" |
| | | 2. Column names, \"TRUE\" or \"FALSE\" |
| | | 3. The code to be run (must be an expression, not a statement) |
| | | 4. The name of the file to write to") |
| | | |
| | | (defun org-babel-R-evaluate |
| | | (session body result-type result-params column-names-p row-names-p) |
| | | "Evaluate R code in BODY." |
| | | (if session |
| | | (org-babel-R-evaluate-session |
| | | session body result-type result-params column-names-p row-names-p) |
| | | (org-babel-R-evaluate-external-process |
| | | body result-type result-params column-names-p row-names-p))) |
| | | |
| | | (defun org-babel-R-evaluate-external-process |
| | | (body result-type result-params column-names-p row-names-p) |
| | | "Evaluate BODY in external R process. |
| | | If RESULT-TYPE equals `output' then return standard output as a |
| | | string. If RESULT-TYPE equals `value' then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (cl-case result-type |
| | | (value |
| | | (let ((tmp-file (org-babel-temp-file "R-"))) |
| | | (org-babel-eval org-babel-R-command |
| | | (format org-babel-R-write-object-command |
| | | (if row-names-p "TRUE" "FALSE") |
| | | (if column-names-p |
| | | (if row-names-p "NA" "TRUE") |
| | | "FALSE") |
| | | (format "{function ()\n{\n%s\n}}()" body) |
| | | (org-babel-process-file-name tmp-file 'noquote))) |
| | | (org-babel-R-process-value-result |
| | | (org-babel-result-cond result-params |
| | | (with-temp-buffer |
| | | (insert-file-contents tmp-file) |
| | | (org-babel-chomp (buffer-string) "\n")) |
| | | (org-babel-import-elisp-from-file tmp-file '(16))) |
| | | column-names-p))) |
| | | (output (org-babel-eval org-babel-R-command body)))) |
| | | |
| | | (defvar ess-eval-visibly-p) |
| | | |
| | | (defun org-babel-R-evaluate-session |
| | | (session body result-type result-params column-names-p row-names-p) |
| | | "Evaluate BODY in SESSION. |
| | | If RESULT-TYPE equals `output' then return standard output as a |
| | | string. If RESULT-TYPE equals `value' then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (cl-case result-type |
| | | (value |
| | | (with-temp-buffer |
| | | (insert (org-babel-chomp body)) |
| | | (let ((ess-local-process-name |
| | | (process-name (get-buffer-process session))) |
| | | (ess-eval-visibly-p nil)) |
| | | (ess-eval-buffer nil))) |
| | | (let ((tmp-file (org-babel-temp-file "R-"))) |
| | | (org-babel-comint-eval-invisibly-and-wait-for-file |
| | | session tmp-file |
| | | (format org-babel-R-write-object-command |
| | | (if row-names-p "TRUE" "FALSE") |
| | | (if column-names-p |
| | | (if row-names-p "NA" "TRUE") |
| | | "FALSE") |
| | | ".Last.value" (org-babel-process-file-name tmp-file 'noquote))) |
| | | (org-babel-R-process-value-result |
| | | (org-babel-result-cond result-params |
| | | (with-temp-buffer |
| | | (insert-file-contents tmp-file) |
| | | (org-babel-chomp (buffer-string) "\n")) |
| | | (org-babel-import-elisp-from-file tmp-file '(16))) |
| | | column-names-p))) |
| | | (output |
| | | (mapconcat |
| | | 'org-babel-chomp |
| | | (butlast |
| | | (delq nil |
| | | (mapcar |
| | | (lambda (line) (when (> (length line) 0) line)) |
| | | (mapcar |
| | | (lambda (line) ;; cleanup extra prompts left in output |
| | | (if (string-match |
| | | "^\\([>+.]\\([ ][>.+]\\)*[ ]\\)" |
| | | (car (split-string line "\n"))) |
| | | (substring line (match-end 1)) |
| | | line)) |
| | | (org-babel-comint-with-output (session org-babel-R-eoe-output) |
| | | (insert (mapconcat 'org-babel-chomp |
| | | (list body org-babel-R-eoe-indicator) |
| | | "\n")) |
| | | (inferior-ess-send-input)))))) "\n")))) |
| | | |
| | | (defun org-babel-R-process-value-result (result column-names-p) |
| | | "R-specific processing of return value. |
| | | Insert hline if column names in output have been requested." |
| | | (if column-names-p |
| | | (cons (car result) (cons 'hline (cdr result))) |
| | | result)) |
| | | |
| | | (provide 'ob-R) |
| | | |
| | | |
| | | |
| | | ;;; ob-R.el ends here |
New file |
| | |
| | | ;;; ob-abc.el --- Org Babel Functions for ABC -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2013-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: William Waites |
| | | ;; Keywords: literate programming, music |
| | | ;; Homepage: http://www.tardis.ed.ac.uk/wwaites |
| | | ;; Version: 0.01 |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;;; This file adds support to Org Babel for music in ABC notation. |
| | | ;;; It requires that the abcm2ps program is installed. |
| | | ;;; See http://moinejf.free.fr/ |
| | | |
| | | (require 'ob) |
| | | |
| | | ;; optionally define a file extension for this language |
| | | (add-to-list 'org-babel-tangle-lang-exts '("abc" . "abc")) |
| | | |
| | | ;; optionally declare default header arguments for this language |
| | | (defvar org-babel-default-header-args:abc |
| | | '((:results . "file") (:exports . "results")) |
| | | "Default arguments to use when evaluating an ABC source block.") |
| | | |
| | | (defun org-babel-expand-body:abc (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (mapc |
| | | (lambda (pair) |
| | | (let ((name (symbol-name (car pair))) |
| | | (value (cdr pair))) |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (concat "\$" (regexp-quote name)) |
| | | (if (stringp value) value (format "%S" value)) |
| | | body)))) |
| | | vars) |
| | | body)) |
| | | |
| | | (defun org-babel-execute:abc (body params) |
| | | "Execute a block of ABC code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (message "executing Abc source code block") |
| | | (let* ((cmdline (cdr (assq :cmdline params))) |
| | | (out-file (let ((file (cdr (assq :file params)))) |
| | | (if file (replace-regexp-in-string "\.pdf$" ".ps" file) |
| | | (error "abc code block requires :file header argument")))) |
| | | (in-file (org-babel-temp-file "abc-")) |
| | | (render (concat "abcm2ps" " " cmdline |
| | | " -O " (org-babel-process-file-name out-file) |
| | | " " (org-babel-process-file-name in-file)))) |
| | | (with-temp-file in-file (insert (org-babel-expand-body:abc body params))) |
| | | (org-babel-eval render "") |
| | | ;;; handle where abcm2ps changes the file name (to support multiple files |
| | | (when (or (string= (file-name-extension out-file) "eps") |
| | | (string= (file-name-extension out-file) "svg")) |
| | | (rename-file (concat |
| | | (file-name-sans-extension out-file) "001." |
| | | (file-name-extension out-file)) |
| | | out-file t)) |
| | | ;;; if we were asked for a pdf... |
| | | (when (string= (file-name-extension (cdr (assq :file params))) "pdf") |
| | | (org-babel-eval (concat "ps2pdf" " " out-file " " (cdr (assq :file params))) "")) |
| | | ;;; indicate that the file has been written |
| | | nil)) |
| | | |
| | | ;; This function should be used to assign any variables in params in |
| | | ;; the context of the session environment. |
| | | (defun org-babel-prep-session:abc (_session _params) |
| | | "Return an error because abc does not support sessions." |
| | | (error "ABC does not support sessions")) |
| | | |
| | | (provide 'ob-abc) |
| | | ;;; ob-abc.el ends here |
New file |
| | |
| | | ;;; ob-asymptote.el --- Babel Functions for Asymptote -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating asymptote source code. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in asymptote |
| | | ;; |
| | | ;; 2) we are generally only going to return results of type "file" |
| | | ;; |
| | | ;; 3) we are adding the "file" and "cmdline" header arguments, if file |
| | | ;; is omitted then the -V option is passed to the asy command for |
| | | ;; interactive viewing |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - The asymptote program :: http://asymptote.sourceforge.net/ |
| | | ;; |
| | | ;; - asy-mode :: Major mode for editing asymptote files |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("asymptote" . "asy")) |
| | | |
| | | (defvar org-babel-default-header-args:asymptote |
| | | '((:results . "file") (:exports . "results")) |
| | | "Default arguments when evaluating an Asymptote source block.") |
| | | |
| | | (defun org-babel-execute:asymptote (body params) |
| | | "Execute a block of Asymptote code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((out-file (cdr (assq :file params))) |
| | | (format (or (file-name-extension out-file) |
| | | "pdf")) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (in-file (org-babel-temp-file "asymptote-")) |
| | | (cmd |
| | | (concat "asy " |
| | | (if out-file |
| | | (concat |
| | | "-globalwrite -f " format |
| | | " -o " (org-babel-process-file-name out-file)) |
| | | "-V") |
| | | " " cmdline |
| | | " " (org-babel-process-file-name in-file)))) |
| | | (with-temp-file in-file |
| | | (insert (org-babel-expand-body:generic |
| | | body params |
| | | (org-babel-variable-assignments:asymptote params)))) |
| | | (message cmd) (shell-command cmd) |
| | | nil)) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:asymptote (_session _params) |
| | | "Return an error if the :session header argument is set. |
| | | Asymptote does not support sessions" |
| | | (error "Asymptote does not support sessions")) |
| | | |
| | | (defun org-babel-variable-assignments:asymptote (params) |
| | | "Return list of asymptote statements assigning the block's variables." |
| | | (mapcar #'org-babel-asymptote-var-to-asymptote |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-asymptote-var-to-asymptote (pair) |
| | | "Convert an elisp value into an Asymptote variable. |
| | | The elisp value PAIR is converted into Asymptote code specifying |
| | | a variable of the same value." |
| | | (let ((var (car pair)) |
| | | (val (let ((v (cdr pair))) |
| | | (if (symbolp v) (symbol-name v) v)))) |
| | | (cond |
| | | ((integerp val) |
| | | (format "int %S=%S;" var val)) |
| | | ((floatp val) |
| | | (format "real %S=%S;" var val)) |
| | | ((stringp val) |
| | | (format "string %S=\"%s\";" var val)) |
| | | ((and (listp val) (not (listp (car val)))) |
| | | (let* ((type (org-babel-asymptote-define-type val)) |
| | | (fmt (if (eq 'string type) "\"%s\"" "%s")) |
| | | (vect (mapconcat (lambda (e) (format fmt e)) val ", "))) |
| | | (format "%s[] %S={%s};" type var vect))) |
| | | ((listp val) |
| | | (let* ((type (org-babel-asymptote-define-type val)) |
| | | (fmt (if (eq 'string type) "\"%s\"" "%s")) |
| | | (array (mapconcat (lambda (row) |
| | | (concat "{" |
| | | (mapconcat (lambda (e) (format fmt e)) |
| | | row ", ") |
| | | "}")) |
| | | val ","))) |
| | | (format "%S[][] %S={%s};" type var array)))))) |
| | | |
| | | (defun org-babel-asymptote-define-type (data) |
| | | "Determine type of DATA. |
| | | |
| | | DATA is a list. Return type as a symbol. |
| | | |
| | | The type is `string' if any element in DATA is a string. |
| | | Otherwise, it is either `real', if some elements are floats, or |
| | | `int'." |
| | | (letrec ((type 'int) |
| | | (find-type |
| | | (lambda (row) |
| | | (dolist (e row type) |
| | | (cond ((listp e) (setq type (funcall find-type e))) |
| | | ((stringp e) (throw 'exit 'string)) |
| | | ((floatp e) (setq type 'real))))))) |
| | | (catch 'exit (funcall find-type data)) type)) |
| | | |
| | | (provide 'ob-asymptote) |
| | | |
| | | |
| | | |
| | | ;;; ob-asymptote.el ends here |
New file |
| | |
| | | ;;; ob-awk.el --- Babel Functions for Awk -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Babel's awk can use special header argument: |
| | | ;; |
| | | ;; - :in-file takes a path to a file of data to be processed by awk |
| | | ;; |
| | | ;; - :stdin takes an Org data or code block reference, the value of |
| | | ;; which will be passed to the awk process through STDIN |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'org-compat) |
| | | |
| | | (declare-function org-babel-ref-resolve "ob-ref" (ref)) |
| | | (declare-function orgtbl-to-generic "org-table" (table params)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("awk" . "awk")) |
| | | |
| | | (defvar org-babel-awk-command "awk" |
| | | "Name of the awk executable command.") |
| | | |
| | | (defun org-babel-expand-body:awk (body _params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | body) |
| | | |
| | | (defun org-babel-execute:awk (body params) |
| | | "Execute a block of Awk code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (message "executing Awk source code block") |
| | | (let* ((result-params (cdr (assq :result-params params))) |
| | | (cmd-line (cdr (assq :cmd-line params))) |
| | | (in-file (cdr (assq :in-file params))) |
| | | (full-body (org-babel-expand-body:awk body params)) |
| | | (code-file (let ((file (org-babel-temp-file "awk-"))) |
| | | (with-temp-file file (insert full-body)) file)) |
| | | (stdin (let ((stdin (cdr (assq :stdin params)))) |
| | | (when stdin |
| | | (let ((tmp (org-babel-temp-file "awk-stdin-")) |
| | | (res (org-babel-ref-resolve stdin))) |
| | | (with-temp-file tmp |
| | | (insert (org-babel-awk-var-to-awk res))) |
| | | tmp)))) |
| | | (cmd (mapconcat #'identity |
| | | (append |
| | | (list org-babel-awk-command |
| | | "-f" code-file cmd-line) |
| | | (mapcar (lambda (pair) |
| | | (format "-v %s='%s'" |
| | | (car pair) |
| | | (org-babel-awk-var-to-awk |
| | | (cdr pair)))) |
| | | (org-babel--get-vars params)) |
| | | (list in-file)) |
| | | " "))) |
| | | (org-babel-reassemble-table |
| | | (let ((results |
| | | (cond |
| | | (stdin (with-temp-buffer |
| | | (call-process-shell-command cmd stdin (current-buffer)) |
| | | (buffer-string))) |
| | | (t (org-babel-eval cmd ""))))) |
| | | (when results |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (let ((tmp (org-babel-temp-file "awk-results-"))) |
| | | (with-temp-file tmp (insert results)) |
| | | (org-babel-import-elisp-from-file tmp))))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-awk-var-to-awk (var &optional sep) |
| | | "Return a printed value of VAR suitable for parsing with awk." |
| | | (let ((echo-var (lambda (v) (if (stringp v) v (format "%S" v))))) |
| | | (cond |
| | | ((and (listp var) (listp (car var))) |
| | | (orgtbl-to-generic var (list :sep (or sep "\t") :fmt echo-var))) |
| | | ((listp var) |
| | | (mapconcat echo-var var "\n")) |
| | | (t (funcall echo-var var))))) |
| | | |
| | | (provide 'ob-awk) |
| | | |
| | | |
| | | |
| | | ;;; ob-awk.el ends here |
New file |
| | |
| | | ;;; ob-calc.el --- Babel Functions for Calc -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating calc code |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'calc) |
| | | (require 'calc-trail) |
| | | (require 'calc-store) |
| | | |
| | | (declare-function calc-store-into "calc-store" (&optional var)) |
| | | (declare-function calc-recall "calc-store" (&optional var)) |
| | | (declare-function math-evaluate-expr "calc-ext" (x)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-default-header-args:calc nil |
| | | "Default arguments for evaluating a calc source block.") |
| | | |
| | | (defun org-babel-expand-body:calc (body _params) |
| | | "Expand BODY according to PARAMS, return the expanded body." body) |
| | | |
| | | (defvar org--var-syms) ; Dynamically scoped from org-babel-execute:calc |
| | | |
| | | (defun org-babel-execute:calc (body params) |
| | | "Execute a block of calc code with Babel." |
| | | (unless (get-buffer "*Calculator*") |
| | | (save-window-excursion (calc) (calc-quit))) |
| | | (let* ((vars (org-babel--get-vars params)) |
| | | (org--var-syms (mapcar #'car vars)) |
| | | (var-names (mapcar #'symbol-name org--var-syms))) |
| | | (mapc |
| | | (lambda (pair) |
| | | (calc-push-list (list (cdr pair))) |
| | | (calc-store-into (car pair))) |
| | | vars) |
| | | (mapc |
| | | (lambda (line) |
| | | (when (> (length line) 0) |
| | | (cond |
| | | ;; simple variable name |
| | | ((member line var-names) (calc-recall (intern line))) |
| | | ;; stack operation |
| | | ((string= "'" (substring line 0 1)) |
| | | (funcall (lookup-key calc-mode-map (substring line 1)) nil)) |
| | | ;; complex expression |
| | | (t |
| | | (calc-push-list |
| | | (list (let ((res (calc-eval line))) |
| | | (cond |
| | | ((numberp res) res) |
| | | ((math-read-number res) (math-read-number res)) |
| | | ((listp res) (error "Calc error \"%s\" on input \"%s\"" |
| | | (cadr res) line)) |
| | | (t (replace-regexp-in-string |
| | | "'" "" |
| | | (calc-eval |
| | | (math-evaluate-expr |
| | | ;; resolve user variables, calc built in |
| | | ;; variables are handled automatically |
| | | ;; upstream by calc |
| | | (mapcar #'org-babel-calc-maybe-resolve-var |
| | | ;; parse line into calc objects |
| | | (car (math-read-exprs line))))))))) |
| | | )))))) |
| | | (mapcar #'org-trim |
| | | (split-string (org-babel-expand-body:calc body params) "[\n\r]")))) |
| | | (save-excursion |
| | | (with-current-buffer (get-buffer "*Calculator*") |
| | | (prog1 |
| | | (calc-eval (calc-top 1)) |
| | | (calc-pop 1))))) |
| | | |
| | | (defun org-babel-calc-maybe-resolve-var (el) |
| | | (if (consp el) |
| | | (if (and (eq 'var (car el)) (member (cadr el) org--var-syms)) |
| | | (progn |
| | | (calc-recall (cadr el)) |
| | | (prog1 (calc-top 1) |
| | | (calc-pop 1))) |
| | | (mapcar #'org-babel-calc-maybe-resolve-var el)) |
| | | el)) |
| | | |
| | | (provide 'ob-calc) |
| | | |
| | | |
| | | |
| | | ;;; ob-calc.el ends here |
New file |
| | |
| | | ;;; ob-clojure.el --- Babel Functions for Clojure -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson |
| | | ;; |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Support for evaluating clojure code |
| | | |
| | | ;; Requirements: |
| | | |
| | | ;; - clojure (at least 1.2.0) |
| | | ;; - clojure-mode |
| | | ;; - either cider or SLIME |
| | | |
| | | ;; For Cider, see https://github.com/clojure-emacs/cider |
| | | |
| | | ;; For SLIME, the best way to install these components is by following |
| | | ;; the directions as set out by Phil Hagelberg (Technomancy) on the |
| | | ;; web page: http://technomancy.us/126 |
| | | |
| | | ;;; Code: |
| | | (require 'cl-lib) |
| | | (require 'ob) |
| | | |
| | | (declare-function cider-current-connection "ext:cider-client" (&optional type)) |
| | | (declare-function cider-current-ns "ext:cider-client" ()) |
| | | (declare-function nrepl--merge "ext:nrepl-client" (dict1 dict2)) |
| | | (declare-function nrepl-dict-get "ext:nrepl-client" (dict key)) |
| | | (declare-function nrepl-dict-put "ext:nrepl-client" (dict key value)) |
| | | (declare-function nrepl-request:eval "ext:nrepl-client" |
| | | (input callback connection &optional session ns line column additional-params)) |
| | | (declare-function nrepl-sync-request:eval "ext:nrepl-client" |
| | | (input connection session &optional ns)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function slime-eval "ext:slime" (sexp &optional package)) |
| | | |
| | | (defvar nrepl-sync-request-timeout) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("clojure" . "clj")) |
| | | |
| | | (defvar org-babel-default-header-args:clojure '()) |
| | | (defvar org-babel-header-args:clojure '((package . :any))) |
| | | |
| | | (defcustom org-babel-clojure-sync-nrepl-timeout 10 |
| | | "Timeout value, in seconds, of a Clojure sync call. |
| | | If the value is nil, timeout is disabled." |
| | | :group 'org-babel |
| | | :type 'integer |
| | | :version "26.1" |
| | | :package-version '(Org . "9.1") |
| | | :safe #'wholenump) |
| | | |
| | | (defcustom org-babel-clojure-backend |
| | | (cond ((featurep 'cider) 'cider) |
| | | (t 'slime)) |
| | | "Backend used to evaluate Clojure code blocks." |
| | | :group 'org-babel |
| | | :type '(choice |
| | | (const :tag "cider" cider) |
| | | (const :tag "SLIME" slime))) |
| | | |
| | | (defun org-babel-expand-body:clojure (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let* ((vars (org-babel--get-vars params)) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (print-level nil) (print-length nil) |
| | | (body (org-trim |
| | | (if (null vars) (org-trim body) |
| | | (concat "(let [" |
| | | (mapconcat |
| | | (lambda (var) |
| | | (format "%S (quote %S)" (car var) (cdr var))) |
| | | vars "\n ") |
| | | "]\n" body ")"))))) |
| | | (if (or (member "code" result-params) |
| | | (member "pp" result-params)) |
| | | (format "(clojure.pprint/pprint (do %s))" body) |
| | | body))) |
| | | |
| | | (defun org-babel-execute:clojure (body params) |
| | | "Execute a block of Clojure code with Babel. |
| | | The underlying process performed by the code block can be output |
| | | using the :show-process parameter." |
| | | (let ((expanded (org-babel-expand-body:clojure body params)) |
| | | (response (list 'dict)) |
| | | result) |
| | | (cl-case org-babel-clojure-backend |
| | | (cider |
| | | (require 'cider) |
| | | (let ((result-params (cdr (assq :result-params params))) |
| | | (show (cdr (assq :show-process params)))) |
| | | (if (member show '(nil "no")) |
| | | ;; Run code without showing the process. |
| | | (progn |
| | | (setq response |
| | | (let ((nrepl-sync-request-timeout |
| | | org-babel-clojure-sync-nrepl-timeout)) |
| | | (nrepl-sync-request:eval expanded |
| | | (cider-current-connection) |
| | | (cider-current-ns)))) |
| | | (setq result |
| | | (concat |
| | | (nrepl-dict-get response |
| | | (if (or (member "output" result-params) |
| | | (member "pp" result-params)) |
| | | "out" |
| | | "value")) |
| | | (nrepl-dict-get response "ex") |
| | | (nrepl-dict-get response "root-ex") |
| | | (nrepl-dict-get response "err")))) |
| | | ;; Show the process in an output buffer/window. |
| | | (let ((process-buffer (switch-to-buffer-other-window |
| | | "*Clojure Show Process Sub Buffer*")) |
| | | status) |
| | | ;; Run the Clojure code in nREPL. |
| | | (nrepl-request:eval |
| | | expanded |
| | | (lambda (resp) |
| | | (when (member "out" resp) |
| | | ;; Print the output of the nREPL in the output buffer. |
| | | (princ (nrepl-dict-get resp "out") process-buffer)) |
| | | (when (member "ex" resp) |
| | | ;; In case there is an exception, then add it to the |
| | | ;; output buffer as well. |
| | | (princ (nrepl-dict-get resp "ex") process-buffer) |
| | | (princ (nrepl-dict-get resp "root-ex") process-buffer)) |
| | | (when (member "err" resp) |
| | | ;; In case there is an error, then add it to the |
| | | ;; output buffer as well. |
| | | (princ (nrepl-dict-get resp "err") process-buffer)) |
| | | (nrepl--merge response resp) |
| | | ;; Update the status of the nREPL output session. |
| | | (setq status (nrepl-dict-get response "status"))) |
| | | (cider-current-connection) |
| | | (cider-current-ns)) |
| | | |
| | | ;; Wait until the nREPL code finished to be processed. |
| | | (while (not (member "done" status)) |
| | | (nrepl-dict-put response "status" (remove "need-input" status)) |
| | | (accept-process-output nil 0.01) |
| | | (redisplay)) |
| | | |
| | | ;; Delete the show buffer & window when the processing is |
| | | ;; finalized. |
| | | (mapc #'delete-window |
| | | (get-buffer-window-list process-buffer nil t)) |
| | | (kill-buffer process-buffer) |
| | | |
| | | ;; Put the output or the value in the result section of |
| | | ;; the code block. |
| | | (setq result |
| | | (concat |
| | | (nrepl-dict-get response |
| | | (if (or (member "output" result-params) |
| | | (member "pp" result-params)) |
| | | "out" |
| | | "value")) |
| | | (nrepl-dict-get response "ex") |
| | | (nrepl-dict-get response "root-ex") |
| | | (nrepl-dict-get response "err"))))))) |
| | | (slime |
| | | (require 'slime) |
| | | (with-temp-buffer |
| | | (insert expanded) |
| | | (setq result |
| | | (slime-eval |
| | | `(swank:eval-and-grab-output |
| | | ,(buffer-substring-no-properties (point-min) (point-max))) |
| | | (cdr (assq :package params))))))) |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | result |
| | | (condition-case nil (org-babel-script-escape result) |
| | | (error result))))) |
| | | |
| | | (provide 'ob-clojure) |
| | | |
| | | ;;; ob-clojure.el ends here |
New file |
| | |
| | | ;;; ob-comint.el --- Babel Functions for Interaction with Comint Buffers -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, comint |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; These functions build on comint to ease the sending and receiving |
| | | ;; of commands and results from comint buffers. |
| | | |
| | | ;; Note that the buffers in this file are analogous to sessions in |
| | | ;; org-babel at large. |
| | | |
| | | ;;; Code: |
| | | (require 'ob-core) |
| | | (require 'org-compat) |
| | | (require 'comint) |
| | | |
| | | (defun org-babel-comint-buffer-livep (buffer) |
| | | "Check if BUFFER is a comint buffer with a live process." |
| | | (let ((buffer (if buffer (get-buffer buffer)))) |
| | | (and buffer (buffer-live-p buffer) (get-buffer-process buffer) buffer))) |
| | | |
| | | (defmacro org-babel-comint-in-buffer (buffer &rest body) |
| | | "Check BUFFER and execute BODY. |
| | | BUFFER is checked with `org-babel-comint-buffer-livep'. BODY is |
| | | executed inside the protection of `save-excursion' and |
| | | `save-match-data'." |
| | | (declare (indent 1)) |
| | | `(progn |
| | | (unless (org-babel-comint-buffer-livep ,buffer) |
| | | (error "Buffer %s does not exist or has no process" ,buffer)) |
| | | (save-match-data |
| | | (with-current-buffer ,buffer |
| | | (save-excursion |
| | | (let ((comint-input-filter (lambda (_input) nil))) |
| | | ,@body)))))) |
| | | (def-edebug-spec org-babel-comint-in-buffer (form body)) |
| | | |
| | | (defmacro org-babel-comint-with-output (meta &rest body) |
| | | "Evaluate BODY in BUFFER and return process output. |
| | | Will wait until EOE-INDICATOR appears in the output, then return |
| | | all process output. If REMOVE-ECHO and FULL-BODY are present and |
| | | non-nil, then strip echo'd body from the returned output. META |
| | | should be a list containing the following where the last two |
| | | elements are optional. |
| | | |
| | | (BUFFER EOE-INDICATOR REMOVE-ECHO FULL-BODY) |
| | | |
| | | This macro ensures that the filter is removed in case of an error |
| | | or user `keyboard-quit' during execution of body." |
| | | (declare (indent 1)) |
| | | (let ((buffer (nth 0 meta)) |
| | | (eoe-indicator (nth 1 meta)) |
| | | (remove-echo (nth 2 meta)) |
| | | (full-body (nth 3 meta))) |
| | | `(org-babel-comint-in-buffer ,buffer |
| | | (let* ((string-buffer "") |
| | | (comint-output-filter-functions |
| | | (cons (lambda (text) (setq string-buffer (concat string-buffer text))) |
| | | comint-output-filter-functions)) |
| | | dangling-text) |
| | | ;; got located, and save dangling text |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (let ((start (point)) |
| | | (end (point-max))) |
| | | (setq dangling-text (buffer-substring start end)) |
| | | (delete-region start end)) |
| | | ;; pass FULL-BODY to process |
| | | ,@body |
| | | ;; wait for end-of-evaluation indicator |
| | | (while (progn |
| | | (goto-char comint-last-input-end) |
| | | (not (save-excursion |
| | | (and (re-search-forward |
| | | (regexp-quote ,eoe-indicator) nil t) |
| | | (re-search-forward |
| | | comint-prompt-regexp nil t))))) |
| | | (accept-process-output (get-buffer-process (current-buffer))) |
| | | ;; thought the following this would allow async |
| | | ;; background running, but I was wrong... |
| | | ;; (run-with-timer .5 .5 'accept-process-output |
| | | ;; (get-buffer-process (current-buffer))) |
| | | ) |
| | | ;; replace cut dangling text |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert dangling-text) |
| | | |
| | | ;; remove echo'd FULL-BODY from input |
| | | (when (and ,remove-echo ,full-body |
| | | (string-match |
| | | (replace-regexp-in-string |
| | | "\n" "[\r\n]+" (regexp-quote (or ,full-body ""))) |
| | | string-buffer)) |
| | | (setq string-buffer (substring string-buffer (match-end 0)))) |
| | | (split-string string-buffer comint-prompt-regexp))))) |
| | | (def-edebug-spec org-babel-comint-with-output (sexp body)) |
| | | |
| | | (defun org-babel-comint-input-command (buffer cmd) |
| | | "Pass CMD to BUFFER. |
| | | The input will not be echoed." |
| | | (org-babel-comint-in-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process buffer))) |
| | | (insert cmd) |
| | | (comint-send-input) |
| | | (org-babel-comint-wait-for-output buffer))) |
| | | |
| | | (defun org-babel-comint-wait-for-output (buffer) |
| | | "Wait until output arrives from BUFFER. |
| | | Note: this is only safe when waiting for the result of a single |
| | | statement (not large blocks of code)." |
| | | (org-babel-comint-in-buffer buffer |
| | | (while (progn |
| | | (goto-char comint-last-input-end) |
| | | (not (and (re-search-forward comint-prompt-regexp nil t) |
| | | (goto-char (match-beginning 0)) |
| | | (string= (face-name (face-at-point)) |
| | | "comint-highlight-prompt")))) |
| | | (accept-process-output (get-buffer-process buffer))))) |
| | | |
| | | (defun org-babel-comint-eval-invisibly-and-wait-for-file |
| | | (buffer file string &optional period) |
| | | "Evaluate STRING in BUFFER invisibly. |
| | | Don't return until FILE exists. Code in STRING must ensure that |
| | | FILE exists at end of evaluation." |
| | | (unless (org-babel-comint-buffer-livep buffer) |
| | | (error "Buffer %s does not exist or has no process" buffer)) |
| | | (when (file-exists-p file) (delete-file file)) |
| | | (process-send-string |
| | | (get-buffer-process buffer) |
| | | (if (= (aref string (1- (length string))) ?\n) string (concat string "\n"))) |
| | | (while (not (file-exists-p file)) (sit-for (or period 0.25)))) |
| | | |
| | | (provide 'ob-comint) |
| | | |
| | | |
| | | |
| | | ;;; ob-comint.el ends here |
New file |
| | |
| | | ;;; ob-coq.el --- Babel Functions for Coq -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Rudimentary support for evaluating Coq code blocks. Currently only |
| | | ;; session evaluation is supported. Requires both coq.el and |
| | | ;; coq-inferior.el, both of which are distributed with Coq. |
| | | ;; |
| | | ;; http://coq.inria.fr/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function run-coq "ext:coq-inferior.el" (cmd)) |
| | | (declare-function coq-proc "ext:coq-inferior.el" ()) |
| | | |
| | | (defvar coq-program-name "coqtop" |
| | | "Name of the coq toplevel to run.") |
| | | |
| | | (defvar org-babel-coq-buffer "*coq*" |
| | | "Buffer in which to evaluate coq code blocks.") |
| | | |
| | | (defun org-babel-coq-clean-prompt (string) |
| | | (if (string-match "^[^[:space:]]+ < " string) |
| | | (substring string 0 (match-beginning 0)) |
| | | string)) |
| | | |
| | | (defun org-babel-execute:coq (body params) |
| | | (let ((full-body (org-babel-expand-body:generic body params)) |
| | | (session (org-babel-coq-initiate-session)) |
| | | (pt (lambda () |
| | | (marker-position |
| | | (process-mark (get-buffer-process (current-buffer))))))) |
| | | (org-babel-coq-clean-prompt |
| | | (org-babel-comint-in-buffer session |
| | | (let ((start (funcall pt))) |
| | | (with-temp-buffer |
| | | (insert full-body) |
| | | (comint-send-region (coq-proc) (point-min) (point-max)) |
| | | (comint-send-string (coq-proc) |
| | | (if (string= (buffer-substring (- (point-max) 1) (point-max)) ".") |
| | | "\n" |
| | | ".\n"))) |
| | | (while (equal start (funcall pt)) (sleep-for 0.1)) |
| | | (buffer-substring start (funcall pt))))))) |
| | | |
| | | (defun org-babel-coq-initiate-session () |
| | | "Initiate a coq session. |
| | | If there is not a current inferior-process-buffer in SESSION then |
| | | create one. Return the initialized session." |
| | | (unless (fboundp 'run-coq) |
| | | (error "`run-coq' not defined, load coq-inferior.el")) |
| | | (save-window-excursion (run-coq coq-program-name)) |
| | | (sit-for 0.1) |
| | | (get-buffer org-babel-coq-buffer)) |
| | | |
| | | (provide 'ob-coq) |
New file |
| | |
| | | ;;; ob-core.el --- Working with Code Blocks -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Code: |
| | | (require 'cl-lib) |
| | | (require 'ob-eval) |
| | | (require 'org-macs) |
| | | (require 'org-compat) |
| | | |
| | | (defconst org-babel-exeext |
| | | (if (memq system-type '(windows-nt cygwin)) |
| | | ".exe" |
| | | nil)) |
| | | |
| | | (defvar org-babel-library-of-babel) |
| | | (defvar org-edit-src-content-indentation) |
| | | (defvar org-src-lang-modes) |
| | | (defvar org-src-preserve-indentation) |
| | | |
| | | (declare-function org-at-item-p "org-list" ()) |
| | | (declare-function org-at-table-p "org" (&optional table-type)) |
| | | (declare-function org-babel-lob-execute-maybe "ob-lob" ()) |
| | | (declare-function org-babel-ref-goto-headline-id "ob-ref" (id)) |
| | | (declare-function org-babel-ref-headline-body "ob-ref" ()) |
| | | (declare-function org-babel-ref-parse "ob-ref" (assignment)) |
| | | (declare-function org-babel-ref-resolve "ob-ref" (ref)) |
| | | (declare-function org-babel-ref-split-args "ob-ref" (arg-string)) |
| | | (declare-function org-babel-tangle-comment-links "ob-tangle" (&optional info)) |
| | | (declare-function org-completing-read "org" (&rest args)) |
| | | (declare-function org-current-level "org" ()) |
| | | (declare-function org-cycle "org" (&optional arg)) |
| | | (declare-function org-do-remove-indentation "org" (&optional n)) |
| | | (declare-function org-edit-src-code "org-src" (&optional code edit-buffer-name)) |
| | | (declare-function org-edit-src-exit "org-src" ()) |
| | | (declare-function org-element-at-point "org-element" ()) |
| | | (declare-function org-element-context "org-element" (&optional element)) |
| | | (declare-function org-element-normalize-string "org-element" (s)) |
| | | (declare-function org-element-property "org-element" (property element)) |
| | | (declare-function org-element-type "org-element" (element)) |
| | | (declare-function org-entry-get "org" (pom property &optional inherit literal-nil)) |
| | | (declare-function org-escape-code-in-region "org-src" (beg end)) |
| | | (declare-function org-get-indentation "org" (&optional line)) |
| | | (declare-function org-get-indentation "org" (&optional line)) |
| | | (declare-function org-in-regexp "org" (regexp &optional nlines visually)) |
| | | (declare-function org-indent-line "org" ()) |
| | | (declare-function org-list-get-list-end "org-list" (item struct prevs)) |
| | | (declare-function org-list-prevs-alist "org-list" (struct)) |
| | | (declare-function org-list-struct "org-list" ()) |
| | | (declare-function org-list-to-generic "org-list" (LIST PARAMS)) |
| | | (declare-function org-list-to-lisp "org-list" (&optional delete)) |
| | | (declare-function org-macro-escape-arguments "org-macro" (&rest args)) |
| | | (declare-function org-make-options-regexp "org" (kwds &optional extra)) |
| | | (declare-function org-mark-ring-push "org" (&optional pos buffer)) |
| | | (declare-function org-narrow-to-subtree "org" ()) |
| | | (declare-function org-next-block "org" (arg &optional backward block-regexp)) |
| | | (declare-function org-open-at-point "org" (&optional in-emacs reference-buffer)) |
| | | (declare-function org-outline-overlay-data "org" (&optional use-markers)) |
| | | (declare-function org-previous-block "org" (arg &optional block-regexp)) |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-reverse-string "org" (string)) |
| | | (declare-function org-set-outline-overlay-data "org" (data)) |
| | | (declare-function org-show-context "org" (&optional key)) |
| | | (declare-function org-src-coderef-format "org-src" (&optional element)) |
| | | (declare-function org-src-coderef-regexp "org-src" (fmt &optional label)) |
| | | (declare-function org-table-align "org-table" ()) |
| | | (declare-function org-table-end "org-table" (&optional table-type)) |
| | | (declare-function org-table-import "org-table" (file arg)) |
| | | (declare-function org-table-to-lisp "org-table" (&optional txt)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function org-unescape-code-in-string "org-src" (s)) |
| | | (declare-function org-uniquify "org" (list)) |
| | | (declare-function orgtbl-to-generic "org-table" (table params)) |
| | | (declare-function orgtbl-to-orgtbl "org-table" (table params)) |
| | | (declare-function outline-show-all "outline" ()) |
| | | (declare-function tramp-compat-make-temp-file "tramp-compat" (filename &optional dir-flag)) |
| | | |
| | | (defgroup org-babel nil |
| | | "Code block evaluation and management in `org-mode' documents." |
| | | :tag "Babel" |
| | | :group 'org) |
| | | |
| | | (defcustom org-confirm-babel-evaluate t |
| | | "Confirm before evaluation. |
| | | \\<org-mode-map>\ |
| | | Require confirmation before interactively evaluating code |
| | | blocks in Org buffers. The default value of this variable is t, |
| | | meaning confirmation is required for any code block evaluation. |
| | | This variable can be set to nil to inhibit any future |
| | | confirmation requests. This variable can also be set to a |
| | | function which takes two arguments the language of the code block |
| | | and the body of the code block. Such a function should then |
| | | return a non-nil value if the user should be prompted for |
| | | execution or nil if no prompt is required. |
| | | |
| | | Warning: Disabling confirmation may result in accidental |
| | | evaluation of potentially harmful code. It may be advisable |
| | | remove code block execution from `\\[org-ctrl-c-ctrl-c]' \ |
| | | as further protection |
| | | against accidental code block evaluation. The |
| | | `org-babel-no-eval-on-ctrl-c-ctrl-c' variable can be used to |
| | | remove code block execution from the `\\[org-ctrl-c-ctrl-c]' keybinding." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type '(choice boolean function)) |
| | | ;; don't allow this variable to be changed through file settings |
| | | (put 'org-confirm-babel-evaluate 'safe-local-variable (lambda (x) (eq x t))) |
| | | |
| | | (defcustom org-babel-no-eval-on-ctrl-c-ctrl-c nil |
| | | "\\<org-mode-map>\ |
| | | Remove code block evaluation from the `\\[org-ctrl-c-ctrl-c]' key binding." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-babel-results-keyword "RESULTS" |
| | | "Keyword used to name results generated by code blocks. |
| | | It should be \"RESULTS\". However any capitalization may be |
| | | used." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'string |
| | | :safe (lambda (v) |
| | | (and (stringp v) |
| | | (eq (compare-strings "RESULTS" nil nil v nil nil t) |
| | | t)))) |
| | | |
| | | (defcustom org-babel-noweb-wrap-start "<<" |
| | | "String used to begin a noweb reference in a code block. |
| | | See also `org-babel-noweb-wrap-end'." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-noweb-wrap-end ">>" |
| | | "String used to end a noweb reference in a code block. |
| | | See also `org-babel-noweb-wrap-start'." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-inline-result-wrap "=%s=" |
| | | "Format string used to wrap inline results. |
| | | This string must include a \"%s\" which will be replaced by the results." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | (put 'org-babel-inline-result-wrap |
| | | 'safe-local-variable |
| | | (lambda (value) |
| | | (and (stringp value) |
| | | (string-match-p "%s" value)))) |
| | | |
| | | (defcustom org-babel-hash-show-time nil |
| | | "Non-nil means show the time the code block was evaluated in the result hash." |
| | | :group 'org-babel |
| | | :type 'boolean |
| | | :version "26.1" |
| | | :package-version '(Org . "9.0") |
| | | :safe #'booleanp) |
| | | |
| | | (defcustom org-babel-uppercase-example-markers nil |
| | | "When non-nil, begin/end example markers will be inserted in upper case." |
| | | :group 'org-babel |
| | | :type 'boolean |
| | | :version "26.1" |
| | | :package-version '(Org . "9.1") |
| | | :safe #'booleanp) |
| | | |
| | | (defun org-babel-noweb-wrap (&optional regexp) |
| | | (concat org-babel-noweb-wrap-start |
| | | (or regexp "\\([^ \t\n].+?[^ \t]\\|[^ \t\n]\\)") |
| | | org-babel-noweb-wrap-end)) |
| | | |
| | | (defvar org-babel-src-name-regexp |
| | | "^[ \t]*#\\+name:[ \t]*" |
| | | "Regular expression used to match a source name line.") |
| | | |
| | | (defvar org-babel-multi-line-header-regexp |
| | | "^[ \t]*#\\+headers?:[ \t]*\\([^\n]*\\)$" |
| | | "Regular expression used to match multi-line header arguments.") |
| | | |
| | | (defvar org-babel-src-block-regexp |
| | | (concat |
| | | ;; (1) indentation (2) lang |
| | | "^\\([ \t]*\\)#\\+begin_src[ \t]+\\([^ \f\t\n\r\v]+\\)[ \t]*" |
| | | ;; (3) switches |
| | | "\\([^\":\n]*\"[^\"\n*]*\"[^\":\n]*\\|[^\":\n]*\\)" |
| | | ;; (4) header arguments |
| | | "\\([^\n]*\\)\n" |
| | | ;; (5) body |
| | | "\\([^\000]*?\n\\)??[ \t]*#\\+end_src") |
| | | "Regexp used to identify code blocks.") |
| | | |
| | | (defun org-babel--get-vars (params) |
| | | "Return the babel variable assignments in PARAMS. |
| | | |
| | | PARAMS is a quasi-alist of header args, which may contain |
| | | multiple entries for the key `:var'. This function returns a |
| | | list of the cdr of all the `:var' entries." |
| | | (mapcar #'cdr |
| | | (cl-remove-if-not (lambda (x) (eq (car x) :var)) params))) |
| | | |
| | | (defvar org-babel-exp-reference-buffer nil |
| | | "Buffer containing original contents of the exported buffer. |
| | | This is used by Babel to resolve references in source blocks. |
| | | Its value is dynamically bound during export.") |
| | | |
| | | (defun org-babel-check-confirm-evaluate (info) |
| | | "Check whether INFO allows code block evaluation. |
| | | |
| | | Returns nil if evaluation is disallowed, t if it is |
| | | unconditionally allowed, and the symbol `query' if the user |
| | | should be asked whether to allow evaluation." |
| | | (let* ((headers (nth 2 info)) |
| | | (eval (or (cdr (assq :eval headers)) |
| | | (when (assq :noeval headers) "no"))) |
| | | (eval-no (member eval '("no" "never"))) |
| | | (export org-babel-exp-reference-buffer) |
| | | (eval-no-export (and export (member eval '("no-export" "never-export")))) |
| | | (noeval (or eval-no eval-no-export)) |
| | | (query (or (equal eval "query") |
| | | (and export (equal eval "query-export")) |
| | | (if (functionp org-confirm-babel-evaluate) |
| | | (funcall org-confirm-babel-evaluate |
| | | ;; Language, code block body. |
| | | (nth 0 info) (nth 1 info)) |
| | | org-confirm-babel-evaluate)))) |
| | | (cond |
| | | (noeval nil) |
| | | (query 'query) |
| | | (t t)))) |
| | | |
| | | (defun org-babel-check-evaluate (info) |
| | | "Check if code block INFO should be evaluated. |
| | | Do not query the user, but do display an informative message if |
| | | evaluation is blocked. Returns non-nil if evaluation is not blocked." |
| | | (let ((confirmed (org-babel-check-confirm-evaluate info))) |
| | | (unless confirmed |
| | | (message "Evaluation of this %s code block%sis disabled." |
| | | (nth 0 info) |
| | | (let ((name (nth 4 info))) |
| | | (if name (format " (%s) " name) " ")))) |
| | | confirmed)) |
| | | |
| | | ;; Dynamically scoped for asynchronous export. |
| | | (defvar org-babel-confirm-evaluate-answer-no) |
| | | |
| | | (defun org-babel-confirm-evaluate (info) |
| | | "Confirm evaluation of the code block INFO. |
| | | |
| | | This query can also be suppressed by setting the value of |
| | | `org-confirm-babel-evaluate' to nil, in which case all future |
| | | interactive code block evaluations will proceed without any |
| | | confirmation from the user. |
| | | |
| | | Note disabling confirmation may result in accidental evaluation |
| | | of potentially harmful code. |
| | | |
| | | The variable `org-babel-confirm-evaluate-answer-no' is used by |
| | | the async export process, which requires a non-interactive |
| | | environment, to override this check." |
| | | (let* ((evalp (org-babel-check-confirm-evaluate info)) |
| | | (lang (nth 0 info)) |
| | | (name (nth 4 info)) |
| | | (name-string (if name (format " (%s) " name) " "))) |
| | | (pcase evalp |
| | | (`nil nil) |
| | | (`t t) |
| | | (`query (or |
| | | (and (not (bound-and-true-p |
| | | org-babel-confirm-evaluate-answer-no)) |
| | | (yes-or-no-p |
| | | (format "Evaluate this %s code block%son your system? " |
| | | lang name-string))) |
| | | (progn |
| | | (message "Evaluation of this %s code block%sis aborted." |
| | | lang name-string) |
| | | nil))) |
| | | (x (error "Unexpected value `%s' from `org-babel-check-confirm-evaluate'" x))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-execute-safely-maybe () |
| | | (unless org-babel-no-eval-on-ctrl-c-ctrl-c |
| | | (org-babel-execute-maybe))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-execute-maybe () |
| | | (interactive) |
| | | (or (org-babel-execute-src-block-maybe) |
| | | (org-babel-lob-execute-maybe))) |
| | | |
| | | (defmacro org-babel-when-in-src-block (&rest body) |
| | | "Execute BODY if point is in a source block and return t. |
| | | |
| | | Otherwise do nothing and return nil." |
| | | `(if (memq (org-element-type (org-element-context)) |
| | | '(inline-src-block src-block)) |
| | | (progn |
| | | ,@body |
| | | t) |
| | | nil)) |
| | | |
| | | (defun org-babel-execute-src-block-maybe () |
| | | "Conditionally execute a source block. |
| | | Detect if this is context for a Babel src-block and if so |
| | | then run `org-babel-execute-src-block'." |
| | | (interactive) |
| | | (org-babel-when-in-src-block |
| | | (org-babel-eval-wipe-error-buffer) |
| | | (org-babel-execute-src-block current-prefix-arg))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-view-src-block-info () |
| | | "Display information on the current source block. |
| | | This includes header arguments, language and name, and is largely |
| | | a window into the `org-babel-get-src-block-info' function." |
| | | (interactive) |
| | | (let ((info (org-babel-get-src-block-info 'light)) |
| | | (full (lambda (it) (> (length it) 0))) |
| | | (printf (lambda (fmt &rest args) (princ (apply #'format fmt args))))) |
| | | (when info |
| | | (with-help-window (help-buffer) |
| | | (let ((name (nth 4 info)) |
| | | (lang (nth 0 info)) |
| | | (switches (nth 3 info)) |
| | | (header-args (nth 2 info))) |
| | | (when name (funcall printf "Name: %s\n" name)) |
| | | (when lang (funcall printf "Lang: %s\n" lang)) |
| | | (funcall printf "Properties:\n") |
| | | (funcall printf "\t:header-args \t%s\n" (org-entry-get (point) "header-args" t)) |
| | | (funcall printf "\t:header-args:%s \t%s\n" lang (org-entry-get (point) (concat "header-args:" lang) t)) |
| | | |
| | | (when (funcall full switches) (funcall printf "Switches: %s\n" switches)) |
| | | (funcall printf "Header Arguments:\n") |
| | | (dolist (pair (sort header-args |
| | | (lambda (a b) (string< (symbol-name (car a)) |
| | | (symbol-name (car b)))))) |
| | | (when (funcall full (format "%s" (cdr pair))) |
| | | (funcall printf "\t%S%s\t%s\n" |
| | | (car pair) |
| | | (if (> (length (format "%S" (car pair))) 7) "" "\t") |
| | | (cdr pair))))))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-expand-src-block-maybe () |
| | | "Conditionally expand a source block. |
| | | Detect if this is context for an org-babel src-block and if so |
| | | then run `org-babel-expand-src-block'." |
| | | (interactive) |
| | | (org-babel-when-in-src-block |
| | | (org-babel-expand-src-block current-prefix-arg))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-load-in-session-maybe () |
| | | "Conditionally load a source block in a session. |
| | | Detect if this is context for an org-babel src-block and if so |
| | | then run `org-babel-load-in-session'." |
| | | (interactive) |
| | | (org-babel-when-in-src-block |
| | | (org-babel-load-in-session current-prefix-arg))) |
| | | |
| | | (add-hook 'org-metaup-hook 'org-babel-load-in-session-maybe) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-pop-to-session-maybe () |
| | | "Conditionally pop to a session. |
| | | Detect if this is context for an org-babel src-block and if so |
| | | then run `org-babel-switch-to-session'." |
| | | (interactive) |
| | | (org-babel-when-in-src-block |
| | | (org-babel-switch-to-session current-prefix-arg))) |
| | | |
| | | (add-hook 'org-metadown-hook 'org-babel-pop-to-session-maybe) |
| | | |
| | | (defconst org-babel-common-header-args-w-values |
| | | '((cache . ((no yes))) |
| | | (cmdline . :any) |
| | | (colnames . ((nil no yes))) |
| | | (comments . ((no link yes org both noweb))) |
| | | (dir . :any) |
| | | (eval . ((yes no no-export strip-export never-export eval never |
| | | query))) |
| | | (exports . ((code results both none))) |
| | | (epilogue . :any) |
| | | (file . :any) |
| | | (file-desc . :any) |
| | | (file-ext . :any) |
| | | (hlines . ((no yes))) |
| | | (mkdirp . ((yes no))) |
| | | (no-expand) |
| | | (noeval) |
| | | (noweb . ((yes no tangle no-export strip-export))) |
| | | (noweb-ref . :any) |
| | | (noweb-sep . :any) |
| | | (output-dir . :any) |
| | | (padline . ((yes no))) |
| | | (post . :any) |
| | | (prologue . :any) |
| | | (results . ((file list vector table scalar verbatim) |
| | | (raw html latex org code pp drawer) |
| | | (replace silent none append prepend) |
| | | (output value))) |
| | | (rownames . ((no yes))) |
| | | (sep . :any) |
| | | (session . :any) |
| | | (shebang . :any) |
| | | (tangle . ((tangle yes no :any))) |
| | | (tangle-mode . ((#o755 #o555 #o444 :any))) |
| | | (var . :any) |
| | | (wrap . :any))) |
| | | |
| | | (defconst org-babel-header-arg-names |
| | | (mapcar #'car org-babel-common-header-args-w-values) |
| | | "Common header arguments used by org-babel. |
| | | Note that individual languages may define their own language |
| | | specific header arguments as well.") |
| | | |
| | | (defconst org-babel-safe-header-args |
| | | '(:cache :colnames :comments :exports :epilogue :hlines :noeval |
| | | :noweb :noweb-ref :noweb-sep :padline :prologue :rownames |
| | | :sep :session :tangle :wrap |
| | | (:eval . ("never" "query")) |
| | | (:results . (lambda (str) (not (string-match "file" str))))) |
| | | "A list of safe header arguments for babel source blocks. |
| | | |
| | | The list can have entries of the following forms: |
| | | - :ARG -> :ARG is always a safe header arg |
| | | - (:ARG . (VAL1 VAL2 ...)) -> :ARG is safe as a header arg if it is |
| | | `equal' to one of the VALs. |
| | | - (:ARG . FN) -> :ARG is safe as a header arg if the function FN |
| | | returns non-nil. FN is passed one |
| | | argument, the value of the header arg |
| | | (as a string).") |
| | | |
| | | (defmacro org-babel-header-args-safe-fn (safe-list) |
| | | "Return a function that determines whether a list of header args are safe. |
| | | |
| | | Intended usage is: |
| | | \(put \\='org-babel-default-header-args \\='safe-local-variable |
| | | (org-babel-header-args-safe-p org-babel-safe-header-args) |
| | | |
| | | This allows org-babel languages to extend the list of safe values for |
| | | their `org-babel-default-header-args:foo' variable. |
| | | |
| | | For the format of SAFE-LIST, see `org-babel-safe-header-args'." |
| | | `(lambda (value) |
| | | (and (listp value) |
| | | (cl-every |
| | | (lambda (pair) |
| | | (and (consp pair) |
| | | (org-babel-one-header-arg-safe-p pair ,safe-list))) |
| | | value)))) |
| | | |
| | | (defvar org-babel-default-header-args |
| | | '((:session . "none") (:results . "replace") (:exports . "code") |
| | | (:cache . "no") (:noweb . "no") (:hlines . "no") (:tangle . "no")) |
| | | "Default arguments to use when evaluating a source block.") |
| | | (put 'org-babel-default-header-args 'safe-local-variable |
| | | (org-babel-header-args-safe-fn org-babel-safe-header-args)) |
| | | |
| | | (defvar org-babel-default-inline-header-args |
| | | '((:session . "none") (:results . "replace") |
| | | (:exports . "results") (:hlines . "yes")) |
| | | "Default arguments to use when evaluating an inline source block.") |
| | | (put 'org-babel-default-inline-header-args 'safe-local-variable |
| | | (org-babel-header-args-safe-fn org-babel-safe-header-args)) |
| | | |
| | | (defconst org-babel-name-regexp |
| | | (format "^[ \t]*#\\+%s:[ \t]*" |
| | | ;; FIXME: TBLNAME is for backward compatibility. |
| | | (regexp-opt '("NAME" "TBLNAME"))) |
| | | "Regexp matching a NAME keyword.") |
| | | |
| | | (defconst org-babel-result-regexp |
| | | (format "^[ \t]*#\\+%s\\(?:\\[\\(?:%s \\)?\\([[:alnum:]]+\\)\\]\\)?:[ \t]*" |
| | | org-babel-results-keyword |
| | | ;; <%Y-%m-%d %H:%M:%S> |
| | | "<\\(?:[0-9]\\{4\\}-[0-1][0-9]-[0-3][0-9] \ |
| | | [0-2][0-9]\\(?::[0-5][0-9]\\)\\{2\\}\\)>") |
| | | "Regular expression used to match result lines. |
| | | If the results are associated with a hash key then the hash will |
| | | be saved in match group 1.") |
| | | |
| | | (defconst org-babel-result-w-name-regexp |
| | | (concat org-babel-result-regexp "\\(?9:[^ \t\n\r\v\f]+\\)") |
| | | "Regexp matching a RESULTS keyword with a name. |
| | | Name is saved in match group 9.") |
| | | |
| | | (defvar org-babel-min-lines-for-block-output 10 |
| | | "The minimum number of lines for block output. |
| | | If number of lines of output is equal to or exceeds this |
| | | value, the output is placed in a #+begin_example...#+end_example |
| | | block. Otherwise the output is marked as literal by inserting |
| | | colons at the starts of the lines. This variable only takes |
| | | effect if the :results output option is in effect.") |
| | | |
| | | (defvar org-babel-noweb-error-all-langs nil |
| | | "Raise errors when noweb references don't resolve. |
| | | Also see `org-babel-noweb-error-langs' to control noweb errors on |
| | | a language by language bases.") |
| | | |
| | | (defvar org-babel-noweb-error-langs nil |
| | | "Languages for which Babel will raise literate programming errors. |
| | | List of languages for which errors should be raised when the |
| | | source code block satisfying a noweb reference in this language |
| | | can not be resolved. Also see `org-babel-noweb-error-all-langs' |
| | | to raise errors for all languages.") |
| | | |
| | | (defvar org-babel-hash-show 4 |
| | | "Number of initial characters to show of a hidden results hash.") |
| | | |
| | | (defvar org-babel-after-execute-hook nil |
| | | "Hook for functions to be called after `org-babel-execute-src-block'") |
| | | |
| | | (defun org-babel-named-src-block-regexp-for-name (&optional name) |
| | | "This generates a regexp used to match a src block named NAME. |
| | | If NAME is nil, match any name. Matched name is then put in |
| | | match group 9. Other match groups are defined in |
| | | `org-babel-src-block-regexp'." |
| | | (concat org-babel-src-name-regexp |
| | | (concat (if name (regexp-quote name) "\\(?9:.*?\\)") "[ \t]*" ) |
| | | "\\(?:\n[ \t]*#\\+\\S-+:.*\\)*?" |
| | | "\n" |
| | | (substring org-babel-src-block-regexp 1))) |
| | | |
| | | (defun org-babel-named-data-regexp-for-name (name) |
| | | "This generates a regexp used to match data named NAME." |
| | | (concat org-babel-name-regexp (regexp-quote name) "[ \t]*$")) |
| | | |
| | | (defun org-babel--normalize-body (datum) |
| | | "Normalize body for element or object DATUM. |
| | | DATUM is a source block element or an inline source block object. |
| | | Remove final newline character and spurious indentation." |
| | | (let* ((value (org-element-property :value datum)) |
| | | (body (if (string-suffix-p "\n" value) |
| | | (substring value 0 -1) |
| | | value))) |
| | | (cond ((eq (org-element-type datum) 'inline-src-block) |
| | | ;; Newline characters and indentation in an inline |
| | | ;; src-block are not meaningful, since they could come from |
| | | ;; some paragraph filling. Treat them as a white space. |
| | | (replace-regexp-in-string "\n[ \t]*" " " body)) |
| | | ((or org-src-preserve-indentation |
| | | (org-element-property :preserve-indent datum)) |
| | | body) |
| | | (t (org-remove-indentation body))))) |
| | | |
| | | ;;; functions |
| | | (defvar org-babel-current-src-block-location nil |
| | | "Marker pointing to the src block currently being executed. |
| | | This may also point to a call line or an inline code block. If |
| | | multiple blocks are being executed (e.g., in chained execution |
| | | through use of the :var header argument) this marker points to |
| | | the outer-most code block.") |
| | | |
| | | (defvar *this*) |
| | | |
| | | (defun org-babel-get-src-block-info (&optional light datum) |
| | | "Extract information from a source block or inline source block. |
| | | |
| | | Optional argument LIGHT does not resolve remote variable |
| | | references; a process which could likely result in the execution |
| | | of other code blocks. |
| | | |
| | | By default, consider the block at point. However, when optional |
| | | argument DATUM is provided, extract information from that parsed |
| | | object instead. |
| | | |
| | | Return nil if point is not on a source block. Otherwise, return |
| | | a list with the following pattern: |
| | | |
| | | (language body arguments switches name start coderef)" |
| | | (let* ((datum (or datum (org-element-context))) |
| | | (type (org-element-type datum)) |
| | | (inline (eq type 'inline-src-block))) |
| | | (when (memq type '(inline-src-block src-block)) |
| | | (let* ((lang (org-element-property :language datum)) |
| | | (lang-headers (intern |
| | | (concat "org-babel-default-header-args:" lang))) |
| | | (name (org-element-property :name datum)) |
| | | (info |
| | | (list |
| | | lang |
| | | (org-babel--normalize-body datum) |
| | | (apply #'org-babel-merge-params |
| | | (if inline org-babel-default-inline-header-args |
| | | org-babel-default-header-args) |
| | | (and (boundp lang-headers) (eval lang-headers t)) |
| | | (append |
| | | ;; If DATUM is provided, make sure we get node |
| | | ;; properties applicable to its location within |
| | | ;; the document. |
| | | (org-with-point-at (org-element-property :begin datum) |
| | | (org-babel-params-from-properties lang)) |
| | | (mapcar #'org-babel-parse-header-arguments |
| | | (cons (org-element-property :parameters datum) |
| | | (org-element-property :header datum))))) |
| | | (or (org-element-property :switches datum) "") |
| | | name |
| | | (org-element-property (if inline :begin :post-affiliated) |
| | | datum) |
| | | (and (not inline) (org-src-coderef-format datum))))) |
| | | (unless light |
| | | (setf (nth 2 info) (org-babel-process-params (nth 2 info)))) |
| | | (setf (nth 2 info) (org-babel-generate-file-param name (nth 2 info))) |
| | | info)))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-execute-src-block (&optional arg info params) |
| | | "Execute the current source code block. |
| | | Insert the results of execution into the buffer. Source code |
| | | execution and the collection and formatting of results can be |
| | | controlled through a variety of header arguments. |
| | | |
| | | With prefix argument ARG, force re-execution even if an existing |
| | | result cached in the buffer would otherwise have been returned. |
| | | |
| | | Optionally supply a value for INFO in the form returned by |
| | | `org-babel-get-src-block-info'. |
| | | |
| | | Optionally supply a value for PARAMS which will be merged with |
| | | the header arguments specified at the front of the source code |
| | | block." |
| | | (interactive) |
| | | (let* ((org-babel-current-src-block-location |
| | | (or org-babel-current-src-block-location |
| | | (nth 5 info) |
| | | (org-babel-where-is-src-block-head))) |
| | | (info (if info (copy-tree info) (org-babel-get-src-block-info)))) |
| | | ;; Merge PARAMS with INFO before considering source block |
| | | ;; evaluation since both could disagree. |
| | | (cl-callf org-babel-merge-params (nth 2 info) params) |
| | | (when (org-babel-check-evaluate info) |
| | | (cl-callf org-babel-process-params (nth 2 info)) |
| | | (let* ((params (nth 2 info)) |
| | | (cache (let ((c (cdr (assq :cache params)))) |
| | | (and (not arg) c (string= "yes" c)))) |
| | | (new-hash (and cache (org-babel-sha1-hash info))) |
| | | (old-hash (and cache (org-babel-current-result-hash))) |
| | | (current-cache (and new-hash (equal new-hash old-hash)))) |
| | | (cond |
| | | (current-cache |
| | | (save-excursion ;Return cached result. |
| | | (goto-char (org-babel-where-is-src-block-result nil info)) |
| | | (forward-line) |
| | | (skip-chars-forward " \t") |
| | | (let ((result (org-babel-read-result))) |
| | | (message (replace-regexp-in-string "%" "%%" (format "%S" result))) |
| | | result))) |
| | | ((org-babel-confirm-evaluate info) |
| | | (let* ((lang (nth 0 info)) |
| | | (result-params (cdr (assq :result-params params))) |
| | | ;; Expand noweb references in BODY and remove any |
| | | ;; coderef. |
| | | (body |
| | | (let ((coderef (nth 6 info)) |
| | | (expand |
| | | (if (org-babel-noweb-p params :eval) |
| | | (org-babel-expand-noweb-references info) |
| | | (nth 1 info)))) |
| | | (if (not coderef) expand |
| | | (replace-regexp-in-string |
| | | (org-src-coderef-regexp coderef) "" expand nil nil 1)))) |
| | | (dir (cdr (assq :dir params))) |
| | | (default-directory |
| | | (or (and dir (file-name-as-directory (expand-file-name dir))) |
| | | default-directory)) |
| | | (cmd (intern (concat "org-babel-execute:" lang))) |
| | | result) |
| | | (unless (fboundp cmd) |
| | | (error "No org-babel-execute function for %s!" lang)) |
| | | (message "executing %s code block%s..." |
| | | (capitalize lang) |
| | | (let ((name (nth 4 info))) |
| | | (if name (format " (%s)" name) ""))) |
| | | (if (member "none" result-params) |
| | | (progn (funcall cmd body params) |
| | | (message "result silenced")) |
| | | (setq result |
| | | (let ((r (funcall cmd body params))) |
| | | (if (and (eq (cdr (assq :result-type params)) 'value) |
| | | (or (member "vector" result-params) |
| | | (member "table" result-params)) |
| | | (not (listp r))) |
| | | (list (list r)) |
| | | r))) |
| | | (let ((file (cdr (assq :file params)))) |
| | | ;; If non-empty result and :file then write to :file. |
| | | (when file |
| | | (when result |
| | | (with-temp-file file |
| | | (insert (org-babel-format-result |
| | | result (cdr (assq :sep params)))))) |
| | | (setq result file)) |
| | | ;; Possibly perform post process provided its |
| | | ;; appropriate. Dynamically bind "*this*" to the |
| | | ;; actual results of the block. |
| | | (let ((post (cdr (assq :post params)))) |
| | | (when post |
| | | (let ((*this* (if (not file) result |
| | | (org-babel-result-to-file |
| | | file |
| | | (let ((desc (assq :file-desc params))) |
| | | (and desc (or (cdr desc) result))))))) |
| | | (setq result (org-babel-ref-resolve post)) |
| | | (when file |
| | | (setq result-params (remove "file" result-params)))))) |
| | | (org-babel-insert-result |
| | | result result-params info new-hash lang))) |
| | | (run-hooks 'org-babel-after-execute-hook) |
| | | result))))))) |
| | | |
| | | (defun org-babel-expand-body:generic (body params &optional var-lines) |
| | | "Expand BODY with PARAMS. |
| | | Expand a block of code with org-babel according to its header |
| | | arguments. This generic implementation of body expansion is |
| | | called for languages which have not defined their own specific |
| | | org-babel-expand-body:lang function." |
| | | (let ((pro (cdr (assq :prologue params))) |
| | | (epi (cdr (assq :epilogue params)))) |
| | | (mapconcat #'identity |
| | | (append (when pro (list pro)) |
| | | var-lines |
| | | (list body) |
| | | (when epi (list epi))) |
| | | "\n"))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-expand-src-block (&optional _arg info params) |
| | | "Expand the current source code block. |
| | | Expand according to the source code block's header |
| | | arguments and pop open the results in a preview buffer." |
| | | (interactive) |
| | | (let* ((info (or info (org-babel-get-src-block-info))) |
| | | (lang (nth 0 info)) |
| | | (params (setf (nth 2 info) |
| | | (sort (org-babel-merge-params (nth 2 info) params) |
| | | (lambda (el1 el2) (string< (symbol-name (car el1)) |
| | | (symbol-name (car el2))))))) |
| | | (body (setf (nth 1 info) |
| | | (if (org-babel-noweb-p params :eval) |
| | | (org-babel-expand-noweb-references info) (nth 1 info)))) |
| | | (expand-cmd (intern (concat "org-babel-expand-body:" lang))) |
| | | (assignments-cmd (intern (concat "org-babel-variable-assignments:" |
| | | lang))) |
| | | (expanded |
| | | (if (fboundp expand-cmd) (funcall expand-cmd body params) |
| | | (org-babel-expand-body:generic |
| | | body params (and (fboundp assignments-cmd) |
| | | (funcall assignments-cmd params)))))) |
| | | (if (called-interactively-p 'any) |
| | | (org-edit-src-code |
| | | expanded (concat "*Org-Babel Preview " (buffer-name) "[ " lang " ]*")) |
| | | expanded))) |
| | | |
| | | (defun org-babel-edit-distance (s1 s2) |
| | | "Return the edit (levenshtein) distance between strings S1 S2." |
| | | (let* ((l1 (length s1)) |
| | | (l2 (length s2)) |
| | | (dist (vconcat (mapcar (lambda (_) (make-vector (1+ l2) nil)) |
| | | (number-sequence 1 (1+ l1))))) |
| | | (in (lambda (i j) (aref (aref dist i) j)))) |
| | | (setf (aref (aref dist 0) 0) 0) |
| | | (dolist (j (number-sequence 1 l2)) |
| | | (setf (aref (aref dist 0) j) j)) |
| | | (dolist (i (number-sequence 1 l1)) |
| | | (setf (aref (aref dist i) 0) i) |
| | | (dolist (j (number-sequence 1 l2)) |
| | | (setf (aref (aref dist i) j) |
| | | (min |
| | | (1+ (funcall in (1- i) j)) |
| | | (1+ (funcall in i (1- j))) |
| | | (+ (if (equal (aref s1 (1- i)) (aref s2 (1- j))) 0 1) |
| | | (funcall in (1- i) (1- j))))))) |
| | | (funcall in l1 l2))) |
| | | |
| | | (defun org-babel-combine-header-arg-lists (original &rest others) |
| | | "Combine a number of lists of header argument names and arguments." |
| | | (let ((results (copy-sequence original))) |
| | | (dolist (new-list others) |
| | | (dolist (arg-pair new-list) |
| | | (let ((header (car arg-pair))) |
| | | (setq results |
| | | (cons arg-pair (cl-remove-if |
| | | (lambda (pair) (equal header (car pair))) |
| | | results)))))) |
| | | results)) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-check-src-block () |
| | | "Check for misspelled header arguments in the current code block." |
| | | (interactive) |
| | | ;; TODO: report malformed code block |
| | | ;; TODO: report incompatible combinations of header arguments |
| | | ;; TODO: report uninitialized variables |
| | | (let ((too-close 2) ;; <- control closeness to report potential match |
| | | (names (mapcar #'symbol-name org-babel-header-arg-names))) |
| | | (dolist (header (mapcar (lambda (arg) (substring (symbol-name (car arg)) 1)) |
| | | (and (org-babel-where-is-src-block-head) |
| | | (org-babel-parse-header-arguments |
| | | (org-no-properties |
| | | (match-string 4)))))) |
| | | (dolist (name names) |
| | | (when (and (not (string= header name)) |
| | | (<= (org-babel-edit-distance header name) too-close) |
| | | (not (member header names))) |
| | | (error "Supplied header \"%S\" is suspiciously close to \"%S\"" |
| | | header name)))) |
| | | (message "No suspicious header arguments found."))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-insert-header-arg (&optional header-arg value) |
| | | "Insert a header argument selecting from lists of common args and values." |
| | | (interactive) |
| | | (let* ((info (org-babel-get-src-block-info 'light)) |
| | | (lang (car info)) |
| | | (begin (nth 5 info)) |
| | | (lang-headers (intern (concat "org-babel-header-args:" lang))) |
| | | (headers (org-babel-combine-header-arg-lists |
| | | org-babel-common-header-args-w-values |
| | | (when (boundp lang-headers) (eval lang-headers t)))) |
| | | (header-arg (or header-arg |
| | | (completing-read |
| | | "Header Arg: " |
| | | (mapcar |
| | | (lambda (header-spec) (symbol-name (car header-spec))) |
| | | headers)))) |
| | | (vals (cdr (assoc (intern header-arg) headers))) |
| | | (value (or value |
| | | (cond |
| | | ((eq vals :any) |
| | | (read-from-minibuffer "value: ")) |
| | | ((listp vals) |
| | | (mapconcat |
| | | (lambda (group) |
| | | (let ((arg (completing-read |
| | | "Value: " |
| | | (cons "default" |
| | | (mapcar #'symbol-name group))))) |
| | | (if (and arg (not (string= "default" arg))) |
| | | (concat arg " ") |
| | | ""))) |
| | | vals "")))))) |
| | | (save-excursion |
| | | (goto-char begin) |
| | | (goto-char (point-at-eol)) |
| | | (unless (= (char-before (point)) ?\ ) (insert " ")) |
| | | (insert ":" header-arg) (when value (insert " " value))))) |
| | | |
| | | ;; Add support for completing-read insertion of header arguments after ":" |
| | | (defun org-babel-header-arg-expand () |
| | | "Call `org-babel-enter-header-arg-w-completion' in appropriate contexts." |
| | | (when (and (equal (char-before) ?\:) (org-babel-where-is-src-block-head)) |
| | | (org-babel-enter-header-arg-w-completion (match-string 2)))) |
| | | |
| | | (defun org-babel-enter-header-arg-w-completion (&optional lang) |
| | | "Insert header argument appropriate for LANG with completion." |
| | | (let* ((lang-headers-var (intern (concat "org-babel-header-args:" lang))) |
| | | (lang-headers (when (boundp lang-headers-var) (eval lang-headers-var t))) |
| | | (headers-w-values (org-babel-combine-header-arg-lists |
| | | org-babel-common-header-args-w-values lang-headers)) |
| | | (headers (mapcar #'symbol-name (mapcar #'car headers-w-values))) |
| | | (header (org-completing-read "Header Arg: " headers)) |
| | | (args (cdr (assoc (intern header) headers-w-values))) |
| | | (arg (when (and args (listp args)) |
| | | (org-completing-read |
| | | (format "%s: " header) |
| | | (mapcar #'symbol-name (apply #'append args)))))) |
| | | (insert (concat header " " (or arg ""))) |
| | | (cons header arg))) |
| | | |
| | | (add-hook 'org-tab-first-hook 'org-babel-header-arg-expand) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-load-in-session (&optional _arg info) |
| | | "Load the body of the current source-code block. |
| | | Evaluate the header arguments for the source block before |
| | | entering the session. After loading the body this pops open the |
| | | session." |
| | | (interactive) |
| | | (let* ((info (or info (org-babel-get-src-block-info))) |
| | | (lang (nth 0 info)) |
| | | (params (nth 2 info)) |
| | | (body (if (not info) |
| | | (user-error "No src code block at point") |
| | | (setf (nth 1 info) |
| | | (if (org-babel-noweb-p params :eval) |
| | | (org-babel-expand-noweb-references info) |
| | | (nth 1 info))))) |
| | | (session (cdr (assq :session params))) |
| | | (dir (cdr (assq :dir params))) |
| | | (default-directory |
| | | (or (and dir (file-name-as-directory dir)) default-directory)) |
| | | (cmd (intern (concat "org-babel-load-session:" lang)))) |
| | | (unless (fboundp cmd) |
| | | (error "No org-babel-load-session function for %s!" lang)) |
| | | (pop-to-buffer (funcall cmd session body params)) |
| | | (end-of-line 1))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-initiate-session (&optional arg info) |
| | | "Initiate session for current code block. |
| | | If called with a prefix argument then resolve any variable |
| | | references in the header arguments and assign these variables in |
| | | the session. Copy the body of the code block to the kill ring." |
| | | (interactive "P") |
| | | (let* ((info (or info (org-babel-get-src-block-info (not arg)))) |
| | | (lang (nth 0 info)) |
| | | (body (nth 1 info)) |
| | | (params (nth 2 info)) |
| | | (session (cdr (assq :session params))) |
| | | (dir (cdr (assq :dir params))) |
| | | (default-directory |
| | | (or (and dir (file-name-as-directory dir)) default-directory)) |
| | | (init-cmd (intern (format "org-babel-%s-initiate-session" lang))) |
| | | (prep-cmd (intern (concat "org-babel-prep-session:" lang)))) |
| | | (when (and (stringp session) (string= session "none")) |
| | | (error "This block is not using a session!")) |
| | | (unless (fboundp init-cmd) |
| | | (error "No org-babel-initiate-session function for %s!" lang)) |
| | | (with-temp-buffer (insert (org-trim body)) |
| | | (copy-region-as-kill (point-min) (point-max))) |
| | | (when arg |
| | | (unless (fboundp prep-cmd) |
| | | (error "No org-babel-prep-session function for %s!" lang)) |
| | | (funcall prep-cmd session params)) |
| | | (funcall init-cmd session params))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-switch-to-session (&optional arg info) |
| | | "Switch to the session of the current code block. |
| | | Uses `org-babel-initiate-session' to start the session. If called |
| | | with a prefix argument then this is passed on to |
| | | `org-babel-initiate-session'." |
| | | (interactive "P") |
| | | (pop-to-buffer (org-babel-initiate-session arg info)) |
| | | (end-of-line 1)) |
| | | |
| | | (defalias 'org-babel-pop-to-session 'org-babel-switch-to-session) |
| | | |
| | | (defvar org-src-window-setup) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-switch-to-session-with-code (&optional arg _info) |
| | | "Switch to code buffer and display session." |
| | | (interactive "P") |
| | | (let ((swap-windows |
| | | (lambda () |
| | | (let ((other-window-buffer (window-buffer (next-window)))) |
| | | (set-window-buffer (next-window) (current-buffer)) |
| | | (set-window-buffer (selected-window) other-window-buffer)) |
| | | (other-window 1))) |
| | | (info (org-babel-get-src-block-info)) |
| | | (org-src-window-setup 'reorganize-frame)) |
| | | (save-excursion |
| | | (org-babel-switch-to-session arg info)) |
| | | (org-edit-src-code) |
| | | (funcall swap-windows))) |
| | | |
| | | ;;;###autoload |
| | | (defmacro org-babel-do-in-edit-buffer (&rest body) |
| | | "Evaluate BODY in edit buffer if there is a code block at point. |
| | | Return t if a code block was found at point, nil otherwise." |
| | | (declare (debug (body))) |
| | | `(let* ((element (org-element-at-point)) |
| | | ;; This function is not supposed to move point. However, |
| | | ;; `org-edit-src-code' always moves point back into the |
| | | ;; source block. It is problematic if the point was before |
| | | ;; the code, e.g., on block's opening line. In this case, |
| | | ;; we want to restore this location after executing BODY. |
| | | (outside-position |
| | | (and (<= (line-beginning-position) |
| | | (org-element-property :post-affiliated element)) |
| | | (point-marker))) |
| | | (org-src-window-setup 'switch-invisibly)) |
| | | (when (and (org-babel-where-is-src-block-head element) |
| | | (org-edit-src-code)) |
| | | (unwind-protect (progn ,@body) |
| | | (org-edit-src-exit) |
| | | (when outside-position (goto-char outside-position))) |
| | | t))) |
| | | |
| | | (defun org-babel-do-key-sequence-in-edit-buffer (key) |
| | | "Read key sequence and execute the command in edit buffer. |
| | | Enter a key sequence to be executed in the language major-mode |
| | | edit buffer. For example, TAB will alter the contents of the |
| | | Org code block according to the effect of TAB in the language |
| | | major mode buffer. For languages that support interactive |
| | | sessions, this can be used to send code from the Org buffer |
| | | to the session for evaluation using the native major mode |
| | | evaluation mechanisms." |
| | | (interactive "kEnter key-sequence to execute in edit buffer: ") |
| | | (org-babel-do-in-edit-buffer |
| | | (call-interactively |
| | | (key-binding (or key (read-key-sequence nil)))))) |
| | | |
| | | (defvar org-bracket-link-regexp) |
| | | |
| | | (defun org-babel-active-location-p () |
| | | (memq (org-element-type (save-match-data (org-element-context))) |
| | | '(babel-call inline-babel-call inline-src-block src-block))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-open-src-block-result (&optional re-run) |
| | | "If `point' is on a src block then open the results of the |
| | | source code block, otherwise return nil. With optional prefix |
| | | argument RE-RUN the source-code block is evaluated even if |
| | | results already exist." |
| | | (interactive "P") |
| | | (let ((info (org-babel-get-src-block-info 'light))) |
| | | (when info |
| | | (save-excursion |
| | | ;; go to the results, if there aren't any then run the block |
| | | (goto-char (or (and (not re-run) (org-babel-where-is-src-block-result)) |
| | | (progn (org-babel-execute-src-block) |
| | | (org-babel-where-is-src-block-result)))) |
| | | (end-of-line 1) |
| | | (while (looking-at "[\n\r\t\f ]") (forward-char 1)) |
| | | ;; open the results |
| | | (if (looking-at org-bracket-link-regexp) |
| | | ;; file results |
| | | (org-open-at-point) |
| | | (let ((r (org-babel-format-result |
| | | (org-babel-read-result) (cdr (assq :sep (nth 2 info)))))) |
| | | (pop-to-buffer (get-buffer-create "*Org-Babel Results*")) |
| | | (delete-region (point-min) (point-max)) |
| | | (insert r))) |
| | | t)))) |
| | | |
| | | ;;;###autoload |
| | | (defmacro org-babel-map-src-blocks (file &rest body) |
| | | "Evaluate BODY forms on each source-block in FILE. |
| | | If FILE is nil evaluate BODY forms on source blocks in current |
| | | buffer. During evaluation of BODY the following local variables |
| | | are set relative to the currently matched code block. |
| | | |
| | | full-block ------- string holding the entirety of the code block |
| | | beg-block -------- point at the beginning of the code block |
| | | end-block -------- point at the end of the matched code block |
| | | lang ------------- string holding the language of the code block |
| | | beg-lang --------- point at the beginning of the lang |
| | | end-lang --------- point at the end of the lang |
| | | switches --------- string holding the switches |
| | | beg-switches ----- point at the beginning of the switches |
| | | end-switches ----- point at the end of the switches |
| | | header-args ------ string holding the header-args |
| | | beg-header-args -- point at the beginning of the header-args |
| | | end-header-args -- point at the end of the header-args |
| | | body ------------- string holding the body of the code block |
| | | beg-body --------- point at the beginning of the body |
| | | end-body --------- point at the end of the body" |
| | | (declare (indent 1)) |
| | | (let ((tempvar (make-symbol "file"))) |
| | | `(let* ((case-fold-search t) |
| | | (,tempvar ,file) |
| | | (visited-p (or (null ,tempvar) |
| | | (get-file-buffer (expand-file-name ,tempvar)))) |
| | | (point (point)) to-be-removed) |
| | | (save-window-excursion |
| | | (when ,tempvar (find-file ,tempvar)) |
| | | (setq to-be-removed (current-buffer)) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward org-babel-src-block-regexp nil t) |
| | | (when (org-babel-active-location-p) |
| | | (goto-char (match-beginning 0)) |
| | | (let ((full-block (match-string 0)) |
| | | (beg-block (match-beginning 0)) |
| | | (end-block (match-end 0)) |
| | | (lang (match-string 2)) |
| | | (beg-lang (match-beginning 2)) |
| | | (end-lang (match-end 2)) |
| | | (switches (match-string 3)) |
| | | (beg-switches (match-beginning 3)) |
| | | (end-switches (match-end 3)) |
| | | (header-args (match-string 4)) |
| | | (beg-header-args (match-beginning 4)) |
| | | (end-header-args (match-end 4)) |
| | | (body (match-string 5)) |
| | | (beg-body (match-beginning 5)) |
| | | (end-body (match-end 5))) |
| | | ;; Silence byte-compiler in case `body' doesn't use all |
| | | ;; those variables. |
| | | (ignore full-block beg-block end-block lang |
| | | beg-lang end-lang switches beg-switches |
| | | end-switches header-args beg-header-args |
| | | end-header-args body beg-body end-body) |
| | | ,@body |
| | | (goto-char end-block))))) |
| | | (unless visited-p (kill-buffer to-be-removed)) |
| | | (goto-char point)))) |
| | | (def-edebug-spec org-babel-map-src-blocks (form body)) |
| | | |
| | | ;;;###autoload |
| | | (defmacro org-babel-map-inline-src-blocks (file &rest body) |
| | | "Evaluate BODY forms on each inline source block in FILE. |
| | | If FILE is nil evaluate BODY forms on source blocks in current |
| | | buffer." |
| | | (declare (indent 1) (debug (form body))) |
| | | (org-with-gensyms (datum end point tempvar to-be-removed visitedp) |
| | | `(let* ((case-fold-search t) |
| | | (,tempvar ,file) |
| | | (,visitedp (or (null ,tempvar) |
| | | (get-file-buffer (expand-file-name ,tempvar)))) |
| | | (,point (point)) |
| | | ,to-be-removed) |
| | | (save-window-excursion |
| | | (when ,tempvar (find-file ,tempvar)) |
| | | (setq ,to-be-removed (current-buffer)) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward "src_\\S-" nil t) |
| | | (let ((,datum (save-match-data (org-element-context)))) |
| | | (when (eq (org-element-type ,datum) 'inline-src-block) |
| | | (goto-char (match-beginning 0)) |
| | | (let ((,end (copy-marker (org-element-property :end ,datum)))) |
| | | ,@body |
| | | (goto-char ,end) |
| | | (set-marker ,end nil)))))) |
| | | (unless ,visitedp (kill-buffer ,to-be-removed)) |
| | | (goto-char ,point)))) |
| | | |
| | | ;;;###autoload |
| | | (defmacro org-babel-map-call-lines (file &rest body) |
| | | "Evaluate BODY forms on each call line in FILE. |
| | | If FILE is nil evaluate BODY forms on source blocks in current |
| | | buffer." |
| | | (declare (indent 1) (debug (form body))) |
| | | (org-with-gensyms (datum end point tempvar to-be-removed visitedp) |
| | | `(let* ((case-fold-search t) |
| | | (,tempvar ,file) |
| | | (,visitedp (or (null ,tempvar) |
| | | (get-file-buffer (expand-file-name ,tempvar)))) |
| | | (,point (point)) |
| | | ,to-be-removed) |
| | | (save-window-excursion |
| | | (when ,tempvar (find-file ,tempvar)) |
| | | (setq ,to-be-removed (current-buffer)) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward "call_\\S-\\|^[ \t]*#\\+CALL:" nil t) |
| | | (let ((,datum (save-match-data (org-element-context)))) |
| | | (when (memq (org-element-type ,datum) |
| | | '(babel-call inline-babel-call)) |
| | | (goto-char (match-beginning 0)) |
| | | (let ((,end (copy-marker (org-element-property :end ,datum)))) |
| | | ,@body |
| | | (goto-char ,end) |
| | | (set-marker ,end nil)))))) |
| | | (unless ,visitedp (kill-buffer ,to-be-removed)) |
| | | (goto-char ,point)))) |
| | | |
| | | ;;;###autoload |
| | | (defmacro org-babel-map-executables (file &rest body) |
| | | "Evaluate BODY forms on each active Babel code in FILE. |
| | | If FILE is nil evaluate BODY forms on source blocks in current |
| | | buffer." |
| | | (declare (indent 1) (debug (form body))) |
| | | (org-with-gensyms (datum end point tempvar to-be-removed visitedp) |
| | | `(let* ((case-fold-search t) |
| | | (,tempvar ,file) |
| | | (,visitedp (or (null ,tempvar) |
| | | (get-file-buffer (expand-file-name ,tempvar)))) |
| | | (,point (point)) |
| | | ,to-be-removed) |
| | | (save-window-excursion |
| | | (when ,tempvar (find-file ,tempvar)) |
| | | (setq ,to-be-removed (current-buffer)) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward |
| | | "\\(call\\|src\\)_\\|^[ \t]*#\\+\\(BEGIN_SRC\\|CALL:\\)" nil t) |
| | | (let ((,datum (save-match-data (org-element-context)))) |
| | | (when (memq (org-element-type ,datum) |
| | | '(babel-call inline-babel-call inline-src-block |
| | | src-block)) |
| | | (goto-char (match-beginning 0)) |
| | | (let ((,end (copy-marker (org-element-property :end ,datum)))) |
| | | ,@body |
| | | (goto-char ,end) |
| | | (set-marker ,end nil)))))) |
| | | (unless ,visitedp (kill-buffer ,to-be-removed)) |
| | | (goto-char ,point)))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-execute-buffer (&optional arg) |
| | | "Execute source code blocks in a buffer. |
| | | Call `org-babel-execute-src-block' on every source block in |
| | | the current buffer." |
| | | (interactive "P") |
| | | (org-babel-eval-wipe-error-buffer) |
| | | (org-save-outline-visibility t |
| | | (org-babel-map-executables nil |
| | | (if (memq (org-element-type (org-element-context)) |
| | | '(babel-call inline-babel-call)) |
| | | (org-babel-lob-execute-maybe) |
| | | (org-babel-execute-src-block arg))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-execute-subtree (&optional arg) |
| | | "Execute source code blocks in a subtree. |
| | | Call `org-babel-execute-src-block' on every source block in |
| | | the current subtree." |
| | | (interactive "P") |
| | | (save-restriction |
| | | (save-excursion |
| | | (org-narrow-to-subtree) |
| | | (org-babel-execute-buffer arg) |
| | | (widen)))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-sha1-hash (&optional info) |
| | | "Generate an sha1 hash based on the value of info." |
| | | (interactive) |
| | | (let ((print-level nil) |
| | | (info (or info (org-babel-get-src-block-info)))) |
| | | (setf (nth 2 info) |
| | | (sort (copy-sequence (nth 2 info)) |
| | | (lambda (a b) (string< (car a) (car b))))) |
| | | (let* ((rm (lambda (lst) |
| | | (dolist (p '("replace" "silent" "none" |
| | | "append" "prepend")) |
| | | (setq lst (remove p lst))) |
| | | lst)) |
| | | (norm (lambda (arg) |
| | | (let ((v (if (and (listp (cdr arg)) (null (cddr arg))) |
| | | (copy-sequence (cdr arg)) |
| | | (cdr arg)))) |
| | | (when (and v (not (and (sequencep v) |
| | | (not (consp v)) |
| | | (= (length v) 0)))) |
| | | (cond |
| | | ((and (listp v) ; lists are sorted |
| | | (member (car arg) '(:result-params))) |
| | | (sort (funcall rm v) #'string<)) |
| | | ((and (stringp v) ; strings are sorted |
| | | (member (car arg) '(:results :exports))) |
| | | (mapconcat #'identity (sort (funcall rm (split-string v)) |
| | | #'string<) " ")) |
| | | (t v)))))) |
| | | ;; expanded body |
| | | (lang (nth 0 info)) |
| | | (params (nth 2 info)) |
| | | (body (if (org-babel-noweb-p params :eval) |
| | | (org-babel-expand-noweb-references info) (nth 1 info))) |
| | | (expand-cmd (intern (concat "org-babel-expand-body:" lang))) |
| | | (assignments-cmd (intern (concat "org-babel-variable-assignments:" |
| | | lang))) |
| | | (expanded |
| | | (if (fboundp expand-cmd) (funcall expand-cmd body params) |
| | | (org-babel-expand-body:generic |
| | | body params (and (fboundp assignments-cmd) |
| | | (funcall assignments-cmd params)))))) |
| | | (let* ((it (format "%s-%s" |
| | | (mapconcat |
| | | #'identity |
| | | (delq nil (mapcar (lambda (arg) |
| | | (let ((normalized (funcall norm arg))) |
| | | (when normalized |
| | | (format "%S" normalized)))) |
| | | (nth 2 info))) ":") |
| | | expanded)) |
| | | (hash (sha1 it))) |
| | | (when (called-interactively-p 'interactive) (message hash)) |
| | | hash)))) |
| | | |
| | | (defun org-babel-current-result-hash (&optional info) |
| | | "Return the current in-buffer hash." |
| | | (let ((result (org-babel-where-is-src-block-result nil info))) |
| | | (when result |
| | | (org-with-wide-buffer |
| | | (goto-char result) |
| | | (looking-at org-babel-result-regexp) |
| | | (match-string-no-properties 1))))) |
| | | |
| | | (defun org-babel-set-current-result-hash (hash info) |
| | | "Set the current in-buffer hash to HASH." |
| | | (org-with-wide-buffer |
| | | (goto-char (org-babel-where-is-src-block-result nil info)) |
| | | (looking-at org-babel-result-regexp) |
| | | (goto-char (match-beginning 1)) |
| | | (mapc #'delete-overlay (overlays-at (point))) |
| | | (forward-char org-babel-hash-show) |
| | | (mapc #'delete-overlay (overlays-at (point))) |
| | | (replace-match hash nil nil nil 1) |
| | | (beginning-of-line) |
| | | (org-babel-hide-hash))) |
| | | |
| | | (defun org-babel-hide-hash () |
| | | "Hide the hash in the current results line. |
| | | Only the initial `org-babel-hash-show' characters of the hash |
| | | will remain visible." |
| | | (add-to-invisibility-spec '(org-babel-hide-hash . t)) |
| | | (save-excursion |
| | | (when (and (re-search-forward org-babel-result-regexp nil t) |
| | | (match-string 1)) |
| | | (let* ((start (match-beginning 1)) |
| | | (hide-start (+ org-babel-hash-show start)) |
| | | (end (match-end 1)) |
| | | (hash (match-string 1)) |
| | | ov1 ov2) |
| | | (setq ov1 (make-overlay start hide-start)) |
| | | (setq ov2 (make-overlay hide-start end)) |
| | | (overlay-put ov2 'invisible 'org-babel-hide-hash) |
| | | (overlay-put ov1 'babel-hash hash))))) |
| | | |
| | | (defun org-babel-hide-all-hashes () |
| | | "Hide the hash in the current buffer. |
| | | Only the initial `org-babel-hash-show' characters of each hash |
| | | will remain visible. This function should be called as part of |
| | | the `org-mode-hook'." |
| | | (save-excursion |
| | | (while (and (not org-babel-hash-show-time) |
| | | (re-search-forward org-babel-result-regexp nil t)) |
| | | (goto-char (match-beginning 0)) |
| | | (org-babel-hide-hash) |
| | | (goto-char (match-end 0))))) |
| | | (add-hook 'org-mode-hook 'org-babel-hide-all-hashes) |
| | | |
| | | (defun org-babel-hash-at-point (&optional point) |
| | | "Return the value of the hash at POINT. |
| | | \\<org-mode-map>\ |
| | | The hash is also added as the last element of the kill ring. |
| | | This can be called with `\\[org-ctrl-c-ctrl-c]'." |
| | | (interactive) |
| | | (let ((hash (car (delq nil (mapcar |
| | | (lambda (ol) (overlay-get ol 'babel-hash)) |
| | | (overlays-at (or point (point)))))))) |
| | | (when hash (kill-new hash) (message hash)))) |
| | | |
| | | (defun org-babel-result-hide-spec () |
| | | "Hide portions of results lines. |
| | | Add `org-babel-hide-result' as an invisibility spec for hiding |
| | | portions of results lines." |
| | | (add-to-invisibility-spec '(org-babel-hide-result . t))) |
| | | (add-hook 'org-mode-hook 'org-babel-result-hide-spec) |
| | | |
| | | (defvar org-babel-hide-result-overlays nil |
| | | "Overlays hiding results.") |
| | | |
| | | (defun org-babel-result-hide-all () |
| | | "Fold all results in the current buffer." |
| | | (interactive) |
| | | (org-babel-show-result-all) |
| | | (save-excursion |
| | | (while (re-search-forward org-babel-result-regexp nil t) |
| | | (save-excursion (goto-char (match-beginning 0)) |
| | | (org-babel-hide-result-toggle-maybe))))) |
| | | |
| | | (defun org-babel-show-result-all () |
| | | "Unfold all results in the current buffer." |
| | | (mapc 'delete-overlay org-babel-hide-result-overlays) |
| | | (setq org-babel-hide-result-overlays nil)) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-hide-result-toggle-maybe () |
| | | "Toggle visibility of result at point." |
| | | (interactive) |
| | | (let ((case-fold-search t)) |
| | | (if (save-excursion |
| | | (beginning-of-line 1) |
| | | (looking-at org-babel-result-regexp)) |
| | | (progn (org-babel-hide-result-toggle) |
| | | t) ;; to signal that we took action |
| | | nil))) ;; to signal that we did not |
| | | |
| | | (defun org-babel-hide-result-toggle (&optional force) |
| | | "Toggle the visibility of the current result." |
| | | (interactive) |
| | | (save-excursion |
| | | (beginning-of-line) |
| | | (if (re-search-forward org-babel-result-regexp nil t) |
| | | (let ((start (progn (beginning-of-line 2) (- (point) 1))) |
| | | (end (progn |
| | | (while (looking-at org-babel-multi-line-header-regexp) |
| | | (forward-line 1)) |
| | | (goto-char (- (org-babel-result-end) 1)) (point))) |
| | | ov) |
| | | (if (memq t (mapcar (lambda (overlay) |
| | | (eq (overlay-get overlay 'invisible) |
| | | 'org-babel-hide-result)) |
| | | (overlays-at start))) |
| | | (when (or (not force) (eq force 'off)) |
| | | (mapc (lambda (ov) |
| | | (when (member ov org-babel-hide-result-overlays) |
| | | (setq org-babel-hide-result-overlays |
| | | (delq ov org-babel-hide-result-overlays))) |
| | | (when (eq (overlay-get ov 'invisible) |
| | | 'org-babel-hide-result) |
| | | (delete-overlay ov))) |
| | | (overlays-at start))) |
| | | (setq ov (make-overlay start end)) |
| | | (overlay-put ov 'invisible 'org-babel-hide-result) |
| | | ;; make the block accessible to isearch |
| | | (overlay-put |
| | | ov 'isearch-open-invisible |
| | | (lambda (ov) |
| | | (when (member ov org-babel-hide-result-overlays) |
| | | (setq org-babel-hide-result-overlays |
| | | (delq ov org-babel-hide-result-overlays))) |
| | | (when (eq (overlay-get ov 'invisible) |
| | | 'org-babel-hide-result) |
| | | (delete-overlay ov)))) |
| | | (push ov org-babel-hide-result-overlays))) |
| | | (error "Not looking at a result line")))) |
| | | |
| | | ;; org-tab-after-check-for-cycling-hook |
| | | (add-hook 'org-tab-first-hook 'org-babel-hide-result-toggle-maybe) |
| | | ;; Remove overlays when changing major mode |
| | | (add-hook 'org-mode-hook |
| | | (lambda () (add-hook 'change-major-mode-hook |
| | | 'org-babel-show-result-all 'append 'local))) |
| | | |
| | | (defvar org-file-properties) |
| | | (defun org-babel-params-from-properties (&optional lang) |
| | | "Retrieve parameters specified as properties. |
| | | Return a list of association lists of source block params |
| | | specified in the properties of the current outline entry." |
| | | (save-match-data |
| | | (list |
| | | ;; header arguments specified with the header-args property at |
| | | ;; point of call. |
| | | (org-babel-parse-header-arguments |
| | | (org-entry-get org-babel-current-src-block-location |
| | | "header-args" |
| | | 'inherit)) |
| | | (and lang ; language-specific header arguments at point of call |
| | | (org-babel-parse-header-arguments |
| | | (org-entry-get org-babel-current-src-block-location |
| | | (concat "header-args:" lang) |
| | | 'inherit)))))) |
| | | |
| | | (defun org-babel-balanced-split (string alts) |
| | | "Split STRING on instances of ALTS. |
| | | ALTS is a character, or cons of two character options where each |
| | | option may be either the numeric code of a single character or |
| | | a list of character alternatives. For example, to split on |
| | | balanced instances of \"[ \t]:\", set ALTS to ((32 9) . 58)." |
| | | (with-temp-buffer |
| | | (insert string) |
| | | (goto-char (point-min)) |
| | | (let ((splitp (lambda (past next) |
| | | ;; Non-nil when there should be a split after NEXT |
| | | ;; character. PAST is the character before NEXT. |
| | | (pcase alts |
| | | (`(,(and first (pred consp)) . ,(and second (pred consp))) |
| | | (and (memq past first) (memq next second))) |
| | | (`(,first . ,(and second (pred consp))) |
| | | (and (eq past first) (memq next second))) |
| | | (`(,(and first (pred consp)) . ,second) |
| | | (and (memq past first) (eq next second))) |
| | | (`(,first . ,second) |
| | | (and (eq past first) (eq next second))) |
| | | ((pred (eq next)) t) |
| | | (_ nil)))) |
| | | (partial nil) |
| | | (result nil)) |
| | | (while (not (eobp)) |
| | | (cond |
| | | ((funcall splitp (char-before) (char-after)) |
| | | ;; There is a split after point. If ALTS is two-folds, |
| | | ;; remove last parsed character as it belongs to ALTS. |
| | | (when (consp alts) (pop partial)) |
| | | ;; Include elements parsed so far in RESULTS and flush |
| | | ;; partial parsing. |
| | | (when partial |
| | | (push (apply #'string (nreverse partial)) result) |
| | | (setq partial nil)) |
| | | (forward-char)) |
| | | ((memq (char-after) '(?\( ?\[)) |
| | | ;; Include everything between balanced brackets. |
| | | (let* ((origin (point)) |
| | | (after (char-after)) |
| | | (openings (list after))) |
| | | (forward-char) |
| | | (while (and openings (re-search-forward "[]()]" nil t)) |
| | | (pcase (char-before) |
| | | ((and match (or ?\[ ?\()) (push match openings)) |
| | | (?\] (when (eq ?\[ (car openings)) (pop openings))) |
| | | (_ (when (eq ?\( (car openings)) (pop openings))))) |
| | | (if (null openings) |
| | | (setq partial |
| | | (nconc (nreverse (string-to-list |
| | | (buffer-substring origin (point)))) |
| | | partial)) |
| | | ;; Un-balanced bracket. Backtrack. |
| | | (push after partial) |
| | | (goto-char (1+ origin))))) |
| | | ((and (eq ?\" (char-after)) (not (eq ?\\ (char-before)))) |
| | | ;; Include everything from current double quote to next |
| | | ;; non-escaped double quote. |
| | | (let ((origin (point))) |
| | | (if (re-search-forward "[^\\]\"" nil t) |
| | | (setq partial |
| | | (nconc (nreverse (string-to-list |
| | | (buffer-substring origin (point)))) |
| | | partial)) |
| | | ;; No closing double quote. Backtrack. |
| | | (push ?\" partial) |
| | | (forward-char)))) |
| | | (t (push (char-after) partial) |
| | | (forward-char)))) |
| | | ;; Add pending parsing and return result. |
| | | (when partial (push (apply #'string (nreverse partial)) result)) |
| | | (nreverse result)))) |
| | | |
| | | (defun org-babel-join-splits-near-ch (ch list) |
| | | "Join splits where \"=\" is on either end of the split." |
| | | (let ((last= (lambda (str) (= ch (aref str (1- (length str)))))) |
| | | (first= (lambda (str) (= ch (aref str 0))))) |
| | | (reverse |
| | | (cl-reduce (lambda (acc el) |
| | | (let ((head (car acc))) |
| | | (if (and head (or (funcall last= head) (funcall first= el))) |
| | | (cons (concat head el) (cdr acc)) |
| | | (cons el acc)))) |
| | | list :initial-value nil)))) |
| | | |
| | | (defun org-babel-parse-header-arguments (arg-string) |
| | | "Parse a string of header arguments returning an alist." |
| | | (when (> (length arg-string) 0) |
| | | (org-babel-parse-multiple-vars |
| | | (delq nil |
| | | (mapcar |
| | | (lambda (arg) |
| | | (if (string-match |
| | | "\\([^ \f\t\n\r\v]+\\)[ \f\t\n\r\v]+\\([^ \f\t\n\r\v]+.*\\)" |
| | | arg) |
| | | (cons (intern (match-string 1 arg)) |
| | | (org-babel-read (org-babel-chomp (match-string 2 arg)))) |
| | | (cons (intern (org-babel-chomp arg)) nil))) |
| | | (let ((raw (org-babel-balanced-split arg-string '((32 9) . 58)))) |
| | | (cons (car raw) (mapcar (lambda (r) (concat ":" r)) (cdr raw))))))))) |
| | | |
| | | (defun org-babel-parse-multiple-vars (header-arguments) |
| | | "Expand multiple variable assignments behind a single :var keyword. |
| | | |
| | | This allows expression of multiple variables with one :var as |
| | | shown below. |
| | | |
| | | #+PROPERTY: var foo=1, bar=2" |
| | | (let (results) |
| | | (mapc (lambda (pair) |
| | | (if (eq (car pair) :var) |
| | | (mapcar (lambda (v) (push (cons :var (org-trim v)) results)) |
| | | (org-babel-join-splits-near-ch |
| | | 61 (org-babel-balanced-split (cdr pair) 32))) |
| | | (push pair results))) |
| | | header-arguments) |
| | | (nreverse results))) |
| | | |
| | | (defun org-babel-process-params (params) |
| | | "Expand variables in PARAMS and add summary parameters." |
| | | (let* ((processed-vars (mapcar (lambda (el) |
| | | (if (consp el) |
| | | el |
| | | (org-babel-ref-parse el))) |
| | | (org-babel--get-vars params))) |
| | | (vars-and-names (if (and (assq :colname-names params) |
| | | (assq :rowname-names params)) |
| | | (list processed-vars) |
| | | (org-babel-disassemble-tables |
| | | processed-vars |
| | | (cdr (assq :hlines params)) |
| | | (cdr (assq :colnames params)) |
| | | (cdr (assq :rownames params))))) |
| | | (raw-result (or (cdr (assq :results params)) "")) |
| | | (result-params (delete-dups |
| | | (append |
| | | (split-string (if (stringp raw-result) |
| | | raw-result |
| | | (eval raw-result t))) |
| | | (cdr (assq :result-params params)))))) |
| | | (append |
| | | (mapcar (lambda (var) (cons :var var)) (car vars-and-names)) |
| | | (list |
| | | (cons :colname-names (or (cdr (assq :colname-names params)) |
| | | (cadr vars-and-names))) |
| | | (cons :rowname-names (or (cdr (assq :rowname-names params)) |
| | | (cl-caddr vars-and-names))) |
| | | (cons :result-params result-params) |
| | | (cons :result-type (cond ((member "output" result-params) 'output) |
| | | ((member "value" result-params) 'value) |
| | | (t 'value)))) |
| | | (cl-remove-if |
| | | (lambda (x) (memq (car x) '(:colname-names :rowname-names :result-params |
| | | :result-type :var))) |
| | | params)))) |
| | | |
| | | ;; row and column names |
| | | (defun org-babel-del-hlines (table) |
| | | "Remove all `hline's from TABLE." |
| | | (remq 'hline table)) |
| | | |
| | | (defun org-babel-get-colnames (table) |
| | | "Return the column names of TABLE. |
| | | Return a cons cell, the `car' of which contains the TABLE less |
| | | colnames, and the `cdr' of which contains a list of the column |
| | | names." |
| | | (if (eq 'hline (nth 1 table)) |
| | | (cons (cddr table) (car table)) |
| | | (cons (cdr table) (car table)))) |
| | | |
| | | (defun org-babel-get-rownames (table) |
| | | "Return the row names of TABLE. |
| | | Return a cons cell, the `car' of which contains the TABLE less |
| | | rownames, and the `cdr' of which contains a list of the rownames. |
| | | Note: this function removes any hlines in TABLE." |
| | | (let* ((table (org-babel-del-hlines table)) |
| | | (rownames (funcall (lambda () |
| | | (let ((tp table)) |
| | | (mapcar |
| | | (lambda (_row) |
| | | (prog1 |
| | | (pop (car tp)) |
| | | (setq tp (cdr tp)))) |
| | | table)))))) |
| | | (cons table rownames))) |
| | | |
| | | (defun org-babel-put-colnames (table colnames) |
| | | "Add COLNAMES to TABLE if they exist." |
| | | (if colnames (apply 'list colnames 'hline table) table)) |
| | | |
| | | (defun org-babel-put-rownames (table rownames) |
| | | "Add ROWNAMES to TABLE if they exist." |
| | | (if rownames |
| | | (mapcar (lambda (row) |
| | | (if (listp row) |
| | | (cons (or (pop rownames) "") row) |
| | | row)) table) |
| | | table)) |
| | | |
| | | (defun org-babel-pick-name (names selector) |
| | | "Select one out of an alist of row or column names. |
| | | SELECTOR can be either a list of names in which case those names |
| | | will be returned directly, or an index into the list NAMES in |
| | | which case the indexed names will be return." |
| | | (if (listp selector) |
| | | selector |
| | | (when names |
| | | (if (and selector (symbolp selector) (not (equal t selector))) |
| | | (cdr (assoc selector names)) |
| | | (if (integerp selector) |
| | | (nth (- selector 1) names) |
| | | (cdr (car (last names)))))))) |
| | | |
| | | (defun org-babel-disassemble-tables (vars hlines colnames rownames) |
| | | "Parse tables for further processing. |
| | | Process the variables in VARS according to the HLINES, |
| | | ROWNAMES and COLNAMES header arguments. Return a list consisting |
| | | of the vars, cnames and rnames." |
| | | (let (cnames rnames) |
| | | (list |
| | | (mapcar |
| | | (lambda (var) |
| | | (when (listp (cdr var)) |
| | | (when (and (not (equal colnames "no")) |
| | | (or colnames (and (eq (nth 1 (cdr var)) 'hline) |
| | | (not (member 'hline (cddr (cdr var))))))) |
| | | (let ((both (org-babel-get-colnames (cdr var)))) |
| | | (setq cnames (cons (cons (car var) (cdr both)) |
| | | cnames)) |
| | | (setq var (cons (car var) (car both))))) |
| | | (when (and rownames (not (equal rownames "no"))) |
| | | (let ((both (org-babel-get-rownames (cdr var)))) |
| | | (setq rnames (cons (cons (car var) (cdr both)) |
| | | rnames)) |
| | | (setq var (cons (car var) (car both))))) |
| | | (when (and hlines (not (equal hlines "yes"))) |
| | | (setq var (cons (car var) (org-babel-del-hlines (cdr var)))))) |
| | | var) |
| | | vars) |
| | | (reverse cnames) (reverse rnames)))) |
| | | |
| | | (defun org-babel-reassemble-table (table colnames rownames) |
| | | "Add column and row names to a table. |
| | | Given a TABLE and set of COLNAMES and ROWNAMES add the names |
| | | to the table for reinsertion to org-mode." |
| | | (if (listp table) |
| | | (let ((table (if (and rownames (= (length table) (length rownames))) |
| | | (org-babel-put-rownames table rownames) table))) |
| | | (if (and colnames (listp (car table)) (= (length (car table)) |
| | | (length colnames))) |
| | | (org-babel-put-colnames table colnames) table)) |
| | | table)) |
| | | |
| | | (defun org-babel-where-is-src-block-head (&optional src-block) |
| | | "Find where the current source block begins. |
| | | |
| | | If optional argument SRC-BLOCK is `src-block' type element, find |
| | | its current beginning instead. |
| | | |
| | | Return the point at the beginning of the current source block. |
| | | Specifically at the beginning of the #+BEGIN_SRC line. Also set |
| | | match-data relatively to `org-babel-src-block-regexp', which see. |
| | | If the point is not on a source block then return nil." |
| | | (let ((element (or src-block (org-element-at-point)))) |
| | | (when (eq (org-element-type element) 'src-block) |
| | | (let ((end (org-element-property :end element))) |
| | | (org-with-wide-buffer |
| | | ;; Ensure point is not on a blank line after the block. |
| | | (beginning-of-line) |
| | | (skip-chars-forward " \r\t\n" end) |
| | | (when (< (point) end) |
| | | (prog1 (goto-char (org-element-property :post-affiliated element)) |
| | | (looking-at org-babel-src-block-regexp)))))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-goto-src-block-head () |
| | | "Go to the beginning of the current code block." |
| | | (interactive) |
| | | (let ((head (org-babel-where-is-src-block-head))) |
| | | (if head (goto-char head) (error "Not currently in a code block")))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-goto-named-src-block (name) |
| | | "Go to a named source-code block." |
| | | (interactive |
| | | (let ((completion-ignore-case t) |
| | | (case-fold-search t) |
| | | (all-block-names (org-babel-src-block-names))) |
| | | (list (completing-read |
| | | "source-block name: " all-block-names nil t |
| | | (let* ((context (org-element-context)) |
| | | (type (org-element-type context)) |
| | | (noweb-ref |
| | | (and (memq type '(inline-src-block src-block)) |
| | | (org-in-regexp (org-babel-noweb-wrap))))) |
| | | (cond |
| | | (noweb-ref |
| | | (buffer-substring |
| | | (+ (car noweb-ref) (length org-babel-noweb-wrap-start)) |
| | | (- (cdr noweb-ref) (length org-babel-noweb-wrap-end)))) |
| | | ((memq type '(babel-call inline-babel-call)) ;#+CALL: |
| | | (org-element-property :call context)) |
| | | ((car (org-element-property :results context))) ;#+RESULTS: |
| | | ((let ((symbol (thing-at-point 'symbol))) ;Symbol. |
| | | (and symbol |
| | | (member-ignore-case symbol all-block-names) |
| | | symbol))) |
| | | (t ""))))))) |
| | | (let ((point (org-babel-find-named-block name))) |
| | | (if point |
| | | ;; Taken from `org-open-at-point'. |
| | | (progn (org-mark-ring-push) (goto-char point) (org-show-context)) |
| | | (message "source-code block `%s' not found in this buffer" name)))) |
| | | |
| | | (defun org-babel-find-named-block (name) |
| | | "Find a named source-code block. |
| | | Return the location of the source block identified by source |
| | | NAME, or nil if no such block exists. Set match data according |
| | | to `org-babel-named-src-block-regexp'." |
| | | (save-excursion |
| | | (goto-char (point-min)) |
| | | (let ((regexp (org-babel-named-src-block-regexp-for-name name))) |
| | | (or (and (looking-at regexp) |
| | | (progn (goto-char (match-beginning 1)) |
| | | (line-beginning-position))) |
| | | (ignore-errors (org-next-block 1 nil regexp)))))) |
| | | |
| | | (defun org-babel-src-block-names (&optional file) |
| | | "Returns the names of source blocks in FILE or the current buffer." |
| | | (with-current-buffer (if file (find-file-noselect file) (current-buffer)) |
| | | (org-with-point-at 1 |
| | | (let ((regexp "^[ \t]*#\\+begin_src ") |
| | | (case-fold-search t) |
| | | (names nil)) |
| | | (while (re-search-forward regexp nil t) |
| | | (let ((element (org-element-at-point))) |
| | | (when (eq 'src-block (org-element-type element)) |
| | | (let ((name (org-element-property :name element))) |
| | | (when name (push name names)))))) |
| | | names)))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-goto-named-result (name) |
| | | "Go to a named result." |
| | | (interactive |
| | | (let ((completion-ignore-case t)) |
| | | (list (completing-read "Source-block name: " |
| | | (org-babel-result-names) nil t)))) |
| | | (let ((point (org-babel-find-named-result name))) |
| | | (if point |
| | | ;; taken from `org-open-at-point' |
| | | (progn (goto-char point) (org-show-context)) |
| | | (message "result `%s' not found in this buffer" name)))) |
| | | |
| | | (defun org-babel-find-named-result (name) |
| | | "Find a named result. |
| | | Return the location of the result named NAME in the current |
| | | buffer or nil if no such result exists." |
| | | (save-excursion |
| | | (goto-char (point-min)) |
| | | (let ((case-fold-search t) |
| | | (re (format "^[ \t]*#\\+%s.*?:[ \t]*%s[ \t]*$" |
| | | org-babel-results-keyword |
| | | (regexp-quote name)))) |
| | | (catch :found |
| | | (while (re-search-forward re nil t) |
| | | (let ((element (org-element-at-point))) |
| | | (when (or (eq (org-element-type element) 'keyword) |
| | | (< (point) |
| | | (org-element-property :post-affiliated element))) |
| | | (throw :found (line-beginning-position))))))))) |
| | | |
| | | (defun org-babel-result-names (&optional file) |
| | | "Returns the names of results in FILE or the current buffer." |
| | | (save-excursion |
| | | (when file (find-file file)) (goto-char (point-min)) |
| | | (let ((case-fold-search t) names) |
| | | (while (re-search-forward org-babel-result-w-name-regexp nil t) |
| | | (setq names (cons (match-string-no-properties 9) names))) |
| | | names))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-next-src-block (&optional arg) |
| | | "Jump to the next source block. |
| | | With optional prefix argument ARG, jump forward ARG many source blocks." |
| | | (interactive "p") |
| | | (org-next-block arg nil org-babel-src-block-regexp)) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-previous-src-block (&optional arg) |
| | | "Jump to the previous source block. |
| | | With optional prefix argument ARG, jump backward ARG many source blocks." |
| | | (interactive "p") |
| | | (org-previous-block arg org-babel-src-block-regexp)) |
| | | |
| | | (defvar org-babel-load-languages) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-mark-block () |
| | | "Mark current src block." |
| | | (interactive) |
| | | (let ((head (org-babel-where-is-src-block-head))) |
| | | (when head |
| | | (save-excursion |
| | | (goto-char head) |
| | | (looking-at org-babel-src-block-regexp)) |
| | | (push-mark (match-end 5) nil t) |
| | | (goto-char (match-beginning 5))))) |
| | | |
| | | (defun org-babel-demarcate-block (&optional arg) |
| | | "Wrap or split the code in the region or on the point. |
| | | When called from inside of a code block the current block is |
| | | split. When called from outside of a code block a new code block |
| | | is created. In both cases if the region is demarcated and if the |
| | | region is not active then the point is demarcated." |
| | | (interactive "P") |
| | | (let* ((info (org-babel-get-src-block-info 'light)) |
| | | (start (org-babel-where-is-src-block-head)) |
| | | (block (and start (match-string 0))) |
| | | (headers (and start (match-string 4))) |
| | | (stars (concat (make-string (or (org-current-level) 1) ?*) " ")) |
| | | (lower-case-p (and block |
| | | (let (case-fold-search) |
| | | (string-match-p "#\\+begin_src" block))))) |
| | | (if info |
| | | (mapc |
| | | (lambda (place) |
| | | (save-excursion |
| | | (goto-char place) |
| | | (let ((lang (nth 0 info)) |
| | | (indent (make-string (org-get-indentation) ?\s))) |
| | | (when (string-match "^[[:space:]]*$" |
| | | (buffer-substring (point-at-bol) |
| | | (point-at-eol))) |
| | | (delete-region (point-at-bol) (point-at-eol))) |
| | | (insert (concat |
| | | (if (looking-at "^") "" "\n") |
| | | indent (funcall (if lower-case-p 'downcase 'upcase) "#+end_src\n") |
| | | (if arg stars indent) "\n" |
| | | indent (funcall (if lower-case-p 'downcase 'upcase) "#+begin_src ") |
| | | lang |
| | | (if (> (length headers) 1) |
| | | (concat " " headers) headers) |
| | | (if (looking-at "[\n\r]") |
| | | "" |
| | | (concat "\n" (make-string (current-column) ? ))))))) |
| | | (move-end-of-line 2)) |
| | | (sort (if (org-region-active-p) (list (mark) (point)) (list (point))) #'>)) |
| | | (let ((start (point)) |
| | | (lang (completing-read |
| | | "Lang: " |
| | | (mapcar #'symbol-name |
| | | (delete-dups |
| | | (append (mapcar #'car org-babel-load-languages) |
| | | (mapcar (lambda (el) (intern (car el))) |
| | | org-src-lang-modes)))))) |
| | | (body (delete-and-extract-region |
| | | (if (org-region-active-p) (mark) (point)) (point)))) |
| | | (insert (concat (if (looking-at "^") "" "\n") |
| | | (if arg (concat stars "\n") "") |
| | | (funcall (if lower-case-p 'downcase 'upcase) "#+begin_src ") |
| | | lang "\n" |
| | | body |
| | | (if (or (= (length body) 0) |
| | | (string-suffix-p "\r" body) |
| | | (string-suffix-p "\n" body)) "" "\n") |
| | | (funcall (if lower-case-p 'downcase 'upcase) "#+end_src\n"))) |
| | | (goto-char start) (move-end-of-line 1))))) |
| | | |
| | | (defun org-babel--insert-results-keyword (name hash) |
| | | "Insert RESULTS keyword with NAME value at point. |
| | | If NAME is nil, results are anonymous. HASH is a string used as |
| | | the results hash, or nil. Leave point before the keyword." |
| | | (save-excursion (insert "\n")) ;open line to indent. |
| | | (org-indent-line) |
| | | (delete-char 1) |
| | | (insert (concat "#+" org-babel-results-keyword |
| | | (cond ((not hash) nil) |
| | | (org-babel-hash-show-time |
| | | (format "[%s %s]" |
| | | (format-time-string "<%F %T>") |
| | | hash)) |
| | | (t (format "[%s]" hash))) |
| | | ":" |
| | | (when name (concat " " name)) |
| | | "\n")) |
| | | ;; Make sure results are going to be followed by at least one blank |
| | | ;; line so they do not get merged with the next element, e.g., |
| | | ;; |
| | | ;; #+results: |
| | | ;; : 1 |
| | | ;; |
| | | ;; : fixed-width area, unrelated to the above. |
| | | (unless (looking-at "^[ \t]*$") (save-excursion (insert "\n"))) |
| | | (beginning-of-line 0) |
| | | (when hash (org-babel-hide-hash))) |
| | | |
| | | (defun org-babel--clear-results-maybe (hash) |
| | | "Clear results when hash doesn't match HASH. |
| | | |
| | | When results hash does not match HASH, remove RESULTS keyword at |
| | | point, along with related contents. Do nothing if HASH is nil. |
| | | |
| | | Return a non-nil value if results were cleared. In this case, |
| | | leave point where new results should be inserted." |
| | | (when hash |
| | | (looking-at org-babel-result-regexp) |
| | | (unless (string= (match-string 1) hash) |
| | | (let* ((e (org-element-at-point)) |
| | | (post (copy-marker (org-element-property :post-affiliated e)))) |
| | | ;; Delete contents. |
| | | (delete-region post |
| | | (save-excursion |
| | | (goto-char (org-element-property :end e)) |
| | | (skip-chars-backward " \t\n") |
| | | (line-beginning-position 2))) |
| | | ;; Delete RESULT keyword. However, if RESULTS keyword is |
| | | ;; orphaned, ignore this part. The deletion above already |
| | | ;; took care of it. |
| | | (unless (= (point) post) |
| | | (delete-region (line-beginning-position) |
| | | (line-beginning-position 2))) |
| | | (goto-char post) |
| | | (set-marker post nil) |
| | | t)))) |
| | | |
| | | (defun org-babel-where-is-src-block-result (&optional insert _info hash) |
| | | "Find where the current source block results begin. |
| | | |
| | | Return the point at the beginning of the result of the current |
| | | source block, specifically at the beginning of the results line. |
| | | |
| | | If no result exists for this block return nil, unless optional |
| | | argument INSERT is non-nil. In this case, create a results line |
| | | following the source block and return the position at its |
| | | beginning. In the case of inline code, remove the results part |
| | | instead. |
| | | |
| | | If optional argument HASH is a string, remove contents related to |
| | | RESULTS keyword if its hash is different. Then update the latter |
| | | to HASH." |
| | | (let ((context (org-element-context))) |
| | | (catch :found |
| | | (org-with-wide-buffer |
| | | (pcase (org-element-type context) |
| | | ((or `inline-babel-call `inline-src-block) |
| | | ;; Results for inline objects are located right after them. |
| | | ;; There is no RESULTS line to insert either. |
| | | (let ((limit (org-element-property |
| | | :contents-end (org-element-property :parent context)))) |
| | | (goto-char (org-element-property :end context)) |
| | | (skip-chars-forward " \t\n" limit) |
| | | (throw :found |
| | | (and |
| | | (< (point) limit) |
| | | (let ((result (org-element-context))) |
| | | (and (eq (org-element-type result) 'macro) |
| | | (string= (org-element-property :key result) |
| | | "results") |
| | | (if (not insert) (point) |
| | | (delete-region |
| | | (point) |
| | | (progn |
| | | (goto-char (org-element-property :end result)) |
| | | (skip-chars-backward " \t") |
| | | (point))) |
| | | (point)))))))) |
| | | ((or `babel-call `src-block) |
| | | (let* ((name (org-element-property :name context)) |
| | | (named-results (and name (org-babel-find-named-result name)))) |
| | | (goto-char (or named-results (org-element-property :end context))) |
| | | (cond |
| | | ;; Existing results named after the current source. |
| | | (named-results |
| | | (when (org-babel--clear-results-maybe hash) |
| | | (org-babel--insert-results-keyword name hash)) |
| | | (throw :found (point))) |
| | | ;; Named results expect but none to be found. |
| | | (name) |
| | | ;; No possible anonymous results at the very end of |
| | | ;; buffer or outside CONTEXT parent. |
| | | ((eq (point) |
| | | (or (org-element-property |
| | | :contents-end (org-element-property :parent context)) |
| | | (point-max)))) |
| | | ;; Check if next element is an anonymous result below |
| | | ;; the current block. |
| | | ((let* ((next (org-element-at-point)) |
| | | (end (save-excursion |
| | | (goto-char |
| | | (org-element-property :post-affiliated next)) |
| | | (line-end-position))) |
| | | (empty-result-re (concat org-babel-result-regexp "$")) |
| | | (case-fold-search t)) |
| | | (re-search-forward empty-result-re end t)) |
| | | (beginning-of-line) |
| | | (when (org-babel--clear-results-maybe hash) |
| | | (org-babel--insert-results-keyword nil hash)) |
| | | (throw :found (point)))))) |
| | | ;; Ignore other elements. |
| | | (_ (throw :found nil)))) |
| | | ;; No result found. Insert a RESULTS keyword below element, if |
| | | ;; appropriate. In this case, ensure there is an empty line |
| | | ;; after the previous element. |
| | | (when insert |
| | | (save-excursion |
| | | (goto-char (min (org-element-property :end context) (point-max))) |
| | | (skip-chars-backward " \t\n") |
| | | (forward-line) |
| | | (unless (bolp) (insert "\n")) |
| | | (insert "\n") |
| | | (org-babel--insert-results-keyword |
| | | (org-element-property :name context) hash) |
| | | (point)))))) |
| | | |
| | | (defun org-babel-read-element (element) |
| | | "Read ELEMENT into emacs-lisp. |
| | | Return nil if ELEMENT cannot be read." |
| | | (org-with-wide-buffer |
| | | (goto-char (org-element-property :post-affiliated element)) |
| | | (pcase (org-element-type element) |
| | | (`fixed-width |
| | | (let ((v (org-trim (org-element-property :value element)))) |
| | | (or (org-babel--string-to-number v) v))) |
| | | (`table (org-babel-read-table)) |
| | | (`plain-list (org-babel-read-list)) |
| | | (`example-block |
| | | (let ((v (org-element-property :value element))) |
| | | (if (or org-src-preserve-indentation |
| | | (org-element-property :preserve-indent element)) |
| | | v |
| | | (org-remove-indentation v)))) |
| | | (`export-block |
| | | (org-remove-indentation (org-element-property :value element))) |
| | | (`paragraph |
| | | ;; Treat paragraphs containing a single link specially. |
| | | (skip-chars-forward " \t") |
| | | (if (and (looking-at org-bracket-link-regexp) |
| | | (save-excursion |
| | | (goto-char (match-end 0)) |
| | | (skip-chars-forward " \r\t\n") |
| | | (<= (org-element-property :end element) |
| | | (point)))) |
| | | (org-babel-read-link) |
| | | (buffer-substring-no-properties |
| | | (org-element-property :contents-begin element) |
| | | (org-element-property :contents-end element)))) |
| | | ((or `center-block `quote-block `verse-block `special-block) |
| | | (org-remove-indentation |
| | | (buffer-substring-no-properties |
| | | (org-element-property :contents-begin element) |
| | | (org-element-property :contents-end element)))) |
| | | (_ nil)))) |
| | | |
| | | (defun org-babel-read-result () |
| | | "Read the result at point into emacs-lisp." |
| | | (and (not (save-excursion |
| | | (beginning-of-line) |
| | | (looking-at-p "[ \t]*$"))) |
| | | (org-babel-read-element (org-element-at-point)))) |
| | | |
| | | (defun org-babel-read-table () |
| | | "Read the table at point into emacs-lisp." |
| | | (mapcar (lambda (row) |
| | | (if (and (symbolp row) (equal row 'hline)) row |
| | | (mapcar (lambda (el) (org-babel-read el 'inhibit-lisp-eval)) row))) |
| | | (org-table-to-lisp))) |
| | | |
| | | (defun org-babel-read-list () |
| | | "Read the list at point into emacs-lisp." |
| | | (mapcar (lambda (el) (org-babel-read el 'inhibit-lisp-eval)) |
| | | (cdr (org-list-to-lisp)))) |
| | | |
| | | (defvar org-link-types-re) |
| | | (defun org-babel-read-link () |
| | | "Read the link at point into emacs-lisp. |
| | | If the path of the link is a file path it is expanded using |
| | | `expand-file-name'." |
| | | (let* ((case-fold-search t) |
| | | (raw (and (looking-at org-bracket-link-regexp) |
| | | (org-no-properties (match-string 1)))) |
| | | (type (and (string-match org-link-types-re raw) |
| | | (match-string 1 raw)))) |
| | | (cond |
| | | ((not type) (expand-file-name raw)) |
| | | ((string= type "file") |
| | | (and (string-match "file\\(.*\\):\\(.+\\)" raw) |
| | | (expand-file-name (match-string 2 raw)))) |
| | | (t raw)))) |
| | | |
| | | (defun org-babel-format-result (result &optional sep) |
| | | "Format RESULT for writing to file." |
| | | (let ((echo-res (lambda (r) (if (stringp r) r (format "%S" r))))) |
| | | (if (listp result) |
| | | ;; table result |
| | | (orgtbl-to-generic |
| | | result (list :sep (or sep "\t") :fmt echo-res)) |
| | | ;; scalar result |
| | | (funcall echo-res result)))) |
| | | |
| | | (defun org-babel-insert-result (result &optional result-params info hash lang) |
| | | "Insert RESULT into the current buffer. |
| | | |
| | | By default RESULT is inserted after the end of the current source |
| | | block. The RESULT of an inline source block usually will be |
| | | wrapped inside a `results' macro and placed on the same line as |
| | | the inline source block. The macro is stripped upon export. |
| | | Multiline and non-scalar RESULTS from inline source blocks are |
| | | not allowed. With optional argument RESULT-PARAMS controls |
| | | insertion of results in the Org mode file. RESULT-PARAMS can |
| | | take the following values: |
| | | |
| | | replace - (default option) insert results after the source block |
| | | or inline source block replacing any previously |
| | | inserted results. |
| | | |
| | | silent -- no results are inserted into the Org buffer but |
| | | the results are echoed to the minibuffer and are |
| | | ingested by Emacs (a potentially time consuming |
| | | process). |
| | | |
| | | file ---- the results are interpreted as a file path, and are |
| | | inserted into the buffer using the Org file syntax. |
| | | |
| | | list ---- the results are interpreted as an Org list. |
| | | |
| | | raw ----- results are added directly to the Org file. This is |
| | | a good option if you code block will output Org |
| | | formatted text. |
| | | |
| | | drawer -- results are added directly to the Org file as with |
| | | \"raw\", but are wrapped in a RESULTS drawer or results |
| | | macro, allowing them to later be replaced or removed |
| | | automatically. |
| | | |
| | | org ----- results are added inside of a \"src_org{}\" or \"#+BEGIN_SRC |
| | | org\" block depending on whether the current source block is |
| | | inline or not. They are not comma-escaped when inserted, |
| | | but Org syntax here will be discarded when exporting the |
| | | file. |
| | | |
| | | html ---- results are added inside of a #+BEGIN_EXPORT HTML block |
| | | or html export snippet depending on whether the current |
| | | source block is inline or not. This is a good option |
| | | if your code block will output html formatted text. |
| | | |
| | | latex --- results are added inside of a #+BEGIN_EXPORT LATEX |
| | | block or latex export snippet depending on whether the |
| | | current source block is inline or not. This is a good |
| | | option if your code block will output latex formatted |
| | | text. |
| | | |
| | | code ---- the results are extracted in the syntax of the source |
| | | code of the language being evaluated and are added |
| | | inside of a source block with the source-code language |
| | | set appropriately. Also, source block inlining is |
| | | preserved in this case. Note this relies on the |
| | | optional LANG argument. |
| | | |
| | | list ---- the results are rendered as a list. This option not |
| | | allowed for inline src blocks. |
| | | |
| | | table --- the results are rendered as a table. This option not |
| | | allowed for inline src blocks. |
| | | |
| | | INFO may provide the values of these header arguments (in the |
| | | `header-arguments-alist' see the docstring for |
| | | `org-babel-get-src-block-info'): |
| | | |
| | | :file --- the name of the file to which output should be written. |
| | | |
| | | :wrap --- the effect is similar to `latex' in RESULT-PARAMS but |
| | | using the argument supplied to specify the export block |
| | | or snippet type." |
| | | (cond ((stringp result) |
| | | (setq result (org-no-properties result)) |
| | | (when (member "file" result-params) |
| | | (setq result (org-babel-result-to-file |
| | | result (when (assq :file-desc (nth 2 info)) |
| | | (or (cdr (assq :file-desc (nth 2 info))) |
| | | result)))))) |
| | | ((listp result)) |
| | | (t (setq result (format "%S" result)))) |
| | | (if (and result-params (member "silent" result-params)) |
| | | (progn (message (replace-regexp-in-string "%" "%%" (format "%S" result))) |
| | | result) |
| | | (let ((inline (let ((context (org-element-context))) |
| | | (and (memq (org-element-type context) |
| | | '(inline-babel-call inline-src-block)) |
| | | context)))) |
| | | (when inline |
| | | (let ((warning |
| | | (or (and (member "table" result-params) "`:results table'") |
| | | (and (listp result) "list result") |
| | | (and (string-match-p "\n." result) "multiline result") |
| | | (and (member "list" result-params) "`:results list'")))) |
| | | (when warning |
| | | (user-error "Inline error: %s cannot be used" warning)))) |
| | | (save-excursion |
| | | (let* ((visible-beg (point-min-marker)) |
| | | (visible-end (copy-marker (point-max) t)) |
| | | (inline (let ((context (org-element-context))) |
| | | (and (memq (org-element-type context) |
| | | '(inline-babel-call inline-src-block)) |
| | | context))) |
| | | (existing-result (org-babel-where-is-src-block-result t nil hash)) |
| | | (results-switches (cdr (assq :results_switches (nth 2 info)))) |
| | | ;; When results exist outside of the current visible |
| | | ;; region of the buffer, be sure to widen buffer to |
| | | ;; update them. |
| | | (outside-scope (and existing-result |
| | | (buffer-narrowed-p) |
| | | (or (> visible-beg existing-result) |
| | | (<= visible-end existing-result)))) |
| | | beg end indent) |
| | | ;; Ensure non-inline results end in a newline. |
| | | (when (and (org-string-nw-p result) |
| | | (not inline) |
| | | (not (string-equal (substring result -1) "\n"))) |
| | | (setq result (concat result "\n"))) |
| | | (unwind-protect |
| | | (progn |
| | | (when outside-scope (widen)) |
| | | (if existing-result (goto-char existing-result) |
| | | (goto-char (org-element-property :end inline)) |
| | | (skip-chars-backward " \t")) |
| | | (unless inline |
| | | (setq indent (org-get-indentation)) |
| | | (forward-line 1)) |
| | | (setq beg (point)) |
| | | (cond |
| | | (inline |
| | | ;; Make sure new results are separated from the |
| | | ;; source code by one space. |
| | | (unless existing-result |
| | | (insert " ") |
| | | (setq beg (point)))) |
| | | ((member "replace" result-params) |
| | | (delete-region (point) (org-babel-result-end))) |
| | | ((member "append" result-params) |
| | | (goto-char (org-babel-result-end)) (setq beg (point-marker))) |
| | | ((member "prepend" result-params))) ; already there |
| | | (setq results-switches |
| | | (if results-switches (concat " " results-switches) "")) |
| | | (let ((wrap |
| | | (lambda (start finish &optional no-escape no-newlines |
| | | inline-start inline-finish) |
| | | (when inline |
| | | (setq start inline-start) |
| | | (setq finish inline-finish) |
| | | (setq no-newlines t)) |
| | | (let ((before-finish (marker-position end))) |
| | | (goto-char end) |
| | | (insert (concat finish (unless no-newlines "\n"))) |
| | | (goto-char beg) |
| | | (insert (concat start (unless no-newlines "\n"))) |
| | | (unless no-escape |
| | | (org-escape-code-in-region |
| | | (min (point) before-finish) before-finish)) |
| | | (goto-char end)))) |
| | | (tabulablep |
| | | (lambda (r) |
| | | ;; Non-nil when result R can be turned into |
| | | ;; a table. |
| | | (and (listp r) |
| | | (null (cdr (last r))) |
| | | (cl-every |
| | | (lambda (e) (or (atom e) (null (cdr (last e))))) |
| | | result))))) |
| | | ;; insert results based on type |
| | | (cond |
| | | ;; Do nothing for an empty result. |
| | | ((null result)) |
| | | ;; Insert a list if preferred. |
| | | ((member "list" result-params) |
| | | (insert |
| | | (org-trim |
| | | (org-list-to-generic |
| | | (cons 'unordered |
| | | (mapcar |
| | | (lambda (e) |
| | | (list (if (stringp e) e (format "%S" e)))) |
| | | (if (listp result) result |
| | | (split-string result "\n" t)))) |
| | | '(:splicep nil :istart "- " :iend "\n"))) |
| | | "\n")) |
| | | ;; Try hard to print RESULT as a table. Give up if |
| | | ;; it contains an improper list. |
| | | ((funcall tabulablep result) |
| | | (goto-char beg) |
| | | (insert (concat (orgtbl-to-orgtbl |
| | | (if (cl-every |
| | | (lambda (e) |
| | | (or (eq e 'hline) (listp e))) |
| | | result) |
| | | result |
| | | (list result)) |
| | | nil) |
| | | "\n")) |
| | | (goto-char beg) |
| | | (when (org-at-table-p) (org-table-align)) |
| | | (goto-char (org-table-end))) |
| | | ;; Print verbatim a list that cannot be turned into |
| | | ;; a table. |
| | | ((listp result) (insert (format "%s\n" result))) |
| | | ((member "file" result-params) |
| | | (when inline |
| | | (setq result (org-macro-escape-arguments result))) |
| | | (insert result)) |
| | | ((and inline (not (member "raw" result-params))) |
| | | (insert (org-macro-escape-arguments |
| | | (org-babel-chomp result "\n")))) |
| | | (t (goto-char beg) (insert result))) |
| | | (setq end (copy-marker (point) t)) |
| | | ;; possibly wrap result |
| | | (cond |
| | | ((assq :wrap (nth 2 info)) |
| | | (let ((name (or (cdr (assq :wrap (nth 2 info))) "RESULTS"))) |
| | | (funcall wrap (concat "#+BEGIN_" name) |
| | | (concat "#+END_" (car (split-string name))) |
| | | nil nil (concat "{{{results(@@" name ":") "@@)}}}"))) |
| | | ((member "html" result-params) |
| | | (funcall wrap "#+BEGIN_EXPORT html" "#+END_EXPORT" nil nil |
| | | "{{{results(@@html:" "@@)}}}")) |
| | | ((member "latex" result-params) |
| | | (funcall wrap "#+BEGIN_EXPORT latex" "#+END_EXPORT" nil nil |
| | | "{{{results(@@latex:" "@@)}}}")) |
| | | ((member "org" result-params) |
| | | (goto-char beg) (when (org-at-table-p) (org-cycle)) |
| | | (funcall wrap "#+BEGIN_SRC org" "#+END_SRC" nil nil |
| | | "{{{results(src_org{" "})}}}")) |
| | | ((member "code" result-params) |
| | | (let ((lang (or lang "none"))) |
| | | (funcall wrap (format "#+BEGIN_SRC %s%s" lang results-switches) |
| | | "#+END_SRC" nil nil |
| | | (format "{{{results(src_%s[%s]{" lang results-switches) |
| | | "})}}}"))) |
| | | ((member "raw" result-params) |
| | | (goto-char beg) (when (org-at-table-p) (org-cycle))) |
| | | ((or (member "drawer" result-params) |
| | | ;; Stay backward compatible with <7.9.2 |
| | | (member "wrap" result-params)) |
| | | (goto-char beg) (when (org-at-table-p) (org-cycle)) |
| | | (funcall wrap ":RESULTS:" ":END:" 'no-escape nil |
| | | "{{{results(" ")}}}")) |
| | | ((and inline (member "file" result-params)) |
| | | (funcall wrap nil nil nil nil "{{{results(" ")}}}")) |
| | | ((and (not (funcall tabulablep result)) |
| | | (not (member "file" result-params))) |
| | | (let ((org-babel-inline-result-wrap |
| | | ;; Hard code {{{results(...)}}} on top of |
| | | ;; customization. |
| | | (format "{{{results(%s)}}}" |
| | | org-babel-inline-result-wrap))) |
| | | (org-babel-examplify-region |
| | | beg end results-switches inline))))) |
| | | ;; Possibly indent results in par with #+results line. |
| | | (when (and (not inline) (numberp indent) (> indent 0) |
| | | ;; In this case `table-align' does the work |
| | | ;; for us. |
| | | (not (and (listp result) |
| | | (member "append" result-params)))) |
| | | (indent-rigidly beg end indent)) |
| | | (if (null result) |
| | | (if (member "value" result-params) |
| | | (message "Code block returned no value.") |
| | | (message "Code block produced no output.")) |
| | | (message "Code block evaluation complete."))) |
| | | (set-marker end nil) |
| | | (when outside-scope (narrow-to-region visible-beg visible-end)) |
| | | (set-marker visible-beg nil) |
| | | (set-marker visible-end nil))))))) |
| | | |
| | | (defun org-babel-remove-result (&optional info keep-keyword) |
| | | "Remove the result of the current source block." |
| | | (interactive) |
| | | (let ((location (org-babel-where-is-src-block-result nil info))) |
| | | (when location |
| | | (save-excursion |
| | | (goto-char location) |
| | | (when (looking-at (concat org-babel-result-regexp ".*$")) |
| | | (delete-region |
| | | (if keep-keyword (line-beginning-position 2) |
| | | (save-excursion |
| | | (skip-chars-backward " \r\t\n") |
| | | (line-beginning-position 2))) |
| | | (progn (forward-line) (org-babel-result-end)))))))) |
| | | |
| | | (defun org-babel-remove-inline-result (&optional datum) |
| | | "Remove the result of the current inline-src-block or babel call. |
| | | The result must be wrapped in a `results' macro to be removed. |
| | | Leading white space is trimmed." |
| | | (interactive) |
| | | (let* ((el (or datum (org-element-context)))) |
| | | (when (memq (org-element-type el) '(inline-src-block inline-babel-call)) |
| | | (org-with-wide-buffer |
| | | (goto-char (org-element-property :end el)) |
| | | (skip-chars-backward " \t") |
| | | (let ((result (save-excursion |
| | | (skip-chars-forward |
| | | " \t\n" |
| | | (org-element-property |
| | | :contents-end (org-element-property :parent el))) |
| | | (org-element-context)))) |
| | | (when (and (eq (org-element-type result) 'macro) |
| | | (string= (org-element-property :key result) "results")) |
| | | (delete-region ; And leading whitespace. |
| | | (point) |
| | | (progn (goto-char (org-element-property :end result)) |
| | | (skip-chars-backward " \t\n") |
| | | (point))))))))) |
| | | |
| | | (defun org-babel-remove-result-one-or-many (x) |
| | | "Remove the result of the current source block. |
| | | If called with a prefix argument, remove all result blocks |
| | | in the buffer." |
| | | (interactive "P") |
| | | (if x |
| | | (org-babel-map-src-blocks nil (org-babel-remove-result)) |
| | | (org-babel-remove-result))) |
| | | |
| | | (defun org-babel-result-end () |
| | | "Return the point at the end of the current set of results." |
| | | (cond ((looking-at-p "^[ \t]*$") (point)) ;no result |
| | | ((looking-at-p (format "^[ \t]*%s[ \t]*$" org-bracket-link-regexp)) |
| | | (line-beginning-position 2)) |
| | | (t |
| | | (let ((element (org-element-at-point))) |
| | | (if (memq (org-element-type element) |
| | | ;; Possible results types. |
| | | '(drawer example-block export-block fixed-width item |
| | | plain-list src-block table)) |
| | | (save-excursion |
| | | (goto-char (min (point-max) ;for narrowed buffers |
| | | (org-element-property :end element))) |
| | | (skip-chars-backward " \r\t\n") |
| | | (line-beginning-position 2)) |
| | | (point)))))) |
| | | |
| | | (defun org-babel-result-to-file (result &optional description) |
| | | "Convert RESULT into an Org link with optional DESCRIPTION. |
| | | If the `default-directory' is different from the containing |
| | | file's directory then expand relative links." |
| | | (when (stringp result) |
| | | (format "[[file:%s]%s]" |
| | | (if (and default-directory |
| | | buffer-file-name |
| | | (not (string= (expand-file-name default-directory) |
| | | (expand-file-name |
| | | (file-name-directory buffer-file-name))))) |
| | | (expand-file-name result default-directory) |
| | | result) |
| | | (if description (concat "[" description "]") "")))) |
| | | |
| | | (defun org-babel-examplify-region (beg end &optional results-switches inline) |
| | | "Comment out region using the inline `==' or `: ' org example quote." |
| | | (interactive "*r") |
| | | (let ((maybe-cap |
| | | (lambda (str) |
| | | (if org-babel-uppercase-example-markers (upcase str) str)))) |
| | | (if inline |
| | | (save-excursion |
| | | (goto-char beg) |
| | | (insert (format org-babel-inline-result-wrap |
| | | (delete-and-extract-region beg end)))) |
| | | (let ((size (count-lines beg end))) |
| | | (save-excursion |
| | | (cond ((= size 0)) ; do nothing for an empty result |
| | | ((< size org-babel-min-lines-for-block-output) |
| | | (goto-char beg) |
| | | (dotimes (_ size) |
| | | (beginning-of-line 1) (insert ": ") (forward-line 1))) |
| | | (t |
| | | (goto-char beg) |
| | | (insert (if results-switches |
| | | (format "%s%s\n" |
| | | (funcall maybe-cap "#+begin_example") |
| | | results-switches) |
| | | (funcall maybe-cap "#+begin_example\n"))) |
| | | (let ((p (point))) |
| | | (if (markerp end) (goto-char end) (forward-char (- end beg))) |
| | | (org-escape-code-in-region p (point))) |
| | | (insert (funcall maybe-cap "#+end_example\n"))))))))) |
| | | |
| | | (defun org-babel-update-block-body (new-body) |
| | | "Update the body of the current code block to NEW-BODY." |
| | | (let ((element (org-element-at-point))) |
| | | (unless (eq (org-element-type element) 'src-block) |
| | | (error "Not in a source block")) |
| | | (goto-char (org-babel-where-is-src-block-head element)) |
| | | (let* ((ind (org-get-indentation)) |
| | | (body-start (line-beginning-position 2)) |
| | | (body (org-element-normalize-string |
| | | (if (or org-src-preserve-indentation |
| | | (org-element-property :preserve-indent element)) |
| | | new-body |
| | | (with-temp-buffer |
| | | (insert (org-remove-indentation new-body)) |
| | | (indent-rigidly |
| | | (point-min) |
| | | (point-max) |
| | | (+ ind org-edit-src-content-indentation)) |
| | | (buffer-string)))))) |
| | | (delete-region body-start |
| | | (org-with-wide-buffer |
| | | (goto-char (org-element-property :end element)) |
| | | (skip-chars-backward " \t\n") |
| | | (line-beginning-position))) |
| | | (goto-char body-start) |
| | | (insert body)))) |
| | | |
| | | (defun org-babel-merge-params (&rest plists) |
| | | "Combine all parameter association lists in PLISTS. |
| | | Later elements of PLISTS override the values of previous elements. |
| | | This takes into account some special considerations for certain |
| | | parameters when merging lists." |
| | | (let* ((results-exclusive-groups |
| | | (mapcar (lambda (group) (mapcar #'symbol-name group)) |
| | | (cdr (assq 'results org-babel-common-header-args-w-values)))) |
| | | (exports-exclusive-groups |
| | | (mapcar (lambda (group) (mapcar #'symbol-name group)) |
| | | (cdr (assq 'exports org-babel-common-header-args-w-values)))) |
| | | (merge |
| | | (lambda (exclusive-groups &rest result-params) |
| | | ;; Maintain exclusivity of mutually exclusive parameters, |
| | | ;; as defined in EXCLUSIVE-GROUPS while merging lists in |
| | | ;; RESULT-PARAMS. |
| | | (let (output) |
| | | (dolist (new-params result-params (delete-dups output)) |
| | | (dolist (new-param new-params) |
| | | (dolist (exclusive-group exclusive-groups) |
| | | (when (member new-param exclusive-group) |
| | | (setq output (cl-remove-if |
| | | (lambda (o) (member o exclusive-group)) |
| | | output)))) |
| | | (push new-param output)))))) |
| | | (variable-index 0) ;Handle positional arguments. |
| | | clearnames |
| | | params ;Final parameters list. |
| | | ;; Some keywords accept multiple values. We need to treat |
| | | ;; them specially. |
| | | vars results exports) |
| | | (dolist (plist plists) |
| | | (dolist (pair plist) |
| | | (pcase pair |
| | | (`(:var . ,value) |
| | | (let ((name (cond |
| | | ((listp value) (car value)) |
| | | ((string-match "^\\([^= \f\t\n\r\v]+\\)[ \t]*=" value) |
| | | (intern (match-string 1 value))) |
| | | (t nil)))) |
| | | (cond |
| | | (name |
| | | (setq vars |
| | | (append (if (not (assoc name vars)) vars |
| | | (push name clearnames) |
| | | (cl-remove-if (lambda (p) (equal name (car p))) |
| | | vars)) |
| | | (list (cons name pair))))) |
| | | ((and vars (nth variable-index vars)) |
| | | ;; If no name is given and we already have named |
| | | ;; variables then assign to named variables in order. |
| | | (let ((name (car (nth variable-index vars)))) |
| | | ;; Clear out colnames and rownames for replace vars. |
| | | (push name clearnames) |
| | | (setf (cddr (nth variable-index vars)) |
| | | (concat (symbol-name name) "=" value)) |
| | | (cl-incf variable-index))) |
| | | (t (error "Variable \"%s\" must be assigned a default value" |
| | | (cdr pair)))))) |
| | | (`(:results . ,value) |
| | | (setq results (funcall merge |
| | | results-exclusive-groups |
| | | results |
| | | (split-string |
| | | (if (stringp value) value (eval value t)))))) |
| | | (`(,(or :file :file-ext) . ,value) |
| | | ;; `:file' and `:file-ext' are regular keywords but they |
| | | ;; imply a "file" `:results' and a "results" `:exports'. |
| | | (when value |
| | | (setq results |
| | | (funcall merge results-exclusive-groups results '("file"))) |
| | | (unless (or (member "both" exports) |
| | | (member "none" exports) |
| | | (member "code" exports)) |
| | | (setq exports |
| | | (funcall merge |
| | | exports-exclusive-groups exports '("results")))) |
| | | (push pair params))) |
| | | (`(:exports . ,value) |
| | | (setq exports (funcall merge |
| | | exports-exclusive-groups |
| | | exports |
| | | (split-string (or value ""))))) |
| | | ;; Regular keywords: any value overwrites the previous one. |
| | | (_ (setq params (cons pair (assq-delete-all (car pair) params))))))) |
| | | ;; Handle `:var' and clear out colnames and rownames for replaced |
| | | ;; variables. |
| | | (setq params (nconc (mapcar (lambda (v) (cons :var (cddr v))) vars) |
| | | params)) |
| | | (dolist (name clearnames) |
| | | (dolist (param '(:colname-names :rowname-names)) |
| | | (when (assq param params) |
| | | (setf (cdr (assq param params)) |
| | | (cl-remove-if (lambda (pair) (equal name (car pair))) |
| | | (cdr (assq param params)))) |
| | | (setq params |
| | | (cl-remove-if (lambda (pair) (and (equal (car pair) param) |
| | | (null (cdr pair)))) |
| | | params))))) |
| | | ;; Handle other special keywords, which accept multiple values. |
| | | (setq params (nconc (list (cons :results (mapconcat #'identity results " ")) |
| | | (cons :exports (mapconcat #'identity exports " "))) |
| | | params)) |
| | | ;; Return merged params. |
| | | params)) |
| | | |
| | | (defvar org-babel-use-quick-and-dirty-noweb-expansion nil |
| | | "Set to true to use regular expressions to expand noweb references. |
| | | This results in much faster noweb reference expansion but does |
| | | not properly allow code blocks to inherit the \":noweb-ref\" |
| | | header argument from buffer or subtree wide properties.") |
| | | |
| | | (defun org-babel-noweb-p (params context) |
| | | "Check if PARAMS require expansion in CONTEXT. |
| | | CONTEXT may be one of :tangle, :export or :eval." |
| | | (let ((allowed-values (cl-case context |
| | | (:tangle '("yes" "tangle" "no-export" "strip-export")) |
| | | (:eval '("yes" "no-export" "strip-export" "eval")) |
| | | (:export '("yes"))))) |
| | | (cl-some (lambda (v) (member v allowed-values)) |
| | | (split-string (or (cdr (assq :noweb params)) ""))))) |
| | | |
| | | (defun org-babel-expand-noweb-references (&optional info parent-buffer) |
| | | "Expand Noweb references in the body of the current source code block. |
| | | |
| | | For example the following reference would be replaced with the |
| | | body of the source-code block named `example-block'. |
| | | |
| | | <<example-block>> |
| | | |
| | | Note that any text preceding the <<foo>> construct on a line will |
| | | be interposed between the lines of the replacement text. So for |
| | | example if <<foo>> is placed behind a comment, then the entire |
| | | replacement text will also be commented. |
| | | |
| | | This function must be called from inside of the buffer containing |
| | | the source-code block which holds BODY. |
| | | |
| | | In addition the following syntax can be used to insert the |
| | | results of evaluating the source-code block named `example-block'. |
| | | |
| | | <<example-block()>> |
| | | |
| | | Any optional arguments can be passed to example-block by placing |
| | | the arguments inside the parenthesis following the convention |
| | | defined by `org-babel-lob'. For example |
| | | |
| | | <<example-block(a=9)>> |
| | | |
| | | would set the value of argument \"a\" equal to \"9\". Note that |
| | | these arguments are not evaluated in the current source-code |
| | | block but are passed literally to the \"example-block\"." |
| | | (let* ((parent-buffer (or parent-buffer (current-buffer))) |
| | | (info (or info (org-babel-get-src-block-info 'light))) |
| | | (lang (nth 0 info)) |
| | | (body (nth 1 info)) |
| | | (ob-nww-start org-babel-noweb-wrap-start) |
| | | (ob-nww-end org-babel-noweb-wrap-end) |
| | | (comment (string= "noweb" (cdr (assq :comments (nth 2 info))))) |
| | | (rx-prefix (concat "\\(" org-babel-src-name-regexp "\\|" |
| | | ":noweb-ref[ \t]+" "\\)")) |
| | | (new-body "") |
| | | (nb-add (lambda (text) (setq new-body (concat new-body text)))) |
| | | (c-wrap (lambda (text) |
| | | (with-temp-buffer |
| | | (funcall (intern (concat lang "-mode"))) |
| | | (comment-region (point) (progn (insert text) (point))) |
| | | (org-trim (buffer-string))))) |
| | | index source-name evaluate prefix) |
| | | (with-temp-buffer |
| | | (setq-local org-babel-noweb-wrap-start ob-nww-start) |
| | | (setq-local org-babel-noweb-wrap-end ob-nww-end) |
| | | (insert body) (goto-char (point-min)) |
| | | (setq index (point)) |
| | | (while (and (re-search-forward (org-babel-noweb-wrap) nil t)) |
| | | (save-match-data (setf source-name (match-string 1))) |
| | | (save-match-data (setq evaluate (string-match "(.*)" source-name))) |
| | | (save-match-data |
| | | (setq prefix |
| | | (buffer-substring (match-beginning 0) |
| | | (save-excursion |
| | | (beginning-of-line 1) (point))))) |
| | | ;; add interval to new-body (removing noweb reference) |
| | | (goto-char (match-beginning 0)) |
| | | (funcall nb-add (buffer-substring index (point))) |
| | | (goto-char (match-end 0)) |
| | | (setq index (point)) |
| | | (funcall |
| | | nb-add |
| | | (with-current-buffer parent-buffer |
| | | (save-restriction |
| | | (widen) |
| | | (mapconcat ;; Interpose PREFIX between every line. |
| | | #'identity |
| | | (split-string |
| | | (if evaluate |
| | | (let ((raw (org-babel-ref-resolve source-name))) |
| | | (if (stringp raw) raw (format "%S" raw))) |
| | | (or |
| | | ;; Retrieve from the library of babel. |
| | | (nth 2 (assoc (intern source-name) |
| | | org-babel-library-of-babel)) |
| | | ;; Return the contents of headlines literally. |
| | | (save-excursion |
| | | (when (org-babel-ref-goto-headline-id source-name) |
| | | (org-babel-ref-headline-body))) |
| | | ;; Find the expansion of reference in this buffer. |
| | | (let ((rx (concat rx-prefix source-name "[ \t\n]")) |
| | | expansion) |
| | | (save-excursion |
| | | (goto-char (point-min)) |
| | | (if org-babel-use-quick-and-dirty-noweb-expansion |
| | | (while (re-search-forward rx nil t) |
| | | (let* ((i (org-babel-get-src-block-info 'light)) |
| | | (body (if (org-babel-noweb-p (nth 2 i) :eval) |
| | | (org-babel-expand-noweb-references i) |
| | | (nth 1 i))) |
| | | (sep (or (cdr (assq :noweb-sep (nth 2 i))) |
| | | "\n")) |
| | | (full (if comment |
| | | (let ((cs (org-babel-tangle-comment-links i))) |
| | | (concat (funcall c-wrap (car cs)) "\n" |
| | | body "\n" |
| | | (funcall c-wrap (cadr cs)))) |
| | | body))) |
| | | (setq expansion (cons sep (cons full expansion))))) |
| | | (org-babel-map-src-blocks nil |
| | | (let ((i (let ((org-babel-current-src-block-location (point))) |
| | | (org-babel-get-src-block-info 'light)))) |
| | | (when (equal (or (cdr (assq :noweb-ref (nth 2 i))) |
| | | (nth 4 i)) |
| | | source-name) |
| | | (let* ((body (if (org-babel-noweb-p (nth 2 i) :eval) |
| | | (org-babel-expand-noweb-references i) |
| | | (nth 1 i))) |
| | | (sep (or (cdr (assq :noweb-sep (nth 2 i))) |
| | | "\n")) |
| | | (full (if comment |
| | | (let ((cs (org-babel-tangle-comment-links i))) |
| | | (concat (funcall c-wrap (car cs)) "\n" |
| | | body "\n" |
| | | (funcall c-wrap (cadr cs)))) |
| | | body))) |
| | | (setq expansion |
| | | (cons sep (cons full expansion))))))))) |
| | | (and expansion |
| | | (mapconcat #'identity (nreverse (cdr expansion)) ""))) |
| | | ;; Possibly raise an error if named block doesn't exist. |
| | | (if (or org-babel-noweb-error-all-langs |
| | | (member lang org-babel-noweb-error-langs)) |
| | | (error "%s" (concat |
| | | (org-babel-noweb-wrap source-name) |
| | | "could not be resolved (see " |
| | | "`org-babel-noweb-error-langs')")) |
| | | ""))) |
| | | "[\n\r]") (concat "\n" prefix)))))) |
| | | (funcall nb-add (buffer-substring index (point-max)))) |
| | | new-body)) |
| | | |
| | | (defun org-babel--script-escape-inner (str) |
| | | (let (in-single in-double backslash out) |
| | | (mapc |
| | | (lambda (ch) |
| | | (setq |
| | | out |
| | | (if backslash |
| | | (progn |
| | | (setq backslash nil) |
| | | (cond |
| | | ((and in-single (eq ch ?')) |
| | | ;; Escaped single quote inside single quoted string: |
| | | ;; emit just a single quote, since we've changed the |
| | | ;; outer quotes to double. |
| | | (cons ch out)) |
| | | ((eq ch ?\") |
| | | ;; Escaped double quote |
| | | (if in-single |
| | | ;; This should be interpreted as backslash+quote, |
| | | ;; not an escape. Emit a three backslashes |
| | | ;; followed by a quote (because one layer of |
| | | ;; quoting will be stripped by `org-babel-read'). |
| | | (append (list ch ?\\ ?\\ ?\\) out) |
| | | ;; Otherwise we are in a double-quoted string. Emit |
| | | ;; a single escaped quote |
| | | (append (list ch ?\\) out))) |
| | | ((eq ch ?\\) |
| | | ;; Escaped backslash: emit a single escaped backslash |
| | | (append (list ?\\ ?\\) out)) |
| | | ;; Other: emit a quoted backslash followed by whatever |
| | | ;; the character was (because one layer of quoting will |
| | | ;; be stripped by `org-babel-read'). |
| | | (t (append (list ch ?\\ ?\\) out)))) |
| | | (cl-case ch |
| | | (?\[ (if (or in-double in-single) |
| | | (cons ?\[ out) |
| | | (cons ?\( out))) |
| | | (?\] (if (or in-double in-single) |
| | | (cons ?\] out) |
| | | (cons ?\) out))) |
| | | (?\{ (if (or in-double in-single) |
| | | (cons ?\{ out) |
| | | (cons ?\( out))) |
| | | (?\} (if (or in-double in-single) |
| | | (cons ?\} out) |
| | | (cons ?\) out))) |
| | | (?, (if (or in-double in-single) |
| | | (cons ?, out) (cons ?\s out))) |
| | | (?\' (if in-double |
| | | (cons ?\' out) |
| | | (setq in-single (not in-single)) (cons ?\" out))) |
| | | (?\" (if in-single |
| | | (append (list ?\" ?\\) out) |
| | | (setq in-double (not in-double)) (cons ?\" out))) |
| | | (?\\ (unless (or in-single in-double) |
| | | (error "Can't handle backslash outside string in `org-babel-script-escape'")) |
| | | (setq backslash t) |
| | | out) |
| | | (t (cons ch out)))))) |
| | | (string-to-list str)) |
| | | (when (or in-single in-double) |
| | | (error "Unterminated string in `org-babel-script-escape'")) |
| | | (apply #'string (reverse out)))) |
| | | |
| | | (defun org-babel-script-escape (str &optional force) |
| | | "Safely convert tables into elisp lists." |
| | | (unless (stringp str) |
| | | (error "`org-babel-script-escape' expects a string")) |
| | | (let ((escaped |
| | | (cond |
| | | ((and (> (length str) 2) |
| | | (or (and (string-equal "[" (substring str 0 1)) |
| | | (string-equal "]" (substring str -1))) |
| | | (and (string-equal "{" (substring str 0 1)) |
| | | (string-equal "}" (substring str -1))) |
| | | (and (string-equal "(" (substring str 0 1)) |
| | | (string-equal ")" (substring str -1))))) |
| | | |
| | | (concat "'" (org-babel--script-escape-inner str))) |
| | | ((or force |
| | | (and (> (length str) 2) |
| | | (or (and (string-equal "'" (substring str 0 1)) |
| | | (string-equal "'" (substring str -1))) |
| | | ;; We need to pass double-quoted strings |
| | | ;; through the backslash-twiddling bits, even |
| | | ;; though we don't need to change their |
| | | ;; delimiters. |
| | | (and (string-equal "\"" (substring str 0 1)) |
| | | (string-equal "\"" (substring str -1)))))) |
| | | (org-babel--script-escape-inner str)) |
| | | (t str)))) |
| | | (condition-case nil (org-babel-read escaped) (error escaped)))) |
| | | |
| | | (defun org-babel-read (cell &optional inhibit-lisp-eval) |
| | | "Convert the string value of CELL to a number if appropriate. |
| | | Otherwise if CELL looks like lisp (meaning it starts with a |
| | | \"(\", \"\\='\", \"\\=`\" or a \"[\") then read and evaluate it as |
| | | lisp, otherwise return it unmodified as a string. Optional |
| | | argument INHIBIT-LISP-EVAL inhibits lisp evaluation for |
| | | situations in which is it not appropriate." |
| | | (cond ((not (org-string-nw-p cell)) cell) |
| | | ((org-babel--string-to-number cell)) |
| | | ((and (not inhibit-lisp-eval) |
| | | (or (memq (string-to-char cell) '(?\( ?' ?` ?\[)) |
| | | (string= cell "*this*"))) |
| | | (eval (read cell) t)) |
| | | ((eq (string-to-char cell) ?\") (read cell)) |
| | | (t (org-no-properties cell)))) |
| | | |
| | | (defun org-babel--string-to-number (string) |
| | | "If STRING represents a number return its value. |
| | | Otherwise return nil." |
| | | (and (string-match-p "\\`-?[0-9]*\\.?[0-9]*\\'" string) |
| | | (string-to-number string))) |
| | | |
| | | (defun org-babel-import-elisp-from-file (file-name &optional separator) |
| | | "Read the results located at FILE-NAME into an elisp table. |
| | | If the table is trivial, then return it as a scalar." |
| | | (let (result) |
| | | (save-window-excursion |
| | | (with-temp-buffer |
| | | (condition-case err |
| | | (progn |
| | | (org-table-import file-name separator) |
| | | (delete-file file-name) |
| | | (setq result (mapcar (lambda (row) |
| | | (mapcar #'org-babel-string-read row)) |
| | | (org-table-to-lisp)))) |
| | | (error (message "Error reading results: %s" err) nil))) |
| | | (if (null (cdr result)) ;; if result is trivial vector, then scalarize it |
| | | (if (consp (car result)) |
| | | (if (null (cdr (car result))) |
| | | (caar result) |
| | | result) |
| | | (car result)) |
| | | result)))) |
| | | |
| | | (defun org-babel-string-read (cell) |
| | | "Strip nested \"s from around strings." |
| | | (org-babel-read (or (and (stringp cell) |
| | | (string-match "\\\"\\(.+\\)\\\"" cell) |
| | | (match-string 1 cell)) |
| | | cell) t)) |
| | | |
| | | (defun org-babel-chomp (string &optional regexp) |
| | | "Strip a trailing space or carriage return from STRING. |
| | | The default regexp used is \"[ \\f\\t\\n\\r\\v]\" but another one |
| | | can be specified as the REGEXP argument." |
| | | (let ((regexp (or regexp "[ \f\t\n\r\v]"))) |
| | | (while (and (> (length string) 0) |
| | | (string-match regexp (substring string -1))) |
| | | (setq string (substring string 0 -1))) |
| | | string)) |
| | | |
| | | (defun org-babel-process-file-name (name &optional no-quote-p) |
| | | "Prepare NAME to be used in an external process. |
| | | If NAME specifies a remote location, the remote portion of the |
| | | name is removed, since in that case the process will be executing |
| | | remotely. The file name is then processed by `expand-file-name'. |
| | | Unless second argument NO-QUOTE-P is non-nil, the file name is |
| | | additionally processed by `shell-quote-argument'" |
| | | (let ((f (org-babel-local-file-name (expand-file-name name)))) |
| | | (if no-quote-p f (shell-quote-argument f)))) |
| | | |
| | | (defvar org-babel-temporary-directory) |
| | | (unless (or noninteractive (boundp 'org-babel-temporary-directory)) |
| | | (defvar org-babel-temporary-directory |
| | | (or (and (boundp 'org-babel-temporary-directory) |
| | | (file-exists-p org-babel-temporary-directory) |
| | | org-babel-temporary-directory) |
| | | (make-temp-file "babel-" t)) |
| | | "Directory to hold temporary files created to execute code blocks. |
| | | Used by `org-babel-temp-file'. This directory will be removed on |
| | | Emacs shutdown.")) |
| | | |
| | | (defcustom org-babel-remote-temporary-directory "/tmp/" |
| | | "Directory to hold temporary files on remote hosts." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defmacro org-babel-result-cond (result-params scalar-form &rest table-forms) |
| | | "Call the code to parse raw string results according to RESULT-PARAMS." |
| | | (declare (indent 1) |
| | | (debug (form form &rest form))) |
| | | (org-with-gensyms (params) |
| | | `(let ((,params ,result-params)) |
| | | (unless (member "none" ,params) |
| | | (if (or (member "scalar" ,params) |
| | | (member "verbatim" ,params) |
| | | (member "html" ,params) |
| | | (member "code" ,params) |
| | | (member "pp" ,params) |
| | | (member "file" ,params) |
| | | (and (or (member "output" ,params) |
| | | (member "raw" ,params) |
| | | (member "org" ,params) |
| | | (member "drawer" ,params)) |
| | | (not (member "table" ,params)))) |
| | | ,scalar-form |
| | | ,@table-forms))))) |
| | | (def-edebug-spec org-babel-result-cond (form form body)) |
| | | |
| | | (defun org-babel-temp-file (prefix &optional suffix) |
| | | "Create a temporary file in the `org-babel-temporary-directory'. |
| | | Passes PREFIX and SUFFIX directly to `make-temp-file' with the |
| | | value of `temporary-file-directory' temporarily set to the value |
| | | of `org-babel-temporary-directory'." |
| | | (if (file-remote-p default-directory) |
| | | (let ((prefix |
| | | (concat (file-remote-p default-directory) |
| | | (expand-file-name |
| | | prefix org-babel-remote-temporary-directory)))) |
| | | (make-temp-file prefix nil suffix)) |
| | | (let ((temporary-file-directory |
| | | (or (and (boundp 'org-babel-temporary-directory) |
| | | (file-exists-p org-babel-temporary-directory) |
| | | org-babel-temporary-directory) |
| | | temporary-file-directory))) |
| | | (make-temp-file prefix nil suffix)))) |
| | | |
| | | (defun org-babel-remove-temporary-directory () |
| | | "Remove `org-babel-temporary-directory' on Emacs shutdown." |
| | | (when (and (boundp 'org-babel-temporary-directory) |
| | | (file-exists-p org-babel-temporary-directory)) |
| | | ;; taken from `delete-directory' in files.el |
| | | (condition-case nil |
| | | (progn |
| | | (mapc (lambda (file) |
| | | ;; This test is equivalent to |
| | | ;; (and (file-directory-p fn) (not (file-symlink-p fn))) |
| | | ;; but more efficient |
| | | (if (eq t (car (file-attributes file))) |
| | | (delete-directory file) |
| | | (delete-file file))) |
| | | ;; We do not want to delete "." and "..". |
| | | (directory-files org-babel-temporary-directory 'full |
| | | "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")) |
| | | (delete-directory org-babel-temporary-directory)) |
| | | (error |
| | | (message "Failed to remove temporary Org-babel directory %s" |
| | | (if (boundp 'org-babel-temporary-directory) |
| | | org-babel-temporary-directory |
| | | "[directory not defined]")))))) |
| | | |
| | | (add-hook 'kill-emacs-hook 'org-babel-remove-temporary-directory) |
| | | |
| | | (defun org-babel-one-header-arg-safe-p (pair safe-list) |
| | | "Determine if the PAIR is a safe babel header arg according to SAFE-LIST. |
| | | |
| | | For the format of SAFE-LIST, see `org-babel-safe-header-args'." |
| | | (and (consp pair) |
| | | (keywordp (car pair)) |
| | | (stringp (cdr pair)) |
| | | (or |
| | | (memq (car pair) safe-list) |
| | | (let ((entry (assq (car pair) safe-list))) |
| | | (and entry |
| | | (consp entry) |
| | | (cond ((functionp (cdr entry)) |
| | | (funcall (cdr entry) (cdr pair))) |
| | | ((listp (cdr entry)) |
| | | (member (cdr pair) (cdr entry))) |
| | | (t nil))))))) |
| | | |
| | | (defun org-babel-generate-file-param (src-name params) |
| | | "Calculate the filename for source block results. |
| | | |
| | | The directory is calculated from the :output-dir property of the |
| | | source block; if not specified, use the current directory. |
| | | |
| | | If the source block has a #+NAME and the :file parameter does not |
| | | contain any period characters, then the :file parameter is |
| | | treated as an extension, and the output file name is the |
| | | concatenation of the directory (as calculated above), the block |
| | | name, a period, and the parameter value as a file extension. |
| | | Otherwise, the :file parameter is treated as a full file name, |
| | | and the output file name is the directory (as calculated above) |
| | | plus the parameter value." |
| | | (let* ((file-cons (assq :file params)) |
| | | (file-ext-cons (assq :file-ext params)) |
| | | (file-ext (cdr-safe file-ext-cons)) |
| | | (dir (cdr-safe (assq :output-dir params))) |
| | | fname) |
| | | ;; create the output-dir if it does not exist |
| | | (when dir |
| | | (make-directory dir t)) |
| | | (if file-cons |
| | | ;; :file given; add :output-dir if given |
| | | (when dir |
| | | (setcdr file-cons (concat (file-name-as-directory dir) (cdr file-cons)))) |
| | | ;; :file not given; compute from name and :file-ext if possible |
| | | (when (and src-name file-ext) |
| | | (if dir |
| | | (setq fname (concat (file-name-as-directory (or dir "")) |
| | | src-name "." file-ext)) |
| | | (setq fname (concat src-name "." file-ext))) |
| | | (setq params (cons (cons :file fname) params)))) |
| | | params)) |
| | | |
| | | (defun org-babel-graphical-output-file (params) |
| | | "File where a babel block should send graphical output, per PARAMS. |
| | | Return nil if no graphical output is expected. Raise an error if |
| | | the output file is ill-defined." |
| | | (let ((file (cdr (assq :file params)))) |
| | | (cond (file (and (member "graphics" (cdr (assq :result-params params))) |
| | | file)) |
| | | ((assq :file-ext params) |
| | | (user-error ":file-ext given but no :file generated; did you forget \ |
| | | to name a block?")) |
| | | (t (user-error "No :file header argument given; cannot create \ |
| | | graphical result"))))) |
| | | |
| | | (defun org-babel-make-language-alias (new old) |
| | | "Make source blocks of type NEW aliases for those of type OLD. |
| | | |
| | | NEW and OLD should be strings. This function should be called |
| | | after the babel API for OLD-type source blocks is fully defined. |
| | | |
| | | Callers of this function will probably want to add an entry to |
| | | `org-src-lang-modes' as well." |
| | | (dolist (fn '("execute" "expand-body" "prep-session" |
| | | "variable-assignments" "load-session")) |
| | | (let ((sym (intern-soft (concat "org-babel-" fn ":" old)))) |
| | | (when (and sym (fboundp sym)) |
| | | (defalias (intern (concat "org-babel-" fn ":" new)) sym)))) |
| | | ;; Technically we don't need a `dolist' for just one variable, but |
| | | ;; we keep it for symmetry/ease of future expansion. |
| | | (dolist (var '("default-header-args")) |
| | | (let ((sym (intern-soft (concat "org-babel-" var ":" old)))) |
| | | (when (and sym (boundp sym)) |
| | | (defvaralias (intern (concat "org-babel-" var ":" new)) sym))))) |
| | | |
| | | (defun org-babel-strip-quotes (string) |
| | | "Strip \\\"s from around a string, if applicable." |
| | | (org-unbracket-string "\"" "\"" string)) |
| | | |
| | | (provide 'ob-core) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; ob-core.el ends here |
New file |
| | |
| | | ;;; ob-css.el --- Babel Functions for CSS -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Since CSS can't be executed, this file exists solely for tangling |
| | | ;; CSS from Org files. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:css '()) |
| | | |
| | | (defun org-babel-execute:css (body _params) |
| | | "Execute a block of CSS code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | body) |
| | | |
| | | (defun org-babel-prep-session:css (_session _params) |
| | | "Return an error if the :session header argument is set. |
| | | CSS does not support sessions." |
| | | (error "CSS sessions are nonsensical")) |
| | | |
| | | (provide 'ob-css) |
| | | |
| | | |
| | | |
| | | ;;; ob-css.el ends here |
New file |
| | |
| | | ;;; ob-ditaa.el --- Babel Functions for ditaa -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating ditaa source code. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in ditaa |
| | | ;; |
| | | ;; 2) we are generally only going to return results of type "file" |
| | | ;; |
| | | ;; 3) we are adding the "file" and "cmdline" header arguments |
| | | ;; |
| | | ;; 4) there are no variables (at least for now) |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'org-compat) |
| | | |
| | | (defvar org-babel-default-header-args:ditaa |
| | | '((:results . "file") |
| | | (:exports . "results") |
| | | (:java . "-Dfile.encoding=UTF-8")) |
| | | "Default arguments for evaluating a ditaa source block.") |
| | | |
| | | (defcustom org-ditaa-jar-path (expand-file-name |
| | | "ditaa.jar" |
| | | (file-name-as-directory |
| | | (expand-file-name |
| | | "scripts" |
| | | (file-name-as-directory |
| | | (expand-file-name |
| | | "../contrib" |
| | | (file-name-directory (org-find-library-dir "org"))))))) |
| | | "Path to the ditaa jar executable." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-ditaa-java-cmd "java" |
| | | "Java executable to use when evaluating ditaa blocks." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-ditaa-eps-jar-path |
| | | (expand-file-name "DitaaEps.jar" (file-name-directory org-ditaa-jar-path)) |
| | | "Path to the DitaaEps.jar executable." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'string) |
| | | |
| | | (defcustom org-ditaa-jar-option "-jar" |
| | | "Option for the ditaa jar file. |
| | | Do not leave leading or trailing spaces in this string." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-execute:ditaa (body params) |
| | | "Execute a block of Ditaa code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((out-file (or (cdr (assq :file params)) |
| | | (error |
| | | "ditaa code block requires :file header argument"))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (java (cdr (assq :java params))) |
| | | (in-file (org-babel-temp-file "ditaa-")) |
| | | (eps (cdr (assq :eps params))) |
| | | (eps-file (when eps |
| | | (org-babel-process-file-name (concat in-file ".eps")))) |
| | | (pdf-cmd (when (and (or (string= (file-name-extension out-file) "pdf") |
| | | (cdr (assq :pdf params)))) |
| | | (concat |
| | | "epstopdf" |
| | | " " eps-file |
| | | " -o=" (org-babel-process-file-name out-file)))) |
| | | (cmd (concat org-babel-ditaa-java-cmd |
| | | " " java " " org-ditaa-jar-option " " |
| | | (shell-quote-argument |
| | | (expand-file-name |
| | | (if eps org-ditaa-eps-jar-path org-ditaa-jar-path))) |
| | | " " cmdline |
| | | " " (org-babel-process-file-name in-file) |
| | | " " (if pdf-cmd |
| | | eps-file |
| | | (org-babel-process-file-name out-file))))) |
| | | (unless (file-exists-p org-ditaa-jar-path) |
| | | (error "Could not find ditaa.jar at %s" org-ditaa-jar-path)) |
| | | (with-temp-file in-file (insert body)) |
| | | (message cmd) (shell-command cmd) |
| | | (when pdf-cmd (message pdf-cmd) (shell-command pdf-cmd)) |
| | | nil)) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:ditaa (_session _params) |
| | | "Return an error because ditaa does not support sessions." |
| | | (error "Ditaa does not support sessions")) |
| | | |
| | | (provide 'ob-ditaa) |
| | | |
| | | |
| | | |
| | | ;;; ob-ditaa.el ends here |
New file |
| | |
| | | ;;; ob-dot.el --- Babel Functions for dot -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating dot source code. |
| | | ;; |
| | | ;; For information on dot see http://www.graphviz.org/ |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in dot |
| | | ;; |
| | | ;; 2) we are generally only going to return results of type "file" |
| | | ;; |
| | | ;; 3) we are adding the "file" and "cmdline" header arguments |
| | | ;; |
| | | ;; 4) there are no variables (at least for now) |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:dot |
| | | '((:results . "file") (:exports . "results")) |
| | | "Default arguments to use when evaluating a dot source block.") |
| | | |
| | | (defun org-babel-expand-body:dot (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (mapc |
| | | (lambda (pair) |
| | | (let ((name (symbol-name (car pair))) |
| | | (value (cdr pair))) |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (concat "$" (regexp-quote name)) |
| | | (if (stringp value) value (format "%S" value)) |
| | | body |
| | | t |
| | | t)))) |
| | | vars) |
| | | body)) |
| | | |
| | | (defun org-babel-execute:dot (body params) |
| | | "Execute a block of Dot code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((out-file (cdr (or (assq :file params) |
| | | (error "You need to specify a :file parameter")))) |
| | | (cmdline (or (cdr (assq :cmdline params)) |
| | | (format "-T%s" (file-name-extension out-file)))) |
| | | (cmd (or (cdr (assq :cmd params)) "dot")) |
| | | (in-file (org-babel-temp-file "dot-"))) |
| | | (with-temp-file in-file |
| | | (insert (org-babel-expand-body:dot body params))) |
| | | (org-babel-eval |
| | | (concat cmd |
| | | " " (org-babel-process-file-name in-file) |
| | | " " cmdline |
| | | " -o " (org-babel-process-file-name out-file)) "") |
| | | nil)) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:dot (_session _params) |
| | | "Return an error because Dot does not support sessions." |
| | | (error "Dot does not support sessions")) |
| | | |
| | | (provide 'ob-dot) |
| | | |
| | | |
| | | |
| | | ;;; ob-dot.el ends here |
New file |
| | |
| | | ;;; ob-ebnf.el --- Babel Functions for EBNF -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2013-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Michael Gauland |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | ;; Version: 1.00 |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;;; Org-Babel support for using ebnf2ps to generate encapsulated postscript |
| | | ;;; railroad diagrams. It recognizes these arguments: |
| | | ;;; |
| | | ;;; :file is required; it must include the extension '.eps.' All the rules |
| | | ;;; in the block will be drawn in the same file. This is done by |
| | | ;;; inserting a '[<file>' comment at the start of the block (see the |
| | | ;;; documentation for ebnf-eps-buffer for more information). |
| | | ;;; |
| | | ;;; :style specifies a value in ebnf-style-database. This provides the |
| | | ;;; ability to customize the output. The style can also specify the |
| | | ;;; grammar syntax (by setting ebnf-syntax); note that only ebnf, |
| | | ;;; iso-ebnf, and yacc are supported by this file. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'ebnf2ps) |
| | | |
| | | ;; optionally declare default header arguments for this language |
| | | (defvar org-babel-default-header-args:ebnf '((:style . nil))) |
| | | |
| | | ;; Use ebnf-eps-buffer to produce an encapsulated postscript file. |
| | | ;; |
| | | (defun org-babel-execute:ebnf (body params) |
| | | "Execute a block of Ebnf code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (save-excursion |
| | | (let* ((dest-file (cdr (assq :file params))) |
| | | (dest-dir (file-name-directory dest-file)) |
| | | (dest-root (file-name-sans-extension |
| | | (file-name-nondirectory dest-file))) |
| | | (style (cdr (assq :style params))) |
| | | (result nil)) |
| | | (with-temp-buffer |
| | | (when style (ebnf-push-style style)) |
| | | (let ((comment-format |
| | | (cond ((string= ebnf-syntax 'yacc) "/*%s*/") |
| | | ((string= ebnf-syntax 'ebnf) ";%s") |
| | | ((string= ebnf-syntax 'iso-ebnf) "(*%s*)") |
| | | (t (setq result |
| | | (format "EBNF error: format %s not supported." |
| | | ebnf-syntax)))))) |
| | | (setq ebnf-eps-prefix dest-dir) |
| | | (insert (format comment-format (format "[%s" dest-root))) |
| | | (newline) |
| | | (insert body) |
| | | (newline) |
| | | (insert (format comment-format (format "]%s" dest-root))) |
| | | (ebnf-eps-buffer) |
| | | (when style (ebnf-pop-style)))) |
| | | result))) |
| | | |
| | | (provide 'ob-ebnf) |
| | | ;;; ob-ebnf.el ends here |
New file |
| | |
| | | ;;; ob-emacs-lisp.el --- Babel Functions for Emacs-lisp Code -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating emacs-lisp code |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defconst org-babel-header-args:emacs-lisp '((lexical . :any)) |
| | | "Emacs-lisp specific header arguments.") |
| | | |
| | | (defvar org-babel-default-header-args:emacs-lisp '((:lexical . "no")) |
| | | "Default arguments for evaluating an emacs-lisp source block. |
| | | |
| | | A value of \"yes\" or t causes src blocks to be eval'd using |
| | | lexical scoping. It can also be an alist mapping symbols to |
| | | their value. It is used as the optional LEXICAL argument to |
| | | `eval', which see.") |
| | | |
| | | (defun org-babel-expand-body:emacs-lisp (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (print-level nil) |
| | | (print-length nil)) |
| | | (if (null vars) (concat body "\n") |
| | | (format "(let (%s)\n%s\n)" |
| | | (mapconcat |
| | | (lambda (var) |
| | | (format "%S" (print `(,(car var) ',(cdr var))))) |
| | | vars "\n ") |
| | | body)))) |
| | | |
| | | (defun org-babel-execute:emacs-lisp (body params) |
| | | "Execute a block of emacs-lisp code with Babel." |
| | | (save-window-excursion |
| | | (let* ((lexical (cdr (assq :lexical params))) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (body (format (if (member "output" result-params) |
| | | "(with-output-to-string %s\n)" |
| | | "(progn %s\n)") |
| | | (org-babel-expand-body:emacs-lisp body params))) |
| | | (result (eval (read (if (or (member "code" result-params) |
| | | (member "pp" result-params)) |
| | | (concat "(pp " body ")") |
| | | body)) |
| | | (if (listp lexical) |
| | | lexical |
| | | (member lexical '("yes" "t")))))) |
| | | (org-babel-result-cond result-params |
| | | (let ((print-level nil) |
| | | (print-length nil)) |
| | | (if (or (member "scalar" result-params) |
| | | (member "verbatim" result-params)) |
| | | (format "%S" result) |
| | | (format "%s" result))) |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))))) |
| | | |
| | | (org-babel-make-language-alias "elisp" "emacs-lisp") |
| | | |
| | | (provide 'ob-emacs-lisp) |
| | | |
| | | |
| | | |
| | | ;;; ob-emacs-lisp.el ends here |
New file |
| | |
| | | ;;; ob-eval.el --- Babel Functions for External Code Evaluation -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, comint |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; These functions build existing Emacs support for executing external |
| | | ;; shell commands. |
| | | |
| | | ;;; Code: |
| | | (require 'org-macs) |
| | | |
| | | (defvar org-babel-error-buffer-name "*Org-Babel Error Output*") |
| | | (declare-function org-babel-temp-file "ob-core" (prefix &optional suffix)) |
| | | |
| | | (defun org-babel-eval-error-notify (exit-code stderr) |
| | | "Open a buffer to display STDERR and a message with the value of EXIT-CODE." |
| | | (let ((buf (get-buffer-create org-babel-error-buffer-name))) |
| | | (with-current-buffer buf |
| | | (goto-char (point-max)) |
| | | (save-excursion (insert stderr))) |
| | | (display-buffer buf)) |
| | | (message "Babel evaluation exited with code %S" exit-code)) |
| | | |
| | | (defun org-babel-eval (cmd body) |
| | | "Run CMD on BODY. |
| | | If CMD succeeds then return its results, otherwise display |
| | | STDERR with `org-babel-eval-error-notify'." |
| | | (let ((err-buff (get-buffer-create " *Org-Babel Error*")) exit-code) |
| | | (with-current-buffer err-buff (erase-buffer)) |
| | | (with-temp-buffer |
| | | (insert body) |
| | | (setq exit-code |
| | | (org-babel--shell-command-on-region |
| | | (point-min) (point-max) cmd err-buff)) |
| | | (if (or (not (numberp exit-code)) (> exit-code 0)) |
| | | (progn |
| | | (with-current-buffer err-buff |
| | | (org-babel-eval-error-notify exit-code (buffer-string))) |
| | | (save-excursion |
| | | (when (get-buffer org-babel-error-buffer-name) |
| | | (with-current-buffer org-babel-error-buffer-name |
| | | (unless (derived-mode-p 'compilation-mode) |
| | | (compilation-mode)) |
| | | ;; Compilation-mode enforces read-only, but Babel expects the buffer modifiable. |
| | | (setq buffer-read-only nil)))) |
| | | nil) |
| | | (buffer-string))))) |
| | | |
| | | (defun org-babel-eval-read-file (file) |
| | | "Return the contents of FILE as a string." |
| | | (with-temp-buffer (insert-file-contents file) |
| | | (buffer-string))) |
| | | |
| | | (defun org-babel--shell-command-on-region (start end command error-buffer) |
| | | "Execute COMMAND in an inferior shell with region as input. |
| | | |
| | | Stripped down version of shell-command-on-region for internal use |
| | | in Babel only. This lets us work around errors in the original |
| | | function in various versions of Emacs. |
| | | " |
| | | (let ((input-file (org-babel-temp-file "ob-input-")) |
| | | (error-file (if error-buffer (org-babel-temp-file "ob-error-") nil)) |
| | | ;; Unfortunately, `executable-find' does not support file name |
| | | ;; handlers. Therefore, we could use it in the local case |
| | | ;; only. |
| | | (shell-file-name |
| | | (cond ((and (not (file-remote-p default-directory)) |
| | | (executable-find shell-file-name)) |
| | | shell-file-name) |
| | | ((file-executable-p |
| | | (concat (file-remote-p default-directory) shell-file-name)) |
| | | shell-file-name) |
| | | ("/bin/sh"))) |
| | | exit-status) |
| | | ;; There is an error in `process-file' when `error-file' exists. |
| | | ;; This is fixed in Emacs trunk as of 2012-12-21; let's use this |
| | | ;; workaround for now. |
| | | (unless (file-remote-p default-directory) |
| | | (delete-file error-file)) |
| | | ;; we always call this with 'replace, remove conditional |
| | | ;; Replace specified region with output from command. |
| | | (let ((swap (< start end))) |
| | | (goto-char start) |
| | | (push-mark (point) 'nomsg) |
| | | (write-region start end input-file) |
| | | (delete-region start end) |
| | | (setq exit-status |
| | | (process-file shell-file-name input-file |
| | | (if error-file |
| | | (list t error-file) |
| | | t) |
| | | nil shell-command-switch command)) |
| | | (when swap (exchange-point-and-mark))) |
| | | |
| | | (when (and input-file (file-exists-p input-file) |
| | | ;; bind org-babel--debug-input around the call to keep |
| | | ;; the temporary input files available for inspection |
| | | (not (when (boundp 'org-babel--debug-input) |
| | | org-babel--debug-input))) |
| | | (delete-file input-file)) |
| | | |
| | | (when (and error-file (file-exists-p error-file)) |
| | | (when (< 0 (nth 7 (file-attributes error-file))) |
| | | (with-current-buffer (get-buffer-create error-buffer) |
| | | (let ((pos-from-end (- (point-max) (point)))) |
| | | (or (bobp) |
| | | (insert "\f\n")) |
| | | ;; Do no formatting while reading error file, |
| | | ;; because that can run a shell command, and we |
| | | ;; don't want that to cause an infinite recursion. |
| | | (format-insert-file error-file nil) |
| | | ;; Put point after the inserted errors. |
| | | (goto-char (- (point-max) pos-from-end))) |
| | | (current-buffer))) |
| | | (delete-file error-file)) |
| | | exit-status)) |
| | | |
| | | (defun org-babel-eval-wipe-error-buffer () |
| | | "Delete the contents of the Org code block error buffer. |
| | | This buffer is named by `org-babel-error-buffer-name'." |
| | | (when (get-buffer org-babel-error-buffer-name) |
| | | (with-current-buffer org-babel-error-buffer-name |
| | | (delete-region (point-min) (point-max))))) |
| | | |
| | | (provide 'ob-eval) |
| | | |
| | | |
| | | |
| | | ;;; ob-eval.el ends here |
New file |
| | |
| | | ;;; ob-exp.el --- Exportation of Babel Source Blocks -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Code: |
| | | (require 'ob-core) |
| | | |
| | | (declare-function org-babel-lob-get-info "ob-lob" (&optional datum)) |
| | | (declare-function org-element-at-point "org-element" ()) |
| | | (declare-function org-element-context "org-element" (&optional element)) |
| | | (declare-function org-element-property "org-element" (property element)) |
| | | (declare-function org-element-type "org-element" (element)) |
| | | (declare-function org-escape-code-in-string "org-src" (s)) |
| | | (declare-function org-export-copy-buffer "ox" ()) |
| | | (declare-function org-fill-template "org" (template alist)) |
| | | (declare-function org-get-indentation "org" (&optional line)) |
| | | (declare-function org-in-commented-heading-p "org" (&optional no-inheritance)) |
| | | |
| | | (defvar org-src-preserve-indentation) |
| | | |
| | | (defcustom org-export-use-babel t |
| | | "Switch controlling code evaluation and header processing during export. |
| | | When set to nil no code will be evaluated as part of the export |
| | | process and no header arguments will be obeyed. Users who wish |
| | | to avoid evaluating code on export should use the header argument |
| | | `:eval never-export'." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type '(choice (const :tag "Never" nil) |
| | | (const :tag "Always" t)) |
| | | :safe #'null) |
| | | |
| | | |
| | | (defmacro org-babel-exp--at-source (&rest body) |
| | | "Evaluate BODY at the source of the Babel block at point. |
| | | Source is located in `org-babel-exp-reference-buffer'. The value |
| | | returned is the value of the last form in BODY. Assume that |
| | | point is at the beginning of the Babel block." |
| | | (declare (indent 1) (debug body)) |
| | | `(let ((source (get-text-property (point) 'org-reference))) |
| | | ;; Source blocks created during export process (e.g., by other |
| | | ;; source blocks) are not referenced. In this case, do not move |
| | | ;; point at all. |
| | | (with-current-buffer (if source org-babel-exp-reference-buffer |
| | | (current-buffer)) |
| | | (org-with-wide-buffer |
| | | (when source (goto-char source)) |
| | | ,@body)))) |
| | | |
| | | (defun org-babel-exp-src-block () |
| | | "Process source block for export. |
| | | Depending on the \":export\" header argument, replace the source |
| | | code block like this: |
| | | |
| | | both ---- display the code and the results |
| | | |
| | | code ---- the default, display the code inside the block but do |
| | | not process |
| | | |
| | | results - just like none only the block is run on export ensuring |
| | | that its results are present in the Org mode buffer |
| | | |
| | | none ---- do not display either code or results upon export |
| | | |
| | | Assume point is at block opening line." |
| | | (interactive) |
| | | (save-excursion |
| | | (let* ((info (org-babel-get-src-block-info 'light)) |
| | | (lang (nth 0 info)) |
| | | (raw-params (nth 2 info)) |
| | | hash) |
| | | ;; bail if we couldn't get any info from the block |
| | | (unless noninteractive |
| | | (message "org-babel-exp process %s at position %d..." |
| | | lang |
| | | (line-beginning-position))) |
| | | (when info |
| | | ;; if we're actually going to need the parameters |
| | | (when (member (cdr (assq :exports (nth 2 info))) '("both" "results")) |
| | | (let ((lang-headers (intern (concat "org-babel-default-header-args:" |
| | | lang)))) |
| | | (org-babel-exp--at-source |
| | | (setf (nth 2 info) |
| | | (org-babel-process-params |
| | | (apply #'org-babel-merge-params |
| | | org-babel-default-header-args |
| | | (and (boundp lang-headers) |
| | | (symbol-value lang-headers)) |
| | | (append (org-babel-params-from-properties lang) |
| | | (list raw-params))))))) |
| | | (setf hash (org-babel-sha1-hash info))) |
| | | (org-babel-exp-do-export info 'block hash))))) |
| | | |
| | | (defcustom org-babel-exp-call-line-template |
| | | "" |
| | | "Template used to export call lines. |
| | | This template may be customized to include the call line name |
| | | with any export markup. The template is filled out using |
| | | `org-fill-template', and the following %keys may be used. |
| | | |
| | | line --- call line |
| | | |
| | | An example value would be \"\\n: call: %line\" to export the call line |
| | | wrapped in a verbatim environment. |
| | | |
| | | Note: the results are inserted separately after the contents of |
| | | this template." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defun org-babel-exp-process-buffer () |
| | | "Execute all Babel blocks in current buffer." |
| | | (interactive) |
| | | (when org-export-use-babel |
| | | (save-window-excursion |
| | | (let ((case-fold-search t) |
| | | (regexp "\\(call\\|src\\)_\\|^[ \t]*#\\+\\(BEGIN_SRC\\|CALL:\\)") |
| | | ;; Get a pristine copy of current buffer so Babel |
| | | ;; references are properly resolved and source block |
| | | ;; context is preserved. |
| | | (org-babel-exp-reference-buffer (org-export-copy-buffer))) |
| | | (unwind-protect |
| | | (save-excursion |
| | | ;; First attach to every source block their original |
| | | ;; position, so that they can be retrieved within |
| | | ;; `org-babel-exp-reference-buffer', even after heavy |
| | | ;; modifications on current buffer. |
| | | ;; |
| | | ;; False positives are harmless, so we don't check if |
| | | ;; we're really at some Babel object. Moreover, |
| | | ;; `line-end-position' ensures that we propertize |
| | | ;; a noticeable part of the object, without affecting |
| | | ;; multiple objects on the same line. |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward regexp nil t) |
| | | (let ((s (match-beginning 0))) |
| | | (put-text-property s (line-end-position) 'org-reference s))) |
| | | ;; Evaluate from top to bottom every Babel block |
| | | ;; encountered. |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward regexp nil t) |
| | | (unless (save-match-data (org-in-commented-heading-p)) |
| | | (let* ((object? (match-end 1)) |
| | | (element (save-match-data |
| | | (if object? (org-element-context) |
| | | ;; No deep inspection if we're |
| | | ;; just looking for an element. |
| | | (org-element-at-point)))) |
| | | (type |
| | | (pcase (org-element-type element) |
| | | ;; Discard block elements if we're looking |
| | | ;; for inline objects. False results |
| | | ;; happen when, e.g., "call_" syntax is |
| | | ;; located within affiliated keywords: |
| | | ;; |
| | | ;; #+name: call_src |
| | | ;; #+begin_src ... |
| | | ((and (or `babel-call `src-block) (guard object?)) |
| | | nil) |
| | | (type type))) |
| | | (begin |
| | | (copy-marker (org-element-property :begin element))) |
| | | (end |
| | | (copy-marker |
| | | (save-excursion |
| | | (goto-char (org-element-property :end element)) |
| | | (skip-chars-backward " \r\t\n") |
| | | (point))))) |
| | | (pcase type |
| | | (`inline-src-block |
| | | (let* ((info |
| | | (org-babel-get-src-block-info nil element)) |
| | | (params (nth 2 info))) |
| | | (setf (nth 1 info) |
| | | (if (and (cdr (assq :noweb params)) |
| | | (string= "yes" |
| | | (cdr (assq :noweb params)))) |
| | | (org-babel-expand-noweb-references |
| | | info org-babel-exp-reference-buffer) |
| | | (nth 1 info))) |
| | | (goto-char begin) |
| | | (let ((replacement |
| | | (org-babel-exp-do-export info 'inline))) |
| | | (if (equal replacement "") |
| | | ;; Replacement code is empty: remove |
| | | ;; inline source block, including extra |
| | | ;; white space that might have been |
| | | ;; created when inserting results. |
| | | (delete-region begin |
| | | (progn (goto-char end) |
| | | (skip-chars-forward " \t") |
| | | (point))) |
| | | ;; Otherwise: remove inline src block but |
| | | ;; preserve following white spaces. Then |
| | | ;; insert value. |
| | | (delete-region begin end) |
| | | (insert replacement))))) |
| | | ((or `babel-call `inline-babel-call) |
| | | (org-babel-exp-do-export (org-babel-lob-get-info element) |
| | | 'lob) |
| | | (let ((rep |
| | | (org-fill-template |
| | | org-babel-exp-call-line-template |
| | | `(("line" . |
| | | ,(org-element-property :value element)))))) |
| | | ;; If replacement is empty, completely remove |
| | | ;; the object/element, including any extra |
| | | ;; white space that might have been created |
| | | ;; when including results. |
| | | (if (equal rep "") |
| | | (delete-region |
| | | begin |
| | | (progn (goto-char end) |
| | | (if (not (eq type 'babel-call)) |
| | | (progn (skip-chars-forward " \t") |
| | | (point)) |
| | | (skip-chars-forward " \r\t\n") |
| | | (line-beginning-position)))) |
| | | ;; Otherwise, preserve trailing |
| | | ;; spaces/newlines and then, insert |
| | | ;; replacement string. |
| | | (goto-char begin) |
| | | (delete-region begin end) |
| | | (insert rep)))) |
| | | (`src-block |
| | | (let ((match-start (copy-marker (match-beginning 0))) |
| | | (ind (org-get-indentation))) |
| | | ;; Take care of matched block: compute |
| | | ;; replacement string. In particular, a nil |
| | | ;; REPLACEMENT means the block is left as-is |
| | | ;; while an empty string removes the block. |
| | | (let ((replacement |
| | | (progn (goto-char match-start) |
| | | (org-babel-exp-src-block)))) |
| | | (cond ((not replacement) (goto-char end)) |
| | | ((equal replacement "") |
| | | (goto-char end) |
| | | (skip-chars-forward " \r\t\n") |
| | | (beginning-of-line) |
| | | (delete-region begin (point))) |
| | | (t |
| | | (goto-char match-start) |
| | | (delete-region (point) |
| | | (save-excursion |
| | | (goto-char end) |
| | | (line-end-position))) |
| | | (insert replacement) |
| | | (if (or org-src-preserve-indentation |
| | | (org-element-property |
| | | :preserve-indent element)) |
| | | ;; Indent only code block |
| | | ;; markers. |
| | | (save-excursion |
| | | (skip-chars-backward " \r\t\n") |
| | | (indent-line-to ind) |
| | | (goto-char match-start) |
| | | (indent-line-to ind)) |
| | | ;; Indent everything. |
| | | (indent-rigidly |
| | | match-start (point) ind))))) |
| | | (set-marker match-start nil)))) |
| | | (set-marker begin nil) |
| | | (set-marker end nil))))) |
| | | (kill-buffer org-babel-exp-reference-buffer) |
| | | (remove-text-properties (point-min) (point-max) '(org-reference))))))) |
| | | |
| | | (defun org-babel-exp-do-export (info type &optional hash) |
| | | "Return a string with the exported content of a code block. |
| | | The function respects the value of the :exports header argument." |
| | | (let ((silently (lambda () (let ((session (cdr (assq :session (nth 2 info))))) |
| | | (unless (equal "none" session) |
| | | (org-babel-exp-results info type 'silent))))) |
| | | (clean (lambda () (if (eq type 'inline) |
| | | (org-babel-remove-inline-result) |
| | | (org-babel-remove-result info))))) |
| | | (pcase (or (cdr (assq :exports (nth 2 info))) "code") |
| | | ("none" (funcall silently) (funcall clean) "") |
| | | ("code" (funcall silently) (funcall clean) (org-babel-exp-code info type)) |
| | | ("results" (org-babel-exp-results info type nil hash) "") |
| | | ("both" |
| | | (org-babel-exp-results info type nil hash) |
| | | (org-babel-exp-code info type))))) |
| | | |
| | | (defcustom org-babel-exp-code-template |
| | | "#+BEGIN_SRC %lang%switches%flags\n%body\n#+END_SRC" |
| | | "Template used to export the body of code blocks. |
| | | This template may be customized to include additional information |
| | | such as the code block name, or the values of particular header |
| | | arguments. The template is filled out using `org-fill-template', |
| | | and the following %keys may be used. |
| | | |
| | | lang ------ the language of the code block |
| | | name ------ the name of the code block |
| | | body ------ the body of the code block |
| | | switches -- the switches associated to the code block |
| | | flags ----- the flags passed to the code block |
| | | |
| | | In addition to the keys mentioned above, every header argument |
| | | defined for the code block may be used as a key and will be |
| | | replaced with its value." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-exp-inline-code-template |
| | | "src_%lang[%switches%flags]{%body}" |
| | | "Template used to export the body of inline code blocks. |
| | | This template may be customized to include additional information |
| | | such as the code block name, or the values of particular header |
| | | arguments. The template is filled out using `org-fill-template', |
| | | and the following %keys may be used. |
| | | |
| | | lang ------ the language of the code block |
| | | name ------ the name of the code block |
| | | body ------ the body of the code block |
| | | switches -- the switches associated to the code block |
| | | flags ----- the flags passed to the code block |
| | | |
| | | In addition to the keys mentioned above, every header argument |
| | | defined for the code block may be used as a key and will be |
| | | replaced with its value." |
| | | :group 'org-babel |
| | | :type 'string |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3")) |
| | | |
| | | (defun org-babel-exp-code (info type) |
| | | "Return the original code block formatted for export." |
| | | (setf (nth 1 info) |
| | | (if (string= "strip-export" (cdr (assq :noweb (nth 2 info)))) |
| | | (replace-regexp-in-string |
| | | (org-babel-noweb-wrap) "" (nth 1 info)) |
| | | (if (org-babel-noweb-p (nth 2 info) :export) |
| | | (org-babel-expand-noweb-references |
| | | info org-babel-exp-reference-buffer) |
| | | (nth 1 info)))) |
| | | (org-fill-template |
| | | (if (eq type 'inline) |
| | | org-babel-exp-inline-code-template |
| | | org-babel-exp-code-template) |
| | | `(("lang" . ,(nth 0 info)) |
| | | ("body" . ,(org-escape-code-in-string (nth 1 info))) |
| | | ("switches" . ,(let ((f (nth 3 info))) |
| | | (and (org-string-nw-p f) (concat " " f)))) |
| | | ("flags" . ,(let ((f (assq :flags (nth 2 info)))) |
| | | (and f (concat " " (cdr f))))) |
| | | ,@(mapcar (lambda (pair) |
| | | (cons (substring (symbol-name (car pair)) 1) |
| | | (format "%S" (cdr pair)))) |
| | | (nth 2 info)) |
| | | ("name" . ,(or (nth 4 info) ""))))) |
| | | |
| | | (defun org-babel-exp-results (info type &optional silent hash) |
| | | "Evaluate and return the results of the current code block for export. |
| | | Results are prepared in a manner suitable for export by Org mode. |
| | | This function is called by `org-babel-exp-do-export'. The code |
| | | block will be evaluated. Optional argument SILENT can be used to |
| | | inhibit insertion of results into the buffer." |
| | | (unless (and hash (equal hash (org-babel-current-result-hash))) |
| | | (let ((lang (nth 0 info)) |
| | | (body (if (org-babel-noweb-p (nth 2 info) :eval) |
| | | (org-babel-expand-noweb-references |
| | | info org-babel-exp-reference-buffer) |
| | | (nth 1 info))) |
| | | (info (copy-sequence info)) |
| | | (org-babel-current-src-block-location (point-marker))) |
| | | ;; Skip code blocks which we can't evaluate. |
| | | (when (fboundp (intern (concat "org-babel-execute:" lang))) |
| | | (org-babel-eval-wipe-error-buffer) |
| | | (setf (nth 1 info) body) |
| | | (setf (nth 2 info) |
| | | (org-babel-exp--at-source |
| | | (org-babel-process-params |
| | | (org-babel-merge-params |
| | | (nth 2 info) |
| | | `((:results . ,(if silent "silent" "replace"))))))) |
| | | (pcase type |
| | | (`block (org-babel-execute-src-block nil info)) |
| | | (`inline |
| | | ;; Position the point on the inline source block |
| | | ;; allowing `org-babel-insert-result' to check that the |
| | | ;; block is inline. |
| | | (goto-char (nth 5 info)) |
| | | (org-babel-execute-src-block nil info)) |
| | | (`lob |
| | | (save-excursion |
| | | (goto-char (nth 5 info)) |
| | | (let (org-confirm-babel-evaluate) |
| | | (org-babel-execute-src-block nil info))))))))) |
| | | |
| | | |
| | | (provide 'ob-exp) |
| | | |
| | | ;;; ob-exp.el ends here |
New file |
| | |
| | | ;;; ob-forth.el --- Babel Functions for Forth -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2014-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, forth |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Requires the gforth forth compiler and `forth-mode' (see below). |
| | | ;; https://www.gnu.org/software/gforth/ |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; Session evaluation requires the gforth forth compiler as well as |
| | | ;; `forth-mode' which is distributed with gforth (in gforth.el). |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function forth-proc "ext:gforth" ()) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-default-header-args:forth '((:session . "yes")) |
| | | "Default header arguments for forth code blocks.") |
| | | |
| | | (defun org-babel-execute:forth (body params) |
| | | "Execute a block of Forth code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'" |
| | | (if (string= "none" (cdr (assq :session params))) |
| | | (error "Non-session evaluation not supported for Forth code blocks") |
| | | (let ((all-results (org-babel-forth-session-execute body params))) |
| | | (if (member "output" (cdr (assq :result-params params))) |
| | | (mapconcat #'identity all-results "\n") |
| | | (car (last all-results)))))) |
| | | |
| | | (defun org-babel-forth-session-execute (body params) |
| | | (require 'forth-mode) |
| | | (let ((proc (forth-proc)) |
| | | (rx " \\(\n:\\|compiled\n\\\|ok\n\\)") |
| | | (result-start)) |
| | | (with-current-buffer (process-buffer (forth-proc)) |
| | | (mapcar (lambda (line) |
| | | (setq result-start (progn (goto-char (process-mark proc)) |
| | | (point))) |
| | | (comint-send-string proc (concat line "\n")) |
| | | ;; wait for forth to say "ok" |
| | | (while (not (progn (goto-char result-start) |
| | | (re-search-forward rx nil t))) |
| | | (accept-process-output proc 0.01)) |
| | | (let ((case (match-string 1))) |
| | | (cond |
| | | ((string= "ok\n" case) |
| | | ;; Collect intermediate output. |
| | | (buffer-substring (+ result-start 1 (length line)) |
| | | (match-beginning 0))) |
| | | ((string= "compiled\n" case)) |
| | | ;; Ignore partial compilation. |
| | | ((string= "\n:" case) |
| | | ;; Report errors. |
| | | (org-babel-eval-error-notify 1 |
| | | (buffer-substring |
| | | (+ (match-beginning 0) 1) (point-max))) nil)))) |
| | | (split-string (org-trim |
| | | (org-babel-expand-body:generic body params)) |
| | | "\n" |
| | | 'omit-nulls))))) |
| | | |
| | | (provide 'ob-forth) |
| | | |
| | | ;;; ob-forth.el ends here |
New file |
| | |
| | | ;;; ob-fortran.el --- Babel Functions for Fortran -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Sergey Litvinov |
| | | ;; Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, fortran |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | ;; |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating fortran code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'cc-mode) |
| | | (require 'cl-lib) |
| | | |
| | | (declare-function org-entry-get "org" |
| | | (pom property &optional inherit literal-nil)) |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("fortran" . "F90")) |
| | | |
| | | (defvar org-babel-default-header-args:fortran '()) |
| | | |
| | | (defvar org-babel-fortran-compiler "gfortran" |
| | | "fortran command used to compile a fortran source code file into an |
| | | executable.") |
| | | |
| | | (defun org-babel-execute:fortran (body params) |
| | | "This function should only be called by `org-babel-execute:fortran'" |
| | | (let* ((tmp-src-file (org-babel-temp-file "fortran-src-" ".F90")) |
| | | (tmp-bin-file (org-babel-temp-file "fortran-bin-" org-babel-exeext)) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (flags (cdr (assq :flags params))) |
| | | (full-body (org-babel-expand-body:fortran body params))) |
| | | (with-temp-file tmp-src-file (insert full-body)) |
| | | (org-babel-eval |
| | | (format "%s -o %s %s %s" |
| | | org-babel-fortran-compiler |
| | | (org-babel-process-file-name tmp-bin-file) |
| | | (mapconcat 'identity |
| | | (if (listp flags) flags (list flags)) " ") |
| | | (org-babel-process-file-name tmp-src-file)) "") |
| | | (let ((results |
| | | (org-trim |
| | | (org-remove-indentation |
| | | (org-babel-eval |
| | | (concat tmp-bin-file (if cmdline (concat " " cmdline) "")) ""))))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | (org-babel-read results) |
| | | (let ((tmp-file (org-babel-temp-file "f-"))) |
| | | (with-temp-file tmp-file (insert results)) |
| | | (org-babel-import-elisp-from-file tmp-file))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))) |
| | | |
| | | (defun org-babel-expand-body:fortran (body params) |
| | | "Expand a block of fortran or fortran code with org-babel according to |
| | | its header arguments." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (main-p (not (string= (cdr (assq :main params)) "no"))) |
| | | (includes (or (cdr (assq :includes params)) |
| | | (org-babel-read (org-entry-get nil "includes" t)))) |
| | | (defines (org-babel-read |
| | | (or (cdr (assq :defines params)) |
| | | (org-babel-read (org-entry-get nil "defines" t)))))) |
| | | (mapconcat 'identity |
| | | (list |
| | | ;; includes |
| | | (mapconcat |
| | | (lambda (inc) (format "#include %s" inc)) |
| | | (if (listp includes) includes (list includes)) "\n") |
| | | ;; defines |
| | | (mapconcat |
| | | (lambda (inc) (format "#define %s" inc)) |
| | | (if (listp defines) defines (list defines)) "\n") |
| | | ;; body |
| | | (if main-p |
| | | (org-babel-fortran-ensure-main-wrap |
| | | (concat |
| | | ;; variables |
| | | (mapconcat 'org-babel-fortran-var-to-fortran vars "\n") |
| | | body) params) |
| | | body) "\n") "\n"))) |
| | | |
| | | (defun org-babel-fortran-ensure-main-wrap (body params) |
| | | "Wrap body in a \"program ... end program\" block if none exists." |
| | | (if (string-match "^[ \t]*program[ \t]*.*" (capitalize body)) |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (if vars (error "Cannot use :vars if `program' statement is present")) |
| | | body) |
| | | (format "program main\n%s\nend program main\n" body))) |
| | | |
| | | (defun org-babel-prep-session:fortran (_session _params) |
| | | "This function does nothing as fortran is a compiled language with no |
| | | support for sessions" |
| | | (error "Fortran is a compiled languages -- no support for sessions")) |
| | | |
| | | (defun org-babel-load-session:fortran (_session _body _params) |
| | | "This function does nothing as fortran is a compiled language with no |
| | | support for sessions" |
| | | (error "Fortran is a compiled languages -- no support for sessions")) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-fortran-var-to-fortran (pair) |
| | | "Convert an elisp val into a string of fortran code specifying a var |
| | | of the same value." |
| | | ;; TODO list support |
| | | (let ((var (car pair)) |
| | | (val (cdr pair))) |
| | | (when (symbolp val) |
| | | (setq val (symbol-name val)) |
| | | (when (= (length val) 1) |
| | | (setq val (string-to-char val)))) |
| | | (cond |
| | | ((integerp val) |
| | | (format "integer, parameter :: %S = %S\n" var val)) |
| | | ((floatp val) |
| | | (format "real, parameter :: %S = %S\n" var val)) |
| | | ((or (integerp val)) |
| | | (format "character, parameter :: %S = '%S'\n" var val)) |
| | | ((stringp val) |
| | | (format "character(len=%d), parameter :: %S = '%s'\n" |
| | | (length val) var val)) |
| | | ;; val is a matrix |
| | | ((and (listp val) (cl-every #'listp val)) |
| | | (format "real, parameter :: %S(%d,%d) = transpose( reshape( %s , (/ %d, %d /) ) )\n" |
| | | var (length val) (length (car val)) |
| | | (org-babel-fortran-transform-list val) |
| | | (length (car val)) (length val))) |
| | | ((listp val) |
| | | (format "real, parameter :: %S(%d) = %s\n" |
| | | var (length val) (org-babel-fortran-transform-list val))) |
| | | (t |
| | | (error "the type of parameter %s is not supported by ob-fortran" var))))) |
| | | |
| | | (defun org-babel-fortran-transform-list (val) |
| | | "Return a fortran representation of enclose syntactic lists." |
| | | (if (listp val) |
| | | (concat "(/" (mapconcat #'org-babel-fortran-transform-list val ", ") "/)") |
| | | (format "%S" val))) |
| | | |
| | | (provide 'ob-fortran) |
| | | |
| | | ;;; ob-fortran.el ends here |
New file |
| | |
| | | ;;; ob-gnuplot.el --- Babel Functions for Gnuplot -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating gnuplot source code. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) we are generally only going to return results of type "file" |
| | | ;; |
| | | ;; 2) we are adding the "file" and "cmdline" header arguments |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - gnuplot :: http://www.gnuplot.info/ |
| | | ;; |
| | | ;; - gnuplot-mode :: http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-time-string-to-time "org" (s)) |
| | | (declare-function org-combine-plists "org" (&rest plists)) |
| | | (declare-function orgtbl-to-generic "org-table" (table params)) |
| | | (declare-function gnuplot-mode "ext:gnuplot-mode" ()) |
| | | (declare-function gnuplot-send-string-to-gnuplot "ext:gnuplot-mode" (str txt)) |
| | | (declare-function gnuplot-send-buffer-to-gnuplot "ext:gnuplot-mode" ()) |
| | | |
| | | (defvar org-babel-default-header-args:gnuplot |
| | | '((:results . "file") (:exports . "results") (:session . nil)) |
| | | "Default arguments to use when evaluating a gnuplot source block.") |
| | | |
| | | (defvar org-babel-header-args:gnuplot |
| | | '((title . :any) |
| | | (lines . :any) |
| | | (sets . :any) |
| | | (x-labels . :any) |
| | | (y-labels . :any) |
| | | (timefmt . :any) |
| | | (time-ind . :any) |
| | | (missing . :any) |
| | | (term . :any)) |
| | | "Gnuplot specific header args.") |
| | | |
| | | (defvar org-babel-gnuplot-timestamp-fmt nil) ; Dynamically scoped. |
| | | |
| | | (defvar *org-babel-gnuplot-missing* nil) |
| | | |
| | | (defcustom *org-babel-gnuplot-terms* |
| | | '((eps . "postscript eps")) |
| | | "List of file extensions and the associated gnuplot terminal." |
| | | :group 'org-babel |
| | | :type '(repeat (cons (symbol :tag "File extension") |
| | | (string :tag "Gnuplot terminal")))) |
| | | |
| | | (defun org-babel-gnuplot-process-vars (params) |
| | | "Extract variables from PARAMS and process the variables. |
| | | Dumps all vectors into files and returns an association list |
| | | of variable names and the related value to be used in the gnuplot |
| | | code." |
| | | (let ((*org-babel-gnuplot-missing* (cdr (assq :missing params)))) |
| | | (mapcar |
| | | (lambda (pair) |
| | | (cons |
| | | (car pair) ;; variable name |
| | | (let* ((val (cdr pair)) ;; variable value |
| | | (lp (listp val))) |
| | | (if lp |
| | | (org-babel-gnuplot-table-to-data |
| | | (let* ((first (car val)) |
| | | (tablep (or (listp first) (symbolp first)))) |
| | | (if tablep val (mapcar 'list val))) |
| | | (org-babel-temp-file "gnuplot-") params) |
| | | val)))) |
| | | (org-babel--get-vars params)))) |
| | | |
| | | (defun org-babel-expand-body:gnuplot (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (save-window-excursion |
| | | (let* ((vars (org-babel-gnuplot-process-vars params)) |
| | | (out-file (cdr (assq :file params))) |
| | | (prologue (cdr (assq :prologue params))) |
| | | (epilogue (cdr (assq :epilogue params))) |
| | | (term (or (cdr (assq :term params)) |
| | | (when out-file |
| | | (let ((ext (file-name-extension out-file))) |
| | | (or (cdr (assoc (intern (downcase ext)) |
| | | *org-babel-gnuplot-terms*)) |
| | | ext))))) |
| | | (title (cdr (assq :title params))) |
| | | (lines (cdr (assq :line params))) |
| | | (sets (cdr (assq :set params))) |
| | | (x-labels (cdr (assq :xlabels params))) |
| | | (y-labels (cdr (assq :ylabels params))) |
| | | (timefmt (cdr (assq :timefmt params))) |
| | | (time-ind (or (cdr (assq :timeind params)) |
| | | (when timefmt 1))) |
| | | (directory (and (buffer-file-name) |
| | | (file-name-directory (buffer-file-name)))) |
| | | (add-to-body (lambda (text) (setq body (concat text "\n" body))))) |
| | | ;; append header argument settings to body |
| | | (when title (funcall add-to-body (format "set title '%s'" title))) |
| | | (when lines (mapc (lambda (el) (funcall add-to-body el)) lines)) |
| | | (when sets |
| | | (mapc (lambda (el) (funcall add-to-body (format "set %s" el))) sets)) |
| | | (when x-labels |
| | | (funcall add-to-body |
| | | (format "set xtics (%s)" |
| | | (mapconcat (lambda (pair) |
| | | (format "\"%s\" %d" |
| | | (cdr pair) (car pair))) |
| | | x-labels ", ")))) |
| | | (when y-labels |
| | | (funcall add-to-body |
| | | (format "set ytics (%s)" |
| | | (mapconcat (lambda (pair) |
| | | (format "\"%s\" %d" |
| | | (cdr pair) (car pair))) |
| | | y-labels ", ")))) |
| | | (when time-ind |
| | | (funcall add-to-body "set xdata time") |
| | | (funcall add-to-body (concat "set timefmt \"" |
| | | (or timefmt |
| | | "%Y-%m-%d-%H:%M:%S") "\""))) |
| | | (when out-file |
| | | ;; set the terminal at the top of the block |
| | | (funcall add-to-body (format "set output \"%s\"" out-file)) |
| | | ;; and close the terminal at the bottom of the block |
| | | (setq body (concat body "\nset output\n"))) |
| | | (when term (funcall add-to-body (format "set term %s" term))) |
| | | ;; insert variables into code body: this should happen last |
| | | ;; placing the variables at the *top* of the code in case their |
| | | ;; values are used later |
| | | (funcall add-to-body |
| | | (mapconcat #'identity |
| | | (org-babel-variable-assignments:gnuplot params) |
| | | "\n")) |
| | | ;; replace any variable names preceded by '$' with the actual |
| | | ;; value of the variable |
| | | (mapc (lambda (pair) |
| | | (setq body (replace-regexp-in-string |
| | | (format "\\$%s" (car pair)) (cdr pair) body))) |
| | | vars) |
| | | (when prologue (funcall add-to-body prologue)) |
| | | (when epilogue (setq body (concat body "\n" epilogue))) |
| | | ;; Setting the directory needs to be done first so that |
| | | ;; subsequent 'output' directive goes to the right place. |
| | | (when directory (funcall add-to-body (format "cd '%s'" directory)))) |
| | | body)) |
| | | |
| | | (defun org-babel-execute:gnuplot (body params) |
| | | "Execute a block of Gnuplot code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (require 'gnuplot) |
| | | (let ((session (cdr (assq :session params))) |
| | | (result-type (cdr (assq :results params))) |
| | | (body (org-babel-expand-body:gnuplot body params)) |
| | | output) |
| | | (save-window-excursion |
| | | ;; evaluate the code body with gnuplot |
| | | (if (string= session "none") |
| | | (let ((script-file (org-babel-temp-file "gnuplot-script-"))) |
| | | (with-temp-file script-file |
| | | (insert (concat body "\n"))) |
| | | (message "gnuplot \"%s\"" script-file) |
| | | (setq output |
| | | (shell-command-to-string |
| | | (format |
| | | "gnuplot \"%s\"" |
| | | (org-babel-process-file-name |
| | | script-file |
| | | (if (member system-type '(cygwin windows-nt ms-dos)) |
| | | t nil))))) |
| | | (message "%s" output)) |
| | | (with-temp-buffer |
| | | (insert (concat body "\n")) |
| | | (gnuplot-mode) |
| | | (gnuplot-send-buffer-to-gnuplot))) |
| | | (if (member "output" (split-string result-type)) |
| | | output |
| | | nil)))) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:gnuplot (session params) |
| | | "Prepare SESSION according to the header arguments in PARAMS." |
| | | (let* ((session (org-babel-gnuplot-initiate-session session)) |
| | | (var-lines (org-babel-variable-assignments:gnuplot params))) |
| | | (message "%S" session) |
| | | (org-babel-comint-in-buffer session |
| | | (dolist (var-line var-lines) |
| | | (insert var-line) |
| | | (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session) |
| | | (sit-for .1) |
| | | (goto-char (point-max)))) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:gnuplot (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:gnuplot session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | (defun org-babel-variable-assignments:gnuplot (params) |
| | | "Return list of gnuplot statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) (format "%s = \"%s\"" (car pair) (cdr pair))) |
| | | (org-babel-gnuplot-process-vars params))) |
| | | |
| | | (defvar gnuplot-buffer) |
| | | (defun org-babel-gnuplot-initiate-session (&optional session _params) |
| | | "Initiate a gnuplot session. |
| | | If there is not a current inferior-process-buffer in SESSION |
| | | then create one. Return the initialized session. The current |
| | | `gnuplot-mode' doesn't provide support for multiple sessions." |
| | | (require 'gnuplot) |
| | | (unless (string= session "none") |
| | | (save-window-excursion |
| | | (gnuplot-send-string-to-gnuplot "" "line") |
| | | gnuplot-buffer))) |
| | | |
| | | (defun org-babel-gnuplot-quote-timestamp-field (s) |
| | | "Convert S from timestamp to Unix time and export to gnuplot." |
| | | (format-time-string org-babel-gnuplot-timestamp-fmt |
| | | (org-time-string-to-time s))) |
| | | |
| | | (defvar org-table-number-regexp) |
| | | (defvar org-ts-regexp3) |
| | | (defun org-babel-gnuplot-quote-tsv-field (s) |
| | | "Quote S for export to gnuplot." |
| | | (unless (stringp s) |
| | | (setq s (format "%s" s))) |
| | | (if (string-match org-table-number-regexp s) s |
| | | (if (string-match org-ts-regexp3 s) |
| | | (org-babel-gnuplot-quote-timestamp-field s) |
| | | (if (zerop (length s)) |
| | | (or *org-babel-gnuplot-missing* s) |
| | | (if (string-match "[ \"]" s) |
| | | (concat "\"" (mapconcat 'identity (split-string s "\"") "\"\"") |
| | | "\"") |
| | | s))))) |
| | | |
| | | (defun org-babel-gnuplot-table-to-data (table data-file params) |
| | | "Export TABLE to DATA-FILE in a format readable by gnuplot. |
| | | Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE." |
| | | (with-temp-file data-file |
| | | (insert (let ((org-babel-gnuplot-timestamp-fmt |
| | | (or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S"))) |
| | | (orgtbl-to-generic |
| | | table |
| | | (org-combine-plists |
| | | '(:sep "\t" :fmt org-babel-gnuplot-quote-tsv-field) |
| | | params))))) |
| | | data-file) |
| | | |
| | | (provide 'ob-gnuplot) |
| | | |
| | | |
| | | |
| | | ;;; ob-gnuplot.el ends here |
New file |
| | |
| | | ;;; ob-groovy.el --- Babel Functions for Groovy -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2013-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Miro Bezjak |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | ;; Currently only supports the external execution. No session support yet. |
| | | |
| | | ;;; Requirements: |
| | | ;; - Groovy language :: http://groovy.codehaus.org |
| | | ;; - Groovy major mode :: Can be installed from MELPA or |
| | | ;; https://github.com/russel/Emacs-Groovy-Mode |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) ;; Autoloaded |
| | | (add-to-list 'org-babel-tangle-lang-exts '("groovy" . "groovy")) |
| | | (defvar org-babel-default-header-args:groovy '()) |
| | | (defcustom org-babel-groovy-command "groovy" |
| | | "Name of the command to use for executing Groovy code. |
| | | May be either a command in the path, like groovy |
| | | or an absolute path name, like /usr/local/bin/groovy |
| | | parameters may be used, like groovy -v" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-execute:groovy (body params) |
| | | "Execute a block of Groovy code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (message "executing Groovy source code block") |
| | | (let* ((processed-params (org-babel-process-params params)) |
| | | (session (org-babel-groovy-initiate-session (nth 0 processed-params))) |
| | | (result-params (nth 2 processed-params)) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params)) |
| | | (result (org-babel-groovy-evaluate |
| | | session full-body result-type result-params))) |
| | | |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (defvar org-babel-groovy-wrapper-method |
| | | |
| | | "class Runner extends Script { |
| | | def out = new PrintWriter(new ByteArrayOutputStream()) |
| | | def run() { %s } |
| | | } |
| | | |
| | | println(new Runner().run()) |
| | | ") |
| | | |
| | | |
| | | (defun org-babel-groovy-evaluate |
| | | (session body &optional result-type result-params) |
| | | "Evaluate BODY in external Groovy process. |
| | | If RESULT-TYPE equals `output' then return standard output as a string. |
| | | If RESULT-TYPE equals `value' then return the value of the last statement |
| | | in BODY as elisp." |
| | | (when session (error "Sessions are not (yet) supported for Groovy")) |
| | | (pcase result-type |
| | | (`output |
| | | (let ((src-file (org-babel-temp-file "groovy_"))) |
| | | (progn (with-temp-file src-file (insert body)) |
| | | (org-babel-eval |
| | | (concat org-babel-groovy-command " " src-file) "")))) |
| | | (`value |
| | | (let* ((src-file (org-babel-temp-file "groovy_")) |
| | | (wrapper (format org-babel-groovy-wrapper-method body))) |
| | | (with-temp-file src-file (insert wrapper)) |
| | | (let ((raw (org-babel-eval |
| | | (concat org-babel-groovy-command " " src-file) ""))) |
| | | (org-babel-result-cond result-params |
| | | raw |
| | | (org-babel-script-escape raw))))))) |
| | | |
| | | |
| | | (defun org-babel-prep-session:groovy (_session _params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (error "Sessions are not (yet) supported for Groovy")) |
| | | |
| | | (defun org-babel-groovy-initiate-session (&optional _session) |
| | | "If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session. Sessions are not |
| | | supported in Groovy." |
| | | nil) |
| | | |
| | | (provide 'ob-groovy) |
| | | |
| | | |
| | | |
| | | ;;; ob-groovy.el ends here |
New file |
| | |
| | | ;;; ob-haskell.el --- Babel Functions for Haskell -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating haskell source code. This one will |
| | | ;; be sort of tricky because haskell programs must be compiled before |
| | | ;; they can be run, but haskell code can also be run through an |
| | | ;; interactive interpreter. |
| | | ;; |
| | | ;; For now lets only allow evaluation using the haskell interpreter. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - haskell-mode :: http://www.iro.umontreal.ca/~monnier/elisp/#haskell-mode |
| | | ;; |
| | | ;; - inf-haskell :: http://www.iro.umontreal.ca/~monnier/elisp/#haskell-mode |
| | | ;; |
| | | ;; - (optionally) lhs2tex :: http://people.cs.uu.nl/andres/lhs2tex/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'comint) |
| | | |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function haskell-mode "ext:haskell-mode" ()) |
| | | (declare-function run-haskell "ext:inf-haskell" (&optional arg)) |
| | | (declare-function inferior-haskell-load-file |
| | | "ext:inf-haskell" (&optional reload)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("haskell" . "hs")) |
| | | |
| | | (defvar org-babel-default-header-args:haskell |
| | | '((:padlines . "no"))) |
| | | |
| | | (defvar org-babel-haskell-lhs2tex-command "lhs2tex") |
| | | |
| | | (defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"") |
| | | |
| | | (defvar haskell-prompt-regexp) |
| | | |
| | | (defun org-babel-execute:haskell (body params) |
| | | "Execute a block of Haskell code." |
| | | (require 'inf-haskell) |
| | | (add-hook 'inferior-haskell-hook |
| | | (lambda () |
| | | (setq-local comint-prompt-regexp |
| | | (concat haskell-prompt-regexp "\\|^λ?> ")))) |
| | | (let* ((session (cdr (assq :session params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params |
| | | (org-babel-variable-assignments:haskell params))) |
| | | (session (org-babel-haskell-initiate-session session params)) |
| | | (comint-preoutput-filter-functions |
| | | (cons 'ansi-color-filter-apply comint-preoutput-filter-functions)) |
| | | (raw (org-babel-comint-with-output |
| | | (session org-babel-haskell-eoe t full-body) |
| | | (insert (org-trim full-body)) |
| | | (comint-send-input nil t) |
| | | (insert org-babel-haskell-eoe) |
| | | (comint-send-input nil t))) |
| | | (results (mapcar |
| | | #'org-babel-strip-quotes |
| | | (cdr (member org-babel-haskell-eoe |
| | | (reverse (mapcar #'org-trim raw))))))) |
| | | (org-babel-reassemble-table |
| | | (let ((result |
| | | (pcase result-type |
| | | (`output (mapconcat #'identity (reverse (cdr results)) "\n")) |
| | | (`value (car results))))) |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | result (org-babel-script-escape result))) |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colname-names params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rowname-names params)))))) |
| | | |
| | | (defun org-babel-haskell-initiate-session (&optional _session _params) |
| | | "Initiate a haskell session. |
| | | If there is not a current inferior-process-buffer in SESSION |
| | | then create one. Return the initialized session." |
| | | (require 'inf-haskell) |
| | | (or (get-buffer "*haskell*") |
| | | (save-window-excursion (run-haskell) (sleep-for 0.25) (current-buffer)))) |
| | | |
| | | (defun org-babel-load-session:haskell (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let* ((buffer (org-babel-prep-session:haskell session params)) |
| | | (load-file (concat (org-babel-temp-file "haskell-load-") ".hs"))) |
| | | (with-temp-buffer |
| | | (insert body) (write-file load-file) |
| | | (haskell-mode) (inferior-haskell-load-file)) |
| | | buffer))) |
| | | |
| | | (defun org-babel-prep-session:haskell (session params) |
| | | "Prepare SESSION according to the header arguments in PARAMS." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-haskell-initiate-session session))) |
| | | (org-babel-comint-in-buffer buffer |
| | | (mapc (lambda (line) |
| | | (insert line) |
| | | (comint-send-input nil t)) |
| | | (org-babel-variable-assignments:haskell params))) |
| | | (current-buffer)))) |
| | | |
| | | (defun org-babel-variable-assignments:haskell (params) |
| | | "Return list of haskell statements assigning the block's variables." |
| | | (mapcar (lambda (pair) |
| | | (format "let %s = %s" |
| | | (car pair) |
| | | (org-babel-haskell-var-to-haskell (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-haskell-var-to-haskell (var) |
| | | "Convert an elisp value VAR into a haskell variable. |
| | | The elisp VAR is converted to a string of haskell source code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-haskell-var-to-haskell var ", ") "]") |
| | | (format "%S" var))) |
| | | |
| | | (defvar org-export-copy-to-kill-ring) |
| | | (declare-function org-export-to-file "ox" |
| | | (backend file |
| | | &optional async subtreep visible-only body-only |
| | | ext-plist post-process)) |
| | | (defun org-babel-haskell-export-to-lhs (&optional arg) |
| | | "Export to a .lhs file with all haskell code blocks escaped. |
| | | When called with a prefix argument the resulting |
| | | .lhs file will be exported to a .tex file. This function will |
| | | create two new files, base-name.lhs and base-name.tex where |
| | | base-name is the name of the current Org file. |
| | | |
| | | Note that all standard Babel literate programming |
| | | constructs (header arguments, no-web syntax etc...) are ignored." |
| | | (interactive "P") |
| | | (let* ((contents (buffer-string)) |
| | | (haskell-regexp |
| | | (concat "^\\([ \t]*\\)#\\+begin_src[ \t]haskell*\\(.*\\)?[\r\n]" |
| | | "\\([^\000]*?\\)[\r\n][ \t]*#\\+end_src.*")) |
| | | (base-name (file-name-sans-extension (buffer-file-name))) |
| | | (tmp-file (org-babel-temp-file "haskell-")) |
| | | (tmp-org-file (concat tmp-file ".org")) |
| | | (tmp-tex-file (concat tmp-file ".tex")) |
| | | (lhs-file (concat base-name ".lhs")) |
| | | (tex-file (concat base-name ".tex")) |
| | | (command (concat org-babel-haskell-lhs2tex-command |
| | | " " (org-babel-process-file-name lhs-file) |
| | | " > " (org-babel-process-file-name tex-file))) |
| | | (preserve-indentp org-src-preserve-indentation) |
| | | indentation) |
| | | ;; escape haskell source-code blocks |
| | | (with-temp-file tmp-org-file |
| | | (insert contents) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward haskell-regexp nil t) |
| | | (save-match-data (setq indentation (length (match-string 1)))) |
| | | (replace-match (save-match-data |
| | | (concat |
| | | "#+begin_export latex\n\\begin{code}\n" |
| | | (if (or preserve-indentp |
| | | (string-match "-i" (match-string 2))) |
| | | (match-string 3) |
| | | (org-remove-indentation (match-string 3))) |
| | | "\n\\end{code}\n#+end_export\n")) |
| | | t t) |
| | | (indent-code-rigidly (match-beginning 0) (match-end 0) indentation))) |
| | | (save-excursion |
| | | ;; export to latex w/org and save as .lhs |
| | | (require 'ox-latex) |
| | | (find-file tmp-org-file) |
| | | ;; Ensure we do not clutter kill ring with incomplete results. |
| | | (let (org-export-copy-to-kill-ring) |
| | | (org-export-to-file 'latex tmp-tex-file)) |
| | | (kill-buffer nil) |
| | | (delete-file tmp-org-file) |
| | | (find-file tmp-tex-file) |
| | | (goto-char (point-min)) (forward-line 2) |
| | | (insert "%include polycode.fmt\n") |
| | | ;; ensure all \begin/end{code} statements start at the first column |
| | | (while (re-search-forward "^[ \t]+\\\\begin{code}[^\000]+\\\\end{code}" nil t) |
| | | (replace-match (save-match-data (org-remove-indentation (match-string 0))) |
| | | t t)) |
| | | (setq contents (buffer-string)) |
| | | (save-buffer) (kill-buffer nil)) |
| | | (delete-file tmp-tex-file) |
| | | ;; save org exported latex to a .lhs file |
| | | (with-temp-file lhs-file (insert contents)) |
| | | (if (not arg) |
| | | (find-file lhs-file) |
| | | ;; process .lhs file with lhs2tex |
| | | (message "running %s" command) (shell-command command) (find-file tex-file)))) |
| | | |
| | | (provide 'ob-haskell) |
| | | |
| | | |
| | | |
| | | ;;; ob-haskell.el ends here |
New file |
| | |
| | | ;; ob-hledger.el --- Babel Functions for hledger -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Simon Michael |
| | | ;; Keywords: literate programming, reproducible research, plain text accounting |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Babel support for evaluating hledger entries. |
| | | ;; |
| | | ;; Based on ob-ledger.el. |
| | | ;; If the source block is empty, hledger will use a default journal file, |
| | | ;; probably ~/.hledger.journal (it may not notice your $LEDGER_FILE env var). |
| | | ;; So make ~/.hledger.journal a symbolic link to the real file if necessary. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:hledger |
| | | '((:results . "output") (:exports . "results") (:cmdline . "bal")) |
| | | "Default arguments to use when evaluating a hledger source block.") |
| | | |
| | | (defun org-babel-execute:hledger (body params) |
| | | "Execute a block of hledger entries with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (message "executing hledger source code block") |
| | | (letrec ( ;(result-params (split-string (or (cdr (assq :results params)) ""))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (in-file (org-babel-temp-file "hledger-")) |
| | | (out-file (org-babel-temp-file "hledger-output-")) |
| | | (hledgercmd (concat "hledger" |
| | | (if (> (length body) 0) |
| | | (concat " -f " (org-babel-process-file-name in-file)) |
| | | "") |
| | | " " cmdline))) |
| | | (with-temp-file in-file (insert body)) |
| | | ;; TODO This is calling for some refactoring: |
| | | ;; (concat "hledger" (if ...) " " cmdline) |
| | | ;; could be built only once and bound to a symbol. |
| | | (message "%s" hledgercmd) |
| | | (with-output-to-string |
| | | (shell-command (concat hledgercmd " > " (org-babel-process-file-name out-file)))) |
| | | (with-temp-buffer (insert-file-contents out-file) (buffer-string)))) |
| | | |
| | | (defun org-babel-prep-session:hledger (_session _params) |
| | | (error "hledger does not support sessions")) |
| | | |
| | | (provide 'ob-hledger) |
| | | |
| | | |
| | | |
| | | ;;; ob-hledger.el ends here |
| | | ;; TODO Unit tests are more than welcome, too. |
New file |
| | |
| | | ;;; ob-io.el --- Babel Functions for Io -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2012-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Andrzej Lichnerowicz |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | ;; Currently only supports the external execution. No session support yet. |
| | | ;; :results output -- runs in scripting mode |
| | | ;; :results output repl -- runs in repl mode |
| | | |
| | | ;;; Requirements: |
| | | ;; - Io language :: http://iolanguage.org/ |
| | | ;; - Io major mode :: Can be installed from Io sources |
| | | ;; https://github.com/stevedekorte/io/blob/master/extras/SyntaxHighlighters/Emacs/io-mode.el |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) ;; Autoloaded |
| | | (add-to-list 'org-babel-tangle-lang-exts '("io" . "io")) |
| | | (defvar org-babel-default-header-args:io '()) |
| | | (defvar org-babel-io-command "io" |
| | | "Name of the command to use for executing Io code.") |
| | | |
| | | (defun org-babel-execute:io (body params) |
| | | "Execute a block of Io code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (message "executing Io source code block") |
| | | (let* ((processed-params (org-babel-process-params params)) |
| | | (session (org-babel-io-initiate-session (nth 0 processed-params))) |
| | | (result-params (nth 2 processed-params)) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params)) |
| | | (result (org-babel-io-evaluate |
| | | session full-body result-type result-params))) |
| | | |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (defvar org-babel-io-wrapper-method |
| | | "( |
| | | %s |
| | | ) asString print |
| | | ") |
| | | |
| | | |
| | | (defun org-babel-io-evaluate (session body &optional result-type result-params) |
| | | "Evaluate BODY in external Io process. |
| | | If RESULT-TYPE equals `output' then return standard output as a string. |
| | | If RESULT-TYPE equals `value' then return the value of the last statement |
| | | in BODY as elisp." |
| | | (when session (error "Sessions are not (yet) supported for Io")) |
| | | (pcase result-type |
| | | (`output |
| | | (if (member "repl" result-params) |
| | | (org-babel-eval org-babel-io-command body) |
| | | (let ((src-file (org-babel-temp-file "io-"))) |
| | | (progn (with-temp-file src-file (insert body)) |
| | | (org-babel-eval |
| | | (concat org-babel-io-command " " src-file) ""))))) |
| | | (`value (let* ((src-file (org-babel-temp-file "io-")) |
| | | (wrapper (format org-babel-io-wrapper-method body))) |
| | | (with-temp-file src-file (insert wrapper)) |
| | | (let ((raw (org-babel-eval |
| | | (concat org-babel-io-command " " src-file) ""))) |
| | | (org-babel-result-cond result-params |
| | | raw |
| | | (org-babel-script-escape raw))))))) |
| | | |
| | | |
| | | (defun org-babel-prep-session:io (_session _params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (error "Sessions are not (yet) supported for Io")) |
| | | |
| | | (defun org-babel-io-initiate-session (&optional _session) |
| | | "If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session. Sessions are not |
| | | supported in Io." |
| | | nil) |
| | | |
| | | (provide 'ob-io) |
| | | |
| | | |
| | | |
| | | ;;; ob-io.el ends here |
New file |
| | |
| | | ;;; ob-java.el --- Babel Functions for Java -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Currently this only supports the external compilation and execution |
| | | ;; of java code blocks (i.e., no session support). |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("java" . "java")) |
| | | |
| | | (defcustom org-babel-java-command "java" |
| | | "Name of the java command. |
| | | May be either a command in the path, like java |
| | | or an absolute path name, like /usr/local/bin/java |
| | | parameters may be used, like java -verbose" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-java-compiler "javac" |
| | | "Name of the java compiler. |
| | | May be either a command in the path, like javac |
| | | or an absolute path name, like /usr/local/bin/javac |
| | | parameters may be used, like javac -verbose" |
| | | :group 'org-babel |
| | | :version "24.3" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-execute:java (body params) |
| | | (let* ((classname (or (cdr (assq :classname params)) |
| | | (error |
| | | "Can't compile a java block without a classname"))) |
| | | (packagename (file-name-directory classname)) |
| | | (src-file (concat classname ".java")) |
| | | (cmpflag (or (cdr (assq :cmpflag params)) "")) |
| | | (cmdline (or (cdr (assq :cmdline params)) "")) |
| | | (full-body (org-babel-expand-body:generic body params))) |
| | | (with-temp-file src-file (insert full-body)) |
| | | (org-babel-eval |
| | | (concat org-babel-java-compiler " " cmpflag " " src-file) "") |
| | | ;; created package-name directories if missing |
| | | (unless (or (not packagename) (file-exists-p packagename)) |
| | | (make-directory packagename 'parents)) |
| | | (let ((results (org-babel-eval (concat org-babel-java-command |
| | | " " cmdline " " classname) ""))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | (org-babel-read results) |
| | | (let ((tmp-file (org-babel-temp-file "c-"))) |
| | | (with-temp-file tmp-file (insert results)) |
| | | (org-babel-import-elisp-from-file tmp-file))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))) |
| | | |
| | | (provide 'ob-java) |
| | | |
| | | |
| | | |
| | | ;;; ob-java.el ends here |
New file |
| | |
| | | ;;; ob-js.el --- Babel Functions for Javascript -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, js |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Now working with SBCL for both session and external evaluation. |
| | | ;; |
| | | ;; This certainly isn't optimally robust, but it seems to be working |
| | | ;; for the basic use cases. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - a non-browser javascript engine such as node.js http://nodejs.org/ |
| | | ;; or mozrepl http://wiki.github.com/bard/mozrepl/ |
| | | ;; |
| | | ;; - for session based evaluation mozrepl and moz.el are required see |
| | | ;; http://wiki.github.com/bard/mozrepl/emacs-integration for |
| | | ;; configuration instructions |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function run-mozilla "ext:moz" (arg)) |
| | | |
| | | (defvar org-babel-default-header-args:js '() |
| | | "Default header arguments for js code blocks.") |
| | | |
| | | (defvar org-babel-js-eoe "org-babel-js-eoe" |
| | | "String to indicate that evaluation has completed.") |
| | | |
| | | (defcustom org-babel-js-cmd "node" |
| | | "Name of command used to evaluate js blocks." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defvar org-babel-js-function-wrapper |
| | | "require('sys').print(require('sys').inspect(function(){\n%s\n}()));" |
| | | "Javascript code to print value of body.") |
| | | |
| | | (defun org-babel-execute:js (body params) |
| | | "Execute a block of Javascript code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'" |
| | | (let* ((org-babel-js-cmd (or (cdr (assq :cmd params)) org-babel-js-cmd)) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:js params))) |
| | | (result (if (not (string= (cdr (assq :session params)) "none")) |
| | | ;; session evaluation |
| | | (let ((session (org-babel-prep-session:js |
| | | (cdr (assq :session params)) params))) |
| | | (nth 1 |
| | | (org-babel-comint-with-output |
| | | (session (format "%S" org-babel-js-eoe) t body) |
| | | (mapc |
| | | (lambda (line) |
| | | (insert (org-babel-chomp line)) |
| | | (comint-send-input nil t)) |
| | | (list body (format "%S" org-babel-js-eoe)))))) |
| | | ;; external evaluation |
| | | (let ((script-file (org-babel-temp-file "js-script-"))) |
| | | (with-temp-file script-file |
| | | (insert |
| | | ;; return the value or the output |
| | | (if (string= result-type "value") |
| | | (format org-babel-js-function-wrapper full-body) |
| | | full-body))) |
| | | (org-babel-eval |
| | | (format "%s %s" org-babel-js-cmd |
| | | (org-babel-process-file-name script-file)) ""))))) |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | result (org-babel-js-read result)))) |
| | | |
| | | (defun org-babel-js-read (results) |
| | | "Convert RESULTS into an appropriate elisp value. |
| | | If RESULTS look like a table, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (org-babel-read |
| | | (if (and (stringp results) |
| | | (string-prefix-p "[" results) |
| | | (string-suffix-p "]" results)) |
| | | (org-babel-read |
| | | (concat "'" |
| | | (replace-regexp-in-string |
| | | "\\[" "(" (replace-regexp-in-string |
| | | "\\]" ")" (replace-regexp-in-string |
| | | ",[[:space:]]" " " |
| | | (replace-regexp-in-string |
| | | "'" "\"" results)))))) |
| | | results))) |
| | | |
| | | (defun org-babel-js-var-to-js (var) |
| | | "Convert VAR into a js variable. |
| | | Convert an elisp value into a string of js source code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-js-var-to-js var ", ") "]") |
| | | (replace-regexp-in-string "\n" "\\\\n" (format "%S" var)))) |
| | | |
| | | (defun org-babel-prep-session:js (session params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (let* ((session (org-babel-js-initiate-session session)) |
| | | (var-lines (org-babel-variable-assignments:js params))) |
| | | (when session |
| | | (org-babel-comint-in-buffer session |
| | | (sit-for .5) (goto-char (point-max)) |
| | | (mapc (lambda (var) |
| | | (insert var) (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session) |
| | | (sit-for .1) (goto-char (point-max))) var-lines))) |
| | | session)) |
| | | |
| | | (defun org-babel-variable-assignments:js (params) |
| | | "Return list of Javascript statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) (format "var %s=%s;" |
| | | (car pair) (org-babel-js-var-to-js (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-js-initiate-session (&optional session) |
| | | "If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session." |
| | | (unless (string= session "none") |
| | | (cond |
| | | ((string= "mozrepl" org-babel-js-cmd) |
| | | (require 'moz) |
| | | (let ((session-buffer (save-window-excursion |
| | | (run-mozilla nil) |
| | | (rename-buffer session) |
| | | (current-buffer)))) |
| | | (if (org-babel-comint-buffer-livep session-buffer) |
| | | (progn (sit-for .25) session-buffer) |
| | | (sit-for .5) |
| | | (org-babel-js-initiate-session session)))) |
| | | ((string= "node" org-babel-js-cmd ) |
| | | (error "Session evaluation with node.js is not supported")) |
| | | (t |
| | | (error "Sessions are only supported with mozrepl add \":cmd mozrepl\""))))) |
| | | |
| | | (provide 'ob-js) |
| | | |
| | | |
| | | |
| | | ;;; ob-js.el ends here |
New file |
| | |
| | | ;;; ob-keys.el --- Key Bindings for Babel -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Add Org Babel keybindings to the Org mode keymap for exposing |
| | | ;; Org Babel functions. These will all share a common prefix. See |
| | | ;; the value of `org-babel-key-bindings' for a list of interactive |
| | | ;; functions and their associated keys. |
| | | |
| | | ;;; Code: |
| | | (require 'ob-core) |
| | | |
| | | (defvar org-babel-key-prefix "\C-c\C-v" |
| | | "The key prefix for Babel interactive key-bindings. |
| | | See `org-babel-key-bindings' for the list of interactive babel |
| | | functions which are assigned key bindings, and see |
| | | `org-babel-map' for the actual babel keymap.") |
| | | |
| | | (defvar org-babel-map (make-sparse-keymap) |
| | | "The keymap for interactive Babel functions.") |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-describe-bindings () |
| | | "Describe all keybindings behind `org-babel-key-prefix'." |
| | | (interactive) |
| | | (describe-bindings org-babel-key-prefix)) |
| | | |
| | | (defvar org-babel-key-bindings |
| | | '(("p" . org-babel-previous-src-block) |
| | | ("\C-p" . org-babel-previous-src-block) |
| | | ("n" . org-babel-next-src-block) |
| | | ("\C-n" . org-babel-next-src-block) |
| | | ("e" . org-babel-execute-maybe) |
| | | ("\C-e" . org-babel-execute-maybe) |
| | | ("o" . org-babel-open-src-block-result) |
| | | ("\C-o" . org-babel-open-src-block-result) |
| | | ("\C-v" . org-babel-expand-src-block) |
| | | ("v" . org-babel-expand-src-block) |
| | | ("u" . org-babel-goto-src-block-head) |
| | | ("\C-u" . org-babel-goto-src-block-head) |
| | | ("g" . org-babel-goto-named-src-block) |
| | | ("r" . org-babel-goto-named-result) |
| | | ("\C-r" . org-babel-goto-named-result) |
| | | ("\C-b" . org-babel-execute-buffer) |
| | | ("b" . org-babel-execute-buffer) |
| | | ("\C-s" . org-babel-execute-subtree) |
| | | ("s" . org-babel-execute-subtree) |
| | | ("\C-d" . org-babel-demarcate-block) |
| | | ("d" . org-babel-demarcate-block) |
| | | ("\C-t" . org-babel-tangle) |
| | | ("t" . org-babel-tangle) |
| | | ("\C-f" . org-babel-tangle-file) |
| | | ("f" . org-babel-tangle-file) |
| | | ("\C-c" . org-babel-check-src-block) |
| | | ("c" . org-babel-check-src-block) |
| | | ("\C-j" . org-babel-insert-header-arg) |
| | | ("j" . org-babel-insert-header-arg) |
| | | ("\C-l" . org-babel-load-in-session) |
| | | ("l" . org-babel-load-in-session) |
| | | ("\C-i" . org-babel-lob-ingest) |
| | | ("i" . org-babel-lob-ingest) |
| | | ("\C-I" . org-babel-view-src-block-info) |
| | | ("I" . org-babel-view-src-block-info) |
| | | ("\C-z" . org-babel-switch-to-session) |
| | | ("z" . org-babel-switch-to-session-with-code) |
| | | ("\C-a" . org-babel-sha1-hash) |
| | | ("a" . org-babel-sha1-hash) |
| | | ("h" . org-babel-describe-bindings) |
| | | ("\C-x" . org-babel-do-key-sequence-in-edit-buffer) |
| | | ("x" . org-babel-do-key-sequence-in-edit-buffer) |
| | | ("k" . org-babel-remove-result-one-or-many) |
| | | ("\C-\M-h" . org-babel-mark-block)) |
| | | "Alist of key bindings and interactive Babel functions. |
| | | This list associates interactive Babel functions |
| | | with keys. Each element of this list will add an entry to the |
| | | `org-babel-map' using the letter key which is the `car' of the |
| | | a-list placed behind the generic `org-babel-key-prefix'.") |
| | | |
| | | (provide 'ob-keys) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; ob-keys.el ends here |
New file |
| | |
| | | ;;; ob-latex.el --- Babel Functions for LaTeX -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating LaTeX source code. |
| | | ;; |
| | | ;; Currently on evaluation this returns raw LaTeX code, unless a :file |
| | | ;; header argument is given in which case small png or pdf files will |
| | | ;; be created directly form the latex source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-create-formula-image "org" (string tofile options buffer &optional type)) |
| | | (declare-function org-latex-compile "ox-latex" (texfile &optional snippet)) |
| | | (declare-function org-latex-guess-inputenc "ox-latex" (header)) |
| | | (declare-function org-splice-latex-header "org" (tpl def-pkg pkg snippets-p &optional extra)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("latex" . "tex")) |
| | | |
| | | (defvar org-format-latex-header) ; From org.el |
| | | (defvar org-format-latex-options) ; From org.el |
| | | (defvar org-latex-default-packages-alist) ; From org.el |
| | | (defvar org-latex-packages-alist) ; From org.el |
| | | |
| | | (defvar org-babel-default-header-args:latex |
| | | '((:results . "latex") (:exports . "results")) |
| | | "Default arguments to use when evaluating a LaTeX source block.") |
| | | |
| | | (defconst org-babel-header-args:latex |
| | | '((border . :any) |
| | | (fit . :any) |
| | | (imagemagick . ((nil t))) |
| | | (iminoptions . :any) |
| | | (imoutoptions . :any) |
| | | (packages . :any) |
| | | (pdfheight . :any) |
| | | (pdfpng . :any) |
| | | (pdfwidth . :any) |
| | | (headers . :any) |
| | | (packages . :any) |
| | | (buffer . ((yes no)))) |
| | | "LaTeX-specific header arguments.") |
| | | |
| | | (defcustom org-babel-latex-htlatex "htlatex" |
| | | "The htlatex command to enable conversion of latex to SVG or HTML." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-latex-htlatex-packages |
| | | '("[usenames]{color}" "{tikz}" "{color}" "{listings}" "{amsmath}") |
| | | "Packages to use for htlatex export." |
| | | :group 'org-babel |
| | | :type '(repeat (string))) |
| | | |
| | | (defun org-babel-expand-body:latex (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (mapc (lambda (pair) ;; replace variables |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (regexp-quote (format "%S" (car pair))) |
| | | (if (stringp (cdr pair)) |
| | | (cdr pair) (format "%S" (cdr pair))) |
| | | body))) (org-babel--get-vars params)) |
| | | (org-trim body)) |
| | | |
| | | (defun org-babel-execute:latex (body params) |
| | | "Execute a block of Latex code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (setq body (org-babel-expand-body:latex body params)) |
| | | (if (cdr (assq :file params)) |
| | | (let* ((out-file (cdr (assq :file params))) |
| | | (extension (file-name-extension out-file)) |
| | | (tex-file (org-babel-temp-file "latex-" ".tex")) |
| | | (border (cdr (assq :border params))) |
| | | (imagemagick (cdr (assq :imagemagick params))) |
| | | (im-in-options (cdr (assq :iminoptions params))) |
| | | (im-out-options (cdr (assq :imoutoptions params))) |
| | | (fit (or (cdr (assq :fit params)) border)) |
| | | (height (and fit (cdr (assq :pdfheight params)))) |
| | | (width (and fit (cdr (assq :pdfwidth params)))) |
| | | (headers (cdr (assq :headers params))) |
| | | (in-buffer (not (string= "no" (cdr (assq :buffer params))))) |
| | | (org-latex-packages-alist |
| | | (append (cdr (assq :packages params)) org-latex-packages-alist))) |
| | | (cond |
| | | ((and (string-suffix-p ".png" out-file) (not imagemagick)) |
| | | (org-create-formula-image |
| | | body out-file org-format-latex-options in-buffer)) |
| | | ((string-suffix-p ".tikz" out-file) |
| | | (when (file-exists-p out-file) (delete-file out-file)) |
| | | (with-temp-file out-file |
| | | (insert body))) |
| | | ((and (or (string= "svg" extension) |
| | | (string= "html" extension)) |
| | | (executable-find org-babel-latex-htlatex)) |
| | | ;; TODO: this is a very different way of generating the |
| | | ;; frame latex document than in the pdf case. Ideally, both |
| | | ;; would be unified. This would prevent bugs creeping in |
| | | ;; such as the one fixed on Aug 16 2014 whereby :headers was |
| | | ;; not included in the SVG/HTML case. |
| | | (with-temp-file tex-file |
| | | (insert (concat |
| | | "\\documentclass[preview]{standalone} |
| | | \\def\\pgfsysdriver{pgfsys-tex4ht.def} |
| | | " |
| | | (mapconcat (lambda (pkg) |
| | | (concat "\\usepackage" pkg)) |
| | | org-babel-latex-htlatex-packages |
| | | "\n") |
| | | (if headers |
| | | (concat "\n" |
| | | (if (listp headers) |
| | | (mapconcat #'identity headers "\n") |
| | | headers) "\n") |
| | | "") |
| | | "\\begin{document}" |
| | | body |
| | | "\\end{document}"))) |
| | | (when (file-exists-p out-file) (delete-file out-file)) |
| | | (let ((default-directory (file-name-directory tex-file))) |
| | | (shell-command (format "%s %s" org-babel-latex-htlatex tex-file))) |
| | | (cond |
| | | ((file-exists-p (concat (file-name-sans-extension tex-file) "-1.svg")) |
| | | (if (string-suffix-p ".svg" out-file) |
| | | (progn |
| | | (shell-command "pwd") |
| | | (shell-command (format "mv %s %s" |
| | | (concat (file-name-sans-extension tex-file) "-1.svg") |
| | | out-file))) |
| | | (error "SVG file produced but HTML file requested"))) |
| | | ((file-exists-p (concat (file-name-sans-extension tex-file) ".html")) |
| | | (if (string-suffix-p ".html" out-file) |
| | | (shell-command "mv %s %s" |
| | | (concat (file-name-sans-extension tex-file) |
| | | ".html") |
| | | out-file) |
| | | (error "HTML file produced but SVG file requested"))))) |
| | | ((or (string= "pdf" extension) imagemagick) |
| | | (with-temp-file tex-file |
| | | (require 'ox-latex) |
| | | (insert |
| | | (org-latex-guess-inputenc |
| | | (org-splice-latex-header |
| | | org-format-latex-header |
| | | (delq |
| | | nil |
| | | (mapcar |
| | | (lambda (el) |
| | | (unless (and (listp el) (string= "hyperref" (cadr el))) |
| | | el)) |
| | | org-latex-default-packages-alist)) |
| | | org-latex-packages-alist |
| | | nil)) |
| | | (if fit "\n\\usepackage[active, tightpage]{preview}\n" "") |
| | | (if border (format "\\setlength{\\PreviewBorder}{%s}" border) "") |
| | | (if height (concat "\n" (format "\\pdfpageheight %s" height)) "") |
| | | (if width (concat "\n" (format "\\pdfpagewidth %s" width)) "") |
| | | (if headers |
| | | (concat "\n" |
| | | (if (listp headers) |
| | | (mapconcat #'identity headers "\n") |
| | | headers) "\n") |
| | | "") |
| | | (if fit |
| | | (concat "\n\\begin{document}\n\\begin{preview}\n" body |
| | | "\n\\end{preview}\n\\end{document}\n") |
| | | (concat "\n\\begin{document}\n" body "\n\\end{document}\n")))) |
| | | (when (file-exists-p out-file) (delete-file out-file)) |
| | | (let ((transient-pdf-file (org-babel-latex-tex-to-pdf tex-file))) |
| | | (cond |
| | | ((string= "pdf" extension) |
| | | (rename-file transient-pdf-file out-file)) |
| | | (imagemagick |
| | | (org-babel-latex-convert-pdf |
| | | transient-pdf-file out-file im-in-options im-out-options) |
| | | (when (file-exists-p transient-pdf-file) |
| | | (delete-file transient-pdf-file))) |
| | | (t |
| | | (error "Can not create %s files, please specify a .png or .pdf file or try the :imagemagick header argument" |
| | | extension)))))) |
| | | nil) ;; signal that output has already been written to file |
| | | body)) |
| | | |
| | | (defun org-babel-latex-convert-pdf (pdffile out-file im-in-options im-out-options) |
| | | "Generate a file from a pdf file using imagemagick." |
| | | (let ((cmd (concat "convert " im-in-options " " pdffile " " |
| | | im-out-options " " out-file))) |
| | | (message "Converting pdffile file %s..." cmd) |
| | | (shell-command cmd))) |
| | | |
| | | (defun org-babel-latex-tex-to-pdf (file) |
| | | "Generate a pdf file according to the contents FILE." |
| | | (require 'ox-latex) |
| | | (org-latex-compile file)) |
| | | |
| | | (defun org-babel-prep-session:latex (_session _params) |
| | | "Return an error because LaTeX doesn't support sessions." |
| | | (error "LaTeX does not support sessions")) |
| | | |
| | | |
| | | (provide 'ob-latex) |
| | | ;;; ob-latex.el ends here |
New file |
| | |
| | | ;;; ob-ledger.el --- Babel Functions for Ledger -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric S Fraga |
| | | ;; Keywords: literate programming, reproducible research, accounting |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating ledger entries. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in ledger |
| | | ;; |
| | | ;; 2) we are generally only going to return output from the ledger program |
| | | ;; |
| | | ;; 3) we are adding the "cmdline" header argument |
| | | ;; |
| | | ;; 4) there are no variables |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:ledger |
| | | '((:results . "output") (:cmdline . "bal")) |
| | | "Default arguments to use when evaluating a ledger source block.") |
| | | |
| | | (defun org-babel-execute:ledger (body params) |
| | | "Execute a block of Ledger entries with org-babel. This function is |
| | | called by `org-babel-execute-src-block'." |
| | | (message "executing Ledger source code block") |
| | | (let ((cmdline (cdr (assq :cmdline params))) |
| | | (in-file (org-babel-temp-file "ledger-")) |
| | | (out-file (org-babel-temp-file "ledger-output-"))) |
| | | (with-temp-file in-file (insert body)) |
| | | (message "%s" (concat "ledger" |
| | | " -f " (org-babel-process-file-name in-file) |
| | | " " cmdline)) |
| | | (with-output-to-string |
| | | (shell-command (concat "ledger" |
| | | " -f " (org-babel-process-file-name in-file) |
| | | " " cmdline |
| | | " > " (org-babel-process-file-name out-file)))) |
| | | (with-temp-buffer (insert-file-contents out-file) (buffer-string)))) |
| | | |
| | | (defun org-babel-prep-session:ledger (_session _params) |
| | | (error "Ledger does not support sessions")) |
| | | |
| | | (provide 'ob-ledger) |
| | | |
| | | |
| | | |
| | | ;;; ob-ledger.el ends here |
New file |
| | |
| | | ;;; ob-lilypond.el --- Babel Functions for Lilypond -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Martyn Jago |
| | | ;; Keywords: babel language, literate programming |
| | | ;; Homepage: https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Installation, ob-lilypond documentation, and examples are available at |
| | | ;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html |
| | | ;; |
| | | ;; Lilypond documentation can be found at |
| | | ;; http://lilypond.org/manuals.html |
| | | ;; |
| | | ;; This depends on epstopdf --- See http://www.ctan.org/pkg/epstopdf. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'outline) |
| | | (defalias 'lilypond-mode 'LilyPond-mode) |
| | | |
| | | (add-to-list 'org-babel-tangle-lang-exts '("LilyPond" . "ly")) |
| | | |
| | | (defvar org-babel-default-header-args:lilypond '() |
| | | "Default header arguments for lilypond code blocks. |
| | | NOTE: The arguments are determined at lilypond compile time. |
| | | See (org-babel-lilypond-set-header-args)") |
| | | |
| | | (defvar org-babel-lilypond-compile-post-tangle t |
| | | "Following the org-babel-tangle (C-c C-v t) command, |
| | | org-babel-lilypond-compile-post-tangle determines whether ob-lilypond should |
| | | automatically attempt to compile the resultant tangled file. |
| | | If the value is nil, no automated compilation takes place. |
| | | Default value is t") |
| | | |
| | | (defvar org-babel-lilypond-display-pdf-post-tangle t |
| | | "Following a successful LilyPond compilation |
| | | org-babel-lilypond-display-pdf-post-tangle determines whether to automate the |
| | | drawing / redrawing of the resultant pdf. If the value is nil, |
| | | the pdf is not automatically redrawn. Default value is t") |
| | | |
| | | (defvar org-babel-lilypond-play-midi-post-tangle t |
| | | "Following a successful LilyPond compilation |
| | | org-babel-lilypond-play-midi-post-tangle determines whether to automate the |
| | | playing of the resultant midi file. If the value is nil, |
| | | the midi file is not automatically played. Default value is t") |
| | | |
| | | (defvar org-babel-lilypond-ly-command "" |
| | | "Command to execute lilypond on your system. |
| | | Do not set it directly. Customize `org-babel-lilypond-commands' instead.") |
| | | (defvar org-babel-lilypond-pdf-command "" |
| | | "Command to show a PDF file on your system. |
| | | Do not set it directly. Customize `org-babel-lilypond-commands' instead.") |
| | | (defvar org-babel-lilypond-midi-command "" |
| | | "Command to play a MIDI file on your system. |
| | | Do not set it directly. Customize `org-babel-lilypond-commands' instead.") |
| | | (defcustom org-babel-lilypond-commands |
| | | (cond |
| | | ((eq system-type 'darwin) |
| | | '("/Applications/lilypond.app/Contents/Resources/bin/lilypond" "open" "open")) |
| | | ((eq system-type 'windows-nt) |
| | | '("lilypond" "" "")) |
| | | (t |
| | | '("lilypond" "xdg-open" "xdg-open"))) |
| | | "Commands to run lilypond and view or play the results. |
| | | These should be executables that take a filename as an argument. |
| | | On some system it is possible to specify the filename directly |
| | | and the viewer or player will be determined from the file type; |
| | | you can leave the string empty on this case." |
| | | :group 'org-babel |
| | | :type '(list |
| | | (string :tag "Lilypond ") |
| | | (string :tag "PDF Viewer ") |
| | | (string :tag "MIDI Player")) |
| | | :version "24.4" |
| | | :package-version '(Org . "8.2.7") |
| | | :set |
| | | (lambda (_symbol value) |
| | | (setq |
| | | org-babel-lilypond-ly-command (nth 0 value) |
| | | org-babel-lilypond-pdf-command (nth 1 value) |
| | | org-babel-lilypond-midi-command (nth 2 value)))) |
| | | |
| | | (defvar org-babel-lilypond-gen-png nil |
| | | "Non-nil means image generation (PNG) is turned on by default.") |
| | | |
| | | (defvar org-babel-lilypond-gen-svg nil |
| | | "Non-nil means image generation (SVG) is be turned on by default.") |
| | | |
| | | (defvar org-babel-lilypond-gen-html nil |
| | | "Non-nil means HTML generation is turned on by default.") |
| | | |
| | | (defvar org-babel-lilypond-gen-pdf nil |
| | | "Non-nil means PDF generation is be turned on by default.") |
| | | |
| | | (defvar org-babel-lilypond-use-eps nil |
| | | "Non-nil forces the compiler to use the EPS backend.") |
| | | |
| | | (defvar org-babel-lilypond-arrange-mode nil |
| | | "Non-nil turns Arrange mode on. |
| | | In Arrange mode the following settings are altered from default: |
| | | :tangle yes, :noweb yes |
| | | :results silent :comments yes. |
| | | In addition lilypond block execution causes tangling of all lilypond |
| | | blocks.") |
| | | |
| | | (defun org-babel-expand-body:lilypond (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (mapc |
| | | (lambda (pair) |
| | | (let ((name (symbol-name (car pair))) |
| | | (value (cdr pair))) |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (concat "$" (regexp-quote name)) |
| | | (if (stringp value) value (format "%S" value)) |
| | | body)))) |
| | | vars) |
| | | body)) |
| | | |
| | | (defun org-babel-execute:lilypond (body params) |
| | | "This function is called by `org-babel-execute-src-block'. |
| | | Depending on whether we are in arrange mode either: |
| | | 1. Attempt to execute lilypond block according to header settings |
| | | (This is the default basic mode) |
| | | 2. Tangle all lilypond blocks and process the result (arrange mode)" |
| | | (org-babel-lilypond-set-header-args org-babel-lilypond-arrange-mode) |
| | | (if org-babel-lilypond-arrange-mode |
| | | (org-babel-lilypond-tangle) |
| | | (org-babel-lilypond-process-basic body params))) |
| | | |
| | | (defun org-babel-lilypond-tangle () |
| | | "ob-lilypond specific tangle, attempts to invoke |
| | | =ly-execute-tangled-ly= if tangle is successful. Also passes |
| | | specific arguments to =org-babel-tangle=" |
| | | (interactive) |
| | | (if (org-babel-tangle nil "yes" "lilypond") |
| | | (org-babel-lilypond-execute-tangled-ly) nil)) |
| | | |
| | | (defun org-babel-lilypond-process-basic (body params) |
| | | "Execute a lilypond block in basic mode." |
| | | (let* ((out-file (cdr (assq :file params))) |
| | | (cmdline (or (cdr (assq :cmdline params)) |
| | | "")) |
| | | (in-file (org-babel-temp-file "lilypond-"))) |
| | | |
| | | (with-temp-file in-file |
| | | (insert (org-babel-expand-body:generic body params))) |
| | | (org-babel-eval |
| | | (concat |
| | | org-babel-lilypond-ly-command |
| | | " -dbackend=eps " |
| | | "-dno-gs-load-fonts " |
| | | "-dinclude-eps-fonts " |
| | | (or (cdr (assoc (file-name-extension out-file) |
| | | '(("pdf" . "--pdf ") |
| | | ("ps" . "--ps ") |
| | | ("png" . "--png ")))) |
| | | "--png ") |
| | | "--output=" |
| | | (file-name-sans-extension out-file) |
| | | " " |
| | | cmdline |
| | | in-file) "")) nil) |
| | | |
| | | (defun org-babel-prep-session:lilypond (_session _params) |
| | | "Return an error because LilyPond exporter does not support sessions." |
| | | (error "Sorry, LilyPond does not currently support sessions!")) |
| | | |
| | | (defun org-babel-lilypond-execute-tangled-ly () |
| | | "Compile result of block tangle with lilypond. |
| | | If error in compilation, attempt to mark the error in lilypond org file" |
| | | (when org-babel-lilypond-compile-post-tangle |
| | | (let ((org-babel-lilypond-tangled-file (org-babel-lilypond-switch-extension |
| | | (buffer-file-name) ".lilypond")) |
| | | (org-babel-lilypond-temp-file (org-babel-lilypond-switch-extension |
| | | (buffer-file-name) ".ly"))) |
| | | (if (not (file-exists-p org-babel-lilypond-tangled-file)) |
| | | (error "Error: Tangle Failed!") |
| | | (when (file-exists-p org-babel-lilypond-temp-file) |
| | | (delete-file org-babel-lilypond-temp-file)) |
| | | (rename-file org-babel-lilypond-tangled-file |
| | | org-babel-lilypond-temp-file)) |
| | | (switch-to-buffer-other-window "*lilypond*") |
| | | (erase-buffer) |
| | | (org-babel-lilypond-compile-lilyfile org-babel-lilypond-temp-file) |
| | | (goto-char (point-min)) |
| | | (if (org-babel-lilypond-check-for-compile-error org-babel-lilypond-temp-file) |
| | | (error "Error in Compilation!") |
| | | (other-window -1) |
| | | (org-babel-lilypond-attempt-to-open-pdf org-babel-lilypond-temp-file) |
| | | (org-babel-lilypond-attempt-to-play-midi org-babel-lilypond-temp-file))))) |
| | | |
| | | (defun org-babel-lilypond-compile-lilyfile (file-name &optional test) |
| | | "Compile lilypond file and check for compile errors |
| | | FILE-NAME is full path to lilypond (.ly) file" |
| | | (message "Compiling LilyPond...") |
| | | (let ((arg-1 org-babel-lilypond-ly-command) ;program |
| | | (arg-2 nil) ;infile |
| | | (arg-3 "*lilypond*") ;buffer |
| | | (arg-4 t) ;display |
| | | (arg-5 (if org-babel-lilypond-gen-png "--png" "")) ;&rest... |
| | | (arg-6 (if org-babel-lilypond-gen-html "--html" "")) |
| | | (arg-7 (if org-babel-lilypond-gen-pdf "--pdf" "")) |
| | | (arg-8 (if org-babel-lilypond-use-eps "-dbackend=eps" "")) |
| | | (arg-9 (if org-babel-lilypond-gen-svg "-dbackend=svg" "")) |
| | | (arg-10 (concat "--output=" (file-name-sans-extension file-name))) |
| | | (arg-11 file-name)) |
| | | (if test |
| | | `(,arg-1 ,arg-2 ,arg-3 ,arg-4 ,arg-5 ,arg-6 |
| | | ,arg-7 ,arg-8 ,arg-9 ,arg-10 ,arg-11) |
| | | (call-process |
| | | arg-1 arg-2 arg-3 arg-4 arg-5 arg-6 |
| | | arg-7 arg-8 arg-9 arg-10 arg-11)))) |
| | | |
| | | (defun org-babel-lilypond-check-for-compile-error (file-name &optional test) |
| | | "Check for compile error. |
| | | This is performed by parsing the *lilypond* buffer |
| | | containing the output message from the compilation. |
| | | FILE-NAME is full path to lilypond file. |
| | | If TEST is t just return nil if no error found, and pass |
| | | nil as file-name since it is unused in this context" |
| | | (let ((is-error (search-forward "error:" nil t))) |
| | | (if test |
| | | is-error |
| | | (when is-error |
| | | (org-babel-lilypond-process-compile-error file-name))))) |
| | | |
| | | (defun org-babel-lilypond-process-compile-error (file-name) |
| | | "Process the compilation error that has occurred. |
| | | FILE-NAME is full path to lilypond file" |
| | | (let ((line-num (org-babel-lilypond-parse-line-num))) |
| | | (let ((error-lines (org-babel-lilypond-parse-error-line file-name line-num))) |
| | | (org-babel-lilypond-mark-error-line file-name error-lines) |
| | | (error "Error: Compilation Failed!")))) |
| | | |
| | | (defun org-babel-lilypond-mark-error-line (file-name line) |
| | | "Mark the erroneous lines in the lilypond org buffer. |
| | | FILE-NAME is full path to lilypond file. |
| | | LINE is the erroneous line" |
| | | (switch-to-buffer-other-window |
| | | (concat (file-name-nondirectory |
| | | (org-babel-lilypond-switch-extension file-name ".org")))) |
| | | (let ((temp (point))) |
| | | (goto-char (point-min)) |
| | | (setq case-fold-search nil) |
| | | (if (search-forward line nil t) |
| | | (progn |
| | | (outline-show-all) |
| | | (set-mark (point)) |
| | | (goto-char (- (point) (length line)))) |
| | | (goto-char temp)))) |
| | | |
| | | (defun org-babel-lilypond-parse-line-num (&optional buffer) |
| | | "Extract error line number." |
| | | (when buffer (set-buffer buffer)) |
| | | (let ((start |
| | | (and (search-backward ":" nil t) |
| | | (search-backward ":" nil t) |
| | | (search-backward ":" nil t) |
| | | (search-backward ":" nil t)))) |
| | | (when start |
| | | (forward-char) |
| | | (let ((num (string-to-number |
| | | (buffer-substring |
| | | (+ 1 start) |
| | | (- (search-forward ":" nil t) 1))))) |
| | | (and (numberp num) num))))) |
| | | |
| | | (defun org-babel-lilypond-parse-error-line (file-name lineNo) |
| | | "Extract the erroneous line from the tangled .ly file |
| | | FILE-NAME is full path to lilypond file. |
| | | LINENO is the number of the erroneous line" |
| | | (with-temp-buffer |
| | | (insert-file-contents (org-babel-lilypond-switch-extension file-name ".ly") |
| | | nil nil nil t) |
| | | (if (> lineNo 0) |
| | | (progn |
| | | (goto-char (point-min)) |
| | | (forward-line (- lineNo 1)) |
| | | (buffer-substring (point) (point-at-eol))) |
| | | nil))) |
| | | |
| | | (defun org-babel-lilypond-attempt-to-open-pdf (file-name &optional test) |
| | | "Attempt to display the generated pdf file |
| | | FILE-NAME is full path to lilypond file |
| | | If TEST is non-nil, the shell command is returned and is not run" |
| | | (when org-babel-lilypond-display-pdf-post-tangle |
| | | (let ((pdf-file (org-babel-lilypond-switch-extension file-name ".pdf"))) |
| | | (if (file-exists-p pdf-file) |
| | | (let ((cmd-string |
| | | (concat org-babel-lilypond-pdf-command " " pdf-file))) |
| | | (if test |
| | | cmd-string |
| | | (start-process |
| | | "\"Audition pdf\"" |
| | | "*lilypond*" |
| | | org-babel-lilypond-pdf-command |
| | | pdf-file))) |
| | | (message "No pdf file generated so can't display!"))))) |
| | | |
| | | (defun org-babel-lilypond-attempt-to-play-midi (file-name &optional test) |
| | | "Attempt to play the generated MIDI file |
| | | FILE-NAME is full path to lilypond file |
| | | If TEST is non-nil, the shell command is returned and is not run" |
| | | (when org-babel-lilypond-play-midi-post-tangle |
| | | (let ((midi-file (org-babel-lilypond-switch-extension file-name ".midi"))) |
| | | (if (file-exists-p midi-file) |
| | | (let ((cmd-string |
| | | (concat org-babel-lilypond-midi-command " " midi-file))) |
| | | (if test |
| | | cmd-string |
| | | (start-process |
| | | "\"Audition midi\"" |
| | | "*lilypond*" |
| | | org-babel-lilypond-midi-command |
| | | midi-file))) |
| | | (message "No midi file generated so can't play!"))))) |
| | | |
| | | (defun org-babel-lilypond-toggle-midi-play () |
| | | "Toggle whether midi will be played following a successful compilation." |
| | | (interactive) |
| | | (setq org-babel-lilypond-play-midi-post-tangle |
| | | (not org-babel-lilypond-play-midi-post-tangle)) |
| | | (message (concat "Post-Tangle MIDI play has been " |
| | | (if org-babel-lilypond-play-midi-post-tangle |
| | | "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-toggle-pdf-display () |
| | | "Toggle whether pdf will be displayed following a successful compilation." |
| | | (interactive) |
| | | (setq org-babel-lilypond-display-pdf-post-tangle |
| | | (not org-babel-lilypond-display-pdf-post-tangle)) |
| | | (message (concat "Post-Tangle PDF display has been " |
| | | (if org-babel-lilypond-display-pdf-post-tangle |
| | | "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-toggle-png-generation () |
| | | "Toggle whether png image will be generated by compilation." |
| | | (interactive) |
| | | (setq org-babel-lilypond-gen-png (not org-babel-lilypond-gen-png)) |
| | | (message (concat "PNG image generation has been " |
| | | (if org-babel-lilypond-gen-png "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-toggle-html-generation () |
| | | "Toggle whether html will be generated by compilation." |
| | | (interactive) |
| | | (setq org-babel-lilypond-gen-html (not org-babel-lilypond-gen-html)) |
| | | (message (concat "HTML generation has been " |
| | | (if org-babel-lilypond-gen-html "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-toggle-pdf-generation () |
| | | "Toggle whether pdf will be generated by compilation." |
| | | (interactive) |
| | | (setq org-babel-lilypond-gen-pdf (not org-babel-lilypond-gen-pdf)) |
| | | (message (concat "PDF generation has been " |
| | | (if org-babel-lilypond-gen-pdf "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-toggle-arrange-mode () |
| | | "Toggle whether in Arrange mode or Basic mode." |
| | | (interactive) |
| | | (setq org-babel-lilypond-arrange-mode |
| | | (not org-babel-lilypond-arrange-mode)) |
| | | (message (concat "Arrange mode has been " |
| | | (if org-babel-lilypond-arrange-mode "ENABLED." "DISABLED.")))) |
| | | |
| | | (defun org-babel-lilypond-switch-extension (file-name ext) |
| | | "Utility command to swap current FILE-NAME extension with EXT" |
| | | (concat (file-name-sans-extension |
| | | file-name) ext)) |
| | | |
| | | (defun org-babel-lilypond-get-header-args (mode) |
| | | "Default arguments to use when evaluating a lilypond |
| | | source block. These depend upon whether we are in arrange |
| | | mode i.e. ARRANGE-MODE is t" |
| | | (cond (mode |
| | | '((:tangle . "yes") |
| | | (:noweb . "yes") |
| | | (:results . "silent") |
| | | (:cache . "yes") |
| | | (:comments . "yes"))) |
| | | (t |
| | | '((:results . "file") |
| | | (:exports . "results"))))) |
| | | |
| | | (defun org-babel-lilypond-set-header-args (mode) |
| | | "Set org-babel-default-header-args:lilypond |
| | | dependent on ORG-BABEL-LILYPOND-ARRANGE-MODE" |
| | | (setq org-babel-default-header-args:lilypond |
| | | (org-babel-lilypond-get-header-args mode))) |
| | | |
| | | (provide 'ob-lilypond) |
| | | |
| | | ;;; ob-lilypond.el ends here |
New file |
| | |
| | | ;;; ob-lisp.el --- Babel Functions for Common Lisp -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Joel Boehland |
| | | ;; Eric Schulte |
| | | ;; David T. O'Toole <dto@gnu.org> |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;;; Support for evaluating Common Lisp code, relies on SLY or SLIME |
| | | ;;; for all eval. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; Requires SLY (Sylvester the Cat's Common Lisp IDE) or SLIME |
| | | ;; (Superior Lisp Interaction Mode for Emacs). See: |
| | | ;; - https://github.com/capitaomorte/sly |
| | | ;; - http://common-lisp.net/project/slime/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function sly-eval "ext:sly" (sexp &optional package)) |
| | | (declare-function slime-eval "ext:slime" (sexp &optional package)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("lisp" . "lisp")) |
| | | |
| | | (defvar org-babel-default-header-args:lisp '()) |
| | | (defvar org-babel-header-args:lisp '((package . :any))) |
| | | |
| | | (defcustom org-babel-lisp-eval-fn #'slime-eval |
| | | "The function to be called to evaluate code on the Lisp side. |
| | | Valid values include `slime-eval' and `sly-eval'." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "9.0") |
| | | :type 'symbol) |
| | | |
| | | (defcustom org-babel-lisp-dir-fmt |
| | | "(let ((*default-pathname-defaults* #P%S\n)) %%s\n)" |
| | | "Format string used to wrap code bodies to set the current directory. |
| | | For example a value of \"(progn ;; %s\\n %%s)\" would ignore the |
| | | current directory string." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-expand-body:lisp (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let* ((vars (org-babel--get-vars params)) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (print-level nil) (print-length nil) |
| | | (body (if (null vars) (org-trim body) |
| | | (concat "(let (" |
| | | (mapconcat |
| | | (lambda (var) |
| | | (format "(%S (quote %S))" (car var) (cdr var))) |
| | | vars "\n ") |
| | | ")\n" body ")")))) |
| | | (if (or (member "code" result-params) |
| | | (member "pp" result-params)) |
| | | (format "(pprint %s)" body) |
| | | body))) |
| | | |
| | | (defun org-babel-execute:lisp (body params) |
| | | "Execute a block of Common Lisp code with Babel. |
| | | BODY is the contents of the block, as a string. PARAMS is |
| | | a property list containing the parameters of the block." |
| | | (require (pcase org-babel-lisp-eval-fn |
| | | (`slime-eval 'slime) |
| | | (`sly-eval 'sly))) |
| | | (org-babel-reassemble-table |
| | | (let ((result |
| | | (funcall (if (member "output" (cdr (assq :result-params params))) |
| | | #'car #'cadr) |
| | | (with-temp-buffer |
| | | (insert (org-babel-expand-body:lisp body params)) |
| | | (funcall org-babel-lisp-eval-fn |
| | | `(swank:eval-and-grab-output |
| | | ,(let ((dir (if (assq :dir params) |
| | | (cdr (assq :dir params)) |
| | | default-directory))) |
| | | (format |
| | | (if dir (format org-babel-lisp-dir-fmt dir) |
| | | "(progn %s\n)") |
| | | (buffer-substring-no-properties |
| | | (point-min) (point-max))))) |
| | | (cdr (assq :package params))))))) |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | result |
| | | (condition-case nil |
| | | (read (org-babel-lisp-vector-to-list result)) |
| | | (error result)))) |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params))))) |
| | | |
| | | (defun org-babel-lisp-vector-to-list (results) |
| | | ;; TODO: better would be to replace #(...) with [...] |
| | | (replace-regexp-in-string "#(" "(" results)) |
| | | |
| | | (provide 'ob-lisp) |
| | | |
| | | |
| | | |
| | | ;;; ob-lisp.el ends here |
New file |
| | |
| | | ;;; ob-lob.el --- Functions Supporting the Library of Babel -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Code: |
| | | (require 'cl-lib) |
| | | (require 'ob-core) |
| | | (require 'ob-table) |
| | | |
| | | (declare-function org-babel-ref-split-args "ob-ref" (arg-string)) |
| | | (declare-function org-element-at-point "org-element" ()) |
| | | (declare-function org-element-context "org-element" (&optional element)) |
| | | (declare-function org-element-property "org-element" (property element)) |
| | | (declare-function org-element-type "org-element" (element)) |
| | | |
| | | (defvar org-babel-library-of-babel nil |
| | | "Library of source-code blocks. |
| | | This is an association list. Populate the library by calling |
| | | `org-babel-lob-ingest' on files containing source blocks.") |
| | | |
| | | (defvar org-babel-default-lob-header-args '((:exports . "results")) |
| | | "Default header arguments to use when exporting Babel calls. |
| | | By default, a Babel call inherits its arguments from the source |
| | | block being called. Header arguments defined in this variable |
| | | take precedence over these. It is useful for properties that |
| | | should not be inherited from a source block.") |
| | | |
| | | (defun org-babel-lob-ingest (&optional file) |
| | | "Add all named source blocks defined in FILE to `org-babel-library-of-babel'." |
| | | (interactive "fFile: ") |
| | | (let ((lob-ingest-count 0)) |
| | | (org-babel-map-src-blocks file |
| | | (let* ((info (org-babel-get-src-block-info 'light)) |
| | | (source-name (nth 4 info))) |
| | | (when source-name |
| | | (setf (nth 1 info) |
| | | (if (org-babel-noweb-p (nth 2 info) :eval) |
| | | (org-babel-expand-noweb-references info) |
| | | (nth 1 info))) |
| | | (let ((source (intern source-name))) |
| | | (setq org-babel-library-of-babel |
| | | (cons (cons source info) |
| | | (assq-delete-all source org-babel-library-of-babel)))) |
| | | (cl-incf lob-ingest-count)))) |
| | | (message "%d src block%s added to Library of Babel" |
| | | lob-ingest-count (if (> lob-ingest-count 1) "s" "")) |
| | | lob-ingest-count)) |
| | | |
| | | ;; Functions for executing lob one-liners. |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-lob-execute-maybe () |
| | | "Execute a Library of Babel source block, if appropriate. |
| | | Detect if this is context for a Library Of Babel source block and |
| | | if so then run the appropriate source block from the Library." |
| | | (interactive) |
| | | (let ((info (org-babel-lob-get-info))) |
| | | (when info |
| | | (org-babel-execute-src-block nil info) |
| | | t))) |
| | | |
| | | (defun org-babel-lob--src-info (ref) |
| | | "Return internal representation for Babel data referenced as REF. |
| | | REF is a string. This function looks into the current document |
| | | for a Babel call or source block. If none is found, it looks |
| | | after REF in the Library of Babel." |
| | | (let ((name ref) |
| | | (file nil)) |
| | | ;; Extract the remote file, if specified in the reference. |
| | | (when (string-match "\\`\\(.+\\):\\(.+\\)\\'" ref) |
| | | (setq file (match-string 1 ref)) |
| | | (setq name (match-string 2 ref))) |
| | | ;; During export, look into the pristine copy of the document |
| | | ;; being exported instead of the current one, which could miss |
| | | ;; some data. |
| | | (with-current-buffer (cond (file (find-file-noselect file t)) |
| | | (org-babel-exp-reference-buffer) |
| | | (t (current-buffer))) |
| | | (org-with-point-at 1 |
| | | (catch :found |
| | | (let ((case-fold-search t) |
| | | (regexp (org-babel-named-data-regexp-for-name name))) |
| | | (while (re-search-forward regexp nil t) |
| | | (let ((element (org-element-at-point))) |
| | | (when (equal name (org-element-property :name element)) |
| | | (throw :found |
| | | (pcase (org-element-type element) |
| | | (`src-block (org-babel-get-src-block-info t element)) |
| | | (`babel-call (org-babel-lob-get-info element)) |
| | | ;; Non-executable data found. Since names |
| | | ;; are supposed to be unique throughout |
| | | ;; a document, bail out. |
| | | (_ nil)))))) |
| | | (cdr (assoc-string ref org-babel-library-of-babel)))))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-lob-get-info (&optional datum) |
| | | "Return internal representation for Library of Babel function call. |
| | | |
| | | Consider DATUM, when provided, or element at point otherwise. |
| | | |
| | | Return nil when not on an appropriate location. Otherwise return |
| | | a list compatible with `org-babel-get-src-block-info', which |
| | | see." |
| | | (let* ((context (or datum (org-element-context))) |
| | | (type (org-element-type context)) |
| | | (reference (org-element-property :call context))) |
| | | (when (memq type '(babel-call inline-babel-call)) |
| | | (pcase (org-babel-lob--src-info reference) |
| | | (`(,language ,body ,header ,_ ,_ ,_ ,coderef) |
| | | (let ((begin (org-element-property (if (eq type 'inline-babel-call) |
| | | :begin |
| | | :post-affiliated) |
| | | context))) |
| | | (list language |
| | | body |
| | | (apply #'org-babel-merge-params |
| | | header |
| | | org-babel-default-lob-header-args |
| | | (append |
| | | (org-with-wide-buffer |
| | | (goto-char begin) |
| | | (org-babel-params-from-properties language)) |
| | | (list |
| | | (org-babel-parse-header-arguments |
| | | (org-element-property :inside-header context)) |
| | | (let ((args (org-element-property :arguments context))) |
| | | (and args |
| | | (mapcar (lambda (ref) (cons :var ref)) |
| | | (org-babel-ref-split-args args)))) |
| | | (org-babel-parse-header-arguments |
| | | (org-element-property :end-header context))))) |
| | | nil |
| | | (org-element-property :name context) |
| | | begin |
| | | coderef))) |
| | | (_ nil))))) |
| | | |
| | | (provide 'ob-lob) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; ob-lob.el ends here |
New file |
| | |
| | | ;;; ob-lua.el --- Org Babel functions for Lua evaluation -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2014, 2016-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Dieter Schoen |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;; Requirements: |
| | | ;; for session support, lua-mode is needed. |
| | | ;; lua-mode is not part of GNU Emacs/orgmode, but can be obtained |
| | | ;; from marmalade or melpa. |
| | | ;; The source repository is here: |
| | | ;; https://github.com/immerrr/lua-mode |
| | | |
| | | ;; However, sessions are not yet working. |
| | | |
| | | ;; Org-Babel support for evaluating lua source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'cl-lib) |
| | | |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function lua-shell "ext:lua-mode" (&optional argprompt)) |
| | | (declare-function lua-toggle-shells "ext:lua-mode" (arg)) |
| | | (declare-function run-lua "ext:lua" (cmd &optional dedicated show)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("lua" . "lua")) |
| | | |
| | | (defvar org-babel-default-header-args:lua '()) |
| | | |
| | | (defcustom org-babel-lua-command "lua" |
| | | "Name of the command for executing Lua code." |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3") |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-lua-mode 'lua-mode |
| | | "Preferred lua mode for use in running lua interactively. |
| | | This will typically be 'lua-mode." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3") |
| | | :type 'symbol) |
| | | |
| | | (defcustom org-babel-lua-hline-to "None" |
| | | "Replace hlines in incoming tables with this when translating to lua." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3") |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-lua-None-to 'hline |
| | | "Replace 'None' in lua tables with this before returning." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3") |
| | | :type 'symbol) |
| | | |
| | | (defun org-babel-execute:lua (body params) |
| | | "Execute a block of Lua code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((session (org-babel-lua-initiate-session |
| | | (cdr (assq :session params)))) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (return-val (when (and (eq result-type 'value) (not session)) |
| | | (cdr (assq :return params)))) |
| | | (preamble (cdr (assq :preamble params))) |
| | | (full-body |
| | | (org-babel-expand-body:generic |
| | | (concat body (if return-val (format "\nreturn %s" return-val) "")) |
| | | params (org-babel-variable-assignments:lua params))) |
| | | (result (org-babel-lua-evaluate |
| | | session full-body result-type result-params preamble))) |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-prep-session:lua (session params) |
| | | "Prepare SESSION according to the header arguments in PARAMS. |
| | | VARS contains resolved variable references" |
| | | (let* ((session (org-babel-lua-initiate-session session)) |
| | | (var-lines |
| | | (org-babel-variable-assignments:lua params))) |
| | | (org-babel-comint-in-buffer session |
| | | (mapc (lambda (var) |
| | | (end-of-line 1) (insert var) (comint-send-input) |
| | | (org-babel-comint-wait-for-output session)) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:lua (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:lua session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-variable-assignments:lua (params) |
| | | "Return a list of Lua statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (format "%s=%s" |
| | | (car pair) |
| | | (org-babel-lua-var-to-lua (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-lua-var-to-lua (var) |
| | | "Convert an elisp value to a lua variable. |
| | | Convert an elisp value, VAR, into a string of lua source code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (if (and (= 1 (length var)) (not (listp (car var)))) |
| | | (org-babel-lua-var-to-lua (car var)) |
| | | (if (and |
| | | (= 2 (length var)) |
| | | (not (listp (car var)))) |
| | | (concat |
| | | (substring-no-properties (car var)) |
| | | "=" |
| | | (org-babel-lua-var-to-lua (cdr var))) |
| | | (concat "{" (mapconcat #'org-babel-lua-var-to-lua var ", ") "}"))) |
| | | (if (eq var 'hline) |
| | | org-babel-lua-hline-to |
| | | (format |
| | | (if (and (stringp var) (string-match "[\n\r]" var)) "\"\"%S\"\"" "%S") |
| | | (if (stringp var) (substring-no-properties var) var))))) |
| | | |
| | | (defun org-babel-lua-table-or-string (results) |
| | | "Convert RESULTS into an appropriate elisp value. |
| | | If the results look like a list or tuple, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (let ((res (org-babel-script-escape results))) |
| | | (if (listp res) |
| | | (mapcar (lambda (el) (if (eq el 'None) |
| | | org-babel-lua-None-to el)) |
| | | res) |
| | | res))) |
| | | |
| | | (defvar org-babel-lua-buffers '((:default . "*Lua*"))) |
| | | |
| | | (defun org-babel-lua-session-buffer (session) |
| | | "Return the buffer associated with SESSION." |
| | | (cdr (assoc session org-babel-lua-buffers))) |
| | | |
| | | (defun org-babel-lua-with-earmuffs (session) |
| | | (let ((name (if (stringp session) session (format "%s" session)))) |
| | | (if (and (string= "*" (substring name 0 1)) |
| | | (string= "*" (substring name (- (length name) 1)))) |
| | | name |
| | | (format "*%s*" name)))) |
| | | |
| | | (defun org-babel-lua-without-earmuffs (session) |
| | | (let ((name (if (stringp session) session (format "%s" session)))) |
| | | (if (and (string= "*" (substring name 0 1)) |
| | | (string= "*" (substring name (- (length name) 1)))) |
| | | (substring name 1 (- (length name) 1)) |
| | | name))) |
| | | |
| | | (defvar lua-default-interpreter) |
| | | (defvar lua-which-bufname) |
| | | (defvar lua-shell-buffer-name) |
| | | (defun org-babel-lua-initiate-session-by-key (&optional session) |
| | | "Initiate a lua session. |
| | | If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session." |
| | | ;; (require org-babel-lua-mode) |
| | | (save-window-excursion |
| | | (let* ((session (if session (intern session) :default)) |
| | | (lua-buffer (org-babel-lua-session-buffer session)) |
| | | ;; (cmd (if (member system-type '(cygwin windows-nt ms-dos)) |
| | | ;; (concat org-babel-lua-command " -i") |
| | | ;; org-babel-lua-command)) |
| | | ) |
| | | (cond |
| | | ((and (eq 'lua-mode org-babel-lua-mode) |
| | | (fboundp 'lua-start-process)) ; lua-mode.el |
| | | ;; Make sure that lua-which-bufname is initialized, as otherwise |
| | | ;; it will be overwritten the first time a Lua buffer is |
| | | ;; created. |
| | | ;;(lua-toggle-shells lua-default-interpreter) |
| | | ;; `lua-shell' creates a buffer whose name is the value of |
| | | ;; `lua-which-bufname' with '*'s at the beginning and end |
| | | (let* ((bufname (if (and lua-buffer (buffer-live-p lua-buffer)) |
| | | (replace-regexp-in-string ;; zap surrounding * |
| | | "^\\*\\([^*]+\\)\\*$" "\\1" (buffer-name lua-buffer)) |
| | | (concat "Lua-" (symbol-name session)))) |
| | | (lua-which-bufname bufname)) |
| | | (lua-start-process) |
| | | (setq lua-buffer (org-babel-lua-with-earmuffs bufname)))) |
| | | (t |
| | | (error "No function available for running an inferior Lua"))) |
| | | (setq org-babel-lua-buffers |
| | | (cons (cons session lua-buffer) |
| | | (assq-delete-all session org-babel-lua-buffers))) |
| | | session))) |
| | | |
| | | (defun org-babel-lua-initiate-session (&optional session _params) |
| | | "Create a session named SESSION according to PARAMS." |
| | | (unless (string= session "none") |
| | | (error "Sessions currently not supported, work in progress") |
| | | (org-babel-lua-session-buffer |
| | | (org-babel-lua-initiate-session-by-key session)))) |
| | | |
| | | (defvar org-babel-lua-eoe-indicator "--eoe" |
| | | "A string to indicate that evaluation has completed.") |
| | | |
| | | (defvar org-babel-lua-wrapper-method |
| | | " |
| | | function main() |
| | | %s |
| | | end |
| | | |
| | | fd=io.open(\"%s\", \"w\") |
| | | fd:write( main() ) |
| | | fd:close()") |
| | | (defvar org-babel-lua-pp-wrapper-method |
| | | " |
| | | -- table to string |
| | | function t2s(t, indent) |
| | | if indent == nil then |
| | | indent = \"\" |
| | | end |
| | | if type(t) == \"table\" then |
| | | ts = \"\" |
| | | for k,v in pairs(t) do |
| | | if type(v) == \"table\" then |
| | | ts = ts .. indent .. t2s(k,indent .. \" \") .. \" = \\n\" .. |
| | | t2s(v, indent .. \" \") |
| | | else |
| | | ts = ts .. indent .. t2s(k,indent .. \" \") .. \" = \" .. |
| | | t2s(v, indent .. \" \") .. \"\\n\" |
| | | end |
| | | end |
| | | return ts |
| | | else |
| | | return tostring(t) |
| | | end |
| | | end |
| | | |
| | | |
| | | function main() |
| | | %s |
| | | end |
| | | |
| | | fd=io.open(\"%s\", \"w\") |
| | | fd:write(t2s(main())) |
| | | fd:close()") |
| | | |
| | | (defun org-babel-lua-evaluate |
| | | (session body &optional result-type result-params preamble) |
| | | "Evaluate BODY as Lua code." |
| | | (if session |
| | | (org-babel-lua-evaluate-session |
| | | session body result-type result-params) |
| | | (org-babel-lua-evaluate-external-process |
| | | body result-type result-params preamble))) |
| | | |
| | | (defun org-babel-lua-evaluate-external-process |
| | | (body &optional result-type result-params preamble) |
| | | "Evaluate BODY in external lua process. |
| | | If RESULT-TYPE equals 'output then return standard output as a |
| | | string. If RESULT-TYPE equals 'value then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (let ((raw |
| | | (pcase result-type |
| | | (`output (org-babel-eval org-babel-lua-command |
| | | (concat (if preamble (concat preamble "\n")) |
| | | body))) |
| | | (`value (let ((tmp-file (org-babel-temp-file "lua-"))) |
| | | (org-babel-eval |
| | | org-babel-lua-command |
| | | (concat |
| | | (if preamble (concat preamble "\n") "") |
| | | (format |
| | | (if (member "pp" result-params) |
| | | org-babel-lua-pp-wrapper-method |
| | | org-babel-lua-wrapper-method) |
| | | (mapconcat |
| | | (lambda (line) (format "\t%s" line)) |
| | | (split-string |
| | | (org-remove-indentation |
| | | (org-trim body)) |
| | | "[\r\n]") "\n") |
| | | (org-babel-process-file-name tmp-file 'noquote)))) |
| | | (org-babel-eval-read-file tmp-file)))))) |
| | | (org-babel-result-cond result-params |
| | | raw |
| | | (org-babel-lua-table-or-string (org-trim raw))))) |
| | | |
| | | (defun org-babel-lua-evaluate-session |
| | | (session body &optional result-type result-params) |
| | | "Pass BODY to the Lua process in SESSION. |
| | | If RESULT-TYPE equals 'output then return standard output as a |
| | | string. If RESULT-TYPE equals 'value then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (let* ((send-wait (lambda () (comint-send-input nil t) (sleep-for 0 5))) |
| | | (dump-last-value |
| | | (lambda |
| | | (tmp-file pp) |
| | | (mapc |
| | | (lambda (statement) (insert statement) (funcall send-wait)) |
| | | (if pp |
| | | (list |
| | | "-- table to string |
| | | function t2s(t, indent) |
| | | if indent == nil then |
| | | indent = \"\" |
| | | end |
| | | if type(t) == \"table\" then |
| | | ts = \"\" |
| | | for k,v in pairs(t) do |
| | | if type(v) == \"table\" then |
| | | ts = ts .. indent .. t2s(k,indent .. \" \") .. \" = \\n\" .. |
| | | t2s(v, indent .. \" \") |
| | | else |
| | | ts = ts .. indent .. t2s(k,indent .. \" \") .. \" = \" .. |
| | | t2s(v, indent .. \" \") .. \"\\n\" |
| | | end |
| | | end |
| | | return ts |
| | | else |
| | | return tostring(t) |
| | | end |
| | | end |
| | | " |
| | | (concat "fd:write(_)) |
| | | fd:close()" |
| | | (org-babel-process-file-name tmp-file 'noquote))) |
| | | (list (format "fd=io.open(\"%s\", \"w\") |
| | | fd:write( _ ) |
| | | fd:close()" |
| | | (org-babel-process-file-name tmp-file |
| | | 'noquote))))))) |
| | | (input-body (lambda (body) |
| | | (mapc (lambda (line) (insert line) (funcall send-wait)) |
| | | (split-string body "[\r\n]")) |
| | | (funcall send-wait))) |
| | | (results |
| | | (pcase result-type |
| | | (`output |
| | | (mapconcat |
| | | #'org-trim |
| | | (butlast |
| | | (org-babel-comint-with-output |
| | | (session org-babel-lua-eoe-indicator t body) |
| | | (funcall input-body body) |
| | | (funcall send-wait) (funcall send-wait) |
| | | (insert org-babel-lua-eoe-indicator) |
| | | (funcall send-wait)) |
| | | 2) "\n")) |
| | | (`value |
| | | (let ((tmp-file (org-babel-temp-file "lua-"))) |
| | | (org-babel-comint-with-output |
| | | (session org-babel-lua-eoe-indicator nil body) |
| | | (let ((comint-process-echoes nil)) |
| | | (funcall input-body body) |
| | | (funcall dump-last-value tmp-file |
| | | (member "pp" result-params)) |
| | | (funcall send-wait) (funcall send-wait) |
| | | (insert org-babel-lua-eoe-indicator) |
| | | (funcall send-wait))) |
| | | (org-babel-eval-read-file tmp-file)))))) |
| | | (unless (string= (substring org-babel-lua-eoe-indicator 1 -1) results) |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (org-babel-lua-table-or-string results))))) |
| | | |
| | | (defun org-babel-lua-read-string (string) |
| | | "Strip 's from around Lua string." |
| | | (org-unbracket-string "'" "'" string)) |
| | | |
| | | (provide 'ob-lua) |
| | | |
| | | |
| | | |
| | | ;;; ob-lua.el ends here |
New file |
| | |
| | | ;;; ob-makefile.el --- Babel Functions for Makefile -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Thomas S. Dye |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; This file exists solely for tangling a Makefile from Org files. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:makefile '()) |
| | | |
| | | (defun org-babel-execute:makefile (body _params) |
| | | "Execute a block of makefile code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | body) |
| | | |
| | | (defun org-babel-prep-session:makefile (_session _params) |
| | | "Return an error if the :session header argument is set. Make |
| | | does not support sessions." |
| | | (error "Makefile sessions are nonsensical")) |
| | | |
| | | (provide 'ob-makefile) |
| | | |
| | | |
| | | |
| | | ;;; ob-makefile.el ends here |
New file |
| | |
| | | ;;; ob-matlab.el --- Babel support for Matlab -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Functions that are common to org-babel support for matlab and |
| | | ;; octave are in org-babel-octave.el |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; Matlab |
| | | |
| | | ;; matlab.el required for interactive emacs sessions and matlab-mode |
| | | ;; major mode for source code editing buffer |
| | | ;; http://matlab-emacs.sourceforge.net/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'ob-octave) |
| | | |
| | | ;; see ob-octave for matlab implementation |
| | | |
| | | (provide 'ob-matlab) |
| | | |
| | | |
| | | |
| | | ;;; ob-matlab.el ends here |
New file |
| | |
| | | ;;; ob-maxima.el --- Babel Functions for Maxima -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric S Fraga |
| | | ;; Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, maxima |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating maxima entries. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in maxima |
| | | ;; |
| | | ;; 2) we are adding the "cmdline" header argument |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("maxima" . "max")) |
| | | |
| | | (defvar org-babel-default-header-args:maxima '()) |
| | | |
| | | (defcustom org-babel-maxima-command |
| | | (if (boundp 'maxima-command) maxima-command "maxima") |
| | | "Command used to call maxima on the shell." |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defun org-babel-maxima-expand (body params) |
| | | "Expand a block of Maxima code according to its header arguments." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (epilogue (cdr (assq :epilogue params))) |
| | | (prologue (cdr (assq :prologue params)))) |
| | | (mapconcat 'identity |
| | | (list |
| | | ;; Any code from the specified prologue at the start. |
| | | prologue |
| | | ;; graphic output |
| | | (let ((graphic-file (ignore-errors (org-babel-graphical-output-file params)))) |
| | | (if graphic-file |
| | | (format |
| | | "set_plot_option ([gnuplot_term, png]); set_plot_option ([gnuplot_out_file, %S]);" |
| | | graphic-file) |
| | | "")) |
| | | ;; variables |
| | | (mapconcat 'org-babel-maxima-var-to-maxima vars "\n") |
| | | ;; body |
| | | body |
| | | ;; Any code from the specified epilogue at the end. |
| | | epilogue |
| | | "gnuplot_close ()$") |
| | | "\n"))) |
| | | |
| | | (defun org-babel-execute:maxima (body params) |
| | | "Execute a block of Maxima entries with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (message "executing Maxima source code block") |
| | | (let ((result-params (split-string (or (cdr (assq :results params)) ""))) |
| | | (result |
| | | (let* ((cmdline (or (cdr (assq :cmdline params)) "")) |
| | | (in-file (org-babel-temp-file "maxima-" ".max")) |
| | | (cmd (format "%s --very-quiet -r 'batchload(%S)$' %s" |
| | | org-babel-maxima-command in-file cmdline))) |
| | | (with-temp-file in-file (insert (org-babel-maxima-expand body params))) |
| | | (message cmd) |
| | | ;; " | grep -v batch | grep -v 'replaced' | sed '/^$/d' " |
| | | (let ((raw (org-babel-eval cmd ""))) |
| | | (mapconcat |
| | | #'identity |
| | | (delq nil |
| | | (mapcar (lambda (line) |
| | | (unless (or (string-match "batch" line) |
| | | (string-match "^rat: replaced .*$" line) |
| | | (string-match "^;;; Loading #P" line) |
| | | (= 0 (length line))) |
| | | line)) |
| | | (split-string raw "[\r\n]"))) "\n"))))) |
| | | (if (ignore-errors (org-babel-graphical-output-file params)) |
| | | nil |
| | | (org-babel-result-cond result-params |
| | | result |
| | | (let ((tmp-file (org-babel-temp-file "maxima-res-"))) |
| | | (with-temp-file tmp-file (insert result)) |
| | | (org-babel-import-elisp-from-file tmp-file)))))) |
| | | |
| | | |
| | | (defun org-babel-prep-session:maxima (_session _params) |
| | | (error "Maxima does not support sessions")) |
| | | |
| | | (defun org-babel-maxima-var-to-maxima (pair) |
| | | "Convert an elisp val into a string of maxima code specifying a var |
| | | of the same value." |
| | | (let ((var (car pair)) |
| | | (val (cdr pair))) |
| | | (when (symbolp val) |
| | | (setq val (symbol-name val)) |
| | | (when (= (length val) 1) |
| | | (setq val (string-to-char val)))) |
| | | (format "%S: %s$" var |
| | | (org-babel-maxima-elisp-to-maxima val)))) |
| | | |
| | | (defun org-babel-maxima-elisp-to-maxima (val) |
| | | "Return a string of maxima code which evaluates to VAL." |
| | | (if (listp val) |
| | | (concat "[" (mapconcat #'org-babel-maxima-elisp-to-maxima val ", ") "]") |
| | | (format "%s" val))) |
| | | |
| | | |
| | | (provide 'ob-maxima) |
| | | |
| | | |
| | | |
| | | ;;; ob-maxima.el ends here |
New file |
| | |
| | | ;;; ob-msc.el --- Babel Functions for Mscgen -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Juan Pechiar |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | ;; |
| | | ;; This software provides EMACS org-babel export support for message |
| | | ;; sequence charts. The mscgen utility is used for processing the |
| | | ;; sequence definition, and must therefore be installed in the system. |
| | | ;; |
| | | ;; Mscgen is available and documented at |
| | | ;; http://www.mcternan.me.uk/mscgen/index.html |
| | | ;; |
| | | ;; This code is directly inspired by Eric Schulte's ob-dot.el |
| | | ;; |
| | | ;; Example: |
| | | ;; |
| | | ;; #+begin_src mscgen :file example.png |
| | | ;; msc { |
| | | ;; A,B; |
| | | ;; A -> B [ label = "send message" ]; |
| | | ;; A <- B [ label = "get answer" ]; |
| | | ;; } |
| | | ;; #+end_src |
| | | ;; |
| | | ;; Header for alternative file type: |
| | | ;; |
| | | ;; #+begin_src mscgen :file ex2.svg :filetype svg |
| | | |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in mscgen |
| | | ;; 2) we are generally only going to return results of type "file" |
| | | ;; 3) we are adding the "file" and "filetype" header arguments |
| | | ;; 4) there are no variables |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:mscgen |
| | | '((:results . "file") (:exports . "results")) |
| | | "Default arguments to use when evaluating a mscgen source block.") |
| | | |
| | | (defun org-babel-execute:mscgen (body params) |
| | | "Execute a block of Mscgen code with Babel. |
| | | This function is called by `org-babel-execute-src-block'. |
| | | Default filetype is png. Modify by setting :filetype parameter to |
| | | mscgen supported formats." |
| | | (let* ((out-file (or (cdr (assq :file params)) "output.png" )) |
| | | (filetype (or (cdr (assq :filetype params)) "png" ))) |
| | | (unless (cdr (assq :file params)) |
| | | (error " |
| | | ERROR: no output file specified. Add \":file name.png\" to the src header")) |
| | | (org-babel-eval (concat "mscgen -T " filetype " -o " out-file) body) |
| | | nil)) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:mscgen (_session _params) |
| | | "Raise an error because Mscgen doesn't support sessions." |
| | | (error "Mscgen does not support sessions")) |
| | | |
| | | (provide 'ob-mscgen) |
| | | |
| | | |
| | | |
| | | ;;; ob-msc.el ends here |
New file |
| | |
| | | ;;; ob-ocaml.el --- Babel Functions for Ocaml -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating ocaml source code. This one will |
| | | ;; be sort of tricky because ocaml programs must be compiled before |
| | | ;; they can be run, but ocaml code can also be run through an |
| | | ;; interactive interpreter. |
| | | ;; |
| | | ;; For now lets only allow evaluation using the ocaml interpreter. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - tuareg-mode :: http://www-rocq.inria.fr/~acohen/tuareg/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'comint) |
| | | |
| | | (declare-function tuareg-run-caml "ext:tuareg" ()) |
| | | (declare-function tuareg-run-ocaml "ext:tuareg" ()) |
| | | (declare-function tuareg-interactive-send-input "ext:tuareg" ()) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("ocaml" . "ml")) |
| | | |
| | | (defvar org-babel-default-header-args:ocaml '()) |
| | | |
| | | (defvar org-babel-ocaml-eoe-indicator "\"org-babel-ocaml-eoe\";;") |
| | | (defvar org-babel-ocaml-eoe-output "org-babel-ocaml-eoe") |
| | | |
| | | (defcustom org-babel-ocaml-command "ocaml" |
| | | "Name of the command for executing Ocaml code." |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defun org-babel-execute:ocaml (body params) |
| | | "Execute a block of Ocaml code with Babel." |
| | | (let* ((full-body (org-babel-expand-body:generic |
| | | body params |
| | | (org-babel-variable-assignments:ocaml params))) |
| | | (session (org-babel-prep-session:ocaml |
| | | (cdr (assq :session params)) params)) |
| | | (raw (org-babel-comint-with-output |
| | | (session org-babel-ocaml-eoe-output nil full-body) |
| | | (insert |
| | | (concat |
| | | (org-babel-chomp full-body) ";;\n" |
| | | org-babel-ocaml-eoe-indicator)) |
| | | (tuareg-interactive-send-input))) |
| | | (clean |
| | | (car (let ((re (regexp-quote org-babel-ocaml-eoe-output)) out) |
| | | (delq nil (mapcar (lambda (line) |
| | | (if out |
| | | (progn (setq out nil) line) |
| | | (when (string-match re line) |
| | | (progn (setq out t) nil)))) |
| | | (mapcar #'org-trim (reverse raw))))))) |
| | | (raw (org-trim clean)) |
| | | (result-params (cdr (assq :result-params params)))) |
| | | (string-match |
| | | "\\(\\(.*\n\\)*\\)[^:\n]+ : \\([^=\n]+\\) =\\(\n\\| \\)\\(.+\\)$" |
| | | raw) |
| | | (let ((output (match-string 1 raw)) |
| | | (type (match-string 3 raw)) |
| | | (value (match-string 5 raw))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond result-params |
| | | (cond |
| | | ((member "verbatim" result-params) raw) |
| | | ((member "output" result-params) output) |
| | | (t raw)) |
| | | (if (and value type) |
| | | (org-babel-ocaml-parse-output value type) |
| | | raw)) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))) |
| | | |
| | | (defvar tuareg-interactive-buffer-name) |
| | | (defun org-babel-prep-session:ocaml (session _params) |
| | | "Prepare SESSION according to the header arguments in PARAMS." |
| | | (require 'tuareg) |
| | | (let ((tuareg-interactive-buffer-name (if (and (not (string= session "none")) |
| | | (not (string= session "default")) |
| | | (stringp session)) |
| | | session |
| | | tuareg-interactive-buffer-name))) |
| | | (save-window-excursion (if (fboundp 'tuareg-run-process-if-needed) |
| | | (tuareg-run-process-if-needed org-babel-ocaml-command) |
| | | (tuareg-run-caml))) |
| | | (get-buffer tuareg-interactive-buffer-name))) |
| | | |
| | | (defun org-babel-variable-assignments:ocaml (params) |
| | | "Return list of ocaml statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) (format "let %s = %s;;" (car pair) |
| | | (org-babel-ocaml-elisp-to-ocaml (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-ocaml-elisp-to-ocaml (val) |
| | | "Return a string of ocaml code which evaluates to VAL." |
| | | (if (listp val) |
| | | (concat "[|" (mapconcat #'org-babel-ocaml-elisp-to-ocaml val "; ") "|]") |
| | | (format "%S" val))) |
| | | |
| | | (defun org-babel-ocaml-parse-output (value type) |
| | | "Parse VALUE of type TYPE. |
| | | VALUE and TYPE are string output from an ocaml process." |
| | | (cond |
| | | ((string= "string" type) |
| | | (org-babel-read value)) |
| | | ((or (string= "int" type) |
| | | (string= "float" type)) |
| | | (string-to-number value)) |
| | | ((string-match "list" type) |
| | | (org-babel-ocaml-read-list value)) |
| | | ((string-match "array" type) |
| | | (org-babel-ocaml-read-array value)) |
| | | (t (message "don't recognize type %s" type) value))) |
| | | |
| | | (defun org-babel-ocaml-read-list (results) |
| | | "Convert RESULTS into an elisp table or string. |
| | | If the results look like a table, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | ;; XXX: This probably does not behave as expected when a semicolon |
| | | ;; is in a string in a list. The same comment applies to |
| | | ;; `org-babel-ocaml-read-array' below (with even more failure |
| | | ;; modes). |
| | | (org-babel-script-escape (replace-regexp-in-string ";" "," results))) |
| | | |
| | | (defun org-babel-ocaml-read-array (results) |
| | | "Convert RESULTS into an elisp table or string. |
| | | If the results look like a table, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (org-babel-script-escape |
| | | (replace-regexp-in-string |
| | | "\\[|" "[" (replace-regexp-in-string |
| | | "|\\]" "]" (replace-regexp-in-string |
| | | "; " "," results))))) |
| | | |
| | | (provide 'ob-ocaml) |
| | | |
| | | |
| | | |
| | | ;;; ob-ocaml.el ends here |
New file |
| | |
| | | ;;; ob-octave.el --- Babel Functions for Octave and Matlab -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; octave |
| | | ;; octave-mode.el and octave-inf.el come with GNU emacs |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function matlab-shell "ext:matlab-mode") |
| | | (declare-function matlab-shell-run-region "ext:matlab-mode") |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-default-header-args:matlab '()) |
| | | (defvar org-babel-default-header-args:octave '()) |
| | | |
| | | (defvar org-babel-matlab-shell-command "matlab -nosplash" |
| | | "Shell command to run matlab as an external process.") |
| | | (defvar org-babel-octave-shell-command "octave -q" |
| | | "Shell command to run octave as an external process.") |
| | | |
| | | (defvar org-babel-matlab-with-emacs-link nil |
| | | "If non-nil use matlab-shell-run-region for session evaluation. |
| | | This will use EmacsLink if (matlab-with-emacs-link) evaluates |
| | | to a non-nil value.") |
| | | |
| | | (defvar org-babel-matlab-emacs-link-wrapper-method |
| | | "%s |
| | | if ischar(ans), fid = fopen('%s', 'w'); fprintf(fid, '%%s\\n', ans); fclose(fid); |
| | | else, save -ascii %s ans |
| | | end |
| | | delete('%s') |
| | | ") |
| | | (defvar org-babel-octave-wrapper-method |
| | | "%s |
| | | if ischar(ans), fid = fopen('%s', 'w'); fprintf(fid, '%%s\\n', ans); fclose(fid); |
| | | else, dlmwrite('%s', ans, '\\t') |
| | | end") |
| | | |
| | | (defvar org-babel-octave-eoe-indicator "'org_babel_eoe'") |
| | | |
| | | (defvar org-babel-octave-eoe-output "ans = org_babel_eoe") |
| | | |
| | | (defun org-babel-execute:matlab (body params) |
| | | "Execute a block of matlab code with Babel." |
| | | (org-babel-execute:octave body params 'matlab)) |
| | | |
| | | (defun org-babel-execute:octave (body params &optional matlabp) |
| | | "Execute a block of octave code with Babel." |
| | | (let* ((session |
| | | (funcall (intern (format "org-babel-%s-initiate-session" |
| | | (if matlabp "matlab" "octave"))) |
| | | (cdr (assq :session params)) params)) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body |
| | | (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:octave params))) |
| | | (gfx-file (ignore-errors (org-babel-graphical-output-file params))) |
| | | (result (org-babel-octave-evaluate |
| | | session |
| | | (if gfx-file |
| | | (mapconcat 'identity |
| | | (list |
| | | "set (0, \"defaultfigurevisible\", \"off\");" |
| | | full-body |
| | | (format "print -dpng %s" gfx-file)) |
| | | "\n") |
| | | full-body) |
| | | result-type matlabp))) |
| | | (if gfx-file |
| | | nil |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params))))))) |
| | | |
| | | (defun org-babel-prep-session:matlab (session params) |
| | | "Prepare SESSION according to PARAMS." |
| | | (org-babel-prep-session:octave session params 'matlab)) |
| | | |
| | | (defun org-babel-variable-assignments:octave (params) |
| | | "Return list of octave statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (format "%s=%s;" |
| | | (car pair) |
| | | (org-babel-octave-var-to-octave (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defalias 'org-babel-variable-assignments:matlab |
| | | 'org-babel-variable-assignments:octave) |
| | | |
| | | (defun org-babel-octave-var-to-octave (var) |
| | | "Convert an emacs-lisp value into an octave variable. |
| | | Converts an emacs-lisp variable into a string of octave code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-octave-var-to-octave var |
| | | (if (listp (car var)) "; " ",")) "]") |
| | | (cond |
| | | ((stringp var) |
| | | (format "'%s'" var)) |
| | | (t |
| | | (format "%s" var))))) |
| | | |
| | | (defun org-babel-prep-session:octave (session params &optional matlabp) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (let* ((session (org-babel-octave-initiate-session session params matlabp)) |
| | | (var-lines (org-babel-variable-assignments:octave params))) |
| | | (org-babel-comint-in-buffer session |
| | | (mapc (lambda (var) |
| | | (end-of-line 1) (insert var) (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session)) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-matlab-initiate-session (&optional session params) |
| | | "Create a matlab inferior process buffer. |
| | | If there is not a current inferior-process-buffer in SESSION then |
| | | create. Return the initialized session." |
| | | (org-babel-octave-initiate-session session params 'matlab)) |
| | | |
| | | (defun org-babel-octave-initiate-session (&optional session _params matlabp) |
| | | "Create an octave inferior process buffer. |
| | | If there is not a current inferior-process-buffer in SESSION then |
| | | create. Return the initialized session." |
| | | (if matlabp (require 'matlab) (or (require 'octave-inf nil 'noerror) |
| | | (require 'octave))) |
| | | (unless (string= session "none") |
| | | (let ((session (or session |
| | | (if matlabp "*Inferior Matlab*" "*Inferior Octave*")))) |
| | | (if (org-babel-comint-buffer-livep session) session |
| | | (save-window-excursion |
| | | (if matlabp (unless org-babel-matlab-with-emacs-link (matlab-shell)) |
| | | (run-octave)) |
| | | (rename-buffer (if (bufferp session) (buffer-name session) |
| | | (if (stringp session) session (buffer-name)))) |
| | | (current-buffer)))))) |
| | | |
| | | (defun org-babel-octave-evaluate |
| | | (session body result-type &optional matlabp) |
| | | "Pass BODY to the octave process in SESSION. |
| | | If RESULT-TYPE equals `output' then return the outputs of the |
| | | statements in BODY, if RESULT-TYPE equals `value' then return the |
| | | value of the last statement in BODY, as elisp." |
| | | (if session |
| | | (org-babel-octave-evaluate-session session body result-type matlabp) |
| | | (org-babel-octave-evaluate-external-process body result-type matlabp))) |
| | | |
| | | (defun org-babel-octave-evaluate-external-process (body result-type matlabp) |
| | | "Evaluate BODY in an external octave process." |
| | | (let ((cmd (if matlabp |
| | | org-babel-matlab-shell-command |
| | | org-babel-octave-shell-command))) |
| | | (pcase result-type |
| | | (`output (org-babel-eval cmd body)) |
| | | (`value (let ((tmp-file (org-babel-temp-file "octave-"))) |
| | | (org-babel-eval |
| | | cmd |
| | | (format org-babel-octave-wrapper-method body |
| | | (org-babel-process-file-name tmp-file 'noquote) |
| | | (org-babel-process-file-name tmp-file 'noquote))) |
| | | (org-babel-octave-import-elisp-from-file tmp-file)))))) |
| | | |
| | | (defun org-babel-octave-evaluate-session |
| | | (session body result-type &optional matlabp) |
| | | "Evaluate BODY in SESSION." |
| | | (let* ((tmp-file (org-babel-temp-file (if matlabp "matlab-" "octave-"))) |
| | | (wait-file (org-babel-temp-file "matlab-emacs-link-wait-signal-")) |
| | | (full-body |
| | | (pcase result-type |
| | | (`output |
| | | (mapconcat |
| | | #'org-babel-chomp |
| | | (list body org-babel-octave-eoe-indicator) "\n")) |
| | | (`value |
| | | (if (and matlabp org-babel-matlab-with-emacs-link) |
| | | (concat |
| | | (format org-babel-matlab-emacs-link-wrapper-method |
| | | body |
| | | (org-babel-process-file-name tmp-file 'noquote) |
| | | (org-babel-process-file-name tmp-file 'noquote) wait-file) "\n") |
| | | (mapconcat |
| | | #'org-babel-chomp |
| | | (list (format org-babel-octave-wrapper-method |
| | | body |
| | | (org-babel-process-file-name tmp-file 'noquote) |
| | | (org-babel-process-file-name tmp-file 'noquote)) |
| | | org-babel-octave-eoe-indicator) "\n"))))) |
| | | (raw (if (and matlabp org-babel-matlab-with-emacs-link) |
| | | (save-window-excursion |
| | | (with-temp-buffer |
| | | (insert full-body) |
| | | (write-region "" 'ignored wait-file nil nil nil 'excl) |
| | | (matlab-shell-run-region (point-min) (point-max)) |
| | | (message "Waiting for Matlab Emacs Link") |
| | | (while (file-exists-p wait-file) (sit-for 0.01)) |
| | | "")) ;; matlab-shell-run-region doesn't seem to |
| | | ;; make *matlab* buffer contents easily |
| | | ;; available, so :results output currently |
| | | ;; won't work |
| | | (org-babel-comint-with-output |
| | | (session |
| | | (if matlabp |
| | | org-babel-octave-eoe-indicator |
| | | org-babel-octave-eoe-output) |
| | | t full-body) |
| | | (insert full-body) (comint-send-input nil t)))) results) |
| | | (pcase result-type |
| | | (`value |
| | | (org-babel-octave-import-elisp-from-file tmp-file)) |
| | | (`output |
| | | (setq results |
| | | (if matlabp |
| | | (cdr (reverse (delq "" (mapcar |
| | | #'org-babel-strip-quotes |
| | | (mapcar #'org-trim raw))))) |
| | | (cdr (member org-babel-octave-eoe-output |
| | | (reverse (mapcar |
| | | #'org-babel-strip-quotes |
| | | (mapcar #'org-trim raw))))))) |
| | | (mapconcat #'identity (reverse results) "\n"))))) |
| | | |
| | | (defun org-babel-octave-import-elisp-from-file (file-name) |
| | | "Import data from FILE-NAME. |
| | | This removes initial blank and comment lines and then calls |
| | | `org-babel-import-elisp-from-file'." |
| | | (let ((temp-file (org-babel-temp-file "octave-matlab-")) beg end) |
| | | (with-temp-file temp-file |
| | | (insert-file-contents file-name) |
| | | (re-search-forward "^[ \t]*[^# \t]" nil t) |
| | | (if (< (setq beg (point-min)) |
| | | (setq end (point-at-bol))) |
| | | (delete-region beg end))) |
| | | (org-babel-import-elisp-from-file temp-file '(16)))) |
| | | |
| | | (provide 'ob-octave) |
| | | |
| | | |
| | | |
| | | ;;; ob-octave.el ends here |
New file |
| | |
| | | ;;; ob-org.el --- Babel Functions for Org Code Blocks -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; This is the simplest of code blocks, where upon evaluation the |
| | | ;; contents of the code block are returned in a raw result. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-export-string-as "ox" |
| | | (string backend &optional body-only ext-plist)) |
| | | |
| | | (defvar org-babel-default-header-args:org |
| | | '((:results . "raw silent") (:exports . "code")) |
| | | "Default arguments for evaluating an org source block.") |
| | | |
| | | (defvar org-babel-org-default-header |
| | | "#+TITLE: default empty header\n" |
| | | "Default header inserted during export of org blocks.") |
| | | |
| | | (defun org-babel-expand-body:org (body params) |
| | | (dolist (var (org-babel--get-vars params)) |
| | | (setq body (replace-regexp-in-string |
| | | (regexp-quote (format "$%s" (car var))) |
| | | (format "%s" (cdr var)) |
| | | body nil 'literal))) |
| | | body) |
| | | |
| | | (defun org-babel-execute:org (body params) |
| | | "Execute a block of Org code with. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((result-params (split-string (or (cdr (assq :results params)) ""))) |
| | | (body (org-babel-expand-body:org |
| | | (replace-regexp-in-string "^," "" body) params))) |
| | | (cond |
| | | ((member "latex" result-params) |
| | | (org-export-string-as (concat "#+Title: \n" body) 'latex t)) |
| | | ((member "html" result-params) (org-export-string-as body 'html t)) |
| | | ((member "ascii" result-params) (org-export-string-as body 'ascii t)) |
| | | (t body)))) |
| | | |
| | | (defun org-babel-prep-session:org (_session _params) |
| | | "Return an error because org does not support sessions." |
| | | (error "Org does not support sessions")) |
| | | |
| | | (provide 'ob-org) |
| | | |
| | | |
| | | |
| | | ;;; ob-org.el ends here |
New file |
| | |
| | | ;;; ob-perl.el --- Babel Functions for Perl -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Dan Davison |
| | | ;; Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating perl source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("perl" . "pl")) |
| | | |
| | | (defvar org-babel-default-header-args:perl '()) |
| | | |
| | | (defvar org-babel-perl-command "perl" |
| | | "Name of command to use for executing perl code.") |
| | | |
| | | (defun org-babel-execute:perl (body params) |
| | | "Execute a block of Perl code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((session (cdr (assq :session params))) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:perl params))) |
| | | (session (org-babel-perl-initiate-session session))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-perl-evaluate session full-body result-type result-params) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-prep-session:perl (_session _params) |
| | | "Prepare SESSION according to the header arguments in PARAMS." |
| | | (error "Sessions are not supported for Perl")) |
| | | |
| | | (defun org-babel-variable-assignments:perl (params) |
| | | "Return list of perl statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (org-babel-perl--var-to-perl (cdr pair) (car pair))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defvar org-babel-perl-var-wrap "q(%s)" |
| | | "Wrapper for variables inserted into Perl code.") |
| | | |
| | | (defvar org-babel-perl--lvl) |
| | | (defun org-babel-perl--var-to-perl (var &optional varn) |
| | | "Convert an elisp value to a perl variable. |
| | | The elisp value, VAR, is converted to a string of perl source code |
| | | specifying a var of the same value." |
| | | (if varn |
| | | (let ((org-babel-perl--lvl 0) (lvar (listp var))) |
| | | (concat "my $" (symbol-name varn) "=" (when lvar "\n") |
| | | (org-babel-perl--var-to-perl var) |
| | | ";\n")) |
| | | (let ((prefix (make-string (* 2 org-babel-perl--lvl) ?\ ))) |
| | | (concat prefix |
| | | (if (listp var) |
| | | (let ((org-babel-perl--lvl (1+ org-babel-perl--lvl))) |
| | | (concat "[\n" |
| | | (mapconcat #'org-babel-perl--var-to-perl var "") |
| | | prefix "]")) |
| | | (format "q(%s)" var)) |
| | | (unless (zerop org-babel-perl--lvl) ",\n"))))) |
| | | |
| | | (defvar org-babel-perl-buffers '(:default . nil)) |
| | | |
| | | (defun org-babel-perl-initiate-session (&optional _session _params) |
| | | "Return nil because sessions are not supported by perl." |
| | | nil) |
| | | |
| | | (defvar org-babel-perl-wrapper-method "{ |
| | | my $babel_sub = sub { |
| | | %s |
| | | }; |
| | | open my $BOH, qq(>%s) or die qq(Perl: Could not open output file.$/); |
| | | my $rv = &$babel_sub(); |
| | | my $rt = ref $rv; |
| | | select $BOH; |
| | | if (qq(ARRAY) eq $rt) { |
| | | local $\\=$/; |
| | | local $,=qq(\t); |
| | | foreach my $rv ( @$rv ) { |
| | | my $rt = ref $rv; |
| | | if (qq(ARRAY) eq $rt) { |
| | | print @$rv; |
| | | } else { |
| | | print $rv; |
| | | } |
| | | } |
| | | } else { |
| | | print $rv; |
| | | } |
| | | }") |
| | | |
| | | (defvar org-babel-perl-preface nil) |
| | | |
| | | (defvar org-babel-perl-pp-wrapper-method |
| | | nil) |
| | | |
| | | (defun org-babel-perl-evaluate (session ibody &optional result-type result-params) |
| | | "Pass BODY to the Perl process in SESSION. |
| | | If RESULT-TYPE equals `output' then return a list of the outputs |
| | | of the statements in BODY, if RESULT-TYPE equals `value' then |
| | | return the value of the last statement in BODY, as elisp." |
| | | (when session (error "Sessions are not supported for Perl")) |
| | | (let* ((body (concat org-babel-perl-preface ibody)) |
| | | (tmp-file (org-babel-temp-file "perl-")) |
| | | (tmp-babel-file (org-babel-process-file-name |
| | | tmp-file 'noquote))) |
| | | (let ((results |
| | | (pcase result-type |
| | | (`output |
| | | (with-temp-file tmp-file |
| | | (insert |
| | | (org-babel-eval org-babel-perl-command body)) |
| | | (buffer-string))) |
| | | (`value |
| | | (org-babel-eval org-babel-perl-command |
| | | (format org-babel-perl-wrapper-method |
| | | body tmp-babel-file)))))) |
| | | (when results |
| | | (org-babel-result-cond result-params |
| | | (org-babel-eval-read-file tmp-file) |
| | | (org-babel-import-elisp-from-file tmp-file '(16))))))) |
| | | |
| | | (provide 'ob-perl) |
| | | |
| | | |
| | | |
| | | ;;; ob-perl.el ends here |
New file |
| | |
| | | ;;; ob-picolisp.el --- Babel Functions for Picolisp -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Thorsten Jolitz |
| | | ;; Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; This library enables the use of PicoLisp in the multi-language |
| | | ;; programming framework Org-Babel. PicoLisp is a minimal yet |
| | | ;; fascinating lisp dialect and a highly productive application |
| | | ;; framework for web-based client-server applications on top of |
| | | ;; object-oriented databases. A good way to learn PicoLisp is to first |
| | | ;; read Paul Grahams essay "The hundred year language" |
| | | ;; (http://www.paulgraham.com/hundred.html) and then study the various |
| | | ;; documents and essays published in the PicoLisp wiki |
| | | ;; (http://picolisp.com/5000/-2.html). PicoLisp is included in some |
| | | ;; GNU/Linux Distributions, and can be downloaded here: |
| | | ;; http://software-lab.de/down.html. It ships with a picolisp-mode and |
| | | ;; an inferior-picolisp-mode for Emacs (to be found in the /lib/el/ |
| | | ;; directory). |
| | | |
| | | ;; Although it might seem more natural to use Emacs Lisp for most |
| | | ;; Lisp-based programming tasks inside Org, an Emacs library written |
| | | ;; in Emacs Lisp, PicoLisp has at least two outstanding features that |
| | | ;; make it a valuable addition to Org Babel: |
| | | |
| | | ;; PicoLisp _is_ an object-oriented database with a Prolog-based query |
| | | ;; language implemented in PicoLisp (Pilog). Database objects are |
| | | ;; first-class members of the language. |
| | | |
| | | ;; PicoLisp is an extremely productive framework for the development |
| | | ;; of interactive web-applications (on top of a database). |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'comint) |
| | | |
| | | (declare-function run-picolisp "ext:inferior-picolisp" (cmd)) |
| | | (defvar org-babel-tangle-lang-exts) ;; Autoloaded |
| | | |
| | | ;; optionally define a file extension for this language |
| | | (add-to-list 'org-babel-tangle-lang-exts '("picolisp" . "l")) |
| | | |
| | | ;;; interferes with settings in org-babel buffer? |
| | | ;; optionally declare default header arguments for this language |
| | | ;; (defvar org-babel-default-header-args:picolisp |
| | | ;; '((:colnames . "no")) |
| | | ;; "Default arguments for evaluating a picolisp source block.") |
| | | |
| | | (defvar org-babel-picolisp-eoe "org-babel-picolisp-eoe" |
| | | "String to indicate that evaluation has completed.") |
| | | |
| | | (defcustom org-babel-picolisp-cmd "pil" |
| | | "Name of command used to evaluate picolisp blocks." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-expand-body:picolisp (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (print-level nil) |
| | | (print-length nil)) |
| | | (if (> (length vars) 0) |
| | | (concat "(prog (let (" |
| | | (mapconcat |
| | | (lambda (var) |
| | | (format "%S '%S)" |
| | | (print (car var)) |
| | | (print (cdr var)))) |
| | | vars "\n ") |
| | | " \n" body ") )") |
| | | body))) |
| | | |
| | | (defun org-babel-execute:picolisp (body params) |
| | | "Execute a block of Picolisp code with org-babel. This function is |
| | | called by `org-babel-execute-src-block'" |
| | | (message "executing Picolisp source code block") |
| | | (let* ( |
| | | ;; Name of the session or "none". |
| | | (session-name (cdr (assq :session params))) |
| | | ;; Set the session if the session variable is non-nil. |
| | | (session (org-babel-picolisp-initiate-session session-name)) |
| | | ;; Either OUTPUT or VALUE which should behave as described above. |
| | | (result-params (cdr (assq :result-params params))) |
| | | ;; Expand the body with `org-babel-expand-body:picolisp'. |
| | | (full-body (org-babel-expand-body:picolisp body params)) |
| | | ;; Wrap body appropriately for the type of evaluation and results. |
| | | (wrapped-body |
| | | (cond |
| | | ((or (member "code" result-params) |
| | | (member "pp" result-params)) |
| | | (format "(pretty (out \"/dev/null\" %s))" full-body)) |
| | | ((and (member "value" result-params) (not session)) |
| | | (format "(print (out \"/dev/null\" %s))" full-body)) |
| | | ((member "value" result-params) |
| | | (format "(out \"/dev/null\" %s)" full-body)) |
| | | (t full-body))) |
| | | (result |
| | | (if (not (string= session-name "none")) |
| | | ;; Session based evaluation. |
| | | (mapconcat ;; <- joins the list back into a single string |
| | | #'identity |
| | | (butlast ;; <- remove the org-babel-picolisp-eoe line |
| | | (delq nil |
| | | (mapcar |
| | | (lambda (line) |
| | | (org-babel-chomp ;; Remove trailing newlines. |
| | | (when (> (length line) 0) ;; Remove empty lines. |
| | | (cond |
| | | ;; Remove leading "-> " from return values. |
| | | ((and (>= (length line) 3) |
| | | (string= "-> " (substring line 0 3))) |
| | | (substring line 3)) |
| | | ;; Remove trailing "-> <<return-value>>" on the |
| | | ;; last line of output. |
| | | ((and (member "output" result-params) |
| | | (string-match-p "->" line)) |
| | | (substring line 0 (string-match "->" line))) |
| | | (t line) |
| | | ) |
| | | ;;(if (and (>= (length line) 3);Remove leading "<-" |
| | | ;; (string= "-> " (substring line 0 3))) |
| | | ;; (substring line 3) |
| | | ;; line) |
| | | ))) |
| | | ;; Returns a list of the output of each evaluated exp. |
| | | (org-babel-comint-with-output |
| | | (session org-babel-picolisp-eoe) |
| | | (insert wrapped-body) (comint-send-input) |
| | | (insert "'" org-babel-picolisp-eoe) |
| | | (comint-send-input))))) |
| | | "\n") |
| | | ;; external evaluation |
| | | (let ((script-file (org-babel-temp-file "picolisp-script-"))) |
| | | (with-temp-file script-file |
| | | (insert (concat wrapped-body "(bye)"))) |
| | | (org-babel-eval |
| | | (format "%s %s" |
| | | org-babel-picolisp-cmd |
| | | (org-babel-process-file-name script-file)) |
| | | ""))))) |
| | | (org-babel-result-cond result-params |
| | | result |
| | | (read result)))) |
| | | |
| | | (defun org-babel-picolisp-initiate-session (&optional session-name) |
| | | "If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session." |
| | | (unless (string= session-name "none") |
| | | (require 'inferior-picolisp) |
| | | ;; provide a reasonable default session name |
| | | (let ((session (or session-name "*inferior-picolisp*"))) |
| | | ;; check if we already have a live session by this name |
| | | (if (org-babel-comint-buffer-livep session) |
| | | (get-buffer session) |
| | | (save-window-excursion |
| | | (run-picolisp org-babel-picolisp-cmd) |
| | | (rename-buffer session-name) |
| | | (current-buffer)))))) |
| | | |
| | | (provide 'ob-picolisp) |
| | | |
| | | |
| | | |
| | | ;;; ob-picolisp.el ends here |
New file |
| | |
| | | ;;; ob-plantuml.el --- Babel Functions for Plantuml -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Zhang Weize |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating plantuml script. |
| | | ;; |
| | | ;; Inspired by Ian Yang's org-export-blocks-format-plantuml |
| | | ;; http://www.emacswiki.org/emacs/org-export-blocks-format-plantuml.el |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; plantuml | http://plantuml.sourceforge.net/ |
| | | ;; plantuml.jar | `org-plantuml-jar-path' should point to the jar file |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:plantuml |
| | | '((:results . "file") (:exports . "results")) |
| | | "Default arguments for evaluating a plantuml source block.") |
| | | |
| | | (defcustom org-plantuml-jar-path "" |
| | | "Path to the plantuml.jar file." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defun org-babel-variable-assignments:plantuml (params) |
| | | "Return a list of PlantUML statements assigning the block's variables. |
| | | PARAMS is a property list of source block parameters, which may |
| | | contain multiple entries for the key `:var'. `:var' entries in PARAMS |
| | | are expected to be scalar variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (format "!define %s %s" |
| | | (car pair) |
| | | (replace-regexp-in-string "\"" "" (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-plantuml-make-body (body params) |
| | | "Return PlantUML input string. |
| | | BODY is the content of the source block and PARAMS is a property list |
| | | of source block parameters. This function relies on the |
| | | `org-babel-expand-body:generic' function to extract `:var' entries |
| | | from PARAMS and on the `org-babel-variable-assignments:plantuml' |
| | | function to convert variables to PlantUML assignments." |
| | | (concat |
| | | "@startuml\n" |
| | | (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:plantuml params)) |
| | | "\n@enduml")) |
| | | |
| | | (defun org-babel-execute:plantuml (body params) |
| | | "Execute a block of plantuml code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((out-file (or (cdr (assq :file params)) |
| | | (error "PlantUML requires a \":file\" header argument"))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (in-file (org-babel-temp-file "plantuml-")) |
| | | (java (or (cdr (assq :java params)) "")) |
| | | (full-body (org-babel-plantuml-make-body body params)) |
| | | (cmd (if (string= "" org-plantuml-jar-path) |
| | | (error "`org-plantuml-jar-path' is not set") |
| | | (concat "java " java " -jar " |
| | | (shell-quote-argument |
| | | (expand-file-name org-plantuml-jar-path)) |
| | | (if (string= (file-name-extension out-file) "png") |
| | | " -tpng" "") |
| | | (if (string= (file-name-extension out-file) "svg") |
| | | " -tsvg" "") |
| | | (if (string= (file-name-extension out-file) "eps") |
| | | " -teps" "") |
| | | (if (string= (file-name-extension out-file) "pdf") |
| | | " -tpdf" "") |
| | | (if (string= (file-name-extension out-file) "vdx") |
| | | " -tvdx" "") |
| | | (if (string= (file-name-extension out-file) "xmi") |
| | | " -txmi" "") |
| | | (if (string= (file-name-extension out-file) "scxml") |
| | | " -tscxml" "") |
| | | (if (string= (file-name-extension out-file) "html") |
| | | " -thtml" "") |
| | | (if (string= (file-name-extension out-file) "txt") |
| | | " -ttxt" "") |
| | | (if (string= (file-name-extension out-file) "utxt") |
| | | " -utxt" "") |
| | | " -p " cmdline " < " |
| | | (org-babel-process-file-name in-file) |
| | | " > " |
| | | (org-babel-process-file-name out-file))))) |
| | | (unless (file-exists-p org-plantuml-jar-path) |
| | | (error "Could not find plantuml.jar at %s" org-plantuml-jar-path)) |
| | | (with-temp-file in-file (insert full-body)) |
| | | (message "%s" cmd) (org-babel-eval cmd "") |
| | | nil)) ;; signal that output has already been written to file |
| | | |
| | | (defun org-babel-prep-session:plantuml (_session _params) |
| | | "Return an error because plantuml does not support sessions." |
| | | (error "Plantuml does not support sessions")) |
| | | |
| | | (provide 'ob-plantuml) |
| | | |
| | | |
| | | |
| | | ;;; ob-plantuml.el ends here |
New file |
| | |
| | | ;;; ob-processing.el --- Babel functions for processing -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2015-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte) |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Babel support for evaluating processing source code. |
| | | ;; |
| | | ;; This differs from most standard languages in that |
| | | ;; |
| | | ;; 1) there is no such thing as a "session" in processing |
| | | ;; |
| | | ;; 2) results can only be exported as html; in this case, the |
| | | ;; processing code is embedded via a file into a javascript block |
| | | ;; using the processing.js module; the script then draws the |
| | | ;; resulting output when the web page is viewed in a browser; note |
| | | ;; that the user is responsible for making sure that processing.js |
| | | ;; is available on the website |
| | | ;; |
| | | ;; 3) it is possible to interactively view the sketch of the |
| | | ;; Processing code block via Processing 2.0 Emacs mode, using |
| | | ;; `org-babel-processing-view-sketch'. You can bind this command |
| | | ;; to, e.g., C-c C-v C-k with |
| | | ;; |
| | | ;; (define-key org-babel-map (kbd "C-k") 'org-babel-processing-view-sketch) |
| | | |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - processing2-emacs mode :: https://github.com/ptrv/processing2-emacs |
| | | ;; - Processing.js module :: http://processingjs.org/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'sha1) |
| | | |
| | | (declare-function processing-sketch-run "ext:processing-mode" ()) |
| | | |
| | | (defvar org-babel-temporary-directory) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("processing" . "pde")) |
| | | |
| | | ;; Default header tags depend on whether exporting html or not; if not |
| | | ;; exporting html, then no results are produced; otherwise results are |
| | | ;; HTML. |
| | | (defvar org-babel-default-header-args:processing |
| | | '((:results . "html") (:exports . "results")) |
| | | "Default arguments when evaluating a Processing source block.") |
| | | |
| | | (defvar org-babel-processing-processing-js-filename "processing.js" |
| | | "Filename of the processing.js file.") |
| | | |
| | | (defun org-babel-processing-view-sketch () |
| | | "Show the sketch of the Processing block under point in an external viewer." |
| | | (interactive) |
| | | (require 'processing-mode) |
| | | (let ((info (org-babel-get-src-block-info))) |
| | | (if (string= (nth 0 info) "processing") |
| | | (let* ((body (nth 1 info)) |
| | | (params (org-babel-process-params (nth 2 info))) |
| | | (sketch-code |
| | | (org-babel-expand-body:generic |
| | | body |
| | | params |
| | | (org-babel-variable-assignments:processing params)))) |
| | | ;; Note: sketch filename can not contain a hyphen, since it |
| | | ;; has to be a valid java class name; for this reason |
| | | ;; make-temp-file is repeated until no hyphen is in the |
| | | ;; name; also sketch dir name must be the same as the |
| | | ;; basename of the sketch file. |
| | | (let* ((temporary-file-directory org-babel-temporary-directory) |
| | | (sketch-dir |
| | | (let (sketch-dir-candidate) |
| | | (while |
| | | (progn |
| | | (setq sketch-dir-candidate |
| | | (make-temp-file "processing" t)) |
| | | (when (string-match-p |
| | | "-" |
| | | (file-name-nondirectory sketch-dir-candidate)) |
| | | (delete-directory sketch-dir-candidate) |
| | | t))) |
| | | sketch-dir-candidate)) |
| | | (sketch-filename |
| | | (concat sketch-dir |
| | | "/" |
| | | (file-name-nondirectory sketch-dir) |
| | | ".pde"))) |
| | | (with-temp-file sketch-filename (insert sketch-code)) |
| | | (find-file sketch-filename) |
| | | (processing-sketch-run) |
| | | (kill-buffer))) |
| | | (message "Not inside a Processing source block.")))) |
| | | |
| | | (defun org-babel-execute:processing (body params) |
| | | "Execute a block of Processing code. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((sketch-code |
| | | (org-babel-expand-body:generic |
| | | body |
| | | params |
| | | (org-babel-variable-assignments:processing params)))) |
| | | ;; Results are HTML. |
| | | (let ((sketch-canvas-id (concat "ob-" (sha1 sketch-code)))) |
| | | (concat "<script src=\"" |
| | | org-babel-processing-processing-js-filename |
| | | "\"></script>\n <script type=\"text/processing\"" |
| | | " data-processing-target=\"" |
| | | sketch-canvas-id |
| | | "\">\n" |
| | | sketch-code |
| | | "\n</script> <canvas id=\"" |
| | | sketch-canvas-id |
| | | "\"></canvas>")))) |
| | | |
| | | (defun org-babel-prep-session:processing (_session _params) |
| | | "Return an error if the :session header argument is set. |
| | | Processing does not support sessions" |
| | | (error "Processing does not support sessions")) |
| | | |
| | | (defun org-babel-variable-assignments:processing (params) |
| | | "Return list of processing statements assigning the block's variables." |
| | | (mapcar #'org-babel-processing-var-to-processing |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-processing-var-to-processing (pair) |
| | | "Convert an elisp value into a Processing variable. |
| | | The elisp value PAIR is converted into Processing code specifying |
| | | a variable of the same value." |
| | | (let ((var (car pair)) |
| | | (val (let ((v (cdr pair))) |
| | | (if (symbolp v) (symbol-name v) v)))) |
| | | (cond |
| | | ((integerp val) |
| | | (format "int %S=%S;" var val)) |
| | | ((floatp val) |
| | | (format "float %S=%S;" var val)) |
| | | ((stringp val) |
| | | (format "String %S=\"%s\";" var val)) |
| | | ((and (listp val) (not (listp (car val)))) |
| | | (let* ((type (org-babel-processing-define-type val)) |
| | | (fmt (if (eq 'String type) "\"%s\"" "%s")) |
| | | (vect (mapconcat (lambda (e) (format fmt e)) val ", "))) |
| | | (format "%s[] %S={%s};" type var vect))) |
| | | ((listp val) |
| | | (let* ((type (org-babel-processing-define-type val)) |
| | | (fmt (if (eq 'String type) "\"%s\"" "%s")) |
| | | (array (mapconcat (lambda (row) |
| | | (concat "{" |
| | | (mapconcat (lambda (e) (format fmt e)) |
| | | row ", ") |
| | | "}")) |
| | | val ","))) |
| | | (format "%S[][] %S={%s};" type var array)))))) |
| | | |
| | | (defun org-babel-processing-define-type (data) |
| | | "Determine type of DATA. |
| | | |
| | | DATA is a list. Return type as a symbol. |
| | | |
| | | The type is `String' if any element in DATA is a string. |
| | | Otherwise, it is either `float', if some elements are floats, or |
| | | `int'." |
| | | (letrec ((type 'int) |
| | | (find-type |
| | | (lambda (row) |
| | | (dolist (e row type) |
| | | (cond ((listp e) (setq type (funcall find-type e))) |
| | | ((stringp e) (throw 'exit 'String)) |
| | | ((floatp e) (setq type 'float))))))) |
| | | (catch 'exit (funcall find-type data)))) |
| | | |
| | | (provide 'ob-processing) |
| | | |
| | | ;;; ob-processing.el ends here |
New file |
| | |
| | | ;;; ob-python.el --- Babel Functions for Python -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating python source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-remove-indentation "org" ) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function py-shell "ext:python-mode" (&optional argprompt)) |
| | | (declare-function py-toggle-shells "ext:python-mode" (arg)) |
| | | (declare-function run-python "ext:python" (&optional cmd dedicated show)) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("python" . "py")) |
| | | |
| | | (defvar org-babel-default-header-args:python '()) |
| | | |
| | | (defcustom org-babel-python-command "python" |
| | | "Name of the command for executing Python code." |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :group 'org-babel |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-python-mode |
| | | (if (featurep 'python-mode) 'python-mode 'python) |
| | | "Preferred python mode for use in running python interactively. |
| | | This will typically be either `python' or `python-mode'." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'symbol) |
| | | |
| | | (defcustom org-babel-python-hline-to "None" |
| | | "Replace hlines in incoming tables with this when translating to python." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-python-None-to 'hline |
| | | "Replace `None' in python tables with this before returning." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'symbol) |
| | | |
| | | (defun org-babel-execute:python (body params) |
| | | "Execute a block of Python code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((org-babel-python-command |
| | | (or (cdr (assq :python params)) |
| | | org-babel-python-command)) |
| | | (session (org-babel-python-initiate-session |
| | | (cdr (assq :session params)))) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (return-val (when (and (eq result-type 'value) (not session)) |
| | | (cdr (assq :return params)))) |
| | | (preamble (cdr (assq :preamble params))) |
| | | (full-body |
| | | (org-babel-expand-body:generic |
| | | (concat body (if return-val (format "\nreturn %s" return-val) "")) |
| | | params (org-babel-variable-assignments:python params))) |
| | | (result (org-babel-python-evaluate |
| | | session full-body result-type result-params preamble))) |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-prep-session:python (session params) |
| | | "Prepare SESSION according to the header arguments in PARAMS. |
| | | VARS contains resolved variable references" |
| | | (let* ((session (org-babel-python-initiate-session session)) |
| | | (var-lines |
| | | (org-babel-variable-assignments:python params))) |
| | | (org-babel-comint-in-buffer session |
| | | (mapc (lambda (var) |
| | | (end-of-line 1) (insert var) (comint-send-input) |
| | | (org-babel-comint-wait-for-output session)) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:python (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:python session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-variable-assignments:python (params) |
| | | "Return a list of Python statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (format "%s=%s" |
| | | (car pair) |
| | | (org-babel-python-var-to-python (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-python-var-to-python (var) |
| | | "Convert an elisp value to a python variable. |
| | | Convert an elisp value, VAR, into a string of python source code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-python-var-to-python var ", ") "]") |
| | | (if (eq var 'hline) |
| | | org-babel-python-hline-to |
| | | (format |
| | | (if (and (stringp var) (string-match "[\n\r]" var)) "\"\"%S\"\"" "%S") |
| | | (if (stringp var) (substring-no-properties var) var))))) |
| | | |
| | | (defun org-babel-python-table-or-string (results) |
| | | "Convert RESULTS into an appropriate elisp value. |
| | | If the results look like a list or tuple, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (let ((res (org-babel-script-escape results))) |
| | | (if (listp res) |
| | | (mapcar (lambda (el) (if (eq el 'None) |
| | | org-babel-python-None-to el)) |
| | | res) |
| | | res))) |
| | | |
| | | (defvar org-babel-python-buffers '((:default . "*Python*"))) |
| | | |
| | | (defun org-babel-python-session-buffer (session) |
| | | "Return the buffer associated with SESSION." |
| | | (cdr (assoc session org-babel-python-buffers))) |
| | | |
| | | (defun org-babel-python-with-earmuffs (session) |
| | | (let ((name (if (stringp session) session (format "%s" session)))) |
| | | (if (and (string= "*" (substring name 0 1)) |
| | | (string= "*" (substring name (- (length name) 1)))) |
| | | name |
| | | (format "*%s*" name)))) |
| | | |
| | | (defun org-babel-python-without-earmuffs (session) |
| | | (let ((name (if (stringp session) session (format "%s" session)))) |
| | | (if (and (string= "*" (substring name 0 1)) |
| | | (string= "*" (substring name (- (length name) 1)))) |
| | | (substring name 1 (- (length name) 1)) |
| | | name))) |
| | | |
| | | (defvar py-default-interpreter) |
| | | (defvar py-which-bufname) |
| | | (defvar python-shell-buffer-name) |
| | | (defun org-babel-python-initiate-session-by-key (&optional session) |
| | | "Initiate a python session. |
| | | If there is not a current inferior-process-buffer in SESSION |
| | | then create. Return the initialized session." |
| | | (require org-babel-python-mode) |
| | | (save-window-excursion |
| | | (let* ((session (if session (intern session) :default)) |
| | | (python-buffer (org-babel-python-session-buffer session)) |
| | | (cmd (if (member system-type '(cygwin windows-nt ms-dos)) |
| | | (concat org-babel-python-command " -i") |
| | | org-babel-python-command))) |
| | | (cond |
| | | ((and (eq 'python org-babel-python-mode) |
| | | (fboundp 'run-python)) ; python.el |
| | | (if (not (version< "24.1" emacs-version)) |
| | | (run-python cmd) |
| | | (unless python-buffer |
| | | (setq python-buffer (org-babel-python-with-earmuffs session))) |
| | | (let ((python-shell-buffer-name |
| | | (org-babel-python-without-earmuffs python-buffer))) |
| | | (run-python cmd)))) |
| | | ((and (eq 'python-mode org-babel-python-mode) |
| | | (fboundp 'py-shell)) ; python-mode.el |
| | | ;; Make sure that py-which-bufname is initialized, as otherwise |
| | | ;; it will be overwritten the first time a Python buffer is |
| | | ;; created. |
| | | (py-toggle-shells py-default-interpreter) |
| | | ;; `py-shell' creates a buffer whose name is the value of |
| | | ;; `py-which-bufname' with '*'s at the beginning and end |
| | | (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer)) |
| | | (replace-regexp-in-string ;; zap surrounding * |
| | | "^\\*\\([^*]+\\)\\*$" "\\1" python-buffer) |
| | | (concat "Python-" (symbol-name session)))) |
| | | (py-which-bufname bufname)) |
| | | (py-shell) |
| | | (setq python-buffer (org-babel-python-with-earmuffs bufname)))) |
| | | (t |
| | | (error "No function available for running an inferior Python"))) |
| | | (setq org-babel-python-buffers |
| | | (cons (cons session python-buffer) |
| | | (assq-delete-all session org-babel-python-buffers))) |
| | | session))) |
| | | |
| | | (defun org-babel-python-initiate-session (&optional session _params) |
| | | "Create a session named SESSION according to PARAMS." |
| | | (unless (string= session "none") |
| | | (org-babel-python-session-buffer |
| | | (org-babel-python-initiate-session-by-key session)))) |
| | | |
| | | (defvar org-babel-python-eoe-indicator "'org_babel_python_eoe'" |
| | | "A string to indicate that evaluation has completed.") |
| | | (defconst org-babel-python-wrapper-method |
| | | " |
| | | def main(): |
| | | %s |
| | | |
| | | open('%s', 'w').write( str(main()) )") |
| | | (defconst org-babel-python-pp-wrapper-method |
| | | " |
| | | import pprint |
| | | def main(): |
| | | %s |
| | | |
| | | open('%s', 'w').write( pprint.pformat(main()) )") |
| | | |
| | | (defconst org-babel-python--exec-tmpfile |
| | | (concat |
| | | "__org_babel_python_fname = '%s'; " |
| | | "__org_babel_python_fh = open(__org_babel_python_fname); " |
| | | "exec(compile(" |
| | | "__org_babel_python_fh.read(), __org_babel_python_fname, 'exec'" |
| | | ")); " |
| | | "__org_babel_python_fh.close()")) |
| | | |
| | | (defun org-babel-python-evaluate |
| | | (session body &optional result-type result-params preamble) |
| | | "Evaluate BODY as Python code." |
| | | (if session |
| | | (org-babel-python-evaluate-session |
| | | session body result-type result-params) |
| | | (org-babel-python-evaluate-external-process |
| | | body result-type result-params preamble))) |
| | | |
| | | (defun org-babel-python-evaluate-external-process |
| | | (body &optional result-type result-params preamble) |
| | | "Evaluate BODY in external python process. |
| | | If RESULT-TYPE equals `output' then return standard output as a |
| | | string. If RESULT-TYPE equals `value' then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (let ((raw |
| | | (pcase result-type |
| | | (`output (org-babel-eval org-babel-python-command |
| | | (concat (if preamble (concat preamble "\n")) |
| | | body))) |
| | | (`value (let ((tmp-file (org-babel-temp-file "python-"))) |
| | | (org-babel-eval |
| | | org-babel-python-command |
| | | (concat |
| | | (if preamble (concat preamble "\n") "") |
| | | (format |
| | | (if (member "pp" result-params) |
| | | org-babel-python-pp-wrapper-method |
| | | org-babel-python-wrapper-method) |
| | | (mapconcat |
| | | (lambda (line) (format "\t%s" line)) |
| | | (split-string (org-remove-indentation (org-trim body)) |
| | | "[\r\n]") |
| | | "\n") |
| | | (org-babel-process-file-name tmp-file 'noquote)))) |
| | | (org-babel-eval-read-file tmp-file)))))) |
| | | (org-babel-result-cond result-params |
| | | raw |
| | | (org-babel-python-table-or-string (org-trim raw))))) |
| | | |
| | | (defun org-babel-python-evaluate-session |
| | | (session body &optional result-type result-params) |
| | | "Pass BODY to the Python process in SESSION. |
| | | If RESULT-TYPE equals `output' then return standard output as a |
| | | string. If RESULT-TYPE equals `value' then return the value of the |
| | | last statement in BODY, as elisp." |
| | | (let* ((send-wait (lambda () (comint-send-input nil t) (sleep-for 0 5))) |
| | | (dump-last-value |
| | | (lambda |
| | | (tmp-file pp) |
| | | (mapc |
| | | (lambda (statement) (insert statement) (funcall send-wait)) |
| | | (if pp |
| | | (list |
| | | "import pprint" |
| | | (format "open('%s', 'w').write(pprint.pformat(_))" |
| | | (org-babel-process-file-name tmp-file 'noquote))) |
| | | (list (format "open('%s', 'w').write(str(_))" |
| | | (org-babel-process-file-name tmp-file |
| | | 'noquote))))))) |
| | | (last-indent 0) |
| | | (input-body (lambda (body) |
| | | (dolist (line (split-string body "[\r\n]")) |
| | | ;; Insert a blank line to end an indent |
| | | ;; block. |
| | | (let ((curr-indent (string-match "\\S-" line))) |
| | | (if curr-indent |
| | | (progn |
| | | (when (< curr-indent last-indent) |
| | | (insert "") |
| | | (funcall send-wait)) |
| | | (setq last-indent curr-indent)) |
| | | (setq last-indent 0))) |
| | | (insert line) |
| | | (funcall send-wait)) |
| | | (funcall send-wait))) |
| | | (results |
| | | (pcase result-type |
| | | (`output |
| | | (let ((body (if (string-match-p ".\n+." body) ; Multiline |
| | | (let ((tmp-src-file (org-babel-temp-file |
| | | "python-"))) |
| | | (with-temp-file tmp-src-file (insert body)) |
| | | (format org-babel-python--exec-tmpfile |
| | | tmp-src-file)) |
| | | body))) |
| | | (mapconcat |
| | | #'org-trim |
| | | (butlast |
| | | (org-babel-comint-with-output |
| | | (session org-babel-python-eoe-indicator t body) |
| | | (funcall input-body body) |
| | | (funcall send-wait) (funcall send-wait) |
| | | (insert org-babel-python-eoe-indicator) |
| | | (funcall send-wait)) |
| | | 2) "\n"))) |
| | | (`value |
| | | (let ((tmp-file (org-babel-temp-file "python-"))) |
| | | (org-babel-comint-with-output |
| | | (session org-babel-python-eoe-indicator nil body) |
| | | (let ((comint-process-echoes nil)) |
| | | (funcall input-body body) |
| | | (funcall dump-last-value tmp-file |
| | | (member "pp" result-params)) |
| | | (funcall send-wait) (funcall send-wait) |
| | | (insert org-babel-python-eoe-indicator) |
| | | (funcall send-wait))) |
| | | (org-babel-eval-read-file tmp-file)))))) |
| | | (unless (string= (substring org-babel-python-eoe-indicator 1 -1) results) |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (org-babel-python-table-or-string results))))) |
| | | |
| | | (defun org-babel-python-read-string (string) |
| | | "Strip \\='s from around Python string." |
| | | (if (and (string-prefix-p "'" string) |
| | | (string-suffix-p "'" string)) |
| | | (substring string 1 -1) |
| | | string)) |
| | | |
| | | (provide 'ob-python) |
| | | |
| | | |
| | | |
| | | ;;; ob-python.el ends here |
New file |
| | |
| | | ;;; ob-ref.el --- Babel Functions for Referencing External Data -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Dan Davison |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Functions for referencing data from the header arguments of a |
| | | ;; org-babel block. The syntax of such a reference should be |
| | | |
| | | ;; #+VAR: variable-name=file:resource-id |
| | | |
| | | ;; - variable-name :: the name of the variable to which the value |
| | | ;; will be assigned |
| | | |
| | | ;; - file :: path to the file containing the resource, or omitted if |
| | | ;; resource is in the current file |
| | | |
| | | ;; - resource-id :: the id or name of the resource |
| | | |
| | | ;; So an example of a simple src block referencing table data in the |
| | | ;; same file would be |
| | | |
| | | ;; #+NAME: sandbox |
| | | ;; | 1 | 2 | 3 | |
| | | ;; | 4 | org-babel | 6 | |
| | | ;; |
| | | ;; #+begin_src emacs-lisp :var table=sandbox |
| | | ;; (message table) |
| | | ;; #+end_src |
| | | |
| | | ;;; Code: |
| | | (require 'ob-core) |
| | | (require 'cl-lib) |
| | | |
| | | (declare-function org-babel-lob-get-info "ob-lob" (&optional datum)) |
| | | (declare-function org-element-at-point "org-element" ()) |
| | | (declare-function org-element-property "org-element" (property element)) |
| | | (declare-function org-element-type "org-element" (element)) |
| | | (declare-function org-end-of-meta-data "org" (&optional full)) |
| | | (declare-function org-find-property "org" (property &optional value)) |
| | | (declare-function org-id-find-id-file "org-id" (id)) |
| | | (declare-function org-id-find-id-in-file "org-id" (id file &optional markerp)) |
| | | (declare-function org-in-commented-heading-p "org" (&optional no-inheritance)) |
| | | (declare-function org-narrow-to-subtree "org" ()) |
| | | (declare-function org-show-context "org" (&optional key)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defvar org-babel-update-intermediate nil |
| | | "Update the in-buffer results of code blocks executed to resolve references.") |
| | | |
| | | (defun org-babel-ref-parse (assignment) |
| | | "Parse a variable ASSIGNMENT in a header argument. |
| | | |
| | | If the right hand side of the assignment has a literal value |
| | | return that value, otherwise interpret it as a reference to an |
| | | external resource and find its value using `org-babel-ref-resolve'. |
| | | |
| | | Return a list with two elements: the name of the variable, and an |
| | | Emacs Lisp representation of the value of the variable." |
| | | (when (string-match "\\(.+?\\)=" assignment) |
| | | (let ((var (org-trim (match-string 1 assignment))) |
| | | (ref (org-trim (substring assignment (match-end 0))))) |
| | | (cons (intern var) |
| | | (let ((out (save-excursion |
| | | (when org-babel-current-src-block-location |
| | | (goto-char (if (markerp org-babel-current-src-block-location) |
| | | (marker-position org-babel-current-src-block-location) |
| | | org-babel-current-src-block-location))) |
| | | (org-babel-read ref)))) |
| | | (if (equal out ref) |
| | | (if (and (string-prefix-p "\"" ref) |
| | | (string-suffix-p "\"" ref)) |
| | | (read ref) |
| | | (org-babel-ref-resolve ref)) |
| | | out)))))) |
| | | |
| | | (defun org-babel-ref-goto-headline-id (id) |
| | | (or (let ((h (org-find-property "CUSTOM_ID" id))) |
| | | (when h (goto-char h))) |
| | | (let* ((file (org-id-find-id-file id)) |
| | | (m (when file (org-id-find-id-in-file id file 'marker)))) |
| | | (when (and file m) |
| | | (message "file:%S" file) |
| | | (pop-to-buffer-same-window (marker-buffer m)) |
| | | (goto-char m) |
| | | (move-marker m nil) |
| | | (org-show-context) |
| | | t)))) |
| | | |
| | | (defun org-babel-ref-headline-body () |
| | | (save-restriction |
| | | (org-narrow-to-subtree) |
| | | (buffer-substring |
| | | (save-excursion (goto-char (point-min)) |
| | | (org-end-of-meta-data) |
| | | (point)) |
| | | (point-max)))) |
| | | |
| | | (defvar org-babel-library-of-babel) |
| | | (defun org-babel-ref-resolve (ref) |
| | | "Resolve the reference REF and return its value." |
| | | (save-window-excursion |
| | | (with-current-buffer (or org-babel-exp-reference-buffer (current-buffer)) |
| | | (save-excursion |
| | | (let ((case-fold-search t) |
| | | args new-refere new-header-args new-referent split-file split-ref |
| | | index) |
| | | ;; if ref is indexed grab the indices -- beware nested indices |
| | | (when (and (string-match "\\[\\([^\\[]+\\)\\]$" ref) |
| | | (let ((str (substring ref 0 (match-beginning 0)))) |
| | | (= (cl-count ?\( str) (cl-count ?\) str)))) |
| | | (setq index (match-string 1 ref)) |
| | | (setq ref (substring ref 0 (match-beginning 0)))) |
| | | ;; assign any arguments to pass to source block |
| | | (when (string-match |
| | | "^\\(.+?\\)\\(\\[\\(.*\\)\\]\\|\\(\\)\\)(\\(.*\\))$" ref) |
| | | (setq new-refere (match-string 1 ref)) |
| | | (setq new-header-args (match-string 3 ref)) |
| | | (setq new-referent (match-string 5 ref)) |
| | | (when (> (length new-refere) 0) |
| | | (when (> (length new-referent) 0) |
| | | (setq args (mapcar (lambda (ref) (cons :var ref)) |
| | | (org-babel-ref-split-args new-referent)))) |
| | | (when (> (length new-header-args) 0) |
| | | (setq args (append (org-babel-parse-header-arguments |
| | | new-header-args) args))) |
| | | (setq ref new-refere))) |
| | | (when (string-match "^\\(.+\\):\\(.+\\)$" ref) |
| | | (setq split-file (match-string 1 ref)) |
| | | (setq split-ref (match-string 2 ref)) |
| | | (find-file split-file) |
| | | (setq ref split-ref)) |
| | | (org-with-wide-buffer |
| | | (goto-char (point-min)) |
| | | (let* ((params (append args '((:results . "silent")))) |
| | | (regexp (org-babel-named-data-regexp-for-name ref)) |
| | | (result |
| | | (catch :found |
| | | ;; Check for code blocks or named data. |
| | | (while (re-search-forward regexp nil t) |
| | | ;; Ignore COMMENTed headings and orphaned |
| | | ;; affiliated keywords. |
| | | (unless (org-in-commented-heading-p) |
| | | (let ((e (org-element-at-point))) |
| | | (when (equal (org-element-property :name e) ref) |
| | | (goto-char |
| | | (org-element-property :post-affiliated e)) |
| | | (pcase (org-element-type e) |
| | | (`babel-call |
| | | (throw :found |
| | | (org-babel-execute-src-block |
| | | nil (org-babel-lob-get-info e) params))) |
| | | (`src-block |
| | | (throw :found |
| | | (org-babel-execute-src-block |
| | | nil nil |
| | | (and |
| | | (not org-babel-update-intermediate) |
| | | params)))) |
| | | ((and (let v (org-babel-read-element e)) |
| | | (guard v)) |
| | | (throw :found v)) |
| | | (_ (error "Reference not found"))))))) |
| | | ;; Check for local or global headlines by ID. |
| | | (when (org-babel-ref-goto-headline-id ref) |
| | | (throw :found (org-babel-ref-headline-body))) |
| | | ;; Check the Library of Babel. |
| | | (let ((info (cdr (assq (intern ref) |
| | | org-babel-library-of-babel)))) |
| | | (when info |
| | | (throw :found |
| | | (org-babel-execute-src-block nil info params)))) |
| | | (error "Reference `%s' not found in this buffer" ref)))) |
| | | (cond |
| | | ((symbolp result) (format "%S" result)) |
| | | ((and index (listp result)) |
| | | (org-babel-ref-index-list index result)) |
| | | (t result))))))))) |
| | | |
| | | (defun org-babel-ref-index-list (index lis) |
| | | "Return the subset of LIS indexed by INDEX. |
| | | |
| | | Indices are 0 based and negative indices count from the end of |
| | | LIS, so 0 references the first element of LIS and -1 references |
| | | the last. If INDEX is separated by \",\"s then each \"portion\" |
| | | is assumed to index into the next deepest nesting or dimension. |
| | | |
| | | A valid \"portion\" can consist of either an integer index, two |
| | | integers separated by a \":\" in which case the entire range is |
| | | returned, or an empty string or \"*\" both of which are |
| | | interpreted to mean the entire range and as such are equivalent |
| | | to \"0:-1\"." |
| | | (if (and (> (length index) 0) (string-match "^\\([^,]*\\),?" index)) |
| | | (let* ((ind-re "\\(\\([-[:digit:]]+\\):\\([-[:digit:]]+\\)\\|\\*\\)") |
| | | (lgth (length lis)) |
| | | (portion (match-string 1 index)) |
| | | (remainder (substring index (match-end 0))) |
| | | (wrap (lambda (num) (if (< num 0) (+ lgth num) num))) |
| | | (open (lambda (ls) (if (and (listp ls) (= (length ls) 1)) (car ls) ls)))) |
| | | (funcall |
| | | open |
| | | (mapcar |
| | | (lambda (sub-lis) |
| | | (if (listp sub-lis) |
| | | (org-babel-ref-index-list remainder sub-lis) |
| | | sub-lis)) |
| | | (if (or (= 0 (length portion)) (string-match ind-re portion)) |
| | | (mapcar |
| | | (lambda (n) (nth n lis)) |
| | | (apply 'org-number-sequence |
| | | (if (and (> (length portion) 0) (match-string 2 portion)) |
| | | (list |
| | | (funcall wrap (string-to-number (match-string 2 portion))) |
| | | (funcall wrap (string-to-number (match-string 3 portion)))) |
| | | (list (funcall wrap 0) (funcall wrap -1))))) |
| | | (list (nth (funcall wrap (string-to-number portion)) lis)))))) |
| | | lis)) |
| | | |
| | | (defun org-babel-ref-split-args (arg-string) |
| | | "Split ARG-STRING into top-level arguments of balanced parenthesis." |
| | | (mapcar #'org-trim (org-babel-balanced-split arg-string 44))) |
| | | |
| | | |
| | | (provide 'ob-ref) |
| | | |
| | | ;;; ob-ref.el ends here |
New file |
| | |
| | | ;;; ob-ruby.el --- Babel Functions for Ruby -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating ruby source code. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - ruby and irb executables :: http://www.ruby-lang.org/ |
| | | ;; |
| | | ;; - ruby-mode :: Can be installed through ELPA, or from |
| | | ;; http://github.com/eschulte/rinari/raw/master/util/ruby-mode.el |
| | | ;; |
| | | ;; - inf-ruby mode :: Can be installed through ELPA, or from |
| | | ;; http://github.com/eschulte/rinari/raw/master/util/inf-ruby.el |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function run-ruby "ext:inf-ruby" (&optional command name)) |
| | | (declare-function xmp "ext:rcodetools" (&optional option)) |
| | | |
| | | (defvar inf-ruby-default-implementation) |
| | | (defvar inf-ruby-implementations) |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("ruby" . "rb")) |
| | | |
| | | (defvar org-babel-default-header-args:ruby '()) |
| | | |
| | | (defvar org-babel-ruby-command "ruby" |
| | | "Name of command to use for executing ruby code.") |
| | | |
| | | (defcustom org-babel-ruby-hline-to "nil" |
| | | "Replace hlines in incoming tables with this when translating to ruby." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-ruby-nil-to 'hline |
| | | "Replace nil in ruby tables with this before returning." |
| | | :group 'org-babel |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'symbol) |
| | | |
| | | (defun org-babel-execute:ruby (body params) |
| | | "Execute a block of Ruby code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((session (org-babel-ruby-initiate-session |
| | | (cdr (assq :session params)))) |
| | | (result-params (cdr (assq :result-params params))) |
| | | (result-type (cdr (assq :result-type params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:ruby params))) |
| | | (result (if (member "xmp" result-params) |
| | | (with-temp-buffer |
| | | (require 'rcodetools) |
| | | (insert full-body) |
| | | (xmp (cdr (assq :xmp-option params))) |
| | | (buffer-string)) |
| | | (org-babel-ruby-evaluate |
| | | session full-body result-type result-params)))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond result-params |
| | | result |
| | | (org-babel-ruby-table-or-string result)) |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-prep-session:ruby (session params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | ;; (message "params=%S" params) ;; debugging |
| | | (let* ((session (org-babel-ruby-initiate-session session)) |
| | | (var-lines (org-babel-variable-assignments:ruby params))) |
| | | (org-babel-comint-in-buffer session |
| | | (sit-for .5) (goto-char (point-max)) |
| | | (mapc (lambda (var) |
| | | (insert var) (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session) |
| | | (sit-for .1) (goto-char (point-max))) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:ruby (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:ruby session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-variable-assignments:ruby (params) |
| | | "Return list of ruby statements assigning the block's variables." |
| | | (mapcar |
| | | (lambda (pair) |
| | | (format "%s=%s" |
| | | (car pair) |
| | | (org-babel-ruby-var-to-ruby (cdr pair)))) |
| | | (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-ruby-var-to-ruby (var) |
| | | "Convert VAR into a ruby variable. |
| | | Convert an elisp value into a string of ruby source code |
| | | specifying a variable of the same value." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-ruby-var-to-ruby var ", ") "]") |
| | | (if (eq var 'hline) |
| | | org-babel-ruby-hline-to |
| | | (format "%S" var)))) |
| | | |
| | | (defun org-babel-ruby-table-or-string (results) |
| | | "Convert RESULTS into an appropriate elisp value. |
| | | If RESULTS look like a table, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (let ((res (org-babel-script-escape results))) |
| | | (if (listp res) |
| | | (mapcar (lambda (el) (if (not el) |
| | | org-babel-ruby-nil-to el)) |
| | | res) |
| | | res))) |
| | | |
| | | (defun org-babel-ruby-initiate-session (&optional session _params) |
| | | "Initiate a ruby session. |
| | | If there is not a current inferior-process-buffer in SESSION |
| | | then create one. Return the initialized session." |
| | | (unless (string= session "none") |
| | | (require 'inf-ruby) |
| | | (let* ((cmd (cdr (assoc inf-ruby-default-implementation |
| | | inf-ruby-implementations))) |
| | | (buffer (get-buffer (format "*%s*" session))) |
| | | (session-buffer (or buffer (save-window-excursion |
| | | (run-ruby cmd session) |
| | | (current-buffer))))) |
| | | (if (org-babel-comint-buffer-livep session-buffer) |
| | | (progn (sit-for .25) session-buffer) |
| | | (sit-for .5) |
| | | (org-babel-ruby-initiate-session session))))) |
| | | |
| | | (defvar org-babel-ruby-eoe-indicator ":org_babel_ruby_eoe" |
| | | "String to indicate that evaluation has completed.") |
| | | (defvar org-babel-ruby-f-write |
| | | "File.open('%s','w'){|f| f.write((_.class == String) ? _ : _.inspect)}") |
| | | (defvar org-babel-ruby-pp-f-write |
| | | "File.open('%s','w'){|f| $stdout = f; pp(results); $stdout = orig_out}") |
| | | (defvar org-babel-ruby-wrapper-method |
| | | " |
| | | def main() |
| | | %s |
| | | end |
| | | results = main() |
| | | File.open('%s', 'w'){ |f| f.write((results.class == String) ? results : results.inspect) } |
| | | ") |
| | | (defvar org-babel-ruby-pp-wrapper-method |
| | | " |
| | | require 'pp' |
| | | def main() |
| | | %s |
| | | end |
| | | results = main() |
| | | File.open('%s', 'w') do |f| |
| | | $stdout = f |
| | | pp results |
| | | end |
| | | ") |
| | | |
| | | (defun org-babel-ruby-evaluate |
| | | (buffer body &optional result-type result-params) |
| | | "Pass BODY to the Ruby process in BUFFER. |
| | | If RESULT-TYPE equals `output' then return a list of the outputs |
| | | of the statements in BODY, if RESULT-TYPE equals `value' then |
| | | return the value of the last statement in BODY, as elisp." |
| | | (if (not buffer) |
| | | ;; external process evaluation |
| | | (pcase result-type |
| | | (`output (org-babel-eval org-babel-ruby-command body)) |
| | | (`value (let ((tmp-file (org-babel-temp-file "ruby-"))) |
| | | (org-babel-eval |
| | | org-babel-ruby-command |
| | | (format (if (member "pp" result-params) |
| | | org-babel-ruby-pp-wrapper-method |
| | | org-babel-ruby-wrapper-method) |
| | | body (org-babel-process-file-name tmp-file 'noquote))) |
| | | (org-babel-eval-read-file tmp-file)))) |
| | | ;; comint session evaluation |
| | | (pcase result-type |
| | | (`output |
| | | (let ((eoe-string (format "puts \"%s\"" org-babel-ruby-eoe-indicator))) |
| | | ;; Force the session to be ready before the actual session |
| | | ;; code is run. There is some problem in comint that will |
| | | ;; sometimes show the prompt after the the input has already |
| | | ;; been inserted and that throws off the extraction of the |
| | | ;; result for Babel. |
| | | (org-babel-comint-with-output |
| | | (buffer org-babel-ruby-eoe-indicator t eoe-string) |
| | | (insert eoe-string) (comint-send-input nil t)) |
| | | ;; Now we can start the evaluation. |
| | | (mapconcat |
| | | #'identity |
| | | (butlast |
| | | (split-string |
| | | (mapconcat |
| | | #'org-trim |
| | | (org-babel-comint-with-output |
| | | (buffer org-babel-ruby-eoe-indicator t body) |
| | | (mapc |
| | | (lambda (line) |
| | | (insert (org-babel-chomp line)) (comint-send-input nil t)) |
| | | (list "conf.echo=false;_org_prompt_mode=conf.prompt_mode;conf.prompt_mode=:NULL" |
| | | body |
| | | "conf.prompt_mode=_org_prompt_mode;conf.echo=true" |
| | | eoe-string))) |
| | | "\n") "[\r\n]") 4) "\n"))) |
| | | (`value |
| | | (let* ((tmp-file (org-babel-temp-file "ruby-")) |
| | | (ppp (or (member "code" result-params) |
| | | (member "pp" result-params)))) |
| | | (org-babel-comint-with-output |
| | | (buffer org-babel-ruby-eoe-indicator t body) |
| | | (when ppp (insert "require 'pp';") (comint-send-input nil t)) |
| | | (mapc |
| | | (lambda (line) |
| | | (insert (org-babel-chomp line)) (comint-send-input nil t)) |
| | | (append |
| | | (list body) |
| | | (if (not ppp) |
| | | (list (format org-babel-ruby-f-write |
| | | (org-babel-process-file-name tmp-file 'noquote))) |
| | | (list |
| | | "results=_" "require 'pp'" "orig_out = $stdout" |
| | | (format org-babel-ruby-pp-f-write |
| | | (org-babel-process-file-name tmp-file 'noquote)))) |
| | | (list org-babel-ruby-eoe-indicator))) |
| | | (comint-send-input nil t)) |
| | | (org-babel-eval-read-file tmp-file)))))) |
| | | |
| | | (provide 'ob-ruby) |
| | | |
| | | |
| | | |
| | | ;;; ob-ruby.el ends here |
New file |
| | |
| | | ;;; ob-sass.el --- Babel Functions for the Sass CSS generation language -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; For more information on sass see http://sass-lang.com/ |
| | | ;; |
| | | ;; This accepts a 'file' header argument which is the target of the |
| | | ;; compiled sass. The default output type for sass evaluation is |
| | | ;; either file (if a 'file' header argument was given) or scalar if no |
| | | ;; such header argument was supplied. |
| | | ;; |
| | | ;; A 'cmdline' header argument can be supplied to pass arguments to |
| | | ;; the sass command line. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - sass-mode :: http://github.com/nex3/haml/blob/master/extra/sass-mode.el |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-default-header-args:sass '()) |
| | | |
| | | (defun org-babel-execute:sass (body params) |
| | | "Execute a block of Sass code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((file (cdr (assq :file params))) |
| | | (out-file (or file (org-babel-temp-file "sass-out-"))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (in-file (org-babel-temp-file "sass-in-")) |
| | | (cmd (concat "sass " (or cmdline "") |
| | | " " (org-babel-process-file-name in-file) |
| | | " " (org-babel-process-file-name out-file)))) |
| | | (with-temp-file in-file |
| | | (insert (org-babel-expand-body:generic body params))) |
| | | (org-babel-eval cmd "") |
| | | (if file |
| | | nil ;; signal that output has already been written to file |
| | | (with-temp-buffer (insert-file-contents out-file) (buffer-string))))) |
| | | |
| | | (defun org-babel-prep-session:sass (_session _params) |
| | | "Raise an error because sass does not support sessions." |
| | | (error "Sass does not support sessions")) |
| | | |
| | | (provide 'ob-sass) |
| | | |
| | | |
| | | |
| | | ;;; ob-sass.el ends here |
New file |
| | |
| | | ;;; ob-scheme.el --- Babel Functions for Scheme -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Michael Gauland |
| | | ;; Keywords: literate programming, reproducible research, scheme |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Now working with SBCL for both session and external evaluation. |
| | | ;; |
| | | ;; This certainly isn't optimally robust, but it seems to be working |
| | | ;; for the basic use cases. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - a working scheme implementation |
| | | ;; (e.g. guile https://www.gnu.org/software/guile/guile.html) |
| | | ;; |
| | | ;; - for session based evaluation geiser is required, which is available from |
| | | ;; ELPA. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'geiser nil t) |
| | | (require 'geiser-impl nil t) |
| | | (defvar geiser-repl--repl) ; Defined in geiser-repl.el |
| | | (defvar geiser-impl--implementation) ; Defined in geiser-impl.el |
| | | (defvar geiser-default-implementation) ; Defined in geiser-impl.el |
| | | (defvar geiser-active-implementations) ; Defined in geiser-impl.el |
| | | (defvar geiser-debug-show-debug-p) ; Defined in geiser-debug.el |
| | | (defvar geiser-debug-jump-to-debug-p) ; Defined in geiser-debug.el |
| | | (defvar geiser-repl-use-other-window) ; Defined in geiser-repl.el |
| | | (defvar geiser-repl-window-allow-split) ; Defined in geiser-repl.el |
| | | |
| | | (declare-function run-geiser "ext:geiser-repl" (impl)) |
| | | (declare-function geiser-mode "ext:geiser-mode" ()) |
| | | (declare-function geiser-eval-region "ext:geiser-mode" |
| | | (start end &optional and-go raw nomsg)) |
| | | (declare-function geiser-repl-exit "ext:geiser-repl" (&optional arg)) |
| | | (declare-function geiser-eval--retort-output "ext:geiser-eval" (ret)) |
| | | (declare-function geiser-eval--retort-result-str "ext:geiser-eval" (ret prefix)) |
| | | |
| | | (defcustom org-babel-scheme-null-to 'hline |
| | | "Replace `null' and empty lists in scheme tables with this before returning." |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "9.1") |
| | | :type 'symbol) |
| | | |
| | | (defvar org-babel-default-header-args:scheme '() |
| | | "Default header arguments for scheme code blocks.") |
| | | |
| | | (defun org-babel-expand-body:scheme (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params)) |
| | | (prepends (cdr (assq :prologue params)))) |
| | | (concat (and prepends (concat prepends "\n")) |
| | | (if (null vars) body |
| | | (format "(let (%s)\n%s\n)" |
| | | (mapconcat |
| | | (lambda (var) |
| | | (format "%S" (print `(,(car var) ',(cdr var))))) |
| | | vars |
| | | "\n ") |
| | | body))))) |
| | | |
| | | |
| | | (defvar org-babel-scheme-repl-map (make-hash-table :test #'equal) |
| | | "Map of scheme sessions to session names.") |
| | | |
| | | (defun org-babel-scheme-cleanse-repl-map () |
| | | "Remove dead buffers from the REPL map." |
| | | (maphash |
| | | (lambda (x y) (unless (buffer-name y) (remhash x org-babel-scheme-repl-map))) |
| | | org-babel-scheme-repl-map)) |
| | | |
| | | (defun org-babel-scheme-get-session-buffer (session-name) |
| | | "Look up the scheme buffer for a session; return nil if it doesn't exist." |
| | | (org-babel-scheme-cleanse-repl-map) ; Prune dead sessions |
| | | (gethash session-name org-babel-scheme-repl-map)) |
| | | |
| | | (defun org-babel-scheme-set-session-buffer (session-name buffer) |
| | | "Record the scheme buffer used for a given session." |
| | | (puthash session-name buffer org-babel-scheme-repl-map)) |
| | | |
| | | (defun org-babel-scheme-get-buffer-impl (buffer) |
| | | "Returns the scheme implementation geiser associates with the buffer." |
| | | (with-current-buffer (set-buffer buffer) |
| | | geiser-impl--implementation)) |
| | | |
| | | (defun org-babel-scheme-get-repl (impl name) |
| | | "Switch to a scheme REPL, creating it if it doesn't exist:" |
| | | (let ((buffer (org-babel-scheme-get-session-buffer name))) |
| | | (or buffer |
| | | (progn |
| | | (run-geiser impl) |
| | | (if name |
| | | (progn |
| | | (rename-buffer name t) |
| | | (org-babel-scheme-set-session-buffer name (current-buffer)))) |
| | | (current-buffer))))) |
| | | |
| | | (defun org-babel-scheme-make-session-name (buffer name impl) |
| | | "Generate a name for the session buffer. |
| | | |
| | | For a named session, the buffer name will be the session name. |
| | | |
| | | If the session is unnamed (nil), generate a name. |
| | | |
| | | If the session is `none', use nil for the session name, and |
| | | org-babel-scheme-execute-with-geiser will use a temporary session." |
| | | (cond ((not name) (concat buffer " " (symbol-name impl) " REPL")) |
| | | ((string= name "none") nil) |
| | | (name))) |
| | | |
| | | (defmacro org-babel-scheme-capture-current-message (&rest body) |
| | | "Capture current message in both interactive and noninteractive mode" |
| | | `(if noninteractive |
| | | (let ((original-message (symbol-function 'message)) |
| | | (current-message nil)) |
| | | (unwind-protect |
| | | (progn |
| | | (defun message (&rest args) |
| | | (setq current-message (apply original-message args))) |
| | | ,@body |
| | | current-message) |
| | | (fset 'message original-message))) |
| | | (progn |
| | | ,@body |
| | | (current-message)))) |
| | | |
| | | (defun org-babel-scheme-execute-with-geiser (code output impl repl) |
| | | "Execute code in specified REPL. If the REPL doesn't exist, create it |
| | | using the given scheme implementation. |
| | | |
| | | Returns the output of executing the code if the output parameter |
| | | is true; otherwise returns the last value." |
| | | (let ((result nil)) |
| | | (with-temp-buffer |
| | | (insert (format ";; -*- geiser-scheme-implementation: %s -*-" impl)) |
| | | (newline) |
| | | (insert code) |
| | | (geiser-mode) |
| | | (let ((geiser-repl-window-allow-split nil) |
| | | (geiser-repl-use-other-window nil)) |
| | | (let ((repl-buffer (save-current-buffer |
| | | (org-babel-scheme-get-repl impl repl)))) |
| | | (when (not (eq impl (org-babel-scheme-get-buffer-impl |
| | | (current-buffer)))) |
| | | (message "Implementation mismatch: %s (%s) %s (%s)" impl (symbolp impl) |
| | | (org-babel-scheme-get-buffer-impl (current-buffer)) |
| | | (symbolp (org-babel-scheme-get-buffer-impl |
| | | (current-buffer))))) |
| | | (setq geiser-repl--repl repl-buffer) |
| | | (setq geiser-impl--implementation nil) |
| | | (let ((geiser-debug-jump-to-debug-p nil) |
| | | (geiser-debug-show-debug-p nil)) |
| | | (let ((ret (geiser-eval-region (point-min) (point-max)))) |
| | | (setq result (if output |
| | | (geiser-eval--retort-output ret) |
| | | (geiser-eval--retort-result-str ret ""))))) |
| | | (when (not repl) |
| | | (save-current-buffer (set-buffer repl-buffer) |
| | | (geiser-repl-exit)) |
| | | (set-process-query-on-exit-flag (get-buffer-process repl-buffer) nil) |
| | | (kill-buffer repl-buffer))))) |
| | | result)) |
| | | |
| | | (defun org-babel-scheme--table-or-string (results) |
| | | "Convert RESULTS into an appropriate elisp value. |
| | | If the results look like a list or tuple, then convert them into an |
| | | Emacs-lisp table, otherwise return the results as a string." |
| | | (let ((res (org-babel-script-escape results))) |
| | | (cond ((listp res) |
| | | (mapcar (lambda (el) |
| | | (if (or (null el) (eq el 'null)) |
| | | org-babel-scheme-null-to |
| | | el)) |
| | | res)) |
| | | (t res)))) |
| | | |
| | | (defun org-babel-execute:scheme (body params) |
| | | "Execute a block of Scheme code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'" |
| | | (let* ((source-buffer (current-buffer)) |
| | | (source-buffer-name (replace-regexp-in-string ;; zap surrounding * |
| | | "^ ?\\*\\([^*]+\\)\\*" "\\1" |
| | | (buffer-name source-buffer)))) |
| | | (save-excursion |
| | | (let* ((result-type (cdr (assq :result-type params))) |
| | | (impl (or (when (cdr (assq :scheme params)) |
| | | (intern (cdr (assq :scheme params)))) |
| | | geiser-default-implementation |
| | | (car geiser-active-implementations))) |
| | | (session (org-babel-scheme-make-session-name |
| | | source-buffer-name (cdr (assq :session params)) impl)) |
| | | (full-body (org-babel-expand-body:scheme body params)) |
| | | (result |
| | | (org-babel-scheme-execute-with-geiser |
| | | full-body ; code |
| | | (string= result-type "output") ; output? |
| | | impl ; implementation |
| | | (and (not (string= session "none")) session)))) ; session |
| | | (let ((table |
| | | (org-babel-reassemble-table |
| | | result |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))) |
| | | (org-babel-scheme--table-or-string table)))))) |
| | | |
| | | (provide 'ob-scheme) |
| | | |
| | | ;;; ob-scheme.el ends here |
New file |
| | |
| | | ;;; ob-screen.el --- Babel Support for Interactive Terminal -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Benjamin Andresen |
| | | ;; Keywords: literate programming, interactive shell |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for interactive terminals. Mostly shell scripts. |
| | | ;; Heavily inspired by 'eev' from Eduardo Ochs |
| | | ;; |
| | | ;; Adding :cmd and :terminal as header arguments |
| | | ;; :terminal must support the -T (title) and -e (command) parameter |
| | | ;; |
| | | ;; You can test the default setup. (xterm + sh) with |
| | | ;; M-x org-babel-screen-test RET |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-screen-location "screen" |
| | | "The command location for screen. |
| | | In case you want to use a different screen than one selected by your $PATH") |
| | | |
| | | (defvar org-babel-default-header-args:screen |
| | | '((:results . "silent") (:session . "default") (:cmd . "sh") (:terminal . "xterm")) |
| | | "Default arguments to use when running screen source blocks.") |
| | | |
| | | (defun org-babel-execute:screen (body params) |
| | | "Send a block of code via screen to a terminal using Babel. |
| | | \"default\" session is used when none is specified." |
| | | (message "Sending source code block to interactive terminal session...") |
| | | (save-window-excursion |
| | | (let* ((session (cdr (assq :session params))) |
| | | (socket (org-babel-screen-session-socketname session))) |
| | | (unless socket (org-babel-prep-session:screen session params)) |
| | | (org-babel-screen-session-execute-string |
| | | session (org-babel-expand-body:generic body params))))) |
| | | |
| | | (defun org-babel-prep-session:screen (_session params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (let* ((session (cdr (assq :session params))) |
| | | (cmd (cdr (assq :cmd params))) |
| | | (terminal (cdr (assq :terminal params))) |
| | | (process-name (concat "org-babel: terminal (" session ")"))) |
| | | (apply 'start-process process-name "*Messages*" |
| | | terminal `("-T" ,(concat "org-babel: " session) "-e" ,org-babel-screen-location |
| | | "-c" "/dev/null" "-mS" ,(concat "org-babel-session-" session) |
| | | ,cmd)) |
| | | ;; XXX: Is there a better way than the following? |
| | | (while (not (org-babel-screen-session-socketname session)) |
| | | ;; wait until screen session is available before returning |
| | | ))) |
| | | |
| | | ;; helper functions |
| | | |
| | | (defun org-babel-screen-session-execute-string (session body) |
| | | "If SESSION exists, send BODY to it." |
| | | (let ((socket (org-babel-screen-session-socketname session))) |
| | | (when socket |
| | | (let ((tmpfile (org-babel-screen-session-write-temp-file session body))) |
| | | (apply 'start-process (concat "org-babel: screen (" session ")") "*Messages*" |
| | | org-babel-screen-location |
| | | `("-S" ,socket "-X" "eval" "msgwait 0" |
| | | ,(concat "readreg z " tmpfile) |
| | | "paste z")))))) |
| | | |
| | | (defun org-babel-screen-session-socketname (session) |
| | | "Check if SESSION exists by parsing output of \"screen -ls\"." |
| | | (let* ((screen-ls (shell-command-to-string "screen -ls")) |
| | | (sockets (delq |
| | | nil |
| | | (mapcar |
| | | (lambda (x) |
| | | (when (string-match (rx (or "(Attached)" "(Detached)")) x) |
| | | x)) |
| | | (split-string screen-ls "\n")))) |
| | | (match-socket (car |
| | | (delq |
| | | nil |
| | | (mapcar |
| | | (lambda (x) |
| | | (when (string-match |
| | | (concat "org-babel-session-" session) x) |
| | | x)) |
| | | sockets))))) |
| | | (when match-socket (car (split-string match-socket))))) |
| | | |
| | | (defun org-babel-screen-session-write-temp-file (_session body) |
| | | "Save BODY in a temp file that is named after SESSION." |
| | | (let ((tmpfile (org-babel-temp-file "screen-"))) |
| | | (with-temp-file tmpfile |
| | | (insert body) |
| | | |
| | | ;; org-babel has superfluous spaces |
| | | (goto-char (point-min)) |
| | | (delete-matching-lines "^ +$")) |
| | | tmpfile)) |
| | | |
| | | (defun org-babel-screen-test () |
| | | "Test if the default setup works. |
| | | The terminal should shortly flicker." |
| | | (interactive) |
| | | (let* ((random-string (format "%s" (random 99999))) |
| | | (tmpfile (org-babel-temp-file "ob-screen-test-")) |
| | | (body (concat "echo '" random-string "' > " tmpfile "\nexit\n")) |
| | | tmp-string) |
| | | (org-babel-execute:screen body org-babel-default-header-args:screen) |
| | | ;; XXX: need to find a better way to do the following |
| | | (while (not (file-readable-p tmpfile)) |
| | | ;; do something, otherwise this will be optimized away |
| | | (format "org-babel-screen: File not readable yet.")) |
| | | (setq tmp-string (with-temp-buffer |
| | | (insert-file-contents-literally tmpfile) |
| | | (buffer-substring (point-min) (point-max)))) |
| | | (delete-file tmpfile) |
| | | (message (concat "org-babel-screen: Setup " |
| | | (if (string-match random-string tmp-string) |
| | | "WORKS." |
| | | "DOESN'T work."))))) |
| | | |
| | | (provide 'ob-screen) |
| | | |
| | | |
| | | |
| | | ;;; ob-screen.el ends here |
New file |
| | |
| | | ;;; ob-sed.el --- Babel Functions for Sed Scripts -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2015-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Bjarte Johansen |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Version: 0.1.1 |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Provides a way to evaluate sed scripts in Org mode. |
| | | |
| | | ;;; Usage: |
| | | |
| | | ;; Add to your Emacs config: |
| | | |
| | | ;; (org-babel-do-load-languages |
| | | ;; 'org-babel-load-languages |
| | | ;; '((sed . t))) |
| | | |
| | | ;; In addition to the normal header arguments, ob-sed also provides |
| | | ;; :cmd-line and :in-file. :cmd-line allows one to pass other flags to |
| | | ;; the sed command like the "--in-place" flag which makes sed edit the |
| | | ;; file pass to it instead of outputting to standard out or to a |
| | | ;; different file. :in-file is a header arguments that allows one to |
| | | ;; tell Org Babel which file the sed script to act on. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (defvar org-babel-sed-command "sed" |
| | | "Name of the sed executable command.") |
| | | |
| | | (defvar org-babel-tangle-lang-exts) |
| | | (add-to-list 'org-babel-tangle-lang-exts '("sed" . "sed")) |
| | | |
| | | (defconst org-babel-header-args:sed |
| | | '((:cmd-line . :any) |
| | | (:in-file . :any)) |
| | | "Sed specific header arguments.") |
| | | |
| | | (defvar org-babel-default-header-args:sed '() |
| | | "Default arguments for evaluating a sed source block.") |
| | | |
| | | (defun org-babel-execute:sed (body params) |
| | | "Execute a block of sed code with Org Babel. |
| | | BODY is the source inside a sed source block and PARAMS is an |
| | | association list over the source block configurations. This |
| | | function is called by `org-babel-execute-src-block'." |
| | | (message "executing sed source code block") |
| | | (let* ((result-params (cdr (assq :result-params params))) |
| | | (cmd-line (cdr (assq :cmd-line params))) |
| | | (in-file (cdr (assq :in-file params))) |
| | | (code-file (let ((file (org-babel-temp-file "sed-"))) |
| | | (with-temp-file file |
| | | (insert body)) file)) |
| | | (stdin (let ((stdin (cdr (assq :stdin params)))) |
| | | (when stdin |
| | | (let ((tmp (org-babel-temp-file "sed-stdin-")) |
| | | (res (org-babel-ref-resolve stdin))) |
| | | (with-temp-file tmp |
| | | (insert res)) |
| | | tmp)))) |
| | | (cmd (mapconcat #'identity |
| | | (remq nil |
| | | (list org-babel-sed-command |
| | | (format "-f \"%s\"" code-file) |
| | | cmd-line |
| | | in-file)) |
| | | " "))) |
| | | (org-babel-reassemble-table |
| | | (let ((results |
| | | (cond |
| | | (stdin (with-temp-buffer |
| | | (call-process-shell-command cmd stdin (current-buffer)) |
| | | (buffer-string))) |
| | | (t (org-babel-eval cmd ""))))) |
| | | (when results |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (let ((tmp (org-babel-temp-file "sed-results-"))) |
| | | (with-temp-file tmp (insert results)) |
| | | (org-babel-import-elisp-from-file tmp))))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (provide 'ob-sed) |
| | | ;;; ob-sed.el ends here |
New file |
| | |
| | | ;;; ob-shell.el --- Babel Functions for Shell Evaluation -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating shell source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'shell) |
| | | (require 'cl-lib) |
| | | |
| | | (declare-function org-babel-comint-in-buffer "ob-comint" (buffer &rest body) |
| | | t) |
| | | (declare-function org-babel-comint-wait-for-output "ob-comint" (buffer)) |
| | | (declare-function org-babel-comint-buffer-livep "ob-comint" (buffer)) |
| | | (declare-function org-babel-comint-with-output "ob-comint" (meta &rest body) |
| | | t) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function orgtbl-to-generic "org-table" (table params)) |
| | | |
| | | (defvar org-babel-default-header-args:shell '()) |
| | | (defvar org-babel-shell-names) |
| | | |
| | | (defun org-babel-shell-initialize () |
| | | "Define execution functions associated to shell names. |
| | | This function has to be called whenever `org-babel-shell-names' |
| | | is modified outside the Customize interface." |
| | | (interactive) |
| | | (dolist (name org-babel-shell-names) |
| | | (eval `(defun ,(intern (concat "org-babel-execute:" name)) |
| | | (body params) |
| | | ,(format "Execute a block of %s commands with Babel." name) |
| | | (let ((shell-file-name ,name)) |
| | | (org-babel-execute:shell body params)))) |
| | | (eval `(defalias ',(intern (concat "org-babel-variable-assignments:" name)) |
| | | 'org-babel-variable-assignments:shell |
| | | ,(format "Return list of %s statements assigning to the block's \ |
| | | variables." |
| | | name))))) |
| | | |
| | | (defcustom org-babel-shell-names |
| | | '("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh") |
| | | "List of names of shell supported by babel shell code blocks. |
| | | Call `org-babel-shell-initialize' when modifying this variable |
| | | outside the Customize interface." |
| | | :group 'org-babel |
| | | :type '(repeat (string :tag "Shell name: ")) |
| | | :set (lambda (symbol value) |
| | | (set-default symbol value) |
| | | (org-babel-shell-initialize))) |
| | | |
| | | (defun org-babel-execute:shell (body params) |
| | | "Execute a block of Shell commands with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((session (org-babel-sh-initiate-session |
| | | (cdr (assq :session params)))) |
| | | (stdin (let ((stdin (cdr (assq :stdin params)))) |
| | | (when stdin (org-babel-sh-var-to-string |
| | | (org-babel-ref-resolve stdin))))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (full-body (org-babel-expand-body:generic |
| | | body params (org-babel-variable-assignments:shell params)))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-sh-evaluate session full-body params stdin cmdline) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))) |
| | | |
| | | (defun org-babel-prep-session:shell (session params) |
| | | "Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (let* ((session (org-babel-sh-initiate-session session)) |
| | | (var-lines (org-babel-variable-assignments:shell params))) |
| | | (org-babel-comint-in-buffer session |
| | | (mapc (lambda (var) |
| | | (insert var) (comint-send-input nil t) |
| | | (org-babel-comint-wait-for-output session)) var-lines)) |
| | | session)) |
| | | |
| | | (defun org-babel-load-session:shell (session body params) |
| | | "Load BODY into SESSION." |
| | | (save-window-excursion |
| | | (let ((buffer (org-babel-prep-session:shell session params))) |
| | | (with-current-buffer buffer |
| | | (goto-char (process-mark (get-buffer-process (current-buffer)))) |
| | | (insert (org-babel-chomp body))) |
| | | buffer))) |
| | | |
| | | |
| | | ;;; Helper functions |
| | | (defun org-babel--variable-assignments:sh-generic |
| | | (varname values &optional sep hline) |
| | | "Returns a list of statements declaring the values as a generic variable." |
| | | (format "%s=%s" varname (org-babel-sh-var-to-sh values sep hline))) |
| | | |
| | | (defun org-babel--variable-assignments:bash_array |
| | | (varname values &optional sep hline) |
| | | "Returns a list of statements declaring the values as a bash array." |
| | | (format "unset %s\ndeclare -a %s=( %s )" |
| | | varname varname |
| | | (mapconcat |
| | | (lambda (value) (org-babel-sh-var-to-sh value sep hline)) |
| | | values |
| | | " "))) |
| | | |
| | | (defun org-babel--variable-assignments:bash_assoc |
| | | (varname values &optional sep hline) |
| | | "Returns a list of statements declaring the values as bash associative array." |
| | | (format "unset %s\ndeclare -A %s\n%s" |
| | | varname varname |
| | | (mapconcat |
| | | (lambda (items) |
| | | (format "%s[%s]=%s" |
| | | varname |
| | | (org-babel-sh-var-to-sh (car items) sep hline) |
| | | (org-babel-sh-var-to-sh (cdr items) sep hline))) |
| | | values |
| | | "\n"))) |
| | | |
| | | (defun org-babel--variable-assignments:bash (varname values &optional sep hline) |
| | | "Represents the parameters as useful Bash shell variables." |
| | | (pcase values |
| | | (`((,_ ,_ . ,_) . ,_) ;two-dimensional array |
| | | (org-babel--variable-assignments:bash_assoc varname values sep hline)) |
| | | (`(,_ . ,_) ;simple list |
| | | (org-babel--variable-assignments:bash_array varname values sep hline)) |
| | | (_ ;scalar value |
| | | (org-babel--variable-assignments:sh-generic varname values sep hline)))) |
| | | |
| | | (defun org-babel-variable-assignments:shell (params) |
| | | "Return list of shell statements assigning the block's variables." |
| | | (let ((sep (cdr (assq :separator params))) |
| | | (hline (when (string= "yes" (cdr (assq :hlines params))) |
| | | (or (cdr (assq :hline-string params)) |
| | | "hline")))) |
| | | (mapcar |
| | | (lambda (pair) |
| | | (if (string-suffix-p "bash" shell-file-name) |
| | | (org-babel--variable-assignments:bash |
| | | (car pair) (cdr pair) sep hline) |
| | | (org-babel--variable-assignments:sh-generic |
| | | (car pair) (cdr pair) sep hline))) |
| | | (org-babel--get-vars params)))) |
| | | |
| | | (defun org-babel-sh-var-to-sh (var &optional sep hline) |
| | | "Convert an elisp value to a shell variable. |
| | | Convert an elisp var into a string of shell commands specifying a |
| | | var of the same value." |
| | | (concat "'" (replace-regexp-in-string |
| | | "'" "'\"'\"'" |
| | | (org-babel-sh-var-to-string var sep hline)) |
| | | "'")) |
| | | |
| | | (defun org-babel-sh-var-to-string (var &optional sep hline) |
| | | "Convert an elisp value to a string." |
| | | (let ((echo-var (lambda (v) (if (stringp v) v (format "%S" v))))) |
| | | (cond |
| | | ((and (listp var) (or (listp (car var)) (eq (car var) 'hline))) |
| | | (orgtbl-to-generic var (list :sep (or sep "\t") :fmt echo-var |
| | | :hline hline))) |
| | | ((listp var) |
| | | (mapconcat echo-var var "\n")) |
| | | (t (funcall echo-var var))))) |
| | | |
| | | (defun org-babel-sh-initiate-session (&optional session _params) |
| | | "Initiate a session named SESSION according to PARAMS." |
| | | (when (and session (not (string= session "none"))) |
| | | (save-window-excursion |
| | | (or (org-babel-comint-buffer-livep session) |
| | | (progn |
| | | (shell session) |
| | | ;; Needed for Emacs 23 since the marker is initially |
| | | ;; undefined and the filter functions try to use it without |
| | | ;; checking. |
| | | (set-marker comint-last-output-start (point)) |
| | | (get-buffer (current-buffer))))))) |
| | | |
| | | (defvar org-babel-sh-eoe-indicator "echo 'org_babel_sh_eoe'" |
| | | "String to indicate that evaluation has completed.") |
| | | (defvar org-babel-sh-eoe-output "org_babel_sh_eoe" |
| | | "String to indicate that evaluation has completed.") |
| | | |
| | | (defun org-babel-sh-evaluate (session body &optional params stdin cmdline) |
| | | "Pass BODY to the Shell process in BUFFER. |
| | | If RESULT-TYPE equals `output' then return a list of the outputs |
| | | of the statements in BODY, if RESULT-TYPE equals `value' then |
| | | return the value of the last statement in BODY." |
| | | (let ((results |
| | | (cond |
| | | ((or stdin cmdline) ; external shell script w/STDIN |
| | | (let ((script-file (org-babel-temp-file "sh-script-")) |
| | | (stdin-file (org-babel-temp-file "sh-stdin-")) |
| | | (shebang (cdr (assq :shebang params))) |
| | | (padline (not (string= "no" (cdr (assq :padline params)))))) |
| | | (with-temp-file script-file |
| | | (when shebang (insert (concat shebang "\n"))) |
| | | (when padline (insert "\n")) |
| | | (insert body)) |
| | | (set-file-modes script-file #o755) |
| | | (with-temp-file stdin-file (insert (or stdin ""))) |
| | | (with-temp-buffer |
| | | (call-process-shell-command |
| | | (concat (if shebang script-file |
| | | (format "%s %s" shell-file-name script-file)) |
| | | (and cmdline (concat " " cmdline))) |
| | | stdin-file |
| | | (current-buffer)) |
| | | (buffer-string)))) |
| | | (session ; session evaluation |
| | | (mapconcat |
| | | #'org-babel-sh-strip-weird-long-prompt |
| | | (mapcar |
| | | #'org-trim |
| | | (butlast |
| | | (org-babel-comint-with-output |
| | | (session org-babel-sh-eoe-output t body) |
| | | (mapc |
| | | (lambda (line) |
| | | (insert line) |
| | | (comint-send-input nil t) |
| | | (while (save-excursion |
| | | (goto-char comint-last-input-end) |
| | | (not (re-search-forward |
| | | comint-prompt-regexp nil t))) |
| | | (accept-process-output |
| | | (get-buffer-process (current-buffer))))) |
| | | (append |
| | | (split-string (org-trim body) "\n") |
| | | (list org-babel-sh-eoe-indicator)))) |
| | | 2)) "\n")) |
| | | ('otherwise ; external shell script |
| | | (if (and (cdr (assq :shebang params)) |
| | | (> (length (cdr (assq :shebang params))) 0)) |
| | | (let ((script-file (org-babel-temp-file "sh-script-")) |
| | | (shebang (cdr (assq :shebang params))) |
| | | (padline (not (equal "no" (cdr (assq :padline params)))))) |
| | | (with-temp-file script-file |
| | | (when shebang (insert (concat shebang "\n"))) |
| | | (when padline (insert "\n")) |
| | | (insert body)) |
| | | (set-file-modes script-file #o755) |
| | | (org-babel-eval script-file "")) |
| | | (org-babel-eval shell-file-name (org-trim body))))))) |
| | | (when results |
| | | (let ((result-params (cdr (assq :result-params params)))) |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (let ((tmp-file (org-babel-temp-file "sh-"))) |
| | | (with-temp-file tmp-file (insert results)) |
| | | (org-babel-import-elisp-from-file tmp-file))))))) |
| | | |
| | | (defun org-babel-sh-strip-weird-long-prompt (string) |
| | | "Remove prompt cruft from a string of shell output." |
| | | (while (string-match "^% +[\r\n$]+ *" string) |
| | | (setq string (substring string (match-end 0)))) |
| | | string) |
| | | |
| | | (provide 'ob-shell) |
| | | |
| | | |
| | | |
| | | ;;; ob-shell.el ends here |
New file |
| | |
| | | ;;; ob-shen.el --- Babel Functions for Shen -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research, shen |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Currently this only works using session evaluation as there is no |
| | | ;; defined method for executing shen code outside of a session. |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - shen-mode and inf-shen will soon be available through the GNU |
| | | ;; elpa, however in the interim they are available at |
| | | ;; https://github.com/eschulte/shen-mode |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function shen-eval-defun "ext:inf-shen" (&optional and-go)) |
| | | (declare-function org-babel-ruby-var-to-ruby "ob-ruby" (var)) |
| | | |
| | | (defvar org-babel-default-header-args:shen '() |
| | | "Default header arguments for shen code blocks.") |
| | | |
| | | (defun org-babel-expand-body:shen (body params) |
| | | "Expand BODY according to PARAMS, return the expanded body." |
| | | (let ((vars (org-babel--get-vars params))) |
| | | (if (> (length vars) 0) |
| | | (concat "(let " |
| | | (mapconcat (lambda (var) |
| | | (format "%s %s" (car var) |
| | | (org-babel-shen-var-to-shen (cdr var)))) |
| | | vars " ") |
| | | body ")") |
| | | body))) |
| | | |
| | | (defun org-babel-shen-var-to-shen (var) |
| | | "Convert VAR into a shen variable." |
| | | (if (listp var) |
| | | (concat "[" (mapconcat #'org-babel-ruby-var-to-ruby var " ") "]") |
| | | (format "%S" var))) |
| | | |
| | | (defun org-babel-execute:shen (body params) |
| | | "Execute a block of Shen code with org-babel. |
| | | This function is called by `org-babel-execute-src-block'" |
| | | (require 'inf-shen) |
| | | (let* ((result-params (cdr (assq :result-params params))) |
| | | (full-body (org-babel-expand-body:shen body params))) |
| | | (let ((results |
| | | (with-temp-buffer |
| | | (insert full-body) |
| | | (call-interactively #'shen-eval-defun)))) |
| | | (org-babel-result-cond result-params |
| | | results |
| | | (condition-case nil (org-babel-script-escape results) |
| | | (error results)))))) |
| | | |
| | | (provide 'ob-shen) |
| | | ;;; ob-shen.el ends here |
New file |
| | |
| | | ;;; ob-sql.el --- Babel Functions for SQL -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating sql source code. |
| | | ;; (see also ob-sqlite.el) |
| | | ;; |
| | | ;; SQL is somewhat unique in that there are many different engines for |
| | | ;; the evaluation of sql (Mysql, PostgreSQL, etc...), so much of this |
| | | ;; file will have to be implemented engine by engine. |
| | | ;; |
| | | ;; Also SQL evaluation generally takes place inside of a database. |
| | | ;; |
| | | ;; Header args used: |
| | | ;; - engine |
| | | ;; - cmdline |
| | | ;; - dbhost |
| | | ;; - dbport |
| | | ;; - dbuser |
| | | ;; - dbpassword |
| | | ;; - database |
| | | ;; - colnames (default, nil, means "yes") |
| | | ;; - result-params |
| | | ;; - out-file |
| | | ;; |
| | | ;; The following are used but not really implemented for SQL: |
| | | ;; - colname-names |
| | | ;; - rownames |
| | | ;; - rowname-names |
| | | ;; |
| | | ;; Engines supported: |
| | | ;; - mysql |
| | | ;; - dbi |
| | | ;; - mssql |
| | | ;; - sqsh |
| | | ;; - postgresql |
| | | ;; - oracle |
| | | ;; - vertica |
| | | ;; |
| | | ;; TODO: |
| | | ;; |
| | | ;; - support for sessions |
| | | ;; - support for more engines |
| | | ;; - what's a reasonable way to drop table data into SQL? |
| | | ;; |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-table-import "org-table" (file arg)) |
| | | (declare-function orgtbl-to-csv "org-table" (table params)) |
| | | (declare-function org-table-to-lisp "org-table" (&optional txt)) |
| | | (declare-function cygwin-convert-file-name-to-windows "cygw32.c" (file &optional absolute-p)) |
| | | |
| | | (defvar org-babel-default-header-args:sql '()) |
| | | |
| | | (defconst org-babel-header-args:sql |
| | | '((engine . :any) |
| | | (out-file . :any) |
| | | (dbhost . :any) |
| | | (dbport . :any) |
| | | (dbuser . :any) |
| | | (dbpassword . :any) |
| | | (database . :any)) |
| | | "SQL-specific header arguments.") |
| | | |
| | | (defun org-babel-expand-body:sql (body params) |
| | | "Expand BODY according to the values of PARAMS." |
| | | (org-babel-sql-expand-vars |
| | | body (org-babel--get-vars params))) |
| | | |
| | | (defun org-babel-sql-dbstring-mysql (host port user password database) |
| | | "Make MySQL cmd line args for database connection. Pass nil to omit that arg." |
| | | (combine-and-quote-strings |
| | | (delq nil |
| | | (list (when host (concat "-h" host)) |
| | | (when port (format "-P%d" port)) |
| | | (when user (concat "-u" user)) |
| | | (when password (concat "-p" password)) |
| | | (when database (concat "-D" database)))))) |
| | | |
| | | (defun org-babel-sql-dbstring-postgresql (host port user database) |
| | | "Make PostgreSQL command line args for database connection. |
| | | Pass nil to omit that arg." |
| | | (combine-and-quote-strings |
| | | (delq nil |
| | | (list (when host (concat "-h" host)) |
| | | (when port (format "-p%d" port)) |
| | | (when user (concat "-U" user)) |
| | | (when database (concat "-d" database)))))) |
| | | |
| | | (defun org-babel-sql-dbstring-oracle (host port user password database) |
| | | "Make Oracle command line args for database connection." |
| | | (format "%s/%s@%s:%s/%s" user password host port database)) |
| | | |
| | | (defun org-babel-sql-dbstring-mssql (host user password database) |
| | | "Make sqlcmd command line args for database connection. |
| | | `sqlcmd' is the preferred command line tool to access Microsoft |
| | | SQL Server on Windows and Linux platform." |
| | | (mapconcat #'identity |
| | | (delq nil |
| | | (list (when host (format "-S \"%s\"" host)) |
| | | (when user (format "-U \"%s\"" user)) |
| | | (when password (format "-P \"%s\"" password)) |
| | | (when database (format "-d \"%s\"" database)))) |
| | | " ")) |
| | | |
| | | (defun org-babel-sql-dbstring-sqsh (host user password database) |
| | | "Make sqsh command line args for database connection. |
| | | \"sqsh\" is one method to access Sybase or MS SQL via Linux platform" |
| | | (mapconcat #'identity |
| | | (delq nil |
| | | (list (when host (format "-S \"%s\"" host)) |
| | | (when user (format "-U \"%s\"" user)) |
| | | (when password (format "-P \"%s\"" password)) |
| | | (when database (format "-D \"%s\"" database)))) |
| | | " ")) |
| | | |
| | | (defun org-babel-sql-dbstring-vertica (host port user password database) |
| | | "Make Vertica command line args for database connection. Pass nil to omit that arg." |
| | | (mapconcat #'identity |
| | | (delq nil |
| | | (list (when host (format "-h %s" host)) |
| | | (when port (format "-p %d" port)) |
| | | (when user (format "-U %s" user)) |
| | | (when password (format "-w %s" (shell-quote-argument password) )) |
| | | (when database (format "-d %s" database)))) |
| | | " ")) |
| | | |
| | | (defun org-babel-sql-convert-standard-filename (file) |
| | | "Convert FILE to OS standard file name. |
| | | If in Cygwin environment, uses Cygwin specific function to |
| | | convert the file name. In a Windows-NT environment, do nothing. |
| | | Otherwise, use Emacs' standard conversion function." |
| | | (cond ((fboundp 'cygwin-convert-file-name-to-windows) |
| | | (format "%S" (cygwin-convert-file-name-to-windows file))) |
| | | ((string= "windows-nt" system-type) file) |
| | | (t (format "%S" (convert-standard-filename file))))) |
| | | |
| | | (defun org-babel-execute:sql (body params) |
| | | "Execute a block of Sql code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let* ((result-params (cdr (assq :result-params params))) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (dbhost (cdr (assq :dbhost params))) |
| | | (dbport (cdr (assq :dbport params))) |
| | | (dbuser (cdr (assq :dbuser params))) |
| | | (dbpassword (cdr (assq :dbpassword params))) |
| | | (database (cdr (assq :database params))) |
| | | (engine (cdr (assq :engine params))) |
| | | (colnames-p (not (equal "no" (cdr (assq :colnames params))))) |
| | | (in-file (org-babel-temp-file "sql-in-")) |
| | | (out-file (or (cdr (assq :out-file params)) |
| | | (org-babel-temp-file "sql-out-"))) |
| | | (header-delim "") |
| | | (command (pcase (intern engine) |
| | | (`dbi (format "dbish --batch %s < %s | sed '%s' > %s" |
| | | (or cmdline "") |
| | | (org-babel-process-file-name in-file) |
| | | "/^+/d;s/^|//;s/(NULL)/ /g;$d" |
| | | (org-babel-process-file-name out-file))) |
| | | (`monetdb (format "mclient -f tab %s < %s > %s" |
| | | (or cmdline "") |
| | | (org-babel-process-file-name in-file) |
| | | (org-babel-process-file-name out-file))) |
| | | (`mssql (format "sqlcmd %s -s \"\t\" %s -i %s -o %s" |
| | | (or cmdline "") |
| | | (org-babel-sql-dbstring-mssql |
| | | dbhost dbuser dbpassword database) |
| | | (org-babel-sql-convert-standard-filename |
| | | (org-babel-process-file-name in-file)) |
| | | (org-babel-sql-convert-standard-filename |
| | | (org-babel-process-file-name out-file)))) |
| | | (`mysql (format "mysql %s %s %s < %s > %s" |
| | | (org-babel-sql-dbstring-mysql |
| | | dbhost dbport dbuser dbpassword database) |
| | | (if colnames-p "" "-N") |
| | | (or cmdline "") |
| | | (org-babel-process-file-name in-file) |
| | | (org-babel-process-file-name out-file))) |
| | | (`postgresql (format |
| | | "%spsql --set=\"ON_ERROR_STOP=1\" %s -A -P \ |
| | | footer=off -F \"\t\" %s -f %s -o %s %s" |
| | | (if dbpassword |
| | | (format "PGPASSWORD=%s " dbpassword) |
| | | "") |
| | | (if colnames-p "" "-t") |
| | | (org-babel-sql-dbstring-postgresql |
| | | dbhost dbport dbuser database) |
| | | (org-babel-process-file-name in-file) |
| | | (org-babel-process-file-name out-file) |
| | | (or cmdline ""))) |
| | | (`sqsh (format "sqsh %s %s -i %s -o %s -m csv" |
| | | (or cmdline "") |
| | | (org-babel-sql-dbstring-sqsh |
| | | dbhost dbuser dbpassword database) |
| | | (org-babel-sql-convert-standard-filename |
| | | (org-babel-process-file-name in-file)) |
| | | (org-babel-sql-convert-standard-filename |
| | | (org-babel-process-file-name out-file)))) |
| | | (`vertica (format "vsql %s -f %s -o %s %s" |
| | | (org-babel-sql-dbstring-vertica |
| | | dbhost dbport dbuser dbpassword database) |
| | | (org-babel-process-file-name in-file) |
| | | (org-babel-process-file-name out-file) |
| | | (or cmdline ""))) |
| | | (`oracle (format |
| | | "sqlplus -s %s < %s > %s" |
| | | (org-babel-sql-dbstring-oracle |
| | | dbhost dbport dbuser dbpassword database) |
| | | (org-babel-process-file-name in-file) |
| | | (org-babel-process-file-name out-file))) |
| | | (_ (error "No support for the %s SQL engine" engine))))) |
| | | (with-temp-file in-file |
| | | (insert |
| | | (pcase (intern engine) |
| | | (`dbi "/format partbox\n") |
| | | (`oracle "SET PAGESIZE 50000 |
| | | SET NEWPAGE 0 |
| | | SET TAB OFF |
| | | SET SPACE 0 |
| | | SET LINESIZE 9999 |
| | | SET ECHO OFF |
| | | SET FEEDBACK OFF |
| | | SET VERIFY OFF |
| | | SET HEADING ON |
| | | SET MARKUP HTML OFF SPOOL OFF |
| | | SET COLSEP '|' |
| | | |
| | | ") |
| | | ((or `mssql `sqsh) "SET NOCOUNT ON |
| | | |
| | | ") |
| | | (`vertica "\\a\n") |
| | | (_ "")) |
| | | (org-babel-expand-body:sql body params) |
| | | ;; "sqsh" requires "go" inserted at EOF. |
| | | (if (string= engine "sqsh") "\ngo" ""))) |
| | | (org-babel-eval command "") |
| | | (org-babel-result-cond result-params |
| | | (with-temp-buffer |
| | | (progn (insert-file-contents-literally out-file) (buffer-string))) |
| | | (with-temp-buffer |
| | | (cond |
| | | ((memq (intern engine) '(dbi mysql postgresql sqsh vertica)) |
| | | ;; Add header row delimiter after column-names header in first line |
| | | (cond |
| | | (colnames-p |
| | | (with-temp-buffer |
| | | (insert-file-contents out-file) |
| | | (goto-char (point-min)) |
| | | (forward-line 1) |
| | | (insert "-\n") |
| | | (setq header-delim "-") |
| | | (write-file out-file))))) |
| | | (t |
| | | ;; Need to figure out the delimiter for the header row |
| | | (with-temp-buffer |
| | | (insert-file-contents out-file) |
| | | (goto-char (point-min)) |
| | | (when (re-search-forward "^\\(-+\\)[^-]" nil t) |
| | | (setq header-delim (match-string-no-properties 1))) |
| | | (goto-char (point-max)) |
| | | (forward-char -1) |
| | | (while (looking-at "\n") |
| | | (delete-char 1) |
| | | (goto-char (point-max)) |
| | | (forward-char -1)) |
| | | (write-file out-file)))) |
| | | (org-table-import out-file (if (string= engine "sqsh") '(4) '(16))) |
| | | (org-babel-reassemble-table |
| | | (mapcar (lambda (x) |
| | | (if (string= (car x) header-delim) |
| | | 'hline |
| | | x)) |
| | | (org-table-to-lisp)) |
| | | (org-babel-pick-name (cdr (assq :colname-names params)) |
| | | (cdr (assq :colnames params))) |
| | | (org-babel-pick-name (cdr (assq :rowname-names params)) |
| | | (cdr (assq :rownames params)))))))) |
| | | |
| | | (defun org-babel-sql-expand-vars (body vars) |
| | | "Expand the variables held in VARS in BODY." |
| | | (mapc |
| | | (lambda (pair) |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (format "$%s" (car pair)) |
| | | (let ((val (cdr pair))) |
| | | (if (listp val) |
| | | (let ((data-file (org-babel-temp-file "sql-data-"))) |
| | | (with-temp-file data-file |
| | | (insert (orgtbl-to-csv |
| | | val '(:fmt (lambda (el) (if (stringp el) |
| | | el |
| | | (format "%S" el))))))) |
| | | data-file) |
| | | (if (stringp val) val (format "%S" val)))) |
| | | body))) |
| | | vars) |
| | | body) |
| | | |
| | | (defun org-babel-prep-session:sql (_session _params) |
| | | "Raise an error because Sql sessions aren't implemented." |
| | | (error "SQL sessions not yet implemented")) |
| | | |
| | | (provide 'ob-sql) |
| | | |
| | | |
| | | |
| | | ;;; ob-sql.el ends here |
New file |
| | |
| | | ;;; ob-sqlite.el --- Babel Functions for SQLite Databases -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2010-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating sqlite source code. |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | |
| | | (declare-function org-fill-template "org" (template alist)) |
| | | (declare-function org-table-convert-region "org-table" |
| | | (beg0 end0 &optional separator)) |
| | | (declare-function orgtbl-to-csv "org-table" (table params)) |
| | | (declare-function org-table-to-lisp "org-table" (&optional txt)) |
| | | |
| | | (defvar org-babel-default-header-args:sqlite '()) |
| | | |
| | | (defvar org-babel-header-args:sqlite |
| | | '((db . :any) |
| | | (header . :any) |
| | | (echo . :any) |
| | | (bail . :any) |
| | | (csv . :any) |
| | | (column . :any) |
| | | (html . :any) |
| | | (line . :any) |
| | | (list . :any) |
| | | (separator . :any) |
| | | (nullvalue . :any)) |
| | | "Sqlite specific header args.") |
| | | |
| | | (defun org-babel-expand-body:sqlite (body params) |
| | | "Expand BODY according to the values of PARAMS." |
| | | (org-babel-sqlite-expand-vars |
| | | body (org-babel--get-vars params))) |
| | | |
| | | (defvar org-babel-sqlite3-command "sqlite3") |
| | | |
| | | (defun org-babel-execute:sqlite (body params) |
| | | "Execute a block of Sqlite code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (let ((result-params (split-string (or (cdr (assq :results params)) ""))) |
| | | (db (cdr (assq :db params))) |
| | | (separator (cdr (assq :separator params))) |
| | | (nullvalue (cdr (assq :nullvalue params))) |
| | | (headers-p (equal "yes" (cdr (assq :colnames params)))) |
| | | (others (delq nil (mapcar |
| | | (lambda (arg) (car (assq arg params))) |
| | | (list :header :echo :bail :column |
| | | :csv :html :line :list))))) |
| | | (unless db (error "ob-sqlite: can't evaluate without a database")) |
| | | (with-temp-buffer |
| | | (insert |
| | | (org-babel-eval |
| | | (org-fill-template |
| | | "%cmd %header %separator %nullvalue %others %csv %db " |
| | | (list |
| | | (cons "cmd" org-babel-sqlite3-command) |
| | | (cons "header" (if headers-p "-header" "-noheader")) |
| | | (cons "separator" |
| | | (if separator (format "-separator %s" separator) "")) |
| | | (cons "nullvalue" |
| | | (if nullvalue (format "-nullvalue %s" nullvalue) "")) |
| | | (cons "others" |
| | | (mapconcat |
| | | (lambda (arg) (format "-%s" (substring (symbol-name arg) 1))) |
| | | others " ")) |
| | | ;; for easy table parsing, default header type should be -csv |
| | | (cons "csv" (if (or (member :csv others) (member :column others) |
| | | (member :line others) (member :list others) |
| | | (member :html others) separator) |
| | | "" |
| | | "-csv")) |
| | | (cons "db " db))) |
| | | ;; body of the code block |
| | | (org-babel-expand-body:sqlite body params))) |
| | | (org-babel-result-cond result-params |
| | | (buffer-string) |
| | | (if (equal (point-min) (point-max)) |
| | | "" |
| | | (org-table-convert-region (point-min) (point-max) |
| | | (if (or (member :csv others) |
| | | (member :column others) |
| | | (member :line others) |
| | | (member :list others) |
| | | (member :html others) separator) |
| | | nil |
| | | '(4))) |
| | | (org-babel-sqlite-table-or-scalar |
| | | (org-babel-sqlite-offset-colnames |
| | | (org-table-to-lisp) headers-p))))))) |
| | | |
| | | (defun org-babel-sqlite-expand-vars (body vars) |
| | | "Expand the variables held in VARS in BODY." |
| | | ;; FIXME: Redundancy with org-babel-sql-expand-vars! |
| | | (mapc |
| | | (lambda (pair) |
| | | (setq body |
| | | (replace-regexp-in-string |
| | | (format "$%s" (car pair)) |
| | | (let ((val (cdr pair))) |
| | | (if (listp val) |
| | | (let ((data-file (org-babel-temp-file "sqlite-data-"))) |
| | | (with-temp-file data-file |
| | | (insert (orgtbl-to-csv val nil))) |
| | | data-file) |
| | | (if (stringp val) val (format "%S" val)))) |
| | | body))) |
| | | vars) |
| | | body) |
| | | |
| | | (defun org-babel-sqlite-table-or-scalar (result) |
| | | "If RESULT looks like a trivial table, then unwrap it." |
| | | (if (and (equal 1 (length result)) |
| | | (equal 1 (length (car result)))) |
| | | (org-babel-read (caar result)) |
| | | (mapcar (lambda (row) |
| | | (if (eq 'hline row) |
| | | 'hline |
| | | (mapcar #'org-babel-string-read row))) result))) |
| | | |
| | | (defun org-babel-sqlite-offset-colnames (table headers-p) |
| | | "If HEADERS-P is non-nil then offset the first row as column names." |
| | | (if headers-p |
| | | (cons (car table) (cons 'hline (cdr table))) |
| | | table)) |
| | | |
| | | (defun org-babel-prep-session:sqlite (_session _params) |
| | | "Raise an error because support for SQLite sessions isn't implemented. |
| | | Prepare SESSION according to the header arguments specified in PARAMS." |
| | | (error "SQLite sessions not yet implemented")) |
| | | |
| | | (provide 'ob-sqlite) |
| | | |
| | | |
| | | |
| | | ;;; ob-sqlite.el ends here |
New file |
| | |
| | | ;;; ob-stan.el --- Babel Functions for Stan -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2015-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Kyle Meyer |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Org-Babel support for evaluating Stan [1] source code. |
| | | ;; |
| | | ;; Evaluating a Stan block can produce two different results. |
| | | ;; |
| | | ;; 1) Dump the source code contents to a file. |
| | | ;; |
| | | ;; This file can then be used as a variable in other blocks, which |
| | | ;; allows interfaces like RStan to use the model. |
| | | ;; |
| | | ;; 2) Compile the contents to a model file. |
| | | ;; |
| | | ;; This provides access to the CmdStan interface. To use this, set |
| | | ;; `org-babel-stan-cmdstan-directory' and provide a :file argument |
| | | ;; that does not end in ".stan". |
| | | ;; |
| | | ;; For more information and usage examples, visit |
| | | ;; https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html |
| | | ;; |
| | | ;; [1] http://mc-stan.org/ |
| | | |
| | | ;;; Code: |
| | | (require 'ob) |
| | | (require 'org-compat) |
| | | |
| | | (defcustom org-babel-stan-cmdstan-directory nil |
| | | "CmdStan source directory. |
| | | Call \"make\" from this directory to compile the Stan block. |
| | | When nil, executing Stan blocks dumps the content to a file." |
| | | :group 'org-babel |
| | | :type '(choice |
| | | (directory :tag "Compilation directory") |
| | | (const :tag "Dump to a file" nil))) |
| | | |
| | | (defvar org-babel-default-header-args:stan |
| | | '((:results . "file"))) |
| | | |
| | | (defun org-babel-execute:stan (body params) |
| | | "Generate Stan file from BODY according to PARAMS. |
| | | A :file header argument must be given. If |
| | | `org-babel-stan-cmdstan-directory' is non-nil and the file name |
| | | does not have a \".stan\" extension, save an intermediate |
| | | \".stan\" file and compile the block to the named file. |
| | | Otherwise, write the Stan code directly to the named file." |
| | | (let ((file (expand-file-name |
| | | (or (cdr (assq :file params)) |
| | | (user-error "Set :file argument to execute Stan blocks"))))) |
| | | (if (or (not org-babel-stan-cmdstan-directory) |
| | | (string-match-p "\\.stan\\'" file)) |
| | | (with-temp-file file (insert body)) |
| | | (with-temp-file (concat file ".stan") (insert body)) |
| | | (let ((default-directory org-babel-stan-cmdstan-directory)) |
| | | (call-process-shell-command (concat "make " file)))) |
| | | nil)) ; Signal that output has been written to file. |
| | | |
| | | (defun org-babel-prep-session:stan (_session _params) |
| | | "Return an error because Stan does not support sessions." |
| | | (user-error "Stan does not support sessions")) |
| | | |
| | | (provide 'ob-stan) |
| | | ;;; ob-stan.el ends here |
New file |
| | |
| | | ;;; ob-table.el --- Support for Calling Babel Functions from Tables -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Should allow calling functions from Org tables using the function |
| | | ;; `org-sbe' as so... |
| | | |
| | | ;; #+begin_src emacs-lisp :results silent |
| | | ;; (defun fibbd (n) (if (< n 2) 1 (+ (fibbd (- n 1)) (fibbd (- n 2))))) |
| | | ;; #+end_src |
| | | |
| | | ;; #+name: fibbd |
| | | ;; #+begin_src emacs-lisp :var n=2 :results silent |
| | | ;; (fibbd n) |
| | | ;; #+end_src |
| | | |
| | | ;; | original | fibbd | |
| | | ;; |----------+--------| |
| | | ;; | 0 | | |
| | | ;; | 1 | | |
| | | ;; | 2 | | |
| | | ;; | 3 | | |
| | | ;; | 4 | | |
| | | ;; | 5 | | |
| | | ;; | 6 | | |
| | | ;; | 7 | | |
| | | ;; | 8 | | |
| | | ;; | 9 | | |
| | | ;; #+TBLFM: $2='(org-sbe "fibbd" (n $1)) |
| | | |
| | | ;; NOTE: The quotation marks around the function name, 'fibbd' here, |
| | | ;; are optional. |
| | | |
| | | ;;; Code: |
| | | (require 'ob-core) |
| | | |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | (defun org-babel-table-truncate-at-newline (string) |
| | | "Replace newline character with ellipses. |
| | | If STRING ends in a newline character, then remove the newline |
| | | character and replace it with ellipses." |
| | | (if (and (stringp string) (string-match "[\n\r]\\(.\\)?" string)) |
| | | (concat (substring string 0 (match-beginning 0)) |
| | | (when (match-string 1 string) "...")) string)) |
| | | |
| | | (defmacro org-sbe (source-block &rest variables) |
| | | "Return the results of calling SOURCE-BLOCK with VARIABLES. |
| | | |
| | | Each element of VARIABLES should be a list of two elements: the |
| | | first element is the name of the variable and second element is a |
| | | string of its value. |
| | | |
| | | So this `org-sbe' construct |
| | | |
| | | (org-sbe \"source-block\" (n $2) (m 3)) |
| | | |
| | | is the equivalent of the following source code block: |
| | | |
| | | #+begin_src emacs-lisp :var results=source-block(n=val_at_col_2, m=3) :results silent |
| | | results |
| | | #+end_src |
| | | |
| | | NOTE: The quotation marks around the function name, |
| | | 'source-block', are optional. |
| | | |
| | | NOTE: By default, string variable names are interpreted as |
| | | references to source-code blocks, to force interpretation of a |
| | | cell's value as a string, prefix the identifier a \"$\" (e.g., |
| | | \"$$2\" instead of \"$2\" or \"$@2$2\" instead of \"@2$2\"). |
| | | |
| | | NOTE: It is also possible to pass header arguments to the code |
| | | block. In this case a table cell should hold the string value of |
| | | the header argument which can then be passed before all variables |
| | | as shown in the example below. |
| | | |
| | | | 1 | 2 | :file nothing.png | nothing.png | |
| | | #+TBLFM: @1$4=\\='(org-sbe test-sbe $3 (x $1) (y $2))" |
| | | (declare (debug (form form))) |
| | | (let* ((header-args (if (stringp (car variables)) (car variables) "")) |
| | | (variables (if (stringp (car variables)) (cdr variables) variables))) |
| | | (let* (quote |
| | | (variables |
| | | (mapcar |
| | | (lambda (var) |
| | | ;; ensure that all cells prefixed with $'s are strings |
| | | (cons (car var) |
| | | (delq nil (mapcar |
| | | (lambda (el) |
| | | (if (eq '$ el) |
| | | (prog1 nil (setq quote t)) |
| | | (prog1 |
| | | (cond |
| | | (quote (format "\"%s\"" el)) |
| | | ((stringp el) (org-no-properties el)) |
| | | (t el)) |
| | | (setq quote nil)))) |
| | | (cdr var))))) |
| | | variables))) |
| | | (unless (stringp source-block) |
| | | (setq source-block (symbol-name source-block))) |
| | | (let ((result |
| | | (if (and source-block (> (length source-block) 0)) |
| | | (let ((params |
| | | ;; FIXME: Why `eval'?!?!? |
| | | (eval `(org-babel-parse-header-arguments |
| | | (concat |
| | | ":var results=" |
| | | ,source-block |
| | | "[" ,header-args "]" |
| | | "(" |
| | | (mapconcat |
| | | (lambda (var-spec) |
| | | (if (> (length (cdr var-spec)) 1) |
| | | (format "%S='%S" |
| | | (car var-spec) |
| | | (mapcar #'read (cdr var-spec))) |
| | | (format "%S=%s" |
| | | (car var-spec) (cadr var-spec)))) |
| | | ',variables ", ") |
| | | ")"))))) |
| | | (org-babel-execute-src-block |
| | | nil (list "emacs-lisp" "results" params) |
| | | '((:results . "silent")))) |
| | | ""))) |
| | | (org-trim (if (stringp result) result (format "%S" result))))))) |
| | | |
| | | (provide 'ob-table) |
| | | |
| | | |
| | | |
| | | ;;; ob-table.el ends here |
New file |
| | |
| | | ;;; ob-tangle.el --- Extract Source Code From Org Files -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; Extract the code from source blocks out into raw source-code files. |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'cl-lib) |
| | | (require 'org-src) |
| | | (require 'org-macs) |
| | | |
| | | (declare-function make-directory "files" (dir &optional parents)) |
| | | (declare-function org-at-heading-p "org" (&optional ignored)) |
| | | (declare-function org-babel-update-block-body "ob-core" (new-body)) |
| | | (declare-function org-back-to-heading "org" (&optional invisible-ok)) |
| | | (declare-function org-before-first-heading-p "org" ()) |
| | | (declare-function org-element-at-point "org-element" ()) |
| | | (declare-function org-element-type "org-element" (element)) |
| | | (declare-function org-fill-template "org" (template alist)) |
| | | (declare-function org-heading-components "org" ()) |
| | | (declare-function org-in-commented-heading-p "org" (&optional no-inheritance)) |
| | | (declare-function org-link-escape "org" (text &optional table merge)) |
| | | (declare-function org-open-link-from-string "org" (s &optional arg reference-buffer)) |
| | | (declare-function org-remove-indentation "org" (code &optional n)) |
| | | (declare-function org-store-link "org" (arg)) |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | (declare-function outline-previous-heading "outline" ()) |
| | | (declare-function org-id-find "org-id" (id &optional markerp)) |
| | | |
| | | (defvar org-link-types-re) |
| | | |
| | | (defcustom org-babel-tangle-lang-exts |
| | | '(("emacs-lisp" . "el") |
| | | ("elisp" . "el")) |
| | | "Alist mapping languages to their file extensions. |
| | | The key is the language name, the value is the string that should |
| | | be inserted as the extension commonly used to identify files |
| | | written in this language. If no entry is found in this list, |
| | | then the name of the language is used." |
| | | :group 'org-babel-tangle |
| | | :version "24.1" |
| | | :type '(repeat |
| | | (cons |
| | | (string "Language name") |
| | | (string "File Extension")))) |
| | | |
| | | (defcustom org-babel-tangle-use-relative-file-links t |
| | | "Use relative path names in links from tangled source back the Org file." |
| | | :group 'org-babel-tangle |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-babel-post-tangle-hook nil |
| | | "Hook run in code files tangled by `org-babel-tangle'." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'hook) |
| | | |
| | | (defcustom org-babel-pre-tangle-hook '(save-buffer) |
| | | "Hook run at the beginning of `org-babel-tangle'." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'hook) |
| | | |
| | | (defcustom org-babel-tangle-body-hook nil |
| | | "Hook run over the contents of each code block body." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'hook) |
| | | |
| | | (defcustom org-babel-tangle-comment-format-beg "[[%link][%source-name]]" |
| | | "Format of inserted comments in tangled code files. |
| | | The following format strings can be used to insert special |
| | | information into the output using `org-fill-template'. |
| | | %start-line --- the line number at the start of the code block |
| | | %file --------- the file from which the code block was tangled |
| | | %link --------- Org style link to the code block |
| | | %source-name -- name of the code block |
| | | |
| | | Upon insertion the formatted comment will be commented out, and |
| | | followed by a newline. To inhibit this post-insertion processing |
| | | set the `org-babel-tangle-uncomment-comments' variable to a |
| | | non-nil value. |
| | | |
| | | Whether or not comments are inserted during tangling is |
| | | controlled by the :comments header argument." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-tangle-comment-format-end "%source-name ends here" |
| | | "Format of inserted comments in tangled code files. |
| | | The following format strings can be used to insert special |
| | | information into the output using `org-fill-template'. |
| | | %start-line --- the line number at the start of the code block |
| | | %file --------- the file from which the code block was tangled |
| | | %link --------- Org style link to the code block |
| | | %source-name -- name of the code block |
| | | |
| | | Upon insertion the formatted comment will be commented out, and |
| | | followed by a newline. To inhibit this post-insertion processing |
| | | set the `org-babel-tangle-uncomment-comments' variable to a |
| | | non-nil value. |
| | | |
| | | Whether or not comments are inserted during tangling is |
| | | controlled by the :comments header argument." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'string) |
| | | |
| | | (defcustom org-babel-tangle-uncomment-comments nil |
| | | "Inhibits automatic commenting and addition of trailing newline |
| | | of tangle comments. Use `org-babel-tangle-comment-format-beg' |
| | | and `org-babel-tangle-comment-format-end' to customize the format |
| | | of tangled comments." |
| | | :group 'org-babel |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-babel-process-comment-text 'org-remove-indentation |
| | | "Function called to process raw Org text collected to be |
| | | inserted as comments in tangled source-code files. The function |
| | | should take a single string argument and return a string |
| | | result. The default value is `org-remove-indentation'." |
| | | :group 'org-babel |
| | | :version "24.1" |
| | | :type 'function) |
| | | |
| | | (defun org-babel-find-file-noselect-refresh (file) |
| | | "Find file ensuring that the latest changes on disk are |
| | | represented in the file." |
| | | (find-file-noselect file 'nowarn) |
| | | (with-current-buffer (get-file-buffer file) |
| | | (revert-buffer t t t))) |
| | | |
| | | (defmacro org-babel-with-temp-filebuffer (file &rest body) |
| | | "Open FILE into a temporary buffer execute BODY there like |
| | | `progn', then kill the FILE buffer returning the result of |
| | | evaluating BODY." |
| | | (declare (indent 1)) |
| | | (let ((temp-path (make-symbol "temp-path")) |
| | | (temp-result (make-symbol "temp-result")) |
| | | (temp-file (make-symbol "temp-file")) |
| | | (visited-p (make-symbol "visited-p"))) |
| | | `(let* ((,temp-path ,file) |
| | | (,visited-p (get-file-buffer ,temp-path)) |
| | | ,temp-result ,temp-file) |
| | | (org-babel-find-file-noselect-refresh ,temp-path) |
| | | (setf ,temp-file (get-file-buffer ,temp-path)) |
| | | (with-current-buffer ,temp-file |
| | | (setf ,temp-result (progn ,@body))) |
| | | (unless ,visited-p (kill-buffer ,temp-file)) |
| | | ,temp-result))) |
| | | (def-edebug-spec org-babel-with-temp-filebuffer (form body)) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-tangle-file (file &optional target-file lang) |
| | | "Extract the bodies of source code blocks in FILE. |
| | | Source code blocks are extracted with `org-babel-tangle'. |
| | | Optional argument TARGET-FILE can be used to specify a default |
| | | export file for all source blocks. Optional argument LANG can be |
| | | used to limit the exported source code blocks by language. |
| | | Return a list whose CAR is the tangled file name." |
| | | (interactive "fFile to tangle: \nP") |
| | | (let ((visited-p (get-file-buffer (expand-file-name file))) |
| | | to-be-removed) |
| | | (prog1 |
| | | (save-window-excursion |
| | | (find-file file) |
| | | (setq to-be-removed (current-buffer)) |
| | | (mapcar #'expand-file-name (org-babel-tangle nil target-file lang))) |
| | | (unless visited-p |
| | | (kill-buffer to-be-removed))))) |
| | | |
| | | (defun org-babel-tangle-publish (_ filename pub-dir) |
| | | "Tangle FILENAME and place the results in PUB-DIR." |
| | | (unless (file-exists-p pub-dir) |
| | | (make-directory pub-dir t)) |
| | | (setq pub-dir (file-name-as-directory pub-dir)) |
| | | (mapc (lambda (el) (copy-file el pub-dir t)) (org-babel-tangle-file filename))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-babel-tangle (&optional arg target-file lang) |
| | | "Write code blocks to source-specific files. |
| | | Extract the bodies of all source code blocks from the current |
| | | file into their own source-specific files. |
| | | With one universal prefix argument, only tangle the block at point. |
| | | When two universal prefix arguments, only tangle blocks for the |
| | | tangle file of the block at point. |
| | | Optional argument TARGET-FILE can be used to specify a default |
| | | export file for all source blocks. Optional argument LANG can be |
| | | used to limit the exported source code blocks by language." |
| | | (interactive "P") |
| | | (run-hooks 'org-babel-pre-tangle-hook) |
| | | ;; Possibly Restrict the buffer to the current code block |
| | | (save-restriction |
| | | (save-excursion |
| | | (when (equal arg '(4)) |
| | | (let ((head (org-babel-where-is-src-block-head))) |
| | | (if head |
| | | (goto-char head) |
| | | (user-error "Point is not in a source code block")))) |
| | | (let ((block-counter 0) |
| | | (org-babel-default-header-args |
| | | (if target-file |
| | | (org-babel-merge-params org-babel-default-header-args |
| | | (list (cons :tangle target-file))) |
| | | org-babel-default-header-args)) |
| | | (tangle-file |
| | | (when (equal arg '(16)) |
| | | (or (cdr (assq :tangle (nth 2 (org-babel-get-src-block-info 'light)))) |
| | | (user-error "Point is not in a source code block")))) |
| | | path-collector) |
| | | (mapc ;; map over all languages |
| | | (lambda (by-lang) |
| | | (let* ((lang (car by-lang)) |
| | | (specs (cdr by-lang)) |
| | | (ext (or (cdr (assoc lang org-babel-tangle-lang-exts)) lang)) |
| | | (lang-f (intern |
| | | (concat |
| | | (or (and (cdr (assoc lang org-src-lang-modes)) |
| | | (symbol-name |
| | | (cdr (assoc lang org-src-lang-modes)))) |
| | | lang) |
| | | "-mode"))) |
| | | she-banged) |
| | | (mapc |
| | | (lambda (spec) |
| | | (let ((get-spec (lambda (name) (cdr (assoc name (nth 4 spec)))))) |
| | | (let* ((tangle (funcall get-spec :tangle)) |
| | | (she-bang (let ((sheb (funcall get-spec :shebang))) |
| | | (when (> (length sheb) 0) sheb))) |
| | | (tangle-mode (funcall get-spec :tangle-mode)) |
| | | (base-name (cond |
| | | ((string= "yes" tangle) |
| | | (file-name-sans-extension |
| | | (nth 1 spec))) |
| | | ((string= "no" tangle) nil) |
| | | ((> (length tangle) 0) tangle))) |
| | | (file-name (when base-name |
| | | ;; decide if we want to add ext to base-name |
| | | (if (and ext (string= "yes" tangle)) |
| | | (concat base-name "." ext) base-name)))) |
| | | (when file-name |
| | | ;; Possibly create the parent directories for file. |
| | | (let ((m (funcall get-spec :mkdirp)) |
| | | (fnd (file-name-directory file-name))) |
| | | (and m fnd (not (string= m "no")) |
| | | (make-directory fnd 'parents))) |
| | | ;; delete any old versions of file |
| | | (and (file-exists-p file-name) |
| | | (not (member file-name (mapcar #'car path-collector))) |
| | | (delete-file file-name)) |
| | | ;; drop source-block to file |
| | | (with-temp-buffer |
| | | (when (fboundp lang-f) (ignore-errors (funcall lang-f))) |
| | | (when (and she-bang (not (member file-name she-banged))) |
| | | (insert (concat she-bang "\n")) |
| | | (setq she-banged (cons file-name she-banged))) |
| | | (org-babel-spec-to-string spec) |
| | | ;; We avoid append-to-file as it does not work with tramp. |
| | | (let ((content (buffer-string))) |
| | | (with-temp-buffer |
| | | (when (file-exists-p file-name) |
| | | (insert-file-contents file-name)) |
| | | (goto-char (point-max)) |
| | | ;; Handle :padlines unless first line in file |
| | | (unless (or (string= "no" (cdr (assq :padline (nth 4 spec)))) |
| | | (= (point) (point-min))) |
| | | (insert "\n")) |
| | | (insert content) |
| | | (write-region nil nil file-name)))) |
| | | ;; if files contain she-bangs, then make the executable |
| | | (when she-bang |
| | | (unless tangle-mode (setq tangle-mode #o755))) |
| | | ;; update counter |
| | | (setq block-counter (+ 1 block-counter)) |
| | | (unless (assoc file-name path-collector) |
| | | (push (cons file-name tangle-mode) path-collector)))))) |
| | | specs))) |
| | | (if (equal arg '(4)) |
| | | (org-babel-tangle-single-block 1 t) |
| | | (org-babel-tangle-collect-blocks lang tangle-file))) |
| | | (message "Tangled %d code block%s from %s" block-counter |
| | | (if (= block-counter 1) "" "s") |
| | | (file-name-nondirectory |
| | | (buffer-file-name |
| | | (or (buffer-base-buffer) (current-buffer))))) |
| | | ;; run `org-babel-post-tangle-hook' in all tangled files |
| | | (when org-babel-post-tangle-hook |
| | | (mapc |
| | | (lambda (file) |
| | | (org-babel-with-temp-filebuffer file |
| | | (run-hooks 'org-babel-post-tangle-hook))) |
| | | (mapcar #'car path-collector))) |
| | | ;; set permissions on tangled files |
| | | (mapc (lambda (pair) |
| | | (when (cdr pair) (set-file-modes (car pair) (cdr pair)))) |
| | | path-collector) |
| | | (mapcar #'car path-collector))))) |
| | | |
| | | (defun org-babel-tangle-clean () |
| | | "Remove comments inserted by `org-babel-tangle'. |
| | | Call this function inside of a source-code file generated by |
| | | `org-babel-tangle' to remove all comments inserted automatically |
| | | by `org-babel-tangle'. Warning, this comment removes any lines |
| | | containing constructs which resemble Org file links or noweb |
| | | references." |
| | | (interactive) |
| | | (goto-char (point-min)) |
| | | (while (or (re-search-forward "\\[\\[file:.*\\]\\[.*\\]\\]" nil t) |
| | | (re-search-forward (org-babel-noweb-wrap) nil t)) |
| | | (delete-region (save-excursion (beginning-of-line 1) (point)) |
| | | (save-excursion (end-of-line 1) (forward-char 1) (point))))) |
| | | |
| | | (defvar org-stored-links) |
| | | (defvar org-bracket-link-regexp) |
| | | (defun org-babel-spec-to-string (spec) |
| | | "Insert SPEC into the current file. |
| | | |
| | | Insert the source-code specified by SPEC into the current source |
| | | code file. This function uses `comment-region' which assumes |
| | | that the appropriate major-mode is set. SPEC has the form: |
| | | |
| | | (start-line file link source-name params body comment)" |
| | | (pcase-let* |
| | | ((`(,start ,file ,link ,source ,info ,body ,comment) spec) |
| | | (comments (cdr (assq :comments info))) |
| | | (link? (or (string= comments "both") (string= comments "link") |
| | | (string= comments "yes") (string= comments "noweb"))) |
| | | (link-data `(("start-line" . ,(number-to-string start)) |
| | | ("file" . ,file) |
| | | ("link" . ,link) |
| | | ("source-name" . ,source))) |
| | | (insert-comment (lambda (text) |
| | | (when (and comments |
| | | (not (string= comments "no")) |
| | | (org-string-nw-p text)) |
| | | (if org-babel-tangle-uncomment-comments |
| | | ;; Plain comments: no processing. |
| | | (insert text) |
| | | ;; Ensure comments are made to be |
| | | ;; comments, and add a trailing newline. |
| | | ;; Also ignore invisible characters when |
| | | ;; commenting. |
| | | (comment-region |
| | | (point) |
| | | (progn (insert (org-no-properties text)) |
| | | (point))) |
| | | (end-of-line) |
| | | (insert "\n")))))) |
| | | (when comment (funcall insert-comment comment)) |
| | | (when link? |
| | | (funcall insert-comment |
| | | (org-fill-template |
| | | org-babel-tangle-comment-format-beg link-data))) |
| | | (insert body "\n") |
| | | (when link? |
| | | (funcall insert-comment |
| | | (org-fill-template |
| | | org-babel-tangle-comment-format-end link-data))))) |
| | | |
| | | (defun org-babel-tangle-collect-blocks (&optional language tangle-file) |
| | | "Collect source blocks in the current Org file. |
| | | Return an association list of source-code block specifications of |
| | | the form used by `org-babel-spec-to-string' grouped by language. |
| | | Optional argument LANGUAGE can be used to limit the collected |
| | | source code blocks by language. Optional argument TANGLE-FILE |
| | | can be used to limit the collected code blocks by target file." |
| | | (let ((counter 0) last-heading-pos blocks) |
| | | (org-babel-map-src-blocks (buffer-file-name) |
| | | (let ((current-heading-pos |
| | | (org-with-wide-buffer |
| | | (org-with-limited-levels (outline-previous-heading))))) |
| | | (if (eq last-heading-pos current-heading-pos) (cl-incf counter) |
| | | (setq counter 1) |
| | | (setq last-heading-pos current-heading-pos))) |
| | | (unless (org-in-commented-heading-p) |
| | | (let* ((info (org-babel-get-src-block-info 'light)) |
| | | (src-lang (nth 0 info)) |
| | | (src-tfile (cdr (assq :tangle (nth 2 info))))) |
| | | (unless (or (string= src-tfile "no") |
| | | (and tangle-file (not (equal tangle-file src-tfile))) |
| | | (and language (not (string= language src-lang)))) |
| | | ;; Add the spec for this block to blocks under its |
| | | ;; language. |
| | | (let ((by-lang (assoc src-lang blocks)) |
| | | (block (org-babel-tangle-single-block counter))) |
| | | (if by-lang (setcdr by-lang (cons block (cdr by-lang))) |
| | | (push (cons src-lang (list block)) blocks))))))) |
| | | ;; Ensure blocks are in the correct order. |
| | | (mapcar (lambda (b) (cons (car b) (nreverse (cdr b)))) blocks))) |
| | | |
| | | (defun org-babel-tangle-single-block (block-counter &optional only-this-block) |
| | | "Collect the tangled source for current block. |
| | | Return the list of block attributes needed by |
| | | `org-babel-tangle-collect-blocks'. When ONLY-THIS-BLOCK is |
| | | non-nil, return the full association list to be used by |
| | | `org-babel-tangle' directly." |
| | | (let* ((info (org-babel-get-src-block-info)) |
| | | (start-line |
| | | (save-restriction (widen) |
| | | (+ 1 (line-number-at-pos (point))))) |
| | | (file (buffer-file-name (buffer-base-buffer))) |
| | | (src-lang (nth 0 info)) |
| | | (params (nth 2 info)) |
| | | (extra (nth 3 info)) |
| | | (cref-fmt (or (and (string-match "-l \"\\(.+\\)\"" extra) |
| | | (match-string 1 extra)) |
| | | org-coderef-label-format)) |
| | | (link (let ((l (org-no-properties (org-store-link nil)))) |
| | | (and (string-match org-bracket-link-regexp l) |
| | | (match-string 1 l)))) |
| | | (source-name |
| | | (or (nth 4 info) |
| | | (format "%s:%d" |
| | | (or (ignore-errors (nth 4 (org-heading-components))) |
| | | "No heading") |
| | | block-counter))) |
| | | (expand-cmd (intern (concat "org-babel-expand-body:" src-lang))) |
| | | (assignments-cmd |
| | | (intern (concat "org-babel-variable-assignments:" src-lang))) |
| | | (body |
| | | ;; Run the tangle-body-hook. |
| | | (let ((body (if (org-babel-noweb-p params :tangle) |
| | | (org-babel-expand-noweb-references info) |
| | | (nth 1 info)))) |
| | | (with-temp-buffer |
| | | (insert |
| | | ;; Expand body in language specific manner. |
| | | (cond ((assq :no-expand params) body) |
| | | ((fboundp expand-cmd) (funcall expand-cmd body params)) |
| | | (t |
| | | (org-babel-expand-body:generic |
| | | body params (and (fboundp assignments-cmd) |
| | | (funcall assignments-cmd params)))))) |
| | | (when (string-match "-r" extra) |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward |
| | | (replace-regexp-in-string "%s" ".+" cref-fmt) nil t) |
| | | (replace-match ""))) |
| | | (run-hooks 'org-babel-tangle-body-hook) |
| | | (buffer-string)))) |
| | | (comment |
| | | (when (or (string= "both" (cdr (assq :comments params))) |
| | | (string= "org" (cdr (assq :comments params)))) |
| | | ;; From the previous heading or code-block end |
| | | (funcall |
| | | org-babel-process-comment-text |
| | | (buffer-substring |
| | | (max (condition-case nil |
| | | (save-excursion |
| | | (org-back-to-heading t) ; Sets match data |
| | | (match-end 0)) |
| | | (error (point-min))) |
| | | (save-excursion |
| | | (if (re-search-backward |
| | | org-babel-src-block-regexp nil t) |
| | | (match-end 0) |
| | | (point-min)))) |
| | | (point))))) |
| | | (result |
| | | (list start-line |
| | | (if org-babel-tangle-use-relative-file-links |
| | | (file-relative-name file) |
| | | file) |
| | | (if (and org-babel-tangle-use-relative-file-links |
| | | (string-match org-link-types-re link) |
| | | (string= (match-string 0 link) "file")) |
| | | (concat "file:" |
| | | (file-relative-name (match-string 1 link) |
| | | (file-name-directory |
| | | (cdr (assq :tangle params))))) |
| | | link) |
| | | source-name |
| | | params |
| | | (if org-src-preserve-indentation |
| | | (org-trim body t) |
| | | (org-trim (org-remove-indentation body))) |
| | | comment))) |
| | | (if only-this-block |
| | | (list (cons src-lang (list result))) |
| | | result))) |
| | | |
| | | (defun org-babel-tangle-comment-links (&optional info) |
| | | "Return a list of begin and end link comments for the code block at point." |
| | | (let ((link-data |
| | | `(("start-line" . ,(number-to-string |
| | | (org-babel-where-is-src-block-head))) |
| | | ("file" . ,(buffer-file-name)) |
| | | ("link" . ,(org-link-escape |
| | | (progn |
| | | (call-interactively #'org-store-link) |
| | | (org-no-properties (car (pop org-stored-links)))))) |
| | | ("source-name" . |
| | | ,(nth 4 (or info (org-babel-get-src-block-info 'light))))))) |
| | | (list (org-fill-template org-babel-tangle-comment-format-beg link-data) |
| | | (org-fill-template org-babel-tangle-comment-format-end link-data)))) |
| | | |
| | | ;; de-tangling functions |
| | | (defvar org-bracket-link-analytic-regexp) |
| | | (defun org-babel-detangle (&optional source-code-file) |
| | | "Propagate changes in source file back original to Org file. |
| | | This requires that code blocks were tangled with link comments |
| | | which enable the original code blocks to be found." |
| | | (interactive) |
| | | (save-excursion |
| | | (when source-code-file (find-file source-code-file)) |
| | | (goto-char (point-min)) |
| | | (let ((counter 0) new-body end) |
| | | (while (re-search-forward org-bracket-link-analytic-regexp nil t) |
| | | (when (re-search-forward |
| | | (concat " " (regexp-quote (match-string 5)) " ends here")) |
| | | (setq end (match-end 0)) |
| | | (forward-line -1) |
| | | (save-excursion |
| | | (when (setq new-body (org-babel-tangle-jump-to-org)) |
| | | (org-babel-update-block-body new-body))) |
| | | (setq counter (+ 1 counter))) |
| | | (goto-char end)) |
| | | (prog1 counter (message "Detangled %d code blocks" counter))))) |
| | | |
| | | (defun org-babel-tangle-jump-to-org () |
| | | "Jump from a tangled code file to the related Org mode file." |
| | | (interactive) |
| | | (let ((mid (point)) |
| | | start body-start end |
| | | target-buffer target-char link path block-name body) |
| | | (save-window-excursion |
| | | (save-excursion |
| | | (while (and (re-search-backward org-bracket-link-analytic-regexp nil t) |
| | | (not ; ever wider searches until matching block comments |
| | | (and (setq start (line-beginning-position)) |
| | | (setq body-start (line-beginning-position 2)) |
| | | (setq link (match-string 0)) |
| | | (setq path (match-string 3)) |
| | | (setq block-name (match-string 5)) |
| | | (save-excursion |
| | | (save-match-data |
| | | (re-search-forward |
| | | (concat " " (regexp-quote block-name) |
| | | " ends here") nil t) |
| | | (setq end (line-beginning-position)))))))) |
| | | (unless (and start (< start mid) (< mid end)) |
| | | (error "Not in tangled code")) |
| | | (setq body (buffer-substring body-start end))) |
| | | (when (string-match "::" path) |
| | | (setq path (substring path 0 (match-beginning 0)))) |
| | | (find-file (or (car (org-id-find path)) path)) |
| | | (setq target-buffer (current-buffer)) |
| | | ;; Go to the beginning of the relative block in Org file. |
| | | (org-open-link-from-string link) |
| | | (if (string-match "[^ \t\n\r]:\\([[:digit:]]+\\)" block-name) |
| | | (let ((n (string-to-number (match-string 1 block-name)))) |
| | | (if (org-before-first-heading-p) (goto-char (point-min)) |
| | | (org-back-to-heading t)) |
| | | ;; Do not skip the first block if it begins at point min. |
| | | (cond ((or (org-at-heading-p) |
| | | (not (eq (org-element-type (org-element-at-point)) |
| | | 'src-block))) |
| | | (org-babel-next-src-block n)) |
| | | ((= n 1)) |
| | | (t (org-babel-next-src-block (1- n))))) |
| | | (org-babel-goto-named-src-block block-name)) |
| | | (goto-char (org-babel-where-is-src-block-head)) |
| | | ;; Preserve location of point within the source code in tangled |
| | | ;; code file. |
| | | (forward-line 1) |
| | | (forward-char (- mid body-start)) |
| | | (setq target-char (point))) |
| | | (org-src-switch-to-buffer target-buffer t) |
| | | (goto-char target-char) |
| | | body)) |
| | | |
| | | (provide 'ob-tangle) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; ob-tangle.el ends here |
New file |
| | |
| | | ;;; ob-vala.el --- Babel functions for Vala evaluation -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2017-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Christian Garbs <mitch@cgarbs.de> |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;;; License: |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; ob-vala.el provides Babel support for the Vala language |
| | | ;; (see http://live.gnome.org/Vala for details) |
| | | |
| | | ;;; Requirements: |
| | | |
| | | ;; - Vala compiler binary (valac) |
| | | ;; - Vala development environment (Vala libraries etc.) |
| | | ;; |
| | | ;; vala-mode.el is nice to have for code formatting, but is not needed |
| | | ;; for ob-vala.el |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'ob) |
| | | |
| | | (declare-function org-trim "org" (s &optional keep-lead)) |
| | | |
| | | ;; File extension. |
| | | (add-to-list 'org-babel-tangle-lang-exts '("vala" . "vala")) |
| | | |
| | | ;; Header arguments empty by default. |
| | | (defvar org-babel-default-header-args:vala '()) |
| | | |
| | | (defcustom org-babel-vala-compiler "valac" |
| | | "Command used to compile a C source code file into an executable. |
| | | May be either a command in the path, like \"valac\" |
| | | or an absolute path name, like \"/usr/local/bin/valac\". |
| | | Parameters may be used like this: \"valac -v\"" |
| | | :group 'org-babel |
| | | :version "26.1" |
| | | :package-version '(Org . "9.1") |
| | | :type 'string) |
| | | |
| | | ;; This is the main function which is called to evaluate a code |
| | | ;; block. |
| | | ;; |
| | | ;; - run Vala compiler and create a binary in a temporary file |
| | | ;; - compiler/linker flags can be set via :flags header argument |
| | | ;; - if compilation succeeded, run the binary |
| | | ;; - commandline parameters to the binary can be set via :cmdline |
| | | ;; header argument |
| | | ;; - stdout will be parsed as RESULT (control via :result-params |
| | | ;; header argument) |
| | | ;; |
| | | ;; There is no session support because Vala is a compiled language. |
| | | ;; |
| | | ;; This function is heavily based on ob-C.el |
| | | (defun org-babel-execute:vala (body params) |
| | | "Execute a block of Vala code with Babel. |
| | | This function is called by `org-babel-execute-src-block'." |
| | | (message "executing Vala source code block") |
| | | (let* ((tmp-src-file (org-babel-temp-file |
| | | "vala-src-" |
| | | ".vala")) |
| | | (tmp-bin-file (org-babel-temp-file "vala-bin-" org-babel-exeext)) |
| | | (cmdline (cdr (assq :cmdline params))) |
| | | (flags (cdr (assq :flags params)))) |
| | | (with-temp-file tmp-src-file (insert body)) |
| | | (org-babel-eval |
| | | (format "%s %s -o %s %s" |
| | | org-babel-vala-compiler |
| | | (mapconcat #'identity |
| | | (if (listp flags) flags (list flags)) " ") |
| | | (org-babel-process-file-name tmp-bin-file) |
| | | (org-babel-process-file-name tmp-src-file)) "") |
| | | (when (file-executable-p tmp-bin-file) |
| | | (let ((results |
| | | (org-trim |
| | | (org-babel-eval |
| | | (concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))) |
| | | (org-babel-reassemble-table |
| | | (org-babel-result-cond (cdr (assq :result-params params)) |
| | | (org-babel-read results) |
| | | (let ((tmp-file (org-babel-temp-file "vala-"))) |
| | | (with-temp-file tmp-file (insert results)) |
| | | (org-babel-import-elisp-from-file tmp-file))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :colname-names params)) (cdr (assq :colnames params))) |
| | | (org-babel-pick-name |
| | | (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))))) |
| | | |
| | | (defun org-babel-prep-session:vala (_session _params) |
| | | "Prepare a session. |
| | | This function does nothing as Vala is a compiled language with no |
| | | support for sessions." |
| | | (error "Vala is a compiled language -- no support for sessions")) |
| | | |
| | | (provide 'ob-vala) |
| | | |
| | | ;;; ob-vala.el ends here |
New file |
| | |
| | | ;;; ob.el --- Working with Code Blocks in Org -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2009-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Authors: Eric Schulte |
| | | ;; Keywords: literate programming, reproducible research |
| | | ;; Homepage: https://orgmode.org |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Code: |
| | | (require 'org-macs) |
| | | (require 'org-compat) |
| | | (require 'ob-eval) |
| | | (require 'ob-core) |
| | | (require 'ob-comint) |
| | | (require 'ob-exp) |
| | | (require 'ob-keys) |
| | | (require 'ob-table) |
| | | (require 'ob-lob) |
| | | (require 'ob-ref) |
| | | (require 'ob-tangle) |
| | | |
| | | (provide 'ob) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; ob.el ends here |
New file |
| | |
| | | This is org, produced by makeinfo version 6.3 from org.texi.
This manual is for Org version 9.1.14 (release_9.1.14-1-g4931fc).
Copyright © 2004–2018 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being “A GNU Manual,” and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
“GNU Free Documentation License.”
(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
modify this GNU manual.”
INFO-DIR-SECTION Emacs editing modes
START-INFO-DIR-ENTRY
* Org Mode: (org). Outline-based notes management and organizer
END-INFO-DIR-ENTRY
File: org, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
Org Mode Manual
***************
This manual is for Org version 9.1.14 (release_9.1.14-1-g4931fc).
Copyright © 2004–2018 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being “A GNU Manual,” and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
“GNU Free Documentation License.”
(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and
modify this GNU manual.”
* Menu:
* Introduction:: Getting started
* Document structure:: A tree works like your brain
* Tables:: Pure magic for quick formatting
* Hyperlinks:: Notes in context
* TODO items:: Every tree branch can be a TODO item
* Tags:: Tagging headlines and matching sets of tags
* Properties and columns:: Storing information about an entry
* Dates and times:: Making items useful for planning
* Capture - Refile - Archive:: The ins and outs for projects
* Agenda views:: Collecting information into views
* Markup:: Prepare text for rich export
* Exporting:: Sharing and publishing notes
* Publishing:: Create a web site of linked Org files
* Working with source code:: Export, evaluate, and tangle code blocks
* Miscellaneous:: All the rest which did not fit elsewhere
* Hacking:: How to hack your way around
* MobileOrg:: Viewing and capture on a mobile device
* History and acknowledgments:: How Org came into being
* GNU Free Documentation License:: The license for this documentation.
* Main Index:: An index of Org’s concepts and features
* Key Index:: Key bindings and where they are described
* Command and Function Index:: Command names and some internal functions
* Variable Index:: Variables mentioned in the manual
— The Detailed Node Listing —
Introduction
* Summary:: Brief summary of what Org does
* Installation:: Installing Org
* Activation:: How to activate Org for certain buffers
* Feedback:: Bug reports, ideas, patches etc.
* Conventions:: Typesetting conventions in the manual
Document structure
* Outlines:: Org is based on Outline mode
* Headlines:: How to typeset Org tree headlines
* Visibility cycling:: Show and hide, much simplified
* Motion:: Jumping to other headlines
* Structure editing:: Changing sequence and level of headlines
* Sparse trees:: Matches embedded in context
* Plain lists:: Additional structure within an entry
* Drawers:: Tucking stuff away
* Blocks:: Folding blocks
* Footnotes:: How footnotes are defined in Org’s syntax
* Orgstruct mode:: Structure editing outside Org
* Org syntax:: Formal description of Org’s syntax
Visibility cycling
* Global and local cycling:: Cycling through various visibility states
* Initial visibility:: Setting the initial visibility state
* Catching invisible edits:: Preventing mistakes when editing invisible parts
Tables
* Built-in table editor:: Simple tables
* Column width and alignment:: Overrule the automatic settings
* Column groups:: Grouping to trigger vertical lines
* Orgtbl mode:: The table editor as minor mode
* The spreadsheet:: The table editor has spreadsheet capabilities
* Org-Plot:: Plotting from org tables
The spreadsheet
* References:: How to refer to another field or range
* Formula syntax for Calc:: Using Calc to compute stuff
* Formula syntax for Lisp:: Writing formulas in Emacs Lisp
* Durations and time values:: How to compute durations and time values
* Field and range formulas:: Formula for specific (ranges of) fields
* Column formulas:: Formulas valid for an entire column
* Lookup functions:: Lookup functions for searching tables
* Editing and debugging formulas:: Fixing formulas
* Updating the table:: Recomputing all dependent fields
* Advanced features:: Field and column names, parameters and automatic recalc
Hyperlinks
* Link format:: How links in Org are formatted
* Internal links:: Links to other places in the current file
* External links:: URL-like links to the world
* Handling links:: Creating, inserting and following
* Using links outside Org:: Linking from my C source code?
* Link abbreviations:: Shortcuts for writing complex links
* Search options:: Linking to a specific location
* Custom searches:: When the default search is not enough
Internal links
* Radio targets:: Make targets trigger links in plain text
TODO items
* TODO basics:: Marking and displaying TODO entries
* TODO extensions:: Workflow and assignments
* Progress logging:: Dates and notes for progress
* Priorities:: Some things are more important than others
* Breaking down tasks:: Splitting a task into manageable pieces
* Checkboxes:: Tick-off lists
Extended use of TODO keywords
* Workflow states:: From TODO to DONE in steps
* TODO types:: I do this, Fred does the rest
* Multiple sets in one file:: Mixing it all, and still finding your way
* Fast access to TODO states:: Single letter selection of a state
* Per-file keywords:: Different files, different requirements
* Faces for TODO keywords:: Highlighting states
* TODO dependencies:: When one task needs to wait for others
Progress logging
* Closing items:: When was this entry marked DONE?
* Tracking TODO state changes:: When did the status change?
* Tracking your habits:: How consistent have you been?
Tags
* Tag inheritance:: Tags use the tree structure of the outline
* Setting tags:: How to assign tags to a headline
* Tag hierarchy:: Create a hierarchy of tags
* Tag searches:: Searching for combinations of tags
Properties and columns
* Property syntax:: How properties are spelled out
* Special properties:: Access to other Org mode features
* Property searches:: Matching property values
* Property inheritance:: Passing values down the tree
* Column view:: Tabular viewing and editing
* Property API:: Properties for Lisp programmers
Column view
* Defining columns:: The COLUMNS format property
* Using column view:: How to create and use column view
* Capturing column view:: A dynamic block for column view
Defining columns
* Scope of column definitions:: Where defined, where valid?
* Column attributes:: Appearance and content of a column
Dates and times
* Timestamps:: Assigning a time to a tree entry
* Creating timestamps:: Commands which insert timestamps
* Deadlines and scheduling:: Planning your work
* Clocking work time:: Tracking how long you spend on a task
* Effort estimates:: Planning work effort in advance
* Timers:: Notes with a running timer
Creating timestamps
* The date/time prompt:: How Org mode helps you entering date and time
* Custom time format:: Making dates look different
Deadlines and scheduling
* Inserting deadline/schedule:: Planning items
* Repeated tasks:: Items that show up again and again
Clocking work time
* Clocking commands:: Starting and stopping a clock
* The clock table:: Detailed reports
* Resolving idle time:: Resolving time when you’ve been idle
Capture - Refile - Archive
* Capture:: Capturing new stuff
* Attachments:: Add files to tasks
* RSS feeds:: Getting input from RSS feeds
* Protocols:: External (e.g., Browser) access to Emacs and Org
* Refile and copy:: Moving/copying a tree from one place to another
* Archiving:: What to do with finished projects
Capture
* Setting up capture:: Where notes will be stored
* Using capture:: Commands to invoke and terminate capture
* Capture templates:: Define the outline of different note types
Capture templates
* Template elements:: What is needed for a complete template entry
* Template expansion:: Filling in information about time and context
* Templates in contexts:: Only show a template in a specific context
Protocols for external access
* store-link protocol:: Store a link, push URL to kill-ring.
* capture protocol:: Fill a buffer with external information.
* open-source protocol:: Edit published contents.
Archiving
* Moving subtrees:: Moving a tree to an archive file
* Internal archiving:: Switch off a tree but keep it in the file
Agenda views
* Agenda files:: Files being searched for agenda information
* Agenda dispatcher:: Keyboard access to agenda views
* Built-in agenda views:: What is available out of the box?
* Presentation and sorting:: How agenda items are prepared for display
* Agenda commands:: Remote editing of Org trees
* Custom agenda views:: Defining special searches and views
* Exporting agenda views:: Writing a view to a file
* Agenda column view:: Using column view for collected entries
The built-in agenda views
* Weekly/daily agenda:: The calendar page with current tasks
* Global TODO list:: All unfinished action items
* Matching tags and properties:: Structured information with fine-tuned search
* Search view:: Find entries by searching for text
* Stuck projects:: Find projects you need to review
Presentation and sorting
* Categories:: Not all tasks are equal
* Time-of-day specifications:: How the agenda knows the time
* Sorting agenda items:: The order of things
* Filtering/limiting agenda items:: Dynamically narrow the agenda
Custom agenda views
* Storing searches:: Type once, use often
* Block agenda:: All the stuff you need in a single buffer
* Setting options:: Changing the rules
Markup for rich export
* Paragraphs:: The basic unit of text
* Emphasis and monospace:: Bold, italic, etc.
* Horizontal rules:: Make a line
* Images and tables:: Images, tables and caption mechanism
* Literal examples:: Source code examples with special formatting
* Special symbols:: Greek letters and other symbols
* Subscripts and superscripts:: Simple syntax for raising/lowering text
* Embedded LaTeX:: LaTeX can be freely used inside Org documents
Embedded LaTeX
* LaTeX fragments:: Complex formulas made easy
* Previewing LaTeX fragments:: What will this snippet look like?
* CDLaTeX mode:: Speed up entering of formulas
Exporting
* The export dispatcher:: The main interface
* Export settings:: Common export settings
* Table of contents:: The if and where of the table of contents
* Include files:: Include additional files into a document
* Macro replacement:: Use macros to create templates
* Comment lines:: What will not be exported
* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
* Beamer export:: Exporting as a Beamer presentation
* HTML export:: Exporting to HTML
* LaTeX export:: Exporting to LaTeX, and processing to PDF
* Markdown export:: Exporting to Markdown
* OpenDocument Text export:: Exporting to OpenDocument Text
* Org export:: Exporting to Org
* Texinfo export:: Exporting to Texinfo
* iCalendar export:: Exporting to iCalendar
* Other built-in back-ends:: Exporting to a man page
* Advanced configuration:: Fine-tuning the export output
* Export in foreign buffers:: Author tables and lists in Org syntax
Beamer export
* Beamer export commands:: For creating Beamer documents.
* Beamer specific export settings:: For customizing Beamer export.
* Sectioning Frames and Blocks in Beamer:: For composing Beamer slides.
* Beamer specific syntax:: For using in Org documents.
* Editing support:: For using helper functions.
* A Beamer example:: A complete presentation.
HTML export
* HTML Export commands:: Invoking HTML export
* HTML Specific export settings:: Settings for HTML export
* HTML doctypes:: Exporting various (X)HTML flavors
* HTML preamble and postamble:: Inserting preamble and postamble
* Quoting HTML tags:: Using direct HTML in Org files
* Links in HTML export:: Interpreting and formatting links
* Tables in HTML export:: Formatting and modifying tables
* Images in HTML export:: Inserting figures with HTML output
* Math formatting in HTML export:: Handling math equations
* Text areas in HTML export:: Showing an alternate approach, an example
* CSS support:: Styling HTML output
* JavaScript support:: Folding scripting in the web browser
LaTeX export
* LaTeX export commands:: For producing LaTeX and PDF documents.
* LaTeX specific export settings:: Unique to this LaTeX back-end.
* LaTeX header and sectioning:: For file structure.
* Quoting LaTeX code:: Directly in the Org document.
* Tables in LaTeX export:: Attributes specific to tables.
* Images in LaTeX export:: Attributes specific to images.
* Plain lists in LaTeX export:: Attributes specific to lists.
* Source blocks in LaTeX export:: Attributes specific to source code blocks.
* Example blocks in LaTeX export:: Attributes specific to example blocks.
* Special blocks in LaTeX export:: Attributes specific to special blocks.
* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
OpenDocument Text export
* Pre-requisites for ODT export:: Required packages.
* ODT export commands:: Invoking export.
* ODT specific export settings:: Configuration options.
* Extending ODT export:: Producing ‘.doc’, ‘.pdf’ files.
* Applying custom styles:: Styling the output.
* Links in ODT export:: Handling and formatting links.
* Tables in ODT export:: Org table conversions.
* Images in ODT export:: Inserting images.
* Math formatting in ODT export:: Formatting LaTeX fragments.
* Labels and captions in ODT export:: Rendering objects.
* Literal examples in ODT export:: For source code and example blocks.
* Advanced topics in ODT export:: For power users.
Math formatting in ODT export
* Working with LaTeX math snippets:: Embedding in LaTeX format.
* Working with MathML or OpenDocument formula files:: Embedding in native format.
Advanced topics in ODT export
* Configuring a document converter:: Registering a document converter.
* Working with OpenDocument style files:: Exploring internals.
* Creating one-off styles:: Customizing styles, highlighting.
* Customizing tables in ODT export:: Defining table templates.
* Validating OpenDocument XML:: Debugging corrupted OpenDocument files.
Texinfo export
* Texinfo export commands:: Invoking commands.
* Texinfo specific export settings:: Setting the environment.
* Texinfo file header:: Generating the header.
* Texinfo title and copyright page:: Creating preamble pages.
* Info directory file:: Installing a manual in Info file hierarchy.
* Headings and sectioning structure:: Building document structure.
* Indices:: Creating indices.
* Quoting Texinfo code:: Incorporating literal Texinfo code.
* Plain lists in Texinfo export:: List attributes.
* Tables in Texinfo export:: Table attributes.
* Images in Texinfo export:: Image attributes.
* Special blocks in Texinfo export:: Special block attributes.
* A Texinfo example:: Processing Org to Texinfo.
Publishing
* Configuration:: Defining projects
* Uploading files:: How to get files up on the server
* Sample configuration:: Example projects
* Triggering publication:: Publication commands
Configuration
* Project alist:: The central configuration variable
* Sources and destinations:: From here to there
* Selecting files:: What files are part of the project?
* Publishing action:: Setting the function doing the publishing
* Publishing options:: Tweaking HTML/LaTeX export
* Publishing links:: Which links keep working after publishing?
* Sitemap:: Generating a list of all pages
* Generating an index:: An index that reaches across pages
Sample configuration
* Simple example:: One-component publishing
* Complex example:: A multi-component publishing example
Working with source code
* Structure of code blocks:: Code block syntax described
* Editing source code:: Language major-mode editing
* Exporting code blocks:: Export contents and/or results
* Extracting source code:: Create pure source code files
* Evaluating code blocks:: Place results of evaluation in the Org mode buffer
* Library of Babel:: Use and contribute to a library of useful code blocks
* Languages:: List of supported code block languages
* Header arguments:: Configure code block functionality
* Results of evaluation:: How evaluation results are handled
* Noweb reference syntax:: Literate programming in Org mode
* Key bindings and useful functions:: Work quickly with code blocks
* Batch execution:: Call functions from the command line
Header arguments
* Using header arguments:: Different ways to set header arguments
* Specific header arguments:: List of header arguments
Using header arguments
* System-wide header arguments:: Set globally, language-specific
* Language-specific header arguments:: Set in the Org file’s headers
* Header arguments in Org mode properties:: Set in the Org file
* Language-specific mode properties::
* Code block specific header arguments:: The most commonly used method
* Arguments in function calls:: The most specific level, takes highest priority
Specific header arguments
* var:: Pass arguments to ‘src’ code blocks
* results:: Specify results type; how to collect
* file:: Specify a path for output file
* file-desc:: Specify a description for file results
* file-ext:: Specify an extension for file output
* output-dir:: Specify a directory for output file
* dir:: Specify the default directory for code block execution
* exports:: Specify exporting code, results, both, none
* tangle:: Toggle tangling; or specify file name
* mkdirp:: Toggle for parent directory creation for target files during tangling
* comments:: Toggle insertion of comments in tangled code files
* padline:: Control insertion of padding lines in tangled code files
* no-expand:: Turn off variable assignment and noweb expansion during tangling
* session:: Preserve the state of code evaluation
* noweb:: Toggle expansion of noweb references
* noweb-ref:: Specify block’s noweb reference resolution target
* noweb-sep:: String to separate noweb references
* cache:: Avoid re-evaluating unchanged code blocks
* sep:: Delimiter for writing tabular results outside Org
* hlines:: Handle horizontal lines in tables
* colnames:: Handle column names in tables
* rownames:: Handle row names in tables
* shebang:: Make tangled files executable
* tangle-mode:: Set permission of tangled files
* eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
* post:: Post processing of results of code block evaluation
* prologue:: Text to prepend to body of code block
* epilogue:: Text to append to body of code block
Miscellaneous
* Completion:: M-<TAB> guesses completions
* Easy templates:: Quick insertion of structural elements
* Speed keys:: Electric commands at the beginning of a headline
* Code evaluation security:: Org mode files evaluate inline code
* Customization:: Adapting Org to changing tastes
* In-buffer settings:: Overview of the #+KEYWORDS
* The very busy C-c C-c key:: When in doubt, press C-c C-c
* Clean view:: Getting rid of leading stars in the outline
* TTY keys:: Using Org on a tty
* Interaction:: With other Emacs packages
* org-crypt:: Encrypting Org files
Interaction with other packages
* Cooperation:: Packages Org cooperates with
* Conflicts:: Packages that lead to conflicts
Hacking
* Hooks:: How to reach into Org’s internals
* Add-on packages:: Available extensions
* Adding hyperlink types:: New custom link types
* Adding export back-ends:: How to write new export back-ends
* Context-sensitive commands:: How to add functionality to such commands
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
* Dynamic blocks:: Automatically filled blocks
* Special agenda views:: Customized views
* Speeding up your agendas:: Tips on how to speed up your agendas
* Extracting agenda information:: Post-processing of agenda information
* Using the property API:: Writing programs that use entry properties
* Using the mapping API:: Mapping over all or selected entries
Tables and lists in arbitrary syntax
* Radio tables:: Sending and receiving radio tables
* A LaTeX example:: Step by step, almost a tutorial
* Translator functions:: Copy and modify
* Radio lists:: Sending and receiving lists
MobileOrg
* Setting up the staging area:: For the mobile device
* Pushing to MobileOrg:: Uploading Org files and agendas
* Pulling from MobileOrg:: Integrating captured and flagged items
File: org, Node: Introduction, Next: Document structure, Up: Top
1 Introduction
**************
* Menu:
* Summary:: Brief summary of what Org does
* Installation:: Installing Org
* Activation:: How to activate Org for certain buffers
* Feedback:: Bug reports, ideas, patches etc.
* Conventions:: Typesetting conventions in the manual
File: org, Node: Summary, Next: Installation, Up: Introduction
1.1 Summary
===========
Org is a mode for keeping notes, maintaining TODO lists, and project
planning with a fast and effective plain-text system. It also is an
authoring system with unique support for literate programming and
reproducible research.
Org is implemented on top of Outline mode, which makes it possible to
keep the content of large files well structured. Visibility cycling and
structure editing help to work with the tree. Tables are easily created
with a built-in table editor. Plain text URL-like links connect to
websites, emails, Usenet messages, BBDB entries, and any files related
to the projects.
Org develops organizational tasks around notes files that contain
lists or information about projects as plain text. Project planning and
task management makes use of metadata which is part of an outline node.
Based on this data, specific entries can be extracted in queries and
create dynamic agenda views that also integrate the Emacs calendar and
diary. Org can be used to implement many different project planning
schemes, such as David Allen’s GTD system.
Org files can serve as a single source authoring system with export
to many different formats such as HTML, LaTeX, Open Document, and
Markdown. New export backends can be derived from existing ones, or
defined from scratch.
Org files can include source code blocks, which makes Org uniquely
suited for authoring technical documents with code examples. Org source
code blocks are fully functional; they can be evaluated in place and
their results can be captured in the file. This makes it possible to
create a single file reproducible research compendium.
Org keeps simple things simple. When first fired up, it should feel
like a straightforward, easy to use outliner. Complexity is not
imposed, but a large amount of functionality is available when needed.
Org is a toolbox. Many users actually run only a (very personal)
fraction of Org’s capabilities, and know that there is more whenever
they need it.
All of this is achieved with strictly plain text files, the most
portable and future-proof file format. Org runs in Emacs. Emacs is one
of the most widely ported programs, so that Org mode is available on
every major platform.
There is a website for Org which provides links to the newest version
of Org, as well as additional information, frequently asked questions
(FAQ), links to tutorials, etc. This page is located at
<https://orgmode.org>.
An earlier version (7.3) of this manual is available as a paperback
book from Network Theory Ltd.
(http://www.network-theory.co.uk/org/manual/)
File: org, Node: Installation, Next: Activation, Prev: Summary, Up: Introduction
1.2 Installation
================
Org is part of recent distributions of GNU Emacs, so you normally don’t
need to install it. If, for one reason or another, you want to install
Org on top of this pre-packaged version, there are three ways to do it:
• By using Emacs package system.
• By downloading Org as an archive.
• By using Org’s git repository.
We strongly recommend to stick to a single installation method.
Using Emacs packaging system
............................
Recent Emacs distributions include a packaging system which lets you
install Elisp libraries. You can install Org with ‘M-x package-install
<RET> org’.
Important: you need to do this in a session where no ‘.org’ file has
been visited, i.e., where no Org built-in function have been loaded.
Otherwise autoload Org functions will mess up the installation.
Then, to make sure your Org configuration is taken into account,
initialize the package system with ‘(package-initialize)’ in your Emacs
init file before setting any Org option. If you want to use Org’s
package repository, check out the Org ELPA page
(https://orgmode.org/elpa.html).
Downloading Org as an archive
.............................
You can download Org latest release from Org’s website
(https://orgmode.org/). In this case, make sure you set the load-path
correctly in your Emacs init file:
(add-to-list 'load-path "~/path/to/orgdir/lisp")
The downloaded archive contains contributed libraries that are not
included in Emacs. If you want to use them, add the ‘contrib’ directory
to your load-path:
(add-to-list 'load-path "~/path/to/orgdir/contrib/lisp" t)
Optionally, you can compile the files and/or install them in your
system. Run ‘make help’ to list compilation and installation options.
Using Org’s git repository
..........................
You can clone Org’s repository and install Org like this:
$ cd ~/src/
$ git clone https://code.orgmode.org/bzg/org-mode.git
$ cd org-mode/
$ make autoloads
Note that in this case, ‘make autoloads’ is mandatory: it defines
Org’s version in ‘org-version.el’ and Org’s autoloads in
‘org-loaddefs.el’.
Remember to add the correct load-path as described in the method
above.
You can also compile with ‘make’, generate the documentation with
‘make doc’, create a local configuration with ‘make config’ and install
Org with ‘make install’. Please run ‘make help’ to get the list of
compilation/installation options.
For more detailed explanations on Org’s build system, please check
the Org Build System page on Worg
(https://orgmode.org/worg/dev/org-build-system.html).
File: org, Node: Activation, Next: Feedback, Prev: Installation, Up: Introduction
1.3 Activation
==============
Org mode buffers need font-lock to be turned on: this is the default in
Emacs(1).
There are compatibility issues between Org mode and some other Elisp
packages, please take the time to check the list (*note Conflicts::).
The four Org commands ‘org-store-link’, ‘org-capture’, ‘org-agenda’,
and ‘org-switchb’ should be accessible through global keys (i.e.,
anywhere in Emacs, not just in Org buffers). Here are suggested
bindings for these keys, please modify the keys to your own liking.
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-cb" 'org-switchb)
Files with the ‘.org’ extension use Org mode by default. To turn on
Org mode in a file that does not have the extension ‘.org’, make the
first line of a file look like this:
MY PROJECTS -*- mode: org; -*-
which will select Org mode for this buffer no matter what the file’s
name is. See also the variable ‘org-insert-mode-line-in-empty-file’.
Many commands in Org work on the region if the region is active. To
make use of this, you need to have ‘transient-mark-mode’ turned on,
which is the default. If you do not like ‘transient-mark-mode’, you can
create an active region by using the mouse to select a region, or
pressing ‘C-<SPC>’ twice before moving the cursor.
---------- Footnotes ----------
(1) If you don’t use font-lock globally, turn it on in Org buffer
with ‘(add-hook 'org-mode-hook 'turn-on-font-lock)’
File: org, Node: Feedback, Next: Conventions, Prev: Activation, Up: Introduction
1.4 Feedback
============
If you find problems with Org, or if you have questions, remarks, or
ideas about it, please mail to the Org mailing list
<emacs-orgmode@gnu.org>. You can subscribe to the list on this web page
(https://lists.gnu.org/mailman/listinfo/emacs-orgmode). If you are not
a member of the mailing list, your mail will be passed to the list after
a moderator has approved it(1).
For bug reports, please first try to reproduce the bug with the
latest version of Org available—if you are running an outdated version,
it is quite possible that the bug has been fixed already. If the bug
persists, prepare a report and provide as much information as possible,
including the version information of Emacs (‘M-x emacs-version <RET>’)
and Org (‘M-x org-version <RET>’), as well as the Org related setup in
the Emacs init file. The easiest way to do this is to use the command
M-x org-submit-bug-report <RET>
which will put all this information into an Emacs mail buffer so that
you only need to add your description. If you are not sending the Email
from within Emacs, please copy and paste the content into your Email
program.
Sometimes you might face a problem due to an error in your Emacs or
Org mode setup. Before reporting a bug, it is very helpful to start
Emacs with minimal customizations and reproduce the problem. Doing so
often helps you determine if the problem is with your customization or
with Org mode itself. You can start a typical minimal session with a
command like the example below.
$ emacs -Q -l /path/to/minimal-org.el
However if you are using Org mode as distributed with Emacs, a
minimal setup is not necessary. In that case it is sufficient to start
Emacs as ‘emacs -Q’. The ‘minimal-org.el’ setup file can have contents
as shown below.
;;; Minimal setup to load latest 'org-mode'
;; activate debugging
(setq debug-on-error t
debug-on-signal nil
debug-on-quit nil)
;; add latest org-mode to load path
(add-to-list 'load-path "/path/to/org-mode/lisp")
(add-to-list 'load-path "/path/to/org-mode/contrib/lisp" t)
If an error occurs, a backtrace can be very useful (see below on how
to create one). Often a small example file helps, along with clear
information about:
1. What exactly did you do?
2. What did you expect to happen?
3. What happened instead?
Thank you for helping to improve this program.
How to create a useful backtrace
................................
If working with Org produces an error with a message you don’t
understand, you may have hit a bug. The best way to report this is by
providing, in addition to what was mentioned above, a _backtrace_. This
is information from the built-in debugger about where and how the error
occurred. Here is how to produce a useful backtrace:
1. Reload uncompiled versions of all Org mode Lisp files. The
backtrace contains much more information if it is produced with
uncompiled code. To do this, use
C-u M-x org-reload <RET>
or select ‘Org -> Refresh/Reload -> Reload Org uncompiled’ from the
menu.
2. Go to the ‘Options’ menu and select ‘Enter Debugger on Error’.
3. Do whatever you have to do to hit the error. Don’t forget to
document the steps you take.
4. When you hit the error, a ‘*Backtrace*’ buffer will appear on the
screen. Save this buffer to a file (for example using ‘C-x C-w’)
and attach it to your bug report.
---------- Footnotes ----------
(1) Please consider subscribing to the mailing list, in order to
minimize the work the mailing list moderators have to do.
File: org, Node: Conventions, Prev: Feedback, Up: Introduction
1.5 Typesetting conventions used in this manual
===============================================
TODO keywords, tags, properties, etc.
.....................................
Org mainly uses three types of keywords: TODO keywords, tags and
property names. In this manual we use the following conventions:
‘TODO’
‘WAITING’
TODO keywords are written with all capitals, even if they are
user-defined.
‘boss’
‘ARCHIVE’
User-defined tags are written in lowercase; built-in tags with
special meaning are written with all capitals.
‘Release’
‘PRIORITY’
User-defined properties are capitalized; built-in properties with
special meaning are written with all capitals.
Moreover, Org uses option keywords (like ‘#+TITLE’ to set the title)
and environment keywords (like ‘#+BEGIN_EXPORT html’ to start a ‘HTML’
environment). They are written in uppercase in the manual to enhance
its readability, but you can use lowercase in your Org file.
Key bindings and commands
.........................
The manual suggests a few global key bindings, in particular ‘C-c a’ for
‘org-agenda’ and ‘C-c c’ for ‘org-capture’. These are only suggestions,
but the rest of the manual assumes that these key bindings are in place
in order to list commands by key access.
Also, the manual lists both the keys and the corresponding commands
for accessing a functionality. Org mode often uses the same key for
such keys has a generic name, like ‘org-metaright’. In the manual we
will, wherever possible, give the function that is internally called by
the generic command. For example, in the chapter on document structure,
‘M-<RIGHT>’ will be listed to call ‘org-do-demote’, while in the chapter
on tables, it will be listed to call ‘org-table-move-column-right’. If
you prefer, you can compile the manual without the command names by
unsetting the flag ‘cmdnames’ in ‘org.texi’.
File: org, Node: Document structure, Next: Tables, Prev: Introduction, Up: Top
2 Document structure
********************
Org is based on Outline mode and provides flexible commands to edit the
structure of the document.
* Menu:
* Outlines:: Org is based on Outline mode
* Headlines:: How to typeset Org tree headlines
* Visibility cycling:: Show and hide, much simplified
* Motion:: Jumping to other headlines
* Structure editing:: Changing sequence and level of headlines
* Sparse trees:: Matches embedded in context
* Plain lists:: Additional structure within an entry
* Drawers:: Tucking stuff away
* Blocks:: Folding blocks
* Footnotes:: How footnotes are defined in Org’s syntax
* Orgstruct mode:: Structure editing outside Org
* Org syntax:: Formal description of Org’s syntax
File: org, Node: Outlines, Next: Headlines, Up: Document structure
2.1 Outlines
============
Org is implemented on top of Outline mode. Outlines allow a document to
be organized in a hierarchical structure, which (at least for me) is the
best representation of notes and thoughts. An overview of this
structure is achieved by folding (hiding) large parts of the document to
show only the general document structure and the parts currently being
worked on. Org greatly simplifies the use of outlines by compressing
the entire show/hide functionality into a single command, ‘org-cycle’,
which is bound to the <TAB> key.
File: org, Node: Headlines, Next: Visibility cycling, Prev: Outlines, Up: Document structure
2.2 Headlines
=============
Headlines define the structure of an outline tree. The headlines in Org
start with one or more stars, on the left margin(1) (2). For example:
* Top level headline
** Second level
*** 3rd level
some text
*** 3rd level
more text
* Another top level headline
Note that a headline named after ‘org-footnote-section’, which defaults
to ‘Footnotes’, is considered as special. A subtree with this headline
will be silently ignored by exporting functions.
Some people find the many stars too noisy and would prefer an outline
that has whitespace followed by a single star as headline starters.
*note Clean view::, describes a setup to realize this.
An empty line after the end of a subtree is considered part of it and
will be hidden when the subtree is folded. However, if you leave at
least two empty lines, one empty line will remain visible after folding
the subtree, in order to structure the collapsed view. See the variable
‘org-cycle-separator-lines’ to modify this behavior.
---------- Footnotes ----------
(1) See the variables ‘org-special-ctrl-a/e’, ‘org-special-ctrl-k’,
and ‘org-ctrl-k-protect-subtree’ to configure special behavior of ‘C-a’,
‘C-e’, and ‘C-k’ in headlines.
(2) Clocking only works with headings indented less than 30 stars.
File: org, Node: Visibility cycling, Next: Motion, Prev: Headlines, Up: Document structure
2.3 Visibility cycling
======================
* Menu:
* Global and local cycling:: Cycling through various visibility states
* Initial visibility:: Setting the initial visibility state
* Catching invisible edits:: Preventing mistakes when editing invisible parts
File: org, Node: Global and local cycling, Next: Initial visibility, Up: Visibility cycling
2.3.1 Global and local cycling
Outlines make it possible to hide parts of the text in the buffer. Org
uses just two commands, bound to <TAB> and ‘S-<TAB>’ to change the
visibility in the buffer.
‘<TAB>’ (‘org-cycle’)
_Subtree cycling_: Rotate current subtree among the states
,-> FOLDED -> CHILDREN -> SUBTREE --.
'-----------------------------------'
The cursor must be on a headline for this to work(1).
‘S-<TAB>’ (‘org-global-cycle’)
C-u <TAB>
_Global cycling_: Rotate the entire buffer among the states
,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
'--------------------------------------'
When ‘S-<TAB>’ is called with a numeric prefix argument N, the
CONTENTS view up to headlines of level N will be shown. Note that
inside tables, ‘S-<TAB>’ jumps to the previous field.
You can run global cycling using <TAB> only if point is at the very
beginning of the buffer, but not on a headline, and
‘org-cycle-global-at-bob’ is set to a non-‘nil’ value.
‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
Switch back to the startup visibility of the buffer (*note Initial
visibility::).
‘C-u C-u C-u <TAB>’ (‘outline-show-all’)
Show all, including drawers.
‘C-c C-r’ (‘org-reveal’)
Reveal context around point, showing the current entry, the
following heading and the hierarchy above. Useful for working near
a location that has been exposed by a sparse tree command (*note
Sparse trees::) or an agenda command (*note Agenda commands::).
With a prefix argument show, on each level, all sibling headings.
With a double prefix argument, also show the entire subtree of the
parent.
‘C-c C-k’ (‘outline-show-branches’)
Expose all the headings of the subtree, CONTENTS view for just one
subtree.
‘C-c <TAB>’ (‘outline-show-children’)
Expose all direct children of the subtree. With a numeric prefix
argument N, expose all children down to level N.
‘C-c C-x b’ (‘org-tree-to-indirect-buffer’)
Show the current subtree in an indirect buffer(2). With a numeric
prefix argument N, go up to level N and then take that tree. If N
is negative then go up that many levels. With a ‘C-u’ prefix, do
not remove the previously used indirect buffer.
‘C-c C-x v’ (‘org-copy-visible’)
Copy the visible text in the region into the kill ring.
---------- Footnotes ----------
(1) see, however, the option ‘org-cycle-emulate-tab’.
(2) The indirect buffer (*note (emacs)Indirect Buffers::) will
contain the entire buffer, but will be narrowed to the current tree.
Editing the indirect buffer will also change the original buffer, but
without affecting visibility in that buffer.
File: org, Node: Initial visibility, Next: Catching invisible edits, Prev: Global and local cycling, Up: Visibility cycling
2.3.2 Initial visibility
When Emacs first visits an Org file, the global state is set to
OVERVIEW, i.e., only the top level headlines are visible(1). This can
be configured through the variable ‘org-startup-folded’, or on a
per-file basis by adding one of the following lines anywhere in the
buffer:
#+STARTUP: overview
#+STARTUP: content
#+STARTUP: showall
#+STARTUP: showeverything
Furthermore, any entries with a ‘VISIBILITY’ property (*note Properties
and columns::) will get their visibility adapted accordingly. Allowed
values for this property are ‘folded’, ‘children’, ‘content’, and ‘all’.
‘C-u C-u <TAB>’ (‘org-set-startup-visibility’)
Switch back to the startup visibility of the buffer, i.e., whatever
is requested by startup options and ‘VISIBILITY’ properties in
individual entries.
---------- Footnotes ----------
(1) When ‘org-agenda-inhibit-startup’ is non-‘nil’, Org will not
honor the default visibility state when first opening a file for the
agenda (*note Speeding up your agendas::).
File: org, Node: Catching invisible edits, Prev: Initial visibility, Up: Visibility cycling
2.3.3 Catching invisible edits
Sometimes you may inadvertently edit an invisible part of the buffer and
be confused on what has been edited and how to undo the mistake.
Setting ‘org-catch-invisible-edits’ to non-‘nil’ will help prevent this.
See the docstring of this option on how Org should catch invisible edits
and process them.
File: org, Node: Motion, Next: Structure editing, Prev: Visibility cycling, Up: Document structure
2.4 Motion
==========
The following commands jump to other headlines in the buffer.
‘C-c C-n’ (‘org-next-visible-heading’)
Next heading.
‘C-c C-p’ (‘org-previous-visible-heading’)
Previous heading.
‘C-c C-f’ (‘org-forward-same-level’)
Next heading same level.
‘C-c C-b’ (‘org-backward-same-level’)
Previous heading same level.
‘C-c C-u’ (‘outline-up-heading’)
Backward to higher level heading.
‘C-c C-j’ (‘org-goto’)
Jump to a different place without changing the current outline
visibility. Shows the document structure in a temporary buffer,
where you can use the following keys to find your destination:
<TAB> Cycle visibility.
<DOWN> / <UP> Next/previous visible headline.
<RET> Select this location.
/ Do a Sparse-tree search
The following keys work if you turn off ‘org-goto-auto-isearch’
n / p Next/previous visible headline.
f / b Next/previous headline same level.
u One level up.
0-9 Digit argument.
q Quit
See also the option ‘org-goto-interface’.
File: org, Node: Structure editing, Next: Sparse trees, Prev: Motion, Up: Document structure
2.5 Structure editing
=====================
‘M-<RET>’ (‘org-meta-return’)
Insert a new heading, item or row.
If the command is used at the _beginning_ of a line, and if there
is a heading or a plain list item (*note Plain lists::) at point,
the new heading/item is created _before_ the current line. When
used at the beginning of a regular line of text, turn that line
into a heading.
When this command is used in the middle of a line, the line is
split and the rest of the line becomes the new item or headline.
If you do not want the line to be split, customize
‘org-M-RET-may-split-line’.
Calling the command with a ‘C-u’ prefix unconditionally inserts a
new heading at the end of the current subtree, thus preserving its
contents. With a double ‘C-u C-u’ prefix, the new heading is
created at the end of the parent subtree instead.
‘C-<RET>’ (‘org-insert-heading-respect-content’)
Insert a new heading at the end of the current subtree.
‘M-S-<RET>’ (‘org-insert-todo-heading’)
Insert new TODO entry with same level as current heading. See also
the variable ‘org-treat-insert-todo-heading-as-state-change’.
‘C-S-<RET>’ (‘org-insert-todo-heading-respect-content’)
Insert new TODO entry with same level as current heading. Like
‘C-<RET>’, the new headline will be inserted after the current
subtree.
‘<TAB>’ (‘org-cycle’)
In a new entry with no text yet, the first <TAB> demotes the entry
to become a child of the previous one. The next <TAB> makes it a
parent, and so on, all the way to top level. Yet another <TAB>,
and you are back to the initial level.
‘M-<LEFT>’ (‘org-do-promote’)
Promote current heading by one level.
‘M-<RIGHT>’ (‘org-do-demote’)
Demote current heading by one level.
‘M-S-<LEFT>’ (‘org-promote-subtree’)
Promote the current subtree by one level.
‘M-S-<RIGHT>’ (‘org-demote-subtree’)
Demote the current subtree by one level.
‘M-<UP>’ (‘org-move-subtree-up’)
Move subtree up (swap with previous subtree of same level).
‘M-<DOWN>’ (‘org-move-subtree-down’)
Move subtree down (swap with next subtree of same level).
‘M-h’ (‘org-mark-element’)
Mark the element at point. Hitting repeatedly will mark subsequent
elements of the one just marked. E.g., hitting ‘M-h’ on a
paragraph will mark it, hitting ‘M-h’ immediately again will mark
the next one.
‘C-c @’ (‘org-mark-subtree’)
Mark the subtree at point. Hitting repeatedly will mark subsequent
subtrees of the same level than the marked subtree.
‘C-c C-x C-w’ (‘org-cut-subtree’)
Kill subtree, i.e., remove it from buffer but save in kill ring.
With a numeric prefix argument N, kill N sequential subtrees.
‘C-c C-x M-w’ (‘org-copy-subtree’)
Copy subtree to kill ring. With a numeric prefix argument N, copy
the N sequential subtrees.
‘C-c C-x C-y’ (‘org-paste-subtree’)
Yank subtree from kill ring. This does modify the level of the
subtree to make sure the tree fits in nicely at the yank position.
The yank level can also be specified with a numeric prefix
argument, or by yanking after a headline marker like ‘****’.
‘C-y’ (‘org-yank’)
Depending on the options ‘org-yank-adjusted-subtrees’ and
‘org-yank-folded-subtrees’, Org’s internal ‘yank’ command will
paste subtrees folded and in a clever way, using the same command
as ‘C-c C-x C-y’. With the default settings, no level adjustment
will take place, but the yanked tree will be folded unless doing so
would swallow text previously visible. Any prefix argument to this
command will force a normal ‘yank’ to be executed, with the prefix
passed along. A good way to force a normal yank is ‘C-u C-y’. If
you use ‘yank-pop’ after a yank, it will yank previous kill items
plainly, without adjustment and folding.
‘C-c C-x c’ (‘org-clone-subtree-with-time-shift’)
Clone a subtree by making a number of sibling copies of it. You
will be prompted for the number of copies to make, and you can also
specify if any timestamps in the entry should be shifted. This can
be useful, for example, to create a number of tasks related to a
series of lectures to prepare. For more details, see the docstring
of the command ‘org-clone-subtree-with-time-shift’.
‘C-c C-w’ (‘org-refile’)
Refile entry or region to a different location. *Note Refile and
copy::.
‘C-c ^’ (‘org-sort’)
Sort same-level entries. When there is an active region, all
entries in the region will be sorted. Otherwise the children of
the current headline are sorted. The command prompts for the
sorting method, which can be alphabetically, numerically, by time
(first timestamp with active preferred, creation time, scheduled
time, deadline time), by priority, by TODO keyword (in the sequence
the keywords have been defined in the setup) or by the value of a
property. Reverse sorting is possible as well. You can also
supply your own function to extract the sorting key. With a ‘C-u’
prefix, sorting will be case-sensitive.
‘C-x n s’ (‘org-narrow-to-subtree’)
Narrow buffer to current subtree.
‘C-x n b’ (‘org-narrow-to-block’)
Narrow buffer to current block.
‘C-x n w’ (‘widen’)
Widen buffer to remove narrowing.
‘C-c *’ (‘org-toggle-heading’)
Turn a normal line or plain list item into a headline (so that it
becomes a subheading at its location). Also turn a headline into a
normal line by removing the stars. If there is an active region,
turn all lines in the region into headlines. If the first line in
the region was an item, turn only the item lines into headlines.
Finally, if the first line is a headline, remove the stars from all
headlines in the region.
When there is an active region (Transient Mark mode), promotion and
demotion work on all headlines in the region. To select a region of
headlines, it is best to place both point and mark at the beginning of a
line, mark at the beginning of the first headline, and point at the line
just after the last headline to change. Note that when the cursor is
inside a table (*note Tables::), the Meta-Cursor keys have different
functionality.
File: org, Node: Sparse trees, Next: Plain lists, Prev: Structure editing, Up: Document structure
2.6 Sparse trees
================
An important feature of Org mode is the ability to construct _sparse
trees_ for selected information in an outline tree, so that the entire
document is folded as much as possible, but the selected information is
made visible along with the headline structure above it(1). Just try it
out and you will see immediately how it works.
Org mode contains several commands for creating such trees, all these
commands can be accessed through a dispatcher:
‘C-c /’ (‘org-sparse-tree’)
This prompts for an extra key to select a sparse-tree creating
command.
‘C-c / r’ or ‘C-c / /’ (‘org-occur’)
Prompts for a regexp and shows a sparse tree with all matches. If
the match is in a headline, the headline is made visible. If the
match is in the body of an entry, headline and body are made
visible. In order to provide minimal context, also the full
hierarchy of headlines above the match is shown, as well as the
headline following the match. Each match is also highlighted; the
highlights disappear when the buffer is changed by an editing
command(2), or by pressing ‘C-c C-c’. When called with a ‘C-u’
prefix argument, previous highlights are kept, so several calls to
this command can be stacked.
‘M-g n’ or ‘M-g M-n’ (‘next-error’)
Jump to the next sparse tree match in this buffer.
‘M-g p’ or ‘M-g M-p’ (‘previous-error’)
Jump to the previous sparse tree match in this buffer.
For frequently used sparse trees of specific search strings, you can use
the option ‘org-agenda-custom-commands’ to define fast keyboard access
to specific sparse trees. These commands will then be accessible
through the agenda dispatcher (*note Agenda dispatcher::). For example:
(setq org-agenda-custom-commands
'(("f" occur-tree "FIXME")))
will define the key ‘C-c a f’ as a shortcut for creating a sparse tree
matching the string ‘FIXME’.
The other sparse tree commands select headings based on TODO
keywords, tags, or properties and will be discussed later in this
manual.
To print a sparse tree, you can use the Emacs command
‘ps-print-buffer-with-faces’ which does not print invisible parts of the
document. Or you can use ‘C-c C-e C-v’ to export only the visible part
of the document and print the resulting file.
---------- Footnotes ----------
(1) See also the variable ‘org-show-context-detail’ to decide how
much context is shown around each match.
(2) This depends on the option ‘org-remove-highlights-with-change’
File: org, Node: Plain lists, Next: Drawers, Prev: Sparse trees, Up: Document structure
2.7 Plain lists
===============
Within an entry of the outline tree, hand-formatted lists can provide
additional structure. They also provide a way to create lists of
checkboxes (*note Checkboxes::). Org supports editing such lists, and
every exporter (*note Exporting::) can parse and format them.
Org knows ordered lists, unordered lists, and description lists.
• _Unordered_ list items start with ‘-’, ‘+’, or ‘*’(1) as bullets.
• _Ordered_ list items start with a numeral followed by either a
period or a right parenthesis(2), such as ‘1.’ or ‘1)’(3). If you
want a list to start with a different value (e.g., 20), start the
text of the item with ‘[@20]’(4). Those constructs can be used in
any item of the list in order to enforce a particular numbering.
• _Description_ list items are unordered list items, and contain the
separator ‘ :: ’ to distinguish the description _term_ from the
description.
Items belonging to the same list must have the same indentation on
the first line. In particular, if an ordered list reaches number ‘10.’,
then the 2–digit numbers must be written left-aligned with the other
numbers in the list. An item ends before the next line that is less or
equally indented than its bullet/number.
A list ends whenever every item has ended, which means before any
line less or equally indented than items at top level. It also ends
before two blank lines. In that case, all items are closed. Here is an
example:
** Lord of the Rings
My favorite scenes are (in this order)
1. The attack of the Rohirrim
2. Eowyn's fight with the witch king
+ this was already my favorite scene in the book
+ I really like Miranda Otto.
3. Peter Jackson being shot by Legolas
- on DVD only
He makes a really funny face when it happens.
But in the end, no individual scenes matter but the film as a whole.
Important actors in this film are:
- Elijah Wood :: He plays Frodo
- Sean Astin :: He plays Sam, Frodo's friend. I still remember
him very well from his role as Mikey Walsh in The Goonies.
Org supports these lists by tuning filling and wrapping commands to
deal with them correctly, and by exporting them properly (*note
Exporting::). Since indentation is what governs the structure of these
lists, many structural constructs like ‘#+BEGIN_...’ blocks can be
indented to signal that they belong to a particular item.
If you find that using a different bullet for a sub-list (than that
used for the current list-level) improves readability, customize the
variable ‘org-list-demote-modify-bullet’. To get a greater difference
of indentation between items and their sub-items, customize
‘org-list-indent-offset’.
The following commands act on items when the cursor is in the first
line of an item (the line with the bullet or number). Some of them
imply the application of automatic rules to keep list structure intact.
If some of these actions get in your way, configure
‘org-list-automatic-rules’ to disable them individually.
‘<TAB>’ (‘org-cycle’)
Items can be folded just like headline levels. Normally this works
only if the cursor is on a plain list item. For more details, see
the variable ‘org-cycle-include-plain-lists’. If this variable is
set to ‘integrate’, plain list items will be treated like low-level
headlines. The level of an item is then given by the indentation
of the bullet/number. Items are always subordinate to real
headlines, however; the hierarchies remain completely separated.
In a new item with no text yet, the first <TAB> demotes the item to
become a child of the previous one. Subsequent <TAB>s move the
item to meaningful levels in the list and eventually get it back to
its initial position.
‘M-<RET>’ (‘org-insert-heading’)
Insert new item at current level. With a prefix argument, force a
new heading (*note Structure editing::). If this command is used
in the middle of an item, that item is _split_ in two, and the
second part becomes the new item(5). If this command is executed
_before item’s body_, the new item is created _before_ the current
one.
‘M-S-<RET>’
Insert a new item with a checkbox (*note Checkboxes::).
‘S-up’
‘S-down’
Jump to the previous/next item in the current list(6), but only if
‘org-support-shift-select’ is off. If not, you can still use
paragraph jumping commands like ‘C-<UP>’ and ‘C-<DOWN>’ to quite
similar effect.
‘M-up’
‘M-down’
Move the item including subitems up/down(7) (swap with
previous/next item of same indentation). If the list is ordered,
renumbering is automatic.
‘M-left’
‘M-right’
Decrease/increase the indentation of an item, leaving children
alone.
‘M-S-<LEFT>’
‘M-S-<RIGHT>’
Decrease/increase the indentation of the item, including subitems.
Initially, the item tree is selected based on current indentation.
When these commands are executed several times in direct
succession, the initially selected region is used, even if the new
indentation would imply a different hierarchy. To use the new
hierarchy, break the command chain with a cursor motion or so.
As a special case, using this command on the very first item of a
list will move the whole list. This behavior can be disabled by
configuring ‘org-list-automatic-rules’. The global indentation of
a list has no influence on the text _after_ the list.
‘C-c C-c’
If there is a checkbox (*note Checkboxes::) in the item line,
toggle the state of the checkbox. In any case, verify bullets and
indentation consistency in the whole list.
‘C-c -’
Cycle the entire list level through the different itemize/enumerate
bullets (‘-’, ‘+’, ‘*’, ‘1.’, ‘1)’) or a subset of them, depending
on ‘org-plain-list-ordered-item-terminator’, the type of list, and
its indentation. With a numeric prefix argument N, select the Nth
bullet from this list. If there is an active region when calling
this, all selected lines are converted to list items. With a
prefix argument, selected text is changed into a single item. If
the first line already was a list item, any item marker will be
removed from the list. Finally, even without an active region, a
normal line will be converted into a list item.
‘C-c *’
Turn a plain list item into a headline (so that it becomes a
subheading at its location). *Note Structure editing::, for a
detailed explanation.
‘C-c C-*’
Turn the whole plain list into a subtree of the current heading.
Checkboxes (*note Checkboxes::) will become TODO (resp. DONE)
keywords when unchecked (resp. checked).
‘S-<LEFT>/<RIGHT>’
This command also cycles bullet styles when the cursor in on the
bullet or anywhere in an item line, details depending on
‘org-support-shift-select’.
‘C-c ^’
Sort the plain list. You will be prompted for the sorting method:
numerically, alphabetically, by time, by checked status for check
lists, or by a custom function.
---------- Footnotes ----------
(1) When using ‘*’ as a bullet, lines must be indented or they will
be seen as top-level headlines. Also, when you are hiding leading stars
to get a clean outline view, plain list items starting with a star may
be hard to distinguish from true headlines. In short: even though ‘*’
is supported, it may be better to not use it for plain list items.
(2) You can filter out any of them by configuring
‘org-plain-list-ordered-item-terminator’.
(3) You can also get ‘a.’, ‘A.’, ‘a)’ and ‘A)’ by configuring
‘org-list-allow-alphabetical’. To minimize confusion with normal text,
those are limited to one character only. Beyond that limit, bullets
will automatically fallback to numbers.
(4) If there’s a checkbox in the item, the cookie must be put
_before_ the checkbox. If you have activated alphabetical lists, you
can also use counters like ‘[@b]’.
(5) If you do not want the item to be split, customize the variable
‘org-M-RET-may-split-line’.
(6) If you want to cycle around items that way, you may customize
‘org-list-use-circular-motion’.
(7) See ‘org-list-use-circular-motion’ for a cyclic behavior.
File: org, Node: Drawers, Next: Blocks, Prev: Plain lists, Up: Document structure
2.8 Drawers
===========
Sometimes you want to keep information associated with an entry, but you
normally don’t want to see it. For this, Org mode has _drawers_. They
can contain anything but a headline and another drawer. Drawers look
like this:
** This is a headline
Still outside the drawer
:DRAWERNAME:
This is inside the drawer.
:END:
After the drawer.
You can interactively insert drawers at point by calling
‘org-insert-drawer’, which is bound to ‘C-c C-x d’. With an active
region, this command will put the region inside the drawer. With a
prefix argument, this command calls ‘org-insert-property-drawer’ and add
a property drawer right below the current headline. Completion over
drawer keywords is also possible using ‘M-<TAB>’(1).
Visibility cycling (*note Visibility cycling::) on the headline will
hide and show the entry, but keep the drawer collapsed to a single line.
In order to look inside the drawer, you need to move the cursor to the
drawer line and press <TAB> there. Org mode uses the ‘PROPERTIES’
drawer for storing properties (*note Properties and columns::), and you
can also arrange for state change notes (*note Tracking TODO state
changes::) and clock times (*note Clocking work time::) to be stored in
a drawer ‘LOGBOOK’. If you want to store a quick note in the LOGBOOK
drawer, in a similar way to state changes, use
‘C-c C-z’
Add a time-stamped note to the LOGBOOK drawer.
You can select the name of the drawers which should be exported with
‘org-export-with-drawers’. In that case, drawer contents will appear in
export output. Property drawers are not affected by this variable:
configure ‘org-export-with-properties’ instead.
---------- Footnotes ----------
(1) Many desktops intercept ‘M-<TAB>’ to switch windows. Use ‘C-M-i’
or ‘<ESC> <TAB>’ instead for completion (*note Completion::).
File: org, Node: Blocks, Next: Footnotes, Prev: Drawers, Up: Document structure
2.9 Blocks
==========
Org mode uses begin...end blocks for various purposes from including
source code examples (*note Literal examples::) to capturing time
logging information (*note Clocking work time::). These blocks can be
folded and unfolded by pressing <TAB> in the begin line. You can also
get all blocks folded at startup by configuring the option
‘org-hide-block-startup’ or on a per-file basis by using
#+STARTUP: hideblocks
#+STARTUP: nohideblocks
File: org, Node: Footnotes, Next: Orgstruct mode, Prev: Blocks, Up: Document structure
2.10 Footnotes
==============
Org mode supports the creation of footnotes.
A footnote is started by a footnote marker in square brackets in
column 0, no indentation allowed. It ends at the next footnote
definition, headline, or after two consecutive empty lines. The
footnote reference is simply the marker in square brackets, inside text.
Markers always start with ‘fn:’. For example:
The Org homepage[fn:1] now looks a lot better than it used to.
...
[fn:1] The link is: https://orgmode.org
Org mode extends the number-based syntax to _named_ footnotes and
optional inline definition. Here are the valid references:
‘[fn:name]’
A named footnote reference, where ‘name’ is a unique label word,
or, for simplicity of automatic creation, a number.
‘[fn::This is the inline definition of this footnote]’
A LaTeX-like anonymous footnote where the definition is given
directly at the reference point.
‘[fn:name:a definition]’
An inline definition of a footnote, which also specifies a name for
the note. Since Org allows multiple references to the same note,
you can then use ‘[fn:name]’ to create additional references.
Footnote labels can be created automatically, or you can create names
yourself. This is handled by the variable ‘org-footnote-auto-label’ and
its corresponding ‘#+STARTUP’ keywords. See the docstring of that
variable for details.
The following command handles footnotes:
‘C-c C-x f’
The footnote action command.
When the cursor is on a footnote reference, jump to the definition.
When it is at a definition, jump to the (first) reference.
Otherwise, create a new footnote. Depending on the option
‘org-footnote-define-inline’(1), the definition will be placed
right into the text as part of the reference, or separately into
the location determined by the option ‘org-footnote-section’.
When this command is called with a prefix argument, a menu of
additional options is offered:
s Sort the footnote definitions by reference sequence. During editing,
Org makes no effort to sort footnote definitions into a particular
sequence. If you want them sorted, use this command, which will
also move entries according to ‘org-footnote-section’. Automatic
sorting after each insertion/deletion can be configured using the
option ‘org-footnote-auto-adjust’.
r Renumber the simple ‘fn:N’ footnotes. Automatic renumbering
after each insertion/deletion can be configured using the option
‘org-footnote-auto-adjust’.
S Short for first ‘r’, then ‘s’ action.
n Normalize the footnotes by collecting all definitions (including
inline definitions) into a special section, and then numbering them
in sequence. The references will then also be numbers.
d Delete the footnote at point, and all definitions of and references
to it.
Depending on the variable ‘org-footnote-auto-adjust’(2),
renumbering and sorting footnotes can be automatic after each
insertion or deletion.
‘C-c C-c’
If the cursor is on a footnote reference, jump to the definition.
If it is a the definition, jump back to the reference. When called
at a footnote location with a prefix argument, offer the same menu
as ‘C-c C-x f’.
‘C-c C-o or mouse-1/2’
Footnote labels are also links to the corresponding
definition/reference, and you can use the usual commands to follow
these links.
‘C-c '’
‘C-c '’
Edit the footnote definition corresponding to the reference at
point in a separate window. The window can be closed by pressing
‘C-c '’.
---------- Footnotes ----------
(1) The corresponding in-buffer setting is: ‘#+STARTUP: fninline’ or
‘#+STARTUP: nofninline’
(2) the corresponding in-buffer options are ‘fnadjust’ and
‘nofnadjust’.
File: org, Node: Orgstruct mode, Next: Org syntax, Prev: Footnotes, Up: Document structure
2.11 The Orgstruct minor mode
=============================
If you like the intuitive way the Org mode structure editing and list
formatting works, you might want to use these commands in other modes
like Text mode or Mail mode as well. The minor mode ‘orgstruct-mode’
makes this possible. Toggle the mode with ‘M-x orgstruct-mode <RET>’,
or turn it on by default, for example in Message mode, with one of:
(add-hook 'message-mode-hook 'turn-on-orgstruct)
(add-hook 'message-mode-hook 'turn-on-orgstruct++)
When this mode is active and the cursor is on a line that looks to
Org like a headline or the first line of a list item, most structure
editing commands will work, even if the same keys normally have
is not in one of those special lines, Orgstruct mode lurks silently in
the shadows.
When you use ‘orgstruct++-mode’, Org will also export indentation and
autofill settings into that mode, and detect item context after the
first line of an item.
You can also use Org structure editing to fold and unfold headlines
in _any_ file, provided you defined ‘orgstruct-heading-prefix-regexp’:
the regular expression must match the local prefix to use before Org’s
headlines. For example, if you set this variable to ‘";; "’ in Emacs
Lisp files, you will be able to fold and unfold headlines in Emacs Lisp
commented lines. Some commands like ‘org-demote’ are disabled when the
prefix is set, but folding/unfolding will work correctly.
File: org, Node: Org syntax, Prev: Orgstruct mode, Up: Document structure
2.12 Org syntax
===============
A reference document providing a formal description of Org’s syntax is
available as a draft on Worg
(https://orgmode.org/worg/dev/org-syntax.html), written and maintained
by Nicolas Goaziou. It defines Org’s core internal concepts such as
‘headlines’, ‘sections’, ‘affiliated keywords’, ‘(greater) elements’ and
‘objects’. Each part of an Org file falls into one of the categories
above.
To explore the abstract structure of an Org buffer, run this in a
buffer:
M-: (org-element-parse-buffer) <RET>
It will output a list containing the buffer’s content represented as
an abstract structure. The export engine relies on the information
stored in this list. Most interactive commands (e.g., for structure
editing) also rely on the syntactic meaning of the surrounding context.
You can check syntax in your documents using ‘org-lint’ command.
File: org, Node: Tables, Next: Hyperlinks, Prev: Document structure, Up: Top
3 Tables
********
Org comes with a fast and intuitive table editor. Spreadsheet-like
calculations are supported using the Emacs ‘calc’ package (*note Calc:
(calc)Top.).
* Menu:
* Built-in table editor:: Simple tables
* Column width and alignment:: Overrule the automatic settings
* Column groups:: Grouping to trigger vertical lines
* Orgtbl mode:: The table editor as minor mode
* The spreadsheet:: The table editor has spreadsheet capabilities
* Org-Plot:: Plotting from org tables
File: org, Node: Built-in table editor, Next: Column width and alignment, Up: Tables
3.1 The built-in table editor
=============================
Org makes it easy to format tables in plain ASCII. Any line with ‘|’ as
the first non-whitespace character is considered part of a table. ‘|’
is also the column separator(1). A table might look like this:
| Name | Phone | Age |
|-------+-------+-----|
| Peter | 1234 | 17 |
| Anna | 4321 | 25 |
A table is re-aligned automatically each time you press <TAB> or
<RET> or ‘C-c C-c’ inside the table. <TAB> also moves to the next field
(<RET> to the next row) and creates new table rows at the end of the
table or before horizontal lines. The indentation of the table is set
by the first line. Any line starting with ‘|-’ is considered as a
horizontal separator line and will be expanded on the next re-align to
span the whole table width. So, to create the above table, you would
only type
|Name|Phone|Age|
|-
and then press <TAB> to align the table and start filling in fields.
Even faster would be to type ‘|Name|Phone|Age’ followed by ‘C-c <RET>’.
When typing text into a field, Org treats <DEL>, <Backspace>, and all
character keys in a special way, so that inserting and deleting avoids
shifting other fields. Also, when typing _immediately after the cursor
was moved into a new field with ‘<TAB>’, ‘S-<TAB>’ or ‘<RET>’_, the
field is automatically made blank. If this behavior is too
unpredictable for you, configure the option
‘org-table-auto-blank-field’.
Creation and conversion
.......................
‘C-c | (org-table-create-or-convert-from-region)’
Convert the active region to a table. If every line contains at
least one TAB character, the function assumes that the material is
tab separated. If every line contains a comma, comma-separated
values (CSV) are assumed. If not, lines are split at whitespace
into fields. You can use a prefix argument to force a specific
separator: ‘C-u’ forces CSV, ‘C-u C-u’ forces TAB, ‘C-u C-u C-u’
will prompt for a regular expression to match the separator, and a
numeric argument N indicates that at least N consecutive spaces, or
alternatively a TAB will be the separator.
If there is no active region, this command creates an empty Org
table. But it is easier just to start typing, like
‘|Name|Phone|Age <RET> |- <TAB>’.
Re-aligning and field motion
............................
‘C-c C-c (org-table-align)’
Re-align the table and don’t move to another field.
‘C-c <SPC> (org-table-blank-field)’
Blank the field at point.
‘<TAB> (org-table-next-field)’
Re-align the table, move to the next field. Creates a new row if
necessary.
‘S-<TAB> (org-table-previous-field)’
Re-align, move to previous field.
‘<RET> (org-table-next-row)’
Re-align the table and move down to next row. Creates a new row if
necessary. At the beginning or end of a line, <RET> still does
NEWLINE, so it can be used to split a table.
‘M-a (org-table-beginning-of-field)’
Move to beginning of the current table field, or on to the previous
field.
‘M-e (org-table-end-of-field)’
Move to end of the current table field, or on to the next field.
Column and row editing
......................
‘M-<LEFT> (org-table-move-column-left)’
‘M-<RIGHT> (org-table-move-column-right)’
Move the current column left/right.
‘M-S-<LEFT> (org-table-delete-column)’
Kill the current column.
‘M-S-<RIGHT> (org-table-insert-column)’
Insert a new column to the left of the cursor position.
‘M-<UP> (org-table-move-row-up)’
‘M-<DOWN> (org-table-move-row-down)’
Move the current row up/down.
‘M-S-<UP> (org-table-kill-row)’
Kill the current row or horizontal line.
‘M-S-<DOWN> (org-table-insert-row)’
Insert a new row above the current row. With a prefix argument,
the line is created below the current one.
‘C-c - (org-table-insert-hline)’
Insert a horizontal line below current row. With a prefix
argument, the line is created above the current line.
‘C-c <RET> (org-table-hline-and-move)’
Insert a horizontal line below current row, and move the cursor
into the row below that line.
‘C-c ^ (org-table-sort-lines)’
Sort the table lines in the region. The position of point
indicates the column to be used for sorting, and the range of lines
is the range between the nearest horizontal separator lines, or the
entire table. If point is before the first column, you will be
prompted for the sorting column. If there is an active region, the
mark specifies the first line and the sorting column, while point
should be in the last line to be included into the sorting. The
command prompts for the sorting type (alphabetically, numerically,
or by time). You can sort in normal or reverse order. You can
also supply your own key extraction and comparison functions. When
called with a prefix argument, alphabetic sorting will be
case-sensitive.
Regions
.......
‘C-c C-x M-w (org-table-copy-region)’
Copy a rectangular region from a table to a special clipboard.
Point and mark determine edge fields of the rectangle. If there is
no active region, copy just the current field. The process ignores
horizontal separator lines.
‘C-c C-x C-w (org-table-cut-region)’
Copy a rectangular region from a table to a special clipboard, and
blank all fields in the rectangle. So this is the “cut” operation.
‘C-c C-x C-y (org-table-paste-rectangle)’
Paste a rectangular region into a table. The upper left corner
ends up in the current field. All involved fields will be
overwritten. If the rectangle does not fit into the present table,
the table is enlarged as needed. The process ignores horizontal
separator lines.
‘M-<RET> (org-table-wrap-region)’
Split the current field at the cursor position and move the rest to
the line below. If there is an active region, and both point and
mark are in the same column, the text in the column is wrapped to
minimum width for the given number of lines. A numeric prefix
argument may be used to change the number of desired lines. If
there is no region, but you specify a prefix argument, the current
field is made blank, and the content is appended to the field
above.
Calculations
............
‘C-c + (org-table-sum)’
Sum the numbers in the current column, or in the rectangle defined
by the active region. The result is shown in the echo area and can
be inserted with ‘C-y’.
‘S-<RET> (org-table-copy-down)’
When current field is empty, copy from first non-empty field above.
When not empty, copy current field down to next row and move cursor
along with it. Depending on the option ‘org-table-copy-increment’,
integer field values will be incremented during copy. Integers
that are too large will not be incremented. Also, a ‘0’ prefix
argument temporarily disables the increment. This key is also used
by shift-selection and related modes (*note Conflicts::).
Miscellaneous
.............
‘C-c ` (org-table-edit-field)’
Edit the current field in a separate window. This is useful for
fields that are not fully visible (*note Column width and
alignment::). When called with a ‘C-u’ prefix, just make the full
field visible, so that it can be edited in place. When called with
two ‘C-u’ prefixes, make the editor window follow the cursor
through the table and always show the current field. The follow
mode exits automatically when the cursor leaves the table, or when
you repeat this command with ‘C-u C-u C-c `’.
‘M-x org-table-import <RET>’
Import a file as a table. The table should be TAB or whitespace
separated. Use, for example, to import a spreadsheet table or data
from a database, because these programs generally can write
TAB-separated text files. This command works by inserting the file
into the buffer and then converting the region to a table. Any
prefix argument is passed on to the converter, which uses it to
determine the separator.
‘C-c | (org-table-create-or-convert-from-region)’
Tables can also be imported by pasting tabular text into the Org
buffer, selecting the pasted text with ‘C-x C-x’ and then using the
‘C-c |’ command (see above under Creation and conversion).
‘M-x org-table-export <RET>’
Export the table, by default as a TAB-separated file. Use for data
exchange with, for example, spreadsheet or database programs. The
format used to export the file can be configured in the option
‘org-table-export-default-format’. You may also use properties
‘TABLE_EXPORT_FILE’ and ‘TABLE_EXPORT_FORMAT’ to specify the file
name and the format for table export in a subtree. Org supports
quite general formats for exported tables. The exporter format is
the same as the format used by Orgtbl radio tables, see *note
Translator functions::, for a detailed description.
---------- Footnotes ----------
(1) To insert a vertical bar into a table field, use ‘\vert’ or,
inside a word ‘abc\vert{}def’.
File: org, Node: Column width and alignment, Next: Column groups, Prev: Built-in table editor, Up: Tables
3.2 Column width and alignment
==============================
The width of columns is automatically determined by the table editor.
And also the alignment of a column is determined automatically from the
fraction of number-like versus non-number fields in the column.
Sometimes a single field or a few fields need to carry more text,
leading to inconveniently wide columns. Or maybe you want to make a
table with several columns having a fixed width, regardless of content.
To set the width of a column, one field anywhere in the column may
contain just the string ‘<N>’ where ‘N’ is an integer specifying the
width of the column in characters. The next re-align will then set the
width of this column to this value.
|---+------------------------------| |---+--------|
| | | | | <6> |
| 1 | one | | 1 | one |
| 2 | two | ----\ | 2 | two |
| 3 | This is a long chunk of text | ----/ | 3 | This=> |
| 4 | four | | 4 | four |
|---+------------------------------| |---+--------|
Fields that are wider become clipped and end in the string ‘=>’. Note
that the full text is still in the buffer but is hidden. To see the
full text, hold the mouse over the field—a tool-tip window will show the
full content. To edit such a field, use the command ‘C-c `’ (that is
‘C-c’ followed by the grave accent). This will open a new window with
the full field. Edit it and finish with ‘C-c C-c’.
When visiting a file containing a table with narrowed columns, the
necessary character hiding has not yet happened, and the table needs to
be aligned before it looks nice. Setting the option
‘org-startup-align-all-tables’ will realign all tables in a file upon
visiting, but also slow down startup. You can also set this option on a
per-file basis with:
#+STARTUP: align
#+STARTUP: noalign
If you would like to overrule the automatic alignment of number-rich
columns to the right and of string-rich columns to the left, you can use
‘<r>’, ‘<c>’(1) or ‘<l>’ in a similar fashion. You may also combine
alignment and field width like this: ‘<r10>’.
Lines which only contain these formatting cookies will be removed
automatically when exporting the document.
---------- Footnotes ----------
(1) Centering does not work inside Emacs, but it does have an effect
when exporting to HTML.
File: org, Node: Column groups, Next: Orgtbl mode, Prev: Column width and alignment, Up: Tables
3.3 Column groups
=================
When Org exports tables, it does so by default without vertical lines
because that is visually more satisfying in general. Occasionally
however, vertical lines can be useful to structure a table into groups
of columns, much like horizontal lines can do for groups of rows. In
order to specify column groups, you can use a special row where the
first field contains only ‘/’. The further fields can either contain
‘<’ to indicate that this column should start a group, ‘>’ to indicate
the end of a group, or ‘<>’ (no space between ‘<’ and ‘>’) to make a
column a group of its own. Boundaries between column groups will upon
export be marked with vertical lines. Here is an example:
| N | N^2 | N^3 | N^4 | ~sqrt(n)~ | ~sqrt[4](N)~ |
|---+-----+-----+-----+-----------+--------------|
| / | < | | > | < | > |
| 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 4 | 8 | 16 | 1.4142 | 1.1892 |
| 3 | 9 | 27 | 81 | 1.7321 | 1.3161 |
|---+-----+-----+-----+-----------+--------------|
#+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1)))
It is also sufficient to just insert the column group starters after
every vertical line you would like to have:
| N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
|----+-----+-----+-----+---------+------------|
| / | < | | | < | |
File: org, Node: Orgtbl mode, Next: The spreadsheet, Prev: Column groups, Up: Tables
3.4 The Orgtbl minor mode
=========================
If you like the intuitive way the Org table editor works, you might also
want to use it in other modes like Text mode or Mail mode. The minor
mode Orgtbl mode makes this possible. You can always toggle the mode
with ‘M-x orgtbl-mode <RET>’. To turn it on by default, for example in
Message mode, use
(add-hook 'message-mode-hook 'turn-on-orgtbl)
Furthermore, with some special setup, it is possible to maintain
tables in arbitrary syntax with Orgtbl mode. For example, it is
possible to construct LaTeX tables with the underlying ease and power of
Orgtbl mode, including spreadsheet capabilities. For details, see *note
Tables in arbitrary syntax::.
File: org, Node: The spreadsheet, Next: Org-Plot, Prev: Orgtbl mode, Up: Tables
3.5 The spreadsheet
===================
The table editor makes use of the Emacs ‘calc’ package to implement
spreadsheet-like capabilities. It can also evaluate Emacs Lisp forms to
derive fields from other fields. While fully featured, Org’s
implementation is not identical to other spreadsheets. For example, Org
knows the concept of a _column formula_ that will be applied to all
non-header fields in a column without having to copy the formula to each
relevant field. There is also a formula debugger, and a formula editor
with features for highlighting fields in the table corresponding to the
references at the point in the formula, moving these references by arrow
keys
* Menu:
* References:: How to refer to another field or range
* Formula syntax for Calc:: Using Calc to compute stuff
* Formula syntax for Lisp:: Writing formulas in Emacs Lisp
* Durations and time values:: How to compute durations and time values
* Field and range formulas:: Formula for specific (ranges of) fields
* Column formulas:: Formulas valid for an entire column
* Lookup functions:: Lookup functions for searching tables
* Editing and debugging formulas:: Fixing formulas
* Updating the table:: Recomputing all dependent fields
* Advanced features:: Field and column names, parameters and automatic recalc
File: org, Node: References, Next: Formula syntax for Calc, Up: The spreadsheet
3.5.1 References
To compute fields in the table from other fields, formulas must
reference other fields or ranges. In Org, fields can be referenced by
name, by absolute coordinates, and by relative coordinates. To find out
what the coordinates of a field are, press ‘C-c ?’ in that field, or
press ‘C-c }’ to toggle the display of a grid.
Field references
................
Formulas can reference the value of another field in two ways. Like in
any other spreadsheet, you may reference fields with a letter/number
combination like ‘B3’, meaning the 2nd field in the 3rd row. However,
Org prefers(1) to use another, more general representation that looks
like this:
@ROW$COLUMN
Column specifications can be absolute like ‘$1’, ‘$2’,...‘$N’, or
relative to the current column (i.e., the column of the field which is
being computed) like ‘$+1’ or ‘$-2’. ‘$<’ and ‘$>’ are immutable
references to the first and last column, respectively, and you can use
‘$>>>’ to indicate the third column from the right.
The row specification only counts data lines and ignores horizontal
separator lines (hlines). Like with columns, you can use absolute row
numbers ‘@1’, ‘@2’,...‘@N’, and row numbers relative to the current row
like ‘@+3’ or ‘@-1’. ‘@<’ and ‘@>’ are immutable references the first
and last(2) row in the table, respectively. You may also specify the
row relative to one of the hlines: ‘@I’ refers to the first hline, ‘@II’
to the second, etc. ‘@-I’ refers to the first such line above the
current line, ‘@+I’ to the first such line below the current line. You
can also write ‘@III+2’ which is the second data line after the third
hline in the table.
‘@0’ and ‘$0’ refer to the current row and column, respectively,
i.e., to the row/column for the field being computed. Also, if you omit
either the column or the row part of the reference, the current
row/column is implied.
Org’s references with _unsigned_ numbers are fixed references in the
sense that if you use the same reference in the formula for two
references with _signed_ numbers are floating references because the
same reference operator can reference different fields depending on the
field being calculated by the formula.
Here are a few examples:
@2$3 2nd row, 3rd column (same as ‘C2’)
$5 column 5 in the current row (same as ‘E&’)
@2 current column, row 2
@-1$-3 the field one row up, three columns to the left
@-I$2 field just under hline above current row, column 2
@>$5 field in the last row, in column 5
Range references
................
You may reference a rectangular range of fields by specifying two field
references connected by two dots ‘..’. If both fields are in the
current row, you may simply use ‘$2..$7’, but if at least one field is
in a different row, you need to use the general ‘@row$column’ format at
least for the first field (i.e the reference must start with ‘@’ in
order to be interpreted correctly). Examples:
$1..$3 first three fields in the current row
$P..$Q range, using column names (see under Advanced)
$<<<..$>> start in third column, continue to the last but one
@2$1..@4$3 6 fields between these two fields (same as ‘A2..C4’)
@-1$-2..@-1 3 fields in the row above, starting from 2 columns on the left
@I..II between first and second hline, short for ‘@I..@II’
Range references return a vector of values that can be fed into Calc
vector functions. Empty fields in ranges are normally suppressed, so
that the vector contains only the non-empty fields. For other options
with the mode switches ‘E’, ‘N’ and examples *note Formula syntax for
Calc::.
Field coordinates in formulas
.............................
One of the very first actions during evaluation of Calc formulas and
Lisp formulas is to substitute ‘@#’ and ‘$#’ in the formula with the row
or column number of the field where the current result will go to. The
traditional Lisp formula equivalents are ‘org-table-current-dline’ and
‘org-table-current-column’. Examples:
‘if(@# % 2, $#, string(""))’
Insert column number on odd rows, set field to empty on even rows.
‘$2 = '(identity remote(FOO, @@#$1))’
Copy text or values of each row of column 1 of the table named
‘FOO’ into column 2 of the current table.
‘@3 = 2 * remote(FOO, @1$$#)’
Insert the doubled value of each column of row 1 of the table named
‘FOO’ into row 3 of the current table.
For the second/third example, the table named ‘FOO’ must have at least
as many rows/columns as the current table. Note that this is
inefficient(3) for large number of rows/columns.
Named references
................
‘$name’ is interpreted as the name of a column, parameter or constant.
Constants are defined globally through the option
‘org-table-formula-constants’, and locally (for the file) through a line
like
#+CONSTANTS: c=299792458. pi=3.14 eps=2.4e-6
Also properties (*note Properties and columns::) can be used as
constants in table formulas: for a property ‘:Xyz:’ use the name
‘$PROP_Xyz’, and the property will be searched in the current outline
entry and in the hierarchy above it. If you have the ‘constants.el’
package, it will also be used to resolve constants, including natural
constants like ‘$h’ for Planck’s constant, and units like ‘$km’ for
kilometers(4). Column names and parameters can be specified in special
table lines. These are described below, see *note Advanced features::.
All names must start with a letter, and further consist of letters and
numbers.
Remote references
.................
You may also reference constants, fields and ranges from a different
table, either in the current file or even in a different file. The
syntax is
remote(NAME-OR-ID,REF)
where NAME can be the name of a table in the current file as set by a
‘#+NAME: Name’ line before the table. It can also be the ID of an
entry, even in a different file, and the reference then refers to the
first table in that entry. REF is an absolute field or range reference
as described above for example ‘@3$3’ or ‘$somename’, valid in the
referenced table.
Indirection of NAME-OR-ID: When NAME-OR-ID has the format
‘@ROW$COLUMN’ it will be substituted with the name or ID found in this
field of the current table. For example ‘remote($1, @>$2)’ =>
‘remote(year_2013, @>$1)’. The format ‘B3’ is not supported because it
can not be distinguished from a plain table name or ID.
---------- Footnotes ----------
(1) Org will understand references typed by the user as ‘B4’, but it
will not use this syntax when offering a formula for editing. You can
customize this behavior using the option
‘org-table-use-standard-references’.
(2) For backward compatibility you can also use special names like
‘$LR5’ and ‘$LR12’ to refer in a stable way to the 5th and 12th field in
the last row of the table. However, this syntax is deprecated, it
should not be used for new documents. Use ‘@>$’ instead.
(3) The computation time scales as O(N^2) because the table named
‘FOO’ is parsed for each field to be read.
(4) ‘constants.el’ can supply the values of constants in two
the value of the variable ‘constants-unit-system’. You can use the
‘#+STARTUP’ options ‘constSI’ and ‘constcgs’ to set this value for the
current buffer.
File: org, Node: Formula syntax for Calc, Next: Formula syntax for Lisp, Prev: References, Up: The spreadsheet
3.5.2 Formula syntax for Calc
A formula can be any algebraic expression understood by the Emacs ‘Calc’
package. Note that ‘calc’ has the non-standard convention that ‘/’ has
lower precedence than ‘*’, so that ‘a/b*c’ is interpreted as ‘a/(b*c)’.
Before evaluation by ‘calc-eval’ (*note calc-eval: (calc)Calling Calc
from Your Programs.), variable substitution takes place according to the
rules described above. The range vectors can be directly fed into the
Calc vector functions like ‘vmean’ and ‘vsum’.
A formula can contain an optional mode string after a semicolon.
This string consists of flags to influence Calc and other modes during
execution. By default, Org uses the standard Calc modes (precision 12,
angular units degrees, fraction and symbolic modes off). The display
format, however, has been changed to ‘(float 8)’ to keep tables compact.
The default settings can be configured using the option
‘org-calc-default-modes’.
List of modes:
‘p20’
Set the internal Calc calculation precision to 20 digits.
‘n3’, ‘s3’, ‘e2’, ‘f4’
Normal, scientific, engineering or fixed format of the result of
Calc passed back to Org. Calc formatting is unlimited in precision
as long as the Calc calculation precision is greater.
‘D’, ‘R’
Degree and radian angle modes of Calc.
‘F’, ‘S’
Fraction and symbolic modes of Calc.
‘T’, ‘t’, ‘U’
Duration computations in Calc or Lisp, *note Durations and time
values::.
‘E’
If and how to consider empty fields. Without ‘E’ empty fields in
range references are suppressed so that the Calc vector or Lisp
list contains only the non-empty fields. With ‘E’ the empty fields
are kept. For empty fields in ranges or empty field references the
value ‘nan’ (not a number) is used in Calc formulas and the empty
string is used for Lisp formulas. Add ‘N’ to use 0 instead for
both formula types. For the value of a field the mode ‘N’ has
higher precedence than ‘E’.
‘N’
Interpret all fields as numbers, use 0 for non-numbers. See the
next section to see how this is essential for computations with
Lisp formulas. In Calc formulas it is used only occasionally
because there number strings are already interpreted as numbers
without ‘N’.
‘L’
Literal, for Lisp formulas only. See the next section.
Unless you use large integer numbers or high-precision-calculation and
-display for floating point numbers you may alternatively provide a
‘printf’ format specifier to reformat the Calc result after it has been
passed back to Org instead of letting Calc already do the formatting(1).
A few examples:
$1+$2 Sum of first and second field
$1+$2;%.2f Same, format result to two decimals
exp($2)+exp($1) Math functions can be used
$0;%.1f Reformat current cell to 1 decimal
($3-32)*5/9 Degrees F -> C conversion
$c/$1/$cm Hz -> cm conversion, using ‘constants.el’
tan($1);Dp3s1 Compute in degrees, precision 3, display SCI 1
sin($1);Dp3%.1e Same, but use printf specifier for display
taylor($3,x=7,2) Taylor series of $3, at x=7, second degree
Calc also contains a complete set of logical operations, (*note
Logical Operations: (calc)Logical Operations.). For example
‘if($1 < 20, teen, string(""))’
"teen" if age $1 is less than 20, else the Org table result field
is set to empty with the empty string.
‘if("$1" == "nan" || "$2" == "nan", string(""), $1 + $2); E f-1’
Sum of the first two columns. When at least one of the input
fields is empty the Org table result field is set to empty. ‘E’ is
required to not convert empty fields to 0. ‘f-1’ is an optional
Calc format string similar to ‘%.1f’ but leaves empty results
empty.
‘if(typeof(vmean($1..$7)) == 12, string(""), vmean($1..$7); E’
Mean value of a range unless there is any empty field. Every field
in the range that is empty is replaced by ‘nan’ which lets ‘vmean’
result in ‘nan’. Then ‘typeof == 12’ detects the ‘nan’ from
‘vmean’ and the Org table result field is set to empty. Use this
when the sample set is expected to never have missing values.
‘if("$1..$7" == "[]", string(""), vmean($1..$7))’
Mean value of a range with empty fields skipped. Every field in
the range that is empty is skipped. When all fields in the range
are empty the mean value is not defined and the Org table result
field is set to empty. Use this when the sample set can have a
variable size.
‘vmean($1..$7); EN’
To complete the example before: Mean value of a range with empty
fields counting as samples with value 0. Use this only when
incomplete sample sets should be padded with 0 to the full size.
You can add your own Calc functions defined in Emacs Lisp with
‘defmath’ and use them in formula syntax for Calc.
---------- Footnotes ----------
(1) The ‘printf’ reformatting is limited in precision because the
value passed to it is converted into an ‘integer’ or ‘double’. The
‘integer’ is limited in size by truncating the signed value to 32 bits.
The ‘double’ is limited in precision to 64 bits overall which leaves
approximately 16 significant decimal digits.
File: org, Node: Formula syntax for Lisp, Next: Durations and time values, Prev: Formula syntax for Calc, Up: The spreadsheet
3.5.3 Emacs Lisp forms as formulas
It is also possible to write a formula in Emacs Lisp. This can be
useful for string manipulation and control structures, if Calc’s
functionality is not enough.
If a formula starts with an apostrophe followed by an opening
parenthesis, then it is evaluated as a Lisp form. The evaluation should
return either a string or a number. Just as with ‘calc’ formulas, you
can specify modes and a printf format after a semicolon.
With Emacs Lisp forms, you need to be conscious about the way field
references are interpolated into the form. By default, a reference will
be interpolated as a Lisp string (in double-quotes) containing the
field. If you provide the ‘N’ mode switch, all referenced elements will
be numbers (non-number fields will be zero) and interpolated as Lisp
numbers, without quotes. If you provide the ‘L’ flag, all fields will
be interpolated literally, without quotes. I.e., if you want a
reference to be interpreted as a string by the Lisp form, enclose the
reference operator itself in double-quotes, like ‘"$3"’. Ranges are
inserted as space-separated fields, so you can embed them in list or
vector syntax.
Here are a few examples—note how the ‘N’ mode is used when we do
computations in Lisp:
‘'(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2))’
Swap the first two characters of the content of column 1.
‘'(+ $1 $2);N’
Add columns 1 and 2, equivalent to Calc’s ‘$1+$2’.
‘'(apply '+ '($1..$4));N’
Compute the sum of columns 1 to 4, like Calc’s ‘vsum($1..$4)’.
File: org, Node: Durations and time values, Next: Field and range formulas, Prev: Formula syntax for Lisp, Up: The spreadsheet
3.5.4 Durations and time values
If you want to compute time values use the ‘T’, ‘t’, or ‘U’ flag, either
in Calc formulas or Elisp formulas:
| Task 1 | Task 2 | Total |
|---------+----------+----------|
| 2:12 | 1:47 | 03:59:00 |
| 2:12 | 1:47 | 03:59 |
| 3:02:20 | -2:07:00 | 0.92 |
#+TBLFM: @2$3=$1+$2;T::@3$3=$1+$2;U::@4$3=$1+$2;t
Input duration values must be of the form ‘HH:MM[:SS]’, where seconds
are optional. With the ‘T’ flag, computed durations will be displayed
as ‘HH:MM:SS’ (see the first formula above). With the ‘U’ flag, seconds
will be omitted so that the result will be only ‘HH:MM’ (see second
formula above). Zero-padding of the hours field will depend upon the
value of the variable ‘org-table-duration-hour-zero-padding’.
With the ‘t’ flag, computed durations will be displayed according to
the value of the option ‘org-table-duration-custom-format’, which
defaults to ‘'hours’ and will display the result as a fraction of hours
(see the third formula in the example above).
Negative duration values can be manipulated as well, and integers
will be considered as seconds in addition and subtraction.
File: org, Node: Field and range formulas, Next: Column formulas, Prev: Durations and time values, Up: The spreadsheet
3.5.5 Field and range formulas
To assign a formula to a particular field, type it directly into the
field, preceded by ‘:=’, for example ‘:=vsum(@II..III)’. When you press
<TAB> or <RET> or ‘C-c C-c’ with the cursor still in the field, the
formula will be stored as the formula for this field, evaluated, and the
current field will be replaced with the result.
Formulas are stored in a special line starting with ‘#+TBLFM:’
directly below the table. If you type the equation in the 4th field of
the 3rd data line in the table, the formula will look like ‘@3$4=$1+$2’.
When inserting/deleting/swapping columns and rows with the appropriate
commands, absolute references (but not relative ones) in stored formulas
are modified in order to still reference the same field. To avoid this,
in particular in range references, anchor ranges at the table borders
(using ‘@<’, ‘@>’, ‘$<’, ‘$>’), or at hlines using the ‘@I’ notation.
Automatic adaptation of field references does of course not happen if
you edit the table structure with normal editing commands—then you must
fix the equations yourself.
Instead of typing an equation into the field, you may also use the
following command
‘C-u C-c = (org-table-eval-formula)’
Install a new formula for the current field. The command prompts
for a formula with default taken from the ‘#+TBLFM:’ line, applies
it to the current field, and stores it.
The left-hand side of a formula can also be a special expression in
order to assign the formula to a number of different fields. There is
no keyboard shortcut to enter such range formulas. To add them, use the
formula editor (*note Editing and debugging formulas::) or edit the
‘#+TBLFM:’ line directly.
‘$2=’
Column formula, valid for the entire column. This is so common
that Org treats these formulas in a special way, see *note Column
formulas::.
‘@3=’
Row formula, applies to all fields in the specified row. ‘@>=’
means the last row.
‘@1$2..@4$3=’
Range formula, applies to all fields in the given rectangular
range. This can also be used to assign a formula to some but not
all fields in a row.
‘$name=’
Named field, see *note Advanced features::.
File: org, Node: Column formulas, Next: Lookup functions, Prev: Field and range formulas, Up: The spreadsheet
3.5.6 Column formulas
When you assign a formula to a simple column reference like ‘$3=’, the
same formula will be used in all fields of that column, with the
following very convenient exceptions: (i) If the table contains
horizontal separator hlines with rows above and below, everything before
the first such hline is considered part of the table _header_ and will
not be modified by column formulas. Therefore a header is mandatory
when you use column formulas and want to add hlines to group rows, like
for example to separate a total row at the bottom from the summand rows
above. (ii) Fields that already get a value from a field/range formula
will be left alone by column formulas. These conditions make column
formulas very easy to use.
To assign a formula to a column, type it directly into any field in
the column, preceded by an equal sign, like ‘=$1+$2’. When you press
<TAB> or <RET> or ‘C-c C-c’ with the cursor still in the field, the
formula will be stored as the formula for the current column, evaluated
and the current field replaced with the result. If the field contains
only ‘=’, the previously stored formula for this column is used. For
each column, Org will only remember the most recently used formula. In
the ‘#+TBLFM:’ line, column formulas will look like ‘$4=$1+$2’. The
left-hand side of a column formula cannot be the name of column, it must
be the numeric column reference or ‘$>’.
Instead of typing an equation into the field, you may also use the
following command:
‘C-c = (org-table-eval-formula)’
Install a new formula for the current column and replace current
field with the result of the formula. The command prompts for a
formula, with default taken from the ‘#+TBLFM’ line, applies it to
the current field and stores it. With a numeric prefix
argument(e.g., ‘C-5 C-c =’) the command will apply it to that many
consecutive fields in the current column.
File: org, Node: Lookup functions, Next: Editing and debugging formulas, Prev: Column formulas, Up: The spreadsheet
3.5.7 Lookup functions
Org has three predefined Emacs Lisp functions for lookups in tables.
‘(org-lookup-first VAL S-LIST R-LIST &optional PREDICATE)’
Searches for the first element ‘S’ in list ‘S-LIST’ for which
(PREDICATE VAL S)
is ‘t’; returns the value from the corresponding position in list
‘R-LIST’. The default ‘PREDICATE’ is ‘equal’. Note that the
parameters ‘VAL’ and ‘S’ are passed to ‘PREDICATE’ in the same
order as the corresponding parameters are in the call to
‘org-lookup-first’, where ‘VAL’ precedes ‘S-LIST’. If ‘R-LIST’ is
‘nil’, the matching element ‘S’ of ‘S-LIST’ is returned.
‘(org-lookup-last VAL S-LIST R-LIST &optional PREDICATE)’
Similar to ‘org-lookup-first’ above, but searches for the last
element for which ‘PREDICATE’ is ‘t’.
‘(org-lookup-all VAL S-LIST R-LIST &optional PREDICATE)’
Similar to ‘org-lookup-first’, but searches for all elements for
which ‘PREDICATE’ is ‘t’, and returns all corresponding values.
This function can not be used by itself in a formula, because it
returns a list of values. However, powerful lookups can be built
when this function is combined with other Emacs Lisp functions.
If the ranges used in these functions contain empty fields, the ‘E’
mode for the formula should usually be specified: otherwise empty fields
will not be included in ‘S-LIST’ and/or ‘R-LIST’ which can, for example,
result in an incorrect mapping from an element of ‘S-LIST’ to the
corresponding element of ‘R-LIST’.
These three functions can be used to implement associative arrays,
count matching cells, rank results, group data etc. For practical
examples see this tutorial on Worg
(https://orgmode.org/worg/org-tutorials/org-lookups.html).
File: org, Node: Editing and debugging formulas, Next: Updating the table, Prev: Lookup functions, Up: The spreadsheet
3.5.8 Editing and debugging formulas
You can edit individual formulas in the minibuffer or directly in the
field. Org can also prepare a special buffer with all active formulas
of a table. When offering a formula for editing, Org converts
references to the standard format (like ‘B3’ or ‘D&’) if possible. If
you prefer to only work with the internal format (like ‘@3$2’ or ‘$4’),
configure the option ‘org-table-use-standard-references’.
‘C-c = or C-u C-c = (org-table-eval-formula)’
Edit the formula associated with the current column/field in the
minibuffer. See *note Column formulas::, and *note Field and range
formulas::.
‘C-u C-u C-c = (org-table-eval-formula)’
Re-insert the active formula (either a field formula, or a column
formula) into the current field, so that you can edit it directly
in the field. The advantage over editing in the minibuffer is that
you can use the command ‘C-c ?’.
‘C-c ? (org-table-field-info)’
While editing a formula in a table field, highlight the field(s)
referenced by the reference at the cursor position in the formula.
‘C-c }’
Toggle the display of row and column numbers for a table, using
overlays (‘org-table-toggle-coordinate-overlays’). These are
updated each time the table is aligned; you can force it with ‘C-c
C-c’.
‘C-c {’
Toggle the formula debugger on and off
(‘org-table-toggle-formula-debugger’). See below.
‘C-c ' (org-table-edit-formulas)’
Edit all formulas for the current table in a special buffer, where
the formulas will be displayed one per line. If the current field
has an active formula, the cursor in the formula editor will mark
it. While inside the special buffer, Org will automatically
highlight any field or range reference at the cursor position. You
may edit, remove and add formulas, and use the following commands:
‘C-c C-c or C-x C-s (org-table-fedit-finish)’
Exit the formula editor and store the modified formulas. With
‘C-u’ prefix, also apply the new formulas to the entire table.
‘C-c C-q (org-table-fedit-abort)’
Exit the formula editor without installing changes.
‘C-c C-r (org-table-fedit-toggle-ref-type)’
Toggle all references in the formula editor between standard
(like ‘B3’) and internal (like ‘@3$2’).
‘<TAB> (org-table-fedit-lisp-indent)’
Pretty-print or indent Lisp formula at point. When in a line
containing a Lisp formula, format the formula according to
Emacs Lisp rules. Another <TAB> collapses the formula back
again. In the open formula, <TAB> re-indents just like in
Emacs Lisp mode.
‘M-<TAB> (lisp-complete-symbol)’
Complete Lisp symbols, just like in Emacs Lisp mode.(1)
‘S-<UP>/<DOWN>/<LEFT>/<RIGHT>’
Shift the reference at point. For example, if the reference
is ‘B3’ and you press ‘S-<RIGHT>’, it will become ‘C3’. This
also works for relative references and for hline references.
‘M-S-<UP> (org-table-fedit-line-up)’
‘M-S-<DOWN> (org-table-fedit-line-down)’
Move the test line for column formulas in the Org buffer up
and down.
‘M-<UP> (org-table-fedit-scroll-down)’
‘M-<DOWN> (org-table-fedit-scroll-up)’
Scroll the window displaying the table.
‘C-c }’
Turn the coordinate grid in the table on and off.
Making a table field blank does not remove the formula associated
with the field, because that is stored in a different line (the
‘#+TBLFM’ line)—during the next recalculation the field will be filled
again. To remove a formula from a field, you have to give an empty
reply when prompted for the formula, or to edit the ‘#+TBLFM’ line.
You may edit the ‘#+TBLFM’ directly and re-apply the changed
equations with ‘C-c C-c’ in that line or with the normal recalculation
commands in the table.
Using multiple ‘#+TBLFM’ lines
..............................
You may apply the formula temporarily. This is useful when you switch
the formula. Place multiple ‘#+TBLFM’ lines right after the table, and
then press ‘C-c C-c’ on the formula to apply. Here is an example:
| x | y |
|---+---|
| 1 | |
| 2 | |
#+TBLFM: $2=$1*1
#+TBLFM: $2=$1*2
Pressing ‘C-c C-c’ in the line of ‘#+TBLFM: $2=$1*2’ yields:
| x | y |
|---+---|
| 1 | 2 |
| 2 | 4 |
#+TBLFM: $2=$1*1
#+TBLFM: $2=$1*2
Note: If you recalculate this table (with ‘C-u C-c *’, for example), you
will get the following result of applying only the first ‘#+TBLFM’ line.
| x | y |
|---+---|
| 1 | 1 |
| 2 | 2 |
#+TBLFM: $2=$1*1
#+TBLFM: $2=$1*2
Debugging formulas
..................
When the evaluation of a formula leads to an error, the field content
becomes the string ‘#ERROR’. If you would like see what is going on
during variable substitution and calculation in order to find a bug,
turn on formula debugging in the ‘Tbl’ menu and repeat the calculation,
for example by pressing ‘C-u C-u C-c = <RET>’ in a field. Detailed
information will be displayed.
---------- Footnotes ----------
(1) Many desktops intercept ‘M-<TAB>’ to switch windows. Use ‘C-M-i’
or ‘<ESC> <TAB>’ instead for completion (*note Completion::).
File: org, Node: Updating the table, Next: Advanced features, Prev: Editing and debugging formulas, Up: The spreadsheet
3.5.9 Updating the table
Recalculation of a table is normally not automatic, but needs to be
triggered by a command. See *note Advanced features::, for a way to
make recalculation at least semi-automatic.
In order to recalculate a line of a table or the entire table, use
the following commands:
‘C-c * (org-table-recalculate)’
Recalculate the current row by first applying the stored column
formulas from left to right, and all field/range formulas in the
current row.
‘C-u C-c *’
‘C-u C-c C-c’
Recompute the entire table, line by line. Any lines before the
first hline are left alone, assuming that these are part of the
table header.
‘C-u C-u C-c * or C-u C-u C-c C-c (org-table-iterate)’
Iterate the table by recomputing it until no further changes occur.
This may be necessary if some computed fields use the value of
other fields that are computed later in the calculation sequence.
‘M-x org-table-recalculate-buffer-tables <RET>’
Recompute all tables in the current buffer.
‘M-x org-table-iterate-buffer-tables <RET>’
Iterate all tables in the current buffer, in order to converge
table-to-table dependencies.
File: org, Node: Advanced features, Prev: Updating the table, Up: The spreadsheet
3.5.10 Advanced features
If you want the recalculation of fields to happen automatically, or if
you want to be able to assign names(1) to fields and columns, you need
to reserve the first column of the table for special marking characters.
‘C-# (org-table-rotate-recalc-marks)’
Rotate the calculation mark in first column through the states ‘ ’,
‘#’, ‘*’, ‘!’, ‘$’. When there is an active region, change all
marks in the region.
Here is an example of a table that collects exam results of students
and makes use of these features:
|---+---------+--------+--------+--------+-------+------|
| | Student | Prob 1 | Prob 2 | Prob 3 | Total | Note |
|---+---------+--------+--------+--------+-------+------|
| ! | | P1 | P2 | P3 | Tot | |
| # | Maximum | 10 | 15 | 25 | 50 | 10.0 |
| ^ | | m1 | m2 | m3 | mt | |
|---+---------+--------+--------+--------+-------+------|
| # | Peter | 10 | 8 | 23 | 41 | 8.2 |
| # | Sam | 2 | 4 | 3 | 9 | 1.8 |
|---+---------+--------+--------+--------+-------+------|
| | Average | | | | 25.0 | |
| ^ | | | | | at | |
| $ | max=50 | | | | | |
|---+---------+--------+--------+--------+-------+------|
#+TBLFM: $6=vsum($P1..$P3)::$7=10*$Tot/$max;%.1f::$at=vmean(@-II..@-I);%.1f
Important: please note that for these special tables, recalculating the
table with ‘C-u C-c *’ will only affect rows that are marked ‘#’ or ‘*’,
and fields that have a formula assigned to the field itself. The column
formulas are not applied in rows with empty first field.
The marking characters have the following meaning:
‘!’
The fields in this line define names for the columns, so that you
may refer to a column as ‘$Tot’ instead of ‘$6’.
‘^’
This row defines names for the fields _above_ the row. With such a
definition, any formula in the table may use ‘$m1’ to refer to the
value ‘10’. Also, if you assign a formula to a names field, it
will be stored as ‘$name=...’.
‘_’
Similar to ‘^’, but defines names for the fields in the row
_below_.
‘$’
Fields in this row can define _parameters_ for formulas. For
example, if a field in a ‘$’ row contains ‘max=50’, then formulas
in this table can refer to the value 50 using ‘$max’. Parameters
work exactly like constants, only that they can be defined on a
per-table basis.
‘#’
Fields in this row are automatically recalculated when pressing
<TAB> or <RET> or ‘S-<TAB>’ in this row. Also, this row is
selected for a global recalculation with ‘C-u C-c *’. Unmarked
lines will be left alone by this command.
‘*’
Selects this line for global recalculation with ‘C-u C-c *’, but
not for automatic recalculation. Use this when automatic
recalculation slows down editing too much.
‘ ’
Unmarked lines are exempt from recalculation with ‘C-u C-c *’. All
lines that should be recalculated should be marked with ‘#’ or ‘*’.
‘/’
Do not export this line. Useful for lines that contain the
narrowing ‘<N>’ markers or column group markers.
Finally, just to whet your appetite for what can be done with the
fantastic ‘calc.el’ package, here is a table that computes the Taylor
series of degree ‘n’ at location ‘x’ for a couple of functions.
|---+-------------+---+-----+--------------------------------------|
| | Func | n | x | Result |
|---+-------------+---+-----+--------------------------------------|
| # | exp(x) | 1 | x | 1 + x |
| # | exp(x) | 2 | x | 1 + x + x^2 / 2 |
| # | exp(x) | 3 | x | 1 + x + x^2 / 2 + x^3 / 6 |
| # | x^2+sqrt(x) | 2 | x=0 | x*(0.5 / 0) + x^2 (2 - 0.25 / 0) / 2 |
| # | x^2+sqrt(x) | 2 | x=1 | 2 + 2.5 x - 2.5 + 0.875 (x - 1)^2 |
| * | tan(x) | 3 | x | 0.0175 x + 1.77e-6 x^3 |
|---+-------------+---+-----+--------------------------------------|
#+TBLFM: $5=taylor($2,$4,$3);n3
---------- Footnotes ----------
(1) Such names must start by an alphabetic character and use only
alphanumeric/underscore characters.
File: org, Node: Org-Plot, Prev: The spreadsheet, Up: Tables
3.6 Org-Plot
============
Org-Plot can produce graphs of information stored in org tables, either
graphically or in ASCII-art.
Graphical plots using ‘Gnuplot’
Org-Plot produces 2D and 3D graphs using ‘Gnuplot’
<http://www.gnuplot.info/> and ‘gnuplot-mode’
<http://xafs.org/BruceRavel/GnuplotMode>. To see this in action, ensure
that you have both Gnuplot and Gnuplot mode installed on your system,
then call ‘C-c " g’ or ‘M-x org-plot/gnuplot <RET>’ on the following
table.
#+PLOT: title:"Citas" ind:1 deps:(3) type:2d with:histograms set:"yrange [0:]"
| Sede | Max cites | H-index |
|-----------+-----------+---------|
| Chile | 257.72 | 21.39 |
| Leeds | 165.77 | 19.68 |
| Sao Paolo | 71.00 | 11.50 |
| Stockholm | 134.19 | 14.33 |
| Morelia | 257.56 | 17.67 |
Notice that Org Plot is smart enough to apply the table’s headers as
labels. Further control over the labels, type, content, and appearance
of plots can be exercised through the ‘#+PLOT:’ lines preceding a table.
See below for a complete list of Org-plot options. The ‘#+PLOT:’ lines
are optional. For more information and examples see the Org-plot
tutorial at <https://orgmode.org/worg/org-tutorials/org-plot.html>.
Plot Options
............
‘set’
Specify any ‘gnuplot’ option to be set when graphing.
‘title’
Specify the title of the plot.
‘ind’
Specify which column of the table to use as the ‘x’ axis.
‘deps’
Specify the columns to graph as a Lisp style list, surrounded by
parentheses and separated by spaces for example ‘dep:(3 4)’ to
graph the third and fourth columns (defaults to graphing all other
columns aside from the ‘ind’ column).
‘type’
Specify whether the plot will be ‘2d’, ‘3d’, or ‘grid’.
‘with’
Specify a ‘with’ option to be inserted for every col being plotted
(e.g., ‘lines’, ‘points’, ‘boxes’, ‘impulses’, etc...). Defaults
to ‘lines’.
‘file’
If you want to plot to a file, specify
‘"PATH/TO/DESIRED/OUTPUT-FILE"’.
‘labels’
List of labels to be used for the ‘deps’ (defaults to the column
headers if they exist).
‘line’
Specify an entire line to be inserted in the Gnuplot script.
‘map’
When plotting ‘3d’ or ‘grid’ types, set this to ‘t’ to graph a flat
mapping rather than a ‘3d’ slope.
‘timefmt’
Specify format of Org mode timestamps as they will be parsed by
Gnuplot. Defaults to ‘%Y-%m-%d-%H:%M:%S’.
‘script’
If you want total control, you can specify a script file (place the
file name between double-quotes) which will be used to plot.
Before plotting, every instance of ‘$datafile’ in the specified
script will be replaced with the path to the generated data file.
Note: even if you set this option, you may still want to specify
the plot type, as that can impact the content of the data file.
ASCII bar plots
While the cursor is on a column, typing ‘C-c " a’ or ‘M-x
orgtbl-ascii-plot <RET>’ create a new column containing an ASCII-art
bars plot. The plot is implemented through a regular column formula.
When the source column changes, the bar plot may be updated by
refreshing the table, for example typing ‘C-u C-c *’.
| Sede | Max cites | |
|---------------+-----------+--------------|
| Chile | 257.72 | WWWWWWWWWWWW |
| Leeds | 165.77 | WWWWWWWh |
| Sao Paolo | 71.00 | WWW; |
| Stockholm | 134.19 | WWWWWW: |
| Morelia | 257.56 | WWWWWWWWWWWH |
| Rochefourchat | 0.00 | |
#+TBLFM: $3='(orgtbl-ascii-draw $2 0.0 257.72 12)
The formula is an elisp call:
(orgtbl-ascii-draw COLUMN MIN MAX WIDTH)
‘COLUMN’
is a reference to the source column.
‘MIN MAX’
are the minimal and maximal values displayed. Sources values
outside this range are displayed as ‘too small’ or ‘too large’.
‘WIDTH’
is the width in characters of the bar-plot. It defaults to ‘12’.
File: org, Node: Hyperlinks, Next: TODO items, Prev: Tables, Up: Top
4 Hyperlinks
************
Like HTML, Org provides links inside a file, external links to other
files, Usenet articles, emails, and much more.
* Menu:
* Link format:: How links in Org are formatted
* Internal links:: Links to other places in the current file
* External links:: URL-like links to the world
* Handling links:: Creating, inserting and following
* Using links outside Org:: Linking from my C source code?
* Link abbreviations:: Shortcuts for writing complex links
* Search options:: Linking to a specific location
* Custom searches:: When the default search is not enough
File: org, Node: Link format, Next: Internal links, Up: Hyperlinks
4.1 Link format
===============
Org will recognize plain URL-like links and activate them as clickable
links. The general link format, however, looks like this:
[[link][description]] or alternatively [[link]]
Once a link in the buffer is complete (all brackets present), Org will
change the display so that ‘description’ is displayed instead of
‘[[link][description]]’ and ‘link’ is displayed instead of ‘[[link]]’.
Links will be highlighted in the face ‘org-link’, which by default is an
underlined face. You can directly edit the visible part of a link.
Note that this can be either the ‘link’ part (if there is no
description) or the ‘description’ part. To edit also the invisible
‘link’ part, use ‘C-c C-l’ with the cursor on the link.
If you place the cursor at the beginning or just behind the end of
the displayed text and press <BACKSPACE>, you will remove the
(invisible) bracket at that location. This makes the link incomplete
and the internals are again displayed as plain text. Inserting the
missing bracket hides the link internals again. To show the internal
structure of all links, use the menu entry ‘Org->Hyperlinks->Literal
links’.
File: org, Node: Internal links, Next: External links, Prev: Link format, Up: Hyperlinks
4.2 Internal links
==================
If the link does not look like a URL, it is considered to be internal in
the current file. The most important case is a link like
‘[[#my-custom-id]]’ which will link to the entry with the ‘CUSTOM_ID’
property ‘my-custom-id’. You are responsible yourself to make sure
these custom IDs are unique in a file.
Links such as ‘[[My Target]]’ or ‘[[My Target][Find my target]]’ lead
to a text search in the current file.
The link can be followed with ‘C-c C-o’ when the cursor is on the
link, or with a mouse click (*note Handling links::). Links to custom
IDs will point to the corresponding headline. The preferred match for a
text link is a dedicated target: the same string in double angular
brackets, like ‘<<My Target>>’.
If no dedicated target exists, the link will then try to match the
exact name of an element within the buffer. Naming is done with the
‘#+NAME’ keyword, which has to be put in the line before the element it
refers to, as in the following example
#+NAME: My Target
| a | table |
|----+------------|
| of | four cells |
If none of the above succeeds, Org will search for a headline that is
exactly the link text but may also include a TODO keyword and tags(1).
During export, internal links will be used to mark objects and assign
them a number. Marked objects will then be referenced by links pointing
to them. In particular, links without a description will appear as the
number assigned to the marked object(2). In the following excerpt from
an Org buffer
- one item
- <<target>>another item
Here we refer to item [[target]].
The last sentence will appear as ‘Here we refer to item 2’ when
exported.
In non-Org files, the search will look for the words in the link
text. In the above example the search would be for ‘my target’.
Following a link pushes a mark onto Org’s own mark ring. You can
return to the previous position with ‘C-c &’. Using this command
several times in direct succession goes back to positions recorded
earlier.
* Menu:
* Radio targets:: Make targets trigger links in plain text
---------- Footnotes ----------
(1) To insert a link targeting a headline, in-buffer completion can
be used. Just type a star followed by a few optional letters into the
buffer and press ‘M-<TAB>’. All headlines in the current buffer will be
offered as completions.
(2) When targeting a ‘#+NAME’ keyword, ‘#+CAPTION’ keyword is
mandatory in order to get proper numbering (*note Images and tables::).
File: org, Node: Radio targets, Up: Internal links
4.2.1 Radio targets
Org can automatically turn any occurrences of certain target names in
normal text into a link. So without explicitly creating a link, the
text connects to the target radioing its position. Radio targets are
enclosed by triple angular brackets. For example, a target ‘<<<My
Target>>>’ causes each occurrence of ‘my target’ in normal text to
become activated as a link. The Org file is scanned automatically for
radio targets only when the file is first loaded into Emacs. To update
the target list during editing, press ‘C-c C-c’ with the cursor on or at
a target.
File: org, Node: External links, Next: Handling links, Prev: Internal links, Up: Hyperlinks
4.3 External links
==================
Org supports links to files, websites, Usenet and email messages, BBDB
database entries and links to both IRC conversations and their logs.
External links are URL-like locators. They start with a short
identifying string followed by a colon. There can be no space after the
colon. The following list shows examples for each link type.
http://www.astro.uva.nl/~dominik on the web
doi:10.1000/182 DOI for an electronic resource
file:/home/dominik/images/jupiter.jpg file, absolute path
/home/dominik/images/jupiter.jpg same as above
file:papers/last.pdf file, relative path
./papers/last.pdf same as above
file:/ssh:myself@some.where:papers/last.pdf file, path on remote machine
/ssh:myself@some.where:papers/last.pdf same as above
file:sometextfile::NNN file, jump to line number
file:projects.org another Org file
file:projects.org::some words text search in Org file(1)
file:projects.org::*task title heading search in Org file(2)
docview:papers/last.pdf::NNN open in doc-view mode at page
id:B7423F4D-2E8A-471B-8810-C40F074717E9 Link to heading by ID
news:comp.emacs Usenet link
mailto:adent@galaxy.net Mail link
mhe:folder MH-E folder link
mhe:folder#id MH-E message link
rmail:folder RMAIL folder link
rmail:folder#id RMAIL message link
gnus:group Gnus group link
gnus:group#id Gnus article link
bbdb:R.*Stallman BBDB link (with regexp)
irc:/irc.com/#emacs/bob IRC link
info:org#External links Info node or index link
shell:ls *.org A shell command
elisp:org-agenda Interactive Elisp command
elisp:(find-file-other-frame "Elisp.org") Elisp form to evaluate
On top of these built-in link types, some are available through the
‘contrib/’ directory (*note Installation::). For example, these links
to VM or Wanderlust messages are available when you load the
corresponding libraries from the ‘contrib/’ directory:
vm:folder VM folder link
vm:folder#id VM message link
vm://myself@some.where.org/folder#id VM on remote machine
vm-imap:account:folder VM IMAP folder link
vm-imap:account:folder#id VM IMAP message link
wl:folder WANDERLUST folder link
wl:folder#id WANDERLUST message link
For customizing Org to add new link types *note Adding hyperlink
types::.
A link should be enclosed in double brackets and may contain a
descriptive text to be displayed instead of the URL (*note Link
format::), for example:
[[https://www.gnu.org/software/emacs/][GNU Emacs]]
If the description is a file name or URL that points to an image, HTML
export (*note HTML export::) will inline the image as a clickable
button. If there is no description at all and the link points to an
image, that image will be inlined into the exported HTML file.
Org also finds external links in the normal text and activates them
as links. If spaces must be part of the link (for example in
‘bbdb:Richard Stallman’), or if you need to remove ambiguities about the
end of the link, enclose them in square brackets.
---------- Footnotes ----------
(1) The actual behavior of the search will depend on the value of the
option ‘org-link-search-must-match-exact-headline’. If its value is
‘nil’, then a fuzzy text search will be done. If it is ‘t’, then only
the exact headline will be matched, ignoring spaces and cookies. If the
value is ‘query-to-create’, then an exact headline will be searched; if
it is not found, then the user will be queried to create it.
(2) Headline searches always match the exact headline, ignoring
spaces and cookies. If the headline is not found and the value of the
option ‘org-link-search-must-match-exact-headline’ is ‘query-to-create’,
then the user will be queried to create it.
File: org, Node: Handling links, Next: Using links outside Org, Prev: External links, Up: Hyperlinks
4.4 Handling links
==================
Org provides methods to create a link in the correct syntax, to insert
it into an Org file, and to follow the link.
‘C-c l (org-store-link)’
Store a link to the current location. This is a _global_ command
(you must create the key binding yourself) which can be used in any
buffer to create a link. The link will be stored for later
insertion into an Org buffer (see below). What kind of link will
be created depends on the current buffer:
Org mode buffers
For Org files, if there is a ‘<<target>>’ at the cursor, the link
points to the target. Otherwise it points to the current headline,
which will also be the description(1).
If the headline has a ‘CUSTOM_ID’ property, a link to this custom
ID will be stored. In addition or alternatively (depending on the
value of ‘org-id-link-to-org-use-id’), a globally unique ‘ID’
property will be created and/or used to construct a link(2). So
using this command in Org buffers will potentially create two
links: a human-readable from the custom ID, and one that is
globally unique and works even if the entry is moved from file to
file. Later, when inserting the link, you need to decide which one
to use.
Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus
Pretty much all Emacs mail clients are supported. The link will
point to the current article, or, in some GNUS buffers, to the
group. The description is constructed from the author and the
subject.
Web browsers: Eww, W3 and W3M
Here the link will be the current URL, with the page title as
description.
Contacts: BBDB
Links created in a BBDB buffer will point to the current entry.
Chat: IRC
For IRC links, if you set the option ‘org-irc-link-to-logs’ to ‘t’,
a ‘file:/’ style link to the relevant point in the logs for the
current conversation is created. Otherwise an ‘irc:/’ style link
to the user/channel/server under the point will be stored.
Other files
For any other files, the link will point to the file, with a search
string (*note Search options::) pointing to the contents of the
current line. If there is an active region, the selected words
will form the basis of the search string. If the automatically
created link is not working correctly or accurately enough, you can
write custom functions to select the search string and to do the
search for particular file types—see *note Custom searches::. The
key binding ‘C-c l’ is only a suggestion—see *note Installation::.
Agenda view
When the cursor is in an agenda view, the created link points to
the entry referenced by the current line.
‘C-c C-l (org-insert-link)’
Insert a link(3). This prompts for a link to be inserted into the
buffer. You can just type a link, using text for an internal link,
or one of the link type prefixes mentioned in the examples above.
The link will be inserted into the buffer(4), along with a
descriptive text. If some text was selected when this command is
called, the selected text becomes the default description.
Inserting stored links
All links stored during the current session are part of the history
for this prompt, so you can access them with <UP> and <DOWN> (or
‘M-p/n’).
Completion support
Completion with <TAB> will help you to insert valid link prefixes
like ‘https:’, including the prefixes defined through link
abbreviations (*note Link abbreviations::). If you press <RET>
after inserting only the PREFIX, Org will offer specific completion
support for some link types(5) For example, if you type ‘file
<RET>’, file name completion (alternative access: ‘C-u C-c C-l’,
see below) will be offered, and after ‘bbdb <RET>’ you can complete
contact names.
‘C-u C-c C-l’
When ‘C-c C-l’ is called with a ‘C-u’ prefix argument, a link to a
file will be inserted and you may use file name completion to
select the name of the file. The path to the file is inserted
relative to the directory of the current Org file, if the linked
file is in the current directory or in a sub-directory of it, or if
the path is written relative to the current directory using ‘../’.
Otherwise an absolute path is used, if possible with ‘~/’ for your
home directory. You can force an absolute path with two ‘C-u’
prefixes.
‘C-c C-l (with cursor on existing link)’
When the cursor is on an existing link, ‘C-c C-l’ allows you to
edit the link and description parts of the link.
‘C-c C-o (org-open-at-point)’
Open link at point. This will launch a web browser for URLs (using
‘browse-url-at-point’), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
the corresponding links, and execute the command in a shell link.
When the cursor is on an internal link, this command runs the
corresponding search. When the cursor is on a TAG list in a
headline, it creates the corresponding TAGS view. If the cursor is
on a timestamp, it compiles the agenda for that date. Furthermore,
it will visit text and remote files in ‘file:’ links with Emacs and
select a suitable application for local non-text files.
Classification of files is based on file extension only. See
option ‘org-file-apps’. If you want to override the default
application and visit the file with Emacs, use a ‘C-u’ prefix. If
you want to avoid opening in Emacs, use a ‘C-u C-u’ prefix.
If the cursor is on a headline, but not on a link, offer all links
in the headline and entry text. If you want to setup the frame
configuration for following links, customize
‘org-link-frame-setup’.
‘<RET>’
When ‘org-return-follows-link’ is set, ‘<RET>’ will also follow the
link at point.
‘mouse-2’
‘mouse-1’
On links, ‘mouse-1’ and ‘mouse-2’ will open the link just as ‘C-c
C-o’ would.
‘mouse-3’
Like ‘mouse-2’, but force file links to be opened with Emacs, and
internal links to be displayed in another window(6).
‘C-c C-x C-v (org-toggle-inline-images)’
Toggle the inline display of linked images. Normally this will
only inline images that have no description part in the link, i.e.,
images that will also be inlined during export. When called with a
prefix argument, also display images that do have a link
description. You can ask for inline images to be displayed at
startup by configuring the variable
‘org-startup-with-inline-images’(7).
‘C-c % (org-mark-ring-push)’
Push the current position onto the mark ring, to be able to return
easily. Commands following an internal link do this automatically.
‘C-c & (org-mark-ring-goto)’
Jump back to a recorded position. A position is recorded by the
commands following internal links, and by ‘C-c %’. Using this
command several times in direct succession moves through a ring of
previously recorded positions.
‘C-c C-x C-n (org-next-link)’
‘C-c C-x C-p (org-previous-link)’
Move forward/backward to the next link in the buffer. At the limit
of the buffer, the search fails once, and then wraps around. The
key bindings for this are really too long; you might want to bind
this also to ‘C-n’ and ‘C-p’
(add-hook 'org-load-hook
(lambda ()
(define-key org-mode-map "\C-n" 'org-next-link)
(define-key org-mode-map "\C-p" 'org-previous-link)))
---------- Footnotes ----------
(1) If the headline contains a timestamp, it will be removed from the
link and result in a wrong link—you should avoid putting timestamp in
the headline.
(2) The library ‘org-id.el’ must first be loaded, either through
‘org-customize’ by enabling ‘org-id’ in ‘org-modules’, or by adding
‘(require 'org-id)’ in your Emacs init file.
(3) Note that you don’t have to use this command to insert a link.
Links in Org are plain text, and you can type or paste them straight
into the buffer. By using this command, the links are automatically
enclosed in double brackets, and you will be asked for the optional
descriptive text.
(4) After insertion of a stored link, the link will be removed from
the list of stored links. To keep it in the list later use, use a
triple ‘C-u’ prefix argument to ‘C-c C-l’, or configure the option
‘org-keep-stored-link-after-insertion’.
(5) This works if a completion function is defined in the ‘:complete’
property of a link in ‘org-link-parameters’.
(6) See the option ‘org-display-internal-link-with-indirect-buffer’
(7) with corresponding ‘#+STARTUP’ keywords ‘inlineimages’ and
‘noinlineimages’
File: org, Node: Using links outside Org, Next: Link abbreviations, Prev: Handling links, Up: Hyperlinks
4.5 Using links outside Org
===========================
You can insert and follow links that have Org syntax not only in Org,
but in any Emacs buffer. For this, you should create two global
commands, like this (please select suitable global keys yourself):
(global-set-key "\C-c L" 'org-insert-link-global)
(global-set-key "\C-c o" 'org-open-at-point-global)
File: org, Node: Link abbreviations, Next: Search options, Prev: Using links outside Org, Up: Hyperlinks
4.6 Link abbreviations
======================
Long URLs can be cumbersome to type, and often many similar links are
needed in a document. For this you can use link abbreviations. An
abbreviated link looks like this
[[linkword:tag][description]]
where the tag is optional. The linkword must be a word, starting with a
letter, followed by letters, numbers, ‘-’, and ‘_’. Abbreviations are
resolved according to the information in the variable
‘org-link-abbrev-alist’ that relates the linkwords to replacement text.
Here is an example:
(setq org-link-abbrev-alist
'(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
("url-to-ja" . "http://translate.google.fr/translate?sl=en&tl=ja&u=%h")
("google" . "http://www.google.com/search?q=")
("gmap" . "http://maps.google.com/maps?q=%s")
("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
("ads" . "http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?author=%s&db_key=AST")))
If the replacement text contains the string ‘%s’, it will be replaced
with the tag. Using ‘%h’ instead of ‘%s’ will url-encode the tag (see
the example above, where we need to encode the URL parameter.) Using
‘%(my-function)’ will pass the tag to a custom function, and replace it
by the resulting string.
If the replacement text doesn’t contain any specifier, the tag will
simply be appended in order to create the link.
Instead of a string, you may also specify a function that will be
called with the tag as the only argument to create the link.
With the above setting, you could link to a specific bug with
‘[[bugzilla:129]]’, search the web for ‘OrgMode’ with
‘[[google:OrgMode]]’, show the map location of the Free Software
Foundation ‘[[gmap:51 Franklin Street, Boston]]’ or of Carsten office
‘[[omap:Science Park 904, Amsterdam, The Netherlands]]’ and find out
what the Org author is doing besides Emacs hacking with
‘[[ads:Dominik,C]]’.
If you need special abbreviations just for a single Org buffer, you
can define them in the file with
#+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id=
#+LINK: google http://www.google.com/search?q=%s
In-buffer completion (*note Completion::) can be used after ‘[’ to
complete link abbreviations. You may also define a function that
implements special (e.g., completion) support for inserting such a link
with ‘C-c C-l’. Such a function should not accept any arguments, and
return the full link with prefix. You can add a completion function to
a link like this:
(org-link-set-parameters ``type'' :complete #'some-function)
File: org, Node: Search options, Next: Custom searches, Prev: Link abbreviations, Up: Hyperlinks
4.7 Search options in file links
================================
File links can contain additional information to make Emacs jump to a
particular location in the file when following a link. This can be a
line number or a search option after a double(1) colon. For example,
when the command ‘C-c l’ creates a link (*note Handling links::) to a
file, it encodes the words in the current line as a search string that
can be used to find this line back later when following the link with
‘C-c C-o’.
Here is the syntax of the different ways to attach a search to a file
link, together with an explanation:
[[file:~/code/main.c::255]]
[[file:~/xx.org::My Target]]
[[file:~/xx.org::*My Target]]
[[file:~/xx.org::#my-custom-id]]
[[file:~/xx.org::/regexp/]]
‘255’
Jump to line 255.
‘My Target’
Search for a link target ‘<<My Target>>’, or do a text search for
‘my target’, similar to the search in internal links, see *note
Internal links::. In HTML export (*note HTML export::), such a
file link will become an HTML reference to the corresponding named
anchor in the linked file.
‘*My Target’
In an Org file, restrict search to headlines.
‘#my-custom-id’
Link to a heading with a ‘CUSTOM_ID’ property
‘/regexp/’
Do a regular expression search for ‘regexp’. This uses the Emacs
command ‘occur’ to list all matches in a separate window. If the
target file is in Org mode, ‘org-occur’ is used to create a sparse
tree with the matches.
As a degenerate case, a file link with an empty file name can be used
to search the current file. For example, ‘[[file:::find me]]’ does a
search for ‘find me’ in the current file, just as ‘[[find me]]’ would.
---------- Footnotes ----------
(1) For backward compatibility, line numbers can also follow a single
colon.
File: org, Node: Custom searches, Prev: Search options, Up: Hyperlinks
4.8 Custom Searches
===================
The default mechanism for creating search strings and for doing the
actual search related to a file link may not work correctly in all
cases. For example, BibTeX database files have many entries like
‘year="1993"’ which would not result in good search strings, because the
only unique identification for a BibTeX entry is the citation key.
If you come across such a problem, you can write custom functions to
set the right search string for a particular file type, and to do the
search for the string in the file. Using ‘add-hook’, these functions
need to be added to the hook variables
‘org-create-file-search-functions’ and
‘org-execute-file-search-functions’. See the docstring for these
variables for more information. Org actually uses this mechanism for
BibTeX database files, and you can use the corresponding code as an
implementation example. See the file ‘org-bibtex.el’.
File: org, Node: TODO items, Next: Tags, Prev: Hyperlinks, Up: Top
5 TODO items
************
Org mode does not maintain TODO lists as separate documents(1).
Instead, TODO items are an integral part of the notes file, because TODO
items usually come up while taking notes! With Org mode, simply mark
any entry in a tree as being a TODO item. In this way, information is
not duplicated, and the entire context from which the TODO item emerged
is always present.
Of course, this technique for managing TODO items scatters them
throughout your notes file. Org mode compensates for this by providing
methods to give you an overview of all the things that you have to do.
* Menu:
* TODO basics:: Marking and displaying TODO entries
* TODO extensions:: Workflow and assignments
* Progress logging:: Dates and notes for progress
* Priorities:: Some things are more important than others
* Breaking down tasks:: Splitting a task into manageable pieces
* Checkboxes:: Tick-off lists
---------- Footnotes ----------
(1) Of course, you can make a document that contains only long lists
of TODO items, but this is not required.
File: org, Node: TODO basics, Next: TODO extensions, Up: TODO items
5.1 Basic TODO functionality
============================
Any headline becomes a TODO item when it starts with the word ‘TODO’,
for example:
*** TODO Write letter to Sam Fortune
The most important commands to work with TODO entries are:
‘C-c C-t (org-todo)’
Rotate the TODO state of the current item among
,-> (unmarked) -> TODO -> DONE --.
'--------------------------------'
If TODO keywords have fast access keys (see *note Fast access to
TODO states::), you will be prompted for a TODO keyword through the
fast selection interface; this is the default behavior when
‘org-use-fast-todo-selection’ is non-‘nil’.
The same rotation can also be done “remotely” from agenda buffers
with the ‘t’ command key (*note Agenda commands::).
‘C-u C-c C-t’
When TODO keywords have no selection keys, select a specific
keyword using completion; otherwise force cycling through TODO
states with no prompt. When ‘org-use-fast-todo-selection’ is set
to ‘prefix’, use the fast selection interface.
‘S-<RIGHT> / S-<LEFT>’
Select the following/preceding TODO state, similar to cycling.
Useful mostly if more than two TODO states are possible (*note TODO
extensions::). See also *note Conflicts::, for a discussion of the
interaction with ‘shift-selection-mode’. See also the variable
‘org-treat-S-cursor-todo-selection-as-state-change’.
‘C-c / t (org-show-todo-tree)’
View TODO items in a _sparse tree_ (*note Sparse trees::). Folds
the entire buffer, but shows all TODO items (with not-DONE state)
and the headings hierarchy above them. With a prefix argument (or
by using ‘C-c / T’), search for a specific TODO. You will be
prompted for the keyword, and you can also give a list of keywords
like ‘KWD1|KWD2|...’ to list entries that match any one of these
keywords. With a numeric prefix argument N, show the tree for the
Nth keyword in the option ‘org-todo-keywords’. With two prefix
arguments, find all TODO states, both un-done and done.
‘C-c a t (org-todo-list)’
Show the global TODO list. Collects the TODO items (with not-DONE
states) from all agenda files (*note Agenda views::) into a single
buffer. The new buffer will be in ‘agenda-mode’, which provides
commands to examine and manipulate the TODO entries from the new
buffer (*note Agenda commands::). *Note Global TODO list::, for
more information.
‘S-M-<RET> (org-insert-todo-heading)’
Insert a new TODO entry below the current one.
Changing a TODO state can also trigger tag changes. See the docstring
of the option ‘org-todo-state-tags-triggers’ for details.
File: org, Node: TODO extensions, Next: Progress logging, Prev: TODO basics, Up: TODO items
5.2 Extended use of TODO keywords
=================================
By default, marked TODO entries have one of only two states: TODO and
DONE. Org mode allows you to classify TODO items in more complex ways
with _TODO keywords_ (stored in ‘org-todo-keywords’). With special
setup, the TODO keyword system can work differently in different files.
Note that tags are another way to classify headlines in general and
TODO items in particular (*note Tags::).
* Menu:
* Workflow states:: From TODO to DONE in steps
* TODO types:: I do this, Fred does the rest
* Multiple sets in one file:: Mixing it all, and still finding your way
* Fast access to TODO states:: Single letter selection of a state
* Per-file keywords:: Different files, different requirements
* Faces for TODO keywords:: Highlighting states
* TODO dependencies:: When one task needs to wait for others
File: org, Node: Workflow states, Next: TODO types, Up: TODO extensions
5.2.1 TODO keywords as workflow states
You can use TODO keywords to indicate different _sequential_ states in
the process of working on an item, for example(1):
(setq org-todo-keywords
'((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))
The vertical bar separates the TODO keywords (states that _need
action_) from the DONE states (which need _no further action_). If you
don’t provide the separator bar, the last state is used as the DONE
state. With this setup, the command ‘C-c C-t’ will cycle an entry from
TODO to FEEDBACK, then to VERIFY, and finally to DONE and DELEGATED.
You may also use a numeric prefix argument to quickly select a specific
state. For example ‘C-3 C-c C-t’ will change the state immediately to
VERIFY. Or you can use ‘S-<LEFT>’ to go backward through the sequence.
If you define many keywords, you can use in-buffer completion (*note
Completion::) or even a special one-key selection scheme (*note Fast
access to TODO states::) to insert these words into the buffer.
Changing a TODO state can be logged with a timestamp, see *note Tracking
TODO state changes::, for more information.
---------- Footnotes ----------
(1) Changing this variable only becomes effective after restarting
Org mode in a buffer.
File: org, Node: TODO types, Next: Multiple sets in one file, Prev: Workflow states, Up: TODO extensions
5.2.2 TODO keywords as types
The second possibility is to use TODO keywords to indicate different
_types_ of action items. For example, you might want to indicate that
items are for “work” or “home”. Or, when you work with several people
on a single project, you might want to assign action items directly to
persons, by using their names as TODO keywords. This would be set up
like this:
(setq org-todo-keywords '((type "Fred" "Sara" "Lucy" "|" "DONE")))
In this case, different keywords do not indicate a sequence, but
rather different types. So the normal work flow would be to assign a
task to a person, and later to mark it DONE. Org mode supports this
style by adapting the workings of the command ‘C-c C-t’(1). When used
several times in succession, it will still cycle through all names, in
order to first select the right type for a task. But when you return to
the item after some time and execute ‘C-c C-t’ again, it will switch
from any name directly to DONE. Use prefix arguments or completion to
quickly select a specific name. You can also review the items of a
specific TODO type in a sparse tree by using a numeric prefix to ‘C-c /
t’. For example, to see all things Lucy has to do, you would use ‘C-3
C-c / t’. To collect Lucy’s items from all agenda files into a single
buffer, you would use the numeric prefix argument as well when creating
the global TODO list: ‘C-3 C-c a t’.
---------- Footnotes ----------
(1) This is also true for the ‘t’ command in the agenda buffers.
File: org, Node: Multiple sets in one file, Next: Fast access to TODO states, Prev: TODO types, Up: TODO extensions
5.2.3 Multiple keyword sets in one file
Sometimes you may want to use different sets of TODO keywords in
parallel. For example, you may want to have the basic ‘TODO’/‘DONE’,
but also a workflow for bug fixing, and a separate state indicating that
an item has been canceled (so it is not DONE, but also does not require
action). Your setup would then look like this:
(setq org-todo-keywords
'((sequence "TODO" "|" "DONE")
(sequence "REPORT" "BUG" "KNOWNCAUSE" "|" "FIXED")
(sequence "|" "CANCELED")))
The keywords should all be different, this helps Org mode to keep
track of which subsequence should be used for a given entry. In this
setup, ‘C-c C-t’ only operates within a subsequence, so it switches from
‘DONE’ to (nothing) to ‘TODO’, and from ‘FIXED’ to (nothing) to
‘REPORT’. Therefore you need a mechanism to initially select the
correct sequence. Besides the obvious ways like typing a keyword or
using completion, you may also apply the following commands:
‘C-u C-u C-c C-t’
‘C-S-<RIGHT>’
‘C-S-<LEFT>’
These keys jump from one TODO subset to the next. In the above
example, ‘C-u C-u C-c C-t’ or ‘C-S-<RIGHT>’ would jump from ‘TODO’
or ‘DONE’ to ‘REPORT’, and any of the words in the second row to
‘CANCELED’. Note that the ‘C-S-’ key binding conflict with
‘shift-selection-mode’ (*note Conflicts::).
‘S-<RIGHT>’
‘S-<LEFT>’
‘S-<LEFT>’ and ‘S-<RIGHT>’ and walk through _all_ keywords from all
sets, so for example ‘S-<RIGHT>’ would switch from ‘DONE’ to
‘REPORT’ in the example above. See also *note Conflicts::, for a
discussion of the interaction with ‘shift-selection-mode’.
File: org, Node: Fast access to TODO states, Next: Per-file keywords, Prev: Multiple sets in one file, Up: TODO extensions
5.2.4 Fast access to TODO states
If you would like to quickly change an entry to an arbitrary TODO state
instead of cycling through the states, you can set up keys for
single-letter access to the states. This is done by adding the
selection character after each keyword, in parentheses(1). For example:
(setq org-todo-keywords
'((sequence "TODO(t)" "|" "DONE(d)")
(sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")
(sequence "|" "CANCELED(c)")))
If you then press ‘C-c C-t’ followed by the selection key, the entry
will be switched to this state. ‘<SPC>’ can be used to remove any TODO
keyword from an entry.(2)
---------- Footnotes ----------
(1) All characters are allowed except ‘@^!’, which have a special
meaning here.
(2) Check also the option ‘org-fast-tag-selection-include-todo’, it
allows you to change the TODO state through the tags interface (*note
Setting tags::), in case you like to mingle the two concepts. Note that
this means you need to come up with unique keys across both sets of
keywords.
File: org, Node: Per-file keywords, Next: Faces for TODO keywords, Prev: Fast access to TODO states, Up: TODO extensions
5.2.5 Setting up keywords for individual files
It can be very useful to use different aspects of the TODO mechanism in
to the file which set the keywords and interpretation for that file
only. For example, to set one of the two examples discussed above, you
need one of the following lines anywhere in the file:
#+TODO: TODO FEEDBACK VERIFY | DONE CANCELED
(you may also write ‘#+SEQ_TODO’ to be explicit about the
interpretation, but it means the same as ‘#+TODO’), or
#+TYP_TODO: Fred Sara Lucy Mike | DONE
A setup for using several sets in parallel would be:
#+TODO: TODO | DONE
#+TODO: REPORT BUG KNOWNCAUSE | FIXED
#+TODO: | CANCELED
To make sure you are using the correct keyword, type ‘#+’ into the
buffer and then use ‘M-<TAB>’ completion.
Remember that the keywords after the vertical bar (or the last
keyword if no bar is there) must always mean that the item is DONE
(although you may use a different word). After changing one of these
lines, use ‘C-c C-c’ with the cursor still in the line to make the
changes known to Org mode(1).
---------- Footnotes ----------
(1) Org mode parses these lines only when Org mode is activated after
visiting a file. ‘C-c C-c’ with the cursor in a line starting with ‘#+’
is simply restarting Org mode for the current buffer.
File: org, Node: Faces for TODO keywords, Next: TODO dependencies, Prev: Per-file keywords, Up: TODO extensions
5.2.6 Faces for TODO keywords
Org mode highlights TODO keywords with special faces: ‘org-todo’ for
keywords indicating that an item still has to be acted upon, and
‘org-done’ for keywords indicating that an item is finished. If you are
using more than 2 different states, you might want to use special faces
for some of them. This can be done using the option
‘org-todo-keyword-faces’. For example:
(setq org-todo-keyword-faces
'(("TODO" . org-warning) ("STARTED" . "yellow")
("CANCELED" . (:foreground "blue" :weight bold))))
While using a list with face properties as shown for CANCELED
_should_ work, this does not always seem to be the case. If necessary,
define a special face and use that. A string is interpreted as a color.
The option ‘org-faces-easy-properties’ determines if that color is
interpreted as a foreground or a background color.
File: org, Node: TODO dependencies, Prev: Faces for TODO keywords, Up: TODO extensions
5.2.7 TODO dependencies
The structure of Org files (hierarchy and lists) makes it easy to define
TODO dependencies. Usually, a parent TODO task should not be marked
DONE until all subtasks (defined as children tasks) are marked as DONE.
And sometimes there is a logical sequence to a number of (sub)tasks, so
that one task cannot be acted upon before all siblings above it are
done. If you customize the option ‘org-enforce-todo-dependencies’, Org
will block entries from changing state to DONE while they have children
that are not DONE. Furthermore, if an entry has a property ‘ORDERED’,
each of its children will be blocked until all earlier siblings are
marked DONE. Here is an example:
* TODO Blocked until (two) is done
** DONE one
** TODO two
* Parent
:PROPERTIES:
:ORDERED: t
:END:
** TODO a
** TODO b, needs to wait for (a)
** TODO c, needs to wait for (a) and (b)
You can ensure an entry is never blocked by using the ‘NOBLOCKING’
property:
* This entry is never blocked
:PROPERTIES:
:NOBLOCKING: t
:END:
‘C-c C-x o (org-toggle-ordered-property)’
Toggle the ‘ORDERED’ property of the current entry. A property is
used for this behavior because this should be local to the current
entry, not inherited like a tag. However, if you would like to
track the value of this property with a tag for better visibility,
customize the option ‘org-track-ordered-property-with-tag’.
‘C-u C-u C-u C-c C-t’
Change TODO state, circumventing any state blocking.
If you set the option ‘org-agenda-dim-blocked-tasks’, TODO entries
that cannot be closed because of such dependencies will be shown in a
dimmed font or even made invisible in agenda views (*note Agenda
views::).
You can also block changes of TODO states by looking at checkboxes
(*note Checkboxes::). If you set the option
‘org-enforce-todo-checkbox-dependencies’, an entry that has unchecked
checkboxes will be blocked from switching to DONE.
If you need more complex dependency structures, for example
dependencies between entries in different trees or files, check out the
contributed module ‘org-depend.el’.
File: org, Node: Progress logging, Next: Priorities, Prev: TODO extensions, Up: TODO items
5.3 Progress logging
====================
Org mode can automatically record a timestamp and possibly a note when
you mark a TODO item as DONE, or even each time you change the state of
a TODO item. This system is highly configurable; settings can be on a
per-keyword basis and can be localized to a file or even a subtree. For
information on how to clock working time for a task, see *note Clocking
work time::.
* Menu:
* Closing items:: When was this entry marked DONE?
* Tracking TODO state changes:: When did the status change?
* Tracking your habits:: How consistent have you been?
File: org, Node: Closing items, Next: Tracking TODO state changes, Up: Progress logging
5.3.1 Closing items
The most basic logging is to keep track of _when_ a certain TODO item
was finished. This is achieved with(1)
(setq org-log-done 'time)
Then each time you turn an entry from a TODO (not-done) state into any
of the DONE states, a line ‘CLOSED: [timestamp]’ will be inserted just
after the headline. If you turn the entry back into a TODO item through
further state cycling, that line will be removed again. If you turn the
entry back to a non-TODO state (by pressing ‘C-c C-t <SPC>’ for
example), that line will also be removed, unless you set
‘org-closed-keep-when-no-todo’ to non-‘nil’. If you want to record a
note along with the timestamp, use(2)
(setq org-log-done 'note)
You will then be prompted for a note, and that note will be stored below
the entry with a ‘Closing Note’ heading.
---------- Footnotes ----------
(1) The corresponding in-buffer setting is: ‘#+STARTUP: logdone’
(2) The corresponding in-buffer setting is: ‘#+STARTUP: lognotedone’.
File: org, Node: Tracking TODO state changes, Next: Tracking your habits, Prev: Closing items, Up: Progress logging
5.3.2 Tracking TODO state changes
When TODO keywords are used as workflow states (*note Workflow
states::), you might want to keep track of when a state change occurred
and maybe take a note about this change. You can either record just a
timestamp, or a time-stamped note for a change. These records will be
inserted after the headline as an itemized list, newest first(1). When
taking a lot of notes, you might want to get the notes out of the way
into a drawer (*note Drawers::). Customize ‘org-log-into-drawer’ to get
this behavior—the recommended drawer for this is called ‘LOGBOOK’(2).
You can also overrule the setting of this variable for a subtree by
setting a ‘LOG_INTO_DRAWER’ property.
Since it is normally too much to record a note for every state, Org
mode expects configuration on a per-keyword basis for this. This is
achieved by adding special markers ‘!’ (for a timestamp) or ‘@’ (for a
note with timestamp) in parentheses after each keyword. For example,
with the setting
(setq org-todo-keywords
'((sequence "TODO(t)" "WAIT(w@/!)" "|" "DONE(d!)" "CANCELED(c@)")))
To record a timestamp without a note for TODO keywords configured
with ‘@’, just type ‘C-c C-c’ to enter a blank note when prompted.
You not only define global TODO keywords and fast access keys, but also
request that a time is recorded when the entry is set to DONE(3), and
that a note is recorded when switching to WAIT or CANCELED. The setting
for WAIT is even more special: the ‘!’ after the slash means that in
addition to the note taken when entering the state, a timestamp should
be recorded when leaving the WAIT state, if and only if the target state
does not configure logging for entering it. So it has no effect when
switching from WAIT to DONE, because DONE is configured to record a
timestamp only. But when switching from WAIT back to TODO, the ‘/!’ in
the WAIT setting now triggers a timestamp even though TODO has no
logging configured.
You can use the exact same syntax for setting logging preferences
local to a buffer:
#+TODO: TODO(t) WAIT(w@/!) | DONE(d!) CANCELED(c@)
In order to define logging settings that are local to a subtree or a
single item, define a ‘LOGGING’ property in this entry. Any non-empty
‘LOGGING’ property resets all logging settings to ‘nil’. You may then
turn on logging for this specific tree using ‘#+STARTUP’ keywords like
‘lognotedone’ or ‘logrepeat’, as well as adding state specific settings
like ‘TODO(!)’. For example
* TODO Log each state with only a time
:PROPERTIES:
:LOGGING: TODO(!) WAIT(!) DONE(!) CANCELED(!)
:END:
* TODO Only log when switching to WAIT, and when repeating
:PROPERTIES:
:LOGGING: WAIT(@) logrepeat
:END:
* TODO No logging at all
:PROPERTIES:
:LOGGING: nil
:END:
---------- Footnotes ----------
(1) See the option ‘org-log-states-order-reversed’
(2) Note that the ‘LOGBOOK’ drawer is unfolded when pressing ‘<SPC>’
in the agenda to show an entry—use ‘C-u <SPC>’ to keep it folded here
(3) It is possible that Org mode will record two timestamps when you
are using both ‘org-log-done’ and state change logging. However, it
will never prompt for two notes—if you have configured both, the state
change recording note will take precedence and cancel the ‘Closing
Note’.
File: org, Node: Tracking your habits, Prev: Tracking TODO state changes, Up: Progress logging
5.3.3 Tracking your habits
Org has the ability to track the consistency of a special category of
TODOs, called “habits”. A habit has the following properties:
1. You have enabled the ‘habits’ module by customizing ‘org-modules’.
2. The habit is a TODO item, with a TODO keyword representing an open
state.
3. The property ‘STYLE’ is set to the value ‘habit’.
4. The TODO has a scheduled date, usually with a ‘.+’ style repeat
interval. A ‘++’ style may be appropriate for habits with time
constraints, e.g., must be done on weekends, or a ‘+’ style for an
unusual habit that can have a backlog, e.g., weekly reports.
5. The TODO may also have minimum and maximum ranges specified by
using the syntax ‘.+2d/3d’, which says that you want to do the task
at least every three days, but at most every two days.
6. You must also have state logging for the ‘DONE’ state enabled
(*note Tracking TODO state changes::), in order for historical data
to be represented in the consistency graph. If it is not enabled
it is not an error, but the consistency graphs will be largely
meaningless.
To give you an idea of what the above rules look like in action,
here’s an actual habit with some history:
** TODO Shave
SCHEDULED: <2009-10-17 Sat .+2d/4d>
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2009-10-19 Mon 00:36]
:END:
- State "DONE" from "TODO" [2009-10-15 Thu]
- State "DONE" from "TODO" [2009-10-12 Mon]
- State "DONE" from "TODO" [2009-10-10 Sat]
- State "DONE" from "TODO" [2009-10-04 Sun]
- State "DONE" from "TODO" [2009-10-02 Fri]
- State "DONE" from "TODO" [2009-09-29 Tue]
- State "DONE" from "TODO" [2009-09-25 Fri]
- State "DONE" from "TODO" [2009-09-19 Sat]
- State "DONE" from "TODO" [2009-09-16 Wed]
- State "DONE" from "TODO" [2009-09-12 Sat]
What this habit says is: I want to shave at most every 2 days (given
by the ‘SCHEDULED’ date and repeat interval) and at least every 4 days.
If today is the 15th, then the habit first appears in the agenda on Oct
17, after the minimum of 2 days has elapsed, and will appear overdue on
Oct 19, after four days have elapsed.
What’s really useful about habits is that they are displayed along
with a consistency graph, to show how consistent you’ve been at getting
that task done in the past. This graph shows every day that the task
was done over the past three weeks, with colors for each day. The
colors used are:
‘Blue’
If the task wasn’t to be done yet on that day.
‘Green’
If the task could have been done on that day.
‘Yellow’
If the task was going to be overdue the next day.
‘Red’
If the task was overdue on that day.
In addition to coloring each day, the day is also marked with an
asterisk if the task was actually done that day, and an exclamation mark
to show where the current day falls in the graph.
There are several configuration variables that can be used to change
the way habits are displayed in the agenda.
‘org-habit-graph-column’
The buffer column at which the consistency graph should be drawn.
This will overwrite any text in that column, so it is a good idea
to keep your habits’ titles brief and to the point.
‘org-habit-preceding-days’
The amount of history, in days before today, to appear in
consistency graphs.
‘org-habit-following-days’
The number of days after today that will appear in consistency
graphs.
‘org-habit-show-habits-only-for-today’
If non-‘nil’, only show habits in today’s agenda view. This is set
to true by default.
Lastly, pressing ‘K’ in the agenda buffer will cause habits to
temporarily be disabled and they won’t appear at all. Press ‘K’ again
to bring them back. They are also subject to tag filtering, if you have
habits which should only be done in certain contexts, for example.
File: org, Node: Priorities, Next: Breaking down tasks, Prev: Progress logging, Up: TODO items
5.4 Priorities
==============
If you use Org mode extensively, you may end up with enough TODO items
that it starts to make sense to prioritize them. Prioritizing can be
done by placing a _priority cookie_ into the headline of a TODO item,
like this
*** TODO [#A] Write letter to Sam Fortune
By default, Org mode supports three priorities: ‘A’, ‘B’, and ‘C’. ‘A’
is the highest priority. An entry without a cookie is treated just like
priority ‘B’. Priorities make a difference only for sorting in the
agenda (*note Weekly/daily agenda::); outside the agenda, they have no
inherent meaning to Org mode. The cookies can be highlighted with
special faces by customizing ‘org-priority-faces’.
Priorities can be attached to any outline node; they do not need to
be TODO items.
‘C-c ,’
Set the priority of the current headline (‘org-priority’). The
command prompts for a priority character ‘A’, ‘B’ or ‘C’. When you
press <SPC> instead, the priority cookie is removed from the
headline. The priorities can also be changed “remotely” from the
agenda buffer with the ‘,’ command (*note Agenda commands::).
‘S-<UP> (org-priority-up)’
‘S-<DOWN> (org-priority-down)’
Increase/decrease priority of current headline(1). Note that these
keys are also used to modify timestamps (*note Creating
timestamps::). See also *note Conflicts::, for a discussion of the
interaction with ‘shift-selection-mode’.
You can change the range of allowed priorities by setting the options
‘org-highest-priority’, ‘org-lowest-priority’, and
‘org-default-priority’. For an individual buffer, you may set these
values (highest, lowest, default) like this (please make sure that the
highest priority is earlier in the alphabet than the lowest priority):
#+PRIORITIES: A C B
---------- Footnotes ----------
(1) See also the option ‘org-priority-start-cycle-with-default’.
File: org, Node: Breaking down tasks, Next: Checkboxes, Prev: Priorities, Up: TODO items
5.5 Breaking tasks down into subtasks
=====================================
It is often advisable to break down large tasks into smaller, manageable
subtasks. You can do this by creating an outline tree below a TODO
item, with detailed subtasks on the tree(1). To keep the overview over
the fraction of subtasks that are already completed, insert either ‘[/]’
or ‘[%]’ anywhere in the headline. These cookies will be updated each
time the TODO status of a child changes, or when pressing ‘C-c C-c’ on
the cookie. For example:
* Organize Party [33%]
** TODO Call people [1/2]
*** TODO Peter
*** DONE Sarah
** TODO Buy food
** DONE Talk to neighbor
If a heading has both checkboxes and TODO children below it, the
meaning of the statistics cookie become ambiguous. Set the property
‘COOKIE_DATA’ to either ‘checkbox’ or ‘todo’ to resolve this issue.
If you would like to have the statistics cookie count any TODO
entries in the subtree (not just direct children), configure
‘org-hierarchical-todo-statistics’. To do this for a single subtree,
include the word ‘recursive’ into the value of the ‘COOKIE_DATA’
property.
* Parent capturing statistics [2/20]
:PROPERTIES:
:COOKIE_DATA: todo recursive
:END:
If you would like a TODO entry to automatically change to DONE when
all children are done, you can use the following setup:
(defun org-summary-todo (n-done n-not-done)
"Switch entry to DONE when all subentries are done, to TODO otherwise."
(let (org-log-done org-log-states) ; turn off logging
(org-todo (if (= n-not-done 0) "DONE" "TODO"))))
(add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
Another possibility is the use of checkboxes to identify (a hierarchy
of) a large number of subtasks (*note Checkboxes::).
---------- Footnotes ----------
(1) To keep subtasks out of the global TODO list, see the
‘org-agenda-todo-list-sublevels’.
File: org, Node: Checkboxes, Prev: Breaking down tasks, Up: TODO items
5.6 Checkboxes
==============
Every item in a plain list(1) (*note Plain lists::) can be made into a
checkbox by starting it with the string ‘[ ]’. This feature is similar
to TODO items (*note TODO items::), but is more lightweight. Checkboxes
are not included in the global TODO list, so they are often great to
split a task into a number of simple steps. Or you can use them in a
shopping list. To toggle a checkbox, use ‘C-c C-c’, or use the mouse
(thanks to Piotr Zielinski’s ‘org-mouse.el’).
Here is an example of a checkbox list.
* TODO Organize party [2/4]
- [-] call people [1/3]
- [ ] Peter
- [X] Sarah
- [ ] Sam
- [X] order food
- [ ] think about what music to play
- [X] talk to the neighbors
Checkboxes work hierarchically, so if a checkbox item has children
that are checkboxes, toggling one of the children checkboxes will make
the parent checkbox reflect if none, some, or all of the children are
checked.
The ‘[2/4]’ and ‘[1/3]’ in the first and second line are cookies
indicating how many checkboxes present in this entry have been checked
off, and the total number of checkboxes present. This can give you an
idea on how many checkboxes remain, even without opening a folded entry.
The cookies can be placed into a headline or into (the first line of) a
plain list item. Each cookie covers checkboxes of direct children
structurally below the headline/item on which the cookie appears(2).
You have to insert the cookie yourself by typing either ‘[/]’ or ‘[%]’.
With ‘[/]’ you get an ‘n out of m’ result, as in the examples above.
With ‘[%]’ you get information about the percentage of checkboxes
checked (in the above example, this would be ‘[50%]’ and ‘[33%]’,
respectively). In a headline, a cookie can count either checkboxes
below the heading or TODO states of children, and it will display
whatever was changed last. Set the property ‘COOKIE_DATA’ to either
‘checkbox’ or ‘todo’ to resolve this issue.
If the current outline node has an ‘ORDERED’ property, checkboxes
must be checked off in sequence, and an error will be thrown if you try
to check off a box while there are unchecked boxes above it.
The following commands work with checkboxes:
‘C-c C-c (org-toggle-checkbox)’
Toggle checkbox status or (with prefix arg) checkbox presence at
point. With a single prefix argument, add an empty checkbox or
remove the current one(3). With a double prefix argument, set it
to ‘[-]’, which is considered to be an intermediate state.
‘C-c C-x C-b (org-toggle-checkbox)’
Toggle checkbox status or (with prefix arg) checkbox presence at
point. With double prefix argument, set it to ‘[-]’, which is
considered to be an intermediate state.
− If there is an active region, toggle the first checkbox in the
region and set all remaining boxes to the same status as the
first. With a prefix arg, add or remove the checkbox for all
items in the region.
− If the cursor is in a headline, toggle the state of the first
checkbox in the region between this headline and the next—so
_not_ the entire subtree—and propagate this new state to all
other checkboxes in the same area.
− If there is no active region, just toggle the checkbox at
point.
‘M-S-<RET> (org-insert-todo-heading)’
Insert a new item with a checkbox. This works only if the cursor
is already in a plain list item (*note Plain lists::).
‘C-c C-x o (org-toggle-ordered-property)’
Toggle the ‘ORDERED’ property of the entry, to toggle if checkboxes
must be checked off in sequence. A property is used for this
behavior because this should be local to the current entry, not
inherited like a tag. However, if you would like to track the
value of this property with a tag for better visibility, customize
‘org-track-ordered-property-with-tag’.
‘C-c # (org-update-statistics-cookies)’
Update the statistics cookie in the current outline entry. When
called with a ‘C-u’ prefix, update the entire file. Checkbox
statistic cookies are updated automatically if you toggle
checkboxes with ‘C-c C-c’ and make new ones with ‘M-S-<RET>’. TODO
statistics cookies update when changing TODO states. If you delete
boxes/entries or add/change them by hand, use this command to get
things back into sync.
---------- Footnotes ----------
(1) With the exception of description lists. But you can allow it by
modifying ‘org-list-automatic-rules’ accordingly.
(2) Set the option ‘org-checkbox-hierarchical-statistics’ if you want
such cookies to count all checkboxes below the cookie, not just those
belonging to direct children.
(3) ‘C-u C-c C-c’ before the _first_ bullet in a list with no
checkbox will add checkboxes to the rest of the list.
File: org, Node: Tags, Next: Properties and columns, Prev: TODO items, Up: Top
6 Tags
******
An excellent way to implement labels and contexts for cross-correlating
information is to assign tags to headlines. Org mode has extensive
support for tags.
Every headline can contain a list of tags; they occur at the end of
the headline. Tags are normal words containing letters, numbers, ‘_’,
and ‘@’. Tags must be preceded and followed by a single colon, e.g.,
‘:work:’. Several tags can be specified, as in ‘:work:urgent:’. Tags
will by default be in bold face with the same color as the headline.
You may specify special faces for specific tags using the option
‘org-tag-faces’, in much the same way as you can for TODO keywords
(*note Faces for TODO keywords::).
* Menu:
* Tag inheritance:: Tags use the tree structure of the outline
* Setting tags:: How to assign tags to a headline
* Tag hierarchy:: Create a hierarchy of tags
* Tag searches:: Searching for combinations of tags
File: org, Node: Tag inheritance, Next: Setting tags, Up: Tags
6.1 Tag inheritance
===================
Tags make use of the hierarchical structure of outline trees. If a
heading has a certain tag, all subheadings will inherit the tag as well.
For example, in the list
* Meeting with the French group :work:
** Summary by Frank :boss:notes:
*** TODO Prepare slides for him :action:
the final heading will have the tags ‘:work:’, ‘:boss:’, ‘:notes:’, and
‘:action:’ even though the final heading is not explicitly marked with
all those tags. You can also set tags that all entries in a file should
inherit just as if these tags were defined in a hypothetical level zero
that surrounds the entire file. Use a line like this(1):
#+FILETAGS: :Peter:Boss:Secret:
To limit tag inheritance to specific tags, use
‘org-tags-exclude-from-inheritance’. To turn it off entirely, use
‘org-use-tag-inheritance’.
When a headline matches during a tags search while tag inheritance is
turned on, all the sublevels in the same tree will (for a simple match
form) match as well(2). The list of matches may then become very long.
If you only want to see the first tags match in a subtree, configure
‘org-tags-match-list-sublevels’ (not recommended).
Tag inheritance is relevant when the agenda search tries to match a
tag, either in the ‘tags’ or ‘tags-todo’ agenda types. In other agenda
types, ‘org-use-tag-inheritance’ has no effect. Still, you may want to
have your tags correctly set in the agenda, so that tag filtering works
fine, with inherited tags. Set ‘org-agenda-use-tag-inheritance’ to
control this: the default value includes all agenda types, but setting
this to ‘nil’ can really speed up agenda generation.
---------- Footnotes ----------
(1) As with all these in-buffer settings, pressing ‘C-c C-c’
activates any changes in the line.
(2) This is only true if the search does not involve more complex
tests including properties (*note Property searches::).
File: org, Node: Setting tags, Next: Tag hierarchy, Prev: Tag inheritance, Up: Tags
6.2 Setting tags
================
Tags can simply be typed into the buffer at the end of a headline.
After a colon, ‘M-<TAB>’ offers completion on tags. There is also a
special command for inserting tags:
‘C-c C-q (org-set-tags-command)’
Enter new tags for the current headline. Org mode will either
offer completion or a special single-key interface for setting
tags, see below. After pressing <RET>, the tags will be inserted
and aligned to ‘org-tags-column’. When called with a ‘C-u’ prefix,
all tags in the current buffer will be aligned to that column, just
to make things look nice. TAGS are automatically realigned after
promotion, demotion, and TODO state changes (*note TODO basics::).
‘C-c C-c (org-set-tags-command)’
When the cursor is in a headline, this does the same as ‘C-c C-q’.
Org supports tag insertion based on a _list of tags_. By default
this list is constructed dynamically, containing all tags currently used
in the buffer. You may also globally specify a hard list of tags with
the variable ‘org-tag-alist’. Finally you can set the default tags for
a given file with lines like
#+TAGS: @work @home @tennisclub
#+TAGS: laptop car pc sailboat
If you have globally defined your preferred set of tags using the
variable ‘org-tag-alist’, but would like to use a dynamic tag list in a
specific file, add an empty TAGS option line to that file:
#+TAGS:
If you have a preferred set of tags that you would like to use in
every file, in addition to those defined on a per-file basis by TAGS
option lines, then you may specify a list of tags with the variable
‘org-tag-persistent-alist’. You may turn this off on a per-file basis
by adding a ‘#+STARTUP’ option line to that file:
#+STARTUP: noptag
By default Org mode uses the standard minibuffer completion
facilities for entering tags. However, it also implements another,
quicker, tag selection method called _fast tag selection_. This allows
you to select and deselect tags with just a single key press. For this
to work well you should assign unique, case-sensitive, letters to most
of your commonly used tags. You can do this globally by configuring the
variable ‘org-tag-alist’ in your Emacs init file. For example, you may
find the need to tag many items in different files with ‘:@home:’. In
this case you can set something like:
(setq org-tag-alist '(("@work" . ?w) ("@home" . ?h) ("laptop" . ?l)))
If the tag is only relevant to the file you are working on, then you can
instead set the TAGS option line as:
#+TAGS: @work(w) @home(h) @tennisclub(t) laptop(l) pc(p)
The tags interface will show the available tags in a splash window. If
you want to start a new line after a specific tag, insert ‘\n’ into the
tag list
#+TAGS: @work(w) @home(h) @tennisclub(t) \n laptop(l) pc(p)
or write them in two lines:
#+TAGS: @work(w) @home(h) @tennisclub(t)
#+TAGS: laptop(l) pc(p)
You can also group together tags that are mutually exclusive by using
braces, as in:
#+TAGS: { @work(w) @home(h) @tennisclub(t) } laptop(l) pc(p)
you indicate that at most one of ‘@work’, ‘@home’, and ‘@tennisclub’
should be selected. Multiple such groups are allowed.
Don’t forget to press ‘C-c C-c’ with the cursor in one of these lines to
activate any changes.
To set these mutually exclusive groups in the variable ‘org-tag-alist’,
you must use the dummy tags ‘:startgroup’ and ‘:endgroup’ instead of the
braces. Similarly, you can use ‘:newline’ to indicate a line break.
The previous example would be set globally by the following
configuration:
(setq org-tag-alist '((:startgroup . nil)
("@work" . ?w) ("@home" . ?h)
("@tennisclub" . ?t)
(:endgroup . nil)
("laptop" . ?l) ("pc" . ?p)))
If at least one tag has a selection key then pressing ‘C-c C-c’ will
automatically present you with a special interface, listing inherited
tags, the tags of the current headline, and a list of all valid tags
with corresponding keys(1).
Pressing keys assigned to tags will add or remove them from the list
of tags in the current line. Selecting a tag in a group of mutually
exclusive tags will turn off any other tags from that group.
In this interface, you can also use the following special keys:
‘<TAB>’
Enter a tag in the minibuffer, even if the tag is not in the
predefined list. You will be able to complete on all tags present
in the buffer. You can also add several tags: just separate them
with a comma.
‘<SPC>’
Clear all tags for this line.
‘<RET>’
Accept the modified set.
‘C-g’
Abort without installing changes.
‘q’
If ‘q’ is not assigned to a tag, it aborts like ‘C-g’.
‘!’
Turn off groups of mutually exclusive tags. Use this to (as an
exception) assign several tags from such a group.
‘C-c’
Toggle auto-exit after the next change (see below). If you are
using expert mode, the first ‘C-c’ will display the selection
window.
This method lets you assign tags to a headline with very few keys. With
the above setup, you could clear the current tags and set ‘@home’,
‘laptop’ and ‘pc’ tags with just the following keys: ‘C-c C-c <SPC> h l
p <RET>’. Switching from ‘@home’ to ‘@work’ would be done with ‘C-c C-c
w <RET>’ or alternatively with ‘C-c C-c C-c w’. Adding the
non-predefined tag ‘Sarah’ could be done with ‘C-c C-c <TAB> S a r a h
<RET> <RET>’.
If you find that most of the time you need only a single key press to
modify your list of tags, set ‘org-fast-tag-selection-single-key’. Then
you no longer have to press <RET> to exit fast tag selection—it will
immediately exit after the first change. If you then occasionally need
more keys, press ‘C-c’ to turn off auto-exit for the current tag
selection process (in effect: start selection with ‘C-c C-c C-c’ instead
of ‘C-c C-c’). If you set the variable to the value ‘expert’, the
special window is not even shown for single-key tag selection, it comes
up only when you press an extra ‘C-c’.
---------- Footnotes ----------
(1) Keys will automatically be assigned to tags which have no
configured keys.
File: org, Node: Tag hierarchy, Next: Tag searches, Prev: Setting tags, Up: Tags
6.3 Tag hierarchy
=================
Tags can be defined in hierarchies. A tag can be defined as a _group
tag_ for a set of other tags. The group tag can be seen as the “broader
term” for its set of tags. Defining multiple _group tags_ and nesting
them creates a tag hierarchy.
One use-case is to create a taxonomy of terms (tags) that can be used
to classify nodes in a document or set of documents.
When you search for a group tag, it will return matches for all
members in the group and its subgroups. In an agenda view, filtering by
a group tag will display or hide headlines tagged with at least one of
the members of the group or any of its subgroups. This makes tag
searches and filters even more flexible.
You can set group tags by using brackets and inserting a colon
between the group tag and its related tags—beware that all whitespaces
are mandatory so that Org can parse this line correctly:
#+TAGS: [ GTD : Control Persp ]
In this example, ‘GTD’ is the _group tag_ and it is related to two
other tags: ‘Control’, ‘Persp’. Defining ‘Control’ and ‘Persp’ as group
tags creates a hierarchy of tags:
#+TAGS: [ Control : Context Task ]
#+TAGS: [ Persp : Vision Goal AOF Project ]
That can conceptually be seen as a hierarchy of tags:
- GTD
- Persp
- Vision
- Goal
- AOF
- Project
- Control
- Context
- Task
You can use the ‘:startgrouptag’, ‘:grouptags’ and ‘:endgrouptag’
keyword directly when setting ‘org-tag-alist’ directly:
(setq org-tag-alist '((:startgrouptag)
("GTD")
(:grouptags)
("Control")
("Persp")
(:endgrouptag)
(:startgrouptag)
("Control")
(:grouptags)
("Context")
("Task")
(:endgrouptag)))
The tags in a group can be mutually exclusive if using the same group
syntax as is used for grouping mutually exclusive tags together; using
curly brackets.
#+TAGS: { Context : @Home @Work @Call }
When setting ‘org-tag-alist’ you can use ‘:startgroup’ & ‘:endgroup’
instead of ‘:startgrouptag’ & ‘:endgrouptag’ to make the tags mutually
exclusive.
Furthermore, the members of a _group tag_ can also be regular
expressions, creating the possibility of a more dynamic and rule-based
tag structure. The regular expressions in the group must be specified
within { }. Here is an expanded example:
#+TAGS: [ Vision : {V@.+} ]
#+TAGS: [ Goal : {G@.+} ]
#+TAGS: [ AOF : {AOF@.+} ]
#+TAGS: [ Project : {P@.+} ]
Searching for the tag ‘Project’ will now list all tags also including
regular expression matches for ‘P@.+’, and similarly for tag searches on
‘Vision’, ‘Goal’ and ‘AOF’. For example, this would work well for a
project tagged with a common project-identifier, e.g. ‘P@2014_OrgTags’.
If you want to ignore group tags temporarily, toggle group tags
support with ‘org-toggle-tags-groups’, bound to ‘C-c C-x q’. If you
want to disable tag groups completely, set ‘org-group-tags’ to ‘nil’.
File: org, Node: Tag searches, Prev: Tag hierarchy, Up: Tags
6.4 Tag searches
================
Once a system of tags has been set up, it can be used to collect related
information into special lists.
‘C-c / m or C-c \ (org-match-sparse-tree)’
Create a sparse tree with all headlines matching a
tags/property/TODO search. With a ‘C-u’ prefix argument, ignore
headlines that are not a TODO line. *Note Matching tags and
properties::.
‘C-c a m (org-tags-view)’
Create a global list of tag matches from all agenda files. *Note
Matching tags and properties::.
‘C-c a M (org-tags-view)’
Create a global list of tag matches from all agenda files, but
check only TODO items and force checking subitems (see the option
‘org-tags-match-list-sublevels’).
These commands all prompt for a match string which allows basic
Boolean logic like ‘+boss+urgent-project1’, to find entries with tags
‘boss’ and ‘urgent’, but not ‘project1’, or ‘Kathy|Sally’ to find
entries tagged as ‘Kathy’ or ‘Sally’. The full syntax of the search
string is rich and allows also matching against TODO keywords, entry
levels and properties. For a complete description with many examples,
see *note Matching tags and properties::.
File: org, Node: Properties and columns, Next: Dates and times, Prev: Tags, Up: Top
7 Properties and columns
************************
A property is a key-value pair associated with an entry. Properties can
be set so they are associated with a single entry, with every entry in a
tree, or with every entry in an Org mode file.
There are two main applications for properties in Org mode. First,
properties are like tags, but with a value. Imagine maintaining a file
where you document bugs and plan releases for a piece of software.
Instead of using tags like ‘:release_1:’, ‘:release_2:’, you can use a
property, say ‘:Release:’, that in different subtrees has different
values, such as ‘1.0’ or ‘2.0’. Second, you can use properties to
implement (very basic) database capabilities in an Org buffer. Imagine
keeping track of your music CDs, where properties could be things such
as the album, artist, date of release, number of tracks, and so on.
Properties can be conveniently edited and viewed in column view
(*note Column view::).
* Menu:
* Property syntax:: How properties are spelled out
* Special properties:: Access to other Org mode features
* Property searches:: Matching property values
* Property inheritance:: Passing values down the tree
* Column view:: Tabular viewing and editing
* Property API:: Properties for Lisp programmers
File: org, Node: Property syntax, Next: Special properties, Up: Properties and columns
7.1 Property syntax
===================
Properties are key-value pairs. When they are associated with a single
entry or with a tree they need to be inserted into a special drawer
(*note Drawers::) with the name ‘PROPERTIES’, which has to be located
right below a headline, and its planning line (*note Deadlines and
scheduling::) when applicable. Each property is specified on a single
line, with the key (surrounded by colons) first, and the value after it.
Keys are case-insensitive. Here is an example:
* CD collection
** Classic
*** Goldberg Variations
:PROPERTIES:
:Title: Goldberg Variations
:Composer: J.S. Bach
:Artist: Glen Gould
:Publisher: Deutsche Grammophon
:NDisks: 1
:END:
Depending on the value of ‘org-use-property-inheritance’, a property
set this way will either be associated with a single entry, or the
subtree defined by the entry, see *note Property inheritance::.
You may define the allowed values for a particular property ‘:Xyz:’
by setting a property ‘:Xyz_ALL:’. This special property is
_inherited_, so if you set it in a level 1 entry, it will apply to the
entire tree. When allowed values are defined, setting the corresponding
property becomes easier and is less prone to typing errors. For the
example with the CD collection, we can predefine publishers and the
number of disks in a box like this:
* CD collection
:PROPERTIES:
:NDisks_ALL: 1 2 3 4
:Publisher_ALL: "Deutsche Grammophon" Philips EMI
:END:
If you want to set properties that can be inherited by any entry in a
file, use a line like
#+PROPERTY: NDisks_ALL 1 2 3 4
Contrary to properties set from a special drawer, you have to refresh
the buffer with ‘C-c C-c’ to activate this change.
If you want to add to the value of an existing property, append a ‘+’
to the property name. The following results in the property ‘var’
having the value “foo=1 bar=2”.
#+PROPERTY: var foo=1
#+PROPERTY: var+ bar=2
It is also possible to add to the values of inherited properties.
The following results in the ‘genres’ property having the value “Classic
Baroque” under the ‘Goldberg Variations’ subtree.
* CD collection
** Classic
:PROPERTIES:
:GENRES: Classic
:END:
*** Goldberg Variations
:PROPERTIES:
:Title: Goldberg Variations
:Composer: J.S. Bach
:Artist: Glen Gould
:Publisher: Deutsche Grammophon
:NDisks: 1
:GENRES+: Baroque
:END:
Note that a property can only have one entry per Drawer.
Property values set with the global variable ‘org-global-properties’
can be inherited by all entries in all Org files.
The following commands help to work with properties:
‘M-<TAB> (pcomplete)’
After an initial colon in a line, complete property keys. All keys
used in the current file will be offered as possible completions.
‘C-c C-x p (org-set-property)’
Set a property. This prompts for a property name and a value. If
necessary, the property drawer is created as well.
‘C-u M-x org-insert-drawer <RET>’
Insert a property drawer into the current entry. The drawer will
be inserted early in the entry, but after the lines with planning
information like deadlines.
‘C-c C-c (org-property-action)’
With the cursor in a property drawer, this executes property
commands.
‘C-c C-c s (org-set-property)’
Set a property in the current entry. Both the property and the
value can be inserted using completion.
‘S-<RIGHT> (org-property-next-allowed-value)’
‘S-<LEFT> (org-property-previous-allowed-value)’
Switch property at point to the next/previous allowed value.
‘C-c C-c d (org-delete-property)’
Remove a property from the current entry.
‘C-c C-c D (org-delete-property-globally)’
Globally remove a property, from all entries in the current file.
‘C-c C-c c (org-compute-property-at-point)’
Compute the property at point, using the operator and scope from
the nearest column format definition.
File: org, Node: Special properties, Next: Property searches, Prev: Property syntax, Up: Properties and columns
7.2 Special properties
======================
Special properties provide an alternative access method to Org mode
features, like the TODO state or the priority of an entry, discussed in
the previous chapters. This interface exists so that you can include
these states in a column view (*note Column view::), or to use them in
queries. The following property names are special and should not be
used as keys in the properties drawer:
ALLTAGS All tags, including inherited ones.
BLOCKED "t" if task is currently blocked by children or siblings.
CLOCKSUM The sum of CLOCK intervals in the subtree. ‘org-clock-sum’
must be run first to compute the values in the current buffer.
CLOCKSUM_T The sum of CLOCK intervals in the subtree for today.
‘org-clock-sum-today’ must be run first to compute the
values in the current buffer.
CLOSED When was this entry closed?
DEADLINE The deadline time string, without the angular brackets.
FILE The filename the entry is located in.
ITEM The headline of the entry.
PRIORITY The priority of the entry, a string with a single letter.
SCHEDULED The scheduling timestamp, without the angular brackets.
TAGS The tags defined directly in the headline.
TIMESTAMP The first keyword-less timestamp in the entry.
TIMESTAMP_IA The first inactive timestamp in the entry.
TODO The TODO keyword of the entry.
File: org, Node: Property searches, Next: Property inheritance, Prev: Special properties, Up: Properties and columns
7.3 Property searches
=====================
To create sparse trees and special lists with selection based on
properties, the same commands are used as for tag searches (*note Tag
searches::).
‘C-c / m or C-c \ (org-match-sparse-tree)’
Create a sparse tree with all matching entries. With a ‘C-u’
prefix argument, ignore headlines that are not a TODO line.
‘C-c a m (org-tags-view)’
Create a global list of tag/property matches from all agenda files.
*Note Matching tags and properties::.
‘C-c a M (org-tags-view)’
Create a global list of tag matches from all agenda files, but
check only TODO items and force checking of subitems (see the
option ‘org-tags-match-list-sublevels’).
The syntax for the search string is described in *note Matching tags
and properties::.
There is also a special command for creating sparse trees based on a
single property:
‘C-c / p’
Create a sparse tree based on the value of a property. This first
prompts for the name of a property, and then for a value. A sparse
tree is created with all entries that define this property with the
given value. If you enclose the value in curly braces, it is
interpreted as a regular expression and matched against the
property values.
File: org, Node: Property inheritance, Next: Column view, Prev: Property searches, Up: Properties and columns
7.4 Property Inheritance
========================
The outline structure of Org mode documents lends itself to an
inheritance model of properties: if the parent in a tree has a certain
property, the children can inherit this property. Org mode does not
turn this on by default, because it can slow down property searches
significantly and is often not needed. However, if you find inheritance
useful, you can turn it on by setting the variable
‘org-use-property-inheritance’. It may be set to ‘t’ to make all
properties inherited from the parent, to a list of properties that
should be inherited, or to a regular expression that matches inherited
properties. If a property has the value ‘nil’, this is interpreted as
an explicit undefine of the property, so that inheritance search will
stop at this value and return ‘nil’.
Org mode has a few properties for which inheritance is hard-coded, at
least for the special applications for which they are used:
‘COLUMNS’
The ‘:COLUMNS:’ property defines the format of column view (*note
Column view::). It is inherited in the sense that the level where
a ‘:COLUMNS:’ property is defined is used as the starting point for
a column view table, independently of the location in the subtree
from where columns view is turned on.
‘CATEGORY’
For agenda view, a category set through a ‘:CATEGORY:’ property
applies to the entire subtree.
‘ARCHIVE’
For archiving, the ‘:ARCHIVE:’ property may define the archive
location for the entire subtree (*note Moving subtrees::).
‘LOGGING’
The ‘LOGGING’ property may define logging settings for an entry or
a subtree (*note Tracking TODO state changes::).
File: org, Node: Column view, Next: Property API, Prev: Property inheritance, Up: Properties and columns
7.5 Column view
===============
A great way to view and edit properties in an outline tree is _column
view_. In column view, each outline node is turned into a table row.
Columns in this table provide access to properties of the entries. Org
mode implements columns by overlaying a tabular structure over the
headline of each item. While the headlines have been turned into a
table row, you can still change the visibility of the outline tree. For
example, you get a compact table by switching to CONTENTS view (‘S-<TAB>
S-<TAB>’, or simply ‘c’ while column view is active), but you can still
open, read, and edit the entry below each headline. Or, you can switch
to column view after executing a sparse tree command and in this way get
a table only for the selected items. Column view also works in agenda
buffers (*note Agenda views::) where queries have collected selected
items, possibly from a number of files.
* Menu:
* Defining columns:: The COLUMNS format property
* Using column view:: How to create and use column view
* Capturing column view:: A dynamic block for column view
File: org, Node: Defining columns, Next: Using column view, Up: Column view
7.5.1 Defining columns
Setting up a column view first requires defining the columns. This is
done by defining a column format line.
* Menu:
* Scope of column definitions:: Where defined, where valid?
* Column attributes:: Appearance and content of a column
File: org, Node: Scope of column definitions, Next: Column attributes, Up: Defining columns
7.5.1.1 Scope of column definitions
...................................
To define a column format for an entire file, use a line like
#+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
To specify a format that only applies to a specific tree, add a
‘:COLUMNS:’ property to the top node of that tree, for example:
** Top node for columns view
:PROPERTIES:
:COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
:END:
If a ‘:COLUMNS:’ property is present in an entry, it defines columns
for the entry itself, and for the entire subtree below it. Since the
column definition is part of the hierarchical structure of the document,
you can define columns on level 1 that are general enough for all
sublevels, and more specific columns further down, when you edit a
deeper part of the tree.
File: org, Node: Column attributes, Prev: Scope of column definitions, Up: Defining columns
7.5.1.2 Column attributes
.........................
A column definition sets the attributes of a column. The general
definition looks like this:
%[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}]
Except for the percent sign and the property name, all items are
optional. The individual parts have the following meaning:
WIDTH An integer specifying the width of the column in characters.
If omitted, the width will be determined automatically.
PROPERTY The property that should be edited in this column.
Special properties representing meta data are allowed here
as well (*note Special properties::)
TITLE The header text for the column. If omitted, the property
name is used.
{SUMMARY-TYPE} The summary type. If specified, the column values for
parent nodes are computed from the children(1).
Supported summary types are:
{+} Sum numbers in this column.
{+;%.1f} Like ‘+’, but format result with ‘%.1f’.
{$} Currency, short for ‘+;%.2f’.
{min} Smallest number in column.
{max} Largest number.
{mean} Arithmetic mean of numbers.
{X} Checkbox status, ‘[X]’ if all children are ‘[X]’.
{X/} Checkbox status, ‘[n/m]’.
{X%} Checkbox status, ‘[n%]’.
{:} Sum times, HH:MM, plain numbers are
hours(2).
{:min} Smallest time value in column.
{:max} Largest time value.
{:mean} Arithmetic mean of time values.
{@min} Minimum age(3) (in
days/hours/mins/seconds).
{@max} Maximum age (in days/hours/mins/seconds).
{@mean} Arithmetic mean of ages (in days/hours/mins/seconds).
{est+} Add ‘low-high’ estimates.
The ‘est+’ summary type requires further explanation. It is used for
combining estimates, expressed as ‘low-high’ ranges or plain numbers.
For example, instead of estimating a particular task will take 5 days,
you might estimate it as 5–6 days if you’re fairly confident you know
how much work is required, or 1–10 days if you don’t really know what
needs to be done. Both ranges average at 5.5 days, but the first
represents a more predictable delivery.
When combining a set of such estimates, simply adding the lows and
highs produces an unrealistically wide result. Instead, ‘est+’ adds the
statistical mean and variance of the sub-tasks, generating a final
estimate from the sum. For example, suppose you had ten tasks, each of
which was estimated at 0.5 to 2 days of work. Straight addition
produces an estimate of 5 to 20 days, representing what to expect if
everything goes either extremely well or extremely poorly. In contrast,
‘est+’ estimates the full job more realistically, at 10–15 days.
Numbers are right-aligned when a format specifier with an explicit
width like ‘%5d’ or ‘%5.1f’ is used.
You can also define custom summary types by setting
‘org-columns-summary-types’, which see.
Here is an example for a complete columns definition, along with
allowed values.
:COLUMNS: %25ITEM %9Approved(Approved?){X} %Owner %11Status \(4)
%10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T
:Owner_ALL: Tammy Mark Karl Lisa Don
:Status_ALL: "In progress" "Not started yet" "Finished" ""
:Approved_ALL: "[ ]" "[X]"
The first column, ‘%25ITEM’, means the first 25 characters of the item
itself, i.e., of the headline. You probably always should start the
column definition with the ‘ITEM’ specifier. The other specifiers
create columns ‘Owner’ with a list of names as allowed values, for
‘Status’ with four different possible values, and for a checkbox field
‘Approved’. When no width is given after the ‘%’ character, the column
will be exactly as wide as it needs to be in order to fully display all
values. The ‘Approved’ column does have a modified title (‘Approved?’,
with a question mark). Summaries will be created for the
‘Time_Estimate’ column by adding time duration expressions like HH:MM,
and for the ‘Approved’ column, by providing an ‘[X]’ status if all
children have been checked. The ‘CLOCKSUM’ and ‘CLOCKSUM_T’ columns are
special, they lists the sums of CLOCK intervals in the subtree, either
for all clocks or just for today.
---------- Footnotes ----------
(1) If more than one summary type apply to the property, the parent
values are computed according to the first of them.
(2) A time can also be a duration, using effort modifiers defined in
‘org-effort-durations’, e.g., ‘3d 1h’. If any value in the column is as
such, the summary will also be an effort duration.
(3) An age is defined as a duration since a given time-stamp (*note
Timestamps::). It can also be expressed as days, hours, minutes and
seconds, identified by ‘d’, ‘h’, ‘m’ and ‘s’ suffixes, all mandatory,
e.g., ‘0d 13h 0m 10s’.
(4) Please note that the COLUMNS definition must be on a single
line—it is wrapped here only because of formatting constraints.
File: org, Node: Using column view, Next: Capturing column view, Prev: Defining columns, Up: Column view
7.5.2 Using column view
Turning column view on and off
..............................
‘C-c C-x C-c (org-columns)’
Turn on column view. If the cursor is before the first headline in
the file, or the function called with the universal prefix
argument, column view is turned on for the entire file, using the
‘#+COLUMNS’ definition. If the cursor is somewhere inside the
outline, this command searches the hierarchy, up from point, for a
‘:COLUMNS:’ property that defines a format. When one is found, the
column view table is established for the tree starting at the entry
that contains the ‘:COLUMNS:’ property. If no such property is
found, the format is taken from the ‘#+COLUMNS’ line or from the
variable ‘org-columns-default-format’, and column view is
established for the current entry and its subtree.
‘r (org-columns-redo)’
Recreate the column view, to include recent changes made in the
buffer.
‘g (org-columns-redo)’
Same as ‘r’.
‘q (org-columns-quit)’
Exit column view.
Editing values
..............
‘<LEFT> <RIGHT> <UP> <DOWN>’
Move through the column view from field to field.
‘S-<LEFT>/<RIGHT>’
Switch to the next/previous allowed value of the field. For this,
you have to have specified allowed values for a property.
‘1..9,0’
Directly select the Nth allowed value, ‘0’ selects the 10th value.
‘n (org-columns-next-allowed-value)’
‘p (org-columns-previous-allowed-value)’
Same as ‘S-<LEFT>/<RIGHT>’
‘e (org-columns-edit-value)’
Edit the property at point. For the special properties, this will
invoke the same interface that you normally use to change that
property. For example, when editing a TAGS property, the tag
completion or fast selection interface will pop up.
‘C-c C-c (org-columns-set-tags-or-toggle)’
When there is a checkbox at point, toggle it.
‘v (org-columns-show-value)’
View the full value of this property. This is useful if the width
of the column is smaller than that of the value.
‘a (org-columns-edit-allowed)’
Edit the list of allowed values for this property. If the list is
found in the hierarchy, the modified value is stored there. If no
list is found, the new value is stored in the first entry that is
part of the current column view.
Modifying the table structure
.............................
‘< (org-columns-narrow)’
‘> (org-columns-widen)’
Make the column narrower/wider by one character.
‘S-M-<RIGHT> (org-columns-new)’
Insert a new column, to the left of the current column.
‘S-M-<LEFT> (org-columns-delete)’
Delete the current column.
File: org, Node: Capturing column view, Prev: Using column view, Up: Column view
7.5.3 Capturing column view
Since column view is just an overlay over a buffer, it cannot be
exported or printed directly. If you want to capture a column view, use
a ‘columnview’ dynamic block (*note Dynamic blocks::). The frame of
this block looks like this:
* The column view
#+BEGIN: columnview :hlines 1 :id "label"
#+END:
This dynamic block has the following parameters:
‘:id’
This is the most important parameter. Column view is a feature
that is often localized to a certain (sub)tree, and the capture
block might be at a different location in the file. To identify
the tree whose view to capture, you can use 4 values:
local use the tree in which the capture block is located
global make a global view, including all headings in the file
"file:PATH-TO-FILE"
run column view at the top of this file
"ID" call column view in the tree that has an ‘:ID:’
property with the value label. You can use
‘M-x org-id-copy <RET>’ to create a globally unique ‘ID’ for
the current entry and copy it to the kill-ring.
‘:hlines’
When ‘t’, insert an hline after every line. When a number N,
insert an hline before each headline with level ‘<= N’.
‘:vlines’
When set to ‘t’, force column groups to get vertical lines.
‘:maxlevel’
When set to a number, don’t capture entries below this level.
‘:skip-empty-rows’
When set to ‘t’, skip rows where the only non-empty specifier of
the column view is ‘ITEM’.
‘:indent’
When non-‘nil’, indent each ‘ITEM’ field according to its level.
The following commands insert or update the dynamic block:
‘C-c C-x i (org-insert-columns-dblock)’
Insert a dynamic block capturing a column view. You will be
prompted for the scope or ‘ID’ of the view.
‘C-c C-c or C-c C-x C-u (org-dblock-update)’
Update dynamic block at point.
‘C-u C-c C-x C-u (org-update-all-dblocks)’
Update all dynamic blocks (*note Dynamic blocks::). This is useful
if you have several clock table blocks, column-capturing blocks or
other dynamic blocks in a buffer.
You can add formulas to the column view table and you may add
plotting instructions in front of the table—these will survive an update
of the block. If there is a ‘#+TBLFM:’ after the table, the table will
actually be recalculated automatically after an update.
An alternative way to capture and process property values into a
table is provided by Eric Schulte’s ‘org-collector.el’ which is a
contributed package(1). It provides a general API to collect properties
from entries in a certain scope, and arbitrary Lisp expressions to
process these values before inserting them into a table or a dynamic
block.
---------- Footnotes ----------
(1) Contributed packages are not part of Emacs, but are distributed
with the main distribution of Org (visit <https://orgmode.org>).
File: org, Node: Property API, Prev: Column view, Up: Properties and columns
7.6 The Property API
====================
There is a full API for accessing and changing properties. This API can
be used by Emacs Lisp programs to work with properties and to implement
features based on them. For more information see *note Using the
property API::.
File: org, Node: Dates and times, Next: Capture - Refile - Archive, Prev: Properties and columns, Up: Top
8 Dates and times
*****************
To assist project planning, TODO items can be labeled with a date and/or
a time. The specially formatted string carrying the date and time
information is called a _timestamp_ in Org mode. This may be a little
confusing because timestamp is often used to indicate when something was
created or last changed. However, in Org mode this term is used in a
much wider sense.
* Menu:
* Timestamps:: Assigning a time to a tree entry
* Creating timestamps:: Commands which insert timestamps
* Deadlines and scheduling:: Planning your work
* Clocking work time:: Tracking how long you spend on a task
* Effort estimates:: Planning work effort in advance
* Timers:: Notes with a running timer
File: org, Node: Timestamps, Next: Creating timestamps, Up: Dates and times
8.1 Timestamps, deadlines, and scheduling
=========================================
A timestamp is a specification of a date (possibly with a time or a
range of times) in a special format, either ‘<2003-09-16 Tue>’(1) or
‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’(2). A
timestamp can appear anywhere in the headline or body of an Org tree
entry. Its presence causes entries to be shown on specific dates in the
agenda (*note Weekly/daily agenda::). We distinguish:
PLAIN TIMESTAMP; EVENT; APPOINTMENT
A simple timestamp just assigns a date/time to an item. This is
just like writing down an appointment or event in a paper agenda.
In the agenda display, the headline of an entry associated with a
plain timestamp will be shown exactly on that date.
* Meet Peter at the movies
<2006-11-01 Wed 19:15>
* Discussion on climate change
<2006-11-02 Thu 20:00-22:00>
TIMESTAMP WITH REPEATER INTERVAL
A timestamp may contain a _repeater interval_, indicating that it
applies not only on the given date, but again and again after a
certain interval of N days (d), weeks (w), months (m), or years
(y). The following will show up in the agenda every Wednesday:
* Pick up Sam at school
<2007-05-16 Wed 12:30 +1w>
DIARY-STYLE SEXP ENTRIES
For more complex date specifications, Org mode supports using the
special sexp diary entries implemented in the Emacs calendar/diary
package(3). For example with optional time
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
<%%(diary-float t 4 2)>
TIME/DATE RANGE
Two timestamps connected by ‘--’ denote a range. The headline will
be shown on the first and last day of the range, and on any dates
that are displayed and fall in the range. Here is an example:
** Meeting in Amsterdam
<2004-08-23 Mon>--<2004-08-26 Thu>
INACTIVE TIMESTAMP
Just like a plain timestamp, but with square brackets instead of
angular ones. These timestamps are inactive in the sense that they
do _not_ trigger an entry to show up in the agenda.
* Gillian comes late for the fifth time
[2006-11-01 Wed]
---------- Footnotes ----------
(1) In this simplest form, the day name is optional when you type the
date yourself. However, any dates inserted or modified by Org will add
that day name, for reading convenience.
(2) This is inspired by the standard ISO 8601 date/time format. To
use an alternative format, see *note Custom time format::.
(3) When working with the standard diary sexp functions, you need to
be very careful with the order of the arguments. That order depends
evilly on the variable ‘calendar-date-style’ (or, for older Emacs
versions, ‘european-calendar-style’). For example, to specify a date
December 1, 2005, the call might look like ‘(diary-date 12 1 2005)’ or
‘(diary-date 1 12 2005)’ or ‘(diary-date 2005 12 1)’, depending on the
settings. This has been the source of much confusion. Org mode users
can resort to special versions of these functions like ‘org-date’ or
‘org-anniversary’. These work just like the corresponding ‘diary-’
functions, but with stable ISO order of arguments (year, month, day)
wherever applicable, independent of the value of ‘calendar-date-style’.
File: org, Node: Creating timestamps, Next: Deadlines and scheduling, Prev: Timestamps, Up: Dates and times
8.2 Creating timestamps
=======================
For Org mode to recognize timestamps, they need to be in the specific
format. All commands listed below produce timestamps in the correct
format.
‘C-c . (org-time-stamp)’
Prompt for a date and insert a corresponding timestamp. When the
cursor is at an existing timestamp in the buffer, the command is
used to modify this timestamp instead of inserting a new one. When
this command is used twice in succession, a time range is inserted.
‘C-c ! (org-time-stamp-inactive)’
Like ‘C-c .’, but insert an inactive timestamp that will not cause
an agenda entry.
‘C-u C-c .’
‘C-u C-c !’
Like ‘C-c .’ and ‘C-c !’, but use the alternative format which
contains date and time. The default time can be rounded to
multiples of 5 minutes, see the option
‘org-time-stamp-rounding-minutes’.
‘C-c C-c’
Normalize timestamp, insert/fix day name if missing or wrong.
‘C-c < (org-date-from-calendar)’
Insert a timestamp corresponding to the cursor date in the
Calendar.
‘C-c > (org-goto-calendar)’
Access the Emacs calendar for the current date. If there is a
timestamp in the current line, go to the corresponding date
instead.
‘C-c C-o (org-open-at-point)’
Access the agenda for the date given by the timestamp or -range at
point (*note Weekly/daily agenda::).
‘S-<LEFT> (org-timestamp-down-day)’
‘S-<RIGHT> (org-timestamp-up-day)’
Change date at cursor by one day. These key bindings conflict with
shift-selection and related modes (*note Conflicts::).
‘S-<UP> (org-timestamp-up)’
‘S-<DOWN> (org-timestamp-down-down)’
Change the item under the cursor in a timestamp. The cursor can be
on a year, month, day, hour or minute. When the timestamp contains
a time range like ‘15:30-16:30’, modifying the first time will also
shift the second, shifting the time block with constant length. To
change the length, modify the second time. Note that if the cursor
is in a headline and not at a timestamp, these same keys modify the
priority of an item. (*note Priorities::). The key bindings also
conflict with shift-selection and related modes (*note
Conflicts::).
‘C-c C-y (org-evaluate-time-range)’
Evaluate a time range by computing the difference between start and
end. With a prefix argument, insert result after the time range
(in a table: into the following column).
* Menu:
* The date/time prompt:: How Org mode helps you entering date and time
* Custom time format:: Making dates look different
File: org, Node: The date/time prompt, Next: Custom time format, Up: Creating timestamps
8.2.1 The date/time prompt
When Org mode prompts for a date/time, the default is shown in default
date/time format, and the prompt therefore seems to ask for a specific
format. But it will in fact accept date/time information in a variety
of formats. Generally, the information should start at the beginning of
the string. Org mode will find whatever information is in there and
derive anything you have not specified from the _default date and time_.
The default is usually the current date and time, but when modifying an
existing timestamp, or when entering the second stamp of a range, it is
taken from the stamp in the buffer. When filling in information, Org
mode assumes that most of the time you will want to enter a date in the
future: if you omit the month/year and the given day/month is before
today, it will assume that you mean a future date(1). If the date has
been automatically shifted into the future, the time prompt will show
this with ‘(=>F).’
For example, let’s assume that today is June 13, 2006. Here is how
various inputs will be interpreted, the items filled in by Org mode are
in bold.
3-2-5 ⇒ 2003-02-05
2/5/3 ⇒ 2003-02-05
14 ⇒ 2006-06-14
12 ⇒ 2006-07-12
2/5 ⇒ 2007-02-05
Fri ⇒ nearest Friday after the default date
sep 15 ⇒ 2006-09-15
feb 15 ⇒ 2007-02-15
sep 12 9 ⇒ 2009-09-12
12:45 ⇒ 2006-06-13 12:45
22 sept 0:34 ⇒ 2006-09-22 00:34
w4 ⇒ ISO week four of the current year 2006
2012 w4 fri ⇒ Friday of ISO week 4 in 2012
2012-w04-5 ⇒ Same as above
Furthermore you can specify a relative date by giving, as the _first_
thing in the input: a plus/minus sign, a number and a letter ([hdwmy])
to indicate change in hours, days, weeks, months, or years. With a
single plus or minus, the date is always relative to today. With a
double plus or minus, it is relative to the default date. If instead of
a single letter, you use the abbreviation of day name, the date will be
the Nth such day, e.g.:
+0 ⇒ today
. ⇒ today
+4d ⇒ four days from today
+4 ⇒ same as above
+2w ⇒ two weeks from today
++5 ⇒ five days from default date
+2tue ⇒ second Tuesday from now
-wed ⇒ last Wednesday
The function understands English month and weekday abbreviations. If
you want to use unabbreviated names and/or other languages, configure
the variables ‘parse-time-months’ and ‘parse-time-weekdays’.
Not all dates can be represented in a given Emacs implementation. By
default Org mode forces dates into the compatibility range 1970–2037
which works on all Emacs implementations. If you want to use dates
outside of this range, read the docstring of the variable
‘org-read-date-force-compatible-dates’.
You can specify a time range by giving start and end times or by
giving a start time and a duration (in HH:MM format). Use one or two
dash(es) as the separator in the former case and use ’+’ as the
separator in the latter case, e.g.:
11am-1:15pm ⇒ 11:00-13:15
11am--1:15pm ⇒ same as above
11am+2:15 ⇒ same as above
Parallel to the minibuffer prompt, a calendar is popped up(2). When
you exit the date prompt, either by clicking on a date in the calendar,
or by pressing <RET>, the date selected in the calendar will be combined
with the information entered at the prompt. You can control the
calendar fully from the minibuffer:
<RET> Choose date at cursor in calendar.
mouse-1 Select date by clicking on it.
S-<RIGHT>/<LEFT> One day forward/backward.
S-<DOWN>/<UP> One week forward/backward.
M-S-<RIGHT>/<LEFT> One month forward/backward.
> / < Scroll calendar forward/backward by one month.
M-v / C-v Scroll calendar forward/backward by 3 months.
M-S-<DOWN>/<UP> Scroll calendar forward/backward by one year.
The actions of the date/time prompt may seem complex, but I assure
you they will grow on you, and you will start getting annoyed by pretty
much any other way of entering a date/time out there. To help you
understand what is going on, the current interpretation of your input
will be displayed live in the minibuffer(3).
---------- Footnotes ----------
(1) See the variable ‘org-read-date-prefer-future’. You may set that
variable to the symbol ‘time’ to even make a time before now shift the
date to tomorrow.
(2) If you don’t need/want the calendar, configure the variable
‘org-popup-calendar-for-date-prompt’.
(3) If you find this distracting, turn the display off with
‘org-read-date-display-live’.
File: org, Node: Custom time format, Prev: The date/time prompt, Up: Creating timestamps
8.2.2 Custom time format
Org mode uses the standard ISO notation for dates and times as it is
defined in ISO 8601. If you cannot get used to this and require another
representation of date and time to keep you happy, you can get it by
customizing the options ‘org-display-custom-times’ and
‘org-time-stamp-custom-formats’.
‘C-c C-x C-t (org-toggle-time-stamp-overlays)’
Toggle the display of custom formats for dates and times.
Org mode needs the default format for scanning, so the custom date/time
format does not _replace_ the default format—instead it is put _over_
the default format using text properties. This has the following
consequences:
• You cannot place the cursor onto a timestamp anymore, only before
or after.
• The ‘S-<UP>/<DOWN>’ keys can no longer be used to adjust each
component of a timestamp. If the cursor is at the beginning of the
stamp, ‘S-<UP>/<DOWN>’ will change the stamp by one day, just like
‘S-<LEFT>/<RIGHT>’. At the end of the stamp, the time will be
changed by one minute.
• If the timestamp contains a range of clock times or a repeater,
these will not be overlaid, but remain in the buffer as they were.
• When you delete a timestamp character-by-character, it will only
disappear from the buffer after _all_ (invisible) characters
belonging to the ISO timestamp have been removed.
• If the custom timestamp format is longer than the default and you
are using dates in tables, table alignment will be messed up. If
the custom format is shorter, things do work as expected.
File: org, Node: Deadlines and scheduling, Next: Clocking work time, Prev: Creating timestamps, Up: Dates and times
8.3 Deadlines and scheduling
============================
A timestamp may be preceded by special keywords to facilitate planning.
Both the timestamp and the keyword have to be positioned immediately
after the task they refer to.
DEADLINE
Meaning: the task (most likely a TODO item, though not necessarily)
is supposed to be finished on that date.
On the deadline date, the task will be listed in the agenda. In
addition, the agenda for _today_ will carry a warning about the
approaching or missed deadline, starting
‘org-deadline-warning-days’ before the due date, and continuing
until the entry is marked DONE. An example:
*** TODO write article about the Earth for the Guide
DEADLINE: <2004-02-29 Sun>
The editor in charge is [[bbdb:Ford Prefect]]
You can specify a different lead time for warnings for a specific
deadline using the following syntax. Here is an example with a
warning period of 5 days ‘DEADLINE: <2004-02-29 Sun -5d>’. This
warning is deactivated if the task gets scheduled and you set
‘org-agenda-skip-deadline-prewarning-if-scheduled’ to ‘t’.
SCHEDULED
Meaning: you are planning to start working on that task on the
given date.
The headline will be listed under the given date(1). In addition,
a reminder that the scheduled date has passed will be present in
the compilation for _today_, until the entry is marked DONE, i.e.,
the task will automatically be forwarded until completed.
*** TODO Call Trillian for a date on New Years Eve.
SCHEDULED: <2004-12-25 Sat>
If you want to _delay_ the display of this task in the agenda, use
‘SCHEDULED: <2004-12-25 Sat -2d>’: the task is still scheduled on
the 25th but will appear two days later. In case the task contains
a repeater, the delay is considered to affect all occurrences; if
you want the delay to only affect the first scheduled occurrence of
the task, use ‘--2d’ instead. See ‘org-scheduled-delay-days’ and
‘org-agenda-skip-scheduled-delay-if-deadline’ for details on how to
control this globally or per agenda.
Important: Scheduling an item in Org mode should not be understood
in the same way that we understand scheduling a meeting. Setting a
date for a meeting is just a simple appointment, you should mark
this entry with a simple plain timestamp, to get this item shown on
the date where it applies. This is a frequent misunderstanding by
Org users. In Org mode, scheduling means setting a date when you
want to start working on an action item.
You may use timestamps with repeaters in scheduling and deadline
entries. Org mode will issue early and late warnings based on the
assumption that the timestamp represents the nearest instance of the
repeater. However, the use of diary sexp entries like ‘<%%(diary-float
t 42)>’ in scheduling and deadline timestamps is limited. Org mode does
not know enough about the internals of each sexp function to issue early
and late warnings. However, it will show the item on each day where the
sexp entry matches.
* Menu:
* Inserting deadline/schedule:: Planning items
* Repeated tasks:: Items that show up again and again
---------- Footnotes ----------
(1) It will still be listed on that date after it has been marked
DONE. If you don’t like this, set the variable
‘org-agenda-skip-scheduled-if-done’.
File: org, Node: Inserting deadline/schedule, Next: Repeated tasks, Up: Deadlines and scheduling
8.3.1 Inserting deadlines or schedules
The following commands allow you to quickly insert a deadline or to
schedule an item:
‘C-c C-d (org-deadline)’
Insert ‘DEADLINE’ keyword along with a stamp. Any CLOSED timestamp
will be removed. When called with a prefix arg, an existing
deadline will be removed from the entry. Depending on the variable
‘org-log-redeadline’(1), a note will be taken when changing an
existing deadline.
‘C-c C-s (org-schedule)’
Insert ‘SCHEDULED’ keyword along with a stamp. Any CLOSED
timestamp will be removed. When called with a prefix argument,
remove the scheduling date from the entry. Depending on the
variable ‘org-log-reschedule’(2), a note will be taken when
changing an existing scheduling time.
‘C-c / d (org-check-deadlines)’
Create a sparse tree with all deadlines that are either past-due,
or which will become due within ‘org-deadline-warning-days’. With
‘C-u’ prefix, show all deadlines in the file. With a numeric
prefix, check that many days. For example, ‘C-1 C-c / d’ shows all
deadlines due tomorrow.
‘C-c / b (org-check-before-date)’
Sparse tree for deadlines and scheduled items before a given date.
‘C-c / a (org-check-after-date)’
Sparse tree for deadlines and scheduled items after a given date.
Note that ‘org-schedule’ and ‘org-deadline’ supports setting the date
by indicating a relative time: e.g., +1d will set the date to the next
day after today, and –1w will set the date to the previous week before
any current timestamp.
---------- Footnotes ----------
(1) with corresponding ‘#+STARTUP’ keywords ‘logredeadline’,
‘lognoteredeadline’, and ‘nologredeadline’
(2) with corresponding ‘#+STARTUP’ keywords ‘logreschedule’,
‘lognotereschedule’, and ‘nologreschedule’
File: org, Node: Repeated tasks, Prev: Inserting deadline/schedule, Up: Deadlines and scheduling
8.3.2 Repeated tasks
Some tasks need to be repeated again and again. Org mode helps to
organize such tasks using a so-called repeater in a ‘DEADLINE’,
‘SCHEDULED’, or plain timestamp. In the following example
** TODO Pay the rent
DEADLINE: <2005-10-01 Sat +1m>
the ‘+1m’ is a repeater; the intended interpretation is that the task
has a deadline on <2005-10-01> and repeats itself every (one) month
starting from that time. You can use yearly, monthly, weekly, daily and
hourly repeat cookies by using the ‘y/w/m/d/h’ letters. If you need
both a repeater and a special warning period in a deadline entry, the
repeater should come first and the warning period last: ‘DEADLINE:
<2005-10-01 Sat +1m -3d>’.
Deadlines and scheduled items produce entries in the agenda when they
are over-due, so it is important to be able to mark such an entry as
completed once you have done so. When you mark a ‘DEADLINE’ or a
‘SCHEDULED’ with the TODO keyword DONE, it will no longer produce
entries in the agenda. The problem with this is, however, that then
also the _next_ instance of the repeated entry will not be active. Org
mode deals with this in the following way: When you try to mark such an
entry DONE (using ‘C-c C-t’), it will shift the base date of the
repeating timestamp by the repeater interval, and immediately set the
entry state back to TODO(1). In the example above, setting the state to
DONE would actually switch the date like this:
** TODO Pay the rent
DEADLINE: <2005-11-01 Tue +1m>
To mark a task with a repeater as ‘DONE’, use ‘C-- 1 C-c C-t’ (i.e.,
‘org-todo’ with a numeric prefix argument of -1.)
A timestamp(2) will be added under the deadline, to keep a record
that you actually acted on the previous instance of this deadline.
As a consequence of shifting the base date, this entry will no longer
be visible in the agenda when checking past dates, but all future
instances will be visible.
With the ‘+1m’ cookie, the date shift will always be exactly one
month. So if you have not paid the rent for three months, marking this
entry DONE will still keep it as an overdue deadline. Depending on the
task, this may not be the best way to handle it. For example, if you
forgot to call your father for 3 weeks, it does not make sense to call
him 3 times in a single day to make up for it. Finally, there are tasks
like changing batteries which should always repeat a certain time after
the last time you did it. For these tasks, Org mode has special
repeaters ‘++’ and ‘.+’. For example:
** TODO Call Father
DEADLINE: <2008-02-10 Sun ++1w>
Marking this DONE will shift the date by at least one week,
but also by as many weeks as it takes to get this date into
the future. However, it stays on a Sunday, even if you called
and marked it done on Saturday.
** TODO Empty kitchen trash
DEADLINE: <2008-02-08 Fri 20:00 ++1d>
Marking this DONE will shift the date by at least one day, and
also by as many days as it takes to get the timestamp into the
future. Since there is a time in the timestamp, the next
deadline in the future will be on today's date if you
complete the task before 20:00.
** TODO Check the batteries in the smoke detectors
DEADLINE: <2005-11-01 Tue .+1m>
Marking this DONE will shift the date to one month after
today.
You may have both scheduling and deadline information for a specific
task. If the repeater is set for the scheduling information only, you
probably want the repeater to be ignored after the deadline. If so, set
the variable ‘org-agenda-skip-scheduled-if-deadline-is-shown’ to
‘repeated-after-deadline’. However, any scheduling information without
a repeater is no longer relevant once the task is done, and thus,
removed upon repeating the task. If you want both scheduling and
deadline information to repeat after the same interval, set the same
repeater for both timestamps.
An alternative to using a repeater is to create a number of copies of
a task subtree, with dates shifted in each copy. The command ‘C-c C-x
c’ was created for this purpose, it is described in *note Structure
editing::.
---------- Footnotes ----------
(1) In fact, the target state is taken from, in this sequence, the
‘REPEAT_TO_STATE’ property or the variable ‘org-todo-repeat-to-state’.
If neither of these is specified, the target state defaults to the first
state of the TODO state sequence.
(2) You can change this using the option ‘org-log-repeat’, or the
‘#+STARTUP’ options ‘logrepeat’, ‘lognoterepeat’, and ‘nologrepeat’.
With ‘lognoterepeat’, you will also be prompted for a note.
File: org, Node: Clocking work time, Next: Effort estimates, Prev: Deadlines and scheduling, Up: Dates and times
8.4 Clocking work time
======================
Org mode allows you to clock the time you spend on specific tasks in a
project. When you start working on an item, you can start the clock.
When you stop working on that task, or when you mark the task done, the
clock is stopped and the corresponding time interval is recorded. It
also computes the total time spent on each subtree(1) of a project. And
it remembers a history or tasks recently clocked, so that you can jump
quickly between a number of tasks absorbing your time.
To save the clock history across Emacs sessions, use
(setq org-clock-persist 'history)
(org-clock-persistence-insinuate)
When you clock into a new task after resuming Emacs, the incomplete
clock(2) will be found (*note Resolving idle time::) and you will be
prompted about what to do with it.
* Menu:
* Clocking commands:: Starting and stopping a clock
* The clock table:: Detailed reports
* Resolving idle time:: Resolving time when you’ve been idle
---------- Footnotes ----------
(1) Clocking only works if all headings are indented with less than
30 stars. This is a hardcoded limitation of ‘lmax’ in ‘org-clock-sum’.
(2) To resume the clock under the assumption that you have worked on
this task while outside Emacs, use ‘(setq org-clock-persist t)’.
File: org, Node: Clocking commands, Next: The clock table, Up: Clocking work time
8.4.1 Clocking commands
‘C-c C-x C-i (org-clock-in)’
!Start the clock on the current item (clock-in). This inserts the
‘CLOCK’ keyword together with a timestamp. If this is not the
first clocking of this item, the multiple ‘CLOCK’ lines will be
wrapped into a ‘:LOGBOOK:’ drawer (see also the variable
‘org-clock-into-drawer’). You can also overrule the setting of
this variable for a subtree by setting a ‘CLOCK_INTO_DRAWER’ or
‘LOG_INTO_DRAWER’ property. When called with a ‘C-u’ prefix
argument, select the task from a list of recently clocked tasks.
With two ‘C-u C-u’ prefixes, clock into the task at point and mark
it as the default task; the default task will then always be
available with letter ‘d’ when selecting a clocking task. With
three ‘C-u C-u C-u’ prefixes, force continuous clocking by starting
the clock when the last clock stopped.
While the clock is running, the current clocking time is shown in
the mode line, along with the title of the task. The clock time
shown will be all time ever clocked for this task and its children.
If the task has an effort estimate (*note Effort estimates::), the
mode line displays the current clocking time against it(1) If the
task is a repeating one (*note Repeated tasks::), only the time
since the last reset of the task (2) will be shown. More control
over what time is shown can be exercised with the
‘CLOCK_MODELINE_TOTAL’ property. It may have the values ‘current’
to show only the current clocking instance, ‘today’ to show all
time clocked on this task today (see also the variable
‘org-extend-today-until’), ‘all’ to include all time, or ‘auto’
which is the default(3).
Clicking with ‘mouse-1’ onto the mode line entry will pop up a menu
with clocking options.
‘C-c C-x C-o (org-clock-out)’
Stop the clock (clock-out). This inserts another timestamp at the
same location where the clock was last started. It also directly
computes the resulting time and inserts it after the time range as
‘=> HH:MM’. See the variable ‘org-log-note-clock-out’ for the
possibility to record an additional note together with the
clock-out timestamp(4).
‘C-c C-x C-x (org-clock-in-last)’
Reclock the last clocked task. With one ‘C-u’ prefix argument,
select the task from the clock history. With two ‘C-u’ prefixes,
force continuous clocking by starting the clock when the last clock
stopped.
‘C-c C-x C-e (org-clock-modify-effort-estimate)’
Update the effort estimate for the current clock task.
‘C-c C-c or C-c C-y (org-evaluate-time-range)’
Recompute the time interval after changing one of the timestamps.
This is only necessary if you edit the timestamps directly. If you
change them with ‘S-<cursor>’ keys, the update is automatic.
‘C-S-<up/down> (org-clock-timestamps-up/down)’
On ‘CLOCK’ log lines, increase/decrease both timestamps so that the
clock duration keeps the same.
‘S-M-<up/down> (org-timestamp-up/down)’
On ‘CLOCK’ log lines, increase/decrease the timestamp at point and
the one of the previous (or the next clock) timestamp by the same
duration. For example, if you hit ‘S-M-<UP>’ to increase a
clocked-out timestamp by five minutes, then the clocked-in
timestamp of the next clock will be increased by five minutes.
‘C-c C-t (org-todo)’
Changing the TODO state of an item to DONE automatically stops the
clock if it is running in this same item.
‘C-c C-x C-q (org-clock-cancel)’
Cancel the current clock. This is useful if a clock was started by
mistake, or if you ended up working on something else.
‘C-c C-x C-j (org-clock-goto)’
Jump to the headline of the currently clocked in task. With a
‘C-u’ prefix arg, select the target task from a list of recently
clocked tasks.
‘C-c C-x C-d (org-clock-display)’
Display time summaries for each subtree in the current buffer.
This puts overlays at the end of each headline, showing the total
time recorded under that heading, including the time of any
subheadings. You can use visibility cycling to study the tree, but
the overlays disappear when you change the buffer (see variable
‘org-remove-highlights-with-change’) or press ‘C-c C-c’.
The ‘l’ key may be used the agenda (*note Weekly/daily agenda::) to
show which tasks have been worked on or closed during a day.
*Important:* note that both ‘org-clock-out’ and ‘org-clock-in-last’
can have a global key binding and will not modify the window
disposition.
---------- Footnotes ----------
(1) To add an effort estimate “on the fly”, hook a function doing
this to ‘org-clock-in-prepare-hook’.
(2) as recorded by the ‘LAST_REPEAT’ property
(3) See also the variable ‘org-clock-modeline-total’.
(4) The corresponding in-buffer setting is: ‘#+STARTUP:
lognoteclock-out’
File: org, Node: The clock table, Next: Resolving idle time, Prev: Clocking commands, Up: Clocking work time
8.4.2 The clock table
Org mode can produce quite complex reports based on the time clocking
information. Such a report is called a _clock table_, because it is
formatted as one or several Org tables.
‘C-c C-x C-r (org-clock-report)’
Insert a dynamic block (*note Dynamic blocks::) containing a clock
report as an Org mode table into the current file. When the cursor
is at an existing clock table, just update it. When called with a
prefix argument, jump to the first clock report in the current
document and update it. The clock table always includes also trees
with ‘:ARCHIVE:’ tag.
‘C-c C-c or C-c C-x C-u (org-dblock-update)’
Update dynamic block at point.
‘C-u C-c C-x C-u’
Update all dynamic blocks (*note Dynamic blocks::). This is useful
if you have several clock table blocks in a buffer.
‘S-<LEFT>’
‘S-<RIGHT> (org-clocktable-try-shift)’
Shift the current ‘:block’ interval and update the table. The
cursor needs to be in the ‘#+BEGIN: clocktable’ line for this
command. If ‘:block’ is ‘today’, it will be shifted to ‘today-1’
etc.
Here is an example of the frame for a clock table as it is inserted
into the buffer with the ‘C-c C-x C-r’ command:
#+BEGIN: clocktable :maxlevel 2 :emphasize nil :scope file
#+END: clocktable
The ‘BEGIN’ line specifies a number of options to define the scope,
structure, and formatting of the report. Defaults for all these options
can be configured in the variable ‘org-clocktable-defaults’.
First there are options that determine which clock entries are to be
selected:
:maxlevel Maximum level depth to which times are listed in the table.
Clocks at deeper levels will be summed into the upper level.
:scope The scope to consider. This can be any of the following:
nil the current buffer or narrowed region
file the full current buffer
subtree the subtree where the clocktable is located
treeN the surrounding level N tree, for example ‘tree3’
tree the surrounding level 1 tree
agenda all agenda files
("file"..) scan these files
function the list of files returned by a function of no argument
file-with-archives current file and its archives
agenda-with-archives all agenda files, including archives
:block The time block to consider. This block is specified either
absolutely, or relative to the current time and may be any of
these formats:
2007-12-31 New year eve 2007
2007-12 December 2007
2007-W50 ISO-week 50 in 2007
2007-Q2 2nd quarter in 2007
2007 the year 2007
today, yesterday, today-N a relative day
thisweek, lastweek, thisweek-N a relative week
thismonth, lastmonth, thismonth-N a relative month
thisyear, lastyear, thisyear-N a relative year
untilnow
Use ‘S-<LEFT>/<RIGHT>’ keys to shift the time interval.
:tstart A time string specifying when to start considering times.
Relative times like ‘"<-2w>"’ can also be used. See
*note Matching tags and properties:: for relative time syntax.
:tend A time string specifying when to stop considering times.
Relative times like ‘"<now>"’ can also be used. See
*note Matching tags and properties:: for relative time syntax.
:wstart The starting day of the week. The default is 1 for monday.
:mstart The starting day of the month. The default 1 is for the first
day of the month.
:step ‘week’ or ‘day’, to split the table into chunks.
To use this, ‘:block’ or ‘:tstart’, ‘:tend’ are needed.
:stepskip0 Do not show steps that have zero time.
:fileskip0 Do not show table sections from files which did not contribute.
:tags A tags match to select entries that should contribute. See
*note Matching tags and properties:: for the match syntax.
Then there are options which determine the formatting of the table.
These options are interpreted by the function
‘org-clocktable-write-default’, but you can specify your own function
using the ‘:formatter’ parameter.
:emphasize When ‘t’, emphasize level one and level two items.
:lang Language(1) to use for descriptive cells like "Task".
:link Link the item headlines in the table to their origins.
:narrow An integer to limit the width of the headline column in
the org table. If you write it like ‘50!’, then the
headline will also be shortened in export.
:indent Indent each headline field according to its level.
:tcolumns Number of columns to be used for times. If this is smaller
than ‘:maxlevel’, lower levels will be lumped into one column.
:level Should a level number column be included?
:sort A cons cell like containing the column to sort and a sorting type.
E.g., ‘:sort (1 . ?a)’ sorts the first column alphabetically.
:compact Abbreviation for ‘:level nil :indent t :narrow 40! :tcolumns 1’
All are overwritten except if there is an explicit ‘:narrow’
:timestamp A timestamp for the entry, when available. Look for ‘SCHEDULED’,
‘DEADLINE’, ‘TIMESTAMP’ and ‘TIMESTAMP_IA’, in this order.
:properties List of properties that should be shown in the table. Each
property will get its own column.
:inherit-props When this flag is ‘t’, the values for ‘:properties’ will be inherited.
:formula Content of a ‘#+TBLFM’ line to be added and evaluated.
As a special case, ‘:formula %’ adds a column with % time.
If you do not specify a formula here, any existing formula
below the clock table will survive updates and be evaluated.
:formatter A function to format clock data and insert it into the buffer.
To get a clock summary of the current level 1 tree, for the current
day, you could write
#+BEGIN: clocktable :maxlevel 2 :block today :scope tree1 :link t
#+END: clocktable
and to use a specific time range you could write(2)
#+BEGIN: clocktable :tstart "<2006-08-10 Thu 10:00>"
:tend "<2006-08-10 Thu 12:00>"
#+END: clocktable
A range starting a week ago and ending right now could be written as
#+BEGIN: clocktable :tstart "<-1w>" :tend "<now>"
#+END: clocktable
A summary of the current subtree with % times would be
#+BEGIN: clocktable :scope subtree :link t :formula %
#+END: clocktable
A horizontally compact representation of everything clocked during
last week would be
#+BEGIN: clocktable :scope agenda :block lastweek :compact t
#+END: clocktable
---------- Footnotes ----------
(1) Language terms can be set through the variable
‘org-clock-clocktable-language-setup’.
(2) Note that all parameters must be specified in a single line—the
line is broken here only to fit it into the manual.
File: org, Node: Resolving idle time, Prev: The clock table, Up: Clocking work time
8.4.3 Resolving idle time and continuous clocking
Resolving idle time
...................
If you clock in on a work item, and then walk away from your
computer—perhaps to take a phone call—you often need to “resolve” the
time you were away by either subtracting it from the current clock, or
applying it to another one.
By customizing the variable ‘org-clock-idle-time’ to some integer,
such as 10 or 15, Emacs can alert you when you get back to your computer
after being idle for that many minutes(1), and ask what you want to do
with the idle time. There will be a question waiting for you when you
get back, indicating how much idle time has passed (constantly updated
with the current amount), as well as a set of choices to correct the
discrepancy:
‘k’
To keep some or all of the minutes and stay clocked in, press ‘k’.
Org will ask how many of the minutes to keep. Press <RET> to keep
them all, effectively changing nothing, or enter a number to keep
that many minutes.
‘K’
If you use the shift key and press ‘K’, it will keep however many
minutes you request and then immediately clock out of that task.
If you keep all of the minutes, this is the same as just clocking
out of the current task.
‘s’
To keep none of the minutes, use ‘s’ to subtract all the away time
from the clock, and then check back in from the moment you
returned.
‘S’
To keep none of the minutes and just clock out at the start of the
away time, use the shift key and press ‘S’. Remember that using
shift will always leave you clocked out, no matter which option you
choose.
‘C’
To cancel the clock altogether, use ‘C’. Note that if instead of
canceling you subtract the away time, and the resulting clock
amount is less than a minute, the clock will still be canceled
rather than clutter up the log with an empty entry.
What if you subtracted those away minutes from the current clock, and
now want to apply them to a new clock? Simply clock in to any task
immediately after the subtraction. Org will notice that you have
subtracted time “on the books”, so to speak, and will ask if you want to
apply those minutes to the next task you clock in on.
There is one other instance when this clock resolution magic occurs.
Say you were clocked in and hacking away, and suddenly your cat chased a
mouse who scared a hamster that crashed into your UPS’s power button!
You suddenly lose all your buffers, but thanks to auto-save you still
have your recent Org mode changes, including your last clock in.
If you restart Emacs and clock into any task, Org will notice that
you have a dangling clock which was never clocked out from your last
session. Using that clock’s starting time as the beginning of the
unaccounted-for period, Org will ask how you want to resolve that time.
The logic and behavior is identical to dealing with away time due to
idleness; it is just happening due to a recovery event rather than a set
amount of idle time.
You can also check all the files visited by your Org agenda for
dangling clocks at any time using ‘M-x org-resolve-clocks <RET>’ (or
‘C-c C-x C-z’).
Continuous clocking
...................
You may want to start clocking from the time when you clocked out the
previous task. To enable this systematically, set
‘org-clock-continuously’ to ‘t’. Each time you clock in, Org retrieves
the clock-out time of the last clocked entry for this session, and start
the new clock from there.
If you only want this from time to time, use three universal prefix
arguments with ‘org-clock-in’ and two ‘C-u C-u’ with
‘org-clock-in-last’.
---------- Footnotes ----------
(1) On computers using macOS, idleness is based on actual user
idleness, not just Emacs’ idle time. For X11, you can install a utility
program ‘x11idle.c’, available in the ‘contrib/scripts’ directory of the
Org git distribution, or install the ‘xprintidle’ package and set it to
the variable ‘org-clock-x11idle-program-name’ if you are running Debian,
to get the same general treatment of idleness. On other systems, idle
time refers to Emacs idle time only.
File: org, Node: Effort estimates, Next: Timers, Prev: Clocking work time, Up: Dates and times
8.5 Effort estimates
====================
If you want to plan your work in a very detailed way, or if you need to
produce offers with quotations of the estimated work effort, you may
want to assign effort estimates to entries. If you are also clocking
your work, you may later want to compare the planned effort with the
actual working time, a great way to improve planning estimates. Effort
estimates are stored in a special property ‘EFFORT’. You can set the
effort for an entry with the following commands:
‘C-c C-x e (org-set-effort)’
Set the effort estimate for the current entry. With a numeric
prefix argument, set it to the Nth allowed value (see below). This
command is also accessible from the agenda with the ‘e’ key.
‘C-c C-x C-e (org-clock-modify-effort-estimate)’
Modify the effort estimate of the item currently being clocked.
Clearly the best way to work with effort estimates is through column
view (*note Column view::). You should start by setting up discrete
values for effort estimates, and a ‘COLUMNS’ format that displays these
values together with clock sums (if you want to clock your time). For a
specific buffer you can use
#+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00
#+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
or, even better, you can set up these values globally by customizing the
variables ‘org-global-properties’ and ‘org-columns-default-format’. In
particular if you want to use this setup also in the agenda, a global
setup may be advised.
The way to assign estimates to individual items is then to switch to
column mode, and to use ‘S-<RIGHT>’ and ‘S-<LEFT>’ to change the value.
The values you enter will immediately be summed up in the hierarchy. In
the column next to it, any clocked time will be displayed.
If you switch to column view in the daily/weekly agenda, the effort
column will summarize the estimated work effort for each day(1), and you
can use this to find space in your schedule. To get an overview of the
entire part of the day that is committed, you can set the option
‘org-agenda-columns-add-appointments-to-effort-sum’. The appointments
on a day that take place over a specified time interval will then also
be added to the load estimate of the day.
Effort estimates can be used in secondary agenda filtering that is
triggered with the ‘/’ key in the agenda (*note Agenda commands::). If
you have these estimates defined consistently, two or three key presses
will narrow down the list to stuff that fits into an available time
slot.
---------- Footnotes ----------
(1) Please note the pitfalls of summing hierarchical data in a flat
list (*note Agenda column view::).
File: org, Node: Timers, Prev: Effort estimates, Up: Dates and times
8.6 Taking notes with a timer
=============================
Org provides two types of timers. There is a relative timer that counts
up, which can be useful when taking notes during, for example, a meeting
or a video viewing. There is also a countdown timer.
The relative and countdown are started with separate commands.
‘C-c C-x 0 (org-timer-start)’
Start or reset the relative timer. By default, the timer is set to
0. When called with a ‘C-u’ prefix, prompt the user for a starting
offset. If there is a timer string at point, this is taken as the
default, providing a convenient way to restart taking notes after a
break in the process. When called with a double prefix argument
‘C-u C-u’, change all timer strings in the active region by a
certain amount. This can be used to fix timer strings if the timer
was not started at exactly the right moment.
‘C-c C-x ; (org-timer-set-timer)’
Start a countdown timer. The user is prompted for a duration.
‘org-timer-default-timer’ sets the default countdown value. Giving
a numeric prefix argument overrides this default value. This
command is available as ‘;’ in agenda buffers.
Once started, relative and countdown timers are controlled with the
same commands.
‘C-c C-x . (org-timer)’
Insert the value of the current relative or countdown timer into
the buffer. If no timer is running, the relative timer will be
started. When called with a prefix argument, the relative timer is
restarted.
‘C-c C-x - (org-timer-item)’
Insert a description list item with the value of the current
relative or countdown timer. With a prefix argument, first reset
the relative timer to 0.
‘M-<RET> (org-insert-heading)’
Once the timer list is started, you can also use ‘M-<RET>’ to
insert new timer items.
‘C-c C-x , (org-timer-pause-or-continue)’
Pause the timer, or continue it if it is already paused.
‘C-c C-x _ (org-timer-stop)’
Stop the timer. After this, you can only start a new timer, not
continue the old one. This command also removes the timer from the
mode line.
File: org, Node: Capture - Refile - Archive, Next: Agenda views, Prev: Dates and times, Up: Top
9 Capture - Refile - Archive
****************************
An important part of any organization system is the ability to quickly
capture new ideas and tasks, and to associate reference material with
them. Org does this using a process called capture. It also can store
files related to a task (attachments) in a special directory. Once in
the system, tasks and projects need to be moved around. Moving
completed project trees to an archive file keeps the system compact and
fast.
* Menu:
* Capture:: Capturing new stuff
* Attachments:: Add files to tasks
* RSS feeds:: Getting input from RSS feeds
* Protocols:: External (e.g., Browser) access to Emacs and Org
* Refile and copy:: Moving/copying a tree from one place to another
* Archiving:: What to do with finished projects
File: org, Node: Capture, Next: Attachments, Up: Capture - Refile - Archive
9.1 Capture
===========
Capture lets you quickly store notes with little interruption of your
work flow. Org’s method for capturing new items is heavily inspired by
John Wiegley excellent ‘remember.el’ package. Up to version 6.36, Org
used a special setup for ‘remember.el’, then replaced it with
‘org-remember.el’. As of version 8.0, ‘org-remember.el’ has been
completely replaced by ‘org-capture.el’.
If your configuration depends on ‘org-remember.el’, you need to
update it and use the setup described below. To convert your
‘org-remember-templates’, run the command
M-x org-capture-import-remember-templates <RET>
and then customize the new variable with ‘M-x customize-variable
org-capture-templates’, check the result, and save the customization.
* Menu:
* Setting up capture:: Where notes will be stored
* Using capture:: Commands to invoke and terminate capture
* Capture templates:: Define the outline of different note types
File: org, Node: Setting up capture, Next: Using capture, Up: Capture
9.1.1 Setting up capture
The following customization sets a default target file for notes, and
defines a global key(1) for capturing new material.
(setq org-default-notes-file (concat org-directory "/notes.org"))
(define-key global-map "\C-cc" 'org-capture)
---------- Footnotes ----------
(1) Please select your own key, ‘C-c c’ is only a suggestion.
File: org, Node: Using capture, Next: Capture templates, Prev: Setting up capture, Up: Capture
9.1.2 Using capture
‘C-c c (org-capture)’
Call the command ‘org-capture’. Note that this key binding is
global and not active by default: you need to install it. If you
have templates defined *note Capture templates::, it will offer
these templates for selection or use a new Org outline node as the
default template. It will insert the template into the target file
and switch to an indirect buffer narrowed to this new node. You
may then insert the information you want.
‘C-c C-c (org-capture-finalize)’
Once you have finished entering information into the capture
buffer, ‘C-c C-c’ will return you to the window configuration
before the capture process, so that you can resume your work
without further distraction. When called with a prefix arg,
finalize and then jump to the captured item.
‘C-c C-w (org-capture-refile)’
Finalize the capture process by refiling (*note Refile and copy::)
the note to a different place. Please realize that this is a
normal refiling command that will be executed—so the cursor
position at the moment you run this command is important. If you
have inserted a tree with a parent and children, first move the
cursor back to the parent. Any prefix argument given to this
command will be passed on to the ‘org-refile’ command.
‘C-c C-k (org-capture-kill)’
Abort the capture process and return to the previous state.
You can also call ‘org-capture’ in a special way from the agenda,
using the ‘k c’ key combination. With this access, any timestamps
inserted by the selected capture template will default to the cursor
date in the agenda, rather than to the current date.
To find the locations of the last stored capture, use ‘org-capture’
with prefix commands:
‘C-u C-c c’
Visit the target location of a capture template. You get to select
the template in the usual way.
‘C-u C-u C-c c’
Visit the last stored capture item in its buffer.
You can also jump to the bookmark ‘org-capture-last-stored’, which
will automatically be created unless you set ‘org-capture-bookmark’ to
‘nil’.
To insert the capture at point in an Org buffer, call ‘org-capture’
with a ‘C-0’ prefix argument.
File: org, Node: Capture templates, Prev: Using capture, Up: Capture
9.1.3 Capture templates
You can use templates for different types of capture items, and for
through the customize interface.
‘C-c c C’
Customize the variable ‘org-capture-templates’.
Before we give the formal description of template definitions, let’s
look at an example. Say you would like to use one template to create
general TODO entries, and you want to put these entries under the
heading ‘Tasks’ in your file ‘~/org/gtd.org’. Also, a date tree in the
file ‘journal.org’ should capture journal entries. A possible
configuration would look like:
(setq org-capture-templates
'(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
"* TODO %?\n %i\n %a")
("j" "Journal" entry (file+olp+datetree "~/org/journal.org")
"* %?\nEntered on %U\n %i\n %a")))
If you then press ‘C-c c t’, Org will prepare the template for you like
this:
* TODO
[[file:LINK TO WHERE YOU INITIATED CAPTURE]]
During expansion of the template, ‘%a’ has been replaced by a link to
the location from where you called the capture command. This can be
extremely useful for deriving tasks from emails, for example. You fill
in the task definition, press ‘C-c C-c’ and Org returns you to the same
place where you started the capture process.
To define special keys to capture to a particular template without
going through the interactive template selection, you can create your
key binding like this:
(define-key global-map "\C-cx"
(lambda () (interactive) (org-capture nil "x")))
* Menu:
* Template elements:: What is needed for a complete template entry
* Template expansion:: Filling in information about time and context
* Templates in contexts:: Only show a template in a specific context
File: org, Node: Template elements, Next: Template expansion, Up: Capture templates
9.1.3.1 Template elements
.........................
Now lets look at the elements of a template definition. Each entry in
‘org-capture-templates’ is a list with the following items:
KEYS
The keys that will select the template, as a string, characters
only, for example ‘"a"’ for a template to be selected with a single
key, or ‘"bt"’ for selection with two keys. When using several
keys, keys using the same prefix key must be sequential in the list
and preceded by a 2-element entry explaining the prefix key, for
example
("b" "Templates for marking stuff to buy")
If you do not define a template for the ‘C’ key, this key will be
used to open the customize buffer for this complex variable.
DESCRIPTION
A short string describing the template, which will be shown during
selection.
TYPE
The type of entry, a symbol. Valid values are:
‘entry’
An Org mode node, with a headline. Will be filed as the child
of the target entry or as a top-level entry. The target file
should be an Org mode file.
‘item’
A plain list item, placed in the first plain list at the
target location. Again the target file should be an Org file.
‘checkitem’
A checkbox item. This only differs from the plain list item
by the default template.
‘table-line’
a new line in the first table at the target location. Where
exactly the line will be inserted depends on the properties
‘:prepend’ and ‘:table-line-pos’ (see below).
‘plain’
Text to be inserted as it is.
TARGET
Specification of where the captured item should be placed. In Org
mode files, targets usually define a node. Entries will become
children of this node. Other types will be added to the table or
list in the body of this node. Most target specifications contain
a file name. If that file name is the empty string, it defaults to
‘org-default-notes-file’. A file can also be given as a variable
or as a function called with no argument. When an absolute path is
not specified for a target, it is taken as relative to
‘org-directory’.
Valid values are:
‘(file "path/to/file")’
Text will be placed at the beginning or end of that file.
‘(id "id of existing org entry")’
Filing as child of this entry, or in the body of the entry.
‘(file+headline "path/to/file" "node headline")’
Fast configuration if the target heading is unique in the
file.
‘(file+olp "path/to/file" "Level 1 heading" "Level 2" ...)’
For non-unique headings, the full path is safer.
‘(file+regexp "path/to/file" "regexp to find location")’
Use a regular expression to position the cursor.
‘(file+olp+datetree "path/to/file" [ "Level 1 heading" ....])’
This target(1) will create a heading in a date tree(2) for
today’s date. If the optional outline path is given, the tree
will be built under the node it is pointing to, instead of at
top level. Check out the ‘:time-prompt’ and ‘:tree-type’
properties below for additional options.
‘(file+function "path/to/file" function-finding-location)’
A function to find the right location in the file.
‘(clock)’
File to the entry that is currently being clocked.
‘(function function-finding-location)’
Most general way: write your own function which both visits
the file and moves point to the right location.
TEMPLATE
The template for creating the capture item. If you leave this
empty, an appropriate default template will be used. Otherwise
this is a string with escape codes, which will be replaced
depending on time and context of the capture call. The string with
escapes may be loaded from a template file, using the special
syntax ‘(file "path/to/template")’. See below for more details.
PROPERTIES
The rest of the entry is a property list of additional options.
Recognized properties are:
‘:prepend’
Normally new captured information will be appended at the
target location (last child, last table line, last list
item...). Setting this property will change that.
‘:immediate-finish’
When set, do not offer to edit the information, just file it
away immediately. This makes sense if the template only needs
information that can be added automatically.
‘:empty-lines’
Set this to the number of lines to insert before and after the
new item. Default 0, only common other value is 1.
‘:clock-in’
Start the clock in this item.
‘:clock-keep’
Keep the clock running when filing the captured entry.
‘:clock-resume’
If starting the capture interrupted a clock, restart that
clock when finished with the capture. Note that ‘:clock-keep’
has precedence over ‘:clock-resume’. When setting both to
‘t’, the current clock will run and the previous one will not
be resumed.
‘:time-prompt’
Prompt for a date/time to be used for date/week trees and when
filling the template. Without this property, capture uses the
current date and time. Even if this property has not been
set, you can force the same behavior by calling ‘org-capture’
with a ‘C-1’ prefix argument.
‘:tree-type’
When ‘week’, make a week tree instead of the month tree, i.e.
place the headings for each day under a heading with the
current iso week.
‘:unnarrowed’
Do not narrow the target buffer, simply show the full buffer.
Default is to narrow it so that you only see the new material.
‘:table-line-pos’
Specification of the location in the table where the new line
should be inserted. It can be a string, a variable holding a
string or a function returning a string. The string should
look like ‘"II-3"’ meaning that the new line should become the
third line before the second horizontal separator line.
‘:kill-buffer’
If the target file was not yet visited when capture was
invoked, kill the buffer again after capture is completed.
---------- Footnotes ----------
(1) Org used to offer four different targets for date/week tree
capture. Now, Org automatically translates these to use
‘file+olp+datetree’, applying the ‘:time-prompt’ and ‘:tree-type’
properties. Please rewrite your date/week-tree targets using
‘file+olp+datetree’ since the older targets are now deprecated.
(2) A date tree is an outline structure with years on the highest
level, months or ISO-weeks as sublevels and then dates on the lowest
level. Tags are allowed in the tree structure.
File: org, Node: Template expansion, Next: Templates in contexts, Prev: Template elements, Up: Capture templates
9.1.3.2 Template expansion
..........................
In the template itself, special ‘%’-escapes(1) allow dynamic insertion
of content. The templates are expanded in the order given here:
%[FILE] Insert the contents of the file given by FILE.
%(SEXP) Evaluate Elisp SEXP and replace with the result.
For convenience, %:keyword (see below) placeholders
within the expression will be expanded prior to this.
The sexp must return a string.
%<...> The result of format-time-string on the ... format specification.
%t Timestamp, date only.
%T Timestamp, with date and time.
%u, %U Like the above, but inactive timestamps.
%i Initial content, the region when capture is called while the
region is active.
The entire text will be indented like ‘%i’ itself.
%a Annotation, normally the link created with ‘org-store-link’.
%A Like ‘%a’, but prompt for the description part.
%l Like %a, but only insert the literal link.
%c Current kill ring head.
%x Content of the X clipboard.
%k Title of the currently clocked task.
%K Link to the currently clocked task.
%n User name (taken from ‘user-full-name’).
%f File visited by current buffer when org-capture was called.
%F Full path of the file or directory visited by current buffer.
%:keyword Specific information for certain link types, see below.
%^g Prompt for tags, with completion on tags in target file.
%^G Prompt for tags, with completion all tags in all agenda files.
%^t Like ‘%t’, but prompt for date. Similarly ‘%^T’, ‘%^u’, ‘%^U’.
You may define a prompt like ‘%^{Birthday}t’.
%^C Interactive selection of which kill or clip to use.
%^L Like ‘%^C’, but insert as link.
%^{PROP}p Prompt the user for a value for property PROP.
%^{PROMPT} prompt the user for a string and replace this sequence with it.
You may specify a default value and a completion table with
%^{prompt|default|completion2|completion3...}.
The arrow keys access a prompt-specific history.
%\1 ... %\N Insert the text entered at the Nth %^{PROMPT}, where ‘N’ is
a number, starting from 1.(2)
%? After completing the template, position cursor here.
For specific link types, the following keywords will be defined(3):
Link type | Available keywords
---------------------------------+----------------------------------------------
bbdb | %:name %:company
irc | %:server %:port %:nick
vm, vm-imap, wl, mh, mew, rmail, | %:type %:subject %:message-id
gnus, notmuch | %:from %:fromname %:fromaddress
| %:to %:toname %:toaddress
| %:date (message date header field)
| %:date-timestamp (date as active timestamp)
| %:date-timestamp-inactive (date as inactive timestamp)
| %:fromto (either "to NAME" or "from NAME")(4)
gnus | %:group, for messages also all email fields
eww, w3, w3m | %:url
info | %:file %:node
calendar | %:date
org-protocol | %:link %:description %:annotation
To place the cursor after template expansion use:
%? After completing the template, position cursor here.
---------- Footnotes ----------
(1) If you need one of these sequences literally, escape the ‘%’ with
a backslash.
(2) As required in Emacs Lisp, it is necessary to escape any
backslash character in a string with another backslash. So, in order to
use ‘%\1’ placeholder, you need to write ‘%\\1’ in the template.
(3) If you define your own link types (*note Adding hyperlink
types::), any property you store with ‘org-store-link-props’ can be
accessed in capture templates in a similar way.
(4) This will always be the other, not the user. See the variable
‘org-from-is-user-regexp’.
File: org, Node: Templates in contexts, Prev: Template expansion, Up: Capture templates
9.1.3.3 Templates in contexts
.............................
To control whether a capture template should be accessible from a
specific context, you can customize ‘org-capture-templates-contexts’.
Let’s say for example that you have a capture template ‘"p"’ for storing
Gnus emails containing patches. Then you would configure this option
like this:
(setq org-capture-templates-contexts
'(("p" (in-mode . "message-mode"))))
You can also tell that the command key ‘"p"’ should refer to another
template. In that case, add this command key like this:
(setq org-capture-templates-contexts
'(("p" "q" (in-mode . "message-mode"))))
See the docstring of the variable for more information.
File: org, Node: Attachments, Next: RSS feeds, Prev: Capture, Up: Capture - Refile - Archive
9.2 Attachments
===============
It is often useful to associate reference material with an outline
node/task. Small chunks of plain text can simply be stored in the
subtree of a project. Hyperlinks (*note Hyperlinks::) can establish
associations with files that live elsewhere on your computer or in the
cloud, like emails or source code files belonging to a project. Another
method is attachments, which are files located in a directory belonging
to an outline node. Org uses directories named by the unique ID of each
entry. These directories are located in the ‘data’ directory which
lives in the same directory where your Org file lives(1). If you
initialize this directory with ‘git init’, Org will automatically commit
changes when it sees them. The attachment system has been contributed
to Org by John Wiegley.
In cases where it seems better to do so, you can also attach a
directory of your choice to an entry. You can also make children
inherit the attachment directory from a parent, so that an entire
subtree uses the same attached directory.
The following commands deal with attachments:
‘C-c C-a (org-attach)’
The dispatcher for commands related to the attachment system.
After these keys, a list of commands is displayed and you must
press an additional key to select a command:
‘a (org-attach-attach)’
Select a file and move it into the task’s attachment
directory. The file will be copied, moved, or linked,
depending on ‘org-attach-method’. Note that hard links are
not supported on all systems.
‘c/m/l’
Attach a file using the copy/move/link method. Note that hard
links are not supported on all systems.
‘u (org-attach-url)’
Attach a file from URL
‘n (org-attach-new)’
Create a new attachment as an Emacs buffer.
‘z (org-attach-sync)’
Synchronize the current task with its attachment directory, in
case you added attachments yourself.
‘o (org-attach-open)’
Open current task’s attachment. If there is more than one,
prompt for a file name first. Opening will follow the rules
set by ‘org-file-apps’. For more details, see the information
on following hyperlinks (*note Handling links::).
‘O (org-attach-open-in-emacs)’
Also open the attachment, but force opening the file in Emacs.
‘f (org-attach-reveal)’
Open the current task’s attachment directory.
‘F (org-attach-reveal-in-emacs)’
Also open the directory, but force using ‘dired’ in Emacs.
‘d (org-attach-delete-one)’
Select and delete a single attachment.
‘D (org-attach-delete-all)’
Delete all of a task’s attachments. A safer way is to open
the directory in ‘dired’ and delete from there.
‘s (org-attach-set-directory)’
Set a specific directory as the entry’s attachment directory.
This works by putting the directory path into the ‘ATTACH_DIR’
property.
‘i (org-attach-set-inherit)’
Set the ‘ATTACH_DIR_INHERIT’ property, so that children will
use the same directory for attachments as the parent does.
---------- Footnotes ----------
(1) If you move entries or Org files from one directory to another,
you may want to configure ‘org-attach-directory’ to contain an absolute
path.
File: org, Node: RSS feeds, Next: Protocols, Prev: Attachments, Up: Capture - Refile - Archive
9.3 RSS feeds
=============
Org can add and change entries based on information found in RSS feeds
and Atom feeds. You could use this to make a task out of each new
podcast in a podcast feed. Or you could use a phone-based note-creating
service on the web to import tasks into Org. To access feeds, configure
the variable ‘org-feed-alist’. The docstring of this variable has
detailed information. Here is just an example:
(setq org-feed-alist
'(("Slashdot"
"http://rss.slashdot.org/Slashdot/slashdot"
"~/txt/org/feeds.org" "Slashdot Entries")))
will configure that new items from the feed provided by
‘rss.slashdot.org’ will result in new entries in the file
‘~/org/feeds.org’ under the heading ‘Slashdot Entries’, whenever the
following command is used:
‘C-c C-x g (org-feed-update-all)’
‘C-c C-x g’
Collect items from the feeds configured in ‘org-feed-alist’ and act
upon them.
‘C-c C-x G (org-feed-goto-inbox)’
Prompt for a feed name and go to the inbox configured for this
feed.
Under the same headline, Org will create a drawer ‘FEEDSTATUS’ in
which it will store information about the status of items in the feed,
to avoid adding the same item several times.
For more information, including how to read atom feeds, see
‘org-feed.el’ and the docstring of ‘org-feed-alist’.
File: org, Node: Protocols, Next: Refile and copy, Prev: RSS feeds, Up: Capture - Refile - Archive
9.4 Protocols for external access
=================================
Org protocol is a mean to trigger custom actions in Emacs from external
applications. Any application that supports calling external programs
with an URL as argument may be used with this functionality. For
example, you can configure bookmarks in your web browser to send a link
to the current page to Org and create a note from it using capture
(*note Capture::). You can also create a bookmark that tells Emacs to
open the local source file of a remote website you are browsing.
In order to use Org protocol from an application, you need to
register ‘org-protocol://’ as a valid scheme-handler. External calls
are passed to Emacs through the ‘emacsclient’ command, so you also need
to ensure an Emacs server is running. More precisely, when the
application calls
emacsclient org-protocol://PROTOCOL?key1=val1&key2=val2
Emacs calls the handler associated to ‘PROTOCOL’ with argument ‘(:key1
val1 :key2 val2)’.
Org protocol comes with three predefined protocols, detailed in the
following sections. Configure ‘org-protocol-protocol-alist’ to define
your own.
* Menu:
* store-link protocol:: Store a link, push URL to kill-ring.
* capture protocol:: Fill a buffer with external information.
* open-source protocol:: Edit published contents.
File: org, Node: store-link protocol, Next: capture protocol, Up: Protocols
9.4.1 ‘store-link’ protocol
Using ‘store-link’ handler, you can copy links, insertable through ‘M-x
org-insert-link’ or yanking thereafter. More precisely, the command
emacsclient org-protocol://store-link?url=URL&title=TITLE
stores the following link:
[[URL][TITLE]]
In addition, ‘URL’ is pushed on the kill-ring for yanking. You need
to encode ‘URL’ and ‘TITLE’ if they contain slashes, and probably quote
those for the shell.
To use this feature from a browser, add a bookmark with an arbitrary
name, e.g., ‘Org: store-link’ and enter this as _Location_:
javascript:location.href='org-protocol://store-link?url='+
encodeURIComponent(location.href);
File: org, Node: capture protocol, Next: open-source protocol, Prev: store-link protocol, Up: Protocols
9.4.2 ‘capture’ protocol
Activating ‘capture’ handler pops up a ‘Capture’ buffer and fills the
capture template associated to the ‘X’ key with them.
emacsclient org-protocol://capture?template=X?url=URL?title=TITLE?body=BODY
To use this feature, add a bookmark with an arbitrary name, e.g.
‘Org: capture’ and enter this as ‘Location’:
javascript:location.href='org-protocol://capture?template=x'+
'&url='+encodeURIComponent(window.location.href)+
'&title='+encodeURIComponent(document.title)+
'&body='+encodeURIComponent(window.getSelection());
The result depends on the capture template used, which is set in the
bookmark itself, as in the example above, or in
‘org-protocol-default-template-key’.
The following template placeholders are available:
%:link The URL
%:description The webpage title
%:annotation Equivalent to [[%:link][%:description]]
%i The selected text
File: org, Node: open-source protocol, Prev: capture protocol, Up: Protocols
9.4.3 ‘open-source’ protocol
The ‘open-source’ handler is designed to help with editing local sources
when reading a document. To that effect, you can use a bookmark with
the following location:
javascript:location.href='org-protocol://open-source?&url='+
encodeURIComponent(location.href)
The variable ‘org-protocol-project-alist’ maps URLs to local file
names, by stripping URL parameters from the end and replacing the
‘:base-url’ with ‘:working-directory’ and ‘:online-suffix’ with
‘:working-suffix’. For example, assuming you own a local copy of
<https://orgmode.org/worg/> contents at ‘/home/user/worg’, you can set
‘org-protocol-project-alist’ to the following
(setq org-protocol-project-alist
'(("Worg"
:base-url "https://orgmode.org/worg/"
:working-directory "/home/user/worg/"
:online-suffix ".html"
:working-suffix ".org")))
If you are now browsing
<https://orgmode.org/worg/org-contrib/org-protocol.html> and find a typo
or have an idea about how to enhance the documentation, simply click the
bookmark and start editing.
However, such mapping may not yield the desired results. Suppose you
maintain an online store located at <http://example.com/>. The local
sources reside in ‘/home/user/example/’. It is common practice to serve
all products in such a store through one file and rewrite URLs that do
not match an existing file on the server. That way, a request to
<http://example.com/print/posters.html> might be rewritten on the server
to something like
<http://example.com/shop/products.php/posters.html.php>. The
‘open-source’ handler probably cannot find a file named
‘/home/user/example/print/posters.html.php’ and fails.
Such an entry in ‘org-protocol-project-alist’ may hold an additional
property ‘:rewrites’. This property is a list of cons cells, each of
which maps a regular expression to a path relative to the
‘:working-directory’.
Now map the URL to the path ‘/home/user/example/products.php’ by
adding ‘:rewrites’ rules like this:
(setq org-protocol-project-alist
'(("example.com"
:base-url "http://example.com/"
:working-directory "/home/user/example/"
:online-suffix ".php"
:working-suffix ".php"
:rewrites (("example.com/print/" . "products.php")
("example.com/$" . "index.php")))))
Since ‘example.com/$’ is used as a regular expression, it maps
<http://example.com/>, <https://example.com>, <http://www.example.com/>
and similar to ‘/home/user/example/index.php’.
The ‘:rewrites’ rules are searched as a last resort if and only if no
existing file name is matched.
Two functions can help you filling ‘org-protocol-project-alist’ with
valid contents: ‘org-protocol-create’ and ‘org-protocol-create-for-org’.
The latter is of use if you’re editing an Org file that is part of a
publishing project.
File: org, Node: Refile and copy, Next: Archiving, Prev: Protocols, Up: Capture - Refile - Archive
9.5 Refile and copy
===================
When reviewing the captured data, you may want to refile or to copy some
of the entries into a different list, for example into a project.
Cutting, finding the right location, and then pasting the note is
cumbersome. To simplify this process, you can use the following special
command:
‘C-c M-w (org-copy)’
Copying works like refiling, except that the original note is not
deleted.
‘C-c C-w (org-refile)’
Refile the entry or region at point. This command offers possible
locations for refiling the entry and lets you select one with
completion. The item (or all items in the region) is filed below
the target heading as a subitem. Depending on
‘org-reverse-note-order’, it will be either the first or last
subitem.
By default, all level 1 headlines in the current buffer are
considered to be targets, but you can have more complex definitions
across a number of files. See the variable ‘org-refile-targets’
for details. If you would like to select a location via a
file-path-like completion along the outline path, see the variables
‘org-refile-use-outline-path’ and
‘org-outline-path-complete-in-steps’. If you would like to be able
to create new nodes as new parents for refiling on the fly, check
the variable ‘org-refile-allow-creating-parent-nodes’. When the
variable ‘org-log-refile’(1) is set, a timestamp or a note will be
recorded when an entry has been refiled.
‘C-u C-c C-w’
Use the refile interface to jump to a heading.
‘C-u C-u C-c C-w (org-refile-goto-last-stored)’
Jump to the location where ‘org-refile’ last moved a tree to.
‘C-2 C-c C-w’
Refile as the child of the item currently being clocked.
‘C-3 C-c C-w’
Refile and keep the entry in place. Also see ‘org-refile-keep’ to
make this the default behavior, and beware that this may result in
duplicated ‘ID’ properties.
‘C-0 C-c C-w or C-u C-u C-u C-c C-w (org-refile-cache-clear)’
Clear the target cache. Caching of refile targets can be turned on
by setting ‘org-refile-use-cache’. To make the command see new
possible targets, you have to clear the cache with this command.
---------- Footnotes ----------
(1) with corresponding ‘#+STARTUP’ keywords ‘logrefile’,
‘lognoterefile’, and ‘nologrefile’
File: org, Node: Archiving, Prev: Refile and copy, Up: Capture - Refile - Archive
9.6 Archiving
=============
When a project represented by a (sub)tree is finished, you may want to
move the tree out of the way and to stop it from contributing to the
agenda. Archiving is important to keep your working files compact and
global searches like the construction of agenda views fast.
‘C-c C-x C-a (org-archive-subtree-default)’
Archive the current entry using the command specified in the
variable ‘org-archive-default-command’.
* Menu:
* Moving subtrees:: Moving a tree to an archive file
* Internal archiving:: Switch off a tree but keep it in the file
File: org, Node: Moving subtrees, Next: Internal archiving, Up: Archiving
9.6.1 Moving a tree to the archive file
The most common archiving action is to move a project tree to another
file, the archive file.
‘C-c C-x C-s or short C-c $ (org-archive-subtree)’
Archive the subtree starting at the cursor position to the location
given by ‘org-archive-location’.
‘C-u C-c C-x C-s’
Check if any direct children of the current headline could be moved
to the archive. To do this, each subtree is checked for open TODO
entries. If none are found, the command offers to move it to the
archive location. If the cursor is _not_ on a headline when this
command is invoked, the level 1 trees will be checked.
‘C-u C-u C-c C-x C-s’
As above, but check subtree for timestamps instead of TODO entries.
The command will offer to archive the subtree if it _does_ contain
a timestamp, and that timestamp is in the past.
The default archive location is a file in the same directory as the
current file, with the name derived by appending ‘_archive’ to the
current file name. You can also choose what heading to file archived
items under, with the possibility to add them to a datetree in a file.
For information and examples on how to specify the file and the heading,
see the documentation string of the variable ‘org-archive-location’.
There is also an in-buffer option for setting this variable, for
example:
#+ARCHIVE: %s_done::
If you would like to have a special ARCHIVE location for a single entry
or a (sub)tree, give the entry an ‘:ARCHIVE:’ property with the location
as the value (*note Properties and columns::).
When a subtree is moved, it receives a number of special properties
that record context information like the file from where the entry came,
its outline path the archiving time etc. Configure the variable
‘org-archive-save-context-info’ to adjust the amount of information
added.
File: org, Node: Internal archiving, Prev: Moving subtrees, Up: Archiving
9.6.2 Internal archiving
If you want to just switch off—for agenda views—certain subtrees without
moving them to a different file, you can use the archive tag.
A headline that is marked with the ‘:ARCHIVE:’ tag (*note Tags::)
stays at its location in the outline tree, but behaves in the following
way:
− It does not open when you attempt to do so with a visibility
cycling command (*note Visibility cycling::). You can force
cycling archived subtrees with ‘C-<TAB>’, or by setting the option
‘org-cycle-open-archived-trees’. Also normal outline commands like
‘show-all’ will open archived subtrees.
− During sparse tree construction (*note Sparse trees::), matches in
archived subtrees are not exposed, unless you configure the option
‘org-sparse-tree-open-archived-trees’.
− During agenda view construction (*note Agenda views::), the content
of archived trees is ignored unless you configure the option
‘org-agenda-skip-archived-trees’, in which case these trees will
always be included. In the agenda you can press ‘v a’ to get
archives temporarily included.
− Archived trees are not exported (*note Exporting::), only the
headline is. Configure the details using the variable
‘org-export-with-archived-trees’.
− Archived trees are excluded from column view unless the variable
‘org-columns-skip-archived-trees’ is configured to ‘nil’.
The following commands help manage the ARCHIVE tag:
‘C-c C-x a (org-toggle-archive-tag)’
Toggle the ARCHIVE tag for the current headline. When the tag is
set, the headline changes to a shadowed face, and the subtree below
it is hidden.
‘C-u C-c C-x a’
Check if any direct children of the current headline should be
archived. To do this, each subtree is checked for open TODO
entries. If none are found, the command offers to set the ARCHIVE
tag for the child. If the cursor is _not_ on a headline when this
command is invoked, the level 1 trees will be checked.
‘C-<TAB> (org-force-cycle-archived)’
Cycle a tree even if it is tagged with ARCHIVE.
‘C-c C-x A (org-archive-to-archive-sibling)’
Move the current entry to the _Archive Sibling_. This is a sibling
of the entry with the heading ‘Archive’ and the tag ‘ARCHIVE’. The
entry becomes a child of that sibling and in this way retains a lot
of its original context, including inherited tags and approximate
position in the outline.
File: org, Node: Agenda views, Next: Markup, Prev: Capture - Refile - Archive, Up: Top
10 Agenda views
***************
Due to the way Org works, TODO items, time-stamped items, and tagged
headlines can be scattered throughout a file or even a number of files.
To get an overview of open action items, or of events that are important
for a particular date, this information must be collected, sorted and
displayed in an organized way.
Org can select items based on various criteria and display them in a
separate buffer. Six different view types are provided:
• an _agenda_ that is like a calendar and shows information for
specific dates,
• a _TODO list_ that covers all unfinished action items,
• a _match view_, showings headlines based on the tags, properties,
and TODO state associated with them,
• a _text search view_ that shows all entries from multiple files
that contain specified keywords,
• a _stuck projects view_ showing projects that currently don’t move
along, and
• _custom views_ that are special searches and combinations of
different views.
The extracted information is displayed in a special _agenda buffer_.
This buffer is read-only, but provides commands to visit the
corresponding locations in the original Org files, and even to edit
these files remotely.
By default, the report ignores commented (*note Comment lines::) and
archived (*note Internal archiving::) entries. You can override this by
setting ‘org-agenda-skip-comment-trees’ and
‘org-agenda-skip-archived-trees’ to ‘nil’.
Two variables control how the agenda buffer is displayed and whether
the window configuration is restored when the agenda exits:
‘org-agenda-window-setup’ and ‘org-agenda-restore-windows-after-quit’.
* Menu:
* Agenda files:: Files being searched for agenda information
* Agenda dispatcher:: Keyboard access to agenda views
* Built-in agenda views:: What is available out of the box?
* Presentation and sorting:: How agenda items are prepared for display
* Agenda commands:: Remote editing of Org trees
* Custom agenda views:: Defining special searches and views
* Exporting agenda views:: Writing a view to a file
* Agenda column view:: Using column view for collected entries
File: org, Node: Agenda files, Next: Agenda dispatcher, Up: Agenda views
10.1 Agenda files
=================
The information to be shown is normally collected from all _agenda
files_, the files listed in the variable ‘org-agenda-files’(1). If a
directory is part of this list, all files with the extension ‘.org’ in
this directory will be part of the list.
Thus, even if you only work with a single Org file, that file should
be put into the list(2). You can customize ‘org-agenda-files’, but the
easiest way to maintain it is through the following commands
‘C-c [ (org-agenda-file-to-front)’
Add current file to the list of agenda files. The file is added to
the front of the list. If it was already in the list, it is moved
to the front. With a prefix argument, file is added/moved to the
end.
‘C-c ] (org-remove-file)’
Remove current file from the list of agenda files.
‘C-' (org-cycle-agenda-files)’
‘C-,’
Cycle through agenda file list, visiting one file after the other.
‘M-x org-switchb <RET>’
Command to use an ‘iswitchb’-like interface to switch to and
between Org buffers.
The Org menu contains the current list of files and can be used to visit
any of them.
If you would like to focus the agenda temporarily on a file not in
this list, or on just one file in the list, or even on only a subtree in
a file, then this can be done in different ways. For a single agenda
command, you may press ‘<’ once or several times in the dispatcher
(*note Agenda dispatcher::). To restrict the agenda scope for an
extended period, use the following commands:
‘C-c C-x < (org-agenda-set-restriction-lock)’
Permanently restrict the agenda to the current subtree. When with
a prefix argument, or with the cursor before the first headline in
a file, the agenda scope is set to the entire file. This
restriction remains in effect until removed with ‘C-c C-x >’, or by
typing either ‘<’ or ‘>’ in the agenda dispatcher. If there is a
window displaying an agenda view, the new restriction takes effect
immediately.
‘C-c C-x > (org-agenda-remove-restriction-lock)’
Remove the permanent restriction created by ‘C-c C-x <’.
When working with ‘speedbar.el’, you can use the following commands in
the Speedbar frame:
‘< in the speedbar frame (org-speedbar-set-agenda-restriction)’
Permanently restrict the agenda to the item—either an Org file or a
subtree in such a file—at the cursor in the Speedbar frame. If
there is a window displaying an agenda view, the new restriction
takes effect immediately.
‘> in the speedbar frame (org-agenda-remove-restriction-lock)’
Lift the restriction.
---------- Footnotes ----------
(1) If the value of that variable is not a list, but a single file
name, then the list of agenda files will be maintained in that external
file.
(2) When using the dispatcher, pressing ‘<’ before selecting a
command will actually limit the command to the current file, and ignore
‘org-agenda-files’ until the next dispatcher command.
File: org, Node: Agenda dispatcher, Next: Built-in agenda views, Prev: Agenda files, Up: Agenda views
10.2 The agenda dispatcher
==========================
The views are created through a dispatcher, which should be bound to a
global key—for example ‘C-c a’ (*note Activation::). In the following
we will assume that ‘C-c a’ is indeed how the dispatcher is accessed and
list keyboard access to commands accordingly. After pressing ‘C-c a’,
an additional letter is required to execute a command. The dispatcher
offers the following default commands:
‘a’
Create the calendar-like agenda (*note Weekly/daily agenda::).
‘t / T’
Create a list of all TODO items (*note Global TODO list::).
‘m / M’
Create a list of headlines matching a TAGS expression (*note
Matching tags and properties::).
‘s’
Create a list of entries selected by a boolean expression of
keywords and/or regular expressions that must or must not occur in
the entry.
‘/’
Search for a regular expression in all agenda files and
additionally in the files listed in
‘org-agenda-text-search-extra-files’. This uses the Emacs command
‘multi-occur’. A prefix argument can be used to specify the number
of context lines for each match, default is 1.
‘# / !’
Create a list of stuck projects (*note Stuck projects::).
‘<’
Restrict an agenda command to the current buffer(1). After
pressing ‘<’, you still need to press the character selecting the
command.
‘< <’
If there is an active region, restrict the following agenda command
to the region. Otherwise, restrict it to the current subtree(2).
After pressing ‘< <’, you still need to press the character
selecting the command.
‘*’
Toggle sticky agenda views. By default, Org maintains only a
single agenda buffer and rebuilds it each time you change the view,
to make sure everything is always up to date. If you often switch
between agenda views and the build time bothers you, you can turn
on sticky agenda buffers or make this the default by customizing
the variable ‘org-agenda-sticky’. With sticky agendas, the agenda
dispatcher will not recreate agenda views from scratch, it will
only switch to the selected one, and you need to update the agenda
by hand with ‘r’ or ‘g’ when needed. You can toggle sticky agenda
view any time with ‘org-toggle-sticky-agenda’.
You can also define custom commands that will be accessible through
the dispatcher, just like the default commands. This includes the
possibility to create extended agenda buffers that contain several
blocks together, for example the weekly agenda, the global TODO list and
a number of special tags matches. *Note Custom agenda views::.
---------- Footnotes ----------
(1) For backward compatibility, you can also press ‘1’ to restrict to
the current buffer.
(2) For backward compatibility, you can also press ‘0’ to restrict to
the current region/subtree.
File: org, Node: Built-in agenda views, Next: Presentation and sorting, Prev: Agenda dispatcher, Up: Agenda views
10.3 The built-in agenda views
==============================
In this section we describe the built-in views.
* Menu:
* Weekly/daily agenda:: The calendar page with current tasks
* Global TODO list:: All unfinished action items
* Matching tags and properties:: Structured information with fine-tuned search
* Search view:: Find entries by searching for text
* Stuck projects:: Find projects you need to review
File: org, Node: Weekly/daily agenda, Next: Global TODO list, Up: Built-in agenda views
10.3.1 The weekly/daily agenda
The purpose of the weekly/daily _agenda_ is to act like a page of a
paper agenda, showing all the tasks for the current week or day.
‘C-c a a (org-agenda-list)’
Compile an agenda for the current week from a list of Org files.
The agenda shows the entries for each day. With a numeric
prefix(1) (like ‘C-u 2 1 C-c a a’) you may set the number of days
to be displayed.
The default number of days displayed in the agenda is set by the
variable ‘org-agenda-span’ (or the obsolete ‘org-agenda-ndays’). This
variable can be set to any number of days you want to see by default in
the agenda, or to a span name, such as ‘day’, ‘week’, ‘month’ or ‘year’.
For weekly agendas, the default is to start on the previous monday (see
‘org-agenda-start-on-weekday’). You can also set the start date using a
date shift: ‘(setq org-agenda-start-day "+10d")’ will start the agenda
ten days from today in the future.
Remote editing from the agenda buffer means, for example, that you
can change the dates of deadlines and appointments from the agenda
buffer. The commands available in the Agenda buffer are listed in *note
Agenda commands::.
Calendar/Diary integration
..........................
Emacs contains the calendar and diary by Edward M. Reingold. The
calendar displays a three-month calendar with holidays from different
countries and cultures. The diary allows you to keep track of
anniversaries, lunar phases, sunrise/set, recurrent appointments
(weekly, monthly) and more. In this way, it is quite complementary to
Org. It can be very useful to combine output from Org with the diary.
In order to include entries from the Emacs diary into Org mode’s
agenda, you only need to customize the variable
(setq org-agenda-include-diary t)
After that, everything will happen automatically. All diary entries
including holidays, anniversaries, etc., will be included in the agenda
buffer created by Org mode. <SPC>, <TAB>, and <RET> can be used from
the agenda buffer to jump to the diary file in order to edit existing
diary entries. The ‘i’ command to insert new entries for the current
date works in the agenda buffer, as well as the commands ‘S’, ‘M’, and
‘C’ to display Sunrise/Sunset times, show lunar phases and to convert to
other calendars, respectively. ‘c’ can be used to switch back and forth
between calendar and agenda.
If you are using the diary only for sexp entries and holidays, it is
faster to not use the above setting, but instead to copy or even move
the entries into an Org file. Org mode evaluates diary-style sexp
entries, and does it faster because there is no overhead for first
creating the diary display. Note that the sexp entries must start at
the left margin, no whitespace is allowed before them. For example, the
following segment of an Org file will be processed and entries will be
made in the agenda:
* Holidays
:PROPERTIES:
:CATEGORY: Holiday
:END:
%%(org-calendar-holiday) ; special function for holiday names
* Birthdays
:PROPERTIES:
:CATEGORY: Ann
:END:
%%(org-anniversary 1956 5 14)(2) Arthur Dent is %d years old
%%(org-anniversary 1869 10 2) Mahatma Gandhi would be %d years old
Anniversaries from BBDB
.......................
If you are using the Big Brothers Database to store your contacts, you
will very likely prefer to store anniversaries in BBDB rather than in a
separate Org or diary file. Org supports this and will show BBDB
anniversaries as part of the agenda. All you need to do is to add the
following to one of your agenda files:
* Anniversaries
:PROPERTIES:
:CATEGORY: Anniv
:END:
%%(org-bbdb-anniversaries)
You can then go ahead and define anniversaries for a BBDB record.
Basically, you need to press ‘C-o anniversary <RET>’ with the cursor in
a BBDB record and then add the date in the format ‘YYYY-MM-DD’ or
‘MM-DD’, followed by a space and the class of the anniversary
(‘birthday’ or ‘wedding’, or a format string). If you omit the class,
it will default to ‘birthday’. Here are a few examples, the header for
the file ‘org-bbdb.el’ contains more detailed information.
1973-06-22
06-22
1955-08-02 wedding
2008-04-14 %s released version 6.01 of org mode, %d years ago
After a change to BBDB, or for the first agenda display during an
Emacs session, the agenda display will suffer a short delay as Org
updates its hash with anniversaries. However, from then on things will
be very fast—much faster in fact than a long list of
‘%%(diary-anniversary)’ entries in an Org or Diary file.
If you would like to see upcoming anniversaries with a bit of
forewarning, you can use the following instead:
* Anniversaries
:PROPERTIES:
:CATEGORY: Anniv
:END:
%%(org-bbdb-anniversaries-future 3)
That will give you three days’ warning: on the anniversary date
itself and the two days prior. The argument is optional: if omitted, it
defaults to 7.
Appointment reminders
.....................
Org can interact with Emacs appointments notification facility. To add
the appointments of your agenda files, use the command
‘org-agenda-to-appt’. This command lets you filter through the list of
your appointments and add only those belonging to a specific category or
matching a regular expression. It also reads a ‘APPT_WARNTIME’ property
which will then override the value of ‘appt-message-warning-time’ for
this appointment. See the docstring for details.
---------- Footnotes ----------
(1) For backward compatibility, the universal prefix ‘C-u’ causes all
TODO entries to be listed before the agenda. This feature is
deprecated, use the dedicated TODO list, or a block agenda instead
(*note Block agenda::).
(2) ‘org-anniversary’ is just like ‘diary-anniversary’, but the
argument order is always according to ISO and therefore independent of
the value of ‘calendar-date-style’.
File: org, Node: Global TODO list, Next: Matching tags and properties, Prev: Weekly/daily agenda, Up: Built-in agenda views
10.3.2 The global TODO list
The global TODO list contains all unfinished TODO items formatted and
collected into a single place.
‘C-c a t (org-todo-list)’
Show the global TODO list. This collects the TODO items from all
agenda files (*note Agenda views::) into a single buffer. By
default, this lists items with a state the is not a DONE state.
The buffer is in ‘agenda-mode’, so there are commands to examine
and manipulate the TODO entries directly from that buffer (*note
Agenda commands::).
‘C-c a T (org-todo-list)’
Like the above, but allows selection of a specific TODO keyword.
You can also do this by specifying a prefix argument to ‘C-c a t’.
You are prompted for a keyword, and you may also specify several
keywords by separating them with ‘|’ as the boolean OR operator.
With a numeric prefix, the Nth keyword in ‘org-todo-keywords’ is
selected. The ‘r’ key in the agenda buffer regenerates it, and you
can give a prefix argument to this command to change the selected
TODO keyword, for example ‘3 r’. If you often need a search for a
specific keyword, define a custom command for it (*note Agenda
dispatcher::).
Matching specific TODO keywords can also be done as part of a tags
search (*note Tag searches::).
Remote editing of TODO items means that you can change the state of a
TODO entry with a single key press. The commands available in the TODO
list are described in *note Agenda commands::.
Normally the global TODO list simply shows all headlines with TODO
keywords. This list can become very long. There are two ways to keep
it more compact:
− Some people view a TODO item that has been _scheduled_ for
execution or have a _deadline_ (*note Timestamps::) as no longer
_open_. Configure the variables
‘org-agenda-todo-ignore-scheduled’,
‘org-agenda-todo-ignore-deadlines’,
‘org-agenda-todo-ignore-timestamp’ and/or
‘org-agenda-todo-ignore-with-date’ to exclude such items from the
global TODO list.
− TODO items may have sublevels to break up the task into subtasks.
In such cases it may be enough to list only the highest level TODO
headline and omit the sublevels from the global list. Configure
the variable ‘org-agenda-todo-list-sublevels’ to get this behavior.
File: org, Node: Matching tags and properties, Next: Search view, Prev: Global TODO list, Up: Built-in agenda views
10.3.3 Matching tags and properties
If headlines in the agenda files are marked with _tags_ (*note Tags::),
or have properties (*note Properties and columns::), you can select
headlines based on this metadata and collect them into an agenda buffer.
The match syntax described here also applies when creating sparse trees
with ‘C-c / m’.
‘C-c a m (org-tags-view)’
Produce a list of all headlines that match a given set of tags.
The command prompts for a selection criterion, which is a boolean
logic expression with tags, like ‘+work+urgent-withboss’ or
‘work|home’ (*note Tags::). If you often need a specific search,
define a custom command for it (*note Agenda dispatcher::).
‘C-c a M (org-tags-view)’
Like ‘C-c a m’, but only select headlines that are also TODO items
in a not-DONE state and force checking subitems (see variable
‘org-tags-match-list-sublevels’). To exclude scheduled/deadline
items, see the variable
‘org-agenda-tags-todo-honor-ignore-options’. Matching specific
TODO keywords together with a tags match is also possible, see
*note Tag searches::.
The commands available in the tags list are described in *note Agenda
commands::.
Match syntax
............
A search string can use Boolean operators ‘&’ for ‘AND’ and ‘|’ for
‘OR’. ‘&’ binds more strongly than ‘|’. Parentheses are not
implemented. Each element in the search is either a tag, a regular
expression matching tags, or an expression like ‘PROPERTY OPERATOR
VALUE’ with a comparison operator, accessing a property value. Each
element may be preceded by ‘-’, to select against it, and ‘+’ is
syntactic sugar for positive selection. The ‘AND’ operator ‘&’ is
optional when ‘+’ or ‘-’ is present. Here are some examples, using only
tags.
‘work’
Select headlines tagged ‘:work:’.
‘work&boss’
Select headlines tagged ‘:work:’ and ‘:boss:’.
‘+work-boss’
Select headlines tagged ‘:work:’, but discard those also tagged
‘:boss:’.
‘work|laptop’
Selects lines tagged ‘:work:’ or ‘:laptop:’.
‘work|laptop+night’
Like before, but require the ‘:laptop:’ lines to be tagged also
‘:night:’.
Instead of a tag, you may also specify a regular expression enclosed
in curly braces. For example, ‘work+{^boss.*}’ matches headlines that
contain the tag ‘:work:’ and any tag starting with ‘boss’.
Group tags (*note Tag hierarchy::) are expanded as regular
expressions. E.g., if ‘:work:’ is a group tag for the group
‘:work:lab:conf:’, then searching for ‘work’ will search for
‘{\(?:work\|lab\|conf\)}’ and searching for ‘-work’ will search for all
headlines but those with one of the tags in the group (i.e.,
‘-{\(?:work\|lab\|conf\)}’).
You may also test for properties (*note Properties and columns::) at
the same time as matching tags. The properties may be real properties,
or special properties that represent other metadata (*note Special
properties::). For example, the “property” ‘TODO’ represents the TODO
keyword of the entry and the “property” ‘PRIORITY’ represents the
PRIORITY keyword of the entry.
In addition to the properties mentioned above, ‘LEVEL’ represents the
level of an entry. So a search ‘+LEVEL=3+boss-TODO="DONE"’ lists all
level three headlines that have the tag ‘boss’ and are _not_ marked with
the TODO keyword DONE. In buffers with ‘org-odd-levels-only’ set,
‘LEVEL’ does not count the number of stars, but ‘LEVEL=2’ will
correspond to 3 stars etc.
Here are more examples:
‘work+TODO="WAITING"’
Select ‘:work:’-tagged TODO lines with the specific TODO keyword
‘WAITING’.
‘work+TODO="WAITING"|home+TODO="WAITING"’
Waiting tasks both at work and at home.
When matching properties, a number of different operators can be used
to test the value of a property. Here is a complex example:
+work-boss+PRIORITY="A"+Coffee="unlimited"+Effort<2 \
+With={Sarah\|Denny}+SCHEDULED>="<2008-10-11>"
The type of comparison will depend on how the comparison value is
written:
− If the comparison value is a plain number, a numerical comparison
is done, and the allowed operators are ‘<’, ‘=’, ‘>’, ‘<=’, ‘>=’,
and ‘<>’.
− If the comparison value is enclosed in double-quotes, a string
comparison is done, and the same operators are allowed.
− If the comparison value is enclosed in double-quotes _and_ angular
brackets (like ‘DEADLINE<="<2008-12-24 18:30>"’), both values are
assumed to be date/time specifications in the standard Org way, and
the comparison will be done accordingly. Special values that will
be recognized are ‘"<now>"’ for now (including time), and
‘"<today>"’, and ‘"<tomorrow>"’ for these days at 00:00 hours,
i.e., without a time specification. Also strings like ‘"<+5d>"’ or
‘"<-2m>"’ with units ‘d’, ‘w’, ‘m’, and ‘y’ for day, week, month,
and year, respectively, can be used.
− If the comparison value is enclosed in curly braces, a regexp match
is performed, with ‘=’ meaning that the regexp matches the property
value, and ‘<>’ meaning that it does not match.
So the search string in the example finds entries tagged ‘:work:’ but
not ‘:boss:’, which also have a priority value ‘A’, a ‘:Coffee:’
property with the value ‘unlimited’, an ‘Effort’ property that is
numerically smaller than 2, a ‘:With:’ property that is matched by the
regular expression ‘Sarah\|Denny’, and that are scheduled on or after
October 11, 2008.
You can configure Org mode to use property inheritance during a
search, but beware that this can slow down searches considerably. See
*note Property inheritance::, for details.
For backward compatibility, and also for typing speed, there is also
a different way to test TODO states in a search. For this, terminate
the tags/property part of the search string (which may include several
terms connected with ‘|’) with a ‘/’ and then specify a Boolean
expression just for TODO keywords. The syntax is then similar to that
for tags, but should be applied with care: for example, a positive
selection on several TODO keywords cannot meaningfully be combined with
boolean AND. However, _negative selection_ combined with AND can be
meaningful. To make sure that only lines are checked that actually have
any TODO keyword (resulting in a speed-up), use ‘C-c a M’, or
equivalently start the TODO part after the slash with ‘!’. Using ‘C-c a
M’ or ‘/!’ will not match TODO keywords in a DONE state. Examples:
‘work/WAITING’
Same as ‘work+TODO="WAITING"’
‘work/!-WAITING-NEXT’
Select ‘:work:’-tagged TODO lines that are neither ‘WAITING’ nor
‘NEXT’
‘work/!+WAITING|+NEXT’
Select ‘:work:’-tagged TODO lines that are either ‘WAITING’ or
‘NEXT’.
File: org, Node: Search view, Next: Stuck projects, Prev: Matching tags and properties, Up: Built-in agenda views
10.3.4 Search view
This agenda view is a general text search facility for Org mode entries.
It is particularly useful to find notes.
‘C-c a s (org-search-view)’
This is a special search that lets you select entries by matching a
substring or specific words using a boolean logic.
For example, the search string ‘computer equipment’ will find entries
that contain ‘computer equipment’ as a substring. If the two words are
separated by more space or a line break, the search will still match.
Search view can also search for specific keywords in the entry, using
Boolean logic. The search string ‘+computer +wifi -ethernet
-{8\.11[bg]}’ will search for note entries that contain the keywords
‘computer’ and ‘wifi’, but not the keyword ‘ethernet’, and which are
also not matched by the regular expression ‘8\.11[bg]’, meaning to
exclude both 8.11b and 8.11g. The first ‘+’ is necessary to turn on
word search, other ‘+’ characters are optional. For more details, see
the docstring of the command ‘org-search-view’.
Note that in addition to the agenda files, this command will also
search the files listed in ‘org-agenda-text-search-extra-files’.
File: org, Node: Stuck projects, Prev: Search view, Up: Built-in agenda views
10.3.5 Stuck projects
If you are following a system like David Allen’s GTD to organize your
work, one of the “duties” you have is a regular review to make sure that
all projects move along. A _stuck_ project is a project that has no
defined next actions, so it will never show up in the TODO lists Org
mode produces. During the review, you need to identify such projects
and define next actions for them.
‘C-c a # (org-agenda-list-stuck-projects)’
List projects that are stuck.
‘C-c a !’
Customize the variable ‘org-stuck-projects’ to define what a stuck
project is and how to find it.
You almost certainly will have to configure this view before it will
work for you. The built-in default assumes that all your projects are
level-2 headlines, and that a project is not stuck if it has at least
one entry marked with a TODO keyword TODO or NEXT or NEXTACTION.
Let’s assume that you, in your own way of using Org mode, identify
projects with a tag PROJECT, and that you use a TODO keyword MAYBE to
indicate a project that should not be considered yet. Let’s further
assume that the TODO keyword DONE marks finished projects, and that NEXT
and TODO indicate next actions. The tag @SHOP indicates shopping and is
a next action even without the NEXT tag. Finally, if the project
contains the special word IGNORE anywhere, it should not be listed
either. In this case you would start by identifying eligible projects
with a tags/todo match(1) ‘+PROJECT/-MAYBE-DONE’, and then check for
TODO, NEXT, @SHOP, and IGNORE in the subtree to identify projects that
are not stuck. The correct customization for this is
(setq org-stuck-projects
'("+PROJECT/-MAYBE-DONE" ("NEXT" "TODO") ("@SHOP")
"\\<IGNORE\\>"))
Note that if a project is identified as non-stuck, the subtree of
this entry will still be searched for stuck projects.
---------- Footnotes ----------
(1) *Note Tag searches::.
File: org, Node: Presentation and sorting, Next: Agenda commands, Prev: Built-in agenda views, Up: Agenda views
10.4 Presentation and sorting
=============================
Before displaying items in an agenda view, Org mode visually prepares
the items and sorts them. Each item occupies a single line. The line
starts with a _prefix_ that contains the _category_ (*note Categories::)
of the item and other important information. You can customize in which
column tags will be displayed through ‘org-agenda-tags-column’. You can
also customize the prefix using the option ‘org-agenda-prefix-format’.
This prefix is followed by a cleaned-up version of the outline headline
associated with the item.
* Menu:
* Categories:: Not all tasks are equal
* Time-of-day specifications:: How the agenda knows the time
* Sorting agenda items:: The order of things
* Filtering/limiting agenda items:: Dynamically narrow the agenda
File: org, Node: Categories, Next: Time-of-day specifications, Up: Presentation and sorting
10.4.1 Categories
The category is a broad label assigned to each agenda item. By default,
the category is simply derived from the file name, but you can also
specify it with a special line in the buffer, like this:
#+CATEGORY: Thesis
If you would like to have a special ‘CATEGORY’ for a single entry or a
(sub)tree, give the entry a ‘:CATEGORY:’ property with the special
category you want to apply as the value.
The display in the agenda buffer looks best if the category is not
longer than 10 characters.
You can set up icons for category by customizing the
‘org-agenda-category-icon-alist’ variable.
File: org, Node: Time-of-day specifications, Next: Sorting agenda items, Prev: Categories, Up: Presentation and sorting
10.4.2 Time-of-day specifications
Org mode checks each agenda item for a time-of-day specification. The
time can be part of the timestamp that triggered inclusion into the
agenda, for example as in ‘<2005-05-10 Tue 19:00>’. Time ranges can be
specified with two timestamps, like
‘<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>’.
In the headline of the entry itself, a time(range) may also appear as
plain text (like ‘12:45’ or a ‘8:30-1pm’)(1).
If the agenda integrates the Emacs diary (*note Weekly/daily
agenda::), time specifications in diary entries are recognized as well.
For agenda display, Org mode extracts the time and displays it in a
standard 24 hour format as part of the prefix. The example times in the
previous paragraphs would end up in the agenda like this:
8:30-13:00 Arthur Dent lies in front of the bulldozer
12:45...... Ford Prefect arrives and takes Arthur to the pub
19:00...... The Vogon reads his poem
20:30-22:15 Marvin escorts the Hitchhikers to the bridge
If the agenda is in single-day mode, or for the display of today, the
timed entries are embedded in a time grid, like
8:00...... ------------------
8:30-13:00 Arthur Dent lies in front of the bulldozer
10:00...... ------------------
12:00...... ------------------
12:45...... Ford Prefect arrives and takes Arthur to the pub
14:00...... ------------------
16:00...... ------------------
18:00...... ------------------
19:00...... The Vogon reads his poem
20:00...... ------------------
20:30-22:15 Marvin escorts the Hitchhikers to the bridge
The time grid can be turned on and off with the variable
‘org-agenda-use-time-grid’, and can be configured with
‘org-agenda-time-grid’.
---------- Footnotes ----------
(1) You can, however, disable this by setting
‘org-agenda-search-headline-for-time’ variable to a ‘nil’ value.
File: org, Node: Sorting agenda items, Next: Filtering/limiting agenda items, Prev: Time-of-day specifications, Up: Presentation and sorting
10.4.3 Sorting agenda items
Before being inserted into a view, the items are sorted. How this is
done depends on the type of view.
• For the daily/weekly agenda, the items for each day are sorted.
The default order is to first collect all items containing an
explicit time-of-day specification. These entries will be shown at
the beginning of the list, as a _schedule_ for the day. After
that, items remain grouped in categories, in the sequence given by
‘org-agenda-files’. Within each category, items are sorted by
priority (*note Priorities::), which is composed of the base
priority (2000 for priority ‘A’, 1000 for ‘B’, and 0 for ‘C’), plus
additional increments for overdue scheduled or deadline items.
• For the TODO list, items remain in the order of categories, but
within each category, sorting takes place according to priority
(*note Priorities::). The priority used for sorting derives from
the priority cookie, with additions depending on how close an item
is to its due or scheduled date.
• For tags matches, items are not sorted at all, but just appear in
the sequence in which they are found in the agenda files.
Sorting can be customized using the variable
‘org-agenda-sorting-strategy’, and may also include criteria based on
the estimated effort of an entry (*note Effort estimates::).
File: org, Node: Filtering/limiting agenda items, Prev: Sorting agenda items, Up: Presentation and sorting
10.4.4 Filtering/limiting agenda items
Agenda built-in or customized commands are statically defined. Agenda
filters and limits provide two ways of dynamically narrowing down the
list of agenda entries: _filters_ and _limits_. Filters only act on the
display of the items, while limits take effect before the list of agenda
entries is built. Filters are more often used interactively, while
limits are mostly useful when defined as local variables within custom
agenda commands.
Filtering in the agenda
.......................
‘/ (org-agenda-filter-by-tag)’
Filter the agenda view with respect to a tag and/or effort
estimates. The difference between this and a custom agenda command
is that filtering is very fast, so that you can switch quickly
between different filters without having to recreate the agenda.(1)
You will be prompted for a tag selection letter; <SPC> will mean
any tag at all. Pressing <TAB> at that prompt will offer use
completion to select a tag (including any tags that do not have a
selection character). The command then hides all entries that do
not contain or inherit this tag. When called with prefix arg,
remove the entries that _do_ have the tag. A second ‘/’ at the
prompt will turn off the filter and unhide any hidden entries.
Pressing ‘+’ or ‘-’ switches between filtering and excluding the
next tag.
Org also supports automatic, context-aware tag filtering. If the
variable ‘org-agenda-auto-exclude-function’ is set to a
user-defined function, that function can decide which tags should
be excluded from the agenda automatically. Once this is set, the
‘/’ command then accepts ‘<RET>’ as a sub-option key and runs the
auto exclusion logic. For example, let’s say you use a ‘Net’ tag
to identify tasks which need network access, an ‘Errand’ tag for
errands in town, and a ‘Call’ tag for making phone calls. You
could auto-exclude these tags based on the availability of the
Internet, and outside of business hours, with something like this:
(defun org-my-auto-exclude-function (tag)
(and (cond
((string= tag "Net")
(/= 0 (call-process "/sbin/ping" nil nil nil
"-c1" "-q" "-t1" "mail.gnu.org")))
((or (string= tag "Errand") (string= tag "Call"))
(let ((hour (nth 2 (decode-time))))
(or (< hour 8) (> hour 21)))))
(concat "-" tag)))
(setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function)
‘[ ] { }’
in search view
add new search words (‘[’ and ‘]’) or new regular expressions
(‘{’ and ‘}’) to the query string. The opening bracket/brace
will add a positive search term prefixed by ‘+’, indicating
that this search term must occur/match in the entry. The
closing bracket/brace will add a negative search term which
must not occur/match in the entry for it to be selected.
‘< (org-agenda-filter-by-category)’
Filter the current agenda view with respect to the category of the
item at point. Pressing ‘<’ another time will remove this filter.
When called with a prefix argument exclude the category of the item
at point from the agenda.
You can add a filter preset in custom agenda commands through the
option ‘org-agenda-category-filter-preset’. *Note Setting
options::.
‘^ (org-agenda-filter-by-top-headline)’
Filter the current agenda view and only display the siblings and
the parent headline of the one at point.
‘= (org-agenda-filter-by-regexp)’
Filter the agenda view by a regular expression: only show agenda
entries matching the regular expression the user entered. When
called with a prefix argument, it will filter _out_ entries
matching the regexp. With two universal prefix arguments, it will
remove all the regexp filters, which can be accumulated.
You can add a filter preset in custom agenda commands through the
option ‘org-agenda-regexp-filter-preset’. *Note Setting options::.
‘_ (org-agenda-filter-by-effort)’
Filter the agenda view with respect to effort estimates. You first
need to set up allowed efforts globally, for example
(setq org-global-properties
'(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
You can then filter for an effort by first typing an operator, one
of ‘<’, ‘>’, and ‘=’, and then the one-digit index of an effort
estimate in your array of allowed values, where ‘0’ means the 10th
value. The filter will then restrict to entries with effort
smaller-or-equal, equal, or larger-or-equal than the selected
value. For application of the operator, entries without a defined
effort will be treated according to the value of
‘org-sort-agenda-noeffort-is-high’.
When called with a prefix argument, it will remove entries matching
the condition. With two universal prefix arguments, it will clear
effort filters, which can be accumulated.
You can add a filter preset in custom agenda commands through the
option ‘org-agenda-effort-filter-preset’. *Note Setting options::.
‘| (org-agenda-filter-remove-all)’
Remove all filters in the current agenda view.
Setting limits for the agenda
.............................
Here is a list of options that you can set, either globally, or locally
in your custom agenda views (*note Custom agenda views::).
‘org-agenda-max-entries’
Limit the number of entries.
‘org-agenda-max-effort’
Limit the duration of accumulated efforts (as minutes).
‘org-agenda-max-todos’
Limit the number of entries with TODO keywords.
‘org-agenda-max-tags’
Limit the number of tagged entries.
When set to a positive integer, each option will exclude entries from
other categories: for example, ‘(setq org-agenda-max-effort 100)’ will
limit the agenda to 100 minutes of effort and exclude any entry that has
no effort property. If you want to include entries with no effort
property, use a negative value for ‘org-agenda-max-effort’.
One useful setup is to use ‘org-agenda-max-entries’ locally in a
custom command. For example, this custom command will display the next
five entries with a ‘NEXT’ TODO keyword.
(setq org-agenda-custom-commands
'(("n" todo "NEXT"
((org-agenda-max-entries 5)))))
Once you mark one of these five entry as ‘DONE’, rebuilding the
agenda will again the next five entries again, including the first entry
that was excluded so far.
You can also dynamically set temporary limits, which will be lost
when rebuilding the agenda:
‘~ (org-agenda-limit-interactively)’
This prompts for the type of limit to apply and its value.
---------- Footnotes ----------
(1) Custom commands can preset a filter by binding the variable
‘org-agenda-tag-filter-preset’ as an option. This filter will then be
applied to the view and persist as a basic filter through refreshes and
more secondary filtering. The filter is a global property of the entire
agenda view—in a block agenda, you should only set this in the global
options section, not in the section of an individual block.
File: org, Node: Agenda commands, Next: Custom agenda views, Prev: Presentation and sorting, Up: Agenda views
10.5 Commands in the agenda buffer
==================================
Entries in the agenda buffer are linked back to the Org file or diary
file where they originate. You are not allowed to edit the agenda
buffer itself, but commands are provided to show and jump to the
original entry location, and to edit the Org files “remotely” from the
agenda buffer. In this way, all information is stored only once,
removing the risk that your agenda and note files may diverge.
Some commands can be executed with mouse clicks on agenda lines. For
the other commands, the cursor needs to be in the desired line.
Motion
......
‘n (org-agenda-next-line)’
Next line (same as <DOWN> and ‘C-n’).
‘p (org-agenda-previous-line)’
Previous line (same as <UP> and ‘C-p’).
‘N (org-agenda-next-item)’
Next item: same as next line, but only consider items.
‘P (org-agenda-previous-item)’
Previous item: same as previous line, but only consider items.
View/Go to Org file
...................
‘<SPC> or mouse-3 (org-agenda-show-and-scroll-up)’
Display the original location of the item in another window. With
prefix arg, make sure that drawers stay folded.
‘L (org-agenda-recenter)’
Display original location and recenter that window.
‘<TAB> or mouse-2 (org-agenda-goto)’
Go to the original location of the item in another window.
‘<RET> (org-agenda-switch-to)’
Go to the original location of the item and delete other windows.
‘F (org-agenda-follow-mode)’
Toggle Follow mode. In Follow mode, as you move the cursor through
the agenda buffer, the other window always shows the corresponding
location in the Org file. The initial setting for this mode in new
agenda buffers can be set with the variable
‘org-agenda-start-with-follow-mode’.
‘C-c C-x b (org-agenda-tree-to-indirect-buffer)’
Display the entire subtree of the current item in an indirect
buffer. With a numeric prefix argument N, go up to level N and
then take that tree. If N is negative, go up that many levels.
With a ‘C-u’ prefix, do not remove the previously used indirect
buffer.
‘C-c C-o (org-agenda-open-link)’
Follow a link in the entry. This will offer a selection of any
links in the text belonging to the referenced Org node. If there
is only one link, it will be followed without a selection prompt.
Change display
..............
‘A’
Interactively select another agenda view and append it to the
current view.
‘o’
Delete other windows.
‘v d or short d (org-agenda-day-view)’
‘v w or short w (org-agenda-week-view)’
‘v t (org-agenda-fortnight-view)’
‘v m (org-agenda-month-view)’
‘v y (org-agenda-year-view)’
‘v <SPC> (org-agenda-reset-view)’
Switch to day/week/month/year view. When switching to day or week
view, this setting becomes the default for subsequent agenda
refreshes. Since month and year views are slow to create, they do
not become the default. A numeric prefix argument may be used to
jump directly to a specific day of the year, ISO week, month, or
year, respectively. For example, ‘32 d’ jumps to February 1st, ‘9
w’ to ISO week number 9. When setting day, week, or month view, a
year may be encoded in the prefix argument as well. For example,
‘200712 w’ will jump to week 12 in 2007. If such a year
specification has only one or two digits, it will be mapped to the
interval 1938–2037. ‘v <SPC>’ will reset to what is set in
‘org-agenda-span’.
‘f (org-agenda-later)’
Go forward in time to display the following
‘org-agenda-current-span’ days. For example, if the display covers
a week, switch to the following week. With prefix arg, go forward
that many times ‘org-agenda-current-span’ days.
‘b (org-agenda-earlier)’
Go backward in time to display earlier dates.
‘. (org-agenda-goto-today)’
Go to today.
‘j (org-agenda-goto-date)’
Prompt for a date and go there.
‘J (org-agenda-clock-goto)’
Go to the currently clocked-in task in the agenda buffer.
‘D (org-agenda-toggle-diary)’
Toggle the inclusion of diary entries. See *note Weekly/daily
agenda::.
‘v l or short l (org-agenda-log-mode)’
Toggle Logbook mode. In Logbook mode, entries that were marked
DONE while logging was on (variable ‘org-log-done’) are shown in
the agenda, as are entries that have been clocked on that day. You
can configure the entry types that should be included in log mode
using the variable ‘org-agenda-log-mode-items’. When called with a
‘C-u’ prefix, show all possible logbook entries, including state
changes. When called with two prefix arguments ‘C-u C-u’, show
only logging information, nothing else. ‘v L’ is equivalent to
‘C-u v l’.
‘v [ or short [ (org-agenda-manipulate-query-add)’
Include inactive timestamps into the current view. Only for
weekly/daily agenda.
‘v a (org-agenda-archives-mode)’
‘v A (org-agenda-archives-mode 'files)’
Toggle Archives mode. In Archives mode, trees that are marked
‘ARCHIVED’ are also scanned when producing the agenda. When you
use the capital ‘A’, even all archive files are included. To exit
archives mode, press ‘v a’ again.
‘v R or short R (org-agenda-clockreport-mode)’
Toggle Clockreport mode. In Clockreport mode, the daily/weekly
agenda will always show a table with the clocked times for the time
span and file scope covered by the current agenda view. The
initial setting for this mode in new agenda buffers can be set with
the variable ‘org-agenda-start-with-clockreport-mode’. By using a
prefix argument when toggling this mode (i.e., ‘C-u R’), the clock
table will not show contributions from entries that are hidden by
agenda filtering(1). See also the variable
‘org-clock-report-include-clocking-task’.
‘v c’
Show overlapping clock entries, clocking gaps, and other clocking
problems in the current agenda range. You can then visit clocking
lines and fix them manually. See the variable
‘org-agenda-clock-consistency-checks’ for information on how to
customize the definition of what constituted a clocking problem.
To return to normal agenda display, press ‘l’ to exit Logbook mode.
‘v E or short E (org-agenda-entry-text-mode)’
Toggle entry text mode. In entry text mode, a number of lines from
the Org outline node referenced by an agenda line will be displayed
below the line. The maximum number of lines is given by the
variable ‘org-agenda-entry-text-maxlines’. Calling this command
with a numeric prefix argument will temporarily modify that number
to the prefix value.
‘G (org-agenda-toggle-time-grid)’
Toggle the time grid on and off. See also the variables
‘org-agenda-use-time-grid’ and ‘org-agenda-time-grid’.
‘r (org-agenda-redo)’
Recreate the agenda buffer, for example to reflect the changes
after modification of the timestamps of items with ‘S-<LEFT>’ and
‘S-<RIGHT>’. When the buffer is the global TODO list, a prefix
argument is interpreted to create a selective list for a specific
TODO keyword.
‘g (org-agenda-redo)’
Same as ‘r’.
‘C-x C-s or short s (org-save-all-org-buffers)’
Save all Org buffers in the current Emacs session, and also the
locations of IDs.
‘C-c C-x C-c (org-agenda-columns)’
Invoke column view (*note Column view::) in the agenda buffer. The
column view format is taken from the entry at point, or (if there
is no entry at point), from the first entry in the agenda view. So
whatever the format for that entry would be in the original buffer
(taken from a property, from a ‘#+COLUMNS’ line, or from the
default variable ‘org-columns-default-format’), will be used in the
agenda.
‘C-c C-x > (org-agenda-remove-restriction-lock)’
Remove the restriction lock on the agenda, if it is currently
restricted to a file or subtree (*note Agenda files::).
Secondary filtering and query editing
.....................................
For a detailed description of these commands, *note
Filtering/limiting agenda items::.
‘/ (org-agenda-filter-by-tag)’
Filter the agenda view with respect to a tag and/or effort
estimates.
‘< (org-agenda-filter-by-category)’
Filter the current agenda view with respect to the category of the
item at point.
‘^ (org-agenda-filter-by-top-headline)’
Filter the current agenda view and only display the siblings and
the parent headline of the one at point.
‘= (org-agenda-filter-by-regexp)’
Filter the agenda view by a regular expression.
‘_ (org-agenda-filter-by-effort)’
Filter the agenda view with respect to effort estimates.
‘| (org-agenda-filter-remove-all)’
Remove all filters in the current agenda view.
Remote editing
..............
‘0--9’
Digit argument.
‘C-_ (org-agenda-undo)’
Undo a change due to a remote editing command. The change is
undone both in the agenda buffer and in the remote buffer.
‘t (org-agenda-todo)’
Change the TODO state of the item, both in the agenda and in the
original org file.
‘C-S-<RIGHT> (org-agenda-todo-nextset)’
‘C-S-<LEFT> (org-agenda-todo-previousset)’
Switch to the next/previous set of TODO keywords.
‘C-k (org-agenda-kill)’
Delete the current agenda item along with the entire subtree
belonging to it in the original Org file. If the text to be
deleted remotely is longer than one line, the kill needs to be
confirmed by the user. See variable ‘org-agenda-confirm-kill’.
‘C-c C-w (org-agenda-refile)’
Refile the entry at point.
‘C-c C-x C-a or short a (org-agenda-archive-default-with-confirmation)’
Archive the subtree corresponding to the entry at point using the
default archiving command set in ‘org-archive-default-command’.
When using the ‘a’ key, confirmation will be required.
‘C-c C-x a (org-agenda-toggle-archive-tag)’
Toggle the ARCHIVE tag for the current headline.
‘C-c C-x A (org-agenda-archive-to-archive-sibling)’
Move the subtree corresponding to the current entry to its _archive
sibling_.
‘C-c C-x C-s or short $ (org-agenda-archive)’
Archive the subtree corresponding to the current headline. This
means the entry will be moved to the configured archive location,
most likely a different file.
‘T (org-agenda-show-tags)’
Show all tags associated with the current item. This is useful if
you have turned off ‘org-agenda-show-inherited-tags’, but still
want to see all tags of a headline occasionally.
‘: (org-agenda-set-tags)’
Set tags for the current headline. If there is an active region in
the agenda, change a tag for all headings in the region.
‘,’
Set the priority for the current item (‘org-agenda-priority’). Org
mode prompts for the priority character. If you reply with <SPC>,
the priority cookie is removed from the entry.
‘P (org-agenda-show-priority)’
Display weighted priority of current item.
‘+ or S-<UP> (org-agenda-priority-up)’
Increase the priority of the current item. The priority is changed
in the original buffer, but the agenda is not resorted. Use the
‘r’ key for this.
‘- or S-<DOWN> (org-agenda-priority-down)’
Decrease the priority of the current item.
‘z or C-c C-z (org-agenda-add-note)’
Add a note to the entry. This note will be recorded, and then
filed to the same location where state change notes are put.
Depending on ‘org-log-into-drawer’, this may be inside a drawer.
‘C-c C-a (org-attach)’
Dispatcher for all command related to attachments.
‘C-c C-s (org-agenda-schedule)’
Schedule this item. With prefix arg remove the scheduling
timestamp
‘C-c C-d (org-agenda-deadline)’
Set a deadline for this item. With prefix arg remove the deadline.
‘S-<RIGHT> (org-agenda-do-date-later)’
Change the timestamp associated with the current line by one day
into the future. If the date is in the past, the first call to
this command will move it to today.
With a numeric prefix argument, change it by that many days. For
example, ‘3 6 5 S-<RIGHT>’ will change it by a year. With a ‘C-u’
prefix, change the time by one hour. If you immediately repeat the
command, it will continue to change hours even without the prefix
arg. With a double ‘C-u C-u’ prefix, do the same for changing
minutes.
The stamp is changed in the original Org file, but the change is
not directly reflected in the agenda buffer. Use ‘r’ or ‘g’ to
update the buffer.
‘S-<LEFT> (org-agenda-do-date-earlier)’
Change the timestamp associated with the current line by one day
into the past.
‘> (org-agenda-date-prompt)’
Change the timestamp associated with the current line. The key ‘>’
has been chosen, because it is the same as ‘S-.’ on my keyboard.
‘I (org-agenda-clock-in)’
Start the clock on the current item. If a clock is running
already, it is stopped first.
‘O (org-agenda-clock-out)’
Stop the previously started clock.
‘X (org-agenda-clock-cancel)’
Cancel the currently running clock.
‘J (org-agenda-clock-goto)’
Jump to the running clock in another window.
‘k (org-agenda-capture)’
Like ‘org-capture’, but use the date at point as the default date
for the capture template. See ‘org-capture-use-agenda-date’ to
make this the default behavior of ‘org-capture’.
Dragging agenda lines forward/backward
......................................
‘M-<up> (org-agenda-drag-line-backward)’
Drag the line at point backward one line(2). With a numeric prefix
argument, drag backward by that many lines.
‘M-<down> (org-agenda-drag-line-forward)’
Drag the line at point forward one line. With a numeric prefix
argument, drag forward by that many lines.
Bulk remote editing selected entries
....................................
‘m (org-agenda-bulk-mark)’
Mark the entry at point for bulk action. With numeric prefix
argument, mark that many successive entries.
‘* (org-agenda-bulk-mark-all)’
Mark all visible agenda entries for bulk action.
‘u (org-agenda-bulk-unmark)’
Unmark entry at point for bulk action.
‘U (org-agenda-bulk-remove-all-marks)’
Unmark all marked entries for bulk action.
‘M-m (org-agenda-bulk-toggle)’
Toggle mark of the entry at point for bulk action.
‘M-* (org-agenda-bulk-toggle-all)’
Toggle marks of all visible entries for bulk action.
‘% (org-agenda-bulk-mark-regexp)’
Mark entries matching a regular expression for bulk action.
‘B (org-agenda-bulk-action)’
Bulk action: act on all marked entries in the agenda. This will
prompt for another key to select the action to be applied. The
prefix arg to ‘B’ will be passed through to the ‘s’ and ‘d’
commands, to bulk-remove these special timestamps. By default,
marks are removed after the bulk. If you want them to persist, set
‘org-agenda-persistent-marks’ to ‘t’ or hit ‘p’ at the prompt.
‘*’
Toggle persistent marks.
‘$’
Archive all selected entries.
‘A’
Archive entries by moving them to their respective archive
siblings.
‘t’
Change TODO state. This prompts for a single TODO keyword and
changes the state of all selected entries, bypassing blocking
and suppressing logging notes (but not timestamps).
‘+’
Add a tag to all selected entries.
‘-’
Remove a tag from all selected entries.
‘s’
Schedule all items to a new date. To shift existing schedule
dates by a fixed number of days, use something starting with
double plus at the prompt, for example ‘++8d’ or ‘++2w’.
‘d’
Set deadline to a specific date.
‘r’
Prompt for a single refile target and move all entries. The
entries will no longer be in the agenda; refresh (‘g’) to
bring them back.
‘S’
Reschedule randomly into the coming N days. N will be
prompted for. With prefix arg (‘C-u B S’), scatter only
across weekdays.
‘f’
Apply a function(3) to marked entries. For example, the
function below sets the CATEGORY property of the entries to
web.
(defun set-category ()
(interactive "P")
(let* ((marker (or (org-get-at-bol 'org-hd-marker)
(org-agenda-error)))
(buffer (marker-buffer marker)))
(with-current-buffer buffer
(save-excursion
(save-restriction
(widen)
(goto-char marker)
(org-back-to-heading t)
(org-set-property "CATEGORY" "web"))))))
Calendar commands
.................
‘c (org-agenda-goto-calendar)’
Open the Emacs calendar and move to the date at the agenda cursor.
‘c (org-calendar-goto-agenda)’
When in the calendar, compute and show the Org mode agenda for the
date at the cursor.
‘i (org-agenda-diary-entry)’
Insert a new entry into the diary, using the date at the cursor and
(for block entries) the date at the mark. This will add to the
Emacs diary file(4), in a way similar to the ‘i’ command in the
calendar. The diary file will pop up in another window, where you
can add the entry.
If you configure ‘org-agenda-diary-file’ to point to an Org mode
file, Org will create entries (in Org mode syntax) in that file
instead. Most entries will be stored in a date-based outline tree
that will later make it easy to archive appointments from previous
months/years. The tree will be built under an entry with a
‘DATE_TREE’ property, or else with years as top-level entries.
Emacs will prompt you for the entry text—if you specify it, the
entry will be created in ‘org-agenda-diary-file’ without further
interaction. If you directly press <RET> at the prompt without
typing text, the target file will be shown in another window for
you to finish the entry there. See also the ‘k r’ command.
‘M (org-agenda-phases-of-moon)’
Show the phases of the moon for the three months around current
date.
‘S (org-agenda-sunrise-sunset)’
Show sunrise and sunset times. The geographical location must be
set with calendar variables, see the documentation for the Emacs
calendar.
‘C (org-agenda-convert-date)’
Convert the date at cursor into many other cultural and historic
calendars.
‘H (org-agenda-holidays)’
Show holidays for three months around the cursor date.
‘M-x org-icalendar-combine-agenda-files <RET>’
Export a single iCalendar file containing entries from all agenda
files. This is a globally available command, and also available in
the agenda menu.
Exporting to a file
...................
‘C-x C-w (org-agenda-write)’
Write the agenda view to a file. Depending on the extension of the
selected file name, the view will be exported as HTML (‘.html’ or
‘.htm’), Postscript (‘.ps’), PDF (‘.pdf’), Org (‘.org’) and plain
text (any other extension). When exporting to Org, only the body
of original headlines are exported, not subtrees or inherited tags.
When called with a ‘C-u’ prefix argument, immediately open the
newly created file. Use the variable
‘org-agenda-exporter-settings’ to set options for ‘ps-print’ and
for ‘htmlize’ to be used during export.
Quit and Exit
.............
‘q (org-agenda-quit)’
Quit agenda, remove the agenda buffer.
‘x (org-agenda-exit)’
Exit agenda, remove the agenda buffer and all buffers loaded by
Emacs for the compilation of the agenda. Buffers created by the
user to visit Org files will not be removed.
---------- Footnotes ----------
(1) Only tags filtering will be respected here, effort filtering is
ignored.
(2) Moving agenda lines does not persist after an agenda refresh and
does not modify the contributing ‘.org’ files
(3) You can also create persistent custom functions through
‘org-agenda-bulk-custom-functions’.
(4) This file is parsed for the agenda when
‘org-agenda-include-diary’ is set.
File: org, Node: Custom agenda views, Next: Exporting agenda views, Prev: Agenda commands, Up: Agenda views
10.6 Custom agenda views
========================
Custom agenda commands serve two purposes: to store and quickly access
frequently used TODO and tags searches, and to create special composite
agenda buffers. Custom agenda commands will be accessible through the
dispatcher (*note Agenda dispatcher::), just like the default commands.
* Menu:
* Storing searches:: Type once, use often
* Block agenda:: All the stuff you need in a single buffer
* Setting options:: Changing the rules
File: org, Node: Storing searches, Next: Block agenda, Up: Custom agenda views
10.6.1 Storing searches
The first application of custom searches is the definition of keyboard
shortcuts for frequently used searches, either creating an agenda
buffer, or a sparse tree (the latter covering of course only the current
buffer).
Custom commands are configured in the variable
‘org-agenda-custom-commands’. You can customize this variable, for
example by pressing ‘C-c a C’. You can also directly set it with Emacs
Lisp in the Emacs init file. The following example contains all valid
agenda views:
(setq org-agenda-custom-commands
'(("x" agenda)
("y" agenda*)
("w" todo "WAITING")
("W" todo-tree "WAITING")
("u" tags "+boss-urgent")
("v" tags-todo "+boss-urgent")
("U" tags-tree "+boss-urgent")
("f" occur-tree "\\<FIXME\\>")
("h" . "HOME+Name tags searches") ; description for "h" prefix
("hl" tags "+home+Lisa")
("hp" tags "+home+Peter")
("hk" tags "+home+Kim")))
The initial string in each entry defines the keys you have to press
after the dispatcher command ‘C-c a’ in order to access the command.
Usually this will be just a single character, but if you have many
similar commands, you can also define two-letter combinations where the
first character is the same in several combinations and serves as a
prefix key(1). The second parameter is the search type, followed by the
string or regular expression to be used for the matching. The example
above will therefore define:
‘C-c a x’
as a global search for agenda entries planned(2) this week/day.
‘C-c a y’
as a global search for agenda entries planned this week/day, but
only those with an hour specification like ‘[h]h:mm’—think of them
as appointments.
‘C-c a w’
as a global search for TODO entries with ‘WAITING’ as the TODO
keyword
‘C-c a W’
as the same search, but only in the current buffer and displaying
the results as a sparse tree
‘C-c a u’
as a global tags search for headlines marked ‘:boss:’ but not
‘:urgent:’
‘C-c a v’
as the same search as ‘C-c a u’, but limiting the search to
headlines that are also TODO items
‘C-c a U’
as the same search as ‘C-c a u’, but only in the current buffer and
displaying the result as a sparse tree
‘C-c a f’
to create a sparse tree (again: current buffer only) with all
entries containing the word ‘FIXME’
‘C-c a h’
as a prefix command for a HOME tags search where you have to press
an additional key (‘l’, ‘p’ or ‘k’) to select a name (Lisa, Peter,
or Kim) as additional tag to match.
Note that the ‘*-tree’ agenda views need to be called from an Org
buffer as they operate on the current buffer only.
---------- Footnotes ----------
(1) You can provide a description for a prefix key by inserting a
cons cell with the prefix and the description.
(2) _Planned_ means here that these entries have some planning
information attached to them, like a time-stamp, a scheduled or a
deadline string. See ‘org-agenda-entry-types’ on how to set what
planning information will be taken into account.
File: org, Node: Block agenda, Next: Setting options, Prev: Storing searches, Up: Custom agenda views
10.6.2 Block agenda
Another possibility is the construction of agenda views that comprise
the results of _several_ commands, each of which creates a block in the
agenda buffer. The available commands include ‘agenda’ for the daily or
weekly agenda (as created with ‘C-c a a’), ‘alltodo’ for the global TODO
list (as constructed with ‘C-c a t’), and the matching commands
discussed above: ‘todo’, ‘tags’, and ‘tags-todo’. Here are two
examples:
(setq org-agenda-custom-commands
'(("h" "Agenda and Home-related tasks"
((agenda "")
(tags-todo "home")
(tags "garden")))
("o" "Agenda and Office-related tasks"
((agenda "")
(tags-todo "work")
(tags "office")))))
This will define ‘C-c a h’ to create a multi-block view for stuff you
need to attend to at home. The resulting agenda buffer will contain
your agenda for the current week, all TODO items that carry the tag
‘home’, and also all lines tagged with ‘garden’. Finally the command
‘C-c a o’ provides a similar view for office tasks.
File: org, Node: Setting options, Prev: Block agenda, Up: Custom agenda views
10.6.3 Setting options for custom commands
Org mode contains a number of variables regulating agenda construction
and display. The global variables define the behavior for all agenda
commands, including the custom commands. However, if you want to change
some settings just for a single custom view, you can do so. Setting
options requires inserting a list of variable names and values at the
right spot in ‘org-agenda-custom-commands’. For example:
(setq org-agenda-custom-commands
'(("w" todo "WAITING"
((org-agenda-sorting-strategy '(priority-down))
(org-agenda-prefix-format " Mixed: ")))
("U" tags-tree "+boss-urgent"
((org-show-context-detail 'minimal)))
("N" search ""
((org-agenda-files '("~org/notes.org"))
(org-agenda-text-search-extra-files nil)))))
Now the ‘C-c a w’ command will sort the collected entries only by
priority, and the prefix format is modified to just say ‘ Mixed: ’
instead of giving the category of the entry. The sparse tags tree of
‘C-c a U’ will now turn out ultra-compact, because neither the headline
hierarchy above the match, nor the headline following the match will be
shown. The command ‘C-c a N’ will do a text search limited to only a
single file.
For command sets creating a block agenda,
‘org-agenda-custom-commands’ has two separate spots for setting options.
You can add options that should be valid for just a single command in
the set, and options that should be valid for all commands in the set.
The former are just added to the command entry; the latter must come
after the list of command entries. Going back to the block agenda
example (*note Block agenda::), let’s change the sorting strategy for
the ‘C-c a h’ commands to ‘priority-down’, but let’s sort the results
for GARDEN tags query in the opposite order, ‘priority-up’. This would
look like this:
(setq org-agenda-custom-commands
'(("h" "Agenda and Home-related tasks"
((agenda)
(tags-todo "home")
(tags "garden"
((org-agenda-sorting-strategy '(priority-up)))))
((org-agenda-sorting-strategy '(priority-down))))
("o" "Agenda and Office-related tasks"
((agenda)
(tags-todo "work")
(tags "office")))))
As you see, the values and parentheses setting is a little complex.
When in doubt, use the customize interface to set this variable—it fully
supports its structure. Just one caveat: when setting options in this
interface, the _values_ are just Lisp expressions. So if the value is a
string, you need to add the double-quotes around the value yourself.
To control whether an agenda command should be accessible from a
specific context, you can customize
‘org-agenda-custom-commands-contexts’. Let’s say for example that you
have an agenda command ‘"o"’ displaying a view that you only need when
reading emails. Then you would configure this option like this:
(setq org-agenda-custom-commands-contexts
'(("o" (in-mode . "message-mode"))))
You can also tell that the command key ‘"o"’ should refer to another
command key ‘"r"’. In that case, add this command key like this:
(setq org-agenda-custom-commands-contexts
'(("o" "r" (in-mode . "message-mode"))))
See the docstring of the variable for more information.
File: org, Node: Exporting agenda views, Next: Agenda column view, Prev: Custom agenda views, Up: Agenda views
10.7 Exporting agenda views
===========================
If you are away from your computer, it can be very useful to have a
printed version of some agenda views to carry around. Org mode can
export custom agenda views as plain text, HTML(1), Postscript, PDF(2),
and iCalendar files. If you want to do this only occasionally, use the
command
‘C-x C-w (org-agenda-write)’
Write the agenda view to a file. Depending on the extension of the
selected file name, the view will be exported as HTML (extension
‘.html’ or ‘.htm’), Postscript (extension ‘.ps’), iCalendar
(extension ‘.ics’), or plain text (any other extension). Use the
variable ‘org-agenda-exporter-settings’ to set options for
‘ps-print’ and for ‘htmlize’ to be used during export, for example
(setq org-agenda-exporter-settings
'((ps-number-of-columns 2)
(ps-landscape-mode t)
(org-agenda-add-entry-text-maxlines 5)
(htmlize-output-type 'css)))
If you need to export certain agenda views frequently, you can
associate any custom agenda command with a list of output file names
(3). Here is an example that first defines custom commands for the
agenda and the global TODO list, together with a number of files to
which to export them. Then we define two block agenda commands and
specify file names for them as well. File names can be relative to the
current working directory, or absolute.
(setq org-agenda-custom-commands
'(("X" agenda "" nil ("agenda.html" "agenda.ps"))
("Y" alltodo "" nil ("todo.html" "todo.txt" "todo.ps"))
("h" "Agenda and Home-related tasks"
((agenda "")
(tags-todo "home")
(tags "garden"))
nil
("~/views/home.html"))
("o" "Agenda and Office-related tasks"
((agenda)
(tags-todo "work")
(tags "office"))
nil
("~/views/office.ps" "~/calendars/office.ics"))))
The extension of the file name determines the type of export. If it
is ‘.html’, Org mode will try to use the ‘htmlize.el’ package to convert
the buffer to HTML and save it to this file name. If the extension is
‘.ps’, ‘ps-print-buffer-with-faces’ is used to produce Postscript
output. If the extension is ‘.ics’, iCalendar export is run export over
all files that were used to construct the agenda, and limit the export
to entries listed in the agenda. Any other extension produces a plain
ASCII file.
The export files are _not_ created when you use one of those commands
interactively because this might use too much overhead. Instead, there
is a special command to produce _all_ specified files in one step:
‘C-c a e (org-store-agenda-views)’
Export all agenda views that have export file names associated with
them.
You can use the options section of the custom agenda commands to also
set options for the export commands. For example:
(setq org-agenda-custom-commands
'(("X" agenda ""
((ps-number-of-columns 2)
(ps-landscape-mode t)
(org-agenda-prefix-format " [ ] ")
(org-agenda-with-colors nil)
(org-agenda-remove-tags t))
("theagenda.ps"))))
This command sets two options for the Postscript exporter, to make it
print in two columns in landscape format—the resulting page can be cut
in two and then used in a paper agenda. The remaining settings modify
the agenda prefix to omit category and scheduling information, and
instead include a checkbox to check off items. We also remove the tags
to make the lines compact, and we don’t want to use colors for the
black-and-white printer. Settings specified in
‘org-agenda-exporter-settings’ will also apply, but the settings in
‘org-agenda-custom-commands’ take precedence.
From the command line you may also use
emacs -eval (org-batch-store-agenda-views) -kill
or, if you need to modify some parameters(4)
emacs -eval '(org-batch-store-agenda-views \
org-agenda-span (quote month) \
org-agenda-start-day "2007-11-01" \
org-agenda-include-diary nil \
org-agenda-files (quote ("~/org/project.org")))' \
-kill
which will create the agenda views restricted to the file
‘~/org/project.org’, without diary entries and with a 30-day extent.
You can also extract agenda information in a way that allows further
processing by other programs. See *note Extracting agenda
information::, for more information.
---------- Footnotes ----------
(1) You need to install ‘htmlize.el’ from Hrvoje Niksic’s repository.
(https://github.com/hniksic/emacs-htmlize)
(2) To create PDF output, the ghostscript ‘ps2pdf’ utility must be
installed on the system. Selecting a PDF file will also create the
postscript file.
(3) If you want to store standard views like the weekly agenda or the
global TODO list as well, you need to define custom commands for them in
order to be able to specify file names.
(4) Quoting depends on the system you use, please check the FAQ for
examples.
File: org, Node: Agenda column view, Prev: Exporting agenda views, Up: Agenda views
10.8 Using column view in the agenda
====================================
Column view (*note Column view::) is normally used to view and edit
properties embedded in the hierarchical structure of an Org file. It
can be quite useful to use column view also from the agenda, where
entries are collected by certain criteria.
‘C-c C-x C-c (org-agenda-columns)’
Turn on column view in the agenda.
To understand how to use this properly, it is important to realize
that the entries in the agenda are no longer in their proper outline
environment. This causes the following issues:
1. Org needs to make a decision which ‘COLUMNS’ format to use. Since
the entries in the agenda are collected from different files, and
different files may have different ‘COLUMNS’ formats, this is a
non-trivial problem. Org first checks if the variable
‘org-agenda-overriding-columns-format’ is currently set, and if so,
takes the format from there. Otherwise it takes the format
associated with the first item in the agenda, or, if that item does
not have a specific format—defined in a property, or in its file—it
uses ‘org-columns-default-format’.
2. If any of the columns has a summary type defined (*note Column
attributes::), turning on column view in the agenda will visit all
relevant agenda files and make sure that the computations of this
property are up to date. This is also true for the special
‘CLOCKSUM’ property. Org will then sum the values displayed in the
agenda. In the daily/weekly agenda, the sums will cover a single
day; in all other views they cover the entire block. It is vital
to realize that the agenda may show the same entry _twice_—for
example as scheduled and as a deadline—and it may show two entries
from the same hierarchy—for example a _parent_ and its _child_. In
these cases, the summation in the agenda will lead to incorrect
results because some values will count double.
3. When the column view in the agenda shows the ‘CLOCKSUM’, that is
always the entire clocked time for this item. So even in the
daily/weekly agenda, the clocksum listed in column view may
originate from times outside the current view. This has the
advantage that you can compare these values with a column listing
the planned total effort for a task—one of the major applications
for column view in the agenda. If you want information about
clocked time in the displayed period use clock table mode (press
‘R’ in the agenda).
4. When the column view in the agenda shows the ‘CLOCKSUM_T’, that is
always today’s clocked time for this item. So even in the weekly
agenda, the clocksum listed in column view only originates from
today. This lets you compare the time you spent on a task for
today, with the time already spent —via ‘CLOCKSUM’—and with the
planned total effort for it.
File: org, Node: Markup, Next: Exporting, Prev: Agenda views, Up: Top
11 Markup for rich export
*************************
When exporting Org mode documents, the exporter tries to reflect the
structure of the document as accurately as possible in the back-end.
Since export targets like HTML and LaTeX allow much richer formatting,
Org mode has rules on how to prepare text for rich export. This section
summarizes the markup rules used in an Org mode buffer.
* Menu:
* Paragraphs:: The basic unit of text
* Emphasis and monospace:: Bold, italic, etc.
* Horizontal rules:: Make a line
* Images and tables:: Images, tables and caption mechanism
* Literal examples:: Source code examples with special formatting
* Special symbols:: Greek letters and other symbols
* Subscripts and superscripts:: Simple syntax for raising/lowering text
* Embedded LaTeX:: LaTeX can be freely used inside Org documents
File: org, Node: Paragraphs, Next: Emphasis and monospace, Up: Markup
11.1 Paragraphs, line breaks, and quoting
=========================================
Paragraphs are separated by at least one empty line. If you need to
enforce a line break within a paragraph, use ‘\\’ at the end of a line.
To preserve the line breaks, indentation and blank lines in a region,
but otherwise use normal formatting, you can use this construct, which
can also be used to format poetry.
#+BEGIN_VERSE
Great clouds overhead
Tiny black birds rise and fall
Snow covers Emacs
-- AlexSchroeder
#+END_VERSE
When quoting a passage from another document, it is customary to
format this as a paragraph that is indented on both the left and the
right margin. You can include quotations in Org mode documents like
this:
#+BEGIN_QUOTE
Everything should be made as simple as possible,
but not any simpler -- Albert Einstein
#+END_QUOTE
If you would like to center some text, do it like this:
#+BEGIN_CENTER
Everything should be made as simple as possible, \\
but not any simpler
#+END_CENTER
File: org, Node: Emphasis and monospace, Next: Horizontal rules, Prev: Paragraphs, Up: Markup
11.2 Emphasis and monospace
===========================
You can make words *bold*, /italic/, _underlined_, ‘=verbatim=’ and
‘~code~’, and, if you must, ‘+strike-through+’. Text in the code and
verbatim string is not processed for Org mode specific syntax, it is
exported verbatim.
To turn off fontification for marked up text, you can set
‘org-fontify-emphasized-text’ to ‘nil’. To narrow down the list of
available markup syntax, you can customize ‘org-emphasis-alist’. To
fine tune what characters are allowed before and after the markup
characters, you can tweak ‘org-emphasis-regexp-components’. Beware that
changing one of the above variables will not take effect until you
reload Org, for which you may need to restart Emacs.
File: org, Node: Horizontal rules, Next: Images and tables, Prev: Emphasis and monospace, Up: Markup
11.3 Horizontal rules
=====================
A line consisting of only dashes, and at least 5 of them, will be
exported as a horizontal line.
File: org, Node: Images and tables, Next: Literal examples, Prev: Horizontal rules, Up: Markup
11.4 Images and Tables
======================
Both the native Org mode tables (*note Tables::) and tables formatted
with the ‘table.el’ package will be exported properly. For Org mode
tables, the lines before the first horizontal separator line will become
table header lines. You can use the following lines somewhere before
the table to assign a caption and a label for cross references, and in
the text you can refer to the object with ‘[[tab:basic-data]]’ (*note
Internal links::):
#+CAPTION: This is the caption for the next table (or link)
#+NAME: tab:basic-data
| ... | ...|
|-----|----|
Optionally, the caption can take the form:
#+CAPTION[Caption for list of tables]: Caption for table.
Some back-ends allow you to directly include images into the exported
document. Org does this, if a link to an image files does not have a
description part, for example ‘[[./img/a.jpg]]’. If you wish to define
a caption for the image and maybe a label for internal cross references,
make sure that the link is on a line by itself and precede it with
‘#+CAPTION’ and ‘#+NAME’ as follows:
#+CAPTION: This is the caption for the next figure link (or table)
#+NAME: fig:SED-HR4049
[[./img/a.jpg]]
Such images can be displayed within the buffer. *Note the discussion of
image links: Handling links.
Even though images and tables are prominent examples of captioned
structures, the same caption mechanism can apply to many others (e.g.,
LaTeX equations, source code blocks). Depending on the export back-end,
those may or may not be handled.
File: org, Node: Literal examples, Next: Special symbols, Prev: Images and tables, Up: Markup
11.5 Literal examples
=====================
You can include literal examples that should not be subjected to markup.
Such examples will be typeset in monospace, so this is well suited for
source code and similar examples.
#+BEGIN_EXAMPLE
Some example from a text file.
#+END_EXAMPLE
Note that such blocks may be indented in order to align nicely with
indented text and in particular with plain list structure (*note Plain
lists::). For simplicity when using small examples, you can also start
the example lines with a colon followed by a space. There may also be
additional whitespace before the colon:
Here is an example
: Some example from a text file.
If the example is source code from a programming language, or any
other text that can be marked up by font-lock in Emacs, you can ask for
the example to look like the fontified Emacs buffer(1). This is done
with the ‘src’ block, where you also need to specify the name of the
major mode that should be used to fontify the example(2), see *note Easy
templates:: for shortcuts to easily insert code blocks.
#+BEGIN_SRC emacs-lisp
(defun org-xor (a b)
"Exclusive or."
(if a (not b) b))
#+END_SRC
Both in ‘example’ and in ‘src’ snippets, you can add a ‘-n’ switch to
the end of the ‘BEGIN’ line, to get the lines of the example numbered.
The ‘-n’ takes an optional numeric argument specifying the starting line
number of the block. If you use a ‘+n’ switch, the numbering from the
previous numbered snippet will be continued in the current one. The
‘+n’ can also take a numeric argument. The value of the argument will
be added to the last line of the previous block to determine the
starting line number.
#+BEGIN_SRC emacs-lisp -n 20
;; this will export with line number 20
(message "This is line 21")
#+END_SRC
#+BEGIN_SRC emacs-lisp +n 10
;; This will be listed as line 31
(message "This is line 32")
#+END_SRC
In literal examples, Org will interpret strings like ‘(ref:name)’ as
labels, and use them as targets for special hyperlinks like ‘[[(name)]]’
(i.e., the reference name enclosed in single parenthesis). In HTML,
hovering the mouse over such a link will remote-highlight the
corresponding code line, which is kind of cool.
You can also add a ‘-r’ switch which removes the labels from the
source code(3). With the ‘-n’ switch, links to these references will be
labeled by the line numbers from the code listing, otherwise links will
use the labels with no parentheses. Here is an example:
#+BEGIN_SRC emacs-lisp -n -r
(save-excursion (ref:sc)
(goto-char (point-min))) (ref:jump)
#+END_SRC
In line [[(sc)]] we remember the current position. [[(jump)][Line (jump)]]
jumps to point-min.
Finally, you can use ‘-i’ to preserve the indentation of a specific
code block (*note Editing source code::).
If the syntax for the label format conflicts with the language
syntax, use a ‘-l’ switch to change the format, for example ‘#+BEGIN_SRC
pascal -n -r -l "((%s))"’. See also the variable
‘org-coderef-label-format’.
HTML export also allows examples to be published as text areas (*note
Text areas in HTML export::).
Because the ‘#+BEGIN_...’ and ‘#+END_...’ patterns need to be added
so often, shortcuts are provided using the Easy templates facility
(*note Easy templates::).
‘C-c '’
Edit the source code example at point in its native mode. This
works by switching to a temporary buffer with the source code. You
need to exit by pressing ‘C-c '’ again(4). The edited version will
then replace the old version in the Org buffer. Fixed-width
regions (where each line starts with a colon followed by a space)
will be edited using ‘artist-mode’(5) to allow creating ASCII
drawings easily. Using this command in an empty line will create a
new fixed-width region.
‘C-c l’
Calling ‘org-store-link’ while editing a source code example in a
temporary buffer created with ‘C-c '’ will prompt for a label.
Make sure that it is unique in the current buffer, and insert it
with the proper formatting like ‘(ref:label)’ at the end of the
current line. Then the label is stored as a link ‘(label)’, for
retrieval with ‘C-c C-l’.
---------- Footnotes ----------
(1) This works automatically for the HTML back-end (it requires
version 1.34 of the ‘htmlize.el’ package, which you need to install).
Fontified code chunks in LaTeX can be achieved using either the
<https://www.ctan.org/tex-archive/macros/latex/contrib/listings/?lang=en>
or the <https://github.com/gpoore/minted> package. If you use minted or
listing, you must load the packages manually, for example by adding the
desired package to ‘org-latex-packages-alist’. Refer to
‘org-latex-listings’ for details.
(2) Code in ‘src’ blocks may also be evaluated either interactively
or on export. *Note Working with source code::, for more information on
evaluating code blocks.
(3) Adding ‘-k’ to ‘-n -r’ will keep the labels in the source code
while using line numbers for the links, which might be useful to explain
those in an Org mode example code.
(4) Upon exit, lines starting with ‘*’, ‘,*’, ‘#+’ and ‘,#+’ will get
a comma prepended, to keep them from being interpreted by Org as outline
nodes or special syntax. These commas will be stripped for editing with
‘C-c '’, and also for export.
(5) You may select a different-mode with the variable
‘org-edit-fixed-width-region-mode’.
File: org, Node: Special symbols, Next: Subscripts and superscripts, Prev: Literal examples, Up: Markup
11.6 Special symbols
====================
You can use LaTeX-like syntax to insert special symbols—named
entities—like ‘\alpha’ to indicate the Greek letter, or ‘\to’ to
indicate an arrow. Completion for these symbols is available, just type
‘\’ and maybe a few letters, and press ‘M-<TAB>’ to see possible
completions. If you need such a symbol inside a word, terminate it with
a pair of curly brackets. For example
Pro tip: Given a circle \Gamma of diameter d, the length of its circumference
is \pi{}d.
A large number of entities is provided, with names taken from both
HTML and LaTeX; you can comfortably browse the complete list from a
dedicated buffer using the command ‘org-entities-help’. It is also
possible to provide your own special symbols in the variable
‘org-entities-user’.
During export, these symbols are transformed into the native format
of the exporter back-end. Strings like ‘\alpha’ are exported as
‘α’ in the HTML output, and as ‘\(\alpha\)’ in the LaTeX output.
Similarly, ‘\nbsp’ becomes ‘ ’ in HTML and ‘~’ in LaTeX.
Entities may also be used as a may to escape markup in an Org
document, e.g., ‘\under{}not underlined\under’ exports as ‘_not
underlined_’.
If you would like to see entities displayed as UTF-8 characters, use
the following command(1):
‘C-c C-x \’
Toggle display of entities as UTF-8 characters. This does not
change the buffer content which remains plain ASCII, but it
overlays the UTF-8 character for display purposes only.
In addition to regular entities defined above, Org exports in a
special way(2) the following commonly used character combinations: ‘\-’
is treated as a shy hyphen, ‘--’ and ‘---’ are converted into dashes,
and ‘...’ becomes a compact set of dots.
---------- Footnotes ----------
(1) You can turn this on by default by setting the variable
‘org-pretty-entities’, or on a per-file base with the ‘#+STARTUP’ option
‘entitiespretty’.
(2) This behavior can be disabled with ‘-’ export setting (*note
Export settings::).
File: org, Node: Subscripts and superscripts, Next: Embedded LaTeX, Prev: Special symbols, Up: Markup
11.7 Subscripts and superscripts
================================
‘^’ and ‘_’ are used to indicate super- and subscripts. To increase the
readability of ASCII text, it is not necessary—but OK—to surround
multi-character sub- and superscripts with curly braces. Those are,
however, mandatory, when more than one word is involved. For example
The radius of the sun is R_sun = 6.96 x 10^8 m. On the other hand, the
radius of Alpha Centauri is R_{Alpha Centauri} = 1.28 x R_{sun}.
If you write a text where the underscore is often used in a different
context, Org’s convention to always interpret these as subscripts can
get in your way. Configure the variable ‘org-use-sub-superscripts’ to
change this convention. For example, when setting this variable to
‘{}’, ‘a_b’ will not be interpreted as a subscript, but ‘a_{b}’ will.
‘C-c C-x \’
In addition to showing entities as UTF-8 characters, this command
will also format sub- and superscripts in a WYSIWYM way.
File: org, Node: Embedded LaTeX, Prev: Subscripts and superscripts, Up: Markup
11.8 Embedded LaTeX
===================
Plain ASCII is normally sufficient for almost all note taking.
Exceptions include scientific notes, which often require mathematical
symbols and the occasional formula. LaTeX(1) is widely used to typeset
scientific documents. Org mode supports embedding LaTeX code into its
files, because many academics are used to writing and reading LaTeX
source code, and because it can be readily processed to produce pretty
output for a number of export back-ends.
* Menu:
* LaTeX fragments:: Complex formulas made easy
* Previewing LaTeX fragments:: What will this snippet look like?
* CDLaTeX mode:: Speed up entering of formulas
---------- Footnotes ----------
(1) LaTeX is a macro system based on Donald E. Knuth’s TeX system.
Many of the features described here as “LaTeX” are really from TeX, but
for simplicity I am blurring this distinction.
File: org, Node: LaTeX fragments, Next: Previewing LaTeX fragments, Up: Embedded LaTeX
11.8.1 LaTeX fragments
Org mode can contain LaTeX math fragments, and it supports ways to
process these for several export back-ends. When exporting to LaTeX,
the code is left as it is. When exporting to HTML, Org can use either
MathJax (http://www.mathjax.org) (*note Math formatting in HTML
export::) or transcode the math into images (see *note Previewing LaTeX
fragments::).
LaTeX fragments don’t need any special marking at all. The following
snippets will be identified as LaTeX source code:
• Environments of any kind(1). The only requirement is that the
‘\begin’ statement appears on a new line, at the beginning of the
line or after whitespaces only.
• Text within the usual LaTeX math delimiters. To avoid conflicts
with currency specifications, single ‘$’ characters are only
recognized as math delimiters if the enclosed text contains at most
two line breaks, is directly attached to the ‘$’ characters with no
whitespace in between, and if the closing ‘$’ is followed by
whitespace or punctuation (parentheses and quotes are considered to
be punctuation in this context). For the other delimiters, there
is no such restriction, so when in doubt, use ‘\(...\)’ as inline
math delimiters.
For example:
\begin{equation}
x=\sqrt{b}
\end{equation}
If $a^2=b$ and \( b=2 \), then the solution must be
either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
LaTeX processing can be configured with the variable
‘org-export-with-latex’. The default setting is ‘t’ which means MathJax
for HTML, and no processing for ASCII and LaTeX back-ends. You can also
set this variable on a per-file basis using one of these lines:
#+OPTIONS: tex:t Do the right thing automatically (MathJax)
#+OPTIONS: tex:nil Do not process LaTeX fragments at all
#+OPTIONS: tex:verbatim Verbatim export, for jsMath or so
---------- Footnotes ----------
(1) When MathJax is used, only the environments recognized by MathJax
will be processed. When ‘dvipng’ program, ‘dvisvgm’ program or
‘imagemagick’ suite is used to create images, any LaTeX environment will
be handled.
File: org, Node: Previewing LaTeX fragments, Next: CDLaTeX mode, Prev: LaTeX fragments, Up: Embedded LaTeX
11.8.2 Previewing LaTeX fragments
If you have a working LaTeX installation and ‘dvipng’, ‘dvisvgm’ or
‘convert’ installed(1), LaTeX fragments can be processed to produce
images of the typeset expressions to be used for inclusion while
exporting to HTML (see *note LaTeX fragments::), or for inline
previewing within Org mode.
You can customize the variables ‘org-format-latex-options’ and
‘org-format-latex-header’ to influence some aspects of the preview. In
particular, the ‘:scale’ (and for HTML export, ‘:html-scale’) property
of the former can be used to adjust the size of the preview images.
‘C-c C-x C-l’
Produce a preview image of the LaTeX fragment at point and overlay
it over the source code. If there is no fragment at point, process
all fragments in the current entry (between two headlines). When
called with a prefix argument, process the entire subtree. When
called with two prefix arguments, or when the cursor is before the
first headline, process the entire buffer.
‘C-c C-c’
Remove the overlay preview images.
You can turn on the previewing of all LaTeX fragments in a file with
#+STARTUP: latexpreview
To disable it, simply use
#+STARTUP: nolatexpreview
---------- Footnotes ----------
(1) These are respectively available at
<http://sourceforge.net/projects/dvipng/>, <http://dvisvgm.bplaced.net/>
and from the ‘imagemagick’ suite. Choose the converter by setting the
variable ‘org-preview-latex-default-process’ accordingly.
File: org, Node: CDLaTeX mode, Prev: Previewing LaTeX fragments, Up: Embedded LaTeX
11.8.3 Using CDLaTeX to enter math
CDLaTeX mode is a minor mode that is normally used in combination with a
major LaTeX mode like AUCTeX in order to speed-up insertion of
environments and math templates. Inside Org mode, you can make use of
some of the features of CDLaTeX mode. You need to install ‘cdlatex.el’
and ‘texmathp.el’ (the latter comes also with AUCTeX) from
<https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex>. Don’t use CDLaTeX
mode itself under Org mode, but use the light version ‘org-cdlatex-mode’
that comes as part of Org mode. Turn it on for the current buffer with
‘M-x org-cdlatex-mode <RET>’, or for all Org files with
(add-hook 'org-mode-hook 'turn-on-org-cdlatex)
When this mode is enabled, the following features are present (for
more details see the documentation of CDLaTeX mode):
• Environment templates can be inserted with ‘C-c {’.
• The <TAB> key will do template expansion if the cursor is inside a
LaTeX fragment(1). For example, <TAB> will expand ‘fr’ to
‘\frac{}{}’ and position the cursor correctly inside the first
brace. Another <TAB> will get you into the second brace. Even
outside fragments, <TAB> will expand environment abbreviations at
the beginning of a line. For example, if you write ‘equ’ at the
beginning of a line and press <TAB>, this abbreviation will be
expanded to an ‘equation’ environment. To get a list of all
abbreviations, type ‘M-x cdlatex-command-help <RET>’.
• Pressing ‘_’ and ‘^’ inside a LaTeX fragment will insert these
characters together with a pair of braces. If you use <TAB> to
move out of the braces, and if the braces surround only a single
character or macro, they are removed again (depending on the
variable ‘cdlatex-simplify-sub-super-scripts’).
• Pressing the grave accent ‘`’ followed by a character inserts math
macros, also outside LaTeX fragments. If you wait more than 1.5
seconds after the grave accent, a help window will pop up.
• Pressing the apostrophe ‘'’ followed by another character modifies
the symbol before point with an accent or a font. If you wait more
than 1.5 seconds after the apostrophe, a help window will pop up.
Character modification will work only inside LaTeX fragments;
outside the quote is normal.
---------- Footnotes ----------
(1) Org mode has a method to test if the cursor is inside such a
fragment, see the documentation of the function
‘org-inside-LaTeX-fragment-p’.
File: org, Node: Exporting, Next: Publishing, Prev: Markup, Up: Top
12 Exporting
************
Sometimes, you may want to pretty print your notes, publish them on the
web or even share them with people not using Org. In these cases, the
Org export facilities can be used to convert your documents to a variety
of other formats, while retaining as much structure (*note Document
structure::) and markup (*note Markup::) as possible.
Libraries responsible for such translation are called back-ends. Org
ships with the following ones
• ascii (ASCII format)
• beamer (LaTeX Beamer format)
• html (HTML format)
• icalendar (iCalendar format)
• latex (LaTeX format)
• md (Markdown format)
• odt (OpenDocument Text format)
• org (Org format)
• texinfo (Texinfo format)
• man (Man page format)
Org also uses additional libraries located in ‘contrib/’ directory
(*note Installation::). Users can install additional export libraries
for additional formats from the Emacs packaging system. For easy
discovery, these packages have a common naming scheme: ‘ox-NAME’, where
NAME is one of the formats. For example, ‘ox-koma-letter’ for
‘koma-letter’ back-end.
Org loads back-ends for the following formats by default: ‘ascii’,
‘html’, ‘icalendar’, ‘latex’ and ‘odt’.
Org can load additional back-ends either of two ways: through the
‘org-export-backends’ variable configuration; or, by requiring the
library in the Emacs init file like this:
(require 'ox-md)
* Menu:
* The export dispatcher:: The main interface
* Export settings:: Common export settings
* Table of contents:: The if and where of the table of contents
* Include files:: Include additional files into a document
* Macro replacement:: Use macros to create templates
* Comment lines:: What will not be exported
* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
* Beamer export:: Exporting as a Beamer presentation
* HTML export:: Exporting to HTML
* LaTeX export:: Exporting to LaTeX, and processing to PDF
* Markdown export:: Exporting to Markdown
* OpenDocument Text export:: Exporting to OpenDocument Text
* Org export:: Exporting to Org
* Texinfo export:: Exporting to Texinfo
* iCalendar export:: Exporting to iCalendar
* Other built-in back-ends:: Exporting to a man page
* Advanced configuration:: Fine-tuning the export output
* Export in foreign buffers:: Author tables and lists in Org syntax
File: org, Node: The export dispatcher, Next: Export settings, Up: Exporting
12.1 The export dispatcher
==========================
The export dispatcher is the main interface for Org’s exports. A
hierarchical menu presents the currently configured export formats.
Options are shown as easy toggle switches on the same screen.
Org also has a minimal prompt interface for the export dispatcher.
When the variable ‘org-export-dispatch-use-expert-ui’ is set to a
non-‘nil’ value, Org prompts in the minibuffer. To switch back to the
hierarchical menu, press <?>.
‘C-c C-e’ (‘org-export-dispatch’)
Invokes the export dispatcher interface. The options show default
settings. The ‘C-u’ prefix argument preserves options from the
previous export, including any sub-tree selections.
Org exports the entire buffer by default. If the Org buffer has an
active region, then Org exports just that region.
These are the export options, the key combinations that toggle them
(*note Export settings::):
‘C-a’
Toggles asynchronous export. Asynchronous export uses an external
Emacs process with a specially configured initialization file to
complete the exporting process in the background thereby releasing
the current interface. This is particularly useful when exporting
long documents.
Output from an asynchronous export is saved on the “the export
stack”. To view this stack, call the export dispatcher with a
double ‘C-u’ prefix argument. If already in the export dispatcher
menu, ‘&’ displays the stack.
To make the background export process the default, customize the
variable, ‘org-export-in-background’.
‘C-b’
Toggle body-only export. Useful for excluding headers and footers
in the export. Affects only those back-end formats that have such
sections—like ‘<head>...</head>’ in HTML.
‘C-s’
Toggle sub-tree export. When turned on, Org exports only the
sub-tree starting from the cursor position at the time the export
dispatcher was invoked. Org uses the top heading of this sub-tree
as the document’s title. If the cursor is not on a heading, Org
uses the nearest enclosing header. If the cursor is in the
document preamble, Org signals an error and aborts export.
To make the sub-tree export the default, customize the variable,
‘org-export-initial-scope’.
‘C-v’
Toggle visible-only export. Useful for exporting only visible
parts of an Org document by adjusting outline visibility settings.
File: org, Node: Export settings, Next: Table of contents, Prev: The export dispatcher, Up: Exporting
12.2 Export settings
====================
Export options can be set: globally with variables; for an individual
file by making variables buffer-local with in-buffer settings (*note
In-buffer settings::), by setting individual keywords, or by specifying
them in a compact form with the ‘#+OPTIONS’ keyword; or for a tree by
setting properties (*note Properties and columns::). Options set at a
specific level override options set at a more general level.
In-buffer settings may appear anywhere in the file, either directly
or indirectly through a file included using ‘#+SETUPFILE: filename or
URL’ syntax. Option keyword sets tailored to a particular back-end can
be inserted from the export dispatcher (*note The export dispatcher::)
using the ‘Insert template’ command by pressing ‘#’. To insert keywords
individually, a good way to make sure the keyword is correct is to type
‘#+’ and then to use ‘M-<TAB>’(1) for completion.
The export keywords available for every back-end, and their
equivalent global variables, include:
‘AUTHOR’
The document author (‘user-full-name’).
‘CREATOR’
Entity responsible for output generation
(‘org-export-creator-string’).
‘DATE’
A date or a time-stamp(2).
‘EMAIL’
The email address (‘user-mail-address’).
‘LANGUAGE’
Language to use for translating certain strings
(‘org-export-default-language’). With ‘#+LANGUAGE: fr’, for
example, Org translates _Table of contents_ to the French _Table
des matières_.
‘SELECT_TAGS’
The default value is ‘:export:’. When a tree is tagged with
‘:export:’ (‘org-export-select-tags’), Org selects that tree and
its sub-trees for export. Org excludes trees with ‘:noexport:’
tags, see below. When selectively exporting files with ‘:export:’
tags set, Org does not export any text that appears before the
first headline.
‘EXCLUDE_TAGS’
The default value is ‘:noexport:’. When a tree is tagged with
‘:noexport:’ (‘org-export-exclude-tags’), Org excludes that tree
and its sub-trees from export. Entries tagged with ‘:noexport:’
will be unconditionally excluded from the export, even if they have
an ‘:export:’ tag. Even if a sub-tree is not exported, Org will
execute any code blocks contained in them.
‘TITLE’
Org displays this title. For long titles, use multiple ‘#+TITLE’
lines.
‘EXPORT_FILE_NAME’
The name of the output file to be generated. Otherwise, Org
generates the file name based on the buffer name and the extension
based on the back-end format.
The ‘#+OPTIONS’ keyword is a compact form. To configure multiple
options, use several ‘#+OPTIONS’ lines. ‘#+OPTIONS’ recognizes the
following arguments.
‘':’
Toggle smart quotes (‘org-export-with-smart-quotes’). Depending on
the language used, when activated, Org treats pairs of double
quotes as primary quotes, pairs of single quotes as secondary
quotes, and single quote marks as apostrophes.
‘*:’
Toggle emphasized text (‘org-export-with-emphasize’).
‘-:’
Toggle conversion of special strings
(‘org-export-with-special-strings’).
‘::’
Toggle fixed-width sections (‘org-export-with-fixed-width’).
‘<:’
Toggle inclusion of time/date active/inactive stamps
(‘org-export-with-timestamps’).
‘\n:’
Toggles whether to preserve line breaks
(‘org-export-preserve-breaks’).
‘^:’
Toggle TeX-like syntax for sub- and superscripts. If you write
"^:{}", ‘a_{b}’ will be interpreted, but the simple ‘a_b’ will be
left as it is (‘org-export-with-sub-superscripts’).
‘arch:’
Configure how archived trees are exported. When set to ‘headline’,
the export process skips the contents and processes only the
headlines (‘org-export-with-archived-trees’).
‘author:’
Toggle inclusion of author name into exported file
(‘org-export-with-author’).
‘broken-links:’
Toggles if Org should continue exporting upon finding a broken
internal link. When set to ‘mark’, Org clearly marks the problem
link in the output (‘org-export-with-broken-links’).
‘c:’
Toggle inclusion of CLOCK keywords (‘org-export-with-clocks’).
‘creator:’
Toggle inclusion of creator information in the exported file
(‘org-export-with-creator’).
‘d:’
Toggles inclusion of drawers, or list of drawers to include, or
list of drawers to exclude (‘org-export-with-drawers’).
‘date:’
Toggle inclusion of a date into exported file
(‘org-export-with-date’).
‘e:’
Toggle inclusion of entities (‘org-export-with-entities’).
‘email:’
Toggle inclusion of the author’s e-mail into exported file
(‘org-export-with-email’).
‘f:’
Toggle the inclusion of footnotes (‘org-export-with-footnotes’).
‘H:’
Set the number of headline levels for export
(‘org-export-headline-levels’). Below that level, headlines are
treated differently. In most back-ends, they become list items.
‘inline:’
Toggle inclusion of inlinetasks (‘org-export-with-inlinetasks’).
‘num:’
Toggle section-numbers (‘org-export-with-section-numbers’). When
set to number ‘n’, Org numbers only those headlines at level ‘n’ or
above. Setting ‘UNNUMBERED’ property to non-‘nil’ disables
numbering of a heading. Since subheadings inherit from this
property, it affects their numbering, too.
‘p:’
Toggle export of planning information (‘org-export-with-planning’).
“Planning information” comes from lines located right after the
headline and contain any combination of these cookies:
‘SCHEDULED:’, ‘DEADLINE:’, or ‘CLOSED:’.
‘pri:’
Toggle inclusion of priority cookies (‘org-export-with-priority’).
‘prop:’
Toggle inclusion of property drawers, or list the properties to
include (‘org-export-with-properties’).
‘stat:’
Toggle inclusion of statistics cookies
(‘org-export-with-statistics-cookies’).
‘tags:’
Toggle inclusion of tags, may also be ‘not-in-toc’
(‘org-export-with-tags’).
‘tasks:’
Toggle inclusion of tasks (TODO items); or ‘nil’ to remove all
tasks; or ‘todo’ to remove DONE tasks; or list the keywords to keep
(‘org-export-with-tasks’).
‘tex:’
‘nil’ does not export; ‘t’ exports; ‘verbatim’ keeps everything in
verbatim (‘org-export-with-latex’).
‘timestamp:’
Toggle inclusion of the creation time in the exported file
(‘org-export-time-stamp-file’).
‘title:’
Toggle inclusion of title (‘org-export-with-title’).
‘toc:’
Toggle inclusion of the table of contents, or set the level limit
(‘org-export-with-toc’).
‘todo:’
Toggle inclusion of TODO keywords into exported text
(‘org-export-with-todo-keywords’).
‘|:’
Toggle inclusion of tables (‘org-export-with-tables’).
When exporting sub-trees, special node properties in them can
override the above keywords. They are special because they have an
‘EXPORT_’ prefix. For example, ‘DATE’ and ‘EXPORT_FILE_NAME’ keywords
become, respectively, ‘EXPORT_DATE’ and ‘EXPORT_FILE_NAME’. Except for
‘SETUPFILE’, all other keywords listed above have an ‘EXPORT_’
equivalent.
If ‘org-export-allow-bind-keywords’ is non-‘nil’, Emacs variables can
become buffer-local during export by using the BIND keyword. Its syntax
is ‘#+BIND: variable value’. This is particularly useful for in-buffer
settings that cannot be changed using keywords.
---------- Footnotes ----------
(1) Many desktops intercept ‘M-<TAB>’ to switch windows. Use ‘C-M-i’
or ‘<ESC> <TAB>’ instead.
(2) The variable ‘org-export-date-timestamp-format’ defines how this
time-stamp will be exported.
File: org, Node: Table of contents, Next: Include files, Prev: Export settings, Up: Exporting
12.3 Table of contents
======================
Org normally inserts the table of contents directly before the first
headline of the file. Org sets the TOC depth the same as the headline
levels in the file. Use a lower number for lower TOC depth. To turn
off TOC entirely, use ‘nil’. This is configured in the
‘org-export-with-toc’ variable or as keywords in an Org file as:
#+OPTIONS: toc:2 only include two levels in TOC
#+OPTIONS: toc:nil no default TOC at all
To move the table of contents to a different location, first turn off
the default with ‘org-export-with-toc’ variable or with ‘#+OPTIONS:
toc:nil’. Then insert ‘#+TOC: headlines N’ at the desired location(s).
#+OPTIONS: toc:nil no default TOC
...
#+TOC: headlines 2 insert TOC here, with two headline levels
To adjust the TOC depth for a specific section of the Org document,
append an additional ‘local’ parameter. This parameter becomes a
relative depth for the current level.
Note that for this feature to work properly in LaTeX export, the Org
file requires the inclusion of the ‘titletoc’ package. Because of
compatibility issues, ‘titletoc’ has to be loaded _before_ ‘hyperref’.
Customize the ‘org-latex-default-packages-alist’ variable.
* Section #+TOC: headlines 1 local insert local TOC, with direct children
only
Use the ‘TOC’ keyword to generate list of tables (resp. all listings)
with captions.
#+TOC: listings build a list of listings
#+TOC: tables build a list of tables
Normally Org uses the headline for its entry in the table of
contents. But with ‘ALT_TITLE’ property, a different entry can be
specified for the table of contents.
File: org, Node: Include files, Next: Macro replacement, Prev: Table of contents, Up: Exporting
12.4 Include files
==================
Include other files during export. For example, to include your
‘.emacs’ file, you could use:
#+INCLUDE: "~/.emacs" src emacs-lisp
The first parameter is the file name to include. The optional second
parameter specifies the block type: ‘example’, ‘export’ or ‘src’. The
optional third parameter specifies the source code language to use for
formatting the contents. This is relevant to both ‘export’ and ‘src’
block types.
If an include file is specified as having a markup language, Org
neither checks for valid syntax nor changes the contents in any way.
For ‘example’ and ‘src’ blocks, Org code-escapes the contents before
inclusion.
If an include file is not specified as having any markup language,
Org assumes it be in Org format and proceeds as usual with a few
exceptions. Org makes the footnote labels (*note Footnotes::) in the
included file local to that file. The contents of the included file
will belong to the same structure—headline, item—containing the
‘INCLUDE’ keyword. In particular, headlines within the file will become
children of the current section. That behavior can be changed by
providing an additional keyword parameter, ‘:minlevel’. It shifts the
headlines in the included file to become the lowest level. For example,
this syntax makes the included file a sibling of the current top-level
headline:
#+INCLUDE: "~/my-book/chapter2.org" :minlevel 1
Inclusion of only portions of files are specified using ranges
parameter with ‘:lines’ keyword. The line at the upper end of the range
will not be included. The start and/or the end of the range may be
omitted to use the obvious defaults.
#+INCLUDE: "~/.emacs" :lines "5-10" Include lines 5 to 10, 10 excluded
#+INCLUDE: "~/.emacs" :lines "-10" Include lines 1 to 10, 10 excluded
#+INCLUDE: "~/.emacs" :lines "10-" Include lines from 10 to EOF
Inclusions may specify a file-link to extract an object matched by
‘org-link-search’(1) (*note Search options::).
To extract only the contents of the matched object, set
‘:only-contents’ property to non-‘nil’. This will omit any planning
lines or property drawers. The ranges for ‘:lines’ keyword are relative
to the requested element. Some examples:
#+INCLUDE: "./paper.org::#theory" :only-contents t
Include the body of the heading with the custom id ‘theory’
#+INCLUDE: "./paper.org::mytable" Include named element.
#+INCLUDE: "./paper.org::*conclusion" :lines 1-20
Include the first 20 lines of the headline named ‘conclusion’.
‘C-c '’
Visit the include file at point.
---------- Footnotes ----------
(1) Note that ‘org-link-search-must-match-exact-headline’ is locally
bound to non-‘nil’. Therefore, ‘org-link-search’ only matches headlines
and named elements.
File: org, Node: Macro replacement, Next: Comment lines, Prev: Include files, Up: Exporting
12.5 Macro replacement
======================
Macros replace text snippets during export. Macros are defined globally
in ‘org-export-global-macros’, or document-wise with the following
syntax:
#+MACRO: name replacement text $1, $2 are arguments
which can be referenced using ‘{{{name(arg1, arg2)}}}’(1).
Org recognizes macro references in following Org markup areas:
paragraphs, headlines, verse blocks, tables cells and lists. Org also
recognizes macro references in keywords, such as ‘#+CAPTION’, ‘#+TITLE’,
‘#+AUTHOR’, ‘#+DATE’, and for some back-end specific export options.
Org comes with following pre-defined macros:
‘{{{title}}}’
‘{{{author}}}’
‘{{{email}}}’
Org replaces these macro references with available information at
the time of export.
‘{{{date}}}’
‘{{{date(FORMAT)}}}’
This macro refers to the ‘#+DATE’ keyword. FORMAT is an optional
argument to the ‘{{{date}}}’ macro that will be used only if
‘#+DATE’ is a single timestamp. FORMAT should be a format string
understood by ‘format-time-string’.
‘{{{time(FORMAT)}}}’
‘{{{modification-time(FORMAT, VC)}}}’
These macros refer to the document’s date and time of export and
date and time of modification. FORMAT is a string understood by
‘format-time-string’. If the second argument to the
‘modification-time’ macro is non-‘nil’, Org uses ‘vc.el’ to
retrieve the document’s modification time from the version control
system. Otherwise Org reads the file attributes.
‘{{{input-file}}}’
This macro refers to the filename of the exported file.
‘{{{property(PROPERTY-NAME)}}}’
‘{{{property(PROPERTY-NAME,SEARCH-OPTION)}}}’
This macro returns the value of property PROPERTY-NAME in the
current entry. If SEARCH-OPTION (*note Search options::) refers to
a remote entry, that will be used instead.
‘{{{n}}}’
‘{{{n(NAME)}}}’
‘{{{n(NAME,ACTION)}}}’
This macro implements custom counters by returning the number of
times the macro has been expanded so far while exporting the
buffer. You can create more than one counter using different NAME
values. If ACTION is ‘-’, previous value of the counter is held,
i.e. the specified counter is not incremented. If the value is a
number, the specified counter is set to that value. If it is any
other non-empty string, the specified counter is reset to 1. You
may leave NAME empty to reset the default counter.
The surrounding brackets can be made invisible by setting
‘org-hide-macro-markers’ non-‘nil’.
Org expands macros at the very beginning of the export process.
---------- Footnotes ----------
(1) Since commas separate the arguments, commas within arguments have
to be escaped with the backslash character. So only those backslash
characters before a comma need escaping with another backslash
character.
File: org, Node: Comment lines, Next: ASCII/Latin-1/UTF-8 export, Prev: Macro replacement, Up: Exporting
12.6 Comment lines
==================
Lines starting with zero or more whitespace characters followed by one
‘#’ and a whitespace are treated as comments and, as such, are not
exported.
Likewise, regions surrounded by ‘#+BEGIN_COMMENT’ ...
‘#+END_COMMENT’ are not exported.
Finally, a ‘COMMENT’ keyword at the beginning of an entry, but after
any other keyword or priority cookie, comments out the entire subtree.
In this case, the subtree is not exported and no code block within it is
executed either(1). The command below helps changing the comment status
of a headline.
‘C-c ;’
Toggle the ‘COMMENT’ keyword at the beginning of an entry.
---------- Footnotes ----------
(1) For a less drastic behavior, consider using a select tag (*note
Export settings::) instead.
File: org, Node: ASCII/Latin-1/UTF-8 export, Next: Beamer export, Prev: Comment lines, Up: Exporting
12.7 ASCII/Latin-1/UTF-8 export
===============================
ASCII export produces an output file containing only plain ASCII
characters. This is the most simplest and direct text output. It does
not contain any Org markup either. Latin-1 and UTF-8 export use
additional characters and symbols available in these encoding standards.
All three of these export formats offer the most basic of text output
for maximum portability.
On export, Org fills and justifies text according to the text width
set in ‘org-ascii-text-width’.
Org exports links using a footnote-like style where the descriptive
part is in the text and the link is in a note before the next heading.
See the variable ‘org-ascii-links-to-notes’ for details.
ASCII export commands
‘C-c C-e t a/l/u (org-ascii-export-to-ascii)’
Export as an ASCII file with a ‘.txt’ extension. For ‘myfile.org’,
Org exports to ‘myfile.txt’, overwriting without warning. For
‘myfile.txt’, Org exports to ‘myfile.txt.txt’ in order to prevent
data loss.
‘C-c C-e t A/L/U (org-ascii-export-as-ascii)’
Export to a temporary buffer. Does not create a file.
ASCII specific export settings
The ASCII export back-end has one extra keyword for customizing ASCII
output. Setting this keyword works similar to the general options
(*note Export settings::).
‘SUBTITLE’
The document subtitle. For long subtitles, use multiple
‘#+SUBTITLE’ lines in the Org file. Org prints them on one
continuous line, wrapping into multiple lines if necessary.
Header and sectioning structure
Org converts the first three outline levels into headlines for ASCII
export. The remaining levels are turned into lists. To change this
cut-off point where levels become lists, *note Export settings::.
Quoting ASCII text
To insert text within the Org file by the ASCII back-end, use one the
following constructs, inline, keyword, or export block:
Inline text @@ascii:and additional text@@ within a paragraph.
#+ASCII: Some text
#+BEGIN_EXPORT ascii
Org exports text in this block only when using ASCII back-end.
#+END_EXPORT
ASCII specific attributes
ASCII back-end recognizes only one attribute, ‘:width’, which specifies
the width of a horizontal rule in number of characters. The keyword and
syntax for specifying widths is:
#+ATTR_ASCII: :width 10
-----
ASCII special blocks
Besides ‘#+BEGIN_CENTER’ blocks (*note Paragraphs::), ASCII back-end has
these two left and right justification blocks:
#+BEGIN_JUSTIFYLEFT
It's just a jump to the left...
#+END_JUSTIFYLEFT
#+BEGIN_JUSTIFYRIGHT
...and then a step to the right.
#+END_JUSTIFYRIGHT
File: org, Node: Beamer export, Next: HTML export, Prev: ASCII/Latin-1/UTF-8 export, Up: Exporting
12.8 Beamer export
==================
Org uses _Beamer_ export to convert an Org file tree structure into a
high-quality interactive slides for presentations. _Beamer_ is a LaTeX
document class for creating presentations in PDF, HTML, and other
popular display formats.
* Menu:
* Beamer export commands:: For creating Beamer documents.
* Beamer specific export settings:: For customizing Beamer export.
* Sectioning Frames and Blocks in Beamer:: For composing Beamer slides.
* Beamer specific syntax:: For using in Org documents.
* Editing support:: For using helper functions.
* A Beamer example:: A complete presentation.
File: org, Node: Beamer export commands, Next: Beamer specific export settings, Up: Beamer export
12.8.1 Beamer export commands
‘C-c C-e l b (org-beamer-export-to-latex)’
Export as LaTeX file with a ‘.tex’ extension. For ‘myfile.org’,
Org exports to ‘myfile.tex’, overwriting without warning.
‘C-c C-e l B (org-beamer-export-as-latex)’
Export to a temporary buffer. Does not create a file.
‘C-c C-e l P (org-beamer-export-to-pdf)’
Export as LaTeX file and then convert it to PDF format.
‘C-c C-e l O’
Export as LaTeX file, convert it to PDF format, and then open the
PDF file.
File: org, Node: Beamer specific export settings, Next: Sectioning Frames and Blocks in Beamer, Prev: Beamer export commands, Up: Beamer export
12.8.2 Beamer specific export settings
Beamer export back-end has several additional keywords for customizing
Beamer output. These keywords work similar to the general options
settings (*note Export settings::).
‘BEAMER_THEME’
The Beamer layout theme (‘org-beamer-theme’). Use square brackets
for options. For example:
#+BEAMER_THEME: Rochester [height=20pt]
‘BEAMER_FONT_THEME’
The Beamer font theme.
‘BEAMER_INNER_THEME’
The Beamer inner theme.
‘BEAMER_OUTER_THEME’
The Beamer outer theme.
‘BEAMER_HEADER’
Arbitrary lines inserted in the preamble, just before the
‘hyperref’ settings.
‘DESCRIPTION’
The document description. For long descriptions, use multiple
‘#+DESCRIPTION’ keywords. By default, ‘hyperref’ inserts
‘#+DESCRIPTION’ as metadata. Use ‘org-latex-hyperref-template’ to
configure document metadata. Use ‘org-latex-title-command’ to
configure typesetting of description as part of front matter.
‘KEYWORDS’
The keywords for defining the contents of the document. Use
multiple ‘#+KEYWORDS’ lines if necessary. By default, ‘hyperref’
inserts ‘#+KEYWORDS’ as metadata. Use
‘org-latex-hyperref-template’ to configure document metadata. Use
‘org-latex-title-command’ to configure typesetting of keywords as
part of front matter.
‘SUBTITLE’
Document’s subtitle. For typesetting, use
‘org-beamer-subtitle-format’ string. Use
‘org-latex-hyperref-template’ to configure document metadata. Use
‘org-latex-title-command’ to configure typesetting of subtitle as
part of front matter.
File: org, Node: Sectioning Frames and Blocks in Beamer, Next: Beamer specific syntax, Prev: Beamer specific export settings, Up: Beamer export
12.8.3 Sectioning, Frames and Blocks in Beamer
Org transforms heading levels into Beamer’s sectioning elements, frames
and blocks. Any Org tree with a not-too-deep-level nesting should in
principle be exportable as a Beamer presentation.
− Org headlines become Beamer frames when the heading level in Org is
equal to ‘org-beamer-frame-level’ or ‘H’ value in an ‘OPTIONS’ line
(*note Export settings::).
Org overrides headlines to frames conversion for the current tree
of an Org file if it encounters the ‘BEAMER_ENV’ property set to
‘frame’ or ‘fullframe’. Org ignores whatever
‘org-beamer-frame-level’ happens to be for that headline level in
the Org tree. In Beamer terminology, a ‘fullframe’ is a frame
without its title.
− Org exports a Beamer frame’s objects as ‘block’ environments. Org
can enforce wrapping in special block types when ‘BEAMER_ENV’
property is set(1). For valid values see
‘org-beamer-environments-default’. To add more values, see
‘org-beamer-environments-extra’.
− If ‘BEAMER_ENV’ is set to ‘appendix’, Org exports the entry as an
appendix. When set to ‘note’, Org exports the entry as a note
within the frame or between frames, depending on the entry’s
heading level. When set to ‘noteNH’, Org exports the entry as a
note without its title. When set to ‘againframe’, Org exports the
entry with ‘\againframe’ command, which makes setting the
‘BEAMER_REF’ property mandatory because ‘\againframe’ needs frame
to resume.
When ‘ignoreheading’ is set, Org export ignores the entry’s
headline but not its content. This is useful for inserting content
between frames. It is also useful for properly closing a ‘column’
environment.
When ‘BEAMER_ACT’ is set for a headline, Org export translates that
headline as an overlay or action specification. When enclosed in square
brackets, Org export makes the overlay specification a default. Use
‘BEAMER_OPT’ to set any options applicable to the current Beamer frame
or block. The Beamer export back-end wraps with appropriate angular or
square brackets. It also adds the ‘fragile’ option for any code that
may require a verbatim block.
To create a column on the Beamer slide, use the ‘BEAMER_COL’ property
for its headline in the Org file. Set the value of ‘BEAMER_COL’ to a
decimal number representing the fraction of the total text width.
Beamer export uses this value to set the column’s width and fills the
column with the contents of the Org entry. If the Org entry has no
specific environment defined, Beamer export ignores the heading. If the
Org entry has a defined environment, Beamer export uses the heading as
title. Behind the scenes, Beamer export automatically handles LaTeX
column separations for contiguous headlines. To manually adjust them
for any unique configurations needs, use the ‘BEAMER_ENV’ property.
---------- Footnotes ----------
(1) If ‘BEAMER_ENV’ is set, Org export adds ‘:B_environment:’ tag to
make it visible. The tag serves as a visual aid and has no semantic
relevance.
File: org, Node: Beamer specific syntax, Next: Editing support, Prev: Sectioning Frames and Blocks in Beamer, Up: Beamer export
12.8.4 Beamer specific syntax
Since Org’s Beamer export back-end is an extension of the LaTeX
back-end, it recognizes other LaTeX specific syntax—for example,
‘#+LATEX:’ or ‘#+ATTR_LATEX:’. *Note LaTeX export::, for details.
Beamer export wraps the table of contents generated with ‘toc:t’
‘OPTION’ keyword in a ‘frame’ environment. Beamer export does not wrap
the table of contents generated with ‘TOC’ keyword (*note Table of
contents::). Use square brackets for specifying options.
#+TOC: headlines [currentsection]
Insert Beamer-specific code using the following constructs:
#+BEAMER: \pause
#+BEGIN_EXPORT beamer
Only Beamer export back-end will export this line.
#+END_BEAMER
Text @@beamer:some code@@ within a paragraph.
Inline constructs, such as the last one above, are useful for adding
overlay specifications to objects with ‘bold’, ‘item’, ‘link’,
‘radio-target’ and ‘target’ types. Enclose the value in angular
brackets and place the specification at the beginning the object as
shown in this example:
A *@@beamer:<2->@@useful* feature
Beamer export recognizes the ‘ATTR_BEAMER’ keyword with the following
attributes from Beamer configurations: ‘:environment’ for changing local
Beamer environment, ‘:overlay’ for specifying Beamer overlays in angular
or square brackets, and ‘:options’ for inserting optional arguments.
#+ATTR_BEAMER: :environment nonindentlist
- item 1, not indented
- item 2, not indented
- item 3, not indented
#+ATTR_BEAMER: :overlay <+->
- item 1
- item 2
#+ATTR_BEAMER: :options [Lagrange]
Let $G$ be a finite group, and let $H$ be
a subgroup of $G$. Then the order of $H$ divides the order of $G$.
File: org, Node: Editing support, Next: A Beamer example, Prev: Beamer specific syntax, Up: Beamer export
12.8.5 Editing support
The ‘org-beamer-mode’ is a special minor mode for faster editing of
Beamer documents.
#+STARTUP: beamer
‘C-c C-b (org-beamer-select-environment)’
The ‘org-beamer-mode’ provides this key for quicker selections in
Beamer normal environments, and for selecting the ‘BEAMER_COL’
property.
File: org, Node: A Beamer example, Prev: Editing support, Up: Beamer export
12.8.6 A Beamer example
Here is an example of an Org document ready for Beamer export.
#+TITLE: Example Presentation
#+AUTHOR: Carsten Dominik
#+OPTIONS: H:2 toc:t num:t
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: Madrid
#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt)
* This is the first structural section
** Frame 1
*** Thanks to Eric Fraga :B_block:
:PROPERTIES:
:BEAMER_COL: 0.48
:BEAMER_ENV: block
:END:
for the first viable Beamer setup in Org
*** Thanks to everyone else :B_block:
:PROPERTIES:
:BEAMER_COL: 0.48
:BEAMER_ACT: <2->
:BEAMER_ENV: block
:END:
for contributing to the discussion
**** This will be formatted as a beamer note :B_note:
:PROPERTIES:
:BEAMER_env: note
:END:
** Frame 2 (where we will not use columns)
*** Request
Please test this stuff!
File: org, Node: HTML export, Next: LaTeX export, Prev: Beamer export, Up: Exporting
12.9 HTML export
================
Org mode contains an HTML exporter with extensive HTML formatting
compatible with XHTML 1.0 strict standard.
* Menu:
* HTML Export commands:: Invoking HTML export
* HTML Specific export settings:: Settings for HTML export
* HTML doctypes:: Exporting various (X)HTML flavors
* HTML preamble and postamble:: Inserting preamble and postamble
* Quoting HTML tags:: Using direct HTML in Org files
* Links in HTML export:: Interpreting and formatting links
* Tables in HTML export:: Formatting and modifying tables
* Images in HTML export:: Inserting figures with HTML output
* Math formatting in HTML export:: Handling math equations
* Text areas in HTML export:: Showing an alternate approach, an example
* CSS support:: Styling HTML output
* JavaScript support:: Folding scripting in the web browser
File: org, Node: HTML Export commands, Next: HTML Specific export settings, Up: HTML export
12.9.1 HTML export commands
‘C-c C-e h h (org-html-export-to-html)’
Export as HTML file with a ‘.html’ extension. For ‘myfile.org’,
Org exports to ‘myfile.html’, overwriting without warning. ‘C-c
C-e h o’ Exports to HTML and opens it in a web browser.
‘C-c C-e h H (org-html-export-as-html)’
Exports to a temporary buffer. Does not create a file.
File: org, Node: HTML Specific export settings, Next: HTML doctypes, Prev: HTML Export commands, Up: HTML export
12.9.2 HTML Specific export settings
HTML export has a number of keywords, similar to the general options
settings described in *note Export settings::.
‘DESCRIPTION’
This is the document’s description, which the HTML exporter inserts
it as a HTML meta tag in the HTML file. For long descriptions, use
multiple ‘#+DESCRIPTION’ lines. The exporter takes care of
wrapping the lines properly.
‘HTML_DOCTYPE’
Specify the document type, for example: HTML5 (‘org-html-doctype’).
‘HTML_CONTAINER’
Specify the HTML container, such as ‘div’, for wrapping sections
and elements (‘org-html-container-element’).
‘HTML_LINK_HOME’
The URL for home link (‘org-html-link-home’).
‘HTML_LINK_UP’
The URL for the up link of exported HTML pages
(‘org-html-link-up’).
‘HTML_MATHJAX’
Options for MathJax (‘org-html-mathjax-options’). MathJax is used
to typeset LaTeX math in HTML documents. *Note Math formatting in
HTML export::, for an example.
‘HTML_HEAD’
Arbitrary lines for appending to the HTML document’s head
(‘org-html-head’).
‘HTML_HEAD_EXTRA’
More arbitrary lines for appending to the HTML document’s head
(‘org-html-head-extra’).
‘KEYWORDS’
Keywords to describe the document’s content. HTML exporter inserts
these keywords as HTML meta tags. For long keywords, use multiple
‘#+KEYWORDS’ lines.
‘LATEX_HEADER’
Arbitrary lines for appending to the preamble; HTML exporter
appends when transcoding LaTeX fragments to images (*note Math
formatting in HTML export::).
‘SUBTITLE’
The document’s subtitle. HTML exporter formats subtitle if
document type is ‘HTML5’ and the CSS has a ‘subtitle’ class.
Some of these keywords are explained in more detail in the following
sections of the manual.
File: org, Node: HTML doctypes, Next: HTML preamble and postamble, Prev: HTML Specific export settings, Up: HTML export
12.9.3 HTML doctypes
Org can export to various (X)HTML flavors.
Set the ‘org-html-doctype’ variable for different (X)HTML variants.
Depending on the variant, the HTML exporter adjusts the syntax of HTML
conversion accordingly. Org includes the following ready-made variants:
• “html4-strict”
• “html4-transitional”
• “html4-frameset”
• “xhtml-strict”
• “xhtml-transitional”
• “xhtml-frameset”
• “xhtml-11”
• “html5”
• “xhtml5”
See the variable ‘org-html-doctype-alist’ for details. The default is
“xhtml-strict”.
Org’s HTML exporter does not by default enable new block elements
introduced with the HTML5 standard. To enable them, set
‘org-html-html5-fancy’ to non-‘nil’. Or use an ‘OPTIONS’ line in the
file to set ‘html5-fancy’. HTML5 documents can now have arbitrary
‘#+BEGIN’ and ‘#+END’ blocks. For example:
#+BEGIN_aside
Lorem ipsum
#+END_aside
Will export to:
<aside>
<p>Lorem ipsum</p>
</aside>
While this:
#+ATTR_HTML: :controls controls :width 350
#+BEGIN_video
#+HTML: <source src="movie.mp4" type="video/mp4">
#+HTML: <source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
#+END_video
Exports to:
<video controls="controls" width="350">
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
<p>Your browser does not support the video tag.</p>
</video>
When special blocks do not have a corresponding HTML5 element, the
HTML exporter reverts to standard translation (see
‘org-html-html5-elements’). For example, ‘#+BEGIN_lederhosen’ exports
to ‘<div class="lederhosen">’.
Special blocks cannot have headlines. For the HTML exporter to wrap
the headline and its contents in ‘<section>’ or ‘<article>’ tags, set
the ‘HTML_CONTAINER’ property for the headline.
File: org, Node: HTML preamble and postamble, Next: Quoting HTML tags, Prev: HTML doctypes, Up: HTML export
12.9.4 HTML preamble and postamble
The HTML exporter has delineations for preamble and postamble. The
default value for ‘org-html-preamble’ is ‘t’, which makes the HTML
exporter insert the preamble. See the variable
‘org-html-preamble-format’ for the format string.
Set ‘org-html-preamble’ to a string to override the default format
string. If the string is a function, the HTML exporter expects the
function to return a string upon execution. The HTML exporter inserts
this string in the preamble. The HTML exporter will not insert a
preamble if ‘org-html-preamble’ is set ‘nil’.
The default value for ‘org-html-postamble’ is ‘auto’, which makes the
HTML exporter build a postamble from looking up author’s name, email
address, creator’s name, and date. Set ‘org-html-postamble’ to ‘t’ to
insert the postamble in the format specified in the
‘org-html-postamble-format’ variable. The HTML exporter will not insert
a postamble if ‘org-html-postamble’ is set to ‘nil’.
File: org, Node: Quoting HTML tags, Next: Links in HTML export, Prev: HTML preamble and postamble, Up: HTML export
12.9.5 Quoting HTML tags
The HTML export back-end transforms ‘<’ and ‘>’ to ‘<’ and ‘>’.
To include raw HTML code in the Org file so the HTML export back-end can
insert that HTML code in the output, use this inline syntax: ‘@@html:’.
For example: ‘@@html:<b>@@bold text@@html:</b>@@’. For larger raw HTML
code blocks, use these HTML export code blocks:
#+HTML: Literal HTML code for export
or
#+BEGIN_EXPORT html
All lines between these markers are exported literally
#+END_EXPORT
File: org, Node: Links in HTML export, Next: Tables in HTML export, Prev: Quoting HTML tags, Up: HTML export
12.9.6 Links in HTML export
The HTML export back-end transforms Org’s internal links (*note Internal
links::) to equivalent HTML links in the output. The back-end similarly
handles Org’s automatic links created by radio targets (*note Radio
targets::) similarly. For Org links to external files, the back-end
transforms the links to _relative_ paths.
For Org links to other ‘.org’ files, the back-end automatically
changes the file extension to ‘.html’ and makes file paths relative. If
the ‘.org’ files have an equivalent ‘.html’ version at the same
location, then the converted links should work without any further
manual intervention. However, to disable this automatic path
translation, set ‘org-html-link-org-files-as-html’ to ‘nil’. When
disabled, the HTML export back-end substitutes the ‘id:’-based links in
the HTML output. For more about linking files when publishing to a
directory, *note Publishing links::.
Org files can also have special directives to the HTML export
back-end. For example, by using ‘#+ATTR_HTML’ lines to specify new
format attributes to ‘<a>’ or ‘<img>’ tags. This example shows changing
the link’s ‘title’ and ‘style’:
#+ATTR_HTML: :title The Org mode homepage :style color:red;
[[https://orgmode.org]]
File: org, Node: Tables in HTML export, Next: Images in HTML export, Prev: Links in HTML export, Up: HTML export
12.9.7 Tables in HTML export
The HTML export back-end uses ‘org-html-table-default-attributes’ when
exporting Org tables to HTML. By default, the exporter does not draw
frames and cell borders. To change for this for a table, use the
following lines before the table in the Org file:
#+CAPTION: This is a table with lines around and between cells
#+ATTR_HTML: :border 2 :rules all :frame border
The HTML export back-end preserves column groupings in Org tables
(*note Column groups::) when exporting to HTML.
Additional options for customizing tables for HTML export.
‘org-html-table-align-individual-fields’
Non-‘nil’ attaches style attributes for alignment to each table
field.
‘org-html-table-caption-above’
Non-‘nil’ places caption string at the beginning of the table.
‘org-html-table-data-tags’
Opening and ending tags for table data fields.
‘org-html-table-default-attributes’
Default attributes and values for table tags.
‘org-html-table-header-tags’
Opening and ending tags for table’s header fields.
‘org-html-table-row-tags’
Opening and ending tags for table rows.
‘org-html-table-use-header-tags-for-first-column’
Non-‘nil’ formats column one in tables with header tags.
File: org, Node: Images in HTML export, Next: Math formatting in HTML export, Prev: Tables in HTML export, Up: HTML export
12.9.8 Images in HTML export
The HTML export back-end has features to convert Org image links to HTML
inline images and HTML clickable image links.
When the link in the Org file has no description, the HTML export
back-end by default in-lines that image. For example:
‘[[file:myimg.jpg]]’ is in-lined, while ‘[[file:myimg.jpg][the image]]’
links to the text, ‘the image’.
For more details, see the variable ‘org-html-inline-images’.
On the other hand, if the description part of the Org link is itself
another link, such as ‘file:’ or ‘http:’ URL pointing to an image, the
HTML export back-end in-lines this image and links to the main image.
This Org syntax enables the back-end to link low-resolution thumbnail to
the high-resolution version of the image, as shown in this example:
[[file:highres.jpg][file:thumb.jpg]]
To change attributes of in-lined images, use ‘#+ATTR_HTML’ lines in
the Org file. This example shows realignment to right, and adds ‘alt’
and ‘title’ attributes in support of text viewers and modern web
accessibility standards.
#+CAPTION: A black cat stalking a spider
#+ATTR_HTML: :alt cat/spider image :title Action! :align right
[[./img/a.jpg]]
The HTML export back-end copies the ‘http’ links from the Org file as
is.
File: org, Node: Math formatting in HTML export, Next: Text areas in HTML export, Prev: Images in HTML export, Up: HTML export
12.9.9 Math formatting in HTML export
LaTeX math snippets (*note LaTeX fragments::) can be displayed in two
(http://www.mathjax.org) which should work out of the box with Org(1).
Some MathJax display options can be configured via
‘org-html-mathjax-options’, or in the buffer. For example, with the
following settings,
#+HTML_MATHJAX: align: left indent: 5em tagside: left font: Neo-Euler
equation labels will be displayed on the left margin and equations
will be five ems from the left margin.
See the docstring of ‘org-html-mathjax-options’ for all supported
variables. The MathJax template can be configure via
‘org-html-mathjax-template’.
If you prefer, you can also request that LaTeX fragments are
processed into small images that will be inserted into the browser page.
Before the availability of MathJax, this was the default method for Org
files. This method requires that the ‘dvipng’ program, ‘dvisvgm’ or
‘imagemagick’ suite is available on your system. You can still get this
processing with
#+OPTIONS: tex:dvipng
#+OPTIONS: tex:dvisvgm
or:
#+OPTIONS: tex:imagemagick
---------- Footnotes ----------
(1) By default Org loads MathJax from cdnjs.com (https://cdnjs.com)
as recommended by MathJax (http://www.mathjax.org).
File: org, Node: Text areas in HTML export, Next: CSS support, Prev: Math formatting in HTML export, Up: HTML export
12.9.10 Text areas in HTML export
Before Org mode’s Babel, one popular approach to publishing code in HTML
was by using ‘:textarea’. The advantage of this approach was that
copying and pasting was built into browsers with simple JavaScript
commands. Even editing before pasting was made simple.
The HTML export back-end can create such text areas. It requires an
‘#+ATTR_HTML:’ line as shown in the example below with the ‘:textarea’
option. This must be followed by either an ‘example’ or a ‘src’ code
block. Other Org block types will not honor the ‘:textarea’ option.
By default, the HTML export back-end creates a text area 80
characters wide and height just enough to fit the content. Override
these defaults with ‘:width’ and ‘:height’ options on the ‘#+ATTR_HTML:’
line.
#+ATTR_HTML: :textarea t :width 40
#+BEGIN_EXAMPLE
(defun org-xor (a b)
"Exclusive or."
(if a (not b) b))
#+END_EXAMPLE
File: org, Node: CSS support, Next: JavaScript support, Prev: Text areas in HTML export, Up: HTML export
12.9.11 CSS support
You can modify the CSS style definitions for the exported file. The
HTML exporter assigns the following special CSS classes(1) to
appropriate parts of the document—your style specifications may change
these, in addition to any of the standard classes like for headlines,
tables, etc.
p.author author information, including email
p.date publishing date
p.creator creator info, about org mode version
.title document title
.subtitle document subtitle
.todo TODO keywords, all not-done states
.done the DONE keywords, all states that count as done
.WAITING each TODO keyword also uses a class named after itself
.timestamp timestamp
.timestamp-kwd keyword associated with a timestamp, like ‘SCHEDULED’
.timestamp-wrapper span around keyword plus timestamp
.tag tag in a headline
._HOME each tag uses itself as a class, "@" replaced by "_"
.target target for links
.linenr the line number in a code example
.code-highlighted for highlighting referenced code lines
div.outline-N div for outline level N (headline plus text))
div.outline-text-N extra div for text at outline level N
.section-number-N section number in headlines, different for each level
.figure-number label like "Figure 1:"
.table-number label like "Table 1:"
.listing-number label like "Listing 1:"
div.figure how to format an in-lined image
pre.src formatted source code
pre.example normal example
p.verse verse paragraph
div.footnotes footnote section headline
p.footnote footnote definition paragraph, containing a footnote
.footref a footnote reference number (always a <sup>)
.footnum footnote number in footnote definition (always <sup>)
.org-svg default class for a linked ‘.svg’ image
The HTML export back-end includes a compact default style in each
exported HTML file. To override the default style with another style,
use these keywords in the Org file. They will replace the global
defaults the HTML exporter uses.
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="style1.css" />
#+HTML_HEAD_EXTRA: <link rel="alternate stylesheet" type="text/css" href="style2.css" />
To just turn off the default style, customize
‘org-html-head-include-default-style’ variable, or use this option line
in the Org file.
#+OPTIONS: html-style:nil
For longer style definitions, either use several ‘#+HTML_HEAD’ and
‘#+HTML_HEAD_EXTRA’ lines, or use ‘<style>’ ‘</style>’ blocks around
them. Both of these approaches can avoid referring to an external file.
In order to add styles to a sub-tree, use the
‘:HTML_CONTAINER_CLASS:’ property to assign a class to the tree. In
order to specify CSS styles for a particular headline, you can use the
id specified in a ‘:CUSTOM_ID:’ property.
Never change the ‘org-html-style-default’ constant. Instead use
other simpler ways of customizing as described above.
---------- Footnotes ----------
(1) If the classes on TODO keywords and tags lead to conflicts, use
the variables ‘org-html-todo-kwd-class-prefix’ and
‘org-html-tag-class-prefix’ to make them unique.
File: org, Node: JavaScript support, Prev: CSS support, Up: HTML export
12.9.12 JavaScript supported display of web pages
Sebastian Rose has written a JavaScript program especially designed to
enhance the web viewing experience of HTML files created with Org. This
program enhances large files in two different ways of viewing. One is
an _Info_-like mode where each section is displayed separately and
navigation can be done with the ‘n’ and ‘p’ keys (and some other keys as
well, press ‘?’ for an overview of the available keys). The second one
has a _folding_ view, much like Org provides inside Emacs. The script
is available at <https://orgmode.org/org-info.js> and the documentation
at <https://orgmode.org/worg/code/org-info-js/>. The script is hosted
on <https://orgmode.org>, but for reliability, prefer installing it on
your own web server.
To use this program, just add this line to the Org file:
#+INFOJS_OPT: view:info toc:nil
The HTML header now has the code needed to automatically invoke the
script. For setting options, use the syntax from the above line for
options described below:
path: The path to the script. The default grabs the script from
<https://orgmode.org/org-info.js>, but you might want to have
a local copy and use a path like ‘../scripts/org-info.js’.
view: Initial view when the website is first shown. Possible values are:
info Info-like interface with one section per page.
overview Folding interface, initially showing only top-level.
content Folding interface, starting with all headlines visible.
showall Folding interface, all headlines and text visible.
sdepth: Maximum headline level that will still become an independent
section for info and folding modes. The default is taken from
‘org-export-headline-levels’ (= the ‘H’ switch in ‘#+OPTIONS’).
If this is smaller than in ‘org-export-headline-levels’, each
info/folding section can still contain child headlines.
toc: Should the table of contents _initially_ be visible?
Even when ‘nil’, you can always get to the "toc" with ‘i’.
tdepth: The depth of the table of contents. The defaults are taken from
the variables ‘org-export-headline-levels’ and ‘org-export-with-toc’.
ftoc: Does the CSS of the page specify a fixed position for the "toc"?
If yes, the toc will never be displayed as a section.
ltoc: Should there be short contents (children) in each section?
Make this ‘above’ if the section should be above initial text.
mouse: Headings are highlighted when the mouse is over them. Should be
‘underline’ (default) or a background color like ‘#cccccc’.
buttons: Should view-toggle buttons be everywhere? When ‘nil’ (the
default), only one such button will be present.
You can choose default values for these options by customizing the
variable ‘org-html-infojs-options’. If you want the script to always
apply to your pages, configure the variable ‘org-html-use-infojs’.
File: org, Node: LaTeX export, Next: Markdown export, Prev: HTML export, Up: Exporting
12.10 LaTeX export
==================
The LaTeX export back-end can handle complex documents, incorporate
standard or custom LaTeX document classes, generate documents using
alternate LaTeX engines, and produce fully linked PDF files with
interactive online viewing or high-quality print publication.
While the details are covered in-depth in this section, here are some
quick references to variables for the impatient: for engines, see
‘org-latex-compiler’; for build sequences, see ‘org-latex-pdf-process’;
for packages, see ‘org-latex-default-packages-alist’ and
‘org-latex-packages-alist’.
An important note about the LaTeX export back-end: it is sensitive to
blank lines in the Org document. That’s because LaTeX itself depends on
blank lines to tell apart syntactical elements, such as paragraphs.
* Menu:
* LaTeX export commands:: For producing LaTeX and PDF documents.
* LaTeX specific export settings:: Unique to this LaTeX back-end.
* LaTeX header and sectioning:: For file structure.
* Quoting LaTeX code:: Directly in the Org document.
* Tables in LaTeX export:: Attributes specific to tables.
* Images in LaTeX export:: Attributes specific to images.
* Plain lists in LaTeX export:: Attributes specific to lists.
* Source blocks in LaTeX export:: Attributes specific to source code blocks.
* Example blocks in LaTeX export:: Attributes specific to example blocks.
* Special blocks in LaTeX export:: Attributes specific to special blocks.
* Horizontal rules in LaTeX export:: Attributes specific to horizontal rules.
File: org, Node: LaTeX export commands, Next: LaTeX specific export settings, Up: LaTeX export
12.10.1 LaTeX export commands
‘C-c C-e l l (org-latex-export-to-latex)’
Export as LaTeX file with a ‘.tex’ extension. For ‘myfile.org’,
Org exports to ‘myfile.tex’, overwriting without warning. ‘C-c C-e
l l’ Exports to LaTeX file.
‘C-c C-e l L (org-latex-export-as-latex)’
Export to a temporary buffer. Do not create a file.
‘C-c C-e l p (org-latex-export-to-pdf)’
Export as LaTeX file and convert it to PDF file.
‘C-c C-e l o’
Export as LaTeX file and convert it to PDF, then open the PDF using
the default viewer.
The LaTeX export back-end can use any of these LaTeX engines:
‘pdflatex’, ‘xelatex’, and ‘lualatex’. These engines compile LaTeX
files with different compilers, packages, and output options. The LaTeX
export back-end finds the compiler version to use from
‘org-latex-compiler’ variable or the ‘#+LATEX_COMPILER’ keyword in the
Org file. See the docstring for the ‘org-latex-default-packages-alist’
for loading packages with certain compilers. Also see
‘org-latex-bibtex-compiler’ to set the bibliography compiler(1).
---------- Footnotes ----------
(1) This does not allow setting different bibliography compilers for
‘latexmk’, can select the correct bibliography compiler.
File: org, Node: LaTeX specific export settings, Next: LaTeX header and sectioning, Prev: LaTeX export commands, Up: LaTeX export
12.10.2 LaTeX specific export settings
The LaTeX export back-end has several additional keywords for
customizing LaTeX output. Setting these keywords works similar to the
general options (*note Export settings::).
‘DESCRIPTION’
The document’s description. The description along with author
name, keywords, and related file metadata are inserted in the
output file by the ‘hyperref’ package. See
‘org-latex-hyperref-template’ for customizing metadata items. See
‘org-latex-title-command’ for typesetting description into the
document’s front matter. Use multiple ‘#+DESCRIPTION’ lines for
long descriptions.
‘LATEX_CLASS’
This is LaTeX document class, such as ‘article’, ‘report’, ‘book’,
and so on, which contain predefined preamble and headline level
mapping that the LaTeX export back-end needs. The back-end reads
the default class name from the ‘org-latex-default-class’ variable.
Org has ‘article’ as the default class. A valid default class must
be an element of ‘org-latex-classes’.
‘LATEX_CLASS_OPTIONS’
Options the LaTeX export back-end uses when calling the LaTeX
document class.
‘LATEX_COMPILER’
The compiler, such as ‘pdflatex’, ‘xelatex’, ‘lualatex’, for
producing the PDF (‘org-latex-compiler’).
‘LATEX_HEADER’
Arbitrary lines to add to the document’s preamble, before the
‘hyperref’ settings. See ‘org-latex-classes’ for adjusting the
structure and order of the LaTeX headers.
‘LATEX_HEADER_EXTRA’
Arbitrary lines to add to the document’s preamble, before the
‘hyperref’ settings. See ‘org-latex-classes’ for adjusting the
structure and order of the LaTeX headers.
‘KEYWORDS’
The keywords for the document. The description along with author
name, keywords, and related file metadata are inserted in the
output file by the ‘hyperref’ package. See
‘org-latex-hyperref-template’ for customizing metadata items. See
‘org-latex-title-command’ for typesetting description into the
document’s front matter. Use multiple ‘#+KEYWORDS’ lines if
necessary.
‘SUBTITLE’
The document’s subtitle. It is typeset as per
‘org-latex-subtitle-format’. If ‘org-latex-subtitle-separate’ is
non-‘nil’, it is typed as part of the ‘\title’-macro. See
‘org-latex-hyperref-template’ for customizing metadata items. See
‘org-latex-title-command’ for typesetting description into the
document’s front matter.
The following sections have further details.
File: org, Node: LaTeX header and sectioning, Next: Quoting LaTeX code, Prev: LaTeX specific export settings, Up: LaTeX export
12.10.3 LaTeX header and sectioning structure
The LaTeX export back-end converts the first three of Org’s outline
levels into LaTeX headlines. The remaining Org levels are exported as
‘itemize’ or ‘enumerate’ lists. To change this globally for the cut-off
point between levels and lists, (*note Export settings::).
By default, the LaTeX export back-end uses the ‘article’ class.
To change the default class globally, edit ‘org-latex-default-class’.
To change the default class locally in an Org file, add option lines
‘#+LATEX_CLASS: myclass’. To change the default class for just a part
of the Org file, set a sub-tree property, ‘EXPORT_LATEX_CLASS’. The
class name entered here must be valid member of ‘org-latex-classes’.
This variable defines a header template for each class into which the
exporter splices the values of ‘org-latex-default-packages-alist’ and
‘org-latex-packages-alist’. Use the same three variables to define
custom sectioning or custom classes.
The LaTeX export back-end sends the ‘LATEX_CLASS_OPTIONS’ keyword and
‘EXPORT_LATEX_CLASS_OPTIONS’ property as options to the LaTeX
‘\documentclass’ macro. The options and the syntax for specifying them,
including enclosing them in square brackets, follow LaTeX conventions.
#+LATEX_CLASS_OPTIONS: [a4paper,11pt,twoside,twocolumn]
The LaTeX export back-end appends values from ‘LATEX_HEADER’ and
‘LATEX_HEADER_EXTRA’ keywords to the LaTeX header. The docstring for
‘org-latex-classes’ explains in more detail. Also note that LaTeX
export back-end does not append ‘LATEX_HEADER_EXTRA’ to the header when
previewing LaTeX snippets (*note Previewing LaTeX fragments::).
A sample Org file with the above headers:
#+LATEX_CLASS: article
#+LATEX_CLASS_OPTIONS: [a4paper]
#+LATEX_HEADER: \usepackage{xyz}
* Headline 1
some text
* Headline 2
some more text
File: org, Node: Quoting LaTeX code, Next: Tables in LaTeX export, Prev: LaTeX header and sectioning, Up: LaTeX export
12.10.4 Quoting LaTeX code
The LaTeX export back-end can insert any arbitrary LaTeX code, *note
Embedded LaTeX::. There are three ways to embed such code in the Org
file and they all use different quoting syntax.
Inserting in-line quoted with symbols:
Code embedded in-line @@latex:any arbitrary LaTeX code@@ in a paragraph.
Inserting as one or more keyword lines in the Org file:
#+LATEX: any arbitrary LaTeX code
Inserting as an export block in the Org file, where the back-end
exports any code between begin and end markers:
#+BEGIN_EXPORT latex
any arbitrary LaTeX code
#+END_EXPORT
File: org, Node: Tables in LaTeX export, Next: Images in LaTeX export, Prev: Quoting LaTeX code, Up: LaTeX export
12.10.5 Tables in LaTeX export
The LaTeX export back-end can pass several LaTeX attributes for table
contents and layout. Besides specifying label and caption (*note Images
and tables::), the other valid LaTeX attributes include:
‘:mode’
The LaTeX export back-end wraps the table differently depending on
the mode for accurate rendering of math symbols. Mode is either
‘table’, ‘math’, ‘inline-math’ or ‘verbatim’. For ‘math’ or
‘inline-math’ mode, LaTeX export back-end wraps the table in a math
environment, but every cell in it is exported as-is. The LaTeX
export back-end determines the default mode from
‘org-latex-default-table-mode’. For , The LaTeX export back-end
merges contiguous tables in the same mode into a single
environment.
‘:environment’
Set the default LaTeX table environment for the LaTeX export
back-end to use when exporting Org tables. Common LaTeX table
environments are provided by these packages: ‘tabularx’,
‘longtable’, ‘array’, ‘tabu’, and ‘bmatrix’. For packages, such as
‘tabularx’ and ‘tabu’, or any newer replacements, include them in
the ‘org-latex-packages-alist’ variable so the LaTeX export
back-end can insert the appropriate load package headers in the
converted LaTeX file. Look in the docstring for the
‘org-latex-packages-alist’ variable for configuring these packages
for LaTeX snippet previews, if any.
‘:caption’
Use ‘#+CAPTION’ keyword to set a simple caption for a table (*note
Images and tables::). For custom captions, use ‘:caption’
attribute, which accepts raw LaTeX code. ‘:caption’ value
overrides ‘#+CAPTION’ value.
‘:float’
‘:placement’
The table environments by default are not floats in LaTeX. To make
them floating objects use ‘:float’ with one of the following
options: ‘sideways’, ‘multicolumn’, ‘t’, and ‘nil’. Note that
‘sidewaystable’ has been deprecated since Org 8.3. LaTeX floats
can also have additional layout ‘:placement’ attributes. These are
the usual ‘[h t b p ! H]’ permissions specified in square brackets.
Note that for ‘:float sideways’ tables, the LaTeX export back-end
ignores ‘:placement’ attributes.
‘:align’
‘:font’
‘:width’
The LaTeX export back-end uses these attributes for regular tables
to set their alignments, fonts, and widths.
‘:spread’
When ‘:spread’ is non-‘nil’, the LaTeX export back-end spreads or
shrinks the table by the ‘:width’ for ‘tabu’ and ‘longtabu’
environments. ‘:spread’ has no effect if ‘:width’ is not set.
‘:booktabs’
‘:center’
‘:rmlines’
All three commands are toggles. ‘:booktabs’ brings in modern
typesetting enhancements to regular tables. The ‘booktabs’ package
has to be loaded through ‘org-latex-packages-alist’. ‘:center’ is
for centering the table. ‘:rmlines’ removes all but the very first
horizontal line made of ASCII characters from "table.el" tables
only.
‘:math-prefix’
‘:math-suffix’
‘:math-arguments’
The LaTeX export back-end inserts ‘:math-prefix’ string value in a
math environment before the table. The LaTeX export back-end
inserts ‘:math-suffix’ string value in a math environment after the
table. The LaTeX export back-end inserts ‘:math-arguments’ string
value between the macro name and the table’s contents.
‘:math-arguments’ comes in use for matrix macros that require more
than one argument, such as ‘qbordermatrix’.
LaTeX table attributes help formatting tables for a wide range of
situations, such as matrix product or spanning multiple pages:
#+ATTR_LATEX: :environment longtable :align l|lp{3cm}r|l
| ..... | ..... |
| ..... | ..... |
#+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times
| a | b |
| c | d |
#+ATTR_LATEX: :mode math :environment bmatrix
| 1 | 2 |
| 3 | 4 |
Set the caption with the LaTeX command
‘\bicaption{HeadingA}{HeadingB}’:
#+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
| ..... | ..... |
| ..... | ..... |
File: org, Node: Images in LaTeX export, Next: Plain lists in LaTeX export, Prev: Tables in LaTeX export, Up: LaTeX export
12.10.6 Images in LaTeX export
The LaTeX export back-end processes image links in Org files that do not
have descriptions, such as these links ‘[[file:img.jpg]]’ or
‘[[./img.jpg]]’, as direct image insertions in the final PDF output. In
the PDF, they are no longer links but actual images embedded on the
page. The LaTeX export back-end uses ‘\includegraphics’ macro to insert
the image. But for TikZ(1) images, the back-end uses an ‘\input’ macro
wrapped within a ‘tikzpicture’ environment.
For specifying image ‘:width’, ‘:height’, and other ‘:options’, use
this syntax:
#+ATTR_LATEX: :width 5cm :options angle=90
[[./img/sed-hr4049.pdf]]
For custom commands for captions, use the ‘:caption’ attribute. It
will override the default ‘#+CAPTION’ value:
#+ATTR_LATEX: :caption \bicaption{HeadingA}{HeadingB}
[[./img/sed-hr4049.pdf]]
When captions follow the method as described in *note Images and
tables::, the LaTeX export back-end wraps the picture in a floating
‘figure’ environment. To float an image without specifying a caption,
set the ‘:float’ attribute to one of the following:
− ‘t’: for a standard ‘figure’ environment; used by default whenever
an image has a caption.
− ‘multicolumn’: to span the image across multiple columns of a page;
the back-end wraps the image in a ‘figure*’ environment.
− ‘wrap’: for text to flow around the image on the right; the figure
occupies the left half of the page.
− ‘sideways’: for a new page with the image sideways, rotated ninety
degrees, in a ‘sidewaysfigure’ environment; overrides ‘:placement’
setting.
− ‘nil’: to avoid a ‘:float’ even if using a caption.
Use the ‘placement’ attribute to modify a floating environment’s
placement.
#+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement
{r}{0.4\textwidth} [[./img/hst.png]]
The LaTeX export back-end centers all images by default. Setting
‘:center’ attribute to ‘nil’ disables centering. To disable centering
globally, set ‘org-latex-images-centered’ to ‘t’.
Set the ‘:comment-include’ attribute to non-‘nil’ value for the LaTeX
export back-end to comment out the ‘\includegraphics’ macro.
---------- Footnotes ----------
(1) <http://sourceforge.net/projects/pgf/>
File: org, Node: Plain lists in LaTeX export, Next: Source blocks in LaTeX export, Prev: Images in LaTeX export, Up: LaTeX export
12.10.7 Plain lists in LaTeX export
The LaTeX export back-end accepts the ‘:environment’ and ‘:options’
attributes for plain lists. Both attributes work together for
customizing lists, as shown in the examples:
#+LATEX_HEADER: \usepackage[inline]{enumitem}
Some ways to say "Hello":
#+ATTR_LATEX: :environment itemize*
#+ATTR_LATEX: :options [label={}, itemjoin={,}, itemjoin*={, and}]
- Hola
- Bonjour
- Guten Tag.
Since LaTeX supports only four levels of nesting for lists, use an
external package, such as ‘enumitem’ in LaTeX, for levels deeper than
four:
#+LATEX_HEADER: \usepackage{enumitem}
#+LATEX_HEADER: \renewlist{itemize}{itemize}{9}
#+LATEX_HEADER: \setlist[itemize]{label=$\circ$}
- One
- Two
- Three
- Four
- Five
File: org, Node: Source blocks in LaTeX export, Next: Example blocks in LaTeX export, Prev: Plain lists in LaTeX export, Up: LaTeX export
12.10.8 Source blocks in LaTeX export
The LaTeX export back-end can make source code blocks into floating
objects through the attributes ‘:float’ and ‘:options’. For ‘:float’:
− ‘t’: makes a source block float; by default floats any source block
with a caption.
− ‘multicolumn’: spans the source block across multiple columns of a
page.
− ‘nil’: avoids a ‘:float’ even if using a caption; useful for source
code blocks that may not fit on a page.
#+ATTR_LATEX: :float nil
#+BEGIN_SRC emacs-lisp
Lisp code that may not fit in a single page.
#+END_SRC
The LaTeX export back-end passes string values in ‘:options’ to LaTeX
packages for customization of that specific source block. In the
example below, the ‘:options’ are set for Minted. Minted is a source
code highlighting LaTeXpackage with many configurable options.
#+ATTR_LATEX: :options commentstyle=\bfseries
#+BEGIN_SRC emacs-lisp
(defun Fib (n)
(if (< n 2) n (+ (Fib (- n 1)) (Fib (- n 2)))))
#+END_SRC
To apply similar configuration options for all source blocks in a
file, use the ‘org-latex-listings-options’ and
‘org-latex-minted-options’ variables.
File: org, Node: Example blocks in LaTeX export, Next: Special blocks in LaTeX export, Prev: Source blocks in LaTeX export, Up: LaTeX export
12.10.9 Example blocks in LaTeX export
The LaTeX export back-end wraps the contents of example blocks in a
‘verbatim’ environment. To change this behavior to use another
environment globally, specify an appropriate export filter (*note
Advanced configuration::). To change this behavior to use another
environment for each block, use the ‘:environment’ parameter to specify
a custom environment.
#+ATTR_LATEX: :environment myverbatim
#+BEGIN_EXAMPLE
This sentence is false.
#+END_EXAMPLE
File: org, Node: Special blocks in LaTeX export, Next: Horizontal rules in LaTeX export, Prev: Example blocks in LaTeX export, Up: LaTeX export
12.10.10 Special blocks in LaTeX export
For other special blocks in the Org file, the LaTeX export back-end
makes a special environment of the same name. The back-end also takes
‘:options’, if any, and appends as-is to that environment’s opening
string. For example:
#+BEGIN_abstract
We demonstrate how to solve the Syracuse problem.
#+END_abstract
#+ATTR_LATEX: :options [Proof of important theorem]
#+BEGIN_proof
...
Therefore, any even number greater than 2 is the sum of two primes.
#+END_proof
exports to
\begin{abstract}
We demonstrate how to solve the Syracuse problem.
\end{abstract}
\begin{proof}[Proof of important theorem]
...
Therefore, any even number greater than 2 is the sum of two primes.
\end{proof}
If you need to insert a specific caption command, use ‘:caption’
attribute. It will override standard ‘#+CAPTION’ value, if any. For
example:
#+ATTR_LATEX: :caption \MyCaption{HeadingA}
#+BEGIN_proof
...
#+END_proof
File: org, Node: Horizontal rules in LaTeX export, Prev: Special blocks in LaTeX export, Up: LaTeX export
12.10.11 Horizontal rules in LaTeX export
The LaTeX export back-end converts horizontal rules by the specified
‘:width’ and ‘:thickness’ attributes. For example:
#+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt
-----
File: org, Node: Markdown export, Next: OpenDocument Text export, Prev: LaTeX export, Up: Exporting
12.11 Markdown export
=====================
The Markdown export back-end, ‘md’, converts an Org file to Markdown
format, as defined at <http://daringfireball.net/projects/markdown/>.
The ‘md’ back-end is built on top of the HTML back-end (*note HTML
export::). As a consequence, it converts every Org construct not
supported by Markdown syntax, such as tables, to HTML.
Markdown export commands
‘C-c C-e m m (org-md-export-to-markdown)’
Export to a text file with Markdown syntax. For ‘myfile.org’, Org
exports to ‘myfile.md’, overwritten without warning.
‘C-c C-e m M (org-md-export-as-markdown)’
Export to a temporary buffer. Does not create a file.
‘C-c C-e m o’
Export as a text file with Markdown syntax, then open it.
Header and sectioning structure
Based on ‘org-md-headline-style’, markdown export can generate headlines
of both ‘atx’ and ‘setext’ types. ‘atx’ limits headline levels to two.
‘setext’ limits headline levels to six. Beyond these limits, the export
back-end converts headlines to lists. To set a limit to a level before
the absolute limit (*note Export settings::).
File: org, Node: OpenDocument Text export, Next: Org export, Prev: Markdown export, Up: Exporting
12.12 OpenDocument Text export
==============================
The ODT export back-end handles creating of OpenDocument Text (ODT)
format files. The format complies with ‘OpenDocument-v1.2
specification’(1) and is compatible with LibreOffice 3.4.
* Menu:
* Pre-requisites for ODT export:: Required packages.
* ODT export commands:: Invoking export.
* ODT specific export settings:: Configuration options.
* Extending ODT export:: Producing ‘.doc’, ‘.pdf’ files.
* Applying custom styles:: Styling the output.
* Links in ODT export:: Handling and formatting links.
* Tables in ODT export:: Org table conversions.
* Images in ODT export:: Inserting images.
* Math formatting in ODT export:: Formatting LaTeX fragments.
* Labels and captions in ODT export:: Rendering objects.
* Literal examples in ODT export:: For source code and example blocks.
* Advanced topics in ODT export:: For power users.
---------- Footnotes ----------
(1) Open Document Format for Office Applications (OpenDocument)
Version 1.2
(http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)
File: org, Node: Pre-requisites for ODT export, Next: ODT export commands, Up: OpenDocument Text export
12.12.1 Pre-requisites for ODT export
The ODT export back-end relies on the ‘zip’ program to create the final
compressed ODT output. Check if ‘zip’ is locally available and
executable. Without ‘zip’, export cannot finish.
File: org, Node: ODT export commands, Next: ODT specific export settings, Prev: Pre-requisites for ODT export, Up: OpenDocument Text export
12.12.2 ODT export commands
‘C-c C-e o o (org-odt-export-to-odt)’
Export as OpenDocument Text file.
If ‘org-odt-preferred-output-format’ is specified, the ODT export
back-end automatically converts the exported file to that format.
*Note Automatically exporting to other formats:
x-export-to-other-formats.
For ‘myfile.org’, Org exports to ‘myfile.odt’, overwriting without
warning. The ODT export back-end exports a region only if a region
was active. Note for exporting active regions, the
‘transient-mark-mode’ has to be turned on.
If the selected region is a single tree, the ODT export back-end
makes the tree head the document title. Incidentally, ‘C-c @’
selects the current sub-tree. If the tree head entry has, or
inherits, an ‘EXPORT_FILE_NAME’ property, the ODT export back-end
uses that for file name.
‘C-c C-e o O’ Export to an OpenDocument Text file format and open
it.
When ‘org-odt-preferred-output-format’ is specified, open the
converted file instead. *Note Automatically exporting to other
formats: x-export-to-other-formats.
File: org, Node: ODT specific export settings, Next: Extending ODT export, Prev: ODT export commands, Up: OpenDocument Text export
12.12.3 ODT specific export settings
The ODT export back-end has several additional keywords for customizing
ODT output. Setting these keywords works similar to the general options
(*note Export settings::).
‘DESCRIPTION’
This is the document’s description, which the ODT export back-end
inserts as document metadata. For long descriptions, use multiple
‘#+DESCRIPTION’ lines.
‘KEYWORDS’
The keywords for the document. The ODT export back-end inserts the
description along with author name, keywords, and related file
metadata as metadata in the output file. Use multiple ‘#+KEYWORDS’
lines if necessary.
‘ODT_STYLES_FILE’
The ODT export back-end uses the ‘org-odt-styles-file’ by default.
See *note Applying custom styles:: for details.
‘SUBTITLE’
The document subtitle.
File: org, Node: Extending ODT export, Next: Applying custom styles, Prev: ODT specific export settings, Up: OpenDocument Text export
12.12.4 Extending ODT export
The ODT export back-end can produce documents in other formats besides
ODT using a specialized ODT converter process. Its common interface
works with popular converters to produce formats such as ‘doc’, or
convert a document from one format, say ‘csv’, to another format, say
‘xls’.
Customize ‘org-odt-convert-process’ variable to point to ‘unoconv’,
which is the ODT’s preferred converter. Working installations of
LibreOffice would already have ‘unoconv’ installed. Alternatively,
other converters may be substituted here. *Note Configuring a document
converter::.
Automatically exporting to other formats
........................................
If ODT format is just an intermediate step to get to other formats, such
as ‘doc’, ‘docx’, ‘rtf’, or ‘pdf’, etc., then extend the ODT export
back-end to directly produce that format. Specify the final format in
the ‘org-odt-preferred-output-format’ variable. This is one way to
extend (*note Exporting to ODT: x-export-to-odt.).
Converting between document formats
...................................
The Org export back-end is made to be inter-operable with a wide range
of text document format converters. Newer generation converters, such
as LibreOffice and Pandoc, can handle hundreds of formats at once. Org
provides a consistent interaction with whatever converter is installed.
Here are some generic commands:
‘M-x org-odt-convert <RET>’
Convert an existing document from one format to another. With a
prefix argument, opens the newly produced file.
File: org, Node: Applying custom styles, Next: Links in ODT export, Prev: Extending ODT export, Up: OpenDocument Text export
12.12.5 Applying custom styles
The ODT export back-end comes with many OpenDocument styles (*note
Working with OpenDocument style files::). To expand or further
customize these built-in style sheets, either edit the style sheets
directly or generate them using an application such as LibreOffice. The
example here shows creating a style using LibreOffice.
Applying custom styles: the easy way
....................................
1. Create a sample ‘example.org’ file with settings as shown below,
and export it to ODT format.
#+OPTIONS: H:10 num:t
2. Open the above ‘example.odt’ using LibreOffice. Use the ‘Stylist’
to locate the target styles, which typically have the ‘Org’ prefix.
Open one, modify, and save as either OpenDocument Text (‘.odt’) or
OpenDocument Template (‘.ott’) file.
3. Customize the variable ‘org-odt-styles-file’ and point it to the
newly created file. For additional configuration options *note
Overriding factory styles: x-overriding-factory-styles.
To apply and ODT style to a particular file, use the
‘#+ODT_STYLES_FILE’ option as shown in the example below:
#+ODT_STYLES_FILE: "/path/to/example.ott"
or
#+ODT_STYLES_FILE: ("/path/to/file.ott" ("styles.xml" "image/hdr.png"))
Using third-party styles and templates
......................................
The ODT export back-end relies on many templates and style names. Using
third-party styles and templates can lead to mismatches. Templates
derived from built in ODT templates and styles seem to have fewer
problems.
File: org, Node: Links in ODT export, Next: Tables in ODT export, Prev: Applying custom styles, Up: OpenDocument Text export
12.12.6 Links in ODT export
ODT export back-end creates native cross-references for internal links
and Internet-style links for all other link types.
A link with no description and pointing to a
regular—un-itemized—outline heading is replaced with a cross-reference
and section number of the heading.
A ‘\ref{label}’-style reference to an image, table etc. is replaced
with a cross-reference and sequence number of the labeled entity. *Note
Labels and captions in ODT export::.
File: org, Node: Tables in ODT export, Next: Images in ODT export, Prev: Links in ODT export, Up: OpenDocument Text export
12.12.7 Tables in ODT export
The ODT export back-end handles native Org mode tables (*note Tables::)
and simple ‘table.el’ tables. Complex ‘table.el’ tables having column
or row spans are not supported. Such tables are stripped from the
exported document.
By default, the ODT export back-end exports a table with top and
bottom frames and with ruled lines separating row and column groups
(*note Column groups::). All tables are typeset to occupy the same
width. The ODT export back-end honors any table alignments and relative
widths for columns (*note Column width and alignment::).
Note that the ODT export back-end interprets column widths as
weighted ratios, the default weight being 1.
Specifying ‘:rel-width’ property on an ‘#+ATTR_ODT’ line controls the
width of the table. For example:
#+ATTR_ODT: :rel-width 50
| Area/Month | Jan | Feb | Mar | Sum |
|---------------+-------+-------+-------+-------|
| / | < | | | < |
| <l13> | <r5> | <r5> | <r5> | <r6> |
| North America | 1 | 21 | 926 | 948 |
| Middle East | 6 | 75 | 844 | 925 |
| Asia Pacific | 9 | 27 | 790 | 826 |
|---------------+-------+-------+-------+-------|
| Sum | 16 | 123 | 2560 | 2699 |
On export, the above table takes 50% of text width area. The
exporter sizes the columns in the ratio: 13:5:5:5:6. The first column
is left-aligned and rest of the columns, right-aligned. Vertical rules
separate the header and the last column. Horizontal rules separate the
header and the last row.
For even more customization, create custom table styles and associate
them with a table using the ‘#+ATTR_ODT’ line. *Note Customizing tables
in ODT export::.
File: org, Node: Images in ODT export, Next: Math formatting in ODT export, Prev: Tables in ODT export, Up: OpenDocument Text export
12.12.8 Images in ODT export
Embedding images
................
The ODT export back-end processes image links in Org files that do not
have descriptions, such as these links ‘[[file:img.jpg]]’ or
‘[[./img.jpg]]’, as direct image insertions in the final output. Either
of these examples works:
[[file:img.png]]
[[./img.png]]
Embedding clickable images
..........................
For clickable images, provide a link whose description is another link
to an image file. For example, to embed an image ‘org-mode-unicorn.png’
which when clicked jumps to <https://orgmode.org> website, do the
following
[[https://orgmode.org][./org-mode-unicorn.png]]
Sizing and scaling of embedded images
.....................................
Control the size and scale of the embedded images with the ‘#+ATTR_ODT’
attribute.
The ODT export back-end starts with establishing the size of the
image in the final document. The dimensions of this size is measured in
centimeters. The back-end then queries the image file for its
dimensions measured in pixels. For this measurement, the back-end
relies on ImageMagick’s ‘identify’ program or Emacs ‘create-image’ and
‘image-size’ API. ImageMagick is the preferred choice for large file
sizes or frequent batch operations. The back-end then converts the
pixel dimensions using ‘org-odt-pixels-per-inch’ into the familiar 72
dpi or 96 dpi. The default value for this is in
‘display-pixels-per-inch’, which can be tweaked for better results based
on the capabilities of the output device. Here are some common image
scaling operations:
Explicitly size the image
To embed ‘img.png’ as a 10 cm x 10 cm image, do the following:
#+ATTR_ODT: :width 10 :height 10
[[./img.png]]
Scale the image
To embed ‘img.png’ at half its size, do the following:
#+ATTR_ODT: :scale 0.5
[[./img.png]]
Scale the image to a specific width
To embed ‘img.png’ with a width of 10 cm while retaining the
original height:width ratio, do the following:
#+ATTR_ODT: :width 10
[[./img.png]]
Scale the image to a specific height
To embed ‘img.png’ with a height of 10 cm while retaining the
original height:width ratio, do the following
#+ATTR_ODT: :height 10
[[./img.png]]
Anchoring of images
...................
The ODT export back-end can anchor images to ‘"as-char"’, ‘"paragraph"’,
or ‘"page"’. Set the preferred anchor using the ‘:anchor’ property of
the ‘#+ATTR_ODT’ line.
To create an image that is anchored to a page:
#+ATTR_ODT: :anchor "page"
[[./img.png]]
File: org, Node: Math formatting in ODT export, Next: Labels and captions in ODT export, Prev: Images in ODT export, Up: OpenDocument Text export
12.12.9 Math formatting in ODT export
The ODT export back-end has special support built-in for handling math.
* Menu:
* Working with LaTeX math snippets:: Embedding in LaTeX format.
* Working with MathML or OpenDocument formula files:: Embedding in native format.
File: org, Node: Working with LaTeX math snippets, Next: Working with MathML or OpenDocument formula files, Up: Math formatting in ODT export
Working with LaTeX math snippets
................................
LaTeX math snippets (*note LaTeX fragments::) can be embedded in an ODT
document in one of the following ways:
1. MathML
Add this line to the Org file. This option is activated on a
per-file basis.
#+OPTIONS: LaTeX:t
With this option, LaTeX fragments are first converted into MathML
fragments using an external LaTeX-to-MathML converter program. The
resulting MathML fragments are then embedded as an OpenDocument
Formula in the exported document.
To specify the LaTeX-to-MathML converter, customize the variables
‘org-latex-to-mathml-convert-command’ and
‘org-latex-to-mathml-jar-file’.
To use MathToWeb(1) as the preferred converter, configure the above
variables as
(setq org-latex-to-mathml-convert-command
"java -jar %j -unicode -force -df %o %I"
org-latex-to-mathml-jar-file
"/path/to/mathtoweb.jar")
To use LaTeXML(2) use
(setq org-latex-to-mathml-convert-command
"latexmlmath \"%i\" --presentationmathml=%o")
To quickly verify the reliability of the LaTeX-to-MathML converter,
use the following commands:
‘M-x org-odt-export-as-odf <RET>’
Convert a LaTeX math snippet to an OpenDocument formula
(‘.odf’) file.
‘M-x org-odt-export-as-odf-and-open <RET>’
Convert a LaTeX math snippet to an OpenDocument formula
(‘.odf’) file and open the formula file with the
system-registered application.
2. PNG images
Add this line to the Org file. This option is activated on a
per-file basis.
#+OPTIONS: tex:dvipng
#+OPTIONS: tex:dvisvgm
or:
#+OPTIONS: tex:imagemagick
Under this option, LaTeX fragments are processed into PNG or SVG
images and the resulting images are embedded in the exported
document. This method requires ‘dvipng’ program, ‘dvisvgm’ or
‘imagemagick’ programs.
---------- Footnotes ----------
(1) See MathToWeb
(http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl).
(2) See <http://dlmf.nist.gov/LaTeXML/>.
File: org, Node: Working with MathML or OpenDocument formula files, Prev: Working with LaTeX math snippets, Up: Math formatting in ODT export
Working with MathML or OpenDocument formula files
.................................................
When embedding LaTeX math snippets in ODT documents is not reliable,
there is one more option to try. Embed an equation by linking to its
MathML (‘.mml’) source or its OpenDocument formula (‘.odf’) file as
shown below:
[[./equation.mml]]
or
[[./equation.odf]]
File: org, Node: Labels and captions in ODT export, Next: Literal examples in ODT export, Prev: Math formatting in ODT export, Up: OpenDocument Text export
12.12.10 Labels and captions in ODT export
ODT format handles labeling and captioning of objects based on their
types. Inline images, tables, LaTeX fragments, and Math formulas are
numbered and captioned separately. Each object also gets a unique
sequence number based on its order of first appearance in the Org file.
Each category has its own sequence. A caption is just a label applied
to these objects.
#+CAPTION: Bell curve
#+LABEL: fig:SED-HR4049
[[./img/a.png]]
When rendered, it may show as follows in the exported document:
Figure 2: Bell curve
To modify the category component of the caption, customize the option
‘org-odt-category-map-alist’. For example, to tag embedded images with
the string ‘Illustration’ instead of the default string ‘Figure’, use
the following setting:
(setq org-odt-category-map-alist
'(("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p)))
With the above modification, the previous example changes to:
Illustration 2: Bell curve
File: org, Node: Literal examples in ODT export, Next: Advanced topics in ODT export, Prev: Labels and captions in ODT export, Up: OpenDocument Text export
12.12.11 Literal examples in ODT export
The ODT export back-end supports literal examples (*note Literal
examples::) with full fontification. Internally, the ODT export
back-end relies on ‘htmlfontify.el’ to generate the style definitions
needed for fancy listings. The auto-generated styles get ‘OrgSrc’
prefix and inherit colors from the faces used by Emacs ‘font-lock’
library for that source language.
For custom fontification styles, customize the
‘org-odt-create-custom-styles-for-srcblocks’ option.
To turn off fontification of literal examples, customize the
‘org-odt-fontify-srcblocks’ option.
File: org, Node: Advanced topics in ODT export, Prev: Literal examples in ODT export, Up: OpenDocument Text export
12.12.12 Advanced topics in ODT export
The ODT export back-end has extensive features useful for power users
and frequent uses of ODT formats.
* Menu:
* Configuring a document converter:: Registering a document converter.
* Working with OpenDocument style files:: Exploring internals.
* Creating one-off styles:: Customizing styles, highlighting.
* Customizing tables in ODT export:: Defining table templates.
* Validating OpenDocument XML:: Debugging corrupted OpenDocument files.
File: org, Node: Configuring a document converter, Next: Working with OpenDocument style files, Up: Advanced topics in ODT export
Configuring a document converter
................................
The ODT export back-end works with popular converters with little or no
extra configuration. *Note Extending ODT export::. The following is
for unsupported converters or tweaking existing defaults.
1. Register the converter
Add the name of the converter to the ‘org-odt-convert-processes’
variable. Note that it also requires how the converter is invoked
on the command line. See the variable’s docstring for details.
2. Configure its capabilities
Specify which formats the converter can handle by customizing the
variable ‘org-odt-convert-capabilities’. Use the entry for the
default values in this variable for configuring the new converter.
Also see its docstring for details.
3. Choose the converter
Select the newly added converter as the preferred one by
customizing the option ‘org-odt-convert-process’.
File: org, Node: Working with OpenDocument style files, Next: Creating one-off styles, Prev: Configuring a document converter, Up: Advanced topics in ODT export
Working with OpenDocument style files
.....................................
This section explores the internals of the ODT exporter; the means by
which it produces styled documents; the use of automatic and custom
OpenDocument styles.
a) Factory styles
.................
The ODT exporter relies on two files for generating its output. These
files are bundled with the distribution under the directory pointed to
by the variable ‘org-odt-styles-dir’. The two files are:
• ‘OrgOdtStyles.xml’
This file contributes to the ‘styles.xml’ file of the final ‘ODT’
document. This file gets modified for the following purposes:
1. To control outline numbering based on user settings.
2. To add styles generated by ‘htmlfontify.el’ for fontification
of code blocks.
• ‘OrgOdtContentTemplate.xml’
This file contributes to the ‘content.xml’ file of the final ‘ODT’
document. The contents of the Org outline are inserted between the
‘<office:text>’...‘</office:text>’ elements of this file.
Apart from serving as a template file for the final ‘content.xml’,
the file serves the following purposes:
1. It contains automatic styles for formatting of tables which
are referenced by the exporter.
2. It contains ‘<text:sequence-decl>’...‘</text:sequence-decl>’
elements that control numbering of tables, images, equations,
and similar entities.
b) Overriding factory styles
............................
The following two variables control the location from where the ODT
exporter picks up the custom styles and content template files.
Customize these variables to override the factory styles used by the
exporter.
• ‘org-odt-styles-file’
The ODT export back-end uses the file pointed to by this variable,
such as ‘styles.xml’, for the final output. It can take one of the
following values:
1. A ‘styles.xml’ file
Use this file instead of the default ‘styles.xml’
2. A ‘.odt’ or ‘.ott’ file
Use the ‘styles.xml’ contained in the specified OpenDocument
Text or Template file
3. A ‘.odt’ or ‘.ott’ file and a subset of files contained within
them
Use the ‘styles.xml’ contained in the specified OpenDocument
Text or Template file. Additionally extract the specified
member files and embed those within the final ‘ODT’ document.
Use this option if the ‘styles.xml’ file references additional
files like header and footer images.
4. ‘nil’
Use the default ‘styles.xml’
• ‘org-odt-content-template-file’
Use this variable to specify the blank ‘content.xml’ that will be
used in the final output.
File: org, Node: Creating one-off styles, Next: Customizing tables in ODT export, Prev: Working with OpenDocument style files, Up: Advanced topics in ODT export
Creating one-off styles
.......................
The ODT export back-end can read embedded raw OpenDocument XML from the
Org file. Such direct formatting are useful for one-off instances.
1. Embedding ODT tags as part of regular text
Enclose OpenDocument syntax in ‘@@odt:...@@’ for inline markup.
For example, to highlight a region of text do the following:
@@odt:<text:span text:style-name="Highlight">This is highlighted
text</text:span>@@. But this is regular text.
*Hint:* To see the above example in action, edit the ‘styles.xml’
(*note Factory styles: x-orgodtstyles-xml.) and add a custom
‘Highlight’ style as shown below:
<style:style style:name="Highlight" style:family="text">
<style:text-properties fo:background-color="#ff0000"/>
</style:style>
2. Embedding a one-line OpenDocument XML
The ODT export back-end can read one-liner options with ‘#+ODT:’ in
the Org file. For example, to force a page break:
#+ODT: <text:p text:style-name="PageBreak"/>
*Hint:* To see the above example in action, edit your ‘styles.xml’
(*note Factory styles: x-orgodtstyles-xml.) and add a custom
‘PageBreak’ style as shown below.
<style:style style:name="PageBreak" style:family="paragraph"
style:parent-style-name="Text_20_body">
<style:paragraph-properties fo:break-before="page"/>
</style:style>
3. Embedding a block of OpenDocument XML
The ODT export back-end can also read ODT export blocks for
OpenDocument XML. Such blocks use the ‘#+BEGIN_EXPORT
odt’...‘#+END_EXPORT’ constructs.
For example, to create a one-off paragraph that uses bold text, do
the following:
#+BEGIN_EXPORT odt
<text:p text:style-name="Text_20_body_20_bold">
This paragraph is specially formatted and uses bold text.
</text:p>
#+END_EXPORT
File: org, Node: Customizing tables in ODT export, Next: Validating OpenDocument XML, Prev: Creating one-off styles, Up: Advanced topics in ODT export
Customizing tables in ODT export
................................
Override the default table format by specifying a custom table style
with the ‘#+ATTR_ODT’ line. For a discussion on default formatting of
tables *note Tables in ODT export::.
This feature closely mimics the way table templates are defined in
the OpenDocument-v1.2 specification.(1)
For quick preview of this feature, install the settings below and
export the table that follows:
(setq org-odt-table-styles
(append org-odt-table-styles
'(("TableWithHeaderRowAndColumn" "Custom"
((use-first-row-styles . t)
(use-first-column-styles . t)))
("TableWithFirstRowandLastRow" "Custom"
((use-first-row-styles . t)
(use-last-row-styles . t))))))
#+ATTR_ODT: :style TableWithHeaderRowAndColumn
| Name | Phone | Age |
| Peter | 1234 | 17 |
| Anna | 4321 | 25 |
The example above used ‘Custom’ template and installed two table
styles ‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’.
*Important:* The OpenDocument styles needed for producing the above
template were pre-defined. They are available in the section marked
‘Custom Table Template’ in ‘OrgOdtContentTemplate.xml’ (*note Factory
styles: x-orgodtcontenttemplate-xml. For adding new templates, define
new styles here.
To use this feature proceed as follows:
1. Create a table template(2)
A table template is set of ‘table-cell’ and ‘paragraph’ styles for
each of the following table cell categories:
− Body
− First column
− Last column
− First row
− Last row
− Even row
− Odd row
− Even column
− Odd Column
The names for the above styles must be chosen based on the name of
the table template using a well-defined convention.
The naming convention is better illustrated with an example. For a
table template with the name ‘Custom’, the needed style names are
listed in the following table.
Table cell type ‘table-cell’ style ‘paragraph’ style
-------------------------------------------------------------------------------
Body ‘CustomTableCell’ ‘CustomTableParagraph’
First column ‘CustomFirstColumnTableCell’‘CustomFirstColumnTableParagraph’
Last column ‘CustomLastColumnTableCell’ ‘CustomLastColumnTableParagraph’
First row ‘CustomFirstRowTableCell’ ‘CustomFirstRowTableParagraph’
Last row ‘CustomLastRowTableCell’ ‘CustomLastRowTableParagraph’
Even row ‘CustomEvenRowTableCell’ ‘CustomEvenRowTableParagraph’
Odd row ‘CustomOddRowTableCell’ ‘CustomOddRowTableParagraph’
Even column ‘CustomEvenColumnTableCell’ ‘CustomEvenColumnTableParagraph’
Odd column ‘CustomOddColumnTableCell’ ‘CustomOddColumnTableParagraph’
To create a table template with the name ‘Custom’, define the above
styles in the
‘<office:automatic-styles>’...‘</office:automatic-styles>’ element
of the content template file (*note Factory styles:
x-orgodtcontenttemplate-xml.).
2. Define a table style(3)
To define a table style, create an entry for the style in the
variable ‘org-odt-table-styles’ and specify the following:
− the name of the table template created in step (1)
− the set of cell styles in that template that are to be
activated
For example, the entry below defines two different table styles
‘TableWithHeaderRowAndColumn’ and ‘TableWithFirstRowandLastRow’
based on the same template ‘Custom’. The styles achieve their
intended effect by selectively activating the individual cell
styles in that template.
(setq org-odt-table-styles
(append org-odt-table-styles
'(("TableWithHeaderRowAndColumn" "Custom"
((use-first-row-styles . t)
(use-first-column-styles . t)))
("TableWithFirstRowandLastRow" "Custom"
((use-first-row-styles . t)
(use-last-row-styles . t))))))
3. Associate a table with the table style
To do this, specify the table style created in step (2) as part of
the ‘ATTR_ODT’ line as shown below.
#+ATTR_ODT: :style "TableWithHeaderRowAndColumn"
| Name | Phone | Age |
| Peter | 1234 | 17 |
| Anna | 4321 | 25 |
---------- Footnotes ----------
(1) OpenDocument-v1.2 Specification
(http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html)
(2) See the ‘<table:table-template>’ element of the OpenDocument-v1.2
specification
(3) See the attributes ‘table:template-name’,
‘table:use-first-row-styles’, ‘table:use-last-row-styles’,
‘table:use-first-column-styles’, ‘table:use-last-column-styles’,
‘table:use-banding-rows-styles’, and ‘table:use-banding-column-styles’
of the ‘<table:table>’ element in the OpenDocument-v1.2 specification
File: org, Node: Validating OpenDocument XML, Prev: Customizing tables in ODT export, Up: Advanced topics in ODT export
Validating OpenDocument XML
...........................
Sometimes ODT format files may not open due to ‘.odt’ file corruption.
To verify if the ‘.odt’ file is corrupt, validate it against the
OpenDocument RELAX NG Compact Syntax—RNC—schema. But first the ‘.odt’
files have to be decompressed using ‘zip’. Note that ‘.odt’ files are
‘zip’ archives: *note (emacs)File Archives::. The contents of ‘.odt’
files are in ‘.xml’. For general help with validation—and
schema-sensitive editing—of XML files: *note (nxml-mode)Introduction::.
Customize ‘org-odt-schema-dir’ to point to a directory with
OpenDocument ‘.rnc’ files and the needed schema-locating rules. The ODT
export back-end takes care of updating the ‘rng-schema-locating-files’.
File: org, Node: Org export, Next: Texinfo export, Prev: OpenDocument Text export, Up: Exporting
12.13 Org export
================
‘org’ export back-end creates a normalized version of the Org document
in current buffer. The exporter evaluates Babel code (*note Evaluating
code blocks::) and removes content specific to other back-ends.
Org export commands
‘C-c C-e O o (org-org-export-to-org)’
Export as an Org file with a ‘.org’ extension. For ‘myfile.org’,
Org exports to ‘myfile.org.org’, overwriting without warning.
‘C-c C-e O O (org-org-export-as-org)’
Export to a temporary buffer. Does not create a file.
‘C-c C-e O v’
Export to an Org file, then open it.
File: org, Node: Texinfo export, Next: iCalendar export, Prev: Org export, Up: Exporting
12.14 Texinfo export
====================
The ‘texinfo’ export back-end generates documents with Texinfo code that
can compile to Info format.
* Menu:
* Texinfo export commands:: Invoking commands.
* Texinfo specific export settings:: Setting the environment.
* Texinfo file header:: Generating the header.
* Texinfo title and copyright page:: Creating preamble pages.
* Info directory file:: Installing a manual in Info file hierarchy.
* Headings and sectioning structure:: Building document structure.
* Indices:: Creating indices.
* Quoting Texinfo code:: Incorporating literal Texinfo code.
* Plain lists in Texinfo export:: List attributes.
* Tables in Texinfo export:: Table attributes.
* Images in Texinfo export:: Image attributes.
* Special blocks in Texinfo export:: Special block attributes.
* A Texinfo example:: Processing Org to Texinfo.
File: org, Node: Texinfo export commands, Next: Texinfo specific export settings, Up: Texinfo export
12.14.1 Texinfo export commands
‘C-c C-e i t (org-texinfo-export-to-texinfo)’
Export as a Texinfo file with ‘.texi’ extension. For ‘myfile.org’,
Org exports to ‘myfile.texi’, overwriting without warning.
‘C-c C-e i i (org-texinfo-export-to-info)’
Export to Texinfo format first and then process it to make an Info
file. To generate other formats, such as DocBook, customize the
‘org-texinfo-info-process’ variable.
File: org, Node: Texinfo specific export settings, Next: Texinfo file header, Prev: Texinfo export commands, Up: Texinfo export
12.14.2 Texinfo specific export settings
The Texinfo export back-end has several additional keywords for
customizing Texinfo output. Setting these keywords works similar to the
general options (*note Export settings::).
‘SUBTITLE’
The document subtitle.
‘SUBAUTHOR’
The document subauthor.
‘TEXINFO_FILENAME’
The Texinfo filename.
‘TEXINFO_CLASS’
The default document class (‘org-texinfo-default-class’), which
must be a member of ‘org-texinfo-classes’.
‘TEXINFO_HEADER’
Arbitrary lines inserted at the end of the header.
‘TEXINFO_POST_HEADER’
Arbitrary lines inserted after the end of the header.
‘TEXINFO_DIR_CATEGORY’
The directory category of the document.
‘TEXINFO_DIR_TITLE’
The directory title of the document.
‘TEXINFO_DIR_DESC’
The directory description of the document.
‘TEXINFO_PRINTED_TITLE’
The printed title of the document.
File: org, Node: Texinfo file header, Next: Texinfo title and copyright page, Prev: Texinfo specific export settings, Up: Texinfo export
12.14.3 Texinfo file header
After creating the header for a Texinfo file, the Texinfo back-end
automatically generates a name and destination path for the Info file.
To override this default with a more sensible path and name, specify the
‘#+TEXINFO_FILENAME’ keyword.
Along with the output’s file name, the Texinfo header also contains
language details (*note Export settings::) and encoding system as set in
the ‘org-texinfo-coding-system’ variable. Insert ‘#+TEXINFO_HEADER’
keywords for each additional command in the header, for example:
@code{@synindex}.
Instead of repeatedly installing the same set of commands, define a
class in ‘org-texinfo-classes’ once, and then activate it in the
document by setting the ‘#+TEXINFO_CLASS’ keyword to that class.
File: org, Node: Texinfo title and copyright page, Next: Info directory file, Prev: Texinfo file header, Up: Texinfo export
12.14.4 Texinfo title and copyright page
The default template for hard copy output has a title page with
‘#+TITLE’ and ‘#+AUTHOR’ (*note Export settings::). To replace the
regular ‘#+TITLE’ with something different for the printed version, use
the ‘#+TEXINFO_PRINTED_TITLE’ and ‘#+SUBTITLE’ keywords. Both expect
raw Texinfo code for setting their values.
If one ‘#+AUTHOR’ is not sufficient, add multiple ‘#+SUBAUTHOR’
keywords. They have to be set in raw Texinfo code.
#+AUTHOR: Jane Smith
#+SUBAUTHOR: John Doe
#+TEXINFO_PRINTED_TITLE: This Long Title@inlinefmt{tex,@*} Is Broken in @TeX{}
Copying material is defined in a dedicated headline with a non-‘nil’
‘:COPYING:’ property. The back-end inserts the contents within a
‘@copying’ command at the beginning of the document. The heading itself
does not appear in the structure of the document.
Copyright information is printed on the back of the title page.
* Legalese
:PROPERTIES:
:COPYING: t
:END:
This is a short example of a complete Texinfo file, version 1.0.
Copyright \copy 2018 Free Software Foundation, Inc.
File: org, Node: Info directory file, Next: Headings and sectioning structure, Prev: Texinfo title and copyright page, Up: Texinfo export
12.14.5 Info directory file
The end result of the Texinfo export process is the creation of an Info
file. This Info file’s metadata has variables for category, title, and
description: ‘#+TEXINFO_DIR_CATEGORY’, ‘#+TEXINFO_DIR_TITLE’, and
‘#+TEXINFO_DIR_DESC’ that establish where in the Info hierarchy the file
fits.
Here is an example that writes to the Info directory file:
#+TEXINFO_DIR_CATEGORY: Emacs
#+TEXINFO_DIR_TITLE: Org Mode: (org)
#+TEXINFO_DIR_DESC: Outline-based notes management and organizer
File: org, Node: Headings and sectioning structure, Next: Indices, Prev: Info directory file, Up: Texinfo export
12.14.6 Headings and sectioning structure
The Texinfo export back-end uses a pre-defined scheme to convert Org
headlines to an equivalent Texinfo structuring commands. A scheme like
this maps top-level headlines to numbered chapters tagged as ‘@chapter’
and lower-level headlines to unnumbered chapters tagged as
‘@unnumbered’. To override such mappings to introduce ‘@part’ or other
Texinfo structuring commands, define a new class in
‘org-texinfo-classes’. Activate the new class with the
‘#+TEXINFO_CLASS’ keyword. When no new class is defined and activated,
the Texinfo export back-end defaults to the ‘org-texinfo-default-class’.
If an Org headline’s level has no associated Texinfo structuring
command, or is below a certain threshold (*note Export settings::), then
the Texinfo export back-end makes it into a list item.
The Texinfo export back-end makes any headline with a non-‘nil’
‘:APPENDIX:’ property into an appendix. This happens independent of the
Org headline level or the ‘#+TEXINFO_CLASS’.
The Texinfo export back-end creates a menu entry after the Org
headline for each regular sectioning structure. To override this with a
shorter menu entry, use the ‘:ALT_TITLE:’ property (*note Table of
contents::). Texinfo menu entries also have an option for a longer
‘:DESCRIPTION:’ property. Here’s an example that uses both to override
the default menu entry:
* Controlling Screen Display
:PROPERTIES:
:ALT_TITLE: Display
:DESCRIPTION: Controlling Screen Display
:END:
The text before the first headline belongs to the ‘Top’ node, i.e.,
the node in which a reader enters an Info manual. As such, it is
expected not to appear in printed output generated from the ‘.texi’
file. *note (texinfo)The Top Node::, for more information.
File: org, Node: Indices, Next: Quoting Texinfo code, Prev: Headings and sectioning structure, Up: Texinfo export
12.14.7 Indices
The Texinfo export back-end recognizes these indexing keywords if used
in the Org file: ‘#+CINDEX’, ‘#+FINDEX’, ‘#+KINDEX’, ‘#+PINDEX’,
‘#+TINDEX’, and ‘#+VINDEX’. Write their value as verbatim Texinfo code;
in particular, ‘{’, ‘}’ and ‘@’ characters need to be escaped with ‘@’
if they not belong to a Texinfo command.
#+CINDEX: Defining indexing entries
For the back-end to generate an index entry for a headline, set the
‘:INDEX:’ property to ‘cp’ or ‘vr’. These abbreviations come from
Texinfo that stand for concept index and variable index. The Texinfo
manual has abbreviations for all other kinds of indexes. The back-end
exports the headline as an unnumbered chapter or section command, and
then inserts the index after its contents.
* Concept Index
:PROPERTIES:
:INDEX: cp
:END:
File: org, Node: Quoting Texinfo code, Next: Plain lists in Texinfo export, Prev: Indices, Up: Texinfo export
12.14.8 Quoting Texinfo code
Use any of the following three methods to insert or escape raw Texinfo
code:
Richard @@texinfo:@sc{@@Stallman@@texinfo:}@@ commence' GNU.
#+TEXINFO: @need800
This paragraph is preceded by...
#+BEGIN_EXPORT texinfo
@auindex Johnson, Mark
@auindex Lakoff, George
#+END_EXPORT
File: org, Node: Plain lists in Texinfo export, Next: Tables in Texinfo export, Prev: Quoting Texinfo code, Up: Texinfo export
12.14.9 Plain lists in Texinfo export
The Texinfo export back-end by default converts description lists in the
Org file using the default command ‘@table’, which results in a table
with two columns. To change this behavior, specify ‘:table-type’ with
‘ftable’ or ‘vtable’ attributes. For more information, *note
(texinfo)Two-column Tables::.
The Texinfo export back-end by default also applies a text highlight
based on the defaults stored in ‘org-texinfo-table-default-markup’. To
override the default highlight command, specify another one with the
‘:indic’ attribute.
Org syntax is limited to one entry per list item. Nevertheless, the
Texinfo export back-end can split that entry according to any text
provided through the ‘:sep’ attribute. Each part then becomes a new
entry in the first column of the table.
The following example illustrates all the attributes above:
#+ATTR_TEXINFO: :table-type vtable :sep , :indic asis
- foo, bar :: This is the common text for variables foo and bar.
becomes
@vtable @asis
@item foo
@itemx bar
This is the common text for variables foo and bar.
@end table
File: org, Node: Tables in Texinfo export, Next: Images in Texinfo export, Prev: Plain lists in Texinfo export, Up: Texinfo export
12.14.10 Tables in Texinfo export
When exporting tables, the Texinfo export back-end uses the widest cell
width in each column. To override this and instead specify as fractions
of line length, use the ‘:columns’ attribute. See example below.
#+ATTR_TEXINFO: :columns .5 .5
| a cell | another cell |
File: org, Node: Images in Texinfo export, Next: Special blocks in Texinfo export, Prev: Tables in Texinfo export, Up: Texinfo export
12.14.11 Images in Texinfo export
Insert a file link to the image in the Org file, and the Texinfo export
back-end inserts the image. These links must have the usual supported
image extensions and no descriptions. To scale the image, use ‘:width’
and ‘:height’ attributes. For alternate text, use ‘:alt’ and specify
the text using Texinfo code, as shown in the example:
#+ATTR_TEXINFO: :width 1in :alt Alternate @i{text}
[[ridt.pdf]]
File: org, Node: Special blocks in Texinfo export, Next: A Texinfo example, Prev: Images in Texinfo export, Up: Texinfo export
12.14.12 Special blocks
The Texinfo export back-end converts special blocks to commands with the
same name. It also adds any ‘:options’ attributes to the end of the
command, as shown in this example:
#+ATTR_TEXINFO: :options org-org-export-to-org ...
#+begin_defun
A somewhat obsessive function.
#+end_defun
becomes
@defun org-org-export-to-org ...
A somewhat obsessive function.
@end defun
File: org, Node: A Texinfo example, Prev: Special blocks in Texinfo export, Up: Texinfo export
12.14.13 A Texinfo example
Here is a more detailed example Org file. See *note (texinfo)GNU Sample
Texts:: for an equivalent example using Texinfo code.
#+TITLE: GNU Sample {{{version}}}
#+SUBTITLE: for version {{{version}}}, {{{updated}}}
#+AUTHOR: A.U. Thor
#+EMAIL: bug-sample@gnu.org
#+OPTIONS: ':t toc:t author:t email:t
#+LANGUAGE: en
#+MACRO: version 2.0
#+MACRO: updated last updated 4 March 2014
#+TEXINFO_FILENAME: sample.info
#+TEXINFO_HEADER: @syncodeindex pg cp
#+TEXINFO_DIR_CATEGORY: Texinfo documentation system
#+TEXINFO_DIR_TITLE: sample: (sample)
#+TEXINFO_DIR_DESC: Invoking sample
#+TEXINFO_PRINTED_TITLE: GNU Sample
This manual is for GNU Sample (version {{{version}}},
{{{updated}}}).
* Copying
:PROPERTIES:
:COPYING: t
:END:
This manual is for GNU Sample (version {{{version}}},
{{{updated}}}), which is an example in the Texinfo documentation.
Copyright \copy 2018 Free Software Foundation, Inc.
#+BEGIN_QUOTE
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with no Front-Cover Texts,
and with no Back-Cover Texts. A copy of the license is included in
the section entitled "GNU Free Documentation License".
#+END_QUOTE
* Invoking sample
#+PINDEX: sample
#+CINDEX: invoking @command{sample}
This is a sample manual. There is no sample program to invoke, but
if there were, you could see its basic usage and command line
options here.
* GNU Free Documentation License
:PROPERTIES:
:APPENDIX: t
:END:
#+TEXINFO: @include fdl.texi
* Index
:PROPERTIES:
:INDEX: cp
:END:
File: org, Node: iCalendar export, Next: Other built-in back-ends, Prev: Texinfo export, Up: Exporting
12.15 iCalendar export
======================
A large part of Org mode’s inter-operability success is its ability to
easily export to or import from external applications. The iCalendar
export back-end takes calendar data from Org files and exports to the
standard iCalendar format.
The iCalendar export back-end can also incorporate TODO entries based
on the configuration of the ‘org-icalendar-include-todo’ variable. The
back-end exports plain timestamps as VEVENT, TODO items as VTODO, and
also create events from deadlines that are in non-TODO items. The
back-end uses the deadlines and scheduling dates in Org TODO items for
setting the start and due dates for the iCalendar TODO entry. Consult
the ‘org-icalendar-use-deadline’ and ‘org-icalendar-use-scheduled’
variables for more details.
For tags on the headline, the iCalendar export back-end makes them
into iCalendar categories. To tweak the inheritance of tags and TODO
states, configure the variable ‘org-icalendar-categories’. To assign
clock alarms based on time, configure the ‘org-icalendar-alarm-time’
variable.
The iCalendar format standard requires globally unique
identifier—UID—for each entry. The iCalendar export back-end creates
UIDs during export. To save a copy of the UID in the Org file set the
variable ‘org-icalendar-store-UID’. The back-end looks for the ‘:ID:’
property of the entry for re-using the same UID for subsequent exports.
Since a single Org entry can result in multiple iCalendar entries—as
timestamp, deadline, scheduled item, or TODO item—Org adds prefixes to
the UID, depending on which part of the Org entry triggered the creation
of the iCalendar entry. Prefixing ensures UIDs remains unique, yet
enable synchronization programs trace the connections.
‘C-c C-e c f (org-icalendar-export-to-ics)’
Create iCalendar entries from the current Org buffer and store them
in the same directory, using a file extension ‘.ics’.
‘C-c C-e c a (org-icalendar-export-agenda-files)’
Create iCalendar entries from Org files in ‘org-agenda-files’ and
store in a separate iCalendar file for each Org file.
‘C-c C-e c c (org-icalendar-combine-agenda-files)’
Create a combined iCalendar file from Org files in
‘org-agenda-files’ and write it to
‘org-icalendar-combined-agenda-file’ file name.
The iCalendar export back-end includes ‘SUMMARY’, ‘DESCRIPTION’,
‘LOCATION’ and ‘TIMEZONE’ properties from the Org entries when
exporting. To force the back-end to inherit the ‘LOCATION’ and
‘TIMEZONE’ properties, configure the ‘org-use-property-inheritance’
variable.
When Org entries do not have ‘SUMMARY’, ‘DESCRIPTION’ and ‘LOCATION’
properties, the iCalendar export back-end derives the summary from the
headline, and derives the description from the body of the Org item.
The ‘org-icalendar-include-body’ variable limits the maximum number of
characters of the content are turned into its description.
The ‘TIMEZONE’ property can be used to specify a per-entry time zone,
and will be applied to any entry with timestamp information. Time zones
should be specified as per the IANA time zone database format, e.g.
“Asia/Almaty”. Alternately, the property value can be “UTC”, to force
UTC time for this entry only.
Exporting to iCalendar format depends in large part on the
capabilities of the destination application. Some are more lenient than
others. Consult the Org mode FAQ for advice on specific applications.
File: org, Node: Other built-in back-ends, Next: Advanced configuration, Prev: iCalendar export, Up: Exporting
12.16 Other built-in back-ends
==============================
Other export back-ends included with Org are:
• ‘ox-man.el’: export to a man page.
To activate such back-ends, either customize ‘org-export-backends’ or
load directly with ‘(require 'ox-man)’. On successful load, the
back-end adds new keys in the export dispatcher (*note The export
dispatcher::).
Follow the comment section of such files, for example, ‘ox-man.el’,
for usage and configuration details.
File: org, Node: Advanced configuration, Next: Export in foreign buffers, Prev: Other built-in back-ends, Up: Exporting
12.17 Advanced configuration
============================
Hooks
The export process executes two hooks before the actual exporting
begins. The first hook, ‘org-export-before-processing-hook’, runs
before any expansions of macros, Babel code, and include keywords in the
buffer. The second hook, ‘org-export-before-parsing-hook’, runs before
the buffer is parsed. Both hooks are specified as functions, see
example below. Their main use is for heavy duty structural
modifications of the Org content. For example, removing every headline
in the buffer during export:
(defun my-headline-removal (backend)
"Remove all headlines in the current buffer.
BACKEND is the export back-end being used, as a symbol."
(org-map-entries
(lambda () (delete-region (point) (progn (forward-line) (point))))))
(add-hook 'org-export-before-parsing-hook 'my-headline-removal)
Note that the hook function must have a mandatory argument that is a
symbol for the back-end.
Filters
The Org export process relies on filters to process specific parts of
conversion process. Filters are just lists of functions to be applied
to certain parts for a given back-end. The output from the first
function in the filter is passed on to the next function in the filter.
The final output is the output from the final function in the filter.
The Org export process has many filter sets applicable to different
types of objects, plain text, parse trees, export options, and final
output formats. The filters are named after the element type or object
type: ‘org-export-filter-TYPE-functions’, where ‘TYPE’ is the type
targeted by the filter. Valid types are:
body bold babel-call
center-block clock code
diary-sexp drawer dynamic-block
entity example-block export-block
export-snippet final-output fixed-width
footnote-definition footnote-reference headline
horizontal-rule inline-babel-call inline-src-block
inlinetask italic item
keyword latex-environment latex-fragment
line-break link node-property
options paragraph parse-tree
plain-list plain-text planning
property-drawer quote-block radio-target
section special-block src-block
statistics-cookie strike-through subscript
superscript table table-cell
table-row target timestamp
underline verbatim verse-block
Here is an example filter that replaces non-breaking spaces ‘~’ in
the Org buffer with ‘_’ for the LaTeX back-end.
(defun my-latex-filter-nobreaks (text backend info)
"Ensure \"_\" are properly handled in LaTeX export."
(when (org-export-derived-backend-p backend 'latex)
(replace-regexp-in-string "_" "~" text)))
(add-to-list 'org-export-filter-plain-text-functions
'my-latex-filter-nobreaks)
A filter requires three arguments: the code to be transformed, the
name of the back-end, and some optional information about the export
process. The third argument can be safely ignored. Note the use of
‘org-export-derived-backend-p’ predicate that tests for ‘latex’ back-end
or any other back-end, such as ‘beamer’, derived from ‘latex’.
Defining filters for individual files
The Org export can filter not just for back-ends, but also for specific
files through the ‘#+BIND’ keyword. Here is an example with two
filters; one removes brackets from time stamps, and the other removes
strike-through text. The filter functions are defined in a ‘src’ code
block in the same Org file, which is a handy location for debugging.
#+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
#+BIND: org-export-filter-strike-through-functions (tmp-f-strike-through)
#+begin_src emacs-lisp :exports results :results none
(defun tmp-f-timestamp (s backend info)
(replace-regexp-in-string "&[lg]t;\\|[][]" "" s))
(defun tmp-f-strike-through (s backend info) "")
#+end_src
Extending an existing back-end
Some parts of the conversion process can be extended for certain
elements so as to introduce a new or revised translation. That is how
the HTML export back-end was extended to handle Markdown format. The
extensions work seamlessly so any aspect of filtering not done by the
extended back-end is handled by the original back-end. Of all the
export customization in Org, extending is very powerful as it operates
at the parser level.
For this example, make the ‘ascii’ back-end display the language used
in a source code block. Also make it display only when some attribute
is non-‘nil’, like the following:
#+ATTR_ASCII: :language t
Then extend ‘ascii’ back-end with a custom ‘my-ascii’ back-end.
(defun my-ascii-src-block (src-block contents info)
"Transcode a SRC-BLOCK element from Org to ASCII.
CONTENTS is nil. INFO is a plist used as a communication
channel."
(if (not (org-export-read-attribute :attr_ascii src-block :language))
(org-export-with-backend 'ascii src-block contents info)
(concat
(format ",--[ %s ]--\n%s`----"
(org-element-property :language src-block)
(replace-regexp-in-string
"^" "| "
(org-element-normalize-string
(org-export-format-code-default src-block info)))))))
(org-export-define-derived-backend 'my-ascii 'ascii
:translate-alist '((src-block . my-ascii-src-block)))
The ‘my-ascii-src-block’ function looks at the attribute above the
current element. If not true, hands over to ‘ascii’ back-end. If true,
which it is in this example, it creates a box around the code and leaves
room for the inserting a string for language. The last form creates the
new back-end that springs to action only when translating ‘src-block’
type elements.
To use the newly defined back-end, call the following from an Org
buffer:
(org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*")
Further steps to consider would be an interactive function,
self-installing an item in the export dispatcher menu, and other
user-friendly improvements.
File: org, Node: Export in foreign buffers, Prev: Advanced configuration, Up: Exporting
12.18 Export in foreign buffers
===============================
The export back-ends in Org often include commands to convert selected
regions. A convenient feature of this in-place conversion is that the
exported output replaces the original source. Here are such functions:
‘org-html-convert-region-to-html’
Convert the selected region into HTML.
‘org-latex-convert-region-to-latex’
Convert the selected region into LaTeX.
‘org-texinfo-convert-region-to-texinfo’
Convert the selected region into ‘Texinfo’.
‘org-md-convert-region-to-md’
Convert the selected region into ‘MarkDown’.
In-place conversions are particularly handy for quick conversion of
tables and lists in foreign buffers. For example, turn on the minor
mode ‘M-x orgstruct-mode’ in an HTML buffer, then use the convenient Org
keyboard commands to create a list, select it, and covert it to HTML
with ‘M-x org-html-convert-region-to-html <RET>’.
File: org, Node: Publishing, Next: Working with source code, Prev: Exporting, Up: Top
13 Publishing
*************
Org includes a publishing management system that allows you to configure
automatic HTML conversion of _projects_ composed of interlinked org
files. You can also configure Org to automatically upload your exported
HTML pages and related attachments, such as images and source code
files, to a web server.
You can also use Org to convert files into PDF, or even combine HTML
and PDF conversion so that files are available in both formats on the
server.
Publishing has been contributed to Org by David O’Toole.
* Menu:
* Configuration:: Defining projects
* Uploading files:: How to get files up on the server
* Sample configuration:: Example projects
* Triggering publication:: Publication commands
File: org, Node: Configuration, Next: Uploading files, Up: Publishing
13.1 Configuration
==================
Publishing needs significant configuration to specify files, destination
and many other properties of a project.
* Menu:
* Project alist:: The central configuration variable
* Sources and destinations:: From here to there
* Selecting files:: What files are part of the project?
* Publishing action:: Setting the function doing the publishing
* Publishing options:: Tweaking HTML/LaTeX export
* Publishing links:: Which links keep working after publishing?
* Sitemap:: Generating a list of all pages
* Generating an index:: An index that reaches across pages
File: org, Node: Project alist, Next: Sources and destinations, Up: Configuration
13.1.1 The variable ‘org-publish-project-alist’
Publishing is configured almost entirely through setting the value of
one variable, called ‘org-publish-project-alist’. Each element of the
list configures one project, and may be in one of the two following
forms:
("project-name" :property value :property value ...)
i.e., a well-formed property list with alternating keys and values
or
("project-name" :components ("project-name" "project-name" ...))
In both cases, projects are configured by specifying property values.
A project defines the set of files that will be published, as well as
the publishing configuration to use when publishing those files. When a
project takes the second form listed above, the individual members of
the ‘:components’ property are taken to be sub-projects, which group
together files requiring different publishing options. When you publish
such a “meta-project”, all the components will also be published, in the
sequence given.
File: org, Node: Sources and destinations, Next: Selecting files, Prev: Project alist, Up: Configuration
13.1.2 Sources and destinations for files
Most properties are optional, but some should always be set. In
particular, Org needs to know where to look for source files, and where
to put published files.
‘:base-directory’ Directory containing publishing source files
‘:publishing-directory’Directory where output files will be published.
You can directly publish to a web server using a
file name syntax appropriate for the Emacs
‘tramp’ package. Or you can publish to a local
directory and use external tools to upload your
website (*note Uploading files::).
‘:preparation-function’Function or list of functions to be called
before starting the publishing process, for
example, to run ‘make’ for updating files to be
published. Each preparation function is called
with a single argument, the project property
list.
‘:completion-function’ Function or list of functions called after
finishing the publishing process, for example,
to change permissions of the resulting files.
Each completion function is called with a single
argument, the project property list.
File: org, Node: Selecting files, Next: Publishing action, Prev: Sources and destinations, Up: Configuration
13.1.3 Selecting files
By default, all files with extension ‘.org’ in the base directory are
considered part of the project. This can be modified by setting the
properties
‘:base-extension’ Extension (without the dot!) of source files. This
actually is a regular expression. Set this to the
symbol ‘any’ if you want to get all files in
‘:base-directory’, even without extension.
‘:exclude’ Regular expression to match file names that should
not be published, even though they have been
selected on the basis of their extension.
‘:include’ List of files to be included regardless of
‘:base-extension’ and ‘:exclude’.
‘:recursive’ non-‘nil’ means, check base-directory recursively
for files to publish.
File: org, Node: Publishing action, Next: Publishing options, Prev: Selecting files, Up: Configuration
13.1.4 Publishing action
Publishing means that a file is copied to the destination directory and
possibly transformed in the process. The default transformation is to
export Org files as HTML files, and this is done by the function
‘org-html-publish-to-html’, which calls the HTML exporter (*note HTML
export::). But you also can publish your content as PDF files using
‘org-latex-publish-to-pdf’ or as ‘ascii’, ‘Texinfo’, etc., using the
corresponding functions.
If you want to publish the Org file as an ‘.org’ file but with the
archived, commented and tag-excluded trees removed, use the function
‘org-org-publish-to-org’. This will produce ‘file.org’ and put it in
the publishing directory. If you want a htmlized version of this file,
set the parameter ‘:htmlized-source’ to ‘t’, it will produce
‘file.org.html’ in the publishing directory(1).
Other files like images only need to be copied to the publishing
destination. For this you can use ‘org-publish-attachment’. For
non-org files, you always need to specify the publishing function:
‘:publishing-function’ Function executing the publication of a file.
This may also be a list of functions, which will
all be called in turn.
‘:htmlized-source’ non-‘nil’ means, publish htmlized source.
The function must accept three arguments: a property list containing
at least a ‘:publishing-directory’ property, the name of the file to be
published and the path to the publishing directory of the output file.
It should take the specified file, make the necessary transformation (if
any) and place the result into the destination folder.
---------- Footnotes ----------
(1) If the publishing directory is the same than the source
directory, ‘file.org’ will be exported as ‘file.org.org’, so probably
don’t want to do this.
File: org, Node: Publishing options, Next: Publishing links, Prev: Publishing action, Up: Configuration
13.1.5 Options for the exporters
The property list can be used to set export options during the
publishing process. In most cases, these properties correspond to user
variables in Org. While some properties are available for all export
back-ends, most of them are back-end specific. The following sections
list properties along with the variable they belong to. See the
documentation string of these options for details.
When a property is given a value in ‘org-publish-project-alist’, its
setting overrides the value of the corresponding user variable (if any)
during publishing. Options set within a file (*note Export settings::),
however, override everything.
Generic properties
..................
‘:archived-trees’ ‘org-export-with-archived-trees’
‘:exclude-tags’ ‘org-export-exclude-tags’
‘:headline-levels’ ‘org-export-headline-levels’
‘:language’ ‘org-export-default-language’
‘:preserve-breaks’ ‘org-export-preserve-breaks’
‘:section-numbers’ ‘org-export-with-section-numbers’
‘:select-tags’ ‘org-export-select-tags’
‘:with-author’ ‘org-export-with-author’
‘:with-broken-links’ ‘org-export-with-broken-links’
‘:with-clocks’ ‘org-export-with-clocks’
‘:with-creator’ ‘org-export-with-creator’
‘:with-date’ ‘org-export-with-date’
‘:with-drawers’ ‘org-export-with-drawers’
‘:with-email’ ‘org-export-with-email’
‘:with-emphasize’ ‘org-export-with-emphasize’
‘:with-fixed-width’ ‘org-export-with-fixed-width’
‘:with-footnotes’ ‘org-export-with-footnotes’
‘:with-latex’ ‘org-export-with-latex’
‘:with-planning’ ‘org-export-with-planning’
‘:with-priority’ ‘org-export-with-priority’
‘:with-properties’ ‘org-export-with-properties’
‘:with-special-strings’ ‘org-export-with-special-strings’
‘:with-sub-superscript’ ‘org-export-with-sub-superscripts’
‘:with-tables’ ‘org-export-with-tables’
‘:with-tags’ ‘org-export-with-tags’
‘:with-tasks’ ‘org-export-with-tasks’
‘:with-timestamps’ ‘org-export-with-timestamps’
‘:with-title’ ‘org-export-with-title’
‘:with-toc’ ‘org-export-with-toc’
‘:with-todo-keywords’ ‘org-export-with-todo-keywords’
ASCII specific properties
.........................
‘:ascii-bullets’ ‘org-ascii-bullets’
‘:ascii-caption-above’ ‘org-ascii-caption-above’
‘:ascii-charset’ ‘org-ascii-charset’
‘:ascii-global-margin’ ‘org-ascii-global-margin’
‘:ascii-format-drawer-function’ ‘org-ascii-format-drawer-function’
‘:ascii-format-inlinetask-function’ ‘org-ascii-format-inlinetask-function’
‘:ascii-headline-spacing’ ‘org-ascii-headline-spacing’
‘:ascii-indented-line-width’ ‘org-ascii-indented-line-width’
‘:ascii-inlinetask-width’ ‘org-ascii-inlinetask-width’
‘:ascii-inner-margin’ ‘org-ascii-inner-margin’
‘:ascii-links-to-notes’ ‘org-ascii-links-to-notes’
‘:ascii-list-margin’ ‘org-ascii-list-margin’
‘:ascii-paragraph-spacing’ ‘org-ascii-paragraph-spacing’
‘:ascii-quote-margin’ ‘org-ascii-quote-margin’
‘:ascii-table-keep-all-vertical-lines’ ‘org-ascii-table-keep-all-vertical-lines’
‘:ascii-table-use-ascii-art’ ‘org-ascii-table-use-ascii-art’
‘:ascii-table-widen-columns’ ‘org-ascii-table-widen-columns’
‘:ascii-text-width’ ‘org-ascii-text-width’
‘:ascii-underline’ ‘org-ascii-underline’
‘:ascii-verbatim-format’ ‘org-ascii-verbatim-format’
Beamer specific properties
..........................
‘:beamer-theme’ ‘org-beamer-theme’
‘:beamer-column-view-format’ ‘org-beamer-column-view-format’
‘:beamer-environments-extra’ ‘org-beamer-environments-extra’
‘:beamer-frame-default-options’ ‘org-beamer-frame-default-options’
‘:beamer-outline-frame-options’ ‘org-beamer-outline-frame-options’
‘:beamer-outline-frame-title’ ‘org-beamer-outline-frame-title’
‘:beamer-subtitle-format’ ‘org-beamer-subtitle-format’
HTML specific properties
........................
‘:html-allow-name-attribute-in-anchors’ ‘org-html-allow-name-attribute-in-anchors’
‘:html-checkbox-type’ ‘org-html-checkbox-type’
‘:html-container’ ‘org-html-container-element’
‘:html-divs’ ‘org-html-divs’
‘:html-doctype’ ‘org-html-doctype’
‘:html-extension’ ‘org-html-extension’
‘:html-footnote-format’ ‘org-html-footnote-format’
‘:html-footnote-separator’ ‘org-html-footnote-separator’
‘:html-footnotes-section’ ‘org-html-footnotes-section’
‘:html-format-drawer-function’ ‘org-html-format-drawer-function’
‘:html-format-headline-function’ ‘org-html-format-headline-function’
‘:html-format-inlinetask-function’ ‘org-html-format-inlinetask-function’
‘:html-head-extra’ ‘org-html-head-extra’
‘:html-head-include-default-style’ ‘org-html-head-include-default-style’
‘:html-head-include-scripts’ ‘org-html-head-include-scripts’
‘:html-head’ ‘org-html-head’
‘:html-home/up-format’ ‘org-html-home/up-format’
‘:html-html5-fancy’ ‘org-html-html5-fancy’
‘:html-indent’ ‘org-html-indent’
‘:html-infojs-options’ ‘org-html-infojs-options’
‘:html-infojs-template’ ‘org-html-infojs-template’
‘:html-inline-image-rules’ ‘org-html-inline-image-rules’
‘:html-inline-images’ ‘org-html-inline-images’
‘:html-link-home’ ‘org-html-link-home’
‘:html-link-org-files-as-html’ ‘org-html-link-org-files-as-html’
‘:html-link-up’ ‘org-html-link-up’
‘:html-link-use-abs-url’ ‘org-html-link-use-abs-url’
‘:html-mathjax-options’ ‘org-html-mathjax-options’
‘:html-mathjax-template’ ‘org-html-mathjax-template’
‘:html-metadata-timestamp-format’ ‘org-html-metadata-timestamp-format’
‘:html-postamble-format’ ‘org-html-postamble-format’
‘:html-postamble’ ‘org-html-postamble’
‘:html-preamble-format’ ‘org-html-preamble-format’
‘:html-preamble’ ‘org-html-preamble’
‘:html-table-align-individual-fields’ ‘org-html-table-align-individual-fields’
‘:html-table-attributes’ ‘org-html-table-default-attributes’
‘:html-table-caption-above’ ‘org-html-table-caption-above’
‘:html-table-data-tags’ ‘org-html-table-data-tags’
‘:html-table-header-tags’ ‘org-html-table-header-tags’
‘:html-table-row-tags’ ‘org-html-table-row-tags’
‘:html-table-use-header-tags-for-first-column’ ‘org-html-table-use-header-tags-for-first-column’
‘:html-tag-class-prefix’ ‘org-html-tag-class-prefix’
‘:html-text-markup-alist’ ‘org-html-text-markup-alist’
‘:html-todo-kwd-class-prefix’ ‘org-html-todo-kwd-class-prefix’
‘:html-toplevel-hlevel’ ‘org-html-toplevel-hlevel’
‘:html-use-infojs’ ‘org-html-use-infojs’
‘:html-validation-link’ ‘org-html-validation-link’
‘:html-viewport’ ‘org-html-viewport’
‘:html-xml-declaration’ ‘org-html-xml-declaration’
LaTeX specific properties
.........................
‘:latex-active-timestamp-format’ ‘org-latex-active-timestamp-format’
‘:latex-caption-above’ ‘org-latex-caption-above’
‘:latex-classes’ ‘org-latex-classes’
‘:latex-class’ ‘org-latex-default-class’
‘:latex-compiler’ ‘org-latex-compiler’
‘:latex-default-figure-position’ ‘org-latex-default-figure-position’
‘:latex-default-table-environment’ ‘org-latex-default-table-environment’
‘:latex-default-table-mode’ ‘org-latex-default-table-mode’
‘:latex-diary-timestamp-format’ ‘org-latex-diary-timestamp-format’
‘:latex-footnote-defined-format’ ‘org-latex-footnote-defined-format’
‘:latex-footnote-separator’ ‘org-latex-footnote-separator’
‘:latex-format-drawer-function’ ‘org-latex-format-drawer-function’
‘:latex-format-headline-function’ ‘org-latex-format-headline-function’
‘:latex-format-inlinetask-function’ ‘org-latex-format-inlinetask-function’
‘:latex-hyperref-template’ ‘org-latex-hyperref-template’
‘:latex-image-default-height’ ‘org-latex-image-default-height’
‘:latex-image-default-option’ ‘org-latex-image-default-option’
‘:latex-image-default-width’ ‘org-latex-image-default-width’
‘:latex-images-centered’ ‘org-latex-images-centered’
‘:latex-inactive-timestamp-format’ ‘org-latex-inactive-timestamp-format’
‘:latex-inline-image-rules’ ‘org-latex-inline-image-rules’
‘:latex-link-with-unknown-path-format’ ‘org-latex-link-with-unknown-path-format’
‘:latex-listings-langs’ ‘org-latex-listings-langs’
‘:latex-listings-options’ ‘org-latex-listings-options’
‘:latex-listings’ ‘org-latex-listings’
‘:latex-minted-langs’ ‘org-latex-minted-langs’
‘:latex-minted-options’ ‘org-latex-minted-options’
‘:latex-prefer-user-labels’ ‘org-latex-prefer-user-labels’
‘:latex-subtitle-format’ ‘org-latex-subtitle-format’
‘:latex-subtitle-separate’ ‘org-latex-subtitle-separate’
‘:latex-table-scientific-notation’ ‘org-latex-table-scientific-notation’
‘:latex-tables-booktabs’ ‘org-latex-tables-booktabs’
‘:latex-tables-centered’ ‘org-latex-tables-centered’
‘:latex-text-markup-alist’ ‘org-latex-text-markup-alist’
‘:latex-title-command’ ‘org-latex-title-command’
‘:latex-toc-command’ ‘org-latex-toc-command’
Markdown specific properties
............................
‘:md-footnote-format’ ‘org-md-footnote-format’
‘:md-footnotes-section’ ‘org-md-footnotes-section’
‘:md-headline-style’ ‘org-md-headline-style’
ODT specific properties
.......................
‘:odt-content-template-file’ ‘org-odt-content-template-file’
‘:odt-display-outline-level’ ‘org-odt-display-outline-level’
‘:odt-fontify-srcblocks’ ‘org-odt-fontify-srcblocks’
‘:odt-format-drawer-function’ ‘org-odt-format-drawer-function’
‘:odt-format-headline-function’ ‘org-odt-format-headline-function’
‘:odt-format-inlinetask-function’ ‘org-odt-format-inlinetask-function’
‘:odt-inline-formula-rules’ ‘org-odt-inline-formula-rules’
‘:odt-inline-image-rules’ ‘org-odt-inline-image-rules’
‘:odt-pixels-per-inch’ ‘org-odt-pixels-per-inch’
‘:odt-styles-file’ ‘org-odt-styles-file’
‘:odt-table-styles’ ‘org-odt-table-styles’
‘:odt-use-date-fields’ ‘org-odt-use-date-fields’
Texinfo specific properties
...........................
‘:texinfo-active-timestamp-format’ ‘org-texinfo-active-timestamp-format’
‘:texinfo-classes’ ‘org-texinfo-classes’
‘:texinfo-class’ ‘org-texinfo-default-class’
‘:texinfo-table-default-markup’ ‘org-texinfo-table-default-markup’
‘:texinfo-diary-timestamp-format’ ‘org-texinfo-diary-timestamp-format’
‘:texinfo-filename’ ‘org-texinfo-filename’
‘:texinfo-format-drawer-function’ ‘org-texinfo-format-drawer-function’
‘:texinfo-format-headline-function’ ‘org-texinfo-format-headline-function’
‘:texinfo-format-inlinetask-function’ ‘org-texinfo-format-inlinetask-function’
‘:texinfo-inactive-timestamp-format’ ‘org-texinfo-inactive-timestamp-format’
‘:texinfo-link-with-unknown-path-format’ ‘org-texinfo-link-with-unknown-path-format’
‘:texinfo-node-description-column’ ‘org-texinfo-node-description-column’
‘:texinfo-table-scientific-notation’ ‘org-texinfo-table-scientific-notation’
‘:texinfo-tables-verbatim’ ‘org-texinfo-tables-verbatim’
‘:texinfo-text-markup-alist’ ‘org-texinfo-text-markup-alist’
File: org, Node: Publishing links, Next: Sitemap, Prev: Publishing options, Up: Configuration
13.1.6 Links between published files
To create a link from one Org file to another, you would use something
like ‘[[file:foo.org][The foo]]’ or simply ‘file:foo.org’ (*note
External links::). When published, this link becomes a link to
‘foo.html’. You can thus interlink the pages of your “org web” project
and the links will work as expected when you publish them to HTML. If
you also publish the Org source file and want to link to it, use an
‘http:’ link instead of a ‘file:’ link, because ‘file:’ links are
converted to link to the corresponding ‘html’ file.
You may also link to related files, such as images. Provided you are
careful with relative file names, and provided you have also configured
Org to upload the related files, these links will work too. See *note
Complex example::, for an example of this usage.
Eventually, links between published documents can contain some search
options (*note Search options::), which will be resolved to the
appropriate location in the linked file. For example, once published to
HTML, the following links all point to a dedicated anchor in ‘foo.html’.
[[file:foo.org::*heading]]
[[file:foo.org::#custom-id]]
[[file:foo.org::target]]
File: org, Node: Sitemap, Next: Generating an index, Prev: Publishing links, Up: Configuration
13.1.7 Generating a sitemap
The following properties may be used to control publishing of a map of
files for a given project.
‘:auto-sitemap’ When non-‘nil’, publish a sitemap during
‘org-publish-current-project’ or
‘org-publish-all’.
‘:sitemap-filename’ Filename for output of sitemap. Defaults to
‘sitemap.org’ (which becomes ‘sitemap.html’).
‘:sitemap-title’ Title of sitemap page. Defaults to name of
file.
‘:sitemap-format-entry’ With this option one can tell how a site-map
entry is formatted in the site-map. It is a
function called with three arguments: the
file or directory name relative to base
directory of the project, the site-map style
and the current project. It is expected to
return a string. Default value turns file
names into links and use document titles as
descriptions. For specific formatting needs,
one can use ‘org-publish-find-date’,
‘org-publish-find-title’ and
‘org-publish-find-property’, to retrieve
additional information about published
documents.
‘:sitemap-function’ Plug-in function to use for generation of the
sitemap. It is called with two arguments:
the title of the site-map and a
representation of the files and directories
involved in the project as a radio list
(*note Radio lists::). The latter can
further be transformed using
‘org-list-to-generic’, ‘org-list-to-subtree’
and alike. Default value generates a plain
list of links to all files in the project.
‘:sitemap-sort-folders’ Where folders should appear in the sitemap.
Set this to ‘first’ (default) or ‘last’ to
display folders first or last, respectively.
When set to ‘ignore’, folders are ignored
altogether. Any other value will mix files
and folders. This variable has no effect
when site-map style is ‘tree’.
‘:sitemap-sort-files’ How the files are sorted in the site map.
Set this to ‘alphabetically’ (default),
‘chronologically’ or ‘anti-chronologically’.
‘chronologically’ sorts the files with older
date first while ‘anti-chronologically’ sorts
the files with newer date first.
‘alphabetically’ sorts the files
alphabetically. The date of a file is
retrieved with ‘org-publish-find-date’.
‘:sitemap-ignore-case’ Should sorting be case-sensitive? Default
‘nil’.
‘:sitemap-date-format’ Format string for the ‘format-time-string’
function that tells how a sitemap entry’s
date is to be formatted. This property
bypasses ‘org-publish-sitemap-date-format’
which defaults to ‘%Y-%m-%d’.
File: org, Node: Generating an index, Prev: Sitemap, Up: Configuration
13.1.8 Generating an index
Org mode can generate an index across the files of a publishing project.
‘:makeindex’ When non-‘nil’, generate in index in the file
‘theindex.org’ and publish it as ‘theindex.html’.
The file will be created when first publishing a project with the
‘:makeindex’ set. The file only contains a statement ‘#+INCLUDE:
"theindex.inc"’. You can then build around this include statement by
adding a title, style information, etc.
Index entries are specified with ‘#+INDEX’ keyword. An entry that
contains an exclamation mark will create a sub item.
* Curriculum Vitae
#+INDEX: CV
#+INDEX: Application!CV
File: org, Node: Uploading files, Next: Sample configuration, Prev: Configuration, Up: Publishing
13.2 Uploading files
====================
For those people already utilizing third party sync tools such as
‘rsync’ or ‘unison’, it might be preferable not to use the built in
remote publishing facilities of Org mode which rely heavily on Tramp.
Tramp, while very useful and powerful, tends not to be so efficient for
multiple file transfer and has been known to cause problems under heavy
usage.
Specialized synchronization utilities offer several advantages. In
addition to timestamp comparison, they also do content and
permissions/attribute checks. For this reason you might prefer to
publish your web to a local directory (possibly even in place with your
Org files) and then use ‘unison’ or ‘rsync’ to do the synchronization
with the remote host.
Since Unison (for example) can be configured as to which files to
transfer to a certain remote destination, it can greatly simplify the
project publishing definition. Simply keep all files in the correct
location, process your Org files with ‘org-publish’ and let the
synchronization tool do the rest. You do not need, in this scenario, to
include attachments such as ‘jpg’, ‘css’ or ‘gif’ files in the project
definition since the 3rd party tool syncs them.
Publishing to a local directory is also much faster than to a remote
one, so that you can afford more easily to republish entire projects.
If you set ‘org-publish-use-timestamps-flag’ to ‘nil’, you gain the main
benefit of re-including any changed external files such as source
example files you might include with ‘#+INCLUDE:’. The timestamp
mechanism in Org is not smart enough to detect if included files have
been modified.
File: org, Node: Sample configuration, Next: Triggering publication, Prev: Uploading files, Up: Publishing
13.3 Sample configuration
=========================
Below we provide two example configurations. The first one is a simple
project publishing only a set of Org files. The second example is more
complex, with a multi-component project.
* Menu:
* Simple example:: One-component publishing
* Complex example:: A multi-component publishing example
File: org, Node: Simple example, Next: Complex example, Up: Sample configuration
13.3.1 Example: simple publishing configuration
This example publishes a set of Org files to the ‘public_html’ directory
on the local machine.
(setq org-publish-project-alist
'(("org"
:base-directory "~/org/"
:publishing-directory "~/public_html"
:publishing-function org-html-publish-to-html
:section-numbers nil
:with-toc nil
:html-head "<link rel=\"stylesheet\"
href=\"../other/mystyle.css\"
type=\"text/css\"/>")))
File: org, Node: Complex example, Prev: Simple example, Up: Sample configuration
13.3.2 Example: complex publishing configuration
This more complicated example publishes an entire website, including Org
files converted to HTML, image files, Emacs Lisp source code, and style
sheets. The publishing directory is remote and private files are
excluded.
To ensure that links are preserved, care should be taken to replicate
your directory structure on the web server, and to use relative file
paths. For example, if your Org files are kept in ‘~/org’ and your
publishable images in ‘~/images’, you would link to an image with
file:../images/myimage.png
On the web server, the relative path to the image should be the same.
You can accomplish this by setting up an "images" folder in the right
place on the web server, and publishing images to it.
(setq org-publish-project-alist
'(("orgfiles"
:base-directory "~/org/"
:base-extension "org"
:publishing-directory "/ssh:user@host:~/html/notebook/"
:publishing-function org-html-publish-to-html
:exclude "PrivatePage.org" ;; regexp
:headline-levels 3
:section-numbers nil
:with-toc nil
:html-head "<link rel=\"stylesheet\"
href=\"../other/mystyle.css\" type=\"text/css\"/>"
:html-preamble t)
("images"
:base-directory "~/images/"
:base-extension "jpg\\|gif\\|png"
:publishing-directory "/ssh:user@host:~/html/images/"
:publishing-function org-publish-attachment)
("other"
:base-directory "~/other/"
:base-extension "css\\|el"
:publishing-directory "/ssh:user@host:~/html/other/"
:publishing-function org-publish-attachment)
("website" :components ("orgfiles" "images" "other"))))
File: org, Node: Triggering publication, Prev: Sample configuration, Up: Publishing
13.4 Triggering publication
===========================
Once properly configured, Org can publish with the following commands:
‘C-c C-e P x (org-publish)’
Prompt for a specific project and publish all files that belong to
it.
‘C-c C-e P p (org-publish-current-project)’
Publish the project containing the current file.
‘C-c C-e P f (org-publish-current-file)’
Publish only the current file.
‘C-c C-e P a (org-publish-all)’
Publish every project.
Org uses timestamps to track when a file has changed. The above
functions normally only publish changed files. You can override this
and force publishing of all files by giving a prefix argument to any of
the commands above, or by customizing the variable
‘org-publish-use-timestamps-flag’. This may be necessary in particular
if files include other files via ‘#+SETUPFILE:’ or ‘#+INCLUDE:’.
File: org, Node: Working with source code, Next: Miscellaneous, Prev: Publishing, Up: Top
14 Working with source code
***************************
Source code here refers to any code typed in Org mode documents. Org
can manage source code in any Org file once such code is tagged with
begin and end markers. Working with source code begins with tagging
source code blocks. Tagged ‘src’ code blocks are not restricted to the
preamble or the end of an Org document; they can go anywhere—with a few
exceptions, such as not inside comments and fixed width areas. Here’s a
sample ‘src’ code block in emacs-lisp:
#+BEGIN_SRC emacs-lisp
(defun org-xor (a b)
"Exclusive or."
(if a (not b) b))
#+END_SRC
Org can take the code in the block between the ‘#+BEGIN_SRC’ and
‘#+END_SRC’ tags, and format, compile, execute, and show the results.
Org can simplify many housekeeping tasks essential to modern code
maintenance. That’s why these blocks in Org mode literature are
sometimes referred to as ‘live code’ blocks (as compared to the static
text and documentation around it). Users can control how ‘live’ they
want each block by tweaking the headers for compiling, execution,
extraction.
Org’s ‘src’ code block type is one of many block types, such as
quote, export, verse, latex, example, and verbatim. This section
pertains to ‘src’ code blocks between ‘#+BEGIN_SRC’ and ‘#+END_SRC’
For editing ‘src’ code blocks, Org provides native Emacs major-modes.
That leverages the latest Emacs features for that source code language
mode.
For exporting, Org can then extract ‘src’ code blocks into compilable
source files (in a conversion process known as “tangling” in literate
programming terminology).
For publishing, Org’s back-ends can handle the ‘src’ code blocks and
the text for output to a variety of formats with native syntax
highlighting.
For executing the source code in the ‘src’ code blocks, Org provides
facilities that glue the tasks of compiling, collecting the results of
the execution, and inserting them back to the Org file. Besides text
output, results may include links to other data types that Emacs can
handle: audio, video, and graphics.
An important feature of Org’s execution of the ‘src’ code blocks is
passing variables, functions, and results between ‘src’ blocks. Such
interoperability uses a common syntax even if these ‘src’ blocks are in
debugger’s error messages to the line in the ‘src’ code block in the Org
file. That should partly explain why this functionality by the original
contributors, Eric Schulte and Dan Davison, was called ‘Org Babel’.
In literate programming, the main appeal is code and documentation
co-existing in one file. Org mode takes this several steps further.
First by enabling execution, and then by inserting results of that
execution back into the Org file. Along the way, Org provides extensive
formatting features, including handling tables. Org handles multiple
source code languages in one file, and provides a common syntax for
passing variables, functions, and results between ‘src’ code blocks.
Org mode fulfills the promise of easy verification and maintenance of
publishing reproducible research by keeping all these in the same file:
text, data, code, configuration settings of the execution environment,
the results of the execution, and associated narratives, claims,
references, and internal and external links.
Details of Org’s facilities for working with source code are shown
next.
* Menu:
* Structure of code blocks:: Code block syntax described
* Editing source code:: Language major-mode editing
* Exporting code blocks:: Export contents and/or results
* Extracting source code:: Create pure source code files
* Evaluating code blocks:: Place results of evaluation in the Org mode buffer
* Library of Babel:: Use and contribute to a library of useful code blocks
* Languages:: List of supported code block languages
* Header arguments:: Configure code block functionality
* Results of evaluation:: How evaluation results are handled
* Noweb reference syntax:: Literate programming in Org mode
* Key bindings and useful functions:: Work quickly with code blocks
* Batch execution:: Call functions from the command line
File: org, Node: Structure of code blocks, Next: Editing source code, Up: Working with source code
14.1 Structure of code blocks
=============================
Org offers two ways to structure source code in Org documents: in a
‘src’ block, and directly inline. Both specifications are shown below.
A ‘src’ block conforms to this structure:
#+NAME: <name>
#+BEGIN_SRC <language> <switches> <header arguments>
<body>
#+END_SRC
Org mode’s templates system (*note Easy templates::) speeds up
creating ‘src’ code blocks with just three keystrokes. Do not be
put-off by having to remember the source block syntax. Org also works
with other completion systems in Emacs, some of which predate Org and
have custom domain-specific languages for defining templates. Regular
use of templates reduces errors, increases accuracy, and maintains
consistency.
An inline code block conforms to this structure:
src_<language>{<body>}
or
src_<language>[<header arguments>]{<body>}
‘#+NAME: <name>’
Optional. Names the ‘src’ block so it can be called, like a
function, from other ‘src’ blocks or inline blocks to evaluate or
to capture the results. Code from other blocks, other files, and
from table formulas (*note The spreadsheet::) can use the name to
reference a ‘src’ block. This naming serves the same purpose as
naming Org tables. Org mode requires unique names. For duplicate
names, Org mode’s behavior is undefined.
‘#+BEGIN_SRC’
‘#+END_SRC’
Mandatory. They mark the start and end of a block that Org
requires. The ‘#+BEGIN_SRC’ line takes additional arguments, as
described next.
‘<language>’
Mandatory for live code blocks. It is the identifier of the source
code language in the block. *Note Languages::, for identifiers of
supported languages.
‘<switches>’
Optional. Switches provide finer control of the code execution,
export, and format (see the discussion of switches in *note Literal
examples::)
‘<header arguments>’
Optional. Heading arguments control many aspects of evaluation,
export and tangling of code blocks (*note Header arguments::).
Using Org’s properties feature, header arguments can be selectively
applied to the entire buffer or specific sub-trees of the Org
document.
‘source code, header arguments’
‘<body>’
Source code in the dialect of the specified language identifier.
File: org, Node: Editing source code, Next: Exporting code blocks, Prev: Structure of code blocks, Up: Working with source code
14.2 Editing source code
========================
‘C-c '’ for editing the current code block. It opens a new major-mode
edit buffer containing the body of the ‘src’ code block, ready for any
edits. ‘C-c '’ again to close the buffer and return to the Org buffer.
‘C-x C-s’ saves the buffer and updates the contents of the Org
buffer.
Set ‘org-edit-src-auto-save-idle-delay’ to save the base buffer after
a certain idle delay time.
Set ‘org-edit-src-turn-on-auto-save’ to auto-save this buffer into a
separate file using ‘auto-save-mode’.
‘C-c '’ to close the major-mode buffer and return back to the Org
buffer.
While editing the source code in the major-mode, the ‘org-src-mode’
minor mode remains active. It provides these customization variables as
described below. For even more variables, look in the customization
group ‘org-edit-structure’.
‘org-src-lang-modes’
If an Emacs major-mode named ‘<lang>-mode’ exists, where ‘<lang>’
is the language identifier from code block’s header line, then the
edit buffer uses that major-mode. Use this variable to arbitrarily
map language identifiers to major modes.
‘org-src-window-setup’
For specifying Emacs window arrangement when the new edit buffer is
created.
‘org-src-preserve-indentation’
Default is ‘nil’. Source code is indented. This indentation
applies during export or tangling, and depending on the context,
may alter leading spaces and tabs. When non-‘nil’, source code is
aligned with the leftmost column. No lines are modified during
export or tangling, which is very useful for white-space sensitive
languages, such as Python.
‘org-src-ask-before-returning-to-edit-buffer’
When ‘nil’, Org returns to the edit buffer without further prompts.
The default prompts for a confirmation.
Set ‘org-src-fontify-natively’ to non-‘nil’ to turn on native code
fontification in the _Org_ buffer. Fontification of ‘src’ code blocks
can give visual separation of text and code on the display page. To
further customize the appearance of ‘org-block’ for specific languages,
customize ‘org-src-block-faces’. The following example shades the
background of regular blocks, and colors source blocks only for Python
and Emacs-Lisp languages.
(require 'color)
(set-face-attribute 'org-block nil :background
(color-darken-name
(face-attribute 'default :background) 3))
(setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
("python" (:background "#E5FFB8"))))
File: org, Node: Exporting code blocks, Next: Extracting source code, Prev: Editing source code, Up: Working with source code
14.3 Exporting code blocks
==========================
Org can flexibly export just the _code_ from the code blocks, just the
_results_ of evaluation of the code block, _both_ the code and the
results of the code block evaluation, or _none_. Org defaults to
exporting _code_ for most languages. For some languages, such as
‘ditaa’, Org defaults to _results_. To export just the body of code
blocks, *note Literal examples::. To selectively export sub-trees of an
Org document, *note Exporting::.
The ‘:exports’ header arguments control exporting code blocks only
and not inline code:
Header arguments:
.................
‘:exports code’
This is the default for most languages where the body of the code
block is exported. See *note Literal examples:: for more.
‘:exports results’
On export, Org includes only the results and not the code block.
After each evaluation, Org inserts the results after the end of
code block in the Org buffer. By default, Org replaces any
previous results. Org can also append results.
‘:exports both’
Org exports both the code block and the results.
‘:exports none’
Org does not export the code block nor the results.
To stop Org from evaluating code blocks to speed exports, use the
header argument ‘:eval never-export’ (*note eval::). To stop Org from
evaluating code blocks for greater security, set the
‘org-export-use-babel’ variable to ‘nil’, but understand that header
arguments will have no effect.
Turning off evaluation comes in handy when batch processing. For
example, markup languages for wikis, which have a high risk of untrusted
code. Stopping code block evaluation also stops evaluation of all
header arguments of the code block. This may not be desirable in some
circumstances. So during export, to allow evaluation of just the header
arguments but not any code evaluation in the source block, set ‘:eval
never-export’ (*note eval::).
Org never evaluates code blocks in commented sub-trees when exporting
(*note Comment lines::). On the other hand, Org does evaluate code
blocks in sub-trees excluded from export (*note Export settings::).
File: org, Node: Extracting source code, Next: Evaluating code blocks, Prev: Exporting code blocks, Up: Working with source code
14.4 Extracting source code
===========================
Extracting source code from code blocks is a basic task in literate
programming. Org has features to make this easy. In literate
programming parlance, documents on creation are _woven_ with code and
documentation, and on export, the code is _tangled_ for execution by a
computer. Org facilitates weaving and tangling for producing,
maintaining, sharing, and exporting literate programming documents. Org
provides extensive customization options for extracting source code.
When Org tangles ‘src’ code blocks, it expands, merges, and
transforms them. Then Org recomposes them into one or more separate
files, as configured through the options. During this _tangling_
process, Org expands variables in the source code, and resolves any
Noweb style references (*note Noweb reference syntax::).
Header arguments
................
‘:tangle no’
By default, Org does not tangle the ‘src’ code block on export.
‘:tangle yes’
Org extracts the contents of the code block for the tangled output.
By default, the output file name is the same as the Org file but
with a file extension derived from the language identifier of the
‘src’ code block.
‘:tangle filename’
Override the default file name with this one for the tangled
output.
Functions
.........
‘org-babel-tangle’
Tangle the current file. Bound to ‘C-c C-v t’.
With prefix argument only tangle the current ‘src’ code block.
‘org-babel-tangle-file’
Choose a file to tangle. Bound to ‘C-c C-v f’.
Hooks
.....
‘org-babel-post-tangle-hook’
This hook runs from within code tangled by ‘org-babel-tangle’,
making it suitable for post-processing, compilation, and evaluation
of code in the tangled files.
Jumping between code and Org
............................
Debuggers normally link errors and messages back to the source code.
But for tangled files, we want to link back to the Org file, not to the
tangled source file. To make this extra jump, Org uses
‘org-babel-tangle-jump-to-org’ function with two additional source code
block header arguments: One, set ‘padline’ (*note padline::) to true
(the default setting). Two, set ‘comments’ (*note comments::) to
‘link’, which makes Org insert links to the Org file.
File: org, Node: Evaluating code blocks, Next: Library of Babel, Prev: Extracting source code, Up: Working with source code
14.5 Evaluating code blocks
===========================
A note about security: With code evaluation comes the risk of harm. Org
safeguards by prompting for user’s permission before executing any code
in the source block. To customize this safeguard (or disable it) see
*note Code evaluation security::.
Org captures the results of the ‘src’ code block evaluation and
inserts them in the Org file, right after the ‘src’ code block. The
insertion point is after a newline and the ‘#+RESULTS’ label. Org
creates the ‘#+RESULTS’ label if one is not already there.
By default, Org enables only ‘emacs-lisp’ ‘src’ code blocks for
execution. See *note Languages:: for identifiers to enable other
languages.
Org provides many ways to execute ‘src’ code blocks. ‘C-c C-c’ or
‘C-c C-v e’ with the point on a ‘src’ code block(1) calls the
‘org-babel-execute-src-block’ function, which executes the code in the
block, collects the results, and inserts them in the buffer.
By calling a named code block(2) from an Org mode buffer or a table.
Org can call the named ‘src’ code blocks from the current Org mode
buffer or from the “Library of Babel” (*note Library of Babel::).
Whether inline syntax or the ‘#+CALL:’ syntax is used, the result is
wrapped based on the variable ‘org-babel-inline-result-wrap’, which by
default is set to ‘"=%s="’ to produce verbatim text suitable for markup.
The syntax for ‘#+CALL:’ is
#+CALL: <name>(<arguments>)
#+CALL: <name>[<inside header arguments>](<arguments>) <end header arguments>
The syntax for inline named code block is
... call_<name>(<arguments>) ...
... call_<name>[<inside header arguments>](<arguments>)[<end header arguments>] ...
‘<name>’
This is the name of the code block to be evaluated (*note Structure
of code blocks::).
‘<arguments>’
Org passes arguments to the code block using standard function call
syntax. For example, a ‘#+CALL:’ line that passes ‘4’ to a code
block named ‘double’, which declares the header argument ‘:var
n=2’, would be written as ‘#+CALL: double(n=4)’. Note how this
function call syntax is different from the header argument syntax.
‘<inside header arguments>’
Org passes inside header arguments to the named ‘src’ code block
using the header argument syntax. Inside header arguments apply to
code block evaluation. For example, ‘[:results output]’ collects
results printed to ‘STDOUT’ during code execution of that block.
Note how this header argument syntax is different from the function
call syntax.
‘<end header arguments>’
End header arguments affect the results returned by the code block.
For example, ‘:results html’ wraps the results in a ‘BEGIN_EXPORT
html’ block before inserting the results in the Org buffer.
For more examples of header arguments for ‘#+CALL:’ lines, *note
Arguments in function calls::.
---------- Footnotes ----------
(1) The option ‘org-babel-no-eval-on-ctrl-c-ctrl-c’ can be used to
remove code evaluation from the ‘C-c C-c’ key binding.
(2) Actually, the constructs call_<name>() and src_<lang>{} are not
evaluated when they appear in a keyword line (i.e. lines starting with
‘#+KEYWORD:’, *note In-buffer settings::).
File: org, Node: Library of Babel, Next: Languages, Prev: Evaluating code blocks, Up: Working with source code
14.6 Library of Babel
=====================
The “Library of Babel” is a collection of code blocks. Like a function
library, these code blocks can be called from other Org files. A
collection of useful code blocks is available on Worg
(https://orgmode.org/worg/library-of-babel.html). For remote code block
evaluation syntax, *note Evaluating code blocks::.
For any user to add code to the library, first save the code in
regular ‘src’ code blocks of an Org file, and then load the Org file
with ‘org-babel-lob-ingest’, which is bound to ‘C-c C-v i’.
File: org, Node: Languages, Next: Header arguments, Prev: Library of Babel, Up: Working with source code
14.7 Languages
==============
Org supports the following languages for the ‘src’ code blocks:
Language Identifier Language Identifier
Asymptote asymptote Awk awk
C C C++ C++
Clojure clojure CSS css
D d ditaa ditaa
Graphviz dot Emacs Calc calc
Emacs Lisp emacs-lisp Fortran fortran
gnuplot gnuplot Haskell haskell
Java java Javascript js
LaTeX latex Ledger ledger
Lisp lisp Lilypond lilypond
Lua lua MATLAB matlab
Mscgen mscgen Objective Caml ocaml
Octave octave Org mode org
Oz oz Perl perl
Plantuml plantuml Processing.js processing
Python python R R
Ruby ruby Sass sass
Scheme scheme GNU Screen screen
Sed sed shell sh
SQL sql SQLite sqlite
Vala vala
Additional documentation for some languages are at
<https://orgmode.org/worg/org-contrib/babel/languages.html>.
By default, only ‘emacs-lisp’ is enabled for evaluation. To enable
or disable other languages, customize the ‘org-babel-load-languages’
variable either through the Emacs customization interface, or by adding
code to the init file as shown next:
In this example, evaluation is disabled for ‘emacs-lisp’, and enabled
for ‘R’.
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . nil)
(R . t)))
Note that this is not the only way to enable a language. Org also
enables languages when loaded with ‘require’ statement. For example,
the following enables execution of ‘clojure’ code blocks:
(require 'ob-clojure)
File: org, Node: Header arguments, Next: Results of evaluation, Prev: Languages, Up: Working with source code
14.8 Header arguments
=====================
Details of configuring header arguments are shown here.
* Menu:
* Using header arguments:: Different ways to set header arguments
* Specific header arguments:: List of header arguments
File: org, Node: Using header arguments, Next: Specific header arguments, Up: Header arguments
14.8.1 Using header arguments
Since header arguments can be set in several ways, Org prioritizes them
in case of overlaps or conflicts by giving local settings a higher
priority. Header values in function calls, for example, override header
values from global defaults.
* Menu:
* System-wide header arguments:: Set globally, language-specific
* Language-specific header arguments:: Set in the Org file’s headers
* Header arguments in Org mode properties:: Set in the Org file
* Language-specific mode properties::
* Code block specific header arguments:: The most commonly used method
* Arguments in function calls:: The most specific level, takes highest priority
File: org, Node: System-wide header arguments, Next: Language-specific header arguments, Up: Using header arguments
System-wide header arguments
............................
System-wide values of header arguments can be specified by adapting the
‘org-babel-default-header-args’ variable:
:session => "none"
:results => "replace"
:exports => "code"
:cache => "no"
:noweb => "no"
This example sets ‘:noweb’ header arguments to ‘yes’, which makes Org
expand ‘:noweb’ references by default.
(setq org-babel-default-header-args
(cons '(:noweb . "yes")
(assq-delete-all :noweb org-babel-default-header-args)))
File: org, Node: Language-specific header arguments, Next: Header arguments in Org mode properties, Prev: System-wide header arguments, Up: Using header arguments
Language-specific header arguments
..................................
Each language can have separate default header arguments by customizing
the variable ‘org-babel-default-header-args:<lang>’, where ‘<lang>’ is
the name of the language. For details, see the language-specific online
documentation at <https://orgmode.org/worg/org-contrib/babel/>.
File: org, Node: Header arguments in Org mode properties, Next: Language-specific mode properties, Prev: Language-specific header arguments, Up: Using header arguments
Header arguments in Org mode properties
.......................................
For header arguments applicable to the buffer, use ‘#+PROPERTY:’ lines
anywhere in the Org mode file (*note Property syntax::).
The following example sets only for ‘R’ code blocks to ‘session’,
making all the ‘R’ code blocks execute in the same session. Setting
‘results’ to ‘silent’ ignores the results of executions for all blocks,
not just ‘R’ code blocks; no results inserted for any block.
#+PROPERTY: header-args:R :session *R*
#+PROPERTY: header-args :results silent
Header arguments set through Org’s property drawers (*note Property
syntax::) apply at the sub-tree level on down. Since these property
drawers can appear anywhere in the file hierarchy, Org uses outermost
call or source block to resolve the values. Org ignores
‘org-use-property-inheritance’ setting.
In this example, ‘:cache’ defaults to ‘yes’ for all code blocks in
the sub-tree starting with ‘sample header’.
* sample header
:PROPERTIES:
:header-args: :cache yes
:END:
Properties defined through ‘org-set-property’ function, bound to ‘C-c
C-x p’, apply to all active languages. They override properties set in
‘org-babel-default-header-args’.
File: org, Node: Language-specific mode properties, Next: Code block specific header arguments, Prev: Header arguments in Org mode properties, Up: Using header arguments
Language-specific mode properties
.................................
Language-specific header arguments are also read from properties
‘header-args:<lang>’ where ‘<lang>’ is the language identifier. For
example,
* Heading
:PROPERTIES:
:header-args:clojure: :session *clojure-1*
:header-args:R: :session *R*
:END:
** Subheading
:PROPERTIES:
:header-args:clojure: :session *clojure-2*
:END:
would force separate sessions for clojure blocks in Heading and
Subheading, but use the same session for all ‘R’ blocks. Blocks in
Subheading inherit settings from Heading.
File: org, Node: Code block specific header arguments, Next: Arguments in function calls, Prev: Language-specific mode properties, Up: Using header arguments
Code block specific header arguments
....................................
Header arguments are most commonly set at the ‘src’ code block level, on
the ‘#+BEGIN_SRC’ line. Arguments set at this level take precedence
over those set in the ‘org-babel-default-header-args’ variable, and also
those set as header properties.
In the following example, setting ‘results’ to ‘silent’ makes it
ignore results of the code execution. Setting ‘:exports’ to ‘code’
exports only the body of the ‘src’ code block to HTML or LaTeX.:
#+NAME: factorial
#+BEGIN_SRC haskell :results silent :exports code :var n=0
fac 0 = 1
fac n = n * fac (n-1)
#+END_SRC
The same header arguments in an inline ‘src’ code block:
src_haskell[:exports both]{fac 5}
Code block header arguments can span multiple lines using ‘#+HEADER:’
on each line. Note that Org currently accepts the plural spelling of
‘#+HEADER:’ only as a convenience for backward-compatibility. It may be
removed at some point.
Multi-line header arguments on an unnamed ‘src’ code block:
#+HEADER: :var data1=1
#+BEGIN_SRC emacs-lisp :var data2=2
(message "data1:%S, data2:%S" data1 data2)
#+END_SRC
#+RESULTS:
: data1:1, data2:2
Multi-line header arguments on a named ‘src’ code block:
#+NAME: named-block
#+HEADER: :var data=2
#+BEGIN_SRC emacs-lisp
(message "data:%S" data)
#+END_SRC
#+RESULTS: named-block
: data:2
File: org, Node: Arguments in function calls, Prev: Code block specific header arguments, Up: Using header arguments
Arguments in function calls
...........................
Header arguments in function calls are the most specific and override
all other settings in case of an overlap. They get the highest
priority. Two ‘#+CALL:’ examples are shown below. For the complete
syntax of ‘#+CALL:’ lines, see *note Evaluating code blocks::.
In this example, ‘:exports results’ header argument is applied to the
evaluation of the ‘#+CALL:’ line.
#+CALL: factorial(n=5) :exports results
In this example, ‘:session special’ header argument is applied to the
evaluation of ‘factorial’ code block.
#+CALL: factorial[:session special](n=5)
File: org, Node: Specific header arguments, Prev: Using header arguments, Up: Header arguments
14.8.2 Specific header arguments
Org comes with many header arguments common to all languages. New
header arguments are added for specific languages as they become
available for use in ‘src’ code blocks. A header argument is specified
with an initial colon followed by the argument’s name in lowercase.
Common header arguments are:
* Menu:
* var:: Pass arguments to ‘src’ code blocks
* results:: Specify results type; how to collect
* file:: Specify a path for output file
* file-desc:: Specify a description for file results
* file-ext:: Specify an extension for file output
* output-dir:: Specify a directory for output file
* dir:: Specify the default directory for code block execution
* exports:: Specify exporting code, results, both, none
* tangle:: Toggle tangling; or specify file name
* mkdirp:: Toggle for parent directory creation for target files during tangling
* comments:: Toggle insertion of comments in tangled code files
* padline:: Control insertion of padding lines in tangled code files
* no-expand:: Turn off variable assignment and noweb expansion during tangling
* session:: Preserve the state of code evaluation
* noweb:: Toggle expansion of noweb references
* noweb-ref:: Specify block’s noweb reference resolution target
* noweb-sep:: String to separate noweb references
* cache:: Avoid re-evaluating unchanged code blocks
* sep:: Delimiter for writing tabular results outside Org
* hlines:: Handle horizontal lines in tables
* colnames:: Handle column names in tables
* rownames:: Handle row names in tables
* shebang:: Make tangled files executable
* tangle-mode:: Set permission of tangled files
* eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
* post:: Post processing of results of code block evaluation
* prologue:: Text to prepend to body of code block
* epilogue:: Text to append to body of code block
For language-specific header arguments, see *note Languages::.
File: org, Node: var, Next: results, Up: Specific header arguments
14.8.2.1 ‘:var’
...............
Use ‘:var’ for passing arguments to ‘src’ code blocks. The specifics of
variables in ‘src’ code blocks vary by the source language and are
covered in the language-specific documentation. The syntax for ‘:var’,
however, is the same for all languages. This includes declaring a
variable, and assigning a default value.
Arguments can take values as literals, or as references, or even as
Emacs Lisp code (*note Emacs Lisp evaluation of variables: var.).
References are names from the Org file from the lines ‘#+NAME:’ or
‘#+RESULTS:’. References can also refer to tables, lists,
‘#+BEGIN_EXAMPLE’ blocks, other types of ‘src’ code blocks, or the
results of execution of ‘src’ code blocks.
For better performance, Org can cache results of evaluations. But
caching comes with severe limitations (*note cache::).
Argument values are indexed like arrays (*note Indexable variable
values: var.).
The following syntax is used to pass arguments to ‘src’ code blocks
using the ‘:var’ header argument.
:var name=assign
The ‘assign’ is a literal value, such as a string ‘"string"’, a
number ‘9’, a reference to a table, a list, a literal example, another
code block (with or without arguments), or the results from evaluating a
code block.
Here are examples of passing values by reference:
“table”
an Org mode table named with either a ‘#+NAME:’ line
#+NAME: example-table
| 1 |
| 2 |
| 3 |
| 4 |
#+NAME: table-length
#+BEGIN_SRC emacs-lisp :var table=example-table
(length table)
#+END_SRC
#+RESULTS: table-length
: 4
“list”
a simple list named with a ‘#+NAME:’ line. Note that only the top
level list items are passed along. Nested list items are ignored.
#+NAME: example-list
- simple
- not
- nested
- list
#+BEGIN_SRC emacs-lisp :var x=example-list
(print x)
#+END_SRC
#+RESULTS:
| simple | list |
“code block without arguments”
a code block name (from the example above), as assigned by
‘#+NAME:’, optionally followed by parentheses
#+BEGIN_SRC emacs-lisp :var length=table-length()
(* 2 length)
#+END_SRC
#+RESULTS:
: 8
“code block with arguments”
a ‘src’ code block name, as assigned by ‘#+NAME:’, followed by
parentheses and optional arguments passed within the parentheses
following the ‘src’ code block name using standard function call
syntax
#+NAME: double
#+BEGIN_SRC emacs-lisp :var input=8
(* 2 input)
#+END_SRC
#+RESULTS: double
: 16
#+NAME: squared
#+BEGIN_SRC emacs-lisp :var input=double(input=2)
(* input input)
#+END_SRC
#+RESULTS: squared
: 4
“literal example”
a literal example block named with a ‘#+NAME:’ line
#+NAME: literal-example
#+BEGIN_EXAMPLE
A literal example
on two lines
#+END_EXAMPLE
#+NAME: read-literal-example
#+BEGIN_SRC emacs-lisp :var x=literal-example
(concatenate 'string x " for you.")
#+END_SRC
#+RESULTS: read-literal-example
: A literal example
: on two lines for you.
Indexable variable values
.........................
Indexing variable values enables referencing portions of a variable.
Indexes are 0 based with negative values counting backwards from the
end. If an index is separated by ‘,’s then each subsequent section will
other table-related header arguments are applied, such as ‘:hlines’,
‘:colnames’ and ‘:rownames’. The following example assigns the last
cell of the first row the table ‘example-table’ to the variable ‘data’:
#+NAME: example-table
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
#+BEGIN_SRC emacs-lisp :var data=example-table[0,-1]
data
#+END_SRC
#+RESULTS:
: a
Ranges of variable values can be referenced using two integers
separated by a ‘:’, in which case the entire inclusive range is
referenced. For example the following assigns the middle three rows of
‘example-table’ to ‘data’.
#+NAME: example-table
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
| 5 | 3 |
#+BEGIN_SRC emacs-lisp :var data=example-table[1:3]
data
#+END_SRC
#+RESULTS:
| 2 | b |
| 3 | c |
| 4 | d |
To pick the entire range, use an empty index, or the single character
‘*’. ‘0:-1’ does the same thing. Example below shows how to reference
the first column only.
#+NAME: example-table
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
#+BEGIN_SRC emacs-lisp :var data=example-table[,0]
data
#+END_SRC
#+RESULTS:
| 1 | 2 | 3 | 4 |
Index referencing can be used for tables and code blocks. Index
referencing can handle any number of dimensions. Commas delimit
multiple dimensions, as shown below.
#+NAME: 3D
#+BEGIN_SRC emacs-lisp
'(((1 2 3) (4 5 6) (7 8 9))
((10 11 12) (13 14 15) (16 17 18))
((19 20 21) (22 23 24) (25 26 27)))
#+END_SRC
#+BEGIN_SRC emacs-lisp :var data=3D[1,,1]
data
#+END_SRC
#+RESULTS:
| 11 | 14 | 17 |
Emacs Lisp evaluation of variables
..................................
Emacs lisp code can set the values for variables. To differentiate a
value from lisp code, Org interprets any value starting with ‘(’, ‘[’,
‘'’ or ‘`’ as Emacs Lisp code. The result of evaluating that code is
then assigned to the value of that variable. The following example
shows how to reliably query and pass file name of the Org mode buffer to
a code block using headers. We need reliability here because the file’s
name could change once the code in the block starts executing.
#+BEGIN_SRC sh :var filename=(buffer-file-name) :exports both
wc -w $filename
#+END_SRC
Note that values read from tables and lists will not be mistakenly
evaluated as Emacs Lisp code, as illustrated in the following example.
#+NAME: table
| (a b c) |
#+HEADER: :var data=table[0,0]
#+BEGIN_SRC perl
$data
#+END_SRC
#+RESULTS:
: (a b c)
File: org, Node: results, Next: file, Prev: var, Up: Specific header arguments
14.8.2.2 ‘:results’
...................
There are four classes of ‘:results’ header arguments. Each ‘src’ code
block can take only one option per class.
• collection for how the results should be collected from the ‘src’
code block
• type for which type of result the code block will return; affects
how Org processes and inserts results in the Org buffer
• format for the result; affects how Org processes and inserts
results in the Org buffer
• handling for processing results after evaluation of the ‘src’ code
block
Collection
..........
Collection options specify the results. Choose one of the options; they
are mutually exclusive.
• ‘value’ Default. Functional mode. Result is the value returned by
the last statement in the ‘src’ code block. Languages like Python
may require an explicit ‘return’ statement in the ‘src’ code block.
Usage example: ‘:results value’.
• ‘output’ Scripting mode. Result is collected from STDOUT during
execution of the code in the ‘src’ code block. Usage example:
‘:results output’.
Type
....
Type tells what result types to expect from the execution of the code
block. Choose one of the options; they are mutually exclusive. The
default behavior is to automatically determine the result type.
• ‘table’, ‘vector’ Interpret the results as an Org table. If the
result is a single value, create a table with one row and one
column. Usage example: ‘:results value table’.
• ‘list’ Interpret the results as an Org list. If the result is a
single value, create a list of one element.
• ‘scalar’, ‘verbatim’ Interpret literally and insert as quoted text.
Do not create a table. Usage example: ‘:results value verbatim’.
• ‘file’ Interpret as path to a file. Inserts a link to the file.
Usage example: ‘:results value file’.
Format
......
Format pertains to the type of the result returned by the ‘src’ code
block. Choose one of the options; they are mutually exclusive. The
default follows from the type specified above.
• ‘raw’ Interpreted as raw Org mode. Inserted directly into the
buffer. Aligned if it is a table. Usage example: ‘:results value
raw’.
• ‘org’ Results enclosed in a ‘BEGIN_SRC org’ block. For
comma-escape, either <TAB> in the block, or export the file. Usage
example: ‘:results value org’.
• ‘html’ Results enclosed in a ‘BEGIN_EXPORT html’ block. Usage
example: ‘:results value html’.
• ‘latex’ Results enclosed in a ‘BEGIN_EXPORT latex’ block. Usage
example: ‘:results value latex’.
• ‘code’ Result enclosed in a ‘src’ code block. Useful for parsing.
Usage example: ‘:results value code’.
• ‘pp’ Result converted to pretty-print source code. Enclosed in a
‘src’ code block. Languages supported: Emacs Lisp, Python, and
Ruby. Usage example: ‘:results value pp’.
• ‘drawer’ Result wrapped in a RESULTS drawer. Useful for containing
‘raw’ or ‘org’ results for later scripting and automated
processing. Usage example: ‘:results value drawer’.
Handling
........
Handling options after collecting the results.
• ‘silent’ Do not insert results in the Org mode buffer, but echo
them in the minibuffer. Usage example: ‘:results output silent’.
• ‘replace’ Default. Insert results in the Org buffer. Remove
previous results. Usage example: ‘:results output replace’.
• ‘append’ Append results to the Org buffer. Latest results are at
the bottom. Does not remove previous results. Usage example:
‘:results output append’.
• ‘prepend’ Prepend results to the Org buffer. Latest results are at
the top. Does not remove previous results. Usage example:
‘:results output prepend’.
File: org, Node: file, Next: file-desc, Prev: results, Up: Specific header arguments
14.8.2.3 ‘:file’
................
An external ‘:file’ that saves the results of execution of the code
block. The ‘:file’ is either a file name or two strings, where the
first is the file name and the second is the description. A link to the
file is inserted. It uses an Org mode style ‘[[file:]]’ link (*note
Link format::). Some languages, such as ‘R’, ‘dot’, ‘ditaa’, and
‘gnuplot’, automatically wrap the source code in additional boilerplate
code. Such code wrapping helps recreate the output, especially graphics
output, by executing just the ‘:file’ contents.
File: org, Node: file-desc, Next: file-ext, Prev: file, Up: Specific header arguments
14.8.2.4 ‘:file-desc’
.....................
A description of the results file. Org uses this description for the
link (see *note Link format::) it inserts in the Org file. If the
‘:file-desc’ has no value, Org will use file name for both the “link”
and the “description” portion of the Org mode link.
File: org, Node: file-ext, Next: output-dir, Prev: file-desc, Up: Specific header arguments
14.8.2.5 ‘:file-ext’
....................
File name extension for the output file. Org generates the file’s
complete name, and extension by combining ‘:file-ext’, ‘#+NAME:’ of the
source block, and the *note output-dir:: header argument. To override
this auto generated file name, use the ‘:file’ header argument.
File: org, Node: output-dir, Next: dir, Prev: file-ext, Up: Specific header arguments
14.8.2.6 ‘:output-dir’
......................
Specifies the ‘:output-dir’ for the results file. Org accepts an
absolute path (beginning with ‘/’) or a relative directory (without
‘/’). The value can be combined with ‘#+NAME:’ of the source block and
*note file:: or *note file-ext:: header arguments.
File: org, Node: dir, Next: exports, Prev: output-dir, Up: Specific header arguments
14.8.2.7 ‘:dir’ and remote execution
....................................
While the ‘:file’ header argument can be used to specify the path to the
output file, ‘:dir’ specifies the default directory during ‘src’ code
block execution. If it is absent, then the directory associated with
the current buffer is used. In other words, supplying ‘:dir path’
temporarily has the same effect as changing the current directory with
‘M-x cd path <RET>’, and then not supplying ‘:dir’. Under the surface,
‘:dir’ simply sets the value of the Emacs variable ‘default-directory’.
When using ‘:dir’, relative paths (for example, ‘:file myfile.jpg’ or
‘:file results/myfile.jpg’) become relative to the default directory.
For example, to save the plot file in the ‘Work’ folder of the home
directory (notice tilde is expanded):
#+BEGIN_SRC R :file myplot.png :dir ~/Work
matplot(matrix(rnorm(100), 10), type="l")
#+END_SRC
Remote execution
................
To evaluate the ‘src’ code block on a remote machine, supply a remote s
directory name using ‘Tramp’ syntax. For example:
#+BEGIN_SRC R :file plot.png :dir /scp:dand@yakuba.princeton.edu:
plot(1:10, main=system("hostname", intern=TRUE))
#+END_SRC
Org first captures the text results as usual for insertion in the Org
file. Then Org also inserts a link to the remote file, thanks to Emacs
‘Tramp’. Org constructs the remote path to the file name from ‘:dir’
and ‘default-directory’, as illustrated here:
[[file:/scp:dand@yakuba.princeton.edu:/home/dand/plot.png][plot.png]]
Some more warnings
..................
• When ‘:dir’ is used with ‘:session’, Org sets the starting
directory for a new session. But Org will not alter the directory
of an already existing session.
• Do not use ‘:dir’ with ‘:exports results’ or with ‘:exports both’
to avoid Org inserting incorrect links to remote files. That is
because Org does not expand ‘default directory’ to avoid some
underlying portability issues.
File: org, Node: exports, Next: tangle, Prev: dir, Up: Specific header arguments
14.8.2.8 ‘:exports’
...................
The ‘:exports’ header argument is to specify if that part of the Org
file is exported to, say, HTML or LaTeX formats. Note that ‘:exports’
affects only ‘src’ code blocks and not inline code.
• ‘code’ The default. The body of code is included into the exported
file. Example: ‘:exports code’.
• ‘results’ The results of evaluation of the code is included in the
exported file. Example: ‘:exports results’.
• ‘both’ Both the code and results of evaluation are included in the
exported file. Example: ‘:exports both’.
• ‘none’ Neither the code nor the results of evaluation is included
in the exported file. Whether the code is evaluated at all depends
on other options. Example: ‘:exports none’.
File: org, Node: tangle, Next: mkdirp, Prev: exports, Up: Specific header arguments
14.8.2.9 ‘:tangle’
..................
The ‘:tangle’ header argument specifies if the ‘src’ code block is
exported to source file(s).
• ‘tangle’ Export the ‘src’ code block to source file. The file name
for the source file is derived from the name of the Org file, and
the file extension is derived from the source code language
identifier. Example: ‘:tangle yes’.
• ‘no’ The default. Do not extract the code a source code file.
Example: ‘:tangle no’.
• other Export the ‘src’ code block to source file whose file name is
derived from any string passed to the ‘:tangle’ header argument.
Org derives the file name as being relative to the directory of the
Org file’s location. Example: ‘:tangle path’.
File: org, Node: mkdirp, Next: comments, Prev: tangle, Up: Specific header arguments
14.8.2.10 ‘:mkdirp’
...................
The ‘:mkdirp’ header argument creates parent directories for tangled
files if the directory does not exist. ‘yes’ enables directory creation
and ‘no’ inhibits directory creation.
File: org, Node: comments, Next: padline, Prev: mkdirp, Up: Specific header arguments
14.8.2.11 ‘:comments’
.....................
Controls inserting comments into tangled files. These are above and
beyond whatever comments may already exist in the ‘src’ code block.
• ‘no’ The default. Do not insert any extra comments during
tangling.
• ‘link’ Wrap the ‘src’ code block in comments. Include links
pointing back to the place in the Org file from where the code was
tangled.
• ‘yes’ Kept for backward compatibility; same as “link”.
• ‘org’ Nearest headline text from Org file is inserted as comment.
The exact text that is inserted is picked from the leading context
of the source block.
• ‘both’ Includes both “link” and “org” comment options.
• ‘noweb’ Includes “link” comment option, expands noweb references,
and wraps them in link comments inside the body of the ‘src’ code
block.
File: org, Node: padline, Next: no-expand, Prev: comments, Up: Specific header arguments
14.8.2.12 ‘:padline’
....................
Control insertion of newlines to pad ‘src’ code blocks in the tangled
file.
• ‘yes’ Default. Insert a newline before and after each ‘src’ code
block in the tangled file.
• ‘no’ Do not insert newlines to pad the tangled ‘src’ code blocks.
File: org, Node: no-expand, Next: session, Prev: padline, Up: Specific header arguments
14.8.2.13 ‘:no-expand’
......................
By default Org expands ‘src’ code blocks during tangling. The
‘:no-expand’ header argument turns off such expansions. Note that one
side-effect of expansion by ‘org-babel-expand-src-block’ also assigns
values to ‘:var’ (*note var::) variables. Expansions also replace Noweb
references with their targets (*note Noweb reference syntax::). Some of
these expansions may cause premature assignment, hence this option.
This option makes a difference only for tangling. It has no effect when
exporting since ‘src’ code blocks for execution have to be expanded
anyway.
File: org, Node: session, Next: noweb, Prev: no-expand, Up: Specific header arguments
14.8.2.14 ‘:session’
....................
The ‘:session’ header argument is for running multiple source code
blocks under one session. Org runs ‘src’ code blocks with the same
session name in the same interpreter process.
• ‘none’ Default. Each ‘src’ code block gets a new interpreter
process to execute. The process terminates once the block is
evaluated.
• ‘other’ Any string besides ‘none’ turns that string into the name
of that session. For example, ‘:session mysession’ names it
‘mysession’. If ‘:session’ has no argument, then the session name
is derived from the source language identifier. Subsequent blocks
with the same source code language use the same session. Depending
on the language, state variables, code from other blocks, and the
overall interpreted environment may be shared. Some interpreted
languages support concurrent sessions when subsequent source code
language blocks change session names.
File: org, Node: noweb, Next: noweb-ref, Prev: session, Up: Specific header arguments
14.8.2.15 ‘:noweb’
..................
The ‘:noweb’ header argument controls expansion of Noweb syntax
references (*note Noweb reference syntax::). Expansions occur when
source code blocks are evaluated, tangled, or exported.
• ‘no’ Default. No expansion of Noweb syntax references in the body
of the code when evaluating, tangling, or exporting.
• ‘yes’ Expansion of Noweb syntax references in the body of the ‘src’
code block when evaluating, tangling, or exporting.
• ‘tangle’ Expansion of Noweb syntax references in the body of the
‘src’ code block when tangling. No expansion when evaluating or
exporting.
• ‘no-export’ Expansion of Noweb syntax references in the body of the
‘src’ code block when evaluating or tangling. No expansion when
exporting.
• ‘strip-export’ Expansion of Noweb syntax references in the body of
the ‘src’ code block when expanding prior to evaluating or
tangling. Removes Noweb syntax references when exporting.
• ‘eval’ Expansion of Noweb syntax references in the body of the
‘src’ code block only before evaluating.
Noweb prefix lines
..................
Noweb insertions now honor prefix characters that appear before the
Noweb syntax reference.
This behavior is illustrated in the following example. Because the
‘<<example>>’ noweb reference appears behind the SQL comment syntax,
each line of the expanded noweb reference will be commented.
With:
#+NAME: example
#+BEGIN_SRC text
this is the
multi-line body of example
#+END_SRC
this ‘src’ code block:
#+BEGIN_SRC sql :noweb yes
-- <<example>>
#+END_SRC
expands to:
-- this is the
-- multi-line body of example
Since this change will not affect noweb replacement text without
newlines in them, inline noweb references are acceptable.
This feature can also be used for management of indentation in
exported code snippets.
With:
#+NAME: if-true
#+BEGIN_SRC python :exports none
print('Do things when True')
#+END_SRC
#+NAME: if-false
#+BEGIN_SRC python :exports none
print('Do things when False')
#+END_SRC
this ‘src’ code block:
#+BEGIN_SRC python :noweb yes :results output
if True:
<<if-true>>
else:
<<if-false>>
#+END_SRC
expands to:
if True:
print('Do things when True')
else:
print('Do things when False')
and evaluates to:
Do things when True
File: org, Node: noweb-ref, Next: noweb-sep, Prev: noweb, Up: Specific header arguments
14.8.2.16 ‘:noweb-ref’
......................
When expanding Noweb style references, Org concatenates ‘src’ code
blocks by matching the reference name to either the code block name or
the ‘:noweb-ref’ header argument.
For simple concatenation, set this ‘:noweb-ref’ header argument at
the sub-tree or file level. In the example Org file shown next, the
body of the source code in each block is extracted for concatenation to
a pure code file when tangled.
#+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh
<<fullest-disk>>
#+END_SRC
* the mount point of the fullest disk
:PROPERTIES:
:header-args: :noweb-ref fullest-disk
:END:
** query all mounted disks
#+BEGIN_SRC sh
df \
#+END_SRC
** strip the header row
#+BEGIN_SRC sh
|sed '1d' \
#+END_SRC
** output mount point of fullest disk
#+BEGIN_SRC sh
|awk '{if (u < +$5) {u = +$5; m = $6}} END {print m}'
#+END_SRC
File: org, Node: noweb-sep, Next: cache, Prev: noweb-ref, Up: Specific header arguments
14.8.2.17 ‘:noweb-sep’
......................
By default a newline separates each noweb reference concatenation. To
change this newline separator, edit the ‘:noweb-sep’ (*note noweb-sep::)
header argument.
File: org, Node: cache, Next: sep, Prev: noweb-sep, Up: Specific header arguments
14.8.2.18 ‘:cache’
..................
The ‘:cache’ header argument is for caching results of evaluating code
blocks. Caching results can avoid re-evaluating ‘src’ code blocks that
have not changed since the previous run. To benefit from the cache and
avoid redundant evaluations, the source block must have a result already
present in the buffer, and neither the header arguments (including the
value of ‘:var’ references) nor the text of the block itself has changed
since the result was last computed. This feature greatly helps avoid
long-running calculations. For some edge cases, however, the cached
results may not be reliable.
The caching feature is best for when ‘src’ blocks are pure functions,
that is functions that return the same value for the same input
arguments (*note var::), and that do not have side effects, and do not
rely on external variables other than the input arguments. Functions
that depend on a timer, file system objects, and random number
generators are clearly unsuitable for caching.
A note of warning: when ‘:cache’ is used for a ‘:session’, caching
may cause unexpected results.
When the caching mechanism tests for any source code changes, it will
not expand Noweb style references (*note Noweb reference syntax::). For
reasons why, see <http://thread.gmane.org/gmane.emacs.orgmode/79046>.
The ‘:cache’ header argument can have one of two values: ‘yes’ or
‘no’.
• ‘no’ Default. No caching of results; ‘src’ code block evaluated
every time.
• ‘yes’ Whether to run the code or return the cached results is
determined by comparing the SHA1 hash value of the combined ‘src’
code block and arguments passed to it. This hash value is packed
on the ‘#+RESULTS:’ line from previous evaluation. When hash
values match, Org does not evaluate the ‘src’ code block. When
hash values mismatch, Org evaluates the ‘src’ code block, inserts
the results, recalculates the hash value, and updates ‘#+RESULTS:’
line.
In this example, both functions are cached. But ‘caller’ runs only
if the result from ‘random’ has changed since the last run.
#+NAME: random
#+BEGIN_SRC R :cache yes
runif(1)
#+END_SRC
#+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
0.4659510825295
#+NAME: caller
#+BEGIN_SRC emacs-lisp :var x=random :cache yes
x
#+END_SRC
#+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
0.254227238707244
File: org, Node: sep, Next: hlines, Prev: cache, Up: Specific header arguments
14.8.2.19 ‘:sep’
................
The ‘:sep’ header argument is the delimiter for saving results as tables
to files (*note file::) external to Org mode. Org defaults to tab
delimited output. The function, ‘org-open-at-point’, which is bound to
‘C-c C-o’, also uses ‘:sep’ for opening tabular results.
File: org, Node: hlines, Next: colnames, Prev: sep, Up: Specific header arguments
14.8.2.20 ‘:hlines’
...................
In-between each table row or below the table headings, sometimes results
have horizontal lines, which are also known as hlines. The ‘:hlines’
argument with the value ‘yes’ accepts such lines. The default is ‘no’.
• ‘no’ Strips horizontal lines from the input table. For most code,
this is desirable, or else those ‘hline’ symbols raise unbound
variable errors.
The default is ‘:hlines no’. The example shows hlines removed from
the input table.
#+NAME: many-cols
| a | b | c |
|---+---+---|
| d | e | f |
|---+---+---|
| g | h | i |
#+NAME: echo-table
#+BEGIN_SRC python :var tab=many-cols
return tab
#+END_SRC
#+RESULTS: echo-table
| a | b | c |
| d | e | f |
| g | h | i |
• ‘yes’ For ‘:hlines yes’, the example shows hlines unchanged.
#+NAME: many-cols
| a | b | c |
|---+---+---|
| d | e | f |
|---+---+---|
| g | h | i |
#+NAME: echo-table
#+BEGIN_SRC python :var tab=many-cols :hlines yes
return tab
#+END_SRC
#+RESULTS: echo-table
| a | b | c |
|---+---+---|
| d | e | f |
|---+---+---|
| g | h | i |
File: org, Node: colnames, Next: rownames, Prev: hlines, Up: Specific header arguments
14.8.2.21 ‘:colnames’
.....................
The ‘:colnames’ header argument accepts ‘yes’, ‘no’, or ‘nil’ values.
The default value is ‘nil’, which is unassigned. But this header
argument behaves differently depending on the source code language.
• ‘nil’ If an input table has column names (because the second row is
an hline), then Org removes the column names, processes the table,
puts back the column names, and then writes the table to the
results block.
#+NAME: less-cols
| a |
|---|
| b |
| c |
#+NAME: echo-table-again
#+BEGIN_SRC python :var tab=less-cols
return [[val + '*' for val in row] for row in tab]
#+END_SRC
#+RESULTS: echo-table-again
| a |
|----|
| b* |
| c* |
Note that column names have to accounted for when using variable
indexing (*note Indexable variable values: var.) because column
names are not removed for indexing.
• ‘no’ Do not pre-process column names.
• ‘yes’ For an input table that has no hlines, process it like the
‘nil’ value. That is, Org removes the column names, processes the
table, puts back the column names, and then writes the table to the
results block.
File: org, Node: rownames, Next: shebang, Prev: colnames, Up: Specific header arguments
14.8.2.22 ‘:rownames’
.....................
The ‘:rownames’ header argument can take on values ‘yes’ or ‘no’ values.
The default is ‘no’. Note that ‘emacs-lisp’ code blocks ignore
‘:rownames’ header argument because of the ease of table-handling in
Emacs.
• ‘no’ Org will not pre-process row names.
• ‘yes’ If an input table has row names, then Org removes the row
names, processes the table, puts back the row names, and then
writes the table to the results block.
#+NAME: with-rownames
| one | 1 | 2 | 3 | 4 | 5 |
| two | 6 | 7 | 8 | 9 | 10 |
#+NAME: echo-table-once-again
#+BEGIN_SRC python :var tab=with-rownames :rownames yes
return [[val + 10 for val in row] for row in tab]
#+END_SRC
#+RESULTS: echo-table-once-again
| one | 11 | 12 | 13 | 14 | 15 |
| two | 16 | 17 | 18 | 19 | 20 |
Note that row names have to accounted for when using variable
indexing (*note Indexable variable values: var.) because row names
are not removed for indexing.
File: org, Node: shebang, Next: tangle-mode, Prev: rownames, Up: Specific header arguments
14.8.2.23 ‘:shebang’
....................
This header argument can turn results into executable script files. By
setting the ‘:shebang’ header argument to a string value (for example,
‘:shebang "#!/bin/bash"’), Org inserts that string as the first line of
the tangled file that the ‘src’ code block is extracted to. Org then
turns on the tangled file’s executable permission.
File: org, Node: tangle-mode, Next: eval, Prev: shebang, Up: Specific header arguments
14.8.2.24 ‘:tangle-mode’
........................
The ‘tangle-mode’ header argument specifies what permissions to set for
tangled files by ‘set-file-modes’. For example, to make read-only
tangled file, use ‘:tangle-mode (identity #o444)’. To make it
executable, use ‘:tangle-mode (identity #o755)’.
On ‘src’ code blocks with ‘shebang’ (*note shebang::) header
argument, Org will automatically set the tangled file to executable
permissions. But this can be overridden with custom permissions using
‘tangle-mode’ header argument.
When multiple ‘src’ code blocks tangle to a single file with
is undefined.
File: org, Node: eval, Next: wrap, Prev: tangle-mode, Up: Specific header arguments
14.8.2.25 ‘:eval’
.................
The ‘:eval’ header argument can limit evaluation of specific code
blocks. It is useful for protection against evaluating untrusted ‘src’
code blocks by prompting for a confirmation. This protection is
independent of the ‘org-confirm-babel-evaluate’ setting.
‘never or no’
Org will never evaluate this ‘src’ code block.
‘query’
Org prompts the user for permission to evaluate this ‘src’ code
block.
‘never-export or no-export’
Org will not evaluate this ‘src’ code block when exporting, yet the
user can evaluate this source block interactively.
‘query-export’
Org prompts the user for permission to export this ‘src’ code
block.
If ‘:eval’ header argument is not set for a source block, then Org
determines whether to evaluate from the ‘org-confirm-babel-evaluate’
variable (*note Code evaluation security::).
File: org, Node: wrap, Next: post, Prev: eval, Up: Specific header arguments
14.8.2.26 ‘:wrap’
.................
The ‘:wrap’ header argument marks the results block by appending strings
to ‘#+BEGIN_’ and ‘#+END_’. If no string is specified, Org wraps the
results in a ‘#+BEGIN/END_RESULTS’ block.
File: org, Node: post, Next: prologue, Prev: wrap, Up: Specific header arguments
14.8.2.27 ‘:post’
.................
The ‘:post’ header argument is for post-processing results from ‘src’
block evaluation. When ‘:post’ has any value, Org binds the results to
‘*this*’ variable for easy passing to *note var:: header argument
specifications. That makes results available to other ‘src’ code
blocks, or for even direct Emacs Lisp code execution.
The following two examples illustrate ‘:post’ header argument in
action. The first one shows how to attach ‘#+ATTR_LATEX:’ line using
‘:post’.
#+name: attr_wrap
#+begin_src sh :var data="" :var width="\\textwidth" :results output
echo "#+ATTR_LATEX: :width $width"
echo "$data"
#+end_src
#+header: :file /tmp/it.png
#+begin_src dot :post attr_wrap(width="5cm", data=*this*) :results drawer
digraph{
a -> b;
b -> c;
c -> a;
}
#+end_src
#+RESULTS:
:RESULTS:
#+ATTR_LATEX :width 5cm
[[file:/tmp/it.png]]
:END:
The second example shows use of ‘:colnames’ in ‘:post’ to pass data
between ‘src’ code blocks.
#+name: round-tbl
#+begin_src emacs-lisp :var tbl="" fmt="%.3f"
(mapcar (lambda (row)
(mapcar (lambda (cell)
(if (numberp cell)
(format fmt cell)
cell))
row))
tbl)
#+end_src
#+begin_src R :colnames yes :post round-tbl[:colnames yes](*this*)
set.seed(42)
data.frame(foo=rnorm(1))
#+end_src
#+RESULTS:
| foo |
|-------|
| 1.371 |
File: org, Node: prologue, Next: epilogue, Prev: post, Up: Specific header arguments
14.8.2.28 ‘:prologue’
.....................
The ‘prologue’ header argument is for appending to the top of the code
block for execution. For example, a clear or reset code at the start of
new execution of a ‘src’ code block. A ‘reset’ for ‘gnuplot’:
‘:prologue "reset"’. See also *note epilogue::.
(add-to-list 'org-babel-default-header-args:gnuplot
'((:prologue . "reset")))
File: org, Node: epilogue, Prev: prologue, Up: Specific header arguments
14.8.2.29 ‘:epilogue’
.....................
The value of the ‘epilogue’ header argument is for appending to the end
of the code block for execution. See also *note prologue::.
File: org, Node: Results of evaluation, Next: Noweb reference syntax, Prev: Header arguments, Up: Working with source code
14.9 Results of evaluation
==========================
How Org handles results of a code block execution depends on many header
arguments working together. Here is only a summary of these. For an
enumeration of all the header arguments that affect results, see *note
results::.
The primary determinant is the execution context. Is it in a
‘:session’ or not? Orthogonal to that is if the expected result is a
‘:results value’ or ‘:results output’, which is a concatenation of
output from start to finish of the ‘src’ code block’s evaluation.
Non-session Session
‘:results value’ value of last value of last expression
expression
‘:results output’ contents of STDOUT concatenation of interpreter
output
For ‘:session’ and non-session, the ‘:results value’ turns the
results into an Org mode table format. Single values are wrapped in a
one dimensional vector. Rows and columns of a table are wrapped in a
two-dimensional vector.
14.9.1 Non-session
14.9.1.1 ‘:results value’
.........................
Default. Org gets the value by wrapping the code in a function
definition in the language of the ‘src’ block. That is why when using
‘:results value’, code should execute like a function and return a
value. For languages like Python, an explicit ‘return’ statement is
mandatory when using ‘:results value’.
This is one of four evaluation contexts where Org automatically wraps
the code in a function definition.
14.9.1.2 ‘:results output’
..........................
For ‘:results output’, the code is passed to an external process running
the interpreter. Org returns the contents of the standard output stream
as as text results.
14.9.2 Session
14.9.2.1 ‘:results value’
.........................
For ‘:results value’ from a ‘:session’, Org passes the code to an
interpreter running as an interactive Emacs inferior process. So only
languages that provide interactive evaluation can have session support.
Not all languages provide this support, such as ‘C’ and ‘ditaa’. Even
those that do support, such as ‘Python’ and ‘Haskell’, they impose
limitations on allowable language constructs that can run interactively.
Org inherits those limitations for those ‘src’ code blocks running in a
‘:session’.
Org gets the value from the source code interpreter’s last statement
output. Org has to use language-specific methods to obtain the value.
For example, from the variable ‘_’ in ‘Python’ and ‘Ruby’, and the value
of ‘.Last.value’ in ‘R’).
14.9.2.2 ‘:results output’
..........................
For ‘:results output’, Org passes the code to the interpreter running as
an interactive Emacs inferior process. Org concatenates whatever text
output emitted by the interpreter to return the collection as a result.
Note that this collection is not the same as collected from ‘STDOUT’ of
a non-interactive interpreter running as an external process. Compare
for example these two blocks:
#+BEGIN_SRC python :results output
print "hello"
2
print "bye"
#+END_SRC
#+RESULTS:
: hello
: bye
In the above non-session mode, the “2” is not printed; so does not
appear in results.
#+BEGIN_SRC python :results output :session
print "hello"
2
print "bye"
#+END_SRC
#+RESULTS:
: hello
: 2
: bye
In the above ‘:session’ mode, the interactive interpreter receives
and prints “2”. Results show that.
File: org, Node: Noweb reference syntax, Next: Key bindings and useful functions, Prev: Results of evaluation, Up: Working with source code
14.10 Noweb reference syntax
============================
Org supports named blocks in Noweb style syntax. For Noweb literate
programming details, see <http://www.cs.tufts.edu/~nr/noweb/>).
<<code-block-name>>
For the header argument ‘:noweb yes’, Org expands Noweb style
references in the ‘src’ code block before evaluation.
For the header argument ‘:noweb no’, Org does not expand Noweb style
references in the ‘src’ code block before evaluation.
The default is ‘:noweb no’. Org defaults to ‘:noweb no’ so as not to
cause errors in languages where Noweb syntax is ambiguous. Change Org’s
default to ‘:noweb yes’ for languages where there is no risk of
confusion.
Org offers a more flexible way to resolve Noweb style references
(*note noweb-ref::).
Org can include the _results_ of a code block rather than its body.
To that effect, append parentheses, possibly including arguments, to the
code block name, as show below.
<<code-block-name(optional arguments)>>
Note that when using the above approach to a code block’s results,
the code block name set by ‘#+NAME’ keyword is required; the reference
set by ‘:noweb-ref’ will not work.
Here is an example that demonstrates how the exported content changes
when Noweb style references are used with parentheses versus without.
With:
#+NAME: some-code
#+BEGIN_SRC python :var num=0 :results output :exports none
print(num*10)
#+END_SRC
this code block:
#+BEGIN_SRC text :noweb yes
<<some-code>>
#+END_SRC
expands to:
print(num*10)
Below, a similar Noweb style reference is used, but with parentheses,
while setting a variable ‘num’ to 10:
#+BEGIN_SRC text :noweb yes
<<some-code(num=10)>>
#+END_SRC
Note that now the expansion contains the _results_ of the code block
‘some-code’, not the code block itself:
100
For faster tangling of large Org mode files, set
‘org-babel-use-quick-and-dirty-noweb-expansion’ variable to ‘t’. The
speedup comes at the expense of not correctly resolving inherited values
of the ‘:noweb-ref’ header argument.
File: org, Node: Key bindings and useful functions, Next: Batch execution, Prev: Noweb reference syntax, Up: Working with source code
14.11 Key bindings and useful functions
=======================================
Many common Org mode key sequences are re-bound depending on the
context.
Active key bindings in code blocks:
‘C-c C-c’ ‘org-babel-execute-src-block’
‘C-c C-o’ ‘org-babel-open-src-block-result’
‘M-<UP>’ ‘org-babel-load-in-session’
‘M-<DOWN>’ ‘org-babel-switch-to-session’
Active key bindings in Org mode buffer:
‘C-c C-v p’ or ‘C-c C-v C-p’ ‘org-babel-previous-src-block’
‘C-c C-v n’ or ‘C-c C-v C-n’ ‘org-babel-next-src-block’
‘C-c C-v e’ or ‘C-c C-v C-e’ ‘org-babel-execute-maybe’
‘C-c C-v o’ or ‘C-c C-v C-o’ ‘org-babel-open-src-block-result’
‘C-c C-v v’ or ‘C-c C-v C-v’ ‘org-babel-expand-src-block’
‘C-c C-v u’ or ‘C-c C-v C-u’ ‘org-babel-goto-src-block-head’
‘C-c C-v g’ or ‘C-c C-v C-g’ ‘org-babel-goto-named-src-block’
‘C-c C-v r’ or ‘C-c C-v C-r’ ‘org-babel-goto-named-result’
‘C-c C-v b’ or ‘C-c C-v C-b’ ‘org-babel-execute-buffer’
‘C-c C-v s’ or ‘C-c C-v C-s’ ‘org-babel-execute-subtree’
‘C-c C-v d’ or ‘C-c C-v C-d’ ‘org-babel-demarcate-block’
‘C-c C-v t’ or ‘C-c C-v C-t’ ‘org-babel-tangle’
‘C-c C-v f’ or ‘C-c C-v C-f’ ‘org-babel-tangle-file’
‘C-c C-v c’ or ‘C-c C-v C-c’ ‘org-babel-check-src-block’
‘C-c C-v j’ or ‘C-c C-v C-j’ ‘org-babel-insert-header-arg’
‘C-c C-v l’ or ‘C-c C-v C-l’ ‘org-babel-load-in-session’
‘C-c C-v i’ or ‘C-c C-v C-i’ ‘org-babel-lob-ingest’
‘C-c C-v I’ or ‘C-c C-v C-I’ ‘org-babel-view-src-block-info’
‘C-c C-v z’ or ‘C-c C-v C-z’ ‘org-babel-switch-to-session-with-code’
‘C-c C-v a’ or ‘C-c C-v C-a’ ‘org-babel-sha1-hash’
‘C-c C-v h’ or ‘C-c C-v C-h’ ‘org-babel-describe-bindings’
‘C-c C-v x’ or ‘C-c C-v C-x’ ‘org-babel-do-key-sequence-in-edit-buffer’
File: org, Node: Batch execution, Prev: Key bindings and useful functions, Up: Working with source code
14.12 Batch execution
=====================
Org mode features, including working with source code facilities can be
invoked from the command line. This enables building shell scripts for
batch processing, running automated system tasks, and expanding Org
mode’s usefulness.
The sample script shows batch processing of multiple files using
‘org-babel-tangle’.
#!/bin/sh
# tangle files with org-mode
#
emacs -Q --batch --eval "
(progn
(require 'ob-tangle)
(dolist (file command-line-args-left)
(with-current-buffer (find-file-noselect file)
(org-babel-tangle))))
" "$@"
File: org, Node: Miscellaneous, Next: Hacking, Prev: Working with source code, Up: Top
15 Miscellaneous
****************
* Menu:
* Completion:: M-<TAB> guesses completions
* Easy templates:: Quick insertion of structural elements
* Speed keys:: Electric commands at the beginning of a headline
* Code evaluation security:: Org mode files evaluate inline code
* Customization:: Adapting Org to changing tastes
* In-buffer settings:: Overview of the ‘#+KEYWORDS’
* The very busy C-c C-c key:: When in doubt, press C-c C-c
* Clean view:: Getting rid of leading stars in the outline
* TTY keys:: Using Org on a tty
* Interaction:: With other Emacs packages
* org-crypt:: Encrypting Org files
File: org, Node: Completion, Next: Easy templates, Up: Miscellaneous
15.1 Completion
===============
Org has in-buffer completions. Unlike minibuffer completions, which are
useful for quick command interactions, Org’s in-buffer completions are
more suitable for content creation in Org documents. Type one or more
letters and invoke the hot key to complete the text in-place. Depending
on the context and the keys, Org will offer different types of
completions. No minibuffer is involved. Such mode-specific hot keys
have become an integral part of Emacs and Org provides several
shortcuts.
‘M-<TAB>’
Complete word at point
• At the beginning of a headline, complete TODO keywords.
• After ‘\’, complete TeX symbols supported by the exporter.
• After ‘*’, complete headlines in the current buffer so that
they can be used in search links like ‘[[*find this
headline]]’.
• After ‘:’ in a headline, complete tags. The list of tags is
taken from the variable ‘org-tag-alist’ (possibly set through
the ‘#+TAGS’ in-buffer option, *note Setting tags::), or it is
created dynamically from all tags used in the current buffer.
• After ‘:’ and not in a headline, complete property keys. The
list of keys is constructed dynamically from all keys used in
the current buffer.
• After ‘[’, complete link abbreviations (*note Link
abbreviations::).
• After ‘#+’, complete the special keywords like ‘TYP_TODO’ or
file-specific ‘OPTIONS’. After option keyword is complete,
pressing ‘M-<TAB>’ again will insert example settings for that
option.
• After ‘#+STARTUP:’, complete startup keywords.
• When the point is anywhere else, complete dictionary words
using Ispell.
If your desktop intercepts the combo ‘M-<TAB>’ to switch windows,
use ‘C-M-i’ or ‘<ESC> <TAB>’ as an alternative or customize your
environment.
File: org, Node: Easy templates, Next: Speed keys, Prev: Completion, Up: Miscellaneous
15.2 Easy templates
===================
With just a few keystrokes, Org’s easy templates inserts empty pairs of
structural elements, such as ‘#+BEGIN_SRC’ and ‘#+END_SRC’. Easy
templates use an expansion mechanism, which is native to Org, in a
process similar to ‘yasnippet’ and other Emacs template expansion
packages.
‘<’ ‘s’ ‘<TAB>’ expands to a ‘src’ code block.
‘<’ ‘l’ ‘<TAB>’ expands to:
#+BEGIN_EXPORT latex
#+END_EXPORT
Org comes with these pre-defined easy templates:
‘s’ ‘#+BEGIN_SRC ... #+END_SRC’
‘e’ ‘#+BEGIN_EXAMPLE ... #+END_EXAMPLE’
‘q’ ‘#+BEGIN_QUOTE ... #+END_QUOTE’
‘v’ ‘#+BEGIN_VERSE ... #+END_VERSE’
‘c’ ‘#+BEGIN_CENTER ... #+END_CENTER’
‘C’ ‘#+BEGIN_COMMENT ... #+END_COMMENT’
‘l’ ‘#+BEGIN_EXPORT latex ... #+END_EXPORT’
‘L’ ‘#+LATEX:’
‘h’ ‘#+BEGIN_EXPORT html ... #+END_EXPORT’
‘H’ ‘#+HTML:’
‘a’ ‘#+BEGIN_EXPORT ascii ... #+END_EXPORT’
‘A’ ‘#+ASCII:’
‘i’ ‘#+INDEX:’ line
‘I’ ‘#+INCLUDE:’ line
More templates can added by customizing the variable
‘org-structure-template-alist’, whose docstring has additional details.
File: org, Node: Speed keys, Next: Code evaluation security, Prev: Easy templates, Up: Miscellaneous
15.3 Speed keys
===============
Single keystrokes can execute custom commands in an Org file when the
cursor is on a headline. Without the extra burden of a meta or modifier
key, Speed Keys can speed navigation or execute custom commands.
Besides faster navigation, Speed Keys may come in handy on small mobile
devices that do not have full keyboards. Speed Keys may also work on
TTY devices known for their problems when entering Emacs keychords.
By default, Org has Speed Keys disabled. To activate Speed Keys, set
the variable ‘org-use-speed-commands’ to a non-‘nil’ value. To trigger
a Speed Key, the cursor must be at the beginning of an Org headline,
before any of the stars.
Org comes with a pre-defined list of Speed Keys. To add or modify
Speed Keys, customize the variable, ‘org-speed-commands-user’. For more
details, see the variable’s docstring. With Speed Keys activated, ‘M-x
org-speed-command-help’, or ‘?’ when cursor is at the beginning of an
Org headline, shows currently active Speed Keys, including the
user-defined ones.
File: org, Node: Code evaluation security, Next: Customization, Prev: Speed keys, Up: Miscellaneous
15.4 Code evaluation and security issues
========================================
Unlike plain text, running code comes with risk. Each ‘src’ code block,
in terms of risk, is equivalent to an executable file. Org therefore
puts a few confirmation prompts by default. This is to alert the casual
user from accidentally running untrusted code.
For users who do not run code blocks or write code regularly, Org’s
default settings should suffice. However, some users may want to tweak
the prompts for fewer interruptions. To weigh the risks of automatic
execution of code blocks, here are some details about code evaluation.
Org evaluates code in the following circumstances:
Source code blocks
Org evaluates ‘src’ code blocks in an Org file during export. Org
also evaluates a ‘src’ code block with the ‘C-c C-c’ key chord.
Users exporting or running code blocks must load files only from
trusted sources. Be wary of customizing variables that remove or
alter default security measures.
-- User Option: org-confirm-babel-evaluate
When ‘t’, Org prompts the user for confirmation before
executing each code block. When ‘nil’, Org executes code
blocks without prompting the user for confirmation. When this
option is set to a custom function, Org invokes the function
with these two arguments: the source code language and the
body of the code block. The custom function must return
either a ‘t’ or ‘nil’, which determines if the user is
prompted. Each source code language can be handled separately
through this function argument.
For example, this function enables execution of ‘ditaa’ code
+blocks without prompting:
(defun my-org-confirm-babel-evaluate (lang body)
(not (string= lang "ditaa"))) ; don't ask for ditaa
(setq org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate)
Following ‘shell’ and ‘elisp’ links
Org has two link types that can also directly evaluate code (*note
External links::). Because such code is not visible, these links
have a potential risk. Org therefore prompts the user when it
encounters such links. The customization variables are:
-- User Option: org-confirm-shell-link-function
Function that prompts the user before executing a shell link.
-- User Option: org-confirm-elisp-link-function
Function that prompts the user before executing an Emacs Lisp
link.
Formulas in tables
Org executes formulas in tables (*note The spreadsheet::) either
through the _calc_ or the _Emacs Lisp_ interpreters.
File: org, Node: Customization, Next: In-buffer settings, Prev: Code evaluation security, Up: Miscellaneous
15.5 Customization
==================
Org has more than 500 variables for customization. They can be accessed
through the usual ‘M-x org-customize <RET>’ command. Or through the Org
menu, ‘Org->Customization->Browse Org Group’. Org also has per-file
settings for some variables (*note In-buffer settings::).
File: org, Node: In-buffer settings, Next: The very busy C-c C-c key, Prev: Customization, Up: Miscellaneous
15.6 Summary of in-buffer settings
==================================
In-buffer settings start with ‘#+’, followed by a keyword, a colon, and
then a word for each setting. Org accepts multiple settings on the same
line. Org also accepts multiple lines for a keyword. This manual
describes these settings throughout. A summary follows here.
‘C-c C-c’ activates any changes to the in-buffer settings. Closing
and reopening the Org file in Emacs also activates the changes.
‘#+ARCHIVE: %s_done::’
Sets the archive location of the agenda file. This location
applies to the lines until the next ‘#+ARCHIVE’ line, if any, in
the Org file. The first archive location in the Org file also
applies to any entries before it. The corresponding variable is
‘org-archive-location’.
‘#+CATEGORY:’
Sets the category of the agenda file, which applies to the entire
document.
‘#+COLUMNS: %25ITEM ...’
Sets the default format for columns view. Org uses this format for
column views where there is no ‘COLUMNS’ property.
‘#+CONSTANTS: name1=value1 ...’
Set file-local values for constants that table formulas can use.
This line sets the local variable
‘org-table-formula-constants-local’. The global version of this
variable is ‘org-table-formula-constants’.
‘#+FILETAGS: :tag1:tag2:tag3:’
Set tags that all entries in the file will inherit from here,
including the top-level entries.
‘#+LINK: linkword replace’
Each line specifies one abbreviation for one link. Use multiple
‘#+LINK:’ lines for more, *note Link abbreviations::. The
corresponding variable is ‘org-link-abbrev-alist’.
‘#+PRIORITIES: highest lowest default’
This line sets the limits and the default for the priorities. All
three must be either letters A–Z or numbers 0–9. The highest
priority must have a lower ASCII number than the lowest priority.
‘#+PROPERTY: Property_Name Value’
This line sets a default inheritance value for entries in the
current buffer, most useful for specifying the allowed values of a
property.
‘#+SETUPFILE: file or URL’
The setup file or a URL pointing to such file is for additional
in-buffer settings. Org loads this file and parses it for any
settings in it only when Org opens the main file. If URL is
specified, the contents are downloaded and stored in a temporary
file cache. ‘C-c C-c’ on the settings line will parse and load the
file, and also reset the temporary file cache. Org also parses and
loads the document during normal exporting process. Org parses the
contents of this document as if it was included in the buffer. It
can be another Org file. To visit the file (not a URL), ‘C-c '’
while the cursor is on the line with the file name.
‘#+STARTUP:’
Startup options Org uses when first visiting a file.
The first set of options deals with the initial visibility of the
outline tree. The corresponding variable for global default
settings is ‘org-startup-folded’ with a default value of ‘t’, which
is the same as ‘overview’.
overview top-level headlines only
content all headlines
showall no folding of any entries
showeverything show even drawer contents
Dynamic virtual indentation is controlled by the variable
‘org-startup-indented’
indent start with ‘org-indent-mode’ turned on
noindent start with ‘org-indent-mode’ turned off
Aligns tables consistently upon visiting a file; useful for
restoring narrowed table columns. The corresponding variable is
‘org-startup-align-all-tables’ with ‘nil’ as default value.
align align all tables
noalign don’t align tables on startup
Whether Org should automatically display inline images. The
corresponding variable is ‘org-startup-with-inline-images’, with a
default value ‘nil’ to avoid delays when visiting a file.
inlineimages show inline images
noinlineimages don’t show inline images on startup
Whether Org should automatically convert LaTeX fragments to images.
The variable ‘org-startup-with-latex-preview’, which controls this
setting, is set to ‘nil’ by default to avoid startup delays.
latexpreview preview LaTeX fragments
nolatexpreview don’t preview LaTeX fragments
Logging the closing and reopening of TODO items and clock intervals
can be configured using these options (see variables
‘org-log-done’, ‘org-log-note-clock-out’ and ‘org-log-repeat’)
logdone record a timestamp when an item is marked DONE
lognotedone record timestamp and a note when DONE
nologdone don’t record when items are marked DONE
logrepeat record a time when reinstating a repeating item
lognoterepeat record a note when reinstating a repeating item
nologrepeat do not record when reinstating repeating item
lognoteclock-out record a note when clocking out
nolognoteclock-out don’t record a note when clocking out
logreschedule record a timestamp when scheduling time changes
lognotereschedule record a note when scheduling time changes
nologreschedule do not record when a scheduling date changes
logredeadline record a timestamp when deadline changes
lognoteredeadline record a note when deadline changes
nologredeadline do not record when a deadline date changes
logrefile record a timestamp when refiling
lognoterefile record a note when refiling
nologrefile do not record when refiling
logdrawer store log into drawer
nologdrawer store log outside of drawer
logstatesreversed reverse the order of states notes
nologstatesreversed do not reverse the order of states notes
These options hide leading stars in outline headings, and indent
outlines. The corresponding variables are ‘org-hide-leading-stars’
and ‘org-odd-levels-only’, both with a default setting of ‘nil’
(meaning ‘showstars’ and ‘oddeven’).
hidestars hide all stars on the headline except one.
showstars show all stars on the headline
indent virtual indents according to the outline level
noindent no virtual indents
odd show odd outline levels only (1,3,...)
oddeven show all outline levels
To turn on custom format overlays over timestamps (variables
‘org-put-time-stamp-overlays’ and
‘org-time-stamp-overlay-formats’), use
customtime overlay custom time format
The following options influence the table spreadsheet (variable
‘constants-unit-system’).
constcgs ‘constants.el’ should use the c-g-s unit system
constSI ‘constants.el’ should use the SI unit system
For footnote settings, use the following keywords. The
corresponding variables are ‘org-footnote-define-inline’,
‘org-footnote-auto-label’, and ‘org-footnote-auto-adjust’.
fninline define footnotes inline
fnnoinline define footnotes in separate section
fnlocal define footnotes near first reference, but not inline
fnprompt prompt for footnote labels
fnauto create ‘[fn:1]’-like labels automatically (default)
fnconfirm offer automatic label for editing or confirmation
fnplain create ‘[1]’-like labels automatically
fnadjust automatically renumber and sort footnotes
nofnadjust do not renumber and sort automatically
To hide blocks on startup, use these keywords. The corresponding
variable is ‘org-hide-block-startup’.
hideblocks Hide all begin/end blocks on startup
nohideblocks Do not hide blocks on startup
The display of entities as UTF-8 characters is governed by the
variable ‘org-pretty-entities’ and the keywords
entitiespretty Show entities as UTF-8 characters where possible
entitiesplain Leave entities plain
‘#+TAGS: TAG1(c1) TAG2(c2)’
These lines specify valid tags for this file. Org accepts multiple
tags lines. Tags could correspond to the _fast tag selection_
keys. The corresponding variable is ‘org-tag-alist’.
‘#+TBLFM:’
This line is for formulas for the table directly above. A table
can have multiple ‘#+TBLFM:’ lines. On table recalculation, Org
applies only the first ‘#+TBLFM:’ line. For details see *note
Using multiple #+TBLFM lines:: in *note Editing and debugging
formulas::.
‘#+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+DATE:,’
‘#+OPTIONS:, #+BIND:,’
‘#+SELECT_TAGS:, #+EXCLUDE_TAGS:’
These lines provide settings for exporting files. For more details
see *note Export settings::.
‘#+TODO: #+SEQ_TODO: #+TYP_TODO:’
These lines set the TODO keywords and their significance to the
current file. The corresponding variable is ‘org-todo-keywords’.
File: org, Node: The very busy C-c C-c key, Next: Clean view, Prev: In-buffer settings, Up: Miscellaneous
15.7 The very busy C-c C-c key
==============================
The ‘C-c C-c’ key in Org serves many purposes depending on the context.
It is probably the most over-worked, multi-purpose key combination in
Org. Its uses are well-documented through out this manual, but here is
a consolidated list for easy reference.
− If any highlights shown in the buffer from the creation of a sparse
tree, or from clock display, remove such highlights.
− If the cursor is in one of the special ‘#+KEYWORD’ lines, scan the
buffer for these lines and update the information. Also reset the
Org file cache used to temporary store the contents of URLs used as
values for keywords like ‘#+SETUPFILE’.
− If the cursor is inside a table, realign the table. The table
realigns even if automatic table editor is turned off.
− If the cursor is on a ‘#+TBLFM’ line, re-apply the formulas to the
entire table.
− If the current buffer is a capture buffer, close the note and file
it. With a prefix argument, also jump to the target location after
saving the note.
− If the cursor is on a ‘<<<target>>>’, update radio targets and
corresponding links in this buffer.
− If the cursor is on a property line or at the start or end of a
property drawer, offer property commands.
− If the cursor is at a footnote reference, go to the corresponding
definition, and _vice versa_.
− If the cursor is on a statistics cookie, update it.
− If the cursor is in a plain list item with a checkbox, toggle the
status of the checkbox.
− If the cursor is on a numbered item in a plain list, renumber the
ordered list.
− If the cursor is on the ‘#+BEGIN’ line of a dynamic block, the
block is updated.
− If the cursor is at a timestamp, fix the day name in the timestamp.
File: org, Node: Clean view, Next: TTY keys, Prev: The very busy C-c C-c key, Up: Miscellaneous
15.8 A cleaner outline view
===========================
Org’s default outline with stars and no indents can become too cluttered
for short documents. For _book-like_ long documents, the effect is not
as noticeable. Org provides an alternate stars and indentation scheme,
as shown on the right in the following table. It uses only one star and
indents text to line with the heading:
* Top level headline | * Top level headline
** Second level | * Second level
*** 3rd level | * 3rd level
some text | some text
*** 3rd level | * 3rd level
more text | more text
* Another top level headline | * Another top level headline
To turn this mode on, use the minor mode, ‘org-indent-mode’. Text
lines that are not headlines are prefixed with spaces to vertically
align with the headline text(1).
To make more horizontal space, the headlines are shifted by two
stars. This can be configured by the ‘org-indent-indentation-per-level’
variable. Only one star on each headline is visible, the rest are
masked with the same font color as the background. This font face can
be configured with the ‘org-hide’ variable.
Note that turning on ‘org-indent-mode’ sets ‘org-hide-leading-stars’
to ‘t’ and ‘org-adapt-indentation’ to ‘nil’; ‘2.’ below shows how this
works.
To globally turn on ‘org-indent-mode’ for all files, customize the
variable ‘org-startup-indented’.
To turn on indenting for individual files, use ‘#+STARTUP’ option as
follows:
#+STARTUP: indent
Indent on startup makes Org use hard spaces to align text with
headings as shown in examples below.
1. _Indentation of text below headlines_
Indent text to align with the headline.
*** 3rd level
more text, now indented
Org adapts indentations with paragraph filling, line wrapping, and
structure editing(2).
2. _Hiding leading stars_
Org can make leading stars invisible. For global preference,
configure the variable ‘org-hide-leading-stars’. For per-file
preference, use these file ‘#+STARTUP’ options:
#+STARTUP: hidestars
#+STARTUP: showstars
With stars hidden, the tree is shown as:
* Top level headline
* Second level
* 3rd level
...
Because Org makes the font color same as the background color to
hide to stars, sometimes ‘org-hide’ face may need tweaking to get
the effect right. For some black and white combinations, ‘grey90’
on a white background might mask the stars better.
3. Using stars for only odd levels, 1, 3, 5, ..., can also clean up
the clutter. This removes two stars from each level(3). For Org
to properly handle this cleaner structure during edits and exports,
configure the variable ‘org-odd-levels-only’. To set this
per-file, use either one of the following lines:
#+STARTUP: odd
#+STARTUP: oddeven
To switch between single and double stars layouts, use ‘M-x
org-convert-to-odd-levels <RET>’ and ‘M-x
org-convert-to-oddeven-levels <RET>’.
---------- Footnotes ----------
(1) The ‘org-indent-mode’ also sets the ‘wrap-prefix’ correctly for
indenting and wrapping long lines of headlines or text. This minor mode
handles ‘visual-line-mode’ and directly applied settings through
‘word-wrap’.
(2) Also see the variable ‘org-adapt-indentation’.
(3) Because ‘LEVEL=2’ has 3 stars, ‘LEVEL=3’ has 4 stars, and so on
File: org, Node: TTY keys, Next: Interaction, Prev: Clean view, Up: Miscellaneous
15.9 Using Org on a tty
=======================
Org provides alternative key bindings for TTY and modern mobile devices
that cannot handle cursor keys and complex modifier key chords. Some of
these workarounds may be more cumbersome than necessary. Users should
look into customizing these further based on their usage needs. For
example, the normal ‘S-<cursor>’ for editing timestamp might be better
with ‘C-c .’ chord.
Default Alternative Speed Alternative
1 key 2
‘S-<TAB>’ ‘C-u <TAB>’ ‘C’
‘M-<LEFT>’ ‘C-c C-x l’ ‘l’ ‘<Esc>
<LEFT>’
‘M-S-<LEFT>’‘C-c C-x L’ ‘L’
‘M-<RIGHT>’ ‘C-c C-x r’ ‘r’ ‘<Esc>
<RIGHT>’
‘M-S-<RIGHT>’‘C-c C-x R’ ‘R’
‘M-<UP>’ ‘C-c C-x u’ ‘ ’ ‘<Esc> <UP>’
‘M-S-<UP>’ ‘C-c C-x U’ ‘U’
‘M-<DOWN>’ ‘C-c C-x d’ ‘ ’ ‘<Esc>
<DOWN>’
‘M-S-<DOWN>’‘C-c C-x D’ ‘D’
‘S-<RET>’ ‘C-c C-x c’ ‘ ’
‘M-<RET>’ ‘C-c C-x m’ ‘ ’ ‘<Esc>
<RET>’
‘M-S-<RET>’ ‘C-c C-x M’ ‘ ’
‘S-<LEFT>’ ‘C-c <LEFT>’ ‘ ’
‘S-<RIGHT>’ ‘C-c ‘ ’
<RIGHT>’
‘S-<UP>’ ‘C-c <UP>’ ‘ ’
‘S-<DOWN>’ ‘C-c <DOWN>’ ‘ ’
‘C-S-<LEFT>’‘C-c C-x ‘ ’
<LEFT>’
‘C-S-<RIGHT>’‘C-c C-x ‘ ’
<RIGHT>’
File: org, Node: Interaction, Next: org-crypt, Prev: TTY keys, Up: Miscellaneous
15.10 Interaction with other packages
=====================================
Org’s compatibility and the level of interaction with other Emacs
packages are documented here.
* Menu:
* Cooperation:: Packages Org cooperates with
* Conflicts:: Packages that lead to conflicts
File: org, Node: Cooperation, Next: Conflicts, Up: Interaction
15.10.1 Packages that Org cooperates with
‘calc.el’ by Dave Gillespie
Org uses the Calc package for tables to implement spreadsheet
functionality (*note The spreadsheet::). Org also uses Calc for
embedded calculations. *Note Embedded Mode: (calc)Embedded Mode.
‘constants.el’ by Carsten Dominik
Org can use names for constants in formulas in tables. Org can
also use calculation suffixes for units, such as ‘M’ for ‘Mega’.
For a standard collection of such constants, install the
‘constants’ package. Install version 2.0 of this package,
available at <https://staff.fnwi.uva.nl/c.dominik/Tools/>. Org
checks if the function ‘constants-get’ has been autoloaded.
Installation instructions are in the file, ‘constants.el’.
‘cdlatex.el’ by Carsten Dominik
Org mode can use CDLaTeX package to efficiently enter LaTeX
fragments into Org files (*note CDLaTeX mode::).
‘imenu.el’ by Ake Stenhoff and Lars Lindberg
Imenu creates dynamic menus based on an index of items in a file.
Org mode supports Imenu menus. Enable it with a mode hook as
follows:
(add-hook 'org-mode-hook
(lambda () (imenu-add-to-menubar "Imenu")))
By default the Imenu index is two levels deep. Change the index
depth using thes variable, ‘org-imenu-depth’.
‘speedbar.el’ by Eric M. Ludlam
Speedbar package creates a special Emacs frame for displaying files
and index items in files. Org mode supports Speedbar; users can
drill into Org files directly from the Speedbar. The ‘<’ in the
Speedbar frame tweaks the agenda commands to that file or to a
subtree.
‘table.el’ by Takaaki Ota
Complex ASCII tables with automatic line wrapping, column- and
row-spanning, and alignment can be created using the Emacs table
package by Takaaki Ota. Org mode recognizes such tables and export
them properly. ‘C-c '’ to edit these tables in a special buffer,
much like Org’s ‘src’ code blocks. Because of interference with
other Org mode functionality, Takaaki Ota tables cannot be edited
directly in the Org buffer.
‘C-c ' (org-edit-special)’
Edit a ‘table.el’ table. Works when the cursor is in a
table.el table.
‘C-c ~ (org-table-create-with-table.el)’
Insert a ‘table.el’ table. If there is already a table at
point, this command converts it between the ‘table.el’ format
and the Org mode format. See the documentation string of the
command ‘org-convert-table’ for details.
File: org, Node: Conflicts, Prev: Cooperation, Up: Interaction
15.10.2 Packages that conflict with Org mode
In Emacs, ‘shift-selection-mode’ combines cursor motions with shift
key to enlarge regions. Emacs sets this mode by default. This
conflicts with Org’s use of ‘S-<cursor>’ commands to change
timestamps, TODO keywords, priorities, and item bullet types, etc.
Since ‘S-<cursor>’ commands outside of specific contexts don’t do
anything, Org offers the variable ‘org-support-shift-select’ for
customization. Org mode accommodates shift selection by (i) making
it available outside of the special contexts where special commands
apply, and (ii) extending an existing active region even if the
cursor moves across a special context.
‘CUA.el’ by Kim. F. Storm
Org key bindings conflict with ‘S-<cursor>’ keys used by CUA mode.
For Org to relinquish these bindings to CUA mode, configure the
variable ‘org-replace-disputed-keys’. When set, Org moves the
following key bindings in Org files, and in the agenda buffer (but
not during date selection).
S-<UP> ⇒ M-p S-<DOWN> ⇒ M-n
S-<LEFT> ⇒ M-- S-<RIGHT> ⇒ M-+
C-S-<LEFT> ⇒ M-S-- C-S-<RIGHT> ⇒ M-S-+
Yes, these are unfortunately more difficult to remember. To define
a different replacement keys, look at the variable
‘org-disputed-keys’.
‘ecomplete.el’ by Lars Magne Ingebrigtsen <larsi@gnus.org>
Ecomplete provides “electric” address completion in address header
lines in message buffers. Sadly Orgtbl mode cuts ecompletes power
supply: No completion happens when Orgtbl mode is enabled in
message buffers while entering text in address header lines. If
one wants to use ecomplete one should _not_ follow the advice to
automagically turn on Orgtbl mode in message buffers (see *note
Orgtbl mode::), but instead—after filling in the message
headers—turn on Orgtbl mode manually when needed in the messages
body.
‘filladapt.el’ by Kyle Jones
Org mode tries to do the right thing when filling paragraphs, list
items and other elements. Many users reported problems using both
‘filladapt.el’ and Org mode, so a safe thing to do is to disable
filladapt like this:
(add-hook 'org-mode-hook 'turn-off-filladapt-mode)
‘yasnippet.el’
The way Org mode binds the <TAB> key (binding to ‘[tab]’ instead of
‘"\t"’) overrules YASnippet’s access to this key. The following
code fixed this problem:
(add-hook 'org-mode-hook
(lambda ()
(setq-local yas/trigger-key [tab])
(define-key yas/keymap [tab] 'yas/next-field-or-maybe-expand)))
The latest version of yasnippet doesn’t play well with Org mode.
If the above code does not fix the conflict, first define the
following function:
(defun yas/org-very-safe-expand ()
(let ((yas/fallback-behavior 'return-nil)) (yas/expand)))
Then tell Org mode to use that function:
(add-hook 'org-mode-hook
(lambda ()
(make-variable-buffer-local 'yas/trigger-key)
(setq yas/trigger-key [tab])
(add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand)
(define-key yas/keymap [tab] 'yas/next-field)))
‘windmove.el’ by Hovav Shacham
This package also uses the ‘S-<cursor>’ keys, so everything written
in the paragraph above about CUA mode also applies here. If you
want make the windmove function active in locations where Org mode
does not have special functionality on ‘S-<cursor>’, add this to
your configuration:
;; Make windmove work in org-mode:
(add-hook 'org-shiftup-final-hook 'windmove-up)
(add-hook 'org-shiftleft-final-hook 'windmove-left)
(add-hook 'org-shiftdown-final-hook 'windmove-down)
(add-hook 'org-shiftright-final-hook 'windmove-right)
‘viper.el’ by Michael Kifer
Viper uses ‘C-c /’ and therefore makes this key not access the
corresponding Org mode command ‘org-sparse-tree’. You need to find
another key for this command, or override the key in
‘viper-vi-global-user-map’ with
(define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree)
File: org, Node: org-crypt, Prev: Interaction, Up: Miscellaneous
15.11 org-crypt.el
==================
Org crypt encrypts the text of an Org entry, but not the headline, or
properties. Org crypt uses the Emacs EasyPG library to encrypt and
decrypt.
Any text below a headline that has a ‘:crypt:’ tag will be
automatically be encrypted when the file is saved. To use a different
tag, customize the ‘org-crypt-tag-matcher’ variable.
Suggested Org crypt settings in Emacs init file:
(require 'org-crypt)
(org-crypt-use-before-save-magic)
(setq org-tags-exclude-from-inheritance (quote ("crypt")))
(setq org-crypt-key nil)
;; GPG key to use for encryption
;; Either the Key ID or set to nil to use symmetric encryption.
(setq auto-save-default nil)
;; Auto-saving does not cooperate with org-crypt.el: so you need
;; to turn it off if you plan to use org-crypt.el quite often.
;; Otherwise, you'll get an (annoying) message each time you
;; start Org.
;; To turn it off only locally, you can insert this:
;;
;; # -*- buffer-auto-save-file-name: nil; -*-
Excluding the crypt tag from inheritance prevents encrypting
previously encrypted text.
File: org, Node: Hacking, Next: MobileOrg, Prev: Miscellaneous, Up: Top
Appendix A Hacking
******************
This appendix covers some areas where users can extend the functionality
of Org.
* Menu:
* Hooks:: How to reach into Org’s internals
* Add-on packages:: Available extensions
* Adding hyperlink types:: New custom link types
* Adding export back-ends:: How to write new export back-ends
* Context-sensitive commands:: How to add functionality to such commands
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
* Dynamic blocks:: Automatically filled blocks
* Special agenda views:: Customized views
* Speeding up your agendas:: Tips on how to speed up your agendas
* Extracting agenda information:: Post-processing of agenda information
* Using the property API:: Writing programs that use entry properties
* Using the mapping API:: Mapping over all or selected entries
File: org, Node: Hooks, Next: Add-on packages, Up: Hacking
A.1 Hooks
=========
Org has a large number of hook variables for adding functionality. This
appendix illustrates using a few. A complete list of hooks with
documentation is maintained by the Worg project at
<https://orgmode.org/worg/doc.html#hooks>.
File: org, Node: Add-on packages, Next: Adding hyperlink types, Prev: Hooks, Up: Hacking
A.2 Add-on packages
===================
Various authors wrote a large number of add-on packages for Org.
These packages are not part of Emacs, but they are distributed as
contributed packages with the separate release available at
<https://orgmode.org>. See the ‘contrib/README’ file in the source code
directory for a list of contributed files. Worg page with more
information is at: <https://orgmode.org/worg/org-contrib/>.
File: org, Node: Adding hyperlink types, Next: Adding export back-ends, Prev: Add-on packages, Up: Hacking
A.3 Adding hyperlink types
==========================
Org has many built-in hyperlink types (*note Hyperlinks::), and an
interface for adding new link types. The example file, ‘org-man.el’,
shows the process of adding Org links to Unix man pages, which look like
this: ‘[[man:printf][The printf manpage]]’:
;;; org-man.el - Support for links to manpages in Org
(require 'org)
(org-add-link-type "man" 'org-man-open)
(add-hook 'org-store-link-functions 'org-man-store-link)
(defcustom org-man-command 'man
"The Emacs command to be used to display a man page."
:group 'org-link
:type '(choice (const man) (const woman)))
(defun org-man-open (path)
"Visit the manpage on PATH.
PATH should be a topic that can be thrown at the man command."
(funcall org-man-command path))
(defun org-man-store-link ()
"Store a link to a manpage."
(when (memq major-mode '(Man-mode woman-mode))
;; This is a man page, we do make this link
(let* ((page (org-man-get-page-name))
(link (concat "man:" page))
(description (format "Manpage for %s" page)))
(org-store-link-props
:type "man"
:link link
:description description))))
(defun org-man-get-page-name ()
"Extract the page name from the buffer name."
;; This works for both `Man-mode' and `woman-mode'.
(if (string-match " \\(\\S-+\\)\\*" (buffer-name))
(match-string 1 (buffer-name))
(error "Cannot create link to this man page")))
(provide 'org-man)
;;; org-man.el ends here
To activate links to man pages in Org, enter this in the init file:
(require 'org-man)
A review of ‘org-man.el’:
1. First, ‘(require 'org)’ ensures ‘org.el’ is loaded.
2. The ‘org-add-link-type’ defines a new link type with ‘man’ prefix.
The call contains the function to call that follows the link type.
3. The next line adds a function to ‘org-store-link-functions’ that
records a useful link with the command ‘C-c l’ in a buffer
displaying a man page.
The rest of the file defines necessary variables and functions.
First is the customization variable ‘org-man-command’. It has two
options, ‘man’ and ‘woman’. Next is a function whose argument is the
link path, which for man pages is the topic of the man command. To
follow the link, the function calls the ‘org-man-command’ to display the
man page.
‘C-c l’ constructs and stores the link.
‘C-c l’ calls the function ‘org-man-store-link’, which first checks
if the ‘major-mode’ is appropriate. If check fails, the function
returns ‘nil’. Otherwise the function makes a link string by combining
the ‘man:’ prefix with the man topic. The function then calls
‘org-store-link-props’ with ‘:type’ and ‘:link’ properties. A
‘:description’ property is an optional string that is displayed when the
function inserts the link in the Org buffer.
‘C-c C-l’ inserts the stored link.
To define new link types, define a function that implements
completion support with ‘C-c C-l’. This function should not accept any
arguments but return the appropriate prefix and complete link string.
File: org, Node: Adding export back-ends, Next: Context-sensitive commands, Prev: Adding hyperlink types, Up: Hacking
A.4 Adding export back-ends
===========================
Org’s export engine makes it easy for writing new back-ends. The
framework on which the engine was built makes it easy to derive new
back-ends from existing ones.
The two main entry points to the export engine are:
‘org-export-define-backend’ and ‘org-export-define-derived-backend’. To
grok these functions, see ‘ox-latex.el’ for an example of defining a new
back-end from scratch, and ‘ox-beamer.el’ for an example of deriving
from an existing engine.
For creating a new back-end from scratch, first set its name as a
symbol in an alist consisting of elements and export functions. To make
the back-end visible to the export dispatcher, set ‘:menu-entry’
keyword. For export options specific to this back-end, set the
‘:options-alist’.
For creating a new back-end from an existing one, set
‘:translate-alist’ to an alist of export functions. This alist replaces
the parent back-end functions.
For complete documentation, see the Org Export Reference on Worg
(https://orgmode.org/worg/dev/org-export-reference.html).
File: org, Node: Context-sensitive commands, Next: Tables in arbitrary syntax, Prev: Adding export back-ends, Up: Hacking
A.5 Context-sensitive commands
==============================
Org has facilities for building context sensitive commands. Authors of
Org add-ons can tap into this functionality.
Some Org commands change depending on the context. The most
important example of this behavior is the ‘C-c C-c’ (*note The very busy
C-c C-c key::). Other examples are ‘M-cursor’ and ‘M-S-cursor’.
These context sensitive commands work by providing a function that
detects special context for that add-on and executes functionality
appropriate for that context.
File: org, Node: Tables in arbitrary syntax, Next: Dynamic blocks, Prev: Context-sensitive commands, Up: Hacking
A.6 Tables and lists in arbitrary syntax
========================================
Because of Org’s success in handling tables with Orgtbl, a frequently
asked feature is to Org’s usability functions to other table formats
native to other modem’s, such as LaTeX. This would be hard to do in a
general way without complicated customization nightmares. Moreover,
that would take Org away from its simplicity roots that Orgtbl has
proven. There is, however, an alternate approach to accomplishing the
same.
This approach involves implementing a custom _translate_ function
that operates on a native Org _source table_ to produce a table in
another format. This strategy would keep the excellently working Orgtbl
simple and isolate complications, if any, confined to the translate
function. To add more alien table formats, we just add more translate
functions. Also the burden of developing custom translate functions for
new table formats will be in the hands of those who know those formats
best.
For an example of how this strategy works, see Orgstruct mode. In
that mode, Bastien added the ability to use Org’s facilities to edit and
re-structure lists. He did by turning ‘orgstruct-mode’ on, and then
exporting the list locally to another format, such as HTML, LaTeX or
Texinfo.
* Menu:
* Radio tables:: Sending and receiving radio tables
* A LaTeX example:: Step by step, almost a tutorial
* Translator functions:: Copy and modify
* Radio lists:: Sending and receiving lists
File: org, Node: Radio tables, Next: A LaTeX example, Up: Tables in arbitrary syntax
A.6.1 Radio tables
Radio tables are target locations for translated tables that are not
near their source. Org finds the target location and inserts the
translated table.
The key to finding the target location are the magic words ‘BEGIN/END
RECEIVE ORGTBL’. They have to appear as comments in the current mode.
If the mode is C, then:
/* BEGIN RECEIVE ORGTBL table_name */
/* END RECEIVE ORGTBL table_name */
At the location of source, Org needs a special line to direct Orgtbl to
translate and to find the target for inserting the translated table.
For example:
#+ORGTBL: SEND table_name translation_function arguments...
‘table_name’ is the table’s reference name, which is also used in the
receiver lines, and the ‘translation_function’ is the Lisp function that
translates. This line, in addition, may also contain alternating key
and value arguments at the end. The translation function gets these
values as a property list. A few standard parameters are already
recognized and acted upon before the translation function is called:
‘:skip N’
Skip the first N lines of the table. Hlines do count; include them
if they are to be skipped.
‘:skipcols (n1 n2 ...)’
List of columns to be skipped. First Org automatically discards
columns with calculation marks and then sends the table to the
translator function, which then skips columns as specified in
‘skipcols’.
To keep the source table intact in the buffer without being disturbed
when the source file is compiled or otherwise being worked on, use one
of these strategies:
• Place the table in a block comment. For example, in C mode you
could wrap the table between ‘/*’ and ‘*/’ lines.
• Put the table after an ‘END’ statement. For example ‘\bye’ in TeX
and ‘\end{document}’ in LaTeX.
• Comment and uncomment each line of the table during edits. The
‘M-x orgtbl-toggle-comment <RET>’ command makes toggling easy.
File: org, Node: A LaTeX example, Next: Translator functions, Prev: Radio tables, Up: Tables in arbitrary syntax
A.6.2 A LaTeX example of radio tables
To wrap a source table in LaTeX, use the ‘comment’ environment provided
by ‘comment.sty’. To activate it, put ‘\usepackage{comment}’ in the
document header. Orgtbl mode inserts a radio table skeleton(1) with the
command ‘M-x orgtbl-insert-radio-table <RET>’, which prompts for a table
name. For example, if ‘salesfigures’ is the name, the template inserts:
% BEGIN RECEIVE ORGTBL salesfigures
% END RECEIVE ORGTBL salesfigures
\begin{comment}
#+ORGTBL: SEND salesfigures orgtbl-to-latex
| | |
\end{comment}
The line ‘#+ORGTBL: SEND’ tells Orgtbl mode to use the function
‘orgtbl-to-latex’ to convert the table to LaTeX format, then insert the
table at the target (receive) location named ‘salesfigures’. Now the
table is ready for data entry. It can even use spreadsheet features(2):
% BEGIN RECEIVE ORGTBL salesfigures
% END RECEIVE ORGTBL salesfigures
\begin{comment}
#+ORGTBL: SEND salesfigures orgtbl-to-latex
| Month | Days | Nr sold | per day |
|-------+------+---------+---------|
| Jan | 23 | 55 | 2.4 |
| Feb | 21 | 16 | 0.8 |
| March | 22 | 278 | 12.6 |
#+TBLFM: $4=$3/$2;%.1f
% $ (optional extra dollar to keep font-lock happy, see footnote)
\end{comment}
After editing, ‘C-c C-c’ inserts translated table at the target
location, between the two marker lines.
For hand-made custom tables, note that the translator needs to skip
the first two lines of the source table. Also the command has to
_splice_ out the target table without the header and footer.
\begin{tabular}{lrrr}
Month & \multicolumn{1}{c}{Days} & Nr.\ sold & per day\\
% BEGIN RECEIVE ORGTBL salesfigures
% END RECEIVE ORGTBL salesfigures
\end{tabular}
%
\begin{comment}
#+ORGTBL: SEND salesfigures orgtbl-to-latex :splice t :skip 2
| Month | Days | Nr sold | per day |
|-------+------+---------+---------|
| Jan | 23 | 55 | 2.4 |
| Feb | 21 | 16 | 0.8 |
| March | 22 | 278 | 12.6 |
#+TBLFM: $4=$3/$2;%.1f
\end{comment}
The LaTeX translator function ‘orgtbl-to-latex’ is already part of
Orgtbl mode and uses ‘tabular’ environment by default to typeset the
table and mark the horizontal lines with ‘\hline’. For additional
parameters to control output, *note Translator functions:::
‘:splice nil/t’
When non-‘nil’, returns only table body lines; not wrapped in
tabular environment. Default is ‘nil’.
‘:fmt fmt’
Format to warp each field. It should contain ‘%s’ for the original
field value. For example, to wrap each field value in dollar
symbol, you could use ‘:fmt "$%s$"’. Format can also wrap a
property list with column numbers and formats, for example ‘:fmt (2
"$%s$" 4 "%s\\%%")’. In place of a string, a function of one
argument can be used; the function must return a formatted string.
‘:efmt efmt’
Format numbers as exponentials. The spec should have ‘%s’ twice
for inserting mantissa and exponent, for example
‘"%s\\times10^{%s}"’. This may also be a property list with column
numbers and formats, for example ‘:efmt (2 "$%s\\times10^{%s}$" 4
"$%s\\cdot10^{%s}$")’. After ‘efmt’ has been applied to a value,
‘fmt’ will also be applied. Functions with two arguments can be
supplied instead of strings. By default, no special formatting is
applied.
---------- Footnotes ----------
(1) By default this works only for LaTeX, HTML, and Texinfo.
Configure the variable ‘orgtbl-radio-table-templates’ to install
templates for other export formats.
(2) If the ‘#+TBLFM’ line contains an odd number of dollar
characters, this may cause problems with font-lock in LaTeX mode. As
shown in the example you can fix this by adding an extra line inside the
‘comment’ environment that is used to balance the dollar expressions.
If you are using AUCTeX with the font-latex library, a much better
solution is to add the ‘comment’ environment to the variable
‘LaTeX-verbatim-environments’.
File: org, Node: Translator functions, Next: Radio lists, Prev: A LaTeX example, Up: Tables in arbitrary syntax
A.6.3 Translator functions
Orgtbl mode has built-in translator functions: ‘orgtbl-to-csv’
(comma-separated values), ‘orgtbl-to-tsv’ (TAB-separated values),
‘orgtbl-to-latex’, ‘orgtbl-to-html’, ‘orgtbl-to-texinfo’,
‘orgtbl-to-unicode’ and ‘orgtbl-to-orgtbl’. They use the generic
translator, ‘orgtbl-to-generic’, which delegates translations to various
export back-ends.
Properties passed to the function through the ‘ORGTBL SEND’ line take
precedence over properties defined inside the function. For example,
this overrides the default LaTeX line endings, ‘\\’, with ‘\\[2mm]’:
#+ORGTBL: SEND test orgtbl-to-latex :lend " \\\\[2mm]"
For a new language translator, define a converter function. It can
be a generic function, such as shown in this example. It marks a
beginning and ending of a table with ‘!BTBL!’ and ‘!ETBL!’; a beginning
and ending of lines with ‘!BL!’ and ‘!EL!’; and uses a TAB for a field
separator:
(defun orgtbl-to-language (table params)
"Convert the orgtbl-mode TABLE to language."
(orgtbl-to-generic
table
(org-combine-plists
'(:tstart "!BTBL!" :tend "!ETBL!" :lstart "!BL!" :lend "!EL!" :sep "\t")
params)))
The documentation for the ‘orgtbl-to-generic’ function shows a complete
list of parameters, each of which can be passed through to
‘orgtbl-to-latex’, ‘orgtbl-to-texinfo’, and any other function using
that generic function.
For complicated translations the generic translator function could be
replaced by a custom translator function. Such a custom function must
take two arguments and return a single string containing the formatted
table. The first argument is the table whose lines are a list of fields
or the symbol ‘hline’. The second argument is the property list
consisting of parameters specified in the ‘#+ORGTBL: SEND’ line. Please
share your translator functions by posting them to the Org users mailing
list, <emacs-orgmode@gnu.org>.
File: org, Node: Radio lists, Prev: Translator functions, Up: Tables in arbitrary syntax
A.6.4 Radio lists
Call the ‘org-list-insert-radio-list’ function to insert a radio list
template in HTML, LaTeX, and Texinfo mode documents. Sending and
receiving radio lists works is the same as for radio tables (*note Radio
tables::) except for these differences:
− Orgstruct mode must be active.
− Use ‘ORGLST’ keyword instead of ‘ORGTBL’.
− ‘C-c C-c’ works only on the first list item.
Built-in translators functions are: ‘org-list-to-latex’,
‘org-list-to-html’ and ‘org-list-to-texinfo’. They use the
‘org-list-to-generic’ translator function. See its documentation for
parameters for accurate customizations of lists. Here is a LaTeX
example:
% BEGIN RECEIVE ORGLST to-buy
% END RECEIVE ORGLST to-buy
\begin{comment}
#+ORGLST: SEND to-buy org-list-to-latex
- a new house
- a new computer
+ a new keyboard
+ a new mouse
- a new life
\end{comment}
‘C-c C-c’ on ‘a new house’ inserts the translated LaTeX list
in-between the BEGIN and END marker lines.
File: org, Node: Dynamic blocks, Next: Special agenda views, Prev: Tables in arbitrary syntax, Up: Hacking
A.7 Dynamic blocks
==================
Org supports _dynamic blocks_ in Org documents. They are inserted with
begin and end markers like any other ‘src’ code block, but the contents
are updated automatically by a user function. For example, ‘C-c C-x
C-r’ inserts a dynamic table that updates the work time (*note Clocking
work time::).
Dynamic blocks can have names and function parameters. The syntax is
similar to ‘src’ code block specifications:
#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
#+END:
These command update dynamic blocks:
‘C-c C-x C-u (org-dblock-update)’
Update dynamic block at point.
‘C-u C-c C-x C-u’
Update all dynamic blocks in the current file.
Before updating a dynamic block, Org removes content between the
BEGIN and END markers. Org then reads the parameters on the BEGIN line
for passing to the writer function. If the function expects to access
the removed content, then Org expects an extra parameter, ‘:content’, on
the BEGIN line.
To syntax for calling a writer function with a named block, ‘myblock’
is: ‘org-dblock-write:myblock’. Parameters come from the BEGIN line.
The following is an example of a dynamic block and a block writer
function that updates the time when the function was last run:
#+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M"
#+END:
The dynamic block’s writer function:
(defun org-dblock-write:block-update-time (params)
(let ((fmt (or (plist-get params :format) "%d. %m. %Y")))
(insert "Last block update at: "
(format-time-string fmt))))
To keep dynamic blocks up-to-date in an Org file, use the function,
‘org-update-all-dblocks’ in hook, such as ‘before-save-hook’. The
‘org-update-all-dblocks’ function does not run if the file is not in Org
mode.
Dynamic blocks, like any other block, can be narrowed with
‘org-narrow-to-block’.
File: org, Node: Special agenda views, Next: Speeding up your agendas, Prev: Dynamic blocks, Up: Hacking
A.8 Special agenda views
========================
Org provides a special hook to further limit items in agenda views:
‘agenda’, ‘agenda*’(1), ‘todo’, ‘alltodo’, ‘tags’, ‘tags-todo’,
‘tags-tree’. Specify a custom function that tests inclusion of every
matched item in the view. This function can also skip as much as is
needed.
For a global condition applicable to agenda views, use the
‘org-agenda-skip-function-global’ variable. Org uses a global condition
with ‘org-agenda-skip-function’ for custom searching.
This example defines a function for a custom view showing TODO items
with WAITING status. Manually this is a multi step search process, but
with a custom view, this can be automated as follows:
The custom function searches the subtree for the WAITING tag and
returns ‘nil’ on match. Otherwise it gives the location from where the
search continues.
(defun my-skip-unless-waiting ()
"Skip trees that are not waiting"
(let ((subtree-end (save-excursion (org-end-of-subtree t))))
(if (re-search-forward ":waiting:" subtree-end t)
nil ; tag found, do not skip
subtree-end))) ; tag not found, continue after end of subtree
To use this custom function in a custom agenda command:
(org-add-agenda-custom-command
'("b" todo "PROJECT"
((org-agenda-skip-function 'my-skip-unless-waiting)
(org-agenda-overriding-header "Projects waiting for something: "))))
Note that this also binds ‘org-agenda-overriding-header’ to a more
meaningful string suitable for the agenda view.
Search for entries with a limit set on levels for the custom search.
This is a general approach to creating custom searches in Org. To
include all levels, use ‘LEVEL>0’(2). Then to selectively pick the
matched entries, use ‘org-agenda-skip-function’, which also accepts Lisp
forms, such as ‘org-agenda-skip-entry-if’ and
‘org-agenda-skip-subtree-if’. For example:
‘(org-agenda-skip-entry-if 'scheduled)’
Skip current entry if it has been scheduled.
‘(org-agenda-skip-entry-if 'notscheduled)’
Skip current entry if it has not been scheduled.
‘(org-agenda-skip-entry-if 'deadline)’
Skip current entry if it has a deadline.
‘(org-agenda-skip-entry-if 'scheduled 'deadline)’
Skip current entry if it has a deadline, or if it is scheduled.
‘(org-agenda-skip-entry-if 'todo '("TODO" "WAITING"))’
Skip current entry if the TODO keyword is TODO or WAITING.
‘(org-agenda-skip-entry-if 'todo 'done)’
Skip current entry if the TODO keyword marks a DONE state.
‘(org-agenda-skip-entry-if 'timestamp)’
Skip current entry if it has any timestamp, may also be deadline or
scheduled.
‘(org-agenda-skip-entry-if 'regexp "regular expression")’
Skip current entry if the regular expression matches in the entry.
‘(org-agenda-skip-entry-if 'notregexp "regular expression")’
Skip current entry unless the regular expression matches.
‘(org-agenda-skip-subtree-if 'regexp "regular expression")’
Same as above, but check and skip the entire subtree.
The following is an example of a search for ‘WAITING’ without the
special function:
(org-add-agenda-custom-command
'("b" todo "PROJECT"
((org-agenda-skip-function '(org-agenda-skip-subtree-if
'regexp ":waiting:"))
(org-agenda-overriding-header "Projects waiting for something: "))))
---------- Footnotes ----------
(1) The ‘agenda*’ view is the same as ‘agenda’ except that it only
considers _appointments_, i.e., scheduled and deadline items that have a
time specification ‘[h]h:mm’ in their time-stamps.
(2) Note that, for ‘org-odd-levels-only’, a level number corresponds
to order in the hierarchy, not to the number of stars.
File: org, Node: Speeding up your agendas, Next: Extracting agenda information, Prev: Special agenda views, Up: Hacking
A.9 Speeding up your agendas
============================
Some agenda commands slow down when the Org files grow in size or
number. Here are tips to speed up:
1. Reduce the number of Org agenda files to avoid slowdowns due to
hard drive accesses.
2. Reduce the number of ‘DONE’ and archived headlines so agenda
operations that skip over these can finish faster.
3. Do not dim blocked tasks:
(setq org-agenda-dim-blocked-tasks nil)
4. Stop preparing agenda buffers on startup:
(setq org-agenda-inhibit-startup nil)
5. Disable tag inheritance for agendas:
(setq org-agenda-use-tag-inheritance nil)
These options can be applied to selected agenda views. For more
details about generation of agenda views, see the docstrings for the
relevant variables, and this dedicated Worg page
(https://orgmode.org/worg/agenda-optimization.html) for agenda
optimization.
File: org, Node: Extracting agenda information, Next: Using the property API, Prev: Speeding up your agendas, Up: Hacking
A.10 Extracting agenda information
==================================
Org provides commands to access agendas through Emacs batch mode.
Through this command-line interface, agendas are automated for further
processing or printing.
‘org-batch-agenda’ creates an agenda view in ASCII and outputs to
STDOUT. This command takes one string parameter. When string length=1,
Org uses it as a key to ‘org-agenda-custom-commands’. These are the
same ones available through ‘C-c a’.
This example command line directly prints the TODO list to the
printer:
emacs -batch -l ~/.emacs -eval '(org-batch-agenda "t")' | lpr
When the string parameter length is two or more characters, Org
matches it with tags/TODO strings. For example, this example command
line prints items tagged with ‘shop’, but excludes items tagged with
‘NewYork’:
emacs -batch -l ~/.emacs \
-eval '(org-batch-agenda "+shop-NewYork")' | lpr
An example showing on-the-fly parameter modifications:
emacs -batch -l ~/.emacs \
-eval '(org-batch-agenda "a" \
org-agenda-span (quote month) \
org-agenda-include-diary nil \
org-agenda-files (quote ("~/org/project.org")))' \
| lpr
which will produce an agenda for the next 30 days from just the
‘~/org/projects.org’ file.
For structured processing of agenda output, use
‘org-batch-agenda-csv’ with the following fields:
category The category of the item
head The headline, without TODO keyword, TAGS and PRIORITY
type The type of the agenda entry, can be
todo selected in TODO match
tagsmatch selected in tags match
diary imported from diary
deadline a deadline
scheduled scheduled
timestamp appointment, selected by timestamp
closed entry was closed on date
upcoming-deadline warning about nearing deadline
past-scheduled forwarded scheduled item
block entry has date block including date
todo The TODO keyword, if any
tags All tags including inherited ones, separated by colons
date The relevant date, like 2007-2-14
time The time, like 15:00-16:50
extra String with extra planning info
priority-l The priority letter if any was given
priority-n The computed numerical priority
If the selection of the agenda item was based on a timestamp, including
those items with ‘DEADLINE’ and ‘SCHEDULED’ keywords, then Org includes
date and time in the output.
If the selection of the agenda item was based on a timestamp (or
deadline/scheduled), then Org includes date and time in the output.
Here is an example of a post-processing script in Perl. It takes the
CSV output from Emacs and prints with a checkbox:
#!/usr/bin/perl
# define the Emacs command to run
$cmd = "emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv \"t\")'";
# run it and capture the output
$agenda = qx{$cmd 2>/dev/null};
# loop over all lines
foreach $line (split(/\n/,$agenda)) {
# get the individual values
($category,$head,$type,$todo,$tags,$date,$time,$extra,
$priority_l,$priority_n) = split(/,/,$line);
# process and print
print "[ ] $head\n";
}
File: org, Node: Using the property API, Next: Using the mapping API, Prev: Extracting agenda information, Up: Hacking
A.11 Using the property API
===========================
Functions for working with properties.
-- Function: org-entry-properties &optional pom which
Get all properties of the entry at point-or-marker POM.
This includes the TODO keyword, the tags, time strings for
deadline, scheduled, and clocking, and any additional properties
defined in the entry. The return value is an alist. Keys may
occur multiple times if the property key was used several times.
POM may also be ‘nil’, in which case the current entry is used. If
WHICH is ‘nil’ or ‘all’, get all properties. If WHICH is ‘special’
or ‘standard’, only get that subclass.
-- Function: org-entry-get pom property &optional inherit
Get value of ‘PROPERTY’ for entry at point-or-marker ‘POM’. By
default, this only looks at properties defined locally in the
entry. If ‘INHERIT’ is non-‘nil’ and the entry does not have the
property, then also check higher levels of the hierarchy. If
‘INHERIT’ is the symbol ‘selective’, use inheritance if and only if
the setting of ‘org-use-property-inheritance’ selects ‘PROPERTY’
for inheritance.
-- Function: org-entry-delete pom property
Delete the property ‘PROPERTY’ from entry at point-or-marker POM.
-- Function: org-entry-put pom property value
Set ‘PROPERTY’ to ‘VALUE’ for entry at point-or-marker POM.
-- Function: org-buffer-property-keys &optional include-specials
Get all property keys in the current buffer.
-- Function: org-insert-property-drawer
Insert a property drawer for the current entry.
-- Function: org-entry-put-multivalued-property pom property &rest
values
Set ‘PROPERTY’ at point-or-marker ‘POM’ to ‘VALUES’. ‘VALUES’
should be a list of strings. They will be concatenated, with
spaces as separators.
-- Function: org-entry-get-multivalued-property pom property
Treat the value of the property ‘PROPERTY’ as a
whitespace-separated list of values and return the values as a list
of strings.
-- Function: org-entry-add-to-multivalued-property pom property value
Treat the value of the property ‘PROPERTY’ as a
whitespace-separated list of values and make sure that ‘VALUE’ is
in this list.
-- Function: org-entry-remove-from-multivalued-property pom property
value
Treat the value of the property ‘PROPERTY’ as a
whitespace-separated list of values and make sure that ‘VALUE’ is
_not_ in this list.
-- Function: org-entry-member-in-multivalued-property pom property
value
Treat the value of the property ‘PROPERTY’ as a
whitespace-separated list of values and check if ‘VALUE’ is in this
list.
-- User Option: org-property-allowed-value-functions
Hook for functions supplying allowed values for a specific
property. The functions must take a single argument, the name of
the property, and return a flat list of allowed values. If ‘:ETC’
is one of the values, use the values as completion help, but allow
also other values to be entered. The functions must return ‘nil’
if they are not responsible for this property.
File: org, Node: Using the mapping API, Prev: Using the property API, Up: Hacking
A.12 Using the mapping API
==========================
Org has sophisticated mapping capabilities for finding entries. Org
uses this functionality internally for generating agenda views. Org
also exposes an API for executing arbitrary functions for each selected
entry. The API’s main entry point is:
-- Function: org-map-entries func &optional match scope &rest skip
Call ‘FUNC’ at each headline selected by ‘MATCH’ in ‘SCOPE’.
‘FUNC’ is a function or a Lisp form. With the cursor positioned at
the beginning of the headline, call the function without arguments.
Org returns an alist of return values of calls to the function.
To avoid preserving point, Org wraps the call to ‘FUNC’ in
save-excursion form. After evaluation, Org moves the cursor to the
end of the line that was just processed. Search continues from
that point forward. This may not always work as expected under
some conditions, such as if the current sub-tree was removed by a
previous archiving operation. In such rare circumstances, Org
skips the next entry entirely when it should not. To stop Org from
such skips, make ‘FUNC’ set the variable ‘org-map-continue-from’ to
a specific buffer position.
‘MATCH’ is a tags/property/TODO match. Org iterates only matched
headlines. Org iterates over all headlines when ‘MATCH’ is ‘nil’
or ‘t’.
‘SCOPE’ determines the scope of this command. It can be any of:
nil the current buffer, respecting the restriction if any
tree the subtree started with the entry at point
region The entries within the active region, if any
file the current buffer, without restriction
file-with-archives
the current buffer, and any archives associated with it
agenda all agenda files
agenda-with-archives
all agenda files with any archive files associated with them
(file1 file2 ...)
if this is a list, all files in the list will be scanned
The remaining args are treated as settings for the scanner’s
skipping facilities. Valid args are:
archive skip trees with the archive tag
comment skip trees with the COMMENT keyword
function or Lisp form
will be used as value for ‘org-agenda-skip-function’,
so whenever the function returns t, FUNC
will not be called for that entry and search will
continue from the point where the function leaves it
The mapping routine can call any arbitrary function, even functions
that change meta data or query the property API (*note Using the
property API::). Here are some handy functions:
-- Function: org-todo &optional arg
Change the TODO state of the entry. See the docstring of the
functions for the many possible values for the argument ‘ARG’.
-- Function: org-priority &optional action
Change the priority of the entry. See the docstring of this
function for the possible values for ‘ACTION’.
-- Function: org-toggle-tag tag &optional onoff
Toggle the tag ‘TAG’ in the current entry. Setting ‘ONOFF’ to
either ‘on’ or ‘off’ will not toggle tag, but ensure that it is
either on or off.
-- Function: org-promote
Promote the current entry.
-- Function: org-demote
Demote the current entry.
This example turns all entries tagged with ‘TOMORROW’ into TODO
entries with keyword ‘UPCOMING’. Org ignores entries in comment trees
and archive trees.
(org-map-entries
'(org-todo "UPCOMING")
"+TOMORROW" 'file 'archive 'comment)
The following example counts the number of entries with TODO keyword
‘WAITING’, in all agenda files.
(length (org-map-entries t "/+WAITING" 'agenda))
File: org, Node: MobileOrg, Next: History and acknowledgments, Prev: Hacking, Up: Top
Appendix B MobileOrg
********************
MobileOrg is a companion mobile app that runs on iOS and Android
devices. MobileOrg enables offline-views and capture support for an Org
mode system that is rooted on a “real” computer. MobileOrg can record
changes to existing entries.
The iOS implementation (https://github.com/MobileOrg/) for the
_iPhone/iPod Touch/iPad_ series of devices, was started by Richard
Moreland and is now in the hands Sean Escriva. Android users should
check out MobileOrg Android
(http://wiki.github.com/matburt/mobileorg-android/) by Matt Jones.
Though the two implementations are not identical, they offer similar
features.
This appendix describes Org’s support for agenda view formats
compatible with MobileOrg. It also describes synchronizing changes,
such as to notes, between MobileOrg and the computer.
To change tags and TODO states in MobileOrg, first customize the
variables ‘org-todo-keywords’ and ‘org-tag-alist’. These should cover
all the important tags and TODO keywords, even if Org files use only
some of them. Though MobileOrg has in-buffer settings, it understands
TODO states _sets_ (*note Per-file keywords::) and _mutually exclusive_
tags (*note Setting tags::) only for those set in these variables.
* Menu:
* Setting up the staging area:: For the mobile device
* Pushing to MobileOrg:: Uploading Org files and agendas
* Pulling from MobileOrg:: Integrating captured and flagged items
File: org, Node: Setting up the staging area, Next: Pushing to MobileOrg, Up: MobileOrg
B.1 Setting up the staging area
===============================
MobileOrg needs access to a file directory on a server to interact with
Emacs. With a public server, consider encrypting the files. MobileOrg
version 1.5 supports encryption for the iPhone. Org also requires
‘openssl’ installed on the local computer. To turn on encryption, set
the same password in MobileOrg and in Emacs. Set the password in the
variable ‘org-mobile-use-encryption’(1). Note that even after MobileOrg
encrypts the file contents, the file names will remain visible on the
file systems of the local computer, the server, and the mobile device.
For a server to host files, consider options like Dropbox.com
(http://dropbox.com) account(2). On first connection, MobileOrg creates
a directory ‘MobileOrg/’ on Dropbox. Pass its location to Emacs through
an init file variable as follows:
(setq org-mobile-directory "~/Dropbox/MobileOrg")
Org copies files to the above directory for MobileOrg. Org also uses
the same directory for sharing notes between Org and MobileOrg.
---------- Footnotes ----------
(1) If Emacs is configured for safe storing of passwords, then
configure the variable, ‘org-mobile-encryption-password’; please read
the docstring of that variable.
(2) An alternative is to use webdav server. MobileOrg documentation
has details of webdav server configuration. Additional help is at FAQ
entry (https://orgmode.org/worg/org-faq.html#mobileorg_webdav).
File: org, Node: Pushing to MobileOrg, Next: Pulling from MobileOrg, Prev: Setting up the staging area, Up: MobileOrg
B.2 Pushing to MobileOrg
========================
Org pushes files listed in ‘org-mobile-files’ to ‘org-mobile-directory’.
Files include agenda files (as listed in ‘org-agenda-files’). Customize
‘org-mobile-files’ to add other files. File names will be staged with
paths relative to ‘org-directory’, so all files should be inside this
directory(1).
Push creates a special Org file ‘agendas.org’ with custom agenda
views defined by the user(2).
Org writes the file ‘index.org’, containing links to other files.
MobileOrg reads this file first from the server to determine what other
files to download for agendas. For faster downloads, MobileOrg will
read only those files whose checksums(3) have changed.
---------- Footnotes ----------
(1) Symbolic links in ‘org-directory’ should have the same name as
their targets.
(2) While creating the agendas, Org mode will force ID properties on
all referenced entries, so that these entries can be uniquely identified
if MobileOrg flags them for further action. To avoid setting properties
configure the variable ‘org-mobile-force-id-on-agenda-items’ to ‘nil’.
Org mode will then rely on outline paths, assuming they are unique.
(3) Checksums are stored automatically in the file ‘checksums.dat’.
File: org, Node: Pulling from MobileOrg, Prev: Pushing to MobileOrg, Up: MobileOrg
B.3 Pulling from MobileOrg
==========================
When MobileOrg synchronizes with the server, it pulls the Org files for
viewing. It then appends to the file ‘mobileorg.org’ on the server the
captured entries, pointers to flagged and changed entries. Org
integrates its data in an inbox file format.
1. Org moves all entries found in ‘mobileorg.org’(1) and appends them
to the file pointed to by the variable ‘org-mobile-inbox-for-pull’.
Each captured entry and each editing event is a top-level entry in
the inbox file.
2. After moving the entries, Org attempts changes to MobileOrg. Some
changes are applied directly and without user interaction.
Examples include changes to tags, TODO state, headline and body
text. Entries for further action are tagged as ‘:FLAGGED:’. Org
marks entries with problems with an error message in the inbox.
They have to be resolved manually.
3. Org generates an agenda view for flagged entries for user
intervention to clean up. For notes stored in flagged entries,
MobileOrg displays them in the echo area when the cursor is on the
corresponding agenda item.
‘?’
Pressing ‘?’ displays the entire flagged note in another
window. Org also pushes it to the kill ring. To store
flagged note as a normal note, use ‘? z C-y C-c C-c’.
Pressing ‘?’ twice does these things: first it removes the
‘:FLAGGED:’ tag; second, it removes the flagged note from the
property drawer; third, it signals that manual editing of the
flagged entry is now finished.
‘C-c a ?’ returns to the agenda view to finish processing flagged
entries. Note that these entries may not be the most recent since
MobileOrg searches files that were last pulled. To get an updated
agenda view with changes since the last pull, pull again.
---------- Footnotes ----------
(1) ‘mobileorg.org’ will be empty after this operation.
File: org, Node: History and acknowledgments, Next: GNU Free Documentation License, Prev: MobileOrg, Up: Top
Appendix C History and acknowledgments
**************************************
C.1 From Carsten
================
Org was born in 2003, out of frustration over the user interface of the
Emacs Outline mode. I was trying to organize my notes and projects, and
using Emacs seemed to be the natural way to go. However, having to
remember eleven different commands with two or three keys per command,
only to hide and show parts of the outline tree, that seemed entirely
unacceptable. Also, when using outlines to take notes, I constantly
wanted to restructure the tree, organizing it paralleling my thoughts
and plans. _Visibility cycling_ and _structure editing_ were originally
implemented in the package ‘outline-magic.el’, but quickly moved to the
more general ‘org.el’. As this environment became comfortable for
project planning, the next step was adding _TODO entries_, basic
_timestamps_, and _table support_. These areas highlighted the two main
goals that Org still has today: to be a new, outline-based, plain text
mode with innovative and intuitive editing features, and to incorporate
project planning functionality directly into a notes file.
Since the first release, literally thousands of emails to me or to
<emacs-orgmode@gnu.org> have provided a constant stream of bug reports,
feedback, new ideas, and sometimes patches and add-on code. Many thanks
to everyone who has helped to improve this package. I am trying to keep
here a list of the people who had significant influence in shaping one
or more aspects of Org. The list may not be complete, if I have
forgotten someone, please accept my apologies and let me know.
Before I get to this list, a few special mentions are in order:
Bastien Guerry
Bastien has written a large number of extensions to Org (most of
them integrated into the core by now), including the LaTeX exporter
and the plain list parser. His support during the early days was
central to the success of this project. Bastien also invented
Worg, helped establishing the Web presence of Org, and sponsored
hosting costs for the orgmode.org website. Bastien stepped in as
maintainer of Org between 2011 and 2013, at a time when I
desperately needed a break.
Eric Schulte and Dan Davison
Eric and Dan are jointly responsible for the Org-babel system,
which turns Org into a multi-language environment for evaluating
code and doing literate programming and reproducible research.
This has become one of Org’s killer features that define what Org
is today.
John Wiegley
John has contributed a number of great ideas and patches directly
to Org, including the attachment system (‘org-attach.el’),
integration with Apple Mail (‘org-mac-message.el’), hierarchical
dependencies of TODO items, habit tracking (‘org-habits.el’), and
encryption (‘org-crypt.el’). Also, the capture system is really an
extended copy of his great ‘remember.el’.
Sebastian Rose
Without Sebastian, the HTML/XHTML publishing of Org would be the
pitiful work of an ignorant amateur. Sebastian has pushed this
part of Org onto a much higher level. He also wrote ‘org-info.js’,
a Java script for displaying web pages derived from Org using an
Info-like or a folding interface with single-key navigation.
See below for the full list of contributions! Again, please let me know
what I am missing here!
C.2 From Bastien
================
I (Bastien) have been maintaining Org between 2011 and 2013. This
appendix would not be complete without adding a few more acknowledgments
and thanks.
I am first grateful to Carsten for his trust while handing me over
the maintainership of Org. His unremitting support is what really
helped me getting more confident over time, with both the community and
the code.
When I took over maintainership, I knew I would have to make Org more
collaborative than ever, as I would have to rely on people that are more
knowledgeable than I am on many parts of the code. Here is a list of
the persons I could rely on, they should really be considered
co-maintainers, either of the code or the community:
Eric Schulte
Eric is maintaining the Babel parts of Org. His reactivity here
kept me away from worrying about possible bugs here and let me
focus on other parts.
Nicolas Goaziou
Nicolas is maintaining the consistency of the deepest parts of Org.
His work on ‘org-element.el’ and ‘ox.el’ has been outstanding, and
it opened the doors for many new ideas and features. He rewrote
many of the old exporters to use the new export engine, and helped
with documenting this major change. More importantly (if that’s
possible), he has been more than reliable during all the work done
for Org 8.0, and always very reactive on the mailing list.
Achim Gratz
Achim rewrote the building process of Org, turning some _ad hoc_
tools into a flexible and conceptually clean process. He patiently
coped with the many hiccups that such a change can create for
users.
Nick Dokos
The Org mode mailing list would not be such a nice place without
Nick, who patiently helped users so many times. It is impossible
to overestimate such a great help, and the list would not be so
active without him.
I received support from so many users that it is clearly impossible
to be fair when shortlisting a few of them, but Org’s history would not
be complete if the ones above were not mentioned in this manual.
C.3 List of contributions
=========================
• Russel Adams came up with the idea for drawers.
• Suvayu Ali has steadily helped on the mailing list, providing
useful feedback on many features and several patches.
• Luis Anaya wrote ‘ox-man.el’.
• Thomas Baumann wrote ‘org-bbdb.el’ and ‘org-mhe.el’.
• Michael Brand helped by reporting many bugs and testing many
features. He also implemented the distinction between empty fields
and 0-value fields in Org’s spreadsheets.
• Christophe Bataillon created the great unicorn logo that we use on
the Org mode website.
• Alex Bochannek provided a patch for rounding timestamps.
• Jan Böcker wrote ‘org-docview.el’.
• Brad Bozarth showed how to pull RSS feed data into Org mode files.
• Tom Breton wrote ‘org-choose.el’.
• Charles Cave’s suggestion sparked the implementation of templates
for Remember, which are now templates for capture.
• Pavel Chalmoviansky influenced the agenda treatment of items with
specified time.
• Gregory Chernov patched support for Lisp forms into table
calculations and improved XEmacs compatibility, in particular by
porting ‘nouline.el’ to XEmacs.
• Sacha Chua suggested copying some linking code from Planner, and
helped make Org popular through her blog.
• Toby S. Cubitt contributed to the code for clock formats.
• Baoqiu Cui contributed the first DocBook exporter. In Org 8.0, we
go a different route: you can now export to Texinfo and export the
‘.texi’ file to DocBook using ‘makeinfo’.
• Eddward DeVilla proposed and tested checkbox statistics. He also
came up with the idea of properties, and that there should be an
API for them.
• Nick Dokos tracked down several nasty bugs.
• Kees Dullemond used to edit projects lists directly in HTML and so
inspired some of the early development, including HTML export. He
also asked for a way to narrow wide table columns.
• Jason Dunsmore has been maintaining the Org-Mode server at
Rackspace for several years now. He also sponsored the hosting
costs until Rackspace started to host us for free.
• Thomas S. Dye contributed documentation on Worg and helped
integrating the Org-Babel documentation into the manual.
• Christian Egli converted the documentation into Texinfo format,
inspired the agenda, patched CSS formatting into the HTML exporter,
and wrote ‘org-taskjuggler.el’, which has been rewritten by Nicolas
Goaziou as ‘ox-taskjuggler.el’ for Org 8.0.
• David Emery provided a patch for custom CSS support in exported
HTML agendas.
• Sean Escriva took over MobileOrg development on the iPhone
platform.
• Nic Ferrier contributed mailcap and XOXO support.
• Miguel A. Figueroa-Villanueva implemented hierarchical checkboxes.
• John Foerch figured out how to make incremental search show context
around a match in a hidden outline tree.
• Raimar Finken wrote ‘org-git-line.el’.
• Mikael Fornius works as a mailing list moderator.
• Austin Frank works as a mailing list moderator.
• Eric Fraga drove the development of BEAMER export with ideas and
testing.
• Barry Gidden did proofreading the manual in preparation for the
book publication through Network Theory Ltd.
• Niels Giesen had the idea to automatically archive DONE trees.
• Nicolas Goaziou rewrote much of the plain list code. He also wrote
‘org-element.el’ and ‘org-export.el’, which was a huge step forward
in implementing a clean framework for Org exporters.
• Kai Grossjohann pointed out key-binding conflicts with other
packages.
• Brian Gough of Network Theory Ltd publishes the Org mode manual as
a book.
• Bernt Hansen has driven much of the support for auto-repeating
tasks, task state change logging, and the clocktable. His clear
explanations have been critical when we started to adopt the Git
version control system.
• Manuel Hermenegildo has contributed various ideas, small fixes and
patches.
• Phil Jackson wrote ‘org-irc.el’.
• Scott Jaderholm proposed footnotes, control over whitespace between
folded entries, and column view for properties.
• Matt Jones wrote MobileOrg Android.
• Tokuya Kameshima wrote ‘org-wl.el’ and ‘org-mew.el’.
• Jonathan Leech-Pepin wrote ‘ox-texinfo.el’.
• Shidai Liu ("Leo") asked for embedded LaTeX and tested it. He also
provided frequent feedback and some patches.
• Matt Lundin has proposed last-row references for table formulas and
named invisible anchors. He has also worked a lot on the FAQ.
• David Maus wrote ‘org-atom.el’, maintains the issues file for Org,
and is a prolific contributor on the mailing list with competent
replies, small fixes and patches.
• Jason F. McBrayer suggested agenda export to CSV format.
• Max Mikhanosha came up with the idea of refiling and sticky
agendas.
• Dmitri Minaev sent a patch to set priority limits on a per-file
basis.
• Stefan Monnier provided a patch to keep the Emacs-Lisp compiler
happy.
• Richard Moreland wrote MobileOrg for the iPhone.
• Rick Moynihan proposed allowing multiple TODO sequences in a file
and being able to quickly restrict the agenda to a subtree.
• Todd Neal provided patches for links to Info files and Elisp forms.
• Greg Newman refreshed the unicorn logo into its current form.
• Tim O’Callaghan suggested in-file links, search options for general
file links, and TAGS.
• Osamu Okano wrote ‘orgcard2ref.pl’, a Perl program to create a text
version of the reference card.
• Takeshi Okano translated the manual and David O’Toole’s tutorial
into Japanese.
• Oliver Oppitz suggested multi-state TODO items.
• Scott Otterson sparked the introduction of descriptive text for
links, among other things.
• Pete Phillips helped during the development of the TAGS feature,
and provided frequent feedback.
• Francesco Pizzolante provided patches that helped speeding up the
agenda generation.
• Martin Pohlack provided the code snippet to bundle character
insertion into bundles of 20 for undo.
• Rackspace.com is hosting our website for free. Thank you
Rackspace!
• T.V. Raman reported bugs and suggested improvements.
• Matthias Rempe (Oelde) provided ideas, Windows support, and quality
control.
• Paul Rivier provided the basic implementation of named footnotes.
He also acted as mailing list moderator for some time.
• Kevin Rogers contributed code to access VM files on remote hosts.
• Frank Ruell solved the mystery of the ‘keymapp nil’ bug, a conflict
with ‘allout.el’.
• Jason Riedy generalized the send-receive mechanism for Orgtbl
tables with extensive patches.
• Philip Rooke created the Org reference card, provided lots of
feedback, developed and applied standards to the Org documentation.
• Christian Schlauer proposed angular brackets around links, among
other things.
• Christopher Schmidt reworked ‘orgstruct-mode’ so that users can
enjoy folding in non-org buffers by using Org headlines in
comments.
• Paul Sexton wrote ‘org-ctags.el’.
• Linking to VM/BBDB/Gnus was first inspired by Tom Shannon’s
‘organizer-mode.el’.
• Ilya Shlyakhter proposed the Archive Sibling, line numbering in
literal examples, and remote highlighting for referenced code
lines.
• Stathis Sideris wrote the ‘ditaa.jar’ ASCII to PNG converter that
is now packaged into Org’s ‘contrib’ directory.
• Daniel Sinder came up with the idea of internal archiving by
locking subtrees.
• Dale Smith proposed link abbreviations.
• James TD Smith has contributed a large number of patches for useful
tweaks and features.
• Adam Spiers asked for global linking commands, inspired the link
extension system, added support for mairix, and proposed the
mapping API.
• Ulf Stegemann created the table to translate special symbols to
HTML, LaTeX, UTF-8, Latin-1 and ASCII.
• Andy Stewart contributed code to ‘org-w3m.el’, to copy HTML content
with links transformation to Org syntax.
• David O’Toole wrote ‘org-publish.el’ and drafted the manual chapter
about publishing.
• Jambunathan K contributed the ODT exporter and rewrote the HTML
exporter.
• Sebastien Vauban reported many issues with LaTeX and BEAMER export
and enabled source code highlighting in Gnus.
• Stefan Vollmar organized a video-recorded talk at the
Max-Planck-Institute for Neurology. He also inspired the creation
of a concept index for HTML export.
• Jürgen Vollmer contributed code generating the table of contents in
HTML output.
• Samuel Wales has provided important feedback and bug reports.
• Chris Wallace provided a patch implementing the ‘QUOTE’ keyword.
• David Wainberg suggested archiving, and improvements to the linking
system.
• Carsten Wimmer suggested some changes and helped fix a bug in
linking to Gnus.
• Roland Winkler requested additional key bindings to make Org work
on a tty.
• Piotr Zielinski wrote ‘org-mouse.el’, proposed agenda blocks and
contributed various ideas and code snippets.
• Marco Wahl wrote ‘org-eww.el’.
File: org, Node: GNU Free Documentation License, Next: Main Index, Prev: History and acknowledgments, Up: Top
Appendix D GNU Free Documentation License
*****************************************
Version 1.3, 3 November 2008
Copyright © 2000, 2001, 2002, 2007, 2008, 2013, 2014, 2018 Free Software Foundation, Inc.
<http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document “free” in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or
noncommercially. Secondarily, this License preserves for the
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense.
It complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for
free software, because free software needs free documentation: a
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
of subject matter or whether it is published as a printed book. We
recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
that contains a notice placed by the copyright holder saying it can
be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
“Document”, below, refers to any such manual or work. Any member
of the public is a licensee, and is addressed as “you”. You accept
the license if you copy, modify or distribute the work in a way
requiring permission under copyright law.
A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could
fall directly within that overall subject. (Thus, if the Document
is in part a textbook of mathematics, a Secondary Section may not
explain any mathematics.) The relationship could be a matter of
historical connection with the subject or with related matters, or
of legal, commercial, philosophical, ethical or political position
regarding them.
The “Invariant Sections” are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in the
notice that says that the Document is released under this License.
If a section does not fit the above definition of Secondary then it
is not allowed to be designated as Invariant. The Document may
contain zero Invariant Sections. If the Document does not identify
any Invariant Sections then there are none.
The “Cover Texts” are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed
of pixels) generic paint programs or (for drawings) some widely
available drawing editor, and that is suitable for input to text
formatters or for automatic translation to a variety of formats
suitable for input to text formatters. A copy made in an otherwise
Transparent file format whose markup, or absence of markup, has
been arranged to thwart or discourage subsequent modification by
readers is not Transparent. An image format is not Transparent if
used for any substantial amount of text. A copy that is not
“Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available DTD, and standard-conforming
simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG.
Opaque formats include proprietary formats that can be read and
edited only by proprietary word processors, SGML or XML for which
the DTD and/or processing tools are not generally available, and
the machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For
works in formats which do not have any title page as such, “Title
Page” means the text near the most prominent appearance of the
work’s title, preceding the beginning of the body of the text.
The “publisher” means any person or entity that distributes copies
of the Document to the public.
A section “Entitled XYZ” means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as
“Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
To “Preserve the Title” of such a section when you modify the
Document means that it remains a section “Entitled XYZ” according
to this definition.
The Document may include Warranty Disclaimers next to the notice
which states that this License applies to the Document. These
Warranty Disclaimers are considered to be included by reference in
this License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and
has no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License
applies to the Document are reproduced in all copies, and that you
add no other conditions whatsoever to those of this License. You
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
distribute a large enough number of copies you must also follow the
conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and
the Document’s license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
front cover must present the full title with all words of the title
equally prominent and visible. You may add other material on the
covers in addition. Copying with changes limited to the covers, as
long as they preserve the title of the Document and satisfy these
conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto
adjacent pages.
If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a machine-readable
Transparent copy along with each Opaque copy, or state in or with
each Opaque copy a computer-network location from which the general
network-using public has access to download using public-standard
network protocols a complete Transparent copy of the Document, free
of added material. If you use the latter option, you must take
reasonably prudent steps, when you begin distribution of Opaque
copies in quantity, to ensure that this Transparent copy will
remain thus accessible at the stated location until at least one
year after the last time you distribute an Opaque copy (directly or
through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
the Document well before redistributing any large number of copies,
to give them a chance to provide you with an updated version of the
Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing
distribution and modification of the Modified Version to whoever
possesses a copy of it. In addition, you must do these things in
the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
distinct from that of the Document, and from those of previous
versions (which should, if there were any, be listed in the
History section of the Document). You may use the same title
as a previous version if the original publisher of that
version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
the Modified Version, together with at least five of the
principal authors of the Document (all of its principal
authors, if it has fewer than five), unless they release you
from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license
notice giving the public permission to use the Modified
Version under the terms of this License, in the form shown in
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
Sections and required Cover Texts given in the Document’s
license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled “History”, Preserve its Title,
and add to it an item stating at least the title, year, new
authors, and publisher of the Modified Version as given on the
Title Page. If there is no section Entitled “History” in the
Document, create one stating the title, year, authors, and
publisher of the Document as given on its Title Page, then add
an item describing the Modified Version as stated in the
previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
previous versions it was based on. These may be placed in the
“History” section. You may omit a network location for a work
that was published at least four years before the Document
itself, or if the original publisher of the version it refers
to gives permission.
K. For any section Entitled “Acknowledgements” or “Dedications”,
Preserve the Title of the section, and preserve in the section
all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document, unaltered
in their text and in their titles. Section numbers or the
equivalent are not considered part of the section titles.
M. Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
“Endorsements” or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
material copied from the Document, you may at your option designate
some or all of these sections as invariant. To do this, add their
titles to the list of Invariant Sections in the Modified Version’s
license notice. These titles must be distinct from any other
section titles.
You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
parties—for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of
a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end of
the list of Cover Texts in the Modified Version. Only one passage
of Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document
already includes a cover text for the same cover, previously added
by you or by arrangement made by the same entity you are acting on
behalf of, you may not add another; but you may replace the old
one, on explicit permission from the previous publisher that added
the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
modified versions, provided that you include in the combination all
of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name
but different contents, make the title of each such section unique
by adding at the end of it, in parentheses, the name of the
original author or publisher of that section if known, or else a
unique number. Make the same adjustment to the section titles in
the list of Invariant Sections in the license notice of the
combined work.
In the combination, you must combine any sections Entitled
“History” in the various original documents, forming one section
Entitled “History”; likewise combine any sections Entitled
“Acknowledgements”, and any sections Entitled “Dedications”. You
must delete all sections Entitled “Endorsements.”
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
rules of this License for verbatim copying of each of the documents
in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
a copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that
document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of a
storage or distribution medium, is called an “aggregate” if the
copyright resulting from the compilation is not used to limit the
legal rights of the compilation’s users beyond what the individual
works permit. When the Document is included in an aggregate, this
License does not apply to the other works in the aggregate which
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half
of the entire aggregate, the Document’s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic
form. Otherwise they must appear on printed covers that bracket
the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section
4. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also
include the original English version of this License and the
original versions of those notices and disclaimers. In case of a
disagreement between the translation and the original version of
this License or a notice or disclaimer, the original version will
prevail.
If a section in the Document is Entitled “Acknowledgements”,
“Dedications”, or “History”, the requirement (section 4) to
Preserve its Title (section 1) will typically require changing the
actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void,
and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the
copyright holder fails to notify you of the violation by some
reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from
that copyright holder, and you cure the violation prior to 30 days
after your receipt of the notice.
Termination of your rights under this section does not terminate
the licenses of parties who have received copies or rights from you
under this License. If your rights have been terminated and not
permanently reinstated, receipt of a copy of some or all of the
same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<http://www.gnu.org/copyleft/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
version of this License “or any later version” applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may
choose any version ever published (not as a draft) by the Free
Software Foundation. If the Document specifies that a proxy can
decide which future versions of this License can be used, that
proxy’s public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
11. RELICENSING
“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server.
A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
site means any set of copyrightable works thus published on the MMC
site.
“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
“Incorporate” means to publish or republish a Document, in whole or
in part, as part of another Document.
An MMC is “eligible for relicensing” if it is licensed under this
License, and if all works that were first published under this
License somewhere other than this MMC, and subsequently
incorporated in whole or in part into the MMC, (1) had no cover
texts or invariant sections, and (2) were thus incorporated prior
to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the
site under CC-BY-SA on the same site at any time before August 1,
2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
====================================================
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the “with...Texts.” line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.
File: org, Node: Main Index, Next: Key Index, Prev: GNU Free Documentation License, Up: Top
Concept index
*************
[index ]
* Menu:
* #+ARCHIVE: Moving subtrees. (line 33)
* #+ASCII: ASCII/Latin-1/UTF-8 export.
(line 56)
* #+ATTR_ASCII: ASCII/Latin-1/UTF-8 export.
(line 67)
* #+ATTR_BEAMER: Beamer specific syntax.
(line 35)
* #+ATTR_HTML: Links in HTML export.
(line 27)
* #+ATTR_HTML <1>: Tables in HTML export.
(line 11)
* #+ATTR_HTML <2>: Images in HTML export.
(line 29)
* #+ATTR_LATEX, in example blocks: Example blocks in LaTeX export.
(line 6)
* #+ATTR_LATEX, in horizontal rules: Horizontal rules in LaTeX export.
(line 6)
* #+ATTR_LATEX, in images: Images in LaTeX export.
(line 6)
* #+ATTR_LATEX, in plain lists: Plain lists in LaTeX export.
(line 6)
* #+ATTR_LATEX, in source blocks: Source blocks in LaTeX export.
(line 6)
* #+ATTR_LATEX, in special blocks: Special blocks in LaTeX export.
(line 6)
* #+ATTR_LATEX, in tables: Tables in LaTeX export.
(line 6)
* #+ATTR_ODT: Tables in ODT export.
(line 20)
* #+ATTR_ODT <1>: Images in ODT export.
(line 31)
* #+ATTR_ODT <2>: Images in ODT export.
(line 76)
* #+ATTR_ODT <3>: Customizing tables in ODT export.
(line 6)
* #+ATTR_TEXINFO, in images: Images in Texinfo export.
(line 6)
* #+ATTR_TEXINFO, in plain lists: Plain lists in Texinfo export.
(line 6)
* #+ATTR_TEXINFO, in special blocks: Special blocks in Texinfo export.
(line 6)
* #+ATTR_TEXINFO, in tables: Tables in Texinfo export.
(line 6)
* #+AUTHOR: Export settings. (line 25)
* #+BEAMER: Beamer specific syntax.
(line 19)
* #+BEAMER_FONT_THEME: Beamer specific export settings.
(line 16)
* #+BEAMER_HEADER: Beamer specific export settings.
(line 25)
* #+BEAMER_INNER_THEME: Beamer specific export settings.
(line 19)
* #+BEAMER_OUTER_THEME: Beamer specific export settings.
(line 22)
* #+BEAMER_THEME: Beamer specific export settings.
(line 11)
* #+BEGIN, clocktable: The clock table. (line 32)
* #+BEGIN, columnview: Capturing column view.
(line 11)
* #+BEGIN, dynamic block: Dynamic blocks. (line 15)
* #+BEGIN_CENTER: Paragraphs. (line 31)
* #+BEGIN_COMMENT: Comment lines. (line 10)
* #+BEGIN_EXAMPLE: Literal examples. (line 8)
* #+BEGIN_EXPORT ascii: ASCII/Latin-1/UTF-8 export.
(line 56)
* #+BEGIN_EXPORT beamer: Beamer specific syntax.
(line 19)
* #+BEGIN_EXPORT html: Quoting HTML tags. (line 14)
* #+BEGIN_EXPORT latex: Quoting LaTeX code. (line 17)
* #+BEGIN_EXPORT texinfo: Quoting Texinfo code.
(line 9)
* #+BEGIN_JUSTIFYLEFT: ASCII/Latin-1/UTF-8 export.
(line 77)
* #+BEGIN_JUSTIFYRIGHT: ASCII/Latin-1/UTF-8 export.
(line 77)
* #+BEGIN_QUOTE: Paragraphs. (line 26)
* #+BEGIN_SRC: Literal examples. (line 28)
* #+BEGIN_SRC <1>: Structure of code blocks.
(line 6)
* #+BEGIN_VERSE: Paragraphs. (line 13)
* #+BIND: Export settings. (line 210)
* #+CALL: Evaluating code blocks.
(line 25)
* #+CAPTION: Images and tables. (line 6)
* #+CAPTION <1>: Tables in HTML export.
(line 11)
* #+CAPTION <2>: Images in HTML export.
(line 29)
* #+CATEGORY: Categories. (line 6)
* #+CINDEX: Indices. (line 6)
* #+COLUMNS: Scope of column definitions.
(line 8)
* #+CONSTANTS: References. (line 108)
* #+CREATOR: Export settings. (line 28)
* #+DATE: Export settings. (line 32)
* #+DESCRIPTION (Beamer): Beamer specific export settings.
(line 29)
* #+DESCRIPTION (HTML): HTML Specific export settings.
(line 10)
* #+DESCRIPTION (LaTeX): LaTeX specific export settings.
(line 11)
* #+DESCRIPTION (ODT): ODT specific export settings.
(line 11)
* #+EMAIL: Export settings. (line 35)
* #+EXCLUDE_TAGS: Export settings. (line 52)
* #+EXPORT_FILE_NAME: Export settings. (line 64)
* #+FILETAGS: Tag inheritance. (line 20)
* #+FINDEX: Indices. (line 6)
* #+HEADER:: Code block specific header arguments.
(line 30)
* #+HTML: Quoting HTML tags. (line 12)
* #+HTML_CONTAINER: HTML Specific export settings.
(line 19)
* #+HTML_DOCTYPE: HTML Specific export settings.
(line 16)
* #+HTML_HEAD: HTML Specific export settings.
(line 35)
* #+HTML_HEAD <1>: CSS support. (line 48)
* #+HTML_HEAD_EXTRA: HTML Specific export settings.
(line 39)
* #+HTML_HEAD_EXTRA <1>: CSS support. (line 48)
* #+HTML_INCLUDE_STYLE: CSS support. (line 43)
* #+HTML_LINK_HOME: HTML Specific export settings.
(line 23)
* #+HTML_LINK_UP: HTML Specific export settings.
(line 26)
* #+HTML_MATHJAX: HTML Specific export settings.
(line 30)
* #+INCLUDE: Include files. (line 7)
* #+INDEX: Generating an index. (line 16)
* #+INFOJS_OPT: JavaScript support. (line 20)
* #+KEYWORDS (Beamer): Beamer specific export settings.
(line 36)
* #+KEYWORDS (HTML): HTML Specific export settings.
(line 43)
* #+KEYWORDS (LaTeX): LaTeX specific export settings.
(line 46)
* #+KEYWORDS (ODT): ODT specific export settings.
(line 16)
* #+KINDEX: Indices. (line 6)
* #+LANGUAGE: Export settings. (line 38)
* #+LATEX: Quoting LaTeX code. (line 13)
* #+LATEX_CLASS: LaTeX specific export settings.
(line 20)
* #+LATEX_CLASS <1>: LaTeX header and sectioning.
(line 23)
* #+LATEX_CLASS_OPTIONS: LaTeX specific export settings.
(line 28)
* #+LATEX_CLASS_OPTIONS <1>: LaTeX header and sectioning.
(line 23)
* #+LATEX_COMPILER: LaTeX specific export settings.
(line 32)
* #+LATEX_HEADER: LaTeX specific export settings.
(line 36)
* #+LATEX_HEADER <1>: LaTeX header and sectioning.
(line 30)
* #+LATEX_HEADER (HTML): HTML Specific export settings.
(line 48)
* #+LATEX_HEADER_EXTRA: LaTeX specific export settings.
(line 41)
* #+LATEX_HEADER_EXTRA <1>: LaTeX header and sectioning.
(line 30)
* #+LINK: Link abbreviations. (line 49)
* #+MACRO: Macro replacement. (line 6)
* #+NAME: Internal links. (line 21)
* #+NAME <1>: Images and tables. (line 6)
* #+NAME <2>: Structure of code blocks.
(line 6)
* #+NAME <3>: Structure of code blocks.
(line 39)
* #+NAME, for table: References. (line 129)
* #+ODT_STYLES_FILE: Applying custom styles.
(line 25)
* #+OPTIONS: Export settings. (line 6)
* #+ORGLST: Radio lists. (line 11)
* #+ORGTBL: Radio tables. (line 19)
* #+ORGTBL, SEND: A LaTeX example. (line 12)
* #+PINDEX: Indices. (line 6)
* #+PLOT: Org-Plot. (line 6)
* #+PRIORITIES: Priorities. (line 42)
* #+PROPERTY: Property syntax. (line 44)
* #+RESULTS: Evaluating code blocks.
(line 6)
* #+SELECT_TAGS: Export settings. (line 44)
* #+SEQ_TODO: Per-file keywords. (line 6)
* #+SETUPFILE: Export settings. (line 13)
* #+SETUPFILE <1>: In-buffer settings. (line 45)
* #+STARTUP: In-buffer settings. (line 58)
* #+SUBAUTHOR: Texinfo specific export settings.
(line 14)
* #+SUBAUTHOR <1>: Texinfo title and copyright page.
(line 12)
* #+SUBTITLE (ASCII): ASCII/Latin-1/UTF-8 export.
(line 39)
* #+SUBTITLE (Beamer): Beamer specific export settings.
(line 44)
* #+SUBTITLE (HTML): HTML Specific export settings.
(line 53)
* #+SUBTITLE (LaTeX): LaTeX specific export settings.
(line 55)
* #+SUBTITLE (Texinfo): Texinfo specific export settings.
(line 11)
* #+TAGS: Setting tags. (line 28)
* #+TBLFM: Field and range formulas.
(line 12)
* #+TBLFM <1>: Editing and debugging formulas.
(line 84)
* #+TBLFM <2>: In-buffer settings. (line 166)
* #+TBLFM line, multiple: Editing and debugging formulas.
(line 84)
* #+TBLFM, switching: Editing and debugging formulas.
(line 84)
* #+TEXINFO: Quoting Texinfo code.
(line 9)
* #+TEXINFO_CLASS: Texinfo specific export settings.
(line 20)
* #+TEXINFO_CLASS <1>: Texinfo file header. (line 11)
* #+TEXINFO_CLASS <2>: Headings and sectioning structure.
(line 6)
* #+TEXINFO_DIR_CATEGORY: Texinfo specific export settings.
(line 30)
* #+TEXINFO_DIR_CATEGORY <1>: Info directory file. (line 6)
* #+TEXINFO_DIR_DESC: Texinfo specific export settings.
(line 36)
* #+TEXINFO_DIR_DESC <1>: Info directory file. (line 6)
* #+TEXINFO_DIR_TITLE: Texinfo specific export settings.
(line 33)
* #+TEXINFO_DIR_TITLE <1>: Info directory file. (line 6)
* #+TEXINFO_FILENAME: Texinfo specific export settings.
(line 17)
* #+TEXINFO_FILENAME <1>: Texinfo file header. (line 6)
* #+TEXINFO_HEADER: Texinfo specific export settings.
(line 24)
* #+TEXINFO_HEADER <1>: Texinfo file header. (line 11)
* #+TEXINFO_POST_HEADER: Texinfo specific export settings.
(line 27)
* #+TEXINFO_PRINTED_TITLE: Texinfo specific export settings.
(line 39)
* #+TEXINFO_PRINTED_TITLE <1>: Texinfo title and copyright page.
(line 6)
* #+TINDEX: Indices. (line 6)
* #+TITLE: Export settings. (line 60)
* #+TOC: Table of contents. (line 6)
* #+TODO: Per-file keywords. (line 6)
* #+TYP_TODO: Per-file keywords. (line 6)
* #+VINDEX: Indices. (line 6)
* %:annotation template expansion in capture: capture protocol.
(line 23)
* %:description template expansion in capture: capture protocol.
(line 23)
* %:link template expansion in capture: capture protocol. (line 23)
* :base-url property in open-source protocol: open-source protocol.
(line 13)
* :cache, src header argument: System-wide header arguments.
(line 9)
* :cache, src header argument <1>: cache. (line 6)
* :colnames, src header argument: colnames. (line 6)
* :comments, src header argument: comments. (line 6)
* :dir, src header argument: dir. (line 6)
* :epilogue, src header argument: epilogue. (line 6)
* :eval, src header argument: eval. (line 6)
* :exports, src header argument: Exporting code blocks.
(line 20)
* :exports, src header argument <1>: System-wide header arguments.
(line 9)
* :exports, src header argument <2>: exports. (line 6)
* :file, src header argument: file. (line 6)
* :file-ext, src header argument: file-ext. (line 6)
* :hlines, src header argument: hlines. (line 6)
* :indic attribute, in Texinfo export: Plain lists in Texinfo export.
(line 12)
* :mkdirp, src header argument: mkdirp. (line 6)
* :no-expand, src header argument: no-expand. (line 6)
* :noweb, src header argument: System-wide header arguments.
(line 9)
* :noweb, src header argument <1>: noweb. (line 6)
* :noweb-ref, src header argument: noweb-ref. (line 6)
* :noweb-sep, src header argument: noweb-sep. (line 6)
* :online-suffix property in open-source protocol: open-source protocol.
(line 13)
* :output-dir, src header argument: output-dir. (line 6)
* :padline, src header argument: padline. (line 6)
* :post, src header argument: post. (line 6)
* :prologue, src header argument: prologue. (line 6)
* :results, src header argument: System-wide header arguments.
(line 9)
* :results, src header argument <1>: results. (line 6)
* :results, src header argument <2>: Results of evaluation.
(line 33)
* :results, src header argument <3>: Results of evaluation.
(line 45)
* :results, src header argument <4>: Results of evaluation.
(line 55)
* :results, src header argument <5>: Results of evaluation.
(line 72)
* :rewrites property in open-source protocol: open-source protocol.
(line 43)
* :rownames, src header argument: rownames. (line 6)
* :sep attribute, in Texinfo export: Plain lists in Texinfo export.
(line 17)
* :sep, src header argument: sep. (line 6)
* :session, src header argument: System-wide header arguments.
(line 9)
* :session, src header argument <1>: session. (line 6)
* :shebang, src header argument: shebang. (line 6)
* :table-type attribute, in Texinfo export: Plain lists in Texinfo export.
(line 6)
* :tangle, src header argument: Extracting source code.
(line 23)
* :tangle, src header argument <1>: tangle. (line 6)
* :tangle-mode, src header argument: tangle-mode. (line 6)
* :var, src header argument: var. (line 6)
* :working-directory property in open-source protocol: open-source protocol.
(line 13)
* :working-suffix property in open-source protocol: open-source protocol.
(line 13)
* :wrap, src header argument: wrap. (line 6)
* abbreviation, links: Link abbreviations. (line 6)
* abstract, in LaTeX export: Special blocks in LaTeX export.
(line 6)
* acknowledgments: History and acknowledgments.
(line 6)
* action, for publishing: Publishing action. (line 6)
* activation: Activation. (line 6)
* active region: Structure editing. (line 116)
* active region <1>: Built-in table editor.
(line 145)
* active region <2>: ODT export commands. (line 6)
* add-on packages: Add-on packages. (line 6)
* add-ons, context-sensitive commands: Context-sensitive commands.
(line 6)
* agenda: Weekly/daily agenda. (line 6)
* agenda dispatcher: Agenda dispatcher. (line 6)
* agenda files: Agenda files. (line 6)
* agenda files, removing buffers: Agenda commands. (line 440)
* agenda views: Agenda views. (line 6)
* agenda views, custom: Custom agenda views. (line 6)
* agenda views, exporting: Agenda commands. (line 426)
* agenda views, exporting <1>: Exporting agenda views.
(line 6)
* agenda views, exporting <2>: Exporting agenda views.
(line 13)
* agenda views, main example: Storing searches. (line 9)
* agenda views, optimization: Speeding up your agendas.
(line 6)
* agenda views, user-defined: Special agenda views.
(line 6)
* agenda*, as an agenda views: Storing searches. (line 9)
* agenda, as an agenda views: Storing searches. (line 9)
* agenda, column view: Agenda column view. (line 6)
* agenda, pipe: Extracting agenda information.
(line 6)
* agenda, sticky: Agenda dispatcher. (line 43)
* agenda, with block views: Block agenda. (line 6)
* align, STARTUP keyword: In-buffer settings. (line 79)
* alignment in tables: Column width and alignment.
(line 6)
* anniversaries, from BBDB: Weekly/daily agenda. (line 79)
* API, for mapping: Using the mapping API.
(line 6)
* API, for properties: Property API. (line 6)
* API, for properties <1>: Using the property API.
(line 6)
* appointment: Timestamps. (line 14)
* appointment <1>: Weekly/daily agenda. (line 126)
* appointment reminders: Weekly/daily agenda. (line 126)
* appt.el: Weekly/daily agenda. (line 126)
* archive locations: Moving subtrees. (line 23)
* archive tag: Internal archiving. (line 6)
* archived entries, in agenda views: Agenda views. (line 32)
* Archives mode: Agenda commands. (line 115)
* archiving: Archiving. (line 6)
* ASCII export: ASCII/Latin-1/UTF-8 export.
(line 6)
* Atom feeds: RSS feeds. (line 6)
* attachments: Attachments. (line 6)
* author: Feedback. (line 6)
* author, macro: Macro replacement. (line 24)
* autoload: Activation. (line 6)
* babel, languages: Languages. (line 6)
* babel, library of: Library of Babel. (line 6)
* backtrace of an error: Feedback. (line 63)
* BBDB links: External links. (line 6)
* BBDB, anniversaries: Weekly/daily agenda. (line 79)
* Beamer export: Beamer export. (line 6)
* begin block, end block: Structure of code blocks.
(line 44)
* block agenda: Block agenda. (line 6)
* blocking, of checkboxes: Checkboxes. (line 46)
* blocks, folding: Blocks. (line 6)
* bold text, markup rules: Emphasis and monospace.
(line 6)
* Boolean logic, for tag/property searches: Matching tags and properties.
(line 33)
* bug reports: Feedback. (line 6)
* C-c C-c, overview: The very busy C-c C-c key.
(line 6)
* calc package: The spreadsheet. (line 6)
* calc.el: Cooperation. (line 6)
* calculations, in tables: Built-in table editor.
(line 145)
* calculations, in tables <1>: The spreadsheet. (line 6)
* calendar commands, from agenda: Agenda commands. (line 381)
* calendar integration: Weekly/daily agenda. (line 32)
* calendar, for selecting date: The date/time prompt.
(line 76)
* capture: Capture - Refile - Archive.
(line 6)
* capture <1>: Capture. (line 6)
* capture protocol: capture protocol. (line 6)
* capture, %:annotation placeholder: capture protocol. (line 23)
* capture, %:description placeholder: capture protocol. (line 23)
* capture, %:link placeholder: capture protocol. (line 23)
* capturing, from agenda: Agenda commands. (line 292)
* category: Categories. (line 6)
* category filtering, in agenda: Filtering/limiting agenda items.
(line 17)
* category, require for tags/property match: Matching tags and properties.
(line 67)
* CDLaTeX: CDLaTeX mode. (line 6)
* cdlatex.el: Cooperation. (line 19)
* center blocks: Paragraphs. (line 31)
* center image (LaTeX export): Images in LaTeX export.
(line 46)
* checkbox blocking: Checkboxes. (line 46)
* checkbox statistics: Checkboxes. (line 30)
* checkboxes: Checkboxes. (line 6)
* checkboxes and TODO dependencies: TODO dependencies. (line 51)
* children, subtree visibility state: Global and local cycling.
(line 10)
* clean outline view: Clean view. (line 6)
* clocking time: Clocking work time. (line 6)
* clocktable, dynamic block: The clock table. (line 6)
* code block, batch execution: Batch execution. (line 6)
* code block, editing: Editing source code. (line 6)
* code block, evaluating: Evaluating code blocks.
(line 6)
* code block, exporting: Exporting code blocks.
(line 6)
* code block, extracting source code: Extracting source code.
(line 6)
* code block, header arguments: Header arguments. (line 6)
* code block, key bindings: Key bindings and useful functions.
(line 6)
* code block, languages: Languages. (line 6)
* code block, library: Library of Babel. (line 6)
* code block, noweb reference: Noweb reference syntax.
(line 6)
* code block, results of evaluation: Results of evaluation.
(line 6)
* code block, structure: Structure of code blocks.
(line 6)
* code line references, markup rules: Literal examples. (line 6)
* code text, markup rules: Emphasis and monospace.
(line 6)
* column formula: Column formulas. (line 6)
* column view, for properties: Defining columns. (line 6)
* column view, in agenda: Agenda column view. (line 6)
* column, of field coordinates: References. (line 86)
* commands, in agenda buffer: Agenda commands. (line 6)
* comment lines: Comment lines. (line 6)
* comment trees: Comment lines. (line 13)
* commented entries, in agenda views: Agenda views. (line 32)
* completion, of dictionary words: Completion. (line 6)
* completion, of file names: Handling links. (line 87)
* completion, of link abbreviations: Completion. (line 6)
* completion, of links: Handling links. (line 65)
* completion, of option keywords: Per-file keywords. (line 23)
* completion, of option keywords <1>: Completion. (line 6)
* completion, of property keys: Completion. (line 6)
* completion, of tags: Setting tags. (line 11)
* completion, of tags <1>: Completion. (line 6)
* completion, of TeX symbols: Completion. (line 6)
* completion, of TODO keywords: Workflow states. (line 15)
* completion, of TODO keywords <1>: Completion. (line 6)
* concept index, in Texinfo export: Indices. (line 6)
* constants, in calculations: References. (line 108)
* constants, in calculations <1>: References. (line 129)
* constants.el: Cooperation. (line 11)
* constcgs, STARTUP keyword: In-buffer settings. (line 136)
* constSI, STARTUP keyword: In-buffer settings. (line 136)
* content, STARTUP keyword: Initial visibility. (line 6)
* content, STARTUP keyword <1>: In-buffer settings. (line 65)
* contents, global visibility state: Global and local cycling.
(line 18)
* context-sensitive commands, hooks: Context-sensitive commands.
(line 6)
* continuous clocking: Resolving idle time. (line 74)
* convert: Configuring a document converter.
(line 6)
* converter: Configuring a document converter.
(line 6)
* coordinates, of field: References. (line 86)
* copying notes: Refile and copy. (line 6)
* copying, of subtrees: Structure editing. (line 6)
* countdown timer: Timers. (line 6)
* counter, macro: Macro replacement. (line 55)
* creating timestamps: Creating timestamps. (line 6)
* CSS, for HTML export: CSS support. (line 6)
* CUA.el: Conflicts. (line 18)
* custom agenda views: Custom agenda views. (line 6)
* custom date/time format: Custom time format. (line 6)
* custom search strings: Custom searches. (line 6)
* customization: Customization. (line 6)
* customtime, STARTUP keyword: In-buffer settings. (line 132)
* cutting, of subtrees: Structure editing. (line 6)
* cycling, in plain lists: Plain lists. (line 67)
* cycling, of agenda files: Agenda files. (line 21)
* cycling, of TODO states: TODO basics. (line 14)
* cycling, visibility: Visibility cycling. (line 6)
* daily agenda: Weekly/daily agenda. (line 6)
* dash, special symbol: Special symbols. (line 39)
* data type index, in Texinfo export: Indices. (line 6)
* date format, custom: Custom time format. (line 6)
* date range: Timestamps. (line 42)
* date stamp: Dates and times. (line 6)
* date stamps: Timestamps. (line 6)
* date tree: Using capture. (line 9)
* date, macro: Macro replacement. (line 29)
* date, reading in minibuffer: The date/time prompt.
(line 6)
* dates: Dates and times. (line 6)
* Davison, Dan: Working with source code.
(line 6)
* DEADLINE keyword: Deadlines and scheduling.
(line 11)
* deadlines: Timestamps. (line 6)
* debugging, of table formulas: Editing and debugging formulas.
(line 117)
* defining new protocols: Protocols. (line 25)
* demotion, of subtrees: Structure editing. (line 6)
* dependencies, of TODO states: TODO dependencies. (line 6)
* diary entries, creating from agenda: Agenda commands. (line 385)
* diary integration: Weekly/daily agenda. (line 32)
* dictionary word completion: Completion. (line 6)
* dir file, in Texinfo export: Info directory file. (line 6)
* directories, for publishing: Sources and destinations.
(line 6)
* dispatching agenda commands: Agenda dispatcher. (line 6)
* display changing, in agenda: Agenda commands. (line 61)
* doc, docx, rtf: Configuring a document converter.
(line 6)
* document structure: Document structure. (line 6)
* document title: Export settings. (line 60)
* Dominik, Carsten: Cooperation. (line 11)
* Dominik, Carsten <1>: Cooperation. (line 19)
* DONE, final TODO keyword: Per-file keywords. (line 26)
* dragging, agenda lines: Agenda commands. (line 297)
* drawer, for properties: Property syntax. (line 6)
* drawer, for state change recording: Tracking TODO state changes.
(line 6)
* drawers: Drawers. (line 6)
* Duration, computing: Durations and time values.
(line 6)
* dvipng: Math formatting in HTML export.
(line 6)
* dvipng <1>: Working with LaTeX math snippets.
(line 48)
* dvisvgm: Math formatting in HTML export.
(line 6)
* dvisvgm <1>: Working with LaTeX math snippets.
(line 48)
* dynamic blocks: Dynamic blocks. (line 6)
* dynamic indentation: Clean view. (line 6)
* ecomplete.el: Conflicts. (line 33)
* editing tables: Tables. (line 6)
* editing, of table formulas: Editing and debugging formulas.
(line 6)
* edits, catching invisible: Catching invisible edits.
(line 6)
* effort estimates: Effort estimates. (line 6)
* effort filtering, in agenda: Filtering/limiting agenda items.
(line 17)
* Elisp links: External links. (line 6)
* ellipsis, special symbol: Special symbols. (line 39)
* ELPA: Activation. (line 6)
* email, macro: Macro replacement. (line 24)
* embedding images in ODT: Images in ODT export.
(line 6)
* entitiesplain, STARTUP keyword: In-buffer settings. (line 159)
* entitiespretty, STARTUP keyword: Special symbols. (line 34)
* entitiespretty, STARTUP keyword <1>: In-buffer settings. (line 159)
* escaping characters: Special symbols. (line 27)
* evaluate time range: Creating timestamps. (line 52)
* even, STARTUP keyword: In-buffer settings. (line 122)
* example blocks, in LaTeX export: Example blocks in LaTeX export.
(line 6)
* export back-end: Exporting. (line 12)
* export back-ends, built-in: Other built-in back-ends.
(line 6)
* Export, dispatcher: The export dispatcher.
(line 6)
* export, OpenDocument: OpenDocument Text export.
(line 6)
* Export, settings: Export settings. (line 6)
* Export, writing back-ends: Adding export back-ends.
(line 6)
* exporting: Exporting. (line 6)
* exporting agenda views: Agenda commands. (line 426)
* exporting agenda views <1>: Exporting agenda views.
(line 13)
* exporting, not: Comment lines. (line 6)
* extended TODO keywords: TODO extensions. (line 6)
* external archiving: Moving subtrees. (line 6)
* external links: External links. (line 6)
* external links, in HTML export: Links in HTML export.
(line 6)
* faces, for TODO keywords: Faces for TODO keywords.
(line 6)
* FAQ: Summary. (line 49)
* feedback: Feedback. (line 6)
* field coordinates: References. (line 86)
* field formula: Field and range formulas.
(line 6)
* field references: References. (line 15)
* file links: External links. (line 6)
* file links, searching: Search options. (line 6)
* file name completion: Handling links. (line 87)
* files for agenda: Agenda files. (line 6)
* files, adding to agenda list: Agenda files. (line 15)
* files, selecting for publishing: Selecting files. (line 6)
* filladapt.el: Conflicts. (line 45)
* filtering, by tag, category, top headline and effort, in agenda: Filtering/limiting agenda items.
(line 17)
* Filters, exporting: Advanced configuration.
(line 32)
* fnadjust, STARTUP keyword: In-buffer settings. (line 142)
* fnauto, STARTUP keyword: In-buffer settings. (line 142)
* fnconfirm, STARTUP keyword: In-buffer settings. (line 142)
* fninline, STARTUP keyword: In-buffer settings. (line 142)
* fnlocal, STARTUP keyword: In-buffer settings. (line 142)
* fnplain, STARTUP keyword: In-buffer settings. (line 142)
* fnprompt, STARTUP keyword: In-buffer settings. (line 142)
* folded, subtree visibility state: Global and local cycling.
(line 10)
* folding, sparse trees: Sparse trees. (line 6)
* following links: Handling links. (line 98)
* footnotes: Footnotes. (line 6)
* format specifier: Formula syntax for Calc.
(line 14)
* format, of links: Link format. (line 6)
* formatting source code, markup rules: Literal examples. (line 23)
* formula debugging: Editing and debugging formulas.
(line 117)
* formula editing: Editing and debugging formulas.
(line 6)
* formula syntax, Calc: Formula syntax for Calc.
(line 6)
* formula, for individual table field: Field and range formulas.
(line 6)
* formula, for range of fields: Field and range formulas.
(line 6)
* formula, for table column: Column formulas. (line 6)
* formula, in tables: Built-in table editor.
(line 145)
* function index, in Texinfo export: Indices. (line 6)
* Gillespie, Dave: Cooperation. (line 6)
* global cycling: Global and local cycling.
(line 18)
* global key bindings: Activation. (line 6)
* global TODO list: Global TODO list. (line 6)
* global visibility states: Global and local cycling.
(line 18)
* Gnus links: External links. (line 6)
* graph, in tables: Org-Plot. (line 6)
* group tags: Tag hierarchy. (line 6)
* group tags, as regular expressions: Matching tags and properties.
(line 60)
* grouping columns in tables: Column groups. (line 6)
* habits: Tracking your habits.
(line 6)
* hacking: Hacking. (line 6)
* handle rewritten URL in open-source protocol: open-source protocol.
(line 32)
* header, for LaTeX files: LaTeX header and sectioning.
(line 6)
* headline navigation: Motion. (line 6)
* headline tagging: Tags. (line 6)
* headline, promotion and demotion: Structure editing. (line 6)
* headlines: Headlines. (line 6)
* hide text: Visibility cycling. (line 6)
* hideblocks, STARTUP keyword: Blocks. (line 13)
* hideblocks, STARTUP keyword <1>: In-buffer settings. (line 154)
* hidestars, STARTUP keyword: In-buffer settings. (line 122)
* hiding leading stars: Clean view. (line 6)
* history: History and acknowledgments.
(line 6)
* hooks: Hooks. (line 6)
* horizontal rules, in ASCII export: ASCII/Latin-1/UTF-8 export.
(line 67)
* horizontal rules, in LaTeX export: Horizontal rules in LaTeX export.
(line 6)
* horizontal rules, markup rules: Horizontal rules. (line 6)
* HTML entities: Special symbols. (line 6)
* HTML export: HTML export. (line 6)
* HTML export, CSS: CSS support. (line 6)
* HTML, and Orgtbl mode: Translator functions.
(line 6)
* HTML5, export new elements: HTML doctypes. (line 25)
* hyperlinks: Hyperlinks. (line 6)
* hyperlinks, adding new types: Adding hyperlink types.
(line 6)
* iCalendar export: iCalendar export. (line 6)
* identify, ImageMagick: Images in ODT export.
(line 34)
* idle, resolve, dangling: Resolving idle time. (line 9)
* image, centering (LaTeX export): Images in LaTeX export.
(line 46)
* imagemagick: Math formatting in HTML export.
(line 6)
* imagemagick <1>: Working with LaTeX math snippets.
(line 48)
* images, embedding in ODT: Images in ODT export.
(line 6)
* images, inline in HTML: Images in HTML export.
(line 6)
* images, inline in LaTeX: Images in LaTeX export.
(line 6)
* images, inlining: Handling links. (line 129)
* imenu.el: Cooperation. (line 22)
* in-buffer settings: In-buffer settings. (line 6)
* inactive timestamp: Timestamps. (line 50)
* include files, during export: Include files. (line 6)
* indent, STARTUP keyword: In-buffer settings. (line 70)
* indentation, in source blocks: Literal examples. (line 72)
* indentation, in source blocks <1>: Editing source code. (line 36)
* index, in a publishing project: Generating an index. (line 6)
* Info directory file, in Texinfo export: Info directory file.
(line 6)
* Info links: External links. (line 6)
* inheritance, of properties: Property inheritance.
(line 6)
* inheritance, of tags: Tag inheritance. (line 6)
* inline, in LaTeX export: Quoting LaTeX code. (line 10)
* inlined images, markup rules: Images and tables. (line 22)
* inlineimages, STARTUP keyword: Handling links. (line 129)
* inlineimages, STARTUP keyword <1>: In-buffer settings. (line 84)
* inlining images: Handling links. (line 129)
* inlining images in HTML: Images in HTML export.
(line 6)
* inlining images in LaTeX: Images in LaTeX export.
(line 6)
* input file, macro: Macro replacement. (line 44)
* inserting links: Handling links. (line 65)
* insertion, of templates: Easy templates. (line 6)
* install-info parameters, in Texinfo export: Info directory file.
(line 6)
* installation: Installation. (line 6)
* Installing Org protocol: Protocols. (line 14)
* internal links: Internal links. (line 6)
* internal links, in HTML export: Links in HTML export.
(line 6)
* introduction: Introduction. (line 6)
* iPhone: MobileOrg. (line 6)
* IRC links: External links. (line 6)
* italic text, markup rules: Emphasis and monospace.
(line 6)
* jumping, to headlines: Motion. (line 6)
* key bindings, global: Activation. (line 6)
* keystroke index, in Texinfo export: Indices. (line 6)
* keyword options: Per-file keywords. (line 6)
* LaTeX class: LaTeX header and sectioning.
(line 6)
* LaTeX entities: Special symbols. (line 6)
* LaTeX export: LaTeX export. (line 6)
* LaTeX fragments: LaTeX fragments. (line 6)
* LaTeX fragments, preview: Previewing LaTeX fragments.
(line 6)
* LaTeX header: LaTeX header and sectioning.
(line 6)
* LaTeX interpretation: Embedded LaTeX. (line 6)
* LaTeX sectioning structure: LaTeX header and sectioning.
(line 6)
* LaTeX, and Orgtbl mode: A LaTeX example. (line 6)
* latexpreview, STARTUP keyword: In-buffer settings. (line 90)
* Latin-1 export: ASCII/Latin-1/UTF-8 export.
(line 6)
* level, require for tags/property match: Matching tags and properties.
(line 67)
* LibreOffice: OpenDocument Text export.
(line 6)
* LibreOffice <1>: Extending ODT export.
(line 12)
* limits, in agenda: Filtering/limiting agenda items.
(line 118)
* link abbreviations: Link abbreviations. (line 6)
* link abbreviations, completion of: Completion. (line 6)
* link completion: Handling links. (line 65)
* link format: Link format. (line 6)
* links, external: External links. (line 6)
* links, finding next/previous: Handling links. (line 146)
* links, handling: Handling links. (line 6)
* links, in HTML export: Links in HTML export.
(line 6)
* links, in ODT export: Links in ODT export. (line 6)
* links, internal: Internal links. (line 6)
* links, publishing: Publishing links. (line 6)
* links, radio targets: Radio targets. (line 6)
* links, returning to: Handling links. (line 140)
* linter: Org syntax. (line 24)
* Lisp forms, as table formulas: Formula syntax for Lisp.
(line 6)
* list of listings: Table of contents. (line 6)
* list of tables: Table of contents. (line 6)
* lists, in other modes: Tables in arbitrary syntax.
(line 6)
* lists, ordered: Plain lists. (line 6)
* lists, plain: Plain lists. (line 6)
* literal examples, markup rules: Literal examples. (line 6)
* logdone, STARTUP keyword: In-buffer settings. (line 96)
* logdrawer, STARTUP keyword: In-buffer settings. (line 96)
* logging, of progress: Progress logging. (line 6)
* lognoteclock-out, STARTUP keyword: In-buffer settings. (line 96)
* lognotedone, STARTUP keyword: In-buffer settings. (line 96)
* lognoteredeadline, STARTUP keyword: In-buffer settings. (line 96)
* lognoterefile, STARTUP keyword: In-buffer settings. (line 96)
* lognoterepeat, STARTUP keyword: In-buffer settings. (line 96)
* lognotereschedule, STARTUP keyword: In-buffer settings. (line 96)
* logredeadline, STARTUP keyword: In-buffer settings. (line 96)
* logrefile, STARTUP keyword: In-buffer settings. (line 96)
* logrepeat, STARTUP keyword: In-buffer settings. (line 96)
* logreschedule, STARTUP keyword: In-buffer settings. (line 96)
* logstatesreversed, STARTUP keyword: In-buffer settings. (line 96)
* lookup functions in tables: Lookup functions. (line 6)
* Ludlam, Eric M.: Cooperation. (line 30)
* macro replacement, during export: Macro replacement. (line 6)
* maintainer: Feedback. (line 6)
* mapping entries, API: Using the mapping API.
(line 6)
* mark ring: Handling links. (line 137)
* Markdown export: Markdown export. (line 6)
* marking characters, tables: Advanced features. (line 39)
* match view: Matching tags and properties.
(line 6)
* matching, of properties: Matching tags and properties.
(line 6)
* matching, of tags: Matching tags and properties.
(line 6)
* matching, tags: Tags. (line 6)
* math symbols: Special symbols. (line 6)
* MathJax: Math formatting in HTML export.
(line 6)
* MathML: Working with LaTeX math snippets.
(line 9)
* MH-E links: External links. (line 6)
* minor mode for structure editing: Orgstruct mode. (line 6)
* minor mode for tables: Orgtbl mode. (line 6)
* MobileOrg: MobileOrg. (line 6)
* mode, for calc: Formula syntax for Calc.
(line 14)
* modification time, macro: Macro replacement. (line 36)
* motion commands in agenda: Agenda commands. (line 19)
* motion, between headlines: Motion. (line 6)
* Multiple entries in two-column tables, in Texinfo export: Plain lists in Texinfo export.
(line 17)
* n, macro: Macro replacement. (line 55)
* name, of column or field: References. (line 108)
* name, of column or field <1>: References. (line 129)
* named references: References. (line 108)
* names as TODO keywords: TODO types. (line 6)
* narrow columns in tables: Column width and alignment.
(line 6)
* noalign, STARTUP keyword: In-buffer settings. (line 79)
* nofnadjust, STARTUP keyword: In-buffer settings. (line 142)
* nofninline, STARTUP keyword: In-buffer settings. (line 142)
* nohideblocks, STARTUP keyword: Blocks. (line 13)
* nohideblocks, STARTUP keyword <1>: In-buffer settings. (line 154)
* noindent, STARTUP keyword: In-buffer settings. (line 70)
* noinlineimages, STARTUP keyword: Handling links. (line 129)
* noinlineimages, STARTUP keyword <1>: In-buffer settings. (line 84)
* nolatexpreview, STARTUP keyword: In-buffer settings. (line 90)
* nologdone, STARTUP keyword: In-buffer settings. (line 96)
* nologdrawer, STARTUP keyword: In-buffer settings. (line 96)
* nolognoteclock-out, STARTUP keyword: In-buffer settings. (line 96)
* nologredeadline, STARTUP keyword: In-buffer settings. (line 96)
* nologrefile, STARTUP keyword: In-buffer settings. (line 96)
* nologrepeat, STARTUP keyword: In-buffer settings. (line 96)
* nologreschedule, STARTUP keyword: In-buffer settings. (line 96)
* nologstatesreversed, STARTUP keyword: In-buffer settings. (line 96)
* occur, command: Sparse trees. (line 6)
* occur-tree: Storing searches. (line 9)
* odd, STARTUP keyword: In-buffer settings. (line 122)
* odd-levels-only outlines: Clean view. (line 6)
* ODT: OpenDocument Text export.
(line 6)
* ODT_STYLES_FILE: ODT specific export settings.
(line 22)
* open-source protocol: open-source protocol.
(line 6)
* OpenDocument: OpenDocument Text export.
(line 6)
* option keyword completion: Completion. (line 6)
* options, for custom agenda views: Setting options. (line 6)
* options, for customization: Customization. (line 6)
* options, for publishing: Publishing options. (line 6)
* ordered lists: Plain lists. (line 6)
* Org entities: Special symbols. (line 6)
* Org export: Org export. (line 6)
* Org mode, turning on: Activation. (line 21)
* Org protocol, set-up: Protocols. (line 14)
* Org syntax: Org syntax. (line 6)
* org-agenda, command: Weekly/daily agenda. (line 9)
* org-capture-last-stored: Using capture. (line 48)
* org-crypt.el: org-crypt. (line 6)
* org-decrypt-entry: org-crypt. (line 6)
* org-hide-block-startup: In-buffer settings. (line 153)
* org-insert-drawer: Drawers. (line 6)
* org-insert-drawer <1>: Property syntax. (line 87)
* org-list-insert-radio-list: Radio lists. (line 6)
* org-pretty-entities: In-buffer settings. (line 158)
* org-publish-project-alist: Project alist. (line 6)
* Orgstruct mode: Orgstruct mode. (line 6)
* Orgtbl mode: Orgtbl mode. (line 6)
* Orgtbl mode <1>: Tables in arbitrary syntax.
(line 6)
* Ota, Takaaki: Cooperation. (line 36)
* Outline mode: Outlines. (line 6)
* outline tree: Headlines. (line 6)
* outlines: Outlines. (line 6)
* overview, global visibility state: Global and local cycling.
(line 18)
* overview, STARTUP keyword: Initial visibility. (line 6)
* overview, STARTUP keyword <1>: In-buffer settings. (line 65)
* packages, interaction with other: Interaction. (line 6)
* paragraphs, markup rules: Paragraphs. (line 6)
* pasting, of subtrees: Structure editing. (line 6)
* PDF export: LaTeX export. (line 6)
* per-file keywords: Per-file keywords. (line 6)
* plain lists: Plain lists. (line 6)
* plain lists, in LaTeX export: Plain lists in LaTeX export.
(line 6)
* plain text external links: External links. (line 68)
* plot tables using Gnuplot: Org-Plot. (line 6)
* presentation, of agenda items: Presentation and sorting.
(line 6)
* print edition: Summary. (line 52)
* printing sparse trees: Sparse trees. (line 49)
* priorities: Priorities. (line 6)
* priorities, of agenda items: Sorting agenda items.
(line 6)
* program index, in Texinfo export: Indices. (line 6)
* progress logging: Progress logging. (line 6)
* projects, for publishing: Project alist. (line 6)
* promotion, of subtrees: Structure editing. (line 6)
* proof, in LaTeX export: Special blocks in LaTeX export.
(line 6)
* properties: Properties and columns.
(line 6)
* properties, API: Property API. (line 6)
* properties, API <1>: Using the property API.
(line 6)
* properties, column view: Defining columns. (line 6)
* properties, inheritance: Property inheritance.
(line 6)
* properties, searching: Property searches. (line 6)
* properties, special: Special properties. (line 6)
* property syntax: Property syntax. (line 6)
* property, +: Property syntax. (line 52)
* property, + <1>: Property syntax. (line 58)
* property, ALT_TITLE: Table of contents. (line 41)
* property, APPENDIX: Headings and sectioning structure.
(line 20)
* property, ARCHIVE: Property inheritance.
(line 32)
* property, ARCHIVE <1>: Moving subtrees. (line 35)
* property, ATTACH_DIR: Attachments. (line 74)
* property, ATTACH_DIR_INHERIT: Attachments. (line 79)
* property, BEAMER_ACT: Sectioning Frames and Blocks in Beamer.
(line 41)
* property, BEAMER_COL: Sectioning Frames and Blocks in Beamer.
(line 49)
* property, BEAMER_ENV: Sectioning Frames and Blocks in Beamer.
(line 14)
* property, BEAMER_OPT: Sectioning Frames and Blocks in Beamer.
(line 41)
* property, BEAMER_REF: Sectioning Frames and Blocks in Beamer.
(line 27)
* property, CATEGORY: Property inheritance.
(line 29)
* property, CATEGORY <1>: Categories. (line 12)
* property, CLOCK_MODELINE_TOTAL: Clocking commands. (line 20)
* property, COLUMNS: Property inheritance.
(line 22)
* property, COLUMNS <1>: In-buffer settings. (line 24)
* property, COOKIE_DATA: Breaking down tasks. (line 21)
* property, COOKIE_DATA <1>: Checkboxes. (line 30)
* property, COPYING: Texinfo title and copyright page.
(line 19)
* property, CUSTOM_ID: Internal links. (line 6)
* property, CUSTOM_ID <1>: Handling links. (line 21)
* property, DESCRIPTION: Headings and sectioning structure.
(line 24)
* property, DESCRIPTION <1>: iCalendar export. (line 49)
* property, EFFORT: Effort estimates. (line 6)
* property, EXPORT_FILE_NAME: ODT export commands. (line 7)
* property, EXPORT_LATEX_CLASS: LaTeX header and sectioning.
(line 23)
* property, EXPORT_LATEX_CLASS_OPTIONS: LaTeX header and sectioning.
(line 23)
* property, ID: Handling links. (line 21)
* property, ID <1>: Capturing column view.
(line 22)
* property, ID <2>: iCalendar export. (line 26)
* property, INDEX: Indices. (line 14)
* property, LAST_REPEAT: Clocking commands. (line 20)
* property, LOCATION: iCalendar export. (line 49)
* property, LOGGING: Tracking TODO state changes.
(line 45)
* property, LOGGING <1>: Property inheritance.
(line 35)
* property, LOG_INTO_DRAWER: Tracking TODO state changes.
(line 6)
* property, LOG_INTO_DRAWER <1>: Clocking commands. (line 7)
* property, macro: Macro replacement. (line 48)
* property, ORDERED: TODO dependencies. (line 6)
* property, ORDERED <1>: TODO dependencies. (line 38)
* property, ORDERED <2>: Checkboxes. (line 46)
* property, ORDERED <3>: Checkboxes. (line 75)
* property, special, ALLTAGS: Special properties. (line 13)
* property, special, BLOCKED: Special properties. (line 13)
* property, special, CLOCKSUM: Special properties. (line 13)
* property, special, CLOCKSUM <1>: Agenda column view. (line 28)
* property, special, CLOCKSUM_T: Special properties. (line 13)
* property, special, CLOCKSUM_T <1>: Agenda column view. (line 51)
* property, special, CLOSED: Special properties. (line 13)
* property, special, DEADLINE: Special properties. (line 13)
* property, special, FILE: Special properties. (line 13)
* property, special, ITEM: Special properties. (line 13)
* property, special, PRIORITY: Special properties. (line 13)
* property, special, SCHEDULED: Special properties. (line 13)
* property, special, TAGS: Special properties. (line 13)
* property, special, TIMESTAMP: Special properties. (line 13)
* property, special, TIMESTAMP_IA: Special properties. (line 13)
* property, special, TODO: Special properties. (line 13)
* property, SUMMARY: iCalendar export. (line 49)
* property, TIMEZONE: iCalendar export. (line 49)
* property, UNNUMBERED: Export settings. (line 149)
* property, VISIBILITY: Initial visibility. (line 17)
* property, _ALL: Property syntax. (line 44)
* protocol, capture: capture protocol. (line 6)
* protocol, new protocol: Protocols. (line 25)
* protocol, open-source: open-source protocol.
(line 6)
* protocol, open-source rewritten URL: open-source protocol.
(line 32)
* protocol, open-source, :base-url property: open-source protocol.
(line 13)
* protocol, open-source, :online-suffix property: open-source protocol.
(line 13)
* protocol, open-source, :rewrites property: open-source protocol.
(line 43)
* protocol, open-source, :working-directory property: open-source protocol.
(line 13)
* protocol, open-source, :working-suffix property: open-source protocol.
(line 13)
* protocol, open-source, set-up mapping: open-source protocol.
(line 67)
* protocol, store-link: store-link protocol. (line 6)
* protocols, for external access: Protocols. (line 6)
* publishing: Publishing. (line 6)
* query editing, in agenda: Filtering/limiting agenda items.
(line 17)
* quote blocks: Paragraphs. (line 26)
* radio lists: Radio lists. (line 6)
* radio tables: Radio tables. (line 6)
* radio targets: Radio targets. (line 6)
* range formula: Field and range formulas.
(line 6)
* range references: References. (line 63)
* ranges, time: Timestamps. (line 6)
* recomputing table fields: Updating the table. (line 6)
* references: References. (line 6)
* references, named: References. (line 108)
* references, remote: References. (line 129)
* references, to a different table: References. (line 129)
* references, to fields: References. (line 15)
* references, to ranges: References. (line 63)
* refiling notes: Refile and copy. (line 6)
* region, active: Structure editing. (line 116)
* region, active <1>: Built-in table editor.
(line 145)
* region, active <2>: ODT export commands. (line 6)
* regular expressions, with tags search: Matching tags and properties.
(line 56)
* relative timer: Timers. (line 6)
* reminders: Weekly/daily agenda. (line 126)
* remote editing, bulk, from agenda: Agenda commands. (line 308)
* remote editing, from agenda: Agenda commands. (line 200)
* remote editing, undo: Agenda commands. (line 201)
* remote references: References. (line 129)
* repeated tasks: Repeated tasks. (line 6)
* report, of clocked time: The clock table. (line 6)
* resolve idle time: Resolving idle time. (line 9)
* revealing context: Global and local cycling.
(line 37)
* RMAIL links: External links. (line 6)
* Rose, Sebastian: JavaScript support. (line 6)
* row, of field coordinates: References. (line 86)
* RSS feeds: RSS feeds. (line 6)
* rsync: Uploading files. (line 6)
* SCHEDULED keyword: Deadlines and scheduling.
(line 32)
* scheduling: Timestamps. (line 6)
* Schulte, Eric: Working with source code.
(line 6)
* Scripts, for agenda processing: Extracting agenda information.
(line 6)
* search option in file links: Search options. (line 6)
* search strings, custom: Custom searches. (line 6)
* search view: Search view. (line 6)
* searching for tags: Tag searches. (line 6)
* searching, for text: Search view. (line 6)
* searching, of properties: Property searches. (line 6)
* sectioning structure, for LaTeX export: LaTeX header and sectioning.
(line 6)
* set startup visibility, command: Global and local cycling.
(line 33)
* set-up mappings in open-source protocol: open-source protocol.
(line 67)
* setting tags: Setting tags. (line 6)
* SHELL links: External links. (line 6)
* shift-selection-mode: Plain lists. (line 90)
* shift-selection-mode <1>: Conflicts. (line 6)
* show all, command: Global and local cycling.
(line 35)
* show all, global visibility state: Global and local cycling.
(line 18)
* show branches, command: Global and local cycling.
(line 45)
* show children, command: Global and local cycling.
(line 48)
* show hidden text: Visibility cycling. (line 6)
* showall, STARTUP keyword: Initial visibility. (line 6)
* showall, STARTUP keyword <1>: In-buffer settings. (line 65)
* showeverything, STARTUP keyword: Initial visibility. (line 6)
* showeverything, STARTUP keyword <1>: In-buffer settings. (line 65)
* showstars, STARTUP keyword: In-buffer settings. (line 122)
* shy hyphen, special symbol: Special symbols. (line 39)
* sitemap, of published pages: Sitemap. (line 6)
* sorting, of agenda items: Sorting agenda items.
(line 6)
* sorting, of plain list: Plain lists. (line 142)
* sorting, of subtrees: Structure editing. (line 6)
* source blocks, in LaTeX export: Source blocks in LaTeX export.
(line 6)
* source code, batch execution: Batch execution. (line 6)
* source code, block header arguments: Header arguments. (line 6)
* source code, block structure: Structure of code blocks.
(line 6)
* source code, editing: Editing source code. (line 6)
* source code, evaluating: Evaluating code blocks.
(line 6)
* source code, exporting: Exporting code blocks.
(line 6)
* source code, extracting: Extracting source code.
(line 6)
* source code, inline: Structure of code blocks.
(line 24)
* source code, language: Structure of code blocks.
(line 48)
* source code, languages: Languages. (line 6)
* source code, library: Library of Babel. (line 6)
* source code, noweb reference: Noweb reference syntax.
(line 6)
* source code, results of evaluation: Results of evaluation.
(line 6)
* source code, switches: Structure of code blocks.
(line 52)
* source code, working with: Working with source code.
(line 6)
* sparse tree, for deadlines: Inserting deadline/schedule.
(line 23)
* sparse tree, for TODO: TODO basics. (line 41)
* sparse tree, tag based: Tags. (line 6)
* sparse trees: Sparse trees. (line 6)
* special blocks, in ASCII export: ASCII/Latin-1/UTF-8 export.
(line 77)
* special blocks, in LaTeX export: Special blocks in LaTeX export.
(line 6)
* special keywords: In-buffer settings. (line 6)
* special symbols: Special symbols. (line 6)
* special symbols, in-buffer display: Special symbols. (line 31)
* speed keys: Speed keys. (line 6)
* speedbar.el: Cooperation. (line 30)
* spreadsheet capabilities: The spreadsheet. (line 6)
* square brackets, around links: External links. (line 68)
* statistics, for checkboxes: Checkboxes. (line 30)
* statistics, for TODO items: Breaking down tasks. (line 6)
* store-link protocol: store-link protocol. (line 6)
* storing links: Handling links. (line 10)
* Storm, Kim. F.: Conflicts. (line 18)
* strike-through text, markup rules: Emphasis and monospace.
(line 6)
* structure editing: Structure editing. (line 6)
* structure of document: Document structure. (line 6)
* styles, custom: Applying custom styles.
(line 6)
* styles, custom <1>: Working with OpenDocument style files.
(line 6)
* sublevels, inclusion into tags match: Tag inheritance. (line 6)
* sublevels, inclusion into TODO list: Global TODO list. (line 34)
* subscript: Subscripts and superscripts.
(line 6)
* SUBTITLE (ODT): ODT specific export settings.
(line 26)
* subtree cycling: Global and local cycling.
(line 10)
* subtree visibility states: Global and local cycling.
(line 10)
* subtree, cut and paste: Structure editing. (line 6)
* subtree, subtree visibility state: Global and local cycling.
(line 10)
* subtrees, cut and paste: Structure editing. (line 6)
* summary: Summary. (line 6)
* superscript: Subscripts and superscripts.
(line 6)
* syntax checker: Org syntax. (line 24)
* syntax, noweb: Noweb reference syntax.
(line 6)
* syntax, of formulas: Formula syntax for Calc.
(line 6)
* table editor, built-in: Built-in table editor.
(line 6)
* table editor, table.el: Cooperation. (line 36)
* table lookup functions: Lookup functions. (line 6)
* table of contents: Table of contents. (line 6)
* table.el: Cooperation. (line 34)
* table.el <1>: Cooperation. (line 36)
* tables: Tables. (line 6)
* tables, in HTML: Tables in HTML export.
(line 6)
* tables, in LaTeX export: Tables in LaTeX export.
(line 6)
* tables, in ODT export: Tables in ODT export.
(line 6)
* tables, in ODT export <1>: Customizing tables in ODT export.
(line 6)
* tables, in other modes: Tables in arbitrary syntax.
(line 6)
* tables, markup rules: Images and tables. (line 6)
* tag completion: Completion. (line 6)
* tag filtering, in agenda: Filtering/limiting agenda items.
(line 17)
* tag hierarchy: Tag hierarchy. (line 6)
* tag inheritance: Tag inheritance. (line 6)
* tag searches: Tag searches. (line 6)
* tags: Tags. (line 6)
* tags view: Matching tags and properties.
(line 6)
* tags, as an agenda view: Storing searches. (line 9)
* tags, groups: Tag hierarchy. (line 6)
* tags, setting: Setting tags. (line 6)
* tags-todo: Storing searches. (line 9)
* tags-tree: Storing searches. (line 9)
* tangling: Extracting source code.
(line 6)
* targets, for links: Internal links. (line 6)
* targets, radio: Radio targets. (line 6)
* tasks, breaking down: Breaking down tasks. (line 6)
* tasks, repeated: Repeated tasks. (line 6)
* template insertion: Easy templates. (line 6)
* template, custom: Applying custom styles.
(line 6)
* template, custom <1>: Working with OpenDocument style files.
(line 6)
* templates, for Capture: Capture templates. (line 6)
* TeX interpretation: Embedded LaTeX. (line 6)
* TeX symbol completion: Completion. (line 6)
* Texinfo export: Texinfo export. (line 6)
* Texinfo export, data type index: Indices. (line 6)
* Texinfo export, dir file: Info directory file. (line 6)
* Texinfo export, index, concept: Indices. (line 6)
* Texinfo export, index, function: Indices. (line 6)
* Texinfo export, Info directory file: Info directory file. (line 6)
* Texinfo export, install-info parameters: Info directory file.
(line 6)
* Texinfo export, keystroke index: Indices. (line 6)
* Texinfo export, program index: Indices. (line 6)
* Texinfo export, Top node: Headings and sectioning structure.
(line 37)
* Texinfo export, variable index: Indices. (line 6)
* text areas, in HTML: Text areas in HTML export.
(line 6)
* text search: Search view. (line 6)
* thanks: History and acknowledgments.
(line 5)
* The Top node, in Texinfo export: Headings and sectioning structure.
(line 37)
* time clocking: Clocking work time. (line 6)
* time format, custom: Custom time format. (line 6)
* time grid: Time-of-day specifications.
(line 29)
* Time, computing: Durations and time values.
(line 6)
* time, macro: Macro replacement. (line 36)
* time, reading in minibuffer: The date/time prompt.
(line 6)
* time-of-day specification: Time-of-day specifications.
(line 6)
* timerange: Timestamps. (line 42)
* times: Dates and times. (line 6)
* timestamp: Dates and times. (line 6)
* timestamp <1>: Timestamps. (line 14)
* timestamp, inactive: Timestamps. (line 50)
* timestamp, with repeater interval: Timestamps. (line 25)
* timestamps: Timestamps. (line 6)
* timestamps, creating: Creating timestamps. (line 6)
* title, macro: Macro replacement. (line 24)
* TODO dependencies: TODO dependencies. (line 6)
* TODO dependencies, NOBLOCKING: TODO dependencies. (line 6)
* TODO items: TODO items. (line 6)
* TODO keyword matching: Global TODO list. (line 17)
* TODO keyword matching, with tags search: Matching tags and properties.
(line 67)
* TODO keyword sets: Multiple sets in one file.
(line 6)
* TODO keywords completion: Completion. (line 6)
* TODO list, global: Global TODO list. (line 6)
* TODO types: TODO types. (line 6)
* TODO workflow: Workflow states. (line 6)
* todo, as an agenda view: Storing searches. (line 9)
* todo-tree: Storing searches. (line 9)
* top headline filtering, in agenda: Filtering/limiting agenda items.
(line 17)
* transient mark mode: Structure editing. (line 116)
* transient mark mode <1>: Built-in table editor.
(line 145)
* transient-mark-mode: ODT export commands. (line 6)
* translator function: Translator functions.
(line 6)
* trees, sparse: Sparse trees. (line 6)
* trees, visibility: Visibility cycling. (line 6)
* tty key bindings: TTY keys. (line 6)
* Two-column tables, in Texinfo export: Plain lists in Texinfo export.
(line 6)
* types as TODO keywords: TODO types. (line 6)
* underlined text, markup rules: Emphasis and monospace.
(line 6)
* undoing remote-editing events: Agenda commands. (line 201)
* unison: Uploading files. (line 6)
* unoconv: Extending ODT export.
(line 12)
* updating, table: Updating the table. (line 6)
* URL links: External links. (line 6)
* USENET links: External links. (line 6)
* UTF-8 export: ASCII/Latin-1/UTF-8 export.
(line 6)
* variable index, in Texinfo export: Indices. (line 6)
* variables, for customization: Customization. (line 6)
* vectors, in table calculations: Formula syntax for Calc.
(line 11)
* verbatim blocks, in LaTeX export: Example blocks in LaTeX export.
(line 6)
* verbatim text, markup rules: Emphasis and monospace.
(line 6)
* verse blocks: Paragraphs. (line 13)
* viper.el: Conflicts. (line 93)
* visibility cycling: Visibility cycling. (line 6)
* visibility cycling, drawers: Drawers. (line 6)
* visibility, initialize: Initial visibility. (line 6)
* visible text, printing: Sparse trees. (line 49)
* VM links: External links. (line 41)
* WANDERLUST links: External links. (line 41)
* weekly agenda: Weekly/daily agenda. (line 6)
* windmove.el: Conflicts. (line 80)
* workflow states as TODO keywords: Workflow states. (line 6)
* yasnippet.el: Conflicts. (line 54)
* zip: Pre-requisites for ODT export.
(line 6)
File: org, Node: Key Index, Next: Command and Function Index, Prev: Main Index, Up: Top
Key index
*********
[index ]
* Menu:
* $: Agenda commands. (line 226)
* %: Agenda commands. (line 320)
* ': CDLaTeX mode. (line 38)
* *: Agenda commands. (line 310)
* +: Agenda commands. (line 243)
* ,: Agenda commands. (line 237)
* -: Agenda commands. (line 247)
* .: Agenda commands. (line 90)
* /: Filtering/limiting agenda items.
(line 17)
* / <1>: Agenda commands. (line 176)
* :: Agenda commands. (line 234)
* ;: Timers. (line 6)
* <: Using column view. (line 61)
* < <1>: The date/time prompt.
(line 82)
* < <2>: Agenda files. (line 53)
* < <3>: Filtering/limiting agenda items.
(line 65)
* < <4>: Agenda commands. (line 180)
* =: Filtering/limiting agenda items.
(line 80)
* = <1>: Agenda commands. (line 188)
* >: Using column view. (line 61)
* > <1>: The date/time prompt.
(line 82)
* > <2>: Agenda files. (line 57)
* > <3>: Agenda commands. (line 276)
* ?: Pulling from MobileOrg.
(line 26)
* [: Filtering/limiting agenda items.
(line 56)
* [ <1>: Agenda commands. (line 109)
* ]: Filtering/limiting agenda items.
(line 56)
* ^: Filtering/limiting agenda items.
(line 76)
* ^ <1>: Agenda commands. (line 184)
* ^ <2>: CDLaTeX mode. (line 30)
* _: Filtering/limiting agenda items.
(line 91)
* _ <1>: Agenda commands. (line 191)
* _ <2>: CDLaTeX mode. (line 30)
* `: CDLaTeX mode. (line 35)
* {: Filtering/limiting agenda items.
(line 56)
* |: Filtering/limiting agenda items.
(line 112)
* | <1>: Agenda commands. (line 194)
* }: Filtering/limiting agenda items.
(line 56)
* ~: Filtering/limiting agenda items.
(line 151)
* a: Using column view. (line 51)
* A: Agenda commands. (line 61)
* a <1>: Agenda commands. (line 217)
* b: Agenda commands. (line 88)
* B: Agenda commands. (line 322)
* c: Agenda commands. (line 381)
* c <1>: Agenda commands. (line 382)
* C: Agenda commands. (line 410)
* C-#: Advanced features. (line 10)
* C-': Agenda files. (line 21)
* C-,: Agenda files. (line 21)
* C-0 C-c C-w: Refile and copy. (line 42)
* C-c !: Creating timestamps. (line 15)
* C-c #: Checkboxes. (line 80)
* C-c $: Moving subtrees. (line 9)
* C-c %: Handling links. (line 135)
* C-c &: Handling links. (line 139)
* C-c ': Footnotes. (line 81)
* C-c ' <1>: Editing and debugging formulas.
(line 32)
* C-c ' <2>: Literal examples. (line 87)
* C-c ' <3>: Include files. (line 59)
* C-c ' <4>: Editing source code. (line 6)
* C-c ' <5>: Cooperation. (line 44)
* C-c *: Structure editing. (line 106)
* C-c * <1>: Plain lists. (line 130)
* C-c * <2>: Updating the table. (line 13)
* C-c +: Built-in table editor.
(line 145)
* C-c ,: Priorities. (line 24)
* C-c -: Plain lists. (line 119)
* C-c - <1>: Built-in table editor.
(line 94)
* C-c .: Creating timestamps. (line 10)
* C-c /: Sparse trees. (line 15)
* C-c / <1>: Conflicts. (line 93)
* C-c / /: Sparse trees. (line 17)
* C-c / a: Inserting deadline/schedule.
(line 29)
* C-c / b: Inserting deadline/schedule.
(line 27)
* C-c / d: Inserting deadline/schedule.
(line 21)
* C-c / m: Tag searches. (line 9)
* C-c / m <1>: Property searches. (line 10)
* C-c / p: Property searches. (line 27)
* C-c / r: Sparse trees. (line 17)
* C-c / t: TODO basics. (line 39)
* C-c ;: Comment lines. (line 19)
* C-c <: Creating timestamps. (line 25)
* C-c =: Column formulas. (line 32)
* C-c = <1>: Editing and debugging formulas.
(line 13)
* C-c >: Creating timestamps. (line 28)
* C-c ?: Editing and debugging formulas.
(line 21)
* C-c @: Structure editing. (line 54)
* C-c a: Conventions. (line 33)
* C-c a !: Stuck projects. (line 14)
* C-c a #: Stuck projects. (line 13)
* C-c a ?: Pulling from MobileOrg.
(line 35)
* C-c a a: Weekly/daily agenda. (line 9)
* C-c a C: Storing searches. (line 9)
* C-c a e: Exporting agenda views.
(line 63)
* C-c a m: Tag searches. (line 13)
* C-c a M: Tag searches. (line 16)
* C-c a m <1>: Property searches. (line 12)
* C-c a M <1>: Property searches. (line 15)
* C-c a m <2>: Matching tags and properties.
(line 12)
* C-c a M <2>: Matching tags and properties.
(line 17)
* C-c a s: Search view. (line 9)
* C-c a t: TODO basics. (line 49)
* C-c a t <1>: Global TODO list. (line 9)
* C-c a T: Global TODO list. (line 15)
* C-c c: Conventions. (line 33)
* C-c c <1>: Using capture. (line 6)
* C-c c C: Capture templates. (line 10)
* C-c C-*: Plain lists. (line 134)
* C-c C-a: Attachments. (line 26)
* C-c C-a <1>: Agenda commands. (line 253)
* C-c C-a a: Attachments. (line 31)
* C-c C-a c: Attachments. (line 37)
* C-c C-a d: Attachments. (line 66)
* C-c C-a D: Attachments. (line 69)
* C-c C-a f: Attachments. (line 60)
* C-c C-a F: Attachments. (line 63)
* C-c C-a i: Attachments. (line 78)
* C-c C-a l: Attachments. (line 37)
* C-c C-a m: Attachments. (line 37)
* C-c C-a n: Attachments. (line 44)
* C-c C-a o: Attachments. (line 51)
* C-c C-a O: Attachments. (line 57)
* C-c C-a s: Attachments. (line 73)
* C-c C-a u: Attachments. (line 41)
* C-c C-a z: Attachments. (line 47)
* C-c C-b: Motion. (line 13)
* C-c C-b <1>: Editing support. (line 11)
* C-c C-c: Plain lists. (line 115)
* C-c C-c <1>: Footnotes. (line 71)
* C-c C-c <2>: Built-in table editor.
(line 58)
* C-c C-c <3>: Editing and debugging formulas.
(line 41)
* C-c C-c <4>: Editing and debugging formulas.
(line 77)
* C-c C-c <5>: Editing and debugging formulas.
(line 84)
* C-c C-c <6>: Checkboxes. (line 52)
* C-c C-c <7>: Setting tags. (line 19)
* C-c C-c <8>: Property syntax. (line 89)
* C-c C-c <9>: Using column view. (line 46)
* C-c C-c <10>: Capturing column view.
(line 48)
* C-c C-c <11>: Creating timestamps. (line 23)
* C-c C-c <12>: Clocking commands. (line 48)
* C-c C-c <13>: Clocking commands. (line 48)
* C-c C-c <14>: The clock table. (line 16)
* C-c C-c <15>: Using capture. (line 15)
* C-c C-c <16>: Previewing LaTeX fragments.
(line 23)
* C-c C-c <17>: Evaluating code blocks.
(line 20)
* C-c C-c <18>: Key bindings and useful functions.
(line 11)
* C-c C-c <19>: The very busy C-c C-c key.
(line 6)
* C-c C-c <20>: Cooperation. (line 36)
* C-c C-c c: Property syntax. (line 102)
* C-c C-c d: Property syntax. (line 98)
* C-c C-c D: Property syntax. (line 100)
* C-c C-c s: Property syntax. (line 92)
* C-c C-d: Inserting deadline/schedule.
(line 9)
* C-c C-d <1>: Agenda commands. (line 258)
* C-c C-e: The export dispatcher.
(line 15)
* C-c C-e c a: iCalendar export. (line 40)
* C-c C-e c c: iCalendar export. (line 43)
* C-c C-e c f: iCalendar export. (line 38)
* C-c C-e C-v: Sparse trees. (line 49)
* C-c C-e h h: HTML Export commands.
(line 6)
* C-c C-e h H: HTML Export commands.
(line 11)
* C-c C-e i i: Texinfo export commands.
(line 8)
* C-c C-e i t: Texinfo export commands.
(line 6)
* C-c C-e l b: Beamer export commands.
(line 6)
* C-c C-e l B: Beamer export commands.
(line 8)
* C-c C-e l l: LaTeX export commands.
(line 6)
* C-c C-e l L: LaTeX export commands.
(line 11)
* C-c C-e l P: Beamer export commands.
(line 10)
* C-c C-e l p: LaTeX export commands.
(line 12)
* C-c C-e m m: Markdown export. (line 16)
* C-c C-e m M: Markdown export. (line 18)
* C-c C-e o o: ODT export commands. (line 6)
* C-c C-e O o: Org export. (line 13)
* C-c C-e O O: Org export. (line 17)
* C-c C-e P a: Triggering publication.
(line 14)
* C-c C-e P f: Triggering publication.
(line 12)
* C-c C-e P p: Triggering publication.
(line 10)
* C-c C-e P x: Triggering publication.
(line 8)
* C-c C-e t a/l/u: ASCII/Latin-1/UTF-8 export.
(line 23)
* C-c C-e t A/L/U: ASCII/Latin-1/UTF-8 export.
(line 27)
* C-c C-f: Motion. (line 11)
* C-c C-j: Motion. (line 17)
* C-c C-k: Global and local cycling.
(line 45)
* C-c C-k <1>: Using capture. (line 31)
* C-c C-l: Handling links. (line 64)
* C-c C-n: Motion. (line 8)
* C-c C-o: Footnotes. (line 75)
* C-c C-o <1>: Handling links. (line 98)
* C-c C-o <2>: Creating timestamps. (line 32)
* C-c C-o <3>: Agenda commands. (line 53)
* C-c C-o <4>: Key bindings and useful functions.
(line 11)
* C-c C-p: Motion. (line 9)
* C-c C-q: Editing and debugging formulas.
(line 44)
* C-c C-q <1>: Setting tags. (line 10)
* C-c C-r: Global and local cycling.
(line 37)
* C-c C-r <1>: Editing and debugging formulas.
(line 45)
* C-c C-s: Inserting deadline/schedule.
(line 16)
* C-c C-s <1>: Agenda commands. (line 255)
* C-c C-t: TODO basics. (line 13)
* C-c C-t <1>: Clocking commands. (line 61)
* C-c C-u: Motion. (line 15)
* C-c C-v a: Key bindings and useful functions.
(line 37)
* C-c C-v b: Key bindings and useful functions.
(line 25)
* C-c C-v c: Key bindings and useful functions.
(line 30)
* C-c C-v C-a: Key bindings and useful functions.
(line 37)
* C-c C-v C-b: Key bindings and useful functions.
(line 25)
* C-c C-v C-c: Key bindings and useful functions.
(line 30)
* C-c C-v C-d: Key bindings and useful functions.
(line 27)
* C-c C-v C-e: Key bindings and useful functions.
(line 19)
* C-c C-v C-f: Key bindings and useful functions.
(line 29)
* C-c C-v C-g: Key bindings and useful functions.
(line 23)
* C-c C-v C-h: Key bindings and useful functions.
(line 37)
* C-c C-v C-i: Key bindings and useful functions.
(line 33)
* C-c C-v C-I: Key bindings and useful functions.
(line 34)
* C-c C-v C-j: Key bindings and useful functions.
(line 31)
* C-c C-v C-l: Key bindings and useful functions.
(line 32)
* C-c C-v C-n: Key bindings and useful functions.
(line 18)
* C-c C-v C-o: Key bindings and useful functions.
(line 20)
* C-c C-v C-p: Key bindings and useful functions.
(line 18)
* C-c C-v C-r: Key bindings and useful functions.
(line 24)
* C-c C-v C-s: Key bindings and useful functions.
(line 26)
* C-c C-v C-t: Key bindings and useful functions.
(line 28)
* C-c C-v C-u: Key bindings and useful functions.
(line 22)
* C-c C-v C-v: Key bindings and useful functions.
(line 21)
* C-c C-v C-x: Key bindings and useful functions.
(line 38)
* C-c C-v C-z: Key bindings and useful functions.
(line 35)
* C-c C-v d: Key bindings and useful functions.
(line 27)
* C-c C-v e: Key bindings and useful functions.
(line 19)
* C-c C-v f: Key bindings and useful functions.
(line 29)
* C-c C-v g: Key bindings and useful functions.
(line 23)
* C-c C-v h: Key bindings and useful functions.
(line 37)
* C-c C-v i: Library of Babel. (line 12)
* C-c C-v i <1>: Key bindings and useful functions.
(line 33)
* C-c C-v I: Key bindings and useful functions.
(line 34)
* C-c C-v j: Key bindings and useful functions.
(line 31)
* C-c C-v l: Key bindings and useful functions.
(line 32)
* C-c C-v n: Key bindings and useful functions.
(line 18)
* C-c C-v o: Key bindings and useful functions.
(line 20)
* C-c C-v p: Key bindings and useful functions.
(line 18)
* C-c C-v r: Key bindings and useful functions.
(line 24)
* C-c C-v s: Key bindings and useful functions.
(line 26)
* C-c C-v t: Extracting source code.
(line 34)
* C-c C-v t <1>: Key bindings and useful functions.
(line 28)
* C-c C-v u: Key bindings and useful functions.
(line 22)
* C-c C-v v: Key bindings and useful functions.
(line 21)
* C-c C-v x: Key bindings and useful functions.
(line 38)
* C-c C-v z: Key bindings and useful functions.
(line 35)
* C-c C-w: Structure editing. (line 86)
* C-c C-w <1>: Using capture. (line 22)
* C-c C-w <2>: Refile and copy. (line 14)
* C-c C-w <3>: Agenda commands. (line 215)
* C-c C-x ,: Timers. (line 41)
* C-c C-x -: Timers. (line 34)
* C-c C-x .: Timers. (line 30)
* C-c C-x 0: Timers. (line 12)
* C-c C-x ;: Timers. (line 20)
* C-c C-x <: Agenda files. (line 39)
* C-c C-x >: Agenda files. (line 46)
* C-c C-x > <1>: Agenda commands. (line 166)
* C-c C-x a: Internal archiving. (line 33)
* C-c C-x A: Internal archiving. (line 44)
* C-c C-x a <1>: Agenda commands. (line 221)
* C-c C-x A <1>: Agenda commands. (line 223)
* C-c C-x b: Global and local cycling.
(line 51)
* C-c C-x b <1>: Agenda commands. (line 45)
* C-c C-x c: Structure editing. (line 79)
* C-c C-x C-a: Archiving. (line 11)
* C-c C-x C-a <1>: Agenda commands. (line 217)
* C-c C-x C-b: Checkboxes. (line 56)
* C-c C-x C-c: Using column view. (line 9)
* C-c C-x C-c <1>: Agenda commands. (line 156)
* C-c C-x C-c <2>: Agenda column view. (line 11)
* C-c C-x C-d: Clocking commands. (line 71)
* C-c C-x C-e: Clocking commands. (line 46)
* C-c C-x C-e <1>: Effort estimates. (line 17)
* C-c C-x C-i: Clocking commands. (line 6)
* C-c C-x C-j: Clocking commands. (line 67)
* C-c C-x C-l: Previewing LaTeX fragments.
(line 17)
* C-c C-x C-n: Handling links. (line 143)
* C-c C-x C-o: Clocking commands. (line 34)
* C-c C-x C-p: Handling links. (line 143)
* C-c C-x C-q: Clocking commands. (line 64)
* C-c C-x C-r: The clock table. (line 10)
* C-c C-x C-s: Moving subtrees. (line 9)
* C-c C-x C-s <1>: Agenda commands. (line 226)
* C-c C-x C-t: Custom time format. (line 12)
* C-c C-x C-u: Capturing column view.
(line 48)
* C-c C-x C-u <1>: The clock table. (line 16)
* C-c C-x C-u <2>: Dynamic blocks. (line 21)
* C-c C-x C-v: Handling links. (line 127)
* C-c C-x C-w: Structure editing. (line 57)
* C-c C-x C-w <1>: Built-in table editor.
(line 122)
* C-c C-x C-x: Clocking commands. (line 41)
* C-c C-x C-y: Structure editing. (line 63)
* C-c C-x C-y <1>: Built-in table editor.
(line 126)
* C-c C-x d: Drawers. (line 6)
* C-c C-x e: Effort estimates. (line 14)
* C-c C-x f: Footnotes. (line 39)
* C-c C-x g: RSS feeds. (line 23)
* C-c C-x G: RSS feeds. (line 26)
* C-c C-x i: Capturing column view.
(line 46)
* C-c C-x M-w: Structure editing. (line 60)
* C-c C-x M-w <1>: Built-in table editor.
(line 118)
* C-c C-x o: TODO dependencies. (line 37)
* C-c C-x o <1>: Checkboxes. (line 73)
* C-c C-x p: Property syntax. (line 82)
* C-c C-x p <1>: Header arguments in Org mode properties.
(line 31)
* C-c C-x q: Tag hierarchy. (line 86)
* C-c C-x v: Global and local cycling.
(line 56)
* C-c C-x \: Special symbols. (line 34)
* C-c C-x \ <1>: Subscripts and superscripts.
(line 20)
* C-c C-x _: Timers. (line 43)
* C-c C-y: Creating timestamps. (line 50)
* C-c C-y <1>: Clocking commands. (line 48)
* C-c C-y <2>: Clocking commands. (line 48)
* C-c C-z: Drawers. (line 35)
* C-c C-z <1>: Agenda commands. (line 249)
* C-c l: Handling links. (line 9)
* C-c l <1>: Literal examples. (line 95)
* C-c M-w: Refile and copy. (line 12)
* C-c <RET>: Built-in table editor.
(line 97)
* C-c <SPC>: Built-in table editor.
(line 59)
* C-c <TAB>: Global and local cycling.
(line 48)
* C-c [: Agenda files. (line 15)
* C-c \: Tag searches. (line 9)
* C-c \ <1>: Property searches. (line 10)
* C-c ]: Agenda files. (line 19)
* C-c ^: Structure editing. (line 89)
* C-c ^ <1>: Plain lists. (line 142)
* C-c ^ <2>: Built-in table editor.
(line 100)
* C-c `: Built-in table editor.
(line 161)
* C-c {: Editing and debugging formulas.
(line 29)
* C-c { <1>: CDLaTeX mode. (line 20)
* C-c |: Built-in table editor.
(line 41)
* C-c | <1>: Built-in table editor.
(line 177)
* C-c }: Editing and debugging formulas.
(line 24)
* C-c } <1>: Editing and debugging formulas.
(line 67)
* C-c ~: Cooperation. (line 46)
* C-k: Agenda commands. (line 210)
* C-M-i: Completion. (line 38)
* C-<RET>: Structure editing. (line 23)
* C-S-LEFT: Multiple sets in one file.
(line 25)
* C-S-<LEFT>: Agenda commands. (line 209)
* C-S-<RET>: Structure editing. (line 28)
* C-S-RIGHT: Multiple sets in one file.
(line 25)
* C-S-<RIGHT>: Agenda commands. (line 207)
* C-S-<up/down>: Clocking commands. (line 52)
* C-<TAB>: Internal archiving. (line 42)
* C-u C-c !: Creating timestamps. (line 17)
* C-u C-c *: Updating the table. (line 16)
* C-u C-c .: Creating timestamps. (line 17)
* C-u C-c =: Field and range formulas.
(line 27)
* C-u C-c = <1>: Editing and debugging formulas.
(line 13)
* C-u C-c c: Using capture. (line 42)
* C-u C-c C-c: Updating the table. (line 18)
* C-u C-c C-l: Handling links. (line 85)
* C-u C-c C-t: TODO basics. (line 28)
* C-u C-c C-w: Refile and copy. (line 32)
* C-u C-c C-x a: Internal archiving. (line 36)
* C-u C-c C-x C-s: Moving subtrees. (line 11)
* C-u C-c C-x C-u: Capturing column view.
(line 50)
* C-u C-c C-x C-u <1>: The clock table. (line 18)
* C-u C-c C-x C-u <2>: Dynamic blocks. (line 22)
* C-u C-u C-c *: Updating the table. (line 21)
* C-u C-u C-c =: Editing and debugging formulas.
(line 16)
* C-u C-u C-c c: Using capture. (line 44)
* C-u C-u C-c C-c: Updating the table. (line 21)
* C-u C-u C-c C-t: Multiple sets in one file.
(line 25)
* C-u C-u C-c C-w: Refile and copy. (line 34)
* C-u C-u C-c C-x C-s: Moving subtrees. (line 17)
* C-u C-u C-u C-c C-t: TODO dependencies. (line 42)
* C-u C-u C-u <TAB>: Global and local cycling.
(line 35)
* C-u C-u <TAB>: Global and local cycling.
(line 33)
* C-u C-u <TAB> <1>: Initial visibility. (line 21)
* C-v: The date/time prompt.
(line 82)
* C-x C-s: Editing and debugging formulas.
(line 41)
* C-x C-s <1>: Agenda commands. (line 153)
* C-x C-w: Agenda commands. (line 425)
* C-x C-w <1>: Exporting agenda views.
(line 12)
* C-x n b: Structure editing. (line 102)
* C-x n s: Structure editing. (line 100)
* C-x n w: Structure editing. (line 104)
* C-y: Structure editing. (line 68)
* C-_: Agenda commands. (line 201)
* d: Agenda commands. (line 65)
* D: Agenda commands. (line 96)
* e: Using column view. (line 41)
* E: Agenda commands. (line 136)
* F: Agenda commands. (line 39)
* f: Agenda commands. (line 83)
* g: Using column view. (line 23)
* G: Agenda commands. (line 142)
* g <1>: Agenda commands. (line 151)
* H: Agenda commands. (line 413)
* I: Agenda commands. (line 279)
* i: Agenda commands. (line 385)
* j: Agenda commands. (line 92)
* J: Agenda commands. (line 94)
* J <1>: Agenda commands. (line 286)
* k: Agenda commands. (line 288)
* L: Agenda commands. (line 33)
* l: Agenda commands. (line 99)
* m: Agenda commands. (line 308)
* M: Agenda commands. (line 403)
* M-*: Agenda commands. (line 318)
* M-<down>: Agenda commands. (line 301)
* M-<up>: Agenda commands. (line 297)
* M-a: Built-in table editor.
(line 70)
* M-<DOWN>: Structure editing. (line 47)
* M-DOWN: Plain lists. (line 93)
* M-<DOWN> <1>: Built-in table editor.
(line 86)
* M-<DOWN> <2>: Editing and debugging formulas.
(line 64)
* M-DOWN <1>: Key bindings and useful functions.
(line 13)
* M-e: Built-in table editor.
(line 73)
* M-g M-n: Sparse trees. (line 28)
* M-g M-p: Sparse trees. (line 30)
* M-g n: Sparse trees. (line 28)
* M-g p: Sparse trees. (line 30)
* M-h: Structure editing. (line 49)
* M-<LEFT>: Structure editing. (line 37)
* M-LEFT: Plain lists. (line 98)
* M-<LEFT> <1>: Built-in table editor.
(line 80)
* M-m: Agenda commands. (line 316)
* M-<RET>: Structure editing. (line 6)
* M-<RET> <1>: Plain lists. (line 77)
* M-<RET> <2>: Built-in table editor.
(line 131)
* M-<RET> <3>: Timers. (line 38)
* M-<RIGHT>: Structure editing. (line 39)
* M-RIGHT: Plain lists. (line 98)
* M-<RIGHT> <1>: Built-in table editor.
(line 80)
* M-S-<DOWN>: Built-in table editor.
(line 91)
* M-S-<DOWN> <1>: Editing and debugging formulas.
(line 60)
* M-S-DOWN: The date/time prompt.
(line 82)
* M-S-<LEFT>: Structure editing. (line 41)
* M-S-LEFT: Plain lists. (line 102)
* M-S-<LEFT> <1>: Built-in table editor.
(line 82)
* M-S-LEFT <1>: The date/time prompt.
(line 82)
* M-S-<RET>: Structure editing. (line 25)
* M-S-RET: Plain lists. (line 86)
* M-S-<RET> <1>: Checkboxes. (line 71)
* M-S-<RIGHT>: Structure editing. (line 43)
* M-S-RIGHT: Plain lists. (line 102)
* M-S-<RIGHT> <1>: Built-in table editor.
(line 84)
* M-S-RIGHT <1>: The date/time prompt.
(line 82)
* M-S-<UP>: Built-in table editor.
(line 89)
* M-S-<UP> <1>: Editing and debugging formulas.
(line 60)
* M-S-UP: The date/time prompt.
(line 82)
* M-<TAB>: Editing and debugging formulas.
(line 54)
* M-TAB: Per-file keywords. (line 23)
* M-TAB <1>: Setting tags. (line 6)
* M-<TAB> <1>: Property syntax. (line 80)
* M-TAB <2>: Completion. (line 15)
* M-<UP>: Structure editing. (line 45)
* M-UP: Plain lists. (line 93)
* M-<UP> <1>: Built-in table editor.
(line 86)
* M-<UP> <2>: Editing and debugging formulas.
(line 64)
* M-UP <1>: Key bindings and useful functions.
(line 12)
* M-v: The date/time prompt.
(line 82)
* mouse-1: Footnotes. (line 75)
* mouse-1 <1>: Handling links. (line 120)
* mouse-1 <2>: The date/time prompt.
(line 82)
* mouse-2: Footnotes. (line 75)
* mouse-2 <1>: Handling links. (line 120)
* mouse-2 <2>: Agenda commands. (line 35)
* mouse-3: Handling links. (line 124)
* mouse-3 <1>: Agenda commands. (line 31)
* n: Using column view. (line 38)
* n <1>: Agenda commands. (line 19)
* N: Agenda commands. (line 22)
* o: Agenda commands. (line 63)
* O: Agenda commands. (line 282)
* p: Using column view. (line 38)
* p <1>: Agenda commands. (line 20)
* P: Agenda commands. (line 24)
* P <1>: Agenda commands. (line 241)
* q: Using column view. (line 25)
* q <1>: Agenda commands. (line 439)
* r: Using column view. (line 20)
* r <1>: Global TODO list. (line 22)
* R: Agenda commands. (line 118)
* r <2>: Agenda commands. (line 145)
* <RET>: Built-in table editor.
(line 66)
* <RET> <1>: Handling links. (line 118)
* RET: Setting tags. (line 116)
* RET <1>: The date/time prompt.
(line 82)
* <RET> <2>: Agenda commands. (line 37)
* s: Agenda commands. (line 153)
* S: Agenda commands. (line 406)
* S-DOWN: Plain lists. (line 87)
* S-DOWN <1>: Editing and debugging formulas.
(line 56)
* S-<DOWN>: Priorities. (line 28)
* S-<DOWN> <1>: Creating timestamps. (line 39)
* S-DOWN <2>: The date/time prompt.
(line 82)
* S-<DOWN> <2>: Agenda commands. (line 247)
* S-LEFT: Plain lists. (line 138)
* S-LEFT <1>: Editing and debugging formulas.
(line 56)
* S-LEFT <2>: TODO basics. (line 34)
* S-LEFT <3>: Multiple sets in one file.
(line 32)
* S-<LEFT>: Property syntax. (line 95)
* S-LEFT <4>: Using column view. (line 33)
* S-<LEFT> <1>: Creating timestamps. (line 35)
* S-LEFT <5>: The date/time prompt.
(line 82)
* S-<LEFT> <2>: The clock table. (line 21)
* S-<LEFT> <3>: Agenda commands. (line 273)
* S-M-<LEFT>: Using column view. (line 65)
* S-M-<RET>: TODO basics. (line 56)
* S-M-<RIGHT>: Using column view. (line 63)
* S-M-<up/down>: Clocking commands. (line 55)
* S-<RET>: Built-in table editor.
(line 148)
* S-RIGHT: Plain lists. (line 138)
* S-RIGHT <1>: Editing and debugging formulas.
(line 56)
* S-RIGHT <2>: TODO basics. (line 34)
* S-RIGHT <3>: Multiple sets in one file.
(line 32)
* S-<RIGHT>: Property syntax. (line 95)
* S-RIGHT <4>: Using column view. (line 33)
* S-<RIGHT> <1>: Creating timestamps. (line 35)
* S-RIGHT <5>: The date/time prompt.
(line 82)
* S-<RIGHT> <2>: The clock table. (line 21)
* S-<RIGHT> <3>: Agenda commands. (line 261)
* S-<TAB>: Global and local cycling.
(line 18)
* S-<TAB> <1>: Built-in table editor.
(line 64)
* S-UP: Editing and debugging formulas.
(line 56)
* S-<UP>: Priorities. (line 28)
* S-<UP> <1>: Creating timestamps. (line 39)
* S-UP <1>: The date/time prompt.
(line 82)
* S-<UP> <2>: Agenda commands. (line 243)
* SPC: Setting tags. (line 113)
* <SPC>: Agenda commands. (line 31)
* t: Agenda commands. (line 204)
* T: Agenda commands. (line 230)
* <TAB>: Global and local cycling.
(line 10)
* <TAB> <1>: Structure editing. (line 32)
* <TAB> <2>: Plain lists. (line 66)
* <TAB> <3>: Built-in table editor.
(line 61)
* <TAB> <4>: Editing and debugging formulas.
(line 48)
* TAB: Setting tags. (line 107)
* <TAB> <5>: Agenda commands. (line 35)
* TAB <1>: CDLaTeX mode. (line 21)
* u: Agenda commands. (line 312)
* U: Agenda commands. (line 314)
* v: Using column view. (line 48)
* v a: Agenda commands. (line 112)
* v A: Agenda commands. (line 114)
* v c: Agenda commands. (line 128)
* v d: Agenda commands. (line 65)
* v E: Agenda commands. (line 136)
* v l: Agenda commands. (line 99)
* v L: Agenda commands. (line 101)
* v m: Agenda commands. (line 69)
* v R: Agenda commands. (line 118)
* v <SPC>: Agenda commands. (line 71)
* v t: Agenda commands. (line 68)
* v w: Agenda commands. (line 67)
* v y: Agenda commands. (line 70)
* v [: Agenda commands. (line 109)
* w: Agenda commands. (line 67)
* X: Agenda commands. (line 284)
* x: Agenda commands. (line 440)
* z: Agenda commands. (line 249)
File: org, Node: Command and Function Index, Next: Variable Index, Prev: Key Index, Up: Top
Command and function index
**************************
[index ]
* Menu:
* lisp-complete-symbol: Editing and debugging formulas.
(line 54)
* next-error: Sparse trees. (line 28)
* org-agenda: Activation. (line 6)
* org-agenda <1>: Conventions. (line 33)
* org-agenda-add-note: Agenda commands. (line 249)
* org-agenda-archive: Agenda commands. (line 226)
* org-agenda-archive-default-with-confirmation: Agenda commands.
(line 217)
* org-agenda-archive-to-archive-sibling: Agenda commands. (line 223)
* org-agenda-archives-mode: Agenda commands. (line 112)
* org-agenda-archives-mode 'files: Agenda commands. (line 114)
* org-agenda-bulk-action: Agenda commands. (line 322)
* org-agenda-bulk-mark: Agenda commands. (line 308)
* org-agenda-bulk-mark-all: Agenda commands. (line 310)
* org-agenda-bulk-mark-regexp: Agenda commands. (line 320)
* org-agenda-bulk-remove-all-marks: Agenda commands. (line 314)
* org-agenda-bulk-toggle: Agenda commands. (line 316)
* org-agenda-bulk-toggle-all: Agenda commands. (line 318)
* org-agenda-bulk-unmark: Agenda commands. (line 312)
* org-agenda-capture: Agenda commands. (line 288)
* org-agenda-clock-cancel: Agenda commands. (line 284)
* org-agenda-clock-goto: Agenda commands. (line 94)
* org-agenda-clock-goto <1>: Agenda commands. (line 286)
* org-agenda-clock-in: Agenda commands. (line 279)
* org-agenda-clock-out: Agenda commands. (line 282)
* org-agenda-clockreport-mode: Agenda commands. (line 118)
* org-agenda-columns: Agenda commands. (line 156)
* org-agenda-columns <1>: Agenda column view. (line 11)
* org-agenda-convert-date: Agenda commands. (line 410)
* org-agenda-date-prompt: Agenda commands. (line 276)
* org-agenda-day-view: Agenda commands. (line 65)
* org-agenda-deadline: Agenda commands. (line 258)
* org-agenda-diary-entry: Agenda commands. (line 385)
* org-agenda-do-date-earlier: Agenda commands. (line 273)
* org-agenda-do-date-later: Agenda commands. (line 261)
* org-agenda-drag-line-backward: Agenda commands. (line 297)
* org-agenda-drag-line-forward: Agenda commands. (line 301)
* org-agenda-earlier: Agenda commands. (line 88)
* org-agenda-entry-text-mode: Agenda commands. (line 136)
* org-agenda-exit: Agenda commands. (line 440)
* org-agenda-file-to-front: Agenda files. (line 15)
* org-agenda-filter-by-category: Filtering/limiting agenda items.
(line 65)
* org-agenda-filter-by-category <1>: Agenda commands. (line 180)
* org-agenda-filter-by-effort: Filtering/limiting agenda items.
(line 91)
* org-agenda-filter-by-effort <1>: Agenda commands. (line 191)
* org-agenda-filter-by-regexp: Filtering/limiting agenda items.
(line 80)
* org-agenda-filter-by-regexp <1>: Agenda commands. (line 188)
* org-agenda-filter-by-tag: Filtering/limiting agenda items.
(line 17)
* org-agenda-filter-by-tag <1>: Agenda commands. (line 176)
* org-agenda-filter-by-top-headline: Filtering/limiting agenda items.
(line 76)
* org-agenda-filter-by-top-headline <1>: Agenda commands. (line 184)
* org-agenda-filter-remove-all: Filtering/limiting agenda items.
(line 112)
* org-agenda-filter-remove-all <1>: Agenda commands. (line 194)
* org-agenda-follow-mode: Agenda commands. (line 39)
* org-agenda-fortnight-view: Agenda commands. (line 68)
* org-agenda-goto: Agenda commands. (line 35)
* org-agenda-goto-calendar: Agenda commands. (line 381)
* org-agenda-goto-date: Agenda commands. (line 92)
* org-agenda-goto-today: Agenda commands. (line 90)
* org-agenda-holidays: Agenda commands. (line 413)
* org-agenda-kill: Agenda commands. (line 210)
* org-agenda-later: Agenda commands. (line 83)
* org-agenda-limit-interactively: Filtering/limiting agenda items.
(line 151)
* org-agenda-list: Weekly/daily agenda. (line 9)
* org-agenda-list-stuck-projects: Stuck projects. (line 13)
* org-agenda-log-mode: Agenda commands. (line 99)
* org-agenda-manipulate-query-add: Agenda commands. (line 109)
* org-agenda-month-view: Agenda commands. (line 69)
* org-agenda-next-item: Agenda commands. (line 22)
* org-agenda-next-line: Agenda commands. (line 19)
* org-agenda-open-link: Agenda commands. (line 53)
* org-agenda-phases-of-moon: Agenda commands. (line 403)
* org-agenda-previous-item: Agenda commands. (line 24)
* org-agenda-previous-line: Agenda commands. (line 20)
* org-agenda-priority-down: Agenda commands. (line 247)
* org-agenda-priority-up: Agenda commands. (line 243)
* org-agenda-quit: Agenda commands. (line 439)
* org-agenda-recenter: Agenda commands. (line 33)
* org-agenda-redo: Agenda commands. (line 145)
* org-agenda-redo <1>: Agenda commands. (line 151)
* org-agenda-refile: Agenda commands. (line 215)
* org-agenda-remove-restriction-lock: Agenda files. (line 46)
* org-agenda-remove-restriction-lock <1>: Agenda files. (line 57)
* org-agenda-remove-restriction-lock <2>: Agenda commands. (line 166)
* org-agenda-reset-view: Agenda commands. (line 71)
* org-agenda-schedule: Agenda commands. (line 255)
* org-agenda-set-restriction-lock: Agenda files. (line 39)
* org-agenda-set-tags: Agenda commands. (line 234)
* org-agenda-show-and-scroll-up: Agenda commands. (line 31)
* org-agenda-show-priority: Agenda commands. (line 241)
* org-agenda-show-tags: Agenda commands. (line 230)
* org-agenda-sunrise-sunset: Agenda commands. (line 406)
* org-agenda-switch-to: Agenda commands. (line 37)
* org-agenda-todo: Agenda commands. (line 204)
* org-agenda-todo-nextset: Agenda commands. (line 207)
* org-agenda-todo-previousset: Agenda commands. (line 209)
* org-agenda-toggle-archive-tag: Agenda commands. (line 221)
* org-agenda-toggle-diary: Agenda commands. (line 96)
* org-agenda-toggle-time-grid: Agenda commands. (line 142)
* org-agenda-tree-to-indirect-buffer: Agenda commands. (line 45)
* org-agenda-undo: Agenda commands. (line 201)
* org-agenda-week-view: Agenda commands. (line 67)
* org-agenda-write: Agenda commands. (line 425)
* org-agenda-write <1>: Exporting agenda views.
(line 12)
* org-agenda-year-view: Agenda commands. (line 70)
* org-archive-subtree: Moving subtrees. (line 9)
* org-archive-subtree-default: Archiving. (line 11)
* org-archive-to-archive-sibling: Internal archiving. (line 44)
* org-ascii-export-as-ascii: ASCII/Latin-1/UTF-8 export.
(line 27)
* org-ascii-export-to-ascii: ASCII/Latin-1/UTF-8 export.
(line 23)
* org-attach: Attachments. (line 26)
* org-attach <1>: Agenda commands. (line 253)
* org-attach-attach: Attachments. (line 31)
* org-attach-delete-all: Attachments. (line 69)
* org-attach-delete-one: Attachments. (line 66)
* org-attach-new: Attachments. (line 44)
* org-attach-open: Attachments. (line 51)
* org-attach-open-in-emacs: Attachments. (line 57)
* org-attach-reveal: Attachments. (line 60)
* org-attach-reveal-in-emacs: Attachments. (line 63)
* org-attach-set-directory: Attachments. (line 73)
* org-attach-set-inherit: Attachments. (line 78)
* org-attach-sync: Attachments. (line 47)
* org-attach-url: Attachments. (line 41)
* org-backward-same-level: Motion. (line 13)
* org-beamer-export-as-latex: Beamer export commands.
(line 8)
* org-beamer-export-to-latex: Beamer export commands.
(line 6)
* org-beamer-export-to-pdf: Beamer export commands.
(line 10)
* org-beamer-select-environment: Editing support. (line 11)
* org-buffer-property-keys: Using the property API.
(line 33)
* org-calendar-goto-agenda: Agenda commands. (line 382)
* org-capture: Activation. (line 6)
* org-capture <1>: Conventions. (line 33)
* org-capture <2>: Using capture. (line 6)
* org-capture-finalize: Using capture. (line 15)
* org-capture-kill: Using capture. (line 31)
* org-capture-refile: Using capture. (line 22)
* org-check-after-date: Inserting deadline/schedule.
(line 29)
* org-check-before-date: Inserting deadline/schedule.
(line 27)
* org-check-deadlines: Inserting deadline/schedule.
(line 21)
* org-clock-cancel: Clocking commands. (line 64)
* org-clock-display: Clocking commands. (line 71)
* org-clock-goto: Clocking commands. (line 67)
* org-clock-in: Clocking commands. (line 6)
* org-clock-in-last: Clocking commands. (line 41)
* org-clock-modify-effort-estimate: Clocking commands. (line 46)
* org-clock-modify-effort-estimate <1>: Effort estimates. (line 17)
* org-clock-out: Clocking commands. (line 34)
* org-clock-report: The clock table. (line 10)
* org-clock-timestamps-up/down: Clocking commands. (line 52)
* org-clocktable-try-shift: The clock table. (line 21)
* org-clone-subtree-with-time-shift: Structure editing. (line 79)
* org-columns: Using column view. (line 9)
* org-columns-delete: Using column view. (line 65)
* org-columns-edit-allowed: Using column view. (line 51)
* org-columns-edit-value: Using column view. (line 41)
* org-columns-narrow: Using column view. (line 61)
* org-columns-new: Using column view. (line 63)
* org-columns-next-allowed-value: Using column view. (line 38)
* org-columns-previous-allowed-value: Using column view. (line 38)
* org-columns-quit: Using column view. (line 25)
* org-columns-redo: Using column view. (line 20)
* org-columns-redo <1>: Using column view. (line 23)
* org-columns-set-tags-or-toggle: Using column view. (line 46)
* org-columns-show-value: Using column view. (line 48)
* org-columns-widen: Using column view. (line 61)
* org-compute-property-at-point: Property syntax. (line 102)
* org-copy: Refile and copy. (line 12)
* org-copy <1>: Refile and copy. (line 13)
* org-copy-subtree: Structure editing. (line 60)
* org-copy-visible: Global and local cycling.
(line 56)
* org-cut-subtree: Structure editing. (line 57)
* org-cycle: Global and local cycling.
(line 10)
* org-cycle <1>: Structure editing. (line 32)
* org-cycle <2>: Plain lists. (line 66)
* org-cycle-agenda-files: Agenda files. (line 21)
* org-date-from-calendar: Creating timestamps. (line 25)
* org-dblock-update: Capturing column view.
(line 48)
* org-dblock-update <1>: The clock table. (line 16)
* org-dblock-update <2>: Dynamic blocks. (line 21)
* org-deadline: Inserting deadline/schedule.
(line 9)
* org-delete-property: Property syntax. (line 98)
* org-delete-property-globally: Property syntax. (line 100)
* org-demote: Using the mapping API.
(line 76)
* org-demote-subtree: Structure editing. (line 43)
* org-do-demote: Structure editing. (line 39)
* org-do-promote: Structure editing. (line 37)
* org-edit-special: Cooperation. (line 44)
* org-entities-help: Special symbols. (line 16)
* org-entry-add-to-multivalued-property: Using the property API.
(line 50)
* org-entry-delete: Using the property API.
(line 27)
* org-entry-get: Using the property API.
(line 18)
* org-entry-get-multivalued-property: Using the property API.
(line 45)
* org-entry-member-in-multivalued-property: Using the property API.
(line 61)
* org-entry-properties: Using the property API.
(line 8)
* org-entry-put: Using the property API.
(line 30)
* org-entry-put-multivalued-property: Using the property API.
(line 39)
* org-entry-remove-from-multivalued-property: Using the property API.
(line 55)
* org-evaluate-time-range: Creating timestamps. (line 50)
* org-evaluate-time-range <1>: Clocking commands. (line 48)
* org-export-dispatch: The export dispatcher.
(line 15)
* org-feed-goto-inbox: RSS feeds. (line 26)
* org-feed-update-all: RSS feeds. (line 23)
* org-force-cycle-archived: Internal archiving. (line 42)
* org-forward-same-level: Motion. (line 11)
* org-global-cycle: Global and local cycling.
(line 18)
* org-goto: Motion. (line 17)
* org-goto-calendar: Creating timestamps. (line 28)
* org-html-export-as-html: HTML Export commands.
(line 11)
* org-html-export-to-html: HTML Export commands.
(line 6)
* org-icalendar-combine-agenda-files: iCalendar export. (line 43)
* org-icalendar-export-agenda-files: iCalendar export. (line 40)
* org-icalendar-export-to-ics: iCalendar export. (line 38)
* org-insert-columns-dblock: Capturing column view.
(line 46)
* org-insert-heading: Plain lists. (line 77)
* org-insert-heading <1>: Timers. (line 38)
* org-insert-heading-respect-content: Structure editing. (line 23)
* org-insert-link: Handling links. (line 64)
* org-insert-property-drawer: Using the property API.
(line 18)
* org-insert-property-drawer <1>: Using the property API.
(line 36)
* org-insert-todo-heading: Structure editing. (line 25)
* org-insert-todo-heading <1>: TODO basics. (line 56)
* org-insert-todo-heading <2>: Checkboxes. (line 71)
* org-insert-todo-heading-respect-content: Structure editing. (line 28)
* org-latex-export-as-latex: LaTeX export commands.
(line 11)
* org-latex-export-to-latex: LaTeX export commands.
(line 6)
* org-latex-export-to-pdf: LaTeX export commands.
(line 12)
* org-lookup-all: Lookup functions. (line 20)
* org-lookup-first: Lookup functions. (line 8)
* org-lookup-last: Lookup functions. (line 17)
* org-map-entries: Using the mapping API.
(line 11)
* org-mark-element: Structure editing. (line 49)
* org-mark-ring-goto: Handling links. (line 139)
* org-mark-ring-push: Handling links. (line 135)
* org-mark-subtree: Structure editing. (line 54)
* org-match-sparse-tree: Tag searches. (line 9)
* org-match-sparse-tree <1>: Property searches. (line 10)
* org-md-export-as-markdown: Markdown export. (line 18)
* org-md-export-to-markdown: Markdown export. (line 16)
* org-meta-return: Structure editing. (line 6)
* org-move-subtree-down: Structure editing. (line 47)
* org-move-subtree-up: Structure editing. (line 45)
* org-narrow-to-block: Structure editing. (line 102)
* org-narrow-to-subtree: Structure editing. (line 100)
* org-next-link: Handling links. (line 143)
* org-next-visible-heading: Motion. (line 8)
* org-occur: Sparse trees. (line 17)
* org-odt-export-to-odt: ODT export commands. (line 6)
* org-open-at-point: Handling links. (line 98)
* org-open-at-point <1>: Creating timestamps. (line 32)
* org-org-export-as-org: Org export. (line 17)
* org-org-export-to-org: Org export. (line 13)
* org-paste-subtree: Structure editing. (line 63)
* org-previous-link: Handling links. (line 143)
* org-previous-visible-heading: Motion. (line 9)
* org-priority: Priorities. (line 24)
* org-priority <1>: Using the mapping API.
(line 64)
* org-priority-down: Priorities. (line 28)
* org-priority-up: Priorities. (line 28)
* org-promote: Using the mapping API.
(line 73)
* org-promote-subtree: Structure editing. (line 41)
* org-property-action: Property syntax. (line 89)
* org-property-next-allowed-value: Property syntax. (line 95)
* org-property-previous-allowed-value: Property syntax. (line 95)
* org-protocol-create: open-source protocol.
(line 67)
* org-protocol-create-for-org: open-source protocol.
(line 67)
* org-publish: Triggering publication.
(line 8)
* org-publish-all: Triggering publication.
(line 14)
* org-publish-current-file: Triggering publication.
(line 12)
* org-publish-current-project: Triggering publication.
(line 10)
* org-refile: Structure editing. (line 86)
* org-refile <1>: Refile and copy. (line 14)
* org-refile <2>: Refile and copy. (line 16)
* org-refile-cache-clear: Refile and copy. (line 42)
* org-refile-goto-last-stored: Refile and copy. (line 34)
* org-remove-file: Agenda files. (line 19)
* org-reveal: Global and local cycling.
(line 37)
* org-save-all-org-buffers: Agenda commands. (line 153)
* org-schedule: Inserting deadline/schedule.
(line 16)
* org-search-view: Search view. (line 9)
* org-set-effort: Effort estimates. (line 14)
* org-set-property: Property syntax. (line 82)
* org-set-property <1>: Property syntax. (line 92)
* org-set-startup-visibility: Global and local cycling.
(line 33)
* org-set-startup-visibility <1>: Initial visibility. (line 21)
* org-set-tags-command: Setting tags. (line 10)
* org-set-tags-command <1>: Setting tags. (line 19)
* org-show-todo-tree: TODO basics. (line 39)
* org-sort: Structure editing. (line 89)
* org-sparse-tree: Sparse trees. (line 15)
* org-speed-command-help: Speed keys. (line 18)
* org-speedbar-set-agenda-restriction: Agenda files. (line 53)
* org-store-agenda-views: Exporting agenda views.
(line 63)
* org-store-link: Activation. (line 6)
* org-store-link <1>: Handling links. (line 9)
* org-switchb: Activation. (line 6)
* org-table-align: Built-in table editor.
(line 58)
* org-table-beginning-of-field: Built-in table editor.
(line 70)
* org-table-blank-field: Built-in table editor.
(line 59)
* org-table-copy-down: Built-in table editor.
(line 148)
* org-table-copy-region: Built-in table editor.
(line 118)
* org-table-create-or-convert-from-region: Built-in table editor.
(line 41)
* org-table-create-or-convert-from-region <1>: Built-in table editor.
(line 177)
* org-table-create-with-table.el: Cooperation. (line 46)
* org-table-cut-region: Built-in table editor.
(line 122)
* org-table-delete-column: Built-in table editor.
(line 82)
* org-table-edit-field: Built-in table editor.
(line 161)
* org-table-edit-formulas: Editing and debugging formulas.
(line 32)
* org-table-end-of-field: Built-in table editor.
(line 73)
* org-table-eval-formula: Field and range formulas.
(line 27)
* org-table-eval-formula <1>: Column formulas. (line 32)
* org-table-eval-formula <2>: Editing and debugging formulas.
(line 13)
* org-table-eval-formula <3>: Editing and debugging formulas.
(line 16)
* org-table-export: Built-in table editor.
(line 183)
* org-table-fedit-abort: Editing and debugging formulas.
(line 44)
* org-table-fedit-finish: Editing and debugging formulas.
(line 41)
* org-table-fedit-line-down: Editing and debugging formulas.
(line 60)
* org-table-fedit-line-up: Editing and debugging formulas.
(line 60)
* org-table-fedit-lisp-indent: Editing and debugging formulas.
(line 48)
* org-table-fedit-ref-down: Editing and debugging formulas.
(line 56)
* org-table-fedit-ref-left: Editing and debugging formulas.
(line 56)
* org-table-fedit-ref-right: Editing and debugging formulas.
(line 56)
* org-table-fedit-ref-up: Editing and debugging formulas.
(line 56)
* org-table-fedit-scroll-down: Editing and debugging formulas.
(line 64)
* org-table-fedit-scroll-up: Editing and debugging formulas.
(line 64)
* org-table-fedit-toggle-ref-type: Editing and debugging formulas.
(line 45)
* org-table-field-info: Editing and debugging formulas.
(line 21)
* org-table-hline-and-move: Built-in table editor.
(line 97)
* org-table-insert-column: Built-in table editor.
(line 84)
* org-table-insert-hline: Built-in table editor.
(line 94)
* org-table-insert-row: Built-in table editor.
(line 91)
* org-table-iterate: Updating the table. (line 21)
* org-table-iterate-buffer-tables: Updating the table. (line 29)
* org-table-kill-row: Built-in table editor.
(line 89)
* org-table-move-column-left: Built-in table editor.
(line 80)
* org-table-move-column-right: Built-in table editor.
(line 80)
* org-table-move-row-down: Built-in table editor.
(line 86)
* org-table-move-row-up: Built-in table editor.
(line 86)
* org-table-next-field: Built-in table editor.
(line 61)
* org-table-next-row: Built-in table editor.
(line 66)
* org-table-paste-rectangle: Built-in table editor.
(line 126)
* org-table-previous-field: Built-in table editor.
(line 64)
* org-table-recalculate: Updating the table. (line 13)
* org-table-recalculate-buffer-tables: Updating the table. (line 27)
* org-table-rotate-recalc-marks: Advanced features. (line 10)
* org-table-sort-lines: Built-in table editor.
(line 100)
* org-table-sum: Built-in table editor.
(line 145)
* org-table-toggle-coordinate-overlays: Editing and debugging formulas.
(line 24)
* org-table-toggle-coordinate-overlays <1>: Editing and debugging formulas.
(line 67)
* org-table-toggle-formula-debugger: Editing and debugging formulas.
(line 29)
* org-table-wrap-region: Built-in table editor.
(line 131)
* org-tags-view: Tag searches. (line 13)
* org-tags-view <1>: Tag searches. (line 16)
* org-tags-view <2>: Property searches. (line 12)
* org-tags-view <3>: Property searches. (line 15)
* org-tags-view <4>: Matching tags and properties.
(line 12)
* org-tags-view <5>: Matching tags and properties.
(line 17)
* org-texinfo-export-to-info: Texinfo export commands.
(line 8)
* org-texinfo-export-to-texinfo: Texinfo export commands.
(line 6)
* org-time-stamp: Creating timestamps. (line 10)
* org-time-stamp-inactive: Creating timestamps. (line 15)
* org-timer: Timers. (line 30)
* org-timer-item: Timers. (line 34)
* org-timer-pause-or-continue: Timers. (line 41)
* org-timer-set-timer: Timers. (line 20)
* org-timer-start: Timers. (line 12)
* org-timer-stop: Timers. (line 43)
* org-timestamp-down-day: Creating timestamps. (line 35)
* org-timestamp-down-down: Creating timestamps. (line 39)
* org-timestamp-up: Creating timestamps. (line 39)
* org-timestamp-up-day: Creating timestamps. (line 35)
* org-timestamp-up/down: Clocking commands. (line 55)
* org-todo: TODO basics. (line 13)
* org-todo <1>: Clocking commands. (line 61)
* org-todo <2>: Using the mapping API.
(line 60)
* org-todo-list: TODO basics. (line 49)
* org-todo-list <1>: Global TODO list. (line 9)
* org-todo-list <2>: Global TODO list. (line 15)
* org-toggle-archive-tag: Internal archiving. (line 33)
* org-toggle-checkbox: Checkboxes. (line 52)
* org-toggle-checkbox <1>: Checkboxes. (line 56)
* org-toggle-heading: Structure editing. (line 106)
* org-toggle-inline-images: Handling links. (line 127)
* org-toggle-ordered-property: TODO dependencies. (line 37)
* org-toggle-ordered-property <1>: Checkboxes. (line 73)
* org-toggle-tag: Using the mapping API.
(line 68)
* org-toggle-time-stamp-overlays: Custom time format. (line 12)
* org-tree-to-indirect-buffer: Global and local cycling.
(line 51)
* org-update-all-dblocks: Capturing column view.
(line 50)
* org-update-statistics-cookies: Checkboxes. (line 80)
* org-yank: Structure editing. (line 68)
* outline-show-all: Global and local cycling.
(line 35)
* outline-show-branches: Global and local cycling.
(line 45)
* outline-show-children: Global and local cycling.
(line 48)
* outline-up-heading: Motion. (line 15)
* pcomplete: Property syntax. (line 80)
* previous-error: Sparse trees. (line 30)
* widen: Structure editing. (line 104)
File: org, Node: Variable Index, Prev: Command and Function Index, Up: Top
Variable index
**************
This is not a complete index of variables and faces, only the ones that
are mentioned in the manual. For a complete list, use ‘M-x
org-customize <RET>’.
[index ]
* Menu:
* cdlatex-simplify-sub-super-scripts: CDLaTeX mode. (line 30)
* constants-unit-system: References. (line 115)
* constants-unit-system <1>: In-buffer settings. (line 135)
* htmlize-output-type: Exporting agenda views.
(line 20)
* LaTeX-verbatim-environments: A LaTeX example. (line 19)
* org-adapt-indentation: Clean view. (line 52)
* org-agenda-add-entry-text-maxlines: Exporting agenda views.
(line 20)
* org-agenda-bulk-custom-functions: Agenda commands. (line 308)
* org-agenda-category-filter-preset: Filtering/limiting agenda items.
(line 66)
* org-agenda-clock-consistency-checks: Agenda commands. (line 130)
* org-agenda-columns-add-appointments-to-effort-sum: Effort estimates.
(line 40)
* org-agenda-confirm-kill: Agenda commands. (line 212)
* org-agenda-custom-commands: Sparse trees. (line 34)
* org-agenda-custom-commands <1>: Storing searches. (line 9)
* org-agenda-custom-commands <2>: Setting options. (line 6)
* org-agenda-custom-commands <3>: Setting options. (line 31)
* org-agenda-custom-commands <4>: Extracting agenda information.
(line 6)
* org-agenda-custom-commands-contexts: Setting options. (line 60)
* org-agenda-diary-file: Agenda commands. (line 387)
* org-agenda-dim-blocked-tasks: TODO dependencies. (line 46)
* org-agenda-dim-blocked-tasks <1>: Speeding up your agendas.
(line 13)
* org-agenda-effort-filter-preset: Filtering/limiting agenda items.
(line 92)
* org-agenda-entry-text-maxlines: Agenda commands. (line 137)
* org-agenda-exporter-settings: Agenda commands. (line 426)
* org-agenda-exporter-settings <1>: Exporting agenda views.
(line 13)
* org-agenda-files: Agenda files. (line 6)
* org-agenda-files <1>: Sorting agenda items.
(line 8)
* org-agenda-files <2>: iCalendar export. (line 42)
* org-agenda-inhibit-startup: Initial visibility. (line 6)
* org-agenda-inhibit-startup <1>: Speeding up your agendas.
(line 15)
* org-agenda-log-mode-items: Agenda commands. (line 101)
* org-agenda-max-effort: Filtering/limiting agenda items.
(line 118)
* org-agenda-max-entries: Filtering/limiting agenda items.
(line 118)
* org-agenda-max-tags: Filtering/limiting agenda items.
(line 118)
* org-agenda-max-todos: Filtering/limiting agenda items.
(line 118)
* org-agenda-ndays: Weekly/daily agenda. (line 15)
* org-agenda-overriding-header: Special agenda views.
(line 38)
* org-agenda-prefix-format: Presentation and sorting.
(line 6)
* org-agenda-regexp-filter-preset: Filtering/limiting agenda items.
(line 81)
* org-agenda-restore-windows-after-quit: Agenda views. (line 37)
* org-agenda-search-headline-for-time: Time-of-day specifications.
(line 14)
* org-agenda-show-inherited-tags: Agenda commands. (line 232)
* org-agenda-show-inherited-tags <1>: Speeding up your agendas.
(line 17)
* org-agenda-skip-archived-trees: Internal archiving. (line 20)
* org-agenda-skip-archived-trees <1>: Agenda views. (line 32)
* org-agenda-skip-comment-trees: Agenda views. (line 32)
* org-agenda-skip-deadline-prewarning-if-scheduled: Deadlines and scheduling.
(line 15)
* org-agenda-skip-function: Special agenda views.
(line 6)
* org-agenda-skip-function <1>: Special agenda views.
(line 41)
* org-agenda-skip-function <2>: Using the mapping API.
(line 48)
* org-agenda-skip-function-global: Special agenda views.
(line 6)
* org-agenda-skip-scheduled-delay-if-deadline: Deadlines and scheduling.
(line 44)
* org-agenda-skip-scheduled-if-deadline-is-shown: Repeated tasks.
(line 72)
* org-agenda-skip-scheduled-if-done: Deadlines and scheduling.
(line 36)
* org-agenda-sorting-strategy: Sorting agenda items.
(line 25)
* org-agenda-span: Weekly/daily agenda. (line 15)
* org-agenda-span <1>: Agenda commands. (line 72)
* org-agenda-start-day: Weekly/daily agenda. (line 15)
* org-agenda-start-on-weekday: Weekly/daily agenda. (line 15)
* org-agenda-start-with-clockreport-mode: Agenda commands. (line 120)
* org-agenda-start-with-entry-text-mode: Agenda commands. (line 137)
* org-agenda-start-with-follow-mode: Agenda commands. (line 41)
* org-agenda-sticky: Agenda dispatcher. (line 43)
* org-agenda-tag-filter-preset: Filtering/limiting agenda items.
(line 18)
* org-agenda-tags-column: Presentation and sorting.
(line 6)
* org-agenda-tags-todo-honor-ignore-options: Matching tags and properties.
(line 19)
* org-agenda-text-search-extra-files: Agenda dispatcher. (line 25)
* org-agenda-text-search-extra-files <1>: Search view. (line 24)
* org-agenda-time-grid: Time-of-day specifications.
(line 44)
* org-agenda-time-grid <1>: Agenda commands. (line 144)
* org-agenda-todo-ignore-deadlines: Global TODO list. (line 37)
* org-agenda-todo-ignore-scheduled: Global TODO list. (line 37)
* org-agenda-todo-ignore-timestamp: Global TODO list. (line 37)
* org-agenda-todo-ignore-with-date: Global TODO list. (line 37)
* org-agenda-todo-list-sublevels: Breaking down tasks. (line 6)
* org-agenda-todo-list-sublevels <1>: Global TODO list. (line 45)
* org-agenda-use-tag-inheritance: Tag inheritance. (line 32)
* org-agenda-use-tag-inheritance <1>: Speeding up your agendas.
(line 17)
* org-agenda-use-time-grid: Time-of-day specifications.
(line 44)
* org-agenda-use-time-grid <1>: Agenda commands. (line 144)
* org-agenda-window-setup: Agenda views. (line 37)
* org-archive-default-command: Archiving. (line 12)
* org-archive-default-command <1>: Agenda commands. (line 219)
* org-archive-location: Moving subtrees. (line 10)
* org-archive-location <1>: In-buffer settings. (line 14)
* org-archive-save-context-info: Moving subtrees. (line 39)
* org-ascii-links-to-notes: ASCII/Latin-1/UTF-8 export.
(line 16)
* org-ascii-text-width: ASCII/Latin-1/UTF-8 export.
(line 13)
* org-attach-directory: Attachments. (line 6)
* org-attach-method: Attachments. (line 32)
* org-babel-default-header-args: System-wide header arguments.
(line 6)
* org-babel-default-header-args <1>: Header arguments in Org mode properties.
(line 31)
* org-babel-load-languages: Languages. (line 35)
* org-beamer-environments-default: Sectioning Frames and Blocks in Beamer.
(line 21)
* org-beamer-environments-extra: Sectioning Frames and Blocks in Beamer.
(line 21)
* org-beamer-frame-level: Sectioning Frames and Blocks in Beamer.
(line 10)
* org-beamer-subtitle-format: Beamer specific export settings.
(line 44)
* org-beamer-theme: Beamer specific export settings.
(line 11)
* org-calc-default-modes: Formula syntax for Calc.
(line 14)
* org-capture-bookmark: Using capture. (line 48)
* org-capture-templates: Capture templates. (line 11)
* org-capture-templates-contexts: Templates in contexts.
(line 6)
* org-capture-use-agenda-date: Agenda commands. (line 292)
* org-catch-invisible-edits: Catching invisible edits.
(line 6)
* org-checkbox-hierarchical-statistics: Checkboxes. (line 30)
* org-clock-continuously: Clocking commands. (line 7)
* org-clock-continuously <1>: Clocking commands. (line 43)
* org-clock-continuously <2>: Resolving idle time. (line 74)
* org-clock-idle-time: Resolving idle time. (line 14)
* org-clock-into-drawer: Clocking commands. (line 7)
* org-clock-modeline-total: Clocking commands. (line 20)
* org-clock-report-include-clocking-task: Agenda commands. (line 120)
* org-clock-x11idle-program-name: Resolving idle time. (line 9)
* org-clocktable-defaults: The clock table. (line 34)
* org-closed-keep-when-no-todo: Closing items. (line 11)
* org-coderef-label-format: Literal examples. (line 75)
* org-columns-default-format: Using column view. (line 10)
* org-columns-default-format <1>: Effort estimates. (line 30)
* org-columns-default-format <2>: Agenda commands. (line 158)
* org-columns-default-format <3>: Agenda column view. (line 18)
* org-columns-skip-archived-trees: Internal archiving. (line 28)
* org-columns-summary-types: Column attributes. (line 64)
* org-confirm-babel-evaluate: Code evaluation security.
(line 25)
* org-confirm-elisp-link-function: Code evaluation security.
(line 51)
* org-confirm-shell-link-function: Code evaluation security.
(line 49)
* org-create-file-search-functions: Custom searches. (line 12)
* org-ctrl-c-ctrl-c-hook: Context-sensitive commands.
(line 6)
* org-ctrl-k-protect-subtree: Headlines. (line 6)
* org-cycle-emulate-tab: Global and local cycling.
(line 16)
* org-cycle-global-at-bob: Global and local cycling.
(line 29)
* org-cycle-include-plain-lists: Plain lists. (line 67)
* org-cycle-open-archived-trees: Internal archiving. (line 12)
* org-cycle-separator-lines: Headlines. (line 26)
* org-deadline-warning-days: Deadlines and scheduling.
(line 15)
* org-deadline-warning-days <1>: Inserting deadline/schedule.
(line 23)
* org-default-notes-file: Setting up capture. (line 9)
* org-default-notes-file <1>: Template elements. (line 45)
* org-default-priority: Priorities. (line 36)
* org-default-priority <1>: In-buffer settings. (line 39)
* org-display-custom-times: Custom time format. (line 6)
* org-display-internal-link-with-indirect-buffer: Handling links.
(line 126)
* org-disputed-keys: Conflicts. (line 28)
* org-done (face): Faces for TODO keywords.
(line 6)
* org-edit-footnote-reference: Footnotes. (line 81)
* org-edit-src-auto-save-idle-delay: Editing source code. (line 6)
* org-edit-src-turn-on-auto-save: Editing source code. (line 6)
* org-emphasis-alist: Emphasis and monospace.
(line 6)
* org-emphasis-regexp-components: Emphasis and monospace.
(line 6)
* org-enforce-todo-dependencies: TODO dependencies. (line 6)
* org-enforce-todo-dependencies <1>: TODO dependencies. (line 51)
* org-entities-user: Special symbols. (line 16)
* org-execute-file-search-functions: Custom searches. (line 12)
* org-export-allow-bind-keywords: Export settings. (line 210)
* org-export-async-init-file: The export dispatcher.
(line 28)
* org-export-backends: Exporting. (line 33)
* org-export-backends <1>: Other built-in back-ends.
(line 6)
* org-export-before-parsing-hook: Advanced configuration.
(line 9)
* org-export-before-processing-hook: Advanced configuration.
(line 9)
* org-export-creator-string: Export settings. (line 28)
* org-export-creator-string <1>: HTML preamble and postamble.
(line 6)
* org-export-date-timestamp-format: Export settings. (line 32)
* org-export-default-language: Export settings. (line 38)
* org-export-dispatch-use-expert-ui: The export dispatcher.
(line 6)
* org-export-exclude-tags: Export settings. (line 52)
* org-export-global-macros: Macro replacement. (line 6)
* org-export-headline-levels: Export settings. (line 141)
* org-export-in-background: The export dispatcher.
(line 39)
* org-export-initial-scope: The export dispatcher.
(line 48)
* org-export-preserve-breaks: Export settings. (line 93)
* org-export-select-tags: Export settings. (line 44)
* org-export-time-stamp-file: Export settings. (line 186)
* org-export-time-stamp-file <1>: HTML preamble and postamble.
(line 6)
* org-export-use-babel: Exporting code blocks.
(line 33)
* org-export-with-archived-trees: Internal archiving. (line 25)
* org-export-with-archived-trees <1>: Export settings. (line 102)
* org-export-with-author: Export settings. (line 107)
* org-export-with-broken-links: Export settings. (line 111)
* org-export-with-clocks: Export settings. (line 116)
* org-export-with-creator: Export settings. (line 119)
* org-export-with-date: Export settings. (line 127)
* org-export-with-drawers: Drawers. (line 38)
* org-export-with-drawers <1>: Export settings. (line 123)
* org-export-with-email: Export settings. (line 134)
* org-export-with-entities: Export settings. (line 131)
* org-export-with-fixed-width: Export settings. (line 86)
* org-export-with-footnotes: Export settings. (line 138)
* org-export-with-inlinetasks: Export settings. (line 146)
* org-export-with-latex: LaTeX fragments. (line 37)
* org-export-with-latex <1>: Export settings. (line 182)
* org-export-with-planning: Export settings. (line 156)
* org-export-with-priority: Export settings. (line 162)
* org-export-with-properties: Drawers. (line 38)
* org-export-with-properties <1>: Export settings. (line 165)
* org-export-with-section-numbers: Export settings. (line 149)
* org-export-with-smart-quotes: Export settings. (line 73)
* org-export-with-special-strings: Export settings. (line 82)
* org-export-with-statistics-cookies: Export settings. (line 169)
* org-export-with-sub-superscripts: Export settings. (line 97)
* org-export-with-tables: Export settings. (line 201)
* org-export-with-tags: Export settings. (line 173)
* org-export-with-tasks: Export settings. (line 177)
* org-export-with-timestamps: Export settings. (line 89)
* org-export-with-title: Export settings. (line 190)
* org-export-with-toc: Export settings. (line 193)
* org-export-with-toc <1>: Table of contents. (line 6)
* org-export-with-todo-keywords: Export settings. (line 197)
* org-fast-tag-selection-include-todo: Fast access to TODO states.
(line 16)
* org-fast-tag-selection-single-key: Setting tags. (line 142)
* org-file-apps: Handling links. (line 100)
* org-file-apps <1>: Attachments. (line 52)
* org-fontify-emphasized-text: Emphasis and monospace.
(line 6)
* org-footnote-auto-adjust: Footnotes. (line 45)
* org-footnote-auto-adjust <1>: In-buffer settings. (line 140)
* org-footnote-auto-label: Footnotes. (line 32)
* org-footnote-auto-label <1>: In-buffer settings. (line 140)
* org-footnote-define-inline: Footnotes. (line 45)
* org-footnote-define-inline <1>: In-buffer settings. (line 140)
* org-footnote-section: Headlines. (line 18)
* org-footnote-section <1>: Footnotes. (line 45)
* org-format-latex-header: LaTeX fragments. (line 6)
* org-format-latex-header <1>: Previewing LaTeX fragments.
(line 12)
* org-format-latex-options: Previewing LaTeX fragments.
(line 12)
* org-from-is-user-regexp: Template expansion. (line 49)
* org-global-properties: Property syntax. (line 75)
* org-global-properties <1>: Effort estimates. (line 30)
* org-goto-auto-isearch: Motion. (line 21)
* org-goto-interface: Motion. (line 32)
* org-group-tags: Tag hierarchy. (line 86)
* org-hide (face): Clean view. (line 70)
* org-hide-block-startup: Blocks. (line 6)
* org-hide-leading-stars: In-buffer settings. (line 119)
* org-hide-leading-stars <1>: Clean view. (line 55)
* org-hierarchical-todo-statistics: Breaking down tasks. (line 25)
* org-highest-priority: Priorities. (line 36)
* org-highest-priority <1>: In-buffer settings. (line 39)
* org-html-container-element: HTML Specific export settings.
(line 19)
* org-html-doctype: HTML Specific export settings.
(line 16)
* org-html-doctype <1>: HTML doctypes. (line 8)
* org-html-doctype-alist: HTML doctypes. (line 8)
* org-html-head: HTML Specific export settings.
(line 35)
* org-html-head <1>: CSS support. (line 43)
* org-html-head-extra: HTML Specific export settings.
(line 39)
* org-html-head-extra <1>: CSS support. (line 43)
* org-html-head-include-default-style: CSS support. (line 43)
* org-html-html5-elements: HTML doctypes. (line 58)
* org-html-html5-fancy: HTML doctypes. (line 25)
* org-html-infojs-options: JavaScript support. (line 51)
* org-html-inline-images: Images in HTML export.
(line 6)
* org-html-link-home: HTML Specific export settings.
(line 23)
* org-html-link-org-files-as-html: Links in HTML export.
(line 6)
* org-html-link-up: HTML Specific export settings.
(line 26)
* org-html-mathjax-options: HTML Specific export settings.
(line 30)
* org-html-postamble: HTML preamble and postamble.
(line 6)
* org-html-postamble-format: HTML preamble and postamble.
(line 6)
* org-html-preamble: HTML preamble and postamble.
(line 6)
* org-html-preamble-format: HTML preamble and postamble.
(line 6)
* org-html-style-default: CSS support. (line 43)
* org-html-table-align-individual-fields: Tables in HTML export.
(line 19)
* org-html-table-caption-above: Tables in HTML export.
(line 23)
* org-html-table-data-tags: Tables in HTML export.
(line 26)
* org-html-table-default-attributes: Tables in HTML export.
(line 6)
* org-html-table-default-attributes <1>: Tables in HTML export.
(line 29)
* org-html-table-header-tags: Tables in HTML export.
(line 32)
* org-html-table-row-tags: Tables in HTML export.
(line 35)
* org-html-table-use-header-tags-for-first-column: Tables in HTML export.
(line 38)
* org-html-tag-class-prefix: CSS support. (line 6)
* org-html-todo-kwd-class-prefix: CSS support. (line 6)
* org-html-use-infojs: JavaScript support. (line 51)
* org-html-validation-link: HTML preamble and postamble.
(line 6)
* org-icalendar-alarm-time: iCalendar export. (line 6)
* org-icalendar-categories: iCalendar export. (line 6)
* org-icalendar-combined-agenda-file: iCalendar export. (line 45)
* org-icalendar-include-body: iCalendar export. (line 49)
* org-icalendar-include-todo: iCalendar export. (line 6)
* org-icalendar-store-UID: iCalendar export. (line 26)
* org-icalendar-use-deadline: iCalendar export. (line 6)
* org-icalendar-use-scheduled: iCalendar export. (line 6)
* org-id-link-to-org-use-id: Handling links. (line 21)
* org-imenu-depth: Cooperation. (line 27)
* org-insert-mode-line-in-empty-file: Activation. (line 27)
* org-irc-link-to-logs: Handling links. (line 45)
* org-keep-stored-link-after-insertion: Handling links. (line 65)
* org-latex-bibtex-compiler: LaTeX export commands.
(line 19)
* org-latex-classes: LaTeX specific export settings.
(line 20)
* org-latex-classes <1>: LaTeX specific export settings.
(line 36)
* org-latex-classes <2>: LaTeX specific export settings.
(line 41)
* org-latex-classes <3>: LaTeX header and sectioning.
(line 13)
* org-latex-compiler: LaTeX export commands.
(line 19)
* org-latex-compiler <1>: LaTeX specific export settings.
(line 32)
* org-latex-default-class: LaTeX specific export settings.
(line 20)
* org-latex-default-class <1>: LaTeX header and sectioning.
(line 13)
* org-latex-default-packages-alist: LaTeX export commands.
(line 19)
* org-latex-default-packages-alist <1>: LaTeX header and sectioning.
(line 13)
* org-latex-default-table-environment: Tables in LaTeX export.
(line 21)
* org-latex-default-table-mode: Tables in LaTeX export.
(line 11)
* org-latex-images-centered: Images in LaTeX export.
(line 46)
* org-latex-listings: Literal examples. (line 23)
* org-latex-listings-options: Source blocks in LaTeX export.
(line 21)
* org-latex-minted-options: Source blocks in LaTeX export.
(line 21)
* org-latex-packages-alist: LaTeX header and sectioning.
(line 13)
* org-latex-subtitle-format: LaTeX specific export settings.
(line 55)
* org-latex-subtitle-separate: LaTeX specific export settings.
(line 55)
* org-latex-tables-booktabs: Tables in LaTeX export.
(line 58)
* org-latex-tables-centered: Tables in LaTeX export.
(line 58)
* org-latex-to-mathml-convert-command: Working with LaTeX math snippets.
(line 21)
* org-latex-to-mathml-jar-file: Working with LaTeX math snippets.
(line 21)
* org-link-abbrev-alist: Link abbreviations. (line 12)
* org-link-abbrev-alist <1>: In-buffer settings. (line 35)
* org-link-frame-setup: Handling links. (line 100)
* org-link-parameters: Handling links. (line 65)
* org-list-allow-alphabetical: Plain lists. (line 13)
* org-list-automatic-rules: Plain lists. (line 60)
* org-list-automatic-rules <1>: Plain lists. (line 79)
* org-list-automatic-rules <2>: Checkboxes. (line 6)
* org-list-demote-modify-bullet: Plain lists. (line 54)
* org-list-indent-offset: Plain lists. (line 54)
* org-list-use-circular-motion: Plain lists. (line 90)
* org-log-done: Tracking TODO state changes.
(line 29)
* org-log-done <1>: Agenda commands. (line 101)
* org-log-done <2>: In-buffer settings. (line 94)
* org-log-into-drawer: Tracking TODO state changes.
(line 6)
* org-log-into-drawer <1>: Agenda commands. (line 251)
* org-log-note-clock-out: Clocking commands. (line 36)
* org-log-note-clock-out <1>: In-buffer settings. (line 94)
* org-log-refile: Refile and copy. (line 16)
* org-log-repeat: Repeated tasks. (line 37)
* org-log-repeat <1>: In-buffer settings. (line 94)
* org-log-states-order-reversed: Tracking TODO state changes.
(line 6)
* org-lowest-priority: Priorities. (line 36)
* org-lowest-priority <1>: In-buffer settings. (line 39)
* org-M-RET-may-split-line: Structure editing. (line 7)
* org-M-RET-may-split-line <1>: Plain lists. (line 79)
* org-md-headline-style: Markdown export. (line 27)
* org-odd-levels-only: Matching tags and properties.
(line 67)
* org-odd-levels-only <1>: In-buffer settings. (line 119)
* org-odd-levels-only <2>: Clean view. (line 75)
* org-odd-levels-only <3>: Special agenda views.
(line 41)
* org-odt-category-map-alist: Labels and captions in ODT export.
(line 21)
* org-odt-convert: Extending ODT export.
(line 36)
* org-odt-convert-capabilities: Configuring a document converter.
(line 18)
* org-odt-convert-process: Configuring a document converter.
(line 25)
* org-odt-convert-processes: Configuring a document converter.
(line 12)
* org-odt-create-custom-styles-for-srcblocks: Literal examples in ODT export.
(line 16)
* org-odt-fontify-srcblocks: Literal examples in ODT export.
(line 13)
* org-odt-pixels-per-inch: Images in ODT export.
(line 34)
* org-odt-preferred-output-format: ODT export commands. (line 10)
* org-odt-preferred-output-format <1>: ODT export commands. (line 29)
* org-odt-preferred-output-format <2>: Extending ODT export.
(line 21)
* org-odt-schema-dir: Validating OpenDocument XML.
(line 14)
* org-odt-styles-file: ODT specific export settings.
(line 22)
* org-odt-styles-file <1>: Applying custom styles.
(line 25)
* org-odt-table-styles: Customizing tables in ODT export.
(line 13)
* org-odt-table-styles <1>: Customizing tables in ODT export.
(line 82)
* org-outline-path-complete-in-steps: Refile and copy. (line 16)
* org-overriding-columns-format: Agenda column view. (line 18)
* org-plain-list-ordered-item-terminator: Plain lists. (line 13)
* org-plain-list-ordered-item-terminator <1>: Plain lists. (line 119)
* org-popup-calendar-for-date-prompt: The date/time prompt.
(line 76)
* org-preview-latex-default-process: Previewing LaTeX fragments.
(line 6)
* org-priority-faces: Priorities. (line 13)
* org-priority-start-cycle-with-default: Priorities. (line 31)
* org-property-allowed-value-functions: Using the property API.
(line 67)
* org-protocol-default-template-key: capture protocol. (line 19)
* org-protocol-project-alist: open-source protocol.
(line 13)
* org-publish-project-alist: Project alist. (line 6)
* org-publish-project-alist <1>: Publishing options. (line 13)
* org-publish-use-timestamps-flag: Triggering publication.
(line 18)
* org-put-time-stamp-overlays: In-buffer settings. (line 130)
* org-read-date-display-live: The date/time prompt.
(line 91)
* org-read-date-force-compatible-dates: The date/time prompt.
(line 61)
* org-read-date-prefer-future: The date/time prompt.
(line 6)
* org-refile-allow-creating-parent-nodes: Refile and copy. (line 16)
* org-refile-keep: Refile and copy. (line 16)
* org-refile-targets: Refile and copy. (line 16)
* org-refile-use-cache: Refile and copy. (line 16)
* org-refile-use-outline-path: Refile and copy. (line 16)
* org-remove-highlights-with-change: Sparse trees. (line 19)
* org-remove-highlights-with-change <1>: Clocking commands. (line 73)
* org-replace-disputed-keys: Conflicts. (line 18)
* org-return-follows-link: Handling links. (line 119)
* org-reverse-note-order: Refile and copy. (line 16)
* org-scheduled-delay-days: Deadlines and scheduling.
(line 44)
* org-show-context-detail: Sparse trees. (line 6)
* org-sort-agenda-noeffort-is-high: Filtering/limiting agenda items.
(line 92)
* org-sparse-tree-open-archived-trees: Internal archiving. (line 17)
* org-special-ctrl-a/e: Headlines. (line 6)
* org-special-ctrl-k: Headlines. (line 6)
* org-speed-commands-user: Speed keys. (line 18)
* org-startup-align-all-tables: Column width and alignment.
(line 33)
* org-startup-align-all-tables <1>: In-buffer settings. (line 75)
* org-startup-folded: Initial visibility. (line 6)
* org-startup-folded <1>: In-buffer settings. (line 65)
* org-startup-folded <2>: Speeding up your agendas.
(line 15)
* org-startup-indented: In-buffer settings. (line 70)
* org-startup-with-inline-images: Handling links. (line 129)
* org-startup-with-inline-images <1>: In-buffer settings. (line 82)
* org-startup-with-latex-preview: Previewing LaTeX fragments.
(line 27)
* org-startup-with-latex-preview <1>: In-buffer settings. (line 88)
* org-store-link-functions: Adding hyperlink types.
(line 59)
* org-stuck-projects: Stuck projects. (line 16)
* org-support-shift-select: Plain lists. (line 90)
* org-support-shift-select <1>: Plain lists. (line 140)
* org-support-shift-select <2>: Conflicts. (line 6)
* org-table-auto-blank-field: Built-in table editor.
(line 30)
* org-table-copy-increment: Built-in table editor.
(line 150)
* org-table-duration-custom-format: Durations and time values.
(line 6)
* org-table-export-default-format: Built-in table editor.
(line 183)
* org-table-formula: In-buffer settings. (line 27)
* org-table-formula-constants: References. (line 108)
* org-table-formula-constants <1>: In-buffer settings. (line 27)
* org-table-formula-constants <2>: Cooperation. (line 11)
* org-table-use-standard-references: References. (line 17)
* org-table-use-standard-references <1>: Editing and debugging formulas.
(line 6)
* org-tag-alist: Setting tags. (line 22)
* org-tag-alist <1>: In-buffer settings. (line 164)
* org-tag-faces: Tags. (line 10)
* org-tag-persistent-alist: Setting tags. (line 37)
* org-tags-column: Setting tags. (line 11)
* org-tags-exclude-from-inheritance: Tag inheritance. (line 22)
* org-tags-match-list-sublevels: Tag inheritance. (line 26)
* org-tags-match-list-sublevels <1>: Tag searches. (line 18)
* org-tags-match-list-sublevels <2>: Property searches. (line 17)
* org-tags-match-list-sublevels <3>: Matching tags and properties.
(line 19)
* org-texinfo-classes: Texinfo file header. (line 11)
* org-texinfo-classes <1>: Headings and sectioning structure.
(line 6)
* org-texinfo-coding-system: Texinfo file header. (line 11)
* org-texinfo-default-class: Texinfo specific export settings.
(line 20)
* org-texinfo-default-class <1>: Headings and sectioning structure.
(line 6)
* org-texinfo-info-process: Texinfo export commands.
(line 6)
* org-texinfo-table-default-markup: Plain lists in Texinfo export.
(line 12)
* org-time-stamp-custom-formats: Custom time format. (line 6)
* org-time-stamp-overlay-formats: In-buffer settings. (line 130)
* org-time-stamp-rounding-minutes: Creating timestamps. (line 20)
* org-todo (face): Faces for TODO keywords.
(line 6)
* org-todo-keyword-faces: Faces for TODO keywords.
(line 6)
* org-todo-keywords: TODO basics. (line 41)
* org-todo-keywords <1>: TODO extensions. (line 6)
* org-todo-keywords <2>: Global TODO list. (line 17)
* org-todo-keywords <3>: In-buffer settings. (line 179)
* org-todo-repeat-to-state: Repeated tasks. (line 19)
* org-todo-state-tags-triggers: TODO basics. (line 60)
* org-track-ordered-property-with-tag: TODO dependencies. (line 38)
* org-track-ordered-property-with-tag <1>: Checkboxes. (line 75)
* org-treat-insert-todo-heading-as-state-change: Structure editing.
(line 27)
* org-treat-S-cursor-todo-selection-as-state-change: TODO basics.
(line 35)
* org-use-fast-todo-selection: TODO basics. (line 14)
* org-use-property-inheritance: Property inheritance.
(line 6)
* org-use-property-inheritance <1>: iCalendar export. (line 49)
* org-use-property-inheritance <2>: Header arguments in Org mode properties.
(line 17)
* org-use-property-inheritance <3>: Using the property API.
(line 18)
* org-use-speed-commands: Speed keys. (line 13)
* org-use-sub-superscripts: Subscripts and superscripts.
(line 14)
* org-use-tag-inheritance: Tag inheritance. (line 22)
* org-yank-adjusted-subtrees: Structure editing. (line 70)
* org-yank-folded-subtrees: Structure editing. (line 70)
* orgstruct-heading-prefix-regexp: Orgstruct mode. (line 26)
* parse-time-months: The date/time prompt.
(line 57)
* parse-time-weekdays: The date/time prompt.
(line 57)
* ps-landscape-mode: Exporting agenda views.
(line 20)
* ps-number-of-columns: Exporting agenda views.
(line 20)
* user-full-name: Export settings. (line 25)
* user-mail-address: Export settings. (line 35)
Tag Table:
Node: Top907
Node: Introduction24445
Node: Summary24874
Node: Installation27573
Node: Activation30379
Ref: Activation-Footnote-131939
Node: Feedback32067
Ref: Feedback-Footnote-135716
Node: Conventions35843
Node: Document structure37954
Node: Outlines38949
Node: Headlines39582
Ref: Headlines-Footnote-140795
Ref: Headlines-Footnote-240995
Node: Visibility cycling41066
Node: Global and local cycling41445
Ref: Global and local cycling-Footnote-144149
Ref: Global and local cycling-Footnote-244211
Node: Initial visibility44462
Ref: Initial visibility-Footnote-145533
Node: Catching invisible edits45722
Node: Motion46194
Node: Structure editing47561
Node: Sparse trees54353
Ref: Sparse trees-Footnote-156927
Ref: Sparse trees-Footnote-257042
Node: Plain lists57117
Ref: Plain lists-Footnote-164685
Ref: Plain lists-Footnote-265047
Ref: Plain lists-Footnote-365147
Ref: Plain lists-Footnote-465414
Ref: Plain lists-Footnote-565591
Ref: Plain lists-Footnote-665695
Ref: Plain lists-Footnote-765801
Node: Drawers65871
Ref: Drawers-Footnote-167772
Node: Blocks67920
Node: Footnotes68485
Ref: Footnotes-Footnote-172512
Ref: Footnotes-Footnote-272617
Node: Orgstruct mode72702
Node: Org syntax74359
Node: Tables75365
Node: Built-in table editor76010
Ref: Built-in table editor-Footnote-185627
Node: Column width and alignment85735
Ref: Column width and alignment-Footnote-188341
Node: Column groups88438
Node: Orgtbl mode90033
Node: The spreadsheet90848
Node: References92314
Ref: References-Footnote-199274
Ref: References-Footnote-299504
Ref: References-Footnote-399785
Ref: References-Footnote-499902
Node: Formula syntax for Calc100220
Ref: Formula syntax for Calc-Footnote-1105559
Node: Formula syntax for Lisp105903
Node: Durations and time values107683
Node: Field and range formulas109107
Node: Column formulas111570
Node: Lookup functions113696
Node: Editing and debugging formulas115738
Ref: Using multiple #+TBLFM lines120078
Ref: Editing and debugging formulas-Footnote-1121371
Node: Updating the table121519
Node: Advanced features122891
Ref: Advanced features-Footnote-1127503
Node: Org-Plot127609
Node: Hyperlinks131998
Node: Link format132755
Node: Internal links134054
Ref: Internal links-Footnote-1136395
Ref: Internal links-Footnote-2136639
Node: Radio targets136785
Node: External links137464
Ref: External links-Footnote-1141512
Ref: External links-Footnote-2141948
Node: Handling links142212
Ref: Handling links-Footnote-1150222
Ref: Handling links-Footnote-2150382
Ref: Handling links-Footnote-3150584
Ref: Handling links-Footnote-4150881
Ref: Handling links-Footnote-5151139
Ref: Handling links-Footnote-6151266
Ref: Handling links-Footnote-7151342
Node: Using links outside Org151438
Node: Link abbreviations151923
Node: Search options154755
Ref: Search options-Footnote-1156697
Node: Custom searches156778
Node: TODO items157808
Ref: TODO items-Footnote-1158916
Node: TODO basics159030
Node: TODO extensions161918
Node: Workflow states162952
Ref: Workflow states-Footnote-1164267
Node: TODO types164360
Ref: TODO types-Footnote-1165988
Node: Multiple sets in one file166061
Node: Fast access to TODO states168016
Ref: Fast access to TODO states-Footnote-1168899
Ref: Fast access to TODO states-Footnote-2168987
Node: Per-file keywords169284
Ref: Per-file keywords-Footnote-1170672
Node: Faces for TODO keywords170881
Node: TODO dependencies171937
Node: Progress logging174306
Node: Closing items175018
Ref: Closing items-Footnote-1176017
Ref: Closing items-Footnote-2176090
Node: Tracking TODO state changes176168
Ref: Tracking TODO state changes-Footnote-1179276
Ref: Tracking TODO state changes-Footnote-2179335
Ref: Tracking TODO state changes-Footnote-3179492
Node: Tracking your habits179789
Node: Priorities184114
Ref: Priorities-Footnote-1186155
Node: Breaking down tasks186228
Ref: Breaking down tasks-Footnote-1188243
Node: Checkboxes188343
Ref: Checkboxes-Footnote-1193063
Ref: Checkboxes-Footnote-2193191
Ref: Checkboxes-Footnote-3193369
Node: Tags193493
Node: Tag inheritance194569
Ref: Tag inheritance-Footnote-1196430
Ref: Tag inheritance-Footnote-2196534
Node: Setting tags196660
Ref: Setting tags-Footnote-1203162
Node: Tag hierarchy203245
Node: Tag searches206714
Node: Properties and columns208032
Node: Property syntax209488
Node: Special properties213868
Node: Property searches215521
Node: Property inheritance216966
Node: Column view218833
Node: Defining columns220077
Node: Scope of column definitions220455
Node: Column attributes221368
Ref: Column attributes-Footnote-1226284
Ref: Column attributes-Footnote-2226408
Ref: Column attributes-Footnote-3226613
Ref: Column attributes-Footnote-4226867
Node: Using column view227001
Node: Capturing column view229995
Ref: Capturing column view-Footnote-1233083
Node: Property API233220
Node: Dates and times233574
Node: Timestamps234481
Ref: Timestamps-Footnote-1236891
Ref: Timestamps-Footnote-2237077
Ref: Timestamps-Footnote-3237208
Node: Creating timestamps238013
Node: The date/time prompt240858
Ref: The date/time prompt-Footnote-1245489
Ref: The date/time prompt-Footnote-2245660
Ref: The date/time prompt-Footnote-3245772
Node: Custom time format245870
Node: Deadlines and scheduling247621
Ref: Deadlines and scheduling-Footnote-1251135
Node: Inserting deadline/schedule251296
Ref: Inserting deadline/schedule-Footnote-1253135
Ref: Inserting deadline/schedule-Footnote-2253259
Node: Repeated tasks253383
Ref: Repeated tasks-Footnote-1257858
Ref: Repeated tasks-Footnote-2258115
Node: Clocking work time258338
Ref: Clocking work time-Footnote-1259526
Ref: Clocking work time-Footnote-2259678
Node: Clocking commands259820
Ref: Clocking commands-Footnote-1264844
Ref: Clocking commands-Footnote-2264959
Ref: Clocking commands-Footnote-3265013
Ref: Clocking commands-Footnote-4265075
Node: The clock table265157
Ref: The clock table-Footnote-1272762
Ref: The clock table-Footnote-2272860
Node: Resolving idle time272986
Ref: Resolving idle time-Footnote-1276917
Node: Effort estimates277401
Ref: Effort estimates-Footnote-1280193
Node: Timers280300
Node: Capture - Refile - Archive282611
Node: Capture283601
Node: Setting up capture284702
Ref: Setting up capture-Footnote-1285110
Node: Using capture285180
Node: Capture templates287646
Node: Template elements289645
Ref: Template elements-Footnote-1296417
Ref: Template elements-Footnote-2296750
Node: Template expansion296937
Ref: Template expansion-Footnote-1301053
Ref: Template expansion-Footnote-2301144
Ref: Template expansion-Footnote-3301355
Ref: Template expansion-Footnote-4301541
Node: Templates in contexts301643
Node: Attachments302479
Ref: Attachments-Footnote-1306012
Node: RSS feeds306166
Node: Protocols307679
Node: store-link protocol309144
Node: capture protocol309976
Node: open-source protocol311118
Node: Refile and copy314265
Ref: Refile and copy-Footnote-1316733
Node: Archiving316845
Node: Moving subtrees317551
Node: Internal archiving319598
Node: Agenda views322289
Node: Agenda files324646
Ref: Agenda files-Footnote-1327499
Ref: Agenda files-Footnote-2327648
Node: Agenda dispatcher327849
Ref: Agenda dispatcher-Footnote-1330753
Ref: Agenda dispatcher-Footnote-2330851
Node: Built-in agenda views330957
Node: Weekly/daily agenda331541
Ref: Weekly/daily agenda-Footnote-1337381
Ref: Weekly/daily agenda-Footnote-2337612
Node: Global TODO list337799
Node: Matching tags and properties340375
Node: Search view347717
Node: Stuck projects349076
Ref: Stuck projects-Footnote-1351157
Node: Presentation and sorting351187
Node: Categories352152
Node: Time-of-day specifications352895
Ref: Time-of-day specifications-Footnote-1354930
Node: Sorting agenda items355053
Node: Filtering/limiting agenda items356646
Ref: Filtering/limiting agenda items-Footnote-1363938
Node: Agenda commands364358
Ref: Agenda commands-Footnote-1385792
Ref: Agenda commands-Footnote-2385873
Ref: Agenda commands-Footnote-3385996
Ref: Agenda commands-Footnote-4386100
Node: Custom agenda views386187
Node: Storing searches386828
Ref: Storing searches-Footnote-1389863
Ref: Storing searches-Footnote-2389980
Node: Block agenda390232
Node: Setting options391514
Node: Exporting agenda views395160
Ref: Exporting agenda views-Footnote-1400131
Ref: Exporting agenda views-Footnote-2400254
Ref: Exporting agenda views-Footnote-3400414
Ref: Exporting agenda views-Footnote-4400601
Node: Agenda column view400683
Node: Markup403803
Node: Paragraphs404790
Node: Emphasis and monospace405959
Node: Horizontal rules406830
Node: Images and tables407081
Node: Literal examples408808
Ref: Literal examples-Footnote-1413417
Ref: Literal examples-Footnote-2413941
Ref: Literal examples-Footnote-3414114
Ref: Literal examples-Footnote-4414301
Ref: Literal examples-Footnote-5414571
Node: Special symbols414669
Ref: Special symbols-Footnote-1416677
Ref: Special symbols-Footnote-2416844
Node: Subscripts and superscripts416937
Node: Embedded LaTeX418073
Ref: Embedded LaTeX-Footnote-1418886
Node: LaTeX fragments419082
Ref: LaTeX fragments-Footnote-1421195
Node: Previewing LaTeX fragments421430
Ref: Previewing LaTeX fragments-Footnote-1422892
Node: CDLaTeX mode423146
Ref: CDLaTeX mode-Footnote-1425717
Node: Exporting425869
Node: The export dispatcher428541
Node: Export settings431176
Ref: Export settings-Footnote-1439281
Ref: Export settings-Footnote-2439393
Node: Table of contents439499
Node: Include files441391
Ref: Include files-Footnote-1444252
Node: Macro replacement444430
Ref: Macro replacement-Footnote-1447321
Node: Comment lines447538
Ref: Comment lines-Footnote-1448368
Node: ASCII/Latin-1/UTF-8 export448468
Node: Beamer export451487
Node: Beamer export commands452257
Node: Beamer specific export settings452944
Node: Sectioning Frames and Blocks in Beamer454863
Ref: Sectioning Frames and Blocks in Beamer-Footnote-1458174
Node: Beamer specific syntax458335
Node: Editing support460316
Node: A Beamer example460804
Node: HTML export462071
Node: HTML Export commands463078
Node: HTML Specific export settings463609
Node: HTML doctypes465694
Node: HTML preamble and postamble467853
Node: Quoting HTML tags469043
Node: Links in HTML export469727
Node: Tables in HTML export471192
Node: Images in HTML export472639
Node: Math formatting in HTML export474124
Ref: Math formatting in HTML export-Footnote-1475538
Node: Text areas in HTML export475662
Node: CSS support476815
Ref: CSS support-Footnote-1480287
Node: JavaScript support480467
Node: LaTeX export483790
Node: LaTeX export commands485526
Ref: LaTeX export commands-Footnote-1486847
Node: LaTeX specific export settings487055
Node: LaTeX header and sectioning489940
Node: Quoting LaTeX code492081
Node: Tables in LaTeX export492862
Node: Images in LaTeX export497402
Ref: Images in LaTeX export-Footnote-1499932
Node: Plain lists in LaTeX export499979
Node: Source blocks in LaTeX export500996
Node: Example blocks in LaTeX export502430
Node: Special blocks in LaTeX export503138
Node: Horizontal rules in LaTeX export504388
Node: Markdown export504783
Node: OpenDocument Text export506128
Ref: OpenDocument Text export-Footnote-1507229
Node: Pre-requisites for ODT export507373
Node: ODT export commands507759
Ref: x-export-to-odt507963
Node: ODT specific export settings509127
Node: Extending ODT export510164
Ref: x-export-to-other-formats511049
Ref: x-convert-to-other-formats511474
Node: Applying custom styles511949
Node: Links in ODT export513742
Node: Tables in ODT export514399
Node: Images in ODT export516389
Node: Math formatting in ODT export519259
Node: Working with LaTeX math snippets519720
Ref: Working with LaTeX math snippets-Footnote-1521998
Ref: Working with LaTeX math snippets-Footnote-2522074
Node: Working with MathML or OpenDocument formula files522119
Node: Labels and captions in ODT export522654
Node: Literal examples in ODT export523926
Node: Advanced topics in ODT export524764
Node: Configuring a document converter525418
Ref: x-odt-converter-capabilities526102
Node: Working with OpenDocument style files526509
Ref: x-factory-styles526914
Ref: x-orgodtstyles-xml527156
Ref: x-orgodtcontenttemplate-xml527502
Ref: x-overriding-factory-styles528186
Ref: x-org-odt-styles-file528457
Ref: x-org-odt-content-template-file529423
Node: Creating one-off styles529574
Node: Customizing tables in ODT export531752
Ref: Customizing tables in ODT export-Footnote-1536764
Ref: Customizing tables in ODT export-Footnote-2536868
Ref: Customizing tables in ODT export-Footnote-3536960
Node: Validating OpenDocument XML537307
Node: Org export538231
Node: Texinfo export538987
Node: Texinfo export commands540007
Node: Texinfo specific export settings540622
Node: Texinfo file header541753
Node: Texinfo title and copyright page542717
Node: Info directory file544079
Node: Headings and sectioning structure544796
Node: Indices546818
Node: Quoting Texinfo code547854
Node: Plain lists in Texinfo export548343
Node: Tables in Texinfo export549698
Node: Images in Texinfo export550189
Node: Special blocks in Texinfo export550826
Node: A Texinfo example551420
Node: iCalendar export553527
Node: Other built-in back-ends557247
Node: Advanced configuration557863
Node: Export in foreign buffers564677
Node: Publishing565745
Node: Configuration566615
Node: Project alist567378
Node: Sources and destinations568535
Node: Selecting files570105
Node: Publishing action571207
Ref: Publishing action-Footnote-1573096
Node: Publishing options573263
Node: Publishing links587797
Node: Sitemap589185
Node: Generating an index593321
Node: Uploading files594131
Node: Sample configuration595939
Node: Simple example596428
Node: Complex example597139
Node: Triggering publication599197
Node: Working with source code600204
Node: Structure of code blocks604754
Node: Editing source code607293
Node: Exporting code blocks610146
Node: Extracting source code612478
Node: Evaluating code blocks614985
Ref: Evaluating code blocks-Footnote-1618221
Ref: Evaluating code blocks-Footnote-2618355
Node: Library of Babel618546
Node: Languages619239
Node: Header arguments621688
Node: Using header arguments622045
Node: System-wide header arguments622852
Node: Language-specific header arguments623563
Node: Header arguments in Org mode properties624093
Node: Language-specific mode properties625594
Node: Code block specific header arguments626426
Node: Arguments in function calls628129
Node: Specific header arguments628913
Node: var631607
Node: results638359
Node: file642486
Node: file-desc643187
Node: file-ext643601
Node: output-dir644036
Node: dir644454
Node: exports646677
Node: tangle647602
Node: mkdirp648496
Node: comments648826
Node: padline649845
Node: no-expand650263
Node: session650997
Node: noweb652119
Node: noweb-ref654802
Node: noweb-sep655922
Node: cache656234
Node: sep658913
Node: hlines659324
Node: colnames660846
Node: rownames662296
Node: shebang663523
Node: tangle-mode664019
Node: eval664845
Node: wrap665882
Node: post666209
Node: prologue667992
Node: epilogue668512
Node: Results of evaluation668778
Node: Noweb reference syntax672627
Node: Key bindings and useful functions674958
Node: Batch execution677293
Node: Miscellaneous678071
Node: Completion678918
Node: Easy templates681031
Node: Speed keys682409
Node: Code evaluation security683599
Node: Customization686448
Node: In-buffer settings686884
Node: The very busy C-c C-c key696540
Node: Clean view698543
Ref: Clean view-Footnote-1702032
Ref: Clean view-Footnote-2702271
Ref: Clean view-Footnote-3702330
Node: TTY keys702410
Node: Interaction704107
Node: Cooperation704506
Node: Conflicts707300
Node: org-crypt711927
Node: Hacking713187
Node: Hooks714175
Node: Add-on packages714494
Node: Adding hyperlink types715028
Node: Adding export back-ends718487
Node: Context-sensitive commands719739
Node: Tables in arbitrary syntax720432
Node: Radio tables722107
Node: A LaTeX example724235
Ref: A LaTeX example-Footnote-1728049
Ref: A LaTeX example-Footnote-2728219
Node: Translator functions728670
Node: Radio lists730858
Node: Dynamic blocks732052
Node: Special agenda views734143
Ref: x-agenda-skip-entry-regexp737048
Ref: Special agenda views-Footnote-1737828
Ref: Special agenda views-Footnote-2738035
Node: Speeding up your agendas738167
Node: Extracting agenda information739212
Node: Using the property API743070
Node: Using the mapping API746512
Node: MobileOrg750565
Node: Setting up the staging area752139
Ref: Setting up the staging area-Footnote-1753353
Ref: Setting up the staging area-Footnote-2753526
Node: Pushing to MobileOrg753734
Ref: Pushing to MobileOrg-Footnote-1754641
Ref: Pushing to MobileOrg-Footnote-2754731
Ref: Pushing to MobileOrg-Footnote-3755097
Node: Pulling from MobileOrg755173
Ref: Pulling from MobileOrg-Footnote-1757230
Node: History and acknowledgments757294
Node: GNU Free Documentation License772747
Node: Main Index798127
Node: Key Index896893
Node: Command and Function Index950348
Node: Variable Index987240
End Tag Table
Local Variables:
coding: utf-8
End: |
New file |
| | |
| | | ;;; org-archive.el --- Archiving for Org -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2004-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: Carsten Dominik <carsten at orgmode dot org> |
| | | ;; Keywords: outlines, hypermedia, calendar, wp |
| | | ;; Homepage: https://orgmode.org |
| | | ;; |
| | | ;; This file is part of GNU Emacs. |
| | | ;; |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| | | ;; |
| | | ;;; Commentary: |
| | | |
| | | ;; This file contains the face definitions for Org. |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'org) |
| | | |
| | | (declare-function org-element-type "org-element" (element)) |
| | | (declare-function org-datetree-find-date-create "org-datetree" (date &optional keep-restriction)) |
| | | (declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ()) |
| | | |
| | | (defcustom org-archive-default-command 'org-archive-subtree |
| | | "The default archiving command." |
| | | :group 'org-archive |
| | | :type '(choice |
| | | (const org-archive-subtree) |
| | | (const org-archive-to-archive-sibling) |
| | | (const org-archive-set-tag))) |
| | | |
| | | (defcustom org-archive-reversed-order nil |
| | | "Non-nil means make the tree first child under the archive heading, not last." |
| | | :group 'org-archive |
| | | :version "24.1" |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-archive-sibling-heading "Archive" |
| | | "Name of the local archive sibling that is used to archive entries locally. |
| | | Locally means: in the tree, under a sibling. |
| | | See `org-archive-to-archive-sibling' for more information." |
| | | :group 'org-archive |
| | | :type 'string) |
| | | |
| | | (defcustom org-archive-mark-done nil |
| | | "Non-nil means mark entries as DONE when they are moved to the archive file. |
| | | This can be a string to set the keyword to use. When non-nil, Org will |
| | | use the first keyword in its list that means done." |
| | | :group 'org-archive |
| | | :type '(choice |
| | | (const :tag "No" nil) |
| | | (const :tag "Yes" t) |
| | | (string :tag "Use this keyword"))) |
| | | |
| | | (defcustom org-archive-stamp-time t |
| | | "Non-nil means add a time stamp to entries moved to an archive file. |
| | | This variable is obsolete and has no effect anymore, instead add or remove |
| | | `time' from the variable `org-archive-save-context-info'." |
| | | :group 'org-archive |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-archive-file-header-format "\nArchived entries from file %s\n\n" |
| | | "The header format string for newly created archive files. |
| | | When nil, no header will be inserted. |
| | | When a string, a %s formatter will be replaced by the file name." |
| | | :group 'org-archive |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type 'string) |
| | | |
| | | (defcustom org-archive-subtree-add-inherited-tags 'infile |
| | | "Non-nil means append inherited tags when archiving a subtree." |
| | | :group 'org-archive |
| | | :version "24.1" |
| | | :type '(choice |
| | | (const :tag "Never" nil) |
| | | (const :tag "When archiving a subtree to the same file" infile) |
| | | (const :tag "Always" t))) |
| | | |
| | | (defcustom org-archive-save-context-info '(time file olpath category todo itags) |
| | | "Parts of context info that should be stored as properties when archiving. |
| | | When a subtree is moved to an archive file, it loses information given by |
| | | context, like inherited tags, the category, and possibly also the TODO |
| | | state (depending on the variable `org-archive-mark-done'). |
| | | This variable can be a list of any of the following symbols: |
| | | |
| | | time The time of archiving. |
| | | file The file where the entry originates. |
| | | ltags The local tags, in the headline of the subtree. |
| | | itags The tags the subtree inherits from further up the hierarchy. |
| | | todo The pre-archive TODO state. |
| | | category The category, taken from file name or #+CATEGORY lines. |
| | | olpath The outline path to the item. These are all headlines above |
| | | the current item, separated by /, like a file path. |
| | | |
| | | For each symbol present in the list, a property will be created in |
| | | the archived entry, with a prefix \"ARCHIVE_\", to remember this |
| | | information." |
| | | :group 'org-archive |
| | | :type '(set :greedy t |
| | | (const :tag "Time" time) |
| | | (const :tag "File" file) |
| | | (const :tag "Category" category) |
| | | (const :tag "TODO state" todo) |
| | | (const :tag "Priority" priority) |
| | | (const :tag "Inherited tags" itags) |
| | | (const :tag "Outline path" olpath) |
| | | (const :tag "Local tags" ltags))) |
| | | |
| | | (defvar org-archive-hook nil |
| | | "Hook run after successfully archiving a subtree. |
| | | Hook functions are called with point on the subtree in the |
| | | original file. At this stage, the subtree has been added to the |
| | | archive location, but not yet deleted from the original file.") |
| | | |
| | | (defun org-get-local-archive-location () |
| | | "Get the archive location applicable at point." |
| | | (let ((re "^[ \t]*#\\+ARCHIVE:[ \t]+\\(\\S-.*\\S-\\)[ \t]*$") |
| | | prop) |
| | | (save-excursion |
| | | (save-restriction |
| | | (widen) |
| | | (setq prop (org-entry-get nil "ARCHIVE" 'inherit)) |
| | | (cond |
| | | ((and prop (string-match "\\S-" prop)) |
| | | prop) |
| | | ((or (re-search-backward re nil t) |
| | | (re-search-forward re nil t)) |
| | | (match-string 1)) |
| | | (t org-archive-location)))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-add-archive-files (files) |
| | | "Splice the archive files into the list of files. |
| | | This implies visiting all these files and finding out what the |
| | | archive file is." |
| | | (org-uniquify |
| | | (apply |
| | | 'append |
| | | (mapcar |
| | | (lambda (f) |
| | | (if (not (file-exists-p f)) |
| | | nil |
| | | (with-current-buffer (org-get-agenda-file-buffer f) |
| | | (cons f (org-all-archive-files))))) |
| | | files)))) |
| | | |
| | | (defun org-all-archive-files () |
| | | "Get a list of all archive files used in the current buffer." |
| | | (let ((case-fold-search t) |
| | | files) |
| | | (org-with-wide-buffer |
| | | (goto-char (point-min)) |
| | | (while (re-search-forward |
| | | "^[ \t]*\\(#\\+\\|:\\)ARCHIVE:[ \t]+\\(.*\\)" |
| | | nil t) |
| | | (when (save-match-data |
| | | (if (eq (match-string 1) ":") (org-at-property-p) |
| | | (eq (org-element-type (org-element-at-point)) 'keyword))) |
| | | (let ((file (org-extract-archive-file |
| | | (match-string-no-properties 2)))) |
| | | (when (and (org-string-nw-p file) (file-exists-p file)) |
| | | (push file files)))))) |
| | | (setq files (nreverse files)) |
| | | (let ((file (org-extract-archive-file))) |
| | | (when (and (org-string-nw-p file) (file-exists-p file)) |
| | | (push file files))) |
| | | files)) |
| | | |
| | | (defun org-extract-archive-file (&optional location) |
| | | "Extract and expand the file name from archive LOCATION. |
| | | if LOCATION is not given, the value of `org-archive-location' is used." |
| | | (setq location (or location org-archive-location)) |
| | | (if (string-match "\\(.*\\)::\\(.*\\)" location) |
| | | (if (= (match-beginning 1) (match-end 1)) |
| | | (buffer-file-name (buffer-base-buffer)) |
| | | (expand-file-name |
| | | (format (match-string 1 location) |
| | | (file-name-nondirectory |
| | | (buffer-file-name (buffer-base-buffer)))))))) |
| | | |
| | | (defun org-extract-archive-heading (&optional location) |
| | | "Extract the heading from archive LOCATION. |
| | | if LOCATION is not given, the value of `org-archive-location' is used." |
| | | (setq location (or location org-archive-location)) |
| | | (if (string-match "\\(.*\\)::\\(.*\\)" location) |
| | | (format (match-string 2 location) |
| | | (file-name-nondirectory |
| | | (buffer-file-name (buffer-base-buffer)))))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-archive-subtree (&optional find-done) |
| | | "Move the current subtree to the archive. |
| | | The archive can be a certain top-level heading in the current |
| | | file, or in a different file. The tree will be moved to that |
| | | location, the subtree heading be marked DONE, and the current |
| | | time will be added. |
| | | |
| | | When called with a single prefix argument FIND-DONE, find whole |
| | | trees without any open TODO items and archive them (after getting |
| | | confirmation from the user). When called with a double prefix |
| | | argument, find whole trees with timestamps before today and |
| | | archive them (after getting confirmation from the user). If the |
| | | cursor is not at a headline when these commands are called, try |
| | | all level 1 trees. If the cursor is on a headline, only try the |
| | | direct children of this heading." |
| | | (interactive "P") |
| | | (if (and (org-region-active-p) org-loop-over-headlines-in-active-region) |
| | | (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level) |
| | | 'region-start-level 'region)) |
| | | org-loop-over-headlines-in-active-region) |
| | | (org-map-entries |
| | | `(progn (setq org-map-continue-from (progn (org-back-to-heading) (point))) |
| | | (org-archive-subtree ,find-done)) |
| | | org-loop-over-headlines-in-active-region |
| | | cl (if (org-invisible-p) (org-end-of-subtree nil t)))) |
| | | (cond |
| | | ((equal find-done '(4)) (org-archive-all-done)) |
| | | ((equal find-done '(16)) (org-archive-all-old)) |
| | | (t |
| | | ;; Save all relevant TODO keyword-relatex variables |
| | | (let* ((tr-org-todo-keywords-1 org-todo-keywords-1) |
| | | (tr-org-todo-kwd-alist org-todo-kwd-alist) |
| | | (tr-org-done-keywords org-done-keywords) |
| | | (tr-org-todo-regexp org-todo-regexp) |
| | | (tr-org-todo-line-regexp org-todo-line-regexp) |
| | | (tr-org-odd-levels-only org-odd-levels-only) |
| | | (this-buffer (current-buffer)) |
| | | (time (format-time-string |
| | | (substring (cdr org-time-stamp-formats) 1 -1))) |
| | | (file (abbreviate-file-name |
| | | (or (buffer-file-name (buffer-base-buffer)) |
| | | (error "No file associated to buffer")))) |
| | | (location (org-get-local-archive-location)) |
| | | (afile (or (org-extract-archive-file location) |
| | | (error "Invalid `org-archive-location'"))) |
| | | (heading (org-extract-archive-heading location)) |
| | | (infile-p (equal file (abbreviate-file-name (or afile "")))) |
| | | (newfile-p (and (org-string-nw-p afile) |
| | | (not (file-exists-p afile)))) |
| | | (buffer (cond ((not (org-string-nw-p afile)) this-buffer) |
| | | ((find-buffer-visiting afile)) |
| | | ((find-file-noselect afile)) |
| | | (t (error "Cannot access file \"%s\"" afile)))) |
| | | level datetree-date datetree-subheading-p) |
| | | (when (string-match "\\`datetree/" heading) |
| | | ;; Replace with ***, to represent the 3 levels of headings the |
| | | ;; datetree has. |
| | | (setq heading (replace-regexp-in-string "\\`datetree/" "***" heading)) |
| | | (setq datetree-subheading-p (> (length heading) 3)) |
| | | (setq datetree-date (org-date-to-gregorian |
| | | (or (org-entry-get nil "CLOSED" t) time)))) |
| | | (if (and (> (length heading) 0) |
| | | (string-match "^\\*+" heading)) |
| | | (setq level (match-end 0)) |
| | | (setq heading nil level 0)) |
| | | (save-excursion |
| | | (org-back-to-heading t) |
| | | ;; Get context information that will be lost by moving the |
| | | ;; tree. See `org-archive-save-context-info'. |
| | | (let* ((all-tags (org-get-tags-at)) |
| | | (local-tags (org-get-tags)) |
| | | (inherited-tags (org-delete-all local-tags all-tags)) |
| | | (context |
| | | `((category . ,(org-get-category nil 'force-refresh)) |
| | | (file . ,file) |
| | | (itags . ,(mapconcat #'identity inherited-tags " ")) |
| | | (ltags . ,(mapconcat #'identity local-tags " ")) |
| | | (olpath . ,(mapconcat #'identity |
| | | (org-get-outline-path) |
| | | "/")) |
| | | (time . ,time) |
| | | (todo . ,(org-entry-get (point) "TODO"))))) |
| | | ;; We first only copy, in case something goes wrong |
| | | ;; we need to protect `this-command', to avoid kill-region sets it, |
| | | ;; which would lead to duplication of subtrees |
| | | (let (this-command) (org-copy-subtree 1 nil t)) |
| | | (set-buffer buffer) |
| | | ;; Enforce Org mode for the archive buffer |
| | | (if (not (derived-mode-p 'org-mode)) |
| | | ;; Force the mode for future visits. |
| | | (let ((org-insert-mode-line-in-empty-file t) |
| | | (org-inhibit-startup t)) |
| | | (call-interactively 'org-mode))) |
| | | (when (and newfile-p org-archive-file-header-format) |
| | | (goto-char (point-max)) |
| | | (insert (format org-archive-file-header-format |
| | | (buffer-file-name this-buffer)))) |
| | | (when datetree-date |
| | | (require 'org-datetree) |
| | | (org-datetree-find-date-create datetree-date) |
| | | (org-narrow-to-subtree)) |
| | | ;; Force the TODO keywords of the original buffer |
| | | (let ((org-todo-line-regexp tr-org-todo-line-regexp) |
| | | (org-todo-keywords-1 tr-org-todo-keywords-1) |
| | | (org-todo-kwd-alist tr-org-todo-kwd-alist) |
| | | (org-done-keywords tr-org-done-keywords) |
| | | (org-todo-regexp tr-org-todo-regexp) |
| | | (org-todo-line-regexp tr-org-todo-line-regexp) |
| | | (org-odd-levels-only |
| | | (if (local-variable-p 'org-odd-levels-only (current-buffer)) |
| | | org-odd-levels-only |
| | | tr-org-odd-levels-only))) |
| | | (goto-char (point-min)) |
| | | (outline-show-all) |
| | | (if (and heading (not (and datetree-date (not datetree-subheading-p)))) |
| | | (progn |
| | | (if (re-search-forward |
| | | (concat "^" (regexp-quote heading) |
| | | "[ \t]*\\(:[[:alnum:]_@#%:]+:\\)?[ \t]*\\($\\|\r\\)") |
| | | nil t) |
| | | (goto-char (match-end 0)) |
| | | ;; Heading not found, just insert it at the end |
| | | (goto-char (point-max)) |
| | | (or (bolp) (insert "\n")) |
| | | ;; datetrees don't need too much spacing |
| | | (insert (if datetree-date "" "\n") heading "\n") |
| | | (end-of-line 0)) |
| | | ;; Make the subtree visible |
| | | (outline-show-subtree) |
| | | (if org-archive-reversed-order |
| | | (progn |
| | | (org-back-to-heading t) |
| | | (outline-next-heading)) |
| | | (org-end-of-subtree t)) |
| | | (skip-chars-backward " \t\r\n") |
| | | (and (looking-at "[ \t\r\n]*") |
| | | ;; datetree archives don't need so much spacing. |
| | | (replace-match (if datetree-date "\n" "\n\n")))) |
| | | ;; No specific heading, just go to end of file, or to the |
| | | ;; beginning, depending on `org-archive-reversed-order'. |
| | | (if org-archive-reversed-order |
| | | (progn |
| | | (goto-char (point-min)) |
| | | (unless (org-at-heading-p) (outline-next-heading)) |
| | | (insert "\n") (backward-char 1)) |
| | | (goto-char (point-max)) |
| | | ;; Subtree narrowing can let the buffer end on |
| | | ;; a headline. `org-paste-subtree' then deletes it. |
| | | ;; To prevent this, make sure visible part of buffer |
| | | ;; always terminates on a new line, while limiting |
| | | ;; number of blank lines in a date tree. |
| | | (unless (and datetree-date (bolp)) (insert "\n")))) |
| | | ;; Paste |
| | | (org-paste-subtree (org-get-valid-level level (and heading 1))) |
| | | ;; Shall we append inherited tags? |
| | | (and inherited-tags |
| | | (or (and (eq org-archive-subtree-add-inherited-tags 'infile) |
| | | infile-p) |
| | | (eq org-archive-subtree-add-inherited-tags t)) |
| | | (org-set-tags-to all-tags)) |
| | | ;; Mark the entry as done |
| | | (when (and org-archive-mark-done |
| | | (let ((case-fold-search nil)) |
| | | (looking-at org-todo-line-regexp)) |
| | | (or (not (match-end 2)) |
| | | (not (member (match-string 2) org-done-keywords)))) |
| | | (let (org-log-done org-todo-log-states) |
| | | (org-todo |
| | | (car (or (member org-archive-mark-done org-done-keywords) |
| | | org-done-keywords))))) |
| | | |
| | | ;; Add the context info. |
| | | (dolist (item org-archive-save-context-info) |
| | | (let ((value (cdr (assq item context)))) |
| | | (when (org-string-nw-p value) |
| | | (org-entry-put |
| | | (point) |
| | | (concat "ARCHIVE_" (upcase (symbol-name item))) |
| | | value)))) |
| | | (widen)))) |
| | | ;; Here we are back in the original buffer. Everything seems |
| | | ;; to have worked. So now run hooks, cut the tree and finish |
| | | ;; up. |
| | | (run-hooks 'org-archive-hook) |
| | | (let (this-command) (org-cut-subtree)) |
| | | (when (featurep 'org-inlinetask) |
| | | (org-inlinetask-remove-END-maybe)) |
| | | (setq org-markers-to-move nil) |
| | | (message "Subtree archived %s" |
| | | (if (eq this-buffer buffer) |
| | | (concat "under heading: " heading) |
| | | (concat "in file: " (abbreviate-file-name afile))))))) |
| | | (org-reveal) |
| | | (if (looking-at "^[ \t]*$") |
| | | (outline-next-visible-heading 1)))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-archive-to-archive-sibling () |
| | | "Archive the current heading by moving it under the archive sibling. |
| | | |
| | | The archive sibling is a sibling of the heading with the heading name |
| | | `org-archive-sibling-heading' and an `org-archive-tag' tag. If this |
| | | sibling does not exist, it will be created at the end of the subtree. |
| | | |
| | | Archiving time is retained in the ARCHIVE_TIME node property." |
| | | (interactive) |
| | | (if (and (org-region-active-p) org-loop-over-headlines-in-active-region) |
| | | (let ((cl (when (eq org-loop-over-headlines-in-active-region 'start-level) |
| | | 'region-start-level 'region)) |
| | | org-loop-over-headlines-in-active-region) |
| | | (org-map-entries |
| | | '(progn (setq org-map-continue-from |
| | | (progn (org-back-to-heading) |
| | | (if (looking-at (concat "^.*:" org-archive-tag ":.*$")) |
| | | (org-end-of-subtree t) |
| | | (point)))) |
| | | (when (org-at-heading-p) |
| | | (org-archive-to-archive-sibling))) |
| | | org-loop-over-headlines-in-active-region |
| | | cl (if (org-invisible-p) (org-end-of-subtree nil t)))) |
| | | (save-restriction |
| | | (widen) |
| | | (let (b e pos leader level) |
| | | (org-back-to-heading t) |
| | | (looking-at org-outline-regexp) |
| | | (setq leader (match-string 0) |
| | | level (funcall outline-level)) |
| | | (setq pos (point-marker)) |
| | | (condition-case nil |
| | | (outline-up-heading 1 t) |
| | | (error (setq e (point-max)) (goto-char (point-min)))) |
| | | (setq b (point)) |
| | | (unless e |
| | | (condition-case nil |
| | | (org-end-of-subtree t t) |
| | | (error (goto-char (point-max)))) |
| | | (setq e (point))) |
| | | (goto-char b) |
| | | (unless (re-search-forward |
| | | (concat "^" (regexp-quote leader) |
| | | "[ \t]*" |
| | | org-archive-sibling-heading |
| | | "[ \t]*:" |
| | | org-archive-tag ":") e t) |
| | | (goto-char e) |
| | | (or (bolp) (newline)) |
| | | (insert leader org-archive-sibling-heading "\n") |
| | | (beginning-of-line 0) |
| | | (org-toggle-tag org-archive-tag 'on)) |
| | | (beginning-of-line 1) |
| | | (if org-archive-reversed-order |
| | | (outline-next-heading) |
| | | (org-end-of-subtree t t)) |
| | | (save-excursion |
| | | (goto-char pos) |
| | | (let ((this-command this-command)) (org-cut-subtree))) |
| | | (org-paste-subtree (org-get-valid-level level 1)) |
| | | (org-set-property |
| | | "ARCHIVE_TIME" |
| | | (format-time-string |
| | | (substring (cdr org-time-stamp-formats) 1 -1))) |
| | | (outline-up-heading 1 t) |
| | | (outline-hide-subtree) |
| | | (org-cycle-show-empty-lines 'folded) |
| | | (goto-char pos))) |
| | | (org-reveal) |
| | | (if (looking-at "^[ \t]*$") |
| | | (outline-next-visible-heading 1)))) |
| | | |
| | | (defun org-archive-all-done (&optional tag) |
| | | "Archive sublevels of the current tree without open TODO items. |
| | | If the cursor is not on a headline, try all level 1 trees. If |
| | | it is on a headline, try all direct children. |
| | | When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag." |
| | | (org-archive-all-matches |
| | | (lambda (_beg end) |
| | | (let ((case-fold-search nil)) |
| | | (unless (re-search-forward org-not-done-heading-regexp end t) |
| | | "no open TODO items"))) |
| | | tag)) |
| | | |
| | | (defun org-archive-all-old (&optional tag) |
| | | "Archive sublevels of the current tree with timestamps prior to today. |
| | | If the cursor is not on a headline, try all level 1 trees. If |
| | | it is on a headline, try all direct children. |
| | | When TAG is non-nil, don't move trees, but mark them with the ARCHIVE tag." |
| | | (org-archive-all-matches |
| | | (lambda (_beg end) |
| | | (let (ts) |
| | | (and (re-search-forward org-ts-regexp end t) |
| | | (setq ts (match-string 0)) |
| | | (< (org-time-stamp-to-now ts) 0) |
| | | (if (not (looking-at |
| | | (concat "--\\(" org-ts-regexp "\\)"))) |
| | | (concat "old timestamp " ts) |
| | | (setq ts (concat "old timestamp " ts (match-string 0))) |
| | | (and (< (org-time-stamp-to-now (match-string 1)) 0) |
| | | ts))))) |
| | | tag)) |
| | | |
| | | (defun org-archive-all-matches (predicate &optional tag) |
| | | "Archive sublevels of the current tree that match PREDICATE. |
| | | |
| | | PREDICATE is a function of two arguments, BEG and END, which |
| | | specify the beginning and end of the headline being considered. |
| | | It is called with point positioned at BEG. The headline will be |
| | | archived if PREDICATE returns non-nil. If the return value of |
| | | PREDICATE is a string, it should describe the reason for |
| | | archiving the heading. |
| | | |
| | | If the cursor is not on a headline, try all level 1 trees. If it |
| | | is on a headline, try all direct children. When TAG is non-nil, |
| | | don't move trees, but mark them with the ARCHIVE tag." |
| | | (let ((rea (concat ".*:" org-archive-tag ":")) re1 |
| | | (begm (make-marker)) |
| | | (endm (make-marker)) |
| | | (question (if tag "Set ARCHIVE tag? " |
| | | "Move subtree to archive? ")) |
| | | reason beg end (cntarch 0)) |
| | | (if (org-at-heading-p) |
| | | (progn |
| | | (setq re1 (concat "^" (regexp-quote |
| | | (make-string |
| | | (+ (- (match-end 0) (match-beginning 0) 1) |
| | | (if org-odd-levels-only 2 1)) |
| | | ?*)) |
| | | " ")) |
| | | (move-marker begm (point)) |
| | | (move-marker endm (org-end-of-subtree t))) |
| | | (setq re1 "^* ") |
| | | (move-marker begm (point-min)) |
| | | (move-marker endm (point-max))) |
| | | (save-excursion |
| | | (goto-char begm) |
| | | (while (re-search-forward re1 endm t) |
| | | (setq beg (match-beginning 0) |
| | | end (save-excursion (org-end-of-subtree t) (point))) |
| | | (goto-char beg) |
| | | (if (not (setq reason (funcall predicate beg end))) |
| | | (goto-char end) |
| | | (goto-char beg) |
| | | (if (and (or (not tag) (not (looking-at rea))) |
| | | (y-or-n-p |
| | | (if (stringp reason) |
| | | (concat question "(" reason ")") |
| | | question))) |
| | | (progn |
| | | (if tag |
| | | (org-toggle-tag org-archive-tag 'on) |
| | | (org-archive-subtree)) |
| | | (setq cntarch (1+ cntarch))) |
| | | (goto-char end))))) |
| | | (message "%d trees archived" cntarch))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-toggle-archive-tag (&optional find-done) |
| | | "Toggle the archive tag for the current headline. |
| | | With prefix ARG, check all children of current headline and offer tagging |
| | | the children that do not contain any open TODO items." |
| | | (interactive "P") |
| | | (if (and (org-region-active-p) org-loop-over-headlines-in-active-region) |
| | | (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level) |
| | | 'region-start-level 'region)) |
| | | org-loop-over-headlines-in-active-region) |
| | | (org-map-entries |
| | | `(org-toggle-archive-tag ,find-done) |
| | | org-loop-over-headlines-in-active-region |
| | | cl (if (org-invisible-p) (org-end-of-subtree nil t)))) |
| | | (if find-done |
| | | (org-archive-all-done 'tag) |
| | | (let (set) |
| | | (save-excursion |
| | | (org-back-to-heading t) |
| | | (setq set (org-toggle-tag org-archive-tag)) |
| | | (when set (org-flag-subtree t))) |
| | | (and set (beginning-of-line 1)) |
| | | (message "Subtree %s" (if set "archived" "unarchived")))))) |
| | | |
| | | (defun org-archive-set-tag () |
| | | "Set the ARCHIVE tag." |
| | | (interactive) |
| | | (if (and (org-region-active-p) org-loop-over-headlines-in-active-region) |
| | | (let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level) |
| | | 'region-start-level 'region)) |
| | | org-loop-over-headlines-in-active-region) |
| | | (org-map-entries |
| | | 'org-archive-set-tag |
| | | org-loop-over-headlines-in-active-region |
| | | cl (if (org-invisible-p) (org-end-of-subtree nil t)))) |
| | | (org-toggle-tag org-archive-tag 'on))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-archive-subtree-default () |
| | | "Archive the current subtree with the default command. |
| | | This command is set with the variable `org-archive-default-command'." |
| | | (interactive) |
| | | (call-interactively org-archive-default-command)) |
| | | |
| | | ;;;###autoload |
| | | (defun org-archive-subtree-default-with-confirmation () |
| | | "Archive the current subtree with the default command. |
| | | This command is set with the variable `org-archive-default-command'." |
| | | (interactive) |
| | | (if (y-or-n-p "Archive this subtree or entry? ") |
| | | (call-interactively org-archive-default-command) |
| | | (error "Abort"))) |
| | | |
| | | (provide 'org-archive) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; org-archive.el ends here |
New file |
| | |
| | | ;;; org-attach.el --- Manage file attachments to Org tasks -*- lexical-binding: t; -*- |
| | | |
| | | ;; Copyright (C) 2008-2018 Free Software Foundation, Inc. |
| | | |
| | | ;; Author: John Wiegley <johnw@newartisans.com> |
| | | ;; Keywords: org data task |
| | | |
| | | ;; This file is part of GNU Emacs. |
| | | ;; |
| | | ;; GNU Emacs 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. |
| | | |
| | | ;; GNU Emacs 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. If not, see <https://www.gnu.org/licenses/>. |
| | | |
| | | ;;; Commentary: |
| | | |
| | | ;; See the Org manual for information on how to use it. |
| | | ;; |
| | | ;; Attachments are managed in a special directory called "data", which |
| | | ;; lives in the same directory as the org file itself. If this data |
| | | ;; directory is initialized as a Git repository, then org-attach will |
| | | ;; automatically commit changes when it sees them. |
| | | ;; |
| | | ;; Attachment directories are identified using a UUID generated for the |
| | | ;; task which has the attachments. These are added as property to the |
| | | ;; task when necessary, and should not be deleted or changed by the |
| | | ;; user, ever. UUIDs are generated by a mechanism defined in the variable |
| | | ;; `org-id-method'. |
| | | |
| | | ;;; Code: |
| | | |
| | | (require 'cl-lib) |
| | | (require 'org) |
| | | (require 'org-id) |
| | | (require 'vc-git) |
| | | |
| | | (declare-function dired-dwim-target-directory "dired-aux") |
| | | |
| | | (defgroup org-attach nil |
| | | "Options concerning entry attachments in Org mode." |
| | | :tag "Org Attach" |
| | | :group 'org) |
| | | |
| | | (defcustom org-attach-directory "data/" |
| | | "The directory where attachments are stored. |
| | | If this is a relative path, it will be interpreted relative to the directory |
| | | where the Org file lives." |
| | | :group 'org-attach |
| | | :type 'directory) |
| | | |
| | | (defcustom org-attach-commit t |
| | | "If non-nil commit attachments with git. |
| | | This is only done if the Org file is in a git repository." |
| | | :group 'org-attach |
| | | :type 'boolean |
| | | :version "26.1" |
| | | :package-version '(Org . "9.0")) |
| | | |
| | | (defcustom org-attach-git-annex-cutoff (* 32 1024) |
| | | "If non-nil, files larger than this will be annexed instead of stored." |
| | | :group 'org-attach |
| | | :version "24.4" |
| | | :package-version '(Org . "8.0") |
| | | :type '(choice |
| | | (const :tag "None" nil) |
| | | (integer :tag "Bytes"))) |
| | | |
| | | (defcustom org-attach-auto-tag "ATTACH" |
| | | "Tag that will be triggered automatically when an entry has an attachment." |
| | | :group 'org-attach |
| | | :type '(choice |
| | | (const :tag "None" nil) |
| | | (string :tag "Tag"))) |
| | | |
| | | (defcustom org-attach-file-list-property "Attachments" |
| | | "The property used to keep a list of attachment belonging to this entry. |
| | | This is not really needed, so you may set this to nil if you don't want it. |
| | | Also, for entries where children inherit the directory, the list of |
| | | attachments is not kept in this property." |
| | | :group 'org-attach |
| | | :type '(choice |
| | | (const :tag "None" nil) |
| | | (string :tag "Tag"))) |
| | | |
| | | (defcustom org-attach-method 'cp |
| | | "The preferred method to attach a file. |
| | | Allowed values are: |
| | | |
| | | mv rename the file to move it into the attachment directory |
| | | cp copy the file |
| | | ln create a hard link. Note that this is not supported |
| | | on all systems, and then the result is not defined. |
| | | lns create a symbol link. Note that this is not supported |
| | | on all systems, and then the result is not defined." |
| | | :group 'org-attach |
| | | :type '(choice |
| | | (const :tag "Copy" cp) |
| | | (const :tag "Move/Rename" mv) |
| | | (const :tag "Hard Link" ln) |
| | | (const :tag "Symbol Link" lns))) |
| | | |
| | | (defcustom org-attach-expert nil |
| | | "Non-nil means do not show the splash buffer with the attach dispatcher." |
| | | :group 'org-attach |
| | | :type 'boolean) |
| | | |
| | | (defcustom org-attach-allow-inheritance t |
| | | "Non-nil means allow attachment directories be inherited." |
| | | :group 'org-attach |
| | | :type 'boolean) |
| | | |
| | | (defvar org-attach-inherited nil |
| | | "Indicates if the last access to the attachment directory was inherited.") |
| | | |
| | | (defcustom org-attach-store-link-p nil |
| | | "Non-nil means store a link to a file when attaching it." |
| | | :group 'org-attach |
| | | :version "24.1" |
| | | :type '(choice |
| | | (const :tag "Don't store link" nil) |
| | | (const :tag "Link to origin location" t) |
| | | (const :tag "Link to the attach-dir location" attached))) |
| | | |
| | | (defcustom org-attach-archive-delete nil |
| | | "Non-nil means attachments are deleted upon archiving a subtree. |
| | | When set to `query', ask the user instead." |
| | | :group 'org-attach |
| | | :version "26.1" |
| | | :package-version '(Org . "8.3") |
| | | :type '(choice |
| | | (const :tag "Never delete attachments" nil) |
| | | (const :tag "Always delete attachments" t) |
| | | (const :tag "Query the user" query))) |
| | | |
| | | (defcustom org-attach-annex-auto-get 'ask |
| | | "Confirmation preference for automatically getting annex files. |
| | | If \\='ask, prompt using `y-or-n-p'. If t, always get. If nil, never get." |
| | | :group 'org-attach |
| | | :package-version '(Org . "9.0") |
| | | :version "26.1" |
| | | :type '(choice |
| | | (const :tag "confirm with `y-or-n-p'" ask) |
| | | (const :tag "always get from annex if necessary" t) |
| | | (const :tag "never get from annex" nil))) |
| | | |
| | | ;;;###autoload |
| | | (defun org-attach () |
| | | "The dispatcher for attachment commands. |
| | | Shows a list of commands and prompts for another key to execute a command." |
| | | (interactive) |
| | | (let (c marker) |
| | | (when (eq major-mode 'org-agenda-mode) |
| | | (setq marker (or (get-text-property (point) 'org-hd-marker) |
| | | (get-text-property (point) 'org-marker))) |
| | | (unless marker |
| | | (error "No task in current line"))) |
| | | (save-excursion |
| | | (when marker |
| | | (set-buffer (marker-buffer marker)) |
| | | (goto-char marker)) |
| | | (org-back-to-heading t) |
| | | (save-excursion |
| | | (save-window-excursion |
| | | (unless org-attach-expert |
| | | (with-output-to-temp-buffer "*Org Attach*" |
| | | (princ "Select an Attachment Command: |
| | | |
| | | a Select a file and attach it to the task, using `org-attach-method'. |
| | | c/m/l/y Attach a file using copy/move/link/symbolic-link method. |
| | | u Attach a file from URL (downloading it). |
| | | n Create a new attachment, as an Emacs buffer. |
| | | z Synchronize the current task with its attachment |
| | | directory, in case you added attachments yourself. |
| | | |
| | | o Open current task's attachments. |
| | | O Like \"o\", but force opening in Emacs. |
| | | f Open current task's attachment directory. |
| | | F Like \"f\", but force using dired in Emacs. |
| | | |
| | | d Delete one attachment, you will be prompted for a file name. |
| | | D Delete all of a task's attachments. A safer way is |
| | | to open the directory in dired and delete from there. |
| | | |
| | | s Set a specific attachment directory for this entry or reset to default. |
| | | i Make children of the current entry inherit its attachment directory."))) |
| | | (org-fit-window-to-buffer (get-buffer-window "*Org Attach*")) |
| | | (message "Select command: [acmlzoOfFdD]") |
| | | (setq c (read-char-exclusive)) |
| | | (and (get-buffer "*Org Attach*") (kill-buffer "*Org Attach*")))) |
| | | (cond |
| | | ((memq c '(?a ?\C-a)) (call-interactively 'org-attach-attach)) |
| | | ((memq c '(?c ?\C-c)) |
| | | (let ((org-attach-method 'cp)) (call-interactively 'org-attach-attach))) |
| | | ((memq c '(?m ?\C-m)) |
| | | (let ((org-attach-method 'mv)) (call-interactively 'org-attach-attach))) |
| | | ((memq c '(?l ?\C-l)) |
| | | (let ((org-attach-method 'ln)) (call-interactively 'org-attach-attach))) |
| | | ((memq c '(?y ?\C-y)) |
| | | (let ((org-attach-method 'lns)) (call-interactively 'org-attach-attach))) |
| | | ((memq c '(?u ?\C-u)) |
| | | (let ((org-attach-method 'url)) (call-interactively 'org-attach-url))) |
| | | ((memq c '(?n ?\C-n)) (call-interactively 'org-attach-new)) |
| | | ((memq c '(?z ?\C-z)) (call-interactively 'org-attach-sync)) |
| | | ((memq c '(?o ?\C-o)) (call-interactively 'org-attach-open)) |
| | | ((eq c ?O) (call-interactively 'org-attach-open-in-emacs)) |
| | | ((memq c '(?f ?\C-f)) (call-interactively 'org-attach-reveal)) |
| | | ((memq c '(?F)) (call-interactively 'org-attach-reveal-in-emacs)) |
| | | ((memq c '(?d ?\C-d)) (call-interactively |
| | | 'org-attach-delete-one)) |
| | | ((eq c ?D) (call-interactively 'org-attach-delete-all)) |
| | | ((eq c ?q) (message "Abort")) |
| | | ((memq c '(?s ?\C-s)) (call-interactively |
| | | 'org-attach-set-directory)) |
| | | ((memq c '(?i ?\C-i)) (call-interactively |
| | | 'org-attach-set-inherit)) |
| | | (t (error "No such attachment command %c" c)))))) |
| | | |
| | | (defun org-attach-dir (&optional create-if-not-exists-p) |
| | | "Return the directory associated with the current entry. |
| | | This first checks for a local property ATTACH_DIR, and then for an inherited |
| | | property ATTACH_DIR_INHERIT. If neither exists, the default mechanism |
| | | using the entry ID will be invoked to access the unique directory for the |
| | | current entry. |
| | | If the directory does not exist and CREATE-IF-NOT-EXISTS-P is non-nil, |
| | | the directory and (if necessary) the corresponding ID will be created." |
| | | (let (attach-dir uuid) |
| | | (setq org-attach-inherited (org-entry-get nil "ATTACH_DIR_INHERIT")) |
| | | (cond |
| | | ((setq attach-dir (org-entry-get nil "ATTACH_DIR")) |
| | | (org-attach-check-absolute-path attach-dir)) |
| | | ((and org-attach-allow-inheritance |
| | | (org-entry-get nil "ATTACH_DIR_INHERIT" t)) |
| | | (setq attach-dir |
| | | (org-with-wide-buffer |
| | | (if (marker-position org-entry-property-inherited-from) |
| | | (goto-char org-entry-property-inherited-from) |
| | | (org-back-to-heading t)) |
| | | (let (org-attach-allow-inheritance) |
| | | (org-attach-dir create-if-not-exists-p)))) |
| | | (org-attach-check-absolute-path attach-dir) |
| | | (setq org-attach-inherited t)) |
| | | (t ; use the ID |
| | | (org-attach-check-absolute-path nil) |
| | | (setq uuid (org-id-get (point) create-if-not-exists-p)) |
| | | (when (or uuid create-if-not-exists-p) |
| | | (unless uuid (error "ID retrieval/creation failed")) |
| | | (setq attach-dir (expand-file-name |
| | | (format "%s/%s" |
| | | (substring uuid 0 2) |
| | | (substring uuid 2)) |
| | | (expand-file-name org-attach-directory)))))) |
| | | (when attach-dir |
| | | (if (and create-if-not-exists-p |
| | | (not (file-directory-p attach-dir))) |
| | | (make-directory attach-dir t)) |
| | | (and (file-exists-p attach-dir) |
| | | attach-dir)))) |
| | | |
| | | (defun org-attach-check-absolute-path (dir) |
| | | "Check if we have enough information to root the attachment directory. |
| | | When DIR is given, check also if it is already absolute. Otherwise, |
| | | assume that it will be relative, and check if `org-attach-directory' is |
| | | absolute, or if at least the current buffer has a file name. |
| | | Throw an error if we cannot root the directory." |
| | | (or (and dir (file-name-absolute-p dir)) |
| | | (file-name-absolute-p org-attach-directory) |
| | | (buffer-file-name (buffer-base-buffer)) |
| | | (error "Need absolute `org-attach-directory' to attach in buffers without filename"))) |
| | | |
| | | (defun org-attach-set-directory (&optional arg) |
| | | "Set the ATTACH_DIR node property and ask to move files there. |
| | | The property defines the directory that is used for attachments |
| | | of the entry. When called with `\\[universal-argument]', reset \ |
| | | the directory to |
| | | the default ID based one." |
| | | (interactive "P") |
| | | (let ((old (org-attach-dir)) |
| | | (new |
| | | (progn |
| | | (if arg (org-entry-delete nil "ATTACH_DIR") |
| | | (let ((dir (read-directory-name |
| | | "Attachment directory: " |
| | | (org-entry-get nil |
| | | "ATTACH_DIR" |
| | | (and org-attach-allow-inheritance t))))) |
| | | (org-entry-put nil "ATTACH_DIR" dir))) |
| | | (org-attach-dir t)))) |
| | | (unless (or (string= old new) |
| | | (not old)) |
| | | (when (yes-or-no-p "Copy over attachments from old directory? ") |
| | | (copy-directory old new t nil t)) |
| | | (when (yes-or-no-p (concat "Delete " old)) |
| | | (delete-directory old t))))) |
| | | |
| | | (defun org-attach-set-inherit () |
| | | "Set the ATTACH_DIR_INHERIT property of the current entry. |
| | | The property defines the directory that is used for attachments |
| | | of the entry and any children that do not explicitly define (by setting |
| | | the ATTACH_DIR property) their own attachment directory." |
| | | (interactive) |
| | | (org-entry-put nil "ATTACH_DIR_INHERIT" "t") |
| | | (message "Children will inherit attachment directory")) |
| | | |
| | | (defun org-attach-use-annex () |
| | | "Return non-nil if git annex can be used." |
| | | (let ((git-dir (vc-git-root (expand-file-name org-attach-directory)))) |
| | | (and org-attach-git-annex-cutoff |
| | | (or (file-exists-p (expand-file-name "annex" git-dir)) |
| | | (file-exists-p (expand-file-name ".git/annex" git-dir)))))) |
| | | |
| | | (defun org-attach-annex-get-maybe (path) |
| | | "Call git annex get PATH (via shell) if using git annex. |
| | | Signals an error if the file content is not available and it was not retrieved." |
| | | (let* ((default-directory (expand-file-name org-attach-directory)) |
| | | (path-relative (file-relative-name path))) |
| | | (when (and (org-attach-use-annex) |
| | | (not |
| | | (string-equal |
| | | "found" |
| | | (shell-command-to-string |
| | | (format "git annex find --format=found --in=here %s" |
| | | (shell-quote-argument path-relative)))))) |
| | | (let ((should-get |
| | | (if (eq org-attach-annex-auto-get 'ask) |
| | | (y-or-n-p (format "Run git annex get %s? " path-relative)) |
| | | org-attach-annex-auto-get))) |
| | | (if should-get |
| | | (progn (message "Running git annex get \"%s\"." path-relative) |
| | | (call-process "git" nil nil nil "annex" "get" path-relative)) |
| | | (error "File %s stored in git annex but it is not available, and was not retrieved" |
| | | path)))))) |
| | | |
| | | (defun org-attach-commit () |
| | | "Commit changes to git if `org-attach-directory' is properly initialized. |
| | | This checks for the existence of a \".git\" directory in that directory." |
| | | (let* ((dir (expand-file-name org-attach-directory)) |
| | | (git-dir (vc-git-root dir)) |
| | | (use-annex (org-attach-use-annex)) |
| | | (changes 0)) |
| | | (when (and git-dir (executable-find "git")) |
| | | (with-temp-buffer |
| | | (cd dir) |
| | | (dolist (new-or-modified |
| | | (split-string |
| | | (shell-command-to-string |
| | | "git ls-files -zmo --exclude-standard") "\0" t)) |
| | | (if (and use-annex |
| | | (>= (nth 7 (file-attributes new-or-modified)) |
| | | org-attach-git-annex-cutoff)) |
| | | (call-process "git" nil nil nil "annex" "add" new-or-modified) |
| | | (call-process "git" nil nil nil "add" new-or-modified)) |
| | | (cl-incf changes)) |
| | | (dolist (deleted |
| | | (split-string |
| | | (shell-command-to-string "git ls-files -z --deleted") "\0" t)) |
| | | (call-process "git" nil nil nil "rm" deleted) |
| | | (cl-incf changes)) |
| | | (when (> changes 0) |
| | | (shell-command "git commit -m 'Synchronized attachments'")))))) |
| | | |
| | | (defun org-attach-tag (&optional off) |
| | | "Turn the autotag on or (if OFF is set) off." |
| | | (when org-attach-auto-tag |
| | | (save-excursion |
| | | (org-back-to-heading t) |
| | | (org-toggle-tag org-attach-auto-tag (if off 'off 'on))))) |
| | | |
| | | (defun org-attach-untag () |
| | | "Turn the autotag off." |
| | | (org-attach-tag 'off)) |
| | | |
| | | (defun org-attach-store-link (file) |
| | | "Add a link to `org-stored-link' when attaching a file. |
| | | Only do this when `org-attach-store-link-p' is non-nil." |
| | | (setq org-stored-links |
| | | (cons (list (org-attach-expand-link file) |
| | | (file-name-nondirectory file)) |
| | | org-stored-links))) |
| | | |
| | | (defun org-attach-url (url) |
| | | (interactive "MURL of the file to attach: \n") |
| | | (org-attach-attach url)) |
| | | |
| | | (defun org-attach-attach (file &optional visit-dir method) |
| | | "Move/copy/link FILE into the attachment directory of the current task. |
| | | If VISIT-DIR is non-nil, visit the directory with dired. |
| | | METHOD may be `cp', `mv', `ln', `lns' or `url' default taken from |
| | | `org-attach-method'." |
| | | (interactive |
| | | (list |
| | | (read-file-name "File to keep as an attachment:" |
| | | (or (progn |
| | | (require 'dired-aux) |
| | | (dired-dwim-target-directory)) |
| | | default-directory)) |
| | | current-prefix-arg |
| | | nil)) |
| | | (setq method (or method org-attach-method)) |
| | | (let ((basename (file-name-nondirectory file))) |
| | | (when (and org-attach-file-list-property (not org-attach-inherited)) |
| | | (org-entry-add-to-multivalued-property |
| | | (point) org-attach-file-list-property basename)) |
| | | (let* ((attach-dir (org-attach-dir t)) |
| | | (fname (expand-file-name basename attach-dir))) |
| | | (cond |
| | | ((eq method 'mv) (rename-file file fname)) |
| | | ((eq method 'cp) (copy-file file fname)) |
| | | ((eq method 'ln) (add-name-to-file file fname)) |
| | | ((eq method 'lns) (make-symbolic-link file fname)) |
| | | ((eq method 'url) (url-copy-file file fname))) |
| | | (when org-attach-commit |
| | | (org-attach-commit)) |
| | | (org-attach-tag) |
| | | (cond ((eq org-attach-store-link-p 'attached) |
| | | (org-attach-store-link fname)) |
| | | ((eq org-attach-store-link-p t) |
| | | (org-attach-store-link file))) |
| | | (if visit-dir |
| | | (dired attach-dir) |
| | | (message "File %S is now a task attachment." basename))))) |
| | | |
| | | (defun org-attach-attach-cp () |
| | | "Attach a file by copying it." |
| | | (interactive) |
| | | (let ((org-attach-method 'cp)) (call-interactively 'org-attach-attach))) |
| | | (defun org-attach-attach-mv () |
| | | "Attach a file by moving (renaming) it." |
| | | (interactive) |
| | | (let ((org-attach-method 'mv)) (call-interactively 'org-attach-attach))) |
| | | (defun org-attach-attach-ln () |
| | | "Attach a file by creating a hard link to it. |
| | | Beware that this does not work on systems that do not support hard links. |
| | | On some systems, this apparently does copy the file instead." |
| | | (interactive) |
| | | (let ((org-attach-method 'ln)) (call-interactively 'org-attach-attach))) |
| | | (defun org-attach-attach-lns () |
| | | "Attach a file by creating a symbolic link to it. |
| | | |
| | | Beware that this does not work on systems that do not support symbolic links. |
| | | On some systems, this apparently does copy the file instead." |
| | | (interactive) |
| | | (let ((org-attach-method 'lns)) (call-interactively 'org-attach-attach))) |
| | | |
| | | (defun org-attach-new (file) |
| | | "Create a new attachment FILE for the current task. |
| | | The attachment is created as an Emacs buffer." |
| | | (interactive "sCreate attachment named: ") |
| | | (when (and org-attach-file-list-property (not org-attach-inherited)) |
| | | (org-entry-add-to-multivalued-property |
| | | (point) org-attach-file-list-property file)) |
| | | (let ((attach-dir (org-attach-dir t))) |
| | | (org-attach-tag) |
| | | (find-file (expand-file-name file attach-dir)) |
| | | (message "New attachment %s" file))) |
| | | |
| | | (defun org-attach-delete-one (&optional file) |
| | | "Delete a single attachment." |
| | | (interactive) |
| | | (let* ((attach-dir (org-attach-dir t)) |
| | | (files (org-attach-file-list attach-dir)) |
| | | (file (or file |
| | | (completing-read |
| | | "Delete attachment: " |
| | | (mapcar (lambda (f) |
| | | (list (file-name-nondirectory f))) |
| | | files))))) |
| | | (setq file (expand-file-name file attach-dir)) |
| | | (unless (file-exists-p file) |
| | | (error "No such attachment: %s" file)) |
| | | (delete-file file) |
| | | (when org-attach-commit |
| | | (org-attach-commit)))) |
| | | |
| | | (defun org-attach-delete-all (&optional force) |
| | | "Delete all attachments from the current task. |
| | | This actually deletes the entire attachment directory. |
| | | A safer way is to open the directory in dired and delete from there." |
| | | (interactive "P") |
| | | (when (and org-attach-file-list-property (not org-attach-inherited)) |
| | | (org-entry-delete (point) org-attach-file-list-property)) |
| | | (let ((attach-dir (org-attach-dir))) |
| | | (when |
| | | (and attach-dir |
| | | (or force |
| | | (y-or-n-p "Are you sure you want to remove all attachments of this entry? "))) |
| | | (shell-command (format "rm -fr %s" attach-dir)) |
| | | (message "Attachment directory removed") |
| | | (when org-attach-commit |
| | | (org-attach-commit)) |
| | | (org-attach-untag)))) |
| | | |
| | | (defun org-attach-sync () |
| | | "Synchronize the current tasks with its attachments. |
| | | This can be used after files have been added externally." |
| | | (interactive) |
| | | (when org-attach-commit |
| | | (org-attach-commit)) |
| | | (when (and org-attach-file-list-property (not org-attach-inherited)) |
| | | (org-entry-delete (point) org-attach-file-list-property)) |
| | | (let ((attach-dir (org-attach-dir))) |
| | | (when attach-dir |
| | | (let ((files (org-attach-file-list attach-dir))) |
| | | (org-attach-tag (not files)) |
| | | (when org-attach-file-list-property |
| | | (dolist (file files) |
| | | (unless (string-match "^\\.\\.?\\'" file) |
| | | (org-entry-add-to-multivalued-property |
| | | (point) org-attach-file-list-property file)))))))) |
| | | |
| | | (defun org-attach-file-list (dir) |
| | | "Return a list of files in the attachment directory. |
| | | This ignores files ending in \"~\"." |
| | | (delq nil |
| | | (mapcar (lambda (x) (if (string-match "^\\.\\.?\\'" x) nil x)) |
| | | (directory-files dir nil "[^~]\\'")))) |
| | | |
| | | (defun org-attach-reveal (&optional if-exists) |
| | | "Show the attachment directory of the current task. |
| | | This will attempt to use an external program to show the directory." |
| | | (interactive "P") |
| | | (let ((attach-dir (org-attach-dir (not if-exists)))) |
| | | (and attach-dir (org-open-file attach-dir)))) |
| | | |
| | | (defun org-attach-reveal-in-emacs () |
| | | "Show the attachment directory of the current task in dired." |
| | | (interactive) |
| | | (let ((attach-dir (org-attach-dir t))) |
| | | (dired attach-dir))) |
| | | |
| | | (defun org-attach-open (&optional in-emacs) |
| | | "Open an attachment of the current task. |
| | | If there are more than one attachment, you will be prompted for the file name. |
| | | This command will open the file using the settings in `org-file-apps' |
| | | and in the system-specific variants of this variable. |
| | | If IN-EMACS is non-nil, force opening in Emacs." |
| | | (interactive "P") |
| | | (let* ((attach-dir (org-attach-dir t)) |
| | | (files (org-attach-file-list attach-dir)) |
| | | (file (if (= (length files) 1) |
| | | (car files) |
| | | (completing-read "Open attachment: " |
| | | (mapcar #'list files) nil t))) |
| | | (path (expand-file-name file attach-dir))) |
| | | (org-attach-annex-get-maybe path) |
| | | (org-open-file path in-emacs))) |
| | | |
| | | (defun org-attach-open-in-emacs () |
| | | "Open attachment, force opening in Emacs. |
| | | See `org-attach-open'." |
| | | (interactive) |
| | | (org-attach-open 'in-emacs)) |
| | | |
| | | (defun org-attach-expand (file) |
| | | "Return the full path to the current entry's attachment file FILE. |
| | | Basically, this adds the path to the attachment directory." |
| | | (expand-file-name file (org-attach-dir))) |
| | | |
| | | (defun org-attach-expand-link (file) |
| | | "Return a file link pointing to the current entry's attachment file FILE. |
| | | Basically, this adds the path to the attachment directory, and a \"file:\" |
| | | prefix." |
| | | (concat "file:" (org-attach-expand file))) |
| | | |
| | | (defun org-attach-archive-delete-maybe () |
| | | "Maybe delete subtree attachments when archiving. |
| | | This function is called by `org-archive-hook'. The option |
| | | `org-attach-archive-delete' controls its behavior." |
| | | (when (if (eq org-attach-archive-delete 'query) |
| | | (yes-or-no-p "Delete all attachments? ") |
| | | org-attach-archive-delete) |
| | | (org-attach-delete-all t))) |
| | | |
| | | (add-hook 'org-archive-hook 'org-attach-archive-delete-maybe) |
| | | |
| | | (provide 'org-attach) |
| | | |
| | | ;; Local variables: |
| | | ;; generated-autoload-file: "org-loaddefs.el" |
| | | ;; End: |
| | | |
| | | ;;; org-attach.el ends here |
New file |
| | |
| | | ;;; org-autoloads.el --- automatically extracted autoloads |
| | | ;; |
| | | ;;; Code: |
| | | |
| | | (add-to-list 'load-path (directory-file-name |
| | | (or (file-name-directory #$) (car load-path)))) |
| | | |
| | | |
| | | ;;;### (autoloads nil "ob-C" "ob-C.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-C.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-C" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-J" "ob-J.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-J.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-J" '("obj-" "org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-R" "ob-R.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-R.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-R" '("ob-R-" "org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-abc" "ob-abc.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-abc.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-abc" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-asymptote" "ob-asymptote.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-asymptote.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-asymptote" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-awk" "ob-awk.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-awk.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-awk" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-calc" "ob-calc.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-calc.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-calc" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-clojure" "ob-clojure.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-clojure.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-clojure" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-comint" "ob-comint.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-comint.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-comint" '("org-babel-comint-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-coq" "ob-coq.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-coq.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-coq" '("org-babel-" "coq-program-name"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ob-core" "ob-core.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-core.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-core" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-css" "ob-css.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-css.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-css" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ditaa" "ob-ditaa.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ditaa.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ditaa" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-dot" "ob-dot.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-dot.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-dot" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ebnf" "ob-ebnf.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ebnf.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ebnf" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-emacs-lisp" "ob-emacs-lisp.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-emacs-lisp.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-emacs-lisp" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-eval" "ob-eval.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-eval.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-eval" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-exp" "ob-exp.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-exp.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-exp" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-forth" "ob-forth.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-forth.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-forth" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-fortran" "ob-fortran.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-fortran.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-fortran" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-gnuplot" "ob-gnuplot.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-gnuplot.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-gnuplot" '("org-babel-" "*org-babel-gnuplot-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-groovy" "ob-groovy.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-groovy.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-groovy" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-haskell" "ob-haskell.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-haskell.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-haskell" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-hledger" "ob-hledger.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-hledger.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-hledger" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-io" "ob-io.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-io.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-io" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-java" "ob-java.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-java.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-java" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-js" "ob-js.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-js.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-js" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ob-keys" "ob-keys.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-keys.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-keys" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-latex" "ob-latex.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-latex.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-latex" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ledger" "ob-ledger.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ledger.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ledger" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-lilypond" "ob-lilypond.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-lilypond.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-lilypond" '("org-babel-" "lilypond-mode"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-lisp" "ob-lisp.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-lisp.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-lisp" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ob-lob" "ob-lob.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-lob.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-lob" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-lua" "ob-lua.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-lua.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-lua" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-makefile" "ob-makefile.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-makefile.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-makefile" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-maxima" "ob-maxima.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-maxima.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-maxima" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-mscgen" "ob-mscgen.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-mscgen.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-mscgen" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ocaml" "ob-ocaml.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ocaml.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ocaml" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-octave" "ob-octave.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-octave.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-octave" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-org" "ob-org.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-org.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-org" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-perl" "ob-perl.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-perl.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-perl" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-picolisp" "ob-picolisp.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-picolisp.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-picolisp" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-plantuml" "ob-plantuml.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-plantuml.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-plantuml" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-processing" "ob-processing.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-processing.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-processing" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-python" "ob-python.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-python.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-python" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ref" "ob-ref.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ref.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ref" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-ruby" "ob-ruby.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-ruby.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-ruby" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-sass" "ob-sass.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-sass.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-sass" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-scheme" "ob-scheme.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-scheme.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-scheme" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-screen" "ob-screen.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-screen.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-screen" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-sed" "ob-sed.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-sed.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-sed" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-shell" "ob-shell.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-shell.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-shell" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-shen" "ob-shen.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-shen.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-shen" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-sql" "ob-sql.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-sql.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-sql" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-sqlite" "ob-sqlite.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-sqlite.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-sqlite" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-stan" "ob-stan.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-stan.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-stan" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-table" "ob-table.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-table.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-table" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ob-tangle" "ob-tangle.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-tangle.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-tangle" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "ob-vala" "ob-vala.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ob-vala.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ob-vala" '("org-babel-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org" "org.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org.el |
| | | |
| | | (autoload 'org-babel-do-load-languages "org" "\ |
| | | Load the languages defined in `org-babel-load-languages'. |
| | | |
| | | \(fn SYM VALUE)" nil nil) |
| | | |
| | | (autoload 'org-babel-load-file "org" "\ |
| | | Load Emacs Lisp source code blocks in the Org FILE. |
| | | This function exports the source code using `org-babel-tangle' |
| | | and then loads the resulting file using `load-file'. With prefix |
| | | arg (noninteractively: 2nd arg) COMPILE the tangled Emacs Lisp |
| | | file to byte-code before it is loaded. |
| | | |
| | | \(fn FILE &optional COMPILE)" t nil) |
| | | |
| | | (autoload 'org-version "org" "\ |
| | | Show the Org version. |
| | | Interactively, or when MESSAGE is non-nil, show it in echo area. |
| | | With prefix argument, or when HERE is non-nil, insert it at point. |
| | | In non-interactive uses, a reduced version string is output unless |
| | | FULL is given. |
| | | |
| | | \(fn &optional HERE FULL MESSAGE)" t nil) |
| | | |
| | | (autoload 'turn-on-orgtbl "org" "\ |
| | | Unconditionally turn on `orgtbl-mode'. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'org-clock-persistence-insinuate "org" "\ |
| | | Set up hooks for clock persistence. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'org-mode "org" "\ |
| | | Outline-based notes management and organizer, alias |
| | | \"Carsten's outline-mode for keeping track of everything.\" |
| | | |
| | | Org mode develops organizational tasks around a NOTES file which |
| | | contains information about projects as plain text. Org mode is |
| | | implemented on top of Outline mode, which is ideal to keep the content |
| | | of large files well structured. It supports ToDo items, deadlines and |
| | | time stamps, which magically appear in the diary listing of the Emacs |
| | | calendar. Tables are easily created with a built-in table editor. |
| | | Plain text URL-like links connect to websites, emails (VM), Usenet |
| | | messages (Gnus), BBDB entries, and any files related to the project. |
| | | For printing and sharing of notes, an Org file (or a part of it) |
| | | can be exported as a structured ASCII or HTML file. |
| | | |
| | | The following commands are available: |
| | | |
| | | \\{org-mode-map} |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-cycle "org" "\ |
| | | TAB-action and visibility cycling for Org mode. |
| | | |
| | | This is the command invoked in Org mode by the `TAB' key. Its main |
| | | purpose is outline visibility cycling, but it also invokes other actions |
| | | in special contexts. |
| | | |
| | | When this function is called with a `\\[universal-argument]' prefix, rotate the entire |
| | | buffer through 3 states (global cycling) |
| | | 1. OVERVIEW: Show only top-level headlines. |
| | | 2. CONTENTS: Show all headlines of all levels, but no body text. |
| | | 3. SHOW ALL: Show everything. |
| | | |
| | | With a `\\[universal-argument] \\[universal-argument]' prefix argument, switch to the startup visibility, |
| | | determined by the variable `org-startup-folded', and by any VISIBILITY |
| | | properties in the buffer. |
| | | |
| | | With a `\\[universal-argument] \\[universal-argument] \\[universal-argument]' prefix argument, show the entire buffer, including |
| | | any drawers. |
| | | |
| | | When inside a table, re-align the table and move to the next field. |
| | | |
| | | When point is at the beginning of a headline, rotate the subtree started |
| | | by this line through 3 different states (local cycling) |
| | | 1. FOLDED: Only the main headline is shown. |
| | | 2. CHILDREN: The main headline and the direct children are shown. |
| | | From this state, you can move to one of the children |
| | | and zoom in further. |
| | | 3. SUBTREE: Show the entire subtree, including body text. |
| | | If there is no subtree, switch directly from CHILDREN to FOLDED. |
| | | |
| | | When point is at the beginning of an empty headline and the variable |
| | | `org-cycle-level-after-item/entry-creation' is set, cycle the level |
| | | of the headline by demoting and promoting it to likely levels. This |
| | | speeds up creation document structure by pressing `TAB' once or several |
| | | times right after creating a new headline. |
| | | |
| | | When there is a numeric prefix, go up to a heading with level ARG, do |
| | | a `show-subtree' and return to the previous cursor position. If ARG |
| | | is negative, go up that many levels. |
| | | |
| | | When point is not at the beginning of a headline, execute the global |
| | | binding for `TAB', which is re-indenting the line. See the option |
| | | `org-cycle-emulate-tab' for details. |
| | | |
| | | As a special case, if point is at the beginning of the buffer and there is |
| | | no headline in line 1, this function will act as if called with prefix arg |
| | | \(`\\[universal-argument] TAB', same as `S-TAB') also when called without prefix arg, but only |
| | | if the variable `org-cycle-global-at-bob' is t. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (autoload 'org-global-cycle "org" "\ |
| | | Cycle the global visibility. For details see `org-cycle'. |
| | | With `\\[universal-argument]' prefix ARG, switch to startup visibility. |
| | | With a numeric prefix, show all headlines up to that level. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | (put 'orgstruct-heading-prefix-regexp 'safe-local-variable 'stringp) |
| | | |
| | | (autoload 'orgstruct-mode "org" "\ |
| | | Toggle the minor mode `orgstruct-mode'. |
| | | This mode is for using Org mode structure commands in other |
| | | modes. The following keys behave as if Org mode were active, if |
| | | the cursor is on a headline, or on a plain list item (both as |
| | | defined by Org mode). |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (autoload 'turn-on-orgstruct "org" "\ |
| | | Unconditionally turn on `orgstruct-mode'. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'turn-on-orgstruct++ "org" "\ |
| | | Unconditionally turn on `orgstruct++-mode'. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'org-run-like-in-org-mode "org" "\ |
| | | Run a command, pretending that the current buffer is in Org mode. |
| | | This will temporarily bind local variables that are typically bound in |
| | | Org mode to the values they have in Org mode, and then interactively |
| | | call CMD. |
| | | |
| | | \(fn CMD)" nil nil) |
| | | |
| | | (autoload 'org-store-link "org" "\ |
| | | Store an org-link to the current location. |
| | | \\<org-mode-map> |
| | | This link is added to `org-stored-links' and can later be inserted |
| | | into an Org buffer with `org-insert-link' (`\\[org-insert-link]'). |
| | | |
| | | For some link types, a `\\[universal-argument]' prefix ARG is interpreted. A single |
| | | `\\[universal-argument]' negates `org-context-in-file-links' for file links or |
| | | `org-gnus-prefer-web-links' for links to Usenet articles. |
| | | |
| | | A `\\[universal-argument] \\[universal-argument]' prefix ARG forces skipping storing functions that are not |
| | | part of Org core. |
| | | |
| | | A `\\[universal-argument] \\[universal-argument] \\[universal-argument]' prefix ARG forces storing a link for each line in the |
| | | active region. |
| | | |
| | | \(fn ARG)" t nil) |
| | | |
| | | (autoload 'org-insert-link-global "org" "\ |
| | | Insert a link like Org mode does. |
| | | This command can be called in any mode to insert a link in Org syntax. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-open-at-point-global "org" "\ |
| | | Follow a link or time-stamp like Org mode does. |
| | | This command can be called in any mode to follow an external link |
| | | or a time-stamp that has Org mode syntax. Its behavior is |
| | | undefined when called on internal links (e.g., fuzzy links). |
| | | Raise an error when there is nothing to follow. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-open-link-from-string "org" "\ |
| | | Open a link in the string S, as if it was in Org mode. |
| | | |
| | | \(fn S &optional ARG REFERENCE-BUFFER)" t nil) |
| | | |
| | | (autoload 'org-switchb "org" "\ |
| | | Switch between Org buffers. |
| | | |
| | | With `\\[universal-argument]' prefix, restrict available buffers to files. |
| | | |
| | | With `\\[universal-argument] \\[universal-argument]' prefix, restrict available buffers to agenda files. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (autoload 'org-cycle-agenda-files "org" "\ |
| | | Cycle through the files in `org-agenda-files'. |
| | | If the current buffer visits an agenda file, find the next one in the list. |
| | | If the current buffer does not, find the first agenda file. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-submit-bug-report "org" "\ |
| | | Submit a bug report on Org via mail. |
| | | |
| | | Don't hesitate to report any problems or inaccurate documentation. |
| | | |
| | | If you don't have setup sending mail from (X)Emacs, please copy the |
| | | output buffer into your mail program, as it gives us important |
| | | information about your Org version and configuration. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-reload "org" "\ |
| | | Reload all Org Lisp files. |
| | | With prefix arg UNCOMPILED, load the uncompiled versions. |
| | | |
| | | \(fn &optional UNCOMPILED)" t nil) |
| | | |
| | | (autoload 'org-customize "org" "\ |
| | | Call the customize function with org as argument. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org" '("org" "turn-on-org-cdlatex"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-agenda" "org-agenda.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-agenda.el |
| | | |
| | | (autoload 'org-toggle-sticky-agenda "org-agenda" "\ |
| | | Toggle `org-agenda-sticky'. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (autoload 'org-agenda "org-agenda" "\ |
| | | Dispatch agenda commands to collect entries to the agenda buffer. |
| | | Prompts for a command to execute. Any prefix arg will be passed |
| | | on to the selected command. The default selections are: |
| | | |
| | | a Call `org-agenda-list' to display the agenda for current day or week. |
| | | t Call `org-todo-list' to display the global todo list. |
| | | T Call `org-todo-list' to display the global todo list, select only |
| | | entries with a specific TODO keyword (the user gets a prompt). |
| | | m Call `org-tags-view' to display headlines with tags matching |
| | | a condition (the user is prompted for the condition). |
| | | M Like `m', but select only TODO entries, no ordinary headlines. |
| | | e Export views to associated files. |
| | | s Search entries for keywords. |
| | | S Search entries for keywords, only with TODO keywords. |
| | | / Multi occur across all agenda files and also files listed |
| | | in `org-agenda-text-search-extra-files'. |
| | | < Restrict agenda commands to buffer, subtree, or region. |
| | | Press several times to get the desired effect. |
| | | > Remove a previous restriction. |
| | | # List \"stuck\" projects. |
| | | ! Configure what \"stuck\" means. |
| | | C Configure custom agenda commands. |
| | | |
| | | More commands can be added by configuring the variable |
| | | `org-agenda-custom-commands'. In particular, specific tags and TODO keyword |
| | | searches can be pre-defined in this way. |
| | | |
| | | If the current buffer is in Org mode and visiting a file, you can also |
| | | first press `<' once to indicate that the agenda should be temporarily |
| | | \(until the next use of `\\[org-agenda]') restricted to the current file. |
| | | Pressing `<' twice means to restrict to the current subtree or region |
| | | \(if active). |
| | | |
| | | \(fn &optional ARG ORG-KEYS RESTRICTION)" t nil) |
| | | |
| | | (autoload 'org-batch-agenda "org-agenda" "\ |
| | | Run an agenda command in batch mode and send the result to STDOUT. |
| | | If CMD-KEY is a string of length 1, it is used as a key in |
| | | `org-agenda-custom-commands' and triggers this command. If it is a |
| | | longer string it is used as a tags/todo match string. |
| | | Parameters are alternating variable names and values that will be bound |
| | | before running the agenda command. |
| | | |
| | | \(fn CMD-KEY &rest PARAMETERS)" nil t) |
| | | |
| | | (autoload 'org-batch-agenda-csv "org-agenda" "\ |
| | | Run an agenda command in batch mode and send the result to STDOUT. |
| | | If CMD-KEY is a string of length 1, it is used as a key in |
| | | `org-agenda-custom-commands' and triggers this command. If it is a |
| | | longer string it is used as a tags/todo match string. |
| | | Parameters are alternating variable names and values that will be bound |
| | | before running the agenda command. |
| | | |
| | | The output gives a line for each selected agenda item. Each |
| | | item is a list of comma-separated values, like this: |
| | | |
| | | category,head,type,todo,tags,date,time,extra,priority-l,priority-n |
| | | |
| | | category The category of the item |
| | | head The headline, without TODO kwd, TAGS and PRIORITY |
| | | type The type of the agenda entry, can be |
| | | todo selected in TODO match |
| | | tagsmatch selected in tags match |
| | | diary imported from diary |
| | | deadline a deadline on given date |
| | | scheduled scheduled on given date |
| | | timestamp entry has timestamp on given date |
| | | closed entry was closed on given date |
| | | upcoming-deadline warning about deadline |
| | | past-scheduled forwarded scheduled item |
| | | block entry has date block including g. date |
| | | todo The todo keyword, if any |
| | | tags All tags including inherited ones, separated by colons |
| | | date The relevant date, like 2007-2-14 |
| | | time The time, like 15:00-16:50 |
| | | extra Sting with extra planning info |
| | | priority-l The priority letter if any was given |
| | | priority-n The computed numerical priority |
| | | agenda-day The day in the agenda where this is listed |
| | | |
| | | \(fn CMD-KEY &rest PARAMETERS)" nil t) |
| | | |
| | | (autoload 'org-store-agenda-views "org-agenda" "\ |
| | | Store agenda views. |
| | | |
| | | \(fn &rest PARAMETERS)" t nil) |
| | | |
| | | (autoload 'org-batch-store-agenda-views "org-agenda" "\ |
| | | Run all custom agenda commands that have a file argument. |
| | | |
| | | \(fn &rest PARAMETERS)" nil t) |
| | | |
| | | (autoload 'org-agenda-list "org-agenda" "\ |
| | | Produce a daily/weekly view from all files in variable `org-agenda-files'. |
| | | The view will be for the current day or week, but from the overview buffer |
| | | you will be able to go to other days/weeks. |
| | | |
| | | With a numeric prefix argument in an interactive call, the agenda will |
| | | span ARG days. Lisp programs should instead specify SPAN to change |
| | | the number of days. SPAN defaults to `org-agenda-span'. |
| | | |
| | | START-DAY defaults to TODAY, or to the most recent match for the weekday |
| | | given in `org-agenda-start-on-weekday'. |
| | | |
| | | When WITH-HOUR is non-nil, only include scheduled and deadline |
| | | items if they have an hour specification like [h]h:mm. |
| | | |
| | | \(fn &optional ARG START-DAY SPAN WITH-HOUR)" t nil) |
| | | |
| | | (autoload 'org-search-view "org-agenda" "\ |
| | | Show all entries that contain a phrase or words or regular expressions. |
| | | |
| | | With optional prefix argument TODO-ONLY, only consider entries that are |
| | | TODO entries. The argument STRING can be used to pass a default search |
| | | string into this function. If EDIT-AT is non-nil, it means that the |
| | | user should get a chance to edit this string, with cursor at position |
| | | EDIT-AT. |
| | | |
| | | The search string can be viewed either as a phrase that should be found as |
| | | is, or it can be broken into a number of snippets, each of which must match |
| | | in a Boolean way to select an entry. The default depends on the variable |
| | | `org-agenda-search-view-always-boolean'. |
| | | Even if this is turned off (the default) you can always switch to |
| | | Boolean search dynamically by preceding the first word with \"+\" or \"-\". |
| | | |
| | | The default is a direct search of the whole phrase, where each space in |
| | | the search string can expand to an arbitrary amount of whitespace, |
| | | including newlines. |
| | | |
| | | If using a Boolean search, the search string is split on whitespace and |
| | | each snippet is searched separately, with logical AND to select an entry. |
| | | Words prefixed with a minus must *not* occur in the entry. Words without |
| | | a prefix or prefixed with a plus must occur in the entry. Matching is |
| | | case-insensitive. Words are enclosed by word delimiters (i.e. they must |
| | | match whole words, not parts of a word) if |
| | | `org-agenda-search-view-force-full-words' is set (default is nil). |
| | | |
| | | Boolean search snippets enclosed by curly braces are interpreted as |
| | | regular expressions that must or (when preceded with \"-\") must not |
| | | match in the entry. Snippets enclosed into double quotes will be taken |
| | | as a whole, to include whitespace. |
| | | |
| | | - If the search string starts with an asterisk, search only in headlines. |
| | | - If (possibly after the leading star) the search string starts with an |
| | | exclamation mark, this also means to look at TODO entries only, an effect |
| | | that can also be achieved with a prefix argument. |
| | | - If (possibly after star and exclamation mark) the search string starts |
| | | with a colon, this will mean that the (non-regexp) snippets of the |
| | | Boolean search must match as full words. |
| | | |
| | | This command searches the agenda files, and in addition the files |
| | | listed in `org-agenda-text-search-extra-files' unless a restriction lock |
| | | is active. |
| | | |
| | | \(fn &optional TODO-ONLY STRING EDIT-AT)" t nil) |
| | | |
| | | (autoload 'org-todo-list "org-agenda" "\ |
| | | Show all (not done) TODO entries from all agenda file in a single list. |
| | | The prefix arg can be used to select a specific TODO keyword and limit |
| | | the list to these. When using `\\[universal-argument]', you will be prompted |
| | | for a keyword. A numeric prefix directly selects the Nth keyword in |
| | | `org-todo-keywords-1'. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (autoload 'org-tags-view "org-agenda" "\ |
| | | Show all headlines for all `org-agenda-files' matching a TAGS criterion. |
| | | The prefix arg TODO-ONLY limits the search to TODO entries. |
| | | |
| | | \(fn &optional TODO-ONLY MATCH)" t nil) |
| | | |
| | | (autoload 'org-agenda-list-stuck-projects "org-agenda" "\ |
| | | Create agenda view for projects that are stuck. |
| | | Stuck projects are project that have no next actions. For the definitions |
| | | of what a project is and how to check if it stuck, customize the variable |
| | | `org-stuck-projects'. |
| | | |
| | | \(fn &rest IGNORE)" t nil) |
| | | |
| | | (autoload 'org-diary "org-agenda" "\ |
| | | Return diary information from org files. |
| | | This function can be used in a \"sexp\" diary entry in the Emacs calendar. |
| | | It accesses org files and extracts information from those files to be |
| | | listed in the diary. The function accepts arguments specifying what |
| | | items should be listed. For a list of arguments allowed here, see the |
| | | variable `org-agenda-entry-types'. |
| | | |
| | | The call in the diary file should look like this: |
| | | |
| | | &%%(org-diary) ~/path/to/some/orgfile.org |
| | | |
| | | Use a separate line for each org file to check. Or, if you omit the file name, |
| | | all files listed in `org-agenda-files' will be checked automatically: |
| | | |
| | | &%%(org-diary) |
| | | |
| | | If you don't give any arguments (as in the example above), the default value |
| | | of `org-agenda-entry-types' is used: (:deadline :scheduled :timestamp :sexp). |
| | | So the example above may also be written as |
| | | |
| | | &%%(org-diary :deadline :timestamp :sexp :scheduled) |
| | | |
| | | The function expects the lisp variables `entry' and `date' to be provided |
| | | by the caller, because this is how the calendar works. Don't use this |
| | | function from a program - use `org-agenda-get-day-entries' instead. |
| | | |
| | | \(fn &rest ARGS)" nil nil) |
| | | |
| | | (autoload 'org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item "org-agenda" "\ |
| | | Do we have a reason to ignore this TODO entry because it has a time stamp? |
| | | |
| | | \(fn &optional END)" nil nil) |
| | | |
| | | (autoload 'org-agenda-set-restriction-lock "org-agenda" "\ |
| | | Set restriction lock for agenda, to current subtree or file. |
| | | Restriction will be the file if TYPE is `file', or if type is the |
| | | universal prefix \\='(4), or if the cursor is before the first headline |
| | | in the file. Otherwise, restriction will be to the current subtree. |
| | | |
| | | \(fn &optional TYPE)" t nil) |
| | | |
| | | (autoload 'org-calendar-goto-agenda "org-agenda" "\ |
| | | Compute the Org agenda for the calendar date displayed at the cursor. |
| | | This is a command that has to be installed in `calendar-mode-map'. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-agenda-to-appt "org-agenda" "\ |
| | | Activate appointments found in `org-agenda-files'. |
| | | |
| | | With a `\\[universal-argument]' prefix, refresh the list of appointments. |
| | | |
| | | If FILTER is t, interactively prompt the user for a regular |
| | | expression, and filter out entries that don't match it. |
| | | |
| | | If FILTER is a string, use this string as a regular expression |
| | | for filtering entries out. |
| | | |
| | | If FILTER is a function, filter out entries against which |
| | | calling the function returns nil. This function takes one |
| | | argument: an entry from `org-agenda-get-day-entries'. |
| | | |
| | | FILTER can also be an alist with the car of each cell being |
| | | either `headline' or `category'. For example: |
| | | |
| | | \\='((headline \"IMPORTANT\") |
| | | (category \"Work\")) |
| | | |
| | | will only add headlines containing IMPORTANT or headlines |
| | | belonging to the \"Work\" category. |
| | | |
| | | ARGS are symbols indicating what kind of entries to consider. |
| | | By default `org-agenda-to-appt' will use :deadline*, :scheduled* |
| | | \(i.e., deadlines and scheduled items with a hh:mm specification) |
| | | and :timestamp entries. See the docstring of `org-diary' for |
| | | details and examples. |
| | | |
| | | If an entry has a APPT_WARNTIME property, its value will be used |
| | | to override `appt-message-warning-time'. |
| | | |
| | | \(fn &optional REFRESH FILTER &rest ARGS)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-agenda" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-archive" |
| | | ;;;;;; "org-archive.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-archive.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-archive" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-attach" "org-attach.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-attach.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-attach" '("org-attach-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-bbdb" "org-bbdb.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-bbdb.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-bbdb" '("org-bbdb-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-bibtex" "org-bibtex.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-bibtex.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-bibtex" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-capture" "org-capture.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-capture.el |
| | | |
| | | (autoload 'org-capture-string "org-capture" "\ |
| | | Capture STRING with the template selected by KEYS. |
| | | |
| | | \(fn STRING &optional KEYS)" t nil) |
| | | |
| | | (autoload 'org-capture "org-capture" "\ |
| | | Capture something. |
| | | \\<org-capture-mode-map> |
| | | This will let you select a template from `org-capture-templates', and |
| | | then file the newly captured information. The text is immediately |
| | | inserted at the target location, and an indirect buffer is shown where |
| | | you can edit it. Pressing `\\[org-capture-finalize]' brings you back to the previous |
| | | state of Emacs, so that you can continue your work. |
| | | |
| | | When called interactively with a `\\[universal-argument]' prefix argument GOTO, don't |
| | | capture anything, just go to the file/headline where the selected |
| | | template stores its notes. |
| | | |
| | | With a `\\[universal-argument] \\[universal-argument]' prefix argument, go to the last note stored. |
| | | |
| | | When called with a `C-0' (zero) prefix, insert a template at point. |
| | | |
| | | When called with a `C-1' (one) prefix, force prompting for a date when |
| | | a datetree entry is made. |
| | | |
| | | ELisp programs can set KEYS to a string associated with a template |
| | | in `org-capture-templates'. In this case, interactive selection |
| | | will be bypassed. |
| | | |
| | | If `org-capture-use-agenda-date' is non-nil, capturing from the |
| | | agenda will use the date at point as the default date. Then, a |
| | | `C-1' prefix will tell the capture process to use the HH:MM time |
| | | of the day at point (if any) or the current HH:MM time. |
| | | |
| | | \(fn &optional GOTO KEYS)" t nil) |
| | | |
| | | (autoload 'org-capture-import-remember-templates "org-capture" "\ |
| | | Set `org-capture-templates' to be similar to `org-remember-templates'. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-capture" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-clock" "org-clock.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-clock.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-clock" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-colview" "org-colview.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-colview.el |
| | | |
| | | (autoload 'org-columns-remove-overlays "org-colview" "\ |
| | | Remove all currently active column overlays. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-columns-get-format-and-top-level "org-colview" "\ |
| | | |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'org-columns "org-colview" "\ |
| | | Turn on column view on an Org mode file. |
| | | |
| | | Column view applies to the whole buffer if point is before the |
| | | first headline. Otherwise, it applies to the first ancestor |
| | | setting \"COLUMNS\" property. If there is none, it defaults to |
| | | the current headline. With a `\\[universal-argument]' prefix argument, turn on column |
| | | view for the whole buffer unconditionally. |
| | | |
| | | When COLUMNS-FMT-STRING is non-nil, use it as the column format. |
| | | |
| | | \(fn &optional GLOBAL COLUMNS-FMT-STRING)" t nil) |
| | | |
| | | (autoload 'org-columns-compute "org-colview" "\ |
| | | Summarize the values of PROPERTY hierarchically. |
| | | Also update existing values for PROPERTY according to the first |
| | | column specification. |
| | | |
| | | \(fn PROPERTY)" t nil) |
| | | |
| | | (autoload 'org-dblock-write:columnview "org-colview" "\ |
| | | Write the column view table. |
| | | PARAMS is a property list of parameters: |
| | | |
| | | :id the :ID: property of the entry where the columns view |
| | | should be built. When the symbol `local', call locally. |
| | | When `global' call column view with the cursor at the beginning |
| | | of the buffer (usually this means that the whole buffer switches |
| | | to column view). When \"file:path/to/file.org\", invoke column |
| | | view at the start of that file. Otherwise, the ID is located |
| | | using `org-id-find'. |
| | | :hlines When t, insert a hline before each item. When a number, insert |
| | | a hline before each level <= that number. |
| | | :indent When non-nil, indent each ITEM field according to its level. |
| | | :vlines When t, make each column a colgroup to enforce vertical lines. |
| | | :maxlevel When set to a number, don't capture headlines below this level. |
| | | :skip-empty-rows |
| | | When t, skip rows where all specifiers other than ITEM are empty. |
| | | :width apply widths specified in columns format using <N> specifiers. |
| | | :format When non-nil, specify the column view format to use. |
| | | |
| | | \(fn PARAMS)" nil nil) |
| | | |
| | | (autoload 'org-columns-insert-dblock "org-colview" "\ |
| | | Create a dynamic block capturing a column view table. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-agenda-columns "org-colview" "\ |
| | | Turn on or update column view in the agenda. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-colview" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-compat" "org-compat.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-compat.el |
| | | |
| | | (autoload 'org-check-version "org-compat" "\ |
| | | Try very hard to provide sensible version strings. |
| | | |
| | | \(fn)" nil t) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-compat" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-crypt" "org-crypt.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-crypt.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-crypt" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-ctags" "org-ctags.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-ctags.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-ctags" '("org-ctags-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-datetree" |
| | | ;;;;;; "org-datetree.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-datetree.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-datetree" '("org-datetree-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-docview" "org-docview.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-docview.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-docview" '("org-docview-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-duration" "org-duration.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-duration.el |
| | | |
| | | (autoload 'org-duration-set-regexps "org-duration" "\ |
| | | Set duration related regexps. |
| | | |
| | | \(fn)" t nil) |
| | | |
| | | (autoload 'org-duration-p "org-duration" "\ |
| | | Non-nil when string S is a time duration. |
| | | |
| | | \(fn S)" nil nil) |
| | | |
| | | (autoload 'org-duration-to-minutes "org-duration" "\ |
| | | Return number of minutes of DURATION string. |
| | | |
| | | When optional argument CANONICAL is non-nil, ignore |
| | | `org-duration-units' and use standard time units value. |
| | | |
| | | A bare number is translated into minutes. The empty string is |
| | | translated into 0.0. |
| | | |
| | | Return value as a float. Raise an error if duration format is |
| | | not recognized. |
| | | |
| | | \(fn DURATION &optional CANONICAL)" nil nil) |
| | | |
| | | (autoload 'org-duration-from-minutes "org-duration" "\ |
| | | Return duration string for a given number of MINUTES. |
| | | |
| | | Format duration according to `org-duration-format' or FMT, when |
| | | non-nil. |
| | | |
| | | When optional argument CANONICAL is non-nil, ignore |
| | | `org-duration-units' and use standard time units value. |
| | | |
| | | Raise an error if expected format is unknown. |
| | | |
| | | \(fn MINUTES &optional FMT CANONICAL)" nil nil) |
| | | |
| | | (autoload 'org-duration-h:mm-only-p "org-duration" "\ |
| | | Non-nil when every duration in TIMES has \"H:MM\" or \"H:MM:SS\" format. |
| | | |
| | | TIMES is a list of duration strings. |
| | | |
| | | Return nil if any duration is expressed with units, as defined in |
| | | `org-duration-units'. Otherwise, if any duration is expressed |
| | | with \"H:MM:SS\" format, return `h:mm:ss'. Otherwise, return |
| | | `h:mm'. |
| | | |
| | | \(fn TIMES)" nil nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-duration" '("org-duration-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-element" |
| | | ;;;;;; "org-element.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-element.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-element" '("org-element-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-entities" "org-entities.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-entities.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-entities" '("org-entit"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-eshell" "org-eshell.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-eshell.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-eshell" '("org-eshell-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-eww" "org-eww.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-eww.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-eww" '("org-eww-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-faces" "org-faces.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-faces.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-faces" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-feed" "org-feed.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-feed.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-feed" '("org-feed-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-footnote" |
| | | ;;;;;; "org-footnote.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-footnote.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-footnote" '("org-footnote-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-gnus" "org-gnus.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-gnus.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-gnus" '("org-gnus-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-habit" "org-habit.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-habit.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-habit" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-id" "org-id.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-id.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-id" '("org-id-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-indent" "org-indent.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-indent.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-indent" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-info" "org-info.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-info.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-info" '("org-info-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-inlinetask" "org-inlinetask.el" (0 0 0 |
| | | ;;;;;; 0)) |
| | | ;;; Generated autoloads from org-inlinetask.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-inlinetask" '("org-inlinetask-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-irc" "org-irc.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-irc.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-irc" '("org-irc-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-lint" "org-lint.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-lint.el |
| | | |
| | | (autoload 'org-lint "org-lint" "\ |
| | | Check current Org buffer for syntax mistakes. |
| | | |
| | | By default, run all checkers. With a `\\[universal-argument]' prefix ARG, select one |
| | | category of checkers only. With a `\\[universal-argument] \\[universal-argument]' prefix, run one precise |
| | | checker by its name. |
| | | |
| | | ARG can also be a list of checker names, as symbols, to run. |
| | | |
| | | \(fn &optional ARG)" t nil) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-lint" '("org-lint-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-list" "org-list.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-list.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-list" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-macro" "org-macro.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-macro.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-macro" '("org-macro-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-macs" "org-macs.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-macs.el |
| | | |
| | | (autoload 'org-load-noerror-mustsuffix "org-macs" "\ |
| | | Load FILE with optional arguments NOERROR and MUSTSUFFIX. |
| | | |
| | | \(fn FILE)" nil t) |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-macs" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-mhe" "org-mhe.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-mhe.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-mhe" '("org-mhe-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-mobile" "org-mobile.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-mobile.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-mobile" '("org-mobile-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-mouse" "org-mouse.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-mouse.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-mouse" '("org-mouse-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-pcomplete" "org-pcomplete.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-pcomplete.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-pcomplete" '("org-" "pcomplete/org-mode/"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-plot" "org-plot.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-plot.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-plot" '("org-plot"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-protocol" "org-protocol.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-protocol.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-protocol" '("org-protocol-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-rmail" "org-rmail.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-rmail.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-rmail" '("org-rmail-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-src" "org-src.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-src.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-src" '("org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-table" "org-table.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-table.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-table" '("org"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "org-timer" "org-timer.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from org-timer.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-timer" '("org-timer-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-version" "org-version.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-version.el |
| | | |
| | | (autoload 'org-release "org-version" "\ |
| | | The release version of Org. |
| | | Inserted by installing Org mode or when a release is made. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (autoload 'org-git-version "org-version" "\ |
| | | The Git version of Org mode. |
| | | Inserted by installing Org or when a release is made. |
| | | |
| | | \(fn)" nil nil) |
| | | |
| | | (defvar org-odt-data-dir "/usr/share/emacs/etc/org" "\ |
| | | The location of ODT styles.") |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil "org-w3m" "org-w3m.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from org-w3m.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-w3m" '("org-w3m-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox" "ox.el" (0 |
| | | ;;;;;; 0 0 0)) |
| | | ;;; Generated autoloads from ox.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox" '("org-export-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-ascii" "ox-ascii.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-ascii.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-ascii" '("org-ascii-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-beamer" "ox-beamer.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-beamer.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-beamer" '("org-beamer-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-html" "ox-html.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-html.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-html" '("org-html-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-icalendar" |
| | | ;;;;;; "ox-icalendar.el" (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-icalendar.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-icalendar" '("org-icalendar-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-latex" "ox-latex.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-latex.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-latex" '("org-latex-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-man" "ox-man.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-man.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-man" '("org-man-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-md" "ox-md.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-md.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-md" '("org-md-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-odt" "ox-odt.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-odt.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-odt" '("org-odt-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-org" "ox-org.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-org.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-org" '("org-org-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-publish" "ox-publish.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-publish.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-publish" '("org-publish-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads "actual autoloads are elsewhere" "ox-texinfo" "ox-texinfo.el" |
| | | ;;;;;; (0 0 0 0)) |
| | | ;;; Generated autoloads from ox-texinfo.el |
| | | |
| | | (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ox-texinfo" '("org-texinfo-"))) |
| | | |
| | | ;;;*** |
| | | |
| | | ;;;### (autoloads nil nil ("ob-core.el" "ob-keys.el" "ob-lob.el" |
| | | ;;;;;; "ob-matlab.el" "ob-tangle.el" "ob.el" "org-archive.el" "org-attach.el" |
| | | ;;;;;; "org-bbdb.el" "org-clock.el" "org-datetree.el" "org-element.el" |
| | | ;;;;;; "org-feed.el" "org-footnote.el" "org-id.el" "org-indent.el" |
| | | ;;;;;; "org-install.el" "org-irc.el" "org-loaddefs.el" "org-mobile.el" |
| | | ;;;;;; "org-pkg.el" "org-plot.el" "org-table.el" "org-timer.el" |
| | | ;;;;;; "ox-ascii.el" "ox-beamer.el" "ox-html.el" "ox-icalendar.el" |
| | | ;;;;;; "ox-latex.el" "ox-man.el" "ox-md.el" "ox-odt.el" "ox-org.el" |
| | | ;;;;;; "ox-publish.el" "ox-texinfo.el" "ox.el") (0 0 0 0)) |
| | | |
| | | ;;;*** |
| | | |
| | | ;; Local Variables: |
| | | ;; version-control: never |
| | | ;; no-byte-compile: t |
| | | ;; no-update-autoloads: t |
| | | ;; coding: utf-8 |
| | | ;; End: |
| | | ;;; org-autoloads.el ends here |
elpa/org-9.1.14/org-bbdb.el
elpa/org-9.1.14/org-bbdb.elc
elpa/org-9.1.14/org-bibtex.el
elpa/org-9.1.14/org-bibtex.elc
elpa/org-9.1.14/org-capture.el
elpa/org-9.1.14/org-capture.elc
elpa/org-9.1.14/org-clock.el
elpa/org-9.1.14/org-clock.elc
elpa/org-9.1.14/org-colview.el
elpa/org-9.1.14/org-colview.elc
elpa/org-9.1.14/org-compat.el
elpa/org-9.1.14/org-compat.elc
elpa/org-9.1.14/org-crypt.el
elpa/org-9.1.14/org-crypt.elc
elpa/org-9.1.14/org-ctags.el
elpa/org-9.1.14/org-ctags.elc
elpa/org-9.1.14/org-datetree.el
elpa/org-9.1.14/org-datetree.elc
elpa/org-9.1.14/org-docview.el
elpa/org-9.1.14/org-docview.elc
elpa/org-9.1.14/org-duration.el
elpa/org-9.1.14/org-duration.elc
elpa/org-9.1.14/org-element.el
elpa/org-9.1.14/org-element.elc
elpa/org-9.1.14/org-entities.el
elpa/org-9.1.14/org-entities.elc
elpa/org-9.1.14/org-eshell.el
elpa/org-9.1.14/org-eshell.elc
elpa/org-9.1.14/org-eww.el
elpa/org-9.1.14/org-eww.elc
elpa/org-9.1.14/org-faces.el
elpa/org-9.1.14/org-faces.elc
elpa/org-9.1.14/org-feed.el
elpa/org-9.1.14/org-feed.elc
elpa/org-9.1.14/org-footnote.el
elpa/org-9.1.14/org-footnote.elc
elpa/org-9.1.14/org-gnus.el
elpa/org-9.1.14/org-gnus.elc
elpa/org-9.1.14/org-habit.el
elpa/org-9.1.14/org-habit.elc
elpa/org-9.1.14/org-id.el
elpa/org-9.1.14/org-id.elc
elpa/org-9.1.14/org-indent.el
elpa/org-9.1.14/org-indent.elc
elpa/org-9.1.14/org-info.el
elpa/org-9.1.14/org-info.elc
elpa/org-9.1.14/org-inlinetask.el
elpa/org-9.1.14/org-inlinetask.elc
elpa/org-9.1.14/org-install.el
elpa/org-9.1.14/org-irc.el
elpa/org-9.1.14/org-irc.elc
elpa/org-9.1.14/org-lint.el
elpa/org-9.1.14/org-lint.elc
elpa/org-9.1.14/org-list.el
elpa/org-9.1.14/org-list.elc
elpa/org-9.1.14/org-loaddefs.el
elpa/org-9.1.14/org-macro.el
elpa/org-9.1.14/org-macro.elc
elpa/org-9.1.14/org-macs.el
elpa/org-9.1.14/org-macs.elc
elpa/org-9.1.14/org-mhe.el
elpa/org-9.1.14/org-mhe.elc
elpa/org-9.1.14/org-mobile.el
elpa/org-9.1.14/org-mobile.elc
elpa/org-9.1.14/org-mouse.el
elpa/org-9.1.14/org-mouse.elc
elpa/org-9.1.14/org-pcomplete.el
elpa/org-9.1.14/org-pcomplete.elc
elpa/org-9.1.14/org-pkg.el
elpa/org-9.1.14/org-pkg.elc
elpa/org-9.1.14/org-plot.el
elpa/org-9.1.14/org-plot.elc
elpa/org-9.1.14/org-protocol.el
elpa/org-9.1.14/org-protocol.elc
elpa/org-9.1.14/org-rmail.el
elpa/org-9.1.14/org-rmail.elc
elpa/org-9.1.14/org-src.el
elpa/org-9.1.14/org-src.elc
elpa/org-9.1.14/org-table.el
elpa/org-9.1.14/org-table.elc
elpa/org-9.1.14/org-timer.el
elpa/org-9.1.14/org-timer.elc
elpa/org-9.1.14/org-version.el
elpa/org-9.1.14/org-w3m.el
elpa/org-9.1.14/org-w3m.elc
elpa/org-9.1.14/org.el
elpa/org-9.1.14/org.elc
elpa/org-9.1.14/orgcard.pdf
elpa/org-9.1.14/ox-ascii.el
elpa/org-9.1.14/ox-ascii.elc
elpa/org-9.1.14/ox-beamer.el
elpa/org-9.1.14/ox-beamer.elc
elpa/org-9.1.14/ox-html.el
elpa/org-9.1.14/ox-html.elc
elpa/org-9.1.14/ox-icalendar.el
elpa/org-9.1.14/ox-icalendar.elc
elpa/org-9.1.14/ox-latex.el
elpa/org-9.1.14/ox-latex.elc
elpa/org-9.1.14/ox-man.el
elpa/org-9.1.14/ox-man.elc
elpa/org-9.1.14/ox-md.el
elpa/org-9.1.14/ox-md.elc
elpa/org-9.1.14/ox-odt.el
elpa/org-9.1.14/ox-odt.elc
elpa/org-9.1.14/ox-org.el
elpa/org-9.1.14/ox-org.elc
elpa/org-9.1.14/ox-publish.el
elpa/org-9.1.14/ox-publish.elc
elpa/org-9.1.14/ox-texinfo.el
elpa/org-9.1.14/ox-texinfo.elc
elpa/org-9.1.14/ox.el
elpa/org-9.1.14/ox.elc
elpa/org-bullets-20180208.2343/org-bullets-autoloads.el
elpa/org-bullets-20180208.2343/org-bullets-pkg.el
elpa/org-bullets-20180208.2343/org-bullets.el
elpa/org-bullets-20180208.2343/org-bullets.elc
elpa/x86-lookup-20180528.1635/x86-lookup-autoloads.el
elpa/x86-lookup-20180528.1635/x86-lookup-pkg.el
elpa/x86-lookup-20180528.1635/x86-lookup.el
elpa/x86-lookup-20180528.1635/x86-lookup.elc
init.el~
projectile.cache
recentf
recentf~
semanticdb/!drive_c!Program Files!Emacs 26.1!share!emacs!26.1!lisp!nxml!semantic.cache
semanticdb/!drive_c!Program Files!Emacs 26.1!share!emacs!26.1!lisp!org!semantic.cache
semanticdb/!drive_c!Program Files!Emacs 26.1!share!emacs!26.1!lisp!progmodes!semantic.cache
semanticdb/!drive_c!Program Files!Emacs 26.1!share!emacs!26.1!lisp!semantic.cache
semanticdb/!drive_c!Program Files!Emacs 26.1!share!emacs!26.1!lisp!term!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!custom!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!helm-20181117.731!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!helm-core-20181117.1055!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!magit-20181116.1412!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!org-9.1.14!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!org-bullets-20180208.2343!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!elpa!x86-lookup-20180528.1635!semantic.cache
semanticdb/!drive_c!Users!joelg!.emacs.d!semantic.cache |