From 738498683fa3611d40384f4f9e560609a47ae9e2 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Thu, 4 Aug 2022 14:39:38 -0400 Subject: [PATCH] update code elpa --- .../all-the-icons-autoloads.el | 0 .../all-the-icons-faces.el | 0 .../all-the-icons-pkg.el | 4 +- .../all-the-icons.el | 70 +- .../data/data-alltheicons.el | 0 .../data/data-faicons.el | 0 .../data/data-fileicons.el | 17 +- .../data/data-material.el | 0 .../data/data-octicons.el | 0 .../data/data-weathericons.el | 0 .../all-the-icons-dired.el | 159 - .../all-the-icons-dired-autoloads.el | 0 .../all-the-icons-dired-pkg.el | 2 +- .../all-the-icons-dired.el | 116 + code/elpa/archives/gnu/archive-contents | 494 +- .../elpa/archives/gnu/archive-contents.signed | 2 +- code/elpa/archives/melpa/archive-contents | 2020 ++-- code/elpa/archives/nongnu/archive-contents | 401 +- .../archives/nongnu/archive-contents.signed | 2 +- .../async-autoloads.el | 0 .../async-bytecomp.el | 1 + .../async-pkg.el | 4 +- .../async.el | 0 .../dired-async.el | 0 .../smtpmail-async.el | 0 code/elpa/compat-28.1.1.0.signed | 1 - code/elpa/compat-28.1.1.0/compat-pkg.el | 2 - code/elpa/compat-28.1.1.0/compat.el | 99 - code/elpa/compat-28.1.2.0.signed | 1 + .../NEWS.org | 48 + .../compat-24.el | 12 +- .../compat-25.el | 7 +- .../compat-26.el | 18 +- .../compat-27.el | 111 +- .../compat-28.el | 54 +- .../compat-autoloads.el | 0 .../compat-font-lock.el | 0 .../compat-help.el | 0 .../compat-macs.el | 77 +- code/elpa/compat-28.1.2.0/compat-pkg.el | 2 + code/elpa/compat-28.1.2.0/compat.el | 65 + .../compat.info | 32 +- .../{compat-28.1.1.0 => compat-28.1.2.0}/dir | 0 .../dash-autoloads.el | 0 .../dash-pkg.el | 4 +- .../dash.el | 861 +- .../dash.info | 866 +- .../dir | 0 .../banners/1.txt | 0 .../banners/2.txt | 0 .../banners/3.txt | 0 .../banners/4.txt | 0 .../banners/emacs.png | Bin .../banners/logo.png | Bin .../dashboard-autoloads.el | 0 .../dashboard-pkg.el | 4 +- .../dashboard-widgets.el | 5 +- .../dashboard.el | 17 +- .../dired-single-pkg.el | 2 - .../dired-single-autoloads.el | 0 .../dired-single-pkg.el | 2 + .../dired-single.el | 7 +- .../doom-modeline-autoloads.el | 5 +- .../doom-modeline-core.el | 503 +- .../doom-modeline-env.el | 16 +- .../doom-modeline-pkg.el | 9 +- .../doom-modeline-segments.el | 904 +- .../doom-modeline.el | 40 +- .../elisp-refs-autoloads.el | 2 +- .../elisp-refs-pkg.el | 4 +- .../elisp-refs.el | 22 +- code/elpa/f-20220405.1534/f-pkg.el | 2 - .../f-autoloads.el | 4 + code/elpa/f-20220608.943/f-pkg.el | 14 + code/elpa/f-20220608.943/f-shortdoc.el | 379 + .../{f-20220405.1534 => f-20220608.943}/f.el | 217 +- .../git-commit-autoloads.el | 0 .../git-commit-pkg.el | 6 +- .../git-commit.el | 35 +- .../elpa/go-mode-20220114.2239/go-mode-pkg.el | 2 - .../go-mode-autoloads.el | 7 + code/elpa/go-mode-20220727.115/go-mode-pkg.el | 2 + .../go-mode.el | 58 +- code/elpa/helm-20220423.1712/helm-pkg.el | 11 - .../.dir-locals.el | 2 +- .../emacs-helm.sh | 4 +- .../helm-adaptive.el | 27 +- .../helm-autoloads.el | 17 +- .../helm-bookmark.el | 64 +- .../helm-buffers.el | 121 +- .../helm-color.el | 10 +- .../helm-comint.el | 12 +- .../helm-command.el | 56 +- .../helm-config.el | 10 +- .../helm-dabbrev.el | 26 +- .../helm-easymenu.el | 2 +- .../helm-elisp-package.el | 28 +- .../helm-elisp.el | 211 +- .../helm-epa.el | 6 +- .../helm-eshell.el | 24 +- .../helm-eval.el | 85 +- .../helm-external.el | 4 +- .../helm-fd.el | 2 +- .../helm-files.el | 912 +- .../helm-find.el | 2 +- .../helm-font.el | 2 +- .../helm-for-files.el | 4 +- .../helm-global-bindings.el | 8 +- .../helm-grep.el | 394 +- .../helm-help.el | 48 +- .../helm-id-utils.el | 2 +- .../helm-imenu.el | 182 +- .../helm-info.el | 2 +- .../helm-locate.el | 46 +- .../helm-man.el | 2 +- .../helm-misc.el | 6 +- .../helm-mode.el | 290 +- .../helm-net.el | 11 +- .../helm-occur.el | 90 +- code/elpa/helm-20220803.1447/helm-pkg.el | 11 + .../helm-regexp.el | 2 +- .../helm-ring.el | 2 +- .../helm-semantic.el | 2 +- .../helm-shell.el | 0 .../helm-sys.el | 8 +- .../helm-tags.el | 22 +- .../helm-types.el | 14 +- .../helm-utils.el | 36 +- .../helm-x-files.el | 2 +- .../helm.el | 11 +- .../helm-core-20220423.1804/helm-core-pkg.el | 11 - .../helm-core-autoloads.el | 22 +- .../helm-core-20220803.1447/helm-core-pkg.el | 11 + .../helm-core.el | 888 +- .../helm-lib.el | 70 +- .../helm-multi-match.el | 42 +- .../helm-source.el | 100 +- .../helm-ls-git-pkg.el | 2 - .../helm-ls-git-autoloads.el | 0 .../helm-ls-git-pkg.el | 2 + .../helm-ls-git.el | 480 +- code/elpa/helpful-20220412.421/helpful-pkg.el | 2 - .../helpful-autoloads.el | 0 .../elpa/helpful-20220704.1722/helpful-pkg.el | 2 + .../helpful.el | 37 +- .../lua-mode-20210809.1320/lua-mode-pkg.el | 2 - .../lua-mode-autoloads.el | 0 .../lua-mode-20220801.503/lua-mode-pkg.el | 2 + .../lua-mode.el | 16 +- .../AUTHORS.md | 33 +- .../LICENSE | 0 .../dir | 0 .../git-rebase.el | 59 +- .../magit-apply.el | 63 +- .../magit-autoloads.el | 78 +- .../magit-autorevert.el | 0 .../magit-base.el | 41 +- .../magit-bisect.el | 0 .../magit-blame.el | 39 +- .../magit-bookmark.el | 74 - .../magit-branch.el | 0 .../magit-bundle.el | 0 .../magit-clone.el | 0 .../magit-commit.el | 183 +- .../magit-core.el | 2 + .../magit-diff.el | 181 +- .../magit-ediff.el | 305 +- .../magit-extras.el | 3 +- .../magit-fetch.el | 0 .../magit-files.el | 3 +- .../magit-git.el | 192 +- .../magit-gitignore.el | 0 .../magit-log.el | 40 +- .../magit-margin.el | 6 +- .../magit-merge.el | 0 .../magit-mode.el | 240 +- .../magit-notes.el | 0 .../magit-obsolete.el | 0 .../magit-patch.el | 0 .../magit-pkg.el | 6 +- .../magit-process.el | 15 +- .../magit-pull.el | 0 .../magit-push.el | 69 +- .../magit-reflog.el | 0 .../magit-refs.el | 2 +- .../magit-remote.el | 0 .../magit-repos.el | 4 +- .../magit-reset.el | 2 + .../magit-sequence.el | 0 .../magit-sparse-checkout.el | 0 .../magit-stash.el | 0 .../magit-status.el | 21 +- .../magit-submodule.el | 3 +- .../magit-subtree.el | 0 .../magit-tag.el | 19 +- .../magit-transient.el | 0 .../magit-wip.el | 0 .../magit-worktree.el | 0 .../magit.el | 76 +- .../magit.info | 564 +- .../dir | 0 .../magit-section-autoloads.el | 0 .../magit-section-pkg.el | 6 +- .../magit-section.el | 92 +- .../magit-section.info | 10 +- .../markdown-mode-pkg.el | 2 - .../markdown-mode-autoloads.el | 0 .../markdown-mode-pkg.el | 2 + .../markdown-mode.el | 133 +- .../dir | 0 .../doclicense.info | 0 .../modus-operandi-theme.el | 4 +- .../modus-themes-autoloads.el | 2 +- .../modus-themes-pkg.el | 6 +- .../modus-themes.el | 843 +- .../modus-themes.info | 992 +- .../modus-vivendi-theme.el | 4 +- .../persp-mode-pkg.el | 2 - .../persp-mode-autoloads.el | 0 .../persp-mode-20220507.32/persp-mode-pkg.el | 2 + .../persp-mode.el | 6 +- .../projectile-autoloads.el | 6 +- .../projectile-pkg.el | 2 +- .../projectile.el | 192 +- .../python-mode-autoloads.el | 107 - .../completion/pycomplete.el | 0 .../completion/pycomplete.py | 0 .../python-mode-autoloads.el | 41 + .../python-mode-pkg.el | 2 +- .../python-mode.el | 8280 +++++++---------- code/elpa/rainbow-mode-1.0.5.signed | 1 - .../rainbow-mode-1.0.5/rainbow-mode-pkg.el | 2 - code/elpa/rainbow-mode-1.0.6.signed | 1 + .../rainbow-mode-autoloads.el | 4 + .../rainbow-mode-1.0.6/rainbow-mode-pkg.el | 2 + .../rainbow-mode.el | 167 +- .../rust-cargo.el | 32 +- .../rust-compile.el | 0 .../rust-mode-autoloads.el | 0 .../rust-mode-pkg.el | 4 +- .../rust-mode.el | 2 +- .../rust-playpen.el | 0 .../rust-rustfmt.el | 0 .../rust-utils.el | 0 .../dir | 0 .../transient-autoloads.el | 10 +- .../transient-pkg.el | 4 +- .../transient.el | 111 +- .../transient.info | 120 +- .../dir | 0 .../with-editor-autoloads.el | 0 .../with-editor-pkg.el | 4 +- .../with-editor.el | 40 +- .../with-editor.info | 0 254 files changed, 13489 insertions(+), 12416 deletions(-) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/all-the-icons-autoloads.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/all-the-icons-faces.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/all-the-icons-pkg.el (70%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/all-the-icons.el (96%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-alltheicons.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-faicons.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-fileicons.el (96%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-material.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-octicons.el (100%) rename code/elpa/{all-the-icons-20220325.1238 => all-the-icons-20220801.1541}/data/data-weathericons.el (100%) delete mode 100644 code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired.el rename code/elpa/{all-the-icons-dired-20220304.1638 => all-the-icons-dired-20220620.1939}/all-the-icons-dired-autoloads.el (100%) rename code/elpa/{all-the-icons-dired-20220304.1638 => all-the-icons-dired-20220620.1939}/all-the-icons-dired-pkg.el (71%) create mode 100644 code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired.el rename code/elpa/{async-20220318.1342 => async-20220630.57}/async-autoloads.el (100%) rename code/elpa/{async-20220318.1342 => async-20220630.57}/async-bytecomp.el (99%) rename code/elpa/{async-20220318.1342 => async-20220630.57}/async-pkg.el (64%) rename code/elpa/{async-20220318.1342 => async-20220630.57}/async.el (100%) rename code/elpa/{async-20220318.1342 => async-20220630.57}/dired-async.el (100%) rename code/elpa/{async-20220318.1342 => async-20220630.57}/smtpmail-async.el (100%) delete mode 100644 code/elpa/compat-28.1.1.0.signed delete mode 100644 code/elpa/compat-28.1.1.0/compat-pkg.el delete mode 100644 code/elpa/compat-28.1.1.0/compat.el create mode 100644 code/elpa/compat-28.1.2.0.signed rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/NEWS.org (52%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-24.el (98%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-25.el (98%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-26.el (97%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-27.el (86%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-28.el (95%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-autoloads.el (100%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-font-lock.el (100%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-help.el (100%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat-macs.el (86%) create mode 100644 code/elpa/compat-28.1.2.0/compat-pkg.el create mode 100644 code/elpa/compat-28.1.2.0/compat.el rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/compat.info (98%) rename code/elpa/{compat-28.1.1.0 => compat-28.1.2.0}/dir (100%) rename code/elpa/{dash-20220417.2250 => dash-20220608.1931}/dash-autoloads.el (100%) rename code/elpa/{dash-20220417.2250 => dash-20220608.1931}/dash-pkg.el (67%) rename code/elpa/{dash-20220417.2250 => dash-20220608.1931}/dash.el (82%) rename code/elpa/{dash-20220417.2250 => dash-20220608.1931}/dash.info (93%) rename code/elpa/{dash-20220417.2250 => dash-20220608.1931}/dir (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/1.txt (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/2.txt (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/3.txt (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/4.txt (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/emacs.png (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/banners/logo.png (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/dashboard-autoloads.el (100%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/dashboard-pkg.el (72%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/dashboard-widgets.el (99%) rename code/elpa/{dashboard-20220409.620 => dashboard-20220717.905}/dashboard.el (96%) delete mode 100644 code/elpa/dired-single-20211101.2319/dired-single-pkg.el rename code/elpa/{dired-single-20211101.2319 => dired-single-20220726.137}/dired-single-autoloads.el (100%) create mode 100644 code/elpa/dired-single-20220726.137/dired-single-pkg.el rename code/elpa/{dired-single-20211101.2319 => dired-single-20220726.137}/dired-single.el (97%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline-autoloads.el (97%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline-core.el (79%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline-env.el (96%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline-pkg.el (58%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline-segments.el (83%) rename code/elpa/{doom-modeline-20220412.853 => doom-modeline-20220804.508}/doom-modeline.el (93%) rename code/elpa/{elisp-refs-20220220.2305 => elisp-refs-20220704.2141}/elisp-refs-autoloads.el (96%) rename code/elpa/{elisp-refs-20220220.2305 => elisp-refs-20220704.2141}/elisp-refs-pkg.el (65%) rename code/elpa/{elisp-refs-20220220.2305 => elisp-refs-20220704.2141}/elisp-refs.el (98%) delete mode 100644 code/elpa/f-20220405.1534/f-pkg.el rename code/elpa/{f-20220405.1534 => f-20220608.943}/f-autoloads.el (86%) create mode 100644 code/elpa/f-20220608.943/f-pkg.el create mode 100644 code/elpa/f-20220608.943/f-shortdoc.el rename code/elpa/{f-20220405.1534 => f-20220608.943}/f.el (76%) rename code/elpa/{git-commit-20220422.1903 => git-commit-20220803.2341}/git-commit-autoloads.el (100%) rename code/elpa/{git-commit-20220422.1903 => git-commit-20220803.2341}/git-commit-pkg.el (75%) rename code/elpa/{git-commit-20220422.1903 => git-commit-20220803.2341}/git-commit.el (98%) delete mode 100644 code/elpa/go-mode-20220114.2239/go-mode-pkg.el rename code/elpa/{go-mode-20220114.2239 => go-mode-20220727.115}/go-mode-autoloads.el (95%) create mode 100644 code/elpa/go-mode-20220727.115/go-mode-pkg.el rename code/elpa/{go-mode-20220114.2239 => go-mode-20220727.115}/go-mode.el (98%) delete mode 100644 code/elpa/helm-20220423.1712/helm-pkg.el rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/.dir-locals.el (82%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/emacs-helm.sh (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-adaptive.el (94%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-autoloads.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-bookmark.el (95%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-buffers.el (93%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-color.el (94%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-comint.el (95%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-command.el (92%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-config.el (77%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-dabbrev.el (96%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-easymenu.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-elisp-package.el (95%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-elisp.el (84%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-epa.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-eshell.el (96%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-eval.el (73%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-external.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-fd.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-files.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-find.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-font.el (99%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-for-files.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-global-bindings.el (94%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-grep.el (96%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-help.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-id-utils.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-imenu.el (57%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-info.el (99%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-locate.el (94%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-man.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-misc.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-mode.el (91%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-net.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-occur.el (92%) create mode 100644 code/elpa/helm-20220803.1447/helm-pkg.el rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-regexp.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-ring.el (99%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-semantic.el (99%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-shell.el (100%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-sys.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-tags.el (96%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-types.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-utils.el (97%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm-x-files.el (98%) rename code/elpa/{helm-20220423.1712 => helm-20220803.1447}/helm.el (81%) delete mode 100644 code/elpa/helm-core-20220423.1804/helm-core-pkg.el rename code/elpa/{helm-core-20220423.1804 => helm-core-20220803.1447}/helm-core-autoloads.el (93%) create mode 100644 code/elpa/helm-core-20220803.1447/helm-core-pkg.el rename code/elpa/{helm-core-20220423.1804 => helm-core-20220803.1447}/helm-core.el (94%) rename code/elpa/{helm-core-20220423.1804 => helm-core-20220803.1447}/helm-lib.el (97%) rename code/elpa/{helm-core-20220423.1804 => helm-core-20220803.1447}/helm-multi-match.el (90%) rename code/elpa/{helm-core-20220423.1804 => helm-core-20220803.1447}/helm-source.el (93%) delete mode 100644 code/elpa/helm-ls-git-20220418.657/helm-ls-git-pkg.el rename code/elpa/{helm-ls-git-20220418.657 => helm-ls-git-20220727.505}/helm-ls-git-autoloads.el (100%) create mode 100644 code/elpa/helm-ls-git-20220727.505/helm-ls-git-pkg.el rename code/elpa/{helm-ls-git-20220418.657 => helm-ls-git-20220727.505}/helm-ls-git.el (82%) delete mode 100644 code/elpa/helpful-20220412.421/helpful-pkg.el rename code/elpa/{helpful-20220412.421 => helpful-20220704.1722}/helpful-autoloads.el (100%) create mode 100644 code/elpa/helpful-20220704.1722/helpful-pkg.el rename code/elpa/{helpful-20220412.421 => helpful-20220704.1722}/helpful.el (99%) delete mode 100644 code/elpa/lua-mode-20210809.1320/lua-mode-pkg.el rename code/elpa/{lua-mode-20210809.1320 => lua-mode-20220801.503}/lua-mode-autoloads.el (100%) create mode 100644 code/elpa/lua-mode-20220801.503/lua-mode-pkg.el rename code/elpa/{lua-mode-20210809.1320 => lua-mode-20220801.503}/lua-mode.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/AUTHORS.md (95%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/LICENSE (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/dir (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/git-rebase.el (94%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-apply.el (95%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-autoloads.el (97%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-autorevert.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-base.el (97%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-bisect.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-blame.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-bookmark.el (52%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-branch.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-bundle.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-clone.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-commit.el (86%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-core.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-diff.el (96%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-ediff.el (61%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-extras.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-fetch.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-files.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-git.el (96%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-gitignore.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-log.el (98%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-margin.el (98%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-merge.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-mode.el (89%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-notes.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-obsolete.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-patch.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-pkg.el (74%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-process.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-pull.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-push.el (86%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-reflog.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-refs.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-remote.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-repos.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-reset.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-sequence.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-sparse-checkout.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-stash.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-status.el (97%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-submodule.el (99%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-subtree.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-tag.el (94%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-transient.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-wip.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit-worktree.el (100%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit.el (89%) rename code/elpa/{magit-20220425.1153 => magit-20220803.2341}/magit.info (97%) rename code/elpa/{magit-section-20220425.1002 => magit-section-20220803.2341}/dir (100%) rename code/elpa/{magit-section-20220425.1002 => magit-section-20220803.2341}/magit-section-autoloads.el (100%) rename code/elpa/{magit-section-20220425.1002 => magit-section-20220803.2341}/magit-section-pkg.el (60%) rename code/elpa/{magit-section-20220425.1002 => magit-section-20220803.2341}/magit-section.el (97%) rename code/elpa/{magit-section-20220425.1002 => magit-section-20220803.2341}/magit-section.info (97%) delete mode 100644 code/elpa/markdown-mode-20220406.410/markdown-mode-pkg.el rename code/elpa/{markdown-mode-20220406.410 => markdown-mode-20220708.6}/markdown-mode-autoloads.el (100%) create mode 100644 code/elpa/markdown-mode-20220708.6/markdown-mode-pkg.el rename code/elpa/{markdown-mode-20220406.410 => markdown-mode-20220708.6}/markdown-mode.el (99%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/dir (100%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/doclicense.info (100%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-operandi-theme.el (94%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-themes-autoloads.el (97%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-themes-pkg.el (50%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-themes.el (94%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-themes.info (89%) rename code/elpa/{modus-themes-20220421.1021 => modus-themes-20220804.500}/modus-vivendi-theme.el (94%) delete mode 100644 code/elpa/persp-mode-20220206.1742/persp-mode-pkg.el rename code/elpa/{persp-mode-20220206.1742 => persp-mode-20220507.32}/persp-mode-autoloads.el (100%) create mode 100644 code/elpa/persp-mode-20220507.32/persp-mode-pkg.el rename code/elpa/{persp-mode-20220206.1742 => persp-mode-20220507.32}/persp-mode.el (99%) rename code/elpa/{projectile-20220419.1102 => projectile-20220804.1530}/projectile-autoloads.el (99%) rename code/elpa/{projectile-20220419.1102 => projectile-20220804.1530}/projectile-pkg.el (56%) rename code/elpa/{projectile-20220419.1102 => projectile-20220804.1530}/projectile.el (97%) delete mode 100644 code/elpa/python-mode-20220408.1906/python-mode-autoloads.el rename code/elpa/{python-mode-20220408.1906 => python-mode-20220726.1741}/completion/pycomplete.el (100%) rename code/elpa/{python-mode-20220408.1906 => python-mode-20220726.1741}/completion/pycomplete.py (100%) create mode 100644 code/elpa/python-mode-20220726.1741/python-mode-autoloads.el rename code/elpa/{python-mode-20220408.1906 => python-mode-20220726.1741}/python-mode-pkg.el (75%) rename code/elpa/{python-mode-20220408.1906 => python-mode-20220726.1741}/python-mode.el (78%) delete mode 100644 code/elpa/rainbow-mode-1.0.5.signed delete mode 100644 code/elpa/rainbow-mode-1.0.5/rainbow-mode-pkg.el create mode 100644 code/elpa/rainbow-mode-1.0.6.signed rename code/elpa/{rainbow-mode-1.0.5 => rainbow-mode-1.0.6}/rainbow-mode-autoloads.el (94%) create mode 100644 code/elpa/rainbow-mode-1.0.6/rainbow-mode-pkg.el rename code/elpa/{rainbow-mode-1.0.5 => rainbow-mode-1.0.6}/rainbow-mode.el (89%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-cargo.el (70%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-compile.el (100%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-mode-autoloads.el (100%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-mode-pkg.el (63%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-mode.el (99%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-playpen.el (100%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-rustfmt.el (100%) rename code/elpa/{rust-mode-20220217.2009 => rust-mode-20220626.1126}/rust-utils.el (100%) rename code/elpa/{transient-20220425.1314 => transient-20220803.1000}/dir (100%) rename code/elpa/{transient-20220425.1314 => transient-20220803.1000}/transient-autoloads.el (91%) rename code/elpa/{transient-20220425.1314 => transient-20220803.1000}/transient-pkg.el (68%) rename code/elpa/{transient-20220425.1314 => transient-20220803.1000}/transient.el (97%) rename code/elpa/{transient-20220425.1314 => transient-20220803.1000}/transient.info (97%) rename code/elpa/{with-editor-20220422.1628 => with-editor-20220608.1017}/dir (100%) rename code/elpa/{with-editor-20220422.1628 => with-editor-20220608.1017}/with-editor-autoloads.el (100%) rename code/elpa/{with-editor-20220422.1628 => with-editor-20220608.1017}/with-editor-pkg.el (70%) rename code/elpa/{with-editor-20220422.1628 => with-editor-20220608.1017}/with-editor.el (97%) rename code/elpa/{with-editor-20220422.1628 => with-editor-20220608.1017}/with-editor.info (100%) diff --git a/code/elpa/all-the-icons-20220325.1238/all-the-icons-autoloads.el b/code/elpa/all-the-icons-20220801.1541/all-the-icons-autoloads.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/all-the-icons-autoloads.el rename to code/elpa/all-the-icons-20220801.1541/all-the-icons-autoloads.el diff --git a/code/elpa/all-the-icons-20220325.1238/all-the-icons-faces.el b/code/elpa/all-the-icons-20220801.1541/all-the-icons-faces.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/all-the-icons-faces.el rename to code/elpa/all-the-icons-20220801.1541/all-the-icons-faces.el diff --git a/code/elpa/all-the-icons-20220325.1238/all-the-icons-pkg.el b/code/elpa/all-the-icons-20220801.1541/all-the-icons-pkg.el similarity index 70% rename from code/elpa/all-the-icons-20220325.1238/all-the-icons-pkg.el rename to code/elpa/all-the-icons-20220801.1541/all-the-icons-pkg.el index b606660..def0036 100644 --- a/code/elpa/all-the-icons-20220325.1238/all-the-icons-pkg.el +++ b/code/elpa/all-the-icons-20220801.1541/all-the-icons-pkg.el @@ -1,6 +1,6 @@ -(define-package "all-the-icons" "20220325.1238" "A library for inserting Developer icons" +(define-package "all-the-icons" "20220801.1541" "A library for inserting Developer icons" '((emacs "24.3")) - :commit "65c496d3d1d1298345beb9845840067bffb2ffd8" :authors + :commit "6f876fa11ef64af20d9b2a44fdabac6446de51ba" :authors '(("Dominic Charlesworth" . "dgc336@gmail.com")) :maintainer '("Dominic Charlesworth" . "dgc336@gmail.com") diff --git a/code/elpa/all-the-icons-20220325.1238/all-the-icons.el b/code/elpa/all-the-icons-20220801.1541/all-the-icons.el similarity index 96% rename from code/elpa/all-the-icons-20220325.1238/all-the-icons.el rename to code/elpa/all-the-icons-20220801.1541/all-the-icons.el index 999246e..d7111aa 100644 --- a/code/elpa/all-the-icons-20220325.1238/all-the-icons.el +++ b/code/elpa/all-the-icons-20220801.1541/all-the-icons.el @@ -120,6 +120,11 @@ :group 'all-the-icons :type 'number) +(defcustom all-the-icons-fonts-subdirectory nil + "The subdirectory within the system fonts folder where the icons are installed." + :group 'all-the-icons + :type 'directory) + (defvar all-the-icons-font-families '() "List of defined icon font families.") (defvar all-the-icons-font-names '() "List of defined font file names this package was built with.") @@ -136,6 +141,8 @@ ("babelrc" all-the-icons-fileicon "babel" :face all-the-icons-yellow) ("bashrc" all-the-icons-alltheicon "script" :height 0.9 :face all-the-icons-dpink) ("bowerrc" all-the-icons-alltheicon "bower" :height 1.0 :v-adjust 0.0 :face all-the-icons-silver) + ("cr" all-the-icons-fileicon "crystal" :v-adjust 0.0 :face all-the-icons-yellow) + ("ecr" all-the-icons-fileicon "crystal" :v-adjust 0.0 :face all-the-icons-yellow) ("ini" all-the-icons-octicon "settings" :v-adjust 0.0 :face all-the-icons-yellow) ("eslintignore" all-the-icons-fileicon "eslint" :height 0.9 :face all-the-icons-purple) ("eslint" all-the-icons-fileicon "eslint" :height 0.9 :face all-the-icons-lpurple) @@ -202,6 +209,9 @@ ("rd" all-the-icons-fileicon "R" :face all-the-icons-lblue) ("rdx" all-the-icons-fileicon "R" :face all-the-icons-lblue) ("rsx" all-the-icons-fileicon "R" :face all-the-icons-lblue) + ("svelte" all-the-icons-fileicon "svelte" :v-adjust 0.0 :face all-the-icons-red) + ("gql" all-the-icons-fileicon "graphql" :face all-the-icons-dpink) + ("graphql" all-the-icons-fileicon "graphql" :face all-the-icons-dpink) ;; There seems to be a a bug with this font icon which does not ;; let you propertise it without it reverting to being a lower ;; case phi @@ -344,6 +354,8 @@ ("fsscript" all-the-icons-fileicon "fsharp" :face all-the-icons-blue-alt) ;; zig ("zig" all-the-icons-fileicon "zig" :face all-the-icons-orange) + ;; odin + ("odin" all-the-icons-fileicon "odin" :height 1.1 :face all-the-icons-lblue) ;; File Types ("ico" all-the-icons-octicon "file-media" :v-adjust 0.0 :face all-the-icons-blue) ("png" all-the-icons-octicon "file-media" :v-adjust 0.0 :face all-the-icons-orange) @@ -426,24 +438,22 @@ for performance sake.") ("^readme" all-the-icons-octicon "book" :height 1.0 :v-adjust 0.0 :face all-the-icons-lcyan) ;; Config - ("^bower.json$" all-the-icons-alltheicon "bower" :height 1.0 :v-adjust 0.0 :face all-the-icons-lorange) - ("nginx$" all-the-icons-fileicon "nginx" :height 0.9 :face all-the-icons-dgreen) - ("apache$" all-the-icons-alltheicon "apache" :height 0.9 :face all-the-icons-dgreen) + ("nginx$" all-the-icons-fileicon "nginx" :height 0.9 :face all-the-icons-dgreen) + ("apache$" all-the-icons-alltheicon "apache" :height 0.9 :face all-the-icons-dgreen) + + ;; C ("^Makefile$" all-the-icons-fileicon "gnu" :face all-the-icons-dorange) ("^CMakeLists.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-red) ("^CMakeCache.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-blue) + ;; Docker ("^\\.?Dockerfile" all-the-icons-fileicon "dockerfile" :face all-the-icons-blue) + + ;; Homebrew ("^Brewfile$" all-the-icons-faicon "beer" :face all-the-icons-lsilver) - ("\\.npmignore$" all-the-icons-fileicon "npm" :face all-the-icons-dred) - ("^package.json$" all-the-icons-fileicon "npm" :face all-the-icons-red) - ("^package.lock.json$" all-the-icons-fileicon "npm" :face all-the-icons-dred) - ("^yarn\\.lock" all-the-icons-fileicon "yarn" :face all-the-icons-blue-alt) ;; ;; AWS ("^stack.*.json$" all-the-icons-alltheicon "aws" :face all-the-icons-orange) - - ("^serverless\\.yml$" all-the-icons-faicon "bolt" :v-adjust 0.0 :face all-the-icons-yellow) ;; lock files @@ -452,11 +462,12 @@ for performance sake.") ;; Source Codes ("^mix.lock$" all-the-icons-alltheicon "elixir" :face all-the-icons-lyellow :v-adjust -0.1 :height 0.9) - ("^Gemfile\\(\\.lock\\)?$" all-the-icons-alltheicon "ruby-alt" :face all-the-icons-red) - ("_?test\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-red) - ("_?test_helper\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-dred) - ("_?spec\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-red) - ("_?spec_helper\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-dred) + ;; Ruby + ("^Gemfile\\(\\.lock\\)?$" all-the-icons-alltheicon "ruby-alt" :face all-the-icons-red) + ("_?test\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-red) + ("_?test_helper\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-dred) + ("_?spec\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-red) + ("_?spec_helper\\.rb$" all-the-icons-fileicon "test-ruby" :height 1.0 :v-adjust 0.0 :face all-the-icons-dred) ("-?spec\\.ts$" all-the-icons-fileicon "test-typescript" :height 1.0 :v-adjust 0.0 :face all-the-icons-blue) ("-?test\\.ts$" all-the-icons-fileicon "test-typescript" :height 1.0 :v-adjust 0.0 :face all-the-icons-blue) @@ -471,16 +482,27 @@ for performance sake.") ;; Stylesheeting ("stylelint" all-the-icons-fileicon "stylelint" :face all-the-icons-lyellow) + ;; JavaScript + ("^package.json$" all-the-icons-fileicon "npm" :face all-the-icons-red) + ("^package.lock.json$" all-the-icons-fileicon "npm" :face all-the-icons-dred) + ("^yarn\\.lock" all-the-icons-fileicon "yarn" :face all-the-icons-blue-alt) + ("\\.npmignore$" all-the-icons-fileicon "npm" :face all-the-icons-dred) + ("^bower.json$" all-the-icons-alltheicon "bower" :height 1.0 :v-adjust 0.0 :face all-the-icons-lorange) ("^gulpfile" all-the-icons-alltheicon "gulp" :height 1.0 :face all-the-icons-lred) ("^gruntfile" all-the-icons-alltheicon "grunt" :height 1.0 :v-adjust -0.1 :face all-the-icons-lyellow) ("^webpack" all-the-icons-fileicon "webpack" :face all-the-icons-lblue) + ;; Go + ("^go.mod$" all-the-icons-fileicon "config-go" :height 1.0 :face all-the-icons-blue-alt) + ("^go.work$" all-the-icons-fileicon "config-go" :height 1.0 :face all-the-icons-blue-alt) + + ;; Emacs ("bookmark" all-the-icons-octicon "bookmark" :height 1.1 :v-adjust 0.0 :face all-the-icons-lpink) ("^\\*scratch\\*$" all-the-icons-faicon "sticky-note" :face all-the-icons-lyellow) ("^\\*scratch.*" all-the-icons-faicon "sticky-note" :face all-the-icons-yellow) - ("^\\*new-tab\\*$" all-the-icons-material "star" :face all-the-icons-cyan) + ("^\\*new-tab\\*$" all-the-icons-material "star" :face all-the-icons-cyan) ("^\\." all-the-icons-octicon "gear" :v-adjust 0.0) )) @@ -547,6 +569,7 @@ for performance sake.") (emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-purple) (circe-server-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) (circe-channel-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) + (crystal-mode all-the-icons-fileicon "crystal" :v-adjust 0.0 :face all-the-icons-yellow) (erc-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) (inferior-emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-lblue) (dired-mode all-the-icons-octicon "file-directory" :v-adjust 0.0) @@ -611,14 +634,18 @@ for performance sake.") (docker-compose-mode all-the-icons-fileicon "dockerfile" :face all-the-icons-lblue) (nxml-mode all-the-icons-faicon "file-code-o" :height 0.95 :face all-the-icons-lorange) (json-mode all-the-icons-octicon "settings" :face all-the-icons-yellow) + (jsonian-mode all-the-icons-octicon "settings" :face all-the-icons-yellow) (yaml-mode all-the-icons-octicon "settings" :v-adjust 0.0 :face all-the-icons-dyellow) (elisp-byte-code-mode all-the-icons-octicon "file-binary" :v-adjust 0.0 :face all-the-icons-dsilver) (archive-mode all-the-icons-octicon "file-zip" :v-adjust 0.0 :face all-the-icons-lmaroon) (elm-mode all-the-icons-fileicon "elm" :face all-the-icons-blue) (erlang-mode all-the-icons-alltheicon "erlang" :face all-the-icons-red :v-adjust -0.1 :height 0.9) (elixir-mode all-the-icons-alltheicon "elixir" :face all-the-icons-lorange :v-adjust -0.1 :height 0.9) - (java-mode all-the-icons-alltheicon "java" :height 1.0 :face all-the-icons-purple) - (go-mode all-the-icons-fileicon "go" :height 1.0 :face all-the-icons-blue) + (java-mode all-the-icons-alltheicon "java" :height 1.0 :face all-the-icons-purple) + (go-mode all-the-icons-fileicon "go" :height 1.0 :face all-the-icons-blue) + (go-dot-mod-mode all-the-icons-fileicon "config-go" :height 1.0 :face all-the-icons-blue-alt) + (go-dot-work-mode all-the-icons-fileicon "config-go" :height 1.0 :face all-the-icons-blue-alt) + (graphql-mode all-the-icons-fileicon "graphql" :face all-the-icons-dpink) (matlab-mode all-the-icons-fileicon "matlab" :face all-the-icons-orange) (nix-mode all-the-icons-fileicon "nix" :face all-the-icons-blue) (perl-mode all-the-icons-alltheicon "perl" :face all-the-icons-lorange) @@ -632,6 +659,7 @@ for performance sake.") (scala-mode all-the-icons-alltheicon "scala" :face all-the-icons-red) (scheme-mode all-the-icons-fileicon "scheme" :height 1.2 :face all-the-icons-red) (swift-mode all-the-icons-alltheicon "swift" :height 1.0 :v-adjust -0.1 :face all-the-icons-green) + (svelte-mode all-the-icons-fileicon "svelte" :v-adjust 0.0 :face all-the-icons-red) (c-mode all-the-icons-alltheicon "c-line" :face all-the-icons-blue) (c++-mode all-the-icons-alltheicon "cplusplus-line" :v-adjust -0.2 :face all-the-icons-blue) (csharp-mode all-the-icons-alltheicon "csharp-line" :face all-the-icons-dblue) @@ -689,6 +717,7 @@ for performance sake.") (hy-mode all-the-icons-fileicon "hy" :face all-the-icons-blue) (glsl-mode all-the-icons-fileicon "vertex-shader" :face all-the-icons-green) (zig-mode all-the-icons-fileicon "zig" :face all-the-icons-orange) + (odin-mode all-the-icons-fileicon "odin" :height 1.1 :face all-the-icons-lblue) (pdf-view-mode all-the-icons-octicon "file-pdf" :v-adjust 0.0 :face all-the-icons-dred) (elfeed-search-mode all-the-icons-faicon "rss-square" :face all-the-icons-orange) (elfeed-show-mode all-the-icons-faicon "rss" :face all-the-icons-orange) @@ -1065,10 +1094,13 @@ When PFX is non-nil, ignore the prompt and just install" ((member system-type '(gnu gnu/linux gnu/kfreebsd)) (concat (or (getenv "XDG_DATA_HOME") (concat (getenv "HOME") "/.local/share")) - "/fonts/")) + "/fonts/" + all-the-icons-fonts-subdirectory)) ;; Default MacOS install directory ((eq system-type 'darwin) - (concat (getenv "HOME") "/Library/Fonts/")))) + (concat (getenv "HOME") + "/Library/Fonts/" + all-the-icons-fonts-subdirectory)))) (known-dest? (stringp font-dest)) (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-alltheicons.el b/code/elpa/all-the-icons-20220801.1541/data/data-alltheicons.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/data/data-alltheicons.el rename to code/elpa/all-the-icons-20220801.1541/data/data-alltheicons.el diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-faicons.el b/code/elpa/all-the-icons-20220801.1541/data/data-faicons.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/data/data-faicons.el rename to code/elpa/all-the-icons-20220801.1541/data/data-faicons.el diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-fileicons.el b/code/elpa/all-the-icons-20220801.1541/data/data-fileicons.el similarity index 96% rename from code/elpa/all-the-icons-20220325.1238/data/data-fileicons.el rename to code/elpa/all-the-icons-20220801.1541/data/data-fileicons.el index df91ac4..b82e6eb 100644 --- a/code/elpa/all-the-icons-20220325.1238/data/data-fileicons.el +++ b/code/elpa/all-the-icons-20220801.1541/data/data-fileicons.el @@ -1,6 +1,6 @@ (defvar all-the-icons-data/file-icon-alist '( - + ( "1c" . "\xa5ea" ) ( "1c-alt" . "\xea28" ) ( "MJML" . "\xea6f" ) @@ -94,6 +94,16 @@ ( "clisp" . "\xe972" ) ( "composer" . "\xe683" ) ( "config" . "\xf07c" ) + ( "config-coffeescript" . "\xeb18" ) + ( "config-go" . "\xeb12" ) + ( "config-haskell" . "\xeb14" ) + ( "config-js" . "\xeb1a" ) + ( "config-perl" . "\xeb19" ) + ( "config-python" . "\xeb15" ) + ( "config-react" . "\xeb16" ) + ( "config-ruby" . "\xeb17" ) + ( "config-rust" . "\xeb13" ) + ( "config-typescript" . "\xeb1b" ) ( "coq" . "\xe95f" ) ( "cordova" . "\xea11" ) ( "cp" . "\xe942" ) @@ -302,6 +312,7 @@ ( "objective-j" . "\xe99e" ) ( "ocaml" . "\xe91a" ) ( "octave" . "\xea33" ) + ( "odin" . "\eb36" ) ( "onenote" . "\xe9eb" ) ( "ooc" . "\xe9cb" ) ( "opa" . "\x2601" ) @@ -415,6 +426,7 @@ ( "stylus-orb" . "\x53" ) ( "sublime" . "\xe986" ) ( "sv" . "\xe9c3" ) + ( "svelte" . "\x33dc" ) ( "svn" . "\xea17" ) ( "swagger" . "\xea29" ) ( "tag" . "\xf015" ) @@ -482,9 +494,8 @@ ( "yui" . "\xea00" ) ( "zbrush" . "\xe9f2" ) ( "zephir" . "\xe9c7" ) - ("zig" . "\x7A") + ( "zig" . "\x7A" ) ( "zimpl" . "\xe9c8" ) - ) ) diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-material.el b/code/elpa/all-the-icons-20220801.1541/data/data-material.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/data/data-material.el rename to code/elpa/all-the-icons-20220801.1541/data/data-material.el diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-octicons.el b/code/elpa/all-the-icons-20220801.1541/data/data-octicons.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/data/data-octicons.el rename to code/elpa/all-the-icons-20220801.1541/data/data-octicons.el diff --git a/code/elpa/all-the-icons-20220325.1238/data/data-weathericons.el b/code/elpa/all-the-icons-20220801.1541/data/data-weathericons.el similarity index 100% rename from code/elpa/all-the-icons-20220325.1238/data/data-weathericons.el rename to code/elpa/all-the-icons-20220801.1541/data/data-weathericons.el diff --git a/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired.el b/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired.el deleted file mode 100644 index 5c10ac4..0000000 --- a/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired.el +++ /dev/null @@ -1,159 +0,0 @@ -;;; all-the-icons-dired.el --- Shows icons for each file in dired mode -*- lexical-binding: t; -*- - -;; Copyright (C) 2016-2020 jtbm37 -;; Copyright (C) 2021 Jimmy Yuen Ho Wong - -;; Author: jtbm37 -;; Maintainer: Jimmy Yuen Ho Wong -;; Version: 2.0 -;; Package-Version: 20220304.1638 -;; Package-Commit: 147ed0dfd1034a686795a08dc63e2c293128597e -;; Keywords: files icons dired -;; Package-Requires: ((emacs "24.4") (all-the-icons "2.2.0")) -;; URL: https://github.com/wyuenho/all-the-icons-dired - -;; 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 . - -;;; Commentary: -;; To use this package, simply add this to your init.el: -;; (add-hook 'dired-mode-hook 'all-the-icons-dired-mode) - -;; To manually install, add this to your init.el before the hook mentioned above. -;; (add-to-load-path (expand-file-name "~/path/to/all-the-icons-dired")) -;; (load "all-the-icons-dired.el") - - -;;; Code: - -(require 'cl-lib) -(require 'dired) -(require 'all-the-icons) -(require 'subr-x) - -(defface all-the-icons-dired-dir-face - '((((background dark)) :foreground "white") - (((background light)) :foreground "black")) - "Face for the directory icon" - :group 'all-the-icons-faces) - -(defcustom all-the-icons-dired-v-adjust 0.01 - "The default vertical adjustment of the icon in the dired buffer." - :group 'all-the-icons - :type 'number) - -(defcustom all-the-icons-dired-monochrome t - "Whether to show the icons as the same color as the text on the same line." - :group 'all-the-icons - :type 'boolean) - -(defvar all-the-icons-dired-mode) - -(defun all-the-icons-dired--add-overlay (pos string) - "Add overlay to display STRING at POS." - (let ((ov (make-overlay (1- pos) pos))) - (overlay-put ov 'all-the-icons-dired-overlay t) - (overlay-put ov 'after-string string))) - -(defun all-the-icons-dired--overlays-in (beg end) - "Get all all-the-icons-dired overlays between BEG to END." - (cl-remove-if-not - (lambda (ov) - (overlay-get ov 'all-the-icons-dired-overlay)) - (overlays-in beg end))) - -(defun all-the-icons-dired--overlays-at (pos) - "Get all-the-icons-dired overlays at POS." - (apply #'all-the-icons-dired--overlays-in `(,pos ,pos))) - -(defun all-the-icons-dired--remove-all-overlays () - "Remove all `all-the-icons-dired' overlays." - (save-restriction - (widen) - (mapc #'delete-overlay - (all-the-icons-dired--overlays-in (point-min) (point-max))))) - -(defun all-the-icons-dired--refresh () - "Display the icons of files in a dired buffer." - (all-the-icons-dired--remove-all-overlays) - (save-excursion - (goto-char (point-min)) - (while (not (eobp)) - (when (dired-move-to-filename nil) - (let ((case-fold-search t)) - (when-let* ((file (dired-get-filename 'relative 'noerror)) - (icon (if (file-directory-p file) - (all-the-icons-icon-for-dir file - :face 'all-the-icons-dired-dir-face - :v-adjust all-the-icons-dired-v-adjust) - (apply 'all-the-icons-icon-for-file file - (append - `(:v-adjust ,all-the-icons-dired-v-adjust) - (when all-the-icons-dired-monochrome - `(:face ,(face-at-point)))))))) - (if (member file '("." "..")) - (all-the-icons-dired--add-overlay (dired-move-to-filename) " \t") - (all-the-icons-dired--add-overlay (dired-move-to-filename) (concat icon "\t")))))) - (forward-line 1)))) - -(defun all-the-icons-dired--refresh-advice (fn &rest args) - "Advice function for FN with ARGS." - (prog1 (apply fn args) - (when all-the-icons-dired-mode - (all-the-icons-dired--refresh)))) - -(defvar all-the-icons-dired-advice-alist - '((dired-aux dired-do-redisplay all-the-icons-dired--refresh-advice) - (dired-aux dired-create-directory all-the-icons-dired--refresh-advice) - (dired-aux dired-do-create-files all-the-icons-dired--refresh-advice) - (dired-aux dired-do-kill-lines all-the-icons-dired--refresh-advice) - (dired-aux dired-do-rename all-the-icons-dired--refresh-advice) - (dired-aux dired-insert-subdir all-the-icons-dired--refresh-advice) - (dired-aux dired-kill-subdir all-the-icons-dired--refresh-advice) - (dired wdired-abort-changes all-the-icons-dired--refresh-advice) - (dired dired-internal-do-deletions all-the-icons-dired--refresh-advice) - (dired-narrow dired-narrow--internal all-the-icons-dired--refresh-advice) - (dired-subtree dired-subtree-insert all-the-icons-dired--refresh-advice) - (dired-subtree dired-subtree-remove all-the-icons-dired--refresh-advice) - (dired dired-readin all-the-icons-dired--refresh-advice) - (dired dired-revert all-the-icons-dired--refresh-advice) - (find-dired find-dired-sentinel all-the-icons-dired--refresh-advice)) - "A list of file, adviced function, and advice function.") - -(defun all-the-icons-dired--setup () - "Setup `all-the-icons-dired'." - (setq-local tab-width 1) - (pcase-dolist (`(,file ,sym ,fn) all-the-icons-dired-advice-alist) - (with-eval-after-load file - (advice-add sym :around fn))) - (all-the-icons-dired--refresh)) - -(defun all-the-icons-dired--teardown () - "Functions used as advice when redisplaying buffer." - (kill-local-variable 'tab-width) - (pcase-dolist (`(,file ,sym ,fn) all-the-icons-dired-advice-alist) - (with-eval-after-load file - (advice-remove sym fn))) - (all-the-icons-dired--remove-all-overlays)) - -;;;###autoload -(define-minor-mode all-the-icons-dired-mode - "Display all-the-icons icon for each file in a dired buffer." - :lighter " all-the-icons-dired-mode" - (when (derived-mode-p 'dired-mode) - (if all-the-icons-dired-mode - (all-the-icons-dired--setup) - (all-the-icons-dired--teardown)))) - -(provide 'all-the-icons-dired) -;;; all-the-icons-dired.el ends here diff --git a/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired-autoloads.el b/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired-autoloads.el similarity index 100% rename from code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired-autoloads.el rename to code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired-autoloads.el diff --git a/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired-pkg.el b/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired-pkg.el similarity index 71% rename from code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired-pkg.el rename to code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired-pkg.el index e0def8d..891a31c 100644 --- a/code/elpa/all-the-icons-dired-20220304.1638/all-the-icons-dired-pkg.el +++ b/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired-pkg.el @@ -1,2 +1,2 @@ ;;; Generated package description from all-the-icons-dired.el -*- no-byte-compile: t -*- -(define-package "all-the-icons-dired" "20220304.1638" "Shows icons for each file in dired mode" '((emacs "24.4") (all-the-icons "2.2.0")) :commit "147ed0dfd1034a686795a08dc63e2c293128597e" :authors '(("jtbm37")) :maintainer '("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") :keywords '("files" "icons" "dired") :url "https://github.com/wyuenho/all-the-icons-dired") +(define-package "all-the-icons-dired" "20220620.1939" "Shows icons for each file in dired mode" '((emacs "24.4") (all-the-icons "2.2.0")) :commit "b5d3af1e47de09e6ac80d4d7fba516e6a3c38e26" :authors '(("jtbm37")) :maintainer '("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") :keywords '("files" "icons" "dired") :url "https://github.com/wyuenho/all-the-icons-dired") diff --git a/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired.el b/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired.el new file mode 100644 index 0000000..570e52b --- /dev/null +++ b/code/elpa/all-the-icons-dired-20220620.1939/all-the-icons-dired.el @@ -0,0 +1,116 @@ +;;; all-the-icons-dired.el --- Shows icons for each file in dired mode -*- lexical-binding: t; -*- + +;; Copyright (C) 2016-2020 jtbm37 +;; Copyright (C) 2021 Jimmy Yuen Ho Wong + +;; Author: jtbm37 +;; Maintainer: Jimmy Yuen Ho Wong +;; Version: 2.0 +;; Package-Version: 20220620.1939 +;; Package-Commit: b5d3af1e47de09e6ac80d4d7fba516e6a3c38e26 +;; Keywords: files icons dired +;; Package-Requires: ((emacs "24.4") (all-the-icons "2.2.0")) +;; URL: https://github.com/wyuenho/all-the-icons-dired + +;; 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 . + +;;; Commentary: +;; To use this package, simply add this to your init.el: +;; (add-hook 'dired-mode-hook 'all-the-icons-dired-mode) + +;; To manually install, add this to your init.el before the hook mentioned above. +;; (add-to-load-path (expand-file-name "~/path/to/all-the-icons-dired")) +;; (load "all-the-icons-dired.el") + + +;;; Code: + +(require 'dired) +(require 'all-the-icons) +(require 'subr-x) + +(defface all-the-icons-dired-dir-face + '((((background dark)) :foreground "white") + (((background light)) :foreground "black")) + "Face for the directory icon" + :group 'all-the-icons-faces) + +(defcustom all-the-icons-dired-v-adjust 0.01 + "The default vertical adjustment of the icon in the dired buffer." + :group 'all-the-icons + :type 'number) + +(defcustom all-the-icons-dired-monochrome t + "Whether to show the icons as the same color as the text on the same line." + :group 'all-the-icons + :type 'boolean) + +(defvar all-the-icons-dired-mode) + +(defun all-the-icons-dired--icon (file) + "Return the icon for FILE." + (if (file-directory-p file) + (all-the-icons-icon-for-dir file + :face 'all-the-icons-dired-dir-face + :v-adjust all-the-icons-dired-v-adjust) + (apply 'all-the-icons-icon-for-file file + (append + `(:v-adjust ,all-the-icons-dired-v-adjust) + (when all-the-icons-dired-monochrome + `(:face ,(face-at-point))))))) + +(defun all-the-icons-dired--put-icon (pos) + "Propertize POS with icon." + (let* ((file (dired-get-filename 'relative 'noerror)) + (icon (all-the-icons-dired--icon file))) + (put-text-property (1- pos) pos 'display + (if (member file '("." "..")) + " " + (concat " " icon " "))))) + +(defun all-the-icons-dired--propertize (&optional beg end &rest _) + "Add icons using text properties from BEG to END. +They defualt to `(point-min)' and `(point-max)'." + (let ((beg (or beg (point-min))) + (end (or end (point-max)))) + (when dired-subdir-alist + (with-silent-modifications + (save-excursion + (goto-char beg) + (while (< (point) end) + (when-let ((pos (dired-move-to-filename))) + (all-the-icons-dired--put-icon pos)) + (forward-line 1))))))) + +(defun all-the-icons-dired--setup () + "Setup `all-the-icons-dired'." + (add-hook 'dired-after-readin-hook #'all-the-icons-dired--propertize) + (advice-add 'dired-insert-set-properties :before #'all-the-icons-dired--propertize)) + +(defun all-the-icons-dired--teardown () + "Functions used as advice when redisplaying buffer." + (remove-hook 'dired-after-readin-hook #'all-the-icons-dired--propertize) + (advice-remove 'dired-insert-set-properties #'all-the-icons-dired--propertize)) + +;;;###autoload +(define-minor-mode all-the-icons-dired-mode + "Display all-the-icons icon for each file in a dired buffer." + :lighter " all-the-icons-dired-mode" + (when (derived-mode-p 'dired-mode) + (if all-the-icons-dired-mode + (all-the-icons-dired--setup) + (all-the-icons-dired--teardown)))) + +(provide 'all-the-icons-dired) +;;; all-the-icons-dired.el ends here diff --git a/code/elpa/archives/gnu/archive-contents b/code/elpa/archives/gnu/archive-contents index 055f2a5..d1f7149 100644 --- a/code/elpa/archives/gnu/archive-contents +++ b/code/elpa/archives/gnu/archive-contents @@ -18,11 +18,11 @@ ("Leo Liu" . "sdl.web@gmail.com")) (:keywords "tools" "processes" "convenience"))]) (ada-mode . - [(7 2 0) + [(7 2 1) ((uniquify-files (1 0 1)) (wisi - (3 1 5)) + (3 1 8)) (emacs (25 3))) "major-mode for editing Ada sources" tar @@ -30,7 +30,8 @@ (:keywords "languages" "ada") (:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")))]) + ("Stephen Leake" . "stephen_leake@stephe-leake.org")) + (:commit . "fa4f86a75b54d30fdc4f9bbf3ceeac24d2ab5e0b"))]) (ada-ref-man . [(2020 1) nil "Ada Reference Manual 2012" tar @@ -94,6 +95,17 @@ (:authors ("Matthew Carter" . "m@ahungry.com")) (:keywords "ahungry" "palette" "color" "theme" "emacs" "color-theme" "deftheme"))]) + (aircon-theme . + [(0 0 5) + ((emacs + (24 4))) + "Cool and legible light theme" tar + ((:url . "https://git.sr.ht/~chambln/aircon-theme.el") + (:keywords "faces") + (:maintainer "Gregory Chamberlain" . "~chambln/public-inbox@lists.sr.ht") + (:authors + ("Gregory Chamberlain" . "greg@cosine.blue")) + (:commit . "4741bd16f539ec8800dadc69f885b73b9fc2b106"))]) (all . [(1 0) nil "Edit all lines matching a given regexp" single @@ -195,15 +207,16 @@ (:url . "https://elpa.gnu.org/packages/bbdb.html") (:commit . "715f35b5f53d6bcdcb3754b4f98933df01b57c15"))]) (beacon . - [(1 3 3) - ((seq - (2 14))) - "Highlight the cursor whenever the window scrolls" single - ((:keywords "convenience") + [(1 3 4) + ((emacs + (25 1))) + "Highlight the cursor whenever the window scrolls" tar + ((:url . "https://github.com/Malabarba/beacon") + (:keywords "convenience") + (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) - (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") - (:url . "https://github.com/Malabarba/beacon"))]) + (:commit . "0cf8b60f62876f3e75653a5fb30d5d5cdd74c586"))]) (blist . [(0 1) nil "Display bookmarks in an ibuffer way" tar @@ -239,30 +252,31 @@ ("Serghei Iakovlev" . "egrep@protonmail.ch")) (:keywords "languages"))]) (boxy . - [(1 0 5) + [(1 1 1) ((emacs (26 1))) "A boxy layout framework" tar - ((:url . "https://gitlab.com/tygrdev/boxy.el") + ((:url . "https://gitlab.com/tygrdev/boxy") (:keywords "tools") (:maintainer "Tyler Grinn" . "tylergrinn@gmail.com") (:authors ("Tyler Grinn" . "tylergrinn@gmail.com")) - (:commit . "3a949d5b14349f33f27bc5041178445a0fedcc6c"))]) + (:commit . "350bc70ed16c4eccc3b20114347cbdc3591140f3"))]) (boxy-headings . - [(2 1 2) + [(2 1 3) ((emacs (26 1)) (boxy (1 0)) (org - (9 3))) + (9 4))) "View org files in a boxy diagram" tar ((:url . "https://gitlab.com/tygrdev/boxy-headings") (:keywords "tools") (:maintainer "Tyler Grinn" . "tylergrinn@gmail.com") (:authors - ("Tyler Grinn" . "tylergrinn@gmail.com")))]) + ("Tyler Grinn" . "tylergrinn@gmail.com")) + (:commit . "66fc9e50f02d6dee546fa6923ca28f1f64db9065"))]) (brief . [(5 87) nil "Brief Editor Emulator (Brief Mode)" tar @@ -272,16 +286,18 @@ (:keywords "brief" "emulations" "crisp") (:url . "http://elpa.gnu.org/packages/brief.html"))]) (buffer-env . - [(0 3) + [(0 4) ((emacs - (27 1))) + (27 1)) + (compat + (28 1))) "Buffer-local process environments" tar ((:url . "https://github.com/astoff/buffer-env") (:keywords "processes" "tools") (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) - (:commit . "ba1c9d24d3f1ba58445cbf1f762ba6859b66f6bf"))]) + (:commit . "7c176d043445ea94fe924a715158c25b91ec4776"))]) (buffer-expose . [(0 4 3) ((emacs @@ -307,7 +323,7 @@ ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:keywords "lisp"))]) (cape . - [(0 7) + [(0 8) ((emacs (27 1))) "Completion At Point Extensions" tar @@ -315,7 +331,7 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "51b9bf1276445faebfbad636d9b6a39dc57b22bc"))]) + (:commit . "7042b048c8820223551d75c643b958befe7411d2"))]) (capf-autosuggest . [(0 3) ((emacs @@ -477,28 +493,30 @@ ("Ingo Lohmar" . "i.lohmar@gmail.com")) (:keywords "abbrev" "convenience" "matching"))]) (compat . - [(28 1 1 0) + [(28 1 2 0) ((emacs (24 3)) (nadvice (0 3))) - "Compatibility Library" tar + "Emacs Lisp Compatibility Library" tar ((:url . "https://sr.ht/~pkal/compat") (:keywords "lisp") (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht") (:authors ("Philip Kaludercic" . "philipk@posteo.net")) - (:commit . "401df6defaf5ef470a2dc57664b2d258662a5c3d"))]) + (:commit . "6b70229adf1ad7c2227789061dd1b2fc00d36ad8"))]) (consult . - [(0 17) + [(0 18) ((emacs - (27 1))) + (27 1)) + (compat + (28 1))) "Consulting completing-read" tar ((:url . "https://github.com/minad/consult") (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler and Consult contributors")) - (:commit . "f517b70dd8a3be0b8c883633f2a7721448b40f0f"))]) + (:commit . "0f55ad146b327d82a4a6dfa674349bfbbf3820e4"))]) (context-coloring . [(8 1 0) ((emacs @@ -510,7 +528,7 @@ ("Jackson Ray Hamilton" . "jackson@jacksonrayhamilton.com")) (:keywords "convenience" "faces" "tools"))]) (corfu . - [(0 22) + [(0 26) ((emacs (27 1))) "Completion Overlay Region FUnction" tar @@ -518,7 +536,7 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "8591833f7dc76233dbe94b59c4eea9be6b4540f9"))]) + (:commit . "c07b8c168765c350ef4693d1d8cd26be43894872"))]) (coterm . [(1 5) ((emacs @@ -554,14 +572,24 @@ ("Douglas Lewan" . "d.lewan2000@gmail.com")) (:keywords "files") (:url . "http://elpa.gnu.org/packages/cpio-mode.html"))]) + (cpupower . + [(1 0 5) + nil "cpupower command interface" tar + ((:url . "https://gitlab.com/steve-emacs-stuff/cpupower-el") + (:keywords "hardware" "cpupower" "cpu" "frequency-scaling") + (:maintainer "Stephen Meister" . "pallagun@gmail.com") + (:authors + ("Stephen Meister" . "pallagun@gmail.com")) + (:commit . "fa979dfafa1beb374bf42e937f0b5b99ed06222e"))]) (crdt . - [(0 2 7) + [(0 3 0) nil "Collaborative editing using Conflict-free Replicated Data Types" tar ((:url . "https://code.librehq.com/qhong/crdt.el") (:keywords "collaboration" "crdt") (:maintainer "Qiantan Hong" . "qhong@alum.mit.edu") (:authors - ("Qiantan Hong" . "qhong@alum.mit.edu")))]) + ("Qiantan Hong" . "qhong@alum.mit.edu")) + (:commit . "77be6cded0e2d24fc9c132032ae3bf7ae8ed2cf9"))]) (crisp . [(1 3 6) nil "CRiSP/Brief Emacs emulator" single @@ -581,9 +609,9 @@ (:authors ("Theodor Thornhill" . "theo@thornhill.no")))]) (csv-mode . - [(1 19) + [(1 21) ((emacs - (24 1)) + (27 1)) (cl-lib (0 5))) "Major mode for editing comma/char separated values" tar @@ -592,18 +620,18 @@ (:authors ("\"Francis J. Wright\"" . "F.J.Wright@qmul.ac.uk")) (:url . "https://elpa.gnu.org/packages/csv-mode.html") - (:commit . "5c19624398bfd6b976cc9876db582e3e23611601"))]) + (:commit . "d10d68c382e17960fc9aaef072fd18a23ea92a86"))]) (cursory . - [(0 1 4) + [(0 2 1) ((emacs (27 1))) "Manage cursor styles using presets" tar ((:url . "https://git.sr.ht/~protesilaos/cursory") (:keywords "convenience" "cursor") - (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") + (:maintainer "Cursory Development" . "~protesilaos/cursory@lists.sr.ht") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "63c4b42ebe4446484bfb2a81b0b97ff65bcfbb3d"))]) + (:commit . "e04fd74d56bee52eccbc124c5395ee78e47189a0"))]) (cycle-quotes . [(0 1) nil "Cycle between quote styles" tar @@ -667,8 +695,29 @@ ("Phil Sainty" . "psainty@orcon.net.nz")) (:maintainer "Phil Sainty" . "psainty@orcon.net.nz") (:url . "https://savannah.nongnu.org/projects/delight"))]) + (denote . + [(0 4 0) + ((emacs + (27 2))) + "Simple notes with an efficient file-naming scheme" tar + ((:url . "https://git.sr.ht/~protesilaos/denote") + (:maintainer "Denote Development" . "~protesilaos/denote@lists.sr.ht") + (:authors + ("Protesilaos Stavrou" . "info@protesilaos.com")) + (:commit . "0ca421e3d403e0e81882b1a3584f482b97d27a15"))]) + (detached . + [(0 7) + ((emacs + (27 1))) + "A package to launch, and manage, detached processes" tar + ((:url . "https://sr.ht/~niklaseklund/detached.el/") + (:keywords "convenience" "processes") + (:maintainer "Niklas Eklund" . "niklas.eklund@posteo.net") + (:authors + ("Niklas Eklund" . "niklas.eklund@posteo.net")) + (:commit . "8402e7ef4574c719f114b15f89b4aecdddea1e1e"))]) (devdocs . - [(0 4) + [(0 5) ((emacs (27 1))) "Emacs viewer for DevDocs" tar @@ -677,7 +726,7 @@ (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) - (:commit . "cdc1a7cc3f05235883ffb098fe1c5a8963ed06e2"))]) + (:commit . "60099be5fc5c90d5adc2795b3bfacb492a0adb88"))]) (dict-tree . [(0 16) ((trie @@ -785,16 +834,18 @@ ("Chong Yidong" . "cyd@gnu.org")) (:maintainer "Chong Yidong" . "cyd@gnu.org"))]) (dtache . - [(0 5) + [(0 7) ((emacs - (27 1))) - "Run and interact with detached shell commands" tar - ((:url . "https://www.gitlab.com/niklaseklund/dtache.git") + (27 1)) + (detached + (0 7))) + "A package to launch, and manage, dtache processes" tar + ((:url . "https://sr.ht/~niklaseklund/dtache.el/") (:keywords "convenience" "processes") (:maintainer "Niklas Eklund" . "niklas.eklund@posteo.net") (:authors ("Niklas Eklund" . "niklas.eklund@posteo.net")) - (:commit . "ecf4c57d96eda400d9b2d5cfeaa9244993ae3603"))]) + (:commit . "b194f96af4e6298fe086a844115ea23300be7166"))]) (dts-mode . [(1 0) ((emacs @@ -871,7 +922,7 @@ (:maintainer "Markus Triska" . "triska@metalevel.at") (:url . "https://www.metalevel.at/ediprolog/"))]) (eev . - [(20220416) + [(20220626) ((emacs (24 4))) "Support for e-scripts (eepitch blocks, elisp hyperlinks, etc)" tar @@ -880,7 +931,7 @@ (:maintainer "Eduardo Ochs" . "eduardoochs@gmail.com") (:authors ("Eduardo Ochs" . "eduardoochs@gmail.com")) - (:commit . "84a0b6e6bb247efcb519c1e32de172aa55e184c7"))]) + (:commit . "3ef1f6af7e9d07c0ad2e330ae161061e57fd2a87"))]) (eglot . [(1 8) ((emacs @@ -917,7 +968,7 @@ (:keywords "lisp") (:url . "http://elpa.gnu.org/packages/el-search.html"))]) (eldoc . - [(1 11 1) + [(1 13 0) ((emacs (26 3))) "Show function arglist or variable docstring in echo area" tar @@ -926,7 +977,7 @@ (:authors ("Noah Friedman" . "friedman@splode.com")) (:url . "https://elpa.gnu.org/packages/eldoc.html") - (:commit . "45978f97be89ae989ecf9e7129b88592e70a1f24"))]) + (:commit . "5f64ba0efbfcbb6dc44add191427aca504b4c3cd"))]) (eldoc-eval . [(0 2) nil "Enable eldoc support when minibuffer is in use." tar @@ -952,7 +1003,7 @@ (:url . "https://elpa.gnu.org/packages/elisp-benchmarks.html") (:commit . "70e38dbfa8f4acbdebfd0f417410d99f5031e05f"))]) (embark . - [(0 16) + [(0 17) ((emacs (26 1))) "Conveniently act on minibuffer completions" tar @@ -961,24 +1012,24 @@ (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) - (:commit . "5faf1389162dd64bfe3511dfb8f52c18efb5140b"))]) + (:commit . "97270d725761ee02db461b45b18ec16ae31f203e"))]) (embark-consult . - [(0 5) + [(0 6) ((emacs - (26 1)) + (27 1)) (embark - (0 12)) + (0 17)) (consult - (0 10))) + (0 17))) "Consult integration for Embark" tar ((:url . "https://github.com/oantolin/embark") (:keywords "convenience") (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) - (:commit . "5faf1389162dd64bfe3511dfb8f52c18efb5140b"))]) + (:commit . "bd603d8f3b1bcff34aee2dc4b7b36dc7912b9b26"))]) (emms . - [(10) + [(11) ((cl-lib (0 5)) (nadvice @@ -991,17 +1042,18 @@ (:maintainer "Yoni Rabkin" . "yrk@gnu.org") (:authors ("Jorgen Schäfer" . "forcer@forcix.cx")) - (:commit . "6afe1b26d679357586380ecd69c9795985231013"))]) + (:commit . "9adffa2e362e3d93367f5f69be20d81b969ad00c"))]) (engrave-faces . - [(0 2 0) + [(0 3 1) ((emacs (27 1))) "Convert font-lock faces to other formats" tar ((:url . "https://github.com/tecosaur/engrave-faces") + (:keywords "faces") (:maintainer "TEC" . "tec@tecosaur.com") (:authors ("TEC ")) - (:keywords "faces"))]) + (:commit . "fe29d9b593a0f7ada4df3f52dfb9f7f8c1bdaaa7"))]) (enwc . [(2 0) ((emacs @@ -1136,6 +1188,16 @@ (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")))]) + (fontaine . + [(0 3 0) + ((emacs + (27 1))) + "Set font configurations using presets" tar + ((:url . "https://git.sr.ht/~protesilaos/fontaine") + (:maintainer "Fontaine Development" . "~protesilaos/fontaine@lists.sr.ht") + (:authors + ("Protesilaos Stavrou" . "info@protesilaos.com")) + (:commit . "9635653b16070dc290a98832d2515fe02f0605ac"))]) (frame-tabs . [(1 1) nil "show buffer tabs in side window" single @@ -1303,6 +1365,17 @@ (:authors ("Michael R. Mauger" . "michael@mauger.com")) (:maintainer "Michael R. Mauger" . "michael@mauger.com"))]) + (gtags-mode . + [(1 0) + ((emacs + (28))) + "GNU Global integration with xref, project and imenu." tar + ((:url . "https://github.com/Ergus/gtags-mode") + (:keywords "xref" "project" "imenu" "gtags" "global") + (:maintainer "Jimmy Aguilar Mena") + (:authors + ("Jimmy Aguilar Mena")) + (:commit . "f108a46c6c03eb5e18c73a908c655071aa153a14"))]) (guess-language . [(0 0 1) ((cl-lib @@ -1372,15 +1445,16 @@ ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:keywords "bindings"))]) (hyperbole . - [(7 1 3) + [(8 0 0) ((emacs - (27 1))) + (27 0))) "GNU Hyperbole: The Everyday Hypertextual Information Manager" tar ((:url . "http://www.gnu.org/software/hyperbole") + (:keywords "comm" "convenience" "files" "frames" "hypermedia" "languages" "mail" "matching" "mouse" "multimedia" "outlines" "tools" "wp") (:maintainer "Bob Weiner , Mats Lidell" . "matsl@gnu.org") (:authors ("Bob Weiner")) - (:keywords "comm" "convenience" "files" "frames" "hypermedia" "languages" "mail" "matching" "mouse" "multimedia" "outlines" "tools" "wp"))]) + (:commit . "4214716e06920a3e10db5811bd22a343ad6435d9"))]) (ilist . [(0 1) nil "Display a list in an ibuffer way." tar @@ -1389,6 +1463,17 @@ (:authors ("Durand" . "mmemmew@gmail.com")) (:url . "https://elpa.gnu.org/packages/ilist.html"))]) + (inspector . + [(0 5) + ((emacs + (27))) + "Tool for inspection of Emacs Lisp objects." tar + ((:url . "https://github.com/mmontone/emacs-inspector") + (:keywords "debugging" "tool" "emacs-lisp" "development") + (:maintainer "Mariano Montone" . "marianomontone@gmail.com") + (:authors + ("Mariano Montone" . "marianomontone@gmail.com")) + (:commit . "69df4a49f3e8260c9a43c227960ead4d821341bc"))]) (ioccur . [(2 6) ((emacs @@ -1487,13 +1572,14 @@ ("Feng Shu" . "tumashu@163.com") ("Naoya Yamashita" . "conao3@gmail.com")))]) (javaimp . - [(0 8) + [(0 9) nil "Add and reorder Java import statements in Maven/Gradle projects" tar ((:keywords "java" "maven" "gradle" "programming") (:maintainer "Filipp Gunbin" . "fgunbin@fastmail.fm") (:authors ("Filipp Gunbin" . "fgunbin@fastmail.fm")) - (:url . "https://elpa.gnu.org/packages/javaimp.html"))]) + (:url . "https://elpa.gnu.org/packages/javaimp.html") + (:commit . "65599a7954821c38e38949b5ec42891b41e75e13"))]) (jgraph-mode . [(1 1) ((cl-lib @@ -1505,7 +1591,7 @@ ("Stefan Monnier" . "monnier@iro.umontreal.ca")) (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) (js2-mode . - [(20211229) + [(20220710) ((emacs (24 1)) (cl-lib @@ -1517,7 +1603,8 @@ (:authors ("Steve Yegge" . "steve.yegge@gmail.com") ("mooz" . "stillpedant@gmail.com") - ("Dmitry Gutov" . "dgutov@yandex.ru")))]) + ("Dmitry Gutov" . "dgutov@yandex.ru")) + (:commit . "841cfec9570ae06a67a131997e2aff32340e81d7"))]) (json-mode . [(0 2) ((emacs @@ -1547,7 +1634,7 @@ ("Ivan Kanis" . "ivan@kanis.fr")) (:maintainer "Ivan Kanis" . "ivan@kanis.fr"))]) (kind-icon . - [(0 1 5) + [(0 1 6) ((emacs (27 1)) (svg-lib @@ -1558,7 +1645,7 @@ (:maintainer "J.D. Smith" . "jdtsmith@gmail.com") (:authors ("J.D. Smith" . "jdtsmith@gmail.com")) - (:commit . "235c3d20d1e667d6ac73e11d55a380e070b7cacf"))]) + (:commit . "f10bf6170769a1b0ef7d06347d1631fb6e71446b"))]) (kiwix . [(1 1 5) ((emacs @@ -1618,7 +1705,7 @@ ("Stefan Monnier" . "monnier@iro.umontreal.ca")) (:url . "http://elpa.gnu.org/packages/lex.html"))]) (lin . - [(0 3 1) + [(0 4 0) ((emacs (27 1))) "Make `hl-line-mode' more suitable for selection UIs" tar @@ -1627,7 +1714,7 @@ (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "520621e51a6f6882beda4420fa5ccee6682748dd"))]) + (:commit . "6d2493ce0b7e0891b85e03e103ddd5c68aeb60a6"))]) (lmc . [(1 4) ((emacs @@ -1673,7 +1760,7 @@ (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:url . "https://github.com/fourier/loccur"))]) (logos . - [(0 3 2) + [(0 4 0) ((emacs (27 1))) "Simple focus mode and extras" tar @@ -1682,7 +1769,7 @@ (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "dd25e36b64320f2ba9400a3929443aa81085e697"))]) + (:commit . "388bfbd9d8c880898d1832e888d5b41582dd1a85"))]) (map . [(3 2 1) ((emacs @@ -1806,16 +1893,16 @@ ("Protesilaos Stavrou" . "info@protesilaos.com")) (:keywords "faces" "theme" "accessibility"))]) (modus-themes . - [(2 3 0) + [(2 5 0) ((emacs (27 1))) "Elegant, highly legible and customizable themes" tar - ((:url . "https://gitlab.com/protesilaos/modus-themes") + ((:url . "https://git.sr.ht/~protesilaos/modus-themes") (:keywords "faces" "theme" "accessibility") - (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") + (:maintainer "Modus-Themes Development" . "~protesilaos/modus-themes@lists.sr.ht") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "7b08e3a8e41db1483322f48305f837e705540249"))]) + (:commit . "8a9839348fb8762c8843362595f2ca9de60d515c"))]) (modus-vivendi-theme . [(0 13 2) ((emacs @@ -1837,15 +1924,16 @@ (:authors ("Dave Love" . "fx@gnu.org")))]) (multishell . - [(1 1 9) + [(1 1 10) ((cl-lib (0 5))) - "Easily use multiple shell buffers, local and remote" tar + "Organize use of multiple shell buffers, local and remote" tar ((:url . "https://github.com/kenmanheimer/EmacsMultishell") + (:keywords "processes") (:maintainer "Ken Manheimer" . "ken.manheimer@gmail.com") (:authors ("Ken Manheimer" . "ken.manheimer@gmail.com")) - (:keywords "processes"))]) + (:commit . "aa1433b8df6d950e8592c7e878922b4ec5374569"))]) (muse . [(3 20 2) nil "Authoring and publishing tool for Emacs" tar @@ -1904,23 +1992,34 @@ (:keywords "convenience" "org-mode" "org-agenda") (:maintainer "Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr"))]) (nano-modeline . - [(0 6) + [(0 7 1) ((emacs (27 1))) "N Λ N O modeline" tar ((:url . "https://github.com/rougier/nano-modeline") (:keywords "convenience" "mode-line" "header-line") (:maintainer "Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr") - (:commit . "1c743a9dbe72a1bdc2196ad43a217060e163c929"))]) + (:commit . "823161c8894996e5c8375249f467a422579a2947"))]) (nano-theme . - [(0 3 0) + [(0 3 1) ((emacs (27 1))) "N Λ N O theme" tar ((:url . "https://github.com/rougier/nano-theme") (:keywords "theme" "dark" "light") (:maintainer "Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr") - (:commit . "11362f22ba631d84ae300fd3c4bd6db128ba5960"))]) + (:commit . "c4f296d349cf5ef2efd88d68535a4dbf577b9a87"))]) + (nftables-mode . + [(1 1) + ((emacs + (25 1))) + "Major mode for editing nftables" tar + ((:keywords "convenience") + (:maintainer nil . "emacs-devel@gnu.org") + (:authors + ("Trent W. Buck" . "trentbuck@gmail.com")) + (:url . "https://elpa.gnu.org/packages/nftables-mode.html") + (:commit . "05600129ee8ea0774c6ac446a2bd18fc1dde54eb"))]) (nhexl-mode . [(1 5) ((emacs @@ -2025,7 +2124,7 @@ ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:commit . "92008e762b30cb445a2227e458cbb9a5e1b1d4e8"))]) (org . - [(9 5 3) + [(9 5 4) ((emacs (25 1))) "Outline-based notes management and organizer" tar @@ -2034,7 +2133,7 @@ (:maintainer "Bastien Guerry" . "bzg@gnu.org") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) - (:commit . "69c588947d1be9bca1eb8c773f2a8ff117d264ba"))]) + (:commit . "e0b05b07528dea684f3439c017370436b8d37b50"))]) (org-edna . [(1 1 2) ((emacs @@ -2050,7 +2149,7 @@ ("Ian Dunn" . "dunni@gnu.org")) (:keywords "convenience" "text" "org"))]) (org-modern . - [(0 3) + [(0 4) ((emacs (27 1))) "Modern looks for Org" tar @@ -2058,9 +2157,20 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "64fa67a3e4cc7af4084bb879bd8a0e5380333bcf"))]) + (:commit . "5de3da1ff55b4567e9df3b234c09427aed2cbcd7"))]) + (org-notify . + [(0 1 0) + ((emacs + (25 1))) + "Notifications for Org-mode" tar + ((:url . "https://github.com/p-m/org-notify") + (:keywords "notification" "todo-list" "alarm" "reminder" "pop-up" "calendar") + (:maintainer "Peter Münster" . "pmrb@free.fr") + (:authors + ("Peter Münster" . "pmrb@free.fr")) + (:commit . "3a9c55aabdd1204f032fc02fd64ef643e0f19ae6"))]) (org-real . - [(1 0 4) + [(1 0 5) ((emacs (26 1)) (boxy @@ -2072,9 +2182,10 @@ (:keywords "tools") (:maintainer "Tyler Grinn" . "tylergrinn@gmail.com") (:authors - ("Tyler Grinn" . "tylergrinn@gmail.com")))]) + ("Tyler Grinn" . "tylergrinn@gmail.com")) + (:commit . "435f6361207cf98bb1c5f4c8e8a987005ba21d41"))]) (org-remark . - [(1 0 4) + [(1 0 5) ((emacs (27 1)) (org @@ -2085,9 +2196,9 @@ (:maintainer "Noboru Ota" . "me@nobiot.com") (:authors ("Noboru Ota" . "me@nobiot.com")) - (:commit . "e78cdff25edffc74bfe4c65f3a02777d454f6d96"))]) + (:commit . "576e5680682bfb80a50b057b8752e0674d766f8d"))]) (org-transclusion . - [(1 2 0) + [(1 3 0) ((emacs (27 1)) (org @@ -2098,7 +2209,7 @@ (:maintainer "Noboru Ota" . "me@nobiot.com") (:authors ("Noboru Ota" . "me@nobiot.com")) - (:commit . "2d44c56fb666da2dbb6c988389a21bee5bdd406c"))]) + (:commit . "5cb94542e18722bf72a281441e944a8039b5301f"))]) (org-translate . [(0 1 4) ((emacs @@ -2130,7 +2241,7 @@ (:keywords "comm" "processes" "multimedia") (:url . "https://elpa.gnu.org/packages/osc.html"))]) (osm . - [(0 6) + [(0 8) ((emacs (27 1))) "OpenStreetMap viewer" tar @@ -2138,7 +2249,7 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "f76decfd0e94d5fc030a1d5c3230c213c87b47ef"))]) + (:commit . "563d9646b1f8df37cefcec5d51d20249eba407da"))]) (other-frame-window . [(1 0 6) ((emacs @@ -2150,12 +2261,13 @@ ("Stephen Leake" . "stephen_leake@member.fsf.org")) (:maintainer "Stephen Leake" . "stephen_leake@member.fsf.org"))]) (pabbrev . - [(4 2 1) - nil "Predictive abbreviation expansion" single - ((:url . "http://elpa.gnu.org/packages/pabbrev.html") + [(4 2 2) + nil "Predictive abbreviation expansion" tar + ((:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) - (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) + (:url . "https://elpa.gnu.org/packages/pabbrev.html") + (:commit . "6de1b9e4b57b9e1a4d598d11f4476db9ee870637"))]) (paced . [(1 1 3) ((emacs @@ -2181,7 +2293,7 @@ ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:keywords "extensions"))]) (parser-generator . - [(0 1 5) + [(0 1 6) ((emacs (26))) "Parser Generator library" tar @@ -2190,7 +2302,7 @@ (:maintainer "Christian Johansson" . "christian@cvj.se") (:authors ("Christian Johansson" . "christian@cvj.se")) - (:commit . "bf7229332f7040d49fdac56e54da13d73752395d"))]) + (:commit . "db91a5f203ac39bcdfcd5276d3488394361c7f90"))]) (path-iterator . [(1 0) ((emacs @@ -2217,7 +2329,7 @@ ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:url . "http://elpa.gnu.org/packages/persist.html"))]) (phps-mode . - [(0 4 20) + [(0 4 24) ((emacs (26))) "Major mode for PHP with code intelligence" tar @@ -2226,7 +2338,7 @@ (:maintainer "Christian Johansson" . "christian@cvj.se") (:authors ("Christian Johansson" . "christian@cvj.se")) - (:commit . "3a09d15aa143b175235674f4cd45f92b0b0a6c36"))]) + (:commit . "49c379f9f6db473310a2625b0c6dfc77d9198b6f"))]) (pinentry . [(0 1) nil "GnuPG Pinentry server implementation" single @@ -2235,6 +2347,17 @@ (:authors ("Daiki Ueno" . "ueno@gnu.org")) (:maintainer "Daiki Ueno" . "ueno@gnu.org"))]) + (plz . + [(0 2) + ((emacs + (26 3))) + "HTTP library" tar + ((:url . "https://github.com/alphapapa/plz.el") + (:keywords "comm" "network" "http") + (:maintainer "Adam Porter" . "adam@alphapapa.net") + (:authors + ("Adam Porter" . "adam@alphapapa.net")) + (:commit . "9e9a370830a879592a4c6c9e66a5e9ec9f27d698"))]) (poker . [(0 2) nil "Texas hold 'em poker" single @@ -2281,18 +2404,18 @@ ("Scott Andrew Borton" . "scott@pp.htv.fi")) (:maintainer "John Darrington" . "john@darrington.wattle.id.au"))]) (pulsar . - [(0 3 1) + [(0 4 0) ((emacs (27 1))) "Pulse highlight on demand or after select functions" tar ((:url . "https://git.sr.ht/~protesilaos/pulsar") (:keywords "convenience" "pulse" "highlight") - (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") + (:maintainer "Pulsar Development" . "~protesilaos/pulsar@lists.sr.ht") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "86a7c429c6878287c068106b318889824cad3210"))]) + (:commit . "1b91e34af63240fcfc02e267d740a78590f1f2de"))]) (pyim . - [(4 2 0) + [(5 2 3) ((emacs (25 1)) (async @@ -2306,15 +2429,16 @@ (:authors ("Ye Wenbin" . "wenbinye@163.com") ("Feng Shu" . "tumashu@163.com")) - (:commit . "cd1bfd2bbc10fe0ac47d0ec383cde453f6019e6c"))]) + (:commit . "3d9d16b578a1136ef344b61db5f0d55cefcf4164"))]) (pyim-basedict . - [(0 5 0) + [(0 5 4) nil "The default pinyin dict of pyim" tar ((:url . "https://github.com/tumashu/pyim-basedict") + (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:maintainer "Feng Shu" . "tumashu@163.com") (:authors ("Feng Shu" . "tumashu@163.com")) - (:keywords "convenience" "chinese" "pinyin" "input-method" "complete"))]) + (:commit . "d61af27686f7a39e6c138b7261a686e7ea7a0ef7"))]) (python . [(0 28) ((emacs @@ -2346,13 +2470,14 @@ (:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org") (:url . "http://www.dr-qubit.org/emacs.php"))]) (rainbow-mode . - [(1 0 5) - nil "Colorize color names in buffers" single - ((:url . "http://elpa.gnu.org/packages/rainbow-mode.html") - (:keywords "faces") + [(1 0 6) + nil "Colorize color names in buffers" tar + ((:keywords "faces") + (:maintainer "Julien Danjou" . "julien@danjou.info") (:authors ("Julien Danjou" . "julien@danjou.info")) - (:maintainer "Julien Danjou" . "julien@danjou.info"))]) + (:url . "https://elpa.gnu.org/packages/rainbow-mode.html") + (:commit . "ac68593018ef3555e64ea592d72334f4e3e39209"))]) (rbit . [(0 1) nil "Red-black persistent interval trees" single @@ -2482,7 +2607,7 @@ (:authors ("Rocky Bernstein" . "rocky@gnu.org")))]) (rec-mode . - [(1 8 3) + [(1 9 0) ((emacs (25))) "Major mode for viewing/editing rec files" tar @@ -2490,7 +2615,7 @@ (:maintainer "Antoine Kalmbach" . "ane@iki.fi") (:authors ("Jose E. Marchesi" . "jemarch@gnu.org")) - (:commit . "24adb19f70f682f28d6edac03598b1fee971d599"))]) + (:commit . "09f828e9f54f32b56a805e4192588643d95c2f44"))]) (register-list . [(0 1) nil "Interactively list/edit registers" single @@ -2534,22 +2659,23 @@ ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:keywords "mode-line" "faces"))]) (rnc-mode . - [(0 2) - nil "Emacs mode to edit Relax-NG Compact files" single - ((:url . "http://elpa.gnu.org/packages/rnc-mode.html") - (:keywords "xml" "relaxng") + [(0 3) + nil "Emacs mode to edit Relax-NG Compact files" tar + ((:keywords "xml" "relaxng") + (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca") (:authors ("Stefan Monnier" . "monnier@iro.umontreal.ca")) - (:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))]) + (:url . "https://elpa.gnu.org/packages/rnc-mode.html") + (:commit . "dfee31d83208b734ed1d1fdc523565d7056db850"))]) (rt-liberation . - [(4) + [(5) nil "Emacs interface to RT" tar ((:url . "http://www.nongnu.org/rtliber/") (:keywords "rt" "tickets") (:maintainer "Yoni Rabkin" . "yrk@gnu.org") (:authors ("Yoni Rabkin" . "yrk@gnu.org")) - (:commit . "f9dbe356479c10c32a8f420e4f3d2c7a99edf9ce"))]) + (:commit . "b76ae2828b12efc5f45f51ba873489e049a70924"))]) (rudel . [(0 3 2) ((emacs @@ -2615,15 +2741,16 @@ ("Nicolas Petton" . "nicolas@petton.fr")) (:url . "https://elpa.gnu.org/packages/seq.html"))]) (setup . - [(1 2 0) + [(1 3 0) ((emacs (26 1))) "Helpful Configuration Macro" tar ((:url . "https://git.sr.ht/~pkal/setup") (:keywords "lisp" "local") - (:maintainer "Philip Kaludercic" . "philipk@posteo.net") + (:maintainer "Philip Kaludercic" . "~pkal/public-inbox@lists.sr.ht") (:authors - ("Philip Kaludercic" . "philipk@posteo.net")))]) + ("Philip Kaludercic" . "philipk@posteo.net")) + (:commit . "eece09d1151fd641f31d738b8c62742918993e95"))]) (shelisp . [(1 0 0) nil "execute elisp in shell" tar @@ -2775,13 +2902,25 @@ ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:keywords "processes" "mode-line"))]) (sql-beeline . - [(0 1) + [(0 2) nil "Beeline support for sql.el" tar - ((:keywords "sql" "hive" "beeline" "hiveserver2") + ((:keywords "sql" "hive" "beeline" "hiveserver2" "impala") (:maintainer "Filipp Gunbin" . "fgunbin@fastmail.fm") (:authors ("Filipp Gunbin" . "fgunbin@fastmail.fm")) - (:url . "https://elpa.gnu.org/packages/sql-beeline.html"))]) + (:url . "https://elpa.gnu.org/packages/sql-beeline.html") + (:commit . "b7ffff9404d93f569e3c2bc59db1be6e848c894f"))]) + (sql-cassandra . + [(0 2 2) + ((emacs + (29))) + "Cassandra support for sql.el" tar + ((:keywords "sql" "cassandra" "cql" "cqlsh") + (:maintainer "Filipp Gunbin" . "fgunbin@fastmail.fm") + (:authors + ("Filipp Gunbin" . "fgunbin@fastmail.fm")) + (:url . "https://elpa.gnu.org/packages/sql-cassandra.html") + (:commit . "3e997c6ad82f4240bcd62630ad44b5f023bd16c1"))]) (sql-indent . [(1 6) ((cl-lib @@ -2792,6 +2931,19 @@ (:authors ("Alex Harsanyi" . "AlexHarsanyi@gmail.com")) (:keywords "languages" "sql"))]) + (srht . + [(0 1) + ((emacs + (27 1)) + (plz + (0 1))) + "Sourcehut" tar + ((:url . "https://sr.ht/~akagi/srht.el/") + (:keywords "comm" "vc") + (:maintainer "Aleksandr Vityazev" . "avityazev@posteo.org") + (:authors + ("Aleksandr Vityazev" . "avityazev@posteo.org")) + (:commit . "e4648260024bef41006bc77b18a598623e7d7201"))]) (ssh-deploy . [(3 1 13) ((emacs @@ -2922,7 +3074,7 @@ ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com"))]) (tempel . - [(0 3) + [(0 4) ((emacs (27 1))) "Tempo templates/snippets with in-buffer field editing" tar @@ -2930,7 +3082,7 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "ee964c24b69579fcd5ec3c7d3d1d84d1ca3d90e4"))]) + (:commit . "ff9756b0646b1d06443eb4bdc64db443f1aa6c40"))]) (test-simple . [(1 3 0) ((cl-lib @@ -2961,18 +3113,35 @@ ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:keywords "convenience"))]) (tmr . - [(0 2 2) + [(0 4 0) ((emacs (27 1))) "Set timers using a convenient notation" tar ((:url . "https://git.sr.ht/~protesilaos/tmr") (:keywords "convenience" "timer") - (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") + (:maintainer "TMR Development" . "~protesilaos/tmr@lists.sr.ht") (:authors - ("Protesilaos Stavrou" . "info@protesilaos.com")) - (:commit . "bf13ea973126ea5a1a8f6d4216959d9da4ade979"))]) + ("Protesilaos Stavrou" . "info@protesilaos.com") + ("Damien Cassou" . "damien@cassou.me") + ("Daniel Mendler" . "mail@daniel-mendler.de")) + (:commit . "0d6ce6979c980f0d61c61d1f6478f805612315b4"))]) + (tomelr . + [(0 4 3) + ((emacs + (26 3)) + (map + (3 2 1)) + (seq + (2 23))) + "Convert S-expressions to TOML" tar + ((:url . "https://github.com/kaushalmodi/tomelr/") + (:keywords "data" "tools" "toml" "serialization" "config") + (:maintainer "Kaushal Modi" . "kaushal.modi@gmail.com") + (:authors + ("Kaushal Modi" . "kaushal.modi@gmail.com")) + (:commit . "670e0a08f625175fd80137cf69e799619bf8a381"))]) (tramp . - [(2 5 2 3) + [(2 5 3 1) ((emacs (25 1))) "Transparent Remote Access, Multiple Protocol" tar @@ -2981,7 +3150,7 @@ (:maintainer "Michael Albinus" . "michael.albinus@gmx.de") (:authors ("Kai Großjohann" . "kai.grossjohann@gmx.net")) - (:commit . "ad1b28dca70c70cd4c317dcb606c92dfb436ccee"))]) + (:commit . "c6e0674c4c8a0844a7555926a35e505ad4c1ff24"))]) (tramp-nspawn . [(1 0) ((emacs @@ -3063,7 +3232,7 @@ (:url . "https://elpa.gnu.org/packages/uni-confusables.html") (:commit . "393e1adeec5b0eb51f9606983655cfe2272c6e54"))]) (uniquify-files . - [(1 0 3) + [(1 0 4) ((emacs (25 0))) "Completion style for files, minimizing directories" tar @@ -3071,7 +3240,8 @@ (:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") (:authors ("Stephen Leake" . "stephen_leake@stephe-leake.org")) - (:url . "https://elpa.gnu.org/packages/uniquify-files.html"))]) + (:url . "https://elpa.gnu.org/packages/uniquify-files.html") + (:commit . "1d76b4f0e283afaff2be053d85f8726ffc3abd6e"))]) (url-http-ntlm . [(2 0 4) ((cl-lib @@ -3117,17 +3287,17 @@ (:authors ("Philip Kaludercic" . "philipk@posteo.net")))]) (vc-got . - [(1 1) + [(1 1 2) ((emacs (25 1))) "VC backend for Game of Trees VCS" tar - ((:url . "https://git.omarpolo.com/vc-got/") + ((:url . "https://projects.omarpolo.com/vc-got.html") (:keywords "vc" "tools") (:maintainer "Omar Polo" . "op@omarpolo.com") (:authors ("Omar Polo" . "op@omarpolo.com") ("Timo Myyrä" . "timo.myyra@bittivirhe.fi")) - (:commit . "86d9909a7e54c02179e40afd05693c00f6689edc"))]) + (:commit . "20cee209dece2d1a49daf68e043aa6e78b8a13e9"))]) (vc-hgcmd . [(1 14 1) ((emacs @@ -3139,14 +3309,16 @@ (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")))]) (vcard . - [(0 2 1) + [(0 2 2) ((emacs (27 1))) "Package for handling vCard files" tar - ((:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net") + ((:keywords "vcard" "mail" "news") + (:maintainer "Noah Friedman , Eric Abrahamsen" . "eric@ericabrahamsen.net") (:authors - ("Eric Abrahamsen" . "eric@ericabrahamsen.net")) - (:url . "https://elpa.gnu.org/packages/vcard.html"))]) + ("Noah Friedman" . "friedman@splode.com")) + (:url . "https://elpa.gnu.org/packages/vcard.html") + (:commit . "28b88fd8ed53ca12d9499175217af81f5ea161fc"))]) (vcl-mode . [(1 1) nil "Major mode for Varnish Configuration Language" single @@ -3178,7 +3350,7 @@ ("Wilson Snyder" . "wsnyder@wsnyder.org")) (:commit . "86f08fb377e2b8f2df0614c48783bdce347f3758"))]) (vertico . - [(0 23) + [(0 25) ((emacs (27 1))) "VERTical Interactive COmpletion" tar @@ -3186,7 +3358,7 @@ (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) - (:commit . "68bb4d67e295bd75b8ef1a6d5ddda26849510fa6"))]) + (:commit . "c511f874fa0f39e4691ab145b233bbe5b23e4fa2"))]) (vertico-posframe . [(0 5 4) ((emacs @@ -3213,15 +3385,16 @@ (:maintainer "Ian Dunn" . "dunni@gnu.org") (:url . "https://elpa.gnu.org/packages/vigenere.html"))]) (visual-filename-abbrev . - [(1 1) + [(1 2) ((emacs (26 1))) "Visually abbreviate filenames" tar - ((:maintainer "Tassilo Horn" . "tsdh@gnu.org") + ((:keywords "tools") + (:maintainer "Tassilo Horn" . "tsdh@gnu.org") (:authors ("Tassilo Horn" . "tsdh@gnu.org")) - (:keywords "tools") - (:url . "https://elpa.gnu.org/packages/visual-filename-abbrev.html"))]) + (:url . "https://elpa.gnu.org/packages/visual-filename-abbrev.html") + (:commit . "3c1a54e2cec935126a74e40920f2cb7929fa4e75"))]) (visual-fill . [(0 1) nil "Auto-refill paragraphs without modifying the buffer" single @@ -3323,17 +3496,18 @@ ("Bastien" . "bzg@gnu.org")) (:maintainer "Bastien" . "bzg@gnu.org"))]) (wisi . - [(3 1 7) + [(3 1 8) ((emacs (25 3)) (seq (2 20))) - "Utilities for implementing an indentation/navigation engine using a generalized LALR parser" tar + "Utilities for implementing an indentation/navigation engine using a generalized LR parser" tar ((:url . "http://stephe-leake.org/ada/wisitoken.html") (:keywords "parser" "indentation" "navigation") (:maintainer "Stephen Leake" . "stephen_leake@stephe-leake.org") (:authors - ("Stephen Leake" . "stephen_leake@stephe-leake.org")))]) + ("Stephen Leake" . "stephen_leake@stephe-leake.org")) + (:commit . "45f57f38c3771f00406cdf5c33ffc74c045d2b9e"))]) (wisitoken-grammar-mode . [(1 2 0) ((wisi @@ -3389,7 +3563,7 @@ (:authors ("Thien-Thi Nguyen" . "ttn@gnu.org")))]) (xr . - [(1 22) + [(1 23) ((emacs (26 1))) "Convert string regexp to rx notation" tar @@ -3398,14 +3572,14 @@ (:maintainer "Mattias Engdegård" . "mattiase@acm.org") (:authors ("Mattias Engdegård" . "mattiase@acm.org")) - (:commit . "a873bbbe9cdf1abab63fc94730966f5a8f9adaa6"))]) + (:commit . "74906f6d104b7daae162dc32684e0443e80fdb03"))]) (xref . - [(1 4 1) + [(1 5 0) ((emacs (26 1))) "Cross-referencing commands" tar ((:url . "https://elpa.gnu.org/packages/xref.html") - (:commit . "890b08e41580a716c2f0b3f1a40ef9b52a19372c"))]) + (:commit . "1b99f2908b7d2c17dc1231f83f499fe460ba926a"))]) (yasnippet . [(0 14 0) ((cl-lib diff --git a/code/elpa/archives/gnu/archive-contents.signed b/code/elpa/archives/gnu/archive-contents.signed index 03ad430..e5fbd7f 100644 --- a/code/elpa/archives/gnu/archive-contents.signed +++ b/code/elpa/archives/gnu/archive-contents.signed @@ -1 +1 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-04-25T05:10:02-0400 using RSA \ No newline at end of file +Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-08-03T17:05:03-0400 using RSA \ No newline at end of file diff --git a/code/elpa/archives/melpa/archive-contents b/code/elpa/archives/melpa/archive-contents index 3449034..1c28d88 100644 --- a/code/elpa/archives/melpa/archive-contents +++ b/code/elpa/archives/melpa/archive-contents @@ -5,15 +5,15 @@ (2048-game . [(20200417 259) nil "play 2048 in Emacs" single ((:commit . "aad4a590ea91f9a3256233b9b345e9159c6993f2") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:url . "https://hg.sr.ht/~zck/game-2048"))]) (2bit . [(20200926 1418) ((emacs (24 3))) "Library for reading data from 2bit files" single ((:commit . "69b4ec1d6d2ad95c9e59dacb43224abbec7a8989") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "files" "data") (:url . "https://github.com/davep/2bit.el"))]) (4clojure . [(20210102 459) ((request (0 2 0))) "Open and evaluate 4clojure.com questions." single ((:commit . "6f494d3905284ccdd57aae3d8ac16fc7ab431596") (:authors ("Joshua Hoff")) (:maintainer "Sasha Kovar" . "sasha-git@arcocene.org") (:keywords "languages" "data") (:url . "https://github.com/abend/4clojure.el"))]) - (750words . [(20210701 1950) ((emacs (24 4))) "Emacs integration and Org exporter for 750words.com" single ((:commit . "0fed7621c04debad64ea6455455494d4e6eb03fa") (:authors ("Diego Zamboni ")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:keywords "files" "org" "writing") (:url . "https://github.com/zzamboni/750words-client"))]) + (750words . [(20220625 1407) ((emacs (24 4))) "Emacs integration and Org exporter for 750words.com" single ((:commit . "8abef82d644223c7991beb689072889c72d1faee") (:authors ("Diego Zamboni ")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:keywords "files" "org" "writing") (:url . "https://github.com/zzamboni/750words-client"))]) (@ . [(20181225 1438) ((emacs (24 3))) "multiple-inheritance prototype-based objects DSL" tar ((:commit . "0a6189f8be42dbbc5d9358cbd447d471236135a2") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/at-el"))]) (a . [(20210929 1510) ((emacs (25))) "Associative data structure functions" single ((:commit . "93e5ed8c495794d1ba3c04b43041b95ce01079b1") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:keywords "lisp") (:url . "https://github.com/plexus/a.el"))]) (aa-edit-mode . [(20170119 320) ((emacs (24 3)) (navi2ch (2 0 0))) "Major mode for editing AA(S_JIS Art) and .mlt file" single ((:commit . "1dd801225b7ad3c23ad09698f5e77f0df7012a65") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "wp" "text" "shiftjis" "mlt" "yaruo"))]) - (aas . [(20220301 1628) ((emacs (26 3))) "Snippet expansions mid-typing" single ((:commit . "8ce591165e0bdc1a6ea76e78bc10c6b55bab9634") (:authors ("Yoav Marco" . "yoavm448@gmail.com")) (:maintainer "Yoav Marco" . "yoavm448@gmail.com") (:keywords "abbrev" "tools") (:url . "https://github.com/ymarco/auto-activating-snippets"))]) - (abc-mode . [(20210508 1552) nil "Major mode for editing abc music files" single ((:commit . "80fa954787b57d14e21e19bd65e52abab1686f4a") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu") (:keywords "local" "docs"))]) + (aas . [(20220426 2058) ((emacs (26 3))) "Snippet expansions mid-typing" single ((:commit . "566944e3b336c29d3ac11cd739a954c9d112f3fb") (:authors ("Yoav Marco" . "yoavm448@gmail.com")) (:maintainer "Yoav Marco" . "yoavm448@gmail.com") (:keywords "abbrev" "tools") (:url . "https://github.com/ymarco/auto-activating-snippets"))]) + (abc-mode . [(20220713 1359) nil "Major mode for editing abc music files" single ((:commit . "45193b67508861cf77da7e76b71711855c002caa") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu") (:keywords "local" "docs"))]) (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") (:authors ("Arne Köhn" . "arne@chark.eu")) (:maintainer "Arne Köhn" . "arne@chark.eu") (:keywords "mail" "outlines" "convenience") (:url . "http://arne.chark.eu/"))]) - (abl-mode . [(20210923 950) nil "Python TDD minor mode" single ((:commit . "0d6aace2ffd184137618a0c6e7f29826cbd8d1f9") (:authors ("Ulas Tuerkmen ")) (:maintainer "Ulas Tuerkmen ") (:url . "http://github.com/afroisalreadyinu/abl-mode"))]) - (abridge-diff . [(20220419 2358) ((emacs (26 1))) "Abridge long line-based diff hunks, including in magit" single ((:commit . "996d921da0a0ee651b3486c2afe29447f48be50f") (:authors ("J.D. Smith ")) (:maintainer "J.D. Smith ") (:keywords "magit" "diffs" "tools") (:url . "https://github.com/jdtsmith/abridge-diff"))]) + (abl-mode . [(20210923 950) nil "Python TDD minor mode" single ((:commit . "9c8c26c0de493f21cf4a68abad49f944d427bd88") (:authors ("Ulas Tuerkmen ")) (:maintainer "Ulas Tuerkmen ") (:url . "http://github.com/afroisalreadyinu/abl-mode"))]) + (abridge-diff . [(20220716 1641) ((emacs (26 1))) "Abridge long line-based diff hunks, including in magit" single ((:commit . "994bd47a8de5200018450ea19a610782eff3fafc") (:authors ("J.D. Smith ")) (:maintainer "J.D. Smith ") (:keywords "magit" "diffs" "tools") (:url . "https://github.com/jdtsmith/abridge-diff"))]) (abs-mode . [(20220316 921) ((emacs (26 1)) (erlang (2 8)) (maude-mode (0 3)) (flymake (1 0))) "Major mode for the modeling language Abs" single ((:commit . "d860ddbbd7cb93c7a77980c78c1a2a7634ef01e1") (:authors ("Rudi Schlatte" . "rudi@constantly.at")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:keywords "languages") (:url . "https://github.com/abstools/abs-mode"))]) (abyss-theme . [(20170808 1345) ((emacs (24))) "A dark theme with contrasting colours." single ((:commit . "18791c6e8d9cc2b4815c9f08627a2e94fc0eeb14") (:authors ("Matt Russell" . "matt@mgrbyte.co.uk")) (:maintainer "Matt Russell" . "matt@mgrbyte.co.uk") (:keywords "theme" "dark" "contrasting colours") (:url . "https://github.com/mgrbyte/emacs-abyss-theme"))]) (ac-alchemist . [(20150908 656) ((auto-complete (1 5 0)) (alchemist (1 5 0)) (cl-lib (0 5))) "auto-complete source for alchemist" single ((:commit . "b1891c3d41aed83f61d78a609ea97be5cc2758d9") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-alchemist"))]) @@ -39,15 +39,15 @@ (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") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:keywords "latex" "auto-complete" "unicode" "symbols") (:url . "https://github.com/vitoshka/ac-math"))]) (ac-mozc . [(20150227 1619) ((cl-lib (0 5)) (auto-complete (1 4)) (mozc (0))) "auto-complete sources for Japanese input using Mozc" single ((:commit . "4c6c8be4701010d9362184437c0f783e0335c631") (:authors ("igjit" . "igjit1@gmail.com")) (:maintainer "igjit" . "igjit1@gmail.com") (:url . "https://github.com/igjit/ac-mozc"))]) (ac-octave . [(20180406 334) ((auto-complete (1 4 0))) "An auto-complete source for Octave" single ((:commit . "fe0f931f2024f43de3c4fff4b1ace672413adeae") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:keywords "octave" "auto-complete" "completion") (:url . "https://github.com/coldnew/ac-octave"))]) - (ac-php . [(20200916 751) ((ac-php-core (2 0)) (auto-complete (1 4 0)) (yasnippet (0 8 0))) "Auto Completion source for PHP." single ((:commit . "f34e09783b77d1158ea139b7b3d8034bc52b0b9f") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) - (ac-php-core . [(20220418 419) ((dash (1)) (php-mode (1)) (s (1)) (f (0 17 0)) (popup (0 5 0)) (xcscope (1 0))) "The core library of the ac-php" tar ((:commit . "f34e09783b77d1158ea139b7b3d8034bc52b0b9f") (:authors ("jim" . "xcwenn@qq.com") ("Serghei Iakovlev" . "sadhooklay@gmail.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) + (ac-php . [(20200916 751) ((ac-php-core (2 0)) (auto-complete (1 4 0)) (yasnippet (0 8 0))) "Auto Completion source for PHP." single ((:commit . "dc563f4b1efeac8ae75f217532f4c99b4ba417de") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) + (ac-php-core . [(20220701 253) ((emacs (24 4)) (dash (1)) (php-mode (1)) (s (1)) (f (0 17 0)) (popup (0 5 0)) (xcscope (1 0))) "The core library of the ac-php" tar ((:commit . "dc563f4b1efeac8ae75f217532f4c99b4ba417de") (:authors ("jim" . "xcwenn@qq.com") ("Serghei Iakovlev" . "sadhooklay@gmail.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) (ac-racer . [(20170114 809) ((emacs (24 3)) (auto-complete (1 5 0)) (racer (0 0 2))) "auto-complete source of racer" single ((:commit . "4408c2d652dec0432e20c05e001db8222d778c6b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-ac-racer"))]) - (ac-rtags . [(20191222 920) ((auto-complete (1 4 0)) (rtags (2 10))) "auto-complete back-end for RTags" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (ac-rtags . [(20191222 920) ((auto-complete (1 4 0)) (rtags (2 10))) "auto-complete back-end for RTags" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) (ac-skk . [(20141230 119) ((auto-complete (1 3 1)) (ddskk (16 0 50)) (tinysegmenter (0)) (cl-lib (0 5))) "auto-complete-mode source for DDSKK a.k.a Japanese input method" single ((:commit . "d25a265930430d080329789fb253d786c01dfa24") (:authors ("lugecy ")) (:maintainer "myuhe") (:keywords "convenience" "auto-complete") (:url . "https://github.com/myuhe/ac-skk.el"))]) (ac-slime . [(20171027 2100) ((auto-complete (1 4)) (slime (2 9)) (cl-lib (0 5))) "An auto-complete source using slime completions" single ((:commit . "6c80cb602ddad46486288f94ad7546396c6e4b1a") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/ac-slime"))]) (ac-sly . [(20170728 1027) ((sly (1 0 0 -3)) (auto-complete (1 4)) (cl-lib (0 5))) "An auto-complete source using sly completions" single ((:commit . "bf69c687c4ecf1994349d20c182e9b567399912e") (:authors ("Damian T. Dobroczy\\'nski" . "qoocku@gmail.com")) (:maintainer "Damian T. Dobroczy\\'nski" . "qoocku@gmail.com") (:url . "https://github.com/qoocku/ac-sly"))]) (academic-phrases . [(20180723 1021) ((dash (2 12 0)) (s (1 12 0)) (ht (2 0)) (emacs (24))) "Bypass that mental block when writing your papers." single ((:commit . "25d9cf67feac6359cb213f061735e2679c84187f") (:authors ("Nasser Alshammari" . "designernasser@gmail.com")) (:maintainer "Nasser Alshammari" . "designernasser@gmail.com") (:keywords "academic" "convenience" "papers" "writing" "wp") (:url . "https://github.com/nashamri/academic-phrases"))]) - (accent . [(20220202 1312) ((emacs (24 3)) (popup (0 5 8))) "Popup for accented characters (diacritics)" single ((:commit . "6b502df6940587dae2dfbd349c22dfd44c803a86") (:authors ("Elia Scotto" . "eliascotto94@gmail.com")) (:maintainer "Elia Scotto" . "eliascotto94@gmail.com") (:keywords "i18n") (:url . "https://github.com/elias94/accent"))]) + (accent . [(20220202 1312) ((emacs (24 3)) (popup (0 5 8))) "Popup for accented characters (diacritics)" single ((:commit . "23af25e3f1629755b1b245364fbb93bf4ba933b9") (:authors ("Elia Scotto" . "eliascotto94@gmail.com")) (:maintainer "Elia Scotto" . "eliascotto94@gmail.com") (:keywords "i18n") (:url . "https://github.com/elias94/accent"))]) (ace-flyspell . [(20170309 509) ((avy (0 4 0))) "Jump to and correct spelling errors using `ace-jump-mode' and flyspell" single ((:commit . "538d4f8508d305262ba0228dfe7c819fb65b53c9") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions") (:url . "https://github.com/cute-jumper/ace-flyspell"))]) (ace-isearch . [(20210830 746) ((emacs (24))) "A seamless bridge between isearch, ace-jump-mode, avy, helm-swoop and swiper" single ((:commit . "8439136206a42e41ef95af923e0dc3bbd4fa306c") (:authors ("Akira Tamamori")) (:maintainer "Akira Tamamori") (:url . "https://github.com/tam17aki/ace-isearch"))]) (ace-jump-buffer . [(20171031 1550) ((avy (0 4 0)) (dash (2 4 0))) "fast buffer switching extension to `avy'" single ((:commit . "0d335064230caf3efdd5a732e8fbd67e3948ed6a") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:url . "https://github.com/waymondo/ace-jump-buffer"))]) @@ -68,18 +68,18 @@ (add-hooks . [(20171217 123) nil "Functions for setting multiple hooks" single ((:commit . "1845137703461fc44bd77cf24014ba58f19c369d") (:authors ("Nick McCurdy" . "nick@nickmccurdy.com")) (:maintainer "Nick McCurdy" . "nick@nickmccurdy.com") (:keywords "lisp") (:url . "https://github.com/nickmccurdy/add-hooks"))]) (add-node-modules-path . [(20220315 340) ((s (1 12 0))) "Add node_modules to your exec-path" single ((:commit . "63f047fd84b825876152743f66de7ee6f9ed203b") (:authors ("Neri Marschik" . "marschik_neri@cyberagent.co.jp")) (:maintainer "Neri Marschik" . "marschik_neri@cyberagent.co.jp") (:keywords "javascript" "node" "node_modules" "eslint") (:url . "https://github.com/codesuki/add-node-modules-path"))]) (addressbook-bookmark . [(20190612 1638) ((emacs (24))) "An address book based on Standard Emacs bookmarks." single ((:commit . "d8e502fc2f3d3ab1508ce9e50ebf8a9addc6e5b3") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/addressbook-bookmark"))]) - (ado-mode . [(20220415 1647) ((emacs (25 1))) "Major mode for editing Stata-related files" tar ((:commit . "07ab2979692d70ca21ac64313903d5347ab748a9") (:authors ("Bill Rising" . "brising@alum.mit.edu")) (:maintainer "Bill Rising" . "brising@alum.mit.edu") (:keywords "tools" "languages" "files" "convenience" "stata" "mata" "ado") (:url . "https://github.com/louabill/ado-mode"))]) - (adoc-mode . [(20160314 2130) ((markup-faces (1 0 0))) "a major-mode for editing AsciiDoc files in Emacs" single ((:commit . "745884359a1b8826ede2c4cfd2f0b5478953ac40") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:keywords "wp" "asciidoc") (:url . "https://github.com/sensorflo/adoc-mode/wiki"))]) + (ado-mode . [(20220415 1647) ((emacs (25 1))) "Major mode for editing Stata-related files" tar ((:commit . "695ea71cf4d6ae5f0afbc37b6fd08458e5c584c4") (:authors ("Bill Rising" . "brising@alum.mit.edu")) (:maintainer "Bill Rising" . "brising@alum.mit.edu") (:keywords "tools" "languages" "files" "convenience" "stata" "mata" "ado") (:url . "https://github.com/louabill/ado-mode"))]) + (adoc-mode . [(20220720 622) ((emacs (26)) (markup-faces (1 0 0))) "a major-mode for editing AsciiDoc files in Emacs" single ((:commit . "e0d08ee6d29289a475796e22b2298b028c02b408") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:keywords "asciidoc") (:url . "https://github.com/emacsorphanage/adoc-mode"))]) (aes . [(20211204 2348) ((emacs (26 1))) "Implementation of AES" single ((:commit . "c9cd12d6c1dbc18603eb4703276132cea59d5c78") (:authors ("Markus Sauermann" . "emacs-aes@sauermann-consulting.de")) (:maintainer "Markus Sauermann" . "emacs-aes@sauermann-consulting.de") (:keywords "data" "tools") (:url . "https://github.com/Sauermann/emacs-aes"))]) - (affe . [(20220407 2313) ((emacs (27 1)) (consult (0 16))) "Asynchronous Fuzzy Finder for Emacs" tar ((:commit . "a61d593d0cbff65a93111be96b9f53d3e640cf8d") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/affe"))]) + (affe . [(20220603 548) ((emacs (27 1)) (consult (0 16))) "Asynchronous Fuzzy Finder for Emacs" tar ((:commit . "0162da0aab3b30412eee5ebf68427361fc8fc26d") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/affe"))]) (afternoon-theme . [(20140104 1859) ((emacs (24 1))) "Dark color theme with a deep blue background" single ((:commit . "89b1d778a1f8b385775c122f2bd1c62f0fbf931a") (:authors ("Ozan Sener" . "ozan@ozansener.com")) (:maintainer "Ozan Sener" . "ozan@ozansener.com") (:keywords "themes") (:url . "http://github.com/osener/emacs-afternoon-theme"))]) (ag . [(20201031 2202) ((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 . "ed7e32064f92f1315cecbfc43f120bbc7508672c") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:url . "https://github.com/Wilfred/ag.el"))]) (agda-editor-tactics . [(20211024 2357) ((s (1 12 0)) (dash (2 16 0)) (emacs (27 1)) (org (9 1))) "An editor tactic to produce Σ-types from Agda records" single ((:commit . "c401c0c1ec0ad38bb5ee1636504e0e531b9e34b9") (:authors ("Musa Al-hassy" . "alhassy@gmail.com")) (:maintainer "Musa Al-hassy" . "alhassy@gmail.com") (:keywords "abbrev" "convenience" "languages" "agda" "tools") (:url . "https://github.com/alhassy/next-700-module-systems"))]) (aggressive-fill-paragraph . [(20180910 816) ((dash (2 10 0))) "A mode to automatically keep paragraphs filled" single ((:commit . "4a620e62b5e645a48b0a818bf4eb19daea4977df") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "fill-paragraph" "automatic" "comments") (:url . "https://github.com/davidshepherd7/aggressive-fill-paragraph-mode"))]) (aggressive-indent . [(20210701 2224) ((emacs (24 3))) "Minor mode to aggressively keep your code always indented" single ((:commit . "cb416faf61c46977c06cf9d99525b04dc109a33c") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "indent" "lisp" "maint" "tools") (:url . "https://github.com/Malabarba/aggressive-indent-mode"))]) (agtags . [(20200730 116) ((emacs (25))) "A frontend to GNU Global" tar ((:commit . "d80c6f61dee74040c07b7010d48cab1df13a3abf") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/vietor/agtags"))]) - (ah . [(20201213 218) ((emacs (25 1))) "Additional hooks" single ((:commit . "869219e7853510aeb00af3580aede0e5d49b324a") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:keywords "convenience") (:url . "https://github.com/takaxp/ah"))]) - (ahg . [(20210412 847) nil "Alberto's Emacs interface for Mercurial (Hg)" single ((:commit . "77bc2a628df006dcd2dc359ac12acdf8091a1356") (:authors ("Alberto Griggio" . "agriggio@users.sourceforge.net")) (:maintainer "Alberto Griggio" . "agriggio@users.sourceforge.net") (:url . "https://bitbucket.org/agriggio/ahg"))]) + (ah . [(20220730 1058) ((emacs (25 1))) "Additional hooks" single ((:commit . "8e12223f0f423e7fa882cc049a25af6db755902d") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:keywords "convenience") (:url . "https://github.com/takaxp/ah"))]) + (ahg . [(20220529 1200) nil "Alberto's Emacs interface for Mercurial (Hg)" single ((:commit . "d93cc73f79f6c29d533c468112181cd4c7b11935") (:authors ("Alberto Griggio" . "agriggio@users.sourceforge.net")) (:maintainer "Alberto Griggio" . "agriggio@users.sourceforge.net") (:url . "https://bitbucket.org/agriggio/ahg"))]) (ahk-mode . [(20200412 1832) ((emacs (24 3))) "Major mode for editing AHK (AutoHotkey and AutoHotkey_L)" single ((:commit . "729007b5f22a49f5187ff47fca18c0d674e73047") (:authors ("Rich Alesi")) (:maintainer "Rich Alesi") (:keywords "ahk" "autohotkey" "hotkey" "keyboard shortcut" "automation") (:url . "https://github.com/ralesi/ahk-mode"))]) (ahungry-theme . [(20180131 328) ((emacs (24))) "Ahungry color theme for Emacs. Make sure to (load-theme 'ahungry)." single ((:commit . "7d18c85c014671573628686012f3952fcd72c97b") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "palette" "color" "theme" "emacs" "color-theme" "deftheme") (:url . "https://github.com/ahungry/color-theme-ahungry"))]) (aio . [(20200610 1904) ((emacs (26 1))) "async/await for Emacs Lisp" tar ((:commit . "da93523e235529fa97d6f251319d9e1d6fc24a41") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacs-aio"))]) @@ -90,31 +90,31 @@ (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") (:authors ("Samuel Tonini" . "tonini.samuel@gmail.com")) (:maintainer "Samuel Tonini" . "tonini.samuel@gmail.com") (:keywords "languages" "elixir" "elixirc" "mix" "hex" "alchemist") (:url . "http://www.github.com/tonini/alchemist.el"))]) (alda-mode . [(20210705 654) ((emacs (24 0))) "An Alda major mode" single ((:commit . "4de011d572e958a377fb16daae05a1b411f0c8ad") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:keywords "alda" "highlight") (:url . "http://gitlab.com/jgkamat/alda-mode"))]) (alect-themes . [(20211022 1651) ((emacs (24 0))) "Configurable light, dark and black themes for Emacs 24 or later" tar ((:commit . "89560047934c236d05ea6b911c0c63702a8e06f3") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "color" "theme") (:url . "https://github.com/alezost/alect-themes"))]) - (alectryon . [(20211018 321) ((flycheck (31)) (emacs (25 1))) "Toggle between Coq and reStructuredText" tar ((:commit . "c8ab1ec50f7c62fb42a78c0617624b91ba62a162") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/cpitclaudel/alectryon"))]) + (alectryon . [(20211018 321) ((flycheck (31)) (emacs (25 1))) "Toggle between Coq and reStructuredText" tar ((:commit . "739b46da22d272e748f60f3efcd2989d696fba71") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/cpitclaudel/alectryon"))]) (alert . [(20200303 2118) ((gntp (0 1)) (log4e (0 3 0)) (cl-lib (0 5))) "Growl-style notification system for Emacs" single ((:commit . "7046393272686c7a1a9b3e7f7b1d825d2e5250a6") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "John Wiegley" . "jwiegley@gmail.com") (:keywords "notification" "emacs" "message") (:url . "https://github.com/jwiegley/alert"))]) (alert-termux . [(20181119 951) ((emacs (24 4))) "alert.el notifications on Termux" single ((:commit . "47c414285c2f5971f3be52aaf0a4066ea6989238") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu") (:keywords "terminals") (:url . "https://github.com/gergelypolonkai/alert-termux"))]) (alert-toast . [(20220312 229) ((emacs (25 1)) (alert (1 2)) (f (0 20 0)) (s (1 12 0))) "Windows 10 toast notifications" single ((:commit . "ba931529a266537783cfec2a28c2b8c058364ff2") (:authors ("Grzegorz Kowzan" . "grzegorz@kowzan.eu")) (:maintainer "Grzegorz Kowzan" . "grzegorz@kowzan.eu") (:url . "https://github.com/gkowzan/alert-toast"))]) (align-cljlet . [(20160112 2101) ((clojure-mode (1 11 5))) "Space align various Clojure forms" single ((:commit . "602d72a7ad52788a0265e3c6da519464a98166b8") (:url . "https://github.com/gstamp/align-cljlet"))]) (all-ext . [(20200315 1443) ((emacs (24 4)) (all (1 0))) "M-x all with helm-swoop/anything/multiple-cursors/line-number" single ((:commit . "c865c62506af2c9edc7705a7c24dc8b70d5d4de2") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "matching" "all" "search" "replace" "anything" "helm" "helm-swoop" "occur") (:url . "https://github.com/rubikitch/all-ext"))]) - (all-the-icons . [(20220325 1238) ((emacs (24 3))) "A library for inserting Developer icons" tar ((:commit . "65c496d3d1d1298345beb9845840067bffb2ffd8") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:keywords "convenient" "lisp") (:url . "https://github.com/domtronn/all-the-icons.el"))]) + (all-the-icons . [(20220801 1541) ((emacs (24 3))) "A library for inserting Developer icons" tar ((:commit . "6f876fa11ef64af20d9b2a44fdabac6446de51ba") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:keywords "convenient" "lisp") (:url . "https://github.com/domtronn/all-the-icons.el"))]) (all-the-icons-completion . [(20220409 1204) ((emacs (26 1)) (all-the-icons (5 0))) "Add icons to completion candidates" single ((:commit . "286e2c064a1298be0d8d4100dc91d7a7a554d04a") (:authors ("Itai Y. Efrat ")) (:maintainer "Itai Y. Efrat" . "itai3397@gmail.com") (:keywords "convenient" "lisp") (:url . "https://github.com/iyefrat/all-the-icons-completion"))]) - (all-the-icons-dired . [(20220304 1638) ((emacs (24 4)) (all-the-icons (2 2 0))) "Shows icons for each file in dired mode" single ((:commit . "147ed0dfd1034a686795a08dc63e2c293128597e") (:authors ("jtbm37")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:keywords "files" "icons" "dired") (:url . "https://github.com/wyuenho/all-the-icons-dired"))]) + (all-the-icons-dired . [(20220620 1939) ((emacs (24 4)) (all-the-icons (2 2 0))) "Shows icons for each file in dired mode" single ((:commit . "b5d3af1e47de09e6ac80d4d7fba516e6a3c38e26") (:authors ("jtbm37")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:keywords "files" "icons" "dired") (:url . "https://github.com/wyuenho/all-the-icons-dired"))]) (all-the-icons-gnus . [(20180511 654) ((emacs (24 4)) (dash (2 12 0)) (all-the-icons (3 1 0))) "Shows icons for in Gnus" single ((:commit . "27f78996da0725943bcfb2d18038e6f7bddfa9c7") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "mail" "tools"))]) - (all-the-icons-ibuffer . [(20220424 1027) ((emacs (24 4)) (all-the-icons (2 2 0))) "Display icons for all buffers in ibuffer" single ((:commit . "0fcb43eb440e18078c8faf67c27a2189bbb45dfb") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "icons" "ibuffer") (:url . "https://github.com/seagle0128/all-the-icons-ibuffer"))]) + (all-the-icons-ibuffer . [(20220424 1027) ((emacs (24 4)) (all-the-icons (2 2 0))) "Display icons for all buffers in ibuffer" single ((:commit . "370fff61b52b9d918da8af6c72edbc21e766c499") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "icons" "ibuffer") (:url . "https://github.com/seagle0128/all-the-icons-ibuffer"))]) (all-the-icons-ivy . [(20190508 1803) ((emacs (24 4)) (all-the-icons (2 4 0)) (ivy (0 8 0))) "Shows icons while using ivy and counsel" single ((:commit . "a70cbfa1effe36efc946a823a580cec686d5e88d") (:authors ("asok")) (:maintainer "asok") (:keywords "faces"))]) - (all-the-icons-ivy-rich . [(20220411 222) ((emacs (25 1)) (ivy-rich (0 1 0)) (all-the-icons (2 2 0))) "Better experience with icons for ivy" single ((:commit . "4b6123ac7850ca083ec791f50857341635a813aa") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "icons" "ivy") (:url . "https://github.com/seagle0128/all-the-icons-ivy-rich"))]) + (all-the-icons-ivy-rich . [(20220625 1332) ((emacs (25 1)) (ivy-rich (0 1 0)) (all-the-icons (2 2 0))) "Better experience with icons for ivy" single ((:commit . "616a39f71484b15d21d89ca40cd174e0ca15b8f4") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "icons" "ivy") (:url . "https://github.com/seagle0128/all-the-icons-ivy-rich"))]) (almost-mono-themes . [(20220422 1714) ((emacs (24))) "Almost monochromatic color themes" tar ((:commit . "0641bf565c113caef8d5c2a93f38cff32ebb62b7") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:keywords "faces") (:url . "https://github.com/cryon/almost-mono-themes"))]) (alsamixer . [(20191002 1133) nil "Functions to call out to amixer." single ((:commit . "1bdb99e433acd38685f05408562746cfbf2bc820") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:keywords "convenience") (:url . "https://github.com/remvee/alsamixer-el"))]) - (alt-codes . [(20220212 1526) ((emacs (26 1))) "Insert alt codes using meta key" single ((:commit . "dc0eb3f7b1bec182df6e831f5d09e519e8bb5fd6") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/alt-codes"))]) + (alt-codes . [(20220704 644) ((emacs (26 1))) "Insert alt codes using meta key" single ((:commit . "cd007b1627afc450a30183da82e50d611afe6b8e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "alt" "codes" "insertion" "meta") (:url . "https://github.com/jcs-elpa/alt-codes"))]) (amd-mode . [(20180111 1402) ((emacs (25)) (projectile (20161008 47)) (s (1 9 0)) (f (0 16 2)) (seq (2 16)) (makey (0 3)) (js2-mode (20140114)) (js2-refactor (0 6 1))) "Minor mode for handling JavaScript AMD module requirements." single ((:commit . "01fd19e0d635ccaf8e812364d8720733f2e84126") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com") (:keywords "javascript" "amd" "projectile"))]) (ameba . [(20200103 1454) ((emacs (24 4))) "An interface to Crystal Ameba linter" single ((:commit . "0c4925ae0e998818326adcb47ed27ddf9761c7dc") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:keywords "convenience") (:url . "https://github.com/crystal-ameba/ameba.el"))]) (ample-regexps . [(20200508 1021) nil "ample regular expressions for Emacs" tar ((:commit . "153969ce547afe410b8986f01c9ed4087c9cd20b") (:authors ("immerrr" . "immerrr@gmail.com")) (:maintainer "immerrr" . "immerrr@gmail.com") (:keywords "regexps" "extensions" "tools"))]) (ample-theme . [(20180207 1745) nil "Calm Dark Theme for Emacs" tar ((:commit . "f5a163626e04abda2d3c168f703c3f330f302a7c") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:keywords "theme" "dark") (:url . "https://github.com/jordonbiondo/ample-theme"))]) (ample-zen-theme . [(20150119 2154) nil "AmpleZen Theme for Emacs 24" single ((:commit . "b277bb7abd4b6624e8d59f02474b79af50a007bd") (:authors ("Michael Wall")) (:maintainer "Michael Wall") (:keywords "theme" "dark" "emacs 24") (:url . "https://github.com/mjwall/ample-zen"))]) - (amread-mode . [(20220210 1354) ((emacs (24 3)) (cl-lib (0 6 1))) "A minor mode helper user speed-reading" single ((:commit . "a3358645582148e81bff54e18877451b747173bb") (:keywords "wp") (:url . "https://repo.or.cz/amread-mode.git"))]) + (amread-mode . [(20220519 45) ((emacs (24 3)) (cl-lib (0 6 1))) "A minor mode helper user speed-reading" single ((:commit . "21f3cf796c08625cf70d534a990f4ae2273a5d4f") (:keywords "wp") (:url . "https://repo.or.cz/amread-mode.git"))]) (amsreftex . [(20220115 1838) ((emacs (25 1))) "Add amsrefs bibliography support for reftex" single ((:commit . "facf47b82572e3f62bd8d9b8d4f4d5258f6c8a38") (:authors ("Fran Burstall" . "fran.burstall@gmail.com")) (:maintainer "Fran Burstall" . "fran.burstall@gmail.com") (:keywords "tex") (:url . "https://github.com/franburstall/amsreftex"))]) (amx . [(20210305 118) ((emacs (24 4)) (s (0))) "Alternative M-x with extra features." single ((:commit . "37f9c7ae55eb0331b27200fb745206fc58ceffc0") (:authors ("Ryan C. Thompson" . "rct@thompsonclan.org") ("Cornelius Mika" . "cornelius.mika@gmail.com")) (:maintainer "Ryan C. Thompson" . "rct@thompsonclan.org") (:keywords "convenience" "usability" "completion") (:url . "http://github.com/DarwinAwardWinner/amx/"))]) - (anaconda-mode . [(20211122 817) ((emacs (25 1)) (pythonic (0 1 0)) (dash (2 6 0)) (s (1 9)) (f (0 16 2))) "Code navigation, documentation lookup and completion for Python" tar ((:commit . "cbea0fb3182321d34ff93981c5a59f8dd72d82a5") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) + (anaconda-mode . [(20220717 1956) ((emacs (25 1)) (pythonic (0 1 0)) (dash (2 6 0)) (s (1 9)) (f (0 16 2))) "Code navigation, documentation lookup and completion for Python" tar ((:commit . "160e4e7185881233d96da6722332bd6d038187a9") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (anakondo . [(20210221 1727) ((emacs (26 3))) "Adds clj-kondo based Clojure[Script] editing facilities" single ((:commit . "16b0ba14d94a5d7e55655efc9e1d6d069a9306f2") (:authors ("Didier A." . "didibus@users.noreply.github.com")) (:maintainer "Didier A." . "didibus@users.noreply.github.com") (:keywords "clojure" "clojurescript" "cljc" "clj-kondo" "completion" "languages" "tools") (:url . "https://github.com/didibus/anakondo"))]) (anaphora . [(20180618 2200) nil "anaphoric macros providing implicit temp variables" single ((:commit . "3b2da3f759b244975852e79721c4a2dbad3905cf") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/anaphora"))]) (ancient-one-dark-theme . [(20211030 1358) ((emacs (24 1))) "A color theme based off uetchy's Ancient One Dark Theme" single ((:commit . "db79f86842c10874ce18c1a1e4496e9d0e28bed9") (:authors ("Daniils Petrovs")) (:maintainer "Daniils Petrovs") (:url . "https://github.com/DaniruKun/ancient-one-dark-emacs-theme"))]) @@ -128,14 +128,15 @@ (anki-mode . [(20201223 719) ((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 . "d9b84028cd6a1ae040fb5604080a8b5fa8138562") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "tools") (:url . "https://github.com/davidshepherd7/anki-mode"))]) (anki-vocabulary . [(20200103 325) ((emacs (24 4)) (s (1 0)) (youdao-dictionary (0 4)) (anki-connect (1 0)) (s (1 10))) "Help you to create vocabulary cards in Anki" single ((:commit . "863fe0219577f996ab126f1b7902db3c2cc59b2b") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "lisp" "anki" "translator" "chinese") (:url . "https://github.com/lujun9972/anki-vocabulary.el"))]) (annalist . [(20190929 207) ((emacs (24 4)) (cl-lib (0 5))) "Record and display information such as keybindings" tar ((:commit . "134fa3f0fb91a636a1c005c483516d4b64905a6d") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:keywords "convenience" "tools" "keybindings" "org") (:url . "https://github.com/noctuid/annalist.el"))]) - (annotate . [(20220408 921) nil "annotate files without changing them" single ((:commit . "a3d42262f518a52e221c038cca3c1630ea90db25") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold , cage" . "cage-dev@twistfold.it") (:url . "https://github.com/bastibe/annotate.el"))]) + (annotate . [(20220707 1207) nil "annotate files without changing them" single ((:commit . "4c697e70e882657aaf9072d9703c6142e931b265") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold , cage" . "cage-dev@twistfold.it") (:url . "https://github.com/bastibe/annotate.el"))]) (annotate-depth . [(20160520 2040) nil "Annotate buffer if indentation depth is beyond threshold." single ((:commit . "fcb24fa36287250e40d195590c4ca4a8a696277b") (:authors ("Morten Slot Kristensen ")) (:maintainer "Morten Slot Kristensen ") (:keywords "convenience") (:url . "https://github.com/netromdk/annotate-depth"))]) - (annotation . [(20200914 644) nil "Functions for annotating text with faces and help bubbles" single ((:commit . "7ca527c6f1712cff2975508e140103b49f03d526") (:url . "https://github.com/agda/agda"))]) + (annotation . [(20200914 644) nil "Functions for annotating text with faces and help bubbles" single ((:commit . "5d2d77abbc0c97f5b23d7089797c3ef8796508dc") (:url . "https://github.com/agda/agda"))]) (annoying-arrows-mode . [(20161024 646) ((cl-lib (0 5))) "Ring the bell if using arrows too much" single ((:commit . "3c42e9807d7696da2da2a21b63beebf9cdb3f5dc") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (ansi . [(20211104 1420) ((emacs (24 1)) (cl-lib (0 6))) "Turn string into ansi strings" single ((:commit . "2367fba7b3b2340364a30cd6de7f3eb6bb9898a3") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "terminals" "color" "ansi") (:url . "http://github.com/rejeep/ansi"))]) (ansible . [(20220114 45) ((s (1 9 0)) (f (0 16 2))) "Ansible minor mode" tar ((:commit . "d89ac0ee57742cca0f0e0a3453d9dcc521575690") (:authors ("k1LoW (Kenichirou Oyama), ")) (:maintainer "k1LoW (Kenichirou Oyama), ") (:url . "https://github.com/k1LoW/emacs-ansible"))]) (ansible-doc . [(20160924 824) ((emacs (24 3))) "Ansible documentation Minor Mode" single ((:commit . "86083a7bb2ed0468ca64e52076b06441a2f8e9e0") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn") (:keywords "tools" "help") (:url . "https://github.com/lunaryorn/ansible-doc.el"))]) (ansible-vault . [(20211119 1500) ((emacs (24 3))) "Minor mode for editing ansible vault files" single ((:commit . "8da2ad658dbe94c71aad1c75d6fd22888338030c") (:maintainer "Zachary Elliott" . "contact@zell.io") (:keywords "ansible" "ansible-vault" "tools") (:url . "http://github.com/zellio/ansible-vault-mode"))]) + (ansilove . [(20220629 2339) ((emacs (26 1))) "Display buffers as PNG images using ansilove" single ((:commit . "3e3f6e8baa2135b072855567e4a1fc599a2fc800") (:authors ("Maciej Barć" . "xgqt@riseup.net")) (:maintainer "Maciej Barć" . "xgqt@riseup.net") (:keywords "multimedia") (:url . "https://gitlab.com/xgqt/emacs-ansilove/"))]) (ant . [(20160211 1543) nil "helpers for compiling with ant" single ((:commit . "510b5a3f57ee4b2855422d88d359a28922c1ab70") (:keywords "compilation" "ant" "java"))]) (anti-zenburn-theme . [(20180712 1838) nil "Low-contrast Zenburn-inverted theme" single ((:commit . "dbafbaa86be67c1d409873f57a5c0bbe1e7ca158") (:authors ("Andrey Kotlarski" . "m00naticus@gmail.com")) (:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com") (:url . "https://github.com/m00natic/anti-zenburn-theme"))]) (anx-api . [(20140208 1514) nil "Interact with the AppNexus API from Emacs." single ((:commit . "b2411ebc966ac32c3ffc61bc22bf183834df0fa0") (:authors ("Rich Loveland")) (:maintainer "Rich Loveland") (:keywords "convenience" "json" "rest" "api" "appnexus"))]) @@ -145,21 +146,21 @@ (aozora-view . [(20140310 1317) nil "Aozora Bunko text Emacs viewer." tar ((:commit . "b0390616d19e45f15f9a2f5d5688274831e721fd") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "text") (:url . "https://github.com/kawabata/aozora-view"))]) (apache-mode . [(20210519 1931) nil "Major mode for editing Apache httpd configuration files" single ((:commit . "f2c11aac2f5fc598123e04f4604bea248689a117") (:authors ("Karl Chen" . "quarl@nospam.quarl.org")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "faces") (:url . "https://github.com/emacs-php/apache-mode"))]) (apdl-mode . [(20211023 1831) ((emacs (25 1))) "Major mode for the APDL programming language." tar ((:commit . "c55c6468526100ba0da00bff05cfb17cdf8839cf") (:authors ("H. Dieter Wilhelm" . "dieter@duenenhof-wilhelm.de")) (:maintainer "H. Dieter Wilhelm") (:keywords "languages" "convenience" "tools" "ansys" "apdl") (:url . "https://github.com/dieter-wilhelm/apdl-mode"))]) - (apel . [(20201106 2221) ((emacs (24 5))) "A Portable Emacs Library provides support for portable Emacs Lisp programs" tar ((:commit . "4e3269b6e702db2dba48cf560563ac883e81e3bf"))]) - (apheleia . [(20220417 1859) ((emacs (26))) "Reformat buffer stably" single ((:commit . "9804f241ac8235027ea91a49d3c6275ecbaae203") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "tools") (:url . "https://github.com/raxod502/apheleia"))]) + (apel . [(20220720 1308) ((emacs (24 5))) "A Portable Emacs Library provides support for portable Emacs Lisp programs" tar ((:commit . "82eb2325bd149dc57b43a9ce9402c6c6183e4052"))]) + (apheleia . [(20220620 2151) ((emacs (26))) "Reformat buffer stably" single ((:commit . "12804a50206c708570104637472411288d6133f5") (:authors ("Radian LLC" . "contact+apheleia@radian.codes")) (:maintainer "Radian LLC" . "contact+apheleia@radian.codes") (:keywords "tools") (:url . "https://github.com/raxod502/apheleia"))]) (apib-mode . [(20200101 1017) ((markdown-mode (2 1))) "Major mode for API Blueprint files" single ((:commit . "c6dd05201f6eb9295736d8668a79a7510d11159e") (:authors ("Vilibald Wanča" . "vilibald@wvi.cz")) (:maintainer "Vilibald Wanča" . "vilibald@wvi.cz") (:keywords "tools" "api-blueprint") (:url . "http://github.com/w-vi/apib-mode"))]) (apiwrap . [(20180602 2231) ((emacs (25))) "api-wrapping macros" single ((:commit . "a4fb21d96027369307b22439a4a6c765ee272f44") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "tools" "maint" "convenience") (:url . "https://github.com/vermiculus/apiwrap.el"))]) (apparmor-mode . [(20220411 648) ((emacs (24 4))) "Major mode for editing AppArmor policy files" single ((:commit . "abc2a6adf563b89daee9f8fa07a71d78957defdb") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/apparmor-mode"))]) (apples-mode . [(20110121 418) nil "Major mode for editing and executing AppleScript code" tar ((:commit . "83a9ab0d6ba82496e2f7df386909b1a55701fccb") (:authors ("tequilasunset" . "tequilasunset.mac@gmail.com")) (:maintainer "tequilasunset" . "tequilasunset.mac@gmail.com") (:keywords "applescript" "languages"))]) - (applescript-mode . [(20210802 1715) ((emacs (24 3))) "major mode for editing AppleScript source" single ((:commit . "ea9a32aa33580b0695e7298d56c3d5f050a02b87") (:authors ("sakito" . "sakito@users.sourceforge.jp")) (:maintainer "sakito" . "sakito@users.sourceforge.jp") (:keywords "languages" "tools") (:url . "https://github.com/emacsorphanage/applescript-mode"))]) + (applescript-mode . [(20210802 1715) ((emacs (24 3))) "major mode for editing AppleScript source" single ((:commit . "9b84a7cb74d687745df37ba15113933fc6256274") (:authors ("sakito" . "sakito@users.sourceforge.jp")) (:maintainer "sakito" . "sakito@users.sourceforge.jp") (:keywords "languages" "tools") (:url . "https://github.com/emacsorphanage/applescript-mode"))]) (aproject . [(20220410 541) nil "Basic project framework for Emacs" tar ((:commit . "13e176ee69851403bec6471c5cceed17b7912b6f") (:authors ("Vietor Liu" . "vietor.liu@gmail.com")) (:maintainer "Vietor Liu" . "vietor.liu@gmail.com") (:keywords "environment" "project") (:url . "https://github.com/vietor/aproject"))]) - (apropospriate-theme . [(20220418 1554) nil "A colorful, low-contrast, light & dark theme set for Emacs with a fun name." tar ((:commit . "52ed4bf4aaa01c527271d71e6ce00f3607839777"))]) + (apropospriate-theme . [(20220612 1555) nil "A colorful, low-contrast, light & dark theme set for Emacs with a fun name." tar ((:commit . "17ec6fc0f43f7c0bcb970e2b71b8674891a464c7"))]) (apt-sources-list . [(20180527 1241) ((emacs (24 4))) "Mode for editing APT source.list files" single ((:commit . "5289443ceff230dfc8a2c1c6b524c90560eb08a5") (:authors ("Dr. Rafael Sepúlveda" . "drs@gnulinux.org.mx")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:url . "https://git.korewanetadesu.com/apt-sources-list.git"))]) (aqi . [(20200215 1334) ((emacs (25 1)) (request (0 3)) (let-alist (0 0))) "Air quality data from the World Air Quality Index" single ((:commit . "c107a2e21cd1ac6008d8baaeeedb3fab26583d45") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "air quality" "aqi" "pollution" "weather" "data") (:url . "https://github.com/zzkt/aqi"))]) (arc-dark-theme . [(20190314 1632) ((emacs (24))) "Arc dark theme" single ((:commit . "ee17dcca35dd0304145efc468b3f25af6907a59d") (:authors ("Christopher Fraser" . "cfraz89@gmail.com")) (:maintainer "Christopher Fraser" . "cfraz89@gmail.com") (:keywords "faces" "theme") (:url . "https://github.com/cfraz89/arc-dark-theme"))]) (arch-packer . [(20170730 1321) ((emacs (25 1)) (s (1 11 0)) (async (1 9 2)) (dash (2 12 0))) "Arch Linux package management frontend" single ((:commit . "940e96f7d357c6570b675a0f942181c787f1bfd7") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Fritz Stelzer" . "brotzeitmacher@gmail.com") (:url . "https://github.com/brotzeitmacher/arch-packer"))]) (archive-region . [(20200316 1425) ((emacs (24 4))) "Move region to archive file instead of killing" single ((:commit . "53cd2d96ea7c33f320353982b36854f25c900c2e") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "languages") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/archive-region.el"))]) - (archive-rpm . [(20220314 1647) ((emacs (24 4))) "RPM and CPIO support for archive-mode" tar ((:commit . "515d2230352fffcc982ae2e322d95cbee6aca760") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "files"))]) + (archive-rpm . [(20220527 632) ((emacs (24 4))) "RPM and CPIO support for archive-mode" tar ((:commit . "4116be5ddab61d7f2366d5efcd23baa7519e6e84") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "files"))]) (arduino-cli-mode . [(20210511 653) ((emacs (25 1))) "Arduino-CLI command wrapper" single ((:commit . "a93de7e8fef202163df4657f2ab522b57f70f202") (:authors ("Love Lagerkvist")) (:maintainer "Love Lagerkvist") (:keywords "processes" "tools") (:url . "https://github.com/motform/arduino-cli-mode"))]) (arduino-mode . [(20220210 1355) ((emacs (25 1)) (spinner (1 7 3))) "Major mode for editing Arduino code" tar ((:commit . "652c6a328fa8f2db06534d5f231c6b6933be3edc") (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "languages" "arduino") (:url . "https://repo.or.cz/arduino-mode.git"))]) (aria2 . [(20190816 25) ((emacs (24 4))) "Control aria2c commandline tool from Emacs" single ((:commit . "32e08d5a8ad2f305578e0f783e087c1d312238c7") (:authors ("Łukasz Gruner" . "lukasz@gruner.lu")) (:maintainer "Łukasz Gruner" . "lukasz@gruner.lu") (:keywords "download" "bittorrent" "aria2") (:url . "https://bitbucket.org/ukaszg/aria2-mode"))]) @@ -167,38 +168,39 @@ (arjen-grey-theme . [(20170522 2047) nil "A soothing dark grey theme" single ((:commit . "4cd0be72b65d42390e2105cfdaa408a1ead8d8d1") (:authors ("Arjen Wiersma" . "arjen@wiersma.org")) (:maintainer "Arjen Wiersma" . "arjen@wiersma.org") (:keywords "faces") (:url . "https://github.com/credmp/arjen-grey"))]) (artbollocks-mode . [(20170524 422) nil "Improve your writing (especially about art)" single ((:commit . "33a41ca4f8206f57e5498a526d3b0ea18d08bb93") (:authors ("Rob Myers , Sacha Chua" . "sacha@sachachua.com")) (:maintainer "Rob Myers , Sacha Chua" . "sacha@sachachua.com") (:url . "https://github.com/sachac/artbollocks-mode"))]) (arview . [(20160419 2109) nil "extract and view archives in the temporary directory" single ((:commit . "5437b4221b64b238c273a651d4792c577dba6d45") (:authors ("Andrey Fainer" . "fandrey@gmx.com")) (:maintainer "Andrey Fainer" . "fandrey@gmx.com") (:keywords "files") (:url . "https://github.com/afainer/arview"))]) + (arxiv-citation . [(20220706 706) ((emacs (25 1)) (dash (2 19 1)) (s (1 12 0))) "Utility functions for dealing with arXiv papers" single ((:commit . "a10af07419b66559569362ea57d897d988c17760") (:authors ("Tony Zorman" . "soliditsallgood@mailbox.org")) (:maintainer "Tony Zorman" . "soliditsallgood@mailbox.org") (:keywords "convenience") (:url . "https://gitlab.com/slotThe/arXiv-citation"))]) (arxiv-mode . [(20220128 920) ((emacs (27 1)) (hydra (0))) "Read and search for articles on arXiv.org" tar ((:commit . "f550583d2da8bd9600bd26bb4028fe22a9744da2") (:authors ("Alex Chen (fizban007)" . "fizban007@gmail.com") ("Simon Lin (Simon-Lin)" . "n.sibetz@gmail.com")) (:maintainer "Alex Chen (fizban007)" . "fizban007@gmail.com") (:keywords "bib" "convenience" "hypermedia") (:url . "https://github.com/fizban007/arxiv-mode"))]) (ascii-table . [(20201019 700) ((emacs (24 3)) (cl-lib (0 5))) "Interactive ASCII table" single ((:commit . "4f68ad0b36c365c0652756691ab1703d0d46b4b4") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "help" "tools") (:url . "https://github.com/lassik/emacs-ascii-table"))]) (asilea . [(20150105 1525) ((emacs (24)) (cl-lib (0 5))) "Find best compiler options using simulated annealing" single ((:commit . "2aab1cc63b64ef08d12e84fd7ba5c94065f6039f") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/asilea"))]) - (asm-blox . [(20220124 1430) ((emacs (26 1)) (yaml (0 3 4))) "Programming game involving WAT and YAML" tar ((:commit . "47aa63d320c39f8566a8d95c61f27383f561b001") (:authors ("Zachary Romero")) (:maintainer "Zachary Romero") (:keywords "games") (:url . "https://github.com/zkry/asm-blox"))]) + (asm-blox . [(20220802 258) ((emacs (26 1)) (yaml (0 5 1))) "Programming game involving WAT" tar ((:commit . "dd43e800096066a8472db630a2af411de770e3ac") (:authors ("Zachary Romero")) (:maintainer "Zachary Romero") (:keywords "games") (:url . "https://github.com/zkry/asm-blox"))]) (asn1-mode . [(20170729 226) ((emacs (24 3)) (s (1 10 0))) "ASN.1/GDMO mode for GNU Emacs" single ((:commit . "d5d4a8259daf708411699bcea85d322f18beb972") (:authors ("Taichi Kawabata ")) (:maintainer "Taichi Kawabata ") (:keywords "languages" "processes" "tools") (:url . "https://github.com/kawabata/asn1-mode/"))]) - (assess . [(20200211 1817) ((emacs (24 4)) (m-buffer (0 15))) "Test support functions" tar ((:commit . "5bac045b273623772b6a2d820997d50f7ab4e466") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) + (assess . [(20220719 1904) ((emacs (24 4)) (m-buffer (0 15))) "Test support functions" tar ((:commit . "44083d94feb45d3636f7ee6c55e0ef6bbb32b938") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) (astyle . [(20200328 616) ((emacs (24 4)) (reformatter (0 3))) "Astyle formatter functions" single ((:commit . "04ff2941f08c4b731fe6a18ee1697436d1ca1cc0") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:keywords "astyle" "c" "c++" "cpp" "reformatter") (:url . "https://github.com/storvik/emacs-astyle"))]) (asx . [(20191024 1100) ((emacs (26 1))) "Ask StackExchange/StackOverflow" single ((:commit . "ec4bf74de602b97df1f306d51acf4cda45184aac") (:authors ("Alex Ragone" . "ragonedk@gmail.com")) (:maintainer "Alex Ragone" . "ragonedk@gmail.com") (:keywords "convenience") (:url . "https://github.com/ragone/asx"))]) - (async . [(20220318 1342) ((emacs (24 4))) "Asynchronous processing in Emacs" tar ((:commit . "c78bab7506a70a735d2c3deab13fa87bf44a83d3") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:keywords "async") (:url . "https://github.com/jwiegley/emacs-async"))]) + (async . [(20220630 57) ((emacs (24 4))) "Asynchronous processing in Emacs" tar ((:commit . "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:keywords "async") (:url . "https://github.com/jwiegley/emacs-async"))]) (async-await . [(20200117 828) ((emacs (25 1)) (promise (1 1)) (iter2 (0 9 10))) "Async/Await" single ((:commit . "deef2bb343463f5196545f1dd8c2a32d0cb3b146") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:keywords "async" "await" "convenience") (:url . "https://github.com/chuntaro/emacs-async-await"))]) (async-backup . [(20220131 1438) ((emacs (24 4))) "Backup on each save without freezing Emacs" single ((:commit . "6ddb39fe77d66cdef48b87cb0d0554ad7d132308") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "files") (:url . "https://tildegit.org/contrapunctus/async-backup"))]) (atcoder-tools . [(20200109 1236) ((emacs (26)) (f (0 20)) (s (1 12))) "An atcoder-tools client" single ((:commit . "cfe61ed18ea9b3b1bfb6f9e7d80a47599680cd1f") (:authors ("Seong Yong-ju" . "sei40kr@gmail.com")) (:maintainer "Seong Yong-ju" . "sei40kr@gmail.com") (:keywords "extensions" "tools") (:url . "https://github.com/sei40kr/atcoder-tools"))]) - (atl-long-lines . [(20201026 339) ((emacs (24 3))) "Turn off truncate-lines when the line is long" single ((:commit . "4e22b2d6ced02ca8abb91b76d80fb4fd01676891") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/atl-long-lines"))]) - (atl-markup . [(20210731 609) ((emacs (24 3))) "Automatically truncate lines for markup languages" single ((:commit . "695c79194bdd151d9057a91b8dd141933f748951") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/atl-markup"))]) + (atl-long-lines . [(20220704 644) ((emacs (24 3))) "Turn off truncate-lines when the line is long" single ((:commit . "074183f5d4fe77c9b5f1d0c90287a41aaa3e5eff") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "truncate" "lines" "auto" "long") (:url . "https://github.com/jcs-elpa/atl-long-lines"))]) + (atl-markup . [(20220704 644) ((emacs (24 3))) "Automatically truncate lines for markup languages" single ((:commit . "14639839f5e206b315c800ab4dc09d2d1693fa0b") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "automatic" "truncate" "visual" "lines") (:url . "https://github.com/jcs-elpa/atl-markup"))]) (atom-dark-theme . [(20220114 1902) nil "An Emacs port of the Atom Dark theme from Atom.io." single ((:commit . "2b3c7ad42bbcab3214a131f8957b92e717b36ad3") (:authors ("Jeremy Whitlock" . "jwhitlock@apache.org")) (:maintainer "Jeremy Whitlock" . "jwhitlock@apache.org") (:keywords "themes" "atom" "dark") (:url . "https://github.com/whitlockjc/atom-dark-theme-emacs"))]) (atom-one-dark-theme . [(20210128 1640) nil "Atom One Dark color theme" single ((:commit . "b34b62e85593812b55ee552a1cb0eecfb04767bb") (:authors ("Jonathan Chu" . "me@jonathanchu.is")) (:maintainer "Jonathan Chu" . "me@jonathanchu.is") (:url . "https://github.com/jonathanchu/atom-one-dark-theme"))]) - (atomic-chrome . [(20210221 59) ((emacs (24 4)) (let-alist (1 0 4)) (websocket (1 4))) "Edit Chrome text area with Emacs using Atomic Chrome" single ((:commit . "c73367d8aa660f2b3c3f70ef5c39f5b502d60404") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:keywords "chrome" "edit" "textarea") (:url . "https://github.com/alpha22jp/atomic-chrome"))]) + (atomic-chrome . [(20220723 113) ((emacs (24 4)) (let-alist (1 0 4)) (websocket (1 4))) "Edit Chrome text area with Emacs using Atomic Chrome" single ((:commit . "061958ab96c31085b5daf449b1d826b052777b59") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:keywords "chrome" "edit" "textarea") (:url . "https://github.com/alpha22jp/atomic-chrome"))]) (attrap . [(20220124 1253) ((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 . "19a520ecb99529790906a1fb5599acdf2b4f005f") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:keywords "programming" "tools") (:url . "https://github.com/jyp/attrap"))]) - (auctex-cluttex . [(20210226 302) ((emacs (24 4)) (auctex (12 2))) "ClutTeX support for AUCTeX" single ((:commit . "9a15742a6de1285831329eac93f9e35752472685") (:authors ("Masahiro Nakamura" . "tsuucat@icloud.com")) (:maintainer "Masahiro Nakamura" . "tsuucat@icloud.com") (:keywords "tex") (:url . "https://github.com/tsuu32/auctex-cluttex"))]) + (auctex-cluttex . [(20220730 1100) ((emacs (24 4)) (auctex (13 1))) "ClutTeX support for AUCTeX" single ((:commit . "f4012ac86e612eac7662c62afd946e59b3b405bd") (:authors ("Masahiro Nakamura" . "tsuucat@icloud.com")) (:maintainer "Masahiro Nakamura" . "tsuucat@icloud.com") (:keywords "tex") (:url . "https://github.com/tsuu32/auctex-cluttex"))]) (auctex-latexmk . [(20170618 1636) ((auctex (11 87))) "Add LatexMk support to AUCTeX" single ((:commit . "4d353522650d7685acbf1d38f7dbc504f734bd84") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:keywords "tex") (:url . "https://github.com/tom-tan/auctex-latexmk/"))]) (auctex-lua . [(20151121 1610) ((auctex (11 86)) (lua-mode (20130419))) "Lua editing support for AUCTeX" single ((:commit . "799cd8ac10c96991bb63d9aa60528ae5d8c786b5") (:authors ("Sean Allred" . "seallred@smcm.edu")) (:maintainer "Sean Allred" . "seallred@smcm.edu") (:keywords "latex" "lua") (:url . "http://github.com/vermiculus/auctex-lua"))]) (audacious . [(20210917 51) ((helm (3 6 2)) (emacs (24 4))) "Emacs interface to control audacious" single ((:commit . "65c37f12a5c774a0ae434beee27ff7737006dd2f") (:authors ("Hitoshi Uchida" . "hitoshi.uchida@gmail.com")) (:maintainer "Hitoshi Uchida" . "hitoshi.uchida@gmail.com") (:url . "https://github.com/shishimaru/audacious.el"))]) (audio-notes-mode . [(20170611 2159) nil "Play audio notes synced from somewhere else." single ((:commit . "fa38350829c7e97257efc746a010471d33748a68") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "hypermedia" "convenience") (:url . "http://github.com/Bruce-Connor/audio-notes-mode"))]) (aurel . [(20170114 937) ((emacs (24 3)) (bui (1 1 0)) (dash (2 11 0))) "Search, get info, vote for and download AUR packages" single ((:commit . "fc7ad208f43f8525f84a18941c9b55f956df8961") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "tools") (:url . "https://github.com/alezost/aurel"))]) (aurora-config-mode . [(20180216 2302) nil "Major mode for Apache Aurora configuration files" single ((:commit . "8273ec7937a21b469b9dbb6c11714255b890f410") (:authors ("Berk D. Demir" . "bdd@mindcast.org")) (:maintainer "Berk D. Demir" . "bdd@mindcast.org") (:keywords "languages" "configuration") (:url . "https://github.com/bdd/aurora-config.el"))]) - (auth-source-keytar . [(20220222 640) ((emacs (24 4)) (keytar (0 1 2)) (s (1 12 0))) "Integrate auth-source with keytar" single ((:commit . "09dd28d875dfe9d1ca9bb8ab3ee2f6102a00832b") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/auth-source-keytar"))]) + (auth-source-keytar . [(20220704 626) ((emacs (24 4)) (keytar (0 1 2)) (s (1 12 0))) "Integrate auth-source with keytar" single ((:commit . "c69176b476c9424a42d19ef8c200fcf2dc850749") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "keytar" "password" "credential" "secret" "security") (:url . "https://github.com/emacs-grammarly/auth-source-keytar"))]) (auth-source-kwallet . [(20210605 1032) ((emacs (24 4))) "KWallet integration for auth-source" single ((:commit . "053ed5e964acaf6f16a1708c36d812eeb7c1817d") (:authors ("Ekaterina Vaartis" . "vaartis@kotobank.ch")) (:maintainer "Ekaterina Vaartis" . "vaartis@kotobank.ch") (:url . "https://github.com/vaartis/auth-source-kwallet"))]) - (auth-source-xoauth2 . [(20200911 1554) ((emacs (26 1))) "Integrate auth-source with XOAUTH2" single ((:commit . "d3890eaa3a46dc89758ec6b789949e70ae782896") (:authors ("Cesar Crusius" . "ccrusius@google.com")) (:maintainer "Cesar Crusius" . "ccrusius@google.com") (:url . "https://github.com/ccrusius/auth-source-xoauth2"))]) + (auth-source-xoauth2 . [(20220628 2232) ((emacs (26 1))) "Integrate auth-source with XOAUTH2" single ((:commit . "8bbfd9395a2dc397639ec265299ccaadb71aeebc") (:authors ("Cesar Crusius" . "ccrusius@google.com")) (:maintainer "Cesar Crusius" . "ccrusius@google.com") (:url . "https://github.com/ccrusius/auth-source-xoauth2"))]) (auto-async-byte-compile . [(20160916 454) nil "Automatically byte-compile when saved" single ((:commit . "8681e74ddb8481789c5dbb3cafabb327db4c4484") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "lisp" "convenience") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/auto-async-byte-compile.el"))]) (auto-auto-indent . [(20131106 1903) ((es-lib (0 1)) (cl-lib (1 0))) "Indents code as you type" single ((:commit . "0139378577f936d34b20276af6f022fb457af490") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/auto-auto-indent"))]) - (auto-compile . [(20220422 1600) ((emacs (25 1)) (compat (28 1 1 0)) (packed (3 0 3))) "Automatically compile Emacs Lisp libraries" single ((:commit . "f19e9fbb8d72a47f0cef049b784e1a492bef9287") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "compile" "convenience" "lisp") (:url . "https://github.com/emacscollective/auto-compile"))]) - (auto-complete . [(20220105 439) ((popup (0 5 0)) (cl-lib (0 5))) "Auto Completion for GNU Emacs" tar ((:commit . "d546b18c3e83e38686d9b7316c6c705597e1a8b3") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "completion" "convenience") (:url . "https://github.com/auto-complete/auto-complete"))]) + (auto-compile . [(20220517 1501) ((emacs (25 1)) (compat (28 1 1 0)) (packed (3 0 3))) "Automatically compile Emacs Lisp libraries" single ((:commit . "b204e2f85aaa4d41af4eb1819633c9613f5172bf") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "compile" "convenience" "lisp") (:url . "https://github.com/emacscollective/auto-compile"))]) + (auto-complete . [(20220105 439) ((popup (0 5 0)) (cl-lib (0 5))) "Auto Completion for GNU Emacs" tar ((:commit . "8f33bc4fecb653d48d70a4902078f9d493eb882f") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "completion" "convenience") (:url . "https://github.com/auto-complete/auto-complete"))]) (auto-complete-auctex . [(20140223 1758) ((yasnippet (0 6 1)) (auto-complete (1 4))) "auto-completion for auctex" single ((:commit . "855633f668bcc4b9408396742a7cb84e0c4a2f77") (:authors ("Christopher Monsanto" . "chris@monsan.to")) (:maintainer "Christopher Monsanto" . "chris@monsan.to"))]) (auto-complete-c-headers . [(20150912 323) ((auto-complete (1 4))) "An auto-complete source for C/C++ header files" single ((:commit . "52fef720c6f274ad8de52bef39a343421006c511") (:authors ("Masafumi Oyamada" . "stillpedant@gmail.com")) (:maintainer "Masafumi Oyamada" . "stillpedant@gmail.com") (:keywords "c"))]) (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"))]) @@ -213,33 +215,33 @@ (auto-dark . [(20220320 1703) ((emacs (24 4))) "Automatically set the dark-mode theme based on MacOS status" single ((:commit . "c5dd3afa6771f4777db9e427f21bfcbe4883abaf") (:authors ("Rahul M. Juliato") ("Tim Harper ")) (:maintainer "Rahul M. Juliato") (:keywords "tools" "unix" "faces") (:url . "https://github.com/LionyxML/auto-dark-emacs"))]) (auto-dictionary . [(20150410 1610) nil "automatic dictionary switcher for flyspell" single ((:commit . "b364e08009fe0062cf0927d8a0582fad5a12b8e7") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "wp") (:url . "http://nschum.de/src/emacs/auto-dictionary/"))]) (auto-dim-other-buffers . [(20220209 2101) nil "Makes windows without focus less prominent" single ((:commit . "33b5f88b799a17947c266b04ad59462c5aeb4ed7") (:authors ("Michal Nazarewicz" . "mina86@mina86.com")) (:maintainer "Michal Nazarewicz" . "mina86@mina86.com") (:url . "https://github.com/mina86/auto-dim-other-buffers.el"))]) - (auto-highlight-symbol . [(20220223 1622) ((emacs (26 1)) (ht (2 3))) "Automatic highlighting current symbol minor mode" single ((:commit . "2391ab0ba014563aa61404688183793c2d0f831e") (:authors ("Mitsuo Saito" . "arch320@NOSPAM.gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "highlight" "face" "match" "convenience") (:url . "http://github.com/jcs-elpa/auto-highlight-symbol"))]) + (auto-highlight-symbol . [(20220505 505) ((emacs (26 1)) (ht (2 3))) "Automatic highlighting current symbol minor mode" single ((:commit . "616c1391646da49aa3b5a6034d0f8d6a987d5e8c") (:authors ("Mitsuo Saito" . "arch320@NOSPAM.gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "highlight" "face" "match" "convenience") (:url . "http://github.com/jcs-elpa/auto-highlight-symbol"))]) (auto-indent-mode . [(20211029 11) nil "Auto indent Minor mode" tar ((:commit . "664006b67329a8e27330541547f8c2187dab947c") (:authors ("Matthew L. Fidler, Le Wang & Others")) (:maintainer "Matthew L. Fidler") (:keywords "auto" "indentation") (:url . "https://github.com/mlf176f2/auto-indent-mode.el/"))]) (auto-minor-mode . [(20180527 1123) ((emacs (24 4))) "Enable minor modes by file name and contents" single ((:commit . "17cfa1b54800fdef2975c0c0531dad34846a5065") (:authors ("Joe Wreschnig" . "joe.wreschnig@gmail.com")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:keywords "convenience") (:url . "https://github.com/joewreschnig/auto-minor-mode"))]) (auto-org-md . [(20180213 2343) ((emacs (24 4))) "export a markdown file automatically when you save an org-file" single ((:commit . "9318338bdb7fe8bd698d88f3af89b2d6413efdd2") (:authors ("jamcha" . "jamcha.aa@gmail.com")) (:maintainer "jamcha" . "jamcha.aa@gmail.com") (:keywords "org" "markdown") (:url . "https://github.com/jamcha-aa/auto-org-md"))]) (auto-package-update . [(20211108 2025) ((emacs (24 4)) (dash (2 1 0))) "Automatically update Emacs packages." single ((:commit . "ad95435fefe2bb501d1d787b08272f9c1b7df488") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:keywords "package" "update") (:url . "http://github.com/rranelli/auto-package-update.el"))]) (auto-pause . [(20160426 1216) ((emacs (24 4))) "Run processes which will be paused when Emacs is idle" single ((:commit . "a4d778de774ca3895542cb559a953e0d98657338") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "menu") (:url . "https://github.com/lujun9972/auto-pause"))]) (auto-read-only . [(20200827 1754) ((emacs (25 1)) (cl-lib (0 5))) "Automatically make the buffer to read-only" single ((:commit . "db209bf5b7f76f4c3dc4d0892fc6a24430779f29") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "files" "convenience") (:url . "https://github.com/zonuexe/auto-read-only.el"))]) - (auto-rename-tag . [(20210805 1344) ((emacs (24 4))) "Automatically rename paired HTML/XML tag" single ((:commit . "2b4860580a68c23f88b4d608f49c9e5c0ce868b9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/auto-rename-tag"))]) + (auto-rename-tag . [(20220704 639) ((emacs (24 4))) "Automatically rename paired HTML/XML tag" single ((:commit . "955a25bf371fe7edc7c1c5fdda0578731273c108") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "auto-complete" "html" "rename" "tag" "xml") (:url . "https://github.com/jcs-elpa/auto-rename-tag"))]) (auto-save-buffers-enhanced . [(20161109 710) nil "Automatically save buffers in a decent way" single ((:commit . "461e8c816c1b7c650be5f209078b381fe55da8c6") (:authors ("Kentaro Kuribayashi" . "kentarok@gmail.com")) (:maintainer "Kentaro Kuribayashi" . "kentarok@gmail.com"))]) (auto-shell-command . [(20180817 1502) ((deferred (20130312)) (popwin (20130329))) "Run the shell command asynchronously that you specified when you save the file." single ((:commit . "a8f9213e3c773b5687b81881240e6e648f2f56ba") (:authors ("ongaeshi")) (:maintainer "ongaeshi") (:keywords "shell" "save" "async" "deferred" "auto"))]) - (auto-sudoedit . [(20220421 1147) ((emacs (26 1)) (f (0 19 0))) "Auto sudo edit by tramp" single ((:commit . "39cb574a4b5ec74ad62857320bf5fec58abe876f") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/auto-sudoedit"))]) - (auto-virtualenv . [(20211215 907) ((cl-lib (0 5)) (pyvenv (1 9)) (s (1 10 0))) "Auto activate python virtualenvs" single ((:commit . "07064e05feb62277991b8a7c04f7cdad50acaddf") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com") (:keywords "python" "virtualenv" "tools") (:url . "http://github.com/marcwebbie/auto-virtualenv"))]) + (auto-sudoedit . [(20220421 1147) ((emacs (26 1)) (f (0 19 0))) "Auto sudo edit by tramp" single ((:commit . "1d9dd74cb1adaf615500208dbc0158630dd92933") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/auto-sudoedit"))]) + (auto-virtualenv . [(20220712 1612) ((cl-lib (0 5)) (pyvenv (1 9)) (s (1 10 0))) "Auto activate python virtualenvs" single ((:commit . "1e1542f5eb34ec5f415553bc8ddbb7f3c3ee6943") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com") (:keywords "python" "virtualenv" "tools") (:url . "http://github.com/marcwebbie/auto-virtualenv"))]) (auto-virtualenvwrapper . [(20200510 1006) ((cl-lib (0 6)) (s (1 10 0)) (virtualenvwrapper (0))) "Lightweight auto activate python virtualenvs" single ((:commit . "30fb54aa3c99f3c614ea9a92669d634df30c9439") (:authors ("Marcwebbie" . "marcwebbie@gmail.com") ("Robert Zaremba" . "robert-zaremba@scale-it.pl")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com") (:keywords "python" "virtualenv" "tools"))]) (auto-yasnippet . [(20191015 942) ((yasnippet (0 13 0))) "Quickly create disposable yasnippets" single ((:commit . "db9e0dd4335b2202cd5dac95bbbc87a1032d9bbe") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/auto-yasnippet"))]) - (autobookmarks . [(20190919 841) ((dash (2 10 0)) (cl-lib (0 5))) "Save recently visited files and buffers" single ((:commit . "224b24950d3ae57cd16d7417c07fda337fe0ea09") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) + (autobookmarks . [(20220509 1712) ((dash (2 10 0)) (cl-lib (0 5))) "Save recently visited files and buffers" single ((:commit . "8acd6f182181e23257e01c1b5cf90b872507a74d") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) (autobuild . [(20200713 227) ((cl-lib (0 3)) (emacs (26 1))) "Define and execute build rules and compilation pipelines" single ((:commit . "9b068d979bad78aba8e8bef9f9e7c3bfecb34d2d") (:authors ("Ernesto Alfonso")) (:maintainer nil . "(concat \"erjoalgo\" \"@\" \"gmail\" \".com\")") (:keywords "compile" "build" "pipeline" "autobuild" "extensions" "processes" "tools") (:url . "https://github.com/erjoalgo/autobuild"))]) - (autocrypt . [(20220215 1204) ((emacs (24 3))) "Autocrypt implementation" tar ((:commit . "00b87a82c4561b017052974eecd93c79b6790841") (:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Philip Kaludercic" . "~pkal/public-inbox@lists.sr.ht") (:keywords "comm") (:url . "https://git.sr.ht/~pkal/autocrypt"))]) + (autocrypt . [(20220526 1846) ((emacs (24 3))) "Autocrypt implementation" tar ((:commit . "5fae83ac0501a26c92e022218341c21cc71e463c") (:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Philip Kaludercic" . "~pkal/public-inbox@lists.sr.ht") (:keywords "comm") (:url . "https://git.sr.ht/~pkal/autocrypt"))]) (autodisass-java-bytecode . [(20211005 1920) nil "Automatically disassemble Java bytecode" tar ((:commit . "9eaddd63645e64825b2d07805999c5a645248c53") (:authors ("George Balatsouras ")) (:maintainer "George Balatsouras ") (:keywords "convenience" "data" "files"))]) (autodisass-llvm-bitcode . [(20150411 125) nil "Automatically disassemble LLVM bitcode" tar ((:commit . "d2579e3a1427af2dc947c343e49eb3434078bf04") (:authors ("George Balatsouras ")) (:maintainer "George Balatsouras ") (:keywords "convenience" "data" "files"))]) - (autotest . [(20190331 2230) nil "ZenTest's autotest integration with emacs." single ((:commit . "09166f32d3ece2b297da036f0abbeba63329580e") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:keywords "testing" "ruby" "convenience") (:url . "https://github.com/zenspider/elisp/blob/master/autotest.el"))]) + (autotest . [(20190331 2230) nil "ZenTest's autotest integration with emacs." single ((:commit . "7725c08f00a463ba7210efcb759c934223c85b00") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:keywords "testing" "ruby" "convenience") (:url . "https://github.com/zenspider/elisp/blob/master/autotest.el"))]) (autotetris-mode . [(20141114 1646) ((cl-lib (0 5))) "automatically play tetris" single ((:commit . "0c3a746dcc304a67d2a6e7ad4ef93f512486343a") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/autotetris-mode"))]) (autothemer . [(20220106 416) ((dash (2 10 0)) (emacs (24)) (cl-lib (0 5))) "Conveniently define themes." single ((:commit . "1dbc06ad430c51b5ec1a602a808ee46b9bd4bafa") (:authors ("Sebastian Sturm")) (:maintainer "Sebastian Sturm") (:url . "https://github.com/sebastiansturm/autothemer"))]) (autumn-light-theme . [(20150515 1447) nil "A light color theme with muted, autumnal colors." single ((:commit . "1e3b2a43a3001e4a97a5ff073ba3f0d2ea3888f9") (:authors ("Adam Alpern" . "adam.alpern@gmail.com")) (:maintainer "Adam Alpern" . "adam.alpern@gmail.com") (:keywords "color" "theme") (:url . "http://github.com/aalpern/emacs-color-theme-autumn-light"))]) (avandu . [(20170101 1903) nil "Gateway to Tiny Tiny RSS" tar ((:commit . "f44588d8e747fa880411cb4542cc39962252b90a") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:keywords "net"))]) (avk-emacs-themes . [(20210521 1051) nil "Collection of avk themes" tar ((:commit . "7b9b6517873c4d4d73e6e34ca56c54062db60759") (:authors ("Alex V. Koval" . "alex@koval.kharkov.ua")) (:maintainer "Alex V. Koval" . "alex@koval.kharkov.ua") (:keywords "theme") (:url . "https://github.com/avkoval/avk-emacs-themes"))]) (avy . [(20220102 805) ((emacs (24 1)) (cl-lib (0 5))) "Jump to arbitrary positions in visible text and select text quickly." single ((:commit . "ba5f035be33693d1a136a5cbeedb24327f551a92") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "point" "location") (:url . "https://github.com/abo-abo/avy"))]) - (avy-embark-collect . [(20220221 1638) ((emacs (25 1)) (embark (0 9)) (avy (0 5))) "Use avy to jump to Embark Collect entries" single ((:commit . "df43af2faad986c81ba6df3a4bd19010ed664f80") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) + (avy-embark-collect . [(20220221 1638) ((emacs (25 1)) (embark (0 9)) (avy (0 5))) "Use avy to jump to Embark Collect entries" single ((:commit . "5d0459d27aa7cf738b5af36cf862723a62bef955") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) (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") (:authors ("Xu Ma" . "magicdirac@gmail.com")) (:maintainer "Xu Ma" . "magicdirac@gmail.com") (:keywords "tools" "convenience" "avy" "flycheck") (:url . "https://github.com/magicdirac/avy-flycheck"))]) (avy-menu . [(20210321 1732) ((emacs (24 3)) (avy (0 4 0))) "Library providing avy-powered popup menu" single ((:commit . "18bb320f395b7e412f7e377cf4c46d205d4b4e1a") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "popup" "menu") (:url . "https://github.com/mrkkrp/avy-menu"))]) (avy-migemo . [(20180716 1455) ((emacs (24 4)) (avy (0 4 0)) (migemo (1 9))) "avy with migemo" tar ((:commit . "922a6dd82c0bfa316b0fbb56a9d4dd4ffa5707e7") (:authors ("momomo5717")) (:maintainer "momomo5717") (:keywords "avy" "migemo") (:url . "https://github.com/momomo5717/avy-migemo"))]) @@ -248,13 +250,13 @@ (aws-snippets . [(20191203 1553) ((yasnippet (0 8 0))) "Yasnippets for AWS" tar ((:commit . "557d19a0bc486e0fddb597b2be5087769d9bd47e") (:keywords "snippets"))]) (awscli-capf . [(20190930 1517) ((emacs (26))) "Completion at point function for the AWS CLI" single ((:commit . "eadfb26b35802ae8164565581e4a9c4d0280a7b5") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:keywords "tools" "convenience" "abbrev") (:url . "https://github.com/sebasmonia/awscli-capf.git"))]) (axe . [(20210816 1530) ((emacs (25 1)) (hmac (0 0)) (request (0 3 2)) (s (1 12 0)) (xmlgen (0 5)) (dash (2 17 0)) (mimetypes (1 0))) "AWS Extensions" tar ((:commit . "eb4a5b3b06c3cbed521e2c0e0985941c367f4e74") (:authors ("Craig Niles ")) (:maintainer "Craig Niles ") (:url . "https://github.com/cniles/axe"))]) - (axiom-environment . [(20211120 1646) ((emacs (24 2))) "An environment for using Axiom/OpenAxiom/FriCAS" tar ((:commit . "e60de5ed107ffeb530a56d24d04f38988124d12b") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "axiom" "openaxiom" "fricas"))]) + (axiom-environment . [(20220612 1535) ((emacs (24 2))) "An environment for using Axiom/OpenAxiom/FriCAS" tar ((:commit . "01d88daa0c864af9918db5a147fbb5e435dec199") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "axiom" "openaxiom" "fricas"))]) (ayu-theme . [(20200521 1157) ((emacs (24 1))) "Ayu theme" tar ((:commit . "ed98a9f41d9f0e08458ee71cc1038f66c50e1979") (:authors ("Tran Anh Vu")) (:maintainer "Tran Anh Vu") (:keywords "lisp" "theme" "emacs") (:url . "https://github.com/vutran1710/Ayu-Theme-Emacs"))]) (babel . [(20210612 640) nil "interface to web translation services such as Babelfish" single ((:commit . "946e69c61188bc41793402ac48466d8967ddb43d") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info") ("Eric Marsden" . "emarsden@laas.fr")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:keywords "translation" "web") (:url . "http://github.com/juergenhoetzel/babel"))]) (babel-repl . [(20160504 2201) ((emacs (24))) "Run babel REPL" single ((:commit . "e619c16e349a1ee7bd0ee0d7f3650d33bff73fc3") (:authors ("Hung Phan")) (:maintainer "Hung Phan") (:keywords "babel" "javascript" "es6") (:url . "https://github.com/hung-phan/babel-repl/"))]) (back-button . [(20150804 2004) ((nav-flash (1 0 0)) (smartrep (0 0 3)) (ucs-utils (0 7 2)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Visual navigation through mark rings" single ((:commit . "98d92984a740acd1547bd7ed05cca0affdb21c3e") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience" "navigation" "interface") (:url . "http://github.com/rolandwalker/back-button"))]) (backlight . [(20210513 129) ((emacs (24 3))) "backlight brightness adjustment on GNU/Linux" single ((:commit . "b6826a60440d8bf440618e3cdafb40158de920e6") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:keywords "hardware") (:url . "https://github.com/mschuldt/backlight.el"))]) - (backline . [(20220424 2212) ((emacs (25 1)) (compat (28 1 1 0)) (outline-minor-faces (0 1 2))) "Preserve appearance of outline headings" single ((:commit . "0d44408262080cdf998de5a52516f220e7e7c99a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "outlines") (:url . "https://github.com/tarsius/backline"))]) + (backline . [(20220424 2212) ((emacs (25 1)) (compat (28 1 1 0)) (outline-minor-faces (0 1 2))) "Preserve appearance of outline headings" single ((:commit . "edc5f1e8ca049c06d18d703479c4737f3530602e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "outlines") (:url . "https://github.com/tarsius/backline"))]) (backup-each-save . [(20180227 557) nil "backup each savepoint of a file" single ((:commit . "3c414b9d6b278911c95c5b8b71819e6af6f8a02a") (:authors ("Benjamin Rutt" . "brutt@bloomington.in.us")) (:maintainer "Conor Nash" . "conor@nashcobusinessservicesllc.com"))]) (backup-walker . [(20130720 1516) nil "quickly traverse all backups of a file" single ((:commit . "934a4128c122972ac32bb9952addf279a60a94da") (:authors ("Le Wang")) (:maintainer "Le Wang") (:keywords "backup") (:url . "https://github.com/lewang/backup-walker"))]) (backward-forward . [(20161229 550) ((emacs (24 5))) "navigation backwards and forwards across marks" single ((:commit . "58489957a62a0da25dfb5df902624d2548d800b4") (:authors ("Currell Berry" . "currellberry@gmail.com")) (:maintainer "Currell Berry" . "currellberry@gmail.com") (:keywords "navigation" "convenience" "backward" "forward") (:url . "https://gitlab.com/vancan1ty/emacs-backward-forward/tree/master"))]) @@ -267,66 +269,67 @@ (bap-mode . [(20200128 1354) nil "Major-mode for BAP's IR" single ((:commit . "8969679f60db0aa918d35f40d959c0a9c723b111") (:authors ("Thomas Barabosch ")) (:maintainer "Thomas Barabosch" . "thomas.barabosch@fkie.fraunhofer.de") (:keywords "languages") (:url . "https://github.com/fkie-cad/bap-mode"))]) (bar-cursor . [(20201204 2244) nil "package used to switch block cursor to a bar" single ((:commit . "78f195b6db63459033c4f1c7e7add5d82f3ce424") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Andrew Johnson" . "andrew@andrewjamesjohnson.com") (:keywords "files") (:url . "https://github.com/ajsquared/bar-cursor"))]) (bart-mode . [(20190601 1004) ((emacs (24 3))) "Real time BART departures info." single ((:commit . "f70b6c42452e47c0c6b3ebd4c90e555a9bedeec7") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:keywords "convenience" "transit") (:url . "https://github.com/mschuldt/bart-mode"))]) - (base16-theme . [(20211225 2032) nil "Collection of themes built on combinations of 16 base colors" tar ((:commit . "ad2fd1137d6ec144f87b26dce15ce5c5d42bde39") (:authors ("Kaleb Elwert" . "belak@coded.io") ("Neil Bhakta")) (:maintainer "Kaleb Elwert" . "belak@coded.io") (:url . "https://github.com/belak/base16-emacs"))]) - (bash-completion . [(20220328 844) ((emacs (24 3))) "BASH completion for the shell buffer" single ((:commit . "29b5fc860a5b0db9828acfceca09b773fbdb8e8a") (:authors ("Stephane Zermatten" . "szermatt@gmx.net")) (:maintainer "Stephane Zermatten" . "szermatt@gmail.com") (:keywords "shell" "bash" "bash-completion") (:url . "http://github.com/szermatt/emacs-bash-completion"))]) + (base16-theme . [(20220725 353) nil "Collection of themes built on combinations of 16 base colors" tar ((:commit . "36cd6ed044ee37e399fc5d0db8070ae79fb06800") (:authors ("Kaleb Elwert" . "belak@coded.io") ("Neil Bhakta")) (:maintainer "Kaleb Elwert" . "belak@coded.io") (:url . "https://github.com/base16-project/base16-emacs"))]) + (bash-completion . [(20220531 1104) ((emacs (24 3))) "BASH completion for the shell buffer" single ((:commit . "8e9c20dbfe01d8bf6c61db231593623a201c75c6") (:authors ("Stephane Zermatten" . "szermatt@gmx.net")) (:maintainer "Stephane Zermatten" . "szermatt@gmail.com") (:keywords "shell" "bash" "bash-completion") (:url . "http://github.com/szermatt/emacs-bash-completion"))]) (basic-c-compile . [(20170302 1112) ((cl-lib (0 5)) (f (0 19 0))) "Quickly create a Makefile, compile and run C." single ((:commit . "0129786aeee50d7bb0020d9fc2b7508875d403e8") (:authors ("Nick Spain" . "nicholas.spain96@gmail.com")) (:maintainer "Nick Spain" . "nicholas.spain96@gmail.com") (:keywords "c" "makefile" "compilation" "convenience") (:url . "https://github.com/nick96/basic-c-compile"))]) (basic-ide . [(20200429 1104) ((emacs (25)) (basic-mode (0 4 2)) (company (0 9 12)) (flycheck (0 22)) (dash (2 12 0)) (f (0 17 0))) "BASIC IDE c64" single ((:commit . "1d026b6ae70db9cde36596dcf46b101058a2e004") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:keywords "languages" "basic") (:url . "https://gitlab.com/sasanidas/emacs-c64-basic-ide"))]) (basic-mode . [(20210316 1253) ((seq (2 20)) (emacs (24 3))) "major mode for editing BASIC code" single ((:commit . "eaa5f24d2fb303d9e5d7de2a28c7c18b01532ab6") (:authors ("Johan Dykstrom")) (:maintainer "Johan Dykstrom") (:keywords "basic" "languages") (:url . "https://github.com/dykstrom/basic-mode"))]) (basic-theme . [(20160817 827) ((emacs (24))) "Minimalistic light color theme" single ((:commit . "e2a855bd39f4b78296228d4b790f9123156f7d7e") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "theme" "basic" "minimal" "colors") (:url . "http://github.com/fgeller/basic-theme.el"))]) (bats-mode . [(20160514 615) nil "Emacs mode for editing and running Bats tests" single ((:commit . "d519f7c89f5ae17dfc33400596df4564b478315f") (:authors ("Doug MacEachern")) (:maintainer "Doug MacEachern") (:keywords "bats" "tests") (:url . "https://github.com/dougm/bats-mode"))]) - (battery-notifier . [(20210521 1238) ((alert (1 3))) "Notify when battery capacity is low" single ((:commit . "ae2043db954e131d9de7347ab1a6107fd07e8893") (:authors ("Jason Johnson" . "jason@fullsteamlabs.com")) (:maintainer "Jason Johnson" . "jason@fullsteamlabs.com") (:keywords "hardware" "battery") (:url . "https://github.com/jasonmj/battery-notifier"))]) + (battery-notifier . [(20220705 2030) ((alert (1 3))) "Notify when battery capacity is low" single ((:commit . "b7301d3633afff78609afd45dcf78268f98d52d3") (:authors ("Jason Johnson" . "jason@fullsteamlabs.com")) (:maintainer "Jason Johnson" . "jason@fullsteamlabs.com") (:keywords "hardware" "battery") (:url . "https://github.com/jasonmj/battery-notifier"))]) (battle-haxe . [(20210219 354) ((emacs (25)) (company (0 9 9)) (helm (3 0)) (async (1 9 3)) (cl-lib (0 5)) (dash (2 18 0)) (s (1 10 0)) (f (0 19 0))) "A Haxe development system, with code completion and more" single ((:commit . "2f32c81dcecfc68fd410cb9d2aca303d6e3028c7") (:authors ("Alon Tzarafi " . "alontzarafi@gmail.com")) (:maintainer "Alon Tzarafi " . "alontzarafi@gmail.com") (:keywords "programming" "languages" "completion") (:url . "https://github.com/AlonTzarafi/battle-haxe"))]) - (bazel . [(20220222 1616) ((emacs (26 1))) "Bazel support for Emacs" single ((:commit . "e07a16666154c8ddc65ddaae599d58b25727350d") (:keywords "build tools" "languages") (:url . "https://github.com/bazelbuild/emacs-bazel-mode"))]) + (bazel . [(20220707 1549) ((emacs (27 1))) "Bazel support for Emacs" single ((:commit . "8f7875998f233d248097006df224a33873bbc4f2") (:keywords "build tools" "languages") (:url . "https://github.com/bazelbuild/emacs-bazel-mode"))]) (bbcode-mode . [(20190304 2122) ((emacs (24)) (cl-lib (0 5))) "Major mode for phpBB posts (BBCode markup)" single ((:commit . "e16619c80ea21154b4a4ccc2e13d0077e97c9caf") (:authors ("Eric James Michael Ritz" . "lobbyjones@gmail.com")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "bbcode" "languages") (:url . "https://github.com/lassik/emacs-bbcode-mode"))]) - (bbdb . [(20220416 405) nil "The Insidious Big Brother Database for GNU Emacs" tar ((:commit . "ed7648f723d3fd03476b8a007a76e9058f7f7f47") (:maintainer "Roland Winkler" . "winkler@gnu.org"))]) + (bbdb . [(20220706 433) ((emacs (24)) (cl-lib (0 5))) "Big Brother DataBase" tar ((:commit . "1b121e94871f5d931c75793257db732ba82fdddb") (:maintainer "Roland Winkler" . "winkler@gnu.org"))]) (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") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "bbdb" "news" "mail") (:url . "https://github.com/aki2o/bbdb-"))]) (bbdb-csv-import . [(20140802 1142) ((pcsv (1 3 3)) (dash (2 5 0)) (bbdb (20140412 1949))) "import csv to bbdb version 3+" single ((:commit . "dc9e722d1c1fcd55b71625ee3f05a4921851d186") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:keywords "csv" "util" "bbdb") (:url . "https://gitlab.com/iankelling/bbdb-csv-import"))]) (bbdb-ext . [(20151220 2013) ((bbdb (2 36))) "Extra commands for BBDB" single ((:commit . "fee97b1b3faa83edaea00fbc5ad3cbca5e791a55") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "extensions") (:url . "https://github.com/vapniks/bbdb-ext"))]) (bbdb-vcard . [(20210325 2208) ((bbdb (3 0))) "vCard import/export for BBDB" tar ((:commit . "113c66115ce68316e209f51ebce56de8dded3606") (: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") (:keywords "data" "calendar" "mail" "news") (:url . "https://github.com/tohojo/bbdb-vcard"))]) (bbdb2erc . [(20190822 907) ((bbdb (3 0))) "make bbdb show if pal is online with ERC, click i to chat" single ((:commit . "40b89e961762af3e7ade3a1844a9fbcd4084ac65") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "irc" "contacts" "chat" "client" "internet"))]) (bbyac . [(20180206 1441) ((browse-kill-ring (1 3)) (cl-lib (0 5))) "Type a little Bit, and Bang! You Are Completed." tar ((:commit . "9f0de9cad13801891ffb590dc09f51ff9a7cb225") (:authors ("Bao Haojun" . "baohaojun@gmail.com")) (:maintainer "Bao Haojun" . "baohaojun@gmail.com") (:keywords "abbrev") (:url . "https://github.com/baohaojun/bbyac"))]) - (beacon . [(20190104 1931) ((seq (2 14))) "Highlight the cursor whenever the window scrolls" single ((:commit . "bde78180c678b233c94321394f46a81dc6dce1da") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "convenience") (:url . "https://github.com/Malabarba/beacon"))]) + (beacon . [(20220730 100) ((emacs (25 1))) "Highlight the cursor whenever the window scrolls" single ((:commit . "85261a928ae0ec3b41e639f05291ffd6bf7c231c") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "convenience") (:url . "https://github.com/Malabarba/beacon"))]) + (bech32 . [(20220718 1440) ((emacs (25 1)) (dash (2 19 0))) "Bech32 library" single ((:commit . "40d04a0baf5c3d1087b18cc03595c573a1b5891d") (:authors ("Oscar Najera ")) (:maintainer "Oscar Najera" . "hi@oscarnajera.com") (:url . "https://github.com/Titan-C/cardano.el"))]) (beeminder . [(20201227 1533) ((emacs (24 3)) (seq (2 16)) (org (7))) "Emacs interface for Beeminder" tar ((:commit . "161d9c94c594614a01cb08219693d9e000af4f69") (:authors ("Phil Newton" . "phil@sodaware.net")) (:maintainer "Phil Newton" . "phil@sodaware.net") (:keywords "tools" "beeminder") (:url . "http://www.philnewton.net/code/beeminder-el/"))]) - (beginend . [(20220409 846) ((emacs (25 3))) "Redefine M-< and M-> for some modes" single ((:commit . "bbcfdc0909c20ddee41e95b7ade7de63af73b220") (:url . "https://github.com/DamienCassou/beginend"))]) + (beginend . [(20220803 1431) ((emacs (25 3))) "Redefine M-< and M-> for some modes" single ((:commit . "eb77d82dc88846c5715353b7fd99c9030a2e2ee7") (:url . "https://github.com/DamienCassou/beginend"))]) (belarus-holidays . [(20190102 1343) nil "Belarus holidays whith transfers" single ((:commit . "35a18273e19edc3b4c761030ffbd11116483b83e") (:authors ("Yauhen Makei" . "yauhen.makei@gmail.com")) (:maintainer "Yauhen Makei" . "yauhen.makei@gmail.com") (:url . "http://bitbucket.org/EugeneMakei/belarus-holidays.el"))]) (benchmark-init . [(20220414 1612) ((emacs (24 3))) "Benchmarks for require and load calls" tar ((:commit . "02435560415bbadbcf5051fb7042880549170e7e") (:authors ("Steve Purcell")) (:maintainer "David Holm" . "dholmster@gmail.com") (:keywords "convenience" "benchmark") (:url . "https://github.com/dholm/benchmark-init-el"))]) (benchstat . [(20171014 312) nil "proper benchmarking made simple" single ((:commit . "a5b67cf7972ca2bbc9f5bc6a0f521ab02b76d4f0") (:authors ("Iskander Sharipov" . "quasilyte@gmail.com")) (:maintainer "Iskander Sharipov" . "quasilyte@gmail.com") (:keywords "lisp") (:url . "https://github.com/Quasilyte/benchstat.el"))]) (bencoding . [(20200331 1102) ((emacs (25 1))) "Bencoding decoding and encoding" single ((:commit . "1e16ccfd5c6560a83ae2926afe4a5076a541d3d6") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "tools") (:url . "https://github.com/xuchunyang/bencoding.el"))]) (berrys-theme . [(20191201 1609) ((emacs (24 1))) "A light, clean and elegant theme" single ((:commit . "888a14206b2fb3dc45b5273aeb05075f3e0b5f60") (:authors ("Slava Buzin" . "v8v.buzin@gmail.com")) (:maintainer "Slava Buzin" . "v8v.buzin@gmail.com") (:url . "https://github.com/vbuzin/berrys-theme"))]) (bert . [(20131117 1014) nil "BERT serialization library for Emacs" single ((:commit . "a3eec6980a725aa4abd2019e4c00246450260490") (:authors ("Oleksandr Manzyuk" . "manzyuk@gmail.com")) (:maintainer "Oleksandr Manzyuk" . "manzyuk@gmail.com") (:keywords "comm" "data"))]) - (better-defaults . [(20220116 2220) ((emacs (25 1))) "Fixing weird quirks and poor defaults" single ((:commit . "db2d945c44e26f32a658e9e743dd4b7a0d84b2fd") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:keywords "convenience") (:url . "https://github.com/technomancy/better-defaults"))]) + (better-defaults . [(20220116 2220) ((emacs (25 1))) "Fixing weird quirks and poor defaults" single ((:commit . "20ac176ccdc18ff8cb4a6b37cf1fe90fa7f88335") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:keywords "convenience") (:url . "https://github.com/technomancy/better-defaults"))]) (better-jumper . [(20220110 118) ((emacs (25 1))) "configurable jump list" single ((:commit . "47622213783ece37d5337dc28d33b530540fc319") (:authors ("Bryan Gilbert ")) (:maintainer "Bryan Gilbert" . "bryan@bryan.sh") (:keywords "convenience" "jump" "history" "evil") (:url . "https://github.com/gilbertw1/better-jumper"))]) - (better-scroll . [(20210715 1004) ((emacs (24 3))) "Improve user experience when scrolling window" single ((:commit . "95678fbd33f74db0fd486db7851026f8429b7827") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/better-scroll"))]) + (better-scroll . [(20220704 645) ((emacs (24 3))) "Improve user experience when scrolling window" single ((:commit . "9ec8cb24751784cc114263728d7565fd473facd7") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "scrolling" "scroll" "window" "better" "improvement") (:url . "https://github.com/jcs-elpa/better-scroll"))]) (better-shell . [(20191025 1737) ((emacs (24 4))) "Better shell management" single ((:commit . "70c787b981caeef8c5f8012b170eb7b9f167cd13") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:keywords "convenience") (:url . "https://github.com/killdash9/better-shell"))]) (bf-mode . [(20130403 1442) nil "Browse file persistently on dired" single ((:commit . "7cc4d09aed64d9db6be95646f5f5067de68f8895") (:authors ("isojin")) (:maintainer "myuhe ") (:keywords "convenience") (:url . "https://github.com/emacs-jp/bf-mode"))]) (bfbuilder . [(20210228 1740) ((cl-lib (0 3)) (emacs (24 4))) "A brainfuck development environment with interactive debugger" single ((:commit . "689f320a9a1326cdeff43b8538e0d739f8519c4b") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://zk-phi.gitub.io/"))]) - (bibclean-format . [(20190302 2017) ((emacs (24 3)) (reformatter (0 3))) "Reformat BibTeX and Scribe using bibclean" single ((:commit . "b4003950a925d1c659bc359ab5e88e4441775d77") (: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") (:keywords "languages") (:url . "https://github.com/peterwvj/bibclean-format"))]) + (bibclean-format . [(20190302 2017) ((emacs (24 3)) (reformatter (0 3))) "Reformat BibTeX and Scribe using bibclean" single ((:commit . "94bc804220248b43b68c073545858692816d307a") (: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") (:keywords "languages") (:url . "https://github.com/peterwvj/bibclean-format"))]) (biblio . [(20210418 406) ((emacs (24 3)) (biblio-core (0 2))) "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org" tar ((:commit . "517ec18f00f91b61481214b178f7ae0b8fbc499b") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "bib" "tex" "convenience" "hypermedia") (:url . "https://github.com/cpitclaudel/biblio.el"))]) (biblio-bibsonomy . [(20190105 1200) ((emacs (24 4)) (biblio-core (0 2))) "Lookup bibliographic entries from Bibsonomy" single ((:commit . "778cc944db3c6dababe2e7fec5877fba42e8c00d") (:authors ("Andreas Jansson and contributors")) (:maintainer "Andreas Jansson and contributors") (:keywords "bib" "tex" "bibsonomy") (:url . "http://github.com/andreasjansson/biblio-bibsonomy/"))]) (biblio-core . [(20210418 406) ((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 . "517ec18f00f91b61481214b178f7ae0b8fbc499b") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "bib" "tex" "convenience" "hypermedia") (:url . "https://github.com/cpitclaudel/biblio.el"))]) - (bibliothek . [(20190124 1828) ((emacs (24 4)) (pdf-tools (0 70)) (a (0 1 0 -3 4))) "Managing a digital library of PDFs" single ((:commit . "350af0e5d53307c900e4f8b2617f3852f51a74d2") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "tools") (:url . "https://dev.gkayaalp.com/elisp/index.html#bibliothek-el"))]) + (bibliothek . [(20190124 1828) ((emacs (24 4)) (pdf-tools (0 70)) (a (0 1 0 -3 4))) "Managing a digital library of PDFs" single ((:commit . "4359c640c7822a23976e9a5ca4ce63452d796912") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "tools") (:url . "https://dev.gkayaalp.com/elisp/index.html#bibliothek-el"))]) (bibretrieve . [(20191124 1855) ((auctex (11 87)) (emacs (24 3))) "Retrieve BibTeX entries from the internet" tar ((:commit . "81dc8e0db3629cc180eafb2bc34b60dcd8980316") (:authors ("Antonio Sartori")) (:maintainer "Pavel Zorin-Kranich" . "pzorin@uni-bonn.de") (:keywords "bibtex" "bibliography" "mathscinet" "arxiv" "zbmath") (:url . "https://github.com/pzorin/bibretrieve"))]) (bibslurp . [(20151202 2346) ((s (1 6 0)) (dash (1 5 0))) "retrieve BibTeX entries from NASA ADS" single ((:commit . "0116bbb04840d20a6b087e6d9c921bb1c2489a8f") (:keywords "bibliography" "nasa ads") (:url . "https://github.com/mkmcc/bibslurp"))]) (bibtex-completion . [(20220404 1608) ((parsebib (1 0)) (s (1 9 0)) (dash (2 6 0)) (f (0 16 2)) (cl-lib (0 5)) (biblio (0 2)) (emacs (26 1))) "A BibTeX backend for completion frameworks" single ((:commit . "ce8c17690ddad73d01531084b282f221f8eb6669") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de") ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))]) (bibtex-utils . [(20190703 2117) nil "Provides utilities for extending BibTeX mode" single ((:commit . "26a8f0909b6adbf545a2b5e57ce7f779bf7a65af") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca") (:keywords "bibtex") (:url . "https://github.com/plantarum/bibtex-utils"))]) - (bicycle . [(20220422 1600) ((emacs (25 1)) (compat (28 1 1 0))) "Cycle outline and code visibility" single ((:commit . "aad77ba6ce64245570b4baa83b62008522c3ce3a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "outlines") (:url . "https://github.com/tarsius/bicycle"))]) + (bicycle . [(20220422 1600) ((emacs (25 1)) (compat (28 1 1 0))) "Cycle outline and code visibility" single ((:commit . "e6d8ca47f77e0579fcb5a1dcb88218087102c355") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "outlines") (:url . "https://github.com/tarsius/bicycle"))]) (bifocal . [(20200325 539) ((emacs (24 4))) "Split-screen scrolling for comint-mode buffers" single ((:commit . "de8d09b08b0b30714c4f9b98c97e9577d47b9be6") (:keywords "frames" "processes") (:url . "https://github.com/riscy/bifocal-mode"))]) (binclock . [(20170802 1116) ((cl-lib (0 5))) "Display the current time using a binary clock." single ((:commit . "87042230d7f3fe3e9a77fae0dbab7d8f7e7794ad") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "games" "time" "display") (:url . "https://github.com/davep/binclock.el"))]) - (bind-chord . [(20171204 2010) ((bind-key (1 0)) (key-chord (0 6))) "key-chord binding helper for use-package-chords" single ((:commit . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-chords"))]) - (bind-key . [(20210210 1609) nil "A simple way to manage personal keybindings" single ((:commit . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "keys" "keybinding" "config" "dotemacs") (: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 . "0ad5d9d5d8a61517a207ab04bf69e71c081149eb") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-chords"))]) + (bind-key . [(20210210 1609) nil "A simple way to manage personal keybindings" single ((:commit . "0ad5d9d5d8a61517a207ab04bf69e71c081149eb") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "keys" "keybinding" "config" "dotemacs") (:url . "https://github.com/jwiegley/use-package"))]) (bind-map . [(20220108 228) ((emacs (24 3))) "Bind personal keymaps in multiple locations" single ((:commit . "510a24138d8de3b8df0783f1ac493a551fc9bd74") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-bind-map"))]) - (binder . [(20211030 511) ((emacs (24 4)) (seq (2 20))) "Global minor mode to facilitate multi-file writing projects" tar ((:commit . "8cefdf0959f0da33250044cf4890b69cfdcf0c5b") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "files" "outlines" "wp" "text") (:url . "https://github.com/rnkn/binder"))]) + (binder . [(20220429 2055) ((emacs (24 4)) (seq (2 20))) "Global minor mode to facilitate multi-file writing projects" tar ((:commit . "127463a7cb8cc2fa9904d3feb3fca95d2244ddcc") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "files" "outlines" "wp" "text") (:url . "https://github.com/rnkn/binder"))]) (bing-dict . [(20200216 110) nil "Minimalists' English-Chinese Bing dictionary" tar ((:commit . "1d581aaa9622b34f8fb83af5579fa252aa24cfef") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions") (:url . "https://github.com/cute-jumper/bing-dict.el"))]) (birds-of-paradise-plus-theme . [(20130419 2129) nil "A brown/orange light-on-dark theme for Emacs 24 (deftheme)." single ((:commit . "bb9f9d4ef7f7872a388ec4eee1253069adcadb6f") (:authors ("Jim Myhrberg" . "contact@jimeh.me")) (:maintainer "Jim Myhrberg" . "contact@jimeh.me") (:keywords "themes") (:url . "https://github.com/jimeh/birds-of-paradise-plus-theme.el"))]) (bison-mode . [(20210527 717) nil "Major mode for editing bison, yacc and lex files." single ((:commit . "4f2e20394a475931409618c1635e9c9f1cf07d9c") (:authors ("Eric Beuscher" . "beuscher@eecs.tulane.edu")) (:maintainer "Eric Beuscher" . "beuscher@eecs.tulane.edu") (:keywords "bison-mode" "yacc-mode"))]) - (bitbake . [(20190107 1155) ((emacs (24 1)) (dash (2 6 0)) (mmm-mode (0 5 4)) (s (1 10 0))) "Running bitbake from emacs" single ((:commit . "ba58bd051457ba0abd2fbc955ea0e75e78ff2c64") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:keywords "convenience") (:url . "https://github.com/canatella/bitbake-el"))]) + (bitbake . [(20220509 1236) ((emacs (24 1)) (dash (2 6 0)) (mmm-mode (0 5 4)) (s (1 10 0))) "Running bitbake from emacs" single ((:commit . "434b088ab8715731d62978264cb934e34c75c4b3") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:keywords "convenience") (:url . "https://github.com/canatella/bitbake-el"))]) (bitbucket . [(20170405 446) ((emacs (24)) (request (0 1 0)) (s (1 9 0))) "Bitbucket API wrapper" tar ((:commit . "5e663da1bd38a14c1ecf4d66a79d4321ac833bcf") (:authors ("2017 Tjaart van der Walt" . "tjaart@tjaart.co.za")) (:maintainer "2017 Tjaart van der Walt" . "tjaart@tjaart.co.za") (:keywords "bitbucket") (:url . "http://github.com/tjaartvdwalt/bitbucket.el/"))]) (bitlbee . [(20151203 0) nil "Help get Bitlbee (http://www.bitlbee.org) up and running." single ((:commit . "3a92a4119e0c007df2c7dcf1b1c3a5f23ee40e05"))]) (blackboard-bold-mode . [(20160813 206) ((cl-lib (0 5))) "Easily insert Unicode mathematical double-struck characters" single ((:commit . "5299cb064ba71baa3e331b8560bf8dd38cbbc4ed") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "") (:keywords "unicode" "double struck" "blackboard bold" "math" "mathematical") (:url . "https://github.com/grettke/blackboard-bold-mode"))]) (blackboard-theme . [(20161216 656) ((emacs (24))) "TextMate Blackboard Theme" single ((:commit . "7a0d79410feb728ff5cce75c140fadc19a3f9a6d") (:authors ("Dong Zheng")) (:maintainer "Dong Zheng") (:url . "https://github.com/don9z/blackboard-theme"))]) - (blacken . [(20220110 1841) ((emacs (25 2))) "Reformat python buffers using the \"black\" formatter" single ((:commit . "563c744f545552cb92e8e84d5be4e2cdbabc93ca") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/blacken"))]) - (blackout . [(20200404 1550) ((emacs (26))) "Better mode lighter overriding" single ((:commit . "c221fa2c8a204b4aff2e09c606f59be58b960b97") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/blackout"))]) - (blamer . [(20220404 1917) ((emacs (27 1))) "Show git blame info about current line" single ((:commit . "f5c0b5ef2ae46062ba13dd03215cdfc49d0fd30b") (:authors ("Artur Yaroshenko" . "artawower@protonmail.com")) (:maintainer "Artur Yaroshenko" . "artawower@protonmail.com") (:url . "https://github.com/artawower/blamer.el"))]) + (blacken . [(20220529 1541) ((emacs (25 2))) "Reformat python buffers using the \"black\" formatter" single ((:commit . "764912ada13c3bf57e770fcd978c81a1ce26666a") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/blacken"))]) + (blackout . [(20220509 2350) ((emacs (26))) "Better mode lighter overriding" single ((:commit . "7707211370f03f03a2f74df15f42ac24a1e99300") (:authors ("Radian LLC" . "contact+blackout@radian.codes")) (:maintainer "Radian LLC" . "contact+blackout@radian.codes") (:keywords "extensions") (:url . "https://github.com/radian-software/blackout"))]) + (blamer . [(20220531 1900) ((emacs (27 1)) (posframe (1 1 7))) "Show git blame info about current line" single ((:commit . "b86822f460a54c60fdfede62d4a86bd4991baa21") (:authors ("Artur Yaroshenko" . "artawower@protonmail.com")) (:maintainer "Artur Yaroshenko" . "artawower@protonmail.com") (:url . "https://github.com/artawower/blamer.el"))]) (blgrep . [(20150401 1416) ((clmemo (20140321 715))) "Block grep" tar ((:commit . "605beda210610a5829750a987f5fcebea97af546") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:keywords "tools" "convenience"))]) (blimp . [(20180903 2240) ((emacs (25)) (eimp (1 4 0))) "Bustling Image Manipulation Package" single ((:commit . "39562f02acc1113595cb253a85bb3b9da743ddd2") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:keywords "multimedia" "unix") (:url . "https://github.com/walseb/blimp"))]) (bliss-theme . [(20170808 1307) ((emacs (24 0))) "an Emacs 24 theme based on Bliss (tmTheme)" single ((:commit . "c3cf6d8a666ab26909b7da158f9e94df71a5fbbf") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) @@ -336,7 +339,7 @@ (blockdiag-mode . [(20160427 524) ((emacs (24 3))) "Major mode for editing blockdiag files" single ((:commit . "f3b21ba433d60327cebd103ae4492200750e24a9") (:authors ("xcezx" . "main.xcezx@gmail.com")) (:maintainer "xcezx" . "main.xcezx@gmail.com") (:url . "https://github.com/xcezx/xdiag-mode"))]) (blog-admin . [(20170923 1409) ((ctable (0 1 1)) (s (1 10 0)) (f (0 17 3)) (names (20151201 0)) (cl-lib (0 5))) "Blog admin for emacs with hexo/org-page supported" tar ((:commit . "b5f2e1dad7d68ec903619f7280bb0bcb7e398a1e") (:authors (nil . "code.falling@gmail.com")) (:maintainer nil . "code.falling@gmail.com") (:keywords "tools" "blog" "org" "hexo" "org-page"))]) (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") (:authors ("Thank Fly" . "thiefuniverses@gmail.com")) (:maintainer "Thank Fly" . "thiefuniverses@gmail.com") (:keywords "tools") (:url . "https://github.com/thiefuniverse/blog-minimal"))]) - (blox . [(20210225 1900) ((emacs (25 1))) "Interaction with Roblox tooling" single ((:commit . "2bf0e618451fb1da11263d8a35ffcd9210590c0a") (:authors ("Kenneth Loeffler" . "kenneth.loeffler@outlook.com")) (:maintainer "Kenneth Loeffler" . "kenneth.loeffler@outlook.com") (:keywords "roblox" "rojo" "tools") (:url . "https://github.com/kennethloeffler/blox"))]) + (blox . [(20220521 807) ((emacs (25 1))) "Interaction with Roblox tooling" single ((:commit . "9ebebb65fb38b5570ba8dfbb5ec835633c06b67d") (:authors ("Kenneth Loeffler" . "kenloef@gmail.com")) (:maintainer "Kenneth Loeffler" . "kenloef@gmail.com") (:keywords "roblox" "rojo" "tools") (:url . "https://github.com/kennethloeffler/blox"))]) (bm . [(20210421 1351) nil "Visible bookmarks in buffer." tar ((:commit . "9a31c61f44e6f1033ca43bd7f3eb33ffdb2ca595") (:authors ("Jo Odland ")) (:maintainer "Jo Odland ") (:keywords "bookmark" "highlight" "faces" "persistent") (:url . "https://github.com/joodland/bm"))]) (bmx-mode . [(20210319 620) ((emacs (25 1)) (cl-lib (0 5)) (company (0 9 4)) (dash (2 13 0)) (s (1 12 0))) "Batch Mode eXtras" single ((:commit . "6f008707efe0bb5646f0c1b0d6f57f0a8800e200") (:authors ("Jostein Kjønigsen" . "jostein@gmail.com")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:keywords "c" "convenience" "tools") (:url . "http://github.com/josteink/bmx-mode"))]) (bnf-mode . [(20200323 1348) ((cl-lib (0 5)) (emacs (24 3))) "Major mode for editing BNF grammars." tar ((:commit . "d9329dd90e5d4f629295e85898362d9682047898") (:authors ("Serghei Iakovlev" . "egrep@protonmail.ch")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:keywords "languages") (:url . "https://github.com/sergeyklay/bnf-mode"))]) @@ -345,12 +348,12 @@ (bolt-mode . [(20180310 810) ((emacs (24 3))) "Editing support for Bolt language" single ((:commit . "85a5a752bfbebb4aed884326c25db64c000e9934") (:authors ("Mikhail Pontus" . "mpontus@gmail.com")) (:maintainer "Mikhail Pontus" . "mpontus@gmail.com") (:keywords "languages") (:url . "https://github.com/mpontus/bolt-mode"))]) (bongo . [(20201002 1020) ((cl-lib (0 5)) (emacs (24 1))) "play music with Emacs" tar ((:commit . "9e9629090262bba6d0003dabe5a375e47a4477f1"))]) (bonjourmadame . [(20170919 1134) nil "Say \"Hello ma'am!\"" single ((:commit . "d3df185fce78aefa689fded8e56a654f0fde4ac0"))]) - (boogie-friends . [(20220419 2240) ((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 . "d685a52259f50c2db51205ef9cc93f713ae8d8fa") (:authors ("Clément Pit--Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit--Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages") (:url . "https://github.com/boogie-org/boogie-friends/"))]) - (bookmark-in-project . [(20220401 348) ((emacs (27 1))) "Bookmark access within a project" single ((:commit . "e95aa25b933e705e87b7a9328e89c8cf0898c201") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-bookmark-in-project"))]) + (boogie-friends . [(20220726 1637) ((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 . "0a736ab6e9669e755141db5afefbfe8cd5df6961") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages") (:url . "https://github.com/boogie-org/boogie-friends/"))]) + (bookmark-in-project . [(20220708 211) ((emacs (27 1))) "Bookmark access within a project" single ((:commit . "ccffde03b57d9b16fff59188d8e4090bf64d46d6") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-bookmark-in-project"))]) (bookmark-view . [(20220403 2204) ((emacs (27 1))) "Bookmark views" single ((:commit . "0d40ac67f53b7fa75fe65c38a5ef65701ce4c3da") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/bookmark-view"))]) (bool-flip . [(20161215 1539) ((emacs (24 3))) "flip the boolean under the point" single ((:commit . "f58a9a7b9ab875bcfbd57c8262697ae404eb4485") (:authors ("Michael Brandt" . "michaelbrandt5@gmail.com")) (:maintainer "Michael Brandt" . "michaelbrandt5@gmail.com") (:keywords "boolean" "convenience" "usability") (:url . "http://github.com/michaeljb/bool-flip/"))]) - (boon . [(20211217 737) ((emacs (26 1)) (dash (2 12 0)) (expand-region (0 10 0)) (multiple-cursors (1 3 0))) "Ergonomic Command Mode for Emacs." tar ((:commit . "654fb8051a5c00dd524710fbf917b00f6afc8844"))]) - (borg . [(20220422 1601) ((emacs (26)) (epkg (3 3 3)) (magit (3 3 0))) "Assimilate Emacs packages as Git submodules" tar ((:commit . "a968c5e7eb771ca4d123b61f8058a1bf8e87bc11") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/borg"))]) + (boon . [(20220502 1850) ((emacs (26 1)) (dash (2 12 0)) (expand-region (0 10 0)) (multiple-cursors (1 3 0))) "Ergonomic Command Mode for Emacs." tar ((:commit . "db7b6083d390e3febf82f9af5782e1a36d30093c"))]) + (borg . [(20220803 1958) ((emacs (26)) (epkg (3 3 3)) (magit (3 3 0))) "Assimilate Emacs packages as Git submodules" tar ((:commit . "47122b6559f4990c03e0b26d6e123e7f9f46525b") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/borg"))]) (borland-blue-theme . [(20160117 1321) ((emacs (24 1))) "Blue/yellow theme based on old DOS Borland/Turbo C IDE" single ((:commit . "db74eefebbc89d3c62575f8f50b319e87b4a3470") (:authors ("Alexey Veretennikov ")) (:maintainer "Alexey Veretennikov ") (:keywords "themes") (:url . "http://github.com/fourier/borland-blue-theme"))]) (boron-theme . [(20170808 1308) ((emacs (24 0))) "an Emacs 24 theme based on Boron (tmTheme)" single ((:commit . "87ae1a765e07429fec25d2f29b004f84b52d2e0a") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) (boxquote . [(20220105 1515) ((cl-lib (0 5))) "Quote text with a semi-box." single ((:commit . "67775ce80886b776efedceb31cdbacec1e26678e") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "quoting") (:url . "https://github.com/davep/boxquote.el"))]) @@ -360,13 +363,13 @@ (bracketed-paste . [(20160407 2348) ((emacs (24 3))) "bracketed paste mode support within emacs -nw" single ((:commit . "843ce3bbb63d560face889e13a57a2f7543957d5") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net") (:keywords "terminals"))]) (brainfuck-mode . [(20150113 842) ((langdoc (20130601 1450))) "Brainfuck mode for Emacs" single ((:commit . "36e69552bb3b97a4f888d362c59845651bd0d492") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:keywords "brainfuck" "langdoc") (:url . "https://github.com/tom-tan/brainfuck-mode/"))]) (brazilian-holidays . [(20210302 107) ((emacs (26))) "Brazilian holidays" single ((:commit . "68811fd5f3e9d9c0572995c3ca46ead2c35eb421") (:authors ("Jaguaraquem A. Reinaldo" . "jaguar.adler@gmail.com")) (:maintainer "Jaguaraquem A. Reinaldo" . "jaguar.adler@gmail.com") (:keywords "calendar" "holidays" "brazilian") (:url . "https://github.com/jadler/brazilian-holidays"))]) - (brf . [(20220104 2222) ((fringe-helper (0 1 1)) (emacs (24 3))) "Brf-mode provides features from the legendary editor Brief" tar ((:commit . "59ec15094917666f253eaf61d17664525a7971f4") (:authors ("Mike Woolley" . "mike@bulsara.com")) (:maintainer "Mike Woolley" . "mike@bulsara.com") (:keywords "brief" "crisp" "emulations") (:url . "https://bitbucket.org/MikeWoolley/brf-mode"))]) + (brf . [(20220710 2116) ((fringe-helper (0 1 1)) (emacs (24 3))) "Brf-mode provides features from the legendary editor Brief" tar ((:commit . "1aaf5b237a2bd550dceff6d76c56e4bf3365ca25") (:authors ("Mike Woolley" . "mike@bulsara.com")) (:maintainer "Mike Woolley" . "mike@bulsara.com") (:keywords "brief" "crisp" "emulations") (:url . "https://bitbucket.org/MikeWoolley/brf-mode"))]) (brightscript-mode . [(20200321 2126) ((emacs (26 3))) "Major mode for editing Brightscript files" single ((:commit . "71c555c2e254629c365e6fc44c2fc4d5b6d0ae8b") (:authors ("Daniel Mircea" . "daniel@viseztrance.com")) (:maintainer nil . "daniel@viseztrance.com") (:keywords "languages") (:url . "https://github.com/viseztrance/brightscript-mode"))]) (broadcast . [(20151205 212) ((emacs (24 4))) "Links buffers together for simultaneous editing." single ((:commit . "f6f9cd2e0e3f8c31d6b8e7446c27eb0e50b25f16") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:keywords "convenience" "frames" "link" "cursors") (:url . "https://github.com/killdash9/broadcast.el"))]) (browse-at-remote . [(20210603 802) ((f (0 17 2)) (s (1 9 0)) (cl-lib (0 5))) "Open github/gitlab/bitbucket/stash/gist/phab/sourcehut page from Emacs" single ((:commit . "cef26f2c063f2473af42d0e126c8613fe2f709e4") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com") (:keywords "github" "gitlab" "bitbucket" "gist" "stash" "phabricator" "sourcehut" "pagure") (:url . "https://github.com/rmuslimov/browse-at-remote"))]) (browse-kill-ring . [(20220410 1509) nil "interactively insert items from kill-ring" single ((:commit . "6e06736a8245a8cdf436f6585c71439239219836") (:authors ("Colin Walters" . "walters@verbum.org")) (:maintainer "browse-kill-ring" . "browse-kill-ring@tonotdo.com") (:keywords "convenience") (:url . "https://github.com/browse-kill-ring/browse-kill-ring"))]) (browse-url-dwim . [(20140731 1922) ((string-utils (0 3 2))) "Context-sensitive external browse URL or Internet search" single ((:commit . "3d611dbb167c286109ac53995ad68286d87aafb9") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "hypermedia") (:url . "http://github.com/rolandwalker/browse-url-dwim"))]) - (brutalist-theme . [(20181023 1222) nil "Brutalist theme" tar ((:commit . "72adc339c433a98e944cbe76da4c45b9ba4400f5") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://git.madhouse-project.org/algernon/brutalist-theme.el"))]) + (brutalist-theme . [(20220507 909) nil "Brutalist theme" tar ((:commit . "f7611ba27ccf1f48f9547d23a20a260ee8886677") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://git.madhouse-project.org/algernon/brutalist-theme.el"))]) (bshell . [(20201219 139) ((emacs (26)) (buffer-manage (0 11))) "Manage and track multiple inferior shells" single ((:commit . "469c841f19f28c271b4f172b40f3f9ca830254df") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "unix" "interactive" "shell" "management") (:url . "https://github.com/plandes/bshell"))]) (btc-ticker . [(20220409 1647) ((json (1 2)) (request (0 2 0))) "Shows latest bitcoin price" single ((:commit . "2ed18ac6338d5fe98c578f0875840af07f0bc42a") (:authors ("Jorge Niedbalski R." . "jnr@metaklass.org")) (:maintainer "Jorge Niedbalski R." . "jnr@metaklass.org") (:keywords "news"))]) (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") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "convenience") (:url . "https://github.com/aki2o/emacs-bts"))]) @@ -374,16 +377,16 @@ (bubbleberry-theme . [(20141017 944) ((emacs (24 1))) "A theme based on LightTable for Emacs24" single ((:commit . "22e9adf4586414024e4592972022ec297321b320") (:authors ("Jason Milkins" . "jasonm23@gmail.com") ("Gaurav Giri github.com/grvgr")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-bubbleberry-theme"))]) (buckwalter . [(20191119 1950) nil "Write arabic using Buckwalter transliteration" single ((:commit . "b8c0c2170c7113b515477b1bb39c58d22aad67e1") (:authors ("Joe HAKIM RAHME" . "joehakimrahme@gmail.com")) (:maintainer "Joe HAKIM RAHME" . "joehakimrahme@gmail.com") (:keywords "arabic" "transliteration" "i18n") (:url . "https://github.com/joehakimrahme/buckwalter-arabic"))]) (buffer-buttons . [(20150106 1439) nil "Define, save, and load code-safe buttons in files for emacs" single ((:commit . "2feb8494fa7863b98256bc85da670d74a3a8a975") (:authors ("Ryan Pavlik" . "rpavlik@gmail.com")) (:maintainer "Ryan Pavlik" . "rpavlik@gmail.com") (:url . "https://github.com/rpav/buffer-buttons"))]) - (buffer-env . [(20220325 1659) ((emacs (27 1))) "Buffer-local process environments" single ((:commit . "ba1c9d24d3f1ba58445cbf1f762ba6859b66f6bf") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "processes" "tools") (:url . "https://github.com/astoff/buffer-env"))]) - (buffer-flip . [(20180307 2251) nil "Cycle through buffers like Alt-Tab in Windows" single ((:commit . "b8ecbf0251a59c351a3e44607ee502af343da64b") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:keywords "convenience") (:url . "https://github.com/killdash9/buffer-flip.el"))]) + (buffer-env . [(20220728 1835) ((emacs (27 1)) (compat (28 1))) "Buffer-local process environments" single ((:commit . "7c176d043445ea94fe924a715158c25b91ec4776") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "processes" "tools") (:url . "https://github.com/astoff/buffer-env"))]) + (buffer-flip . [(20220718 10) ((cl-lib (0 5))) "Cycle through buffers like Alt-Tab in Windows" single ((:commit . "dda0cbcd202cdadf322942f9637a11ed92525756") (:authors ("Russell Black" . "killdash9@github")) (:maintainer "Russell Black" . "killdash9@github") (:keywords "convenience") (:url . "https://github.com/killdash9/buffer-flip.el"))]) (buffer-manage . [(20211122 1957) ((emacs (26 1)) (choice-program (0 13)) (dash (2 17 0))) "Manage buffers" tar ((:commit . "819bbfd9ae2f028361f484bc3b60d751623a2df5") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "internal" "maint") (:url . "https://github.com/plandes/buffer-manage"))]) - (buffer-move . [(20160615 1803) nil "easily swap buffers" single ((:commit . "cb517ecf8409b5fdcda472d7190c6021f0c49751") (:keywords "lisp" "convenience") (:url . "https://github.com/lukhas/buffer-move"))]) + (buffer-move . [(20220512 755) ((emacs (24 1))) "easily swap buffers" single ((:commit . "e7800b3ab1bd76ee475ef35507ec51ecd5a3f065") (:keywords "convenience") (:url . "https://github.com/lukhas/buffer-move/"))]) (buffer-ring . [(20220120 124) ((emacs (25 1)) (dynaring (0 3)) (s (1 12 0)) (ht (2 0))) "Rings and tori for buffer navigation" single ((:commit . "177d67238c4d126a0270585e21c0f03ae750ca2a") (:authors ("Mike Mattie" . "codermattie@gmail.com") ("Sid Kasivajhula" . "sid@countvajhula.com")) (:maintainer "Sid Kasivajhula" . "sid@countvajhula.com") (:url . "https://github.com/countvajhula/buffer-ring"))]) (buffer-sets . [(20170718 340) ((cl-lib (0 5))) "Sets of Buffers for Buffer Management" single ((:commit . "bc84c2f79a33609cccf3c996101125859b2e26ab") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:keywords "buffer-management") (:url . "http://github.com/swflint/buffer-sets"))]) (buffer-utils . [(20140512 1400) nil "Buffer-manipulation utility functions" single ((:commit . "685b13457e3a2085b7584e41365d2aa0779a1b6f") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/buffer-utils"))]) (buffer-watcher . [(20170913 839) ((f (0 16 2)) (cl-lib (0 5))) "Easily run shell scripts per filetype/directory when a buffer is saved" single ((:commit . "b32c67c8a5d724257d759f4c903d0dedc32246ef") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr"))]) - (buffer-wrap . [(20200924 345) ((emacs (24 4))) "Wrap the beginning and the end of buffer" single ((:commit . "ffab5276545db4c02171c1c640f9987a50a73e1e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/buffer-wrap"))]) - (bufler . [(20210907 1145) ((emacs (26 3)) (dash (2 18)) (f (0 17)) (pretty-hydra (0 2 2)) (magit-section (0 1)) (map (2 1))) "Group buffers into workspaces with programmable rules" tar ((:commit . "a68e0eb2719c67ab8a3ad56c4036364061d06004") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/bufler.el"))]) + (buffer-wrap . [(20220704 646) ((emacs (24 4))) "Wrap the beginning and the end of buffer" single ((:commit . "8be8508ad5570b1487d9d2fc1b5aa71558f2d0f5") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "buffer" "tool" "wrap") (:url . "https://github.com/jcs-elpa/buffer-wrap"))]) + (bufler . [(20220726 1658) ((emacs (26 3)) (dash (2 18)) (f (0 17)) (pretty-hydra (0 2 2)) (magit-section (0 1)) (map (2 1))) "Group buffers into workspaces with programmable rules" tar ((:commit . "5e8f02c3a454d6d43c18851023d6ac6ae470c31f") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/bufler.el"))]) (bufshow . [(20130726 1838) ((emacs (24 1))) "A simple presentation tool for Emacs." single ((:commit . "d60a554e7239e6f7520d9c3436d5ecdbc9cf6957") (:authors ("Peter Jones" . "pjones@pmade.com")) (:maintainer "Peter Jones" . "pjones@pmade.com") (:url . "https://github.com/pjones/bufshow"))]) (bug-reference-github . [(20200206 2158) nil "Set `bug-reference-url-format' in Github repos" tar ((:commit . "c9512a010f19633e69f1d4b1597eff7048b21112") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:keywords "programming" "tools") (:url . "https://github.com/arnested/bug-reference-github"))]) (bui . [(20210108 1141) ((emacs (24 3)) (dash (2 11 0))) "Buffer interface library" tar ((:commit . "f3a137628e112a91910fd33c0cff0948fa58d470") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "tools") (:url . "https://github.com/alezost/bui.el"))]) @@ -391,14 +394,14 @@ (build-helper . [(20161009 1755) ((projectile (0 9 0))) "Utilities to help build code" single ((:commit . "7a6fe71125a26ed1c492dab77cc688a7fe1d68ac") (:authors ("Afonso Bordado" . "afonsobordado@az8.co")) (:maintainer "Afonso Bordado" . "afonsobordado@az8.co") (:keywords "convenience") (:url . "http://github.com/afonso360/build-helper"))]) (build-status . [(20190807 1231) ((cl-lib (0 5))) "Mode line build status indicator" single ((:commit . "1a1d2473aa62f2fdda47d8bfeb9fe352d2579b48") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:keywords "mode-line" "ci" "circleci" "travis-ci") (:url . "http://github.com/sshaw/build-status"))]) (bundler . [(20200129 1338) ((inf-ruby (2 1)) (cl-lib (0 5))) "Interact with Bundler from Emacs" single ((:commit . "43efb6be4ed118b06d787ce7fbcffd68a31732a7") (:authors ("Tobias Svensson" . "tob@tobiassvensson.co.uk")) (:maintainer "Tobias Svensson" . "tob@tobiassvensson.co.uk") (:keywords "bundler" "ruby") (:url . "http://github.com/endofunky/bundler.el"))]) - (burly . [(20220413 1529) ((emacs (26 3)) (map (2 1))) "Save and restore frame/window configurations with buffers" tar ((:commit . "96f59fe24fdce14d14f204372f99bf522ab192bf") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/burly.el"))]) + (burly . [(20220714 2053) ((emacs (27 1)) (map (2 1))) "Save and restore frame/window configurations with buffers" tar ((:commit . "d95cf80cb4e06ef08c2589afb8ab72e369c0b97a") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/burly.el"))]) (burnt-toast . [(20201113 814) ((emacs (25 1)) (dash (2 10)) (alert (1 2))) "Elisp integration with the BurntToast PowerShell module" tar ((:commit . "eed66036d65b0ee26ce02371d14dce16a360acb4") (:authors ("Sam Cedarbaum" . "scedarbaum@gmail.com")) (:maintainer "Sam Cedarbaum" . "scedarbaum@gmail.com") (:keywords "alert" "notifications" "powershell" "comm") (:url . "https://github.com/cedarbaum/burnt-toast.el"))]) (bury-successful-compilation . [(20181106 403) nil "Bury the *compilation* buffer after successful compilation" single ((:commit . "674644c844184605a1bb4f9487a60f7a780a6fe7") (:authors ("Eric Crosson" . "esc@ericcrosson.com")) (:maintainer "Eric Crosson" . "esc@ericcrosson.com") (:keywords "compilation"))]) (buster-mode . [(20140928 1213) nil "Minor mode to speed up development when writing tests with Buster.js" single ((:commit . "de6958ef8369400922618b8d1e99abfa91b97ac5") (:keywords "buster" "testing" "javascript"))]) (buster-snippets . [(20151125 1010) ((yasnippet (0 8 0))) "Yasnippets for the Buster javascript testing framework" tar ((:commit . "bb8769dae132659858e74d52f3f4e8790399423a") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "snippets"))]) (busybee-theme . [(20170719 928) nil "port of vim's mustang theme" single ((:commit . "66b2315b030582d0ebee605cf455d386d8c30fcd") (:authors ("martin haesler")) (:maintainer "martin haesler") (:url . "http://github.com/mswift42/busybee-theme"))]) (butler . [(20210928 230) ((deferred (0 3 2)) (json (1 2)) (emacs (24))) "Emacs client for Jenkins" tar ((:commit . "10943ccdf2030187b2f7bd97337d78acb7fd31c9") (:authors ("Ashton Kemerling" . "ashtonkemerling@gmail.com")) (:maintainer "Ashton Kemerling" . "ashtonkemerling@gmail.com") (:keywords "jenkins" "hudson" "ci") (:url . "http://www.github.com/AshtonKem/Butler.git"))]) - (buttercup . [(20220410 1557) ((emacs (24 3))) "Behavior-Driven Emacs Lisp Testing" tar ((:commit . "ceedad5efa797e860dbb356bc2c3028a4e0321ec") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:url . "https://github.com/jorgenschaefer/emacs-buttercup"))]) + (buttercup . [(20220619 2214) ((emacs (24 3))) "Behavior-Driven Emacs Lisp Testing" tar ((:commit . "42df1faa653f2765941f478167dafac059dc3a57") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:url . "https://github.com/jorgenschaefer/emacs-buttercup"))]) (buttercup-junit . [(20190802 2258) ((emacs (24 3)) (buttercup (1 15))) "JUnit reporting for Buttercup" single ((:commit . "3ae4f84813c9e04e03a6e703990ca998b62b6deb") (:authors ("Ola Nilsson" . "ola.nilsson@gmail.com")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:keywords "tools" "test" "unittest" "buttercup" "ci") (:url . "https://bitbucket.org/olanilsson/buttercup-junit"))]) (button-lock . [(20200309 1323) nil "Clickable text defined by regular expression" single ((:commit . "9afe0f4d05910b0cccc94cb6d4d880119f3b0528") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "mouse" "button" "hypermedia" "extensions") (:url . "http://github.com/rolandwalker/button-lock"))]) (buttons . [(20201123 2333) ((cl-lib (0 3))) "Define and visualize hierarchies of keymaps" single ((:commit . "de41b48244574a13000c4289fdb4216a2b0490ff") (:authors ("Ernesto Alfonso")) (:maintainer nil . "(concat \"erjoalgo\" \"@\" \"gmail\" \".com\")") (:keywords "keymap" "template" "snippet") (:url . "http://github.com/erjoalgo/emacs-buttons"))]) @@ -410,7 +413,7 @@ (cabledolphin . [(20160204 938) ((emacs (24 4)) (seq (1 0))) "capture Emacs network traffic" single ((:commit . "fffc192cafa61558e924323d6da8166fe5f2a6f9") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "comm"))]) (cache . [(20111019 2300) nil "implementation of a hash table whose key-value pairs expire" single ((:commit . "7499586b6c8224df9f5c5bc4dec96b008258d580") (:authors ("Nathaniel Flath")) (:maintainer "Nathaniel Flath"))]) (cacoo . [(20120319 2359) ((concurrent (0 3 1))) "Minor mode for Cacoo : http://cacoo.com" tar ((:commit . "c9fa04fbe97639b24698709530361c2bb5f3273c") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "convenience" "diagram") (:url . "https://github.com/kiwanami/emacs-cacoo/"))]) - (caddyfile-mode . [(20181204 858) ((emacs (25)) (loop (1 3))) "Major mode for Caddy configuration files" single ((:commit . "976ad0664c3f44bfa11cb9b8787ddfb094d0a666") (:authors ("Thomas Jost" . "schnouki@schnouki.net")) (:maintainer "Thomas Jost" . "schnouki@schnouki.net") (:keywords "languages") (:url . "https://github.com/Schnouki/caddyfile-mode/"))]) + (caddyfile-mode . [(20220626 945) ((emacs (25)) (loop (1 3))) "Major mode for Caddy configuration files" single ((:commit . "fc41148f5a7eb320f070666f046fb9d88cf17680") (:authors ("Thomas Jost" . "schnouki@schnouki.net")) (:maintainer "Thomas Jost" . "schnouki@schnouki.net") (:keywords "languages") (:url . "https://github.com/Schnouki/caddyfile-mode/"))]) (cake-inflector . [(20140415 858) ((s (1 9 0))) "Lazy porting CakePHP infrector.php to el" single ((:commit . "a1d338ec4840b1b1bc14f7f9298c07e2c1d2d8fc") (:authors ("k1LoW (Kenichirou Oyama), ")) (:maintainer "k1LoW (Kenichirou Oyama), ") (:url . "https://github.com/k1LoW/emacs-cake-inflector"))]) (cakecrumbs . [(20180929 139) ((emacs (24 4))) "Show parents on header for HTML/Jade/Sass/Stylus" single ((:commit . "cf8c1df885eee004602f73c4f841301e200e5850") (:authors ("ono hiroko ")) (:maintainer "ono hiroko ") (:keywords "languages" "html" "jade" "pug" "sass" "scss" "stylus") (:url . "https://github.com/kuanyui/cakecrumbs.el"))]) (cal-china-x . [(20200924 1837) ((cl-lib (0 5))) "Chinese localization, lunar/horoscope/zodiac info and more..." tar ((:commit . "94005e678a1d2522b7a00299779f40c5c77286b8") (:authors ("William Xu" . "william.xwl@gmail.com")) (:maintainer "William Xu" . "william.xwl@gmail.com") (:url . "https://github.com/xwl/cal-china-x"))]) @@ -422,51 +425,56 @@ (calfw-howm . [(20170704 4) nil "calendar view for howm" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "calendar"))]) (calfw-ical . [(20150703 819) nil "calendar view for ical format" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "calendar"))]) (calfw-org . [(20160303 258) nil "calendar view for org-agenda" single ((:commit . "03abce97620a4a7f7ec5f911e669da9031ab9088") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "calendar" "org"))]) - (calibredb . [(20220424 1610) ((emacs (25 1)) (org (9 3)) (transient (0 1 0)) (s (1 12 0)) (dash (2 17 0)) (request (0 3 3)) (esxml (0 3 7))) "Yet another calibre client" tar ((:commit . "8a6148a264e5e57e11824a238ae7b92bb3b6c9ab") (:authors ("Damon Chan" . "elecming@gmail.com")) (:maintainer "Damon Chan" . "elecming@gmail.com") (:keywords "tools") (:url . "https://github.com/chenyanming/calibredb.el"))]) - (call-graph . [(20220422 1432) ((emacs (25 1)) (hierarchy (0 7 0)) (tree-mode (1 0 0)) (ivy (0 10 0))) "Generate call graph for c/c++ functions" tar ((:commit . "89a130f04bf04b0b1e5dac41fc640023db2ddc21") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:keywords "programming" "convenience") (:url . "https://github.com/beacoder/call-graph"))]) + (calibredb . [(20220612 1131) ((emacs (25 1)) (org (9 3)) (transient (0 1 0)) (s (1 12 0)) (dash (2 17 0)) (request (0 3 3)) (esxml (0 3 7))) "Yet another calibre client" tar ((:commit . "2f2cfc38f2d1c705134b692127c3008ac1382482") (:authors ("Damon Chan" . "elecming@gmail.com")) (:maintainer "Damon Chan" . "elecming@gmail.com") (:keywords "tools") (:url . "https://github.com/chenyanming/calibredb.el"))]) + (call-graph . [(20220528 27) ((emacs (25 1)) (hierarchy (0 7 0)) (tree-mode (1 0 0)) (ivy (0 10 0))) "Generate call graph for c/c++ functions" tar ((:commit . "b37836ed04a1268301c0ef84496f165c671f55e4") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:keywords "programming" "convenience") (:url . "https://github.com/beacoder/call-graph"))]) (calmer-forest-theme . [(20130926 510) nil "Darkish theme with green/orange tint" single ((:commit . "87ba7bae389084d13fe3bc34e0c923017eda6ba0") (:authors ("Artur Hefczyc, created 2003-04-18") ("David Caldwell" . "david@porkrind.org")) (:maintainer "Artur Hefczyc, created 2003-04-18") (:url . "https://github.com/caldwell/calmer-forest-theme"))]) (camcorder . [(20190317 2138) ((emacs (24)) (names (20150000)) (cl-lib (0 5))) "Record screencasts in gif or other formats." single ((:commit . "b11ca61491a27681bb3131b72b51c105fd996bed") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "multimedia" "screencast") (:url . "http://github.com/Bruce-Connor/camcorder.el"))]) - (caml . [(20211226 27) ((emacs (24 3))) "Caml mode for GNU Emacs" tar ((:commit . "204bfde9ad21cb94c273db8b0c12d31a4eb425e5") (:authors ("Jacques Garrigue" . "garrigue@kurims.kyoto-u.ac.jp") ("Ian T Zimmerman" . "itz@rahul.net") ("Damien Doligez" . "damien.doligez@inria.fr")) (:maintainer "Christophe Troestler" . "Christophe.Troestler@umons.ac.be") (:keywords "ocaml") (:url . "https://github.com/ocaml/caml-mode"))]) + (caml . [(20220503 1742) ((emacs (24 3))) "Caml mode for GNU Emacs" tar ((:commit . "f2f170f46b758341d96385986e8a93b9b4d248f1") (:authors ("Jacques Garrigue" . "garrigue@kurims.kyoto-u.ac.jp") ("Ian T Zimmerman" . "itz@rahul.net") ("Damien Doligez" . "damien.doligez@inria.fr")) (:maintainer "Christophe Troestler" . "Christophe.Troestler@umons.ac.be") (:keywords "ocaml") (:url . "https://github.com/ocaml/caml-mode"))]) (cangjie . [(20211201 2307) ((emacs (24 4)) (s (1 12 0)) (dash (2 14 1)) (f (0 2 0))) "Retrieve cangjie code for han characters" tar ((:commit . "87408d79b73a69194842a8848de6d7708e98c3a4") (:keywords "convenience" "writing") (:url . "https://github.com/kisaragi-hiu/cangjie.el"))]) - (cape . [(20220414 505) ((emacs (27 1))) "Completion At Point Extensions" tar ((:commit . "c404b0df4a25a0fd1de852b3e0783610dba9a349") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/cape"))]) - (capnp-mode . [(20210707 2310) nil "Major mode for editing Capn' Proto Files" single ((:commit . "281aacc18003ae103b8a04ea83d7b6f814c97b8b") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/capnproto/capnproto"))]) + (cape . [(20220719 646) ((emacs (27 1))) "Completion At Point Extensions" tar ((:commit . "6cfc9574358c98f24c9f58e7004d6753ddb27a89") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/cape"))]) + (capnp-mode . [(20210707 2310) nil "Major mode for editing Capn' Proto Files" single ((:commit . "52028fe3e0dd83e82857069bce48ea890f5aad4c") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/capnproto/capnproto"))]) (capture . [(20130828 1644) nil "screencasting with \"avconv\" or \"ffmpeg\"" tar ((:commit . "1bb26060311da76767f70096218313fc93b0c806") (:authors ("Sergey Pashinin ")) (:maintainer "Sergey Pashinin "))]) - (carbon-now-sh . [(20201028 950) ((emacs (24 4))) "https://carbon.now.sh integration." single ((:commit . "6444a77a6065803cf97c3321f811bd34a8063d76") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:keywords "convenience") (:url . "https://github.com/veelenga/carbon-now-sh.el"))]) - (cargo . [(20220311 827) ((emacs (24 3)) (markdown-mode (2 4))) "Emacs Minor Mode for Cargo, Rust's Package Manager." tar ((:commit . "8335b5577dfa526c645f7c1839c473f99b9ad1a8") (:authors ("Kevin W. van Rooijen")) (:maintainer "Kevin W. van Rooijen") (:keywords "tools"))]) + (carbon-now-sh . [(20220701 332) ((emacs (24 4))) "https://carbon.now.sh integration." single ((:commit . "e66f2e43e288f35ad9075f5fc84d59ad348efc88") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:keywords "convenience") (:url . "https://github.com/veelenga/carbon-now-sh.el"))]) + (cardano-tx . [(20220718 1440) ((emacs (27 1)) (f (0 20 0)) (yasnippet (0 14 0)) (yaml-mode (0 0 15)) (yaml (0 1 0)) (helm (3 6 2)) (cbor (0 2 0)) (bech32 (0 1 1)) (readable-numbers (0 1 0)) (emacsql (3 0 0)) (emacsql-sqlite3 (1 0 2))) "Cardano transaction editor" tar ((:commit . "40d04a0baf5c3d1087b18cc03595c573a1b5891d") (:authors ("Oscar Najera ")) (:maintainer "Oscar Najera" . "hi@oscarnajera.com") (:url . "https://github.com/Titan-C/cardano.el"))]) + (cardano-wallet . [(20220718 1434) ((emacs (27 1)) (yaml (0 1 0)) (dash (2 19 0)) (yaml-mode (0 0 15)) (readable-numbers (0 1 0)) (cardano-tx (0 1 0))) "Interact with cardano wallet" single ((:commit . "40d04a0baf5c3d1087b18cc03595c573a1b5891d") (:authors ("Oscar Najera ")) (:maintainer "Oscar Najera" . "hi@oscarnajera.com") (:url . "https://github.com/Titan-C/cardano.el"))]) + (cargo . [(20220717 1129) ((emacs (24 3)) (markdown-mode (2 4))) "Emacs Minor Mode for Cargo, Rust's Package Manager." tar ((:commit . "7bd3682456bcd666ae550224487e63c0106a7cf9") (:authors ("Kevin W. van Rooijen")) (:maintainer "Kevin W. van Rooijen") (:keywords "tools"))]) (cargo-mode . [(20210605 1003) ((emacs (25 1))) "Cargo Major Mode. Cargo is the Rust package manager" single ((:commit . "b98ea60ddec30eac174012671ee09e125748a193") (:authors ("Ayrat Badykov" . "ayratin555@gmail.com")) (:maintainer "Ayrat Badykov" . "ayratin555@gmail.com") (:keywords "tools") (:url . "https://github.com/ayrat555/cargo-mode"))]) + (cargo-transient . [(20220730 154) ((emacs (28 1))) "A transient UI for Cargo, Rust's package manager" single ((:commit . "1755da9c1cedde6026a0a9e7fd0fe98ed2d30dbb") (:authors ("Peter Stuart" . "peter@peterstuart.org")) (:maintainer "Peter Stuart" . "peter@peterstuart.org") (:url . "https://github.com/peterstuart/cargo-transient"))]) (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"))]) (cascading-dir-locals . [(20211013 1955) ((emacs (26 1))) "Apply all (!) .dir-locals.el from root to current directory" single ((:commit . "345d4b70e837d45ee84014684127e7399932d5e6") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/cascading-dir-locals"))]) (caseformat . [(20160115 1615) ((emacs (24)) (cl-lib (0 5)) (dash (2 12 1)) (s (1 10 0))) "Format based letter case converter" single ((:commit . "75ddb9c64eeb78b46d9e1db99bef8d0fb1e46b99") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:keywords "convenience") (:url . "https://github.com/HKey/caseformat"))]) - (cask . [(20220316 1557) ((emacs (24 5)) (s (1 8 0)) (f (0 16 0)) (epl (0 5)) (shut-up (0 1 0)) (cl-lib (0 3)) (package-build (0)) (ansi (0 4 1))) "Cask: Project management for package development" tar ((:commit . "50df921ddb48682da4ca5437a8ed20618ae9717e") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience") (:url . "http://github.com/cask/cask"))]) + (cask . [(20220715 1113) ((emacs (24 5)) (s (1 8 0)) (f (0 16 0)) (epl (0 5)) (shut-up (0 1 0)) (cl-lib (0 3)) (package-build (0)) (ansi (0 4 1))) "Cask: Project management for package development" tar ((:commit . "10a3b656a6b361589c2e7be70766f6ca3589fc25") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience") (:url . "http://github.com/cask/cask"))]) (cask-mode . [(20160410 1449) ((emacs (24 3))) "major mode for editing Cask files" single ((:commit . "be8b69e55916cf2e78886927f58c7c49b969c0b8") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (cask-package-toolset . [(20170921 2256) ((emacs (24)) (cl-lib (0 3)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0)) (commander (0 2 0)) (ansi (0 1 0)) (shut-up (0 1 0))) "Toolsettize your package" tar ((:commit . "2c74cd827e88c7f8360581a841e45f0b794510e7") (:authors ("Adrien Becchis" . "adriean.khisbe@live.fr")) (:maintainer "Adrien Becchis" . "adriean.khisbe@live.fr") (:keywords "convenience" "tools") (:url . "http://github.com/AdrieanKhisbe/cask-package-toolset.el"))]) (caskxy . [(20140513 1539) ((log4e (0 2 0)) (yaxception (0 1))) "Control Cask in Emacs" single ((:commit . "dc18dcab7ed526070ab76de071c9c5272e6ac40e") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "convenience") (:url . "https://github.com/aki2o/caskxy"))]) (catmacs . [(20170826 1157) ((emacs (24))) "Simple CAT interface for Yaesu Transceivers." single ((:commit . "65d3e0563abe6ff9577202cf2278074d4130fbdd") (:authors ("Frank Singleton" . "b17flyboy@gmail.com")) (:maintainer "Frank Singleton" . "b17flyboy@gmail.com") (:keywords "comm" "hardware") (:url . "https://bitbucket.org/pymaximus/catmacs"))]) - (catppuccin-theme . [(20220330 1021) ((emacs (25 1))) "Catppuccin Theme" single ((:commit . "352ebf62099e95cb4a71060a7d4a228f00358b97") (:authors ("pspiagicw")) (:maintainer "pspiagicw" . "pspiagicw@gmail.com") (:url . "https://github.com/catppuccin/emacs"))]) + (catppuccin-theme . [(20220515 435) ((emacs (25 1))) "Catppuccin Theme" single ((:commit . "715935a78d3acef9da52b3a178d5703c162829c3") (:authors ("pspiagicw")) (:maintainer "pspiagicw" . "pspiagicw@gmail.com") (:url . "https://github.com/catppuccin/emacs"))]) (cbm . [(20171116 1240) ((cl-lib (0 5))) "Switch to similar buffers." single ((:commit . "5b41c936ba9f6d170309a85ffebc9939c1050b31") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:keywords "buffers") (:url . "http://github.com/akermu/cbm.el"))]) + (cbor . [(20220802 1008) ((emacs (25 1)) (dash (2 19 0))) "CBOR utilities" single ((:commit . "40d04a0baf5c3d1087b18cc03595c573a1b5891d") (:authors ("Oscar Najera ")) (:maintainer "Oscar Najera" . "hi@oscarnajera.com") (:url . "https://github.com/Titan-C/cardano.el"))]) (cc-cedict . [(20210814 819) ((emacs (26 1))) "Interface to CC-CEDICT (a Chinese-English dictionary)" single ((:commit . "03fbe7d1589d36f627ef9fe7b86f9fe6f623cbb3") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/cc-cedict.el"))]) - (ccc . [(20210501 820) nil "buffer local cursor color control library" single ((:commit . "5c209e0306364118abf9d9440d7b8b9613183072") (:authors ("Masatake YAMATO" . "masata-y@is.aist-nara.ac.jp")) (:maintainer "SKK Development Team") (:keywords "cursor") (:url . "https://github.com/skk-dev/ddskk"))]) - (ccls . [(20200820 308) ((emacs (25 1)) (lsp-mode (6 3 1)) (dash (2 14 1))) "ccls client for lsp-mode" tar ((:commit . "675a5704c14a27931e835a431beea3631d92e8e6") (:authors ("Tobias Pisani, Fangrui Song")) (:maintainer "Tobias Pisani, Fangrui Song") (:keywords "languages" "lsp" "c++") (:url . "https://github.com/MaskRay/emacs-ccls"))]) + (ccc . [(20210501 820) nil "buffer local cursor color control library" single ((:commit . "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0") (:authors ("Masatake YAMATO" . "masata-y@is.aist-nara.ac.jp")) (:maintainer "SKK Development Team") (:keywords "cursor") (:url . "https://github.com/skk-dev/ddskk"))]) + (ccls . [(20200820 308) ((emacs (25 1)) (lsp-mode (6 3 1)) (dash (2 14 1))) "ccls client for lsp-mode" tar ((:commit . "ae74a39303457a5e6976dd1c6816cde97d357a0d") (:authors ("Tobias Pisani, Fangrui Song")) (:maintainer "Tobias Pisani, Fangrui Song") (:keywords "languages" "lsp" "c++") (:url . "https://github.com/MaskRay/emacs-ccls"))]) (cd-compile . [(20141108 1957) nil "run compile in a specific directory" single ((:commit . "10284ccae86afda4a37b09ba90acd1e2efedec9f") (:authors ("Jamie Nicol" . "jamie@thenicols.net")) (:maintainer "Jamie Nicol" . "jamie@thenicols.net"))]) - (cdb . [(20200904 1431) nil "constant database (cdb) reader for Emacs Lisp" single ((:commit . "5c209e0306364118abf9d9440d7b8b9613183072") (:authors ("Yusuke Shinyama ")) (:maintainer "SKK Development Team") (:keywords "cdb") (:url . "https://github.com/skk-dev/ddskk"))]) - (cdlatex . [(20210804 452) nil "Fast input methods for LaTeX environments and math" single ((:commit . "8e963c68531f75e459e8ebe7a34fd3ba9d3729a0") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") (:keywords "tex"))]) + (cdb . [(20200904 1431) nil "constant database (cdb) reader for Emacs Lisp" single ((:commit . "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0") (:authors ("Yusuke Shinyama ")) (:maintainer "SKK Development Team") (:keywords "cdb") (:url . "https://github.com/skk-dev/ddskk"))]) + (cdlatex . [(20220701 1236) ((auctex (9 9))) "Fast input methods for LaTeX environments and math" single ((:commit . "4c392765e123f9c5481e7d113486a6acf720ab13") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") (:keywords "tex"))]) (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") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "tools") (:url . "https://github.com/yasuyk/cdnjs.el"))]) (cedit . [(20200816 526) nil "paredit-like commands for c-like languages" single ((:commit . "cb38316903e6cfa8b8c978defa7e1dafcd4e0c12") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://zk-phi.gitub.io/"))]) (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") (:authors ("ardumont" . "eniotna.t@gmail.com")) (:maintainer "ardumont" . "eniotna.t@gmail.com") (:keywords "celery" "convenience") (:url . "https://github.com/ardumont/emacs-celery"))]) (celestial-mode-line . [(20180518 822) ((emacs (24))) "Show lunar phase and sunrise/-set time in modeline" single ((:commit . "3f5794aca99b977f1592cf1ab4516ae7922196a1") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:keywords "extensions") (:url . "https://github.com/ecraven/celestial-mode-line"))]) (centaur-tabs . [(20220224 808) ((emacs (24 4)) (powerline (2 4)) (cl-lib (0 5))) "Aesthetic, modern looking customizable tabs plugin" tar ((:commit . "f4cef95acbd2eb99c8db3b6cdde74a6e0a966a0a") (:authors ("Emmanuel Bustos" . "ema2159@gmail.com")) (:maintainer "Emmanuel Bustos" . "ema2159@gmail.com") (:url . "https://github.com/ema2159/centaur-tabs"))]) - (centered-cursor-mode . [(20200507 1529) nil "cursor stays vertically centered" single ((:commit . "4093821cc9759ca5a3c6e527d4cc915fc3a5ad74") (:authors ("André Riemann" . "andre.riemann@web.de")) (:maintainer "André Riemann" . "andre.riemann@web.de") (:keywords "convenience") (:url . "https://github.com/andre-r/centered-cursor-mode.el"))]) + (centered-cursor-mode . [(20200507 1529) nil "cursor stays vertically centered" single ((:commit . "ebaeb80fba0bafdf6f95706308123dec2cf4b99f") (:authors ("André Riemann" . "andre.riemann@web.de")) (:maintainer "André Riemann" . "andre.riemann@web.de") (:keywords "convenience") (:url . "https://github.com/andre-r/centered-cursor-mode.el"))]) (centered-window . [(20220125 804) ((emacs (24 4))) "Center the text when there's only one window" single ((:commit . "80965f6c6afe8d918481433984b493de72af5399") (:authors ("Anler Hernández Peral" . "inbox+emacs@anler.me")) (:maintainer "Anler Hernández Peral" . "inbox+emacs@anler.me") (:keywords "faces" "windows") (:url . "https://github.com/anler/centered-window-mode"))]) (centimacro . [(20201225 1132) nil "Assign multiple macros as global key bindings" single ((:commit . "0149877584b333c4f1953f0767f0cae23881b0df") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "macros") (:url . "https://github.com/abo-abo/centimacro"))]) (cerbere . [(20181113 1641) ((pkg-info (0 5))) "Unit testing in Emacs for several programming languages" tar ((:commit . "c667c165d9c1657f13d2d46f09ba21b61f9402cc") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "python" "go" "php" "phpunit" "elisp" "ert" "tests" "tdd") (:url . "https://github.com/nlamirault/cerbere"))]) + (cern-root-mode . [(20220531 1304) ((emacs (26 1))) "Major-mode for running C++ code with ROOT" single ((:commit . "0227ab66f67276d3142a95cfc858bf621f501346") (:authors ("Jay Morgan" . "jay@morganwastaken.com")) (:maintainer "Jay Morgan" . "jay@morganwastaken.com") (:keywords "languages" "tools") (:url . "https://github.com/jaypmorgan/cern-root-mode"))]) (ceylon-mode . [(20180606 1324) ((emacs (25))) "Major mode for editing Ceylon source code" single ((:commit . "948515672bc596dc118e8e3ede3ede5ec6a3c95a") (:authors ("Lucas Werkmeister" . "mail@lucaswerkmeister.de")) (:maintainer "Lucas Werkmeister" . "mail@lucaswerkmeister.de") (:keywords "languages" "ceylon") (:url . "https://github.com/lucaswerkmeister/ceylon-mode"))]) - (cfengine-code-style . [(20171115 2108) nil "C code style for CFEngine project." single ((:commit . "77ae2447fb421f2c4e62f612f59e7c4073307492") (:authors ("Mikhail Gusarov" . "mikhail.gusarov@cfengine.com")) (:maintainer "Mikhail Gusarov" . "mikhail.gusarov@cfengine.com") (:url . "https://github.com/cfengine/core"))]) + (cfengine-code-style . [(20171115 2108) nil "C code style for CFEngine project." single ((:commit . "fce72aa0bd7f98522ab08ae8ee92f08fc470eae4") (:authors ("Mikhail Gusarov" . "mikhail.gusarov@cfengine.com")) (:maintainer "Mikhail Gusarov" . "mikhail.gusarov@cfengine.com") (:url . "https://github.com/cfengine/core"))]) (cff . [(20160118 2018) ((cl-lib (0 5)) (emacs (24))) "Search of the C/C++ file header by the source and vice versa" single ((:commit . "b6ab2a28e64ef06f281ec74cfe3114e450644dfa") (:authors ("Alexey Veretennikov" . "alexey.veretennikov@gmail.com")) (:maintainer "Alexey Veretennikov" . "alexey.veretennikov@gmail.com") (:keywords "find-file") (:url . "https://github.com/fourier/cff"))]) (cfml-mode . [(20190617 1130) ((emacs (25))) "Emacs mode for editing CFML files" single ((:commit . "2de315abddb6af088a2346e142cc305889dcd775") (:authors ("Andrew Myers" . "am2605@gmail.com")) (:maintainer "Andrew Myers" . "am2605@gmail.com") (:url . "https://github.com/am2605/cfml-mode"))]) (cfn-mode . [(20220221 1029) ((emacs (26 0)) (f (0 20 0)) (s (1 12 0)) (yaml-mode (0 0 13))) "AWS cloudformation mode" tar ((:commit . "4cf56affe3035fda364109836e26499431095185") (:authors ("William Orr" . "will@worrbase.com")) (:maintainer "William Orr" . "will@worrbase.com") (:keywords "convenience" "languages" "tools") (:url . "https://gitlab.com/worr/cfn-mode"))]) (cframe . [(20201222 1930) ((emacs (26)) (buffer-manage (0 11)) (dash (2 17 0))) "Customize a frame and fast switch size and positions" single ((:commit . "38544521e82befc06e397123a118dd96dda2c6b6") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "frames") (:url . "https://github.com/plandes/cframe"))]) (cfrs . [(20220129 1149) ((emacs (26 1)) (dash (2 11 0)) (s (1 10 0)) (posframe (0 6 0))) "Child-frame based read-string" single ((:commit . "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/cfrs"))]) - (cg . [(20220318 1007) ((emacs (26 1))) "Major mode for editing Constraint Grammar files" single ((:commit . "595be50f2ecdf603b87f9aeed7b8089f4317ad29") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "languages") (:url . "https://visl.sdu.dk/constraint_grammar.html"))]) + (cg . [(20220318 1007) ((emacs (26 1))) "Major mode for editing Constraint Grammar files" single ((:commit . "2b930905c23f1cd2fcf3ecad558fde5b708ea1a8") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "languages") (:url . "https://visl.sdu.dk/constraint_grammar.html"))]) (challenger-deep-theme . [(20210120 941) ((emacs (24))) "challenger-deep Theme" single ((:commit . "2a799259406a8b96a688873093ffab6630a3ad3b") (:authors ("MaxSt")) (:maintainer "MaxSt") (:url . "https://github.com/challenger-deep-theme/emacs"))]) (change-inner . [(20210126 1456) ((expand-region (0 7))) "Change contents based on semantic units" single ((:commit . "42cad58aed2caec260f8e8ff61f78a7d3db72d1b") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "convenience" "extensions"))]) (chapel-mode . [(20210513 457) ((emacs (25 1)) (hydra (0 15 0))) "A major mode for the Chapel programming language" single ((:commit . "39fd24bb7cf44808200354ac0496be4fc4fddd9a") (:keywords "chapel" "chpl" "programming" "languages") (:url . "https://github.com/damon-kwok/chapel-mode"))]) @@ -479,8 +487,8 @@ (chee . [(20171123 2233) ((dash (2 12 1)) (s (1 10 0)) (f (0 18 2))) "Interface to chee using dired and image-dired" tar ((:commit . "669ff9ee429f24c3c2d03b83d9cb9aec5f86bb8b") (:url . "https://github.com/eikek/chee/tree/release/0.3.0/emacs"))]) (cheerilee . [(20160313 1835) ((xelb (0 1))) "Toolkit library" tar ((:commit . "41bd81b5b0bb657241ceda5be6af5e07254d7376") (:authors ("Alessio Vanni" . "vannilla@firemail.cc")) (:maintainer "Alessio Vanni" . "vannilla@firemail.cc") (:keywords "multimedia" "tools") (:url . "https://github.com/Vannil/cheerilee.el"))]) (chef-mode . [(20180628 1453) nil "minor mode for editing an opscode chef repository" single ((:commit . "048d691cb63981ae235763d4a6ced4af5c729924") (:authors ("Maciej Pasternacki" . "maciej@pasternacki.net")) (:maintainer "Maciej Pasternacki" . "maciej@pasternacki.net") (:keywords "chef" "knife"))]) - (chembalance . [(20210601 1653) ((emacs (24 4))) "Balance chemical equations" single ((:commit . "ae36c823ca151f1dc6144ec96b2f5e98181c0dbb") (:authors ("Sergi Ruiz Trepat")) (:maintainer "Sergi Ruiz Trepat") (:keywords "convenience" "chemistry") (:url . "https://github.com/sergiruiztrepat/chembalance"))]) - (chemtable . [(20210713 1551) ((emacs (24 1))) "Periodic table of the elements" single ((:commit . "05fc1449db497e715b33b8e08359fa17c3148c7b") (:authors ("Sergi Ruiz Trepat")) (:maintainer "Sergi Ruiz Trepat") (:keywords "convenience" "chemistry") (:url . "https://github.com/sergiruiztrepat/chemtable"))]) + (chembalance . [(20210601 1653) ((emacs (24 4))) "Balance chemical equations" single ((:commit . "af591400c55dc2a427a85cbca28e3f9b5361f14b") (:authors ("Sergi Ruiz Trepat")) (:maintainer "Sergi Ruiz Trepat") (:keywords "convenience" "chemistry") (:url . "https://github.com/sergiruiztrepat/chembalance"))]) + (chemtable . [(20210713 1551) ((emacs (24 1))) "Periodic table of the elements" single ((:commit . "151594b11fa6555c73b998ed1f15ee9b5f979f67") (:authors ("Sergi Ruiz Trepat")) (:maintainer "Sergi Ruiz Trepat") (:keywords "convenience" "chemistry") (:url . "https://github.com/sergiruiztrepat/chemtable"))]) (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"))]) (chezmoi . [(20220310 2014) ((emacs (26 1))) "A package for interacting with chezmoi" tar ((:commit . "781783c483bc8fcdba3a230bb774c3a8a5ebe396") (:authors ("Harrison Pielke-Lombardo")) (:maintainer "Harrison Pielke-Lombardo") (:keywords "vc") (:url . "http://www.github.com/tuh8888/chezmoi.el"))]) (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"))]) @@ -491,29 +499,30 @@ (chocolate-theme . [(20210128 1647) ((emacs (24 1)) (autothemer (0 2))) "A dark chocolaty theme" single ((:commit . "ccc05f7ad96d3d1332727689bf6250443adc7ec0") (:url . "http://github.com/SavchenkoValeriy/emacs-chocolate-theme"))]) (choice-program . [(20201217 1751) ((emacs (26)) (dash (2 17 0))) "Parameter based program" tar ((:commit . "b8b1b6c5568f8778783454d5747912487c8e69b8") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "execution" "processes" "unix" "lisp") (:url . "https://github.com/plandes/choice-program"))]) (chronometer . [(20190304 1528) ((emacs (24))) "a [not so] simple chronometer" single ((:commit . "8457b296ef87be339cbe47730b922757d60bdcd5") (:authors ("Marcelo Toledo" . "marcelo@marcelotoledo.com")) (:maintainer "Marcelo Toledo" . "marcelo@marcelotoledo.com") (:keywords "tools" "convenience") (:url . "https://github.com/marcelotoledo/chronometer"))]) - (chronometrist . [(20220415 1213) ((emacs (27 1)) (dash (2 16 0)) (seq (2 20)) (ts (0 2))) "Friendly and powerful personal time tracker and analyzer" tar ((:commit . "e64113949733d10cc2a264add173ea78b20cca61") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) + (chronometrist . [(20220604 344) ((emacs (27 1)) (dash (2 16 0)) (seq (2 20)) (ts (0 2))) "Friendly and powerful personal time tracker and analyzer" tar ((:commit . "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) (chronometrist-goal . [(20210510 1831) ((emacs (25 1)) (alert (1 2)) (chronometrist (0 7 0))) "Adds support for time goals to Chronometrist" single ((:commit . "6cb939d160f5d5966d7853aa23f3ed7c7ef9df44") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabber.fr")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabber.fr") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist-goal"))]) - (chronometrist-key-values . [(20220414 726) ((chronometrist (0 7 0))) "add key-values to Chronometrist data" tar ((:commit . "e64113949733d10cc2a264add173ea78b20cca61") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) - (chronometrist-spark . [(20220321 349) ((emacs (25 1)) (chronometrist (0 7 0)) (spark (0 1))) "Show sparklines in Chronometrist buffers" tar ((:commit . "e64113949733d10cc2a264add173ea78b20cca61") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) + (chronometrist-key-values . [(20220414 726) ((chronometrist (0 7 0))) "add key-values to Chronometrist data" tar ((:commit . "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) + (chronometrist-spark . [(20220321 349) ((emacs (25 1)) (chronometrist (0 7 0)) (spark (0 1))) "Show sparklines in Chronometrist buffers" tar ((:commit . "a8f05bcd051e6c1a1b247c3083be3db9c95c4b8c") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabjab.de")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabjab.de") (:keywords "calendar") (:url . "https://tildegit.org/contrapunctus/chronometrist"))]) (chronos . [(20150602 1529) nil "multiple simultaneous countdown / countup timers" tar ((:commit . "b360d9dae57aa553cf2a14ffa0756a51ad71de09") (:authors ("David Knight" . "dxknight@opmbx.org")) (:maintainer "David Knight" . "dxknight@opmbx.org") (:keywords "calendar") (:url . "http://github.com/dxknight/chronos"))]) (chruby . [(20180114 1652) ((cl-lib (0 5))) "Emacs integration for chruby" single ((:commit . "42bc6d521f832eca8e2ba210f30d03ad5529788f") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:keywords "languages") (:url . "https://github.com/plexus/chruby.el"))]) (chyla-theme . [(20180302 1658) nil "chyla.org - green color theme." single ((:commit . "ae5e7ecace2ab474151eb0ac5ef07fba2dc32f8a") (:authors ("Adam Chyła" . "adam@chyla.org")) (:maintainer "Adam Chyła" . "adam@chyla.org") (:url . "https://github.com/chyla/ChylaThemeForEmacs"))]) - (cider . [(20220420 1050) ((emacs (26)) (clojure-mode (5 14)) (parseedn (1 0 6)) (queue (0 2)) (spinner (1 7)) (seq (2 22)) (sesman (0 3 2))) "Clojure Interactive Development Environment that Rocks" tar ((:commit . "3eff4f9b10f9b748d752ff70a68b0ffa3be06419") (:authors ("Tim King" . "kingtim@gmail.com") ("Phil Hagelberg" . "technomancy@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.dev") ("Artur Malabarba" . "bruce.connor.am@gmail.com") ("Hugo Duncan" . "hugo@hugoduncan.org") ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "clojure" "cider") (:url . "http://www.github.com/clojure-emacs/cider"))]) + (cider . [(20220731 522) ((emacs (26)) (clojure-mode (5 15 1)) (parseedn (1 0 6)) (queue (0 2)) (spinner (1 7)) (seq (2 22)) (sesman (0 3 2))) "Clojure Interactive Development Environment that Rocks" tar ((:commit . "21ccc40d8e50b9b74ac09d8d31374211c92b27e1") (:authors ("Tim King" . "kingtim@gmail.com") ("Phil Hagelberg" . "technomancy@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.dev") ("Artur Malabarba" . "bruce.connor.am@gmail.com") ("Hugo Duncan" . "hugo@hugoduncan.org") ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "clojure" "cider") (:url . "http://www.github.com/clojure-emacs/cider"))]) (cider-decompile . [(20151122 537) ((cider (0 3 0)) (javap-mode (9))) "decompilation extension for cider" single ((:commit . "5d87035f3c3c14025e8f01c0c53d0ce2c8f56651") (:authors ("Dmitry Bushenko")) (:maintainer "Dmitry Bushenko") (:keywords "languages" "clojure" "cider") (:url . "http://www.github.com/clojure-emacs/cider-decompile"))]) (cider-eval-sexp-fu . [(20190311 2152) ((emacs (24)) (eval-sexp-fu (0 5 0))) "Briefly highlights an evaluated sexp." single ((:commit . "7fd229f1441356866aedba611fd0cf4e89b50921") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:keywords "languages" "clojure" "cider"))]) (cider-hydra . [(20190816 1121) ((cider (0 22 0)) (hydra (0 13 0))) "Hydras for CIDER." single ((:commit . "c3b8a15d72dddfbc390ab6a454bd7e4c765a2c95") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/clojure-emacs/cider-hydra"))]) (ciel . [(20180914 815) ((emacs (24))) "A command that is clone of \"ci\" in vim." single ((:commit . "429773a3c551691a463ecfddd634b8bae2f48503") (:authors ("Takuma Matsushita" . "cs14095@gmail.com")) (:maintainer "Takuma Matsushita" . "cs14095@gmail.com") (:keywords "convinience") (:url . "https://github.com/cs14095/ciel.el"))]) (cil-mode . [(20160622 1430) nil "Common Intermediate Language mode" single ((:commit . "a78a88ca9a66a82f069329a96e34b67478ae2d9b") (:authors ("Friedrich von Never" . "friedrich@fornever.me")) (:maintainer "Friedrich von Never" . "friedrich@fornever.me") (:keywords "languages") (:url . "https://github.com/ForNeVeR/cil-mode"))]) - (cilk-mode . [(20220411 1342) ((emacs (25 1)) (flycheck (32 -4))) "Minor mode for Cilk code editing" single ((:commit . "794821e129ea47b04fdeedc61d9ccb3c4240c72d") (:authors ("Alexandros-Stavros Iliopoulos ")) (:maintainer "Alexandros-Stavros Iliopoulos" . "1577182+ailiop@users.noreply.github.com") (:keywords "c" "convenience" "faces" "languages") (:url . "https://github.com/ailiop/cilk-mode"))]) + (cilk-mode . [(20220411 1342) ((emacs (25 1)) (flycheck (32 -4))) "Minor mode for Cilk code editing" single ((:commit . "2f33f991c726d5214d6a17bbbd19836302a8e423") (:authors ("Alexandros-Stavros Iliopoulos ")) (:maintainer "Alexandros-Stavros Iliopoulos" . "1577182+ailiop@users.noreply.github.com") (:keywords "c" "convenience" "faces" "languages") (:url . "https://github.com/ailiop/cilk-mode"))]) (cinspect . [(20150716 233) ((emacs (24)) (cl-lib (0 5)) (deferred (0 3 1)) (python-environment (0 0 2))) "Use cinspect to look at the CPython source of builtins and other C objects!" single ((:commit . "4e199a90f89b335cccda1518aa0963e0a1d4fbab") (:authors ("Ben Yelsey" . "ben.yelsey@gmail.com")) (:maintainer "Ben Yelsey" . "ben.yelsey@gmail.com") (:keywords "python") (:url . "https://github.com/inlinestyle/cinspect-mode"))]) (circadian . [(20181024 1256) ((emacs (24 4))) "Theme-switching based on daytime" single ((:commit . "bf5a00ea45c14dfdcda72c5d9f61bcd230c48159") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:keywords "themes") (:url . "https://github.com/GuidoSchmidt/circadian"))]) - (circe . [(20220421 1956) ((emacs (24 5)) (cl-lib (0 5))) "Client for IRC in Emacs" tar ((:commit . "710f057fedae6e9b820cce9336fef24b7d057e4c") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:keywords "irc" "chat" "comm") (:url . "https://github.com/emacs-circe/circe"))]) + (circe . [(20220526 1206) ((emacs (24 5)) (cl-lib (0 5))) "Client for IRC in Emacs" tar ((:commit . "41cdc116b09818d33f5cb0fc1d72c025c23aa2f1") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:keywords "irc" "chat" "comm") (:url . "https://github.com/emacs-circe/circe"))]) (circe-notifications . [(20180102 2318) ((emacs (24 4)) (circe (2 3)) (alert (1 2))) "Add desktop notifications to Circe." single ((:commit . "291149ac12877bbd062da993479d3533a26862b0") (:authors ("Ruben Maher" . "r@rkm.id.au")) (:maintainer "Ruben Maher" . "r@rkm.id.au") (:url . "https://github.com/eqyiel/circe-notifications"))]) (circleci-api . [(20210227 1607) ((emacs (27)) (request (0 3 2))) "Bindings for the CircleCI API" single ((:commit . "2e39c5896819bb2063f9d7795c4299f419cf5542") (:authors ("Robin Schroer")) (:maintainer "Robin Schroer") (:url . "https://github.com/sulami/circleci-api"))]) - (citar . [(20220423 1738) ((emacs (27 1)) (parsebib (3 0)) (org (9 5)) (citeproc (0 9))) "Citation-related commands for org, latex, markdown" tar ((:commit . "4fbdbdddb7f564b19d2507cafbbe29e18938ee51") (:authors ("Bruce D'Arcus ")) (:maintainer "Bruce D'Arcus ") (:url . "https://github.com/bdarcus/citar"))]) - (citeproc . [(20220124 721) ((emacs (25)) (dash (2 13 0)) (s (1 12 0)) (f (0 18 0)) (queue (0 2)) (string-inflection (1 0)) (org (9)) (parsebib (2 4))) "A CSL 1.0.2 Citation Processor" tar ((:commit . "ba49516265fa24b138346c4918d39d19b4de8a62") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "bib") (:url . "https://github.com/andras-simonyi/citeproc-el"))]) - (citeproc-org . [(20200915 2009) ((emacs (25 1)) (dash (2 12 0)) (org (9)) (f (0 18 0)) (citeproc (0 1)) (org-ref (1 1 1))) "Render org-mode references in CSL styles" tar ((:commit . "20cd7e817420a3f6e7b82faea901a3c67c6d4d9f") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "org-ref" "org-mode" "cite" "bib") (:url . "https://github.com/andras-simonyi/citeproc-org"))]) - (citre . [(20220406 315) ((emacs (26 1))) "Ctags IDE on the True Editor" tar ((:commit . "0ae60846b0b58f09ea463f603bcc3f414a8fb35d") (:authors ("Hao Wang" . "amaikinono@gmail.com")) (:maintainer "Hao Wang" . "amaikinono@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/universal-ctags/citre"))]) + (citar . [(20220803 1554) ((emacs (27 1)) (parsebib (3 0)) (org (9 5)) (citeproc (0 9))) "Citation-related commands for org, latex, markdown" tar ((:commit . "146f2cb5a31d4968ec17f39f189e4ea131ccaf56") (:authors ("Bruce D'Arcus ")) (:maintainer "Bruce D'Arcus ") (:url . "https://github.com/emacs-citar/citar"))]) + (citar-embark . [(20220724 2250) ((emacs (27 1)) (embark (0 17)) (citar (0 9 7))) "Citar/Embark integration" single ((:commit . "146f2cb5a31d4968ec17f39f189e4ea131ccaf56") (:authors ("Bruce D'Arcus" . "bdarcus@gmail.com")) (:maintainer "Bruce D'Arcus" . "bdarcus@gmail.com") (:keywords "bib" "extensions") (:url . "https://github.com/emacs-citar/citar-embark"))]) + (citeproc . [(20220717 729) ((emacs (26)) (dash (2 13 0)) (s (1 12 0)) (f (0 18 0)) (queue (0 2)) (string-inflection (1 0)) (org (9)) (parsebib (2 4))) "A CSL 1.0.2 Citation Processor" tar ((:commit . "406bd9964f1ce531fc45beddcf9ccc44d3456129") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "bib") (:url . "https://github.com/andras-simonyi/citeproc-el"))]) + (citeproc-org . [(20200915 2009) ((emacs (25 1)) (dash (2 12 0)) (org (9)) (f (0 18 0)) (citeproc (0 1)) (org-ref (1 1 1))) "Render org-mode references in CSL styles" tar ((:commit . "840e352855704921e2e68065e9abfdba769ccbd1") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "org-ref" "org-mode" "cite" "bib") (:url . "https://github.com/andras-simonyi/citeproc-org"))]) + (citre . [(20220523 745) ((emacs (26 1))) "Ctags IDE on the True Editor" tar ((:commit . "1c0ca637c7993559a0175e3001941457b8c71211") (:authors ("Hao Wang" . "amaikinono@gmail.com")) (:maintainer "Hao Wang" . "amaikinono@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/universal-ctags/citre"))]) (cl-format . [(20210831 530) nil "CL format routine." tar ((:commit . "ad1a4fb6bc91e65ea90bcf6792cc5a1be5380f9d") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "akater" . "nuclearspace@gmail.com") (:keywords "extensions") (:url . "https://gitlab.com/akater/elisp-cl-format"))]) (cl-libify . [(20181130 230) ((emacs (25))) "Update elisp code to use cl-lib instead of cl" single ((:commit . "f215866d7d7c52e84220cd541f40608a5b85abf0") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "lisp") (:url . "https://github.com/purcell/cl-libify"))]) (clang-capf . [(20220122 1219) ((emacs (24 4))) "Completion-at-point backend for c/c++ using clang" single ((:commit . "b1765719288a138e125cc5ce624ef561c80015bf") (:authors ("Philip K. ")) (:maintainer "Philip K. ") (:keywords "c" "abbrev" "convenience") (:url . "https://git.sr.ht/~pkal/clang-capf"))]) @@ -525,30 +534,32 @@ (clevercss . [(20131229 155) nil "A major mode for editing CleverCSS files" single ((:commit . "b8a3c0dd674367c62b1a1ffec84d88fe0c0219bc") (:authors ("Joe Schafer" . "joesmoe10@gmail.com")) (:maintainer "Joe Schafer" . "joesmoe10@gmail.com") (:keywords "languages" "css"))]) (clhs . [(20210428 1911) nil "Access the Common Lisp HyperSpec (CLHS)" single ((:commit . "7b106c4fb5a6388ab753f94740f6dfadcdeedcbb") (:maintainer "Sam Steingold" . "sds@gnu.org") (:keywords "lisp" "common lisp" "emacs" "ansi cl" "hyperspec") (:url . "https://gitlab.com/sam-s/clhs"))]) (click-mode . [(20180611 44) ((emacs (24))) "Major mode for the Click Modular Router Project" single ((:commit . "b94ea8cce89cf0e753b2ab915202d49ffc470fb6") (:authors ("Brian Malehorn" . "bmalehorn@gmail.com")) (:maintainer "Brian Malehorn" . "bmalehorn@gmail.com") (:keywords "click" "router") (:url . "https://github.com/bmalehorn/click-mode"))]) - (clingo-mode . [(20220409 2004) ((emacs (24 3))) "A major mode for editing Answer Set Programs" single ((:commit . "aa7ed9bf1e331296f3a36debeda7851fb537c1c4") (:authors ("Ivan Uemlianin" . "ivan@llaisdy.com")) (:maintainer "Ivan Uemlianin" . "ivan@llaisdy.com") (:keywords "asp" "clingo" "answer set programs" "potassco" "major mode" "languages") (:url . "https://github.com/llaisdy/clingo-mode"))]) + (clingo-mode . [(20220502 2020) ((emacs (24 3))) "A major mode for editing Answer Set Programs" single ((:commit . "cf56ce6b5c50506f6cea27e1dde0441dd8d15ee9") (:authors ("Ivan Uemlianin" . "ivan@llaisdy.com")) (:maintainer "Ivan Uemlianin" . "ivan@llaisdy.com") (:keywords "asp" "clingo" "answer set programs" "potassco" "major mode" "languages") (:url . "https://github.com/llaisdy/clingo-mode"))]) (clipetty . [(20200327 2241) ((emacs (25 1))) "Send every kill from a TTY frame to the system clipboard" single ((:commit . "01b39044b9b65fa4ea7d3166f8b1ffab6f740362") (:authors ("Mike Hamrick" . "mikeh@muppetlabs.com")) (:maintainer "Mike Hamrick" . "mikeh@muppetlabs.com") (:keywords "terminals" "convenience") (:url . "https://github.com/spudlyo/clipetty"))]) - (cliphist . [(20210813 750) ((emacs (25 1))) "paste from clipboard managers" tar ((:commit . "a794c95e2f70a9b042af7bd07e2483fde75f2a2e") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "clipboard" "manager" "history") (:url . "http://github.com/redguardtoo/cliphist"))]) + (cliphist . [(20220525 1034) ((emacs (25 1))) "paste from clipboard managers" tar ((:commit . "d02b97a2aa0da13711d9a6f845649115de8ac11b") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "clipboard" "manager" "history") (:url . "http://github.com/redguardtoo/cliphist"))]) (clipmon . [(20180129 1054) nil "Clipboard monitor - watch system clipboard, add changes to kill ring/autoinsert" tar ((:commit . "95dc56c7ed84a654ec90f4740eb6df1050de8cf1") (:authors ("Brian Burns" . "bburns.km@gmail.com")) (:maintainer "Brian Burns" . "bburns.km@gmail.com") (:keywords "convenience") (:url . "https://github.com/bburns/clipmon"))]) (clippy . [(20161028 1954) ((pos-tip (1 0))) "Show tooltip with function documentation at point" single ((:commit . "e77f6b63e54d74e243be98accad474e38f7e2a86") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "docs") (:url . "https://github.com/Fuco1/clippy.el"))]) (clips-mode . [(20170909 823) nil "Major mode for editing CLIPS code and REPL" tar ((:commit . "dd38e2822640a38f7d8bfec4f69d8dd24be27074") (:authors ("David E. Young" . "david.young@fnc.fujitsu.com") ("Andrey Kotlarski" . "m00naticus@gmail.com") ("Grant Rettke" . "grettke@acm.org")) (:maintainer "Grant Rettke" . "grettke@acm.org") (:keywords "clips"))]) (clj-decompiler . [(20220103 1746) ((emacs (26 1)) (clojure-mode (5 12)) (cider (1 2 0))) "Clojure Java decompiler expansion" single ((:commit . "8c0c53f87e6e33f2be7e7aff6095eb586b50be1a") (:authors ("Ben Sless" . "ben.sless@gmail.com")) (:maintainer "Ben Sless" . "ben.sless@gmail.com") (:keywords "languages" "clojure" "cider" "java" "decompiler") (:url . "https://www.github.com/bsless/clj-decompiler.el"))]) (clj-deps-new . [(20220221 2235) ((emacs (25 1)) (transient (0 3 7))) "Create clojure projects from templates" single ((:commit . "183089e6d4ded90efff491916e1c87411ead0461") (:authors ("jpe90" . "eskinjp@gmail.com")) (:maintainer "jpe90" . "eskinjp@gmail.com") (:url . "https://github.com/jpe90/emacs-deps-new"))]) - (clj-refactor . [(20220315 2251) ((emacs (26 1)) (seq (2 19)) (yasnippet (0 6 1)) (paredit (24)) (multiple-cursors (1 2 2)) (clojure-mode (5 14)) (cider (1 3)) (parseedn (1 0 6)) (inflections (2 3)) (hydra (0 13 2))) "A collection of commands for refactoring Clojure code" tar ((:commit . "f368c56c83843396b160440f472a661a3b639862") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Lars Andersen" . "expez@expez.com") ("Benedek Fazekas" . "benedek.fazekas@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "convenience" "clojure" "cider"))]) - (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") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk") (:keywords "helm" "clojure" "refactor") (:url . "https://github.com/philjackson/cljr-helm"))]) + (clj-refactor . [(20220729 543) ((emacs (26 1)) (seq (2 19)) (yasnippet (0 6 1)) (paredit (24)) (multiple-cursors (1 2 2)) (clojure-mode (5 14)) (cider (1 4 1)) (parseedn (1 1 0)) (inflections (2 6)) (hydra (0 13 2))) "A collection of commands for refactoring Clojure code" tar ((:commit . "1bd7b09976c05ebd1ff1ee3d5c882af303780b67") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Lars Andersen" . "expez@expez.com") ("Benedek Fazekas" . "benedek.fazekas@gmail.com") ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "convenience" "clojure" "cider"))]) + (cljr-helm . [(20220721 824) ((clj-refactor (0 13 0)) (helm-core (3 6 0)) (cl-lib (0 5))) "Wraps clojure refactor commands with helm" single ((:commit . "2c1f9cbd892ec03335f671ea3f974ee2ff6078dc") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk") (:keywords "helm" "clojure" "refactor") (:url . "https://github.com/philjackson/cljr-helm"))]) (cljr-ivy . [(20200602 1607) ((clj-refactor (2 5 0)) (ivy (0 13 0)) (emacs (24 3)) (cl-lib (0 6 1))) "Access clojure refactor with ivy completion" single ((:commit . "921ba65d0db7cda4edcd690c708946125b874a70") (:authors ("Wanderson Ferreira" . "iagwanderson@gmail.com")) (:maintainer "Wanderson Ferreira" . "iagwanderson@gmail.com") (:keywords "convenience" "matching") (:url . "https://github.com/wandersoncferreira/cljr-ivy"))]) (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"))]) + (cljstyle-format . [(20220706 309) ((emacs (24)) (reformatter (0 3))) "Reformat Clojure code using cljstyle" single ((:commit . "4ca28444856e0e1e6b24e5343bcd5c601c4aa86a") (:authors ("Derek Passen" . "dpassen1@gmail.com")) (:maintainer "Derek Passen" . "dpassen1@gmail.com") (:keywords "clojure" "cljstyle" "tools" "languages") (:url . "http://www.github.com/dpassen/cljstyle-format"))]) (clmemo . [(20220204 1345) nil "Change Log MEMO" tar ((:commit . "f695c38c551f72f6ac5e1a82badc540c80d3b33b") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:keywords "convenience") (:url . "https://github.com/ataka/clmemo"))]) (cloc . [(20170728 1824) ((cl-lib (0 5))) "count lines of code over emacs buffers" single ((:commit . "f30f0472e465cc8d433d2473e9d3b8dfe2c94491") (:authors ("Danny McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Danny McClanahan" . "danieldmcclanahan@gmail.com") (:keywords "cloc" "count" "source" "code" "lines") (:url . "https://github.com/cosmicexplorer/cloc-emacs"))]) (clocker . [(20190214 1833) ((projectile (0 11 0)) (dash (2 10)) (spaceline (2 0 1))) "Note taker and clock-in enforcer" single ((:commit . "c4d76968a49287ce3bac0832bb5d5d076054c96f") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com") (:keywords "org"))]) + (clockodo . [(20220604 2049) ((emacs (26 1)) (request (0 3 2)) (ts (0 2 2)) (org (8))) "A small integration for the clockodo api" single ((:commit . "03ccd05c2b6b48babb6ee5838a402112225904ca") (:authors ("Henrik Jürges" . "juerges.henrik@gmail.com")) (:maintainer "Henrik Jürges" . "juerges.henrik@gmail.com") (:keywords "tools" "clockodo") (:url . "https://github.com/santifa/clockodo-el"))]) (clojars . [(20180825 1951) ((request-deferred (0 2 0))) "clojars.org search interface" single ((:commit . "696c5b056e45067512a7d6dcce2515f3c639f61b") (:authors ("Joshua Miller" . "josh@joshmiller.io")) (:maintainer "Joshua Miller" . "josh@joshmiller.io") (:keywords "docs" "help" "tools") (:url . "https://github.com/joshuamiller/clojars.el"))]) (clojure-essential-ref . [(20200619 1653) ((emacs (24)) (cider (0 24 0))) "Cider-doc to \"Clojure, The Essential Reference\"" single ((:commit . "13ac560c25f7355fba00d9ca8c9f4ca03e7fd189") (:url . "https://github.com/p3r7/clojure-essential-ref"))]) (clojure-essential-ref-nov . [(20200719 608) ((emacs (24)) (dash (2 16 0)) (nov (0 3 1)) (clojure-essential-ref (0 1 0))) "Cider-doc to \"Clojure, The Essential Reference\" (EPUB)" single ((:commit . "13ac560c25f7355fba00d9ca8c9f4ca03e7fd189") (:url . "https://github.com/p3r7/clojure-essential-ref"))]) - (clojure-mode . [(20220418 2015) ((emacs (25 1))) "Major mode for Clojure code" single ((:commit . "b6f41d74904daa9312648f3a7bea7a72fd8e140b") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "clojure" "clojurescript" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) - (clojure-mode-extra-font-locking . [(20211230 817) ((clojure-mode (3 0))) "Extra font-locking for Clojure mode" single ((:commit . "b6f41d74904daa9312648f3a7bea7a72fd8e140b") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) + (clojure-mode . [(20220729 2246) ((emacs (25 1))) "Major mode for Clojure code" single ((:commit . "ad322e989e56c10c05bb286e5b55a82b1e031d62") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "clojure" "clojurescript" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) + (clojure-mode-extra-font-locking . [(20220715 1509) ((clojure-mode (3 0))) "Extra font-locking for Clojure mode" single ((:commit . "ad322e989e56c10c05bb286e5b55a82b1e031d62") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "languages" "lisp") (:url . "http://github.com/clojure-emacs/clojure-mode"))]) (clojure-quick-repls . [(20150814 736) ((cider (0 8 1)) (dash (2 9 0))) "Quickly create Clojure and ClojureScript repls for a project." single ((:commit . "730311dd3ac4e0aceb0204f818b422017873467f") (:keywords "languages" "clojure" "cider" "clojurescript") (:url . "https://github.com/symfrog/clojure-quick-repls"))]) (clojure-snippets . [(20180314 1308) ((yasnippet (0 10 0))) "Yasnippets for clojure" tar ((:commit . "6068dca90467a0f4ebc2cd39338a173d6f5ddc04") (:authors ("Max Penet" . "m@qbits.cc")) (:maintainer "Max Penet" . "m@qbits.cc") (:keywords "snippets"))]) (clomacs . [(20220415 1035) ((emacs (24 3)) (cider (0 22 1)) (s (1 12 0)) (simple-httpd (1 4 6)) (dash (2 19 1))) "Simplifies Emacs Lisp interaction with Clojure." single ((:commit . "9cd7c9fd86bc7bc627a31275d1ef131378b90a49") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "clojure" "interaction") (:url . "https://github.com/clojure-emacs/clomacs"))]) - (closql . [(20220422 1601) ((emacs (25 1)) (compat (28 1 1 0)) (emacsql-sqlite (3 0 0))) "Store EIEIO objects using EmacSQL" single ((:commit . "6f4af0fc87fa0a1734480d6a4b72797c0916bc12") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "extensions") (:url . "https://github.com/emacscollective/closql"))]) + (closql . [(20220422 1601) ((emacs (25 1)) (compat (28 1 1 0)) (emacsql-sqlite (3 0 0))) "Store EIEIO objects using EmacSQL" single ((:commit . "87d2edae8bc3d390bcfc5e909e9c13ff9fce994a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "extensions") (:url . "https://github.com/emacscollective/closql"))]) (closure-lint-mode . [(20101118 2124) nil "minor mode for the Closure Linter" single ((:commit . "bc3d2fd5c35580bf1b8af43b12484c95a343b4b5") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com") (:keywords "tools" "closure" "javascript" "lint" "flymake") (:url . "https://github.com/r0man/closure-lint-mode"))]) (cloud-theme . [(20220205 1336) ((emacs (24))) "A light colored theme" single ((:commit . "16372ea1f527917102ac302afaec3ef09e289d24") (:authors ("Valerii Lysenko" . "vallyscode@gmail.com")) (:maintainer "Valerii Lysenko" . "vallyscode@gmail.com") (:keywords "color" "theme") (:url . "https://github.com/vallyscode/cloud-theme"))]) (cloud-to-butt-erc . [(20130627 2308) nil "Replace 'the cloud' with 'my butt'" single ((:commit . "6710c03d1bc91736435cbfe845924940cae34e5c") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/cloud-to-butt-erc"))]) @@ -556,18 +567,18 @@ (cm-mode . [(20170203 2107) ((cl-lib (0 5))) "Minor mode for CriticMarkup" single ((:commit . "276d49c859822265070ae5dfbb403fd7d8d06436") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "markdown"))]) (cmake-font-lock . [(20211224 2006) ((cmake-mode (0 0))) "Advanced, type aware, highlight support for CMake" single ((:commit . "0d6111b36a66013aa9b452e664c93308df3b07e1") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "languages") (:url . "https://github.com/Lindydancer/cmake-font-lock"))]) (cmake-ide . [(20210610 1525) ((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 . "28dc4ab5bd01d99553901b4efeb7234280928b18") (:authors ("Atila Neves" . "atila.neves@gmail.com")) (:maintainer "Atila Neves" . "atila.neves@gmail.com") (:keywords "languages") (:url . "http://github.com/atilaneves/cmake-ide"))]) - (cmake-mode . [(20220322 1258) ((emacs (24 1))) "major-mode for editing CMake sources" single ((:commit . "c6ead9be834f779ae5d45841043431944d00e379"))]) + (cmake-mode . [(20220617 1532) ((emacs (24 1))) "major-mode for editing CMake sources" single ((:commit . "e95059c867c1ec25f23aa48f9fe4dc8330e25879"))]) (cmake-project . [(20171121 1115) nil "Integrates CMake build process with Emacs" single ((:commit . "a7cf9e4c01c4683e14b6942cc5cc5e8cddc98721") (:authors ("Alexander Lamaison" . "alexander.lamaison@gmail")) (:maintainer "Alexander Lamaison" . "alexander.lamaison@gmail") (:keywords "c" "cmake" "languages" "tools") (:url . "http://github.com/alamaison/emacs-cmake-project"))]) (cmd-to-echo . [(20161203 2133) ((emacs (24 4)) (s (1 11 0)) (shell-split-string (20151224 208))) "Show the output of long-running commands in the echo area" single ((:commit . "e0e874fc0e1ad6d291e39ed76023445297ad438a") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (cmm-mode . [(20150225 746) nil "Major mode for C-- source code" single ((:commit . "c3ad514dff3eb30434f6b20d953276d4c00de1ee"))]) - (cnfonts . [(20211227 248) ((emacs (24))) "A simple Chinese fonts config tool" tar ((:commit . "7279d4178b4d52ae763d2224140488887ce57261") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "font") (:url . "https://github.com/tumashu/cnfonts"))]) + (cnfonts . [(20220719 818) ((emacs (24))) "A simple Chinese fonts config tool" tar ((:commit . "b263edf140e3ecdb0640a001c120b5e0b7edeb5f") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "font") (:url . "https://github.com/tumashu/cnfonts"))]) (cobalt . [(20180304 1155) ((emacs (24))) "Easily use the Cobalt.rs static site generator" single ((:commit . "88ef936373a5493183d49ec69ca541bcc749a109") (:authors ("Juan Karlo Licudine" . "accidentalrebel@gmail.com")) (:maintainer "Juan Karlo Licudine" . "accidentalrebel@gmail.com") (:keywords "convenience") (:url . "https://github.com/cobalt-org/cobalt.el"))]) (cobra-mode . [(20140116 2116) nil "Major mode for .NET-based Cobra language" single ((:commit . "acd6e53f6286af5176471d01f25257e5ddb6dd01") (:authors ("Taylor \"Nekroze\" Lawson")) (:maintainer "Taylor \"Nekroze\" Lawson") (:keywords "languages") (:url . "http://github.com/Nekroze/cobra-mode"))]) (codcut . [(20190915 1009) nil "Share pieces of code to Codcut" single ((:commit . "7ca7db69e8c38ec45eb572ad16ab2b56086f2131") (:authors ("Diego Pasquali" . "hello@dgopsq.space")) (:maintainer "Diego Pasquali" . "hello@dgopsq.space") (:keywords "comm" "tools" "codcut" "share") (:url . "https://github.com/codcut/codcut-emacs"))]) (code-archive . [(20190612 308) ((emacs (24 3))) "git supported code archive and reference for org-mode" single ((:commit . "1ad9af6679d0294c3056eab9cad673f29c562721") (:authors ("Michael Schuldt" . "mbschuldt@gmail.com")) (:maintainer "Michael Schuldt" . "mbschuldt@gmail.com") (:url . "https://github.com/mschuldt/code-archive"))]) - (code-cells . [(20220305 1320) ((emacs (27 1))) "Lightweight notebooks with support for ipynb files" single ((:commit . "8660bdeedee360e5eb632f1eb1356eb09d7dfbee") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "convenience" "outlines") (:url . "https://github.com/astoff/code-cells.el"))]) + (code-cells . [(20220606 852) ((emacs (27 1))) "Lightweight notebooks with support for ipynb files" single ((:commit . "27ac22bc0be905f31abf8c09e63d371b0b0059d3") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "convenience" "outlines") (:url . "https://github.com/astoff/code-cells.el"))]) (code-library . [(20160426 1218) ((gist (1 3 1))) "use org-mode to collect code snippets" single ((:commit . "32d59c5c845d6dbdda18f9bd1c03a58d55417fc5") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "lisp" "code"))]) - (code-review . [(20220328 108) ((emacs (25 1)) (closql (1 2 0)) (magit (3 0 0)) (a (1 0 0)) (ghub (3 5 1)) (uuidgen (1 2)) (deferred (0 5 1)) (markdown-mode (2 4)) (forge (0 3 0)) (emojify (1 2))) "Perform code review from Github, Gitlab, and Bitbucket Cloud" tar ((:commit . "85ab2080e489b4ca01c787f5a316ade02a4ee877") (:authors ("Wanderson Ferreira ")) (:maintainer "Wanderson Ferreira" . "wand@hey.com") (:keywords "git" "tools" "vc") (:url . "https://github.com/wandersoncferreira/code-review"))]) + (code-review . [(20220629 1215) ((emacs (25 1)) (closql (1 2 0)) (magit (3 0 0)) (transient (0 3 7)) (a (1 0 0)) (ghub (3 5 1)) (uuidgen (1 2)) (deferred (0 5 1)) (markdown-mode (2 4)) (forge (0 3 0)) (emojify (1 2))) "Perform code review from Github, Gitlab, and Bitbucket Cloud" tar ((:commit . "95b36ec8e7935f96b2f3c6c9086d49cf4a72cbff") (:authors ("Wanderson Ferreira ")) (:maintainer "Wanderson Ferreira" . "wand@hey.com") (:keywords "git" "tools" "vc") (:url . "https://github.com/wandersoncferreira/code-review"))]) (code-stats . [(20201209 2135) ((emacs (25)) (request (0 3 0))) "Code::Stats plugin" single ((:commit . "9a467dfd6a3cef849468623e1c085cbf59dac154") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/code-stats-emacs"))]) (codebug . [(20140929 2137) nil "Interact with codebug" single ((:commit . "ac0e4331ba94ccb5203fa492570e1ca6b90c3d52") (:authors ("Shane Dowling")) (:maintainer "Shane Dowling") (:url . "http://www.shanedowling.com/"))]) (codesearch . [(20181006 1431) ((log4e (0 3 1))) "Core support for managing codesearch tools" tar ((:commit . "f6eb96f034a925444412cfa03e45e0ccbbafe3f2") (:authors ("Austin Bingham" . "austin.bingham@gmail.com") ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:keywords "tools" "development" "search") (:url . "https://github.com/abingham/emacs-codesearch"))]) @@ -576,19 +587,19 @@ (coffee-mode . [(20200315 1133) ((emacs (24 3))) "Major mode for CoffeeScript code" single ((:commit . "35a41c7d8233eac0b267d9593e67fb8b6235e134") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org") (:keywords "coffeescript" "major" "mode") (:url . "http://github.com/defunkt/coffee-mode"))]) (coin-ticker . [(20170611 727) ((request (0 3 0)) (emacs (25))) "Show a cryptocurrency price ticker" single ((:commit . "9efab90fe4e6f29464af14e0d8fd1e20c0147b80") (:authors ("Evan Klitzke" . "evan@eklitzke.org")) (:maintainer "Evan Klitzke" . "evan@eklitzke.org") (:keywords "news") (:url . "https://github.com/eklitzke/coin-ticker-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"))]) - (color-identifiers-mode . [(20220327 1143) ((dash (2 5 0)) (emacs (24))) "Color identifiers based on their names" single ((:commit . "6fe76f0c3090f6023da3806e9d760e93810905d4") (:authors ("Ankur Dave" . "ankurdave@gmail.com")) (:maintainer "Ankur Dave" . "ankurdave@gmail.com") (:keywords "faces" "languages") (:url . "https://github.com/ankurdave/color-identifiers-mode"))]) + (color-identifiers-mode . [(20220629 1800) ((dash (2 5 0)) (emacs (24))) "Color identifiers based on their names" single ((:commit . "caed36cc21b6a7f659dda8a3ace1a607daa30f6f") (:authors ("Ankur Dave" . "ankurdave@gmail.com")) (:maintainer "Ankur Dave" . "ankurdave@gmail.com") (:keywords "faces" "languages") (:url . "https://github.com/ankurdave/color-identifiers-mode"))]) (color-moccur . [(20141223 35) nil "multi-buffer occur (grep) mode" single ((:commit . "4f1c59ffd1ccc2ab1a171cd6b721e8cb9e002fb7") (:keywords "convenience") (:url . "http://www.bookshelf.jp/elc/color-moccur.el"))]) (color-theme . [(20190220 1115) nil "An OBSOLETE color-theme implementation" tar ((:commit . "3a2f6b615f5e2401e30d93a3e0adc210bbb4b7aa") (:authors ("Jonadab the Unsightly One" . "jonadab@bright.net")) (:maintainer "Xavier Maillard" . "zedek@gnu.org") (:keywords "faces") (:url . "http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme"))]) (color-theme-approximate . [(20140228 436) nil "Makes Emacs theme works on terminal transparently" single ((:commit . "f54301ca39bc5d2ffb000f233f8114184a3e7d71") (:authors ("Tung Dao" . "me@tungdao.com")) (:maintainer "Tung Dao" . "me@tungdao.com"))]) (color-theme-buffer-local . [(20170126 601) ((color-theme (0))) "Install color-themes by buffer." single ((:commit . "e606dec66f16a06140b9aad625a4fd52bca4f936") (:authors ("Victor Borja" . "vic.borja@gmail.com")) (:maintainer "Victor Borja" . "vic.borja@gmail.com") (:keywords "faces") (:url . "http://github.com/vic/color-theme-buffer-local"))]) - (color-theme-modern . [(20200729 921) ((emacs (24))) "Reimplement colortheme with Emacs 24 theme framework." tar ((:commit . "a996eca37f4df726eec95406deb76b538320771a") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/emacs-jp/replace-colorthemes"))]) + (color-theme-modern . [(20220506 858) ((emacs (24))) "Reimplement colortheme with Emacs 24 theme framework." tar ((:commit . "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/emacs-jp/replace-colorthemes"))]) (color-theme-sanityinc-solarized . [(20200805 603) ((emacs (24 1)) (cl-lib (0 6))) "A version of Ethan Schoonover's Solarized themes" tar ((:commit . "7ef39ac9d99bfb699903cfc3623521c0ceec7b86") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "faces" "themes") (:url . "https://github.com/purcell/color-theme-sanityinc-solarized"))]) (color-theme-sanityinc-tomorrow . [(20220412 1643) nil "A version of Chris Kempson's \"tomorrow\" themes" tar ((:commit . "2b373a767129ed4e8c4d52e0ee827786224d7106") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "faces" "themes") (:url . "https://github.com/purcell/color-theme-sanityinc-tomorrow"))]) (color-theme-x . [(20201204 2245) ((cl-lib (0 5))) "convert color themes to X11 resource settings" single ((:commit . "ec853dd931d625e07116fbc91d8829bd15f90889") (:authors ("Matthew Kennedy" . "mkennedy@killr.ath.cx")) (:maintainer "Andrew Johnson" . "andrew@andrewjamesjohnson.com") (:keywords "convenience" "faces" "frames") (:url . "https://github.com/ajsquared/color-theme-x"))]) (colorless-themes . [(20210102 1035) ((emacs (24 1))) "A macro to generate mostly colorless themes" single ((:commit . "c1ed1e12541cf05cc6c558d23c089c07e10b54d7") (:authors ("Thomas Letan" . "contact@thomasletan.fr")) (:maintainer "Thomas Letan" . "contact@thomasletan.fr") (:keywords "faces themes" "faces") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))]) (colormaps . [(20171008 2224) ((emacs (25))) "Hex colormaps" single ((:commit . "19fbb64a6288d505b9cf45c9b5a3eed0bfb135e2") (:authors ("Abhinav Tushar" . "lepisma@fastmail.com")) (:maintainer "Abhinav Tushar" . "lepisma@fastmail.com") (:keywords "tools") (:url . "https://github.com/lepisma/colormaps.el"))]) (column-enforce-mode . [(20200605 1933) nil "Highlight text that extends beyond a column" single ((:commit . "14a7622f2268890e33536ccd29510024d51ee96f") (:authors ("Jordon Biondo")) (:maintainer "Jordon Biondo") (:url . "www.github.com/jordonbiondo/column-enforce-mode"))]) - (com-css-sort . [(20201002 1430) ((emacs (25 1)) (s (1 12 0))) "Common way of sorting the CSS attributes" single ((:commit . "ef56bf81c028ce5ffbf87bfe918d54f3e2b10c4d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs090218/com-css-sort"))]) + (com-css-sort . [(20220704 647) ((emacs (25 1)) (s (1 12 0))) "Common way of sorting the CSS attributes" single ((:commit . "bda336544e61b45e24927d8850fdb28d4b7c267e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "matching" "css" "sort") (:url . "https://github.com/jcs-elpa/com-css-sort"))]) (comb . [(20201010 1147) ((emacs (25 1))) "Interactive code auditing and grep tool" tar ((:commit . "31f3e94afb2a7f7d18d30c2468a0c683700f7a66") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:keywords "matching") (:url . "https://github.com/cyrus-and/comb"))]) (comby . [(20200629 140) ((emacs (25 1))) "Emacs comby integration" single ((:commit . "928b8b8959a2556aba5526f2a25801341eb59dc3") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "languages") (:url . "https://github.com/s-kostyaev/comby.el"))]) (comint-hyperlink . [(20211026 100) ((emacs (24 3))) "Create hyperlinks in comint for SGR URL control sequences" single ((:commit . "905f2db1f95950899301b9f71faed9e9362cf5dc") (:authors ("Matthew Bauer" . "mjbauer95@gmail.com")) (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:keywords "comint" "shell" "processes" "hypermedia" "terminals") (:url . "https://github.com/matthewbauer/comint-hyperlink"))]) @@ -601,14 +612,14 @@ (comment-tags . [(20170910 1735) ((emacs (24 5))) "Highlight & navigate comment tags like 'TODO'." single ((:commit . "7d914097f0a03484af71e621db533737fc692f58") (:authors ("Vincent Dumas" . "vincekd@gmail.com")) (:maintainer "Vincent Dumas" . "vincekd@gmail.com") (:keywords "convenience" "comments" "tags") (:url . "https://github.com/vincekd/comment-tags"))]) (commentary-theme . [(20210714 1757) ((emacs (24))) "A minimal theme with contrasting comments" single ((:commit . "a73e1256f667065933e96bd6032c463cb115201d") (:url . "https://github.com/pzel/commentary-theme"))]) (commenter . [(20160219 1627) ((emacs (24 4)) (let-alist (1 0 4))) "multiline-comment support package" single ((:commit . "6d1885419434ba779270c6fda0e30d390bb074bd") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "comment") (:url . "https://github.com/yuutayamada/commenter"))]) - (commify . [(20210904 1106) ((s (1 9 0))) "Toggle grouping commas in numbers" single ((:commit . "d6656bd3a909917a51ba033a11d4ab5f5fe55f83") (:authors ("Daniel E. Doherty" . "ded-commify@ddoherty.net")) (:maintainer "Daniel E. Doherty" . "ded-commify@ddoherty.net") (:keywords "convenience" "editing" "numbers" "grouping" "commas") (:url . "https://github.com/ddoherty03/commify"))]) + (commify . [(20220531 1301) ((s (1 9 0))) "Toggle grouping commas in numbers" single ((:commit . "c4aeccae5b4a073fc3f4e8bd780a2ebbb7d5e533") (:authors ("Daniel E. Doherty" . "ded-commify@ddoherty.net")) (:maintainer "Daniel E. Doherty" . "ded-commify@ddoherty.net") (:keywords "convenience" "editing" "numbers" "grouping" "commas") (:url . "https://github.com/ddoherty03/commify"))]) (common-lisp-snippets . [(20180226 1523) ((yasnippet (0 8 0))) "Yasnippets for Common Lisp" tar ((:commit . "c82ebf18f4ad49f390dd96ffcc59f8683c1a868b") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "snippets") (:url . "https://github.com/mrkkrp/common-lisp-snippets"))]) - (company . [(20220425 1145) ((emacs (25 1))) "Modular text completion framework" tar ((:commit . "d5145006b948f93e673f439a766da01f636d39fc") (:authors ("Nikolaj Schumacher")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:keywords "abbrev" "convenience" "matching") (:url . "http://company-mode.github.io/"))]) + (company . [(20220731 2333) ((emacs (25 1))) "Modular text completion framework" tar ((:commit . "f1877a370ca76d5cd6614c527635b2d6983188af") (:authors ("Nikolaj Schumacher")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:keywords "abbrev" "convenience" "matching") (:url . "http://company-mode.github.io/"))]) (company-anaconda . [(20200404 1859) ((company (0 8 0)) (anaconda-mode (0 1 1)) (cl-lib (0 5 0)) (dash (2 6 0)) (s (1 9))) "Anaconda backend for company-mode" single ((:commit . "da1566db41a68809ef7f91ebf2de28118067c89b") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/anaconda-mode"))]) (company-ansible . [(20200306 1441) ((emacs (24 4)) (company (0 8 12))) "A company back-end for ansible" tar ((:commit . "79dd421b161efa49fbdffad57fa40edb41f484a3") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:keywords "ansible") (:url . "https://github.com/krzysztof-magosa/company-ansible"))]) (company-arduino . [(20160306 1739) ((emacs (24 1)) (company (0 8 0)) (irony (0 1 0)) (cl-lib (0 5)) (company-irony (0 1 0)) (company-c-headers (20140930)) (arduino-mode (1 0))) "company-mode for Arduino" single ((:commit . "d7e369702b8eee63e6dfdeba645ce28b6dc66fb1") (:authors ("Yuta Yamada" . "sleepboy.zzz@gmail.com")) (:maintainer "Yuta Yamada" . "sleepboy.zzz@gmail.com") (:keywords "convenience" "development" "company") (:url . "https://github.com/yuutayamada/company-arduino"))]) (company-auctex . [(20200529 1835) ((yasnippet (0 8 0)) (company (0 8 0)) (auctex (11 87))) "Company-mode auto-completion for AUCTeX" single ((:commit . "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18") (:authors ("Christopher Monsanto , Alexey Romanov" . "alexey.v.romanov@gmail.com")) (:maintainer "Christopher Monsanto , Alexey Romanov" . "alexey.v.romanov@gmail.com") (:url . "https://github.com/alexeyr/company-auctex/"))]) - (company-axiom . [(20191027 1928) ((emacs (24)) (company (0 9)) (axiom-environment (20171021))) "A company-mode backend for the axiom-environment system" single ((:commit . "e60de5ed107ffeb530a56d24d04f38988124d12b") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "axiom" "openaxiom" "fricas" "axiom-environment"))]) + (company-axiom . [(20220612 1535) ((emacs (24)) (company (0 9)) (axiom-environment (20171021))) "A company-mode backend for the axiom-environment system" single ((:commit . "01d88daa0c864af9918db5a147fbb5e435dec199") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "axiom" "openaxiom" "fricas" "axiom-environment"))]) (company-bibtex . [(20171105 644) ((company (0 9 0)) (cl-lib (0 5)) (parsebib (1 0))) "Company completion for bibtex keys" single ((:commit . "da67faf3a6faba8e7f1b222dedfc5521b02c7655") (:authors ("GB Gardner" . "gbgar@users.noreply.github.com")) (:maintainer "GB Gardner" . "gbgar@users.noreply.github.com") (:keywords "company-mode" "bibtex") (:url . "https://github.com/gbgar/company-bibtex"))]) (company-box . [(20211020 2007) ((emacs (26 0 91)) (dash (2 19 0)) (company (0 9 6)) (frame-local (0 0 1))) "Company front-end with icons" tar ((:commit . "f9cbbc7df8efbb56a8d31a5b422d158660d9109e") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:keywords "company" "completion" "front-end" "convenience") (:url . "https://github.com/sebastiencs/company-box"))]) (company-c-headers . [(20190825 1631) ((emacs (24 1)) (company (0 8))) "Company mode backend for C/C++ header files" single ((:commit . "9d384571b1190e99d0a789e5296176d69a3d0771") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net") (:keywords "development" "company"))]) @@ -620,11 +631,11 @@ (company-distel . [(20180827 1344) ((distel-completion-lib (1 0 0))) "Erlang/distel completion backend for company-mode" single ((:commit . "acc4c0a5521904203d797fe96b08e5fae4233c7e") (:authors ("Sebastian Weddmark Olsson")) (:maintainer "Sebastian Weddmark Olsson") (:keywords "erlang" "distel" "company") (:url . "github.com/sebastiw/distel-completion"))]) (company-emacs-eclim . [(20180911 1121) ((eclim (0 3)) (company (0 7)) (cl-lib (0 5))) "Eclim company backend" single ((:commit . "222ddd48fcf0ee01592dec77c58e0cf3f2ea1100"))]) (company-emoji . [(20210427 2151) ((cl-lib (0 5)) (company (0 8 0))) "company-mode backend for emoji" tar ((:commit . "90594eb58b20fb937cfd4e946efcc446ee630e6f") (:authors ("Alex Dunn" . "dunn.alex@gmail.com")) (:maintainer "Alex Dunn" . "dunn.alex@gmail.com") (:keywords "emoji" "company") (:url . "https://github.com/dunn/company-emoji.git"))]) - (company-emojify . [(20210718 424) ((emacs (26 1)) (company (0 8 0)) (emojify (1 2 1)) (ht (2 0))) "Company completion for Emojify" single ((:commit . "a691a16b03c114f54b76d4251dac6f0521581e0c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/company-emojify"))]) + (company-emojify . [(20220727 1740) ((emacs (26 1)) (company (0 8 0)) (emojify (1 2 1)) (ht (2 0))) "Company completion for Emojify" single ((:commit . "cc3ae96fbafa51d71fde802fa3c1e5fad9402158") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "emoji" "company" "emojify") (:url . "https://github.com/jcs-elpa/company-emojify"))]) (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") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "tools"))]) (company-flow . [(20180225 2159) ((company (0 8 0)) (dash (2 13 0))) "Flow backend for company-mode" single ((:commit . "76ef585c70d2a3206c2eadf24ba61e59124c3a16") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/company-flow"))]) (company-flx . [(20180103 518) ((emacs (24)) (company (0 8 12)) (flx (0 5))) "flx based fuzzy matching for company" single ((:commit . "16ca0d2f84e8e768bf2db8c5cfe421230a00bded") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:keywords "convenience" "company" "fuzzy" "flx") (:url . "https://github.com/PythonNut/company-flx"))]) - (company-fuzzy . [(20220409 1753) ((emacs (26 1)) (company (0 8 12)) (s (1 12 0)) (ht (2 0))) "Fuzzy matching for `company-mode'" single ((:commit . "11a41882eacf2a5f875234b3a4db8f070ab1d7a8") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/company-fuzzy"))]) + (company-fuzzy . [(20220721 1609) ((emacs (26 1)) (company (0 8 12)) (s (1 12 0)) (ht (2 0))) "Fuzzy matching for `company-mode'" single ((:commit . "91b76fc475f7eb17a0ae8b94a42625dfb546cc01") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "matching" "auto-complete" "complete" "fuzzy") (:url . "https://github.com/jcs-elpa/company-fuzzy"))]) (company-ghci . [(20190707 311) ((company (0 8 11)) (haskell-mode (13))) "company backend which uses the current ghci process." single ((:commit . "a1d25652583ab4666c5a78cac18cd8039776b50d") (:authors ("Hector Orellana" . "hofm92@gmail.com")) (:maintainer "Hector Orellana" . "hofm92@gmail.com"))]) (company-glsl . [(20210109 1403) ((company (0 9 4)) (glsl-mode (2 4)) (emacs (24 4))) "Support glsl in company-mode" single ((:commit . "3a40501ba831a30a7fd3e8529b20d1305d0454aa") (:authors ("Guido Schmidt" . "git@guidoschmidt.cc")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:url . "https://github.com/guidoschmidt/company-glsl"))]) (company-go . [(20170825 1643) ((company (0 8 0)) (go-mode (1 0 0))) "company-mode backend for Go (using gocode)" single ((:commit . "31948b463f2fc18f8801e5a8fe511fef300eb3dd") (:authors ("nsf" . "no.smile.face@gmail.com")) (:maintainer "nsf" . "no.smile.face@gmail.com") (:keywords "languages"))]) @@ -633,40 +644,40 @@ (company-irony . [(20190124 2346) ((emacs (24 1)) (company (0 8 0)) (irony (1 1 0)) (cl-lib (0 5))) "company-mode completion back-end for irony-mode" single ((:commit . "b44711dfce445610c1ffaec4951c6ff3882b216a") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:keywords "convenience") (:url . "https://github.com/Sarcasm/company-irony/"))]) (company-irony-c-headers . [(20151018 909) ((cl-lib (0 5)) (company (0 9 0)) (irony (0 2 0))) "Company mode backend for C/C++ header files with Irony" single ((:commit . "72c386aeb079fb261d9ec02e39211272f76bbd97") (:authors ("Yutian Li" . "hotpxless@gmail.com")) (:maintainer "Yutian Li" . "hotpxless@gmail.com") (:keywords "c" "company") (:url . "https://github.com/hotpxl/company-irony-c-headers"))]) (company-jedi . [(20200324 25) ((emacs (24)) (cl-lib (0 5)) (company (0 8 11)) (jedi-core (0 2 7))) "Company-mode completion back-end for Python JEDI" single ((:commit . "ea22b1f7a980c49aaf2c5e840e4536577f6602f6") (:authors ("Boy" . "boyw165@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/company-jedi"))]) - (company-lean . [(20210305 1705) ((emacs (24 3)) (dash (2 18 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 . "c1c68cc946eb31b6ba8faefdceffce1f77ca52df") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) + (company-lean . [(20210305 1705) ((emacs (24 3)) (dash (2 18 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 . "362bc6fa3efb1874c525ed6b4b6f24f76af22596") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) (company-ledger . [(20210910 250) ((emacs (24 3)) (company (0 8 0))) "Fuzzy auto-completion for Ledger & friends" single ((:commit . "c6911b7e39b29c0d5f2541392ff485b0f53fd366") (:authors ("Debanjum Singh Solanky ")) (:maintainer "Debanjum Singh Solanky ") (:keywords "abbrev" "matching" "auto-complete" "beancount" "ledger" "company") (:url . "https://github.com/debanjum/company-ledger"))]) (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-manually . [(20200709 913) ((emacs (24 3)) (company (0 9 0)) (ivy (0 13 0))) "A company backend that lets you manually build candidates" single ((:commit . "44c7a655e5f2a462835a96d1f0ed2ce434848416") (:authors ("Yanghao Xie")) (:maintainer "Yanghao Xie" . "yhaoxie@gmail.com") (:keywords "convenience" "company-mode" "manually build candidates") (:url . "https://github.com/yanghaoxie/company-manually"))]) (company-math . [(20210731 2019) ((company (0 8 0)) (math-symbol-lists (1 3))) "Completion backends for unicode math symbols and latex tags" single ((:commit . "45778f5731c97a21a83e3b965cbde42018709afd") (:authors ("Vitalie Spinu" . "spinuvit@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:keywords "unicode" "symbols" "completion") (:url . "https://github.com/vspinu/company-math"))]) - (company-maxima . [(20210520 2034) ((emacs (25 1)) (maxima (0 6 1)) (seq (2 20)) (company (0 9 13))) "Maxima company integration" single ((:commit . "ce5fd160c193e387d9e2bacdba4065c4b4262cb1") (:authors ("Fermin Munoz")) (:maintainer "Fermin Munoz" . "fmfs@posteo.net") (:keywords "languages" "tools" "convenience") (:url . "https://gitlab.com/sasanidas/maxima"))]) + (company-maxima . [(20210520 2034) ((emacs (25 1)) (maxima (0 6 1)) (seq (2 20)) (company (0 9 13))) "Maxima company integration" single ((:commit . "1334f44725bd80a265de858d652f3fde4ae401fa") (:authors ("Fermin Munoz")) (:maintainer "Fermin Munoz" . "fmfs@posteo.net") (:keywords "languages" "tools" "convenience") (:url . "https://gitlab.com/sasanidas/maxima"))]) (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") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:keywords "nand2tetris" "hdl" "company") (:url . "http://www.github.com/CestDiego/nand2tetris.el/"))]) - (company-native-complete . [(20220103 1622) ((emacs (26 1)) (company (0 9 0)) (native-complete (0 1 0))) "Company completion using native-complete" single ((:commit . "01d8a2048e13f29dd3aa06281ac8cb466caddb64") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))]) + (company-native-complete . [(20220103 1622) ((emacs (26 1)) (company (0 9 0)) (native-complete (0 1 0))) "Company completion using native-complete" single ((:commit . "9dbfc842b3af803f636df61dec6129e1d8593ee4") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))]) (company-nginx . [(20220210 1411) ((emacs (24)) (cl-lib (0)) (company (0))) "company-mode keywords support for nginx-mode" single ((:commit . "8a9f1a5653fe2d9a5042bfb9377d54f37fcc64c8") (:keywords "company" "nginx") (:url . "https://repo.or.cz/company-nginx.git"))]) (company-ngram . [(20170129 1913) ((cl-lib (0 5)) (company (0 8 0))) "N-gram based completion" tar ((:commit . "09a68b802e64799e95f205b438d469bbd78cd2e6") (:authors ("kshramt")) (:maintainer "kshramt") (:url . "https://github.com/kshramt/company-ngram"))]) (company-nixos-options . [(20160215 857) ((company (0 8 0)) (nixos-options (0 0 1)) (cl-lib (0 5 0))) "Company Backend for nixos-options" single ((:commit . "053a2d5110ce05b7f99bcc2ac4804b70cbe87916") (:authors ("Diego Berrocal" . "cestdiego@gmail.com") ("Travis B. Hartwell" . "nafai@travishartwell.net")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:keywords "unix") (:url . "http://www.github.com/travisbhartwell/nix-emacs/"))]) (company-org-block . [(20210825 2107) ((emacs (25 1)) (company (0 8 0)) (org (9 2 0))) "Org blocks company backend" single ((:commit . "115af0a3625f4669358eca568466d468cacc78bd") (:authors ("Alvaro Ramirez")) (:maintainer "Alvaro Ramirez") (:url . "https://github.com/xenodium/company-org-block"))]) - (company-php . [(20211204 558) ((cl-lib (0 5)) (ac-php-core (2 0)) (company (0 9))) "A company back-end for PHP." single ((:commit . "f34e09783b77d1158ea139b7b3d8034bc52b0b9f") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) + (company-php . [(20211204 558) ((cl-lib (0 5)) (ac-php-core (2 0)) (company (0 9))) "A company back-end for PHP." single ((:commit . "dc563f4b1efeac8ae75f217532f4c99b4ba417de") (:authors ("jim" . "xcwenn@qq.com")) (:maintainer "jim") (:keywords "completion" "convenience" "intellisense") (:url . "https://github.com/xcwen/ac-php"))]) (company-phpactor . [(20200121 1218) ((emacs (24 3)) (company (0 9 6)) (phpactor (0 1 0))) "company-mode backend for Phpactor" single ((:commit . "34195f1533209e2ffd0f898a69c7db2bffd1eabe") (:authors ("Martin Tang" . "martin.tang365@gmail.com") ("Mikael Kermorgant" . "mikael@kgtech.fi")) (:maintainer "Martin Tang" . "martin.tang365@gmail.com") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpactor.el"))]) (company-plisp . [(20200531 1927) ((emacs (25)) (s (1 2 0)) (company (0 8 12)) (dash (2 12 0)) (cl-lib (0 5))) "Company mode backend for PicoLisp language" tar ((:commit . "fc0b56d2a711340ca3e63119bfe692bb3e8620fb") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:keywords "company" "plisp" "convenience" "auto-completion") (:url . "https://gitlab.com/sasanidas/company-plisp"))]) (company-plsense . [(20180118 58) ((company (0 9 3)) (cl-lib (0 5 0)) (dash (2 12 0)) (s (1 12)) (emacs (24))) "Company backend for Perl" single ((:commit . "b48e3181e08ec597269621d621aa06636f02d883") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/company-plsense"))]) (company-pollen . [(20160812 1510) ((company (0 9 0)) (pollen-mode (1 0))) "company-mode completion backend for pollen" single ((:commit . "09a9dc48c468dcd385982b9629f325e70d569faf") (:authors ("Junsong Li ")) (:maintainer "Junsong Li") (:keywords "languages" "pollen" "pollenpub" "company") (:url . "https://github.com/lijunsong/pollen-mode"))]) (company-posframe . [(20220331 2141) ((emacs (26 0)) (company (0 9 0)) (posframe (0 9 0))) "Use a posframe as company candidate menu" single ((:commit . "df0e34f69dc8e9aaa1a6c5e88783898f4ae3f2df") (:authors ("Clément Pit-Claudel, Feng Shu, Lars Andersen" . "expez@expez.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "abbrev" "convenience" "matching") (:url . "https://github.com/tumashu/company-posframe"))]) - (company-prescient . [(20211228 417) ((emacs (25 1)) (prescient (5 2)) (company (0 9 6))) "prescient.el + Company" single ((:commit . "c5295a9eecbd2935bb57684a4422638e03bf738c") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) + (company-prescient . [(20220601 1652) ((emacs (25 1)) (prescient (5 2 1)) (company (0 9 6))) "prescient.el + Company" single ((:commit . "07d61b7779c4cca3009390383e7f98a55de7e17e") (:authors ("Radian LLC" . "contact+prescient@radian.codes")) (:maintainer "Radian LLC" . "contact+prescient@radian.codes") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) (company-qml . [(20170428 1708) ((qml-mode (0 1)) (company (0 8 12))) "Company backend for QML files" tar ((:commit . "4af4f32a7ad86d86bb9293fb0b675aec513b5736") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) (company-quickhelp . [(20211115 1335) ((emacs (24 3)) (company (0 8 9)) (pos-tip (0 4 6))) "Popup documentation for completion candidates" single ((:commit . "3ca2708b4e5190205aca01d65fe1b391963a53f9") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:keywords "company" "popup" "documentation" "quickhelp") (:url . "https://www.github.com/expez/company-quickhelp"))]) - (company-quickhelp-terminal . [(20210715 1010) ((emacs (24 4)) (company-quickhelp (2 2 0)) (popup (0 5 3))) "Terminal support for `company-quickhelp'" single ((:commit . "3d5664a1bb69fd14c79e8287ef386723b2a32b9b") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/company-quickhelp-terminal"))]) + (company-quickhelp-terminal . [(20220704 647) ((emacs (24 4)) (company-quickhelp (2 2 0)) (popup (0 5 3))) "Terminal support for `company-quickhelp'" single ((:commit . "70c8a979d82e436dca8595e3ec049c733246f338") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "terminal" "extends" "support" "tip" "help") (:url . "https://github.com/jcs-elpa/company-quickhelp-terminal"))]) (company-racer . [(20171205 310) ((emacs (24 4)) (cl-lib (0 5)) (company (0 8 0)) (deferred (0 3 1))) "Company integration for racer" single ((:commit . "a00381c9d416f375f783fcb6ae8d40669ce1f567") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/company-racer"))]) (company-reftex . [(20210418 1316) ((emacs (25 1)) (s (1 12)) (company (0 8))) "Company backend based on RefTeX." single ((:commit . "42eb98c6504e65989635d95ab81b65b9d5798e76") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:keywords "bib" "tex" "company" "latex" "reftex" "references" "labels" "citations") (:url . "https://github.com/TheBB/company-reftex"))]) (company-restclient . [(20190426 1312) ((cl-lib (0 5)) (company (0 8 0)) (emacs (24)) (know-your-http-well (0 2 0)) (restclient (0 0 0))) "company-mode completion back-end for restclient-mode" single ((:commit . "e5a3ec54edb44776738c13e13e34c85b3085277b") (:authors ("Iku Iwasa" . "iku.iwasa@gmail.com")) (:maintainer "Iku Iwasa" . "iku.iwasa@gmail.com") (:url . "https://github.com/iquiw/company-restclient"))]) - (company-rtags . [(20191222 920) ((emacs (24 3)) (company (0 8 1)) (rtags (2 10))) "RTags back-end for company" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (company-rtags . [(20191222 920) ((emacs (24 3)) (company (0 8 1)) (rtags (2 10))) "RTags back-end for company" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) (company-shell . [(20211013 1725) ((emacs (24 4)) (company (0 8 12)) (dash (2 12 0)) (cl-lib (0 5))) "Company mode backend for shell functions" single ((:commit . "a77f4de75912aa87314cde92c603b831d5050246") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:keywords "company" "shell" "auto-completion") (:url . "https://github.com/Alexander-Miller/company-shell"))]) - (company-solidity . [(20181117 1518) ((company (0 9 0)) (cl-lib (0 5 0)) (solidity-mode (0 1 9))) "Company-mode back-end for solidity-mode" single ((:commit . "20fb77e089e10187b37ae1a94153017b82ed2a0a") (:authors ("Samuel Smolkin" . "sam@future-precedent.org")) (:maintainer "Samuel Smolkin" . "sam@future-precedent.org") (:keywords "solidity" "completion" "company") (:url . "https://github.com/ethereum/emacs-solidity"))]) + (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 . "211dbdf0dfab1139681156e6f9621a5bbe0f74a1") (:authors ("Samuel Smolkin" . "sam@future-precedent.org")) (:maintainer "Samuel Smolkin" . "sam@future-precedent.org") (:keywords "solidity" "completion" "company") (:url . "https://github.com/ethereum/emacs-solidity"))]) (company-sourcekit . [(20210430 2155) ((emacs (24 3)) (company (0 8 12)) (dash (2 18 0)) (sourcekit (0 2 0))) "company-mode completion backend for SourceKit" single ((:commit . "a1860ad4dd3a542acd2fa0dfac2a388cbdf4af0c") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:keywords "abbrev") (:url . "https://github.com/nathankot/company-sourcekit"))]) (company-stan . [(20211129 2051) ((emacs (24 3)) (company (0 9 10)) (stan-mode (10 3 0))) "A company-mode completion backend for stan" single ((:commit . "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581") (:authors ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:keywords "languages") (:url . "https://github.com/stan-dev/stan-mode/tree/master/company-stan"))]) (company-statistics . [(20170210 1933) ((emacs (24 3)) (company (0 8 5))) "Sort candidates using completion history" single ((:commit . "e62157d43b2c874d2edbd547c3bdfb05d0a7ae5c") (:authors ("Ingo Lohmar" . "i.lohmar@gmail.com")) (:maintainer "Ingo Lohmar" . "i.lohmar@gmail.com") (:keywords "abbrev" "convenience" "matching") (:url . "https://github.com/company-mode/company-statistics"))]) (company-suggest . [(20200911 1845) ((company (0 9 0)) (emacs (25 1))) "Company-mode back-end for search engine suggests" single ((:commit . "1c89c9de3852f07ce28b0bedf1fbf56fe6eedcdc") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:keywords "completion" "convenience") (:url . "https://github.com/juergenhoetzel/company-suggest"))]) (company-tabnine . [(20210310 2247) ((emacs (25)) (company (0 9 3)) (cl-lib (0 5)) (dash (2 16 0)) (s (1 12 0)) (unicode-escape (1 1))) "A company-mode backend for TabNine" single ((:commit . "98e9e8b38b6ca289fbe265b0a7b62c7fe38ed0e2") (:authors ("Tommy Xiang" . "tommyx058@gmail.com")) (:maintainer "Tommy Xiang" . "tommyx058@gmail.com") (:keywords "convenience") (:url . "https://github.com/TommyX12/company-tabnine/"))]) - (company-terraform . [(20190607 1037) ((emacs (24 4)) (company (0 8 12)) (terraform-mode (0 6))) "A company backend for terraform" tar ((:commit . "2d11a21fee2f298e48968e479ddcaeda4d736e12") (:authors ("Rafał Cieślak" . "rafalcieslak256@gmail.com")) (:maintainer "Rafał Cieślak" . "rafalcieslak256@gmail.com") (:keywords "abbrev" "convenience" "terraform" "company") (:url . "https://github.com/rafalcieslak/emacs-company-terraform"))]) + (company-terraform . [(20220509 1759) ((emacs (24 4)) (company (0 8 12)) (terraform-mode (0 6))) "A company backend for terraform" tar ((:commit . "8d5a16d1bbeeb18ca49a8fd57b5d8cd30c8b8dc7") (:authors ("Rafał Cieślak" . "rafalcieslak256@gmail.com")) (:maintainer "Rafał Cieślak" . "rafalcieslak256@gmail.com") (:keywords "abbrev" "convenience" "terraform" "company") (:url . "https://github.com/rafalcieslak/emacs-company-terraform"))]) (company-try-hard . [(20200417 1603) ((emacs (24 3)) (company (0 8 0)) (dash (2 0))) "get all completions from company backends" single ((:commit . "2b41136b5ed6e02032d99bcdb0599ecf00394fa5") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "matching") (:url . "https://github.com/Wilfred/company-try-hard"))]) (company-web . [(20220115 2146) ((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 . "863fb84b81ed283474e50330cd8d27b1ca0d74f1") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:keywords "html" "company") (:url . "https://github.com/osv/company-web"))]) (company-wordfreq . [(20220405 2000) ((emacs (27 1)) (company (0 9))) "Company backend for human language texts" single ((:commit . "83569cf346c2320ef22f6a858e3424f771c4324e") (:authors ("Johannes Mueller" . "github@johannes-mueller.org")) (:maintainer "Johannes Mueller" . "github@johannes-mueller.org") (:keywords "company" "convenience" "matching") (:url . "https://github.com/johannes-mueller/company-wordfreq.el"))]) @@ -676,58 +687,61 @@ (competitive-programming-snippets . [(20201115 1702) ((emacs (26)) (yasnippet (0 8 0))) "Competitive Programming snippets for yasnippet" tar ((:commit . "3b43c1aeaa6676d1d3d0c47e78790db9bee150b6") (:authors ("Seong Yong-ju" . "sei40kr@gmail.com")) (:maintainer "Seong Yong-ju" . "sei40kr@gmail.com") (:keywords "tools") (:url . "https://github.com/sei40kr/competitive-programming-snippets"))]) (compiler-explorer . [(20210916 1316) ((emacs (26 1)) (request (0 3 0))) "Compiler explorer client (godbolt.org)" single ((:commit . "9ea0cc78ac40f667dfaf9277758a22b9058ca434") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:keywords "c" "tools") (:url . "https://github.com/mkcms/compiler-explorer.el"))]) (completions-frame . [(20210430 640) ((emacs (26 1))) "Show completions in child frame" single ((:commit . "860e5b97730df7ef5c34584ad164bc69c561db84") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "frames") (:url . "https://github.com/muffinmad/emacs-completions-frame"))]) - (composable . [(20201024 1458) ((emacs (24 4))) "composable editing" tar ((:commit . "6f2efaa7018feb854720cc2518e4274ad708f793") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io") (:keywords "lisp"))]) + (composable . [(20220608 1148) ((emacs (25 1))) "composable editing" tar ((:commit . "205a69c64ea95ef67070423c31ed70ec44ec980c") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io") (:keywords "lisp"))]) (composer . [(20200616 1717) ((emacs (24 3)) (s (1 9 0)) (f (0 17)) (seq (1 9)) (php-runtime (0 1 0))) "Interface to PHP Composer" single ((:commit . "7c7f89df226cac69664d7eca5e913b544dc475c5") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php" "dependency" "manager") (:url . "https://github.com/zonuexe/composer.el"))]) (comware-router-mode . [(20220108 2111) ((dash (2 16 0)) (emacs (24 3))) "Major mode for editing Comware configuration files" single ((:commit . "cd8c74653c0e221e3dd1ca540496c4b4c7ee4617") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:keywords "convenience" "faces") (:url . "https://github.com/daviderestivo/comware-router-mode"))]) (concurrent . [(20161229 330) ((emacs (24 3)) (deferred (0 5 0))) "Concurrent utility functions for emacs lisp" single ((:commit . "2239671d94b38d92e9b28d4e12fd79814cfb9c16") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "deferred" "async" "concurrent") (:url . "https://github.com/kiwanami/emacs-deferred/blob/master/README-concurrent.markdown"))]) - (conda . [(20220315 1533) ((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 . "9c28d7a853b4b4bd00215cf7f07856c1563f2ad7") (:authors ("Rami Chowdhury" . "rami.chowdhury@gmail.com")) (:maintainer "Rami Chowdhury" . "rami.chowdhury@gmail.com") (:keywords "python" "environment" "conda") (:url . "http://github.com/necaris/conda.el"))]) + (conda . [(20220724 1857) ((emacs (25 1)) (pythonic (0 1 0)) (dash (2 13 0)) (s (1 11 0)) (f (0 18 2))) "Work with your conda environments" single ((:commit . "a65ed0084876366fd1b238bb2b8b36ee75ac98d8") (:authors ("Rami Chowdhury" . "rami.chowdhury@gmail.com")) (:maintainer "Rami Chowdhury" . "rami.chowdhury@gmail.com") (:keywords "languages" "local" "tools" "python" "environment" "conda") (:url . "http://github.com/necaris/conda.el"))]) (config-general-mode . [(20171024 1840) nil "Config::General config file mode" single ((:commit . "b4a8e6ba0bb027a77e4a0f701409f3e57bb2e4c0") (:authors ("T.v.Dein" . "tlinden@cpan.org")) (:maintainer "T.v.Dein" . "tlinden@cpan.org") (:keywords "files") (:url . "https://github.com/tlinden/config-general-mode"))]) (config-parser . [(20160426 1219) ((emacs (24 4))) "a library for parsing config file" single ((:commit . "85d559e7889d8f5b98b8794b79426ae25ec3caa5") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "config") (:url . "https://github.com/lujun9972/el-config-parser"))]) (conkeror-minor-mode . [(20150114 1604) nil "Mode for editing conkeror javascript files." single ((:commit . "476e81c27b056e21c192391fe674a2bf875466b0") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com>")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com>") (:keywords "programming" "tools") (:url . "http://github.com/Bruce-Connor/conkeror-minor-mode"))]) (conllu-mode . [(20200501 2328) ((emacs (25)) (cl-lib (0 5)) (flycheck (30)) (hydra (0 13 0)) (s (1 0))) "editing mode for CoNLL-U files" tar ((:commit . "0db3063572b0de08874822e20570bb153747e6ed") (:authors ("bruno cuconato" . "bcclaro+emacs@gmail.com")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:keywords "extensions") (:url . "https://github.com/odanoburu/conllu-mode"))]) (connection . [(20191111 446) nil "TCP-based client connection" single ((:commit . "bdf0aa7761d1c1a3bc0652b2fdc4a54b3acdb06a") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net") (:keywords "network"))]) (constant-theme . [(20180921 1012) ((emacs (24 1))) "A calm, dark, almost monochrome color theme." tar ((:commit . "23543a09729569b566175abe1efbe774048d3fa8") (:authors ("Jannis Pohlmann" . "contact@jannispohlmann.de")) (:maintainer "Jannis Pohlmann" . "contact@jannispohlmann.de") (:keywords "themes") (:url . "https://github.com/jannis/emacs-constant-theme"))]) - (consult . [(20220423 417) ((emacs (27 1))) "Consulting completing-read" tar ((:commit . "ed44a20c23b7ee1b78a8cd0f56b005c880fc4c29") (:authors ("Daniel Mendler and Consult contributors")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/consult"))]) + (consult . [(20220804 821) ((emacs (27 1)) (compat (28 1))) "Consulting completing-read" tar ((:commit . "aaba2b0260a522cea3c733850dd13a9aae803917") (:authors ("Daniel Mendler and Consult contributors")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/consult"))]) (consult-ag . [(20220419 1721) ((emacs (27 1)) (consult (0 16))) "The silver searcher integration using Consult" single ((:commit . "2460ae6829e86c9f1186a852304d919526838cb8") (:authors ("Kanon Kakuno" . "yadex205@outlook.jp")) (:maintainer "Kanon Kakuno" . "yadex205@outlook.jp") (:url . "https://github.com/yadex205/consult-ag"))]) (consult-company . [(20211021 1152) ((emacs (27 1)) (company (0 9)) (consult (0 9))) "Consult frontend for company" single ((:commit . "ef1c553b4a72b23297b55708bf6f6dd1b27cc68e") (:authors ("mohsin kaleem" . "mohkale@kisara.moe")) (:maintainer "mohsin kaleem" . "mohkale@kisara.moe") (:url . "https://github.com/mohkale/consult-company"))]) - (consult-dir . [(20211007 2352) ((emacs (26 1)) (consult (0 9)) (project (0 6 0))) "Insert paths into the minibuffer prompt" single ((:commit . "08f543ae6acbfc1ffe579ba1d00a5414012d5c0b") (:authors ("Karthik Chikmagalur")) (:maintainer "Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com") (:keywords "convenience") (:url . "https://github.com/karthink/consult-dir"))]) + (consult-dash . [(20220621 226) ((emacs (27 2)) (dash-docs (1 4 0)) (consult (0 16))) "Consult front-end for dash-docs" single ((:commit . "0eb8e133a12570f482efcf367dcc7887c15def32") (:authors ("Ravi R Kiran" . "lists.ravi@gmail.com")) (:maintainer "Ravi R Kiran" . "lists.ravi@gmail.com") (:keywords "consult" "dash" "docs") (:url . "https://codeberg.org/ravi/consult-dash"))]) + (consult-dir . [(20220706 1256) ((emacs (26 1)) (consult (0 9)) (project (0 6 0))) "Insert paths into the minibuffer prompt" single ((:commit . "88f1d7cce614fabbfb41dff5338399971835c48c") (:authors ("Karthik Chikmagalur")) (:maintainer "Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com") (:keywords "convenience") (:url . "https://github.com/karthink/consult-dir"))]) (consult-eglot . [(20220409 1238) ((emacs (27 1)) (eglot (1 7)) (consult (0 16)) (project (0 3 0))) "A consulting-read interface for eglot" single ((:commit . "0da8801dd8435160ce1f62ad8066bd52e38f5cbd") (:authors ("mohsin kaleem" . "mohkale@kisara.moe")) (:maintainer "Mohsin Kaleem") (:keywords "tools" "completion" "lsp") (:url . "https://github.com/mohkale/consult-eglot"))]) (consult-flycheck . [(20220403 1810) ((consult (0 16)) (flycheck (31)) (emacs (27 1))) "Provides the command `consult-flycheck'" single ((:commit . "9b40f136c017fadf6239d7602d16bf73b4ad5198") (:authors ("Daniel Mendler and Consult contributors")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/consult"))]) (consult-flyspell . [(20220419 2044) ((emacs (25 1)) (consult (0 12))) "Consult integration for flyspell" single ((:commit . "396def174495cc77413e2065ef79658a02490dad") (:authors ("Marco Pawłowski")) (:maintainer "Marco Pawłowski") (:keywords "convenience") (:url . "https://gitlab.com/OlMon/consult-flyspell"))]) (consult-ghq . [(20210606 2047) ((emacs (26 1)) (consult (0 8)) (affe (0 1))) "Ghq interface using consult" single ((:commit . "c8619d66bd8f8728e43ed15096078b89eb4d2083") (:authors ("Tomoya Otake" . "tomoya.ton@gmail.com")) (:maintainer "Tomoya Otake" . "tomoya.ton@gmail.com") (:keywords "convenience" "usability" "consult" "ghq") (:url . "https://github.com/tomoya/consult-ghq"))]) - (consult-lsp . [(20220409 1107) ((emacs (27 1)) (lsp-mode (5 0)) (consult (0 16)) (f (0 20 0))) "LSP-mode Consult integration" single ((:commit . "a8eb3a062feb2715f174500d0624d3a85e000cf7") (:authors ("Gerry Agbobada")) (:maintainer "Gerry Agbobada") (:keywords "tools" "completion" "lsp") (:url . "https://github.com/gagbo/consult-lsp"))]) - (consult-notmuch . [(20220421 717) ((emacs (26 1)) (consult (0 9)) (notmuch (0 31))) "Notmuch search using consult" single ((:commit . "16eb2c100ca144140f07014c32e99487c6a73e18") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "mail") (:url . "https://codeberg.org/jao/consult-notmuch"))]) - (consult-org-roam . [(20220420 528) ((emacs (27 1)) (org-roam (2 2 0)) (consult (0 16))) "Consult integration for org-roam" single ((:commit . "41f5d43c50e283a7d509675cd448e69f0f94ef6b") (:authors ("jgru ")) (:maintainer "jgru ") (:url . "https://github.com/jgru/consult-org-roam"))]) + (consult-ls-git . [(20220501 1823) ((emacs (27 1)) (consult (0 16))) "Consult integration for git" single ((:commit . "f2398b354994e583ad22af324a129cf94d06009e") (:authors ("Robin Joy")) (:maintainer "Robin Joy") (:keywords "convenience") (:url . "https://github.com/rcj/consult-ls-git"))]) + (consult-lsp . [(20220507 856) ((emacs (27 1)) (lsp-mode (5 0)) (consult (0 16)) (f (0 20 0))) "LSP-mode Consult integration" single ((:commit . "19606a03cf854e1b0930c4526ed92c4560dccdc2") (:authors ("Gerry Agbobada")) (:maintainer "Gerry Agbobada") (:keywords "tools" "completion" "lsp") (:url . "https://github.com/gagbo/consult-lsp"))]) + (consult-notmuch . [(20220513 1647) ((emacs (26 1)) (consult (0 9)) (notmuch (0 31))) "Notmuch search using consult" single ((:commit . "4138855cddee0ef126cff6a5fc5ca9c49fd2682d") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "mail") (:url . "https://codeberg.org/jao/consult-notmuch"))]) + (consult-org-roam . [(20220706 627) ((emacs (27 1)) (org-roam (2 2 0)) (consult (0 16))) "Consult integration for org-roam" single ((:commit . "9b51aed939054c54934a6969290ad78587051cde") (:authors ("jgru ")) (:maintainer "jgru ") (:url . "https://github.com/jgru/consult-org-roam"))]) (consult-project-extra . [(20220424 1815) ((emacs (27 1)) (consult (0 17)) (project (0 8 1))) "Consult integration for project.el" single ((:commit . "fa882a0bf9b697ebb59d0dfa2ffd81ea6daabf41") (:authors ("Enrique Kessler Martínez")) (:maintainer "Enrique Kessler Martínez") (:keywords "convenience" "project" "management") (:url . "https://github.com/Qkessler/consult-project-extra"))]) - (consult-projectile . [(20220414 738) ((emacs (25 1)) (consult (0 12)) (projectile (2 5 0))) "Consult integration for projectile" single ((:commit . "f510a5ca83cc8a42a2038ae15e998ca1c4f2f575") (:authors ("Marco Pawłowski")) (:maintainer "Marco Pawłowski") (:keywords "convenience") (:url . "https://gitlab.com/OlMon/consult-projectile"))]) - (consult-recoll . [(20220227 2050) ((emacs (26 1)) (consult (0 9))) "Recoll queries using consult" single ((:commit . "228306eeda8c57db45609ca068f60ee433367c17") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "docs" "convenience") (:url . "https://codeberg.org/jao/consult-recoll"))]) + (consult-projectile . [(20220617 1042) ((emacs (25 1)) (consult (0 12)) (projectile (2 5 0))) "Consult integration for projectile" single ((:commit . "5ef1ada3be767ea766255801050210f5d796deec") (:authors ("Marco Pawłowski")) (:maintainer "Marco Pawłowski") (:keywords "convenience") (:url . "https://gitlab.com/OlMon/consult-projectile"))]) + (consult-recoll . [(20220804 1353) ((emacs (26 1)) (consult (0 18))) "Recoll queries using consult" single ((:commit . "a2ee98e0577cae0314b433ffacfc8b9f2ab023d7") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "docs" "convenience") (:url . "https://codeberg.org/jao/consult-recoll"))]) (consult-spotify . [(20211114 2258) ((emacs (26 1)) (consult (0 8)) (espotify (0 1))) "Spotify queries using consult" single ((:commit . "ea6d6021e5acc550560325db2f09198839ee702f") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "multimedia") (:url . "https://codeberg.org/jao/espotify"))]) - (consult-yasnippet . [(20220409 1209) ((emacs (27 1)) (yasnippet (0 14)) (consult (0 16))) "A consulting-read interface for yasnippet" single ((:commit . "cdb256d2c50e4f8473c6052e1009441b65b8f8ab") (:authors ("mohsin kaleem" . "mohkale@kisara.moe")) (:maintainer "mohsin kaleem" . "mohkale@kisara.moe") (:url . "https://github.com/mohkale/consult-yasnippet"))]) + (consult-yasnippet . [(20220724 1338) ((emacs (27 1)) (yasnippet (0 14)) (consult (0 16))) "A consulting-read interface for yasnippet" single ((:commit . "ae0450889484f23dc4ec37518852a2c61b89f184") (:authors ("mohsin kaleem" . "mohkale@kisara.moe")) (:maintainer "mohsin kaleem" . "mohkale@kisara.moe") (:url . "https://github.com/mohkale/consult-yasnippet"))]) (contextual . [(20180726 800) ((emacs (24)) (dash (2 12 1)) (cl-lib (0 5))) "Contextual profile management system" single ((:commit . "e3c0de4a2e06757a0e8407c3c6e75930026191e3") (:authors ("Alexander Kahl" . "ak@sodosopa.io")) (:maintainer "Alexander Kahl" . "ak@sodosopa.io") (:keywords "convenience" "tools") (:url . "https://github.com/lshift-de/contextual"))]) (contextual-menubar . [(20180205 709) nil "display the menubar only on a graphical display" single ((:commit . "f76f55232ac07df76ef9a334a0c527dfab97c40b") (:authors ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Aaron Jensen" . "aaronjensen@gmail.com") (:url . "https://github.com/aaronjensen/contextual-menubar"))]) (contrast-color . [(20160903 1807) ((emacs (24 3)) (cl-lib (0 5))) "Pick best contrast color for you" single ((:commit . "c5fb77a211ebbef3185ada37bea7420534c33f94") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "color" "convenience") (:url . "https://github.com/yuutayamada/contrast-color-el"))]) (control-mode . [(20160624 1710) nil "A \"control\" mode, similar to vim's \"normal\" mode" single ((:commit . "72d6179b60adc438aada74083b2bf4264b575de3") (:authors ("Stephen Marsh" . "stephen.david.marsh@gmail.com")) (:maintainer "Stephen Marsh" . "stephen.david.marsh@gmail.com") (:keywords "convenience" "emulations") (:url . "https://github.com/stephendavidmarsh/control-mode"))]) (conventional-changelog . [(20211212 1158) ((emacs (27)) (transient (0 3 6))) "Conventional Changelog Generator" single ((:commit . "40c2ee58364422b776e81dc153918205bfbeda86") (:authors ("liuyinz" . "liuyinz95@gmail.com")) (:maintainer "liuyinz" . "liuyinz95@gmail.com") (:keywords "tools") (:url . "https://github.com/liuyinz/emacs-conventional-changelog"))]) + (cool-mode . [(20220612 1904) ((emacs (25))) "Major mode for cool compiler language" tar ((:commit . "961e66956412a1dd63f79473a8273da8853f7179") (:authors ("Noah Peart" . "noah.v.peart@gmail.com")) (:maintainer "Noah Peart" . "noah.v.peart@gmail.com") (:url . "https://github.com/nverno/cool-mode"))]) (copy-as-format . [(20190523 258) ((cl-lib (0 5))) "Copy buffer locations as GitHub/Slack/JIRA etc... formatted code" single ((:commit . "a0962b670e26b723ce304b14e3397da453aef84e") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:keywords "github" "slack" "jira" "hipchat" "gitlab" "bitbucket" "org-mode" "pod" "rst" "asciidoc" "tools" "convenience") (:url . "https://github.com/sshaw/copy-as-format"))]) (copy-file-on-save . [(20200616 518) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17)) (s (1 7 0))) "Copy file on save, automatic deployment it." single ((:commit . "811c8fe638c5616b6471525421e61a4470be3b52") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "files" "comm" "deploy") (:url . "https://github.com/emacs-php/emacs-auto-deployment"))]) (copyit . [(20190919 1258) ((emacs (24 3)) (s (1 9 0))) "Copy it, yank anything!" single ((:commit . "c4f2c28e5b6270e8e3364341619f1154bb4e682e") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "convenience" "yank" "clipboard") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (copyit-pandoc . [(20190919 1258) ((emacs (24 3)) (copyit (0 1 0)) (pandoc (0 0 1))) "Copy it, yank anything!" single ((:commit . "c4f2c28e5b6270e8e3364341619f1154bb4e682e") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "convenience" "yank" "clipboard") (:url . "https://github.com/zonuexe/emacs-copyit"))]) (coq-commenter . [(20170822 2309) ((dash (2 13 0)) (s (1 11 0)) (cl-lib (0 5))) "Coq commenting minor mode for proof" single ((:commit . "7fe9a2cc0ebdb0b1e54a24eb7971d757fb588ac3") (:authors ("Junyoung Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung Clare Jang" . "jjc9310@gmail.com") (:keywords "comment" "coq" "proof") (:url . "http://github.com/ailrun/coq-commenter"))]) - (corfu-doc . [(20220418 2347) ((emacs (26 0)) (corfu (0 16 0))) "Documentation popup for Corfu" single ((:commit . "c14d42e5e2107c1d3f51e88c7d42d0bd3b247b39") (:authors ("Yuwei Tian" . "ibluefocus@NOSPAM.gmail.com")) (:maintainer "Yuwei Tian" . "ibluefocus@NOSPAM.gmail.com") (:keywords "corfu" "popup" "documentation" "convenience") (:url . "https://github.com/galeo/corfu-doc"))]) + (corfu-doc . [(20220621 1554) ((emacs (27 1)) (corfu (0 25))) "Documentation popup for Corfu" single ((:commit . "da931367802d01e87e1e496ba5b51aa9126a705d") (:authors ("Yuwei Tian" . "ibluefocus@NOSPAM.gmail.com")) (:maintainer "Yuwei Tian" . "ibluefocus@NOSPAM.gmail.com") (:keywords "corfu" "popup" "documentation" "convenience") (:url . "https://github.com/galeo/corfu-doc"))]) (corral . [(20160502 701) nil "Quickly surround text with delimiters" single ((:commit . "e7ab6aa118e46b93d4933d1364bc273f57cd6911") (:authors ("Kevin Liu" . "mail@nivekuil.com")) (:maintainer "Kevin Liu" . "mail@nivekuil.com") (:url . "http://github.com/nivekuil/corral"))]) (cort . [(20211020 18) ((emacs (24 1)) (ansi (0 4)) (cl-lib (0 6))) "Simplify extended unit test framework" single ((:commit . "3f64a7b03a4c5b768ec21fd5987acd0d62d16c7b") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "test" "lisp") (:url . "https://github.com/conao3/cort.el"))]) (cosmo . [(20170922 744) ((emacs (24 4))) "Cosmological Calculator" single ((:commit . "dd83b09a49a2843606b28279b674b2207040b36b") (:authors ("Francesco Montanari" . "fmnt@fmnt.info")) (:maintainer "Francesco Montanari" . "fmnt@fmnt.info") (:keywords "tools") (:url . "https://gitlab.com/montanari/cosmo-el"))]) - (counsel . [(20220402 953) ((emacs (24 5)) (ivy (0 13 4)) (swiper (0 13 4))) "Various completion functions using Ivy" single ((:commit . "7489968257a74f176c0d1de7ec8bd1e2011f0db4") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience" "matching" "tools") (:url . "https://github.com/abo-abo/swiper"))]) + (counsel . [(20220626 1826) ((emacs (24 5)) (ivy (0 13 4)) (swiper (0 13 4))) "Various completion functions using Ivy" single ((:commit . "2051de5882706246da298ce5f60482cd7f469fe7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience" "matching" "tools") (:url . "https://github.com/abo-abo/swiper"))]) (counsel-ag-popup . [(20210121 805) ((emacs (26 1)) (counsel (0 13 0)) (transient (0 3 0))) "Interactive search with counsel-ag" single ((:commit . "41d85fe36edd72da68f5009ad9cf9013cd19960d") (:authors ("Eder Elorriaga" . "gexplorer8@gmail.com")) (:maintainer "Eder Elorriaga" . "gexplorer8@gmail.com") (:keywords "convenience" "matching" "tools") (:url . "https://github.com/gexplorer/counsel-ag-popup"))]) - (counsel-at-point . [(20220211 548) ((emacs (26 2)) (counsel (0 13 0))) "Context sensitive project search" single ((:commit . "28b26ecac676d6a3942f1b96d2916f4c23d9b3ab") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-counsel-at-point"))]) + (counsel-at-point . [(20220731 2354) ((emacs (26 2)) (counsel (0 13 0))) "Context sensitive project search" single ((:commit . "65a7244ad6342ac79c612fbc6e5ca54759ebaf03") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-counsel-at-point"))]) (counsel-bbdb . [(20181128 1320) ((ivy (0 8 0)) (emacs (24 3))) "Quick search&input email from BBDB based on ivy" single ((:commit . "df2890deb73b09f8055243bd91942ea887d9b7a1") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "mail" "abbrev" "convenience" "matching") (:url . "https://github.com/redguard/counsel-bbdb"))]) (counsel-chrome-bm . [(20211022 1427) ((emacs (25 1)) (counsel (0 13 0))) "Browse Chrom(e/ium) bookmarks with Ivy" single ((:commit . "72b31889581f20f4037c0361f5259ff3633bc128") (:authors ("BlueBoxWare" . "BlueBoxWare@users.noreply.github.com")) (:maintainer "BlueBoxWare" . "BlueBoxWare@users.noreply.github.com") (:keywords "hypermedia") (:url . "https://github.com/BlueBoxWare/counsel-chrome-bm"))]) (counsel-codesearch . [(20180925 803) ((codesearch (1)) (counsel (0 10 0)) (emacs (24)) (ivy (0 10 0))) "Counsel interface for codesearch.el" single ((:commit . "b7989fad3e06f301c31d5e896c42b6cc549a0e0c") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:keywords "tools") (:url . "https://github.com/abingham/emacs-counsel-codesearch"))]) (counsel-css . [(20211115 1755) ((emacs (24 4)) (counsel (0 7 0)) (cl-lib (0 5))) "stylesheet-selector-aware swiper" single ((:commit . "8e9c0515fc952452eee786d8ebb43d48ea86c9f8") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "convenience" "tools" "counsel" "swiper" "selector" "css" "less" "scss") (:url . "https://github.com/hlissner/emacs-counsel-css"))]) (counsel-dash . [(20200103 1411) ((emacs (24 4)) (dash-docs (1 4 0)) (counsel (0 8 0)) (cl-lib (0 5))) "Browse dash docsets using Ivy" single ((:commit . "370d5f6f14b5294d0eb717f7b2a6a8e93df1ed24") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:keywords "dash" "ivy" "counsel") (:url . "https://github.com/nathankot/counsel-dash"))]) (counsel-edit-mode . [(20210824 1504) ((emacs (26 1)) (ht (2 3)) (s (1 12 0)) (counsel (0 10 0))) "Edit results of counsel commands in-place" single ((:commit . "378803ac0040c04762ff001ab1aca7d4325ecf22") (:authors ("Tyler Dodge")) (:maintainer "Tyler Dodge") (:keywords "convenience" "matching") (:url . "https://github.com/tyler-dodge/counsel-edit-mode"))]) - (counsel-etags . [(20220405 510) ((emacs (25 1)) (counsel (0 13 4))) "Fast and complete Ctags/Etags solution using ivy" single ((:commit . "c74ae94297c4a2dc0b6878c2e9460a4f386158d4") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "tools" "convenience") (:url . "http://github.com/redguardtoo/counsel-etags"))]) - (counsel-fd . [(20210606 1724) ((counsel (0 12 0))) "counsel interface for fd" single ((:commit . "e9513a3c7f6cdbdf038f951e828e631c0455e7d4") (:keywords "tools") (:url . "https://github.com/CsBigDataHub/counsel-fd"))]) + (counsel-etags . [(20220728 1351) ((emacs (26 1)) (counsel (0 13 4))) "Fast and complete Ctags/Etags solution using ivy" single ((:commit . "b109dff190db6706e32ad08deb64b77fc8ad75c7") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "tools" "convenience") (:url . "http://github.com/redguardtoo/counsel-etags"))]) + (counsel-fd . [(20220514 2227) ((counsel (0 12 0))) "counsel interface for fd" single ((:commit . "c1ba2e36fe69111e7f6f42ea1b0e3b7a45d96de0") (:keywords "tools") (:url . "https://github.com/CsBigDataHub/counsel-fd"))]) (counsel-ffdata . [(20191017 1237) ((emacs (25 1)) (counsel (0 11 0)) (emacsql (3 0 0))) "Use ivy to access firefox data" single ((:commit . "88c2348c4039d9e562bd3d9a364708b01037c283") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:keywords "convenience" "tools" "matching") (:url . "https://github.com/cireu/counsel-ffdata"))]) (counsel-gtags . [(20210222 1803) ((emacs (25 1)) (counsel (0 8 0)) (seq (1 0))) "ivy for GNU global" single ((:commit . "1d52eaeffeb60266434d4f7416a108ca058fde91") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com") ("Felipe Lema" . "felipelema@mortemale.org") ("Jimmy Aguilar Mena" . "spacibba@aol.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/FelipeLema/emacs-counsel-gtags"))]) (counsel-jq . [(20210329 749) ((swiper (0 12 0)) (ivy (0 12 0)) (emacs (24 1))) "Live preview of \"jq\" queries using counsel" single ((:commit . "8cadd2e96470402ede4881b4e955872976443689") (:authors ("Alain M. Lafon" . "alain@200ok.ch")) (:maintainer "Alain M. Lafon" . "alain@200ok.ch") (:keywords "convenience" "data" "matching") (:url . "https://github.com/200ok-ch/counsel-jq"))]) @@ -744,10 +758,10 @@ (counsel-web . [(20210609 2156) ((emacs (25 1)) (counsel (0 13 0)) (request (0 3 0))) "Search the Web using Ivy" single ((:commit . "1359b3b204fcdac7a3d6664c7d540a88b5acecfd") (:authors ("Matthew Sojourner Newton" . "matt@mnewton.com")) (:maintainer "Matthew Sojourner Newton" . "matt@mnewton.com") (:keywords "convenience" "hypermedia") (:url . "https://github.com/mnewt/counsel-web"))]) (counsel-world-clock . [(20190709 2211) ((ivy (0 9 0)) (s (1 12 0))) "Display world clock using Ivy." single ((:commit . "674e4c6b82a92ea765af97cc5f017b357284c7dc") (:authors ("Kuang Chen ")) (:maintainer "Kuang Chen ") (:url . "https://github.com/kchenphy/counsel-world-clock"))]) (countdown . [(20190626 244) ((emacs (25 1)) (stream (2 2 4))) "Countdown using big LCD-like digits" single ((:commit . "139dea91fc818d65944aca5f16c9626abbdfbf04") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "tools") (:url . "https://github.com/xuchunyang/countdown.el"))]) - (cov . [(20220410 2247) ((emacs (24 4)) (f (0 18 2)) (s (1 11 0)) (elquery (0))) "Show coverage stats in the fringe." single ((:commit . "8396fa82a84965cd88fa23f5b361ab80ff28e231") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:keywords "coverage" "gcov" "c") (:url . "https://github.com/AdamNiederer/cov"))]) + (cov . [(20220727 31) ((emacs (24 4)) (f (0 18 2)) (s (1 11 0)) (elquery (0))) "Show coverage stats in the fringe." single ((:commit . "cd3e1995c596cc227124db9537792d8329ffb696") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:keywords "coverage" "gcov" "c" "lcov" "coveralls" "clover") (:url . "https://github.com/AdamNiederer/cov"))]) (coverage . [(20191113 1958) ((ov (1 0)) (cl-lib (0 5))) "Code coverage line highlighting" single ((:commit . "6e3c6f2dcb759a76086adeeb1fdfe83e4f082482") (:authors ("Kieran Trezona-le Comte" . "trezona.lecomte@gmail.com")) (:maintainer "Kieran Trezona-le Comte" . "trezona.lecomte@gmail.com") (:keywords "coverage" "metrics" "simplecov" "ruby" "rspec") (:url . "https://github.com/trezona-lecomte/coverage"))]) (coverlay . [(20190414 940) ((emacs (24 1)) (cl-lib (0 5))) "Test coverage overlays" single ((:commit . "0beae208d0e7d746a94385428bd61aa5cd7ea828") (:authors ("Takuto Wada ")) (:maintainer "Takuto Wada ") (:keywords "coverage" "overlay") (:url . "https://github.com/twada/coverlay.el"))]) - (cowsay . [(20210510 1540) ((emacs (24 5))) "Poorly drawn ASCII cartoons saying things" single ((:commit . "683c23afa2a37272be54de822ad19f4e11dd86ba") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "games") (:url . "https://github.com/lassik/emacs-cowsay"))]) + (cowsay . [(20210510 1540) ((emacs (24 5))) "Poorly drawn ASCII cartoons saying things" single ((:commit . "6c706d90902a186a2260d380d69460da4cdc61cb") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "games") (:url . "https://github.com/lassik/emacs-cowsay"))]) (cp5022x . [(20120323 2335) nil "cp50220, cp50221, cp50222 coding system" single ((:commit . "ea7327dd75e54539576916f592ae1be98179ae35") (:authors ("ARISAWA Akihiro" . "ari@mbf.ocn.ne.jp")) (:maintainer "ARISAWA Akihiro" . "ari@mbf.ocn.ne.jp") (:keywords "languages" "cp50220" "cp50221" "cp50222" "cp51932" "cp932"))]) (cpanfile-mode . [(20161001 710) ((emacs (24 4))) "Major mode for cpanfiles" single ((:commit . "eda675703525198df1f76ddf250bffa40217ec5d") (:authors ("Zak B. Elep" . "zakame@zakame.net")) (:maintainer "Zak B. Elep" . "zakame@zakame.net") (:keywords "perl") (:url . "https://github.com/zakame/cpanfile-mode"))]) (cpp-auto-include . [(20210318 2217) ((cl-lib (0 5))) "Insert and delete C++ header files automatically" single ((:commit . "0ce829f27d466c083e78b9fe210dcfa61fb417f4") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/emacsorphanage/cpp-auto-include"))]) @@ -756,8 +770,8 @@ (cql-mode . [(20190315 225) ((emacs (24))) "Major mode for editting CQLs" single ((:commit . "d400c046850d3cf404778b2c47d6be4ff84ca04b") (:authors ("Yuki Inoue ")) (:maintainer "Yuki Inoue ") (:keywords "cql" "cassandra") (:url . "https://github.com/Yuki-Inoue/cql-mode"))]) (cquery . [(20190118 542) ((emacs (25 1)) (lsp-mode (3 4)) (dash (0 13))) "cquery client for lsp-mode" tar ((:commit . "555e50984ebda177421fdcdc8c76cb29235d9694") (:authors ("Tobias Pisani")) (:maintainer "Tobias Pisani") (:keywords "languages" "lsp" "c++") (:url . "https://github.com/jacobdufault/cquery"))]) (crappy-jsp-mode . [(20140311 931) nil "A pretty crappy major-mode for jsp." single ((:commit . "6c45ab92b452411cc0fab9bcee2f456276b4fc40") (:keywords "jsp" "major" "mode"))]) - (creamsody-theme . [(20170222 1058) ((autothemer (0 2))) "Straight from the soda fountain." single ((:commit . "32fa3f4e461da92700523b1b20e7b28974c19a26") (:url . "http://github.com/emacsfodder/emacs-theme-creamsody"))]) - (create-link . [(20211014 1617) ((emacs (25 1))) "Smart format link generator" single ((:commit . "e765b1067ced891a90ba0478af7fe675cff9b713") (:authors ("Kijima Daigo" . "norimaking777@gmail.com")) (:maintainer "Kijima Daigo" . "norimaking777@gmail.com") (:keywords "link" "format" "browser" "convenience") (:url . "https://github.com/kijimaD/create-link"))]) + (creamsody-theme . [(20220616 119) ((autothemer (0 2))) "Straight from the soda fountain." single ((:commit . "21add9e946e2d00c15b609e75d65aa4c292bc7a2") (:url . "http://github.com/emacsfodder/emacs-theme-creamsody"))]) + (create-link . [(20220621 1440) ((emacs (25 1))) "Smart format link generator" single ((:commit . "276fafcc6fb568ede256c8d459c3beb408ad9b46") (:authors ("Kijima Daigo" . "norimaking777@gmail.com")) (:maintainer "Kijima Daigo" . "norimaking777@gmail.com") (:keywords "link" "format" "browser" "convenience") (:url . "https://github.com/kijimaD/create-link"))]) (creds . [(20140510 1706) ((s (1 9 0)) (dash (2 5 0))) "A parser credentials file library (not limited to credentials entries)" tar ((:commit . "b059397a7d59481f05fbb1bb9c8d3c2c69226482") (:authors ("Antoine R. Dumont ")) (:maintainer "Antoine R. Dumont ") (:keywords "credentials") (:url . "https://github.com/ardumont/emacs-creds"))]) (creole . [(20140924 1500) ((noflet (0 0 3)) (kv (0 0 17))) "A parser for the Creole Wiki language" single ((:commit . "7d5cffe93857f6c75ca09ac79c0e47b8d4410e53") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp" "creole" "wiki"))]) (creole-mode . [(20130722 50) nil "a markup mode for creole" single ((:commit . "b5e79b2ec5f19fb5aacf689b5febc3e0b61515c4") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "hypermedia" "wp") (:url . "https://github.com/nicferrier/creole-mode"))]) @@ -770,7 +784,7 @@ (crystal-mode . [(20220104 2146) ((emacs (24 4))) "Major mode for editing Crystal files" single ((:commit . "96a8058205b24b513d0b9307db32f05e30f9570b") (:keywords "languages" "crystal") (:url . "https://github.com/crystal-lang-tools/emacs-crystal-mode"))]) (crystal-playground . [(20180830 501) ((emacs (25)) (crystal-mode (0 1 2))) "Local crystal playground for short code snippets." single ((:commit . "fb3691b1281207b459c5be50015a626f356dc40d") (:authors ("Jason Howell")) (:maintainer "Jason Howell") (:keywords "tools" "crystal") (:url . "https://github.com/jasonrobot/crystal-playground"))]) (csgo-conf-mode . [(20161209 1619) nil "CS:GO Configuration files syntax highlighting" single ((:commit . "57e7224f87a3ccc76b5564cc95fa0ff43bb6807c") (:authors ("Guillermo Robles" . "guillerobles1995@gmail.com")) (:maintainer "Guillermo Robles" . "guillerobles1995@gmail.com") (:keywords "languages") (:url . "https://github.com/wynro/emacs-csgo-conf-mode"))]) - (csharp-mode . [(20211124 1105) ((emacs (26 1))) "C# mode derived mode" tar ((:commit . "fa06dfa206812476217ada6c4178de34ff1efc42") (:authors ("Theodor Thornhill" . "theo@thornhill.no")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:keywords "c#" "languages" "oop" "mode") (:url . "https://github.com/emacs-csharp/csharp-mode"))]) + (csharp-mode . [(20220704 1242) ((emacs (26 1))) "C# mode derived mode" tar ((:commit . "396b5e9b32bb58c9f984a03f5075455af87f7307") (:authors ("Theodor Thornhill" . "theo@thornhill.no")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:keywords "c#" "languages" "oop" "mode") (:url . "https://github.com/emacs-csharp/csharp-mode"))]) (csound-mode . [(20211215 1925) ((emacs (25)) (shut-up (0 3 2)) (multi (2 0 1)) (dash (2 16 0)) (highlight (0))) "A major mode for interacting and coding Csound" tar ((:commit . "44c49e5a9262ede4b4477bafb13b42b1ba047b9c") (:authors ("Hlöðver Sigurðsson" . "hlolli@gmail.com")) (:maintainer "Hlöðver Sigurðsson" . "hlolli@gmail.com") (:url . "https://github.com/hlolli/csound-mode"))]) (csproj-mode . [(20200801 1732) ((emacs (24))) "Work with .NET project files (csproj, vbproj)" tar ((:commit . "a7f0f4610c976a28c41b9b8299892f88b5d0336c") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:keywords "languages" "tools") (:url . "https://github.com/omajid/csproj-mode"))]) (css-autoprefixer . [(20180311 1600) ((emacs (24))) "Adds autoprefix to CSS" single ((:commit . "386a5defc8543a3b87820f1761c075c7d1d93b38") (:authors (nil . "Kyung Mo Kweon and contributors")) (:maintainer nil . "Kyung Mo Kweon and contributors") (:keywords "convenience" "usability" "css") (:url . "https://github.com/kkweon/emacs-css-autoprefixer"))]) @@ -778,11 +792,11 @@ (css-eldoc . [(20220415 1629) nil "an eldoc-mode plugin for CSS source code" tar ((:commit . "73ebf9757a043b56b7d3b5befec5a38e6754b9e5") (:authors ("Zeno Zeng" . "zenoes@qq.com")) (:maintainer "Zeno Zeng" . "zenoes@qq.com"))]) (cssh . [(20150810 1709) nil "clusterssh implementation for emacs" single ((:commit . "2fe2754235225a59b63f08b130cfd4352e2e1c3f") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:keywords "clusterssh" "ssh" "cssh") (:url . "http://tapoueh.org/emacs/cssh.html"))]) (csv . [(20161113 1510) nil "Functions for reading and parsing CSV files." single ((:commit . "aa1dfa1263565d5fac3879c21d8ddf5f8915e411") (:authors ("Ulf Jasper" . "ulf.jasper@web.de")) (:maintainer "Ulf Jasper" . "ulf.jasper@web.de") (:keywords "extensions" "data" "csv"))]) - (ct . [(20210219 1344) ((emacs (26 1)) (dash (2 18 0)) (hsluv (1 0 0))) "Color Tools - a color api" single ((:commit . "c302ee94feee0c5efc511e8f9fd8cb2f6dfe3490") (:authors ("neeasade")) (:maintainer "neeasade") (:keywords "convenience" "color" "theming" "rgb" "hsv" "hsl" "cie-lab" "background") (:url . "https://github.com/neeasade/ct.el"))]) + (ct . [(20220610 1146) ((emacs (26 1)) (dash (2 18 0)) (hsluv (1 0 0))) "Color Tools - a color api" tar ((:commit . "dd883e2315aba099e32fba9f1039437551b96ef3") (:authors ("neeasade")) (:maintainer "neeasade") (:keywords "convenience" "color" "theming" "rgb" "hsv" "hsl" "cie-lab" "background") (:url . "https://github.com/neeasade/ct.el"))]) (ctable . [(20210128 629) ((emacs (24 3)) (cl-lib (0 5))) "Table component for Emacs Lisp" single ((:commit . "48b73742757a3ae5736d825fe49e00034cc453b5") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "table") (:url . "https://github.com/kiwanami/emacs-ctable"))]) (ctags-update . [(20190609 613) nil "(auto) update TAGS in parent directory using exuberant-ctags" single ((:commit . "67faf248b92388442958a069263c62a345425a1b") (:authors (nil . "Joseph(纪秀峰) jixiuf@gmail.com")) (:maintainer nil . "Joseph(纪秀峰) jixiuf@gmail.com") (:keywords "exuberant-ctags" "etags") (:url . "https://github.com/jixiuf/ctags-update"))]) (ctl-mode . [(20151202 1006) nil "Major mode for editing GrADS script files" single ((:commit . "1a13051db21b999c7682a015b33a03096ff9d891") (:authors ("Joe Wielgosz" . "joew@cola.iges.org")) (:maintainer "Joe Wielgosz" . "joew@cola.iges.org") (:keywords "grads" "script" "major-mode"))]) - (ctrlf . [(20220130 2307) ((emacs (25 1))) "Emacs finally learns how to ctrl+F" single ((:commit . "56021fd53efd775d91db2730e4ab4d5c157c513f") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/ctrlf"))]) + (ctrlf . [(20220601 1649) ((emacs (25 1))) "Emacs finally learns how to ctrl+F" single ((:commit . "cefb0aff9d316bd03e911f7f483f8d01f15cf5a2") (:authors ("Radian LLC" . "contact+ctrlf@radian.codes")) (:maintainer "Radian LLC" . "contact+ctrlf@radian.codes") (:keywords "extensions") (:url . "https://github.com/radian-software/ctrlf"))]) (ctrlxo . [(20201021 701) ((emacs (25 1))) "Switch to the most recently used window" single ((:commit . "8ad95a81bd1ece06ebe40e2a83490775db64b419") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "frames") (:url . "https://github.com/muffinmad/emacs-ctrlxo"))]) (ctune . [(20210205 1428) ((emacs (26 1))) "Tune out CC Mode Noise Macros" tar ((:commit . "3f7abc6e74d4e5954b476ba9a1dc652f96b10c05") (:authors ("Mauro Aranda" . "maurooaranda@gmail.com")) (:maintainer "Mauro Aranda" . "maurooaranda@gmail.com") (:keywords "c" "convenience") (:url . "https://github.com/maurooaranda/ctune"))]) (ctxmenu . [(20140303 2142) ((popup (20140205 103)) (log4e (0 2 0)) (yaxception (0 1))) "Provide a context menu like right-click." tar ((:commit . "5c2376859562b98c07c985d2b483658e4c0e888e") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "popup") (:url . "https://github.com/aki2o/emacs-ctxmenu"))]) @@ -790,6 +804,7 @@ (cubicle-mode . [(20171009 1957) nil "Major mode for the Cubicle model checker" single ((:commit . "00f09bb2d4bb496549775e770d7ada08bc1e4866") (:authors ("Alain Mebsout")) (:maintainer "Alain Mebsout"))]) (cucumber-goto-step . [(20131210 519) ((pcre2el (1 5))) "Jump to cucumber step definition" single ((:commit . "f2713ffb26ebe1b757d1f2ea80e900b55e5895aa") (:authors ("Glen Stampoultzis" . "gstamp@gmail.com")) (:maintainer "Glen Stampoultzis" . "gstamp@gmail.com") (:url . "http://orthogonal.me"))]) (cuda-mode . [(20201013 2230) nil "NVIDIA CUDA Major Mode" single ((:commit . "7f593518fd135fc6af994024bcb47986dfa502d2") (:authors ("Jack Morrison" . "jackmorrison1@gmail.com")) (:maintainer "Jack Morrison" . "jackmorrison1@gmail.com") (:keywords "c" "languages"))]) + (cue-mode . [(20220512 2104) ((emacs (25 1))) "Major mode for CUE language files" single ((:commit . "f98b9f9088fcb66c97f9200f6c8a0cd16c11caae") (:authors ("Russell Sim" . "russell.sim@gmail.com")) (:maintainer "Russell Sim" . "russell.sim@gmail.com") (:keywords "data" "languages") (:url . "https://github.com/russell/cue-mode"))]) (curl-to-elisp . [(20201124 1012) ((emacs (25 1))) "Convert cURL command to Emacs Lisp code" single ((:commit . "63d8d9c6d5efb8af8aa88042bfc0690ba699ef64") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "lisp") (:url . "https://github.com/xuchunyang/curl-to-elisp"))]) (currency-convert . [(20210427 2032) ((emacs (24 4))) "Currency converter" single ((:commit . "12805ea66aa8421de5eedda39d23f709de634460") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "comm" "convenience" "i18n") (:url . "https://github.com/lassik/emacs-currency-convert"))]) (current-word-highlight . [(20210323 1401) nil "Highlight the current word minor mode" single ((:commit . "d860f4e170ffa4cef840da93647f458cc409d554") (:authors ("Kijima Daigo" . "norimaking777@gmail.com")) (:maintainer "Kijima Daigo" . "norimaking777@gmail.com") (:keywords "highlight" "face" "convenience" "word") (:url . "https://github.com/kijimaD/current-word-highlight"))]) @@ -800,22 +815,22 @@ (cyberpunk-2019-theme . [(20191008 1133) ((emacs (24 1))) "A retina-scorching cyberpunk theme" single ((:commit . "7e40c37210c363b2819fd9bb98a73101d7a3c206") (:authors ("Alex Lynham" . "alex@lynh.am")) (:maintainer "Alex Lynham" . "alex@lynh.am") (:keywords "cyberpunk" "theme" "themes") (:url . "https://github.com/the-frey/cyberpunk-2019"))]) (cyberpunk-theme . [(20200601 1632) nil "Cyberpunk Color Theme" single ((:commit . "cbd0d7193e69ff9e98262eb06aee3d27667ff5f5") (:authors ("Nicholas M. Van Horn" . "nvanhorn@protonmail.com")) (:maintainer "Nicholas M. Van Horn" . "nvanhorn@protonmail.com") (:keywords "color" "theme" "cyberpunk") (:url . "https://github.com/n3mo/cyberpunk-theme.el"))]) (cycbuf . [(20131203 2037) nil "Cycle buffers, inspired by swbuff.el, swbuff-x.el, and bs.el" single ((:commit . "1079b41c3eb27d65b66d4399959bb6253f84858e") (:authors ("Martin Pohlack martinp (at) gmx.de")) (:maintainer "Martin Pohlack martinp (at) gmx.de") (:keywords "files" "convenience" "buffer switching") (:url . "https://github.com/martinp26/cycbuf"))]) - (cycle-at-point . [(20220406 1340) ((emacs (28 1)) (recomplete (0 2))) "Cycle (rotate) the thing under the cursor" tar ((:commit . "4637a9288028f3eaa31cfa9658cfe78f423b16cf") (:authors ("Campbell Barton")) (:maintainer "Campbell Barton") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-cycle-at-point"))]) + (cycle-at-point . [(20220723 646) ((emacs (28 1)) (recomplete (0 2))) "Cycle (rotate) the thing under the cursor" tar ((:commit . "d12be2e91337096f4fbf36029de57d4119a00e1d") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-cycle-at-point"))]) (cycle-resize . [(20160521 1557) nil "Cycle resize the current window horizontally or vertically" single ((:commit . "7d255d6fe85f12c967a0f7fcfcf18633be194c88") (:authors ("Pierre Lecocq")) (:maintainer "Pierre Lecocq") (:url . "https://github.com/pierre-lecocq/cycle-resize"))]) (cycle-themes . [(20150403 309) ((cl-lib (0 5))) "A global minor mode to make switching themes easier" single ((:commit . "6e125d11fdbc6b78fc9f219eb2609a5e29815898") (:keywords "themes" "utility" "global minor mode") (:url . "http://github.com/toroidal-code/cycle-themes.el"))]) (cyphejor . [(20210816 1607) ((emacs (24 4))) "Shorten major mode names using user-defined rules" single ((:commit . "576d237a46be79449a22e3a7912a3464d7b0c233") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "mode-line" "major-mode") (:url . "https://github.com/mrkkrp/cyphejor"))]) (cypher-mode . [(20151110 1142) nil "major mode for editing cypher scripts" single ((:commit . "ce8543d7877c736c574a17b49874c9dcdc7a06d6") (:authors ("François-Xavier Bois ")) (:maintainer "François-Xavier Bois") (:keywords "cypher" "graph") (:url . "http://github.com/fxbois/cypher-mode"))]) - (cython-mode . [(20211111 1407) nil "Major mode for editing Cython files" single ((:commit . "d48d0a038e2838d3bd2981e2687557a86936076b"))]) + (cython-mode . [(20211111 1407) nil "Major mode for editing Cython files" single ((:commit . "8afd932c28d08428d45bba03d6b642093e4c973b"))]) (czech-holidays . [(20160113 1752) nil "Adds a list of Czech public holidays to Emacs calendar" single ((:commit . "d136fa09a152b3cd80db6d55c7b4ddfe07b90fbf") (:authors ("David Chkhikvadze" . "david.chk@outlook.com")) (:maintainer "David Chkhikvadze" . "david.chk@outlook.com") (:keywords "calendar"))]) - (d-mode . [(20210119 1853) ((emacs (25 1))) "D Programming Language major mode for (X)Emacs" single ((:commit . "199743df55c6bfce3cdb08405bd8519768c8dfa9") (:authors ("William Baxter")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:keywords "d" "programming" "language" "emacs" "cc-mode"))]) + (d-mode . [(20220601 1949) ((emacs (25 1))) "D Programming Language major mode for (X)Emacs" single ((:commit . "024aca97d07e72bf3500fb6bf0cdf50c4992a741") (:authors ("William Baxter")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:keywords "d" "programming" "language" "emacs" "cc-mode"))]) (dactyl-mode . [(20140906 1725) nil "Major mode for editing Pentadactyl config files" single ((:commit . "cc55fe6b987271d9647492b8df4c812d884f661f") (:keywords "languages" "vim") (:url . "https://github.com/luxbock/dactyl-mode"))]) (dad-joke . [(20170928 658) ((emacs (24))) "Get/display dad jokes" single ((:commit . "bee47e7b746b403228fa7d7361cb095de19ac9ba") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "games") (:url . "https://github.com/davep/dad-joke.el"))]) (daemons . [(20211214 1251) ((emacs (25 1))) "UI for managing init system daemons (services)" tar ((:commit . "e18e84ccc13101f1609c213029cf011ae0ad1178") (:authors ("Chris Bowdon")) (:maintainer "Chris Bowdon") (:keywords "unix" "convenience") (:url . "https://github.com/cbowdon/daemons.el"))]) (dakrone-light-theme . [(20170808 2140) nil "dakrone's custom light theme" single ((:commit . "06f198dc8b4ca7421990b30a23d89c8e0b8c5de4") (:authors ("Lee Hinman ")) (:maintainer "Lee Hinman ") (:keywords "color" "themes" "faces") (:url . "https://github.com/dakrone/dakrone-light-theme"))]) (dakrone-theme . [(20170801 1933) nil "dakrone's custom dark theme" single ((:commit . "232ad1be5f3572dcbdf528f1655109aa355a6937") (:authors ("Lee Hinman ")) (:maintainer "Lee Hinman ") (:keywords "color" "themes") (:url . "https://github.com/dakrone/dakrone-theme"))]) (danneskjold-theme . [(20220316 1101) nil "Beautiful high-contrast Emacs theme." tar ((:commit . "054c0b9bc9cefb53a4065096e66707d20885c461") (:authors ("Dmitry Akatov" . "akatovda@yandex.com")) (:maintainer "Dmitry Akatov" . "akatovda@yandex.com") (:url . "https://github.com/rails-to-cosmos/"))]) - (dante . [(20220423 1731) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (company (0 9)) (haskell-mode (13 14)) (s (1 11 0)) (lcr (1 0))) "Development mode for Haskell" single ((:commit . "81c67457ca72c9be7d90d037fcd306c1ca7c1f05") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:keywords "haskell" "tools") (:url . "https://github.com/jyp/dante"))]) - (dap-mode . [(20220422 1951) ((emacs (26 1)) (dash (2 18 0)) (lsp-mode (6 0)) (bui (1 1 0)) (f (0 20 0)) (s (1 12 0)) (lsp-treemacs (0 1)) (posframe (0 7 0)) (ht (2 3))) "Debug Adapter Protocol mode" tar ((:commit . "944fb95542fc57d9a533c4de442817e11cea8a11") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "languages" "debug") (:url . "https://github.com/emacs-lsp/dap-mode"))]) + (dante . [(20220429 1454) ((dash (2 12 0)) (emacs (25 1)) (f (0 19 0)) (flycheck (0 30)) (company (0 9)) (haskell-mode (13 14)) (s (1 11 0)) (lcr (1 0))) "Development mode for Haskell" single ((:commit . "b81081c2eb8dcbd7e67e05cf5e1991df6cf3e57c") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:keywords "haskell" "tools") (:url . "https://github.com/jyp/dante"))]) + (dap-mode . [(20220802 617) ((emacs (26 1)) (dash (2 18 0)) (lsp-mode (6 0)) (bui (1 1 0)) (f (0 20 0)) (s (1 12 0)) (lsp-treemacs (0 1)) (posframe (0 7 0)) (ht (2 3)) (lsp-docker (1 0 0))) "Debug Adapter Protocol mode" tar ((:commit . "e2a37cc0a4ec2da858022badd33ccc086b283075") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "languages" "debug") (:url . "https://github.com/emacs-lsp/dap-mode"))]) (darcsum . [(20190316 2215) nil "a pcl-cvs like interface for managing darcs patches" single ((:commit . "6a8b690539d133c5e3d17cb23fe4365fbb6fb493") (:authors ("John Wiegley" . "johnw@gnu.org")) (:maintainer "John Wiegley" . "johnw@gnu.org") (:keywords "completion" "convenience" "tools" "vc"))]) (darcula-theme . [(20171227 1845) nil "Inspired by IntelliJ's Darcula theme" single ((:commit . "d9b82b58ded9014985be6658f4ab17e26ed9e93e") (:authors ("Sam Halliday" . "Sam.Halliday@gmail.com")) (:maintainer "Sam Halliday" . "Sam.Halliday@gmail.com") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-darcula-theme"))]) (dark-krystal-theme . [(20170808 1300) ((emacs (24 0))) "an Emacs 24 theme based on Dark Krystal (tmTheme)" single ((:commit . "79084b99665dc9ffb0ec62cc092349a5ecebebbc") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) @@ -827,40 +842,40 @@ (darktooth-theme . [(20201215 822) ((autothemer (0 2))) "From the darkness... it watches" single ((:commit . "ec03b30ee7f43f89ca4c382bb3fe4ee560c028a8") (:url . "http://github.com/emacsfodder/emacs-theme-darktooth"))]) (dart-mode . [(20220401 0) ((emacs (24 3))) "Major mode for editing Dart files" single ((:commit . "9c846769abd37f7fdc7ba8388d1f3a2b844b75e3") (:authors ("https://github.com/bradyt/dart-mode/issues")) (:maintainer "https://github.com/bradyt/dart-mode/issues") (:keywords "languages") (:url . "https://github.com/bradyt/dart-mode"))]) (dart-server . [(20210501 1445) ((emacs (24 5)) (cl-lib (0 5)) (dash (2 10 0)) (flycheck (0 23)) (s (1 10))) "Minor mode for editing Dart files" single ((:commit . "75562baf9a89b7e314bc2f795f6ecdc5d1f2cc8c") (:authors ("Natalie Weizenbaum") ("Brady Trainor" . "mail@bradyt.com")) (:maintainer "Brady Trainor" . "mail@bradyt.com") (:keywords "languages") (:url . "https://github.com/bradyt/dart-server"))]) - (dash . [(20220417 2250) ((emacs (24))) "A modern list library for Emacs" tar ((:commit . "7fd71338dce041b352f84e7939f6966f4d379459") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "extensions" "lisp") (:url . "https://github.com/magnars/dash.el"))]) + (dash . [(20220608 1931) ((emacs (24))) "A modern list library for Emacs" tar ((:commit . "0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "extensions" "lisp") (:url . "https://github.com/magnars/dash.el"))]) (dash-alfred . [(20191024 450) ((emacs (25 1))) "Search Dash documentation via Dash-Alfred-Workflow" single ((:commit . "fcd21bd6c7eb5cd31377be970406ff3d2454bd5c") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "docs") (:url . "https://github.com/xuchunyang/dash-alfred.el"))]) (dash-at-point . [(20211023 104) nil "Search the word at point with Dash" single ((:commit . "fba1a6f42ea51d05110e12c62bdced664059eb55") (:authors ("Shinji Tanaka" . "shinji.tanaka@gmail.com")) (:maintainer "Shinji Tanaka" . "shinji.tanaka@gmail.com") (:url . "https://github.com/stanaka/dash-at-point"))]) (dash-docs . [(20210830 926) ((emacs (24 4)) (cl-lib (0 5)) (async (1 9 3))) "Offline documentation browser using Dash docsets." tar ((:commit . "29848b6b347ac520f7646c200ed2ec36cea3feda") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com") ("Bryan Gilbert" . "bryan@bryan.sh")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:keywords "docs") (:url . "http://github.com/areina/helm-dash"))]) - (dash-functional . [(20210210 1449) ((dash (2 18 0))) "Collection of useful combinators for Emacs Lisp" single ((:commit . "7fd71338dce041b352f84e7939f6966f4d379459") (:authors ("Matus Goljer" . "matus.goljer@gmail.com") ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "extensions" "lisp") (:url . "https://github.com/magnars/dash.el"))]) - (dashboard . [(20220409 620) ((emacs (26 1))) "A startup screen extracted from Spacemacs" tar ((:commit . "09290bf700cc269ad3c07d9518cd758b90971fcd") (:authors ("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com")) (:maintainer "Jesús Martínez" . "jesusmartinez93@gmail.com") (:keywords "startup" "screen" "tools" "dashboard") (:url . "https://github.com/emacs-dashboard/emacs-dashboard"))]) - (dashboard-hackernews . [(20190109 205) ((emacs (24)) (dashboard (1 2 5)) (request (0 3 0))) "Display Hacker News on dashboard" single ((:commit . "b71814716d8f78181b9d1990f06072460de0797e") (:authors ("Hayato KAJIYAMA" . "kaji1216@gmail.com")) (:maintainer "Hayato KAJIYAMA" . "kaji1216@gmail.com") (:url . "https://github.com/hyakt/emacs-dashboard-hackernews"))]) - (dashboard-ls . [(20220326 628) ((emacs (24 3)) (dashboard (1 2 5))) "Display files/directories in current directory on Dashboard" single ((:commit . "d8c435ac251ec6493da10882cb161c0e9df03b91") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-dashboard/dashboard-ls"))]) + (dash-functional . [(20210210 1449) ((dash (2 18 0))) "Collection of useful combinators for Emacs Lisp" single ((:commit . "0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341") (:authors ("Matus Goljer" . "matus.goljer@gmail.com") ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "extensions" "lisp") (:url . "https://github.com/magnars/dash.el"))]) + (dashboard . [(20220717 905) ((emacs (26 1))) "A startup screen extracted from Spacemacs" tar ((:commit . "36c8da41bca977707c42bd9b13cdf39380b957d7") (:authors ("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com")) (:maintainer "Jesús Martínez" . "jesusmartinez93@gmail.com") (:keywords "startup" "screen" "tools" "dashboard") (:url . "https://github.com/emacs-dashboard/emacs-dashboard"))]) + (dashboard-hackernews . [(20220516 1809) ((emacs (24)) (dashboard (1 2 5)) (request (0 3 0))) "Display Hacker News on dashboard" single ((:commit . "dd5f8ec998d7b7bf162b4eb72474b683b8aa0a14") (:authors ("Hayato KAJIYAMA" . "kaji1216@gmail.com")) (:maintainer "Hayato KAJIYAMA" . "kaji1216@gmail.com") (:url . "https://github.com/hyakt/emacs-dashboard-hackernews"))]) + (dashboard-ls . [(20220704 633) ((emacs (24 3)) (dashboard (1 2 5))) "Display files/directories in current directory on Dashboard" single ((:commit . "62cc1aa84c9f5a6657fcd5032574a7670eac5aa0") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "directory" "file" "show") (:url . "https://github.com/emacs-dashboard/dashboard-ls"))]) (dashboard-project-status . [(20190202 1354) ((emacs (24)) (git (0 1 1)) (dashboard (1 2 5))) "Display a git project status in a dashboard widget." single ((:commit . "7675c138e9df8fe2c626e7ba9bbb8b6717671a41") (:authors ("Jason Duncan" . "jasond496@msn.com")) (:maintainer "Jason Duncan" . "jasond496@msn.com") (:url . "https://github.com/functionreturnfunction/dashboard-project-status"))]) (date-at-point . [(20150308 1243) nil "Add `date' to `thing-at-point' function" single ((:commit . "38df823d05df08ec0748a4185113fae5f99090e9") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/date-at-point.el"))]) (date-field . [(20141129 105) ((dash (2 9 0)) (log4e (0 2 0)) (yaxception (0 3 2))) "Date widget" single ((:commit . "11c9170d1f7b343233f7716d4c0a62be024c1654") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "widgets") (:url . "https://github.com/aki2o/emacs-date-field"))]) (date2name . [(20190630 933) ((emacs (24 4))) "Package to prepend ISO Timestamps to files" single ((:commit . "386dbe73678705d6107cd5c9bdeb4f7c97632360") (:authors ("Max Beutelspacher")) (:maintainer "Max Beutelspacher") (:keywords "files" "convenience") (:url . "https://github.com/DerBeutlin/date2name.el"))]) - (datetime . [(20211016 1656) ((emacs (24 4)) (extmap (1 1 1))) "Parsing, formatting and matching timestamps" tar ((:commit . "77dc214d9ae853c7206ae95cc92d720445c1eeb4") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "lisp" "i18n") (:url . "https://github.com/doublep/datetime"))]) + (datetime . [(20220629 1806) ((emacs (24 4)) (extmap (1 1 1))) "Parsing, formatting and matching timestamps" tar ((:commit . "2951fc53ebf9a2037c5479519585a1afd3286269") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "lisp" "i18n") (:url . "https://github.com/doublep/datetime"))]) (datetime-format . [(20160612 1715) nil "Datetime functions" single ((:commit . "e6427538b547cbe02e1bd6ed4b765c73620bdae8") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "datetime" "calendar") (:url . "https://github.com/zonuexe/emacs-datetime"))]) (datomic-snippets . [(20180817 1045) ((s (1 4 0)) (dash (1 2 0)) (yasnippet (0 6 1))) "Yasnippets for Datomic" tar ((:commit . "4a14228840d5252e13d2bf6209670f26345bbb84") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "snippets"))]) (dayone . [(20160105 1240) ((uuid (0 0 3)) (mustache (0 22)) (ht (1 5))) "Utility script for Day One" tar ((:commit . "ab628274f0806451f23bce16f62a6a11cbf91a2b") (:authors ("mori-dev" . "mori.dev.asdf@gmail.com")) (:maintainer "mori-dev" . "mori.dev.asdf@gmail.com") (:keywords "day one" "tools" "convenience") (:url . "https://github.com/mori-dev/emacs-dayone"))]) (db . [(20140421 2111) ((kv (0 0 11))) "A database for EmacsLisp" single ((:commit . "b3a423fb8e72f9013009cbe033d654df2ce31438") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "data" "lisp"))]) (db-pg . [(20130131 1902) ((pg (0 12)) (db (0 0 6))) "A PostgreSQL adapter for emacs-db" single ((:commit . "7d5ab86b74b05fe003b3b434d4835f37f3f3eded") (:authors ("Nic Ferrier" . "nic@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nic@ferrier.me.uk") (:keywords "data" "comm" "database" "postgresql"))]) (dbc . [(20201001 1452) ((emacs (24 4)) (cl-lib (0 5)) (ht (2 3))) "Control how to open buffers" single ((:commit . "6728e72f72347d098b7d75ac4c29a7d687cc9ed3") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:keywords "convenience") (:url . "https://gitlab.com/matsievskiysv/display-buffer-control"))]) - (ddskk . [(20220305 522) ((ccc (1 43)) (cdb (20141201 754))) "Simple Kana to Kanji conversion program." tar ((:commit . "5c209e0306364118abf9d9440d7b8b9613183072"))]) + (ddskk . [(20220803 1302) ((ccc (1 43)) (cdb (20141201 754))) "Simple Kana to Kanji conversion program." tar ((:commit . "3ed86d42717ab2a54ec8de6ab32d552dc0a4c3b0"))]) (ddskk-posframe . [(20200812 917) ((emacs (26 1)) (posframe (0 4 3)) (ddskk (16 2 50))) "Show Henkan tooltip for ddskk via posframe" single ((:commit . "299493dd951e5a0b43b8213321e3dc0bac10f762") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tooltip" "convenience" "posframe") (:url . "https://github.com/conao3/ddskk-posframe.el"))]) - (deadgrep . [(20220418 741) ((emacs (25 1)) (dash (2 12 0)) (s (1 11 0)) (spinner (1 7 3))) "fast, friendly searching with ripgrep" single ((:commit . "bd5d00be3637dcd9e0b14966b87e3d8151710db0") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "tools") (:url . "https://github.com/Wilfred/deadgrep"))]) + (deadgrep . [(20220704 1714) ((emacs (25 1)) (dash (2 12 0)) (s (1 11 0)) (spinner (1 7 3))) "fast, friendly searching with ripgrep" single ((:commit . "0c57d113aa6840bec073b3432ed62b382f20acc6") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "tools") (:url . "https://github.com/Wilfred/deadgrep"))]) (debian-el . [(20211006 1939) nil "Emacs helpers specific to Debian users" tar ((:commit . "a3ef20c269b9192710567571b20718f572942bc4"))]) (debpaste . [(20160113 2347) ((xml-rpc (1 6 7))) "Interface for getting/posting/deleting pastes from paste.debian.net" single ((:commit . "6f2a400665062468ebd03a2ce1de2a73d9084958") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "paste") (:url . "http://github.com/alezost/debpaste.el"))]) (debug-print . [(20140126 19) ((emacs (24))) "A nice printf debugging environment by the way Gauche do" single ((:commit . "d817fd9ea2d3f8d2c1ace4d8af155684f3a99dc5") (:authors ("Ken Okada" . "keno.ss57@gmail.com")) (:maintainer "Ken Okada" . "keno.ss57@gmail.com") (:keywords "extensions" "lisp" "tools" "maint") (:url . "https://github.com/kenoss/debug-print"))]) - (decide . [(20220319 1927) nil "rolling dice and other random things" single ((:commit . "b4feee9d5ad32c7b73ab3e1da5cfcdab532754c2") (:authors ("Pelle Nilsson" . "perni@lysator.liu.se")) (:maintainer "Pelle Nilsson" . "perni@lysator.liu.se"))]) + (decide . [(20220718 1352) nil "rolling dice and other random things" single ((:commit . "cc67cd24791accd17a2656512d863e24ca3fd578") (:authors ("Pelle Nilsson" . "perni@lysator.liu.se")) (:maintainer "Pelle Nilsson" . "perni@lysator.liu.se"))]) (decl . [(20220102 1310) ((dash (2 5 0)) (emacs (24 3)) (cl-lib (0 3))) "Library for organizing code declaratively" single ((:commit . "9e6e2395e1f739e390697c35a9af99452642869e") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/decl.el"))]) (declutter . [(20220310 2101) ((emacs (25 1))) "Read html content and (some) paywall sites without clutter" single ((:commit . "8ac50a64dc3a12440d98bc1556b5c7727fdf51ed") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:keywords "html" "hypermedia" "terminals") (:url . "http://www.github.com/sanel/declutter"))]) (dedicated . [(20151202 110) nil "A very simple minor mode for dedicated buffers" single ((:commit . "f47b504c0c56fa5ab9d1028417ca1f65a713a2f0") (:authors ("Eric Crampton" . "eric@atdesk.com")) (:maintainer "Eric Crampton" . "eric@atdesk.com") (:keywords "dedicated" "buffer"))]) (dedukti-mode . [(20171103 1212) nil "Major mode for Dedukti files" single ((:commit . "d7c3505a1046187de3c3aeb144455078d514594e") (:authors ("Raphaël Cauderlier")) (:maintainer "Raphaël Cauderlier") (:keywords "languages" "dedukti") (:url . "https://github.com/rafoo/dedukti-mode"))]) - (default-font-presets . [(20220214 2326) ((emacs (26 1))) "Support selecting fonts from a list of presets" single ((:commit . "1727055b59e21e91a5b72356968232e31a92f743") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-default-font-presets"))]) + (default-font-presets . [(20220731 2219) ((emacs (26 1))) "Support selecting fonts from a list of presets" single ((:commit . "80380aa053c78b7126275e269e80d8988ba3f1e3") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-default-font-presets"))]) (default-text-scale . [(20191226 2234) ((emacs (24))) "Easily adjust the font size in all frames" single ((:commit . "bfc0987c37e93742255d3b23d86c17096fda8e7e") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "frames" "faces") (:url . "https://github.com/purcell/default-text-scale"))]) (deferred . [(20170901 1330) ((emacs (24 4))) "Simple asynchronous functions for emacs lisp" single ((:commit . "2239671d94b38d92e9b28d4e12fd79814cfb9c16") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "deferred" "async") (:url . "https://github.com/kiwanami/emacs-deferred"))]) - (define-it . [(20220414 932) ((emacs (25 1)) (s (1 12 0)) (request (0 3 0)) (popup (0 5 3)) (pos-tip (0 4 6)) (posframe (1 1 7)) (google-translate (0 11 18)) (wiki-summary (0 1))) "Define, translate, wiki the word" single ((:commit . "73b85b9712725d4908b83e0b9a806e4a587fbff0") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/define-it"))]) + (define-it . [(20220713 744) ((emacs (25 1)) (s (1 12 0)) (popup (0 5 3)) (pos-tip (0 4 6)) (posframe (1 1 7)) (define-word (0 1 0)) (google-translate (0 11 18)) (wiki-summary (0 1))) "Define, translate, wiki the word" single ((:commit . "de026f399d5b7fa9286f7733b2e3416c6f234372") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "dictionary" "explanation" "search" "wiki") (:url . "https://github.com/jcs-elpa/define-it"))]) (define-word . [(20220104 1848) ((emacs (24 3))) "display the definition of word at point." single ((:commit . "31a8c67405afa99d0e25e7c86a4ee7ef84a808fe") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "dictionary" "convenience") (:url . "https://github.com/abo-abo/define-word"))]) (defproject . [(20151201 2219) ((emacs (24))) "Manager dir-locals and project specific variables" single ((:commit . "674d48a5e34cb4bba76faa38ee901322ec649086") (:authors (nil . "")) (:maintainer nil . "") (:keywords "convenience") (:url . "https://github.com/kotfic/defproject"))]) (defrepeater . [(20180830 410) ((emacs (25 2)) (s (1 12 0))) "Easily make commands repeatable" single ((:commit . "9c027a2561fe141dcfb79f75fcaee36cd0386ec1") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "http://github.com/alphapapa/defrepeater.el"))]) @@ -873,27 +888,28 @@ (describe-hash . [(20200718 1556) nil "Help function for examining a hash map" single ((:commit . "18e69a932d5495c8439571ba8f2d2ee123d434b1") (:url . "https://github.com/Junker/describe-hash"))]) (describe-number . [(20151101 55) ((yabin (1 1))) "Describe arbitrarily large number at point." single ((:commit . "40618345a37831804b29589849a785ef5aa5ac24") (:authors ("Morten Slot Kristensen ")) (:maintainer "Morten Slot Kristensen ") (:keywords "describe" "value" "help") (:url . "https://github.com/netromdk/describe-number"))]) (desktop+ . [(20170107 2132) ((emacs (24 4)) (dash (2 11 0)) (f (0 17 2))) "Handle special buffers when saving & restoring sessions" single ((:commit . "88055cee526a000056201898499cebbd35e3ea76") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/desktop-plus"))]) - (desktop-environment . [(20220424 805) ((emacs (25 1))) "Helps you control your GNU/Linux computer" single ((:commit . "c4b7680861cb47c4f9d020b13c82dc57c9304893") (:authors ("Damien Cassou , Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Damien Cassou , Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) + (desktop-environment . [(20220425 1834) ((emacs (25 1))) "Helps you control your GNU/Linux computer" single ((:commit . "2863dc3d66aed9052c8af39cc8c8c264be300560") (:authors ("Damien Cassou , Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Damien Cassou , Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (desktop-mail-user-agent . [(20210519 1008) ((emacs (24 3))) "Call OS default mail program to compose mail" single ((:commit . "caac672ef7e4ddced960fa31cef3a6ba5d7ab451") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "mail") (:url . "https://github.com/lassik/emacs-desktop-mail-user-agent"))]) (desktop-registry . [(20140119 2143) nil "Keep a central registry of desktop files" single ((:commit . "244c2e7f9f0a1050aa8a47ad0b38f4e4584682dd") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:keywords "convenience") (:url . "http://projects.ryuslash.org/desktop-registry/"))]) + (detached . [(20220718 1501) ((emacs (27 1))) "A package to launch, and manage, detached processes" tar ((:commit . "d8e657cc569da2ad0f1916aa0b5dbc444f0675ff") (:authors ("Niklas Eklund" . "niklas.eklund@posteo.net")) (:maintainer "Niklas Eklund" . "niklas.eklund@posteo.net") (:keywords "convenience" "processes") (:url . "https://sr.ht/~niklaseklund/detached.el/"))]) (detour . [(20181122 2138) ((emacs (24 4))) "Take a quick detour and return" single ((:commit . "1ff23c236e18971ed1077840daf047cde79a45ee") (:authors ("Stefan Kamphausen ")) (:maintainer "Stefan Kamphausen ") (:keywords "convenience" "abbrev") (:url . "https://github.com/ska2342/detour/"))]) - (devdocs . [(20220410 1627) ((emacs (27 1))) "Emacs viewer for DevDocs" single ((:commit . "4257e59dafbffb2616d240f84c5c25770ee28cac") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "help") (:url . "https://github.com/astoff/devdocs.el"))]) + (devdocs . [(20220729 923) ((emacs (27 1))) "Emacs viewer for DevDocs" single ((:commit . "60099be5fc5c90d5adc2795b3bfacb492a0adb88") (:authors ("Augusto Stoffel" . "arstoffel@gmail.com")) (:maintainer "Augusto Stoffel" . "arstoffel@gmail.com") (:keywords "help") (:url . "https://github.com/astoff/devdocs.el"))]) (devdocs-browser . [(20211218 949) ((emacs (27 1))) "Browse devdocs.io documents using EWW" single ((:commit . "a46a2cdb83ed27869befe56fea04914a33252b3a") (:authors ("blahgeek" . "i@blahgeek.com")) (:maintainer "blahgeek" . "i@blahgeek.com") (:keywords "docs" "help" "tools") (:url . "https://github.com/blahgeek/emacs-devdocs-browser"))]) (dfmt . [(20170728 1023) nil "Emacs Interface to D indenting/formatting tool dfmt." single ((:commit . "21b9094e907b7ac53f5ecb4ff4539613a9d12434") (:authors ("Per Nordlöw")) (:maintainer "Kirill Babikhin ") (:keywords "tools" "convenience" "languages" "dlang") (:url . "https://github.com/qsimpleq/elisp-dfmt"))]) - (dhall-mode . [(20200822 258) ((emacs (24 4)) (reformatter (0 3))) "Major mode for the dhall configuration language" single ((:commit . "ad259c8a2292fb398dff1ce7d25c686edb02945d") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:keywords "languages") (:url . "https://github.com/psibi/dhall-mode"))]) + (dhall-mode . [(20220519 1115) ((emacs (24 4)) (reformatter (0 3))) "Major mode for the dhall configuration language" single ((:commit . "c77f1c1e75b6d2725019c5275fc102ae98d25628") (:authors ("Sibi Prabakaran" . "sibi@psibi.in")) (:maintainer "Sibi Prabakaran" . "sibi@psibi.in") (:keywords "languages") (:url . "https://github.com/psibi/dhall-mode"))]) (dianyou . [(20210525 1517) ((emacs (24 4))) "Search and analyze mails in Gnus" single ((:commit . "f77d9e76be5d8022fa6ee5426144f13f38dd09f2") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "mail") (:url . "http://github.com/redguardtoo/dianyou"))]) - (diary-manager . [(20210404 1821) ((emacs (25))) "Simple personal diary" single ((:commit . "0fa122be62dd296cefe23bcf5074cc6159bd9868") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/diary-manager"))]) + (diary-manager . [(20220508 128) ((emacs (25))) "Simple personal diary" single ((:commit . "c538504e606208fa902d040e54188072df6193d0") (:authors ("Radian LLC" . "contact+diary-manager@radian.codes")) (:maintainer "Radian LLC" . "contact+diary-manager@radian.codes") (:keywords "extensions") (:url . "https://github.com/radian-software/diary-manager"))]) (dic-lookup-w3m . [(20180526 1621) ((w3m (20120723 324)) (stem (20120826))) "look up dictionaries on the Internet" tar ((:commit . "3254ab10cbf0078c7162557dd1f68dac28459cf9") (:authors ("mcprvmec")) (:maintainer "mcprvmec") (:keywords "emacs-w3m" "w3m" "dictionary"))]) (dictcc . [(20220219 1302) ((emacs (24 4)) (cl-lib (0 5)) (ivy (0 10 0))) "Look up translations on dict.cc" single ((:commit . "8ecb954fcf193cba138191f8947c8b0b60a1c6c5") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com") (:keywords "convenience"))]) (dictionary . [(20201001 1727) ((connection (1 11)) (link (1 11))) "Client for rfc2229 dictionary servers" single ((:commit . "bdf0aa7761d1c1a3bc0652b2fdc4a54b3acdb06a") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net") (:keywords "interface" "dictionary"))]) (didyoumean . [(20200905 1843) ((emacs (24 4))) "Did you mean to open another file?" single ((:commit . "ce5edcce160b86e7f6480f0381be785d43f97e19") (:keywords "convenience") (:url . "https://gitlab.com/kisaragi-hiu/didyoumean.el"))]) - (diff-ansi . [(20220422 647) ((emacs (27 1))) "Display diff's using alternative diffing tools" single ((:commit . "f47e62503d77dbcadb36e9d3d0ede9242536fa89") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-diff-ansi"))]) - (diff-at-point . [(20220211 548) ((emacs (26 2))) "Diff navigation" single ((:commit . "819da8d75762e1fb1a975d78c2b4666506048485") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-diff-at-point"))]) - (diff-hl . [(20220405 2359) ((cl-lib (0 2)) (emacs (25 1))) "Highlight uncommitted changes using VC" tar ((:commit . "9d5dc2ffa1e4c7b43734b03dccb5ae6a80800569") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:keywords "vc" "diff") (:url . "https://github.com/dgutov/diff-hl"))]) + (diff-ansi . [(20220731 2329) ((emacs (27 1))) "Display diff's using alternative diffing tools" single ((:commit . "c4f350da4302cd7d33343d83d5faaeae6795768f") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-diff-ansi"))]) + (diff-at-point . [(20220708 211) ((emacs (26 2))) "Diff navigation" single ((:commit . "b32a741d5967b38749039ceafec85062a45e6bcd") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-diff-at-point"))]) + (diff-hl . [(20220620 1309) ((cl-lib (0 2)) (emacs (25 1))) "Highlight uncommitted changes using VC" tar ((:commit . "dabb7be6283488abd8d232ea8ce590d502713ed8") (:authors ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:keywords "vc" "diff") (:url . "https://github.com/dgutov/diff-hl"))]) (difflib . [(20210224 2242) ((emacs (24 4)) (cl-generic (0 3)) (ht (2 2)) (s (1 12 0))) "Helpers for computing deltas between sequences." single ((:commit . "646fc4388274fe765bbf4661e17a24e4d081250c") (:authors ("Diego A. Mundo" . "dieggsy@pm.me")) (:maintainer "Diego A. Mundo" . "dieggsy@pm.me") (:keywords "matching" "tools" "string") (:url . "http://github.com/dieggsy/difflib.el"))]) (diffpdf . [(20210626 1447) ((emacs (25 1)) (transient (0 3 0))) "Transient diffpdf" single ((:commit . "a5b203b549e373cb9b0ef3f00c0010bd34dd644a") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/diffpdf.el"))]) (diffscuss-mode . [(20141014 2357) nil "Major mode for diffscuss files." single ((:commit . "53f2d001bd3a5cb80c6ada16b4e570afd1989a09") (:authors ("Edmund Jorgensen" . "edmund@hut8labs.com")) (:maintainer "Edmund Jorgensen" . "edmund@hut8labs.com") (:keywords "tools"))]) - (diffsync . [(20220408 1341) ((emacs (25 1))) "Use diff to allow syncing of directories" single ((:commit . "32a3e64bec16b34c3df4dc41d3df09a2ca2dc63f") (:authors ("Bernhard Rotter" . "bernhard@b-rotter.de")) (:maintainer "Bernhard Rotter" . "bernhard@b-rotter.de") (:keywords "tools") (:url . "https://github.com/ber-ro/diffsync"))]) + (diffsync . [(20220502 1513) ((emacs (25 1))) "Use diff to allow syncing of directories" single ((:commit . "3f8540ef0a677ea8c2b57aaf4a07937512bb148c") (:authors ("Bernhard Rotter" . "bernhard@b-rotter.de")) (:maintainer "Bernhard Rotter" . "bernhard@b-rotter.de") (:keywords "tools") (:url . "https://github.com/ber-ro/diffsync"))]) (diffview . [(20220322 2334) nil "View diffs in side-by-side format" single ((:commit . "af2251a01f532efa819d236802cb3d942befe5a1") (:authors ("Mitchel Humpherys" . "mitch.special@gmail.com")) (:maintainer "Mitchel Humpherys" . "mitch.special@gmail.com") (:keywords "convenience" "diff") (:url . "https://github.com/mgalgs/diffview-mode"))]) (digistar-mode . [(20210129 1719) nil "major mode for Digistar scripts" single ((:commit . "e12b128023b7696a23545f812877e8c6531d261c") (:authors ("John Foerch" . "jjfoerch@gmail.com")) (:maintainer "John Foerch" . "jjfoerch@gmail.com") (:keywords "languages"))]) (digit-groups . [(20200506 37) ((dash (2 11 0))) "Highlight place-value positions in numbers" single ((:commit . "7b81930cad19b8b7913b7eedbcb498964bfdcbdb") (:authors ("Michael D. Adams ")) (:maintainer "Michael D. Adams ") (:url . "https://github.com/adamsmd/digit-groups/"))]) @@ -901,17 +917,18 @@ (digitalocean-helm . [(20180610 746) ((emacs (24 3)) (helm (2 5)) (digitalocean (0 1))) "Create and manipulate digitalocean droplets" single ((:commit . "b125c9882eded7d73ec109d152b26625f333440b") (:authors ("Oliver Marks" . "oly@digitaloctave.com")) (:maintainer "Oliver Marks" . "oly@digitaloctave.com") (:keywords "processes" "tools") (:url . "https://gitlab.com/olymk2/digitalocean-api"))]) (dilbert . [(20211118 1512) ((emacs (26 1)) (enlive (0 0 1)) (dash (2 19 1))) "View Dilbert comics" single ((:commit . "3e9a39717490be4d5c14211a47fcd8588ef668af") (:authors ("Daniils Petrovs" . "thedanpetrov@gmail.com")) (:maintainer "Daniils Petrovs" . "thedanpetrov@gmail.com") (:keywords "multimedia" "news") (:url . "https://github.com/DaniruKun/dilbert-el"))]) (dim . [(20160818 949) ((emacs (24 4))) "Change mode-line names of major/minor modes" single ((:commit . "5515f2e8657ef14adcc34aa5b05383a2684328ae") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/dim.el"))]) - (dim-autoload . [(20220422 1601) ((emacs (25 1)) (compat (28 1 1 0))) "Dim or hide autoload cookie lines" single ((:commit . "09073e6bfd21f3a7f8fcf1e2e7c49994cdee7d2a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/dim-autoload"))]) + (dim-autoload . [(20220422 1601) ((emacs (25 1)) (compat (28 1 1 0))) "Dim or hide autoload cookie lines" single ((:commit . "81c94b0707d5ddd9a3b9962ee441206db1d25967") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/dim-autoload"))]) (dime . [(20210329 604) ((emacs (25 1)) (dylan (3 0))) "Dylan interaction mode" tar ((:commit . "9d2891e3e06405b75072d296f385fa795aeb9835") (:url . "https://opendylan.org/"))]) (diminish . [(20220104 1539) ((emacs (24 3))) "Diminished modes are minor modes with no modeline display" single ((:commit . "6b7e837b0cf0129e9d7d6abae48093cf599bb9e8") (:authors ("Will Mengarini" . "seldon@eskimo.com")) (:maintainer "Martin Yrjölä" . "martin.yrjola@gmail.com") (:keywords "extensions" "diminish" "minor" "codeprose") (:url . "https://github.com/myrjola/diminish.el"))]) - (diminish-buffer . [(20220218 1541) ((emacs (24 4))) "Diminish (hide) buffers from buffer-menu" single ((:commit . "f1baeba448bbc321d35cd6f9d701903396fe5fbe") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/diminish-buffer"))]) + (diminish-buffer . [(20220704 648) ((emacs (24 4))) "Diminish (hide) buffers from buffer-menu" single ((:commit . "6521793eb1a33d56c78bb1e8e579cdeafd224ed7") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "diminish" "hide" "buffer" "menu") (:url . "https://github.com/jcs-elpa/diminish-buffer"))]) (dimmer . [(20211123 1536) ((emacs (25 1))) "Visually highlight the selected buffer" single ((:commit . "2f915b100044e09dd647b22085e1696249c4b115") (:authors ("Neil Okamoto")) (:maintainer "Neil Okamoto") (:keywords "faces" "editing") (:url . "https://github.com/gonewest818/dimmer.el"))]) (dionysos . [(20160810 1056) ((libmpdee (2 1 0)) (alert (1 2)) (s (1 11 0)) (dash (2 12 1)) (pkg-info (0 5 0)) (cl-lib (0 5))) "Dionysos, a music player for Emacs" tar ((:commit . "0aac21caadabc5a7f09e18a9dcb02f3dec26588b") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "music") (:url . "https://github.com/nlamirault/dionysos"))]) - (dir-treeview . [(20210625 2358) ((emacs (24 4)) (treeview (1 1 0))) "A directory tree browser and simple file manager" tar ((:commit . "c48b0e12eb02ae046cf6dc97fe006db31ded3f2b") (:authors ("Tilman Rassy" . "tilman.rassy@googlemail.com")) (:maintainer "Tilman Rassy" . "tilman.rassy@googlemail.com") (:keywords "tools" "convenience" "files") (:url . "https://github.com/tilmanrassy/emacs-dir-treeview"))]) + (dir-treeview . [(20220505 27) ((emacs (24 4)) (treeview (1 1 0))) "A directory tree browser and simple file manager" tar ((:commit . "fa0b795b36740755ec37f5b41c3a734ad702e5a1") (:authors ("Tilman Rassy" . "tilman.rassy@googlemail.com")) (:maintainer "Tilman Rassy" . "tilman.rassy@googlemail.com") (:keywords "tools" "convenience" "files") (:url . "https://github.com/tilmanrassy/emacs-dir-treeview"))]) (dircmp . [(20141204 1756) nil "Compare and sync directories." tar ((:commit . "558ee0b601c2de9d247612085aafe2926f56a09f") (:authors ("Matt McClure -- http://matthewlmcclure.com")) (:maintainer "Matt McClure -- http://matthewlmcclure.com") (:keywords "unix" "tools") (:url . "https://github.com/matthewlmcclure/dircmp-mode"))]) (dired-atool . [(20210719 404) ((emacs (24))) "Pack/unpack files with atool on dired." single ((:commit . "01416fd5961b901c50686c91cb59b3833adc831b") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:keywords "files") (:url . "https://github.com/HKey/dired-atool"))]) (dired-avfs . [(20161012 1104) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "AVFS support for dired" single ((:commit . "7c0ef09d57a80068a11edc74c3568e5ead5cc15a") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) (dired-collapse . [(20210403 1230) ((dash (2 10 0)) (f (0 19 0)) (dired-hacks-utils (0 0 1))) "Collapse unique nested paths in dired listing" single ((:commit . "7c0ef09d57a80068a11edc74c3568e5ead5cc15a") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) + (dired-duplicates . [(20220718 1341) ((emacs (27 1))) "Find duplicate files locally and remotely" single ((:commit . "94319f44f716e9b4b0e0d4f6067c0e028dc0072b") (:authors ("Harald Judt" . "h.judt@gmx.at")) (:maintainer "Harald Judt" . "h.judt@gmx.at") (:keywords "files") (:url . "https://codeberg.org/hjudt/dired-duplicates"))]) (dired-dups . [(20130527 2125) nil "Find duplicate files and display them in a dired buffer" single ((:commit . "694ad128c822c59348ced16c4a0c1356d43da47a") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "unix") (:url . "https://github.com/vapniks/dired-dups"))]) (dired-efap . [(20220421 1535) nil "Edit Filename At Point in a dired buffer" single ((:commit . "360b369cb19998c6730ee1debfbec3edb7f349a9") (:authors ("Juan-Leon Lahoz" . "juanleon1@gmail.com")) (:maintainer "Juan-Leon Lahoz" . "juanleon1@gmail.com") (:keywords "dired" "environment" "files" "renaming") (:url . "https://github.com/juan-leon/dired-efap"))]) (dired-explorer . [(20180607 221) ((cl-lib (0 5))) "minor-mode provides Explorer like select file at dired." single ((:commit . "3ade0a31b5340271d05e9bf443f2504960f6c6dd") (:maintainer "jidaikobo-shibata") (:keywords "dired" "explorer"))]) @@ -932,25 +949,25 @@ (dired-quick-sort . [(20201221 403) ((hydra (0 13 0)) (emacs (24))) "Persistent quick sorting of dired buffers in various ways." single ((:commit . "69b06f306a5fc2b38e707bae3ff1e35db2b39b6b") (:authors ("Hong Xu" . "hong@topbug.net")) (:maintainer "Hong Xu" . "hong@topbug.net") (:keywords "convenience" "files") (:url . "https://gitlab.com/xuhdev/dired-quick-sort#dired-quick-sort"))]) (dired-rainbow . [(20190722 1109) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Extended file highlighting according to its type" single ((:commit . "7c0ef09d57a80068a11edc74c3568e5ead5cc15a") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) (dired-ranger . [(20180401 2206) ((dash (2 7 0)) (dired-hacks-utils (0 0 1))) "Implementation of useful ranger features for dired" single ((:commit . "7c0ef09d57a80068a11edc74c3568e5ead5cc15a") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) - (dired-recent . [(20211004 1924) ((emacs (24))) "Dired visited paths history" single ((:commit . "a376f53e42fdca80c3286e8111578c65c64b0711") (:authors ("Wojciech Siewierski ")) (:maintainer "Wojciech Siewierski ") (:keywords "files") (:url . "https://github.com/vifon/dired-recent.el"))]) + (dired-recent . [(20211004 1924) ((emacs (24))) "Dired visited paths history" single ((:commit . "a0869778e252b97c568140bca366955f9391d885") (:authors ("Wojciech Siewierski ")) (:maintainer "Wojciech Siewierski ") (:keywords "files") (:url . "https://github.com/vifon/dired-recent.el"))]) (dired-rifle . [(20210316 1452) nil "Call rifle(1) from dired" single ((:commit . "cc1af692bbac651f5e5111d9ab1c0805989d65e5") (:authors ("Wojciech Siewierski ")) (:maintainer "Wojciech Siewierski ") (:keywords "files" "convenience") (:url . "https://github.com/vifon/dired-rifle.el"))]) (dired-rmjunk . [(20191007 1232) nil "A home directory cleanup utility for Dired." single ((:commit . "92af5fcc2bd0bc3826f4ce238a850e9a362533a4") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:keywords "files" "matching") (:url . "https://git.sr.ht/~jakob/dired-rmjunk"))]) - (dired-rsync . [(20220313 1533) ((s (1 12 0)) (dash (2 0 0)) (emacs (24))) "Allow rsync from dired buffers" tar ((:commit . "b327971d197e95e9b78e7ef92539bd4196a12797") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/dired-rsync"))]) - (dired-sidebar . [(20220413 753) ((emacs (25 1)) (dired-subtree (0 0 1))) "Tree browser leveraging dired" single ((:commit . "0521cdc53e4a7ae7ea4728e5ac9f69287528dc56") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "dired" "files" "tools") (:url . "https://github.com/jojojames/dired-sidebar"))]) - (dired-single . [(20211101 2319) nil "Reuse the current dired buffer to visit a directory" single ((:commit . "b254f9b7bfc96a5eab5760a56811f2872d2c590a") (:keywords "dired" "reuse" "buffer") (:url . "https://github.com/crocket/dired-single"))]) + (dired-rsync . [(20220729 1031) ((s (1 12 0)) (dash (2 0 0)) (emacs (24))) "Allow rsync from dired buffers" tar ((:commit . "4057a36440988769bff0a859c347a19973b3ae62") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/dired-rsync"))]) + (dired-sidebar . [(20220618 237) ((emacs (25 1)) (dired-subtree (0 0 1))) "Tree browser leveraging dired" single ((:commit . "f08bf15cb6cb3c44102731f50ffd812d8d68316c") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "dired" "files" "tools") (:url . "https://github.com/jojojames/dired-sidebar"))]) + (dired-single . [(20220726 137) nil "Reuse the current dired buffer to visit a directory" single ((:commit . "48532d747f0098280050721b5d016ec59c97c77c") (:keywords "dired" "reuse" "buffer") (:url . "https://github.com/crocket/dired-single"))]) (dired-subtree . [(20210105 1127) ((dash (2 5 0)) (dired-hacks-utils (0 0 1))) "Insert subdirectories in a tree-like fashion" single ((:commit . "7c0ef09d57a80068a11edc74c3568e5ead5cc15a") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "files"))]) (dired-toggle . [(20190616 303) nil "Show dired as sidebar and will not create new buffers when changing dir" single ((:commit . "7fe5fe35c63d1b0da14d6d6d52bdf6b2a5410ba7") (:authors ("Xu FaSheng ")) (:maintainer "Xu FaSheng") (:keywords "dired" "sidebar") (:url . "https://github.com/fasheng/dired-toggle"))]) (dired-toggle-sudo . [(20211216 102) nil "Browse directory with sudo privileges." single ((:commit . "9f86cdf858225b15c20affb97ed105e4109047bf") (:authors ("Sebastien Gross ")) (:maintainer "Sebastien Gross ") (:keywords "emacs" "dired"))]) (dired-view-data . [(20220129 339) ((emacs (26 1)) (ess (18 10 1)) (ess-view-data (1 0))) "View data from dired via ESS and R" single ((:commit . "96d4cb6569fd2be90a516dedd98263374bbc6ead") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/dired-view-data"))]) (diredc . [(20220113 332) ((emacs (26 1)) (key-assist (1 0))) "Extensions for dired" single ((:commit . "7ee68f6b1c87f8ab86cf23416472747e88860717") (:keywords "files") (:url . "https://github.com/Boruch-Baum/emacs-diredc"))]) - (diredfl . [(20220103 1744) ((emacs (24))) "Extra font lock rules for a more colourful dired" single ((:commit . "59f8e5bf5c2991aa54a471f61f14d77976db194a") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "faces") (:url . "https://github.com/purcell/diredfl"))]) + (diredfl . [(20220508 805) ((emacs (24))) "Extra font lock rules for a more colourful dired" single ((:commit . "62b559e1d6b69834a56a57eb1832ac6ad4d2e5d0") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "faces") (:url . "https://github.com/purcell/diredfl"))]) (diredful . [(20160529 2017) nil "colorful file names in dired buffers" single ((:commit . "ad328a15c5deffc1021af9b3f19a745dcd8f4415") (:authors ("Thamer Mahmoud" . "thamer.mahmoud@gmail.com")) (:maintainer "Thamer Mahmoud" . "thamer.mahmoud@gmail.com") (:keywords "dired" "colors" "extension" "widget") (:url . "https://github.com/thamer/diredful"))]) - (direnv . [(20220103 1342) ((emacs (25 1)) (dash (2 12 0))) "direnv integration" single ((:commit . "d71ceb415732c3b76a2948147fa3559622aceba2") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "direnv" "environment" "processes" "unix" "tools") (:url . "https://github.com/wbolster/emacs-direnv"))]) + (direnv . [(20220513 656) ((emacs (25 1)) (dash (2 12 0))) "direnv integration" single ((:commit . "416ed17efa93503b37eba196a14f967e0899bce4") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "direnv" "environment" "processes" "unix" "tools") (:url . "https://github.com/wbolster/emacs-direnv"))]) (direx . [(20170422 1327) nil "Simple Directory Explorer" tar ((:commit . "a79bfdb5980cf6ed7bfb3b41ddc471a7b6c0ede4") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:keywords "convenience"))]) (direx-grep . [(20140515 1506) ((direx (0 1 -3))) "Grep node of direx.el using incremental search like anything.el/helm.el" single ((:commit . "1109a512a80b2673a70b18b8568514049017faad") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "convenience") (:url . "https://github.com/aki2o/direx-grep"))]) (dirtree . [(20140129 832) ((tree-mode (1 1 1 1)) (windata (0))) "Directory tree views" single ((:commit . "ba55f1e716e386fdd37cb8e7f48616e405dc7251") (:authors ("Ye Wenbin" . "wenbinye@gmail.com")) (:maintainer "Ye Wenbin" . "wenbinye@gmail.com"))]) (dirtree-prosjekt . [(20140129 904) ((prosjekt (0 3)) (dirtree (0 1))) "dirtree integration for prosjekt." single ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/prosjekt"))]) - (dirvish . [(20220425 1522) ((emacs (27 1))) "A modern file manager based on dired mode" tar ((:commit . "3e0a414df35742799759f71915443226574fc961") (:authors ("Alex Lu ")) (:maintainer "Alex Lu ") (:keywords "files" "convenience") (:url . "https://github.com/alexluigit/dirvish"))]) + (dirvish . [(20220804 1521) ((emacs (27 1)) (transient (0 3 7))) "A modern file manager based on dired mode" tar ((:commit . "030457d148e7b32deffb5e0e92c0a03cf7e6657a") (:authors ("Alex Lu ")) (:maintainer "Alex Lu ") (:keywords "files" "convenience") (:url . "https://github.com/alexluigit/dirvish"))]) (disable-mouse . [(20210512 2114) ((emacs (24 1))) "Disable mouse commands globally" single ((:commit . "cae3be9dd012727b40ad3b511731191f79cebe42") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "mouse") (:url . "https://github.com/purcell/disable-mouse"))]) (disaster . [(20171016 2152) nil "Disassemble C/C++ code under cursor in Emacs" single ((:commit . "10a785facc60d89d78e0d5177985ab1af1741bb4") (:authors ("Justine Tunney" . "jtunney@gmail.com")) (:maintainer "Justine Tunney" . "jtunney@gmail.com") (:keywords "tools") (:url . "https://github.com/jart/disaster"))]) (discourse . [(20160911 819) ((cl-lib (0 5)) (request (0 2)) (s (1 11 0))) "discourse api" single ((:commit . "a86c7e608851e186fe12e892a573994f08c8e65e") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "lisp" "discourse") (:url . "https://github.com/lujun9972/discourse-api"))]) @@ -984,27 +1001,27 @@ (dmacro . [(20200803 633) ((emacs (24 1)) (cl-lib (0 6))) "Repeated detection and execution of key operation" single ((:commit . "3480b97aaad9e65fa03c6a9d1a0a8111be1179f8") (:authors ("Toshiyuki Masui" . "masui@ptiecan.com") ("Makoto Owada") ("Eiji Obata") ("Nobuyuki Mine")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "convenience") (:url . "https://github.com/emacs-jp/dmacro"))]) (dmenu . [(20190908 44) ((cl-lib (0 5))) "simulate the dmenu command line program" single ((:commit . "e8cc9b27c79d3ecc252267c082ab8e9c82eab264") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "usability"))]) (dna-mode . [(20191001 2108) nil "a major mode for editing dna sequences" tar ((:commit . "7a48393fcf0015eed2368fcb89b3091c9d029dc4") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Harley Gorrell" . "harley@panix.com") (:keywords "dna" "emacs" "editing") (:url . "http://www.mahalito.net/~harley/elisp/dna-mode.el"))]) - (doc-show-inline . [(20220421 122) ((emacs (26 2))) "Show doc-strings found in external files" single ((:commit . "11a29ebfd7939691b34b511082173e4b5d1b9c81") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-doc-show-inline"))]) + (doc-show-inline . [(20220731 2330) ((emacs (26 2))) "Show doc-strings found in external files" single ((:commit . "02f2187d815b480e316238e2b8568bccc5e38fdd") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-doc-show-inline"))]) (docbook-snippets . [(20150714 1625) ((yasnippet (0 8 0))) "Yasnippets for DocBook" tar ((:commit . "b06297fdec039a541aaa6312cb328a11062cfab4") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:keywords "snippets" "docbook") (:url . "https://github.com/jhradilek/emacs-docbook-snippets"))]) (docean . [(20180605 1744) ((emacs (24)) (cl-lib (0 5)) (request (0 2 0))) "Interact with DigitalOcean from Emacs." single ((:commit . "bbe2298fd21f7876fc2d5c52a69b931ff59df979") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/docean.el"))]) - (docker . [(20220409 1157) ((aio (1 0)) (dash (2 19 1)) (docker-tramp (0 1)) (emacs (26 1)) (json-mode (1 8 0)) (s (1 12 0)) (tablist (1 0)) (transient (0 3 7))) "Interface to Docker" tar ((:commit . "cf137f5b8af7cbda17ef1d09c626db35e0e84078") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "filename" "convenience") (:url . "https://github.com/Silex/docker.el"))]) + (docker . [(20220629 527) ((aio (1 0)) (dash (2 19 1)) (docker-tramp (0 1)) (emacs (26 1)) (s (1 12 0)) (tablist (1 0)) (transient (0 3 7))) "Interface to Docker" tar ((:commit . "8d0429d6bd7f7a74cd58b00ac26a0c9148706124") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "filename" "convenience") (:url . "https://github.com/Silex/docker.el"))]) (docker-api . [(20160525 720) ((dash (2 12 1)) (request (0 2 0)) (s (1 11 0))) "Emacs interface to the Docker API" tar ((:commit . "206144346b7fa4165223349cfeb64a75d47ddd1b") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:url . "https://github.com/Silex/docker-api.el"))]) (docker-cli . [(20190524 1624) nil "Running various commands in docker containers" single ((:commit . "c4b02894466d8642ad3d49df4c4a80e023a672aa") (:authors ("Boško Ivanišević" . "bosko.ivanisevic@gmail.com")) (:maintainer "Boško Ivanišević" . "bosko.ivanisevic@gmail.com") (:keywords "processes") (:url . "https://github.com/bosko/docker-cli"))]) (docker-compose-mode . [(20200830 1336) ((emacs (24 3)) (dash (2 12 0)) (yaml-mode (0 0 12))) "Major mode for editing docker-compose files" single ((:commit . "abaa4f3aeb5c62d7d16e186dd7d77f4e846e126a") (:authors ("Ricardo Martins")) (:maintainer "Ricardo Martins") (:keywords "convenience") (:url . "https://github.com/meqif/docker-compose-mode"))]) (docker-tramp . [(20220219 420) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for docker containers" tar ((:commit . "930d7b46c180d8a13240a028c1b40af84f2a3219") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "docker" "convenience") (:url . "https://github.com/emacs-pe/docker-tramp.el"))]) (dockerfile-mode . [(20220220 1439) ((emacs (24))) "Major mode for editing Docker's Dockerfiles" single ((:commit . "b63a3d12b7dea0cb9efc7f78d7ad5672ceab2a3f") (:keywords "docker") (:url . "https://github.com/spotify/dockerfile-mode"))]) (docopt . [(20220319 1912) ((emacs (26 3)) (dash (2 17 0)) (emacs (26 1)) (f (0 20 0)) (parsec (0 1 3)) (s (1 12 0)) (transient (0 3 0))) "A Docopt implementation in Elisp" tar ((:commit . "a7f5b4a8b1a43552067ce27bce6080a509c92cff") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:keywords "docopt" "tools" "processes") (:url . "https://github.com/r0man/docopt.el"))]) - (docstr . [(20220214 1539) ((emacs (24 4)) (s (1 9 0))) "A document string minor mode" tar ((:commit . "c7f46522a411e2241b8d1f0aebd3f7846e04bff9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/docstr"))]) - (doct . [(20220227 205) ((emacs (25 1))) "DOCT: Declarative Org capture templates" single ((:commit . "4033a8fd8681d3989550f7a2532d6b4e3c45bfe8") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:keywords "org" "convenience") (:url . "https://github.com/progfolio/doct"))]) + (docstr . [(20220704 630) ((emacs (27 1)) (s (1 9 0))) "A document string minor mode" tar ((:commit . "ae851e805c27c0ec2952c30bedd95ae84bc90010") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "document" "string") (:url . "https://github.com/emacs-vs/docstr"))]) + (doct . [(20220713 1659) ((emacs (25 1))) "DOCT: Declarative Org capture templates" single ((:commit . "15974ad8d4d7baa071b5ea33877e9dc117c4153e") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:keywords "org" "convenience") (:url . "https://github.com/progfolio/doct"))]) (dogears . [(20210913 1259) ((emacs (26 3)) (map (2 1))) "Never lose your place again" single ((:commit . "c05b69e504a538c9e00fbb0ea86934fafe191d0c") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/dogears.el"))]) (dokuwiki . [(20180102 59) ((emacs (24 3)) (xml-rpc (1 6 8))) "Edit Remote DokuWiki Pages Using XML-RPC" single ((:commit . "594c4d4904dcc2796bbbd2c0845d9e7c09ccf6f7") (:authors ("Juan Karlo Licudine" . "accidentalrebel@gmail.com")) (:maintainer "Juan Karlo Licudine" . "accidentalrebel@gmail.com") (:keywords "convenience") (:url . "http://www.github.com/accidentalrebel/emacs-dokuwiki"))]) (dokuwiki-mode . [(20170223 1301) nil "Major mode for DokuWiki document" single ((:commit . "e4e116f6fcc373e3f5937c1a7daa5c2c9c6d3fa1") (:authors ("Tsunenobu Kai" . "kai2nenobu@gmail.com")) (:maintainer "Tsunenobu Kai" . "kai2nenobu@gmail.com") (:keywords "hypermedia" "text" "dokuwiki") (:url . "https://github.com/kai2nenobu/emacs-dokuwiki-mode"))]) (dollaro . [(20151123 1302) ((s (1 6 0))) "simple text templates" single ((:commit . "500127f0172ac7a1eec627e026b59136580a74ac") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com") (:keywords "tools" "convenience"))]) - (doneburn-theme . [(20181110 1857) nil "A light theme based on Bozhidar Batsov's Zenburn" single ((:commit . "da4fa915a2a659001eea04498d790cdd8cac1fce") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "faces" "themes") (:url . "http://github.com/manuel-uberti/doneburn-emacs"))]) + (doneburn-theme . [(20220720 1218) nil "A light theme based on Bozhidar Batsov's Zenburn" single ((:commit . "824eae7ecf1cce08fa41f6762a27670815b7f786") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "faces" "themes") (:url . "http://github.com/manuel-uberti/doneburn-emacs"))]) (doom . [(20180301 2308) ((cl-lib (0 5))) "DOM implementation and manipulation library" single ((:commit . "e59040aefc92dd9b3134eb623624307fb9e4327b") (: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") (:keywords "xml" "dom") (:url . "http://www.github.com/kensanata/doom.el/"))]) - (doom-modeline . [(20220412 853) ((emacs (25 1)) (all-the-icons (2 2 0)) (shrink-path (0 2 0)) (dash (2 11 0))) "A minimal and modern mode-line" tar ((:commit . "7d8eb7c44087a62d8dd6e8ba1afc26facd914fbc") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "faces" "mode-line") (:url . "https://github.com/seagle0128/doom-modeline"))]) + (doom-modeline . [(20220804 508) ((emacs (25 1)) (compat (28 1 1 1)) (shrink-path (0 2 0))) "A minimal and modern mode-line" tar ((:commit . "4c4b451fcf705f58e6ca41339f22365434b664cb") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "faces" "mode-line") (:url . "https://github.com/seagle0128/doom-modeline"))]) (doom-modeline-now-playing . [(20210831 1442) ((emacs (24 4)) (doom-modeline (3 0 0)) (async (1 9 3))) "Segment for Doom Modeline to show playerctl information" single ((:commit . "ef9158dfdf32e8eb789b69e7394d0bddaa68f42c") (:authors ("Ellis Kenyő" . "me@elken.dev")) (:maintainer "Ellis Kenyő" . "me@elken.dev") (:url . "https://github.com/elken/doom-modeline-now-playing"))]) - (doom-themes . [(20220421 2236) ((emacs (25 1)) (cl-lib (0 5))) "an opinionated pack of modern color-themes" tar ((:commit . "872ea5a7c7b2d9cc9e1370f397488e8f92149b67") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "custom themes" "faces") (:url . "https://github.com/hlissner/emacs-doom-themes"))]) + (doom-themes . [(20220727 853) ((emacs (25 1)) (cl-lib (0 5))) "an opinionated pack of modern color-themes" tar ((:commit . "5f96ee83e9734587bf3e8ec61d4f067b43d9c26e") (:authors ("Henrik Lissner" . "contact@henrik.io")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "themes" "faces") (:url . "https://github.com/doomemacs/themes"))]) (dot-mode . [(20180312 2300) ((emacs (24 3))) "minor mode to repeat typing or commands" single ((:commit . "6ca22b73bcdae2363ee9641b822a60685df16a3e") (:authors ("Robert Wyrick" . "rob@wyrick.org")) (:maintainer "Robert Wyrick" . "rob@wyrick.org") (:keywords "convenience") (:url . "https://github.com/wyrickre/dot-mode"))]) (dotenv-mode . [(20191027 2129) ((emacs (24 3))) "Major mode for .env files" single ((:commit . "e3701bf739bde44f6484eb7753deadaf691b73fb") (:authors ("Preetpal S. Sohal")) (:maintainer "Preetpal S. Sohal") (:url . "https://github.com/preetpalS/emacs-dotenv-mode"))]) (dotnet . [(20200803 1032) nil "Interact with dotnet CLI tool" single ((:commit . "83ba1305d7895b03f3dffb2d3458b7ec75e6909f") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:keywords ".net" "tools") (:url . "https://github.com/julienXX/dotnet.el"))]) @@ -1016,7 +1033,7 @@ (dpaste_de . [(20131015 1225) ((web (0 3 7))) "Emacs mode to paste to dpaste.de" single ((:commit . "f0c39e8864299f735642f7d9fa490689398ce39d") (:authors ("Thejaswi Puthraya" . "thejaswi.puthraya@gmail.com")) (:maintainer "Thejaswi Puthraya" . "thejaswi.puthraya@gmail.com") (:keywords "pastebin"))]) (dpkg-dev-el . [(20190824 2314) ((debian-el (37))) "Emacs modes for debian packaging" tar ((:commit . "458f5230d02b15c94e94eca1af4eabaec30f45db") (:authors ("Peter S Galbraith" . "psg@debian.org")) (:maintainer "Peter S Galbraith" . "psg@debian.org"))]) (dr-racket-like-unicode . [(20200513 1642) ((emacs (24 1))) "DrRacket-style unicode input" single ((:commit . "70bc1caea6b277e49e1cb29e1926a7b0c83c5ebc") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:keywords "i18n" "tools"))]) - (dracula-theme . [(20220209 724) ((emacs (24 3))) "Dracula Theme" single ((:commit . "e725c9e790c9e9cdaccdb35faaae9d5cb16ddb89") (:authors ("film42")) (:maintainer "Étienne Deparis" . "etienne@depar.is") (:url . "https://github.com/dracula/emacs"))]) + (dracula-theme . [(20220804 618) ((emacs (24 3))) "Dracula Theme" single ((:commit . "37b3979b91b06a0520a0d326bc323b4dda280123") (:authors ("film42")) (:maintainer "Étienne Deparis" . "etienne@depar.is") (:url . "https://github.com/dracula/emacs"))]) (draft-mode . [(20140609 1456) nil "Rough drafting for Emacs." single ((:commit . "4779fb32daf53746459da2def7e08004492d4f18") (:authors ("Eeli Reilin" . "gaudecker@fea.st")) (:maintainer "Eeli Reilin" . "gaudecker@fea.st") (:keywords "draft" "drafting") (:url . "https://github.com/gaudecker/draft-mode"))]) (drag-stuff . [(20161108 749) nil "Drag stuff (lines, words, region, etc...) around" tar ((:commit . "6d06d846cd37c052d79acd0f372c13006aa7e7c8") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience") (:url . "http://github.com/rejeep/drag-stuff"))]) (drawille . [(20160418 1838) ((cl-lib (0 5))) "Drawille implementation in elisp" tar ((:commit . "d914845725719d8293e2f0dea3c9c7e0a1e0e62a") (:authors ("Josuah Demangeon" . "josuah.demangeon@gmail.com")) (:maintainer "Josuah Demangeon" . "josuah.demangeon@gmail.com") (:keywords "graphics") (:url . "https://github.com/sshbio/elisp-drawille"))]) @@ -1027,21 +1044,21 @@ (drupal-mode . [(20220125 1044) ((php-mode (1 5 0))) "Advanced minor mode for Drupal development" tar ((:commit . "17927723adc5921e8058f7c29e5e50e88b975639") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:keywords "programming" "php" "drupal") (:url . "https://github.com/arnested/drupal-mode"))]) (drupal-spell . [(20130520 1655) nil "Aspell extra dictionary for Drupal" tar ((:commit . "4087c28c89a884ee050961c57166e6b09085f59d") (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:maintainer "Arne Jørgensen" . "arne@arnested.dk") (:keywords "wp") (:url . "https://github.com/arnested/drupal-spell"))]) (dsvn . [(20190316 2201) nil "Subversion interface" single ((:commit . "c37d2412ba92aad647bcf5aeb151e620e8069f8d") (:authors ("David Kågedal" . "davidk@lysator.liu.se") (" Mattias Engdegård" . "mattiase@acm.org")) (:maintainer "Mattias Engdegård" . "mattiase@acm.org") (:keywords "docs"))]) - (dtache . [(20220320 1338) ((emacs (27 1))) "Run and interact with detached shell commands" tar ((:commit . "e7d143df8a8f88cbbe0fa023cd1fc30219598d88") (:authors ("Niklas Eklund" . "niklas.eklund@posteo.net")) (:maintainer "Niklas Eklund" . "niklas.eklund@posteo.net") (:keywords "convenience" "processes") (:url . "https://www.gitlab.com/niklaseklund/dtache.git"))]) (dtb-mode . [(20210105 1132) ((emacs (25))) "Show device tree souce in dtbs" single ((:commit . "7f66de945a0be2be5a26b4619cae097288fb55cd") (:authors ("Schspa Shi" . "schspa@gmail.com")) (:maintainer "Schspa Shi" . "schspa@gmail.com") (:keywords "dtb" "dts" "convenience") (:url . "https://github.com/schspa/dtb-mode"))]) - (dtk . [(20220309 759) ((emacs (24 4)) (cl-lib (0 6 1)) (dash (2 12 0)) (seq (1 9)) (s (1 9))) "access SWORD content via diatheke" single ((:commit . "56b339bc76926defa775c406113e306ec6d31b36") (:authors ("David Thompson")) (:maintainer "David Thompson") (:keywords "hypermedia") (:url . "https://github.com/dtk01/dtk.el"))]) + (dtk . [(20220602 2129) ((emacs (24 4)) (cl-lib (0 6 1)) (dash (2 12 0)) (seq (1 9)) (s (1 9))) "access SWORD content via diatheke" single ((:commit . "a657a8c034746069a5b340ef7356cb7d38290ec9") (:authors ("David Thompson")) (:maintainer "David Thompson") (:keywords "hypermedia") (:url . "https://github.com/dtk01/dtk.el"))]) (dtrace-script-mode . [(20150214 623) nil "DTrace code editing commands for Emacs" single ((:commit . "801af1ef16075d31a19830ebb8404bbf3a322f10"))]) - (dtrt-indent . [(20220226 1354) nil "Adapt to foreign indentation offsets" tar ((:commit . "66fc30af02901db023e464a24d2b5fb3ff472794") (:authors ("Julian Scheid" . "julians37@googlemail.com")) (:maintainer "Reuben Thomas" . "rrt@sc3d.org") (:keywords "convenience" "files" "languages" "c"))]) + (dtrt-indent . [(20220725 849) nil "Adapt to foreign indentation offsets" tar ((:commit . "d4fd1b4977eb0d534844fddf01c3c51c70c57205") (:authors ("Julian Scheid" . "julians37@googlemail.com")) (:maintainer "Reuben Thomas" . "rrt@sc3d.org") (:keywords "convenience" "files" "languages" "c"))]) (dts-mode . [(20211202 18) nil "Major mode for Devicetree source code" single ((:commit . "32517e7eeeccc785b7c669fd5e93c5df45597ef1") (:authors ("Ben Gamari" . "ben@smart-cactus.org")) (:maintainer "Ben Gamari" . "ben@smart-cactus.org") (:keywords "languages"))]) (ducpel . [(20140702 1154) ((cl-lib (0 5))) "Logic game with sokoban elements" tar ((:commit . "b53b935ab95c02b82ccf38f63c89e39e99477a55") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "games") (:url . "https://github.com/alezost/ducpel"))]) (dumb-diff . [(20171211 2122) ((emacs (24 3))) "fast arbitrary diffs" single ((:commit . "1a2331d283049b71a07c1b06b1e0627a950d55f4") (:authors ("jack angers")) (:maintainer "jack angers") (:keywords "programming" "diff"))]) - (dumb-jump . [(20211018 1545) ((emacs (24 3)) (s (1 11 0)) (dash (2 9 0)) (popup (0 5 3))) "Jump to definition for 50+ languages without configuration" single ((:commit . "dbb915441a2b66f2fbb954ff5de2723c5a4771d4") (:authors ("jack angers and contributors")) (:maintainer "jack angers and contributors") (:keywords "programming") (:url . "https://github.com/jacktasia/dumb-jump"))]) + (dumb-jump . [(20220620 2325) ((emacs (24 3)) (s (1 11 0)) (dash (2 9 0)) (popup (0 5 3))) "Jump to definition for 50+ languages without configuration" single ((:commit . "0a783d1db610ff1dc4e1b7869589cff16ff92f7a") (:authors ("jack angers and contributors")) (:maintainer "jack angers and contributors") (:keywords "programming") (:url . "https://github.com/jacktasia/dumb-jump"))]) (dummyparens . [(20141009 1024) nil "parenthesis auto-pairing and wrapping" single ((:commit . "9798ef1d0eaa24e4fe66f8aa6022a8c62714cc89") (:authors ("Sergei Nosov ")) (:maintainer "Sergei Nosov ") (:keywords "dummyparens" "auto-pair" "wrapping") (:url . "https://github.com/snosov1/dummyparens"))]) - (dune . [(20210909 1010) nil "Integration with the dune build system" tar ((:commit . "37d0cb628482fb17ec8adc6265251d13db7deb6e") (:url . "https://github.com/ocaml/dune"))]) + (dune . [(20210909 1010) nil "Integration with the dune build system" tar ((:commit . "af209eb382718388f231bbf2e3e22615eb7440c7") (:url . "https://github.com/ocaml/dune"))]) (dune-format . [(20210505 108) ((reformatter (0 6)) (emacs (24 1))) "Reformat OCaml's dune files automatically" single ((:commit . "196f16a01f4c855de7becddbc4cfed2f6788693a") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages") (:url . "https://github.com/purcell/emacs-dune-format"))]) (duplicate-thing . [(20181031 1500) nil "Duplicate current line & selection" single ((:commit . "9d8fd05e3e5caa35d3f2a0c0032c92f0c0908e21") (:authors ("ongaeshi")) (:maintainer "ongaeshi") (:keywords "convenience" "command" "duplicate" "line" "selection") (:url . "https://github.com/ongaeshi/duplicate-thing"))]) (dut-mode . [(20170729 2111) ((emacs (24))) "Major mode for the Dut programming language" single ((:commit . "9235c7acaa6690942e9de8b7acd1e4be0c859dc1") (:authors ("The dut-mode Authors")) (:maintainer "The dut-mode Authors") (:keywords "languages" "gut") (:url . "https://github.com/dut-lang/dut-mode"))]) (dw . [(20210331 2246) ((emacs (25 1))) "Diceware passphrase generation commands" single ((:commit . "61c5718ba64ace4c9e29de18aa2690ecc3f0f258") (:authors ("D. Williams" . "d.williams@posteo.net")) (:maintainer "D. Williams" . "d.williams@posteo.net") (:keywords "convenience" "games") (:url . "https://github.com/integral-dw/dw-passphrase-generator"))]) + (dwim-shell-command . [(20220804 853) ((emacs (27 1))) "Shell commands with DWIM behaviour" tar ((:commit . "8627205f00f4e2eed9607cf80ba116d1c3efae08") (:authors ("Alvaro Ramirez")) (:maintainer "Alvaro Ramirez") (:url . "https://github.com/xenodium/dwim-shell-command"))]) (dyalog-mode . [(20210413 810) ((cl-lib (0 2)) (emacs (24 3))) "Major mode for editing Dyalog APL source code" tar ((:commit . "697a84194766708d2607e8ba48a552e383c6523e") (:authors ("Joakim Hårsman" . "joakim.harsman@gmail.com")) (:maintainer "Joakim Hårsman" . "joakim.harsman@gmail.com") (:keywords "languages") (:url . "https://github.com/harsman/dyalog-mode.git"))]) (dylan . [(20220115 1804) ((emacs (25 1))) "Dylan editing modes" tar ((:commit . "9d2891e3e06405b75072d296f385fa795aeb9835") (:url . "https://opendylan.org/"))]) (dynamic-fonts . [(20140731 1226) ((font-utils (0 7 0)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Set faces based on available fonts" single ((:commit . "ab0c65accbdb59acaed5b263327e22ec019b3e82") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "faces" "frames") (:url . "http://github.com/rolandwalker/dynamic-fonts"))]) @@ -1059,23 +1076,24 @@ (e2wm-svg-clock . [(20150106 1306) ((e2wm (20130225 1602)) (svg-clock (0 4))) "e2wm plugin for svg-clock" single ((:commit . "d425925e3afffcbe2ff74edc80b714e4319d4c94") (:authors ("Yuhei Maeda ")) (:maintainer "Yuhei Maeda") (:keywords "convenience" "e2wm") (:url . "https://github.com/myuhe/e2wm-svg-clock.el"))]) (e2wm-sww . [(20200805 1339) ((e2wm (1 2))) "Plugin of e2wm.el to switch plugin quickly" single ((:commit . "8926d0c70be05c7b4ef821e22e411e8813973687") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "tools" "window manager") (:url . "https://github.com/aki2o/e2wm-sww"))]) (e2wm-term . [(20200322 729) ((e2wm (1 2)) (log4e (0 2 0)) (yaxception (0 3 2))) "Perspective of e2wm.el for work in terminal" single ((:commit . "74362d6271e736272df32ea807c5a22e4df54a50") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "tools" "window manager") (:url . "https://github.com/aki2o/e2wm-term"))]) - (eacl . [(20220101 1517) ((emacs (25 1))) "Auto-complete lines by grepping project" single ((:commit . "4d9d42fa05e550dbac71a2c93e1da71c48af9449") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "abbrev" "convenience" "matching") (:url . "http://github.com/redguardtoo/eacl"))]) + (eacl . [(20220526 1434) ((emacs (25 1))) "Auto-complete lines by grepping project" single ((:commit . "5e2b881d321c588fed05875819e2b749d33abe0e") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "abbrev" "convenience" "matching") (:url . "http://github.com/redguardtoo/eacl"))]) (earthfile-mode . [(20210903 230) ((emacs (26))) "Major mode for editing Earthly file" single ((:commit . "0f24876223a358d2718383e9e4975a26cee55f9d") (:authors ("Thanabodee Charoenpiriyakij" . "wingyminus@gmail.com")) (:maintainer "Thanabodee Charoenpiriyakij" . "wingyminus@gmail.com") (:url . "https://github.com/earthly/earthly-mode"))]) (easy-after-load . [(20170817 1231) nil "eval-after-load for all files in a directory" single ((:commit . "29e20145da49ac9ea40463c552130777408040de") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/easy-after-load"))]) (easy-escape . [(20210917 1254) nil "Improve readability of escape characters in regular expressions" single ((:commit . "938497a21e65ba6b3ff8ec90e93a6d0ab18dc9b4") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "lisp" "tools") (:url . "https://github.com/cpitclaudel/easy-escape"))]) - (easy-hugo . [(20211017 1248) ((emacs (25 1)) (popup (0 5 3)) (request (0 3 0)) (transient (0 3 6))) "Write blogs made with hugo by markdown or org-mode" tar ((:commit . "baead14d7f2fa86e108269932a94bf376de9c2e5") (:authors ("Masashi Miyaura")) (:maintainer "Masashi Miyaura") (:url . "https://github.com/masasam/emacs-easy-hugo"))]) + (easy-hugo . [(20220616 2302) ((emacs (25 1)) (popup (0 5 3)) (request (0 3 0)) (transient (0 3 6))) "Write blogs made with hugo by markdown or org-mode" tar ((:commit . "46aa41a207c9644ef9789512e025d4e7c7f3d5ea") (:authors ("Masashi Miyaura")) (:maintainer "Masashi Miyaura") (:url . "https://github.com/masasam/emacs-easy-hugo"))]) (easy-jekyll . [(20211217 2311) ((emacs (25 1)) (request (0 3 0))) "Major mode managing jekyll blogs" single ((:commit . "7f19af310162464956f2bc4c38c6b7e95cb20321") (:authors ("Masashi Miyaura")) (:maintainer "Masashi Miyaura") (:url . "https://github.com/masasam/emacs-easy-jekyll"))]) - (easy-kill . [(20220311 1506) ((emacs (25)) (cl-lib (0 5))) "kill & mark things easily" single ((:commit . "f9b450a87c41e5ef616df565ed158cb236aa5189") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:keywords "killing" "convenience") (:url . "https://github.com/leoliu/easy-kill"))]) + (easy-kill . [(20220511 557) ((emacs (25)) (cl-lib (0 5))) "kill & mark things easily" single ((:commit . "de7d66c3c864a4722a973ee9bc228a14be49ba0c") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:keywords "killing" "convenience") (:url . "https://github.com/leoliu/easy-kill"))]) (easy-kill-extras . [(20210529 945) ((easy-kill (0 9 4))) "Extra functions for easy-kill." tar ((:commit . "74e9d0fcafc38d5f24e6209671a552bc1ba5a867") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "killing" "convenience") (:url . "https://github.com/knu/easy-kill-extras.el"))]) (easy-repeat . [(20150516 848) ((emacs (24 4))) "Repeat easily" single ((:commit . "060f0e6801c82c40c06961dc0528a00e18947a8c") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:keywords "repeat" "convenience") (:url . "https://github.com/xuchunyang/easy-repeat.el"))]) (ebf . [(20210225 1211) ((dash (2 18 0)) (cl-lib (0 5))) "brainfuck language transpiler to Emacs Lisp" tar ((:commit . "6cbeb4d62416f4cfd5be8906667342af8ecc44a6") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/ebf"))]) - (ebib . [(20220407 2003) ((parsebib (2 3)) (emacs (25 1))) "a BibTeX database manager" tar ((:commit . "6a044c9cc3429ff6c4072be1c184e0c6ffc49b58") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "bibtex") (:url . "http://joostkremers.github.io/ebib/"))]) - (ebuku . [(20220106 902) ((emacs (25 1))) "Interface to the buku Web bookmark manager" single ((:commit . "5004d377f8c89436c28d4a7ffbef407a2b28861e") (:authors ("Alexis , Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:keywords "bookmarks" "buku" "data" "web" "www") (:url . "https://github.com/flexibeast/ebuku"))]) + (ebib . [(20220711 1845) ((parsebib (4 0)) (emacs (26 1))) "a BibTeX database manager" tar ((:commit . "36b487b798cb432a52c2d5d14c3aec74fc7eece9") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "bibtex") (:url . "http://joostkremers.github.io/ebib/"))]) + (ebnf-mode . [(20220606 1846) ((emacs (25 1))) "Major mode for EBNF files" single ((:commit . "89a868226e7ddb303548e82a81f76fbb0e5b21c5") (:authors ("Noah Peart" . "noah.v.peart@gmail.com")) (:maintainer "Noah Peart" . "noah.v.peart@gmail.com") (:url . "https://github.com/nverno/ebnf-mode"))]) + (ebuku . [(20220725 832) ((emacs (25 1))) "Interface to the buku Web bookmark manager" single ((:commit . "5b8bf34b8ea5d05f0b8dfc12bfea825f9cffbeda") (:authors ("Alexis , Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:keywords "bookmarks" "buku" "data" "web" "www") (:url . "https://github.com/flexibeast/ebuku"))]) (ecb . [(20170728 1921) nil "a code browser for Emacs" tar ((:commit . "1330a44cf3c171781083b0b926ab7622f64e6e81") (: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") (:keywords "browser" "code" "programming" "tools"))]) - (echo-bar . [(20220222 214) nil "Turn the echo area into a custom status bar" single ((:commit . "06cc8ef88f3b054f676b76815879bd6c71107591") (:authors ("Adam Tillou" . "qaiviq@gmail.com")) (:maintainer "Adam Tillou" . "qaiviq@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/qaiviq/echo-bar.el"))]) + (echo-bar . [(20220705 2212) nil "Turn the echo area into a custom status bar" single ((:commit . "b00e80acbbb708a3528c7b376dfb216deb64e4fe") (:authors ("Adam Tillou" . "qaiviq@gmail.com")) (:maintainer "Adam Tillou" . "qaiviq@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/qaiviq/echo-bar.el"))]) (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 . "222ddd48fcf0ee01592dec77c58e0cf3f2ea1100"))]) (eclipse-theme . [(20191113 1518) nil "Theme based on Eclipse circa 2010" single ((:commit . "dcf97865512ed450f9d5137c1a05e12edb5b7f80") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "themes") (:url . "https://github.com/abo-abo/eclipse-theme"))]) - (ecukes . [(20210202 1241) ((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 . "d173cdf487bc2c62305e2232db96290bc021950f"))]) + (ecukes . [(20220802 1502) ((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 . "3fff6edbf4acfab5b9e042c307bc5bbfac1c550f"))]) (edbi . [(20160225 141) ((concurrent (0 3 1)) (ctable (0 1 2)) (epc (0 1 1))) "Emacs Database Interface" tar ((:commit . "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "database" "epc") (:url . "https://github.com/kiwanami/emacs-edbi"))]) (ede-compdb . [(20150920 2033) ((ede (1 2)) (semantic (2 2)) (cl-lib (0 4))) "Support for compilation database projects in EDE" single ((:commit . "d6d8466cd62876fc90adeff5875a1a584fd846cd") (:authors ("Alastair Rankine" . "alastair@girtby.net")) (:maintainer "Alastair Rankine" . "alastair@girtby.net") (:keywords "development" "ninja" "build" "cedet" "ede"))]) (ede-php-autoload . [(20180901 1255) nil "Simple EDE PHP Project" tar ((:commit . "8a4eeeaa93b8d87b65a107c4ebcbeb14528d9449") (: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") (:keywords "php" "project" "ede") (:url . "https://github.com/emacs-php/ede-php-autoload"))]) @@ -1087,7 +1105,7 @@ (edit-at-point . [(20191013 1218) nil "edit(copy,cut..) current things(word,symbol..) under cursor" single ((:commit . "28c85a65c9c61f2aff50bc5e93f61cde26a5d9c0") (:authors (nil . "")) (:maintainer nil . "") (:url . "http://github.com/enoson/edit-at-point.el"))]) (edit-chrome-textarea . [(20200324 1513) ((emacs (25 1)) (websocket (1 4))) "Edit Chrome Textarea" single ((:commit . "e9ef6a72bdc6b58f932c51aa161869cee11b4bc9") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "tools") (:url . "https://github.com/xuchunyang/edit-chrome-textarea.el"))]) (edit-color-stamp . [(20130529 1733) ((es-lib (0 2)) (cl-lib (1 0))) "Edit a hex color stamp, using a QT or the internal color picker" tar ((:commit . "32dc1ca5bcf3dcf83fad5e39b55dc5b77becb3d3") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/edit-color-stamp"))]) - (edit-indirect . [(20220216 1812) ((emacs (24 3))) "Edit regions in separate buffers" single ((:commit . "e3d86416bcf8ddca951d7d112e57ad30c5f9a081") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/edit-indirect"))]) + (edit-indirect . [(20220511 1124) ((emacs (24 3))) "Edit regions in separate buffers" single ((:commit . "f80f63822ffae78de38dbe72cacaeb1aaa96c732") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/edit-indirect"))]) (edit-indirect-region-latex . [(20161129 645) ((emacs (24 3)) (ht (2 2)) (edit-indirect (0 1 4))) "Edit LaTeX regions in separate buffers, e.g. for English grammar checks" single ((:commit . "05043f2c0c9838947d3ca4b51b695deb7c47612e") (:authors ("Hirotaka Niitsuma" . "hirotaka.niitsuma@gmail.com")) (:maintainer "Hirotaka Niitsuma" . "hirotaka.niitsuma@gmail.com") (:url . "https://github.com/niitsuma/edit-indirect-region-latex"))]) (edit-list . [(20100930 1443) nil "edit a single list" single ((:commit . "f460d3f9e208a4e606fe6ded307f1b011916ca71") (:authors ("Michael Olson" . "mwolson@gnu.org")) (:maintainer "Michael Olson" . "mwolson@gnu.org") (:url . "http://mwolson.org/static/dist/elisp/edit-list.el"))]) (edit-server . [(20181016 1125) nil "server that responds to edit requests from Chrome" single ((:commit . "65a8e434547dcbe1df89dc3fd7aee075f8b06366") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs_chrome"))]) @@ -1098,40 +1116,40 @@ (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") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "editorconfig" "util") (:url . "https://github.com/lassik/editorconfig-emacs-domain-specific"))]) (editorconfig-generate . [(20190513 433) ((emacs (24))) "Generate .editorconfig" single ((:commit . "47a31f928f46d2a0188db8e2cffa5d6354a81573") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:keywords "tools") (:url . "https://github.com/10sr/editorconfig-generate-el"))]) (edn . [(20160215 1219) ((cl-lib (0 3)) (emacs (24 1)) (peg (0 6))) "Support for reading and writing the edn data format from elisp" single ((:commit . "21e120a6914ee9a694be0a051f9f2af34ef055e4") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:keywords "edn" "clojure") (:url . "https://www.github.com/expez/edn.el"))]) - (ednc . [(20220404 2105) ((emacs (26 1))) "Emacs Desktop Notification Center" single ((:commit . "d1a3c37235dd87e0bce6ffc75f5568218d6d83b4") (:authors ("Simon Nicolussi" . "sinic@sinic.name")) (:maintainer "Simon Nicolussi" . "sinic@sinic.name") (:keywords "unix") (:url . "https://github.com/sinic/ednc"))]) - (edts . [(20220415 1722) ((auto-complete (20201213 1255)) (auto-highlight-symbol (20211106 638)) (dash (20210609 1330)) (emacs (24 3)) (erlang (20210315 1640)) (f (20191110 1357)) (popup (20210317 138)) (s (20210603 736))) "Erlang Development Tool Suite" tar ((:commit . "5c096ecdf9462b125f2eb4092899ff63636cfc40"))]) + (ednc . [(20220404 2105) ((emacs (26 1))) "Emacs Desktop Notification Center" single ((:commit . "940a4adbbeb3b6b1a72270a814d52770dd89a997") (:authors ("Simon Nicolussi" . "sinic@sinic.name")) (:maintainer "Simon Nicolussi" . "sinic@sinic.name") (:keywords "unix") (:url . "https://github.com/sinic/ednc"))]) + (edts . [(20220521 1345) ((auto-complete (20201213 1255)) (auto-highlight-symbol (20211106 638)) (dash (20210609 1330)) (emacs (24 3)) (erlang (20210315 1640)) (f (20191110 1357)) (popup (20210317 138)) (s (20210603 736))) "Erlang Development Tool Suite" tar ((:commit . "77e0dc91f603e8bedebfdccc90352ebbfd217c99"))]) (edwina . [(20200113 1714) ((emacs (25))) "Dynamic window manager" tar ((:commit . "c5368716a504c93407fd8cb4ef925a8d8eb62698") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:keywords "convenience") (:url . "https://github.com/ajgrf/edwina"))]) - (efar . [(20211122 1943) ((emacs (26 1))) "FAR-like file manager" single ((:commit . "49dc9b89a8b9bf2523c202ac8830d1245768f3f4") (:authors ("\"Vladimir Suntsov\"" . "vladimir@suntsov.online")) (:maintainer nil . "vladimir@suntsov.online") (:keywords "files") (:url . "https://github.com/suntsov/efar"))]) + (efar . [(20220530 1412) ((emacs (26 1))) "FAR-like file manager" single ((:commit . "bcf74e57031bb700c0e8b0a49c6e4583112b7eda") (:authors ("\"Vladimir Suntsov\"" . "vladimir@suntsov.online")) (:maintainer nil . "vladimir@suntsov.online") (:keywords "files") (:url . "https://github.com/suntsov/efar"))]) (efire . [(20151009 2031) ((circe (1 2))) "Use campfire from Emacs" single ((:commit . "91a644662afb352475efad0b377713656f131e5c") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/capitaomorte/efire"))]) (eg . [(20170830 815) ((cl-lib (0 5)) (emacs (24 3))) "Norton Guide reader" single ((:commit . "1c7f1613d2aaae728ef540305f6ba030616f86bd") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "docs") (:url . "https://github.com/davep/eg.el"))]) (egalgo . [(20211105 1657) ((emacs (24 3))) "Genetic algorithm" single ((:commit . "a56a86591351d53ca2add7c651757bfb0064fb22") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "data") (:url . "https://github.com/ROCKTAKEY/egalgo"))]) (egg . [(20181126 500) nil "Emacs Got Git - Emacs interface to Git" tar ((:commit . "00e768a78ac3d25f457eed667d02cac568480bf9") (:authors ("Bogolisk" . "bogolisk@gmail.com")) (:maintainer "Bogolisk" . "bogolisk@gmail.com") (:keywords "git" "version control" "release management"))]) (egg-timer . [(20200217 1650) ((emacs (25 1))) "Commonly used intervals for setting timers while working" single ((:commit . "e3542aeb80905956b94373a222a9cbac04e6497e") (:authors ("William Carroll" . "wpcarro@gmail.com")) (:maintainer "William Carroll" . "wpcarro@gmail.com") (:url . "https://github.com/wpcarro/egg-timer.el"))]) - (egison-mode . [(20200107 2333) nil "Egison editing mode" tar ((:commit . "dbb395b41a4e4eb69f3f045cbfbe95a1575ac45b") (:authors ("Satoshi Egi" . "egisatoshi@gmail.com")) (:maintainer "Satoshi Egi" . "egisatoshi@gmail.com") (:url . "https://github.com/egisatoshi/egison3/blob/master/elisp/egison-mode.el"))]) - (eglot . [(20220415 1822) ((emacs (26 1)) (jsonrpc (1 0 14)) (flymake (1 2 1)) (project (0 3 0)) (xref (1 0 1)) (eldoc (1 11 0)) (seq (2 23))) "Client for Language Server Protocol (LSP) servers" single ((:commit . "777a7169c2c2a5dad6b9ecda3f2aa7a1edda84a9") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "convenience" "languages") (:url . "https://github.com/joaotavora/eglot"))]) - (eglot-fsharp . [(20220409 1811) ((emacs (27 1)) (eglot (1 4)) (fsharp-mode (1 10)) (jsonrpc (1 0 14))) "fsharp-mode eglot integration" single ((:commit . "13022af44d68525870b15bcdfdc3391e71c6ae1b") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:keywords "languages") (:url . "https://github.com/fsharp/emacs-fsharp-mode"))]) + (egison-mode . [(20200107 2333) nil "Egison editing mode" tar ((:commit . "f06fabd97dc3333c7a2637b2cfff238704e87078") (:authors ("Satoshi Egi" . "egisatoshi@gmail.com")) (:maintainer "Satoshi Egi" . "egisatoshi@gmail.com") (:url . "https://github.com/egisatoshi/egison3/blob/master/elisp/egison-mode.el"))]) + (eglot . [(20220726 1405) ((emacs (26 1)) (jsonrpc (1 0 14)) (flymake (1 2 1)) (project (0 3 0)) (xref (1 0 1)) (eldoc (1 11 0)) (seq (2 23))) "Client for Language Server Protocol (LSP) servers" single ((:commit . "000b7fdce93ed29c505a7fa75baaf87094fd690a") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "convenience" "languages") (:url . "https://github.com/joaotavora/eglot"))]) + (eglot-fsharp . [(20220630 2007) ((emacs (27 1)) (eglot (1 4)) (fsharp-mode (1 10)) (jsonrpc (1 0 14))) "fsharp-mode eglot integration" single ((:commit . "42e8db5ff67c37228f92ca8750d203aa5bd9e1e5") (:authors ("Jürgen Hötzel" . "juergen@hoetzel.info")) (:maintainer "Jürgen Hötzel" . "juergen@hoetzel.info") (:keywords "languages") (:url . "https://github.com/fsharp/emacs-fsharp-mode"))]) (eglot-java . [(20220403 1815) ((emacs (26 1)) (eglot (1 0)) (jsonrpc (1 0 0))) "Java extension for the eglot LSP client" single ((:commit . "da76eb69b3f86992d62302649a987f157b7b7371") (:authors ("Yves Zoundi" . "yves_zoundi@hotmail.com")) (:maintainer "Yves Zoundi" . "yves_zoundi@hotmail.com") (:keywords "convenience" "languages") (:url . "https://github.com/yveszoundi/eglot-java"))]) (eglot-jl . [(20211208 359) ((emacs (25 1)) (eglot (1 4)) (julia-mode (0 3))) "Julia support for eglot" tar ((:commit . "2e35cf9768d97a0429a72deddbe30d6d7722d454") (:authors ("Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz")) (:maintainer "Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") (:keywords "convenience" "languages") (:url . "https://github.com/non-Jedi/eglot-jl"))]) (ego . [(20200803 1101) ((emacs (24 5)) (ht (1 5)) (mustache (0 22)) (htmlize (1 47)) (org (8 0)) (dash (2 0 0))) "a static site generator based on org mode, forked from org-page." tar ((:commit . "211c4cb2af2582849d9df984fb2346deecaf79be") (:authors ("Feng Shu ") ("Kelvin Hu ") ("Kuangdash ")) (:maintainer "Feng Shu ") (:keywords "org-mode" "convenience" "beautify") (:url . "https://github.com/emacs-china/EGO"))]) - (eide . [(20220316 619) nil "IDE interface" tar ((:commit . "23c78f4850f44d18eef66c694e7e05882d841ba6") (:authors ("Cédric Marie" . "cedric@hjuvi.fr.eu.org")) (:maintainer "Cédric Marie" . "cedric@hjuvi.fr.eu.org") (:url . "https://forge.chapril.org/hjuvi/eide"))]) + (eide . [(20220531 452) nil "IDE interface" tar ((:commit . "a32b9266414d9173dfa92fa44b17064ebb39522f") (:authors ("Cédric Marie" . "cedric@hjuvi.fr.eu.org")) (:maintainer "Cédric Marie" . "cedric@hjuvi.fr.eu.org") (:url . "https://forge.chalec.org/hjuvi/eide"))]) (eimp . [(20120826 2039) nil "Emacs Image Manipulation Package" single ((:commit . "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f") (:authors ("Matthew P. Hodges" . "MPHodges@member.fsf.org")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "files" "frames"))]) - (ein . [(20220419 735) ((emacs (25)) (websocket (1 12)) (anaphora (1 0 4)) (request (0 3 3)) (deferred (0 5)) (polymode (0 2 2)) (dash (2 13 0)) (with-editor (0 -1))) "Emacs IPython Notebook" tar ((:commit . "388c8f753cfb99b4f82acbdff26bbe27189d2299") (:keywords "jupyter" "literate programming" "reproducible research") (:url . "https://github.com/dickmao/emacs-ipython-notebook"))]) + (ein . [(20220618 1101) ((emacs (25)) (websocket (1 12)) (anaphora (1 0 4)) (request (0 3 3)) (deferred (0 5)) (polymode (0 2 2)) (dash (2 13 0)) (with-editor (0 -1))) "Emacs IPython Notebook" tar ((:commit . "693373ba193848a1707b8f6c123a46ee9b1d2036") (:keywords "jupyter" "literate programming" "reproducible research") (:url . "https://github.com/dickmao/emacs-ipython-notebook"))]) (eink-theme . [(20190219 858) nil "E Ink color theme" single ((:commit . "326b07523dcb076d6209cdbc7fdbb73df296dbdb") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:url . "http://github.com/maio/eink-emacs"))]) - (ejc-sql . [(20220414 1329) ((emacs (26 3)) (clomacs (0 0 5)) (dash (2 16 0)) (spinner (1 7 3)) (direx (1 0 0))) "Emacs SQL client uses Clojure JDBC." tar ((:commit . "5c6341c751da9c7dbed43eafc8e99f456c1de0d2") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "sql" "jdbc") (:url . "https://github.com/kostafey/ejc-sql"))]) + (ejc-sql . [(20220517 1303) ((emacs (26 3)) (clomacs (0 0 5)) (dash (2 16 0)) (spinner (1 7 3)) (direx (1 0 0))) "Emacs SQL client uses Clojure JDBC." tar ((:commit . "5e100426be90fc193154b1219ab1058534a4fb52") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "sql" "jdbc") (:url . "https://github.com/kostafey/ejc-sql"))]) (ejson-mode . [(20190720 2138) ((emacs (25))) "Major mode for editing ejson files." single ((:commit . "9630dfac9549779711dbe89e621f516bb4b3a354") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/dantecatalfamo/ejson-mode"))]) (el-autoyas . [(20120918 1317) nil "Automatically create Emacs-Lisp Yasnippets" tar ((:commit . "bde0251ecb504f585dfa27c205c8e312655310cc") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:keywords "emacs" "lisp" "mode" "yasnippet") (:url . "https://github.com/mlf176f2/el-autoyas.el"))]) - (el-fetch . [(20220416 2223) ((emacs (25 1))) "Show system information in Neofetch-like style (eg CPU, RAM)" single ((:commit . "c6dbf743e8c5bf8a58a86c72ada1a6e877a81291") (:authors ("Maciej Barć" . "xgqt@riseup.net")) (:maintainer "Maciej Barć" . "xgqt@riseup.net") (:url . "https://gitlab.com/xgqt/emacs-el-fetch"))]) + (el-fetch . [(20220622 2008) ((emacs (25 1))) "Show system information in Neofetch-like style (eg CPU, RAM)" single ((:commit . "cf6350c637a3151c16324768cf9c472d060f70df") (:authors ("Maciej Barć" . "xgqt@riseup.net")) (:maintainer "Maciej Barć" . "xgqt@riseup.net") (:url . "https://gitlab.com/xgqt/emacs-el-fetch"))]) (el-fly-indent-mode . [(20180422 243) ((emacs (25))) "Indent Emacs Lisp on the fly" single ((:commit . "39738c88c01a3a035edffe63400d434edb1e3003") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:keywords "lisp" "languages") (:url . "https://github.com/jiahaowork/el-fly-indent-mode.el"))]) - (el-get . [(20211224 959) nil "Manage the external elisp bits and pieces you depend upon" tar ((:commit . "9353309744e4f8a7c9b1adf22ec99536fb2146b0") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:keywords "emacs" "package" "elisp" "install" "elpa" "git" "git-svn" "bzr" "cvs" "svn" "darcs" "hg" "apt-get" "fink" "pacman" "http" "http-tar" "emacswiki") (:url . "http://www.emacswiki.org/emacs/el-get"))]) + (el-get . [(20211224 959) nil "Manage the external elisp bits and pieces you depend upon" tar ((:commit . "bf3dba444dcd240b8cb358a0850c8c5a92606134") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:keywords "emacs" "package" "elisp" "install" "elpa" "git" "git-svn" "bzr" "cvs" "svn" "darcs" "hg" "apt-get" "fink" "pacman" "http" "http-tar" "emacswiki") (:url . "http://www.emacswiki.org/emacs/el-get"))]) (el-init . [(20150728 920) ((emacs (24)) (cl-lib (0 5)) (anaphora (1 0 0))) "A loader inspired by init-loader" single ((:commit . "7538e1511ff7ceea2ba65ed4783c57e2f9176ee6") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/el-init"))]) (el-init-viewer . [(20150303 828) ((emacs (24)) (cl-lib (0 5)) (ctable (0 1 2)) (dash (2 10 0)) (anaphora (1 0 0)) (el-init (0 1 4))) "Record viewer for el-init" single ((:commit . "7c0169d356d6c007317e253e5776e1e48a60d6ad") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/el-init-viewer"))]) - (el-mock . [(20170824 1954) nil "Tiny Mock and Stub framework in Emacs Lisp" single ((:commit . "6ebfe64410d54b4cf76f655e416d49935d5e2ceb") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "lisp" "testing" "unittest") (:url . "http://github.com/rejeep/el-mock.el"))]) - (el-patch . [(20220417 1946) ((emacs (26))) "Future-proof your Elisp" tar ((:commit . "d4f4574bcf4005f4fbafde8874cb19b907783956") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/el-patch"))]) - (el-secretario . [(20220422 2005) ((emacs (27 1)) (org-ql (0 6 -1)) (hercules (0 3))) "Unify all your inboxes with the Emacs secretary" tar ((:commit . "78a811f02c7104a39b908f9e4c8436abde4b9620") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) - (el-secretario-elfeed . [(20211214 1851) ((emacs (27 1)) (el-secretario (0 0 1)) (elfeed (3 4 1))) "Add notmuch email inboxes to el-secretario" single ((:commit . "78a811f02c7104a39b908f9e4c8436abde4b9620") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) - (el-secretario-mu4e . [(20220422 2006) ((emacs (27 1)) (org-ql (0 6 -1)) (el-secretario (0 0 1))) "Add mu4e inboxes to el-secretario" single ((:commit . "78a811f02c7104a39b908f9e4c8436abde4b9620") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience" "mail") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) - (el-secretario-notmuch . [(20211214 1851) ((emacs (27 1)) (el-secretario (0 0 1)) (notmuch (0 3 1))) "Add notmuch inboxes to el-secretario" single ((:commit . "78a811f02c7104a39b908f9e4c8436abde4b9620") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience" "mail") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) - (el-secretario-org . [(20220411 1419) ((emacs (27 1)) (org-ql (0 6 -1)) (dash (2 18 1)) (el-secretario (0 0 1))) "Create inboxes out of org-mode files for el-secretario" single ((:commit . "78a811f02c7104a39b908f9e4c8436abde4b9620") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) + (el-mock . [(20220625 1949) nil "Tiny Mock and Stub framework in Emacs Lisp" single ((:commit . "6cfbc9de8f1927295dca6864907fe4156bd71910") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "lisp" "testing" "unittest") (:url . "http://github.com/rejeep/el-mock.el"))]) + (el-patch . [(20220509 2253) ((emacs (26))) "Future-proof your Elisp" tar ((:commit . "156c61b72c1c9c61bd886b5931b8a382153f52fa") (:authors ("Radian LLC" . "contact+el-patch@radian.codes")) (:maintainer "Radian LLC" . "contact+el-patch@radian.codes") (:keywords "extensions") (:url . "https://github.com/radian-software/el-patch"))]) + (el-secretario . [(20220422 2005) ((emacs (27 1)) (org-ql (0 6 -1)) (hercules (0 3))) "Unify all your inboxes with the Emacs secretary" tar ((:commit . "c28a4f42829ed1f96a17abb63a8616216db913a5") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) + (el-secretario-elfeed . [(20211214 1851) ((emacs (27 1)) (el-secretario (0 0 1)) (elfeed (3 4 1))) "Add notmuch email inboxes to el-secretario" single ((:commit . "c28a4f42829ed1f96a17abb63a8616216db913a5") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) + (el-secretario-mu4e . [(20220422 2006) ((emacs (27 1)) (org-ql (0 6 -1)) (el-secretario (0 0 1))) "Add mu4e inboxes to el-secretario" single ((:commit . "c28a4f42829ed1f96a17abb63a8616216db913a5") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience" "mail") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) + (el-secretario-notmuch . [(20220426 1905) ((emacs (27 1)) (el-secretario (0 0 1)) (notmuch (0 3 1))) "Add notmuch inboxes to el-secretario" single ((:commit . "c28a4f42829ed1f96a17abb63a8616216db913a5") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience" "mail") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) + (el-secretario-org . [(20220411 1419) ((emacs (27 1)) (org-ql (0 6 -1)) (dash (2 18 1)) (el-secretario (0 0 1))) "Create inboxes out of org-mode files for el-secretario" single ((:commit . "c28a4f42829ed1f96a17abb63a8616216db913a5") (:authors ("Leo Okawa Ericson ")) (:maintainer "Leo" . "github@relevant-information.com") (:keywords "convenience") (:url . "https://git.sr.ht/~zetagon/el-secretario"))]) (el-spec . [(20121018 704) nil "ruby's rspec like syntax test frame work" single ((:commit . "1dbc465401d4aea5560318c4f13ff30920a0718d") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:keywords "test") (:url . "https://github.com/uk-ar/el-spec"))]) (el-spice . [(20201013 1729) nil "Extra spice for emacs lisp programming" tar ((:commit . "a1adde201ee10881b522e67aa2c605378943a28d") (:authors ("Vedang Manerikar" . "vedang.manerikar@gmail.com")) (:maintainer "Vedang Manerikar" . "vedang.manerikar@gmail.com") (:keywords "languages" "extensions") (:url . "https://github.com/vedang/el-spice"))]) (el-sprunge . [(20200312 1212) ((web-server (20140105 2246)) (htmlize (20130207 1202)) (emacs (24 3))) "Command line paste server with Emacs highlighting" tar ((:commit . "e4365ea0bdf60969817619376bdcc98003fec33d") (:authors ("Eric Schulte" . "schulte.eric@gmail.com")) (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") (:keywords "http" "html" "server" "sprunge" "paste"))]) @@ -1140,10 +1158,10 @@ (el2org . [(20200408 146) ((emacs (25 1))) "Convert elisp file to org file" single ((:commit . "7db77fdd73f378d4e60e34c11bbdf00677adc32c") (:authors ("Feng Shu " . "tumashu@163.com")) (:maintainer "Feng Shu " . "tumashu@163.com") (:keywords "convenience") (:url . "https://github.com/tumashu/el2org"))]) (elbank . [(20180316 1343) ((emacs (25)) (seq (2 16))) "Personal finances reporting application" tar ((:commit . "fa9bc7dec0a8fd489e90b9f178719344cc8d315a") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:keywords "tools" "personal-finances"))]) (elcontext . [(20210109 1238) ((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 . "2efd3dd8c5176c4f071bb048be6cb069b05d6e9e") (:authors ("Thomas Sojka")) (:maintainer "Thomas Sojka") (:keywords "calendar" "convenience") (:url . "https://github.com/rollacaster/elcontext"))]) - (elcord . [(20220305 1234) ((emacs (25 1))) "Allows you to integrate Rich Presence from Discord" tar ((:commit . "70fd716e673b724b30b921f4cfa0033f9c02d0f2") (:authors ("heatingdevice") ("Wilfredo Velázquez-Rodríguez" . "zulu.inuoe@gmail.com")) (:maintainer "heatingdevice") (:keywords "games") (:url . "https://github.com/Mstrodl/elcord"))]) + (elcord . [(20220723 33) ((emacs (25 1))) "Allows you to integrate Rich Presence from Discord" tar ((:commit . "7aacd702335b4ab3344d3815c0fffed319effdf9") (:authors ("heatingdevice") ("Wilfredo Velázquez-Rodríguez" . "zulu.inuoe@gmail.com")) (:maintainer "heatingdevice") (:keywords "games") (:url . "https://github.com/Mstrodl/elcord"))]) (elcouch . [(20201108 955) ((emacs (25 1)) (json-mode (1 0 0)) (libelcouch (0 11 0)) (navigel (0 3 0))) "View and manipulate CouchDB databases" single ((:commit . "3d162dda14411349e12509029d2b621c5d1edea2") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "data" "tools") (:url . "https://gitlab.petton.fr/DamienCassou/elcouch"))]) - (eldev . [(20220417 1712) ((emacs (24 4))) "Elisp Development Tool" tar ((:commit . "42187b20dd62705f352a976d1bc327955f1e39e1") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "maint" "tools") (:url . "https://github.com/doublep/eldev"))]) - (eldoc-box . [(20220228 631) ((emacs (26 1))) "Display documentation in childframe" single ((:commit . "c0cbb8d9191a1df8a289aafc8cb94a3ebb515d6b") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/eldoc-box"))]) + (eldev . [(20220730 1643) ((emacs (24 4))) "Elisp development tool" tar ((:commit . "545412826f199cacdd5b4e937a719cc428e479be") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "maint" "tools") (:url . "https://github.com/doublep/eldev"))]) + (eldoc-box . [(20220729 844) ((emacs (27 1))) "Display documentation in childframe" single ((:commit . "4a57d48115501c68665535877e58694281a50563") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:url . "https://github.com/casouri/eldoc-box"))]) (eldoc-cmake . [(20190419 2244) ((emacs (25 1))) "Eldoc support for CMake" single ((:commit . "4453c03b5c95ff32842f13db2fc317fb0fe2f79e") (:authors ("Kirill Ignatiev")) (:maintainer "Kirill Ignatiev") (:url . "https://github.com/ikirill/eldoc-cmake"))]) (eldoc-eval . [(20220106 1951) nil "Enable eldoc support when minibuffer is in use." single ((:commit . "e91800503c90cb75dc70abe42f1d6ae499346cc1") (:authors ("Thierry Volpiatto" . "thievol@posteo.net")) (:maintainer "Thierry Volpiatto" . "thievol@posteo.net"))]) (eldoc-overlay . [(20220210 1358) ((emacs (24 3)) (inline-docs (1 0 1)) (quick-peek (1 0))) "Display eldoc with contextual documentation overlay." single ((:commit . "b96f5864a47407ec608c807e0d890f62b891ee03") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "documentation" "eldoc" "overlay") (:url . "https://repo.or.cz/eldoc-overlay.git"))]) @@ -1160,23 +1178,25 @@ (elfeed . [(20210822 2129) ((emacs (24 3))) "an Emacs Atom/RSS feed reader" tar ((:commit . "162d7d545ed41c27967d108c04aa31f5a61c8e16") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elfeed"))]) (elfeed-autotag . [(20210607 637) ((emacs (27 1)) (elfeed (3 4 1)) (elfeed-protocol (0 8 0)) (org (8 2 7)) (dash (2 10 0)) (s (1 9 0))) "Easy auto-tagging for elfeed" single ((:commit . "bc62c37fb79b720ff8b6d67f04f2268841306dcd") (:authors ("Paul Elms ")) (:maintainer "Paul Elms" . "paul@elms.pro") (:keywords "news") (:url . "https://github.com/paulelms/elfeed-autotag"))]) (elfeed-dashboard . [(20210727 603) ((emacs (25 1)) (elfeed (3 3 0))) "An extensible frontend for elfeed using org-mode" single ((:commit . "26ff3573efce3cb66c8814854a2983a69683af09") (:authors ("Manoj Kumar Manikchand" . "manojm321@protonmail.com")) (:maintainer "Manoj Kumar Manikchand" . "manojm321@protonmail.com") (:keywords "convenience") (:url . "https://github.com/Manoj321/elfeed-dashboard"))]) - (elfeed-goodies . [(20220306 2253) ((popwin (1 0 0)) (powerline (2 2)) (elfeed (2 0 0)) (cl-lib (0 5)) (link-hint (0 1))) "Elfeed goodies" tar ((:commit . "6711de66c22360f80fcfd9730293e5f3d419f787") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/elfeed-goodies"))]) - (elfeed-org . [(20220420 1234) ((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 . "e6bf4268485703907a97896fb1080f59977c9e3d") (:authors ("Remy Honig" . "remyhonig@gmail.com")) (:maintainer "Remy Honig" . "remyhonig@gmail.com") (:keywords "news") (:url . "https://github.com/remyhonig/elfeed-org"))]) - (elfeed-protocol . [(20220419 1358) ((emacs (24 4)) (elfeed (2 1 1)) (cl-lib (0 5))) "Provide fever/newsblur/owncloud/ttrss protocols for elfeed" tar ((:commit . "eaf1329ff221098eb6d4709245010d070c89b173") (:authors ("Xu Fasheng ")) (:maintainer "Xu Fasheng ") (:keywords "news") (:url . "https://github.com/fasheng/elfeed-protocol"))]) - (elfeed-score . [(20220202 201) ((emacs (26 1)) (elfeed (3 3 0))) "Gnus-style scoring for Elfeed" tar ((:commit . "3448413280d5e8fce0d8098476d246c6c584771d") (:authors ("Michael Herstine" . "sp1ff@pobox.com")) (:maintainer "Michael Herstine" . "sp1ff@pobox.com") (:keywords "news") (:url . "https://github.com/sp1ff/elfeed-score"))]) - (elfeed-summary . [(20220331 1634) ((emacs (27 1)) (magit-section (3 3 0)) (elfeed (3 4 1))) "Feed summary interface for elfeed" single ((:commit . "6357eb8b1ece47451f4c5eff46c0ee42081c38a8") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/elfeed-summary.el"))]) + (elfeed-goodies . [(20220614 49) ((popwin (1 0 0)) (powerline (2 2)) (elfeed (2 0 0)) (cl-lib (0 5)) (link-hint (0 1))) "Elfeed goodies" tar ((:commit . "c9d9cd196746add3010d74f43b5c9866562f39fb") (:authors ("Gergely Nagy")) (:maintainer "Gergely Nagy") (:url . "https://github.com/algernon/elfeed-goodies"))]) + (elfeed-org . [(20220529 1958) ((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 . "d28c858303e60dcb3a6eb18ea85ee3cb9e3dd623") (:authors ("Remy Honig" . "remyhonig@gmail.com")) (:maintainer "Remy Honig" . "remyhonig@gmail.com") (:keywords "news") (:url . "https://github.com/remyhonig/elfeed-org"))]) + (elfeed-protocol . [(20220524 336) ((emacs (24 4)) (elfeed (2 1 1)) (cl-lib (0 5))) "Provide fever/newsblur/owncloud/ttrss protocols for elfeed" tar ((:commit . "b813574faefc1ac4825da19b40f620339b6badff") (:authors ("Xu Fasheng ")) (:maintainer "Xu Fasheng ") (:keywords "news") (:url . "https://github.com/fasheng/elfeed-protocol"))]) + (elfeed-score . [(20220702 1548) ((emacs (26 1)) (elfeed (3 3 0))) "Gnus-style scoring for Elfeed" tar ((:commit . "ac938fdc617d489eb25f1d8c0bd800bb7693c588") (:authors ("Michael Herstine" . "sp1ff@pobox.com")) (:maintainer "Michael Herstine" . "sp1ff@pobox.com") (:keywords "news") (:url . "https://github.com/sp1ff/elfeed-score"))]) + (elfeed-summary . [(20220702 906) ((emacs (27 1)) (magit-section (3 3 0)) (elfeed (3 4 1))) "Feed summary interface for elfeed" single ((:commit . "012f6fee58404205f65fb20877eeaa6f1f6c6270") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/elfeed-summary.el"))]) + (elfeed-tube . [(20220703 2128) ((emacs (27 1)) (elfeed (3 4 1)) (aio (1 0))) "YouTube integration for Elfeed" tar ((:commit . "5817c91f5b3b7159965aa73839d2a0a08fd952bd") (:authors ("Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com")) (:maintainer "Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com") (:keywords "news" "hypermedia" "convenience") (:url . "https://github.com/karthink/elfeed-tube"))]) + (elfeed-tube-mpv . [(20220704 1952) ((emacs (27 1)) (elfeed-tube (0 10)) (mpv (0 2 0))) "Control mpv from Elfeed" single ((:commit . "5817c91f5b3b7159965aa73839d2a0a08fd952bd") (:authors ("Karthik Chikmagalur" . "karthikchikmagalur@gmail.com")) (:maintainer "Karthik Chikmagalur" . "karthikchikmagalur@gmail.com") (:keywords "news" "hypermedia") (:url . "https://github.com/karthink/elfeed-tube"))]) (elfeed-web . [(20210226 258) ((simple-httpd (1 5 1)) (elfeed (3 2 0)) (emacs (24 3))) "web interface to Elfeed" tar ((:commit . "162d7d545ed41c27967d108c04aa31f5a61c8e16") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elfeed"))]) (elforth . [(20210522 928) ((emacs (26 1))) "Do you have what it takes to hack Emacs Lisp in Forth?" single ((:commit . "2d8540434a28e7edaa04a992c3c362832b2fd61e") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "games") (:url . "https://github.com/lassik/elforth"))]) (elgrep . [(20211221 852) ((emacs (26 2)) (async (1 5))) "Searching files for regular expressions" single ((:commit . "f8124c699b6a4abfb471269bc26afbcc8136f476") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:keywords "tools" "matching" "files" "unix") (:url . "https://github.com/TobiasZawada/elgrep"))]) (elhome . [(20161025 2042) ((initsplit (20120630))) "A framework for a \"home\" Emacs configuration" tar ((:commit . "e789e806469af3e9705f72298683c21f6c3a516d") (:authors ("Dave Abrahams" . "dave@boostpro.com")) (:maintainer "Demyan Rogozhin" . "demyan.rogozhin@gmail.com") (:keywords "lisp") (:url . "http://github.com/demyanrogozhin/elhome"))]) - (elisp-def . [(20210126 750) ((dash (2 12 0)) (f (0 19 0)) (s (1 11 0)) (emacs (24 3))) "macro-aware go-to-definition for elisp" single ((:commit . "dfca043ec0cbead67bd9c526cb009daf771d0fa2") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "lisp"))]) - (elisp-demos . [(20210312 542) ((emacs (24 4))) "Elisp API Demos" tar ((:commit . "924b07d28e4f5b82f0e1377bcde800068f0a6d9d") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "lisp" "docs") (:url . "https://github.com/xuchunyang/elisp-demos"))]) + (elisp-def . [(20220803 1647) ((dash (2 12 0)) (f (0 19 0)) (s (1 11 0)) (emacs (24 3))) "macro-aware go-to-definition for elisp" single ((:commit . "1d2e88a232ec16bce036b49577c4d4d96035f9f7") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "lisp"))]) + (elisp-demos . [(20220707 410) ((emacs (24 4))) "Elisp API Demos" tar ((:commit . "4b51dff1ee5b6cb9fac946431753489cd96a67b0") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "lisp" "docs") (:url . "https://github.com/xuchunyang/elisp-demos"))]) (elisp-depend . [(20190325 1114) nil "Parse depend libraries of elisp file." single ((:commit . "6679da9a6be5a845bb4804224c8394a9bc62168f"))]) (elisp-depmap . [(20220223 1131) ((emacs (26 1)) (dash (2 17 0))) "Generate an elisp dependency map in graphviz" tar ((:commit . "15909462e3f7daf445d3cecf402ee16c7e3263ed") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://gitlab.com/mtekman/elisp-depmap.el"))]) (elisp-docstring-mode . [(20170304 1615) nil "Major mode for editing elisp docstrings." single ((:commit . "f512e509dd690f65133e55563ebbfd2dede5034f") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "languages"))]) (elisp-format . [(20160508 952) nil "Format elisp code" single ((:commit . "03cc293eb2f78ec58fc1d84279af06816a04b979") (:authors (nil . "Andy Stewart lazycat.manatee@gmail.com")) (:maintainer "Yuki Inoue inouetakahiroki _at_ gmail.com") (:url . "https://github.com/Yuki-Inoue/elisp-format"))]) (elisp-lint . [(20220419 252) ((emacs (24 4)) (dash (2 15 0)) (package-lint (0 11))) "Basic linting for Emacs Lisp" single ((:commit . "c5765abf75fd1ad22505b349ae1e6be5303426c2") (:authors ("Nikolaj Schumacher ,")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:keywords "lisp" "maint" "tools") (:url . "http://github.com/gonewest818/elisp-lint/"))]) - (elisp-refs . [(20220220 2305) ((dash (2 12 0)) (s (1 11 0))) "find callers of elisp functions or macros" single ((:commit . "8f84280997d8b233d66fb9958a34b46078c58b03") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "lisp"))]) + (elisp-refs . [(20220704 2141) ((dash (2 12 0)) (s (1 11 0))) "find callers of elisp functions or macros" single ((:commit . "af73739084637c8ebadad337a8fe58ff4f1d2ec1") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "lisp"))]) (elisp-sandbox . [(20131116 1842) nil "Evaluate EmacsLisp expressions in a sandbox" single ((:commit . "d894d68934ef09c42f72ac4e1173a0bedc23f139") (:authors ("Joel McCracken , D. Goel" . "deego@gnufans.org")) (:maintainer "Joel McCracken , D. Goel" . "deego@gnufans.org") (:keywords "lisp") (:url . "https://github.com/joelmccracken/elisp-sandbox"))]) (elisp-slime-nav . [(20210510 528) ((emacs (24 1)) (cl-lib (0 2))) "Make M-. and M-, work in elisp like they do in slime" single ((:commit . "8588d80d414aee1fafce5b9da0e913612ee0bcdd") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages" "navigation" "slime" "elisp" "emacs-lisp") (:url . "https://github.com/purcell/elisp-slime-nav"))]) (elixir-mode . [(20220314 1302) ((emacs (25))) "Major mode for editing Elixir files" tar ((:commit . "e0d0466d83ec80ddb412bb1473908a21baad1ec3") (:keywords "languages" "elixir") (:url . "https://github.com/elixir-editors/emacs-elixir"))]) @@ -1195,10 +1215,10 @@ (elpa-audit . [(20141023 1331) nil "Handy functions for inspecting and comparing package archives" single ((:commit . "727da50e626977351aff2675b6540a36818bbbe6") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "maint") (:url . "https://github.com/purcell/elpa-audit"))]) (elpa-clone . [(20211205 1237) ((emacs (24 4))) "Clone ELPA archive" single ((:commit . "03d8e2af55dfb34ab9da1f9385079a995383b2ea") (:authors ("ZHANG Weiyi" . "dochang@gmail.com")) (:maintainer "ZHANG Weiyi" . "dochang@gmail.com") (:keywords "comm" "elpa" "clone" "mirror") (:url . "https://github.com/dochang/elpa-clone"))]) (elpa-deploy . [(20191022 718) ((emacs (24 4)) (f (0 0))) "ELPA deployment library" single ((:commit . "f5126a2da1e0e52981fad9c12028814be80328c2") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:keywords "tools") (:url . "https://github.com/oitofelix/elpa-deploy"))]) - (elpa-mirror . [(20220123 1237) ((emacs (25 1))) "Create local package repository from installed packages" single ((:commit . "3e0fe0f91d1c5798752c255b89950617f88b8d9e") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "tools") (:url . "http://github.com/redguardtoo/elpa-mirror"))]) - (elpher . [(20220411 818) ((emacs (27 1))) "A friendly gopher and gemini client" tar ((:commit . "ab75cffa4572115c3d6b17348b6bfa2f746f4798") (:authors ("Tim Vaughan" . "plugd@thelambdalab.xyz")) (:maintainer "Tim Vaughan" . "plugd@thelambdalab.xyz") (:keywords "comm" "gopher") (:url . "https://thelambdalab.xyz/elpher"))]) - (elpl . [(20220314 1353) ((emacs (24 4))) "Emacs Lisp REPL" single ((:commit . "32eaec0fc7d20b8acbd4d459bfb8f8b72d75bb66") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "lisp" "tool") (:url . "https://github.com/twlz0ne/elpl"))]) - (elpy . [(20220322 41) ((company (0 9 2)) (emacs (24 4)) (highlight-indentation (0 5 0)) (pyvenv (1 3)) (yasnippet (0 8 0)) (s (1 11 0))) "Emacs Python Development Environment" tar ((:commit . "1746e7009000b7635c0ea6f1559018143aa61642") (:authors ("Jorgen Schaefer , Gaby Launay" . "gaby.launay@protonmail.com")) (:maintainer "Jorgen Schaefer , Gaby Launay" . "gaby.launay@protonmail.com") (:keywords "python" "ide" "languages" "tools") (:url . "https://github.com/jorgenschaefer/elpy"))]) + (elpa-mirror . [(20220526 1512) ((emacs (25 1))) "Create local package repository from installed packages" single ((:commit . "2e2048bc335d170b5680e97c6a4cccd71eb85129") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "tools") (:url . "http://github.com/redguardtoo/elpa-mirror"))]) + (elpher . [(20220715 612) ((emacs (27 1))) "A friendly gopher and gemini client" tar ((:commit . "b42463a49eca1f319bc1830f70295e8f127fb40b") (:authors ("Tim Vaughan" . "plugd@thelambdalab.xyz")) (:maintainer "Tim Vaughan" . "plugd@thelambdalab.xyz") (:keywords "comm" "gopher") (:url . "https://thelambdalab.xyz/elpher"))]) + (elpl . [(20220328 316) ((emacs (24 4))) "Emacs Lisp REPL" single ((:commit . "501871ab543b9967bfe87a8a82f83ab96b7f909e") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "lisp" "tool") (:url . "https://github.com/twlz0ne/elpl"))]) + (elpy . [(20220627 1416) ((company (0 9 2)) (emacs (24 4)) (highlight-indentation (0 5 0)) (pyvenv (1 3)) (yasnippet (0 8 0)) (s (1 11 0))) "Emacs Python Development Environment" tar ((:commit . "de31d30003c515c25ff7bfd3a361c70c298f78bb") (:authors ("Jorgen Schaefer , Gaby Launay" . "gaby.launay@protonmail.com")) (:maintainer "Jorgen Schaefer , Gaby Launay" . "gaby.launay@protonmail.com") (:keywords "python" "ide" "languages" "tools") (:url . "https://github.com/jorgenschaefer/elpy"))]) (elpygen . [(20171225 1736) ((emacs (25)) (yasnippet (0 8 0))) "Generate a Python function/method using a symbol under point" single ((:commit . "21929c997a05968f9eefe52b85a76ceaab3b0d81") (:authors ("Vladimir Kazanov" . "vkazanov@inbox.ru")) (:maintainer "Vladimir Kazanov" . "vkazanov@inbox.ru") (:keywords "python" "languages" "tools") (:url . "https://github.com/vkazanov/elpygen"))]) (elquery . [(20220331 143) ((emacs (25 1)) (dash (2 13 0))) "The HTML library for elisp" tar ((:commit . "38f3bd41096cb270919b06095da0b9ac1add4598") (:authors ("Adam Niederer")) (:maintainer "Adam Niederer") (:keywords "html" "hypermedia" "tools" "webscale") (:url . "https://github.com/AdamNiederer/elquery"))]) (elsa . [(20220223 2021) ((trinary (1 0 0)) (emacs (25 1)) (seq (0)) (f (0)) (dash (2 14)) (cl-lib (0 3))) "Emacs Lisp Static Analyser" tar ((:commit . "21ed4f46e2d02ffb48b3ae377b0c93732ccf3f4f") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "languages" "lisp"))]) @@ -1212,28 +1232,29 @@ (elvish-mode . [(20180809 1612) ((emacs (24 3))) "Defines a major mode for Elvish" single ((:commit . "a13fcaf209d803e2e450ca2bf80dea94b40a0141") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/elvish-mode"))]) (elwm . [(20150817 1007) ((dash (1 1 0))) "Minimalistic window manager for emacs" single ((:commit . "c33b183f006ad476c3a44dab316f580f8b369930") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "docs") (:url . "https://github.com/Fuco1/elwm"))]) (elx . [(20220331 2252) ((emacs (25 1))) "extract information from Emacs Lisp libraries" single ((:commit . "ea0b10340b22e8dd0454fe37ba84ff2157fada4f") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "docs" "libraries" "packages") (:url . "https://github.com/emacscollective/elx"))]) - (emacs-everywhere . [(20220407 329) ((emacs (26 3))) "System-wide popup windows for quick edits" single ((:commit . "54b9ba1ac0d7f8b644354fd6d27c9e3aff111dcc") (:authors ("TEC ")) (:maintainer "TEC" . "tec@tecosaur.com") (:keywords "conenience" "frames") (:url . "https://github.com/tecosaur/emacs-everywhere"))]) + (emacs-everywhere . [(20220628 1501) ((emacs (26 3))) "System-wide popup windows for quick edits" single ((:commit . "cbe56e216df38756de11370535601b5324fdc63b") (:authors ("TEC ")) (:maintainer "TEC" . "tec@tecosaur.com") (:keywords "conenience" "frames") (:url . "https://github.com/tecosaur/emacs-everywhere"))]) (emacsc . [(20220420 1042) nil "helper for emacsc(1)" tar ((:commit . "199c08147ebe98da1004c478c92ba8866950b637") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "tools") (:url . "https://github.com/knu/emacsc"))]) (emacsist-view . [(20160426 1223) nil "Mode for viewing emacsist.com" single ((:commit . "f67761259ed779a9bc95c9a4e0474522990c5c6b") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "usability") (:url . "https://github.com/lujun9972/emacsist-view"))]) (emacsql . [(20220408 1614) ((emacs (25 1))) "high-level SQL database front-end" tar ((:commit . "373975cbccf7776af771e23f86043b236a330702") (: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 . "373975cbccf7776af771e23f86043b236a330702") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (emacsql-psql . [(20220101 1820) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for PostgreSQL via psql" tar ((:commit . "373975cbccf7776af771e23f86043b236a330702") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) (emacsql-sqlite . [(20220218 1543) ((emacs (25 1)) (emacsql (2 0 0))) "EmacSQL back-end for SQLite" tar ((:commit . "373975cbccf7776af771e23f86043b236a330702") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/emacsql"))]) - (emacsql-sqlite-builtin . [(20220422 1605) ((emacs (29)) (emacsql (3 0 0)) (emacsql-sqlite (3 0 0))) "EmacSQL back-end for SQLite using builtin support" single ((:commit . "5501f7b7577dc8aa968c0d2183d081f334ad051a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "data") (:url . "https://github.com/emacscollective/emacsql-sqlite-builtin"))]) - (emacsql-sqlite-module . [(20220422 1605) ((emacs (25)) (emacsql (3 0 0)) (emacsql-sqlite (3 0 0)) (sqlite3 (0 15))) "EmacSQL back-end for SQLite using a module" single ((:commit . "5501f7b7577dc8aa968c0d2183d081f334ad051a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "data") (:url . "https://github.com/emacscollective/emacsql-sqlite-builtin"))]) + (emacsql-sqlite-builtin . [(20220422 1605) ((emacs (29)) (emacsql (3 0 0)) (emacsql-sqlite (3 0 0))) "EmacSQL back-end for SQLite using builtin support" single ((:commit . "3e820c66fdaa9937f9e612900954dcd6c7d01943") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "data") (:url . "https://github.com/emacscollective/emacsql-sqlite-builtin"))]) + (emacsql-sqlite-module . [(20220422 1605) ((emacs (25)) (emacsql (3 0 0)) (emacsql-sqlite (3 0 0)) (sqlite3 (0 15))) "EmacSQL back-end for SQLite using a module" single ((:commit . "3e820c66fdaa9937f9e612900954dcd6c7d01943") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "data") (:url . "https://github.com/emacscollective/emacsql-sqlite-builtin"))]) (emacsql-sqlite3 . [(20220304 1014) ((emacs (26 1)) (emacsql (3 0 0))) "Yet another EmacSQL backend for SQLite" single ((:commit . "2113618732665f2112cb932a66c0e89c404d8777") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:keywords "extensions") (:url . "https://github.com/cireu/emacsql-sqlite3"))]) (emacsshot . [(20191206 944) ((emacs (24 4))) "Snapshot a frame or window from within" tar ((:commit . "fe958b11056f3c671ebdd604d5aa574323284ca5") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl") (:keywords "convenience") (:url . "https://gitlab.com/marcowahl/emacsshot"))]) (emamux . [(20200315 1220) ((emacs (24 3))) "Interact with tmux" single ((:commit . "6172131d78038f0b1490e24bac60534bf4ad3b30") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-emamux"))]) (emamux-ruby-test . [(20130812 1639) ((emamux (0 1)) (projectile (0 9 1))) "Ruby test with emamux" single ((:commit . "23b73c650573b340351a919da3da416acfc2ac84") (:url . "https://github.com/syohex/emamux-ruby-test"))]) (emaps . [(20200508 1759) ((dash (2 17 0)) (emacs (24))) "Utilities for working with keymaps" single ((:commit . "7c561f3ded2015ed3774e5784059d6601082743e") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:keywords "convenience" "keyboard" "keymap" "utility") (:url . "https://github.com/GuiltyDolphin/emaps"))]) - (embark . [(20220425 1718) ((emacs (26 1))) "Conveniently act on minibuffer completions" tar ((:commit . "19e0de0786f7d5db196ff1d5a459d39e265b2960") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) - (embark-consult . [(20220423 1631) ((emacs (26 1)) (embark (0 12)) (consult (0 10))) "Consult integration for Embark" single ((:commit . "19e0de0786f7d5db196ff1d5a459d39e265b2960") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) + (embark . [(20220704 37) ((emacs (26 1))) "Conveniently act on minibuffer completions" tar ((:commit . "5d0459d27aa7cf738b5af36cf862723a62bef955") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) + (embark-consult . [(20220704 37) ((emacs (27 1)) (embark (0 17)) (consult (0 17))) "Consult integration for Embark" single ((:commit . "5d0459d27aa7cf738b5af36cf862723a62bef955") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience") (:url . "https://github.com/oantolin/embark"))]) + (embark-vc . [(20220720 613) ((emacs (26 1)) (embark (0 13)) (forge (0 3)) (s (1 12 0))) "Embark actions for various version control integrations" single ((:commit . "4a6fcf96d07c79ab8c5f4fe3f84b4335a2a4033f") (:authors ("Ellis Kenyő ")) (:maintainer "Ellis Kenyő" . "me@elken.dev") (:keywords "convenience" "matching" "terminals" "tools" "unix" "vc") (:url . "https://github.com/elken/embark-vc"))]) (ember-mode . [(20200208 1423) ((cl-lib (0 5))) "Ember navigation mode for emacs" single ((:commit . "a587c423041b2fcb065fd5b6a03b2899b764e462") (:authors ("Aad Versteden" . "madnificent@gmail.com")) (:maintainer "Aad Versteden" . "madnificent@gmail.com") (:keywords "ember" "ember.js" "emberjs"))]) (ember-yasnippets . [(20160526 1658) ((yasnippet (0 8 0))) "Snippets for Ember.js development" tar ((:commit . "3b5bd01569646237bf1b540d097e12f9118b67f4") (:authors ("Ron White" . "ronco@costite.com")) (:maintainer "Ron White" . "ronco@costite.com") (:keywords "tools" "abbrev" "languages"))]) (embrace . [(20171031 1833) ((cl-lib (0 5)) (expand-region (0 10 0))) "Add/Change/Delete pairs based on `expand-region'" single ((:commit . "dd5da196e5bcc5e6d87e1937eca0c21da4334ef2") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) (emidje . [(20190209 1726) ((emacs (25)) (cider (0 17 0)) (seq (2 16)) (magit-popup (2 4 0))) "Test runner and report viewer for Midje" single ((:commit . "7e92f053964d925c97dc8cca8d4d70a3030021db") (:authors ("Alan Ghelardi" . "alan.ghelardi@nubank.com.br")) (:maintainer "Alan Ghelardi" . "alan.ghelardi@nubank.com.br") (:keywords "tools") (:url . "https://github.com/nubank/emidje"))]) (emmet-mode . [(20210820 1124) nil "Unofficial Emmet's support for emacs" single ((:commit . "6b2e554f7fd27f732810f4b14ea01e3c54b7b3da") (:authors ("Shin Aoyama" . "smihica@gmail.com")) (:maintainer "Shin Aoyama" . "smihica@gmail.com") (:keywords "convenience") (:url . "https://github.com/smihica/emmet-mode"))]) - (emms . [(20220422 1318) ((cl-lib (0 5)) (nadvice (0 3)) (seq (0))) "The Emacs Multimedia System" tar ((:commit . "22f3d9e5359c565b33f55715f90fbde35e4f675e") (:authors ("Jorgen Schäfer" . "forcer@forcix.cx")) (:maintainer "Yoni Rabkin" . "yrk@gnu.org") (:keywords "emms" "mp3" "ogg" "flac" "music" "mpeg" "video" "multimedia") (:url . "https://www.gnu.org/software/emms/"))]) + (emms . [(20220714 1758) ((cl-lib (0 5)) (nadvice (0 3)) (seq (0))) "The Emacs Multimedia System" tar ((:commit . "061b36c5627706b2a7e4a636ed9644bb68e800bb") (:authors ("Jorgen Schäfer" . "forcer@forcix.cx")) (:maintainer "Yoni Rabkin" . "yrk@gnu.org") (:keywords "emms" "mp3" "ogg" "flac" "music" "mpeg" "video" "multimedia") (:url . "https://www.gnu.org/software/emms/"))]) (emms-bilibili . [(20180103 418) ((emacs (25)) (cl-lib (0 5))) "Play Bilibili in EMMS." single ((:commit . "294bca3dfc42fe3a55fb326ab39bc0fcfc8c5090") (:keywords "emms" "bilibili") (:url . "https://github.com/stardiviner/emms-bilibili"))]) (emms-info-mediainfo . [(20131223 1300) ((emms (0))) "Info-method for EMMS using medianfo" single ((:commit . "bce16eae9eacd38719fea62a9755225a888da59d") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org") (:keywords "multimedia" "processes"))]) (emms-mark-ext . [(20130529 327) ((emms (3 0))) "Extra functions for emms-mark-mode and emms-tag-edit-mode" single ((:commit . "ec68129e3e9e469e5bf160c6a1b7030e322f3541") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "convenience" "multimedia") (:url . "https://github.com/vapniks/emms-mark-ext"))]) @@ -1244,8 +1265,8 @@ (emms-state . [(20211023 1942) ((emms (0))) "Display track description and playing time in the mode line" single ((:commit . "cdb3ee85369758727b3c082e4ade1ae2b559b334") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "emms") (:url . "https://github.com/alezost/emms-state.el"))]) (emoji-cheat-sheet-plus . [(20200202 1404) ((emacs (24)) (helm (1 6 4))) "emoji-cheat-sheet for emacs" tar ((:commit . "ffcc84d7060dfa000148e7f8be4fd6701593a74f") (:authors ("Sylvain Benner (based on the work of Shingo Fukuyama)")) (:maintainer "Sylvain Benner (based on the work of Shingo Fukuyama)") (:keywords "emacs" "emoji") (:url . "https://github.com/syl20bnr/emacs-emoji-cheat-sheet-plus"))]) (emoji-display . [(20140117 1013) nil "emoji displaying module" single ((:commit . "bb4217f6400151a9cfa6d4524b8427f01feb5193") (:authors ("Kazuhiro Ito" . "kzhr@d1.dion.ne.jp")) (:maintainer "Kazuhiro Ito" . "kzhr@d1.dion.ne.jp") (:keywords "emoji") (:url . "https://github.com/ikazuhiro/emoji-display"))]) - (emoji-fontset . [(20160726 1924) nil "Set font face for Emoji." single ((:commit . "8f159e8073b9b57a07a54b549df687424eeb98ee") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "emoji" "font" "config"))]) - (emoji-github . [(20200825 425) ((emacs (24 4)) (emojify (1 0)) (request (0 3 0))) "Display list of GitHub's emoji. (cheat sheet)" single ((:commit . "a9b96fee7da09620547a176146ebd5ebe32ba06c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/emoji-github"))]) + (emoji-fontset . [(20160726 1924) nil "Set font face for Emoji." single ((:commit . "75d8ee5b9d2117e30f02c6ce9c608a005aee5d86") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "emoji" "font" "config"))]) + (emoji-github . [(20220704 648) ((emacs (24 4)) (emojify (1 0)) (request (0 3 0))) "Display list of GitHub's emoji. (cheat sheet)" single ((:commit . "caaa3a10a9c44aba74f4964b04169b0adedeb2f9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "list" "github" "emoji" "display") (:url . "https://github.com/jcs-elpa/emoji-github"))]) (emoji-recall . [(20160723 2208) ((emacs (24))) "How many emoji can you recall from memory?" tar ((:commit . "d9122f8fb1467309260109a1985cd14f18fdf631") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "game") (:url . "https://github.com/lujun9972/emoji-recall.el"))]) (emojify . [(20210108 1111) ((seq (1 11)) (ht (2 0)) (emacs (24 3))) "Display emojis in Emacs" tar ((:commit . "1b726412f19896abf5e4857d4c32220e33400b55") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:keywords "multimedia" "convenience") (:url . "https://github.com/iqbalansari/emacs-emojify"))]) (emojify-logos . [(20180814 917) ((emojify (0 4))) "Add logos to emojify" tar ((:commit . "a3e78bcbdf863092d4c9b026ac08bf7d1c7c0e8b") (:authors ("mxgoldstein" . "m_goldstein@gmx.net")) (:maintainer "mxgoldstein" . "m_goldstein@gmx.net") (:url . "https://github.com/mxgoldstein/emojify-logos"))]) @@ -1253,24 +1274,25 @@ (emr . [(20220108 548) ((s (1 3 1)) (dash (1 2 0)) (cl-lib (0 2)) (popup (0 5 0)) (emacs (24 1)) (list-utils (0 3 0)) (paredit (24 0 0)) (projectile (0 9 1)) (clang-format (0 0 1)) (iedit (0 97))) "Emacs refactoring system." tar ((:commit . "cac1b52932926f56d7f6d2923732d20bbd20670d") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com") (:keywords "tools" "convenience" "refactoring") (:url . "https://github.com/Wilfred/emacs-refactor"))]) (enclose . [(20121008 1614) nil "Enclose cursor within punctuation pairs." tar ((:commit . "2747653e84af39017f503064bc66ed1812a77259") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience") (:url . "http://github.com/rejeep/enclose"))]) (encourage-mode . [(20151128 905) ((emacs (24 4))) "Encourages you in your work. :D" single ((:commit . "99edacf2d94d168d3da0609860dc7253db7c9815") (:authors ("Patrick Mosby" . "patrick@schreiblogade.de")) (:maintainer "Patrick Mosby" . "patrick@schreiblogade.de") (:keywords "fun") (:url . "https://github.com/halbtuerke/encourage-mode.el"))]) - (engine-mode . [(20200611 1825) ((cl-lib (0 5))) "Define and query search engines from within Emacs." single ((:commit . "e0910f141f2d37c28936c51c3c8bb8a9ca0c01d1") (:authors ("Harry R. Schwartz" . "hello@harryrschwartz.com")) (:maintainer "Harry R. Schwartz" . "hello@harryrschwartz.com") (:url . "https://github.com/hrs/engine-mode"))]) - (enh-ruby-mode . [(20210120 201) ((emacs (24 3))) "Major mode for editing Ruby files" tar ((:commit . "e960bf941d9fa9d92eabf7c03a8bbb51ba1ac453") (:authors ("Geoff Jacobsen")) (:maintainer "Ryan Davis") (:keywords "languages" "elisp" "ruby") (:url . "http://github.com/zenspider/Enhanced-Ruby-Mode"))]) + (encrypt-region . [(20220802 918) ((emacs (26 1))) "Encrypts and decrypts regions" single ((:commit . "8ff5704bc6f4c57f935a8b7680129e599bbe474f") (:authors ("Carlton Shepherd" . "carlton@linux.com")) (:maintainer "Carlton Shepherd" . "carlton@linux.com") (:keywords "tools" "convenience") (:url . "https://github.com/cgshep/encrypt-region"))]) + (engine-mode . [(20220519 1916) ((cl-lib (0 5))) "Define and query search engines from within Emacs." single ((:commit . "57045918301f5a96f67bd409f7683987a72272cd") (:authors ("Harry R. Schwartz" . "hello@harryrschwartz.com")) (:maintainer "Harry R. Schwartz" . "hello@harryrschwartz.com") (:url . "https://github.com/hrs/engine-mode"))]) + (enh-ruby-mode . [(20220717 652) ((emacs (25 1))) "Major mode for editing Ruby files" tar ((:commit . "8dcb8888cd8007420594212945fee88f82b663f6") (:authors ("Geoff Jacobsen")) (:maintainer "Ryan Davis") (:keywords "languages" "elisp" "ruby") (:url . "https://github.com/zenspider/Enhanced-Ruby-Mode"))]) (enlightened-theme . [(20210220 2327) nil "A theme based on enlightened" single ((:commit . "1bfebd8f47e8a8357c9e557cf6e95d7027861e6d") (:url . "https://hg.sr.ht/~slondr/enlightened"))]) (enlive . [(20170725 1417) nil "query html document with css selectors" single ((:commit . "604a8ca272b6889f114e2b5a13adb5b1dc4bae86") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:keywords "css" "selector" "query") (:url . "http://github.com/zweifisch/enlive"))]) (eno . [(20191013 1239) ((dash (2 12 1)) (edit-at-point (1 0))) "Goto/copy/cut any word/symbol/line in view, similar to ace-jump/easymotion" single ((:commit . "c5c6193687c0bede1ddf507c430cf8b0a6d272d9") (:authors (nil . "")) (:maintainer nil . "") (:url . "http://github.com/enoson/eno.el"))]) (enotify . [(20130407 1348) nil "A networked notification system for emacs" tar ((:commit . "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com") (:keywords "tools"))]) - (envrc . [(20220218 1627) ((seq (2)) (emacs (24 4)) (inheritenv (0 1))) "Support for `direnv' that operates buffer-locally" single ((:commit . "4730b31ff1479b6d822ccc7517251dcb52de45b3") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "processes" "tools") (:url . "https://github.com/purcell/envrc"))]) + (envrc . [(20220604 1519) ((seq (2)) (emacs (25 1)) (inheritenv (0 1))) "Support for `direnv' that operates buffer-locally" single ((:commit . "7f36664fc6d97a7ca77c6c3e0c6577b72fa0b70d") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "processes" "tools") (:url . "https://github.com/purcell/envrc"))]) (eopengrok . [(20200205 624) ((s (1 9 0)) (dash (2 10 0)) (magit (2 1 0)) (cl-lib (0 5))) "opengrok interface for emacs" single ((:commit . "6fa16c4ccaaebaef64dca0d3d29904c45fd6597d") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com") (:keywords "tools"))]) (epc . [(20140610 534) ((concurrent (0 3 1)) (ctable (0 1 2))) "A RPC stack for the Emacs Lisp" tar ((:commit . "e1bfa5ca163273859336e3cc89b4b6460f7f8cda") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "lisp" "rpc") (:url . "https://github.com/kiwanami/emacs-epc"))]) (epic . [(20170210 23) ((htmlize (1 47))) "Evernote Picker for Cocoa Emacs" single ((:commit . "a41826c330eb0ea061d58a08cc861b0c4ac8ec4e") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:keywords "evernote" "applescript") (:url . "https://github.com/yoshinari-nomura/epic"))]) (eping . [(20201027 2149) ((emacs (25 1))) "Ping websites to check internet connectivity" tar ((:commit . "99d3a4b6973d5b09864e0af7425a61f99c19b90a") (:authors ("Sean Hutchings" . "seanhut@yandex.com")) (:maintainer "Sean Hutchings" . "seanhut@yandex.com") (:keywords "comm" "processes" "terminals" "unix") (:url . "https://github.com/sean-hut/eping"))]) - (epkg . [(20220423 1552) ((emacs (25 1)) (compat (28 1 1 0)) (closql (20210927))) "Browse the Emacsmirror package database" tar ((:commit . "5dd40e242f305859a26ebbd6249e7cbf7361e005") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/epkg"))]) - (epkg-marginalia . [(20220424 2211) ((emacs (26)) (compat (28 1 1 0)) (epkg (3 3 1)) (marginalia (0 12))) "Show Epkg information in completion annotations" single ((:commit . "73519c62db12c17804bfbcdfb0a6028389374bec") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/epkg-marginalia"))]) + (epkg . [(20220510 2036) ((emacs (25 1)) (compat (28 1 1 0)) (closql (20210927))) "Browse the Emacsmirror package database" tar ((:commit . "4524f9a8f19717c4afb84a184db7841b4ffcbf56") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/epkg"))]) + (epkg-marginalia . [(20220511 1942) ((emacs (27 1)) (compat (28 1 1 0)) (epkg (3 3 1)) (marginalia (0 12))) "Show Epkg information in completion annotations" single ((:commit . "ee784211346c7c374accec2bda78788cc68fa641") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/emacscollective/epkg-marginalia"))]) (epl . [(20180205 2049) ((cl-lib (0 3))) "Emacs Package Library" single ((:commit . "78ab7a85c08222cd15582a298a364774e3282ce6") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "convenience") (:url . "http://github.com/cask/epl"))]) (epm . [(20190509 443) ((emacs (24 3)) (epl (0 8))) "Emacs Package Manager" tar ((:commit . "6375ddbf93c5f25647f6ebb25b54045b3c93a5be") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:url . "https://github.com/xuchunyang/epm"))]) (epresent . [(20160411 201) ((org (8)) (cl-lib (0 5))) "Simple presentation mode for Emacs Org-mode" single ((:commit . "6c8abedcf46ff08091fa2bba52eb905c6290057d") (:keywords "gui") (:url . "https://github.com/dakrone/epresent"))]) (eproject . [(20180312 1642) ((helm (1 6 4))) "assign files to projects, programatically" tar ((:commit . "068218d2cf2138cb2e8fc29b57e773a0097a7e8b") (:authors ("Jonathan Rockway" . "jon@jrock.us")) (:maintainer "Jonathan Rockway" . "jon@jrock.us") (:keywords "programming" "projects"))]) - (equake . [(20220424 350) ((emacs (26 1)) (dash (2 14 1))) "Drop-down console for (e)shell & terminal emulation" single ((:commit . "ea5c0570f58b8e62249e001ed434a1056a50abe7") (:authors ("Benjamin Slade" . "slade@lambda-y.net")) (:maintainer "Benjamin Slade" . "slade@lambda-y.net") (:keywords "convenience" "frames" "terminals" "tools" "window-system") (:url . "https://gitlab.com/emacsomancer/equake"))]) + (equake . [(20220627 2248) ((emacs (26 1)) (dash (2 14 1))) "Drop-down console for (e)shell & terminal emulation" single ((:commit . "25d2bb9b60fdfae72990d8971be3db593ca4266b") (:authors ("Benjamin Slade" . "slade@lambda-y.net")) (:maintainer "Benjamin Slade" . "slade@lambda-y.net") (:keywords "convenience" "frames" "terminals" "tools" "window-system") (:url . "https://gitlab.com/emacsomancer/equake"))]) (eradio . [(20210327 1000) ((emacs (24 1))) "A simple Internet radio player" single ((:commit . "47769986c79def84307921f0277e9bb2714756c2") (:authors ("Olav Fosse" . "mail@olavfosse.no")) (:maintainer "Olav Fosse" . "mail@olavfosse.no") (:url . "https://github.com/fossegrim/eradio"))]) (erblint . [(20200622 5) ((emacs (24))) "An interface for checking HTML ERB files using Erblint" single ((:commit . "89af42f776d8dc656104322edaace2ede7499932") (:authors ("Leonardo Santos")) (:maintainer "Leonardo Santos") (:keywords "project" "convenience") (:url . "https://github.com/leodcs/erblint-emacs"))]) (erc-colorize . [(20170107 1339) nil "Per user colorization of whole message" single ((:commit . "d026a016dcb9d63d9ac66d30627a92a8f1681bbd") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "erc" "convenience") (:url . "https://github.com/thisirs/erc-colorize.git"))]) @@ -1294,15 +1316,15 @@ (erefactor . [(20200513 1252) ((cl-lib (0 3))) "Emacs-Lisp refactoring utilities" single ((:commit . "bfe27a1b8c7cac0fe054e76113e941efa3775fe8") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "extensions" "tools" "maint") (:url . "https://github.com/mhayashi1120/Emacs-erefactor"))]) (ergoemacs-mode . [(20220411 338) ((emacs (24 1)) (cl-lib (0 5))) "Emacs mode based on common modern interface and ergonomics." tar ((:commit . "9cd89eef490f6c9f4af273bb3dd2c68d5ed2de61") (:authors ("Xah Lee" . "xah@xahlee.org") ("David Capello" . "davidcapello@gmail.com") ("Matthew L. Fidler" . "matthew.fidler@gmail.com") ("Kim F. Storm" . "storm@cua.dk")) (:maintainer "Matthew L. Fidler" . "matthew.fidler@gmail.com") (:keywords "convenience") (:url . "https://github.com/ergoemacs/ergoemacs-mode"))]) (ergoemacs-status . [(20160318 538) ((powerline (2 3)) (mode-icons (0 1 0))) "Adaptive Status Bar / Mode Line" single ((:commit . "d952cc2361adf6eb4d6af60950ad4ab699c81320") (:authors ("Matthew Fidler")) (:maintainer "Matthew Fidler"))]) - (eri . [(20200914 644) nil "Enhanced relative indentation (eri)" single ((:commit . "7ca527c6f1712cff2975508e140103b49f03d526") (:url . "https://github.com/agda/agda"))]) - (erlang . [(20220215 1844) ((emacs (24 1))) "Erlang major mode" tar ((:commit . "990db3c92a55265673be883554ada262b16616fa") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "erlang" "languages" "processes"))]) - (erlstack-mode . [(20210419 1917) ((emacs (25 1)) (dash (2 12 0))) "Minor mode for analysing Erlang stacktraces" single ((:commit . "ca264bca24cdaa8b2bac57882716f03f633e42b0") (:authors ("k32")) (:maintainer "k32") (:keywords "tools" "erlang") (:url . "https://github.com/k32/erlstack-mode"))]) + (eri . [(20200914 644) nil "Enhanced relative indentation (eri)" single ((:commit . "5d2d77abbc0c97f5b23d7089797c3ef8796508dc") (:url . "https://github.com/agda/agda"))]) + (erlang . [(20220215 1844) ((emacs (24 1))) "Erlang major mode" tar ((:commit . "f97de7a99692cb08b5e27d17e86d92707ad16eed") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "erlang" "languages" "processes"))]) + (erlstack-mode . [(20220617 2049) ((emacs (25 1)) (dash (2 12 0))) "Minor mode for analysing Erlang stacktraces" single ((:commit . "a4a30f74e48894ccfdefc073a9e1b005ee632017") (:authors ("k32")) (:maintainer "k32") (:keywords "tools" "erlang") (:url . "https://github.com/k32/erlstack-mode"))]) (eros . [(20180415 618) ((emacs (24 4))) "Evaluation Result OverlayS for Emacs Lisp" single ((:commit . "dd8910279226259e100dab798b073a52f9b4233a") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:keywords "convenience" "lisp") (:url . "https://github.com/xiongtx/eros"))]) (ert-async . [(20200105 1031) ((emacs (24 1))) "Async support for ERT" single ((:commit . "948cf2faa10e085bda3739034ca5ea1912893433") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "lisp" "test") (:url . "http://github.com/rejeep/ert-async.el"))]) (ert-expectations . [(20121009 734) nil "The simplest unit test framework in the world" single ((:commit . "aed70e002c4305b66aed7f6d0d48e9addd2dc1e6") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "test" "unittest" "ert" "expectations") (:url . "http://www.emacswiki.org/emacs/download/ert-expectations.el"))]) (ert-junit . [(20190802 2232) ((ert (0)) (emacs (23 4))) "JUnit XML reports from ert results" single ((:commit . "65f91c35b088b87943dbbbe7e1ce354bc9bc0992") (:authors ("Ola Nilsson" . "ola.nilsson@gmail.com")) (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:keywords "tools" "test" "unittest" "ert") (:url . "http://bitbucket.org/olanilsson/ert-junit"))]) (ert-modeline . [(20140115 1015) ((s (1 3 1)) (dash (1 2 0)) (emacs (24 1)) (projectile (0 9 1))) "displays ert test results in the modeline." single ((:commit . "e7be2b81191afb437b70368a819770f8f750e4af") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com") (:keywords "tools" "tests" "convenience"))]) - (ert-runner . [(20201005 2336) ((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 . "80cf4f60ec8c1f04f58054ed8ad2dcfacc17d8b5") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "test") (:url . "http://github.com/rejeep/ert-runner.el"))]) + (ert-runner . [(20220513 1142) ((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 . "69d66b934223d5f1801ba3a4c8dbfb3453f2a041") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "test") (:url . "http://github.com/rejeep/ert-runner.el"))]) (es-lib . [(20141111 1830) ((cl-lib (0 3))) "A collection of emacs utilities" tar ((:commit . "753b27363e39c10edc9e4e452bdbbbe4d190df4a") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/es-lib"))]) (es-mode . [(20201125 2059) ((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 . "cde5cafcbbbd57db6d38ae7452de626305bba68d") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:keywords "elasticsearch") (:url . "http://www.github.com/dakrone/es-mode"))]) (es-windows . [(20140211 904) ((cl-lib (0 3)) (emacs (24))) "Window-management utilities" single ((:commit . "239e30408cb1adb4bc8bd63e2df34711fa910b4f") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/es-windows"))]) @@ -1316,13 +1338,13 @@ (eshell-fixed-prompt . [(20220104 1535) ((emacs (25)) (s (1 11 0))) "Restrict eshell to a single fixed prompt" single ((:commit . "302c241b42764bd6b4ed6d3c6ea360b5a2292fbc") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (eshell-fringe-status . [(20170117 2316) nil "Show last status in fringe" single ((:commit . "adc6997c68e39c0d52a2af1b2fd5cf2057783797") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:url . "http://projects.ryuslash.org/eshell-fringe-status/"))]) (eshell-git-prompt . [(20220206 458) ((emacs (24 1)) (cl-lib (0 5)) (dash (2 11 0))) "Some Eshell prompt for Git users" single ((:commit . "1eb1fd56649f291cac482fbf06dd43ef867873bc") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "eshell" "git") (:url . "https://github.com/xuchunyang/eshell-git-prompt"))]) - (eshell-info-banner . [(20220402 1721) ((emacs (25 1)) (s (1))) "System information as your Eshell banner" single ((:commit . "53fc69b8712b9869cee49468a6e418d64d2c3ab9") (:authors ("Lucien Cartier-Tilet" . "lucien@phundrak.com")) (:maintainer "Lucien Cartier-Tilet" . "lucien@phundrak.com") (:url . "https://github.com/Phundrak/eshell-info-banner.el"))]) + (eshell-info-banner . [(20220728 1006) ((emacs (25 1)) (s (1))) "System information as your Eshell banner" single ((:commit . "2f4e59ea7ac2129b175af2b6acf353b29687fb9f") (:authors ("Lucien Cartier-Tilet" . "lucien@phundrak.com")) (:maintainer "Lucien Cartier-Tilet" . "lucien@phundrak.com") (:url . "https://github.com/Phundrak/eshell-info-banner.el"))]) (eshell-outline . [(20201121 620) ((emacs (25 1))) "Enhanced outline-mode for Eshell" single ((:commit . "6f917afa5b3d36764d76d7864589094647d8c3b4") (:authors ("Jamie Beardslee" . "jdb@jamzattack.xyz")) (:maintainer "Jamie Beardslee" . "jdb@jamzattack.xyz") (:keywords "unix" "eshell" "outline" "convenience") (:url . "https://git.jamzattack.xyz/eshell-outline"))]) (eshell-prompt-extras . [(20210925 110) ((emacs (25))) "Display extra information for your eshell prompt." single ((:commit . "c2078093323206b91a1b1f5786d79faa00b76be7") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "eshell" "prompt") (:url . "https://github.com/zwild/eshell-prompt-extras"))]) (eshell-syntax-highlighting . [(20210429 413) ((emacs (25 1))) "Highlight eshell commands" single ((:commit . "8e3a685fc6d97af79e1046e5b24385786d8e92f6") (:authors ("Alex Kreisher" . "akreisher18@gmail.com")) (:maintainer "Alex Kreisher" . "akreisher18@gmail.com") (:keywords "convenience") (:url . "https://github.com/akreisher/eshell-syntax-highlighting"))]) - (eshell-toggle . [(20210407 2039) ((emacs (25 1)) (dash (2 11 0))) "Show/hide eshell under active window." single ((:commit . "7160518ca56444fead841b8acff59aeffc7cebb3") (:authors ("Dmitry Cherkassov" . "dcherkassov@gmail.com")) (:maintainer "Dmitry Cherkassov" . "dcherkassov@gmail.com") (:keywords "processes") (:url . "https://github.com/4da/eshell-toggle"))]) + (eshell-toggle . [(20220718 729) ((emacs (25 1)) (dash (2 11 0))) "Show/hide eshell under active window." single ((:commit . "d4e884624f02e68b267b0044322ad17baa6780f8") (:authors ("Dmitry Cherkassov" . "dcherkassov@gmail.com")) (:maintainer "Dmitry Cherkassov" . "dcherkassov@gmail.com") (:keywords "processes") (:url . "https://github.com/4da/eshell-toggle"))]) (eshell-up . [(20170425 1737) ((emacs (24))) "Quickly go to a specific parent directory in eshell" single ((:commit . "ff84e6069b98f2ed00857a0f78bff19d96e4955c") (: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") (:keywords "eshell") (:url . "https://github.com/peterwvj/eshell-up"))]) - (eshell-vterm . [(20211024 1443) ((emacs (27 1)) (vterm (0 0 1))) "Vterm for visual commands in eshell" single ((:commit . "f2212dbfa51aa4b67efda55304b2b3811e8e0625") (:authors ("Illia Ostapyshyn" . "ilya.ostapyshyn@gmail.com")) (:maintainer "Illia Ostapyshyn" . "ilya.ostapyshyn@gmail.com") (:keywords "eshell" "vterm" "terminals" "shell" "visual" "tools" "processes") (:url . "https://github.com/iostapyshyn/eshell-vterm"))]) + (eshell-vterm . [(20220506 1212) ((emacs (27 1)) (vterm (0 0 1))) "Vterm for visual commands in eshell" single ((:commit . "4e8589fcaf6243011a76b4816e7689d913927aab") (:authors ("Illia Ostapyshyn" . "ilya.ostapyshyn@gmail.com")) (:maintainer "Illia Ostapyshyn" . "ilya.ostapyshyn@gmail.com") (:keywords "eshell" "vterm" "terminals" "shell" "visual" "tools" "processes") (:url . "https://github.com/iostapyshyn/eshell-vterm"))]) (eshell-z . [(20191116 333) ((cl-lib (0 5))) "cd to frequent directory in eshell" single ((:commit . "337cb241e17bd472bd3677ff166a0800f684213c") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "convenience") (:url . "https://github.com/xuchunyang/eshell-z"))]) (eslint-disable-rule . [(20220328 354) ((emacs (27 2))) "Commands to add JS comments disabling eslint rules" tar ((:commit . "7d4cc05d336fbc465f91a87b38bf360efaf76fcf") (:url . "https://github.com/DamienCassou/eslint-disable-rule"))]) (eslint-fix . [(20211005 221) nil "Fix JavaScript files using ESLint" single ((:commit . "0435d8e2864bb4f1be59ae548d0068c69fa31c7a") (:authors ("Neri Marschik" . "marschik_neri@cyberagent.co.jp")) (:maintainer "Neri Marschik" . "marschik_neri@cyberagent.co.jp") (:keywords "tools" "javascript" "eslint" "lint" "formatting" "style") (:url . "https://github.com/codesuki/eslint-fix"))]) @@ -1335,21 +1357,21 @@ (espy . [(20200317 2333) ((emacs (24))) "Emacs Simple Password Yielder" single ((:commit . "2c01be937a5e5bde62921684a0b27300705fb4e0") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:keywords "convenience") (:url . "https://github.com/walseb/espy"))]) (esqlite . [(20151206 1206) ((pcsv (1 3 3))) "Manipulate sqlite file from Emacs" single ((:commit . "08a779a821f8d32c1a1985d8d9eb6cf21646ce2e") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "data") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) (esqlite-helm . [(20151116 850) ((esqlite (0 2 0)) (helm (20131207 845))) "Define helm source for sqlite database" single ((:commit . "08a779a821f8d32c1a1985d8d9eb6cf21646ce2e") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "data") (:url . "https://github.com/mhayashi1120/Emacs-esqlite"))]) - (ess . [(20220225 1523) ((emacs (25 1))) "Emacs Speaks Statistics" tar ((:commit . "39eba283000a7b0220303d7c5a4f3ee05efc1e9c") (:authors ("David Smith" . "dsmith@stats.adelaide.edu.au") ("A.J. Rossini" . "blindglobe@gmail.com") ("Richard M. Heiberger" . "rmh@temple.edu") ("Kurt Hornik" . "Kurt.Hornik@R-project.org") ("Martin Maechler" . "maechler@stat.math.ethz.ch") ("Rodney A. Sparapani" . "rsparapa@mcw.edu") ("Stephen Eglen" . "stephen@gnu.org") ("Sebastian P. Luque" . "spluque@gmail.com") ("Henning Redestig" . "henning.red@googlemail.com") ("Vitalie Spinu" . "spinuvit@gmail.com") ("Lionel Henry" . "lionel.hry@gmail.com") ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "ESS Core Team" . "ESS-core@r-project.org") (:url . "https://ess.r-project.org/"))]) + (ess . [(20220727 1131) ((emacs (25 1))) "Emacs Speaks Statistics" tar ((:commit . "b8167727d3c51f7adee6ebcad698ab566b68a55e") (:authors ("David Smith" . "dsmith@stats.adelaide.edu.au") ("A.J. Rossini" . "blindglobe@gmail.com") ("Richard M. Heiberger" . "rmh@temple.edu") ("Kurt Hornik" . "Kurt.Hornik@R-project.org") ("Martin Maechler" . "maechler@stat.math.ethz.ch") ("Rodney A. Sparapani" . "rsparapa@mcw.edu") ("Stephen Eglen" . "stephen@gnu.org") ("Sebastian P. Luque" . "spluque@gmail.com") ("Henning Redestig" . "henning.red@googlemail.com") ("Vitalie Spinu" . "spinuvit@gmail.com") ("Lionel Henry" . "lionel.hry@gmail.com") ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "ESS Core Team" . "ESS-core@r-project.org") (:url . "https://ess.r-project.org/"))]) (ess-R-data-view . [(20130509 1158) ((ctable (20130313 1743)) (popup (20130324 1305)) (ess (20130225 1754))) "Data viewer for GNU R" single ((:commit . "d6e98d3ae1e2a2ea39a56eebcdb73e99d29562e9") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "convenience") (:url . "https://github.com/myuhe/ess-R-data-view.el"))]) - (ess-r-insert-obj . [(20211209 812) ((emacs (26 1)) (ess (18 10 1))) "Insert objects in ESS-R" single ((:commit . "dd367cb918c90ec6d3824da869f7a75bb1ca49b6") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/ess-r-insert-obj"))]) + (ess-r-insert-obj . [(20220610 1406) ((emacs (26 1)) (ess (18 10 1))) "Insert objects in ESS-R" single ((:commit . "2ded9c23d0af2a7f6c0e02f9ea4af0e5b3cb7fb4") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/ess-r-insert-obj"))]) (ess-smart-equals . [(20210411 1333) ((emacs (25 1)) (ess (18 10))) "flexible, context-sensitive assignment key for R/S" single ((:commit . "fea9eea4b59c3e9559b379508e3500076ca99ef1") (:authors ("Christopher R. Genovese" . "genovese@cmu.edu")) (:maintainer "Christopher R. Genovese" . "genovese@cmu.edu") (:keywords "r" "s" "ess" "convenience") (:url . "https://github.com/genovese/ess-smart-equals"))]) (ess-smart-underscore . [(20190309 101) ((ess (0))) "Ess Smart Underscore" tar ((:commit . "aa871c5b0448515db439ea9bed6a8574e82ddb47") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew Fidler") (:keywords "ess" "underscore") (:url . "http://github.com/mlf176f2/ess-smart-underscore.el"))]) (ess-view . [(20181001 1730) ((ess (15)) (s (1 8 0)) (f (0 16 0))) "View R dataframes in a spreadsheet software" single ((:commit . "925cafd876e2cc37bc756bb7fcf3f34534b457e2") (:authors ("Bocci Gionata" . "boccigionata@gmail.com")) (:maintainer "Bocci Gionata" . "boccigionata@gmail.com") (:keywords "extensions" "ess") (:url . "https://github.com/GioBo/ess-view"))]) - (ess-view-data . [(20220124 1430) ((emacs (26 1)) (ess (18 10 1)) (csv-mode (1 12))) "View Data" single ((:commit . "6277684e06d5c3a2cbd340f656b7ffca4046e45b") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/ess-view-data"))]) + (ess-view-data . [(20220610 1406) ((emacs (26 1)) (ess (18 10 1)) (csv-mode (1 12))) "View Data" single ((:commit . "aab369f84cadebbbca7c3825741d643ebeb6b722") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/ess-view-data"))]) (esup . [(20220202 2335) ((cl-lib (0 5)) (s (1 2)) (emacs (25 1))) "The Emacs StartUp Profiler (ESUP)" tar ((:commit . "4b49c8d599d4cc0fbf994e9e54a9c78e5ab62a5f") (:authors ("Joe Schafer" . "joe@jschaf.com")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:keywords "convenience" "processes") (:url . "https://github.com/jschaf/esup"))]) - (esxml . [(20211122 1657) ((emacs (24 1)) (kv (0 0 5)) (cl-lib (0 5))) "Library for working with xml via esxml and sxml" tar ((:commit . "23c9684af4c0548dc00e28fd7b504fcfd43abb5f") (:authors ("Evan Izaksonas-Smith ")) (:maintainer "Evan Izaksonas-Smith") (:keywords "tools" "lisp" "comm") (:url . "https://github.com/tali713/esxml"))]) + (esxml . [(20220506 759) ((emacs (24 1)) (kv (0 0 5)) (cl-lib (0 5))) "Library for working with xml via esxml and sxml" tar ((:commit . "7ac1fec0e45f12836b301fd9b8e7297434db2f70") (:authors ("Evan Izaksonas-Smith ")) (:maintainer "Evan Izaksonas-Smith") (:keywords "tools" "lisp" "comm") (:url . "https://github.com/tali713/esxml"))]) (eta . [(20210115 1655) ((emacs (25 1)) (ht (2 2)) (dash (2 17))) "standard and multi dispatch key bind" single ((:commit . "c7540ac50163f368fec1918dfc334304d9b36c51") (:authors ("Chris Zheng")) (:maintainer "Chris Zheng") (:keywords "convenience" "usability") (:url . "https://www.github.com/zcaudate/eta"))]) (etable . [(20161028 2009) ((dash (2 9 0)) (interval-list (0 1)) (emacs (24 4))) "Implementation of javax.swing.JTable for Emacs." tar ((:commit . "d502141f0c69bf95256ba5cb9cd15350c7e942d2") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "convenience") (:url . "https://github.com/Fuco1/ETable"))]) (etc-sudoers-mode . [(20201102 1707) ((sudo-edit (0)) (with-editor (0))) "Edit Sudo security policies" single ((:commit . "74c66c58c9578a0d841206d5dec04d81e7b3d741") (:authors ("Peter Oliver" . "git@mavit.org.uk")) (:maintainer "Peter Oliver" . "git@mavit.org.uk") (:keywords "languages") (:url . "https://gitlab.com/mavit/etc-sudoers-mode/"))]) (eterm-256color . [(20210224 2241) ((emacs (24 4)) (xterm-color (1 7)) (f (0 19 0))) "Customizable 256 colors for term." tar ((:commit . "c9cfccef03e730f7ab2b407aada3df15ace1fe32") (:authors ("Diego A. Mundo" . "dieggsy@pm.me")) (:maintainer "Diego A. Mundo" . "dieggsy@pm.me") (:keywords "faces") (:url . "http://github.com/dieggsy/eterm-256color"))]) (eterm-fn . [(20191010 2331) ((term (0))) "Function keys (F1--F12) for term." tar ((:commit . "66f3b2f6308fa2ac4d8a32be5a7e35a96e08a9ee") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:keywords "terminals") (:url . "https://github.com/oitofelix/eterm-fn"))]) - (ethan-wspace . [(20201106 2059) nil "whitespace customizations for emacs" single ((:commit . "035c7d698c99e3891a522d6e6f8fde23c6267c15") (:authors ("Ethan Glasser-Camp" . "ethan@betacantrips.com")) (:maintainer "Ethan Glasser-Camp" . "ethan@betacantrips.com") (:keywords "whitespace" "tab" "newline" "trailing" "clean"))]) + (ethan-wspace . [(20201106 2059) nil "whitespace customizations for emacs" single ((:commit . "d205f7781f18f6746d50e562dc5e3595189ccd64") (:authors ("Ethan Glasser-Camp" . "ethan@betacantrips.com")) (:maintainer "Ethan Glasser-Camp" . "ethan@betacantrips.com") (:keywords "whitespace" "tab" "newline" "trailing" "clean"))]) (etherpad . [(20211128 106) ((emacs (26 3)) (request (0 3)) (let-alist (0 0)) (websocket (1 12)) (parsec (0 1)) (0xc (0 1))) "Interface to the Etherpad API" tar ((:commit . "1fae6a03084e0794e09ac036838b53aaae1dbd63") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "comm" "etherpad" "collaborative editing") (:url . "https://github.com/zzkt/ethermacs"))]) (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") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:keywords "euslisp" "euslisp" "github") (:url . "https://github.com/iory/euslisp-mode"))]) (eval-expr . [(20120619 647) nil "enhanced eval-expression command" single ((:commit . "a0e69e83de41df8dbccefc1962ab4f02206a3328") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer nil . "friedman@splode.com") (:keywords "lisp" "extensions"))]) @@ -1359,7 +1381,7 @@ (evalator-clojure . [(20160208 2148) ((cider (0 10 0)) (evalator (1 0 0))) "Clojure evaluation context for evalator via CIDER." tar ((:commit . "caa4e0a137bdfada86593128a654e16aa617ad50") (:authors ("Sean Irby")) (:maintainer "Sean Irby" . "sean.t.irby@gmail.com") (:keywords "languages" "clojure" "cider" "helm") (:url . "http://www.github.com/seanirby/evalator-clojure"))]) (eve-mode . [(20170822 2231) ((emacs (25)) (polymode (1 0)) (markdown-mode (2 0))) "Major mode for editing Eve documents." single ((:commit . "a4661114d9c18725691b76321d72167ca5a9070a") (:authors ("Joshua Cole" . "joshuafcole@gmail.com")) (:maintainer "Joshua Cole" . "joshuafcole@gmail.com") (:keywords "languages" "wp" "tools") (:url . "https://github.com/witheve/emacs-eve-mode"))]) (everlasting-scratch . [(20220412 921) ((emacs (25 1))) "The *scratch* that lasts forever" single ((:commit . "8706c55f3b7c267c15b8f10170ecec9998b3cc3d") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:keywords "convenience" "tool") (:url . "https://github.com/beacoder/everlasting-scratch"))]) - (evil . [(20220424 2228) ((emacs (24 1)) (goto-chg (1 6)) (cl-lib (0 5))) "Extensible Vi layer for Emacs." tar ((:commit . "f75732de0ca5cae70f17dbc4bf7df03cb4ec491f") (:maintainer "Tom Dalziel" . "tom.dalziel@gmail.com") (:keywords "emulation" "vim") (:url . "https://github.com/emacs-evil/evil"))]) + (evil . [(20220802 1212) ((emacs (24 1)) (goto-chg (1 6)) (cl-lib (0 5))) "Extensible Vi layer for Emacs." tar ((:commit . "5e562ae0a5775a6928fddb6f97a76d770a59dfa6") (:maintainer "Tom Dalziel" . "tom.dalziel@gmail.com") (:keywords "emulation" "vim") (:url . "https://github.com/emacs-evil/evil"))]) (evil-anzu . [(20200514 1902) ((evil (1 0 0)) (anzu (0 46))) "anzu for evil-mode" single ((:commit . "d3f6ed4773b48767bd5f4708c7f083336a8a8a86") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com") ("Fredrik Bergroth" . "fbergroth@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-evil-anzu"))]) (evil-args . [(20220125 1626) ((evil (1 0 8))) "Motions and text objects for delimited arguments in Evil." single ((:commit . "2671071a4a57eaee7cc8c27b9e4b6fc60fd2ccd3") (:authors ("Connor Smith" . "wconnorsmith@gmail.com")) (:maintainer "Connor Smith" . "wconnorsmith@gmail.com") (:keywords "evil" "vim-emulation") (:url . "http://github.com/wcsmith/evil-args"))]) (evil-avy . [(20150908 748) ((emacs (24 1)) (cl-lib (0 5)) (avy (0 3 0)) (evil (1 2 3))) "set-based completion" single ((:commit . "2dd955cc3ecaa7ddeb67b295298abdc6d16dd3a5") (:authors ("Yufan Lou" . "loganlyf@gmail.com")) (:maintainer "Yufan Lou" . "loganlyf@gmail.com") (:keywords "point" "location" "evil" "vim") (:url . "https://github.com/louy2/evil-avy"))]) @@ -1367,7 +1389,7 @@ (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") (:authors ("Olli Piepponen" . "opieppo@gmail.com")) (:maintainer "Olli Piepponen" . "opieppo@gmail.com") (:keywords "cleverparens" "parentheses" "evil" "paredit" "smartparens") (:url . "https://github.com/luxbock/evil-cleverparens"))]) (evil-colemak-basics . [(20220222 1856) ((emacs (24 3)) (evil (1 2 12)) (evil-snipe (2 0 3))) "Basic Colemak key bindings for evil-mode" single ((:commit . "66648de206a7368013f28c0d053b1b32c3efe6c6") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:keywords "convenience" "emulations" "colemak" "evil") (:url . "https://github.com/wbolster/evil-colemak-basics"))]) (evil-colemak-minimal . [(20171006 1317) ((emacs (24)) (evil (1 2 12))) "Minimal Colemak key bindings for evil-mode" single ((:commit . "6d98b6da60f414524a0d718f76024c26dce742b3") (:authors ("Bryan Allred" . "bryan@revolvingcow.com")) (:maintainer "Bryan Allred" . "bryan@revolvingcow.com") (:keywords "colemak" "evil") (:url . "https://github.com/bmallred/evil-colemak-minimal"))]) - (evil-collection . [(20220425 851) ((emacs (25 1)) (evil (1 2 13)) (annalist (1 0))) "A set of keybindings for Evil mode" tar ((:commit . "694c1b4201dce70e7a98bdf6d95cd1a08107fc97") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "evil" "tools") (:url . "https://github.com/emacs-evil/evil-collection"))]) + (evil-collection . [(20220730 1602) ((emacs (26 3)) (evil (1 2 13)) (annalist (1 0))) "A set of keybindings for Evil mode" tar ((:commit . "8cb38434801b5e364abc1e160021c6f1d1a0a006") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "evil" "tools") (:url . "https://github.com/emacs-evil/evil-collection"))]) (evil-commentary . [(20210210 1702) ((evil (1 0 0))) "Comment stuff out. A port of vim-commentary." tar ((:commit . "2dab6ac34d1617971768ad219d73af48f7473fec") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:keywords "evil" "comment" "commentary" "evil-commentary") (:url . "http://github.com/linktohack/evil-commentary"))]) (evil-dvorak . [(20160416 1841) ((evil (1 0 8))) "evil keybindings for that work with dvorak mode" tar ((:commit . "824f7c56980d72a0ff04c662223540cd66f13754") (:authors ("Joshua Branson")) (:maintainer "Joshua Branson") (:keywords "dvorak" "evil" "vim"))]) (evil-easymotion . [(20200424 135) ((emacs (24)) (avy (0 3 0)) (cl-lib (0 5))) "A port of vim's easymotion to emacs" single ((:commit . "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:keywords "convenience" "evil") (:url . "https://github.com/pythonnut/evil-easymotion"))]) @@ -1388,18 +1410,18 @@ (evil-indent-textobject . [(20130831 2219) ((evil (0))) "evil textobjects based on indentation" single ((:commit . "70a1154a531b7cfdbb9a31d6922482791e20a3a7") (:authors ("Michael Markert" . "markert.michael@gmail.com")) (:maintainer "Michael Markert" . "markert.michael@gmail.com") (:keywords "convenience" "evil") (:url . "http://github.com/cofi/evil-indent-textobject"))]) (evil-leader . [(20140606 1243) ((evil (0))) "let there be " single ((:commit . "39f7014bcf8b36463e0c7512c638bda4bac6c2cf") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Michael Markert" . "markert.michael@googlemail.com") (:keywords "evil" "vim-emulation" "leader") (:url . "http://github.com/cofi/evil-leader"))]) (evil-ledger . [(20180802 1612) ((emacs (24 4)) (evil (1 2 12)) (ledger-mode (0))) "Make `ledger-mode' more `evil'." single ((:commit . "7a9f9f5d39c42fffdba8004f8982642351f2b233") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:keywords "convenience" "evil" "languages" "ledger" "vim-emulation") (:url . "https://github.com/atheriel/evil-ledger"))]) - (evil-lion . [(20220317 1030) ((emacs (24 3)) (evil (1 0 0))) "Evil align operator, port of vim-lion" single ((:commit . "4da660e124731ed65e7aaa6c067c30e876619429") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:keywords "emulations" "evil" "vim") (:url . "http://github.com/edkolev/evil-lion"))]) + (evil-lion . [(20220317 1030) ((emacs (24 3)) (evil (1 0 0))) "Evil align operator, port of vim-lion" single ((:commit . "a55eb647422342f6b1cf867f797b060b3645d9d8") (:authors ("edkolev" . "evgenysw@gmail.com")) (:maintainer "edkolev" . "evgenysw@gmail.com") (:keywords "emulations" "evil" "vim") (:url . "http://github.com/edkolev/evil-lion"))]) (evil-lisp-state . [(20160404 248) ((evil (1 0 9)) (bind-map (0)) (smartparens (1 6 1))) "An evil state to edit Lisp code" single ((:commit . "3c65fecd9917a41eaf6460f22187e2323821f3ce") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:keywords "convenience" "editing" "evil" "smartparens" "lisp" "mnemonic") (:url . "https://github.com/syl20bnr/evil-lisp-state"))]) (evil-lispy . [(20190502 739) ((lispy (0 26 0)) (evil (1 2 12)) (hydra (0 13 5))) "precision Lisp editing with Evil and Lispy" tar ((:commit . "ed317f7fccbdbeea8aa04a91b1b1f48a0e2ddc4e") (:authors ("Brandon Carrell , Mika Vilpas" . "mika.vilpas@gmail.com")) (:maintainer "Brandon Carrell , Mika Vilpas" . "mika.vilpas@gmail.com") (:keywords "lisp") (:url . "https://github.com/sp3ctum/evil-lispy"))]) (evil-mark-replace . [(20200630 940) ((evil (1 14 0))) "replace the thing in marked area" single ((:commit . "d4fec7b10e93cca149163324cd2b2b2dcc211047") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "http://github.com/redguardtoo/evil-mark-replace"))]) - (evil-matchit . [(20220414 1316) ((evil (1 14 0)) (emacs (25 1))) "Vim matchit ported to Evil" tar ((:commit . "b314e816bacfc01bb7df9b19a06b18638af5cdbe") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "matchit" "vim" "evil") (:url . "http://github.com/redguardtoo/evil-matchit"))]) + (evil-matchit . [(20220608 1134) ((emacs (25 1))) "Vim matchit ported to Evil" tar ((:commit . "296cc6580b990dec41893bdb08d8294ded4cb91b") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "matchit" "vim" "evil") (:url . "http://github.com/redguardtoo/evil-matchit"))]) (evil-mc . [(20220118 122) ((emacs (24 3)) (evil (1 2 14)) (cl-lib (0 5))) "Multiple cursors for evil-mode" tar ((:commit . "63fd2fe0c213a4cc31c464d246f92931c4cb720f") (:authors ("Gabriel Adomnicai" . "gabesoft@gmail.com")) (:maintainer "Gabriel Adomnicai" . "gabesoft@gmail.com") (:keywords "evil" "editing" "multiple-cursors" "vim" "evil-multiple-cursors" "evil-mc" "evil-mc") (:url . "https://github.com/gabesoft/evil-mc"))]) (evil-mc-extras . [(20170202 1649) ((emacs (24 3)) (evil (1 2 12)) (cl-lib (0 5)) (evil-mc (0 0 2)) (evil-numbers (0 4))) "Extra functionality for evil-mc" tar ((:commit . "8c1af3232dd1e15b2ea38360b8cd1e857e11c416") (:authors ("Gabriel Adomnicai" . "gabesoft@gmail.com")) (:maintainer "Gabriel Adomnicai" . "gabesoft@gmail.com") (:keywords "evil" "editing" "multiple-cursors" "vim" "evil-multiple-cursors" "evil-mc" "evil-mc-extras") (:url . "https://github.com/gabesoft/evil-mc-extras"))]) (evil-mu4e . [(20180613 1039) ((emacs (24 4)) (evil (1 2 10))) "evil-based key bindings for mu4e" single ((:commit . "5b22c1e30246318f233264506272d770f63897ca") (:authors ("Joris Engbers" . "info@jorisengbers.nl")) (:maintainer "Joris Engbers" . "info@jorisengbers.nl") (:url . "https://github.com/JorisE/evil-mu4e"))]) (evil-multiedit . [(20211121 1650) ((emacs (25 1)) (evil (1 14 0)) (iedit (0 9 9)) (cl-lib (0 5))) "multiple cursors for evil-mode" single ((:commit . "23b53bc8743fb82a8854ba907b1d277374c93a79") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "multiple cursors" "editing" "iedit") (:url . "https://github.com/hlissner/evil-multiedit"))]) - (evil-nerd-commenter . [(20220414 1201) ((emacs (25 1))) "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar ((:commit . "95ed1ad2448e7f49f1ee417061b61edbb69a0749") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "convenience" "evil") (:url . "http://github.com/redguardtoo/evil-nerd-commenter"))]) + (evil-nerd-commenter . [(20220718 1414) ((emacs (25 1))) "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar ((:commit . "b1a92221c9735c2681806a3d5a86c7258e73089f") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "convenience" "evil") (:url . "http://github.com/redguardtoo/evil-nerd-commenter"))]) (evil-nl-break-undo . [(20181125 2054) nil "Break evil's undo sequence on CR" single ((:commit . "4a8f2bf99c978a109eeb92965a72a17bedb68762") (:authors ("VanLaser" . "Gabriel.Lazar@com.utcluj.ro")) (:maintainer "VanLaser" . "Gabriel.Lazar@com.utcluj.ro") (:url . "https://github.com/VanLaser/evil-nl-break-undo"))]) - (evil-numbers . [(20211011 103) ((emacs (24 1)) (evil (1 2 0))) "Increment/decrement numbers like in VIM" single ((:commit . "08f0c1ee93b8a563770eaefaf21ab9087fca7bdb") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Julia Path" . "julia@jpath.de") (:keywords "convenience" "tools") (:url . "http://github.com/juliapath/evil-numbers"))]) + (evil-numbers . [(20220731 2346) ((emacs (24 1)) (evil (1 2 0))) "Increment/decrement numbers like in VIM" single ((:commit . "7bd9bb0bce2ed61fa256952fbf37fc5259928925") (:authors ("Michael Markert" . "markert.michael@googlemail.com")) (:maintainer "Julia Path" . "julia@jpath.de") (:keywords "convenience" "tools") (:url . "http://github.com/juliapath/evil-numbers"))]) (evil-opener . [(20161207 1810) ((evil (1 2 12)) (opener (0 2 2))) "opening urls as buffers in evil" tar ((:commit . "c384f67278046fdcd220275fdd212ab85672cbeb") (:authors ("Tim Reddehase" . "tr@rightsrestricted.com")) (:maintainer "Tim Reddehase" . "tr@rightsrestricted.com") (:keywords "url" "http" "files") (:url . "https://github.com/0robustus1/opener.el"))]) (evil-org . [(20220227 1024) ((emacs (24 4)) (evil (1 0))) "evil keybindings for org-mode" tar ((:commit . "0d10ff7bb9a3a93d25cd91018b17f0a052b335f3") (:maintainer "Somelauw") (:keywords "evil" "vim-emulation" "org-mode" "key-bindings" "presets") (:url . "https://github.com/Somelauw/evil-org-mode.git"))]) (evil-owl . [(20210416 1700) ((emacs (25 1)) (evil (1 2 13))) "Preview evil registers and marks before using them" single ((:commit . "a41a6d28e26052b25f3d21da37ccf1d8fde1e6aa") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:keywords "emulations" "evil" "visual") (:url . "https://github.com/mamapanda/evil-owl"))]) @@ -1414,14 +1436,14 @@ (evil-ruby-text-objects . [(20200323 1552) ((emacs (25 1)) (evil (1 2 0))) "Evil text objects for Ruby code" single ((:commit . "32983d91be83ed903b6ef9655e00f69beed2572c") (:authors ("Sergio Gil" . "sgilperez@gmail.com")) (:maintainer "Sergio Gil" . "sgilperez@gmail.com") (:keywords "languages") (:url . "https://github.com/porras/evil-ruby-text-objects"))]) (evil-search-highlight-persist . [(20170523 334) ((highlight (0))) "Persistent highlights after search" single ((:commit . "979d2dec58d3b9c5ca5fdf4bb802a0209913794e") (:authors ("Juanjo Alvarez" . "juanjo@juanjoalvarez.net")) (:maintainer "Juanjo Alvarez" . "juanjo@juanjoalvarez.net"))]) (evil-smartparens . [(20171210 1513) ((evil (1 0)) (emacs (24 4)) (smartparens (1 10 1))) "Evil support for smartparens" single ((:commit . "026d4a3cfce415a4dfae1457f871b385386e61d3") (:authors ("Lars Andersen" . "expez@expez.com")) (:maintainer "Lars Andersen" . "expez@expez.com") (:keywords "evil" "smartparens") (:url . "https://www.github.com/expez/evil-smartparens"))]) - (evil-snipe . [(20220403 1639) ((emacs (24 4)) (evil (1 2 12)) (cl-lib (0 5))) "emulate vim-sneak & vim-seek" single ((:commit . "1444065e3fb637ec3c976ce68a4679625713b1d5") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "emulation" "vim" "evil" "sneak" "seek") (:url . "https://github.com/hlissner/evil-snipe"))]) + (evil-snipe . [(20220428 1432) ((emacs (24 4)) (evil (1 2 12)) (cl-lib (0 5))) "emulate vim-sneak & vim-seek" single ((:commit . "c07788c35cf8cd8e652a494322fdc0643e30a89f") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "emulation" "vim" "evil" "sneak" "seek") (:url . "https://github.com/hlissner/evil-snipe"))]) (evil-space . [(20151208 1228) ((evil (1 0 0))) "Repeat motion in Evil. Correct the behaviour of what SPC should do." single ((:commit . "a9c07284d308425deee134c9d88a2d538dd229e6") (:authors ("Quang Linh LE" . "linktohack@gmail.com")) (:maintainer "Quang Linh LE" . "linktohack@gmail.com") (:keywords "space" "repeat" "motion") (:url . "http://github.com/linktohack/evil-space"))]) (evil-string-inflection . [(20180313 1755) ((emacs (24)) (evil (1 2 13)) (string-inflection (1 0 6))) "snake_case -> CamelCase -> etc. for text objects" single ((:commit . "d22a90ab807afa7f27f3815b5b5ea47d52d05218") (:authors ("Filipe Silva" . "filipe.silva@gmail.com")) (:maintainer "Filipe Silva" . "filipe.silva@gmail.com") (:url . "https://github.com/ninrod/evil-string-inflection"))]) - (evil-surround . [(20220412 1724) ((evil (1 2 12))) "emulate surround.vim from Vim" single ((:commit . "2bc8aa6425f1311e985cf51ea6b5233c1ee6ce1c") (:authors ("Tim Harper ") ("Vegard Øye ")) (:maintainer "Tim Harper ") (:keywords "emulation" "vi" "evil"))]) + (evil-surround . [(20220504 802) ((evil (1 2 12))) "emulate surround.vim from Vim" single ((:commit . "c9e1449bf3f740b5e9b99e7820df4eca7fc7cf02") (:authors ("Tim Harper ") ("Vegard Øye ")) (:maintainer "Tim Harper ") (:keywords "emulation" "vi" "evil"))]) (evil-swap-keys . [(20191105 1426) ((emacs (24 4))) "Intelligently swap keys on text input with evil" single ((:commit . "b5ef105499f998b5667da40da30c073229a213ea") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:keywords "convenience" "data" "languages" "tools") (:url . "https://github.com/wbolster/evil-swap-keys"))]) (evil-tabs . [(20160217 1520) ((evil (0 0 0)) (elscreen (0 0 0))) "Integrating Vim-style tabs for Evil mode users." single ((:commit . "53d3314a810017b6056ab6796aef671f5ea1c063") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:keywords "evil" "tab" "tabs" "vim") (:url . "https://github.com/krisajenkins/evil-tabs"))]) - (evil-terminal-cursor-changer . [(20220422 255) ((evil (1 0 8))) "Change cursor shape and color by evil state in terminal" single ((:commit . "69d562932f9ab9869ab1ed923e9789cbfa0ff14c") (:authors ("7696122")) (:maintainer "7696122") (:keywords "evil" "terminal" "cursor") (:url . "https://github.com/7696122/evil-terminal-cursor-changer"))]) - (evil-test-helpers . [(20201008 1515) ((evil (1 14 0))) "unit test helpers for Evil" single ((:commit . "f75732de0ca5cae70f17dbc4bf7df03cb4ec491f") (:authors ("Vegard Øye ")) (:maintainer "Vegard Øye "))]) + (evil-terminal-cursor-changer . [(20220628 1831) nil "Change cursor shape and color by evil state in terminal" single ((:commit . "12ea9c0438c67e560b3866dc78b5c7d1d93f8cc5") (:authors ("7696122")) (:maintainer "7696122") (:keywords "evil" "terminal" "cursor") (:url . "https://github.com/7696122/evil-terminal-cursor-changer"))]) + (evil-test-helpers . [(20220425 2132) ((evil (1 15 0))) "unit test helpers for Evil" single ((:commit . "5e562ae0a5775a6928fddb6f97a76d770a59dfa6") (:authors ("Vegard Øye ")) (:maintainer "Vegard Øye "))]) (evil-tex . [(20220415 842) ((emacs (26 1)) (evil (1 0)) (auctex (11 88))) "Useful features for editing LaTeX in evil-mode" single ((:commit . "26035ec9a09f8b38ce0d495ff788e83ec8b195d5") (:keywords "tex" "emulation" "vi" "evil" "wp") (:url . "https://github.com/iyefrat/evil-tex"))]) (evil-text-object-python . [(20191010 1328) ((emacs (25)) (evil (1 2 14)) (dash (2 16 0))) "Python specific evil text objects" single ((:commit . "39d22fc524f0413763f291267eaab7f4e7984318") (:authors ("Wouter Bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "Wouter Bolsterlee" . "wouter@bolsterl.ee") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/wbolster/evil-text-object-python"))]) (evil-textobj-anyblock . [(20170905 1907) ((cl-lib (0 5)) (evil (1 1 0))) "Textobject for the closest user-defined blocks." single ((:commit . "ff00980f0634f95bf2ad9956b615a155ea8743be") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:keywords "evil") (:url . "https://github.com/noctuid/evil-textobj-anyblock"))]) @@ -1429,9 +1451,9 @@ (evil-textobj-entire . [(20150422 1254) ((emacs (24)) (evil (1 0 0))) "text object for entire lines of buffer for evil" single ((:commit . "5b3a98f3a69edc3a788f539f6ffef4a0ef5e853d") (:authors ("supermomonga")) (:maintainer "supermomonga") (:keywords "convenience" "emulations") (:url . "https://github.com/supermomonga/evil-textobj-entire"))]) (evil-textobj-line . [(20211101 1429) ((evil (1 0 0))) "Line text object for Evil" single ((:commit . "9eaf9a5485c2b5c05e16552b34632ca520cd681d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com"))]) (evil-textobj-syntax . [(20181210 1213) ((names (0 5)) (emacs (24)) (evil (0))) "Provides syntax text objects." single ((:commit . "2d9ba8c75c754b409aea7469f46a5cfa52a872f3") (:keywords "evil" "syntax" "highlight" "text-object") (:url . "https://github.com/laishulu/evil-textobj-syntax"))]) - (evil-textobj-tree-sitter . [(20220423 947) ((emacs (25 1)) (evil (1 0 0)) (tree-sitter (0 15 0))) "Provides evil textobjects using tree-sitter" tar ((:commit . "bfdef5a292f7dde36967bb86eb2f7009b03631b1") (:keywords "evil" "tree-sitter" "text-object" "convenience") (:url . "https://github.com/meain/evil-textobj-tree-sitter"))]) + (evil-textobj-tree-sitter . [(20220715 1530) ((emacs (25 1)) (evil (1 0 0)) (tree-sitter (0 15 0))) "Provides evil textobjects using tree-sitter" tar ((:commit . "9dce8dab68c954ae32095328cf898eb856fc341a") (:keywords "evil" "tree-sitter" "text-object" "convenience") (:url . "https://github.com/meain/evil-textobj-tree-sitter"))]) (evil-traces . [(20191214 558) ((emacs (25 1)) (evil (1 2 13))) "Visual hints for `evil-ex'" single ((:commit . "290b5323542c46af364ec485c8ec9000040acf90") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:keywords "emulations" "evil" "visual") (:url . "https://github.com/mamapanda/evil-traces"))]) - (evil-tree-edit . [(20220319 1652) ((emacs (27 1)) (tree-edit (0 1 0)) (tree-sitter (0 15 0)) (evil (1 0 0)) (avy (0 5 0)) (s (0 0 0))) "Evil structural editing for any language!" tar ((:commit . "774a1e9598617f334fcd31aa606c5e738012fb60") (:authors ("Ethan Leba" . "ethanleba5@gmail.com")) (:maintainer "Ethan Leba" . "ethanleba5@gmail.com") (:url . "https://github.com/ethan-leba/tree-edit"))]) + (evil-tree-edit . [(20220425 2355) ((emacs (27 1)) (tree-edit (0 1 0)) (tree-sitter (0 15 0)) (evil (1 0 0)) (avy (0 5 0)) (s (0 0 0))) "Evil structural editing for any language!" tar ((:commit . "eafee31ca4f532a9dbee326d3ec3bdd1e997223b") (:authors ("Ethan Leba" . "ethanleba5@gmail.com")) (:maintainer "Ethan Leba" . "ethanleba5@gmail.com") (:url . "https://github.com/ethan-leba/tree-edit"))]) (evil-tutor . [(20150103 650) ((evil (1 0 9))) "Vimtutor adapted to Evil and wrapped in a major-mode" tar ((:commit . "4e124cd3911dc0d1b6817ad2c9e59b4753638f28") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:keywords "convenience" "editing" "evil") (:url . "https://github.com/syl20bnr/evil-tutor"))]) (evil-tutor-ja . [(20160917 132) ((evil (1 0 9)) (evil-tutor (0 1))) "Japanese Vimtutor adapted to Evil and wrapped in a major-mode" tar ((:commit . "99af7d82e02ce3bcdfaff47c5c80b57327a7ea8d") (:authors ("Kenji Miyazaki" . "kenjizmyzk@gmail.com")) (:maintainer "Kenji Miyazaki" . "kenjizmyzk@gmail.com") (:keywords "convenience" "editing" "evil" "japanese") (:url . "https://github.com/kenjimyzk/evil-tutor-ja"))]) (evil-vimish-fold . [(20200122 117) ((emacs (24 4)) (evil (1 0 0)) (vimish-fold (0 2 0))) "Integrate vimish-fold with evil" single ((:commit . "b6e0e6b91b8cd047e80debef1a536d9d49eef31a") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/evil-vimish-fold"))]) @@ -1439,6 +1461,7 @@ (evil-visual-replace . [(20171016 613) ((evil (1 0 0))) "search/replace commands for evil visual state, inc. blocks" single ((:commit . "163fc827a1ffc106475da470c37fb26f4cc9b008") (:authors ("Troy Pracy")) (:maintainer "Troy Pracy") (:keywords "evil" "search" "replace" "regexp" "block" "rectangular" "region" "visual") (:url . "https://github.com/troyp/evil-visual-replace"))]) (evil-visualstar . [(20160223 48) ((evil (0))) "Starts a * or # search from the visual selection" single ((:commit . "06c053d8f7381f91c53311b1234872ca96ced752") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:keywords "evil" "vim" "visualstar") (:url . "https://github.com/bling/evil-visualstar"))]) (evm . [(20141007 1156) ((dash (2 3 0)) (f (0 13 0))) "Emacs Version Manager" single ((:commit . "d0623b2355436a5fd9f7238b419782080c79196b") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/evm"))]) + (evm-mode . [(20220503 1106) nil "Major mode for editing Ethereum EVM bytecode" single ((:commit . "2b326751c9421842521e851d969b9c269c79f8b3") (:authors ("Ta Quang Trung")) (:maintainer "Ta Quang Trung") (:keywords "languages") (:url . "https://github.com/taquangtrung/emacs-evm-mode"))]) (ewal . [(20200305 230) ((emacs (25 1))) "A pywal-based theme generator" tar ((:commit . "e2a04f5c97b7d5e087af26e646c0b45a24522e56") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:keywords "faces") (:url . "https://gitlab.com/jjzmajic/ewal"))]) (ewal-doom-themes . [(20200922 325) ((emacs (25)) (ewal (0 1)) (doom-themes (0 1))) "Dread the colors of darkness" tar ((:commit . "e2a04f5c97b7d5e087af26e646c0b45a24522e56") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:keywords "faces") (:url . "https://gitlab.com/jjzmajic/ewal"))]) (ewal-evil-cursors . [(20190911 1315) ((emacs (25)) (ewal (0 1))) "`ewal'-colored evil cursor for Emacs and Spacemacs" single ((:commit . "e2a04f5c97b7d5e087af26e646c0b45a24522e56") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:keywords "faces") (:url . "https://gitlab.com/jjzmajic/ewal"))]) @@ -1451,12 +1474,13 @@ (exiftool . [(20190520 1106) ((emacs (25))) "Elisp wrapper around ExifTool" single ((:commit . "fc6713e753380f3034d8df55b7af3a737ea52ab4") (:authors ("Arun I" . "arunisaac@systemreboot.net")) (:maintainer "Arun I" . "arunisaac@systemreboot.net") (:keywords "data") (:url . "https://git.systemreboot.net/exiftool.el"))]) (exotica-theme . [(20180212 2329) ((emacs (24))) "A dark theme with vibrant colors" single ((:commit . "ff3ef4f6fa38c93b99becad977c7810c990a4d2f") (:authors ("Bharat Joshi" . "jbharat@outlook.com")) (:maintainer "Bharat Joshi" . "jbharat@outlook.com") (:keywords "faces" "theme" "dark" "vibrant colors") (:url . "https://github.com/jbharat/exotica-theme"))]) (expand-line . [(20151006 207) nil "Expand selection by line" single ((:commit . "75a5d0241f35dd0748ab8ecb4ff16891535be372") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com"))]) - (expand-region . [(20210708 1952) nil "Increase selected region by semantic units." tar ((:commit . "7e5bbe2763c12bae3e77fe0c49bcad05ff91dbfe") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "marking" "region"))]) + (expand-region . [(20220729 659) nil "Increase selected region by semantic units." tar ((:commit . "c5c4362741deebb0985a8a29f9b8b0e25160764a") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "marking" "region"))]) (expenses . [(20220318 842) ((emacs (26 1)) (dash (2 19 1)) (ht (2 3))) "Record and view expenses" tar ((:commit . "e668666770858e92de83d8217c7e384de3ba1e34") (:authors ("Md Arif Shaikh" . "arifshaikh.astro@gmail.com")) (:maintainer "Md Arif Shaikh" . "arifshaikh.astro@gmail.com") (:keywords "expense tracking" "convenience") (:url . "https://github.com/md-arif-shaikh/expenses"))]) (express . [(20140508 2041) ((string-utils (0 3 2))) "Alternatives to `message'" single ((:commit . "93dae7377eace4a5413ba99aecb6f26f90798725") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions" "message" "interface") (:url . "http://github.com/rolandwalker/express"))]) (exsqlaim-mode . [(20170607 1003) ((s (1 10 0))) "Use variables inside sql queries" single ((:commit . "a2e0a62ec8b87193d8eaa695774bfd689324b06c") (:authors ("Ahmad Nazir Raja" . "ahmadnazir@gmail.com")) (:maintainer "Ahmad Nazir Raja" . "ahmadnazir@gmail.com") (:url . "https://github.com/ahmadnazir/exsqlaim-mode"))]) - (extempore-mode . [(20210512 2350) ((emacs (24 4))) "Emacs major mode for Extempore source files" single ((:commit . "eb2dee8860f3d761e949d7c2ee8e2e469ac1cf51") (:authors ("Ben Swift" . "ben@benswift.me")) (:maintainer "Ben Swift" . "ben@benswift.me") (:keywords "extempore") (:url . "http://github.com/extemporelang/extempore-emacs-mode"))]) + (extempore-mode . [(20220704 2241) ((emacs (24 4))) "Emacs major mode for Extempore source files" single ((:commit . "92e0fff482a0a4dc2971c39581c5ea9e84ae5e1c") (:authors ("Ben Swift" . "ben@benswift.me")) (:maintainer "Ben Swift" . "ben@benswift.me") (:keywords "extempore") (:url . "http://github.com/extemporelang/extempore-emacs-mode"))]) (extend-dnd . [(20151122 1850) nil "R drag and Drop" tar ((:commit . "80c966c93b82c9bb5c6225a432557c39144fc602") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:keywords "extend" "drag and drop") (:url . "https://github.com/mlf176f2/extend-dnd"))]) + (external-dict . [(20220801 2349) ((emacs (25 1))) "Query external dictionary like goldendict, Bob.app etc" single ((:commit . "aa051548ca850d15f939acfa82b358f756a761f6") (:keywords "wp" "processes") (:url . "https://repo.or.cz/external-dict.el.git"))]) (extmap . [(20211023 1904) ((emacs (24 1))) "Externally-stored constant mapping for Elisp" single ((:commit . "5875a4ab27831eb81af6246b12a174c765d52a78") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "lisp") (:url . "https://github.com/doublep/extmap"))]) (exunit . [(20211209 1012) ((s (1 11 0)) (emacs (24 3)) (f (0 20 0)) (transient (0 3 6))) "ExUnit test runner" single ((:commit . "0715c2dc2dca0b56c61330eda0690f90cca5f98b") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:keywords "processes" "elixir" "exunit") (:url . "http://github.com/ananthakumaran/exunit.el"))]) (exwm-edit . [(20220414 106) ((emacs (25 1))) "Edit mode for EXWM" single ((:commit . "b5b7e950f57e30befd68d51df34540b70e6ac28f") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:keywords "convenience") (:url . "https://github.com/agzam/exwm-edit"))]) @@ -1471,20 +1495,21 @@ (eyuml . [(20141028 2227) ((request (0 2 0)) (s (1 8 0))) "Write textual uml diagram from emacs using yuml.me" single ((:commit . "eb29c37316e44a14741f16e894fbcfcb7537dc80") (:authors ("Anthony HAMON" . "hamon.anth@gmail.com")) (:maintainer "Anthony HAMON" . "hamon.anth@gmail.com") (:keywords "uml") (:url . "http://github.com/antham/eyuml"))]) (ez-query-replace . [(20210724 2247) ((dash (1 2 0)) (s (1 11 0))) "a smarter context-sensitive query-replace that can be reapplied" single ((:commit . "2b68472f4007a73908c3b242e83ac5a7587967ff") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (eziam-theme . [(20200327 1810) nil "A mostly monochrome theme, inspired by Tao and Leuven, with dark and light versions." tar ((:commit . "d7e517f8e626035df3b63ec6fc07b85d48a996c5"))]) - (f . [(20220405 1534) ((s (1 7 0)) (dash (2 2 0))) "Modern API for working with files and directories" single ((:commit . "b5cb884b3b4372a6f3d1d4428cf092ca1e5c8044") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "files" "directories") (:url . "http://github.com/rejeep/f.el"))]) + (f . [(20220608 943) ((emacs (24 1)) (s (1 7 0)) (dash (2 2 0))) "Modern API for working with files and directories" tar ((:commit . "d2019d4f9625bcc44349c69fe46d6645fd9ff4ff") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Lucien Cartier-Tilet" . "lucien@phundrak.com") (:keywords "files" "directories") (:url . "http://github.com/rejeep/f.el"))]) (f3 . [(20180130 1158) ((emacs (24 3)) (helm (2 8 8)) (cl-lib (0 5))) "a helm interface to find" tar ((:commit . "000009ce4adf7a57eae80512f29c4ec2a1391ce5") (:authors ("Danny McClanahan")) (:maintainer "Danny McClanahan") (:keywords "find" "file" "files" "helm" "fast" "finder") (:url . "https://github.com/cosmicexplorer/f3"))]) (fabric . [(20171116 656) nil "Launch Fabric using Emacs" tar ((:commit . "df79be341d0b34ed23850f9894136092fa5fea8c") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@chmouel.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@chmouel.com") (:keywords "python" "fabric") (:url . "https://github.com/nlamirault/fabric.el"))]) (face-explorer . [(20190517 1857) nil "Library and tools for faces and text properties" single ((:commit . "ad1300e13e5643e4c246cabfd91f833d39113052") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces") (:url . "https://github.com/Lindydancer/face-explorer"))]) (face-shift . [(20210725 2146) ((emacs (24 1))) "Shift the colour of certain faces" single ((:commit . "14dce79fc42116c49eb4c8a4ab7ca3c4bd7cbf6f") (:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Philip Kaludercic" . "philipk@posteo.net") (:keywords "faces") (:url . "https://git.sr.ht/~pkal/face-shift"))]) (faceup . [(20170925 1946) nil "Markup language for faces and font-lock regression testing" single ((:commit . "6c92dad56a133e14e7b27831e1bcf9b3a71ff154") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "languages") (:url . "https://github.com/Lindydancer/faceup"))]) (factlog . [(20130210 140) ((deferred (0 3 1))) "File activity logger" single ((:commit . "6503d77ea882c995b051d22e72db336fb28770fc") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/factlog"))]) - (faff-theme . [(20220407 145) nil "Light Emacs color theme on cornsilk3 background" single ((:commit . "f824c3f55ea42d65e0b632879c6948d3eb43b2f3") (:authors ("James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>")) (:maintainer "James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>") (:keywords "color" "theme") (:url . "https://github.com/WJCFerguson/emacs-faff-theme"))]) + (faff-theme . [(20220629 1216) nil "Light Emacs color theme on cornsilk3 background" single ((:commit . "5d3c7e2f32f4dcdb22865c385ec48ababe5f293a") (:authors ("James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>")) (:maintainer "James Ferguson <(concat \"wjcferguson\" at-sign \"gmail.com\")>") (:keywords "color" "theme") (:url . "https://github.com/WJCFerguson/emacs-faff-theme"))]) (fakir . [(20140729 1652) ((noflet (0 0 8)) (dash (1 3 2)) (kv (0 0 19))) "fakeing bits of Emacs" single ((:commit . "1fca406ad7de80fece6319ff75d4230b648534b0") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp" "tools") (:url . "http://github.com/nicferrier/emacs-fakir"))]) (fancy-battery . [(20150101 1204) ((emacs (24 1))) "Fancy battery display" single ((:commit . "9b88ae77a01aa3edc529840338bcb2db7f445822") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "convenience" "tools" "hardware") (:url . "https://github.com/lunaryorn/fancy-battery.el"))]) + (fancy-compilation . [(20220725 2313) ((emacs (26 1))) "Enhanced compilation output" single ((:commit . "6d98cf908b0bbd6286a55e6bf11905010468a006") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-fancy-compilation"))]) (fancy-dabbrev . [(20220211 633) ((emacs (25 1)) (popup (0 5 3))) "Like dabbrev-expand with preview and popup menu" single ((:commit . "cf4a2f7e3e43e07ab9aa9db16532a21010e9fc8c") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/fancy-dabbrev"))]) (fancy-narrow . [(20171031 16) nil "narrow-to-region with more eye candy." single ((:commit . "c9b3363752c09045b8ce7a2635afae42d2ae63c7") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "faces" "convenience") (:url . "http://github.com/Bruce-Connor/fancy-narrow"))]) (fantom-theme . [(20200328 604) ((emacs (24 1))) "Dark theme based on Phantom Code for VSCode" single ((:commit . "2c1c7fd53086c2ff86ee0961642c3b58e2343c08") (:authors ("Adam Svanberg")) (:maintainer "Adam Svanberg") (:url . "https://github.com/adsva/fantom-emacs-theme"))]) - (fanyi . [(20220310 358) ((emacs (27 1)) (s (1 12 0))) "Not only English-Chinese translator" tar ((:commit . "b01cb24209d223ae0e7281c279daab87800ee7f4") (:authors ("Zhiwei Chen" . "condy0919@gmail.com")) (:maintainer "Zhiwei Chen" . "condy0919@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/condy0919/fanyi.el"))]) + (fanyi . [(20220702 812) ((emacs (27 1)) (s (1 12 0))) "Not only English-Chinese translator" tar ((:commit . "07815b29decc08994e7b6ae24be188047531b1b9") (:authors ("Zhiwei Chen" . "condy0919@gmail.com")) (:maintainer "Zhiwei Chen" . "condy0919@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/condy0919/fanyi.el"))]) (farmhouse-theme . [(20160713 2244) nil "Farmhouse Theme, Emacs edition" tar ((:commit . "7ddc1ff13b4a3d5466bd0d33ecb86100352e83a7"))]) (fasd . [(20210104 738) nil "Emacs integration for the command-line productivity booster `fasd'" single ((:commit . "c1d92553f33ebb018135c698db1a6d7f86731a26") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "cli" "bash" "zsh" "autojump") (:url . "https://framagit.org/steckerhalter/emacs-fasd"))]) (fast-scroll . [(20191016 327) ((emacs (25 1)) (cl-lib (0 6 1))) "Some utilities for faster scrolling over large buffers." single ((:commit . "3f6ca0d5556fe9795b74714304564f2295dcfa24") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "convenience" "fast" "scroll" "scrolling") (:url . "https://github.com/ahungry/fast-scroll"))]) @@ -1497,12 +1522,12 @@ (fcopy . [(20150304 1403) nil "Funny Copy, set past point HERE then search copy text" single ((:commit . "e355f6ec889d8ecbdb096019c2dc660b1cec4941") (:authors ("Masayuki Ataka" . "masayuki.ataka@gmail.com")) (:maintainer "Masayuki Ataka" . "masayuki.ataka@gmail.com") (:keywords "convenience") (:url . "https://github.com/ataka/fcopy"))]) (fd-dired . [(20210723 549) ((emacs (25))) "find-dired alternative using fd" single ((:commit . "458464771bb220b6eb87ccfd4c985c436e57dc7e") (:authors ("Rashawn Zhang" . "namy.19@gmail.com")) (:maintainer "Rashawn Zhang" . "namy.19@gmail.com") (:keywords "tools" "fd" "find" "dired") (:url . "https://github.com/yqrashawn/fd-dired"))]) (feather . [(20200321 1237) ((emacs (26 3)) (async (1 9)) (async-await (1 0)) (ppp (1 0)) (page-break-lines (0 1))) "Parallel thread modern package manager" tar ((:commit . "3f19293dada8bf368e9f86f783610e7ca0a51ecb") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience" "package") (:url . "https://github.com/conao3/feather.el"))]) - (feature-mode . [(20220418 848) nil "Major mode for editing Gherkin (i.e. Cucumber) user stories" tar ((:commit . "e204d9e204b767cf95d6a051ff283f05dc51e9d3") (:authors ("Michael Klishin")) (:maintainer "Michael Klishin") (:url . "https://github.com/michaelklishin/cucumber.el"))]) + (feature-mode . [(20220418 848) nil "Major mode for editing Gherkin (i.e. Cucumber) user stories" tar ((:commit . "177d065db5984cbfaa66c375d13d5f1ccbb5f4a7") (:authors ("Michael Klishin")) (:maintainer "Michael Klishin") (:url . "https://github.com/michaelklishin/cucumber.el"))]) (feebleline . [(20190822 1401) nil "Replace modeline with a slimmer proxy" single ((:commit . "b2f2db25cac77817bf0c49ea2cea6383556faea0") (:authors ("Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com")) (:maintainer "Benjamin Lindqvist" . "benjamin.lindqvist@gmail.com") (:url . "https://github.com/tautologyclub/feebleline"))]) (feed-discovery . [(20200714 1118) ((emacs (25 1)) (dash (2 16 0))) "Discover feed url by RSS/Atom autodiscovery" single ((:commit . "12fcd1a28fe7c8c46c74e32f395ec631d45ec739") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/feed-discovery"))]) - (fennel-mode . [(20220329 116) ((emacs (26 1))) "A major-mode for editing Fennel code" tar ((:commit . "50ef3c6246f36085cd908cf5432133cadb792304") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:keywords "languages" "tools") (:url . "https://git.sr.ht/~technomancy/fennel-mode"))]) + (fennel-mode . [(20220701 1956) ((emacs (26 1))) "A major-mode for editing Fennel code" tar ((:commit . "5664357349462d0564c0bb55cb289a6722f0ecbc") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:keywords "languages" "tools") (:url . "https://git.sr.ht/~technomancy/fennel-mode"))]) (fetch . [(20131201 730) nil "Fetch and unpack resources" single ((:commit . "3f2793afcbbc32f320e572453166f9354ecc6d06") (:authors ("Christian 'crshd' Brassat" . "christian.brassat@gmail.com")) (:maintainer "Christian 'crshd' Brassat" . "christian.brassat@gmail.com") (:url . "https://github.com/crshd/fetch.el"))]) - (ffmpeg-player . [(20200720 1028) ((emacs (24 4)) (s (1 12 0)) (f (0 20 0))) "Play video using ffmpeg" single ((:commit . "a6dd1abfc0ac59edb002b638795fab1b2ee313cf") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/ffmpeg-player"))]) + (ffmpeg-player . [(20220704 641) ((emacs (24 4)) (s (1 12 0)) (f (0 20 0))) "Play video using ffmpeg" single ((:commit . "fad2f5ce83800b7ddcd5927bd84d377990446981") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "multimedia" "video" "ffmpeg" "buffering" "images") (:url . "https://github.com/jcs-elpa/ffmpeg-player"))]) (fic-mode . [(20180603 2035) nil "Show FIXME/TODO/BUG(...) in special face only in comments and strings" single ((:commit . "a05fc36ed54ba0c6dc22ac216a6a72cf191ca13d") (:url . "https://github.com/lewang/fic-mode"))]) (fifo-class . [(20160425 558) nil "First in first out abstract class" single ((:commit . "8fe4cf690727f4ac7b67f29c55f845df023c3f21") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:keywords "lisp") (:url . "https://github.com/mola-T/fifo-class"))]) (figlet . [(20160218 2237) nil "Annoy people with big, ascii art text" single ((:commit . "19a38783a90e151faf047ff233a21a729db0cea9") (:authors ("Philip Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Philip Jackson" . "phil@shellarchive.co.uk"))]) @@ -1511,28 +1536,28 @@ (filetree . [(20220312 1650) ((dash (2 12 0)) (helm (3 7 0)) (seq (2 23)) (transient (0 3 6))) "File tree view/manipulatation package" single ((:commit . "9125e5b7ebbb99b8c007018fcfd5034e7ac6630d") (:authors ("Ketan Patel" . "knpatel401@gmail.com")) (:maintainer "Ketan Patel" . "knpatel401@gmail.com") (:url . "https://github.com/knpatel401/filetree"))]) (fill-column-indicator . [(20200806 2239) nil "Graphically indicate the fill column" single ((:commit . "c35f9de072c241699b57bcb46da84bed5af29cfe") (:authors ("Alp Aker" . "alp.tekin.aker@gmail.com")) (:maintainer "Alp Aker" . "alp.tekin.aker@gmail.com") (:keywords "convenience"))]) (fill-function-arguments . [(20201223 819) ((emacs (24 4))) "Convert function arguments to/from single line" single ((:commit . "a0a2f8538c80ac08e497dea784fcb90c93ab465b") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "convenience") (:url . "https://github.com/davidshepherd7/fill-function-arguments"))]) - (fill-page . [(20210707 354) ((emacs (24 4))) "Fill buffer so you don't see empty lines at the end" single ((:commit . "cc15eb323685bf09ed4a7828fd40c5da1aeb8795") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/fill-page"))]) + (fill-page . [(20220704 650) ((emacs (24 4))) "Fill buffer so you don't see empty lines at the end" single ((:commit . "7da1dc1259c1b15e28736d27d87f4cef40a3a18d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "fill" "page" "buffer") (:url . "https://github.com/jcs-elpa/fill-page"))]) (fillcode . [(20200524 2226) nil "Fill (wrap) function calls and expressions in source code" single ((:commit . "501468082e46bd0975ef4d8765363fd564338099") (:authors ("Ryan Barrett" . "fillcode@ryanb.org")) (:maintainer "Ryan Barrett" . "fillcode@ryanb.org") (:url . "https://snarfed.org/fillcode"))]) (filldent . [(20220423 2216) ((emacs (24 1))) "Fill or indent" single ((:commit . "2f32e0cf5e27c613f962fa41bf3427bbdc04e6c0") (:authors ("Case Duckworth" . "acdw@acdw.net")) (:maintainer "Case Duckworth" . "acdw@acdw.net") (:url . "https://github.com/duckwork/filldent.el"))]) (finalize . [(20170418 1945) ((emacs (24 1)) (cl-generic (0 3)) (cl-lib (0 3)) (eieio (1 4))) "finalizers for Emacs Lisp" tar ((:commit . "846731531e7d1d80451787992e07bfe7dedbe9ff") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-finalize"))]) (find-by-pinyin-dired . [(20180210 218) ((pinyinlib (0 1 0))) "Find file by first PinYin character of Chinese Hanzi" single ((:commit . "3b4781148dddc84a701ad76c0934ed991ecd59d5") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "hanzi" "chinese" "dired" "find" "file" "pinyin") (:url . "http://github.com/redguardtoo/find-by-pinyin-dired"))]) (find-dupes-dired . [(20210426 835) ((emacs (26 1))) "Find dupes and handle in dired" single ((:commit . "904225a3f89bbd3b44ea097a282ec6ca7945f7f1") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/find-dupes-dired"))]) - (find-file-in-project . [(20220125 726) ((emacs (25 1))) "Find file/directory and review Diff/Patch/Commit efficiently" single ((:commit . "204b3d489a606c6e7b83518e46be3bbcef1bcb3d") (:authors ("Phil Hagelberg, Doug Alcorn, and Will Farrington")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "project" "convenience") (:url . "https://github.com/redguardtoo/find-file-in-project"))]) + (find-file-in-project . [(20220702 1332) ((emacs (25 1))) "Find file/directory and review Diff/Patch/Commit efficiently" single ((:commit . "af7bc59a3b9ab626bea88ff81b9227cc22c09362") (:authors ("Phil Hagelberg, Doug Alcorn, and Will Farrington")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "project" "convenience") (:url . "https://github.com/redguardtoo/find-file-in-project"))]) (find-file-in-repository . [(20210301 2202) nil "Quickly find files in a git, mercurial or other repository" single ((:commit . "10f5bd919ce35691addc5ce0d281597a46813a79") (:authors ("Samuel Hoffstaetter" . "samuel@hoffstaetter.com")) (:maintainer "Samuel Hoffstaetter" . "samuel@hoffstaetter.com") (:keywords "files" "convenience" "repository" "project" "source control") (:url . "https://github.com/hoffstaetter/find-file-in-repository"))]) (find-file-rg . [(20220314 1540) ((emacs (25 1))) "Find file in project using ripgrep" single ((:commit . "404b1cc97c2f700d3dc1c66b640f96ed5a268dc3") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "tools") (:url . "https://github.com/muffinmad/emacs-find-file-rg"))]) (find-temp-file . [(20200117 2254) nil "Open quickly a temporary file" single ((:commit . "2bfcdba0d6a8a0e6faa080cb04ff0f7ed06491ba") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "convenience") (:url . "https://github.com/thisirs/find-temp-file.git"))]) (find-things-fast . [(20150519 2226) nil "Find things fast, leveraging the power of git" single ((:commit . "efc7c189019ed65430e2f9e910e8e0a5ca9d2d03") (:authors ("Elvio Toccalino and Elliot Glaysher and Phil Hagelberg and Doug Alcorn")) (:maintainer "Elvio Toccalino and Elliot Glaysher and Phil Hagelberg and Doug Alcorn") (:keywords "project" "convenience"))]) (findr . [(20130127 2032) nil "Breadth-first file-finding facility for (X)Emacs" single ((:commit . "1ddbc0464bb05dcda392b62666ad17239a2152d3") (:authors ("David Bakhash" . "cadet@bu.edu")) (:maintainer "David Bakhash" . "cadet@bu.edu") (:keywords "files"))]) (fingers . [(20160817 829) nil "Modal editing with universal text manipulation helpers." tar ((:commit . "fed0f742afb1d72eaef29d8da394467550a030fa") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "fingers" "modal" "editing" "workman") (:url . "http://github.com/fgeller/fingers.el"))]) - (finito . [(20220307 1527) ((emacs (27 1)) (dash (2 17 0)) (request (0 3 2)) (f (0 2 0)) (s (1 12 0)) (transient (0 3 0)) (graphql (0 1 1)) (async (1 9 3))) "View and collect books" tar ((:commit . "6e707da7ffc87d4e90c90694004d91dfa8b1d4ca") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:keywords "outlines") (:url . "https://github.com/LaurenceWarne/finito.el"))]) + (finito . [(20220722 1932) ((emacs (27 1)) (dash (2 17 0)) (request (0 3 2)) (f (0 2 0)) (s (1 12 0)) (transient (0 3 0)) (graphql (0 1 1)) (async (1 9 3))) "View and collect books" tar ((:commit . "cb4ed363d2ada2bff621c6b6586fe0c3342331b6") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:keywords "outlines") (:url . "https://github.com/LaurenceWarne/finito.el"))]) (fiplr . [(20140724 645) ((grizzl (0 1 0)) (cl-lib (0 1))) "Fuzzy Search for Files in Projects" tar ((:commit . "3f50159fd42125440d5b0eb9d6398560461f030b") (:authors ("Chris Corbyn" . "chris@w3style.co.uk")) (:maintainer "Chris Corbyn" . "chris@w3style.co.uk") (:keywords "convenience" "usability" "project") (:url . "https://github.com/d11wtq/fiplr"))]) - (fira-code-mode . [(20210702 1631) ((emacs (24 4))) "Minor mode for Fira Code ligatures using prettify-symbols" single ((:commit . "eaff81f867d9c84e25891368f3d0cac7513984e8") (:authors ("Jonathan Ming" . "jming422@gmail.com")) (:maintainer "Jonathan Ming" . "jming422@gmail.com") (:keywords "faces" "ligatures" "fonts" "programming-ligatures") (:url . "https://github.com/jming422/fira-code-mode"))]) + (fira-code-mode . [(20220531 1555) ((emacs (24 4))) "Minor mode for Fira Code ligatures using prettify-symbols" single ((:commit . "7b469ca0c22b7e6a907cd65eebdfa9723998a131") (:authors ("Jonathan Ming" . "jming422@gmail.com")) (:maintainer "Jonathan Ming" . "jming422@gmail.com") (:keywords "faces" "ligatures" "fonts" "programming-ligatures") (:url . "https://github.com/jming422/fira-code-mode"))]) (firecode-theme . [(20170808 1311) ((emacs (24 0))) "an Emacs 24 theme based on FireCode (tmTheme)" single ((:commit . "8b7b03ecdd41e70dab145b98906017e1392eaef4") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) (fireplace . [(20200402 2206) nil "A cozy fireplace for emacs" single ((:commit . "f6c23e259349922aae25cf2898ba815a7d8f2527") (:authors ("Johan Sivertsen" . "johanvts@gmail.com")) (:maintainer "Johan Sivertsen" . "johanvts@gmail.com") (:keywords "games") (:url . "https://github.com/johanvts/emacs-fireplace"))]) (firestarter . [(20210508 1626) ((emacs (24 1))) "Execute (shell) commands on save" single ((:commit . "76070c9074aa363350abe6ad06143e90b3e12ab1") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "convenience") (:url . "https://depp.brause.cc/firestarter"))]) (firrtl-mode . [(20200329 2002) ((emacs (24 3))) "mode for working with FIRRTL files" single ((:commit . "fa40141411a876ce7a1a9d6d3fe47134bc1fa954") (:authors ("Schuyler Eldridge" . "schuyler.eldridge@ibm.com")) (:maintainer "Schuyler Eldridge" . "schuyler.eldridge@ibm.com") (:keywords "languages" "firrtl") (:url . "https://github.com/ibm/firrtl-mode"))]) (fish-completion . [(20191103 1210) ((emacs (25 1))) "Fish completion for pcomplete (shell and Eshell)" single ((:commit . "10384881817b5ae38cf6197a077a663420090d2c") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://gitlab.com/Ambrevar/emacs-fish-completion"))]) - (fish-mode . [(20210215 1114) ((emacs (24))) "Major mode for fish shell scripts" single ((:commit . "a7c953b1491ac3a3e00a7b560f2c9f46b3cb5c04") (:authors ("Tony Wang" . "wwwjfy@gmail.com")) (:maintainer "Tony Wang" . "wwwjfy@gmail.com") (:keywords "fish" "shell"))]) + (fish-mode . [(20220505 1111) ((emacs (24))) "Major mode for fish shell scripts" single ((:commit . "d04478c0aba018cb789d77d591bfe315cb25132a") (:authors ("Tony Wang" . "wwwjfy@gmail.com")) (:maintainer "Tony Wang" . "wwwjfy@gmail.com") (:keywords "fish" "shell"))]) (fit-text-scale . [(20211230 2002) ((emacs (25 1))) "Fit text by scaling" single ((:commit . "c53c8ce606380088643463848a9ee3502b0c64f4") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/marcowahl/fit-text-scale"))]) (fix-input . [(20210320 1244) ((emacs (24 4))) "Make input methods play nicely with alternative keyboard layout on OS level" single ((:commit . "b611a8b269d28d226ed1e78fcc7a3120df20f74c") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "input" "method") (:url . "https://github.com/mrkkrp/fix-input"))]) (fix-muscle-memory . [(20210702 1755) nil "Simple hacks to fix muscle memory problems" single ((:commit . "b8d4b8025d758762f4459c70c3a7a209ead865ed") (:authors ("Jonathan Arkell" . "jonnay@jonnay.net")) (:maintainer "Jonathan Arkell" . "jonnay@jonnay.net") (:keywords "spelling" "typing"))]) @@ -1543,15 +1568,15 @@ (flappymacs . [(20171023 1004) nil "flappybird clone for emacs" single ((:commit . "27f3e21acb22f786606481e3f4e5dc1edbaaaed4") (:authors ("Takayuki Sato")) (:maintainer "Takayuki Sato") (:keywords "games") (:url . "https://github.com/taksatou/flappymacs"))]) (flash-region . [(20130923 1817) nil "Flash a region" single ((:commit . "261b3597b23cdd40e5c14262a5687bcc6c1d0901") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "utility"))]) (flatbuffers-mode . [(20210710 1004) ((emacs (24 3))) "Major mode for editing flatbuffers" single ((:commit . "8e7783db45a64c9456130fd0c108ac12d45a7789") (:authors ("Asal Mirzaieva" . "asalle.kim@gmail.com")) (:maintainer "Asal Mirzaieva" . "asalle.kim@gmail.com") (:keywords "flatbuffers" "languages") (:url . "https://github.com/Asalle/flatbuffers-mode"))]) - (flatfluc-theme . [(20210908 1423) ((emacs (26 1))) "Custom merge of flucui and flatui themes" single ((:commit . "33726cd072ad83c6943e1c3b83db2fff60f324ce") (:authors ("Sébastien Le Maguer" . "lemagues@tcd.ie")) (:maintainer "Sébastien Le Maguer" . "lemagues@tcd.ie") (:keywords "lisp") (:url . "https://github.com/seblemaguer/flatfluc-theme"))]) + (flatfluc-theme . [(20220522 1657) ((emacs (26 1))) "Custom merge of flucui and flatui themes" single ((:commit . "1679983d22a3b213262e09b3b25db75818a9d37a") (:authors ("Sébastien Le Maguer" . "lemagues@tcd.ie")) (:maintainer "Sébastien Le Maguer" . "lemagues@tcd.ie") (:keywords "lisp") (:url . "https://github.com/seblemaguer/flatfluc-theme"))]) (flatland-black-theme . [(20170808 1312) ((emacs (24 0))) "an Emacs 24 theme based on Flatland Black (tmTheme)" single ((:commit . "348c5d5fe615e6ea13cadc17f046e506e789ce07") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/flatland-black-theme"))]) (flatland-theme . [(20171113 1521) nil "A simple theme for Emacs based on the Flatland theme for Sublime Text" single ((:commit . "a98a6f19ad4dff0fa3fad1ea487b7d0ef634a19a") (:authors ("Greg Chapple" . "info@gregchapple.com")) (:maintainer "Greg Chapple" . "info@gregchapple.com") (:url . "http://github.com/gregchapple/flatland-emacs"))]) (flatui-dark-theme . [(20170513 1422) ((emacs (24))) "Dark color theme with colors from https://flatuicolors.com/" single ((:commit . "5b959a9f743f891e4660b1b432086417947872ea") (:authors ("Andrew Phillips" . "theasp@gmail.com")) (:maintainer "Andrew Phillips" . "theasp@gmail.com") (:keywords "color" "theme" "dark" "flatui" "faces") (:url . "https://github.com/theasp/flatui-dark-theme"))]) (flatui-theme . [(20160619 127) nil "A color theme for Emacs based on flatuicolors.com" single ((:commit . "9c15db5526c15c8dba55023f5698372b19c2a780") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/flatui-theme.el"))]) (flex-autopair . [(20120809 1218) nil "Automatically insert pair braces and quotes, insertion conditions & actions are highly customizable." single ((:commit . "4bb757f2556a4a51828e2fed8fb81e31e83052cb") (:authors ("Yuuki Arisawa" . "yuuki.ari@gmail.com")) (:maintainer "Yuuki Arisawa" . "yuuki.ari@gmail.com") (:keywords "keyboard" "input") (:url . "https://github.com/uk-ar/flex-autopair.el"))]) - (flex-compile . [(20220205 205) ((emacs (26 1)) (dash (2 17 0)) (buffer-manage (1 1))) "Run, evaluate and compile across many languages" tar ((:commit . "2da0e5e791896810747c710276ff3a1d0465d843") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "compilation" "integration" "processes") (:url . "https://github.com/plandes/flex-compile"))]) + (flex-compile . [(20220729 145) ((emacs (26 1)) (dash (2 17 0)) (buffer-manage (1 1))) "Run, evaluate and compile across many languages" tar ((:commit . "cf28cf68f025b0090f9a8ae82326b647dced2d66") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "compilation" "integration" "processes") (:url . "https://github.com/plandes/flex-compile"))]) (flex-isearch . [(20170308 2010) nil "Flex matching (like ido) in isearch." single ((:commit . "b1f7e04de762282c276343cc2709af9ff4abc9d2") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:keywords "convenience" "search") (:url . "https://bitbucket.org/jpkotta/flex-isearch"))]) - (flim . [(20210529 1253) ((emacs (24 5)) (apel (10 8)) (oauth2 (0 11))) "A library to provide basic features about message representation or encoding." tar ((:commit . "02735dede6603987e8309a76d0bc7a9ff9a5a227"))]) + (flim . [(20220720 1311) ((emacs (24 5)) (apel (10 8)) (oauth2 (0 11))) "A library to provide basic features about message representation or encoding." tar ((:commit . "b27f4ae0bff18791bf41efa346cdc2eb35ad53e7"))]) (flimenu . [(20200810 1510) ((emacs (24 4))) "Flatten imenu automatically" single ((:commit . "4c0ff37cf3bd6c836bd136b5f6c450560a6c92b9") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "imenu" "browse" "structure" "hook" "mode" "matching" "tools" "convenience" "files") (:url . "https://github.com/IvanMalison/flimenu"))]) (fliptext . [(20171124 2056) nil "Input method for flipping characters upside down" single ((:commit . "fd821f645ffebae6ae3894afa7ba7fc06f91afc6") (:authors ("André Riemann" . "andre.riemann@web.de")) (:maintainer "André Riemann" . "andre.riemann@web.de") (:keywords "games" "i18n"))]) (floobits . [(20211018 550) ((json (1 2)) (highlight (0))) "Floobits plugin for real-time collaborative editing" tar ((:commit . "93b3317fb6c842efe165e54c8a32bf51d436837d") (:authors ("Matt Kaniaris") ("Geoff Greer")) (:maintainer "Matt Kaniaris") (:keywords "comm" "tools") (:url . "http://github.com/Floobits/floobits-emacs"))]) @@ -1559,13 +1584,13 @@ (flow-minor-mode . [(20200905 1730) ((emacs (25 1))) "Flow type mode based on web-mode." single ((:commit . "804217a15a28f6918fba93c91d495ed7d50b0495") (:url . "https://github.com/an-sh/flow-minor-mode"))]) (flower . [(20220416 1744) ((emacs (24 4)) (clomacs (0 0 4))) "Emacs task tracker client." tar ((:commit . "047846409867b2dd0ba4e2047a414b498680cd9c") (:authors ("Sergey Sobko" . "flower@tpg.am")) (:maintainer "Sergey Sobko" . "flower@tpg.am") (:keywords "hypermedia" "outlines" "tools" "vc") (:url . "https://github.com/FlowerAutomation/flower"))]) (flucui-themes . [(20200815 2103) ((emacs (24))) "Custom theme inspired by the Flat UI palette" tar ((:commit . "6591b5093e6e8f0e720e3995a16a91835b2e7a48") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:keywords "lisp") (:url . "https://github.com/MetroWind/flucui-theme"))]) - (flutter . [(20220220 1423) ((emacs (24 4))) "Tools for working with Flutter SDK" tar ((:commit . "08138f8c95488aaf315a1f5d52c33deb8d28672b") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:keywords "languages") (:url . "https://github.com/amake/flutter.el"))]) - (flutter-l10n-flycheck . [(20220213 1335) ((emacs (24 4)) (flycheck (30)) (flutter (0 1 0))) "Flycheck checker for intl_translation" single ((:commit . "08138f8c95488aaf315a1f5d52c33deb8d28672b") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:keywords "languages") (:url . "https://github.com/amake/flutter.el"))]) + (flutter . [(20220526 1214) ((emacs (25 1))) "Tools for working with Flutter SDK" tar ((:commit . "b4148db1e6e6822a6a0da1eda3c58affe562d1dc") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:keywords "languages") (:url . "https://github.com/amake/flutter.el"))]) + (flutter-l10n-flycheck . [(20220502 50) ((emacs (25 1)) (flycheck (30)) (flutter (0 1 0))) "Flycheck checker for intl_translation" single ((:commit . "b4148db1e6e6822a6a0da1eda3c58affe562d1dc") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:keywords "languages") (:url . "https://github.com/amake/flutter.el"))]) (fluxus-mode . [(20210715 58) ((osc (0 1)) (emacs (24 4))) "Major mode for interfacing with Fluxus" single ((:commit . "a14578640c578a4fd09cb7e25da1e87d637719ae") (:authors ("modula t." . "defaultxr@gmail.com")) (:maintainer "modula t." . "defaultxr@gmail.com") (:keywords "languages") (:url . "https://github.com/defaultxr/fluxus-mode"))]) (flx . [(20211101 146) ((cl-lib (0 3))) "fuzzy matching with good sorting" single ((:commit . "e3b3f0533e44c5250ce73d728b59a7e96c692b5d") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (flx-ido . [(20180117 1519) ((flx (0 1)) (cl-lib (0 3))) "flx integration for ido" single ((:commit . "e3b3f0533e44c5250ce73d728b59a7e96c692b5d") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/flx"))]) (flx-isearch . [(20191119 515) ((emacs (24)) (flx (20140821)) (cl-lib (0 5))) "Fuzzy incremental searching for emacs" single ((:commit . "a44097fb8f539a193c2f09a37ea52a68f2c51839") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:keywords "convenience" "search" "flx") (:url . "https://github.com/pythonnut/flx-isearch"))]) - (flycheck . [(20220328 1518) ((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 . "55f25fd98abc145c0c464756504132c271f0f039") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages" "tools") (:url . "http://www.flycheck.org"))]) + (flycheck . [(20220729 1039) ((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 . "8541a61053bba1f2f31d0791e597cd3c78a21456") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages" "tools") (:url . "http://www.flycheck.org"))]) (flycheck-ameba . [(20191226 1011) ((emacs (24 4)) (flycheck (30))) "Add support for Ameba to Flycheck" single ((:commit . "0c4925ae0e998818326adcb47ed27ddf9761c7dc") (:keywords "tools" "crystal" "ameba") (:url . "https://github.com/crystal-ameba/ameba.el"))]) (flycheck-apertium . [(20181211 1038) ((flycheck (0 25))) "Apertium checkers in flycheck" tar ((:commit . "22b60a17836477ac1edd15dc85b14f88ca871ba9") (:authors ("Kevin Brubeck Unhammer" . "unhammer+apertium@mm.st")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer+apertium@mm.st") (:keywords "convenience" "tools" "xml") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (flycheck-aspell . [(20220411 826) ((flycheck (28 0)) (emacs (25 1))) "Aspell checker for flycheck" single ((:commit . "dcf7e6543e4d94d58375e00e4a10db615ef06941") (:authors ("Leo Gaskin" . "leo.gaskin@le0.gs")) (:maintainer "Leo Gaskin" . "leo.gaskin@le0.gs") (:keywords "wp" "flycheck" "spell" "aspell") (:url . "https://github.com/leotaku/flycheck-aspell"))]) @@ -1578,7 +1603,7 @@ (flycheck-clang-analyzer . [(20211214 648) ((flycheck (0 24)) (emacs (24 4))) "Integrate Clang Analyzer with flycheck" single ((:commit . "646d9f3a80046ab231a07526778695d5decad92d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-clang-analyzer"))]) (flycheck-clang-tidy . [(20201115 1232) ((flycheck (0 30))) "Flycheck syntax checker using clang-tidy" single ((:commit . "f9ae7306bd6ca08b689b36c1e8f6f6b91d61db5f") (:authors (nil . "Sebastian Nagel")) (:maintainer "tastytea" . "tastytea@tastytea.de") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/ch1bo/flycheck-clang-tidy"))]) (flycheck-clangcheck . [(20150712 710) ((cl-lib (0 5)) (seq (1 7)) (flycheck (0 17))) "A Flycheck checker difinition for ClangCheck." single ((:commit . "24a9424c484420073a24443a829fd5779752362b") (:authors ("kumar8600" . "kumar8600@gmail.com")) (:maintainer "kumar8600" . "kumar8600@gmail.com") (:url . "https://github.com/kumar8600/flycheck-clangcheck"))]) - (flycheck-clj-kondo . [(20211227 2226) ((emacs (24 3)) (flycheck (0 18))) "Add clj-kondo linter to flycheck" single ((:commit . "35daaccc75b0367844b249a8cb05bf73bcebd52a") (:authors ("Michiel Borkent" . "michielborkent@gmail.com")) (:maintainer "Michiel Borkent" . "michielborkent@gmail.com") (:url . "https://github.com/borkdude/flycheck-clj-kondo"))]) + (flycheck-clj-kondo . [(20211227 2226) ((emacs (24 3)) (flycheck (0 18))) "Add clj-kondo linter to flycheck" single ((:commit . "ff7bed2315755cfe02ef471edf522e27b78cd5ca") (:authors ("Michiel Borkent" . "michielborkent@gmail.com")) (:maintainer "Michiel Borkent" . "michielborkent@gmail.com") (:url . "https://github.com/borkdude/flycheck-clj-kondo"))]) (flycheck-clojure . [(20191215 2227) ((cider (0 22 0)) (flycheck (32 -4)) (let-alist (1 0 1)) (emacs (25))) "Flycheck: Clojure support" single ((:commit . "592c4f89efb5112784cbf94c9ea6fdd045771b62") (:authors ("Peter Fraenkel" . "pnf@podsnap.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Peter Fraenkel" . "pnf@podsnap.com") (:url . "https://github.com/clojure-emacs/squiggly-clojure"))]) (flycheck-clolyze . [(20190422 2134) ((flycheck (0 25)) (emacs (24))) "Add Clolyze to to flycheck" single ((:commit . "c8b27602dd505aeae6486feb6f584754079baf51") (:authors ("Daniel Laps" . "daniel.laps@hhu.de")) (:maintainer "Daniel Laps" . "daniel.laps@hhu.de") (:url . "https://github.com/DLaps/flycheck-clolyze"))]) (flycheck-color-mode-line . [(20200528 416) ((flycheck (0 15)) (dash (1 2)) (emacs (24 3))) "Change mode line color with Flycheck status" single ((:commit . "575b604cfe21f65fb07c134392c382c163c87739") (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")) (:maintainer "Sylvain Benner" . "sylvain.benner@gmail.com") (:keywords "convenience" "language" "tools") (:url . "https://github.com/flycheck/flycheck-color-mode-line"))]) @@ -1599,31 +1624,31 @@ (flycheck-eldev . [(20210305 2231) ((flycheck (32)) (dash (2 17)) (emacs (24 4))) "Eldev support in Flycheck" single ((:commit . "2ed17db874da51fba3d2991a1e05cf375fca9619") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-eldev"))]) (flycheck-elixir . [(20210413 612) ((flycheck (0 25))) "Support Elixir in flycheck" single ((:commit . "b57a77a21d6cf9621b3387831cba34135c4fa35d") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (flycheck-elm . [(20181107 146) ((flycheck (0 29 -4)) (emacs (24 4)) (let-alist (1 0 5)) (seq (2 20))) "Flycheck support for the elm language" single ((:commit . "1b60050efd4729bfba548f3e5adbcb58436667cb") (:authors ("Brian Sermons")) (:maintainer "Brian Sermons") (:url . "https://github.com/bsermons/flycheck-elm"))]) - (flycheck-elsa . [(20200203 1758) ((emacs (25)) (seq (2 0))) "Flycheck for Elsa." tar ((:commit . "911ffb3498e411c538eebce20c6b20b39d725af6") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacs-elsa/flycheck-elsa"))]) + (flycheck-elsa . [(20220523 1105) ((emacs (25)) (seq (2 0))) "Flycheck for Elsa." tar ((:commit . "39c486096d76344f3045e69620b277ee34b6e5e8") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacs-elsa/flycheck-elsa"))]) (flycheck-flawfinder . [(20211214 647) ((flycheck (0 24)) (emacs (24 4))) "Integrate flawfinder with flycheck" single ((:commit . "85701b849ea1ed8438ed4b7ae236e99d0f5528c7") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-flawfinder"))]) (flycheck-flow . [(20190304 1459) ((flycheck (0 18)) (json (1 4))) "Support Flow in flycheck" single ((:commit . "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com"))]) (flycheck-ghcmod . [(20150114 632) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using ghcmod" single ((:commit . "6bb7b7d879f05bbae54e99eb04806c877adf3ccc") (:authors ("Shen Chao" . "scturtle@gmail.com")) (:maintainer "Shen Chao" . "scturtle@gmail.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/scturtle/flycheck-ghcmod"))]) (flycheck-golangci-lint . [(20190330 1412) ((emacs (24)) (flycheck (0 22))) "Flycheck checker for golangci-lint" single ((:commit . "8e446c68311048f0b87febf8ef0379e29d358851") (:authors ("Wei Jian Gan" . "weijiangan@outlook.com")) (:maintainer "Wei Jian Gan" . "weijiangan@outlook.com") (:keywords "convenience" "tools" "go") (:url . "https://github.com/weijiangan/flycheck-golangci-lint"))]) (flycheck-gometalinter . [(20180424 941) ((emacs (24)) (flycheck (0 22))) "flycheck checker for gometalinter" single ((:commit . "1e3eede14da405b914a7d8b00300846e4393cb83") (:authors ("Diep Pham" . "me@favadi.com")) (:maintainer "Diep Pham" . "me@favadi.com") (:keywords "convenience" "tools" "go") (:url . "https://github.com/favadi/flycheck-gometalinter"))]) - (flycheck-google-cpplint . [(20210210 300) ((flycheck (0 20 -4 1))) "Help to comply with the Google C++ Style Guide" single ((:commit . "327f1c13e4f404b1bdd25b10f7e7ac7d7e3bdac0") (:authors ("Akiha Senda" . "senda.akiha@gmail.com")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "flycheck" "c" "c++") (:url . "https://github.com/flycheck/flycheck-google-cpplint/"))]) + (flycheck-google-cpplint . [(20220616 1802) ((flycheck (0 20 -4 1))) "Help to comply with the Google C++ Style Guide" single ((:commit . "93c5b26ec55d0df54bc230e2de0890fe074f35d3") (:authors ("Akiha Senda" . "senda.akiha@gmail.com")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "flycheck" "c" "c++") (:url . "https://github.com/flycheck/flycheck-google-cpplint/"))]) (flycheck-gradle . [(20190315 234) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Gradle." single ((:commit . "1ca08bbc343362a923cbdc2010f66e41655e92ab") (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "languages" "gradle") (:url . "https://github.com/jojojames/flycheck-gradle"))]) (flycheck-grammalecte . [(20210705 1656) ((emacs (26 1)) (flycheck (26))) "Integrate Grammalecte with Flycheck" tar ((:commit . "59b37e09923290da1c8458e507da43f403f555d2") (:authors ("Guilhem Doulcier" . "guilhem.doulcier@espci.fr") ("Étienne Deparis" . "etienne@depar.is")) (:maintainer "Étienne Deparis" . "etienne@depar.is") (:keywords "i18n" "text") (:url . "https://git.umaneti.net/flycheck-grammalecte/"))]) - (flycheck-grammarly . [(20220228 731) ((emacs (25 1)) (flycheck (0 14)) (grammarly (0 3 0)) (s (1 12 0))) "Grammarly support for Flycheck" single ((:commit . "6cc8a7553ac84a229090ca8ffa6aa7d34de35cde") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/flycheck-grammarly"))]) + (flycheck-grammarly . [(20220704 625) ((emacs (25 1)) (flycheck (0 14)) (grammarly (0 3 0)) (s (1 12 0))) "Grammarly support for Flycheck" single ((:commit . "fccdba6a6bfb043031a43c62b3c5b635d52bf723") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "grammar" "check") (:url . "https://github.com/emacs-grammarly/flycheck-grammarly"))]) (flycheck-guile . [(20201202 509) ((emacs (24 1)) (flycheck (0 22)) (geiser (0 11))) "A Flycheck checker for GNU Guile" single ((:commit . "e46d6e5453dd7471309fae6549445c48e6d8f340") (:authors ("Ricardo Wurmus" . "rekado@elephly.net")) (:maintainer "Andrew Whatson" . "whatson@gmail.com") (:url . "https://github.com/flatwhatson/flycheck-guile"))]) - (flycheck-haskell . [(20211223 104) ((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 . "8110ef5a1953594d065b67df25d5f0c05c711df4") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-haskell"))]) + (flycheck-haskell . [(20220426 2358) ((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 . "d92dea78fb8638f7c27a3eb925d84c669fb257dd") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-haskell"))]) (flycheck-hdevtools . [(20160926 702) ((flycheck (0 21 -4 1)) (dash (2 0))) "A flycheck checker for Haskell using hdevtools" single ((:commit . "8248ebaf8376ee5e37ff47c814a291550a7bdcf2") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/flycheck/flycheck-hdevtools"))]) - (flycheck-hledger . [(20220323 726) ((emacs (27 1)) (flycheck (31))) "Flycheck module to check hledger journals" single ((:commit . "87b275b9b3d476b5f458e85e760f3f7fa3e66775") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/flycheck-hledger/"))]) + (flycheck-hledger . [(20220715 1115) ((emacs (27 1)) (flycheck (31))) "Flycheck module to check hledger journals" single ((:commit . "c360025b8433abc4da89b0bfcc7ed1ff27004c64") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/flycheck-hledger/"))]) (flycheck-indent . [(20200129 2046) ((emacs (25 1)) (indent-lint (1 0 0)) (flycheck (31))) "Indent-lint frontend for flycheck" single ((:commit . "c55f4ded11e8e50a96f43675a071354a8fb501c3") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tools") (:url . "https://github.com/conao3/indent-lint.el"))]) (flycheck-indicator . [(20200331 1142) ((flycheck (0 15))) "A fancy mode line indicator for `flycheck-mode'" single ((:commit . "e00d9a20cbc21d6814c27cc9206296da394478e8") (:authors ("Eder Elorriaga" . "gexplorer8@gmail.com")) (:maintainer "Eder Elorriaga" . "gexplorer8@gmail.com") (:keywords "convenience" "language" "tools") (:url . "https://github.com/gexplorer/flycheck-indicator"))]) (flycheck-ini-pyinilint . [(20190312 1931) ((flycheck (31))) "Flycheck integration for PyINILint" single ((:commit . "7febbea9ed407eccc4bfd24ae0d3afd1c19394f7") (:authors ("Daniel J. R. May" . "daniel.may@danieljrmay.com")) (:maintainer "Daniel J. R. May" . "daniel.may@danieljrmay.com") (:keywords "convenience" "files" "tools") (:url . "https://gitlab.com/danieljrmay/flycheck-ini-pyinilint"))]) (flycheck-inline . [(20200808 1019) ((emacs (25 1)) (flycheck (32))) "Display Flycheck errors inline" single ((:commit . "8e00b4c5951a9515a450a14aefe92e9f6ddcfbde") (:authors ("fmdkdd")) (:maintainer "fmdkdd") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-inline"))]) (flycheck-irony . [(20180604 2152) ((emacs (24 1)) (flycheck (0 22)) (irony (0 2 0))) "Flycheck: C/C++ support via Irony" single ((:commit . "42dbecd4a865cabeb301193bb4d660e26ae3befe") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:keywords "convenience" "tools" "c") (:url . "https://github.com/Sarcasm/flycheck-irony/"))]) - (flycheck-jest . [(20180411 328) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Jest." single ((:commit . "08f27c5ed97c83c445f99fab58f0b6c826f14449") (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "languages" "jest") (:url . "https://github.com/jojojames/flycheck-jest"))]) + (flycheck-jest . [(20220530 1418) ((emacs (25 1)) (flycheck (0 25))) "Flycheck extension for Jest." single ((:commit . "8181c5d2e1318c6ddcff21c6f3f6d76413545645") (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "languages" "jest") (:url . "https://github.com/jojojames/flycheck-jest"))]) (flycheck-joker . [(20200412 2346) ((flycheck (0 18))) "Add Clojure syntax checker (via Joker) to flycheck" single ((:commit . "93576295fef7a749bf779eeece5edd85e21868e2") (:authors ("Roman Bataev" . "roman.bataev@gmail.com")) (:maintainer "Roman Bataev" . "roman.bataev@gmail.com"))]) (flycheck-julia . [(20170729 2141) ((emacs (24)) (flycheck (0 22))) "Julia support for Flycheck" single ((:commit . "213b60a5a9a1cb7887260e1d159b5bb27167cbb6") (:authors ("Guido Kraemer" . "guido.kraemer@gmx.de")) (:maintainer "Guido Kraemer" . "guido.kraemer@gmx.de") (:keywords "convenience" "tools" "languages") (:url . "https://github.com/gdkrmr/flycheck-julia"))]) (flycheck-keg . [(20200726 218) ((emacs (24 3)) (keg (0 1)) (flycheck (0 1))) "Flycheck for Keg projects" single ((:commit . "944e36144d92a798e1fd0f3d83fc6347d57a976e") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/keg.el"))]) (flycheck-kotlin . [(20210406 1148) ((flycheck (0 20))) "Support kotlin in flycheck" single ((:commit . "bf1b398bdde128806a0a7479ebbe369bbaa40dae") (:authors ("Elric Milon" . "whirm_REMOVETHIS__@gmx.com")) (:maintainer "Elric Milon" . "whirm_REMOVETHIS__@gmx.com"))]) - (flycheck-languagetool . [(20220402 1703) ((emacs (25 1)) (flycheck (0 14))) "Flycheck support for LanguageTool" single ((:commit . "6dc29319973ff86f8f83c988f3e093b28c746aba") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com") ("Peter Oliver" . "git@mavit.org.uk")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-languagetool/flycheck-languagetool"))]) + (flycheck-languagetool . [(20220731 2301) ((emacs (25 1)) (flycheck (0 14))) "Flycheck support for LanguageTool" single ((:commit . "53b3e46d47a0e70fd2e5c49fea9134ee9aa41793") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com") ("Peter Oliver" . "git@mavit.org.uk")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "grammar" "check") (:url . "https://github.com/emacs-languagetool/flycheck-languagetool"))]) (flycheck-ledger . [(20200304 2204) ((emacs (24 1)) (flycheck (0 15))) "Flycheck integration for ledger files" single ((:commit . "628e25ba66604946085571652a94a54f4d1ad96f") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/purcell/flycheck-ledger"))]) (flycheck-lilypond . [(20211006 2102) ((emacs (24 3)) (flycheck (0 22))) "LilyPond support in Flycheck" single ((:commit . "78f8c16cd67f9f6d3f1806e1fd403222723ba400") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/hinrik/flycheck-lilypond"))]) (flycheck-liquidhs . [(20170412 2326) ((flycheck (0 15))) "A flycheck checker for Haskell using liquid (i.e. liquidhaskell)" single ((:commit . "c27252ac24d77f4b6eec76a4ba9cd61761a3fba9") (:authors ("Ranjit Jhala" . "jhala@cs.ucsd.edu")) (:maintainer "Ranjit Jhala" . "jhala@cs.ucsd.edu") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/ucsd-progsys/liquidhaskell/flycheck-liquid.el"))]) @@ -1633,18 +1658,18 @@ (flycheck-nim . [(20190927 1514) ((dash (2 4 0)) (flycheck (0 20))) "Defines a flycheck syntax checker for nim" single ((:commit . "ddfade51001571c2399f78bcc509e0aa8eb752a4") (:authors ("Adam Schwalm" . "adamschwalm@gmail.com")) (:maintainer "Adam Schwalm" . "adamschwalm@gmail.com") (:url . "https://github.com/ALSchwalm/flycheck-nim"))]) (flycheck-nimsuggest . [(20171027 2208) ((flycheck (0 23)) (emacs (24 3))) "flycheck backend for Nim using nimsuggest" single ((:commit . "dc9a5de1cb3ee05db5794d824610959a1f603bc9") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:url . "https://github.com/yuutayamada/flycheck-nimsuggest"))]) (flycheck-objc-clang . [(20210911 1023) ((emacs (24 4)) (flycheck (26))) "Flycheck: Objective-C support using Clang" single ((:commit . "0a86156fad0d6f02e8e6b4c5594f7173c96d6481") (:authors ("Goichi Hirakawa" . "gooichi@gyazsquare.com")) (:maintainer "Goichi Hirakawa" . "gooichi@gyazsquare.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/GyazSquare/flycheck-objc-clang"))]) - (flycheck-ocaml . [(20170730 2153) ((emacs (24 1)) (flycheck (0 22)) (merlin (3 0 1)) (let-alist (1 0 3))) "Flycheck: OCaml support" single ((:commit . "8707a7bf545a8639a6a5c600a98d9a2ea1487dc9") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "convenience" "tools" "languages") (:url . "https://github.com/flycheck/flycheck-ocaml"))]) + (flycheck-ocaml . [(20220730 542) ((emacs (24 3)) (flycheck (32)) (merlin (3 0 1)) (let-alist (1 0 3))) "Flycheck: OCaml support" single ((:commit . "77f8ddbd9bfc3a11957ac7ec7e45d5fa9179b192") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "convenience" "tools" "languages" "ocaml") (:url . "https://github.com/flycheck/flycheck-ocaml"))]) (flycheck-package . [(20210509 2323) ((emacs (24 1)) (flycheck (0 22)) (package-lint (0 2))) "A Flycheck checker for elisp package authors" single ((:commit . "615c1ed8c6fb7c73abec6aaa73d3fef498d231bc") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "lisp") (:url . "https://github.com/purcell/flycheck-package"))]) (flycheck-pact . [(20180920 2052) ((emacs (24 3)) (flycheck (0 25)) (pact-mode (0 0 4))) "Flycheck support for pact-mode" single ((:commit . "0e10045064ef89ec8b6f5a473073d47b976a2ca3") (:authors ("Stuart Popejoy")) (:maintainer "Stuart Popejoy" . "stuart@kadena.io") (:keywords "pact" "lisp" "languages" "blockchain" "smartcontracts" "tools" "linting") (:url . "http://github.com/kadena-io/flycheck-pact"))]) - (flycheck-pest . [(20200317 1503) ((emacs (26 3)) (flycheck (31)) (pest-mode (0 1))) "Flycheck integration for Pest -" single ((:commit . "43447a2c70f98edd1139005e32f437d3f142442b") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience" "flycheck") (:url . "https://github.com/ksqsf/pest-mode"))]) + (flycheck-pest . [(20200317 1503) ((emacs (26 3)) (flycheck (31)) (pest-mode (0 1))) "Flycheck integration for Pest -" single ((:commit . "af677327f185113442e95b00986097b30cab650c") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience" "flycheck") (:url . "https://github.com/ksqsf/pest-mode"))]) (flycheck-php-noverify . [(20211005 401) ((flycheck (0 22))) "Flycheck checker for PHP Noverify linter" single ((:commit . "3c5cfa5b790bb7f0a8da7f3caee8e4782b67f8ac") (:url . "https://github.com/Junker/flycheck-php-noverify"))]) - (flycheck-phpstan . [(20210714 1805) ((emacs (24 3)) (flycheck (26)) (phpstan (0 5 0))) "Flycheck integration for PHPStan" single ((:commit . "0869b152f82a76138daa53e953285936b9d558bd") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) + (flycheck-phpstan . [(20220723 1451) ((emacs (24 3)) (flycheck (26)) (phpstan (0 5 0))) "Flycheck integration for PHPStan" single ((:commit . "e229e990e36a2bfb88503bfe2bb6f2836eaa2874") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) (flycheck-pkg-config . [(20200409 501) ((dash (2 8 0)) (s (1 9 0)) (flycheck (29))) "configure flycheck using pkg-config" single ((:commit . "b76b24ea1f4800f5fb96ce9c6c4788e0e63133d3") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "flycheck"))]) (flycheck-plantuml . [(20171018 111) ((flycheck (0 24)) (emacs (24 4)) (plantuml-mode (1 2 2))) "Integrate plantuml with flycheck" single ((:commit . "183be89e1dbba0b38237dd198dff600e0790309d") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-plantuml"))]) - (flycheck-pony . [(20210118 1326) ((flycheck (0 25 1))) "Pony support in Flycheck" single ((:commit . "2d5b72903e69e1e5eec2d03b9006a62fbbf75233") (:keywords "tools" "convenience") (:url . "https://github.com/seantallen/flycheck-pony"))]) + (flycheck-pony . [(20210118 1326) ((flycheck (0 25 1))) "Pony support in Flycheck" single ((:commit . "205143d22902521b4f1f03e7d49d17c62338dea6") (:keywords "tools" "convenience") (:url . "https://github.com/seantallen/flycheck-pony"))]) (flycheck-popup-tip . [(20170812 2351) ((flycheck (0 22)) (popup (0 5)) (emacs (24))) "Display Flycheck error messages using popup.el" single ((:commit . "ef86aad907f27ca076859d8d9416f4f7727619c6") (:authors ("Saša Jovanić" . "sasa@simplify.ba")) (:maintainer "Saša Jovanić" . "sasa@simplify.ba") (:keywords "convenience" "tools" "flycheck" "tooltip") (:url . "https://github.com/flycheck/flycheck-popup-tip/"))]) (flycheck-pos-tip . [(20200516 1600) ((emacs (24 1)) (flycheck (0 22)) (pos-tip (0 4 6))) "Display Flycheck errors in GUI tooltips" single ((:commit . "dc57beac0e59669926ad720c7af38b27c3a30467") (:authors ("Akiha Senda" . "senda.akiha@gmail.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-pos-tip"))]) - (flycheck-posframe . [(20210316 618) ((flycheck (0 24)) (emacs (26)) (posframe (0 7 0))) "Show flycheck error messages using posframe.el" single ((:commit . "8f60c9bf124ab9597d681504a73fdf116a0bde12") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-posframe"))]) + (flycheck-posframe . [(20220715 133) ((flycheck (0 24)) (emacs (26)) (posframe (0 7 0))) "Show flycheck error messages using posframe.el" single ((:commit . "19896b922c76a0f460bf3fe8d8ebc2f9ac9028d8") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/flycheck-posframe"))]) (flycheck-projectile . [(20201031 1952) ((emacs (25 1)) (flycheck (31)) (projectile (2 2))) "Project-wide errors" single ((:commit . "ce6e9e8793a55dace13d5fa13badab2dca3b5ddb") (:authors ("Nikita Bloshchanevich" . "nikblos@outlook.com")) (:maintainer "Nikita Bloshchanevich" . "nikblos@outlook.com") (:url . "https://github.com/nbfalcon/flycheck-projectile"))]) (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-psalm . [(20211002 1555) ((emacs (24 3)) (flycheck (26)) (psalm (0 6 0))) "Flycheck integration for Psalm" single ((:commit . "28d546a79cb865a78b94cd7e929d66d720505faa") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/psalm.el"))]) @@ -1653,7 +1678,7 @@ (flycheck-pyre . [(20190215 1222) ((emacs (24)) (flycheck (29)) (cl-lib (0 6))) "Support Pyre in flycheck" tar ((:commit . "0560122caae207d99d8af1ac2b4e5d6f6a1ce444") (:authors ("Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com")) (:maintainer "Vyacheslav Linnik" . "vyacheslav.linnik@gmail.com") (:url . "https://github.com/linnik/flycheck-pyre"))]) (flycheck-raku . [(20220420 732) ((emacs (26 3)) (flycheck (0 22))) "Raku support in Flycheck" single ((:commit . "4da1970a75396aff1957b07f7579c1de6b817e6b") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") ("Johnathon Weare" . "jrweare@gmail.com") ("Siavash Askari Nasr" . "siavash.askari.nasr@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/Raku/flycheck-raku"))]) (flycheck-relint . [(20200721 2217) ((emacs (26 1)) (flycheck (0 22)) (relint (1 15))) "A Flycheck checker for elisp regular expressions" single ((:commit . "c66d0c8d2e3a8abb6a3dfda597801e460b2eeb6f") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "lisp") (:url . "https://github.com/purcell/flycheck-relint"))]) - (flycheck-rtags . [(20191222 920) ((emacs (24)) (flycheck (0 23)) (rtags (2 10))) "RTags Flycheck integration" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com")) (:maintainer "Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (flycheck-rtags . [(20191222 920) ((emacs (24)) (flycheck (0 23)) (rtags (2 10))) "RTags Flycheck integration" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com")) (:maintainer "Christian Schwarzgruber" . "c.schwarzgruber.cs@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) (flycheck-rust . [(20190319 1546) ((emacs (24 1)) (flycheck (28)) (dash (2 13 0)) (seq (2 3)) (let-alist (1 0 4))) "Flycheck: Rust additions and Cargo support" single ((:commit . "a139cd53c5062697e9ed94ad80b803c37d999600") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "tools" "convenience") (:url . "https://github.com/flycheck/flycheck-rust"))]) (flycheck-stan . [(20211129 2051) ((emacs (25 1)) (flycheck (0 16 0)) (stan-mode (10 3 0))) "Add Stan support for Flycheck" tar ((:commit . "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:keywords "c" "languages") (:url . "https://github.com/stan-dev/stan-mode/tree/master/flycheck-stan"))]) (flycheck-status-emoji . [(20180330 2325) ((cl-lib (0 1)) (emacs (24)) (flycheck (0 20)) (let-alist (1 0))) "Show flycheck status using cute, compact emoji" single ((:commit . "4bd113ab42dec9544b66e0a27ed9008ce8148433") (:authors ("Ben Liblit" . "liblit@acm.org")) (:maintainer "Ben Liblit" . "liblit@acm.org") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/liblit/flycheck-status-emoji"))]) @@ -1672,9 +1697,9 @@ (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 . "c17ff9e0250a9b39d23af37015a2b300e2f36fed") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/emacs-ycmd"))]) (flymake-aspell . [(20220411 826) ((emacs (26 1))) "Aspell checker for flymake" single ((:commit . "dcf7e6543e4d94d58375e00e4a10db615ef06941") (:authors ("Leo Gaskin" . "leo.gaskin@le0.gs")) (:maintainer "Leo Gaskin" . "leo.gaskin@le0.gs") (:keywords "wp" "flymake" "spell" "aspell") (:url . "https://github.com/leotaku/flycheck-aspell"))]) (flymake-coffee . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for coffee script" single ((:commit . "dee295acf30820ed15fe0de17137d50bc27fc80c") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-coffee"))]) - (flymake-collection . [(20220410 1343) ((emacs (28 1)) (let-alist (1 0)) (flymake (1 2 1))) "Collection of checkers for flymake, bringing flymake to the level of flycheck" tar ((:commit . "8f36fed9eef834cf94931fc8b813f9ac8db6d2a4") (:authors ("Mohsin Kaleem" . "mohkale@kisara.moe")) (:maintainer "Mohsin Kaleem" . "mohkale@kisara.moe") (:keywords "language" "tools") (:url . "https://github.com/mohkale/flymake-collection"))]) + (flymake-collection . [(20220612 1340) ((emacs (28 1)) (let-alist (1 0)) (flymake (1 2 1))) "Collection of checkers for flymake, bringing flymake to the level of flycheck" tar ((:commit . "cd2574574bda1f3d94007cdc3b7e0f8007d69716") (:authors ("Mohsin Kaleem" . "mohkale@kisara.moe")) (:maintainer "Mohsin Kaleem" . "mohkale@kisara.moe") (:keywords "language" "tools") (:url . "https://github.com/mohkale/flymake-collection"))]) (flymake-css . [(20170723 146) ((flymake-easy (0 1))) "Flymake support for css using csslint" single ((:commit . "de090163ba289910ceeb61b13368ce42d0f2dfd8") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-css"))]) - (flymake-cursor . [(20210126 1733) ((flymake (0 3))) "Show flymake messages in the minibuffer after delay" single ((:commit . "9feffdd1fa286070a54842ebbd31e7d1e4204f1c") (:authors ("Unknown Original Author") ("Dino Chiesa" . "dpchiesa@hotmail.com") ("Sam Graham ")) (:maintainer "Sam Graham ") (:keywords "languages" "mode" "flymake") (:url . "https://github.com/flymake/emacs-flymake-cursor"))]) + (flymake-cursor . [(20220506 1458) ((flymake (0 3))) "Show flymake messages in the minibuffer after delay" single ((:commit . "d3c632f26a2d13fb288252c288faaf8107b3d86a") (:authors ("Unknown Original Author") ("Dino Chiesa" . "dpchiesa@hotmail.com") ("Sam Graham ")) (:maintainer "Sam Graham ") (:keywords "languages" "mode" "flymake") (:url . "https://github.com/flymake/emacs-flymake-cursor"))]) (flymake-diagnostic-at-point . [(20180815 1004) ((emacs (26 1)) (popup (0 5 3))) "Display flymake diagnostics at point" single ((:commit . "379616b1c6f5ebeaf08fbe54ae765008a78b3be7") (:authors ("Ricardo Martins" . "ricardo@scarybox.net")) (:maintainer "Ricardo Martins" . "ricardo@scarybox.net") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/meqif/flymake-diagnostic-at-point"))]) (flymake-easy . [(20140818 755) nil "Helpers for easily building flymake checkers" single ((:commit . "de41ea49503f71f997e5c359a2ad08df696c0147") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "internal") (:url . "https://github.com/purcell/flymake-easy"))]) (flymake-elixir . [(20130810 1417) nil "A flymake handler for elixir-mode .ex files." single ((:commit . "3810566cffe35d04cc3f01e27fe397d68d52f802") (:authors ("Sylvain Benner" . "syl20bnr@gmail.com")) (:maintainer "Sylvain Benner" . "syl20bnr@gmail.com"))]) @@ -1682,10 +1707,10 @@ (flymake-flycheck . [(20220313 924) ((flycheck (31)) (emacs (26 1))) "Use flycheck checkers as flymake backends" single ((:commit . "9040be3763b8f9952dccd9a04be25ac20a0f8745") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "languages" "tools") (:url . "https://github.com/purcell/flymake-flycheck"))]) (flymake-gjshint . [(20130327 1232) nil "A flymake handler for javascript using both jshint and gjslint" single ((:commit . "dc957c14cb060819585de8aedb330e24efa4b784") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "flymake" "javascript" "jshint" "gjslint"))]) (flymake-go . [(20150714 733) nil "A flymake handler for go-mode files" single ((:commit . "ae83761aa908c1a50ff34af04f00dcc46bca2ce9") (:authors ("Michael Fellinger" . "michael@iron.io") ("Robert Zaremba" . "robert.marek.zaremba@wp.eu")) (:maintainer "Michael Fellinger" . "michael@iron.io") (:keywords "go" "flymake") (:url . "https://github.com/robert-zaremba/flymake-go"))]) - (flymake-go-staticcheck . [(20190708 1325) ((emacs (25))) "Go staticcheck linter for flymake" single ((:commit . "130079fcd29c3e2a72f8325f3041042bcc6286f1") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "languages" "tools") (:url . "https://github.com/s-kostyaev/flymake-go-staticcheck"))]) + (flymake-go-staticcheck . [(20220803 1929) ((emacs (26 1))) "Go staticcheck linter for flymake" single ((:commit . "d29b158acc2c131cdbb5c62f54cb0fc024339575") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "languages" "tools") (:url . "https://github.com/s-kostyaev/flymake-go-staticcheck"))]) (flymake-golangci . [(20191028 1927) ((flymake-easy (0 1)) (emacs (24))) "A flymake handler for go-mode files using Golang CI lint" single ((:commit . "dfc31a1a6ae3f087b49fe6f5f21b3866780aa91c") (:authors ("Jorge Javier Araya Navarro" . "jorgejavieran@yahoo.com.mx")) (:maintainer "Jorge Javier Araya Navarro" . "jorgejavieran@yahoo.com.mx") (:url . "https://gitlab.com/shackra/flymake-golangci"))]) (flymake-gradle . [(20190315 233) ((emacs (26 1))) "Flymake extension for Gradle." single ((:commit . "dbedd29b78d4828ef57d4de20867be5df3eaab99") (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "languages" "gradle") (:url . "https://github.com/jojojames/flymake-gradle"))]) - (flymake-grammarly . [(20220222 638) ((emacs (26 1)) (grammarly (0 3 0)) (s (1 12 0))) "Flymake support for Grammarly" single ((:commit . "7764178e6b51ccf0ce984b97385c22b2696d54f0") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/flymake-grammarly"))]) + (flymake-grammarly . [(20220704 626) ((emacs (26 1)) (grammarly (0 3 0)) (s (1 12 0))) "Flymake support for Grammarly" single ((:commit . "7ad726f27031fbe816885632155851cc2cfcd522") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "grammar" "check") (:url . "https://github.com/emacs-grammarly/flymake-grammarly"))]) (flymake-hadolint . [(20220328 823) ((emacs (26 1))) "Flymake backend for hadolint, a Dockerfile linter" single ((:commit . "82a6df7f6cc95e1ab95c5d28f2edcd8c1d4c7382") (:authors ("Taiki Sugawara" . "buzz.taiki@gmail.com")) (:maintainer "Taiki Sugawara" . "buzz.taiki@gmail.com") (:keywords "convenience" "processes" "docker" "flymake") (:url . "https://github.com/buzztaiki/flymake-hadolint"))]) (flymake-haml . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for haml files" single ((:commit . "22a81e8484734552d461e7ae7305664dc244447e") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-haml"))]) (flymake-haskell-multi . [(20170723 146) ((flymake-easy (0 1))) "Syntax-check haskell-mode using both ghc and hlint" tar ((:commit . "b564a94312259885b1380272eb867bf52a164020") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-haskell-multi"))]) @@ -1696,16 +1721,16 @@ (flymake-json . [(20180511 911) ((flymake-easy (0 1))) "A flymake handler for json using jsonlint" single ((:commit . "03b4e5e7ad11938781257a783e717ab95fe65952") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-json"))]) (flymake-kondor . [(20211026 501) ((emacs (26 1))) "Linter with clj-kondo" single ((:commit . "784e57f36812a37e323409b90b935ef3c6920a22") (:authors ("https://turbocafe.keybase.pub")) (:maintainer "https://turbocafe.keybase.pub") (:url . "https://github.com/turbo-cafe/flymake-kondor"))]) (flymake-ktlint . [(20180831 346) ((emacs (26 1))) "Flymake extension for Ktlint." single ((:commit . "56aab6f2d22061999050783dbc3166cdb456d0bb") (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "languages" "ktlint") (:url . "https://github.com/jojojames/flymake-ktlint"))]) - (flymake-languagetool . [(20220414 429) ((emacs (27 1)) (s (1 9 0))) "Flymake support for LanguageTool" single ((:commit . "db6abad075734dd01dbbd31cfec7ecb65ba16404") (:url . "https://github.com/emacs-languagetool/flymake-languagetool"))]) + (flymake-languagetool . [(20220704 637) ((emacs (27 1)) (s (1 9 0))) "Flymake support for LanguageTool" single ((:commit . "857f4f94a7615d7de5305a40045b2b85ae1ff760") (:keywords "convenience" "grammar" "check") (:url . "https://github.com/emacs-languagetool/flymake-languagetool"))]) (flymake-less . [(20151111 738) ((less-css-mode (0 15)) (flymake-easy (0 1))) "Flymake handler for LESS stylesheets (lesscss.org)" single ((:commit . "32d3c28a9a5c52b82d1741ff9d715013b6498421") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages"))]) (flymake-lua . [(20170129 154) nil "Flymake for Lua" single ((:commit . "84589f20066921a5b79cf3a1f914a223a2552d2a") (: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\")") (:keywords "lua"))]) (flymake-markdownlint . [(20220320 1208) ((emacs (27 1))) "Markdown linter with markdownlint" single ((:commit . "59e3520668d9394c573e07b7980a2d48d9f6086c") (:authors ("Martin Kjær Jørgensen" . "mkj@gotu.dk")) (:maintainer "Martin Kjær Jørgensen" . "mkj@gotu.dk") (:url . "https://github.com/shaohme/flymake-markdownlint"))]) (flymake-nasm . [(20210310 1540) ((flymake-quickdef (1 0 0)) (emacs (26 1))) "A flymake handler for asm-mode files using nasm" single ((:commit . "27e58d7f3a48ca6fc12238fe6c888a3fdffc3f75") (:authors ("Jürgen Hötzel" . "juergen@hoetzel.info")) (:maintainer "Jürgen Hötzel") (:keywords "tools" "languages") (:url . "http://github.com/juergenhoetzel/flymake-nasm"))]) - (flymake-perlcritic . [(20120328 814) ((flymake (0 3))) "Flymake handler for Perl to invoke Perl::Critic" tar ((:commit . "ee515ffdeb2a3b1162c82089e94cc31186eb2001") (:authors ("Sam Graham ")) (:maintainer "Sam Graham ") (:url . "https://github.com/illusori/emacs-flymake-perlcritic"))]) - (flymake-pest . [(20200317 1503) ((emacs (26 3)) (pest-mode (0 1))) "A flymake handler for Pest files" single ((:commit . "43447a2c70f98edd1139005e32f437d3f142442b") (:authors ("ksqsf" . "i@ksqsf.moe") ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:keywords "languages" "flymake") (:url . "https://github.com/ksqsf/pest-mode"))]) + (flymake-perlcritic . [(20120328 814) ((flymake (0 3))) "Flymake handler for Perl to invoke Perl::Critic" tar ((:commit . "394b961b27b1fddc3c7107046a53d47f58757300") (:authors ("Sam Graham ")) (:maintainer "Sam Graham ") (:url . "https://github.com/illusori/emacs-flymake-perlcritic"))]) + (flymake-pest . [(20200317 1503) ((emacs (26 3)) (pest-mode (0 1))) "A flymake handler for Pest files" single ((:commit . "af677327f185113442e95b00986097b30cab650c") (:authors ("ksqsf" . "i@ksqsf.moe") ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:keywords "languages" "flymake") (:url . "https://github.com/ksqsf/pest-mode"))]) (flymake-php . [(20170723 146) ((flymake-easy (0 1))) "A flymake handler for php-mode files" single ((:commit . "c045d01e002ba5e09b05f40e25bf5068d02126bc") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-php"))]) - (flymake-phpcs . [(20140713 631) ((flymake-easy (0 9))) "making flymake work with PHP CodeSniffer" single ((:commit . "2d442cff3408ecf3e576f0f3406fd6f567b16fa7") (:authors ("Akiha Senda")) (:maintainer "Akiha Senda") (:keywords "flymake" "phpcs" "php") (:url . "https://github.com/senda-akiha/flymake-phpcs/"))]) - (flymake-phpstan . [(20210714 1805) ((emacs (26 1)) (phpstan (0 5 0))) "Flymake backend for PHP using PHPStan" single ((:commit . "0869b152f82a76138daa53e953285936b9d558bd") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) + (flymake-phpcs . [(20140713 631) ((flymake-easy (0 9))) "making flymake work with PHP CodeSniffer" single ((:commit . "433fd05b608f06a40bb209fbea76117d896449ed") (:authors ("Akiha Senda")) (:maintainer "Akiha Senda") (:keywords "flymake" "phpcs" "php") (:url . "https://github.com/senda-akiha/flymake-phpcs/"))]) + (flymake-phpstan . [(20210714 1805) ((emacs (26 1)) (phpstan (0 5 0))) "Flymake backend for PHP using PHPStan" single ((:commit . "e229e990e36a2bfb88503bfe2bb6f2836eaa2874") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) (flymake-puppet . [(20170801 554) ((flymake-easy (0 9))) "Flymake handler using puppet-lint" single ((:commit . "8a772395f4ccc59d883712ab53a92a17c1d9a429") (:authors ("Ben Prew")) (:maintainer "Ben Prew") (:url . "https://github.com/benprew/flymake-puppet"))]) (flymake-python-pyflakes . [(20170723 146) ((flymake-easy (0 8))) "A flymake handler for python-mode files using pyflakes (or flake8)" single ((:commit . "1d65c26bf65a5dcbd29fcd967e2feb90e1e7a33d") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/flymake-python-pyflakes"))]) (flymake-quickdef . [(20200308 2342) ((emacs (26 1))) "Quickly define a new Flymake backend" single ((:commit . "150c5839768a3d32f988f9dc08052978a68f2ad7") (:authors ("Karl Otness")) (:maintainer "Karl Otness") (:keywords "languages" "tools" "convenience" "lisp") (:url . "https://github.com/karlotness/flymake-quickdef"))]) @@ -1720,14 +1745,14 @@ (flymake-vala . [(20150326 531) ((flymake-easy (0 1))) "A flymake handler for vala-mode files" single ((:commit . "c3674f461fc84fb0300cd3a562fb903a59782745") (:authors ("Daniel Lawrence" . "dannyla@linux.com")) (:maintainer "Daniel Lawrence" . "dannyla@linux.com") (:keywords "convenience" "vala") (:url . "https://github.com/daniellawrence/flymake-vala"))]) (flymake-vnu . [(20181128 216) ((emacs (26 1))) "Flymake extension for the v.Nu HTML validator." single ((:commit . "7c4ab9d12611756ad5a80d866890b2f9b73fb611") (:maintainer "Stefan Kuznetsov" . "skuznetsov@posteo.net") (:keywords "languages") (:url . "https://github.com/theneosloth/flymake-vnu"))]) (flymake-yaml . [(20130423 1548) ((flymake-easy (0 1))) "A flymake handler for YAML" single ((:commit . "24cb5b744a1796e554e6dbfc6eeb237d06a00b10") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "yaml") (:url . "https://github.com/yasuyk/flymake-yaml"))]) - (flymake-yamllint . [(20220311 636) ((emacs (26 1))) "YAML linter with yamllint" single ((:commit . "a93bf9a6697566f0e29fb51a87c5cc7b2a972d2d") (:authors ("Martin Kjær Jørgensen" . "mkj@gotu.dk")) (:maintainer "Martin Kjær Jørgensen" . "mkj@gotu.dk") (:url . "https://github.com/shaohme/flymake-yamllint"))]) + (flymake-yamllint . [(20220531 913) ((emacs (26 1))) "YAML linter with yamllint" single ((:commit . "f269e6614993f3c56d545e7d7b225ca2ba1da342") (:authors ("Martin Kjær Jørgensen" . "mkj@gotu.dk")) (:maintainer "Martin Kjær Jørgensen" . "mkj@gotu.dk") (:url . "https://github.com/shaohme/flymake-yamllint"))]) (flymd . [(20160617 1214) ((cl-lib (0 5))) "On the fly markdown preview" tar ((:commit . "84d5a68bcfed4a295952c33ffcd11e880978d9d7") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:keywords "markdown" "convenience") (:url . "https://github.com/mola-T/flymd"))]) (flyparens . [(20140723 1846) nil "Check for unbalanced parens on the fly" tar ((:commit . "af9b8cfd647d0e5f97684d613dc2eea7cfc19398") (:authors ("Jisang Yoo")) (:maintainer "Jisang Yoo") (:keywords "faces" "convenience" "lisp" "matching" "parentheses" "parens"))]) - (flyspell-correct . [(20220131 834) ((emacs (24))) "Correcting words with flyspell via custom interface" tar ((:commit . "e8027a412262bc04056a5b5440efdb7f370c3320") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) - (flyspell-correct-avy-menu . [(20210124 1143) ((flyspell-correct (0 6 1)) (avy-menu (0 1 1)) (emacs (24))) "Correcting words with flyspell via avy-menu interface" single ((:commit . "e8027a412262bc04056a5b5440efdb7f370c3320") (:authors ("Boris Buliga" . "boris@d12frosted.io") ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) - (flyspell-correct-helm . [(20210124 1143) ((flyspell-correct (0 6 1)) (helm (1 9 0)) (emacs (24))) "Correcting words with flyspell via helm interface" single ((:commit . "e8027a412262bc04056a5b5440efdb7f370c3320") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) - (flyspell-correct-ivy . [(20210124 1143) ((flyspell-correct (0 6 1)) (ivy (0 8 0)) (emacs (24 4))) "Correcting words with flyspell via ivy interface" single ((:commit . "e8027a412262bc04056a5b5440efdb7f370c3320") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) - (flyspell-correct-popup . [(20210124 1143) ((flyspell-correct (0 6 1)) (popup (0 5 3)) (emacs (24))) "Correcting words with flyspell via popup interface" single ((:commit . "e8027a412262bc04056a5b5440efdb7f370c3320") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) + (flyspell-correct . [(20220520 630) ((emacs (24))) "Correcting words with flyspell via custom interface" tar ((:commit . "7d7b6b01188bd28e20a13736ac9f36c3367bd16e") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) + (flyspell-correct-avy-menu . [(20220520 630) ((flyspell-correct (0 6 1)) (avy-menu (0 1 1)) (emacs (24))) "Correcting words with flyspell via avy-menu interface" single ((:commit . "7d7b6b01188bd28e20a13736ac9f36c3367bd16e") (:authors ("Boris Buliga" . "boris@d12frosted.io") ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) + (flyspell-correct-helm . [(20220520 630) ((flyspell-correct (0 6 1)) (helm (1 9 0)) (emacs (24))) "Correcting words with flyspell via helm interface" single ((:commit . "7d7b6b01188bd28e20a13736ac9f36c3367bd16e") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) + (flyspell-correct-ivy . [(20220520 630) ((flyspell-correct (0 6 1)) (ivy (0 8 0)) (emacs (24 4))) "Correcting words with flyspell via ivy interface" single ((:commit . "7d7b6b01188bd28e20a13736ac9f36c3367bd16e") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) + (flyspell-correct-popup . [(20220520 630) ((flyspell-correct (0 6 1)) (popup (0 5 3)) (emacs (24))) "Correcting words with flyspell via popup interface" single ((:commit . "7d7b6b01188bd28e20a13736ac9f36c3367bd16e") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/flyspell-correct"))]) (flyspell-lazy . [(20210308 1253) nil "Improve flyspell responsiveness using idle timers" single ((:commit . "0fc5996bcee20b46cbd227ae948d343c3bef7339") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "spelling") (:url . "http://github.com/rolandwalker/flyspell-lazy"))]) (flyspell-popup . [(20170529 815) ((popup (0 5 0))) "Correcting words with Flyspell in popup menus" single ((:commit . "29311849bfd253b9b689bf331860b4c4d3bd4dde") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "convenience") (:url . "https://github.com/xuchunyang/flyspell-popup"))]) (fm-bookmarks . [(20170104 1716) ((emacs (24 3)) (cl-lib (0 5))) "Use file manager bookmarks (eg Dolphin, Nautilus, PCManFM) in Dired" single ((:commit . "11dacfd16a926bfecba96a94c6b13e162c7717f7") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:keywords "files" "convenience") (:url . "http://github.com/kuanyui/fm-bookmarks.el"))]) @@ -1740,31 +1765,31 @@ (fold-this . [(20191107 1816) nil "Just fold this region please" single ((:commit . "c3912c738cf0515f65162479c55999e2992afce5") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "convenience") (:url . "https://github.com/magnars/fold-this.el"))]) (folding . [(20220110 1718) nil "A folding-editor-like minor mode." tar ((:commit . "1ce338b991c69358a607c37bfb16ffb7de7e91c4") (:maintainer "Jari Aalto ") (:keywords "tools"))]) (font-lock-profiler . [(20170208 2008) ((emacs (24 3))) "Coverage and timing tool for font-lock keywords." single ((:commit . "6e096458416888a4f63cca0d6bc5965a052753c8") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "tools") (:url . "https://github.com/Lindydancer/font-lock-profiler"))]) - (font-lock-studio . [(20170127 2051) ((emacs (24 3))) "interactive debugger for Font Lock keywords." single ((:commit . "12c35967b31233e06946c70627aa3152dacfe261") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "tools") (:url . "https://github.com/Lindydancer/font-lock-studio"))]) + (font-lock-studio . [(20220629 1909) ((emacs (24 3))) "interactive debugger for Font Lock keywords." single ((:commit . "78472ae1f65721b4da17756ee7e506f3d0487033") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "tools") (:url . "https://github.com/Lindydancer/font-lock-studio"))]) (font-utils . [(20210405 1149) ((persistent-soft (0 8 8)) (pcache (0 2 3))) "Utility functions for working with fonts" single ((:commit . "abc572eb0dc30a26584c0058c3fe6c7273a10003") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/font-utils"))]) - (fontawesome . [(20170305 1356) ((emacs (24 4))) "fontawesome utility" tar ((:commit . "a5fafe89d4032fd1f0c21b7b04708ef2cce2517b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-fontawesome"))]) + (fontawesome . [(20170305 1356) ((emacs (24 4))) "fontawesome utility" tar ((:commit . "26fe027e03911f24b3658b44611d3b38fb6df455") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-fontawesome"))]) (fontify-face . [(20210503 1956) ((emacs (24))) "Fontify symbols representing faces with that face." single ((:commit . "d1386c88ccc77ccfb40b888ff90d6181325d14f8") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "faces") (:url . "https://github.com/Fuco1/fontify-face"))]) (fontsloth . [(20211118 2018) ((f (0 20 0)) (logito (0 1)) (pcache (0 5)) (stream (2 2 5)) (emacs (28 0))) "Elisp otf/ttf font loader/renderer" tar ((:commit . "5572a44e14d6c00a628f58cc695c735ef64e0ebd") (:authors ("Jo Gay" . "jo.gay@mailfence.com")) (:maintainer "Jo Gay" . "jo.gay@mailfence.com") (:keywords "data" "font" "rasterization" "ttf" "otf") (:url . "https://github.com/jollm/fontsloth"))]) - (forecast . [(20191004 1850) ((emacs (24 4))) "Weather forecasts" single ((:commit . "350af0e5d53307c900e4f8b2617f3852f51a74d2") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "weather" "forecast") (:url . "https://dev.gkayaalp.com/elisp/index.html#forecast-el"))]) + (forecast . [(20191004 1850) ((emacs (24 4))) "Weather forecasts" single ((:commit . "4359c640c7822a23976e9a5ca4ce63452d796912") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "weather" "forecast") (:url . "https://dev.gkayaalp.com/elisp/index.html#forecast-el"))]) (foreign-regexp . [(20200325 50) nil "search and replace by foreign regexp." tar ((:commit . "e2dd47f2160cadc194eb156e7c76c3c869e6706e") (:authors ("K-talo Miyazaki ")) (:maintainer "K-talo Miyazaki ") (:keywords "convenience" "emulations" "matching" "tools" "unix" "wp"))]) (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") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:keywords "foreman") (:url . "http://github.com/zweifisch/foreman-mode"))]) (forest-blue-theme . [(20160627 842) ((emacs (24))) "Emacs theme with a dark background." single ((:commit . "58096ce1a25615d2bae806c3775bae3e2775019d") (:authors ("olkinn")) (:maintainer "olkinn"))]) - (forge . [(20220424 1416) ((emacs (25 1)) (compat (28 1 1 0)) (closql (1 2 0)) (dash (2 19 1)) (emacsql-sqlite (3 0 0)) (ghub (3 5 4)) (let-alist (1 0 6)) (magit (3 3 0)) (markdown-mode (2 4)) (transient (0 3 6)) (yaml (0 3 4))) "Access Git forges from Magit." tar ((:commit . "627972bbc83b2355047e075ce938f79136b1f74a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/forge"))]) + (forge . [(20220622 1929) ((emacs (25 1)) (compat (28 1 1 0)) (closql (1 2 0)) (dash (2 19 1)) (emacsql-sqlite (3 0 0)) (ghub (20220621)) (let-alist (1 0 6)) (magit (20220621)) (markdown-mode (2 4)) (transient (0 3 6)) (yaml (0 3 5))) "Access Git forges from Magit." tar ((:commit . "ed8abdafd8b15852538bbe064fef037345772627") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/forge"))]) (form-feed . [(20210508 1627) ((emacs (24 1))) "Display ^L glyphs as horizontal lines" single ((:commit . "ac1f0ef30a11979f5dfe12d8c05a666739e486ff") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "faces") (:url . "https://depp.brause.cc/form-feed"))]) - (format-all . [(20220412 1141) ((emacs (24 4)) (inheritenv (0 1)) (language-id (0 19))) "Auto-format C, C++, JS, Python, Ruby and 50 other languages" single ((:commit . "a07bf109ce8e27458a40420508943f53856549fc") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-format-all-the-code"))]) + (format-all . [(20220718 1014) ((emacs (24 4)) (inheritenv (0 1)) (language-id (0 19))) "Auto-format C, C++, JS, Python, Ruby and 50 other languages" single ((:commit . "9e6170437f0c2aa9bc27804c5b06b9cb44ccd02a") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-format-all-the-code"))]) (format-sql . [(20150422 1333) nil "Use format-sql to make your SQL readable in directly Emacs." single ((:commit . "97f475c245cd6c81a72a265678e2087cee66ac7b") (:authors ("Friedrich Paetzke" . "paetzke@fastmail.fm")) (:maintainer "Friedrich Paetzke" . "paetzke@fastmail.fm") (:url . "https://github.com/paetzke/format-sql.el"))]) (format-table . [(20181223 1616) ((emacs (25)) (dash (2 14 1))) "Parse and reformat tabular data." single ((:commit . "dfcae3a867e574577fc09a43b045889ff155b58f") (:authors ("Jason Duncan" . "jasond496@msn.com")) (:maintainer "Jason Duncan" . "jasond496@msn.com") (:keywords "data") (:url . "https://github.com/functionreturnfunction/format-table"))]) - (forth-mode . [(20220402 2103) nil "Programming language mode for Forth" tar ((:commit . "122a9916c1ad1f1e3f4888951e1ad92a2fc10804") (:authors ("Lars Brinkhoff" . "lars@nocrew.org")) (:maintainer "Lars Brinkhoff" . "lars@nocrew.org") (:keywords "languages" "forth") (:url . "http://github.com/larsbrinkhoff/forth-mode"))]) + (forth-mode . [(20220629 519) nil "Programming language mode for Forth" tar ((:commit . "162b79f005a64b1f91e60b8f4c022d1d90cd3d95") (:authors ("Lars Brinkhoff" . "lars@nocrew.org")) (:maintainer "Lars Brinkhoff" . "lars@nocrew.org") (:keywords "languages" "forth") (:url . "http://github.com/larsbrinkhoff/forth-mode"))]) (fortpy . [(20150715 2032) ((epc (0 1 0)) (auto-complete (1 4)) (python-environment (0 0 2)) (pos-tip (0 4 5))) "a Fortran auto-completion for Emacs" tar ((:commit . "c614517e9396ef7a78be3b8786fbf303879cf43b") (:authors ("Conrad Rosenbrock ")) (:maintainer "Conrad Rosenbrock "))]) (fortune-cookie . [(20181223 842) nil "Print a fortune in your scratch buffer." single ((:commit . "6c1c08f5be83822c0b762872ab25e3dbee96f333") (:authors ("Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com")) (:maintainer "Andrew Schwartzmeyer" . "andrew@schwartzmeyer.com") (:keywords "fortune" "cowsay" "scratch" "startup") (:url . "https://github.com/andschwa/fortune-cookie"))]) - (fountain-mode . [(20211223 405) ((emacs (24 4)) (seq (2 20))) "Major mode for screenwriting in Fountain markup" tar ((:commit . "fba17c2b316122e26292ba995f1c62191b7b3eb0") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "wp" "text") (:url . "https://github.com/rnkn/fountain-mode"))]) + (fountain-mode . [(20211223 405) ((emacs (24 4)) (seq (2 20))) "Major mode for screenwriting in Fountain markup" tar ((:commit . "67d8d1f050cbdb19baa37f26401f958bc7597910") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "wp" "text") (:url . "https://github.com/rnkn/fountain-mode"))]) (fraktur-mode . [(20160815 227) ((cl-lib (0 5))) "Easily insert Unicode mathematical Fraktur characters" single ((:commit . "514baf5546aed12a0d9fa0fe66e87cdcc7843b08") (:authors ("Grant Rettke" . "gcr@wisdomandwonder.com")) (:maintainer nil . "") (:keywords "unicode" "fraktur" "math" "mathematical") (:url . "https://github.com/grettke/fraktur-mode"))]) (frame-local . [(20180330 940) ((emacs (25 1))) "Variables local to a frame" single ((:commit . "7ee1106c3bcd4022f48421f8cb1ef4f995da816e") (:authors ("Sebastien Chapuis" . "sebastien@chapu.is")) (:maintainer "Sebastien Chapuis" . "sebastien@chapu.is") (:keywords "frames" "tools" "local" "lisp") (:url . "https://github.com/sebastiencs/frame-local"))]) (frame-mode . [(20190710 2030) ((s (1 9 0)) (emacs (24 4))) "Use frames instead of windows" single ((:commit . "ae2366969927c9f89ea07c999bef382b0b47cac1") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "frames") (:url . "https://github.com/IvanMalison/frame-mode"))]) (frame-purpose . [(20211011 1518) ((emacs (25 1)) (dash (2 18))) "Purpose-specific frames" single ((:commit . "7d498147445cc0afb87b922a8225d2e163e5ed5a") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "buffers" "convenience" "frames") (:url . "http://github.com/alphapapa/frame-purpose.el"))]) (frame-tag . [(20170111 6) ((cl-lib (0 5))) "Minor mode that assigns a unique number to each frame for easy switching" single ((:commit . "73d6163568c7d32952175e663318b872f995a4e5") (:authors ("Wong Liang Zan" . "zan@liangzan.net")) (:maintainer "Wong Liang Zan" . "zan@liangzan.net") (:keywords "frame" "movement") (:url . "http://github.com/liangzan/frame-tag.el"))]) (frames-only-mode . [(20210107 918) ((emacs (24 4)) (dash (2 13 0)) (s (1 11 0))) "Use frames instead of Emacs windows" single ((:commit . "d3f6647c484656ddabdac5d18546599a03823cd4") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "frames" "windows") (:url . "https://github.com/davidshepherd7/frames-only-mode"))]) - (frameshot . [(20220422 1610) ((emacs (25 3)) (compat (28 1 1 0))) "Take screenshots of a frame" single ((:commit . "fa5e2363efabc2e61e79bd66c96e7d1a5c827a0d") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "multimedia") (:url . "https://github.com/tarsius/frameshot"))]) + (frameshot . [(20220509 2010) ((emacs (25 3)) (compat (28 1 1 0))) "Take screenshots of a frame" single ((:commit . "ea57484dbba917a437ad3a20ea956aa2275bdc9a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "multimedia") (:url . "https://github.com/tarsius/frameshot"))]) (framesize . [(20131017 2132) ((key-chord (0 5 20080915))) "change the size of frames in Emacs" single ((:commit . "f2dbf5d2513b2bc45f2085370a55c1754b6025da") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "frames") (:url . "http://github.com/nicferrier/emacs-framesize"))]) (frecency . [(20170909 631) ((emacs (25 1)) (a (0 1)) (dash (2 13 0))) "Library for sorting items by frequency and recency of access" single ((:commit . "6d57aee131d96315aedf6cb7d6e5d6d09bf71503") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "libraries" "recency" "recent" "frequency" "frequent") (:url . "http://github.com/alphapapa/frecency.el"))]) (frecentf . [(20210330 1521) ((emacs (26 1)) (frecency (0 1 -1)) (persist (0 4)) (async (1 9 4))) "Pervasive recentf using frecency" single ((:commit . "19e2c48a8b8c8ee8cae5c93b58b57a0aa81a8c46") (:authors ("Felipe Lema" . "felipel@mortemale.org")) (:maintainer "Felipe Lema" . "felipel@mortemale.org") (:keywords "files" "maint") (:url . "https://launchpad.net/frecentf.el"))]) @@ -1775,48 +1800,50 @@ (friendly-shell . [(20220309 1711) ((emacs (24 1)) (cl-lib (0 6 1)) (dash (2 17 0)) (with-shell-interpreter (0 2 4))) "Better shell-mode API" single ((:commit . "e530e359848e8bdad09d26529f17eb25e5558b3e") (:keywords "processes" "terminals") (:url . "https://github.com/p3r7/friendly-shell"))]) (friendly-shell-command . [(20200527 830) ((emacs (24 1)) (cl-lib (0 6 1)) (dash (2 17 0)) (with-shell-interpreter (0 2 3))) "Better shell-command API" single ((:commit . "e530e359848e8bdad09d26529f17eb25e5558b3e") (:keywords "processes" "terminals") (:url . "https://github.com/p3r7/friendly-shell"))]) (friendly-tramp-path . [(20200502 1032) ((cl-lib (0 6 1))) "Human-friendly TRAMP path construction" single ((:commit . "be572b8953b9e5a3a35c30bb64c2936d3e9802ba") (:url . "https://github.com/p3r7/prf-tramp"))]) + (frimacs . [(20220723 1902) ((emacs (26 1))) "An environment for the FriCAS computer algebra system" tar ((:commit . "b35fdefb60ead4d7559131601c43761973762a9a") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "fricas" "computer algebra" "extensions" "tools") (:url . "https://github.com/pdo/frimacs"))]) (fringe-current-line . [(20140111 411) nil "show current line on the fringe." single ((:commit . "0ef000bac76abae30601222e6f06c7d133ab4942") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "http://github.com/kyanagi/fringe-current-line/raw/master/fringe-current-line.el"))]) (fringe-helper . [(20140620 2109) nil "helper functions for fringe bitmaps" single ((:commit . "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "lisp") (:url . "http://nschum.de/src/emacs/fringe-helper/"))]) (frog-jump-buffer . [(20220414 1935) ((emacs (24)) (avy (0 4 0)) (dash (2 4 0)) (frog-menu (0 2 8))) "The fastest buffer-jumping Emacs lisp package around." single ((:commit . "ff0cfe9cb4a60d855f0754b741a9417ee413dee0") (:authors ("Justin Talbott")) (:maintainer "Justin Talbott") (:keywords "convenience" "tools") (:url . "https://github.com/waymondo/frog-jump-buffer"))]) (frontside-javascript . [(20220315 1057) ((emacs (25 1)) (add-node-modules-path (1 2 0)) (company (0 9 2)) (flycheck (20201228 2104)) (js2-mode (20201220)) (js2-refactor (0 9 0)) (rjsx-mode (0 5 0)) (tide (4 0 2)) (web-mode (17)) (lsp-mode (20220124))) "JS development that just work™️" tar ((:commit . "18816534a977fbd28848389b58c22b6538cfdeec") (:authors ("Frontside Engineering" . "engineering@frontside.com")) (:maintainer "Frontside Engineering" . "engineering@frontside.com") (:keywords "files" "tools") (:url . "https://github.com/thefrontside/frontmacs"))]) (fsbot-data-browser . [(20160921 1533) nil "browse the fsbot database using tabulated-list-mode" single ((:commit . "6bca4f7de63e31839d2542f6c678b79931dec344") (:authors ("Benaiah Mischenko")) (:maintainer "Benaiah Mischenko") (:keywords "fsbot" "irc" "tabulated-list-mode") (:url . "http://github.com/benaiah/fsbot-data-browser"))]) - (fsharp-mode . [(20220423 1321) ((emacs (25))) "Support for the F# programming language" tar ((:commit . "13022af44d68525870b15bcdfdc3391e71c6ae1b") (:authors ("1993-1997 Xavier Leroy, Jacques Garrigue and Ian T Zimmerman") ("2010-2011 Laurent Le Brun" . "laurent@le-brun.eu") ("2012-2014 Robin Neatherway" . "robin.neatherway@gmail.com") ("2017-2022 Jürgen Hötzel")) (:maintainer "Jürgen Hötzel") (:keywords "languages"))]) - (fstar-mode . [(20220106 2256) ((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 . "c95c2a61a6c42a1fa8bab9a8eb812a41be3e6f69") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages") (:url . "https://github.com/FStarLang/fstar-mode.el"))]) - (fuel . [(20211221 2127) ((cl-lib (0 2)) (emacs (24 2))) "Major mode for the Factor programming language." tar ((:commit . "60005b6cfda0ae7d5c21e5a59f6edc90bd9707cc"))]) + (fsharp-mode . [(20220630 1931) ((emacs (25))) "Support for the F# programming language" tar ((:commit . "42e8db5ff67c37228f92ca8750d203aa5bd9e1e5") (:authors ("1993-1997 Xavier Leroy, Jacques Garrigue and Ian T Zimmerman") ("2010-2011 Laurent Le Brun" . "laurent@le-brun.eu") ("2012-2014 Robin Neatherway" . "robin.neatherway@gmail.com") ("2017-2022 Jürgen Hötzel")) (:maintainer "Jürgen Hötzel") (:keywords "languages"))]) + (fstar-mode . [(20220725 2139) ((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 . "60489e75c6f26417068bf861b6db2935e72c38fe") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "convenience" "languages") (:url . "https://github.com/FStarLang/fstar-mode.el"))]) + (fuel . [(20211221 2127) ((cl-lib (0 2)) (emacs (24 2))) "Major mode for the Factor programming language." tar ((:commit . "a827b197c5896fab1bf8101e68e1e741cb7a410d"))]) (fuff . [(20170202 1503) ((seq (2 3))) "Find files with findutils, recursively" single ((:commit . "278e849913df87bd8756c59382282d87474802c3") (:authors ("Joel Moberg")) (:maintainer "Joel Moberg") (:keywords "files" "project" "convenience") (:url . "https://github.com/joelmo/fuff"))]) (full-ack . [(20140223 1732) nil "a front-end for ack" single ((:commit . "761d846e105b150f8e6d13d7a8983f0248313a45") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "tools" "matching") (:url . "http://nschum.de/src/emacs/full-ack/"))]) (fullframe . [(20210226 1057) ((cl-lib (0 5))) "Generalized automatic execution in a single frame" single ((:commit . "886b831c001b44ec95aec4ff36e8bc1b3003c786") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de") (:keywords "fullscreen"))]) (function-args . [(20211231 1150) ((ivy (0 9 1))) "C++ completion for GNU Emacs" tar ((:commit . "503e78fad9e7741ef4b8f5c24ff70c8909240db2") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:url . "https://github.com/abo-abo/function-args"))]) (fuo . [(20190812 927) ((emacs (24 4))) "feeluown client." single ((:commit . "0e4122f94a336a50c02bc96652d25ac3d74bedeb") (:authors ("cosven" . "yinshaowen241@gmail.com")) (:maintainer "cosven" . "yinshaowen241@gmail.com") (:keywords "feeluown" "multimedia" "unix") (:url . "http://github.com/cosven/emacs-fuo"))]) (furl . [(20150509 316) nil "Friendly URL retrieval" single ((:commit . "014438271e0ef27333dfcd599cb247f12a20d870") (:authors ("Natalie Weizenbaum" . "nweiz@google.com")) (:maintainer "Natalie Weizenbaum" . "nweiz@google.com"))]) + (fussy . [(20220723 1500) ((emacs (27 2)) (flx (0 5))) "Fuzzy completion style using `flx'" single ((:commit . "d789dd9eb292ef2ff8a0959dc015f2edc67af6f7") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "matching") (:url . "https://github.com/jojojames/fussy"))]) (futhark-mode . [(20220425 1144) ((emacs (24 3)) (cl-lib (0 5))) "major mode for editing Futhark source files" tar ((:commit . "7fd0a3c6c96ed8afd0249ab0734d9b63d4fd1cb1") (:keywords "languages") (:url . "https://github.com/diku-dk/futhark-mode"))]) (fuz . [(20200104 524) ((emacs (25 1))) "Fast and precise fuzzy scoring/matching utils" tar ((:commit . "fee874aa35d2ee6b12b836290b5c8eaa44175a28") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:keywords "lisp") (:url . "https://github.com/cireu/fuz.el"))]) - (fuzzy . [(20211231 1837) ((emacs (24 3))) "Fuzzy Matching" single ((:commit . "ea361ce0f702c5f92ad4a89017def9c1619a3191") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:keywords "convenience") (:url . "https://github.com/auto-complete/fuzzy-el"))]) + (fuzzy . [(20211231 1837) ((emacs (24 3))) "Fuzzy Matching" single ((:commit . "74867a4c991b98cf636ff1a2b81c2a6b41ebbcb9") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:keywords "convenience") (:url . "https://github.com/auto-complete/fuzzy-el"))]) (fuzzy-finder . [(20210906 217) ((emacs (24 4))) "Fuzzy Finder App Integration" single ((:commit . "915a281fc8e50df84dcc205f9357e8314d60fa54") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:keywords "matching") (:url . "https://github.com/10sr/fuzzy-finder-el"))]) (fvwm-mode . [(20160411 1138) nil "A major mode for editing Fvwm configuration files" single ((:commit . "6832a1c1f68bf6249c3fd6672ea8e27dc7a5c79e") (:authors ("Bert Geens" . "bert@lair.be")) (:maintainer "Bert Geens" . "bert@lair.be") (:keywords "files") (:url . "https://github.com/theBlackDragon/fvwm-mode"))]) - (fwb-cmds . [(20220422 1610) ((emacs (25 1)) (compat (28 1 1 0))) "misc frame, window and buffer commands" single ((:commit . "4bd3c23c3dc649ab5412e2bad7eebe3069363190") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/fwb-cmds"))]) + (fwb-cmds . [(20220422 1610) ((emacs (25 1)) (compat (28 1 1 0))) "misc frame, window and buffer commands" single ((:commit . "e6eeac7552b61d4f7abd51aff6ce72394133663e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/fwb-cmds"))]) (fxrd-mode . [(20170728 1801) ((s (1 2))) "Major mode for editing fixed field width files" tar ((:commit . "18a603474abb5a786a8d9f20c283d5f7beed3540") (:authors ("Marc Sherry" . "msherry@gmail.com")) (:maintainer "Marc Sherry" . "msherry@gmail.com") (:keywords "convenience") (:url . "https://github.com/msherry/fxrd-mode"))]) (fyure . [(20130216 1314) nil "An interface to fix Japanese hyoki-yure" tar ((:commit . "b6977f1eb148e8b63259f7233b55bb050e44d9b8") (:authors ("Masafumi Oyamada" . "stillpedant@gmail.com")) (:maintainer "Masafumi Oyamada" . "stillpedant@gmail.com") (:keywords "languages"))]) - (fzf . [(20211228 2005) ((emacs (24 4))) "A front-end for fzf." single ((:commit . "d61cecbdb60b0f10cecd50ff2ae115aeb77f9fdc") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:keywords "fzf" "fuzzy" "search") (:url . "https://github.com/bling/fzf.el"))]) + (fzf . [(20220726 2216) ((emacs (24 4))) "A front-end for fzf." single ((:commit . "21912ebc7e1084aa88c9d8b7715e782a3978ed23") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:keywords "fzf" "fuzzy" "search") (:url . "https://github.com/bling/fzf.el"))]) (gameoflife . [(20200614 1814) nil "Screensaver running Conway's Game of Life" single ((:commit . "2483f3d98dbcf7f1633f551cc3691f5659b4b942") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "games") (:url . "https://github.com/Lindydancer/gameoflife"))]) (gams-ac . [(20180423 926) ((emacs (24)) (auto-complete (1 0)) (gams-mode (4 0))) "auto-complete source file for GAMS mode" single ((:commit . "66d04ff36033f54205c19bc1d893e926d4dbf02e") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:keywords "languages" "tools" "gams-mode" "auto-complete") (:url . "https://github.com/ShiroTakeda/gams-ac"))]) - (gams-mode . [(20210701 36) ((emacs (24 3))) "Major mode for General Algebraic Modeling System (GAMS)" tar ((:commit . "64e3544726b77f10becb58a51d61993fbba433af") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:keywords "languages" "tools" "gams") (:url . "http://shirotakeda.org/en/gams/gams-mode/"))]) + (gams-mode . [(20220512 222) ((emacs (24 3))) "Major mode for General Algebraic Modeling System (GAMS)" tar ((:commit . "d7f5bb688e569c7c517e4c3af32a5319c492362b") (:authors ("Shiro Takeda")) (:maintainer "Shiro Takeda") (:keywords "languages" "tools" "gams") (:url . "http://shirotakeda.org/en/gams/gams-mode/"))]) (gandalf-theme . [(20130809 947) nil "Gandalf color theme" single ((:commit . "4e472fc851431458537d458d09c1f5895e338536") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net") (:keywords "color" "theme"))]) - (gap-mode . [(20191110 2237) nil "Major mode for editing files in the GAP programing language." tar ((:commit . "62adb8935033eead7fbf2c107c2dfb79afa53c67") (:authors ("Michael Smith" . "smith@pell.anu.edu.au") ("Gary Zablackis") ("Goetz Pfeiffer") ("Ivan Andrus" . "darthandrus@gmail.com")) (:maintainer "Ivan Andrus" . "darthandrus@gmail.com") (:keywords "gap") (:url . "https://gitlab.com/gvol/gap-mode"))]) + (gap-mode . [(20220503 1555) nil "Major mode for editing files in the GAP programing language." tar ((:commit . "99237f714c28981142674e8cfeb155863c834858") (:authors ("Michael Smith" . "smith@pell.anu.edu.au") ("Gary Zablackis") ("Goetz Pfeiffer") ("Ivan Andrus" . "darthandrus@gmail.com")) (:maintainer "Ivan Andrus" . "darthandrus@gmail.com") (:keywords "gap") (:url . "https://gitlab.com/gvol/gap-mode"))]) (gather . [(20141230 1338) nil "Gather string in buffer." single ((:commit . "50809fbc22d70a1c724c2dd99ac5a1f818ffeb6b") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "matching" "convenience" "tools") (:url . "https://github.com/mhayashi1120/Emacs-gather/raw/master/gather.el"))]) (gcmh . [(20201116 2251) ((emacs (24))) "the Garbage Collector Magic Hack" single ((:commit . "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9") (:authors ("Andrea Corallo" . "akrl@sdf.org")) (:maintainer nil . "akrl@sdf.org") (:keywords "internal") (:url . "https://gitlab.com/koral/gcmh"))]) (gcode-mode . [(20210522 1025) ((emacs (24 4))) "Simple G-Code major mode" tar ((:commit . "1f83845af4102efc5e5856b55bd5ad165b2f0cdd") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "gcode" "languages" "highlight" "syntax") (:url . "https://gitlab.com/wavexx/gcode-mode.el"))]) - (gdscript-mode . [(20210328 2037) ((emacs (26 3))) "Major mode for Godot's GDScript language" tar ((:commit . "4badcf6a0c951daba4d7259db3913b78254c0423") (:authors ("Nathan Lovato , Fabián E. Gallina" . "fgallina@gnu.org")) (:maintainer nil . "nathan@gdquest.com") (:keywords "languages") (:url . "https://github.com/godotengine/emacs-gdscript-mode/"))]) + (gdscript-mode . [(20220721 547) ((emacs (26 3))) "Major mode for Godot's GDScript language" tar ((:commit . "d392e8aa7e7c6dd79ce52fb55d78f7acfa443194") (:authors ("Nathan Lovato , Fabián E. Gallina" . "fgallina@gnu.org")) (:maintainer nil . "nathan@gdquest.com") (:keywords "languages") (:url . "https://github.com/godotengine/emacs-gdscript-mode/"))]) (geben . [(20210830 422) ((emacs (24 3)) (cl-lib (0 5))) "DBGp protocol frontend, a script debugger" tar ((:commit . "d3706387ed25b3037338572f3968b4cc2d8825a0") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "c" "comm" "tools") (:url . "https://github.com/ahungry/geben"))]) (geben-helm-projectile . [(20160611 59) ((emacs (24)) (geben (0 26)) (helm-projectile (0 13 0))) "Integrate helm-projectile with geben" single ((:commit . "31ce0faca5dcc71924884f03fd5a7a25d00ccd9b") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "emacs" "geben" "helm" "projectile" "debug") (:url . "https://github.com/ahungry/geben-helm-projectile"))]) (geeknote . [(20220213 612) ((emacs (24))) "Use Evernote in Emacs through geeknote" single ((:commit . "ce2738aebeeda35f9d31027e9b7bad0813b975c3") (:authors ("Evan Dale Aromin")) (:maintainer "Evan Dale Aromin") (:keywords "evernote" "geeknote" "note" "emacs-evernote" "evernote-mode") (:url . "http://github.com/avendael/emacs-geeknote"))]) - (geiser . [(20220423 1449) ((emacs (25 1)) (transient (0 3)) (project (0 8 1))) "GNU Emacs and Scheme talk to each other" tar ((:commit . "77adf19d3812ecfd821d250f8bc1eb821a88ee92") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/"))]) + (geiser . [(20220802 1327) ((emacs (25 1)) (transient (0 3)) (project (0 8 1))) "GNU Emacs and Scheme talk to each other" tar ((:commit . "bd3d4ab6d7dffd9f8565af32471dc58aaf5a2214") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/"))]) (geiser-chez . [(20211216 2332) ((emacs (26 1)) (geiser (0 19))) "Chez Scheme's implementation of the geiser protocols" tar ((:commit . "48427d4aecc6fed751d266673f1ce2ad57ddbcfc") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Jose A Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "chez" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/chez"))]) (geiser-chibi . [(20211204 1938) ((emacs (24 4)) (geiser (0 18))) "Chibi Scheme's implementation of the geiser protocols" tar ((:commit . "5a6a5a580ea45cd4974df21629a8d50cbe3d6e99") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Jose A Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "chibi" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/chibi"))]) - (geiser-chicken . [(20211204 2049) ((emacs (24 4)) (geiser (0 19))) "Chicken's implementation of the geiser protocols" tar ((:commit . "79a9ac78f4df7c9ec1f918313c543c116dbb8b70") (:authors ("Daniel Leslie")) (:maintainer "Daniel Leslie") (:keywords "languages" "chicken" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/chicken"))]) + (geiser-chicken . [(20220717 1130) ((emacs (24 4)) (geiser (0 19))) "Chicken's implementation of the geiser protocols" tar ((:commit . "a480598b5908c95bc8d3178a48f13e9072a9235b") (:authors ("Daniel Leslie")) (:maintainer "Daniel Leslie") (:keywords "languages" "chicken" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/chicken"))]) (geiser-gambit . [(20220208 1356) ((emacs (26 1)) (geiser (0 18))) "Gambit's implementation of the geiser protocols" tar ((:commit . "381d74ca5059b44fe3d8b5daf42214019c6d1a88") (:authors ("Daniel Leslie")) (:maintainer "Jose A Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "gambit" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/gambit"))]) - (geiser-gauche . [(20210911 1041) ((emacs (26 1)) (geiser (0 11 2))) "Gauche scheme support for Geiser" tar ((:commit . "fd52cbaed9b0a0d0f10e87674b5747e5ee44ebc9") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "languages" "gauche" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/gauche"))]) - (geiser-guile . [(20220323 2352) ((emacs (25 1)) (geiser (0 23 2))) "Guile's implementation of the geiser protocols" tar ((:commit . "c641fcc50b6b86ca95743122b5206cdcd475f96e") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "guile" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/guile"))]) + (geiser-gauche . [(20220503 1700) ((emacs (26 1)) (geiser (0 11 2))) "Gauche scheme support for Geiser" tar ((:commit . "8ff743f6416f00751e24aef8b9791501a40f5421") (:authors ("András Simonyi" . "andras.simonyi@gmail.com")) (:maintainer "András Simonyi" . "andras.simonyi@gmail.com") (:keywords "languages" "gauche" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/gauche"))]) + (geiser-guile . [(20220719 143) ((emacs (25 1)) (geiser (0 23 2))) "Guile's implementation of the geiser protocols" tar ((:commit . "7a4945fbc199ec823da1be7283f6e81f83b2609b") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "guile" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/guile"))]) (geiser-kawa . [(20210920 1607) ((emacs (26 1)) (geiser (0 16))) "Kawa scheme support for Geiser" tar ((:commit . "5896b19642923f74f718eb68d447560b2d26d797") (:authors ("spellcard199" . "spellcard199@protonmail.com")) (:maintainer "spellcard199" . "spellcard199@protonmail.com") (:keywords "languages" "kawa" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/kawa"))]) (geiser-mit . [(20211204 1935) ((emacs (24 4)) (geiser (0 18))) "MIT/GNU Scheme's implementation of the geiser protocols" tar ((:commit . "4e90e9ae815e89f3540fb9644e6016c663ef5765") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Jose A Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "mit" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/mit"))]) (geiser-racket . [(20210421 125) ((emacs (26 1)) (geiser (0 16))) "Support for Racket in Geiser" tar ((:commit . "22e56ce80389544d3872cf4beb4008fb514b2218") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:keywords "languages" "racket" "scheme" "geiser") (:url . "https://gitlab.com/emacs-geiser/racket"))]) @@ -1828,13 +1855,13 @@ (geoip . [(20200310 911) ((emacs (25 1))) "Find out where an IP address is located via GeoIP2" single ((:commit . "25eb1278788b942c38405c233d3614a1de92ddea") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "tools") (:url . "https://github.com/xuchunyang/geoip.el"))]) (geolocation . [(20200317 1559) ((request-deferred (0 3 2)) (deferred (0 5 1)) (emacs (25 1))) "Get your location on Earth" single ((:commit . "bc7848832eb0352e3a71f4b9d89d917fe12d18be") (:authors ("Neil Okamoto" . "neil.okamoto+melpa@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:keywords "hardware") (:url . "https://github.com/gonewest818/geolocation.el"))]) (german-holidays . [(20181213 644) nil "German holidays for Emacs calendar" single ((:commit . "a8462dffccaf2b665f2032e646b5370e993a386a") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:url . "https://github.com/rudolfochrist/german-holidays"))]) - (germanium . [(20220116 1634) ((emacs (26 1))) "Generate image from source code using germanium" single ((:commit . "54c9a56da1e86941f2580d4838fbb6097f22f349") (:authors ("Masaya Watanabe")) (:maintainer "Masaya Watanabe") (:keywords "convenience") (:url . "https://github.com/matsuyoshi30/germanium-el"))]) - (gerrit . [(20220413 1219) ((emacs (25 1)) (magit (2 13 1)) (s (1 12 0)) (dash (0 2 15))) "Gerrit client" tar ((:commit . "28280fa7a218cb5150e37050dc80ba9c9884c502") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com") (:keywords "extensions") (:url . "https://github.com/thisch/gerrit.el"))]) + (germanium . [(20220716 1500) ((emacs (26 1))) "Generate image from source code using germanium" single ((:commit . "7292aa6870cf8b0acb34a8750da32b44d83cd65c") (:authors ("Masaya Watanabe")) (:maintainer "Masaya Watanabe") (:keywords "convenience") (:url . "https://github.com/matsuyoshi30/germanium-el"))]) + (gerrit . [(20220801 2144) ((emacs (25 1)) (magit (2 13 1)) (s (1 12 0)) (dash (0 2 15))) "Gerrit client" tar ((:commit . "554aecaea4709a16f1ecee73907fd0e6762ad2b9") (:authors ("Thomas Hisch" . "t.hisch@gmail.com")) (:maintainer "Thomas Hisch" . "t.hisch@gmail.com") (:keywords "extensions") (:url . "https://github.com/thisch/gerrit.el"))]) (gerrit-download . [(20150714 1408) ((emacs (24 0)) (magit (2 1 0))) "Show gerrit reviews in a diff buffer." single ((:commit . "d568acc7c5935188c9bc19ba72719a6092d9f6fd") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:keywords "tools" "gerrit" "git") (:url . "https://github.com/chmouel/gerrit-download.el"))]) (gf . [(20181028 1542) ((s (1 0)) (ht (2 0))) "Major mode for editing GF code" single ((:commit . "30b3127f229e0db522c7752f6957ca01b2ea2821") (:authors ("Johan Bockgård" . "bojohan+mail@dd.chalmers.se")) (:maintainer "bruno cuconato" . "bcclaro+emacs@gmail.com") (:keywords "languages") (:url . "https://github.com/GrammaticalFramework/gf-emacs-mode"))]) (ggo-mode . [(20210310 1345) nil "Gengetopt major mode" single ((:commit . "6a7617b5af3d13029e4d680a375e8107c40d0fac") (:authors ("Matthew K. Junker" . "junker@alum.mit.edu")) (:maintainer "Matthew K. Junker" . "junker@alum.mit.edu") (:keywords "extensions" "convenience" "local"))]) - (ggtags . [(20220420 1610) ((emacs (25))) "emacs frontend to GNU Global source code tagging system" single ((:commit . "22d3a3a951cb605d29138f1acee191ef674a4518") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/leoliu/ggtags"))]) - (gh . [(20220302 549) ((emacs (25 1)) (pcache (0 4 2)) (logito (0 1)) (marshal (0 9 0)) (cl-lib (0 3))) "A GitHub library for Emacs" tar ((:commit . "27ccc892e94f7e747e5b879eec71119965d9ed6e") (:authors ("Yann Hodique" . "yhodique@gmail.com")) (:maintainer "Yann Hodique" . "yhodique@gmail.com") (:url . "https://github.com/sigma/gh.el"))]) + (ggtags . [(20220511 610) ((emacs (25))) "emacs frontend to GNU Global source code tagging system" single ((:commit . "40635a1effd3a9c2adef63c4760010c9468a7a4d") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/leoliu/ggtags"))]) + (gh . [(20220302 549) ((emacs (25 1)) (pcache (0 4 2)) (logito (0 1)) (marshal (0 9 0)) (cl-lib (0 3))) "A GitHub library for Emacs" tar ((:commit . "9c47468a400a97732a116c598c2cd34fd3a23fa7") (:authors ("Yann Hodique" . "yhodique@gmail.com")) (:maintainer "Yann Hodique" . "yhodique@gmail.com") (:url . "https://github.com/sigma/gh.el"))]) (gh-md . [(20220316 1432) ((emacs (24 3))) "Render markdown using the Github api" single ((:commit . "e721fd5e41e682f47f2dd4ce26ef2ba28c7fa0b5") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/gh-md.el"))]) (gh-notify . [(20211126 638) ((emacs (27 1)) (magit (3 0 0)) (forge (0 2 0))) "A veneer for Magit/Forge GitHub notifications" single ((:commit . "aa4d8bc0c56366d437e7c126e7eedc5938109342") (:authors ("Bas Alberts" . "bas@anti.computer") ("xristos" . "xristos@sdf.org")) (:maintainer "Bas Alberts" . "bas@anti.computer") (:keywords "comm") (:url . "https://github.com/anticomputer/gh-notify"))]) (ghc-imported-from . [(20141124 1932) ((emacs (24 1))) "Haskell documentation lookup with ghc-imported-from" single ((:commit . "fcff08628a19f5d26151564659218cc677779b79") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk") (:keywords "languages"))]) @@ -1842,9 +1869,9 @@ (gherkin-mode . [(20171224 1353) nil "An emacs major mode for editing gherkin files." single ((:commit . "0313492e7da152f0aa73ddf96c0287ded8f51253") (:authors ("Craig Andera")) (:maintainer "Craig Andera") (:keywords "languages"))]) (ghost-blog . [(20171023 742) ((markdown-mode (1 0))) "A package to manage Ghost blog" single ((:commit . "71b358643cc9a2db1bf752281ff94aba9b59e4cc") (:authors ("Javier Aguirre" . "hello@javaguirre.net")) (:maintainer "Javier Aguirre" . "hello@javaguirre.net") (:keywords "ghost" "blog") (:url . "https://github.com/javaguirre/ghost-blog"))]) (ghq . [(20210504 902) nil "Ghq interface for emacs" single ((:commit . "582bd6daa505d04c7cc06d6c82ed8aee0624bfbe") (:authors ("Roman Coedo" . "romancoedo@gmail.com")) (:maintainer "Roman Coedo" . "romancoedo@gmail.com") (:keywords "ghq"))]) - (ghub . [(20220424 947) ((emacs (25 1)) (compat (28 1 1 0)) (let-alist (1 0 6)) (treepy (0 1 1))) "Client libraries for Git forge APIs." tar ((:commit . "5135058a78a2bea112f9e591500790c1e3b731fd") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/magit/ghub"))]) + (ghub . [(20220624 803) ((emacs (25 1)) (compat (28 1 1 0)) (let-alist (1 0 6)) (treepy (0 1 1))) "Client libraries for Git forge APIs." tar ((:commit . "94f5aa2ddecc6426ebc69a0c67934ccba6ae9797") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/magit/ghub"))]) (ghub+ . [(20191229 1748) ((emacs (25)) (ghub (2 0)) (apiwrap (0 5))) "a thick GitHub API client built on ghub" single ((:commit . "b1adef2402d7599911d4dd447a987a0cea04e6fe") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "extensions" "multimedia" "tools") (:url . "https://github.com/vermiculus/ghub-plus"))]) - (gif-screencast . [(20210401 656) ((emacs (25 1))) "One-frame-per-action GIF recording" single ((:commit . "5517a557a17d8016c9e26b0acb74197550f829b9") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "multimedia" "screencast") (:url . "https://gitlab.com/ambrevar/emacs-gif-screencast"))]) + (gif-screencast . [(20220714 1300) ((emacs (25 1))) "One-frame-per-action GIF recording" single ((:commit . "adec408e6adab2e8e057fe0ad828749f473bfb83") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "multimedia" "screencast") (:url . "https://gitlab.com/ambrevar/emacs-gif-screencast"))]) (gift-mode . [(20210528 1459) nil "major mode for editing GIFT format quizzes" single ((:commit . "c93354e8fe1173b22f398f17b127875807f15b87") (:authors ("Christophe Rhodes" . "christophe@rhodes.io")) (:maintainer "Christophe Rhodes" . "christophe@rhodes.io") (:url . "https://github.com/csrhodes/gift-mode"))]) (gildas-mode . [(20181022 649) ((polymode (0 1 5)) (emacs (25))) "Major mode for Gildas" single ((:commit . "d0c9e997e2aa0bcd9b8b7db082d69100448cb1b2") (:authors ("Sébastien Maret" . "sebastien.maret@icloud.com")) (:maintainer "Sébastien Maret" . "sebastien.maret@icloud.com") (:keywords "languages" "gildas") (:url . "https://github.com/smaret/gildas-mode"))]) (gist . [(20171128 406) ((emacs (24 1)) (gh (0 10 0))) "Emacs integration for gist.github.com" single ((:commit . "314fe6ab80fae35b95f0734eceb82f72813b6f41") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "tools") (:url . "https://github.com/defunkt/gist.el"))]) @@ -1857,20 +1884,20 @@ (git-backup-ivy . [(20220412 1914) ((ivy (0 12 0)) (git-backup (0 0 1)) (emacs (25 1))) "An ivy interface to git-backup" single ((:commit . "c53e1bc800963c0d826226c37c22e36f2353c70d") (:authors ("Sebastian Wålinder" . "s.walinder@gmail.com")) (:maintainer "Sebastian Wålinder" . "s.walinder@gmail.com") (:keywords "backup" "convenience" "files" "tools" "vc") (:url . "https://github.com/walseb/git-backup-ivy"))]) (git-blamed . [(20161028 1926) nil "Minor mode for incremental blame for Git" single ((:commit . "cef196abf398e2dd11f775d1e6cd8690567408aa") (:keywords "git" "version control" "release management"))]) (git-command . [(20191028 333) ((term-run (0 1 4)) (with-editor (2 3 1))) "A Git Command-Line interface" single ((:commit . "a773d40da39dfb1c6ecf2b0758aa370ddea8f06d") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:keywords "utility" "git") (:url . "https://github.com/10sr/git-command-el"))]) - (git-commit . [(20220422 1903) ((emacs (25 1)) (compat (28 1 0 4)) (transient (20210920)) (with-editor (20211001))) "Edit Git commit messages." tar ((:commit . "3cb7f5ba430906bded9e5d9951f5260ab25644d0") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li") ("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Florian Ragwitz" . "rafl@debian.org") ("Marius Vollmer" . "marius.vollmer@gmail.com")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) + (git-commit . [(20220803 2341) ((emacs (25 1)) (compat (28 1 1 2)) (transient (20210920)) (with-editor (20211001))) "Edit Git commit messages." tar ((:commit . "ac7fae6a9893b55ad01942d9ea5a571d44426665") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li") ("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Florian Ragwitz" . "rafl@debian.org") ("Marius Vollmer" . "marius.vollmer@gmail.com")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) (git-commit-insert-issue . [(20210107 2018) ((emacs (25)) (projectile (0)) (s (0)) (ghub (0)) (bitbucket (0))) "Get issues list when typing \"Fixes #\"" single ((:commit . "6cfb8b4b5b23ae881cf3d005da4d7f60d91cd2cd") (:authors ("Vindarel")) (:maintainer "Vindarel") (:keywords "tools" "vc" "github" "gitlab" "bitbucket" "commit" "issues") (:url . "https://gitlab.com/emacs-stuff/git-commit-insert-issue/"))]) (git-dwim . [(20170126 1214) nil "Context-aware git commands such as branch handling" single ((:commit . "485c732130686c2f28a026e385366006435394b9") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "git" "tools" "convenience") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/git-dwim.el"))]) (git-grep . [(20200920 1751) ((projectile (0 10 0))) "Search tools using git grep" single ((:commit . "12ff6045e9b6aa42f98abd4ddc44d670268a0849") (:authors ("Sam Kleinman")) (:maintainer "tychoish" . "garen@tychoish.com") (:keywords "matching" "files" "grep" "search" "using" "git-grep") (:url . "https://github.com/tychoish/git-grep.el"))]) - (git-gutter . [(20220423 1704) ((emacs (25 1))) "Port of Sublime Text plugin GitGutter" single ((:commit . "a50672b62a678922b8c0cab95225d520f493439b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/git-gutter"))]) + (git-gutter . [(20220423 1704) ((emacs (25 1))) "Port of Sublime Text plugin GitGutter" single ((:commit . "315e7924a2683f75bcdd5e1ed032fbf01ac218e5") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/git-gutter"))]) (git-gutter+ . [(20151204 1723) ((git-commit (0)) (dash (0))) "Manage Git hunks straight from the buffer" single ((:commit . "b7726997806d9a2da9fe84ff00ecf21d62b6f975") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:keywords "git" "vc") (:url . "https://github.com/nonsequitur/git-gutter-plus"))]) (git-gutter-fringe . [(20211003 2228) ((git-gutter (0 88)) (fringe-helper (0 1 1)) (cl-lib (0 5)) (emacs (24))) "Fringe version of git-gutter.el" single ((:commit . "648cb5b57faec55711803cdc9434e55a733c3eba") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto" . "neil.okamoto+melpa@gmail.com") (:url . "https://github.com/emacsorphanage/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-identity . [(20220402 708) ((emacs (25 1)) (dash (2 10)) (hydra (0 14)) (f (0 20))) "Identity management for (ma)git" single ((:commit . "e7da2b3e3a5a790311431e3263b00df41d335136") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "git" "vc" "convenience") (:url . "https://github.com/akirak/git-identity.el"))]) + (git-identity . [(20220721 912) ((emacs (25 1)) (dash (2 10)) (hydra (0 14)) (f (0 20))) "Identity management for (ma)git" single ((:commit . "f920916a92fad0c551cd0739e48fc09d8709bd8d") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "git" "vc" "convenience") (:url . "https://github.com/akirak/git-identity.el"))]) (git-io . [(20180317 1752) ((emacs (24 4))) "git.io integration" single ((:commit . "48753acba73b48b997bb678fb5e2a938ae63b5d6") (:authors ("Tejas Bubane" . "tejasbubane@gmail.com")) (:maintainer "Tejas Bubane" . "tejasbubane@gmail.com") (:keywords "convenience" "files") (:url . "https://github.com/tejasbubane/emacs-git-io"))]) - (git-lens . [(20190319 1342) ((emacs (24 4))) "Show new, deleted or modified files in branch" single ((:commit . "f6cc0a37c9c5c422c49c32650e70bc4721707985") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:keywords "vc" "convenience") (:url . "https://github.com/pidu/git-lens"))]) - (git-link . [(20220406 2328) ((emacs (24 3))) "Get the GitHub/Bitbucket/GitLab URL for a buffer location" single ((:commit . "0197c9812417e18df2c7b5cd5c0084271c2f3286") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:keywords "git" "vc" "github" "bitbucket" "gitlab" "sourcehut" "aws" "azure" "convenience") (:url . "http://github.com/sshaw/git-link"))]) + (git-lens . [(20220623 722) ((emacs (24 4))) "Show new, deleted or modified files in branch" single ((:commit . "8beec55b2c43bdf64172fb2539de97f1dd39a6d0") (:authors ("Peter Stiernström" . "peter@stiernstrom.se")) (:maintainer "Peter Stiernström" . "peter@stiernstrom.se") (:keywords "vc" "convenience") (:url . "https://github.com/pidu/git-lens"))]) + (git-link . [(20220613 135) ((emacs (24 3))) "Get the GitHub/Bitbucket/GitLab URL for a buffer location" single ((:commit . "fe2e8aa92dd8f1a9fb3f471658701487ff21f22b") (:authors ("Skye Shaw" . "skye.shaw@gmail.com")) (:maintainer "Skye Shaw" . "skye.shaw@gmail.com") (:keywords "git" "vc" "github" "bitbucket" "gitlab" "sourcehut" "aws" "azure" "convenience") (:url . "http://github.com/sshaw/git-link"))]) (git-messenger . [(20201202 1637) ((emacs (24 3)) (popup (0 5 3))) "Popup last commit of current line" single ((:commit . "eade986ef529aa2dac6944ad61b18de55cee0b76") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Neil Okamoto") (:url . "https://github.com/emacsorphanage/git-messenger"))]) - (git-modes . [(20220422 1611) ((emacs (25 1))) "Major modes for editing Git configuration files" tar ((:commit . "96abfb732d695cbd2075ba701254651a7b28d693") (:authors ("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.net") ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "vc" "git") (:url . "https://github.com/magit/git-modes"))]) + (git-modes . [(20220422 1611) ((emacs (25 1))) "Major modes for editing Git configuration files" tar ((:commit . "eca3bb42ea8abed9ef8549b2ac91bbea445c5bb5") (:authors ("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.net") ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "vc" "git") (:url . "https://github.com/magit/git-modes"))]) (git-msg-prefix . [(20191031 1304) ((emacs (24)) (s (1 10 0)) (dash (2 9 0))) "Insert commit message prefix (issue number)" single ((:commit . "43f6b31c1090371260a2f15b2117a7666920bee7") (:authors ("Raimon Grau" . "raimonster@gmail.com")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:keywords "vc" "tools") (:url . "http://github.com/kidd/git-msg-prefix.el"))]) (git-ps1-mode . [(20200113 704) nil "Global minor-mode to print __git_ps1 in mode-line" single ((:commit . "6762a309bd593d26258dfbf43e7bc21254a70fbf") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:keywords "utility" "mode-line" "git") (:url . "https://github.com/10sr/git-ps1-mode-el"))]) (git-time-metric . [(20181116 2011) nil "Provide function to record time with gtm ( git time metric )" single ((:commit . "287108ed1d6885dc795eb3bad4476aa08c626186") (:authors ("Anton Sivolapov" . "anton.sivolapov@gmail.com")) (:maintainer "Anton Sivolapov" . "anton.sivolapov@gmail.com") (:keywords "tools" "gtm" "productivity" "time") (:url . "https://github.com/c301/gtm-emacs-plugin"))]) @@ -1896,7 +1923,7 @@ (gitlab . [(20180312 1647) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client for Gitlab" tar ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "gitlab") (:url . "https://github.com/nlamirault/emacs-gitlab"))]) (gitlab-ci-mode . [(20191022 2017) ((emacs (25 1)) (yaml-mode (0 0 12))) "Mode for editing GitLab CI files" single ((:commit . "c861dc5fa17d380d5c3aca99dc3bbec5eee623bc") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:keywords "tools" "vc") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode/"))]) (gitlab-ci-mode-flycheck . [(20190323 1829) ((emacs (25)) (flycheck (31)) (gitlab-ci-mode (1))) "Flycheck support for ‘gitlab-ci-mode’" single ((:commit . "eba81cfb7224fd1fa4e4da90d11729cc7ea12f72") (:authors ("Joe Wreschnig")) (:maintainer "Joe Wreschnig") (:keywords "tools" "vc" "convenience") (:url . "https://gitlab.com/joewreschnig/gitlab-ci-mode-flycheck/"))]) - (gitlab-pipeline . [(20210601 1339) ((emacs (25 1)) (ghub (3 3 0))) "Get infomation about Gitlab pipelines" single ((:commit . "2404f9cf0a064aabea975adada250895c385e057") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:keywords "comm" "tools" "git") (:url . "https://github.com/TxGVNN/gitlab-pipeline"))]) + (gitlab-pipeline . [(20220619 1215) ((emacs (25 1)) (ghub (3 3 0))) "Get infomation about Gitlab pipelines" single ((:commit . "595e699aeab6c28582f309a047c42a0498873a8e") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:keywords "comm" "tools" "git") (:url . "https://github.com/TxGVNN/gitlab-pipeline"))]) (gitlab-snip-helm . [(20200427 2014) ((emacs (25)) (dash (2 12 0)) (helm (3 2))) "Gitlab snippets api helm package" single ((:commit . "782df679e33646db29e07508311bc8e8624b484e") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:keywords "tools" "files" "convenience") (:url . "https://gitlab.com/sasanidas/gitlab-snip-helm"))]) (gitolite-clone . [(20160609 2355) ((dash (2 10 0)) (s (1 9 0)) (pcache (0 3 1)) (emacs (24))) "Clone gitolite repositories from a completing list" single ((:commit . "d8a4c2875c984e51137c980b5773f42703602721") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "gitolite" "clone" "git") (:url . "https://github.com/IvanMalison/gitolite-clone"))]) (gitpatch . [(20170722 410) ((emacs (24 3))) "Git-format patch toolkit" single ((:commit . "577d5adf65c8133caa325c10e89e1e2fc323c907") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience") (:url . "https://github.com/tumashu/gitpatch"))]) @@ -1915,8 +1942,8 @@ (gnomenm . [(20150316 1918) ((s (1 9 0)) (dash (2 3 0)) (kv (0 0 19))) "Emacs interface to Gnome nmcli command" single ((:commit . "9065cda44ffc9e06239b8189a0154d31314c3b4d") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "processes" "hardware") (:url . "http://github.com/nicferrier/emacs-nm"))]) (gntp . [(20141025 250) nil "Growl Notification Protocol for Emacs" single ((:commit . "767571135e2c0985944017dc59b0be79af222ef5") (:authors ("Engelke Eschner" . "tekai@gmx.li")) (:maintainer "Engelke Eschner" . "tekai@gmx.li"))]) (gnu-apl-mode . [(20220404 341) ((emacs (27))) "Integrate GNU APL with Emacs" tar ((:commit . "c8695b0d55b5167263a843252ffd21a589018427") (:authors ("Elias Mårtenson" . "lokedhs@gmail.com")) (:maintainer "Elias Mårtenson" . "lokedhs@gmail.com") (:keywords "languages") (:url . "http://www.gnu.org/software/apl/"))]) - (gnu-indent . [(20220330 422) ((emacs (27 2))) "Indent your code with GNU Indent" single ((:commit . "cd5dc79ac65c24e9e775bd2582ad620e316f2182") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:keywords "tools" "c") (:url . "https://codeberg.org/akib/emacs-gnu-indent"))]) - (gnuplot . [(20220102 1637) ((emacs (24 3))) "Major-mode and interactive frontend for gnuplot" tar ((:commit . "57be3c7addec31e226a5a27aa553e996f9c684e3") (:authors ("Jon Oddie") ("Bruce Ravel") ("Phil Type")) (:maintainer "Bruce Ravel" . "bruceravel1@gmail.com") (:keywords "data" "gnuplot" "plotting") (:url . "https://github.com/emacsorphanage/gnuplot"))]) + (gnu-indent . [(20220515 1719) ((emacs (25 1))) "Indent your code with GNU Indent" single ((:commit . "ff3e10edbdf9b919747ec2ba3434d5858f5cc9fa") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:keywords "tools" "c") (:url . "https://codeberg.org/akib/emacs-gnu-indent"))]) + (gnuplot . [(20220717 1224) ((emacs (24 3))) "Major-mode and interactive frontend for gnuplot" tar ((:commit . "803033e59ba4d9357088716cf9fcd144d3799d2d") (:authors ("Jon Oddie") ("Bruce Ravel") ("Phil Type")) (:maintainer "Bruce Ravel" . "bruceravel1@gmail.com") (:keywords "data" "gnuplot" "plotting") (:url . "https://github.com/emacs-gnuplot/gnuplot"))]) (gnuplot-mode . [(20171013 1616) nil "Major mode for editing gnuplot scripts" single ((:commit . "601f6392986f0cba332c87678d31ae0d0a496ce7") (:keywords "gnuplot" "plotting") (:url . "https://github.com/mkmcc/gnuplot-mode"))]) (gnus-alias . [(20150316 42) nil "an alternative to gnus-posting-styles" single ((:commit . "9447d3ccb4c0e75d0468899cccff7aa249657bac") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Mark A. Hershberger" . "mah@everybody.org") (:keywords "personality" "identity" "news" "mail" "gnus"))]) (gnus-desktop-notify . [(20180623 1538) ((gnus (1 0))) "Gnus Desktop Notification global minor mode" single ((:commit . "b438feb59136621a8ab979f0e2784f7002398d06") (:authors ("Yuri D'Elia ")) (:maintainer "Yuri D'Elia ") (:url . "http://www.thregr.org/~wavexx/software/gnus-desktop-notify.el/"))]) @@ -1938,21 +1965,21 @@ (go-fill-struct . [(20171225 331) ((emacs (24))) "Fill struct for golang." single ((:commit . "a613d0b378473eef39e8fd5724abe790aea84321") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "tools") (:url . "https://github.com/s-kostyaev/go-fill-struct"))]) (go-gen-test . [(20210816 1215) ((emacs (24 3)) (s (1 12))) "Generate tests for go code with gotests" single ((:commit . "35df36dcd555233ee1a618c0f6a58ce6db4154d9") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "languages") (:url . "https://github.com/s-kostyaev/go-gen-test"))]) (go-gopath . [(20160705 1034) ((cl-lib (0 5))) "Will guess GOPATH using gb and projectile." single ((:commit . "5172fc53f21edbf9347d5ee7d1d745da1ec88a15") (:authors ("Andrew Kirilenko" . "andrew.kirilenko.main@gmail.com")) (:maintainer "Andrew Kirilenko" . "andrew.kirilenko.main@gmail.com") (:url . "http://github.com/iced/go-gopath/"))]) - (go-guru . [(20181012 330) ((go-mode (1 3 1)) (cl-lib (0 5))) "Integration of the Go 'guru' analysis tool into Emacs." single ((:commit . "fa2693278637f56759480d2bf203bb8aad107230") (:keywords "tools"))]) + (go-guru . [(20181012 330) ((go-mode (1 3 1)) (cl-lib (0 5))) "Integration of the Go 'guru' analysis tool into Emacs." single ((:commit . "08aa90d52f0e7d2ad02f961b554e13329672d7cb") (:keywords "tools"))]) (go-imenu . [(20181029 1029) ((emacs (24 3))) "Enhance imenu for go language" single ((:commit . "4f3f334ed0b6f6afaca6b9775636a52ad3843053") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:keywords "tools") (:url . "https://github.com/brantou/go-imenu.el"))]) (go-impl . [(20210621 743) ((emacs (24 3)) (go-mode (1 3 0))) "impl integration for go-mode" single ((:commit . "1eebba6ccd02d11a5a82ad4540a8d562797bc3b3") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-go-impl"))]) (go-imports . [(20190715 1647) nil "Insert go import statement given package name" tar ((:commit . "55681e815da93b6f927213c4aa352ae33db97c37") (:authors ("Yaz Saito")) (:maintainer "Yaz Saito") (:keywords "tools" "go" "import") (:url . "https://github.com/yasushi-saito/go-imports"))]) - (go-mode . [(20220114 2239) ((emacs (26 1))) "Major mode for the Go programming language" single ((:commit . "fa2693278637f56759480d2bf203bb8aad107230") (:authors ("The go-mode Authors")) (:maintainer "The go-mode Authors") (:keywords "languages" "go") (:url . "https://github.com/dominikh/go-mode.el"))]) + (go-mode . [(20220727 115) ((emacs (26 1))) "Major mode for the Go programming language" single ((:commit . "08aa90d52f0e7d2ad02f961b554e13329672d7cb") (:authors ("The go-mode Authors")) (:maintainer "The go-mode Authors") (:keywords "languages" "go") (:url . "https://github.com/dominikh/go-mode.el"))]) (go-noisegate . [(20200502 703) ((emacs (24 4))) "Run Golang tests with Noise Gate" single ((:commit . "e3fc198c234131c94f7d307b7f7c6ef623fb93b7") (:authors ("The Noise Gate Authors")) (:maintainer "The Noise Gate Authors") (:keywords "languages" "go" "test") (:url . "https://github.com/go-noisegate/go-noisegate.el"))]) (go-playground . [(20220106 1618) ((emacs (24)) (go-mode (1 4 0)) (gotest (0 13 0))) "Local Golang playground for short snippets." single ((:commit . "9ee7dcc7f78be67cc391f13efa6570c2baac0204") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:keywords "tools" "golang") (:url . "https://github.com/grafov/go-playground"))]) (go-playground-cli . [(20160503 914) ((emacs (24)) (request (0 2 0)) (deferred (0 3 2)) (names (20151201 404)) (s (1 10 0)) (f (0 17 2)) (let-alist (1 0 4)) (cl-lib (0 5))) "Go Playground client tool" single ((:commit . "60beebd98e3930641d41cee0189c579626f223bc") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:url . "https://github.com/kosh04/go-playground-cli"))]) (go-projectile . [(20200609 131) ((projectile (0 10 0)) (go-mode (0)) (go-eldoc (0 16)) (go-rename (0)) (go-guru (0)) (dash (2 17 0))) "Go add-ons for Projectile" single ((:commit . "ad4ca3b5695a0e31e95e3cc4ccab498f87d68303") (:authors ("Doug MacEachern" . "dougm@vmware.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:keywords "project" "convenience") (:url . "https://github.com/dougm/go-projectile"))]) - (go-rename . [(20190805 2101) ((go-mode (1 3 1))) "Integration of the 'gorename' tool into Emacs." single ((:commit . "fa2693278637f56759480d2bf203bb8aad107230") (:keywords "tools"))]) + (go-rename . [(20190805 2101) ((go-mode (1 3 1))) "Integration of the 'gorename' tool into Emacs." single ((:commit . "08aa90d52f0e7d2ad02f961b554e13329672d7cb") (:keywords "tools"))]) (go-scratch . [(20150810 440) ((go-mode (1 3 1)) (emacs (24))) "*scratch* buffer for Go" single ((:commit . "3f68cbcce04f59eb8e83af109164731ec0454be0") (:authors ("Emanuel Evans" . "mail@emanuel.industries")) (:maintainer "Emanuel Evans" . "mail@emanuel.industries") (:keywords "languages" "go"))]) (go-snippets . [(20180113 611) ((yasnippet (0 8 0))) "Yasnippets for go" tar ((:commit . "d437df148879566ffe7f2e503a3cf2602aa9fb28") (:keywords "snippets"))]) (go-stacktracer . [(20150430 2142) nil "parse Go stack traces" single ((:commit . "a2ac6d801b389f80ca4e2fcc1ab44513a9e55976") (:authors ("Samer Masterson" . "samer@samertm.com")) (:maintainer "Samer Masterson" . "samer@samertm.com") (:keywords "tools") (:url . "https://github.com/samertm/go-stacktracer.el"))]) (go-tag . [(20180227 411) ((emacs (24 0)) (go-mode (1 5 0))) "Edit Golang struct field tag" single ((:commit . "59b243f2fa079d9de9d56f6e2d94397e9560310a") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:keywords "tools") (:url . "https://github.com/brantou/emacs-go-tag"))]) - (go-translate . [(20220404 1240) ((emacs (27 1))) "Translation framework supports multiple engines such as Google/Bing/DeepL" tar ((:commit . "b3b3e0acfe5ebeba556f3b98bcff089b889c82c4") (:authors ("lorniu" . "lorniu@gmail.com")) (:maintainer "lorniu" . "lorniu@gmail.com") (:keywords "convenience") (:url . "https://github.com/lorniu/go-translate"))]) + (go-translate . [(20220627 545) ((emacs (27 1))) "Translation framework supports multiple engines such as Google/Bing/DeepL" tar ((:commit . "8bbcbce42a7139f079df3e9b9bda0def2cbb690f") (:authors ("lorniu" . "lorniu@gmail.com")) (:maintainer "lorniu" . "lorniu@gmail.com") (:keywords "convenience") (:url . "https://github.com/lorniu/go-translate"))]) (gobgen . [(20161020 1523) ((emacs (24 4))) "Generate GObject descendants using a detailed form" single ((:commit . "ed2c2b0d217deae293096f3cf14aa492791ddd4f") (:authors ("Gergely Polonkai" . "gergely@polonkai.eu")) (:maintainer "Gergely Polonkai" . "gergely@polonkai.eu") (:keywords "gobject" "glib" "gtk" "helper" "utilities"))]) (god-mode . [(20210102 515) ((emacs (25 1))) "Minor mode for God-like command entering" tar ((:commit . "fac7d26ecde1be5b0bf6bd6e0ec5b4895be13906") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/emacsorphanage/god-mode"))]) (godoctor . [(20180710 2152) nil "Frontend for godoctor" single ((:commit . "4b45ff3d0572f0e84056e4c3ba91fcc178199859") (:authors ("Sangho Na" . "microamp@protonmail.com")) (:maintainer "Sangho Na" . "microamp@protonmail.com") (:keywords "go" "golang" "refactoring") (:url . "https://github.com/microamp/godoctor.el"))]) @@ -1960,13 +1987,12 @@ (gold-mode . [(20140607 206) ((sws-mode (0))) "Major mode for editing .gold files" single ((:commit . "6d3aa59602b1b835495271c8c9741ac344c2eab1") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "golang" "template" "gold") (:url . "https://github.com/yuutayamada/gold-mode-el"))]) (golden-ratio . [(20191028 1732) nil "Automatic resizing of Emacs windows to the golden ratio" single ((:commit . "007911d8a431b72670f5fe5f0e5b4380c2777a31") (:authors ("Roman Gonzalez" . "romanandreg@gmail.com")) (:maintainer "Roman Gonzalez" . "romanandreg@gmail.com") (:keywords "window" "resizing"))]) (golden-ratio-scroll-screen . [(20200419 451) nil "Scroll half screen down or up, and highlight current line" single ((:commit . "1b6ff0e3e8822423335d3f7d88c1fcb4cf43ce42") (:authors ("纪秀峰 ")) (:maintainer "纪秀峰 ") (:keywords "scroll" "screen" "highlight") (:url . "https://github.com/jixiuf/golden-ratio-scroll-screen"))]) - (goldendict . [(20220210 1401) ((emacs (24 4)) (cl-lib (0 5))) "query word smartly with goldendict.el" single ((:commit . "f3fbe658a8d31dc1bd0ca69e4d2ebaab59e92791") (:keywords "dict" "goldendict") (:url . "https://repo.or.cz/goldendict.el.git"))]) (golint . [(20180221 2015) nil "lint for the Go source code" single ((:commit . "6edffad5e6160f5949cdefc81710b2706fbcd4f6") (:url . "https://github.com/golang/lint"))]) (gom-mode . [(20131008 253) nil "Major mode for Gomfile" single ((:commit . "972e33df1d38ff323bc97de87477305826013701") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-gom-mode"))]) (gomacro-mode . [(20200326 1103) ((emacs (24 4)) (go-mode (1 5 0))) "Gomacro mode and Go REPL integration" single ((:commit . "3112e56d2d5e645a3e0fd877f3e810dbccbf989f") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:keywords "gomacro" "repl" "languages" "tools" "processes") (:url . "https://github.com/storvik/gomacro-mode"))]) (good-scroll . [(20211101 942) ((emacs (27 1))) "Good pixel line scrolling" tar ((:commit . "a7ffd5c0e5935cebd545a0570f64949077f71ee3") (:authors ("Benjamin Levy" . "blevy@protonmail.com")) (:maintainer "Benjamin Levy" . "blevy@protonmail.com") (:url . "https://github.com/io12/good-scroll.el"))]) (google . [(20140416 1748) nil "Emacs interface to the Google API" single ((:commit . "3b3189a8b201c8d36fed6e61496274e530dd40bd") (:authors ("Edward O'Connor" . "ted@oconnor.cx")) (:maintainer "Edward O'Connor" . "ted@oconnor.cx") (:keywords "comm" "processes" "tools"))]) - (google-c-style . [(20220210 1659) nil "Google's C/C++ style for c-mode" single ((:commit . "629edc1ca95113f882e0c136d155a0f2e2e952bb") (:keywords "c" "tools"))]) + (google-c-style . [(20220210 1659) nil "Google's C/C++ style for c-mode" single ((:commit . "e8808406eab41dab5dbfbaec0aee620d6c618365") (:keywords "c" "tools"))]) (google-contacts . [(20201012 1056) ((oauth2 (0 10)) (cl-lib (0 5))) "Support for Google Contacts in Emacs" tar ((:commit . "8923c238fe0906184d2254b33ba72792ed12cd47") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:keywords "comm") (:url . "https://github.com/jd/google-contacts.el"))]) (google-maps . [(20181121 1532) ((emacs (24 3))) "Access Google Maps from Emacs" tar ((:commit . "2eb16ff609f5a9f8d02c15238a111fbb7db6c146") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:keywords "comm") (:url . "https://julien.danjou.info/projects/emacs-packages#google-maps"))]) (google-this . [(20170810 1215) ((emacs (24 1))) "A set of functions and bindings to google under point." single ((:commit . "8a2e3ca5da6a8c89bfe99a21486c6c7db125dc84") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "convenience" "hypermedia") (:url . "http://github.com/Malabarba/emacs-google-this"))]) @@ -1974,29 +2000,29 @@ (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"))]) (gore-mode . [(20151123 1927) ((go-mode (1 0 0))) "Simple mode for gore, a command-line evaluator for golang." single ((:commit . "94d7f3e99104e06167967c98fdc201049c433c2d") (:authors ("Sergey Pashaev" . "sergey.pashaev@gmail.com")) (:maintainer "Sergey Pashaev" . "sergey.pashaev@gmail.com") (:keywords "go" "repl"))]) (gorepl-mode . [(20170905 945) ((emacs (24)) (s (1 11 0)) (f (0 19 0)) (hydra (0 13 0))) "Go REPL Interactive Development in top of Gore" single ((:commit . "6a73bf352e8d893f89cad36c958c4db2b5e35e07") (:authors ("Manuel Alonso" . "manuteali@gmail.com")) (:maintainer "Manuel Alonso" . "manuteali@gmail.com") (:keywords "languages" "go" "golang" "gorepl") (:url . "http://www.github.com/manute/gorepl-mode"))]) - (gotest . [(20220209 1739) ((emacs (24 3)) (s (1 11 0)) (f (0 19 0)) (go-mode (1 5 0))) "Launch GO unit tests" single ((:commit . "78be56c0f210224b1e3a7d58239e2a32f8f84bf4") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "languages" "go" "tests") (:url . "https://github.com/nlamirault/gotest.el"))]) + (gotest . [(20220728 750) ((emacs (24 3)) (s (1 11 0)) (f (0 19 0)) (go-mode (1 5 0))) "Launch GO unit tests" single ((:commit . "2ec82dcc70d5f6aa22f66b44f8b537be33bd7903") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "languages" "go" "tests") (:url . "https://github.com/nlamirault/gotest.el"))]) (gotham-theme . [(20220107 1730) ((emacs (24 1))) "A very dark Emacs color theme" single ((:commit . "4b8214df0851bb69b44c3e864568b7e0030a95d2") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:url . "https://depp.brause.cc/gotham-theme"))]) - (goto-char-preview . [(20210323 332) ((emacs (24 3))) "Preview character when executing `goto-char` command" single ((:commit . "c3665ff4aa03f6566deeac7456280820d649de60") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/goto-char-preview"))]) + (goto-char-preview . [(20220704 630) ((emacs (24 3))) "Preview character when executing `goto-char` command" single ((:commit . "104a04c3228b3cde2432ae802d739859f96c8509") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "character" "navigation") (:url . "https://github.com/emacs-vs/goto-char-preview"))]) (goto-chg . [(20220107 1733) ((emacs (24 1))) "Go to last change" single ((:commit . "278cd3e6d5107693aa2bb33189ca503f22f227d0") (:authors ("David Andersson ")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "convenience" "matching") (:url . "https://github.com/emacs-evil/goto-chg"))]) (goto-last-change . [(20150109 1823) nil "Move point through buffer-undo-list positions" single ((:commit . "58b0928bc255b47aad318cd183a5dce8f62199cc") (:authors ("Kevin Rodgers" . "ihs_4664@yahoo.com")) (:maintainer "Kevin Rodgers" . "ihs_4664@yahoo.com") (:keywords "convenience") (:url . "https://github.com/camdez/goto-last-change.el"))]) - (goto-last-point . [(20190525 1855) ((emacs (24 3))) "Record and jump to the last point in the buffer." single ((:commit . "7ea191df18ff4774cf1dc568e1726143dd54ea02") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "convenience") (:url . "https://github.com/manuel-uberti/goto-last-point"))]) - (goto-line-preview . [(20210323 422) ((emacs (25))) "Preview line when executing `goto-line` command" single ((:commit . "a6446bc11f8d72b0f0b06df927e2c3ebb7cdb5f8") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/goto-line-preview"))]) - (govc . [(20191213 2131) ((emacs (24 3)) (dash (1 5 0)) (s (1 9 0)) (magit-popup (2 0 50)) (json-mode (1 6 0))) "Interface to govc for managing VMware ESXi and vCenter" single ((:commit . "327fe7b7d776c9b3f6c1b3399dbf932dca1ded1d") (:authors ("The govc developers")) (:maintainer "The govc developers") (:keywords "convenience") (:url . "https://github.com/vmware/govmomi/tree/master/govc/emacs"))]) + (goto-last-point . [(20190525 1855) ((emacs (24 3))) "Record and jump to the last point in the buffer." single ((:commit . "6218441a0e644c23e247594aece004e80775d307") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "convenience") (:url . "https://github.com/manuel-uberti/goto-last-point"))]) + (goto-line-preview . [(20220704 630) ((emacs (25))) "Preview line when executing `goto-line` command" single ((:commit . "b58af255e822b6bb226085592ca471dee6027b95") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "line" "navigation") (:url . "https://github.com/emacs-vs/goto-line-preview"))]) + (govc . [(20220509 1455) ((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 . "f036314826293cb5df72f124a20b175d17e6daa4") (:authors ("The govc developers")) (:maintainer "The govc developers") (:keywords "convenience") (:url . "https://github.com/vmware/govmomi/tree/master/govc/emacs"))]) (govet . [(20170808 1724) nil "linter/problem finder for the Go source code" single ((:commit . "1c05817cf8b96589076c7ac4e52ee58a860a0cbf") (:url . "https://godoc.org/golang.org/x/tools/cmd/vet"))]) (gpastel . [(20181229 1404) ((emacs (25 1))) "Integrates GPaste with the kill-ring" single ((:commit . "d5fc55bc825203f998537c5834718e665bb87c29") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "tools") (:url . "https://gitlab.petton.fr/DamienCassou/desktop-environment"))]) (grab-mac-link . [(20210511 1303) ((emacs (24))) "Grab link from Mac Apps and insert it into Emacs" single ((:commit . "2c722016ca01bd4265d57c4a7d55712c94cf4ea5") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "mac" "hyperlink") (:url . "https://github.com/xuchunyang/grab-mac-link.el"))]) (grab-x-link . [(20191113 848) ((emacs (24)) (cl-lib (0 5))) "Grab links from X11 apps and insert into Emacs" single ((:commit . "d898db46e4864118359fdedfe915e180de3fe290") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "hyperlink") (:url . "https://github.com/xuchunyang/grab-x-link"))]) (gradle-mode . [(20150313 1905) ((s (1 8 0))) "Gradle integration with Emacs' compile" single ((:commit . "e4d665d5784ecda7ddfba015f07c69be3cfc45f2") (:authors ("Daniel Mijares" . "daniel.j.mijares@gmail.com")) (:maintainer "Daniel Mijares" . "daniel.j.mijares@gmail.com") (:keywords "gradle") (:url . "http://github.com/jacobono/emacs-gradle-mode"))]) (grails . [(20220407 1847) ((emacs (24))) "Minor mode for Grails projects" single ((:commit . "350869ecc4f429fc4e26f826d6050d068e724c5d") (:url . "https://github.com/lifeisfoo/emacs-grails"))]) - (grails-mode . [(20220407 1954) nil "minor-mode that adds some Grails project management to a grails project" single ((:commit . "29210e5a969c02169b68e04f2e28e3bf2fc13363") (:authors ("Jim Morris" . "morris@wolfman.com")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:keywords "languages") (:url . "http://blog.wolfman.com"))]) + (grails-mode . [(20220407 1954) nil "minor-mode that adds some Grails project management to a grails project" single ((:commit . "c612ac1e9f742856914ad6e8eb9e9dc169f489ab") (:authors ("Jim Morris" . "morris@wolfman.com")) (:maintainer "Russel Winder" . "russel@winder.org.uk") (:keywords "languages") (:url . "http://blog.wolfman.com"))]) (grails-projectile-mode . [(20160327 1324) ((projectile (0 10 0)) (emacs (24)) (cl-lib (0 5))) "Grails mode with Projectile for projects management." tar ((:commit . "8efca50ce92b556fe9d467b157d7aec635bcc017") (:authors ("Yves Zoundi" . "rimerosolutions@gmail.com")) (:maintainer "Yves Zoundi") (:keywords "grails" "projectile") (:url . "https://github.com/yveszoundi/grails-projectile-mode"))]) - (grammarly . [(20220222 638) ((emacs (24 4)) (s (1 12 0)) (request (0 3 0)) (websocket (1 6))) "Grammarly API interface" single ((:commit . "1d616a446c64dfe7d85f80cd38ce2a1e2a3b0f34") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/grammarly"))]) + (grammarly . [(20220704 624) ((emacs (26 1)) (s (1 12 0)) (request (0 3 0)) (websocket (1 6))) "Grammarly API interface" single ((:commit . "1242c4f26c70697ed2447b7fca41645e8f9daf96") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "grammar" "api" "interface" "english") (:url . "https://github.com/emacs-grammarly/grammarly"))]) (grandshell-theme . [(20180606 517) nil "Dark color theme for Emacs > 24 with intensive colors." tar ((:commit . "0ed8e4273607dd4fcaa742b4097259233b09eda6") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "color" "theme" "grand" "shell" "faces") (:url . "https://framagit.org/steckerhalter/grandshell-theme"))]) (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") (:authors ("Robert Dallas Gray" . "mail@robertdallasgray.com")) (:maintainer "Robert Dallas Gray" . "mail@robertdallasgray.com") (:keywords "defaults") (:url . "https://github.com/rdallasgray/graphene"))]) (graphene-meta-theme . [(20161204 1607) nil "Integrated theming for common packages" single ((:commit . "62cc73fee31f1bd9474027b83a249feee050271e") (:authors ("Robert Dallas Gray" . "mail@robertdallasgray.com")) (:maintainer "Robert Dallas Gray" . "mail@robertdallasgray.com") (:keywords "defaults") (:url . "https://github.com/rdallasgray/graphene"))]) (graphql . [(20180912 31) ((emacs (25))) "GraphQL utilities" single ((:commit . "5ca5f50b5e6f3883f1138453a356d59a1c002120") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "hypermedia" "tools" "lisp") (:url . "https://github.com/vermiculus/graphql.el"))]) - (graphql-doc . [(20210808 8) ((emacs (26 1)) (request (0 3 2)) (promise (1 1))) "GraphQL Documentation Explorer" single ((:commit . "6ba7961fc9c5c9818bd60abce6ba9dfef2dad452") (:authors ("Ian Fitzpatrick")) (:maintainer "Ian Fitzpatrick") (:url . "https://github.com/ifitzpatrick/graphql-doc.el"))]) - (graphql-mode . [(20211127 1023) ((emacs (24 3))) "Major mode for editing GraphQL schemas" single ((:commit . "9740e4027bd9313697d5cac5caaa5b15626ab1da") (:authors ("David Vazquez Pua" . "davazp@gmail.com")) (:maintainer "David Vazquez Pua" . "davazp@gmail.com") (:keywords "languages") (:url . "https://github.com/davazp/graphql-mode"))]) + (graphql-doc . [(20220527 1721) ((emacs (26 1)) (request (0 3 2)) (promise (1 1))) "GraphQL Documentation Explorer" single ((:commit . "d37140267e0c426c7c18aff31900aa1650257394") (:authors ("Ian Fitzpatrick")) (:maintainer "Ian Fitzpatrick") (:url . "https://github.com/ifitzpatrick/graphql-doc.el"))]) + (graphql-mode . [(20220716 827) ((emacs (24 3))) "Major mode for editing GraphQL schemas" single ((:commit . "92136cf9b5a4dcd8c202c8dba9064b497776d2f7") (:authors ("David Vazquez Pua" . "davazp@gmail.com")) (:maintainer "David Vazquez Pua" . "davazp@gmail.com") (:keywords "languages") (:url . "https://github.com/davazp/graphql-mode"))]) (graphviz-dot-mode . [(20220309 1336) ((emacs (25 0))) "Mode for the dot-language used by graphviz (att)." tar ((:commit . "6e96a89762760935a7dff6b18393396f6498f976") (:maintainer "Pieter Pareit" . "pieter.pareit@gmail.com") (:keywords "mode" "dot" "dot-language" "dotlanguage" "graphviz" "graphs" "att") (:url . "https://ppareit.github.io/graphviz-dot-mode/"))]) (grapnel . [(20131001 1534) nil "HTTP request lib with flexible callback dispatch" single ((:commit . "fbd0f9a51139973d35e4014855964fa435e8ecaf") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/grapnel"))]) (grass-mode . [(20170503 1500) ((cl-lib (0 2)) (dash (2 8 0))) "Provides Emacs modes for interacting with the GRASS GIS program" single ((:commit . "8a7e9dcb2295eef1ec25d886b05e09c876bd8398") (:authors ("Tyler Smith" . "tyler@plantarum.ca")) (:maintainer "Tyler Smith" . "tyler@plantarum.ca") (:keywords "grass" "gis"))]) @@ -2007,15 +2033,16 @@ (green-screen-theme . [(20180816 1502) nil "A nice color theme for those who miss green CRTs" single ((:commit . "774e8f6c033786406267f71ec07319d906a30b75") (:authors ("Ricardo Banffy" . "rbanffy@gmail.com")) (:maintainer "Ricardo Banffy" . "rbanffy@gmail.com") (:keywords "faces" "theme") (:url . "https://github.com/rbanffy/green-screen-emacs"))]) (gregorio-mode . [(20170705 1451) nil "Gregorio Mode for .gabc files" single ((:commit . "736fd3d05fb67f707cca1a7ce24e3ee7ca5e9567") (:authors ("Fr. John Jenkins" . "jenkins@sspx.ng")) (:maintainer "Fr. John Jenkins" . "jenkins@sspx.ng") (:keywords "gregorio" "chant") (:url . "https://jsrjenkins.github.io/gregorio-mode/"))]) (grep-a-lot . [(20210618 1420) nil "manages multiple search results buffers for grep.el" single ((:commit . "223819dbea049bdeb5f97f9849fce139a5f16a75") (:authors ("Avi Rozen" . "avi.rozen@gmail.com")) (:maintainer "Avi Rozen" . "avi.rozen@gmail.com") (:keywords "tools" "convenience" "search") (:url . "https://github.com/ZungBang/emacs-grep-a-lot"))]) + (grey-paper-theme . [(20220711 2241) ((emacs (24 1))) "A greyscale theme with look-n-feel of an eink display" single ((:commit . "10e243316000e85a10b49729745ccd4262d21cda") (:authors ("Kang-min Liu" . "gugod@gugod.org")) (:maintainer "Kang-min Liu" . "gugod@gugod.org") (:keywords "faces") (:url . "https://github.com/gugod/grey-paper-theme"))]) (greymatters-theme . [(20150621 1123) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "a7220a8c6cf18ccae2b76946b6f01188a7c9d5d1") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) - (grip-mode . [(20220323 1519) ((emacs (24 4))) "Instant GitHub-flavored Markdown/Org preview using grip." single ((:commit . "53df3f961b65b60ed888cebc6ccc57fab3a3ecb7") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "markdown" "preview") (:url . "https://github.com/seagle0128/grip-mode"))]) + (grip-mode . [(20220430 1545) ((emacs (24 4))) "Instant GitHub-flavored Markdown/Org preview using grip." single ((:commit . "6d6ddbe0af39c82a633add8499488ad8dc9e1daa") (:authors ("Vincent Zhang" . "seagle0128@gmail.com")) (:maintainer "Vincent Zhang" . "seagle0128@gmail.com") (:keywords "convenience" "markdown" "preview") (:url . "https://github.com/seagle0128/grip-mode"))]) (grizzl . [(20160818 737) ((cl-lib (0 5)) (emacs (24 3))) "Fast fuzzy search index for Emacs." single ((:commit . "1e917253ce2b846f0272b8356fad3dbff9cd513a") (:authors ("Chris Corbyn" . "chris@w3style.co.uk")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:keywords "convenience" "usability") (:url . "https://github.com/grizzl/grizzl"))]) (groovy-imports . [(20210505 1807) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Groovy imports" single ((:commit . "a60c3202973e3185091db623d960f71840a22205") (:authors ("Miro Bezjak")) (:maintainer "Miro Bezjak") (:keywords "groovy") (:url . "http://www.github.com/mbezjak/emacs-groovy-imports"))]) - (groovy-mode . [(20220212 646) ((s (1 12 0)) (emacs (24 3)) (dash (2 13 0))) "Major mode for Groovy source files" tar ((:commit . "29210e5a969c02169b68e04f2e28e3bf2fc13363") (: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") (:keywords "languages"))]) + (groovy-mode . [(20220212 646) ((s (1 12 0)) (emacs (24 3)) (dash (2 13 0))) "Major mode for Groovy source files" tar ((:commit . "c612ac1e9f742856914ad6e8eb9e9dc169f489ab") (: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") (:keywords "languages"))]) (gruber-darker-theme . [(20220107 1815) nil "Gruber Darker color theme for Emacs 24." single ((:commit . "72278089c440d45c00fb8afcd53af82fd30f451b") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/gruber-darker-theme"))]) (grugru . [(20211119 815) ((emacs (24 4))) "Rotate text at point" tar ((:commit . "ac92a8d54efe000557564a9b01a426f34cc01dfa") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "convenience" "abbrev" "tools") (:url . "https://github.com/ROCKTAKEY/grugru"))]) (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") (:authors ("Daniel Gempesaw" . "dgempesaw@sharecare.com")) (:maintainer "Daniel Gempesaw" . "dgempesaw@sharecare.com") (:keywords "convenience" "grunt") (:url . "https://github.com/gempesaw/grunt.el"))]) - (gruvbox-theme . [(20220101 1208) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:commit . "921bfd7a2f5174b68682b04e6010b156bbfe6c70") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "http://github.com/greduan/emacs-theme-gruvbox"))]) + (gruvbox-theme . [(20220804 103) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:commit . "6c54b1f453dca09e5800da5fbce7153c26dc6b82") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "http://github.com/greduan/emacs-theme-gruvbox"))]) (gs-mode . [(20151202 1006) nil "Major mode for editing GrADS script files" single ((:commit . "1a13051db21b999c7682a015b33a03096ff9d891") (:authors ("Joe Wielgosz" . "joew@cola.iges.org")) (:maintainer "Joe Wielgosz" . "joew@cola.iges.org") (:keywords "grads" "script" "major-mode"))]) (gscholar-bibtex . [(20190130 555) nil "Retrieve BibTeX from Google Scholar and other online sources(ACM, IEEE, DBLP)" single ((:commit . "3b651e3de116860eb1f1aef9b547a561784871fe") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) (gsettings . [(20210407 2045) ((emacs (24 3)) (dash (2 16 0)) (gvariant (1 0 0)) (s (1 12 0))) "GSettings (Gnome) helpers" single ((:commit . "9f9fb1fe946bbba46307c26355f355225ea7262a") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "languages") (:url . "https://github.com/wbolster/emacs-gsettings"))]) @@ -2040,7 +2067,7 @@ (hal-mode . [(20160704 1746) nil "Major mode for editing HAL files" single ((:commit . "cd2f66f219ee520198d4586fb6b169cef7ad3f21") (:authors ("Alexander Rössler")) (:maintainer "Alexander Rössler") (:keywords "language") (:url . "https://github.com/strahlex/hal-mode/"))]) (ham-mode . [(20150811 1306) ((html-to-markdown (1 2)) (markdown-mode (2 0))) "Html As Markdown. Transparently edit an html file using markdown" single ((:commit . "3a141986a21c2aa6eefb428983352abb8b7907d2") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "convenience" "emulation" "wp") (:url . "http://github.com/Bruce-Connor/ham-mode"))]) (hamburg-theme . [(20160123 740) ((emacs (24))) "Color Theme with a dark blue background." single ((:commit . "aacefdf1501d97a5afc0e63c8ead4b2463323028") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) - (hamburger-menu . [(20160825 2031) ((emacs (24 5))) "Mode line hamburger menu" single ((:commit . "3568159c693c30bed7f61580e4f3b6241253ad4e") (:authors ("Iain Nicol")) (:maintainer "Iain Nicol") (:keywords "hamburger" "menu") (:url . "https://gitlab.com/iain/hamburger-menu-mode"))]) + (hamburger-menu . [(20220509 1341) ((emacs (28 1))) "Mode line hamburger menu" single ((:commit . "06bc9d6872007a31226d7410d497a0acd98b272b") (:authors ("Iain Nicol")) (:maintainer "Iain Nicol") (:keywords "hamburger" "menu") (:url . "https://gitlab.com/iain/hamburger-menu-mode"))]) (haml-mode . [(20190219 2102) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing Haml files" single ((:commit . "bf5b6c11b1206759d2b28af48765e04882dd1fc4") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:keywords "markup" "languages" "html") (:url . "https://github.com/nex3/haml-mode"))]) (hamlet-mode . [(20131208 724) ((cl-lib (0 3)) (dash (2 3 0)) (s (1 7 0))) "Hamlet editing mode" single ((:commit . "7362b955e556a3d007fa06945a27e5b99349527d") (:authors (nil . "Kata =v1.4)") ("2003 Dave Love" . "fx@gnu.org") ("2016 Arthur Fayzrakhmanov")) (:maintainer "1992 Simon Marlow") (:keywords "faces" "files" "haskell") (:url . "https://github.com/haskell/haskell-mode"))]) + (haskell-mode . [(20220529 1859) ((emacs (25 1))) "A Haskell editing mode" tar ((:commit . "5a9f8072c7b9168f0a8409adf9d62a3e4ad4ea3d") (:authors ("1992 Simon Marlow") ("1997-1998 Graeme E Moss" . "gem@cs.york.ac.uk") ("Tommy Thorn" . "thorn@irisa.fr") ("2001-2002 Reuben Thomas (>=v1.4)") ("2003 Dave Love" . "fx@gnu.org") ("2016 Arthur Fayzrakhmanov")) (:maintainer "1992 Simon Marlow") (:keywords "faces" "files" "haskell") (:url . "https://github.com/haskell/haskell-mode"))]) (haskell-snippets . [(20210228 344) ((cl-lib (0 5)) (yasnippet (0 8 0))) "Yasnippets for Haskell" tar ((:commit . "1c29c4a68ce89848b8d371c6510d1de3b586c8b3") (:authors ("Luke Hoersten" . "luke@hoersten.org")) (:maintainer "Luke Hoersten" . "luke@hoersten.org") (:keywords "snippets" "haskell") (:url . "https://github.com/haskell/haskell-snippets"))]) (haskell-tab-indent . [(20200513 1950) nil "tab-based indentation for haskell-mode" single ((:commit . "3239e814d6999f31ad845cc58df53395ad299059") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:keywords "indentation" "haskell") (:url . "https://spwhitton.name/tech/code/haskell-tab-indent/"))]) (hasklig-mode . [(20211017 1730) ((emacs (25))) "Hasklig ligatures" single ((:commit . "d708937592f9e2d28ae5622086b9c24d60cd8ac2") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/hasklig-mode"))]) - (hass . [(20220402 1326) ((emacs (25 1)) (request (0 3 3))) "Interact with Home Assistant" tar ((:commit . "c6bded14ae4b68194bd9e35428e9973ca144569b") (:authors ("Ben Whitley")) (:maintainer "Ben Whitley") (:url . "https://github.com/purplg/hass"))]) + (hass . [(20220612 2151) ((emacs (25 1)) (request (0 3 3))) "Interact with Home Assistant" tar ((:commit . "9de26718ba6f369c9f161957cbc5136382fc51e1") (:authors ("Ben Whitley")) (:maintainer "Ben Whitley") (:url . "https://github.com/purplg/hass"))]) (haste . [(20141030 2034) ((json (1 2))) "Emacs client for hastebin (http://hastebin.com/about.md)" single ((:commit . "22d05aacc3296ab50a7361222ab139fb4d447c25") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "http://github.com/rlister/emacs-haste-client"))]) (haxe-imports . [(20170330 2304) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 1))) "Code for dealing with Haxe imports" single ((:commit . "f104a641f3dfe698359d9aca1f28d9383cf43e04") (:authors ("Juan Karlo Licudine" . "karlo@accidentalrebel.com")) (:maintainer "Juan Karlo Licudine" . "karlo@accidentalrebel.com") (:keywords "haxe") (:url . "http://www.github.com/accidentalrebel/emacs-haxe-imports"))]) - (haxe-mode . [(20210108 1835) nil "Major mode for editing Haxe files" single ((:commit . "6641a0d7c00ce633887baf3f8c594d9a8a504e9b") (:authors ("Jens Peter Secher (original)")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:url . "https://github.com/emacsorphanage/haxe-mode"))]) + (haxe-mode . [(20210108 1835) nil "Major mode for editing Haxe files" single ((:commit . "063785e0a9e54826e758571281c6715f4dd82387") (:authors ("Jens Peter Secher (original)")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:url . "https://github.com/emacsorphanage/haxe-mode"))]) (haxor-mode . [(20160618 1129) ((emacs (24 0))) "Major mode for editing Haxor Assembly Files" single ((:commit . "6fa25a8e6b6a59481bc0354c2fe1e0ed53cbdc91") (:authors ("Krzysztof Magosa" . "krzysztof@magosa.pl")) (:maintainer "Krzysztof Magosa" . "krzysztof@magosa.pl") (:keywords "haxor") (:url . "https://github.com/krzysztof-magosa/haxor-mode"))]) (hayoo . [(20140831 1221) ((emacs (24)) (json (1 3))) "Query hayoo and show results in a tabulated buffer." single ((:commit . "3ca2fb0c4d5f337d0410c21b2702dd147014e984") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:keywords "hayoo" "haskell") (:url . "https://github.com/benma/hayoo.el/"))]) (hc-zenburn-theme . [(20150928 1633) nil "An higher contrast version of the Zenburn theme." single ((:commit . "fd0024a5191cdce204d91c8f1db99ba31640f6e9") (:authors ("Nantas Nardelli" . "nantas.nardelli@gmail.com")) (:maintainer "Nantas Nardelli" . "nantas.nardelli@gmail.com") (:url . "https:github.com/edran/hc-zenburn-emacs"))]) (hcl-mode . [(20200315 2129) ((emacs (24 3))) "Major mode for Hashicorp" single ((:commit . "e4d9eef631e8a386341ae8f94f7c2579586e65b5") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/emacs-hcl-mode"))]) (headlong . [(20150417 1526) nil "reckless completion" single ((:commit . "f6830f87f236eee88263cb6976125f72422abe72") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "completion") (:url . "https://github.com/abo-abo/headlong"))]) (heaven-and-hell . [(20190713 1830) ((emacs (24 4))) "easy toggle light/dark themes" single ((:commit . "e1febfd60d060c110a1e43c5f093cd8537251308") (:authors ("Valentin Ignatev" . "valentignatev@gmail.com")) (:maintainer "Valentin Ignatev" . "valentignatev@gmail.com") (:keywords "faces") (:url . "https://github.com/valignatev/heaven-and-hell"))]) - (helm . [(20220423 1712) ((helm-core (3 8 4)) (popup (0 5 3))) "Helm is an Emacs incremental and narrowing framework" tar ((:commit . "dc0c082a451cfe25d35ba3b9b0c0fc2766cc8319") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://emacs-helm.github.io/helm/"))]) + (helm . [(20220803 1447) ((helm-core (3 8 7)) (popup (0 5 3))) "Helm is an Emacs incremental and narrowing framework" tar ((:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118") (:authors ("Thierry Volpiatto" . "thievol@posteo.net")) (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:url . "https://emacs-helm.github.io/helm/"))]) (helm-R . [(20120820 14) ((helm (20120517)) (ess (20120509))) "helm-sources and some utilities for GNU R." single ((:commit . "b0eb9d5f6a483a9dbe6eb6cf1f2024d4f5938bc2") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "convenience") (:url . "https://github.com/myuhe/helm-R.el"))]) (helm-ack . [(20141030 1226) ((helm (1 0)) (cl-lib (0 5))) "Ack command with helm interface" single ((:commit . "889bc225318d14c6e3be80e73b1d9d6fb30e48c3") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ack"))]) (helm-ad . [(20151209 1015) ((dash (2 8 0)) (helm (1 6 2))) "helm source for Active Directory" single ((:commit . "8ac044705d8620ee354a9cfa8cc1b865e83c0d55") (:authors ("Takahiro Noda" . "takahiro.noda+github@gmail.com")) (:maintainer "Takahiro Noda" . "takahiro.noda+github@gmail.com") (:keywords "comm"))]) - (helm-ag . [(20210702 845) ((emacs (25 1)) (helm (2 0))) "The silver searcher with helm interface" single ((:commit . "9820ba1893c8a7e31e756c891f9b4cf0eff1e50b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ag"))]) + (helm-ag . [(20210702 845) ((emacs (25 1)) (helm (2 0))) "The silver searcher with helm interface" single ((:commit . "6a45f2f6a6c5a957eb43ed32c6e77069c5251e1c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-ag"))]) (helm-ag-r . [(20131123 1531) ((helm (1 0))) "Search something by ag and display by helm" single ((:commit . "67de4ebafe9b088db950eefa5ef590a6d78b4ac8") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "searching") (:url . "https://github.com/yuutayamada/helm-ag-r"))]) (helm-apt . [(20210324 1929) ((helm (3 6)) (emacs (25 1))) "Helm interface for Debian/Ubuntu packages (apt-*)" single ((:commit . "c952b5dc26015bc9c947973df99246212d276b63") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/emacs-helm/helm-apt"))]) (helm-atoms . [(20201013 1723) ((emacs (25 1)) (helm (2 0))) "Reverse variable lookup using Helm" single ((:commit . "7e6f91a16f556c96ae1b0d1f965ea56861bb6372") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:keywords "help" "lisp" "maint" "helm" "tools" "matching") (:url . "https://github.com/dantecatalfamo/helm-atoms"))]) @@ -2082,10 +2109,10 @@ (helm-bibtex . [(20210725 1510) ((bibtex-completion (1 0 0)) (helm (1 5 5)) (cl-lib (0 5)) (emacs (24 1))) "A bibliography manager based on Helm" single ((:commit . "ce8c17690ddad73d01531084b282f221f8eb6669") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))]) (helm-bibtexkey . [(20140214 1504) ((helm (1 5 8))) "Bibtexkey source for helm" tar ((:commit . "aa1637ea5c8c5f1817e480fc2a3750cafab3d99f") (:authors ("TAKAGI Kentaro ")) (:maintainer "TAKAGI Kentaro ") (:keywords "bib" "tex") (:url . "https://github.com/kenbeese/helm-bibtexkey"))]) (helm-bind-key . [(20141109 515) ((bind-key (1 0)) (helm (1 6 4))) "helm-source for for bind-key." single ((:commit . "9da6ad8b7530e72fb4ac67be8c6a482898dddc25") (:authors ("Yuhei Maeda ")) (:maintainer "myuhe") (:keywords "convenience" "emulation"))]) - (helm-bitbucket . [(20190422 1102) ((emacs (24)) (helm-core (3 0))) "Search Bitbucket with Helm" single ((:commit . "c722016622ad019202419cca60c3be3c53e56130") (:authors ("Peter Urbak" . "tolowercase@gmail.com")) (:maintainer "Peter Urbak" . "tolowercase@gmail.com") (:keywords "matching") (:url . "https://github.com/dragonwasrobot/helm-bitbucket"))]) + (helm-bitbucket . [(20220722 1538) ((emacs (24)) (helm-core (3 6 0))) "Search Bitbucket with Helm" single ((:commit . "9d07a274584ad364a2620c6389f86d90502f2640") (:authors ("Peter Urbak" . "tolowercase@gmail.com")) (:maintainer "Peter Urbak" . "tolowercase@gmail.com") (:keywords "matching") (:url . "https://github.com/dragonwasrobot/helm-bitbucket"))]) (helm-bm . [(20160321 1331) ((bm (1 0)) (cl-lib (0 5)) (helm (1 9 3)) (s (1 11 0))) "helm sources for bm.el" single ((:commit . "d66341f5646c23178d4d8bffb6cfebe3fb73f1d7") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "helm" "bookmark") (:url . "https://github.com/yasuyk/helm-bm"))]) (helm-books . [(20170325 631) ((helm (1 7 7))) "Helm interface for searching books" single ((:commit . "625aadec1541a5ca36951e4ce1301f4b6fe2bf3f") (:authors ("grugrut" . "grugruglut+github@gmail.com")) (:maintainer "grugrut" . "grugruglut+github@gmail.com") (:url . "https://github.com/grugrut/helm-books"))]) - (helm-bufler . [(20210708 2217) ((emacs (26 3)) (bufler (0 2 -1)) (helm (1 9 4))) "Helm source for Bufler" single ((:commit . "a68e0eb2719c67ab8a3ad56c4036364061d06004") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/bufler.el"))]) + (helm-bufler . [(20210708 2217) ((emacs (26 3)) (bufler (0 2 -1)) (helm (1 9 4))) "Helm source for Bufler" single ((:commit . "5e8f02c3a454d6d43c18851023d6ac6ae470c31f") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/bufler.el"))]) (helm-bundle-show . [(20190526 1401) ((emacs (24)) (helm (1 8 0))) "Bundle show with helm interface" single ((:commit . "70f1ca7d1847c7d5cd5a3e488562cd4a295b809f") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-bundle-show"))]) (helm-c-moccur . [(20151230 924) ((helm (20120811)) (color-moccur (2 71))) "helm source for color-moccur.el" single ((:commit . "b0a906f85fa352db091f88b91a9c510de607dfe9") (:authors ("Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com")) (:maintainer "Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com") (:keywords "convenience" "emulation"))]) (helm-c-yasnippet . [(20210330 16) ((emacs (25 1)) (helm (1 7 7)) (yasnippet (0 8 0))) "helm source for yasnippet.el" single ((:commit . "e214eec8b2875d8a7cd09006dfb6a8e15e9e4079") (:authors ("Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com")) (:maintainer "Kenji.I (Kenji Imakado)" . "ken.imakaado@gmail.com") (:keywords "convenience" "emulation"))]) @@ -2095,7 +2122,7 @@ (helm-chrome-control . [(20190707 1807) ((emacs (25 1)) (helm-core (3 0))) "Control Chrome tabs with Helm (macOS only)" tar ((:commit . "e6758763099959e961e218bb1122526323f7ee5e") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/helm-chrome-control"))]) (helm-chrome-history . [(20191031 1233) ((emacs (25 1)) (helm-core (3 0))) "Browse Chrome History with Helm" single ((:commit . "f9002d4c12df65a99830376b126dbbeae3ef2148") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "tools") (:url . "https://github.com/xuchunyang/helm-chrome-history"))]) (helm-chronos . [(20150528 2036) ((chronos (1 2)) (helm (1 7 1))) "helm interface for chronos timers" tar ((:commit . "a14fc3d65dd96ce6616234b3f7b8b08b4c1817ef") (:authors ("David Knight" . "dxknight@opmbx.org")) (:maintainer "David Knight" . "dxknight@opmbx.org") (:keywords "calendar") (:url . "http://github.com/dxknight/helm-chronos"))]) - (helm-cider . [(20220102 1626) ((emacs (26)) (cider (1 0)) (helm-core (2 8))) "Helm interface to CIDER" tar ((:commit . "00809e45de919c82753f332f29358f0ddbf21936") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:keywords "cider" "clojure" "helm" "languages") (:url . "https://github.com/clojure-emacs/helm-cider"))]) + (helm-cider . [(20220706 944) ((emacs (26)) (cider (1 0)) (helm-core (3 7 0))) "Helm interface to CIDER" tar ((:commit . "fe7e48befdb0b20ea1b0fb3626a8a725e54ae626") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:keywords "cider" "clojure" "helm" "languages") (:url . "https://github.com/clojure-emacs/helm-cider"))]) (helm-cider-history . [(20150719 2120) ((helm (1 4 0)) (cider (0 9 0))) "Helm interface for cider history" single ((:commit . "c391fcb2e162a02001605a0b9449783575a831fd") (:authors ("Andreas Klein" . "git@kungi.org")) (:maintainer "Andreas Klein" . "git@kungi.org") (:keywords "convenience") (:url . "https://github.com/Kungi/helm-cider-history"))]) (helm-circe . [(20160207 652) ((emacs (24)) (helm (0 0)) (circe (0 0)) (cl-lib (0 5))) "helm circe buffer management." single ((:commit . "9091651d9fdd8d49d8ff6f9dcf3a2ae416c9f15a") (:authors ("Les Harris" . "les@lesharris.com")) (:maintainer "Les Harris" . "les@lesharris.com") (:keywords "helm" "circe") (:url . "https://github.com/lesharris/helm-circe"))]) (helm-clojuredocs . [(20160405 723) ((edn (1 1 2)) (helm (1 5 7))) "search for help in clojuredocs.org" single ((:commit . "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea") (:authors ("Michal Buczko" . "michal.buczko@gmail.com")) (:maintainer "Michal Buczko" . "michal.buczko@gmail.com") (:keywords "helm" "clojure") (:url . "https://github.com/mbuczko/helm-clojuredocs"))]) @@ -2103,14 +2130,14 @@ (helm-codesearch . [(20190412 1153) ((emacs (25 1)) (s (1 11 0)) (dash (2 12 0)) (helm (1 7 7)) (cl-lib (0 5))) "helm interface for codesearch" single ((:commit . "72f1d1de746115ab7e861178b49fa3c0b6b58d90") (:authors ("Youngjoo Lee" . "youngker@gmail.com")) (:maintainer "Youngjoo Lee" . "youngker@gmail.com") (:keywords "tools"))]) (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") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:keywords "commandlinefu.com") (:url . "https://github.com/xuchunyang/helm-commandlinefu"))]) (helm-company . [(20190812 1429) ((helm (1 5 9)) (company (0 6 13))) "Helm interface for company-mode" single ((:commit . "6eb5c2d730a60e394e005b47c1db018697094dde") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Daniel Ralston" . "Sodel-the-Vociferous@users.noreply.github.com") (:url . "https://github.com/Sodel-the-Vociferous/helm-company"))]) - (helm-core . [(20220423 1804) ((emacs (25 1)) (async (1 9 4))) "Development files for Helm" tar ((:commit . "dc0c082a451cfe25d35ba3b9b0c0fc2766cc8319") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://emacs-helm.github.io/helm/"))]) + (helm-core . [(20220803 1447) ((emacs (25 1)) (async (1 9 4))) "Development files for Helm" tar ((:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118") (:authors ("Thierry Volpiatto" . "thievol@posteo.net")) (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:url . "https://emacs-helm.github.io/helm/"))]) (helm-cscope . [(20190615 41) ((xcscope (1 0)) (helm (1 6 7)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface for xcscope.el." single ((:commit . "af1d9e7f4460a88d7400b5a74d5da68084089ac1") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:keywords "cscope" "helm") (:url . "https://github.com/alpha22jp/helm-cscope.el"))]) (helm-css-scss . [(20191230 1549) ((emacs (24 3)) (helm (1 0))) "CSS/SCSS/LESS Selectors with helm interface" single ((:commit . "48b996f73af1fef8d6e88a1c545d98f8c50b0cf3") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:keywords "convenience" "scss" "css" "less" "selector" "helm") (:url . "https://github.com/ShingoFukuyama/helm-css-scss"))]) - (helm-ctest . [(20191031 1435) ((s (1 9 0)) (dash (2 11 0)) (helm-core (1 7 4))) "Run ctest from within emacs" single ((:commit . "2a29cfb4ec583da247fa2ae7bac88790b1223e40") (:authors ("Dan LaManna" . "me@danlamanna.com")) (:maintainer "Dan LaManna" . "me@danlamanna.com") (:keywords "helm" "ctest"))]) + (helm-ctest . [(20220721 400) ((s (1 9 0)) (dash (2 11 0)) (helm-core (3 6 0))) "Run ctest from within emacs" single ((:commit . "48edc9fa862219da34feb423c06c33d8f6d43722") (:authors ("Dan LaManna" . "me@danlamanna.com")) (:maintainer "Dan LaManna" . "me@danlamanna.com") (:keywords "helm" "ctest"))]) (helm-dash . [(20190527 1118) ((emacs (24 4)) (dash-docs (1 4 0)) (helm (1 9 2)) (cl-lib (0 5))) "Offline documentation browser for +150 APIs using Dash docsets." single ((:commit . "7f853bd34da666f0e9a883011c80f451b06f6c59") (:authors ("Raimon Grau" . "raimonster@gmail.com") ("Toni Reina " . "areina0@gmail.com") ("Bryan Gilbert" . "bryan@bryan.sh")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:keywords "docs") (:url . "https://github.com/dash-docs-el/helm-dash"))]) (helm-descbinds . [(20190501 935) ((helm (1 5))) "A convenient `describe-bindings' with `helm'" single ((:commit . "b72515982396b6e336ad7beb6767e95a80fca192") (:authors ("Taiki SUGAWARA" . "buzz.taiki@gmail.com")) (:maintainer "Taiki SUGAWARA" . "buzz.taiki@gmail.com") (:keywords "helm" "help") (:url . "https://github.com/emacs-helm/helm-descbinds"))]) (helm-describe-modes . [(20160212 518) ((helm (1 9)) (cl-lib (0 5)) (emacs (24 1))) "Helm interface to major and minor modes." single ((:commit . "11fb36af119b784539d31c6160002de1957408aa") (:authors ("Tianxiang Xiong" . "tianxiang.xiong@gmail.com")) (:maintainer "Tianxiang Xiong" . "tianxiang.xiong@gmail.com") (:keywords "docs" "convenience") (:url . "https://github.com/emacs-helm/helm-describe-modes"))]) - (helm-dictionary . [(20220319 955) ((helm (1 5 5))) "Helm source for looking up dictionaries" single ((:commit . "69f1e5bf03d67c9e5cb0065e702e8c311ac9d3db") (: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-dictionary . [(20220514 714) ((helm (1 5 5))) "Helm source for looking up dictionaries" single ((:commit . "65fdf36e9a5c6dd8dffa71dfb6c65bc03879abe2") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de") ("Michael Heerdegen" . "michael_heerdegen@web.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/emacs-helm/helm-dictionary"))]) (helm-directory . [(20170706 402) ((emacs (24 4)) (helm (2 0))) "selecting directory before select the file" single ((:commit . "51bd7cd6e40a84a7efda894283ec76a0107830ad") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-directory"))]) (helm-dired-history . [(20170524 1046) ((helm (1 9 8)) (cl-lib (0 5))) "Show dired history with helm.el support." single ((:commit . "06654656d3ad502742056d9030dd59e0da984764") (:authors ("Joseph(纪秀峰)" . "jixiuf@gmail.com")) (:maintainer "Joseph(纪秀峰)" . "jixiuf@gmail.com") (:keywords "helm" "dired history") (:url . "https://github.com/jixiuf/helm-dired-history"))]) (helm-dired-recent-dirs . [(20131228 1414) ((helm (1 0))) "Show recent dirs with helm.el support." single ((:commit . "3bcd125b44f5a707588ae3868777d91192351523") (:authors ("Akisute" . "akisute3@gmail.com")) (:maintainer "Akisute" . "akisute3@gmail.com") (:keywords "helm" "dired" "zsh"))]) @@ -2124,7 +2151,7 @@ (helm-eww . [(20190315 907) ((emacs (24 4)) (helm (2 8 6)) (seq (1 8))) "Helm UI wrapper for EWW." single ((:commit . "76ba59fda8dd6f32a1bc7c6df0b43c6f76169911") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "helm" "packages") (:url . "https://github.com/emacs-helm/helm-eww"))]) (helm-ext . [(20200722 107) ((emacs (24 4)) (helm (2 5 3))) "A few extensions to Helm" tar ((:commit . "c30f7772ec577a5ce1de3215f0507826e0725a69") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) (helm-exwm . [(20210215 858) ((emacs (25 2)) (helm (2 8 5)) (exwm (0 15))) "Helm for EXWM buffers" single ((:commit . "5b35a42ff10fbcbf673268987df700ea6b6288e8") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "helm" "exwm") (:url . "https://github.com/emacs-helm/helm-exwm"))]) - (helm-file-preview . [(20200927 528) ((emacs (25 1)) (helm (2 0))) "Preview the current helm file selection" single ((:commit . "2affaf37f02386a93673c6156536d5208ee7a4bc") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/helm-file-preview"))]) + (helm-file-preview . [(20220720 531) ((emacs (25 1)) (helm (2 0))) "Preview the current helm file selection" single ((:commit . "c7584ce5e75c7f1b7b31c820fcd30bde4614c663") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "file" "helm" "preview" "select" "selection") (:url . "https://github.com/jcs-elpa/helm-file-preview"))]) (helm-filesets . [(20140929 1835) ((helm (1 6 3)) (filesets+ (0))) "A helm source for emacs filesets" single ((:commit . "b352910af4c3099267a8aa0169c7f743b35bb1fa") (:authors ("Graham Clark" . "grclark@gmail.com")) (:maintainer "Graham Clark" . "grclark@gmail.com") (:keywords "filesets") (:url . "https://github.com/gcla/helm-filesets"))]) (helm-firefox . [(20220420 1346) ((helm (1 5)) (cl-lib (0 5)) (emacs (24 1))) "Firefox bookmarks" single ((:commit . "571cf8dfcbe43d91f9890eebefc88d7572c62e75") (:url . "https://github.com/emacs-helm/helm-firefox"))]) (helm-fish-completion . [(20200908 1504) ((emacs (25)) (helm (3)) (fish-completion (1 2))) "Helm interface for fish completion" single ((:commit . "2a2001b3a876da3c468ffec8935572509c485aac") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-fish-completion"))]) @@ -2132,10 +2159,10 @@ (helm-flycheck . [(20160710 829) ((dash (2 12 1)) (flycheck (28)) (helm-core (1 9 8))) "Show flycheck errors with helm" single ((:commit . "3cf7d3bb194acacc6395f88360588013d92675d6") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "helm" "flycheck") (:url . "https://github.com/yasuyk/helm-flycheck"))]) (helm-flymake . [(20160610 2) ((helm (1 0))) "helm interface for flymake" single ((:commit . "72cf18a1a1f843db9bb5d58301739ea9ccb1655b") (:authors ("Akira Tamamori" . "tamamori5917@gmail.com")) (:maintainer "Akira Tamamori" . "tamamori5917@gmail.com") (:url . "https://github.com/tam17aki"))]) (helm-flyspell . [(20170210 1901) ((helm (1 6 5))) "Helm extension for correcting words with flyspell" single ((:commit . "8d4d947c687cb650cb149aa2271ad5201ea92594") (:authors ("Andrzej Pronobis")) (:maintainer "Andrzej Pronobis") (:keywords "convenience") (:url . "https://github.com/pronobis/helm-flyspell"))]) - (helm-frame . [(20180604 1005) ((emacs (24 4))) "open helm buffers in a dedicated frame" single ((:commit . "485e2a534b0de5e8dbeb144a9a60ceca00215a4a") (:authors ("chee" . "chee@snake.dog")) (:maintainer "chee" . "chee@snake.dog") (:keywords "lisp" "helm" "popup" "frame"))]) + (helm-frame . [(20220803 1528) ((emacs (24 4))) "open helm buffers in a dedicated frame" single ((:commit . "1b5e895e9199deeea049010e5fe4de7a338f41f3") (:authors ("chee" . "yay@chee.party")) (:maintainer "chee" . "yay@chee.party") (:keywords "lisp" "helm" "popup" "frame"))]) (helm-fuz . [(20200812 1222) ((emacs (25 1)) (fuz (1 4 0)) (helm (3 6))) "Integrate Helm and Fuz" single ((:commit . "fee874aa35d2ee6b12b836290b5c8eaa44175a28") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Zhu Zihao" . "all_but_last@163.com") (:keywords "convenience") (:url . "https://github.com/cireu/fuz.el"))]) (helm-fuzzier . [(20160605 2145) ((emacs (24 3)) (helm (1 7 0))) "Better fuzzy matching for Helm" single ((:commit . "8798dcf3583b863df5b9dea7fe3b0179ba1c35bc") (:authors ("Ephram Perdition")) (:maintainer "Ephram Perdition") (:keywords "convenience" "helm" "fuzzy") (:url . "http://github.com/EphramPerdition/helm-fuzzier"))]) - (helm-fuzzy . [(20200927 532) ((emacs (24 4)) (helm (1 7 9)) (flx (0 5))) "Fuzzy matching for helm source" single ((:commit . "da97bd3d7671472996421e26499cbc43a23b16ee") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/helm-fuzzy"))]) + (helm-fuzzy . [(20220704 651) ((emacs (24 4)) (helm (1 7 9)) (flx (0 5))) "Fuzzy matching for helm source" single ((:commit . "6098cee7fb274a814e539db85b7a4924d56493e8") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "matching" "fuzzy" "helm" "source") (:url . "https://github.com/jcs-elpa/helm-fuzzy"))]) (helm-fuzzy-find . [(20171106 400) ((emacs (24 1)) (helm (1 7 0))) "Find file using Fuzzy Search" single ((:commit . "de2abbf7ca13609587325bacd4a1ed4376b5c927") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:keywords "helm" "fuzzy" "find" "file") (:url . "https://github.com/xuchunyang/helm-fuzzy-find"))]) (helm-ghq . [(20210724 744) ((emacs (24)) (helm (3 8 0))) "Ghq with helm interface" single ((:commit . "7b47ac91e42762f2ecbbceeaadc05b86c9fe5f14") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-ghq"))]) (helm-ghs . [(20170715 541) ((emacs (24)) (helm (2 2 0))) "ghs with helm interface" single ((:commit . "17a70bf16255d90d67c8350e88200ec8bfd47563") (:authors ("iory" . "ab.ioryz@gmail.com")) (:maintainer "iory" . "ab.ioryz@gmail.com") (:url . "https://github.com/iory/emacs-helm-ghs"))]) @@ -2149,7 +2176,7 @@ (helm-google . [(20210527 900) ((helm (0))) "Emacs Helm Interface for quick Google searches" single ((:commit . "27834161391c350ef790062391cb7eab1d59fb62") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "helm" "google" "search" "browse" "searx") (:url . "https://framagit.org/steckerhalter/helm-google"))]) (helm-grepint . [(20200811 1616) ((helm (2 9 7)) (emacs (24 4))) "Generic helm interface to grep" single ((:commit . "9aec98428823b749eb14d2c8512b46b59ca9f8ca") (:authors ("Kalle Kankare" . "kalle.kankare@iki.fi")) (:maintainer "Kalle Kankare" . "kalle.kankare@iki.fi") (:keywords "grep" "grepping" "searching" "helm" "tools" "convenience") (:url . "https://github.com/kopoli/helm-grepint"))]) (helm-growthforecast . [(20140120 344) ((helm (1 5 9))) "helm extensions for growthforecast." single ((:commit . "0f94ac090d6c354058ad89a86e5c18385c136d9b") (:authors ("Daichi Hirata" . "daichi.hirat@gmail.com")) (:maintainer "Daichi Hirata" . "daichi.hirat@gmail.com") (:url . "https://github.com/daic-h/helm-growthforecast"))]) - (helm-gtags . [(20200602 1610) ((emacs (24 4)) (helm (2 0))) "GNU GLOBAL helm interface" single ((:commit . "6285c083d885ea8e110868c6a5b9df69c3f3c4af") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-gtags"))]) + (helm-gtags . [(20200602 1610) ((emacs (24 4)) (helm (2 0))) "GNU GLOBAL helm interface" single ((:commit . "c97a2fe68632938c2414249abbc9c7004eed3255") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-gtags"))]) (helm-hatena-bookmark . [(20210724 732) ((emacs (24)) (helm (2 8 2))) "Hatena::Bookmark with helm interface" single ((:commit . "a6a2b37370ac84ca2cae5ef65b2b144a010b1584") (:authors ("Takashi Masuda" . "masutaka.net@gmail.com")) (:maintainer "Takashi Masuda" . "masutaka.net@gmail.com") (:url . "https://github.com/masutaka/emacs-helm-hatena-bookmark"))]) (helm-hayoo . [(20151014 651) ((helm (1 6 0)) (json (1 2)) (haskell-mode (13 7))) "Source and configured helm for searching hayoo" single ((:commit . "dd4c0c8c87521026edf1b808c4de01fa19b7c693") (:authors ("Markus Hauck" . "markus1189@gmail.com")) (:maintainer "Markus Hauck" . "markus1189@gmail.com") (:keywords "helm"))]) (helm-helm-commands . [(20130902 1748) ((helm (1 5 4))) "List all helm commands with helm" single ((:commit . "3a05aa19c976501343ad9ae630a36810921a85f6") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "convenience") (:url . "https://github.com/vapniks/helm-helm-commands"))]) @@ -2167,11 +2194,11 @@ (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") (:authors ("Raghav Kumar Gautam" . "rgautam@apache.com")) (:maintainer "Raghav Kumar Gautam" . "rgautam@apache.com") (:keywords "java" "jps" "jstack" "jvm" "emacs" "elisp" "helm"))]) (helm-kythe . [(20170709 726) ((emacs (25)) (dash (2 12 0)) (helm (2 0))) "Google Kythe helm interface" single ((:commit . "eabbef4948f8ec7c7b2fac498e9145dfdb10ca82") (:authors ("Fangrui Song" . "i@maskray.me")) (:maintainer "Fangrui Song" . "i@maskray.me") (:url . "https://github.com/MaskRay/emacs-helm-kythe"))]) (helm-lastpass . [(20180722 806) ((emacs (25 1)) (helm (2 0)) (csv (2 1))) "Helm interface of LastPass" single ((:commit . "82e1ffb6ae77d9d9e29c398eb013cd20ce963f77") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/helm-lastpass"))]) - (helm-lean . [(20210305 1705) ((emacs (24 3)) (dash (2 18 0)) (helm (2 8 0)) (lean-mode (3 3 0))) "Helm interfaces for lean-mode" single ((:commit . "c1c68cc946eb31b6ba8faefdceffce1f77ca52df") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) + (helm-lean . [(20210305 1705) ((emacs (24 3)) (dash (2 18 0)) (helm (2 8 0)) (lean-mode (3 3 0))) "Helm interfaces for lean-mode" single ((:commit . "362bc6fa3efb1874c525ed6b4b6f24f76af22596") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) (helm-lib-babel . [(20180510 1324) ((cl-lib (0 5)) (helm (1 9 2)) (emacs (24 4))) "helm insertion of babel function references" single ((:commit . "41bc0cdea8a604c6c8dc83ed5066644d33688fad") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:keywords "convenience") (:url . "https://github.com/dfeich/helm-lib-babel.el"))]) (helm-lines . [(20220103 1909) ((emacs (24 4)) (helm (1 9 8))) "A helm interface for completing by lines" single ((:commit . "f5ad178818d223f32a0bf60d370b50c01df5f3da") (:authors ("@torgeir")) (:maintainer "@torgeir") (:keywords "files" "helm" "rg" "ag" "pt" "vc" "git" "lines" "complete" "tools" "languages") (:url . "https://github.com/torgeir/helm-lines.el/"))]) (helm-lobsters . [(20150213 1546) ((helm (1 0)) (cl-lib (0 5))) "helm front-end for lobste.rs" single ((:commit . "53c5b42baf72776dcba891fc3d7cd7d47721e9b0") (:authors ("Julien BLANCHARD" . "julien@sideburns.eu")) (:maintainer "Julien BLANCHARD" . "julien@sideburns.eu") (:url . "https://github.com/julienXX/helm-lobste.rs"))]) - (helm-ls-git . [(20220418 657) ((helm (1 7 8))) "list git files." single ((:commit . "c6494a462e605d6fd16c9355e32685c3e0085589"))]) + (helm-ls-git . [(20220727 505) ((helm (1 7 8))) "list git files." single ((:commit . "9d91c25c7d1776d137fd126f241d0272b6e5f90e"))]) (helm-ls-hg . [(20150909 543) ((helm (1 7 8))) "List hg files in hg project." single ((:commit . "61b91a22fcfb62d0fc56e361ec01ce96973c7165"))]) (helm-ls-svn . [(20190316 2203) ((emacs (24 1)) (helm (1 7 0)) (cl-lib (0 5))) "helm extension to list svn files" single ((:commit . "a6043e1187282f649e2cb9f0e722a42daf41294b") (:authors ("Chunyang Xu" . "chunyang@macports.org")) (:maintainer "Chunyang Xu" . "chunyang@macports.org") (:keywords "helm" "svn") (:url . "https://svn.macports.org/repository/macports/users/chunyang/helm-ls-svn.el/helm-ls-svn.el"))]) (helm-lsp . [(20210419 2014) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (5 0)) (helm (2 0))) "LSP helm integration" single ((:commit . "c2c6974dadfac459b1a69a1217441283874cea92") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "languages" "debug") (:url . "https://github.com/yyoncho/helm-lsp"))]) @@ -2187,10 +2214,10 @@ (helm-open-github . [(20170220 159) ((emacs (24 4)) (helm-core (1 7 7)) (gh (0 8 2))) "Utilities of Opening Github Page" single ((:commit . "2f03d97552a1233db7694116d5f80ecde7612756") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-open-github"))]) (helm-org . [(20210324 1927) ((helm (3 3)) (emacs (24 4))) "Helm for org headlines and keywords completion" single ((:commit . "d67186d3a64e610c03a5f3d583488f018fb032e4") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/emacs-helm/helm-org"))]) (helm-org-multi-wiki . [(20210228 1853) ((emacs (26 1)) (org (9 3)) (org-multi-wiki (0 4)) (org-ql (0 5)) (dash (2 18)) (helm-org-ql (0 5)) (helm (3 5))) "Helm interface to org-multi-wiki" single ((:commit . "bf8039aadddaf02569fab473f766071ef7e63563") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "org" "outlines") (:url . "https://github.com/akirak/org-multi-wiki"))]) - (helm-org-ql . [(20220318 1529) ((emacs (26 1)) (dash (2 18 1)) (s (1 12 0)) (helm-org (1 0)) (org-ql (0 6 -1))) "Helm support for org-ql" single ((:commit . "46f523d94a376b168176c75bbd0e3e0d00e61170") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-ql"))]) + (helm-org-ql . [(20220318 1529) ((emacs (26 1)) (dash (2 18 1)) (s (1 12 0)) (helm-org (1 0)) (org-ql (0 6 -1))) "Helm support for org-ql" single ((:commit . "06f1e1be6ff5ef7e2c8c05dc1954bcedcbb6eb0b") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/org-ql"))]) (helm-org-recent-headings . [(20211011 1519) ((emacs (26 1)) (org (9 0 5)) (dash (2 18 0)) (helm (1 9 4)) (org-recent-headings (0 2 -1)) (s (1 12 0))) "Helm source for org-recent-headings" single ((:commit . "97418d581ea030f0718794e50b005e9bae44582e") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org") (:url . "http://github.com/alphapapa/org-recent-headings"))]) (helm-org-rifle . [(20200512 1943) ((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 . "5e13a0e59606b40088927870dab116a8eab8e66c") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines") (:url . "http://github.com/alphapapa/helm-org-rifle"))]) - (helm-orgcard . [(20151001 1524) ((helm-core (1 7 7))) "browse the orgcard by helm" single ((:commit . "9655ac340d1ccc5f3d1c0f7c49be8dd3556d4d0d") (:authors ("Yuhei Maeda ")) (:maintainer "Yuhei Maeda") (:keywords "convenience" "helm" "org") (:url . "https://github.com/emacs-jp/helm-orgcard"))]) + (helm-orgcard . [(20220721 756) ((helm-core (3 6 0))) "browse the orgcard by helm" single ((:commit . "d58d35627bb1714bb2cb095f696706b6881233ed") (:authors ("Yuhei Maeda ")) (:maintainer "Yuhei Maeda") (:keywords "convenience" "helm" "org") (:url . "https://github.com/emacs-jp/helm-orgcard"))]) (helm-osx-app . [(20190717 958) ((emacs (25 1)) (helm-core (3 0))) "Launch macOS apps with helm" single ((:commit . "634ed5d721a20af265825a018e9df3ee6640daee") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:url . "https://github.com/xuchunyang/helm-osx-app"))]) (helm-pages . [(20161121 226) ((helm (1 6 5)) (emacs (24)) (cl-lib (0 5))) "Pages in current buffer as Helm datasource" single ((:commit . "51dcb9374d1df9feaae85e60cfb39b970554ecba") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:keywords "convenience" "helm" "outlines"))]) (helm-pass . [(20210221 1655) ((emacs (25)) (helm (0)) (password-store (0)) (auth-source-pass (4 0 0))) "helm interface of pass, the standard Unix password manager" single ((:commit . "4ce46f1801f2e76e53482c65aa0619d427a3fbf9") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-pass"))]) @@ -2215,12 +2242,12 @@ (helm-rhythmbox . [(20160524 1158) ((helm (1 5 0)) (cl-lib (0 5))) "control Rhythmbox's play queue via Helm" single ((:commit . "c92e1ded34ddd4e62e7e9a558259c232e05193fa") (:authors ("Thomas Winant" . "dewinant@gmail.com")) (:maintainer "Thomas Winant" . "dewinant@gmail.com") (:url . "https://github.com/mrBliss/helm-rhythmbox"))]) (helm-robe . [(20151209 355) ((helm (1 7 7))) "completing read function for robe" single ((:commit . "6e69543b4ee76c5f8f3f2510c76e6d9aed17a370") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-robe"))]) (helm-ros . [(20160812 1752) ((helm (1 9 9)) (xterm-color (1 0)) (cl-lib (0 5))) "Interfaces ROS with helm" single ((:commit . "92b0b215f6a017f0f57f1af15466cc0b2a5a0135") (:authors ("David Landry" . "davidlandry93@gmail.com")) (:maintainer "David Landry" . "davidlandry93@gmail.com") (:keywords "helm" "ros") (:url . "https://www.github.com/davidlandry93/helm-ros"))]) - (helm-rtags . [(20191222 920) ((helm (2 0)) (rtags (2 10))) "A front-end for rtags" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (helm-rtags . [(20191222 920) ((helm (2 0)) (rtags (2 10))) "A front-end for rtags" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) (helm-rubygems-local . [(20130712 111) ((helm (1 5 3))) "Installed local rubygems find-file for helm" single ((:commit . "289cb33d41c703af9791d6da46b55f070013c2e3") (:authors ("hadashiA" . "dev@hadashikick.jp")) (:maintainer "hadashiA" . "dev@hadashikick.jp") (:url . "https://github.com/f-kubotar/helm-rubygems-local"))]) (helm-rubygems-org . [(20140826 1156) ((emacs (24)) (helm (1 6 3)) (cl-lib (0 5))) "Use helm to search rubygems.org" single ((:commit . "6aaed984f698cbdf9f9aceb0221404563e28764d") (:authors ("Chad Albers" . "calbers@neomantic.com")) (:maintainer "Chad Albers" . "calbers@neomantic.com") (:keywords "ruby" "rubygems" "gemfile" "helm") (:url . "https://github.com/neomantic/helm-rubygems-org"))]) (helm-safari . [(20160404 324) ((helm (1 9 1)) (emacs (24))) "Browse your Safari bookmarks and history" single ((:commit . "664c7f4488829228eed7e90cd53002e14bec555b") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:keywords "tools") (:url . "https://github.com/xuchunyang/helm-safari"))]) (helm-sage . [(20160514 745) ((cl-lib (0 5)) (helm (1 5 6)) (sage-shell-mode (0 1 0))) "A helm extension for sage-shell-mode." single ((:commit . "f14e9281d8f2162df7d8f9c2ad9ad1248a24803b") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:keywords "sage" "math" "helm") (:url . "https://github.com/stakemori/helm-sage"))]) - (helm-searcher . [(20210221 923) ((emacs (25 1)) (helm (2 0)) (searcher (0 1 8)) (s (1 12 0)) (f (0 20 0))) "Helm interface to use searcher" single ((:commit . "fcb4aa5a36ee4555e46756704da50ccf7f13c21d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-helm/helm-searcher"))]) + (helm-searcher . [(20220704 634) ((emacs (25 1)) (helm (2 0)) (searcher (0 1 8)) (s (1 12 0)) (f (0 20 0))) "Helm interface to use searcher" single ((:commit . "521326e61b878bce0db7e1a862ffc890bd59122f") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "replace" "grep" "ag" "rg") (:url . "https://github.com/emacs-helm/helm-searcher"))]) (helm-selected . [(20171223 210) ((emacs (24 4)) (helm (2 8 6)) (selected (1 1))) "helm extension for selected.el" single ((:commit . "a9c769998bc56373d19f0ec9cbbbb4bd89a43c2d") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:keywords "extensions" "convenience") (:url . "https://github.com/takaxp/helm-selected"))]) (helm-selector . [(20210125 857) ((emacs (26 1)) (helm (3))) "Helm buffer selector" tar ((:commit . "4da4711c4cfd14527abe20d66787beeb49171b26") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-selector"))]) (helm-sheet . [(20130630 1239) ((helm (1 0))) "helm sources for sheet" single ((:commit . "d360b68d0ddb09aa1854e7b2f3cb39caeee26463") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:keywords "helm" "sheet") (:url . "https://github.com/yasuyk/helm-sheet"))]) @@ -2235,11 +2262,11 @@ (helm-switch-shell . [(20210713 1440) ((emacs (25 1)) (helm (2 8 8))) "A Helm source for switching between shell buffers" single ((:commit . "8d7ba1d99ff12a8f1d6ce3b9684ae8aebf494cf3") (:authors ("James N. V. Cash" . "james.cash@occasionallycogent.com")) (:maintainer "James N. V. Cash" . "james.cash@occasionallycogent.com") (:keywords "matching" "processes" "terminals" "tools") (:url . "https://github.com/jamesnvc/helm-switch-shell"))]) (helm-switch-to-repl . [(20210206 844) ((emacs (26 1)) (helm (3))) "Helm action to switch directory in REPLs" single ((:commit . "f0e732e7217fc0373b0805245fa15920cf676619") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:url . "https://github.com/emacs-helm/helm-switch-to-repl"))]) (helm-swoop . [(20210426 547) ((emacs (25 1)) (helm (3 6))) "Efficiently hopping squeezed lines powered by helm interface" single ((:commit . "1b3285791f1dc1fde548fe67aec07214d698fd57") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:keywords "convenience" "helm" "swoop" "inner" "buffer" "search") (:url . "https://github.com/emacsorphanage/helm-swoop"))]) - (helm-system-packages . [(20210628 1727) ((emacs (24 4)) (helm (2 8 7)) (seq (1 8))) "Helm UI wrapper for system package managers." tar ((:commit . "a16bb1c3708416984106a98353700d456414b6a1") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "helm" "packages") (:url . "https://github.com/emacs-helm/helm-system-packages"))]) + (helm-system-packages . [(20220515 812) ((emacs (24 4)) (helm (2 8 7)) (seq (1 8))) "Helm UI wrapper for system package managers." tar ((:commit . "e93f4aeaa77b73c6e529141c3fa0ac49b40b6306") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "helm" "packages") (:url . "https://github.com/emacs-helm/helm-system-packages"))]) (helm-systemd . [(20210105 542) ((emacs (24 4)) (helm (1 9 2)) (with-editor (2 5 0))) "helm's systemd interface" single ((:commit . "8b26ab2d3a5b08c1e03c9312818512d7492bbc9a") (:authors (nil . "")) (:maintainer nil . "") (:keywords "convenience"))]) - (helm-tail . [(20181124 439) ((emacs (25 1)) (helm (2 7 0))) "Read recent output from various sources" single ((:commit . "1f5a6355aa3bdb00b9b0bc93db29c17f0d6701e3") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "maint" "tools") (:url . "https://github.com/akirak/helm-tail"))]) + (helm-tail . [(20220726 947) ((emacs (25 1)) (helm (2 7 0))) "Read recent output from various sources" single ((:commit . "8dc44a87fa1a52199e43b73b55c8ef8fe8069e79") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "maint" "tools") (:url . "https://github.com/akirak/helm-tail"))]) (helm-taskswitch . [(20190304 1414) ((emacs (24)) (helm (3 0))) "Use helm to switch windows and buffers" single ((:commit . "59f7cb99defa6e6bf6e7d599559fa8d5786cf8a9") (:authors ("Brian Caruso" . "briancaruso@gmail.com")) (:maintainer "Brian Caruso" . "briancaruso@gmail.com") (:keywords "frames") (:url . "https://github.com/bdc34/helm-taskswitch"))]) - (helm-themes . [(20200323 712) ((helm-core (2 0)) (emacs (24 4))) "Color theme selection with helm interface" single ((:commit . "b6bd3379b98d306935731e9632907387b078e000") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-themes"))]) + (helm-themes . [(20220721 330) ((helm-core (3 6 0)) (emacs (24 4))) "Color theme selection with helm interface" single ((:commit . "12e856c0346fa69d13d941f27bd3cddb3a3deed2") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-helm-themes"))]) (helm-tramp . [(20190616 125) ((emacs (24 3)) (helm (2 0))) "Tramp helm interface for ssh, docker, vagrant" single ((:commit . "55e56975fe1456591a293bf60c183c3dda9f788f") (:authors ("Masashı Mıyaura")) (:maintainer "Masashı Mıyaura") (:url . "https://github.com/masasam/emacs-helm-tramp"))]) (helm-tree-sitter . [(20220328 1345) ((emacs (25 1)) (helm (3 6 2)) (tree-sitter (0 16 1))) "Helm interface for tree-sitter" tar ((:commit . "ef5209bd1deb56d6cab7a26e6d55615161f2115a") (:authors ("Giedrius Jonikas" . "giedriusj1@gmail.com")) (:maintainer "Giedrius Jonikas" . "giedriusj1@gmail.com") (:url . "https://github.com/Giedriusj1/helm-tree-sitter"))]) (helm-twitch . [(20220420 1625) ((dash (2 11 0)) (helm (1 5)) (emacs (24)) (twitch-api (20210809 1641)) (streamlink (20210811 1429))) "Navigate Twitch.tv via `helm'" single ((:commit . "27fbec24cc250d508cd2f4286da16262752908eb") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:keywords "helm" "twitch" "games") (:url . "https://github.com/BenediktBroich/helm-twitch"))]) @@ -2253,9 +2280,9 @@ (helm-youtube . [(20190101 1733) ((request (0 2 0)) (helm (2 3 1)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "e7272f1648c7fa836ea5ac1a61770b4931ab4709") (:authors ("Maximilian Roquemore" . "maximus12793@gmail.com")) (:maintainer "Maximilian Roquemore" . "maximus12793@gmail.com") (:keywords "youtube" "multimedia") (:url . "https://github.com/maximus12793/helm-youtube"))]) (helm-z . [(20171204 325) ((helm (1 0))) "Show z directory list with helm.el support." single ((:commit . "37212220bebea8b9c238cb1bbacd8332b7f26c03") (:authors ("yynozk" . "yynozk@gmail.com")) (:maintainer "yynozk" . "yynozk@gmail.com") (:url . "https://github.com/yynozk/helm-z"))]) (helm-zhihu-daily . [(20160625 1145) ((helm (1 0)) (cl-lib (0 5)) (emacs (24 4))) "Helm interface for 知乎日报 (http://daily.zhihu.com)" single ((:commit . "be27dcc6be1eb97663b65581a9a5c0fc81cfaba7") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:url . "https://github.com/xuchunyang/helm-zhihu-daily"))]) - (help-find . [(20210826 928) ((emacs (25 2)) (dash (2 12))) "Additional help functions for working with keymaps" single ((:commit . "576d6505b9e42f50f121b1a6a675f17f03a04406") (:authors ("Duncan Burke" . "duncankburke@gmail.com")) (:maintainer "Duncan Burke" . "duncankburke@gmail.com") (:keywords "help") (:url . "https://github.com/duncanburke/help-find"))]) + (help-find . [(20220513 1028) ((emacs (25 2)) (dash (2 12))) "Additional help functions for working with keymaps" single ((:commit . "6dd61bbb6290e06e30c002c011da71e348ac045f") (:authors ("Duncan Burke" . "duncankburke@gmail.com")) (:maintainer "Duncan Burke" . "duncankburke@gmail.com") (:keywords "help") (:url . "https://github.com/duncanburke/help-find"))]) (help-find-org-mode . [(20181204 234) ((emacs (24 4))) "Advise help to find org source over tangled code" single ((:commit . "aeda7f92c086dab9d8dfcd580fe80b332887a548") (:authors ("Eric Crosson" . "eric.s.crosson@utexas.com")) (:maintainer "Eric Crosson" . "eric.s.crosson@utexas.com") (:keywords "convenience") (:url . "https://github.com/EricCrosson/help-find-org-mode"))]) - (helpful . [(20220412 421) ((emacs (25)) (dash (2 18 0)) (s (1 11 0)) (f (0 20 0)) (elisp-refs (1 2))) "A better *help* buffer" single ((:commit . "c2729a236a84a1fbd3d184c163fbd10e0fd62077") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "help" "lisp") (:url . "https://github.com/Wilfred/helpful"))]) + (helpful . [(20220704 1722) ((emacs (25)) (dash (2 18 0)) (s (1 11 0)) (f (0 20 0)) (elisp-refs (1 2))) "A better *help* buffer" single ((:commit . "94a07d49a80f66f8ebc54a49a4b4f6899a65fbe3") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "help" "lisp") (:url . "https://github.com/Wilfred/helpful"))]) (hemera-theme . [(20180916 924) ((emacs (24))) "Light theme" single ((:commit . "b67c902b210b37b00cac68726822404543147ba8") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "guido.schmidt.2912@gmail.com") (:keywords "themes" "light-theme") (:url . "https://github.com/GuidoSchmidt/emacs-hemera-theme"))]) (hemisu-theme . [(20130508 1844) nil "Hemisu for Emacs." tar ((:commit . "5c206561aa2c844ecdf3e3b672c3235e559ddd7f") (:authors ("Andrzej Sliwa")) (:maintainer "Andrzej Sliwa") (:url . "http://github/anrzejsliwa/django-theme"))]) (hercules . [(20200420 747) ((emacs (24 4)) (which-key (3 3 2))) "An auto-magical, which-key-based hydra banisher." single ((:commit . "557da39878d0637395fdded91243b340c37eff7b") (:authors ("Uros Perisic")) (:maintainer "Uros Perisic") (:keywords "convenience") (:url . "https://gitlab.com/jjzmajic/hercules"))]) @@ -2263,15 +2290,15 @@ (hexo . [(20200416 1410) ((emacs (24 3))) "Major mode & tools for Hexo" single ((:commit . "d600b6c2d51959f1331c8abf3953365544322afa") (:authors ("Ono Hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko (kuanyui)" . "azazabc123@gmail.com") (:keywords "tools" "hexo") (:url . "https://github.com/kuanyui/hexo.el"))]) (hfst-mode . [(20160708 1202) nil "major mode for editing HFST files" single ((:commit . "ac1bb9dd92545d3e7fdc05c83996c227cc15c6b8") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "languages") (:url . "http://wiki.apertium.org/wiki/Emacs"))]) (hg-histedit . [(20210302 2334) ((emacs (25 1)) (with-editor (2 8 3))) "Edit HG histedit files" single ((:commit . "a05149483b9c5f7848ece0ba6028c900595a6a25") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "mercurial" "hg" "emacs" "tools") (:url . "https://github.com/jojojames/hg-histedit"))]) - (hgignore-mode . [(20210314 431) nil "a major mode for editing hgignore files" single ((:commit . "2c5aa4c238848f5b4f2955afcfb5f21ea513653b") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:keywords "convenience" "vc" "hg") (:url . "http://github.com/omajid/hgignore-mode"))]) + (hgignore-mode . [(20220804 1326) nil "a major mode for editing hgignore files" single ((:commit . "c65810347f39904b985187c5e2aaf27b184f3cae") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:keywords "convenience" "vc" "hg") (:url . "http://github.com/omajid/hgignore-mode"))]) (hgrc-mode . [(20150409 2043) nil "major mode for editing hgrc files" single ((:commit . "314e8320b82cc1ce74b1bd372f296252e7a23090") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:keywords "convenience" "vc" "hg") (:url . "http://github.com/omajid/hgrc-mode"))]) (hi2 . [(20141005 1931) nil "indentation module for Haskell Mode" single ((:commit . "c9d199727b5cdcb9e36a972b38131ce4611fd6c8") (:authors ("Gergely Risko" . "gergely@risko.hu")) (:maintainer "Gergely Risko" . "gergely@risko.hu") (:keywords "indentation" "haskell") (:url . "https://github.com/errge/hi2"))]) - (hiccup-cli . [(20210208 652) ((emacs (26 1))) "Convert HTML to Hiccup syntax" single ((:commit . "b56ae0d5cd5ce3ef24ed13be5103e231c91ef4e2") (:authors ("Kevin W. van Rooijen")) (:maintainer "Kevin W. van Rooijen") (:keywords "tools") (:url . "https://github.com/kwrooijen/hiccup-cli"))]) + (hiccup-cli . [(20210208 652) ((emacs (26 1))) "Convert HTML to Hiccup syntax" single ((:commit . "c554f94e6aed2c755ed9e4391f5a090d6289b1ee") (:authors ("Kevin W. van Rooijen")) (:maintainer "Kevin W. van Rooijen") (:keywords "tools") (:url . "https://github.com/kwrooijen/hiccup-cli"))]) (hide-lines . [(20210513 1636) nil "Commands for hiding lines based on a regexp" single ((:commit . "f0828c15e50db5eddb905de783e7683b04d1eca3") (:authors ("Mark Hulme-Jones ")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "convenience") (:url . "https://github.com/vapniks/hide-lines"))]) (hide-mode-line . [(20211112 1400) ((emacs (24 4))) "minor mode that hides/masks your modeline" single ((:commit . "bc5d293576c5e08c29e694078b96a5ed85631942") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "git@henrik.io") (:keywords "frames" "mode-line") (:url . "https://github.com/hlissner/emacs-hide-mode-line"))]) (hidepw . [(20200326 112) nil "Minor mode to hide passwords" single ((:commit . "73f099da79d73fe4087472df3469d8b9b20a59f2") (:authors ("Chris Forno" . "jekor@jekor.com")) (:maintainer "Chris Forno" . "jekor@jekor.com") (:keywords "hide" "hidden" "password" "faces") (:url . "https://github.com/jekor/hidepw"))]) (hideshow-org . [(20120223 2250) nil "Provides org-mode like hide and show for hideshow.el" single ((:commit . "16419e52e6cdd2f46f755144c0ab11ce00d1a626") (:authors ("Shane Celis ")) (:maintainer "Shane Celis ") (:keywords "c" "c++" "java" "lisp" "tools" "editing" "comments" "blocks" "hiding" "outlines" "org-mode"))]) - (hierarchy . [(20190425 842) ((emacs (25 1))) "Library to create and display hierarchy structures" single ((:commit . "fed505b8e71bf51772887c8a94bb57f5b8838b63") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/hierarchy"))]) + (hierarchy . [(20190425 842) ((emacs (25 1))) "Library to create and display hierarchy structures" single ((:commit . "d8373b376642e9297595468dbe72ec63a6e4b571") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/hierarchy"))]) (highlight . [(20210318 2248) nil "Highlighting commands." single ((:commit . "28557cb8d99b96eb509aaec1334c7cdda162517f") (:authors ("Drew Adams")) (:maintainer nil . "Drew Adams (concat \"drew.adams\" \"@\" \"oracle\" \".com\")") (:keywords "faces" "help" "local") (:url . "https://www.emacswiki.org/emacs/download/highlight.el"))]) (highlight-blocks . [(20190318 1557) ((emacs (24))) "Highlight the blocks point is in" single ((:commit . "33cf3d36662faa36c86c8d53e4d5a3922efa3eb8") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/highlight-blocks"))]) (highlight-context-line . [(20181122 2203) nil "Improve orientation when scrolling" single ((:commit . "6b334e8207c780835a05b6909b4d826898c33d26") (:authors ("Stefan Kamphausen ")) (:maintainer "Stefan Kamphausen ") (:keywords "faces" "services" "user") (:url . "https://github.com/ska2342/highlight-context-line/"))]) @@ -2289,10 +2316,10 @@ (highlight-refontification . [(20170211 2024) nil "Visualize font-lock refontification." single ((:commit . "32632897d88c4611fadb08517ca00ef5cbc989b6") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces" "tools") (:url . "https://github.com/Lindydancer/highlight-refontification"))]) (highlight-stages . [(20210306 418) nil "highlight staged (quasi-quoted) expressions" single ((:commit . "95daa710f3d8fc83f42c5da38003fc71ae0da1fc") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (highlight-symbol . [(20160102 2009) nil "automatic and manual symbol highlighting" single ((:commit . "7a789c779648c55b16e43278e51be5898c121b3a") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "faces" "matching") (:url . "http://nschum.de/src/emacs/highlight-symbol/"))]) - (highlight-thing . [(20181229 1301) nil "Minimalistic minor mode to highlight current thing under point." single ((:commit . "561d08a26f78f18d405d4f371f1c813db094e2f3") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "highlight" "thing" "symbol") (:url . "https://github.com/fgeller/highlight-thing.el"))]) + (highlight-thing . [(20220726 2237) nil "Minimalistic minor mode to highlight current thing under point." single ((:commit . "cdf429c41c13c22d25fe43493cc5d85cc480dba6") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "highlight" "thing" "symbol") (:url . "https://github.com/fgeller/highlight-thing.el"))]) (highlight-unique-symbol . [(20130612 542) ((deferred (0 3 2))) "highlight symbols which not appear in the repository" single ((:commit . "4141bf86a94e30d94d9af9c29d40b16886226e1c") (:authors ("hitode909" . "hitode909@gmail.com")) (:maintainer "hitode909" . "hitode909@gmail.com") (:url . "https://github.com/hitode909/emacs-highlight-unique-symbol"))]) (highlight2clipboard . [(20151020 1840) ((htmlize (1 47))) "Copy text to clipboard with highlighting." tar ((:commit . "6ce58a060d9c5843ccb8c79ec2bba7858c68ac15") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "tools"))]) - (hindent . [(20210201 148) ((cl-lib (0 5))) "Indent haskell code using the \"hindent\" program" single ((:commit . "f7e7b12fd119e91c795cbe21bebf7b5af5d273b8") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/hindent"))]) + (hindent . [(20210201 148) ((cl-lib (0 5))) "Indent haskell code using the \"hindent\" program" single ((:commit . "4c2ea034f4365cd784539f223282907c9e734fba") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:url . "https://github.com/chrisdone/hindent"))]) (hippie-exp-ext . [(20160502 2326) nil "Extension of hippie-expand" single ((:commit . "4eda13f90da51ab217d024701f4c30f91ffcb90e") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "abbrev" "convenience" "completions" "hippie-expand") (:url . "http://www.emacswiki.org/emacs/download/hippie-exp-ext.el"))]) (hippie-expand-slime . [(20170723 146) nil "Hook slime's completion into hippie-expand" single ((:commit . "39bbae94896a62854d31754debdfae71d35fec62") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:url . "https://github.com/purcell/hippie-expand-slime"))]) (hippie-namespace . [(20140508 2041) nil "Special treatment for namespace prefixes in hippie-expand" single ((:commit . "d0d0f15c67ab8bef5e9d1e29a89ecd3613a60b49") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience" "lisp" "tools" "completion") (:url . "http://github.com/rolandwalker/hippie-namespace"))]) @@ -2302,13 +2329,13 @@ (hive . [(20131217 1512) ((sql (3 0))) "Hive SQL mode extension" single ((:commit . "11b5172e081ad8079fc78758bef6f306f82ae32b") (:authors ("Roman Scherer" . "roman@burningswell.com")) (:maintainer "Roman Scherer" . "roman@burningswell.com") (:keywords "sql" "hive"))]) (hiwin . [(20150825 827) nil "Visible active window mode." single ((:commit . "6ee8ed051405653bd9b7332d7e9fbb591d954051") (:authors ("k.sugita")) (:maintainer "k.sugita") (:keywords "faces" "editing" "emulating"))]) (hl-anything . [(20160422 1708) ((emacs (24 3))) "Highlight symbols, selections, enclosing parens and more." tar ((:commit . "8696bc55a8cba408f0fc83a907a9ec529d79e558") (:authors ("boyw165")) (:maintainer "boyw165"))]) - (hl-block-mode . [(20220211 548) ((emacs (26 1))) "Highlighting nested blocks" single ((:commit . "3dd29cfbf24fec16eaf3d47936338adb6b34f5c8") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-hl-block-mode"))]) + (hl-block-mode . [(20220731 2352) ((emacs (26 1))) "Highlighting nested blocks" single ((:commit . "a9e8e8cfd83972a448bdbb0a9967989d0aa1d05a") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-hl-block-mode"))]) (hl-fill-column . [(20200607 757) ((names (0 5)) (emacs (24))) "Highlight fill column." single ((:commit . "5782a91ba0182c4e562fa0db6379ff9dd472856b") (:keywords "fill column" "faces") (:url . "https://github.com/laishulu/hl-fill-column"))]) (hl-indent . [(20170429 2104) ((emacs (24)) (cl-lib (0 5))) "Highlight irregular indentation." single ((:commit . "bdb2e0177a7c8b29af26998e688b856adc6ded93") (:authors ("Kirill Ignatiev ")) (:maintainer "Kirill Ignatiev ") (:keywords "convenience" "faces") (:url . "https://github.com/ikirill/hl-indent"))]) - (hl-prog-extra . [(20220422 541) ((emacs (26 2))) "Customizable highlighting for source-code" tar ((:commit . "40905568a040c1050941275cc9b970a45b77eb90") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-hl-prog-extra"))]) + (hl-prog-extra . [(20220731 2353) ((emacs (26 2))) "Customizable highlighting for source-code" tar ((:commit . "6d419cc36936f3bb3c9c63a6f77cc88a80b0db9c") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-hl-prog-extra"))]) (hl-sentence . [(20171018 1519) nil "highlight a sentence based on customizable face" single ((:commit . "86ae38d3103bd20da5485cbdd59dfbd396c45ee4") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:keywords "highlighting") (:url . "http://github.com/milkypostman/hl-sentence"))]) - (hl-todo . [(20220422 1611) ((emacs (25 1)) (compat (28 1 1 0))) "Highlight TODO and similar keywords" single ((:commit . "6769accd7003ba5a0376d2c5cef0fcffce8f45be") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/hl-todo"))]) - (hledger-mode . [(20210706 1225) ((emacs (24 4)) (popup (0 5 3)) (async (1 9)) (htmlize (1 47))) "A mode for writing journal entries for hledger." tar ((:commit . "9ac07ff0adbce6a402c17e789b1750f9da0d22f4") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:keywords "data") (:url . "https://github.com/narendraj9/hledger-mode.git"))]) + (hl-todo . [(20220422 1611) ((emacs (25 1)) (compat (28 1 1 0))) "Highlight TODO and similar keywords" single ((:commit . "2337eac8cab0d4b73a96fb3936d2ac87600e3c91") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/hl-todo"))]) + (hledger-mode . [(20220515 1225) ((emacs (24 4)) (popup (0 5 3)) (async (1 9)) (htmlize (1 47))) "A mode for writing journal entries for hledger." tar ((:commit . "400bde42a8d2712af80cd7c773c9cdfbb63a515a") (:authors ("Narendra Joshi" . "narendraj9@gmail.com")) (:maintainer "Narendra Joshi" . "narendraj9@gmail.com") (:keywords "data") (:url . "https://github.com/narendraj9/hledger-mode.git"))]) (hlint-refactor . [(20190115 900) nil "Apply HLint suggestions" single ((:commit . "c4307f86aad6d02e32e9b30cb6edc115584c791c") (:keywords "haskell" "refactor") (:url . "https://github.com/mpickering/hlint-refactor-mode"))]) (hlinum . [(20180422 412) ((cl-lib (0 2))) "Extension for linum.el to highlight current line number" single ((:commit . "5646d9c0b9e7598b20b2004eab5439fdc6dbeda5") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:keywords "convenience" "extensions") (:url . "https://github.com/tom-tan/hlinum-mode/"))]) (hmac . [(20201004 1819) ((emacs (25 1))) "Hash-based message authentication code" single ((:commit . "f2b99a9a10becfff207cf9418c6dce78364b1a4b") (:authors ("Sean McAfee")) (:maintainer "Sean McAfee") (:url . "https://github.com/grimnebulin/emacs-hmac"))]) @@ -2322,11 +2349,11 @@ (hookify . [(20141216 2209) ((s (1 9 0)) (dash (1 5 0))) "Interactive commands to create temporary hooks" single ((:commit . "21baae7393b07257de5796402fde0ca72fb00d77") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "hook" "convenience") (:url . "https://github.com/Silex/hookify"))]) (horizon-theme . [(20200720 1832) ((emacs (24 3))) "A beautifully warm dual theme" single ((:commit . "9595549c514a9376c61d5d303405f6a6982e9e46") (:url . "https://github.com/aodhneine/horizon-theme.el"))]) (horoscope . [(20180409 641) ((emacs (24))) "generate horoscopes." single ((:commit . "f4c683e991adce0a8f9023f15050f306f9b9a9ed") (:authors ("Bob Manson" . "manson@cygnus.com")) (:maintainer "Noah Friedman" . "friedman@prep.ai.mit.edu") (:keywords "extensions" "games") (:url . "https://github.com/mschuldt/horoscope.el"))]) - (hotfuzz . [(20210924 936) ((emacs (27 1))) "Fuzzy completion style" single ((:commit . "95a1be449624aa2b25128b900b6211034d0e17bb") (:authors ("Axel Forsman" . "axelsfor@gmail.com")) (:maintainer "Axel Forsman" . "axelsfor@gmail.com") (:keywords "matching") (:url . "https://github.com/axelf4/hotfuzz"))]) + (hotfuzz . [(20220731 934) ((emacs (27 1))) "Fuzzy completion style" single ((:commit . "5ccab77f7bfb1d4246aa01639e151ec9509c64bb") (:authors ("Axel Forsman" . "axelsfor@gmail.com")) (:maintainer "Axel Forsman" . "axelsfor@gmail.com") (:keywords "matching") (:url . "https://github.com/axelf4/hotfuzz"))]) (hound . [(20200122 1700) ((request (0 2 0)) (cl-lib (0 5))) "Display hound search results in a compilation window" single ((:commit . "35e2cdc81fcc904b450a7ef3ec00fd25df6a4431") (:authors ("Ryan Young")) (:maintainer "Ryan Young"))]) (hover . [(20220129 1935) ((emacs (25 2)) (dash (2 14 1))) "Package to use hover with flutter" single ((:commit . "4ca0638a14a8b304ac2b46e7b342b8d8732ad199") (:authors ("Eric Dallo")) (:maintainer "Eric Dallo") (:keywords "hover" "flutter" "mobile" "tools") (:url . "https://github.com/ericdallo/hover.el"))]) (howdoi . [(20150204 43) nil "Instant coding answers via Emacs." tar ((:commit . "5fbf7069ee160c597a328e5ce5fb32920e1ca88f") (:authors ("Andrey Tykhonov ")) (:maintainer "Andrey Tykhonov" . "atykhonov@gmail.com") (:keywords "howdoi" "convenience") (:url . "https://github.com/atykhonov/emacs-howdoi/"))]) - (howdoyou . [(20210909 2000) ((emacs (25 1)) (promise (1 1)) (request (0 3 3)) (org (9 2))) "A stackoverflow and its sisters' sites reader" single ((:commit . "a01971a7279c8a031de78513c004d7a09d293712") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/howdoyou/"))]) + (howdoyou . [(20220715 1720) ((emacs (25 1)) (promise (1 1)) (request (0 3 3)) (org (9 2))) "A stackoverflow and its sisters' sites reader" single ((:commit . "f6c659a45f59a08546578c169524a12f0945c29b") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/howdoyou/"))]) (howm . [(20211230 1221) ((cl-lib (0 5))) "Wiki-like note-taking tool" tar ((:commit . "c381e50f0c771c38306bda37bd972a37a36a5db5") (:authors ("HIRAOKA Kazuyuki" . "khi@users.osdn.me")) (:maintainer "HIRAOKA Kazuyuki" . "khi@users.osdn.me") (:url . "https://howm.osdn.jp"))]) (hsluv . [(20181127 1206) ((seq (2 20))) "hsluv color space conversions" single ((:commit . "c3bc5228e30d66e7dee9ff1a0694c2b976862fc0") (:authors ("Geert Vermeiren")) (:maintainer "Geert Vermeiren") (:keywords "color" "hsluv") (:url . "https://github.com/hsluv/hsluv-emacs"))]) (ht . [(20210119 741) ((dash (2 12 0))) "The missing hash table library for Emacs" single ((:commit . "c4c1be487d6ecb353d07881526db05d7fc90ea87") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "hash table" "hash map" "hash"))]) @@ -2336,7 +2363,7 @@ (html-to-markdown . [(20151105 840) ((cl-lib (0 5))) "HTML to Markdown converter written in Emacs-lisp." single ((:commit . "60c5498c801be186478cf7c05be05b4430c4a144") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "tools" "wp" "languages") (:url . "http://github.com/Bruce-Connor/html-to-markdown"))]) (html2org . [(20170418 501) ((emacs (24 4))) "Convert html to org format text" single ((:commit . "6904aed40259ad8afccff079ebd8a07bff319ebc") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "html" "org") (:url . "http://github.com/lujun9972/html2org.el"))]) (htmlize . [(20210825 2150) nil "Convert buffer text and decorations to HTML." single ((:commit . "dd27bc3f26efd728f2b1f01f9e4ac4f61f2ffbf9") (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:maintainer "Hrvoje Niksic" . "hniksic@gmail.com") (:keywords "hypermedia" "extensions") (:url . "https://github.com/hniksic/emacs-htmlize"))]) - (htmltagwrap . [(20200929 559) ((emacs (24 4))) "Wraps a chunk of HTML code in tags" single ((:commit . "5cd4e469a0e624df8b055744e2c9c6c28f9b229c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/htmltagwrap"))]) + (htmltagwrap . [(20220704 652) ((emacs (24 4))) "Wraps a chunk of HTML code in tags" single ((:commit . "aeabbb7606e033bccbb70d2a1c463ba8a733a4e9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/htmltagwrap"))]) (http . [(20201010 920) ((emacs (24 4)) (request (0 2 0)) (edit-indirect (0 1 4))) "Yet another HTTP client" single ((:commit . "5fdceed1fbf36e274e578e349a53ce922c574774") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/http.el"))]) (http-post-simple . [(20170715 940) nil "HTTP POST requests using the url library" single ((:commit . "f53697fca278c741051aeb668b00466b5e0fd3fe") (:authors ("Tom Schutzer-Weissmann")) (:maintainer "Tom Schutzer-Weissmann") (:keywords "comm" "data" "processes" "hypermedia"))]) (http-twiddle . [(20160801 1911) nil "send & twiddle & resend HTTP requests" single ((:commit . "4d0c73b7dcbde8b483d4f3a75c49c74d2fe3ca45") (:authors ("Luke Gorrie" . "luke@synap.se")) (:maintainer "Hasan Veldstra" . "h@vidiowiki.com") (:keywords "http" "rest" "soap") (:url . "https://github.com/hassy/http-twiddle/blob/master/http-twiddle.el"))]) @@ -2356,27 +2383,27 @@ (hyperkitty . [(20220226 1951) ((request (0 3 2)) (emacs (25 1))) "Emacs interface for Hyperkitty archives" single ((:commit . "2c1d22ff017d096c359aa151e6a29f7214a58118") (:authors ("Abhilash Raj" . "maxking@asynchronous.in")) (:maintainer "Abhilash Raj" . "maxking@asynchronous.in") (:keywords "mail" "hyperkitty" "mailman") (:url . "https://github.com/maxking/hyperkitty.el"))]) (hyperlist-mode . [(20200515 2209) ((emacs (24))) "A major-mode for viewing Hyperlists" single ((:commit . "374cdc04761df23e7a50ca276319ba9745cda9d7") (:authors ("Wojciech Siewierski")) (:maintainer "Wojciech Siewierski") (:keywords "outlines") (:url . "https://github.com/vifon/hyperlist-mode"))]) (hyperspace . [(20210603 1825) ((emacs (25)) (s (1 12 0))) "Get there from here" single ((:commit . "c4c363c140250ba6b775516082063878975a6154") (:authors ("Ian Eure" . "ian@retrospec.tv")) (:maintainer "Ian Eure" . "ian@retrospec.tv") (:keywords "tools" "convenience") (:url . "https://github.com/ieure/hyperspace-el"))]) - (i-ching . [(20211112 1528) ((emacs (25 1)) (request (0 3))) "The Book of Changes" tar ((:commit . "992f53ae2bd572b89bc642ca70b8bdaa5eb2553f") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "games" "divination" "stochastism" "cleromancy" "change") (:url . "https://github.com/zzkt/i-ching"))]) + (i-ching . [(20220619 817) ((emacs (25 1)) (request (0 3))) "The Book of Changes" tar ((:commit . "54f19e2dcb1d16735b94fc7e06a2aa8b1b6f165a") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "games" "divination" "stochastism" "cleromancy" "change") (:url . "https://github.com/zzkt/i-ching"))]) (i2b2-mode . [(20140710 104) nil "Highlights corresponding PHI data in the text portion of an i2b2 XML Document." single ((:commit . "db10efcfc8bed369a516bbf7526ede41f98cb95a") (:authors ("Dan LaManna" . "dan.lamanna@gmail.com")) (:maintainer "Dan LaManna" . "dan.lamanna@gmail.com") (:keywords "xml" "phi" "i2b2" "deidi2b2"))]) (i3wm . [(20170822 1438) nil "i3wm integration library" single ((:commit . "71391dc61063fee77ad174f3b2ca25c60b41009e") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:keywords "convenience" "extensions") (:url . "https://git.flintfam.org/swf-projects/emacs-i3"))]) - (i3wm-config-mode . [(20201105 2022) ((emacs (24 1))) "Better syntax highlighting for i3wm's config file" single ((:commit . "c70bdc1367e461299e13a4797bc9d9d950184edd") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:keywords "faces" "languages" "i3wm" "font-lock") (:url . "https://github.com/Alexander-Miller/i3wm-Config-Mode"))]) - (ialign . [(20200711 1117) ((emacs (24 4))) "visual align-regexp" single ((:commit . "eca40b8b59ea713dba21b18f5b047a6c086b91dc") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:keywords "tools" "editing" "align" "interactive") (:url . "https://github.com/mkcms/interactive-align"))]) + (i3wm-config-mode . [(20220617 1339) ((emacs (24 1))) "Better syntax highlighting for i3wm's config file" single ((:commit . "3574d88241118ed6cc5a3022b6dde58d6f5af9dd") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:keywords "faces" "languages" "i3wm" "font-lock") (:url . "https://github.com/Alexander-Miller/i3wm-Config-Mode"))]) + (ialign . [(20220629 1241) ((emacs (24 4))) "visual align-regexp" single ((:commit . "bc4d30d79f2f4b413288195ef19894ac0fd258b7") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:keywords "tools" "editing" "align" "interactive") (:url . "https://github.com/mkcms/interactive-align"))]) (iasm-mode . [(20171023 1422) nil "interactive assembly major mode." single ((:commit . "abbec7f308f9ce97beeb57e459fff35f559b4c18") (:authors ("Rémi Attab" . "remi.attab@gmail.com")) (:maintainer "Rémi Attab" . "remi.attab@gmail.com") (:keywords ":" "tools") (:url . "https://github.com/RAttab/iasm-mode"))]) (ibuffer-git . [(20110508 731) nil "show git status in ibuffer column" single ((:commit . "d326319c05ddb8280885b31f9094040c1b365876") (:authors ("Jonathan Rockway" . "jon@jrock.us")) (:maintainer "Jonathan Rockway" . "jon@jrock.us") (:keywords "convenience"))]) - (ibuffer-project . [(20220321 1312) ((emacs (25 1))) "Group ibuffer's list by project or any function" single ((:commit . "bfc0ec1f27b02b8ab816dcfd9073e5d78dae1aed") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "tools") (:url . "https://github.com/muffinmad/emacs-ibuffer-project"))]) + (ibuffer-project . [(20220321 1312) ((emacs (25 1))) "Group ibuffer's list by project or any function" single ((:commit . "383499d347b72d919178d6f9e6b69abc2f9aa05e") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "tools") (:url . "https://github.com/muffinmad/emacs-ibuffer-project"))]) (ibuffer-projectile . [(20200805 604) ((projectile (0 11 0)) (emacs (24 1))) "Group ibuffer's list by projectile root" single ((:commit . "ecbe482804a217b1471593f6c7a8b3d64f3cdc47") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience") (:url . "https://github.com/purcell/ibuffer-projectile"))]) (ibuffer-rcirc . [(20150215 2118) ((cl-lib (0 2))) "Ibuffer integration for rcirc" single ((:commit . "8a4409b1c679d65c819dee4085faf929840e79f8") (:authors ("Fabián Ezequiel Gallina" . "fgallina@gnu.org")) (:maintainer "Fabián Ezequiel Gallina" . "fgallina@gnu.org") (:keywords "buffer" "convenience" "comm") (:url . "https://github.com/fgallina/ibuffer-rcirc"))]) (ibuffer-sidebar . [(20210508 836) ((emacs (25 1))) "Sidebar for `ibuffer'" single ((:commit . "fb685e1e43db979e25713081d8ae4073453bbd5e") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "ibuffer" "files" "tools") (:url . "https://github.com/jojojames/ibuffer-sidebar"))]) (ibuffer-tramp . [(20151118 1739) nil "Group ibuffer's list by TRAMP connection" single ((:commit . "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3") (:authors ("Svend Sorensen" . "svend@ciffer.net")) (:maintainer "Svend Sorensen" . "svend@ciffer.net") (:keywords "convenience") (:url . "http://github.com/svend/ibuffer-tramp"))]) (ibuffer-vc . [(20200805 604) ((emacs (24 1)) (cl-lib (0 2))) "Group ibuffer's list by VC project, or show VC status" single ((:commit . "5fa6aea09bc67f71ea743302d609f459967b1e81") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience") (:url . "https://github.com/purcell/ibuffer-vc"))]) - (iceberg-theme . [(20200812 943) ((emacs (26 1)) (solarized-theme (1 3))) "Well-designed, eye-friendly, dark blue color scheme" single ((:commit . "183b41eae07d94d4a8f299306078410bddc41d34") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/iceberg-theme.el"))]) + (iceberg-theme . [(20220622 1) ((emacs (26 1)) (solarized-theme (1 3))) "Well-designed, eye-friendly, dark blue color scheme" single ((:commit . "c9fdf9a8f5ff417c206730a84731f64a95483935") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/iceberg-theme.el"))]) (icomplete-vertical . [(20220418 2119) ((emacs (26 1))) "Display icomplete candidates vertically" tar ((:commit . "f5775d535630199703c936380d210d38249b342c") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "convenience" "completion") (:url . "https://github.com/oantolin/icomplete-vertical"))]) (icsql . [(20210612 1340) ((emacs (26)) (choice-program (0 13)) (buffer-manage (0 12))) "Interactive iSQL iteraface to ciSQL" single ((:commit . "4521e9d2debef7687bfd26a664479f0c46688a36") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "isql" "sql" "rdbms" "data") (:url . "https://github.com/plandes/icsql"))]) (id-manager . [(20170320 1246) nil "id-password management" single ((:commit . "14ebc35db298aac4dedc8aa188bc46bacab81f3b") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "password" "convenience"))]) (idea-darkula-theme . [(20160416 2303) ((emacs (24 1))) "Color theme based on IntelliJ IDEA Darkula color theme" single ((:commit . "52602d9b91883e1f297d000951aeed48bf60176e") (:authors ("Alexey Veretennikov ")) (:maintainer "Alexey Veretennikov ") (:keywords "themes") (:url . "http://github.com/fourier/idea-darkula-theme"))]) (identica-mode . [(20130204 2253) nil "Major mode API client for status.net open microblogging" tar ((:commit . "cf9183ee11ac922e85c7c908f04e2d00b03111b3") (:authors ("Gabriel Saldana" . "gsaldana@gmail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com") (:keywords "identica" "web") (:url . "http://blog.gabrielsaldana.org/identica-mode-for-emacs/"))]) (idle-highlight-in-visible-buffers-mode . [(20181027 1531) nil "highlight the word the point is on" single ((:commit . "8d8de309d5bd4b035c01bf7f0cfc6e079c79d898") (:authors ("Ignacy Moryc")) (:maintainer "Ignacy Moryc") (:keywords "convenience") (:url . "https://github.com/ignacy/idle-highlight-in-visible-buffers"))]) - (idle-highlight-mode . [(20220211 548) ((emacs (27 1))) "Highlight the word the point is on" single ((:commit . "0a24f8e402383b0da1f956d946781317fba14bbc") (:authors ("Phil Hagelberg, Cornelius Mika, Campbell Barton")) (:maintainer "Phil Hagelberg, Cornelius Mika, Campbell Barton") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-idle-highlight-mode"))]) + (idle-highlight-mode . [(20220731 2354) ((emacs (27 1))) "Highlight the word the point is on" single ((:commit . "b3eed5553fe8d7b28bd95b5093e4174d859695ca") (:authors ("Phil Hagelberg, Cornelius Mika, Campbell Barton")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-idle-highlight-mode"))]) (idle-org-agenda . [(20190106 1844) nil "Shows your agenda when editor is idle." single ((:commit . "8e6052fc4923c30132052d67d794b76c92851c20") (:authors ("John Wiegley" . "jwiegley@gmail.com")) (:maintainer "Enis Özgen" . "mail@enisozgen.com") (:keywords "org" "org-mode" "org-agenda" "calendar") (:url . "https://github.com/enisozgen/idle-org-agenda"))]) (idle-require . [(20090715 2203) nil "load elisp libraries while Emacs is idle" single ((:commit . "33592bb098223b4432d7a35a1d65ab83f47c1ec1") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "internal") (:url . "http://nschum.de/src/emacs/idle-require/"))]) (ido-at-point . [(20151021 757) ((emacs (24))) "ido-style completion-at-point" single ((:commit . "e5907bbe8a3d148d07698b76bd994dc3076e16ee") (:authors ("katspaugh")) (:maintainer "katspaugh") (:keywords "convenience" "abbrev") (:url . "https://github.com/katspaugh/ido-at-point"))]) @@ -2397,18 +2424,18 @@ (ido-vertical-mode . [(20210205 436) ((emacs (24 4))) "Makes ido-mode display vertically" single ((:commit . "b1659e967da0687abceca733b389ace24004fa66") (:authors ("Steven Degutis")) (:maintainer "Christopher Reichert" . "creichert07@gmail.com") (:keywords "convenience") (:url . "https://github.com/creichert/ido-vertical-mode.el"))]) (ido-yes-or-no . [(20161108 2351) ((ido-completing-read+ (0))) "Use Ido to answer yes-or-no questions" single ((:commit . "c55383b1fce5879e87e7ca6809fc60534508e182") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:keywords "convenience" "completion" "ido") (:url . "https://github.com/DarwinAwardWinner/ido-yes-or-no"))]) (idomenu . [(20141123 2120) nil "imenu tag selection a la ido" single ((:commit . "4b0152d606360c70204fb4c27f68de79ca885386") (:authors ("Georg Brandl" . "georg@python.org")) (:maintainer "Georg Brandl" . "georg@python.org"))]) - (idris-mode . [(20220105 1300) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "65d6db1b7574ceccd3d97eee3790c2f74aa9724d") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))]) + (idris-mode . [(20220609 1232) ((emacs (24)) (prop-menu (0 1)) (cl-lib (0 5))) "Major mode for editing Idris code" tar ((:commit . "9bc7697406f719258d93835df3c1761efbfecaa7") (:keywords "languages") (:url . "https://github.com/idris-hackers/idris-mode"))]) (ids-edit . [(20170818 1502) ((emacs (24 3))) "IDS (Ideographic Description Sequence) editing tool" tar ((:commit . "8562a6cbfb3f2d44bc6f62ab15081a80f8fee502") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "i18n" "wp") (:url . "http://github.com/kawabata/ids-edit"))]) (iedit . [(20220216 717) nil "Edit multiple regions in the same way simultaneously." tar ((:commit . "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b") (:authors ("Victor Ren" . "victorhge@gmail.com")) (:maintainer "Victor Ren" . "victorhge@gmail.com") (:keywords "occurrence" "region" "simultaneous" "refactoring") (:url . "https://github.com/victorhge/iedit"))]) (ietf-docs . [(20190420 851) nil "Fetch, Cache and Load IETF documents" single ((:commit . "ae157549eae5ec78dcbf215c2f48cb662b73abd0") (:authors ("Christian E. Hopps" . "chopps@gmail.com")) (:maintainer "Christian E. Hopps" . "chopps@gmail.com") (:keywords "ietf" "rfc") (:url . "https://github.com/choppsv1/ietf-docs"))]) - (iflipb . [(20210907 1717) nil "Interactively flip between recently visited buffers" single ((:commit . "2854e73cebb463007b686a784b66242999c3366b") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))]) - (ignoramus . [(20210515 1422) ((emacs (24 3))) "Ignore backups, build files, et al." single ((:commit . "e509e134eeb81617414e5381b610108c967dbc45") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience" "tools") (:url . "http://github.com/rolandwalker/ignoramus"))]) + (iflipb . [(20220612 858) nil "Interactively flip between recently visited buffers" single ((:commit . "9ec1888335107bd314e8f40b3e113d525fed8083") (:authors ("Joel Rosdahl" . "joel@rosdahl.net")) (:maintainer "Joel Rosdahl" . "joel@rosdahl.net") (:url . "https://github.com/jrosdahl/iflipb"))]) + (ignoramus . [(20220611 1514) ((emacs (24 3))) "Ignore backups, build files, et al." single ((:commit . "f5e4a66191be12c2fc3cf42a5e0849fcc8518a3f") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience" "tools") (:url . "http://github.com/rolandwalker/ignoramus"))]) (igv . [(20141210 1227) nil "Control Integrative Genomic Viewer within Emacs" single ((:commit . "47ac6ceede252f451348a2c696398c0cb5279555") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) (image+ . [(20150707 1616) ((cl-lib (0 3))) "Image manipulate extensions for Emacs" single ((:commit . "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "multimedia" "extensions") (:url . "https://github.com/mhayashi1120/Emacs-imagex"))]) (image-archive . [(20150621 132) ((emacs (24)) (cl-lib (0 5))) "Image thumbnails in archive file with non-blocking" single ((:commit . "8d29535bd832329ffeeac780aae7aa8919af1175") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "multimedia") (:url . "https://github.com/mhayashi1120/Emacs-image-archive"))]) (image-dired+ . [(20150430 544) ((cl-lib (0 3))) "Image-dired extensions" single ((:commit . "b68094625d963056ad64e0e44af0e2266b2eadc7") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "extensions" "multimedia") (:url . "https://github.com/mhayashi1120/Emacs-image-diredx"))]) (imakado . [(20141024 923) nil "imakado's usefull macros and functions" single ((:commit . "00a1e7eea2cb9e9066343a23927d6c747707902f") (:authors ("imakado ")) (:maintainer "imakado") (:keywords "convenience") (:url . "https://github.com/imakado/emacs-imakado"))]) - (imake . [(20220422 1611) ((emacs (25 1)) (compat (28 1 1 0))) "Simple, opinionated make target runner" single ((:commit . "51aeac9f3a24f23d063f591066675d1d70dcea09") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/imake"))]) + (imake . [(20220422 1611) ((emacs (25 1)) (compat (28 1 1 0))) "Simple, opinionated make target runner" single ((:commit . "4dbc59789835396fdc76bfde4ae4971c8a9ceaed") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/imake"))]) (imapfilter . [(20180318 2027) nil "run the imapfilter executable" single ((:commit . "79bbbe918319bc1e8f42a0bef53dc7c77fe868ea") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://github.com/tarsius/imapfilter"))]) (imbot . [(20210423 731) ((emacs (25 1))) "Automatic system input method switcher" tar ((:commit . "a90183954522876ebbf1ce96d88b80e6a31b9d34") (:keywords "convenience") (:url . "https://github.com/QiangF/imbot"))]) (imenu-anywhere . [(20210201 1704) ((cl-lib (0 5)) (emacs (25))) "ido/ivy/helm imenu across same mode/project/etc buffers" single ((:commit . "06ec33d79e33edf01b9118aead1eabeae8ee08b1") (:authors ("Vitalie Spinu ")) (:maintainer "Vitalie Spinu ") (:keywords "ido" "imenu" "tags") (:url . "https://github.com/vitoshka/imenu-anywhere"))]) @@ -2416,16 +2443,16 @@ (imenu-list . [(20210420 1200) ((emacs (24 3))) "Show imenu entries in a separate buffer" single ((:commit . "76f2335ee6f2f066d87fe4e4729219d70c9bc70d") (:authors ("Bar Magal (2015)")) (:maintainer "Bar Magal (2015)") (:url . "https://github.com/bmag/imenu-list"))]) (imenus . [(20200730 855) ((cl-lib (0 5))) "Imenu for multiple buffers and without subgroups" single ((:commit . "90200f5f22377903b405082eabe185447968f3e2") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/alezost/imenus.el"))]) (imgbb . [(20180609 1649) ((emacs (24)) (request (0 3 0))) "Simple image upload client for imgbb.com" single ((:commit . "a524a46263835aa474f908827ebab4e8fa586001") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:keywords "extensions") (:url . "https://github.com/ecraven/imgbb.el"))]) - (immaterial-theme . [(20220214 1859) ((emacs (25))) "A flexible theme based on material design principles" tar ((:commit . "ca82a1700cf7834b55ada36e53811f6effde6283") (:authors ("Peter Gardfjäll")) (:maintainer "Peter Gardfjäll") (:keywords "themes") (:url . "https://github.com/petergardfjall/emacs-immaterial-theme"))]) + (immaterial-theme . [(20220519 635) ((emacs (25))) "A flexible theme based on material design principles" tar ((:commit . "e022d1a2fdc899b4c22254ebcf8997f5690d7c60") (:authors ("Peter Gardfjäll")) (:maintainer "Peter Gardfjäll") (:keywords "themes") (:url . "https://github.com/petergardfjall/emacs-immaterial-theme"))]) (immortal-scratch . [(20160517 2118) nil "respawn the scratch buffer when it's killed" single ((:commit . "faeab0ad6c33c74c0cbd1dfcebffaa0690de40c6") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) (immutant-server . [(20140311 2208) nil "Run your Immutant server in Emacs" single ((:commit . "2a21e65588acb6a976f2998e30b21fdabdba4dbb") (:authors ("David Leatherman" . "leathekd@gmail.com")) (:maintainer "David Leatherman" . "leathekd@gmail.com") (:url . "http://www.github.com/leathekd/immutant-server.el"))]) (impatient-mode . [(20200723 2117) ((emacs (24 3)) (simple-httpd (1 5 0)) (htmlize (1 40))) "Serve buffers live over HTTP" tar ((:commit . "479a2412596ff1dbdddeb7bdbba45482ce5b230c") (:authors ("Brian Taylor" . "el.wubo@gmail.com")) (:maintainer "Brian Taylor" . "el.wubo@gmail.com") (:url . "https://github.com/netguy204/imp.el"))]) - (impatient-showdown . [(20200914 221) ((emacs (24 3)) (impatient-mode (1 1))) "Preview markdown buffer live over HTTP using showdown" tar ((:commit . "b70eb25f854ccc1f6f05d79f438095de4ca1b93e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/impatient-showdown"))]) + (impatient-showdown . [(20220730 1259) ((emacs (24 3)) (impatient-mode (1 1))) "Preview markdown buffer live over HTTP using showdown" tar ((:commit . "501d8eb255022d832bb30178db154d0004eac18c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "live" "preview" "markdown" "http" "server" "impatient") (:url . "https://github.com/jcs-elpa/impatient-showdown"))]) (import-js . [(20220215 1948) ((grizzl (0 1 0)) (emacs (24))) "Import Javascript dependencies" single ((:commit . "d2bbb53f96395415f9f01de4fa88d82c1f59ba63") (:authors ("Kevin Kehl" . "kevin.kehl@gmail.com")) (:maintainer "Kevin Kehl" . "kevin.kehl@gmail.com") (:keywords "javascript") (:url . "http://github.com/Galooshi/emacs-import-js/"))]) (import-popwin . [(20170218 1407) ((emacs (24 3)) (popwin (0 6))) "popwin buffer near by import statements with popwin" single ((:commit . "bb05a9e226f8c63fe7b18a3e92010357049ab5ba") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-import-popwin"))]) - (importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "701dfcca5f3ab42be0f26a8d381d7116c79be850") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:keywords "languages" "convenience") (:url . "https://github.com/anachronic/importmagic.el"))]) + (importmagic . [(20180520 303) ((f (0 11 0)) (epc (0 1 0)) (emacs (24 3))) "Fix Python imports using importmagic." tar ((:commit . "570fb4f519d5e84dd681f932447cb995e8460840") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:keywords "languages" "convenience") (:url . "https://github.com/anachronic/importmagic.el"))]) (impostman . [(20220102 1856) ((emacs (27 1))) "Import Postman collections" single ((:commit . "5b122f3d5a3421aa2d89bdc9dc4aafaf19cf85d4") (:authors ("Sébastien Helleu" . "flashcode@flashtux.org")) (:maintainer "Sébastien Helleu" . "flashcode@flashtux.org") (:keywords "tools") (:url . "https://github.com/flashcode/impostman"))]) - (indent-control . [(20220227 653) ((emacs (26 1))) "Management for indentation level" single ((:commit . "32ee611e1009d8d7b571a8a57140f6746c56678f") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/indent-control"))]) + (indent-control . [(20220704 652) ((emacs (26 1))) "Management for indentation level" single ((:commit . "9d4474980f6955187a0800fd1f5669e3ba291915") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "control" "indent" "tab" "generic" "level") (:url . "https://github.com/jcs-elpa/indent-control"))]) (indent-guide . [(20210115 400) nil "show vertical lines to guide indentation" single ((:commit . "d388c3387781a370ca13233ff445d03f3c5cf12f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (indent-info . [(20210111 745) ((emacs (24 3))) "Show indentation information in status bar" single ((:commit . "05a787afeb9946714d8b0c724868195a678db49e") (:authors ("Terje Larsen" . "terlar@gmail.com")) (:maintainer "Terje Larsen" . "terlar@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/terlar/indent-info.el"))]) (indent-lint . [(20200812 949) ((emacs (25 1)) (async-await (1 0)) (async (1 9 4))) "Async indentation checker" single ((:commit . "c55f4ded11e8e50a96f43675a071354a8fb501c3") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tools") (:url . "https://github.com/conao3/indent-lint.el"))]) @@ -2434,11 +2461,11 @@ (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") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "fringe" "frames") (:url . "https://github.com/Fuco1/indicators.el"))]) (indium . [(20210309 1210) ((emacs (25)) (seq (2 16)) (js2-mode (20140114)) (js2-refactor (0 9 0)) (company (0 9 0)) (json-process-client (0 2 0))) "JavaScript Awesome Development Environment" tar ((:commit . "8499e156bf7286846c3a2bf8c9e0c4d4f24b224c") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:keywords "tools" "javascript") (:url . "https://github.com/NicolasPetton/indium"))]) (indy . [(20190807 625) nil "A minor mode and EDSL to manage your mode's indentation rules." single ((:commit . "abc5bee424780ad2de5520f8fefbf8e120c0d9ed") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com") (:keywords "convenience" "matching" "tools"))]) - (inf-clojure . [(20220421 559) ((emacs (25 1)) (clojure-mode (5 11))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "abeab8d6d4cb3bdded5e9083776aab0c06cbdf57") (:keywords "processes" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))]) + (inf-clojure . [(20220723 1536) ((emacs (25 1)) (clojure-mode (5 11))) "Run an external Clojure process in an Emacs buffer" single ((:commit . "f436760489cd95400b5a5449158161031beac7ba") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "processes" "comint" "clojure") (:url . "http://github.com/clojure-emacs/inf-clojure"))]) (inf-crystal . [(20180119 211) ((emacs (24 3)) (crystal-mode (0 1 0))) "Run a Inferior-Crystal process in a buffer" single ((:commit . "02007b2a2a3bea44902d7c83c4acba1e39d278e3") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:keywords "languages" "crystal") (:url . "https://github.com/brantou/inf-crystal.el"))]) - (inf-elixir . [(20211202 210) ((emacs (25 1))) "Run an interactive Elixir shell" single ((:commit . "acb948ca41a862c8c9b3f61ad576dec2c30d0052") (:authors ("Jonathan Arnett" . "jonathan.arnett@protonmail.com")) (:maintainer "Jonathan Arnett" . "jonathan.arnett@protonmail.com") (:keywords "languages" "processes" "tools") (:url . "https://github.com/J3RN/inf-elixir"))]) + (inf-elixir . [(20220721 1939) ((emacs (25 1))) "Run an interactive Elixir shell" single ((:commit . "5b45f5bd346446d87c629794b3c3e586c3eefd9c") (:authors ("Jonathan Arnett" . "jonathan.arnett@protonmail.com")) (:maintainer "Jonathan Arnett" . "jonathan.arnett@protonmail.com") (:keywords "languages" "processes" "tools") (:url . "https://github.com/J3RN/inf-elixir"))]) (inf-mongo . [(20180408 1338) nil "Run a MongoDB shell process in a buffer" single ((:commit . "2e498d1c88bd1904eeec18ed06b1a0cf8bdc2a92") (:authors ("Tobias Svensson")) (:maintainer "Tobias Svensson") (:keywords "databases" "mongodb") (:url . "http://github.com/endofunky/inf-mongo"))]) - (inf-ruby . [(20220228 208) ((emacs (24 3))) "Run a Ruby process in a buffer" single ((:commit . "dbf4386bac12f1733257db6105e3f1fca05ffb79") (:authors ("Yukihiro Matsumoto") ("Nobuyoshi Nakada") ("Cornelius Mika" . "cornelius.mika@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru") ("Kyle Hargraves" . "pd@krh.me")) (:maintainer "Yukihiro Matsumoto") (:keywords "languages" "ruby") (:url . "http://github.com/nonsequitur/inf-ruby"))]) + (inf-ruby . [(20220804 18) ((emacs (24 3))) "Run a Ruby process in a buffer" single ((:commit . "7dfc779dc6038125c516c7c7746994a54b96e409") (:authors ("Yukihiro Matsumoto") ("Nobuyoshi Nakada") ("Cornelius Mika" . "cornelius.mika@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru") ("Kyle Hargraves" . "pd@krh.me")) (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru") (:keywords "languages" "ruby") (:url . "http://github.com/nonsequitur/inf-ruby"))]) (inflections . [(20210110 2237) ((cl-lib (0 5)) (emacs (24))) "convert english words between singular and plural" single ((:commit . "55caa66a7cc6e0b1a76143fd40eff38416928941") (:authors ("Dmitry Galinsky, Howard Yeh")) (:maintainer "Dmitry Galinsky, Howard Yeh") (:keywords "languages" "tools" "wp") (:url . "https://github.com/eschulte/jump.el"))]) (info-beamer . [(20210427 1033) ((emacs (24 4))) "Utilities for working with info-beamer" single ((:commit . "6b4cc29f1aec72d8e23b2c25a99cdd84e6cdc92b") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:keywords "tools" "processes" "comm") (:url . "https://github.com/dakra/info-beamer.el"))]) (info-buffer . [(20170112 1422) nil "Display info topics in separate buffers" single ((:commit . "d35dad6e766c6e2ddb8dc6acb4ce5b6e10fbcaa7") (:authors ("Lluís Vilanova" . "vilanova@ac.upc.edu")) (:maintainer "Lluís Vilanova" . "vilanova@ac.upc.edu") (:keywords "docs" "info") (:url . "http://www.github.com/llvilanova/info-buffer"))]) @@ -2453,13 +2480,14 @@ (init-open-recentf . [(20220220 2004) ((emacs (24 4))) "Invoke a command immediately after startup" single ((:commit . "51463effe54ca9390ec339b9678968f35a40dbfd") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "files" "recentf" "after-init-hook") (:url . "https://github.com/zonuexe/init-open-recentf.el"))]) (initsplit . [(20160919 1818) nil "code to split customizations into different files" single ((:commit . "c941d436eb2b10b01c76a582c5a2b23fb30751aa") (:authors ("John Wiegley , Dave Abrahams" . "dave@boostpro.com")) (:maintainer "John Wiegley , Dave Abrahams" . "dave@boostpro.com") (:keywords "lisp") (:url . "http://www.gci-net.com/users/j/johnw/emacs.html"))]) (ink-mode . [(20201105 2242) ((emacs (26 1))) "Major mode for writing interactive fiction in Ink" tar ((:commit . "63c7ef39acf434a1682951bcf352e8fe1e1ac6d9") (:authors ("Erik Sjöstrand") ("Damien Picard")) (:maintainer "Damien Picard") (:keywords "languages" "wp" "hypermedia") (:url . "https://github.com/Kungsgeten/ink-mode"))]) - (inkpot-theme . [(20220412 538) ((emacs (24 1))) "A port of vim's inkpot theme" single ((:commit . "8e5c3ce6269debfe7879dfa33a82a4f63c881720") (:authors ("Sarah Iovan" . "sarah@hwaetageek.com") ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Sarah Iovan" . "sarah@hwaetageek.com") (:url . "https://gitlab.com/ideasman42/emacs-inkpot-theme"))]) + (inkpot-theme . [(20220731 435) ((emacs (24 1))) "A port of vim's inkpot theme" single ((:commit . "a8a09d1c4f9044f89b480fcfec9cc9cd868190e5") (:authors ("Sarah Iovan" . "sarah@hwaetageek.com") ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Sarah Iovan" . "sarah@hwaetageek.com") (:url . "https://codeberg.org/ideasman42/emacs-inkpot-theme"))]) (inline-crypt . [(20170824 900) nil "Simple inline encryption via openssl" tar ((:commit . "281385b383f850fd2e895926b1cef804dd052633") (:authors ("Daniel Ralston" . "Wubbulous@gmail.com")) (:maintainer "Daniel Ralston" . "Wubbulous@gmail.com") (:keywords "crypt") (:url . "https://github.com/Sodel-the-Vociferous/inline-crypt-el"))]) (inline-docs . [(20220210 1402) ((emacs (24 3))) "Show inline contextual docs." single ((:commit . "cda596d9ff4c2aa5035692a97c430f6589eafbb1") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "inline" "docs" "overlay") (:url . "https://repo.or.cz/inline-docs.git"))]) (inlineR . [(20191017 1920) nil "insert Tag for inline image of R graphics" single ((:commit . "bf6450a3540aa3538546d312324c41befd0a4e54") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "convenience" "iimage.el" "cacoo.el") (:url . "https://github.com/myuhe/inlineR.el"))]) (insert-char-preview . [(20201023 2108) ((emacs (24 1))) "Insert Unicode char" single ((:commit . "0e4a62b5407fb1bed8920a4c13cf9a91065e15ad") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:keywords "convenience") (:url . "https://gitlab.com/matsievskiysv/insert-char-preview"))]) (insert-esv . [(20201201 722) ((emacs (24 3)) (request (0 3 2))) "Insert ESV Bible passages" single ((:commit . "067bdd92ab2fccdfdee3d8707aa570527c74fd6a") (:authors ("Sam (sam030820)")) (:maintainer "Sam (sam030820)") (:keywords "convenience") (:url . "https://github.com/sam030820/insert-esv/"))]) (insert-kaomoji . [(20220215 1204) ((emacs (24 4))) "Easily insert kaomojis" tar ((:commit . "974bb7dc02059253e032c501b2c3c0ece448d472") (:authors ("Philip Kaludercic" . "philipk@posteo.net")) (:maintainer "Philip Kaludercic" . "~pkal/public-inbox@lists.sr.ht") (:keywords "wp") (:url . "https://git.sr.ht/~pkal/insert-kaomoji"))]) + (insert-random . [(20220622 1653) ((emacs (24 5))) "Insert random characters from various character sets" single ((:commit . "049567eeca639017ac2db786cefaf38af7273654") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "convenience") (:url . "https://github.com/lassik/emacs-insert-random"))]) (insert-shebang . [(20201203 1648) nil "Insert shebang line automatically." single ((:commit . "cc8cea997a8523bce9f303de993af3a73eb0d2e2") (:authors ("Sachin Patil" . "iclcoolster@gmail.com")) (:maintainer "Sachin Patil" . "iclcoolster@gmail.com") (:keywords "shebang" "tool" "convenience") (:url . "https://gitlab.com/psachin/insert-shebang"))]) (insfactor . [(20141117 2) nil "Client for a Clojure project with insfactor in it" single ((:commit . "7ef5446cebb08a17d4106d2e6f3c053e49e1e829") (:authors ("John D. Hume" . "duelin.markers@gmail.com")) (:maintainer "John D. Hume" . "duelin.markers@gmail.com") (:keywords "clojure") (:url . "http://github.com/duelinmarkers/insfactor.el"))]) (instapaper . [(20110419 1355) nil "No description available." single ((:commit . "f21531bcb935e7e9b9e8df83dd0e0838adbf9b1b") (:authors ("Jason F. McBrayer" . "jmcbray@carcosa.net")) (:maintainer "Jason F. McBrayer" . "jmcbray@carcosa.net") (:url . "htts://bitbucket.org/jfm/emacs-instapaper"))]) @@ -2481,9 +2509,9 @@ (iregister . [(20150515 2107) nil "Interactive register commands for Emacs." tar ((:commit . "6a48c66187289de5f300492be11c83e98410c018") (:authors ("Andrey Tykhonov" . "atykhonov@gmail.com")) (:maintainer "Andrey Tykhonov" . "atykhonov@gmail.com") (:keywords "convenience") (:url . "https://github.com/atykhonov/iregister.el"))]) (irony . [(20220110 849) ((cl-lib (0 5)) (json (1 2))) "C/C++ minor mode powered by libclang" tar ((:commit . "870d1576fb279bb93f776a71e65f45283c423a9e") (:authors ("Guillaume Papin" . "guillaume.papin@epitech.eu")) (:maintainer "Guillaume Papin" . "guillaume.papin@epitech.eu") (:keywords "c" "convenience" "tools") (:url . "https://github.com/Sarcasm/irony-mode"))]) (irony-eldoc . [(20200622 2214) ((emacs (24)) (cl-lib (0 5)) (irony (0 1))) "irony-mode support for eldoc-mode" single ((:commit . "73e79a89fad982a2ba072f2fcc1b4e41f0aa2978") (:authors ("Kirill Ignatiev ")) (:maintainer "Kirill Ignatiev ") (:keywords "c" "c++" "objc" "convenience" "tools") (:url . "https://github.com/ikirill/irony-eldoc"))]) - (iscroll . [(20210128 1938) ((emacs (26 0))) "Smooth scrolling over images" single ((:commit . "d6e11066169d232fe23c2867d44c012722ddfc5a") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:keywords "convenience" "image") (:url . "https://github.com/casouri/iscroll"))]) + (iscroll . [(20220612 310) ((emacs (26 0))) "Smooth scrolling over images" single ((:commit . "76aa4e7e72f907e95715351819d9efb6336b8238") (:authors ("Yuan Fu" . "casouri@gmail.com")) (:maintainer "Yuan Fu" . "casouri@gmail.com") (:keywords "convenience" "image") (:url . "https://github.com/casouri/iscroll"))]) (isearch-dabbrev . [(20141224 622) ((cl-lib (0 5))) "Use dabbrev in isearch" single ((:commit . "1efe7abba4923015cbc2462395deaec5446a9cc8") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:keywords "dabbrev" "isearch") (:url . "https://github.com/Dewdrops/isearch-dabbrev"))]) - (isearch-project . [(20210715 1041) ((emacs (26 1)) (f (0 20 0))) "Incremental search through the whole project" single ((:commit . "ce10c90de3d20b849022818b7646759a7c5fc86a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/isearch-project"))]) + (isearch-project . [(20220704 652) ((emacs (26 1)) (f (0 20 0))) "Incremental search through the whole project" single ((:commit . "08b1102c1f55011952aff818261a9478175a5b92") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "search") (:url . "https://github.com/jcs-elpa/isearch-project"))]) (isearch-symbol-at-point . [(20130728 2221) nil "Use isearch to search for the symbol at point" single ((:commit . "51a1029bec1ec414885f9edb7e5947603dffdab2") (:authors ("atom smith")) (:maintainer "atom smith") (:keywords "isearch") (:url . "https://github.com/re5et/isearch-symbol-at-point"))]) (isend-mode . [(20210106 1506) nil "Interactively send parts of an Emacs buffer to an interpreter" single ((:commit . "ea855f63be7febc15bd08aec6229fab9407734fb") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:url . "https://github.com/ffevotte/isend-mode.el"))]) (isgd . [(20150414 936) nil "Shorten URLs using the isgd.com shortener service" single ((:commit . "764306dadd5a9213799081a48aba22f7c75cca9a") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:url . "https://github.com/chmouel/isgd.el"))]) @@ -2492,12 +2520,12 @@ (iss-mode . [(20141001 1913) nil "Mode for InnoSetup install scripts" single ((:commit . "3b517aff31529bab33f8d7b562bd17aff0107fd1") (:authors ("Stefan Reichoer," . "stefan@xsteve.at")) (:maintainer "Stefan Reichoer," . "stefan@xsteve.at"))]) (itail . [(20171112 804) nil "An interactive tail mode" single ((:commit . "6e43c20da03be3b9c6ece93b7dc3495975ec1888") (:authors ("atom smith")) (:maintainer "atom smith") (:keywords "tail") (:url . "https://github.com/re5et/itail"))]) (itasca . [(20170601 1622) ((emacs (24 3))) "Major modes for Itasca software data files." tar ((:commit . "3d15dd1b70d6db69b0f4758a3e28b8b506cc84ca") (:authors ("Jason Furtney" . "jkfurtney@gmail.com")) (:maintainer "Jason Furtney" . "jkfurtney@gmail.com") (:keywords "itasca" "flac" "3dec" "udec" "flac3d" "pfc" "pfc2d" "pfc3d" "fish") (:url . "http://github.com/jkfurtney/itasca-emacs/"))]) - (iter2 . [(20211119 1718) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "077684feec98ce6d5e283a13f056c083986628a2") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "elisp" "extensions") (:url . "https://github.com/doublep/iter2"))]) + (iter2 . [(20220501 1542) ((emacs (25 1))) "Reimplementation of Elisp generators" single ((:commit . "1abca3665ecfa6b016311906560f8be4fbb3e3db") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "elisp" "extensions") (:url . "https://github.com/doublep/iter2"))]) (iterator . [(20210109 1859) ((emacs (24)) (cl-lib (0 5))) "A library to create and use elisp iterators objects." single ((:commit . "b514d4d1d0167e5973afbc93a34070d1aa967d82") (:authors ("Thierry Volpiatto ")) (:maintainer "Thierry Volpiatto ") (:url . "https://github.com/thierryvolpiatto/iterator"))]) (ivariants . [(20170823 224) ((emacs (24 3)) (ivs-edit (1 0))) "Ideographic variants editor and browser" tar ((:commit . "ca0b74d32b5d2d77a45cc6ad6edc00be0ee85284") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "i18n" "languages") (:url . "http://github.com/kawabata/ivariants"))]) (ivs-edit . [(20170818 1441) ((emacs (24 3)) (dash (2 6 0)) (cl-lib (1 0))) "IVS (Ideographic Variation Sequence) editing tool" tar ((:commit . "5db39c234aa7393b591168a4fd0a9a4cbbca347d") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "text") (:url . "http://github.com/kawabata/ivs-edit"))]) - (ivy . [(20220406 1052) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:commit . "7489968257a74f176c0d1de7ec8bd1e2011f0db4") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))]) - (ivy-avy . [(20211021 1602) ((emacs (24 5)) (ivy (0 13 4)) (avy (0 5 0))) "Avy integration for Ivy" single ((:commit . "7489968257a74f176c0d1de7ec8bd1e2011f0db4") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/swiper"))]) + (ivy . [(20220529 1130) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:commit . "2051de5882706246da298ce5f60482cd7f469fe7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))]) + (ivy-avy . [(20211021 1602) ((emacs (24 5)) (ivy (0 13 4)) (avy (0 5 0))) "Avy integration for Ivy" single ((:commit . "2051de5882706246da298ce5f60482cd7f469fe7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/swiper"))]) (ivy-bibtex . [(20210927 1205) ((bibtex-completion (1 0 0)) (ivy (0 13 0)) (cl-lib (0 5))) "A bibliography manager based on Ivy" single ((:commit . "ce8c17690ddad73d01531084b282f221f8eb6669") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/helm-bibtex"))]) (ivy-clipmenu . [(20220202 2122) ((emacs (26 1)) (f (0 20 0)) (s (1 12 0)) (dash (2 16 0)) (ivy (0 13 0))) "Ivy client for clipmenu" single ((:commit . "7c200cd4732821187084fad23547ee3f58365062") (:authors ("William Carroll" . "wpcarro@gmail.com")) (:maintainer "William Carroll" . "wpcarro@gmail.com") (:url . "https://github.com/wpcarro/ivy-clipmenu.el"))]) (ivy-clojuredocs . [(20201129 2355) ((edn (1 1 2)) (ivy (0 12 0)) (emacs (24 4))) "Search for help in clojuredocs.org" single ((:commit . "8b6de19b3578c72d2b88f898e2290d94c04350f9") (:authors ("Wanderson Ferreira" . "iagwanderson@gmail.com")) (:maintainer "Wanderson Ferreira" . "iagwanderson@gmail.com") (:keywords "matching") (:url . "https://github.com/wandersoncferreira/ivy-clojuredocs"))]) @@ -2506,11 +2534,11 @@ (ivy-emoji . [(20200316 2351) ((emacs (26 1)) (ivy (0 13 0))) "Insert emojis with ivy" single ((:commit . "a1b7d32048278afd9b06536a8af96f533639d146") (:authors ("Gabriele Bozzola" . "sbozzolator@gmail.com")) (:maintainer "Gabriele Bozzola" . "sbozzolator@gmail.com") (:keywords "emoji" "ivy" "convenience") (:url . "https://github.com/sbozzolo/ivy-emoji.git"))]) (ivy-erlang-complete . [(20211019 447) ((async (1 9)) (counsel (0 13 4)) (ivy (0 13 4)) (erlang (19 2)) (emacs (25 1))) "Erlang context sensitive completion at point using ivy. It also support xref and eldoc." tar ((:commit . "6913f6ef7c942a5a2c42bc17635d09c91353e7ca") (:authors ("Sergey Kostyaev" . "feo.me@ya.ru")) (:maintainer "Sergey Kostyaev" . "feo.me@ya.ru") (:keywords "languages" "tools"))]) (ivy-explorer . [(20190909 1921) ((emacs (25)) (ivy (0 10 0))) "Dynamic file browsing grid using ivy" single ((:commit . "a413966cfbcecacc082d99297fa1abde0c10d3f3") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:keywords "convenience" "files" "matching") (:url . "https://github.com/clemera/ivy-explorer"))]) - (ivy-file-preview . [(20210124 1639) ((emacs (25 1)) (ivy (0 8 0)) (s (1 12 0)) (f (0 20 0))) "Preview the current ivy file selection" single ((:commit . "891e5073717078fbf831ba771a4f6e568364d0e4") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/ivy-file-preview"))]) + (ivy-file-preview . [(20220704 653) ((emacs (25 1)) (ivy (0 8 0)) (s (1 12 0)) (f (0 20 0))) "Preview the current ivy file selection" single ((:commit . "3b78a194298290babd1a35ed689f333a271471b6") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "file" "ivy" "swiper" "preview" "select" "selection") (:url . "https://github.com/jcs-elpa/ivy-file-preview"))]) (ivy-fuz . [(20191222 946) ((emacs (25 1)) (fuz (1 3 0)) (ivy (0 13 0))) "Integration between fuz and ivy." single ((:commit . "f171ac73422a4bae1503d63d804e691482ed35b2") (:authors ("Zhu Zihao" . "all_but_last@163.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "convenience") (:url . "https://github.com/Silex/ivy-fuz.el"))]) (ivy-gitlab . [(20181228 826) ((s (1 9 0)) (dash (2 9 0)) (ivy (0 8 0)) (gitlab (0 8))) "Ivy interface to Gitlab" single ((:commit . "8c2324c02119500f094c2f92dfaba4c9977ce1ba") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "gitlab" "ivy") (:url . "https://github.com/nlamirault/emacs-gitlab"))]) (ivy-historian . [(20210714 56) ((emacs (24 4)) (historian (20170111)) (ivy (0 8 0)) (flx (0 6 1))) "Persistently store selected minibuffer candidates" single ((:commit . "852cb4e72c0f78c8dbb2c972bdcb4e7b0108ff4c") (:authors ("PythonNut" . "pythonnut@pythonnut.com")) (:maintainer "PythonNut" . "pythonnut@pythonnut.com") (:keywords "convenience" "ivy") (:url . "https://github.com/PythonNut/historian.el"))]) - (ivy-hydra . [(20220402 1348) ((emacs (24 5)) (ivy (0 13 4)) (hydra (0 14 0))) "Additional key bindings for Ivy" single ((:commit . "7489968257a74f176c0d1de7ec8bd1e2011f0db4") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/swiper"))]) + (ivy-hydra . [(20220402 1348) ((emacs (24 5)) (ivy (0 13 4)) (hydra (0 14 0))) "Additional key bindings for Ivy" single ((:commit . "2051de5882706246da298ce5f60482cd7f469fe7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/swiper"))]) (ivy-lobsters . [(20200818 1406) ((ivy (0 8 0)) (cl-lib (0 5))) "Browse lobste.rs stories with ivy." single ((:commit . "3f7f90751d15ebcf91253ef3cda18c0aa7d856ff") (:authors ("Julien Blanchard ")) (:maintainer "Julien Blanchard ") (:url . "https://github.com/julienXX/ivy-lobsters"))]) (ivy-migemo . [(20220309 605) ((emacs (24 3)) (ivy (0 13 0)) (migemo (1 9 2)) (nadvice (0 3))) "Use migemo on ivy" single ((:commit . "f31a2b314b81e328ce0222d8796b808230ddaa0e") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "matching") (:url . "https://github.com/ROCKTAKEY/ivy-migemo"))]) (ivy-mpdel . [(20190428 920) ((emacs (25 1)) (ivy (0 10 0)) (libmpdel (1 0 0)) (mpdel (1 0 0))) "Ivy interface to navigate MPD" single ((:commit . "a42dcc943914c71975c115195d38c739f25e475c") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "multimedia") (:url . "https://gitlab.petton.fr/mpdel/ivy-mpdel"))]) @@ -2518,11 +2546,11 @@ (ivy-pass . [(20170812 1955) ((emacs (24)) (ivy (0 8 0)) (password-store (1 6 5))) "ivy interface for pass" single ((:commit . "5b523de1151f2109fdd6a8114d0af12eef83d3c5") (:authors ("ecraven")) (:maintainer "ecraven") (:keywords "pass" "password" "convenience" "data") (:url . "https://github.com/ecraven/ivy-pass/"))]) (ivy-phpunit . [(20180219 915) ((ivy (0 10 0)) (phpunit (0 7 0)) (emacs (25))) "Ivy integration for phpunit.el" single ((:commit . "ffedb0138d36564e8e36a28fd9bc71ea8944681f") (:authors ("12pt")) (:maintainer "12pt") (:keywords "convenience" "tools" "ivy" "phpunit" "php") (:url . "https://github.com/12pt/ivy-phpunit"))]) (ivy-posframe . [(20211217 234) ((emacs (26 0)) (posframe (1 0 0)) (ivy (0 13 0))) "Using posframe to show Ivy" single ((:commit . "533a8e368fcabfd534761a5c685ce713376fa594") (:authors ("Feng Shu" . "tumashu@163.com") ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "abbrev" "convenience" "matching" "ivy") (:url . "https://github.com/tumashu/ivy-posframe"))]) - (ivy-prescient . [(20211228 417) ((emacs (25 1)) (prescient (5 2)) (ivy (0 11 0))) "prescient.el + Ivy" single ((:commit . "c5295a9eecbd2935bb57684a4422638e03bf738c") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) + (ivy-prescient . [(20220601 1652) ((emacs (25 1)) (prescient (5 2 1)) (ivy (0 11 0))) "prescient.el + Ivy" single ((:commit . "07d61b7779c4cca3009390383e7f98a55de7e17e") (:authors ("Radian LLC" . "contact+prescient@radian.codes")) (:maintainer "Radian LLC" . "contact+prescient@radian.codes") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) (ivy-purpose . [(20160724 1003) ((emacs (24)) (ivy (0 8)) (window-purpose (1 5))) "Ivy Interface for Purpose" single ((:commit . "0495f2f3aed64d7e0028125e76a9a68f8fc4107e") (:authors ("Bar Magal (2016)")) (:maintainer "Bar Magal (2016)") (:url . "https://github.com/bmag/ivy-purpose"))]) (ivy-rich . [(20210409 931) ((emacs (25 1)) (ivy (0 13 0))) "More friendly display transformer for ivy" single ((:commit . "600b8183ed0be8668dcc548cc2c8cb94b001363b") (:authors ("Yevgnen Koh" . "wherejoystarts@gmail.com")) (:maintainer "Yevgnen Koh" . "wherejoystarts@gmail.com") (:keywords "convenience" "ivy") (:url . "https://github.com/Yevgnen/ivy-rich"))]) - (ivy-rtags . [(20191222 920) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) - (ivy-searcher . [(20210221 923) ((emacs (25 1)) (ivy (0 8 0)) (searcher (0 1 8)) (s (1 12 0)) (f (0 20 0))) "Ivy interface to use searcher" single ((:commit . "1030f235b1d989a9a675178f6f35932d69734505") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/ivy-searcher"))]) + (ivy-rtags . [(20191222 920) ((ivy (0 7 0)) (rtags (2 10))) "RTags completion back-end for ivy" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (ivy-searcher . [(20220704 653) ((emacs (25 1)) (ivy (0 8 0)) (searcher (0 1 8)) (s (1 12 0)) (f (0 20 0))) "Ivy interface to use searcher" single ((:commit . "fcaa8087a0cb9e61bedc2102f47c8b9754968288") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "ivy" "interface" "searcher" "search" "replace" "grep" "ag" "rg") (:url . "https://github.com/jcs-elpa/ivy-searcher"))]) (ivy-spotify . [(20210329 312) ((emacs (26 1)) (espotify (0 1)) (ivy (0 13 1))) "Search spotify with ivy" single ((:commit . "ea6d6021e5acc550560325db2f09198839ee702f") (:authors ("Jose A Ortega Ruiz" . "jao@gnu.org")) (:maintainer "Jose A Ortega Ruiz") (:keywords "multimedia") (:url . "https://codeberg.org/jao/espotify"))]) (ivy-todo . [(20200323 2005) ((ivy (0 8 0)) (emacs (25))) "Manage org-mode TODOs with ivy" single ((:commit . "d74501cd334b7d709659946c5e02b21cfd5507de") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:keywords "convenience") (:url . "https://github.com/Kungsgeten/ivy-todo"))]) (ivy-xcdoc . [(20160917 1055) ((ivy (0 8 0)) (emacs (24 4))) "Search Xcode documents with ivy interface." single ((:commit . "5ea22af36c4c2737fb0bec53432c233482d8b314") (:authors ("C.T.Chen" . "chenct@7adybird.com")) (:maintainer "C.T.Chen" . "chenct@7adybird.com") (:keywords "ivy" "xcode" "xcdoc") (:url . "https://github.com/hex2010/emacs-ivy-xcdoc"))]) @@ -2532,7 +2560,7 @@ (ivy-youtube . [(20181126 1039) ((request (0 2 0)) (ivy (0 8 0)) (cl-lib (0 5))) "Query YouTube and play videos in your browser" single ((:commit . "273788e0d22a06cca1050eb1205d3fbc2245d001") (:authors ("Brunno dos Santos")) (:maintainer "Brunno dos Santos") (:keywords "youtube" "multimedia" "mpv" "vlc") (:url . "https://github.com/squiter/ivy-youtube"))]) (ix . [(20131027 1629) ((grapnel (0 5 3))) "Emacs client for http://ix.io pastebin" single ((:commit . "aea4c54a5cc5a6f26637353c16a3a0e70fc76963") (:authors ("Abhishek L" . "abhishekl.2006@gmail.com")) (:maintainer "Abhishek L" . "abhishekl.2006@gmail.com") (:url . "http://www.github.com/theanalyst/ix.el"))]) (j-mode . [(20171224 1856) nil "Major mode for editing J programs" tar ((:commit . "e8725ac8af95498faabb2ca3ab3bd809a8f148e6") (:keywords "j" "languages") (:url . "http://github.com/zellio/j-mode"))]) - (jabber . [(20180927 2325) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "fff33826f42e040dad7ef64ea312d85215d3b0a1"))]) + (jabber . [(20220713 1538) ((fsm (0 2)) (srv (0 2))) "A Jabber client for Emacs." tar ((:commit . "af0315e174fa6446d5c4dd3e6465d48912950e58") (:authors ("Magnus Henoch" . "mange@freemail.hu")) (:maintainer "wgreenhouse" . "wgreenhouse@tilde.club") (:keywords "comm") (:url . "https://codeberg.org/emacs-jabber/emacs-jabber"))]) (jabber-otr . [(20150918 1144) ((emacs (24)) (jabber (0 8 92))) "Off-The-Record messaging for jabber.el" tar ((:commit . "2692b1530234e0ba9a0d6c1eaa1cbe8679f193c0") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "comm") (:url . "https://github.com/legoscia/emacs-jabber-otr/"))]) (jack-connect . [(20220201 1417) nil "Manage jack connections within Emacs" single ((:commit . "1acaebfe8f37f0194e95c3e812c9515a6f688eee") (:authors ("Stefano Barbi" . "stefanobarbi@gmail.com")) (:maintainer "Stefano Barbi" . "stefanobarbi@gmail.com"))]) (jade-mode . [(20210908 2121) nil "Major mode for editing .jade files" single ((:commit . "1ad7c51f3c6a6ae64550d9510c5e4e8470014375") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:keywords "languages") (:url . "https://github.com/brianc/jade-mode"))]) @@ -2543,7 +2571,7 @@ (jar-manifest-mode . [(20160501 26) nil "Major mode to edit JAR manifest files" single ((:commit . "270dae14c481300f75ed96dad3a5ae42ca928a1d") (:authors ("Omair Majid" . "omair.majid@gmail.com")) (:maintainer "Omair Majid" . "omair.majid@gmail.com") (:keywords "convenience" "languages") (:url . "http://github.com/omajid/jar-manifest-mode"))]) (jasminejs-mode . [(20150527 5) nil "A minor mode for manipulating jasmine test files" tar ((:commit . "9f8044bf81ab5b4841a30b0bd099916e1b7ff54a") (:authors ("Eric Stolten" . "stoltene2@gmail.com")) (:maintainer "Eric Stolten" . "stoltene2@gmail.com") (:keywords "javascript" "jasmine") (:url . "https://github.com/stoltene2/jasminejs-mode"))]) (jastadd-ast-mode . [(20200926 1820) ((emacs (25))) "Major mode for editing JastAdd AST files" single ((:commit . "b7a0e32b669e726c8ccc348dd6b18ad4a7c70e1b") (:authors ("Rudi Schlatte" . "rudi@constantly.at")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:keywords "languages") (:url . "https://github.com/rudi/jastadd-ast-mode"))]) - (java-imports . [(20211006 2153) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Java imports" single ((:commit . "7535a36d85497448a6e83579b822beaca7251ccb") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:keywords "java" "kotlin") (:url . "http://www.github.com/dakrone/emacs-java-imports"))]) + (java-imports . [(20220712 1653) ((emacs (24 4)) (s (1 10 0)) (pcache (0 3 2))) "Code for dealing with Java imports" single ((:commit . "bbb173c319a32b46680b5c0bffd72b607ed7b71a") (:authors ("Lee Hinman" . "lee@writequit.org")) (:maintainer "Lee Hinman" . "lee@writequit.org") (:keywords "java" "kotlin") (:url . "http://www.github.com/dakrone/emacs-java-imports"))]) (java-snippets . [(20160627 252) ((yasnippet (0 8 0))) "Yasnippets for Java" tar ((:commit . "6d0e2768823be27dbe07448f4cb244cd657a7136") (:authors ("Takayoshi Kimura")) (:maintainer "Takayoshi Kimura") (:url . "https://github.com/nekop/yasnippet-java-mode"))]) (javadoc-lookup . [(20160214 31) ((cl-lib (0 3))) "Javadoc Emacs integration with Maven" tar ((:commit . "507a2dd443d60b537b8f779c1847e2cd0ccd1382") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/javadoc-lookup"))]) (javap-mode . [(20120223 2208) nil "Javap major mode" single ((:commit . "864c1130e204b2072e1d19cd027b6fce8ebe6629") (:url . "http://github.com/hiredman/javap-mode"))]) @@ -2560,9 +2588,9 @@ (jemdoc-mode . [(20170704 2027) ((emacs (24 3))) "Major mode for editing jemdoc files" single ((:commit . "529b4d4681e1198b9892f340fdd6c3f1592a047a") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:keywords "convenience" "usability") (:url . "https://github.com/drdv/jemdoc-mode"))]) (jenkins . [(20200524 2016) ((dash (2 12)) (emacs (24 3)) (json (1 4))) "Minimalistic Jenkins client for Emacs" single ((:commit . "bd06cdc57c0cb9217d773eeba06ecc998f10033b") (:authors ("Rustem Muslimov" . "r.muslimov@gmail.com")) (:maintainer "Rustem Muslimov" . "r.muslimov@gmail.com") (:keywords "jenkins" "convenience"))]) (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"))]) - (jenkinsfile-mode . [(20220414 542) ((emacs (24)) (groovy-mode (2 0))) "Major mode for editing Jenkins declarative pipeline syntax" single ((:commit . "169f7a9aaabe5e0763b53f07e60c20f5d64741c7") (:url . "https://github.com/john2x/jenkinsfile-mode"))]) - (jest . [(20220114 213) ((emacs (24 4)) (dash (2 18 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0)) (js2-mode (20180301)) (cl-lib (0 6 1))) "helpers to run jest" single ((:commit . "760a783a190afb23e12cf3cf3d8949e9a53c7c79") (:authors ("Edmund Miller" . "edmund.a.miller@gmail.com")) (:maintainer "Edmund Miller" . "edmund.a.miller@gmail.com") (:keywords "jest" "javascript" "testing") (:url . "https://github.com/emiller88/emacs-jest/"))]) - (jest-test-mode . [(20220131 304) ((emacs (25 1))) "Minor mode for running Node.js tests using jest" single ((:commit . "e08326a467ccb1ec9ddf99c1f5d53f55c50e52b4") (:authors ("Raymond Huang" . "rymndhng@gmail.com")) (:maintainer "Raymond Huang" . "rymndhng@gmail.com") (:url . "https://github.com/rymndhng/jest-test-mode.el"))]) + (jenkinsfile-mode . [(20220428 1113) ((emacs (24)) (groovy-mode (2 0))) "Major mode for editing Jenkins declarative pipeline syntax" single ((:commit . "fa5545be1329df3067dcfd81749bbd99df070d6b") (:url . "https://github.com/john2x/jenkinsfile-mode"))]) + (jest . [(20220703 1950) ((emacs (24 4)) (dash (2 18 0)) (magit-popup (2 12 0)) (projectile (0 14 0)) (s (1 12 0)) (js2-mode (20180301)) (cl-lib (0 6 1))) "helpers to run jest" tar ((:commit . "398fcd7920dc3e9865574f5228baeaba03d1d297") (:authors ("Edmund Miller" . "edmund.a.miller@gmail.com")) (:maintainer "Edmund Miller" . "edmund.a.miller@gmail.com") (:keywords "jest" "javascript" "testing") (:url . "https://github.com/emiller88/emacs-jest/"))]) + (jest-test-mode . [(20220722 1947) ((emacs (25 1))) "Minor mode for running Node.js tests using jest" single ((:commit . "3126c5c5c5632da639ea34867a7342d4410d78aa") (:authors ("Raymond Huang" . "rymndhng@gmail.com")) (:maintainer "Raymond Huang" . "rymndhng@gmail.com") (:url . "https://github.com/rymndhng/jest-test-mode.el"))]) (jetbrains . [(20180301 502) ((emacs (24 3)) (cl-lib (0 5)) (f (0 17))) "JetBrains IDE bridge" single ((:commit . "56f71a17d455581c10d48f6dbb31d9e2126227bf") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/jetbrains.el"))]) (jetbrains-darcula-theme . [(20210602 1430) nil "A complete port of the default JetBrains Darcula theme" single ((:commit . "296e3ca6e0341d9882f4771131a386fe2991e913") (:authors ("Ian Y.E. Pan")) (:maintainer "Ian Y.E. Pan") (:url . "https://github.com/ianpan870102/jetbrains-darcula-emacs-theme"))]) (jg-quicknav . [(20170809 130) ((s (1 9 0)) (cl-lib (0 5))) "Quickly navigate the file system to find a file." single ((:commit . "c8d53e774d63e68a944092c08a026b57da741038") (:authors ("Jeff Gran" . "jeff@jeffgran.com")) (:maintainer "Jeff Gran" . "jeff@jeffgran.com") (:keywords "navigation") (:url . "https://github.com/jeffgran/jg-quicknav"))]) @@ -2571,15 +2599,15 @@ (jiralib2 . [(20200520 2031) ((emacs (25)) (request (0 3)) (dash (2 14 1))) "JIRA REST API bindings to Elisp" single ((:commit . "c21c4e759eff549dbda11099f2f680b78d7f5a01") (:authors ("Henrik Nyman" . "h@nyymanni.com")) (:maintainer "Henrik Nyman" . "h@nyymanni.com") (:keywords "comm" "jira" "rest" "api") (:url . "https://github.com/nyyManni/jiralib2"))]) (jist . [(20161229 1721) ((emacs (24 4)) (dash (2 12 0)) (seq (1 11)) (let-alist (1 0 4)) (magit (2 1 0)) (request (0 2 0))) "Gist integration" single ((:commit . "da0692452e312a99bb27d8708504b521798aca48") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/jist.el"))]) (jknav . [(20121006 2025) nil "Automatically enable j/k keys for line-based navigation" single ((:commit . "861245715c728503dad6573278fdd75c271dbf8b") (:authors ("Aaron Culich" . "aculich@gmail.com")) (:maintainer "Aaron Culich" . "aculich@gmail.com") (:keywords "keyboard" "navigation"))]) - (jmt-mode . [(20220312 1945) ((emacs (24 4))) "Java Mode Tamed" single ((:commit . "44280538a2b780536c56ee2a51b7a5b03d376a2e") (:authors ("Michael Allan" . "mike@reluk.ca")) (:maintainer "Michael Allan" . "mike@reluk.ca") (:keywords "c" "languages") (:url . "http://reluk.ca/project/Java/Emacs/"))]) + (jmt-mode . [(20220524 2327) ((emacs (24 4))) "Java Mode Tamed" single ((:commit . "5e8eb048dd398597378eaf20842e410398bd5b55") (:authors ("Michael Allan" . "mike@reluk.ca")) (:maintainer "Michael Allan" . "mike@reluk.ca") (:keywords "c" "languages") (:url . "http://reluk.ca/project/Java/Emacs/"))]) (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") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk") (:keywords "languages"))]) (journalctl-mode . [(20201217 1625) ((emacs (24 1))) "Sample major mode for viewing output journalctl" single ((:commit . "c5bca1a5f42d2fe2a00fdf52fe480137ace971d3") (:authors ("Sebastian Meisel" . "sebastian.meisel@gmail.com")) (:maintainer "Sebastian Meisel" . "sebastian.meisel@gmail.com") (:keywords "unix") (:url . "https://github.com/SebastianMeisel/journalctl-mode"))]) (jpop . [(20170410 1250) ((emacs (24)) (dash (2 11 0)) (cl-lib (0 5))) "Lightweight project caching and navigation framework" tar ((:commit . "7628b03260be96576b34459d45959ee77d8b2110") (:authors ("Dom Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dom Charlesworth" . "dgc336@gmail.com") (:keywords "project" "convenience") (:url . "https://github.com/domtronn/jpop.el"))]) (jq-format . [(20190428 1434) ((emacs (24)) (reformatter (0 3))) "Reformat JSON and JSONLines using jq" single ((:commit . "47e1c5adb89b37b4d53fe01302d8c675913c20e7") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "languages") (:url . "https://github.com/wbolster/emacs-jq-format"))]) - (jq-mode . [(20200604 833) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "1af31ba701cf844f938f840ed78867c9a28174b6") (:authors ("Bjarte Johansen ")) (:maintainer "Bjarte Johansen ") (:url . "https://github.com/ljos/jq-mode"))]) + (jq-mode . [(20220610 1119) ((emacs (25 1))) "Edit jq scripts." tar ((:commit . "071c1c29bac30351ad338136f2b625e5601365cd") (:authors ("Bjarte Johansen ")) (:maintainer "Bjarte Johansen ") (:url . "https://github.com/ljos/jq-mode"))]) (jquery-doc . [(20150812 758) nil "jQuery api documentation interface for emacs" tar ((:commit . "24032284919b942ec27707d929bdd8bf48420062") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:keywords "docs" "jquery"))]) (js-auto-beautify . [(20161031 509) ((web-beautify (0 3 1)) (web-mode (14 0 27))) "auto format you js/jsx file" single ((:commit . "180d15af7b5dfaab4ee1954cca2fdc797932f9de") (:authors (nil . "quanwei9958@126.com")) (:maintainer nil . "quanwei9958@126.com"))]) - (js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "b8b4e3e54118b38fd6003cb97e1ff6e456a24f26") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:keywords "languages") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))]) + (js-auto-format-mode . [(20180807 1352) ((emacs (24))) "Minor mode for auto-formatting JavaScript code" single ((:commit . "f93e3724a6e1fbf0d45dbd1a30b3e08c46691778") (:authors ("Masafumi Koba" . "ybiquitous@gmail.com")) (:maintainer "Masafumi Koba" . "ybiquitous@gmail.com") (:keywords "languages") (:url . "https://github.com/ybiquitous/js-auto-format-mode"))]) (js-codemod . [(20190921 941) ((emacs (24 4))) "Run js-codemod on current sentence or selected region" tar ((:commit . "056bdf3e5e0c807b8cf17edb5834179a90fb722b") (:authors (nil . "Torgeir Thoresen <@torgeir>")) (:maintainer nil . "Torgeir Thoresen <@torgeir>") (:keywords "js" "codemod" "region"))]) (js-comint . [(20200117 615) ((emacs (24 3))) "JavaScript interpreter in window." single ((:commit . "7920252e88eb610add7c9760f7016bb9b884307a") (:authors ("Paul Huff" . "paul.huff@gmail.com")) (:maintainer "Chen Bin ") (:keywords "javascript" "node" "inferior-mode" "convenience") (:url . "https://github.com/redguardtoo/js-comint"))]) (js-doc . [(20160715 434) nil "Insert JsDoc style comment easily" single ((:commit . "f0606e89d5aa89146f96edb38cf69af0068a9d1e") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com") (:keywords "document" "comment") (:url . "https://github.com/mooz/js-doc"))]) @@ -2588,7 +2616,7 @@ (js-react-redux-yasnippets . [(20200316 1144) ((emacs (24 3)) (yasnippet (0 8 0))) "JavaScript,React,Redux yasnippets" tar ((:commit . "9f509043f01fa59bff4daf31b2e95d63f8deab4a") (:authors ("sooqua")) (:maintainer "sooqua") (:keywords "convenience" "snippets") (:url . "https://github.com/sooqua/js-react-redux-yasnippets"))]) (js2-closure . [(20170816 1918) ((js2-mode (20150909))) "Google Closure dependency manager" single ((:commit . "f59db386d7d0693935d0bf52babcd2c203c06d04") (:authors ("Justine Tunney" . "jart@google.com")) (:maintainer "Justine Tunney" . "jart@google.com") (:keywords "javascript" "closure") (:url . "http://github.com/jart/js2-closure"))]) (js2-highlight-vars . [(20170418 1829) ((emacs (24 4)) (js2-mode (20150908))) "highlight occurrences of the variable under cursor" single ((:commit . "e3bb177e50f76b272e8073a94d4f46be6512a163") (:authors ("Mihai Bazon" . "mihai.bazon@gmail.com")) (:maintainer "Mihai Bazon" . "mihai.bazon@gmail.com") (:url . "http://mihai.bazon.net/projects/editing-javascript-with-emacs-js2-mode/js2-highlight-vars-mode"))]) - (js2-mode . [(20220402 2211) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "fed41615b26404e0bfd7e4f64643981ca798a34b") (:authors ("Steve Yegge" . "steve.yegge@gmail.com") ("mooz" . "stillpedant@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Steve Yegge" . "steve.yegge@gmail.com") (:keywords "languages" "javascript") (:url . "https://github.com/mooz/js2-mode/"))]) + (js2-mode . [(20220710 57) ((emacs (24 1)) (cl-lib (0 5))) "Improved JavaScript editing mode" tar ((:commit . "841cfec9570ae06a67a131997e2aff32340e81d7") (:authors ("Steve Yegge" . "steve.yegge@gmail.com") ("mooz" . "stillpedant@gmail.com") ("Dmitry Gutov" . "dgutov@yandex.ru")) (:maintainer "Steve Yegge" . "steve.yegge@gmail.com") (:keywords "languages" "javascript") (:url . "https://github.com/mooz/js2-mode/"))]) (js2-refactor . [(20210306 2003) ((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 . "a0977c4ce1918cc266db9d6cd7a2ab63f3a76b9a") (:authors ("Magnar Sveen" . "magnars@gmail.com") ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "conveniences"))]) (js2hl . [(20201119 816) ((emacs (25 1)) (js2-mode (20190219))) "Highlight/rename things using js2-mode parser" single ((:commit . "ab01c290860ab0d8f43afcf1f7466fdced24e123") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "https://github.com/redguardtoo/js2hl"))]) (js3-mode . [(20160515 1550) nil "An improved JavaScript editing mode" tar ((:commit . "229aeb374f1b1f3ee5c59b8ba3eebb6385c232cb") (:authors ("Thom Blake" . "webmaster@thomblake.com")) (:maintainer "Thom Blake" . "webmaster@thomblake.com") (:keywords "javascript" "languages"))]) @@ -2596,12 +2624,13 @@ (jsfmt . [(20180920 1008) nil "Interface to jsfmt command for javascript files" single ((:commit . "ca141a135c7700eaedef92561d334e1fb7dc28a1") (:authors ("Brett Langdon" . "brett@blangdon.com")) (:maintainer "Brett Langdon" . "brett@blangdon.com") (:url . "https://github.com/brettlangdon/jsfmt.el"))]) (json-mode . [(20211011 630) ((json-snatcher (1 0 0)) (emacs (24 4))) "Major mode for editing JSON files." single ((:commit . "eedb4560034f795a7950fa07016bd4347c368873") (:authors ("Josh Johnston")) (:maintainer "Josh Johnston") (:url . "https://github.com/joshwnj/json-mode"))]) (json-navigator . [(20191213 755) ((emacs (25 1)) (hierarchy (0 6 0))) "View and navigate JSON structures" single ((:commit . "afd902e0b5cde37fad4786515a695d17f1625286") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/json-navigator"))]) - (json-par . [(20220122 352) ((emacs (24 4)) (json-mode (1 7 0))) "Minor mode for structural editing of JSON" tar ((:commit . "962e5a2221136aa07f512834925c381cfeed2d92") (:authors ("taku0 (http://github.com/taku0)")) (:maintainer "taku0 (http://github.com/taku0)") (:keywords "abbrev" "convenience" "files") (:url . "https://github.com/taku0/json-par"))]) + (json-par . [(20220723 829) ((emacs (24 4)) (json-mode (1 7 0))) "Minor mode for structural editing of JSON" tar ((:commit . "2c13ad1bc3c2a62141d3312501d2c2012555972b") (:authors ("taku0 (http://github.com/taku0)")) (:maintainer "taku0 (http://github.com/taku0)") (:keywords "abbrev" "convenience" "files") (:url . "https://github.com/taku0/json-par"))]) (json-process-client . [(20210525 733) ((emacs (25 1))) "Interact with a TCP process using JSON" single ((:commit . "373b2cc7e3d26dc00594e0b2c1bb66815aad2826") (:authors ("Nicolas Petton" . "nicolas@petton.fr") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:url . "https://gitlab.petton.fr/nico/json-process-client"))]) (json-reformat . [(20160212 853) nil "Reformatting tool for JSON" single ((:commit . "8eb6668ed447988aea06467ba8f42e1f2178246f") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:keywords "json") (:url . "https://github.com/gongo/json-reformat"))]) (json-rpc . [(20200417 1629) ((emacs (24 1)) (cl-lib (0 5))) "JSON-RPC library" single ((:commit . "81a5a520072e20d18aeab2aac4d66c046b031e56") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/elisp-json-rpc"))]) (json-rpc-server . [(20220205 1503) ((emacs (26))) "Server-side JSON-RPC library." single ((:commit . "9bf7efd5c69f429acbac41f33a1c9fdaddcb9914") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:keywords "tools" "comm" "json" "rpc") (:url . "https://github.com/jcaw/json-rpc-server.el"))]) (json-snatcher . [(20200916 1717) ((emacs (24))) "Grabs the path to JSON values in a JSON file" single ((:commit . "b28d1c0670636da6db508d03872d96ffddbc10f2") (:authors ("Sterling Graham" . "sterlingrgraham@gmail.com")) (:maintainer "Sterling Graham" . "sterlingrgraham@gmail.com") (:url . "http://github.com/sterlingg/json-snatcher"))]) + (jsonian . [(20220708 1813) ((emacs (27 1))) "A major mode for editing JSON files" single ((:commit . "7ad6d73aff49b346dc9f577ba8a450ac0a8d2aa5") (:authors ("Ian Wahbe")) (:maintainer "Ian Wahbe") (:url . "https://github.com/iwahbe/jsonian"))]) (jsonl . [(20190623 509) ((emacs (25))) "Utility functions for working with line-delimited JSON" single ((:commit . "3dd0b7bb2b4bce9f9de7367941f0cc78f82049c9") (:authors ("Erik Anderson" . "erik@ebpa.link")) (:maintainer "Erik Anderson" . "erik@ebpa.link") (:keywords "tools") (:url . "https://github.com/ebpa/jsonl.el"))]) (jsonnet-mode . [(20220121 2109) ((emacs (24)) (dash (2 17 0))) "Major mode for editing jsonnet files" single ((:commit . "7c9961b084b1ea352555317076bc27a512dd341f") (:authors ("Nick Lanham")) (:maintainer "Nick Lanham") (:keywords "languages") (:url . "https://github.com/mgyucht/jsonnet-mode"))]) (jss . [(20130508 1423) ((emacs (24 1)) (websocket (0)) (js2-mode (0))) "An emacs interface to webkit and mozilla debuggers" tar ((:commit . "41749257aecf13c7bd6ed489b5ab3304d06e40bc") (:authors ("Marco Baringer" . "mb@bese.it")) (:maintainer "Marco Baringer" . "mb@bese.it") (:keywords "languages"))]) @@ -2609,10 +2638,10 @@ (jtags . [(20160211 2029) nil "enhanced tags functionality for Java development" tar ((:commit . "b50daa48510f71e74ce0ec2eb85030896a79cf96") (:authors ("Alexander Baltatzis" . "alexander@baltatzis.com") ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:keywords "languages" "tools") (:url . "http://jtags.sourceforge.net"))]) (julia-formatter . [(20220106 1414) ((emacs (27 1))) "Use JuliaFormatter.jl for julia code" single ((:commit . "a86a526a4e5755eaa67b2d9c040c5679d6f04bf4") (:authors ("Felipe Lema" . "felipe.lema@mortemale.org")) (:maintainer "Felipe Lema" . "felipe.lema@mortemale.org") (:keywords "convenience" "tools") (:url . "https://codeberg.org/FelipeLema/julia-formatter.el"))]) (julia-mode . [(20220418 809) ((emacs (24 3))) "Major mode for editing Julia source code" tar ((:commit . "adf4029be778c5983c436873b8a78bc72a6b09f8") (:keywords "languages") (:url . "https://github.com/JuliaEditorSupport/julia-emacs"))]) - (julia-repl . [(20220225 810) ((emacs (25 1)) (s (1 12))) "A minor mode for a Julia REPL" single ((:commit . "6c1d63511fb2b3b3f2e342eff6a375d78be6c12c") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:keywords "languages") (:url . "https://github.com/tpapp/julia-repl"))]) + (julia-repl . [(20220428 541) ((emacs (25 1)) (s (1 12))) "A minor mode for a Julia REPL" single ((:commit . "2342003662071cf7b256f0a7cd8f545bcffaf22a") (:authors ("Tamas Papp" . "tkpapp@gmail.com")) (:maintainer "Tamas Papp" . "tkpapp@gmail.com") (:keywords "languages") (:url . "https://github.com/tpapp/julia-repl"))]) (julia-shell . [(20161125 1910) ((julia-mode (0 3))) "Major mode for an inferior Julia shell" tar ((:commit . "583a0b2ca20461ab4356929fd0f2212c22341b69") (:authors ("Dennis Ogbe" . "dogbe@purdue.edu")) (:maintainer "Dennis Ogbe" . "dogbe@purdue.edu"))]) - (julia-snail . [(20220420 455) ((emacs (26 2)) (dash (2 16 0)) (julia-mode (0 3)) (s (1 12 0)) (spinner (1 7 3)) (vterm (0 0 1))) "Julia Snail" tar ((:commit . "d72afe0e06909ee5a66ca7d60eef4111f62da234") (:url . "https://github.com/gcv/julia-snail"))]) - (julia-vterm . [(20210410 40) ((emacs (25 1)) (vterm (0 0 1))) "A mode for Julia REPL using vterm" single ((:commit . "d57448466c11833d4fd67f5dbbea9cb9a07a74e2") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "languages" "julia") (:url . "https://github.com/shg/julia-vterm.el"))]) + (julia-snail . [(20220722 547) ((emacs (26 2)) (dash (2 16 0)) (julia-mode (0 3)) (s (1 12 0)) (spinner (1 7 3)) (vterm (0 0 1)) (popup (0 5 9))) "Julia Snail" tar ((:commit . "d275f8a070431d2ce669a2844a28e5a65ee0c430") (:url . "https://github.com/gcv/julia-snail"))]) + (julia-vterm . [(20220720 1410) ((emacs (25 1)) (vterm (0 0 1))) "A mode for Julia REPL using vterm" single ((:commit . "698ca35da04d99f25c8f075e8342015434f6a662") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "languages" "julia") (:url . "https://github.com/shg/julia-vterm.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"))]) (jump . [(20161127 128) ((findr (0 7)) (inflections (2 4)) (cl-lib (0 5))) "build functions which contextually jump between files" single ((:commit . "55caa66a7cc6e0b1a76143fd40eff38416928941") (:authors ("Eric Schulte")) (:maintainer "Eric Schulte") (:keywords "project" "convenience" "navigation") (:url . "http://github.com/eschulte/jump.el"))]) (jump-char . [(20180601 1348) nil "navigation by char" single ((:commit . "1e31a3c687f2b3c71bbfab881c6d75915534bb9e") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/jump-char"))]) @@ -2621,7 +2650,7 @@ (jumplist . [(20151120 345) ((cl-lib (0 5))) "Jump like vim jumplist or ex jumplist" single ((:commit . "c482d137d95bc5e1bcd790cdbde25b7f729b2502") (:authors ("ganmacs ")) (:maintainer "ganmacs ") (:keywords "jumplist" "vim") (:url . "https://github.com/ganmacs/jumplist"))]) (jupyter . [(20220419 1852) ((emacs (26)) (zmq (0 10 3)) (cl-lib (0 5)) (simple-httpd (1 5 0)) (websocket (1 9))) "Jupyter" tar ((:commit . "7d20c0aee2f9c896215f35232905b23532ef04c5") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:url . "https://github.com/dzop/emacs-jupyter"))]) (just-mode . [(20220401 1814) ((emacs (26 1))) "Justfile editing mode" single ((:commit . "35f1bd4748cd3e960e6930b34310e5506212b304") (:authors ("Leon Barrett" . "leon@barrettnexus.com")) (:maintainer "Leon Barrett" . "leon@barrettnexus.com") (:keywords "files" "languages" "tools") (:url . "https://github.com/leon-barrett/just-mode.el"))]) - (justl . [(20220312 1104) ((transient (0 1 0)) (emacs (25 3)) (xterm-color (2 0)) (s (1 2 0)) (f (0 20 0))) "Major mode for driving just files" single ((:commit . "9f77366aaf2227bb0cbd3cdc0f78088032f2e873") (:authors ("Sibi Prabakaran")) (:maintainer "Sibi Prabakaran") (:keywords "just" "justfile" "tools" "processes") (:url . "https://github.com/psibi/justl.el"))]) + (justl . [(20220702 602) ((transient (0 1 0)) (emacs (25 3)) (s (1 2 0)) (f (0 20 0))) "Major mode for driving just files" single ((:commit . "3c7f325132a88d27b0a5e0ea100869797b0cfc16") (:authors ("Sibi Prabakaran")) (:maintainer "Sibi Prabakaran") (:keywords "just" "justfile" "tools" "processes") (:url . "https://github.com/psibi/justl.el"))]) (jvm-mode . [(20150422 708) ((dash (2 6 0)) (emacs (24))) "Monitor and manage your JVMs" single ((:commit . "3355dbaf5b0185aadfbad24160399abb32c5bea0") (:authors ("Martin Trojer" . "martin.trojer@gmail.com")) (:maintainer "Martin Trojer" . "martin.trojer@gmail.com") (:keywords "convenience") (:url . "https://github.com/martintrojer/jvm-mode.el"))]) (k8s-mode . [(20211121 518) ((emacs (24 3)) (yaml-mode (0 0 10))) "Major mode for Kubernetes configuration file" tar ((:commit . "083bcffbfeeaf5e79015a012b4dbf2f283a493ab") (:authors ("Giap Tran" . "txgvnn@gmail.com")) (:maintainer "Giap Tran" . "txgvnn@gmail.com") (:url . "https://github.com/TxGVNN/emacs-k8s-mode"))]) (kaesar . [(20160128 1008) ((cl-lib (0 3))) "Another AES algorithm encrypt/decrypt string with password." single ((:commit . "d087075cb1a46c2c85cd075220e09b2eaef9b86e") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "data") (:url . "https://github.com/mhayashi1120/Emacs-kaesar"))]) @@ -2635,11 +2664,11 @@ (kanban . [(20170418 810) nil "Parse org-todo headlines to use org-tables as Kanban tables" single ((:commit . "fcf0173ce0144e59de97ba8a7808192620e5f8f4") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de") (:keywords "outlines" "convenience"))]) (kanji-mode . [(20160826 1139) nil "View stroke order for kanji characters at cursor" tar ((:commit . "eda4f8666486689d36317db7dbda54fb73d3e3d2") (:authors ("Wojciech Gac" . "wojciech.s.gac@gmail.com")) (:maintainer "Wojciech Gac" . "wojciech.s.gac@gmail.com") (:url . "http://github.com/wsgac/kanji-mode "))]) (kaocha-runner . [(20190904 1950) ((emacs (26)) (s (1 4 0)) (cider (0 21 0)) (parseedn (0 1 0))) "A package for running Kaocha tests via CIDER." single ((:commit . "755b0dfb3bd676c769c4b4aeb81c2cd5828bd207") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:url . "https://github.com/magnars/kaocha-runner.el"))]) - (kaolin-themes . [(20220422 1305) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "51b1f719bc300a4f684b6dc7511dfb044f75f575") (:authors ("Ogden Webb" . "ogdenwebb@gmail.com")) (:maintainer "Ogden Webb" . "ogdenwebb@gmail.com") (:keywords "dark" "light" "teal" "blue" "violet" "purple" "brown" "theme" "faces") (:url . "https://github.com/ogdenwebb/emacs-kaolin-themes"))]) - (kaomoji . [(20171227 440) ((emacs (24 3)) (helm-core (1 9 1))) "Input kaomoji superb easily" tar ((:commit . "90a1490743b2a30762f5454c9d9309018eff83dd") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:keywords "tools" "fun") (:url . "https://github.com/kuanyui/kaomoji.el"))]) + (kaolin-themes . [(20220519 720) ((emacs (25 1)) (autothemer (0 2 2)) (cl-lib (0 6))) "A set of eye pleasing themes" tar ((:commit . "5fd75d41647d9535eb730b99b5adddc9edf55cd2") (:authors ("Ogden Webb" . "ogdenwebb@gmail.com")) (:maintainer "Ogden Webb" . "ogdenwebb@gmail.com") (:keywords "dark" "light" "teal" "blue" "violet" "purple" "brown" "theme" "faces") (:url . "https://github.com/ogdenwebb/emacs-kaolin-themes"))]) + (kaomoji . [(20220721 441) ((emacs (24 3)) (helm-core (3 6 0))) "Input kaomoji superb easily" tar ((:commit . "fba0018a13eba70c2bffc6153dcfee99937fa3d6") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:keywords "tools" "fun") (:url . "https://github.com/kuanyui/kaomoji.el"))]) (kapacitor . [(20190414 1908) ((emacs (25 1)) (magit (2 13 0)) (magit-popup (2 12 4))) "Main file for kapacitor-mode" single ((:commit . "e3300d8b4017a2f66b0d929cb85bcc7ee2612072") (:authors ("Manoj Kumar Manikchand" . "manojm.321@gmail.com")) (:maintainer "Manoj Kumar Manikchand" . "manojm.321@gmail.com") (:keywords "kapacitor" "emacs" "magit" "tools") (:url . "http://github.com/Manoj321/kapacitor-el"))]) (karma . [(20160220 1245) ((pkg-info (0 4)) (emacs (24))) "Karma Test Runner Emacs Integration" single ((:commit . "31d3e7708246183d7ed0686be92bf23140af348c") (:authors ("Samuel Tonini")) (:maintainer "Samuel Tonini") (:keywords "language" "javascript" "js" "karma" "testing") (:url . "http://github.com/tonini/karma.el"))]) - (kconfig-mode . [(20211018 2142) ((emacs (24 3))) "Major mode for editing Kconfig files" single ((:commit . "241436a507782d18f09dab7d1f373ddea60fad3d") (:authors ("Dela Anthonio" . "dell.anthonio@gmail.com")) (:maintainer "Dela Anthonio" . "dell.anthonio@gmail.com") (:keywords "kconfig" "languages" "linux" "kernel") (:url . "https://github.com/delaanthonio/kconfig-mode"))]) + (kconfig-mode . [(20220604 1415) ((emacs (24 3))) "Major mode for editing Kconfig files" single ((:commit . "cd87b71c8c1739d026645ece0bbd20055a7a2d4a") (:authors ("Dela Anthonio" . "dell.anthonio@gmail.com")) (:maintainer "Dela Anthonio" . "dell.anthonio@gmail.com") (:keywords "kconfig" "languages" "linux" "kernel") (:url . "https://github.com/delaanthonio/kconfig-mode"))]) (kdeconnect . [(20210519 2016) nil "An interface for KDE Connect" single ((:commit . "4977af8cb5fdc21da770f3ee43ad7823f2937da3") (:authors ("Carl Lieberman" . "dev@carl.ac")) (:maintainer "Carl Lieberman" . "dev@carl.ac") (:keywords "kdeconnect" "android"))]) (keepass-mode . [(20211030 948) ((emacs (27))) "Mode to open Keepass DB" single ((:commit . "be190a86fd82337fe5280c1833f92d1f9997bced") (:authors ("Ignasi Fosch" . "natx@y10k.ws")) (:maintainer "Ignasi Fosch" . "natx@y10k.ws") (:keywords "data" "files" "tools") (:url . "https://github.com/ifosch/keepass-mode"))]) (keg . [(20220309 647) ((emacs (24 1))) "Modern Elisp package development system" tar ((:commit . "944e36144d92a798e1fd0f3d83fc6347d57a976e") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/keg.el"))]) @@ -2652,17 +2681,17 @@ (key-leap . [(20160831 1447) ((emacs (24 3))) "Leap between lines by typing keywords" single ((:commit . "b3f6ef15c8a13870475d5af159fa24b30f97dea0") (:authors ("Martin Rykfors" . "martinrykfors@gmail.com")) (:maintainer "Martin Rykfors" . "martinrykfors@gmail.com") (:keywords "point" "convenience") (:url . "https://github.com/MartinRykfors/key-leap"))]) (key-quiz . [(20200226 2129) ((emacs (26))) "Emacs Keys Quiz" single ((:commit . "6d31fcf78a1ab1841f735dfb5cbd2bf6b2ed25db") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:keywords "games") (:url . "https://github.com/federicotdn/key-quiz"))]) (key-seq . [(20150907 756) ((key-chord (0 6))) "map pairs of sequentially pressed keys to commands" single ((:commit . "e29b083a6427d061638749194fc249ef69ad2cc0") (:authors ("Vyacheslav Levit" . "dev@vlevit.org")) (:maintainer "Vyacheslav Levit" . "dev@vlevit.org") (:keywords "convenience" "keyboard" "keybindings") (:url . "http://github.com/vlevit/key-seq.el"))]) - (keycast . [(20220422 1611) ((emacs (25 3)) (compat (28 1 1 0))) "Show current command and its binding" single ((:commit . "0c37db482ca98e729430121209d70dd093082a5e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "multimedia") (:url . "https://github.com/tarsius/keycast"))]) + (keycast . [(20220422 1611) ((emacs (25 3)) (compat (28 1 1 0))) "Show current command and its binding" single ((:commit . "296fba536287e7a0d88109e75a0bc0181647dc5e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "multimedia") (:url . "https://github.com/tarsius/keycast"))]) (keychain-environment . [(20180318 2223) nil "load keychain environment variables" single ((:commit . "d3643196de6dc79ea77f9f4805028350fd76100b") (:authors ("Paul Tipper ")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "gnupg" "pgp" "ssh") (:url . "https://github.com/tarsius/keychain-environment"))]) (keydef . [(20090428 1931) nil "a simpler way to define keys, with kbd syntax" single ((:commit . "dff2be9f58d12d8c6a490ad0c1b2b10b55528dc0") (:authors ("Michael John Downes" . "mjd@ams.org")) (:maintainer "Michael John Downes" . "mjd@ams.org") (:keywords "convenience" "lisp" "customization" "keyboard" "keys"))]) - (keyfreq . [(20210630 1318) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "7bb36e910ae04ff1dce387e3ce73b669d299680b") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))]) - (keymap-utils . [(20220422 1612) ((emacs (25 1)) (compat (28 1 1 0))) "Keymap utilities" single ((:commit . "0fd91fef890fb4c18c552e5ecaddd53c9bdac2bd") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "extensions") (:url . "https://github.com/tarsius/keymap-utils"))]) + (keyfreq . [(20220607 1613) ((cl-lib (0 5))) "track command frequencies" single ((:commit . "dd88193cd7a91a92113121191573758ea2a3ceb1") (:authors ("Ryan Yeske, Michal Nazarewicz (mina86/AT/mina86.com)")) (:maintainer "David Capello, Xah lee"))]) + (keymap-utils . [(20220422 1612) ((emacs (25 1)) (compat (28 1 1 0))) "Keymap utilities" single ((:commit . "f95fded924a7184a638ef233324fcda34c60ff7e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "extensions") (:url . "https://github.com/tarsius/keymap-utils"))]) (keypress-multi-event . [(20190109 530) ((emacs (24 3))) "Perform different actions for the same keypress." single ((:commit . "f7041deccd9d03066c2fe41c3443c42a4713ac02") (:authors ("Boruch Baum" . "boruch_baum@gmx.com")) (:maintainer "Boruch Baum" . "boruch_baum@gmx.com") (:keywords "abbrev" "convenience" "wp" "keyboard") (:url . "https://www.github.com/Boruch_Baum/emacs-keypress-multi-event"))]) (keypression . [(20200819 534) ((emacs (26 3))) "Keystroke visualizer" single ((:commit . "9427241f3fa539e4b5ad7581a05eb7e49f2cf518") (:authors ("chuntaro" . "chuntaro@sakura-games.jp")) (:maintainer "chuntaro" . "chuntaro@sakura-games.jp") (:keywords "key" "screencast" "tools") (:url . "https://github.com/chuntaro/emacs-keypression"))]) (keyset . [(20150220 530) ((dash (2 8 0)) (cl-lib (0 5))) "A small library for structuring key bindings." single ((:commit . "45ce83c4b56f064874256db37e697a63b2c69e65") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/keyset"))]) (keystore-mode . [(20190409 1946) ((emacs (24 3)) (origami (1 0)) (s (1 12 0)) (seq (2 20))) "A major mode for viewing and managing (java) keystores" tar ((:commit . "43bd5926348298d077c7221f37902c990df3f951") (:authors ("Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com")) (:maintainer "Peterpaul Taekele Klein Haneveld" . "pp.kleinhaneveld@gmail.com") (:keywords "tools") (:url . "https://github.com/peterpaul/keystore-mode"))]) (keyswap . [(20160813 957) ((emacs (24 3))) "swap bindings between key pairs" single ((:commit . "cd682a7c4a8d64d6bae6a005db5045232e5e7b95") (:authors ("Matthew Malcomson" . "hardenedapple@gmail.com")) (:maintainer "Matthew Malcomson" . "hardenedapple@gmail.com") (:keywords "convenience") (:url . "http://github.com/hardenedapple/keyswap.el"))]) - (keytar . [(20220222 639) ((emacs (24 4))) "Emacs Lisp interface for node-keytar" single ((:commit . "5236c2aa6a4f2deeb0421c7d1c315ed9e6b6222a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/keytar"))]) + (keytar . [(20220704 626) ((emacs (24 4))) "Emacs Lisp interface for node-keytar" single ((:commit . "4b874662b2eb19d31426faa061d1307359f10013") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "keytar" "password" "credential" "secret" "security") (:url . "https://github.com/emacs-grammarly/keytar"))]) (keyword-search . [(20180424 1102) nil "browser keyword search from Emacs" tar ((:commit . "f8475ecaddb8804a9be6bee47678207c86ac8dee") (:maintainer "Jens Petersen") (:keywords "web" "search" "keyword") (:url . "https://github.com/juhp/keyword-search"))]) (kfg . [(20140909 538) ((f (0 17 1))) "an emacs configuration system" single ((:commit . "d2c9dd26618fb2f7bf1e7b6eae193b1cceba3c97") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/kfg"))]) (khalel . [(20211114 1233) ((emacs (27 1))) "Import, edit and create calendar events through khal" single ((:commit . "a0503498ae43a50157549c661381d94578ad2bd7") (:authors ("Hanno Perrey ")) (:maintainer "Hanno Perrey" . "hanno@hoowl.se") (:keywords "event" "calendar" "ics" "khal") (:url . "https://gitlab.com/hperrey/khalel"))]) @@ -2673,7 +2702,7 @@ (killer . [(20190128 10) nil "kill and delete text" single ((:commit . "ace0547944933440384ceeb5876b1f68c082d540") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "http://github.com/tarsius/killer"))]) (kite . [(20130201 1938) ((json (1 2)) (websocket (0 93 1))) "WebKit inspector front-end" tar ((:commit . "7ed74d1147a6ddd152d3da65dc30df3517d53144") (:authors ("Julian Scheid" . "julians37@gmail.com")) (:maintainer "Julian Scheid" . "julians37@gmail.com") (:keywords "tools"))]) (kite-mini . [(20160508 1106) ((dash (2 11 0)) (websocket (1 5))) "Remotely evaluate JavaScript in the WebKit debugger" tar ((:commit . "a68619dbc109c7989f3448426d8c1ee9e797c11f") (:authors ("Tung Dao" . "me@tungdao.com")) (:maintainer "Tung Dao" . "me@tungdao.com") (:keywords "webkit") (:url . "https://github.com/tungd/kite-mini.el"))]) - (kivy-mode . [(20210318 2106) nil "Emacs major mode for editing Kivy files" single ((:commit . "0e77e2ab94e54ebaf1f232f5dd66d4d103e08fbb") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))]) + (kivy-mode . [(20210318 2106) nil "Emacs major mode for editing Kivy files" single ((:commit . "714f4935085d4ac0c220fdf7183fb35175f8bcad") (:authors ("Dean Serenevy" . "dean@serenevy.net")) (:maintainer "Dean Serenevy" . "dean@serenevy.net"))]) (kiwix . [(20220316 847) ((emacs (25 1)) (request (0 3 0))) "Searching offline Wikipedia through Kiwix." tar ((:commit . "444f686a7f75db788d54f544b923a3532732eb8b") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "kiwix" "wikipedia") (:url . "https://repo.or.cz/kiwix.el.git"))]) (kixtart-mode . [(20150611 1604) ((emacs (24))) "major mode for Kixtart scripting files" single ((:commit . "1c2356797e7b766bbaaa2b341176a8b10499cd79") (:authors ("Ryrun ")) (:maintainer "Ryrun ") (:keywords "languages") (:url . "https://github.com/ryrun/kixtart-mode"))]) (klere-theme . [(20210320 1912) ((emacs (24))) "A dark theme with lambent color highlights and incremental grays" single ((:commit . "f9eacacc00455e6c42961ec41f24f864c2a05ace") (:authors ("Wamm K. D." . "jaft.r@outlook.com")) (:maintainer "Wamm K. D." . "jaft.r@outlook.com") (:url . "https://codeberg.org/WammKD/emacs-klere-theme"))]) @@ -2684,40 +2713,41 @@ (kooten-theme . [(20161023 905) ((emacs (24 1))) "Dark color theme" single ((:commit . "d10197b4dd7af02cd14aeab2573c273a294798c3") (:authors ("Pascal van Kooten" . "kootenpv@gmail.com")) (:maintainer "Pascal van Kooten" . "kootenpv@gmail.com") (:keywords "themes") (:url . "http://github.com/kootenpv/emacs-kooten-theme"))]) (korean-holidays . [(20190102 1558) nil "Korean holidays for calendar." single ((:commit . "3f90ed86f46f8e5533f23baa40e2513ac497ca2b") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:keywords "calendar") (:url . "https://github.com/tttuuu888/korean-holidays"))]) (kosmos-theme . [(20170502 1850) ((emacs (24))) "Black and lightgray theme with not so much syntax highlighting." single ((:commit . "616456d2376a75dc31190ad65137d179fbad4336") (:authors ("Maxim Kim" . "habamax@gmail.com")) (:maintainer "Maxim Kim" . "habamax@gmail.com") (:url . "https://github.com/habamax/kosmos-theme"))]) - (kotlin-mode . [(20210917 1911) ((emacs (24 3))) "Major mode for kotlin" tar ((:commit . "3e0c34087ba4965a8bf08d3f27325f0a1e631bfb") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com") (:keywords "languages"))]) + (kotlin-mode . [(20220527 1646) ((emacs (24 3))) "Major mode for kotlin" tar ((:commit . "99499e1500034b5fd5fdce9bfef367d90c61b5ce") (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:maintainer "Shodai Yokoyama" . "quantumcars@gmail.com") (:keywords "languages"))]) (kpm-list . [(20170924 1352) nil "An emacs buffer list that tries to intelligently group together buffers." single ((:commit . "e0f5112e5ce8ec1b603f4428fa51681c68bb28f5") (:authors ("Kevin Mahoney")) (:maintainer "Kevin Mahoney") (:url . "https://github.com/KMahoney/kpm-list/"))]) (kroman . [(20150827 2340) nil "Korean hangul romanization" single ((:commit . "90402b6ae40383e75d8ba97d66eee93eebf40f70") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com") (:keywords "korean" "roman"))]) (ksp-cfg-mode . [(20190414 2348) ((emacs (24)) (cl-lib (0 5))) "major mode for editing KSP CFG files" single ((:commit . "faec8bd8456c67276d065eb68c88a30efcef59ef") (:authors ("Emily Backes" . "lucca@accela.net")) (:maintainer "Emily Backes" . "lucca@accela.net") (:keywords "data") (:url . "http://github.com/lashtear/ksp-cfg-mode"))]) (kubectx-mode . [(20200116 1918) ((emacs (24))) "Change kubectl context/namespace and show in mode line" single ((:commit . "f08687ae5403eb18bbeffc6dafdfde469bdb9a36") (:authors ("Terje Sannum" . "terje@offpiste.org")) (:maintainer "Terje Sannum" . "terje@offpiste.org") (:keywords "tools" "kubernetes") (:url . "https://github.com/terjesannum/emacs-kubectx-mode"))]) (kubedoc . [(20220401 1113) ((emacs (27 1))) "Kubernetes API Documentation" single ((:commit . "f8503f121e38f0ff9343544a5c912e50b25efd4c") (:authors ("Dean Lindqvist Todevski ")) (:maintainer "Dean Lindqvist Todevski") (:keywords "docs" "help" "k8s" "kubernetes" "tools") (:url . "https://github.com/r0bobo/kubedoc.el/"))]) - (kubel . [(20220331 1355) ((transient (0 1 0)) (emacs (25 3)) (dash (2 12 0)) (s (1 2 0)) (yaml-mode (0 0 14))) "Control Kubernetes with limited permissions" single ((:commit . "b598b21988b8d5b2f44803a31f891f12ea511982") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "kubernetes" "k8s" "tools" "processes") (:url . "https://github.com/abrochard/kubel"))]) - (kubel-evil . [(20220318 2124) ((kubel (1 0)) (evil (1 0)) (emacs (25 3))) "extension for kubel to provide evil keybindings" single ((:commit . "b598b21988b8d5b2f44803a31f891f12ea511982") (:authors ("Marcel Patzwahl")) (:maintainer "Marcel Patzwahl") (:keywords "kubernetes" "k8s" "tools" "processes" "evil" "keybindings") (:url . "https://github.com/abrochard/kubel"))]) - (kubernetes . [(20220331 1314) ((emacs (25 1)) (dash (2 12 0)) (magit-section (3 1 1)) (magit-popup (2 13 0)) (with-editor (3 0 4)) (request (0 3 2)) (s (1 12 0)) (transient (0 3 0))) "Magit-like porcelain for Kubernetes" tar ((:commit . "e0d0cd6b949802fe63ff8940cc743cc7efedb089") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool") (:keywords "kubernetes") (:url . "https://github.com/kubernetes-el/kubernetes-el"))]) - (kubernetes-evil . [(20211225 300) ((kubernetes (0 17 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "e0d0cd6b949802fe63ff8940cc743cc7efedb089") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) + (kubel . [(20220723 1655) ((transient (0 1 0)) (emacs (25 3)) (dash (2 12 0)) (s (1 2 0)) (yaml-mode (0 0 14))) "Control Kubernetes with limited permissions" single ((:commit . "161f8f60cfe7f59cacd38127f7fd21b08c516bc3") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "kubernetes" "k8s" "tools" "processes") (:url . "https://github.com/abrochard/kubel"))]) + (kubel-evil . [(20220318 2124) ((kubel (1 0)) (evil (1 0)) (emacs (25 3))) "extension for kubel to provide evil keybindings" single ((:commit . "161f8f60cfe7f59cacd38127f7fd21b08c516bc3") (:authors ("Marcel Patzwahl")) (:maintainer "Marcel Patzwahl") (:keywords "kubernetes" "k8s" "tools" "processes" "evil" "keybindings") (:url . "https://github.com/abrochard/kubel"))]) + (kubernetes . [(20220715 1717) ((dash (2 12 0)) (magit-section (3 1 1)) (magit-popup (2 13 0)) (with-editor (3 0 4)) (request (0 3 2)) (s (1 12 0)) (transient (0 3 0))) "Magit-like porcelain for Kubernetes" tar ((:commit . "8163fd38015cbde0485f6eaab41450132bf6e19d") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool") (:keywords "kubernetes") (:url . "https://github.com/kubernetes-el/kubernetes-el"))]) + (kubernetes-evil . [(20220625 534) ((kubernetes (0 18 0)) (evil (1 2 12))) "Kubernetes keybindings for evil-mode." single ((:commit . "8163fd38015cbde0485f6eaab41450132bf6e19d") (:authors ("Chris Barrett" . "chris+emacs@walrus.cool")) (:maintainer "Chris Barrett" . "chris+emacs@walrus.cool"))]) (kubernetes-helm . [(20210902 2232) ((yaml-mode (0 0 13)) (emacs (25 3))) "extension for helm, the package manager for kubernetes" single ((:commit . "95cf92600436f67bd7bfe650763e68635f5ecc8e") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "kubernetes" "helm" "k8s" "tools" "processes") (:url . "https://github.com/abrochard/kubernetes-helm"))]) (kubernetes-tramp . [(20181228 922) ((emacs (24)) (cl-lib (0 5))) "TRAMP integration for kubernetes containers" single ((:commit . "8713571b66940f8f3f496b55baa23cdf1df7a869") (:authors ("Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com")) (:maintainer "Giovanni Ruggiero" . "giovanni.ruggiero+github@gmail.com") (:keywords "kubernetes" "convenience") (:url . "https://github.com/gruggiero/kubernetes-tramp"))]) - (kurecolor . [(20200113 2027) ((emacs (24 1)) (s (1 0))) "color editing goodies for Emacs" single ((:commit . "3fc84840cbbd75e646cafa2fd3a00004b55e37ec") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))]) - (kuronami-theme . [(20220309 604) ((emacs (24 1))) "A deep blue theme with cool autumnal colors" single ((:commit . "910e8fa56a0cfe89dae888522f9fec4045d017fb") (:authors ("Eric Chung <>")) (:maintainer "Eric Chung <>") (:url . "https://github.com/super3ggo/kuronami"))]) + (kurecolor . [(20220719 143) ((emacs (24 1)) (s (1 0))) "color editing goodies" single ((:commit . "7fcb1472d2e3e9dfd02663bb5f3809c271402368") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com"))]) + (kuronami-theme . [(20220602 339) ((emacs (24 1))) "A deep blue theme with cool autumnal colors" single ((:commit . "a51d5ff3883bd94d0a181bb5d60f747190eda4f6") (:authors ("Eric Chung <>")) (:maintainer "Eric Chung <>") (:url . "https://github.com/inj0h/kuronami"))]) (kv . [(20140108 1534) nil "key/value data structure functions" single ((:commit . "721148475bce38a70e0b678ba8aa923652e8900e") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp"))]) (kwin . [(20220120 2125) nil "communicatewith the KWin window manager" single ((:commit . "20fac6508e5535a26df783ba05f04d1800b7382c") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner") (:url . "http://github.com/reactormonk/kwin-minor-mode"))]) - (l . [(20220422 1612) ((seq (2 20))) "Compact syntax for short lambda" single ((:commit . "e7c4cbd930fed4a4a183e473ad2598610de00e21") (:keywords "extensions") (:url . "https://git.sr.ht/~tarsius/l"))]) - (laas . [(20220301 1629) ((emacs (26 3)) (auctex (11 88)) (aas (1 1)) (yasnippet (0 14))) "A bundle of as-you-type LaTeX snippets" tar ((:commit . "b372f9a44bea03cce09b20cd2409e3ae3fa2d651") (:maintainer "Yoav Marco" . "yoavm448@gmail.com") (:keywords "tools" "tex") (:url . "https://github.com/tecosaur/LaTeX-auto-activating-snippets"))]) + (l . [(20220422 1612) ((seq (2 20))) "Compact syntax for short lambda" single ((:commit . "3ab31ef28596ac2f95be4c4280cd86489232da97") (:keywords "extensions") (:url . "https://git.sr.ht/~tarsius/l"))]) + (laas . [(20220509 1234) ((emacs (26 3)) (auctex (11 88)) (aas (1 1)) (yasnippet (0 14))) "A bundle of as-you-type LaTeX snippets" tar ((:commit . "44533de4968fee924d9cc81ce9a23c9d82847db3") (:maintainer "Yoav Marco" . "yoavm448@gmail.com") (:keywords "tools" "tex") (:url . "https://github.com/tecosaur/LaTeX-auto-activating-snippets"))]) (lab-themes . [(20200815 2104) ((emacs (24))) "A custom theme carefully constructed in the LAB space" tar ((:commit . "9d7deb9635959d3a50ccb1082eb1207275f4b3e8") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:keywords "lisp") (:url . "https://github.com/MetroWind/lab-theme"))]) (labburn-theme . [(20200822 2153) nil "A lab color space zenburn theme." single ((:commit . "4ef2892f56c973907361bc91495d14204744f678") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:keywords "theme" "zenburn") (:url . "https://github.com/ksjogo/labburn-theme"))]) - (lacquer . [(20220321 720) ((emacs (25 2))) "Switch theme/font by selecting from a cache" tar ((:commit . "0d7d09f7fe22fb0241e91228ce44568ed3e3e798") (:authors ("dingansich_kum0" . "zy.hua1122@outlook.com")) (:maintainer "dingansich_kum0" . "zy.hua1122@outlook.com") (:keywords "tools") (:url . "https://github.com/dingansichKum0/lacquer"))]) - (laguna-theme . [(20220419 1459) nil "An updated blue-green Laguna Theme." single ((:commit . "48d14ffad6f0ffb4bd60c341e618c47ddbb7a2d8") (:authors ("Henry Newcomer" . "a.cliche.email@gmail.com")) (:maintainer "Henry Newcomer" . "a.cliche.email@gmail.com") (:url . "https://github.com/HenryNewcomer/laguna-theme"))]) + (lacquer . [(20220722 140) ((emacs (25 2))) "Switch theme/font by selecting from a cache" tar ((:commit . "71bf9e8464ae240db17204dd2b968260a9c4c305") (:authors ("zakudriver" . "zy.hua1122@outlook.com")) (:maintainer "zakudriver" . "zy.hua1122@outlook.com") (:keywords "tools") (:url . "https://github.com/zakudriver/lacquer"))]) + (laguna-theme . [(20220804 227) nil "An updated blue-green Laguna Theme." single ((:commit . "680ab8c936cb1c249b5a6a07976bcc83ef217e25") (:authors ("Henry Newcomer" . "a.cliche.email@gmail.com")) (:maintainer "Henry Newcomer" . "a.cliche.email@gmail.com") (:url . "https://github.com/HenryNewcomer/laguna-theme"))]) (lakota-input . [(20200823 2146) nil "Input modes for Lakota language orthographies" single ((:commit . "b74b9de284a0404a120bb15340def4dd2f9a4779") (:authors ("Grant Shangreaux" . "shshoshin@protonmail.com")) (:maintainer "Grant Shangreaux" . "shshoshin@protonmail.com") (:url . "https://git.sr.ht/~shoshin/lakota-input.git"))]) - (lambdapi-mode . [(20220106 1308) ((emacs (26 1)) (eglot (1 5)) (math-symbol-lists (1 2 1)) (highlight (20190710 1527))) "A major mode for editing Lambdapi source code" tar ((:commit . "d264cd8ed859635dc0f71e1d9213a911b46939b6") (:maintainer "Deducteam" . "dedukti-dev@inria.fr") (:keywords "languages") (:url . "https://github.com/Deducteam/lambdapi"))]) + (lambdapi-mode . [(20220106 1308) ((emacs (26 1)) (eglot (1 5)) (math-symbol-lists (1 2 1)) (highlight (20190710 1527))) "A major mode for editing Lambdapi source code" tar ((:commit . "16644a4d9d0bcdd43c009c597dddb89f6a64a482") (:maintainer "Deducteam" . "dedukti-dev@inria.fr") (:keywords "languages") (:url . "https://github.com/Deducteam/lambdapi"))]) (lammps-mode . [(20180801 1319) ((emacs (24 4))) "basic syntax highlighting for LAMMPS files" single ((:commit . "a5b68d7a59975770b56ee8f6e66fa4f703a72ffe") (:authors ("Aidan Thompson ")) (:maintainer "Rohit Goswami ") (:keywords "languages" "faces") (:url . "https://github.com/lammps/lammps/tree/master/tools/emacs"))]) (lang-refactor-perl . [(20131122 2127) nil "Simple refactorings, primarily for Perl" single ((:commit . "691bd69639de6b7af357e3b7143563ececd9c497") (:authors (nil . "Johan Lindstrom ")) (:maintainer nil . "Johan Lindstrom ") (:keywords "languages" "refactoring" "perl") (:url . "https://github.com/jplindstrom/emacs-lang-refactor-perl"))]) (langdoc . [(20150218 645) ((cl-lib (0 2))) "Help to define help document mode for various languages" single ((:commit . "2c7223bacb116992d700ecb19a60df5c09c63424") (:authors ("Tomoya Tanjo" . "ttanjo@gmail.com")) (:maintainer "Tomoya Tanjo" . "ttanjo@gmail.com") (:keywords "convenience" "eldoc") (:url . "https://github.com/tom-tan/langdoc/"))]) (langtool . [(20200529 230) ((cl-lib (0 3))) "Grammar check utility using LanguageTool" single ((:commit . "8276eccc5587bc12fd205ee58a7a982f0a136e41") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "docs") (:url . "https://github.com/mhayashi1120/Emacs-langtool"))]) (langtool-ignore-fonts . [(20210526 2340) ((emacs (25 1)) (langtool (2 2 1))) "Force langtool to ignore certain fonts" single ((:commit . "c3291c85b733b9047653cbb1f525655394610bdb") (:authors ("Christopher Lloyd" . "cjl8zf@virginia.edu")) (:maintainer "Christopher Lloyd" . "cjl8zf@virginia.edu") (:url . "https://github.com/cjl8zf/langtool-ignore-fonts"))]) (language-detection . [(20161123 1813) ((emacs (24)) (cl-lib (0 5))) "Automatic language detection from code snippets" single ((:commit . "54a6ecf55304fba7d215ef38a4ec96daff2f35a4") (:authors ("Andreas Jansson" . "andreas@jansson.me.uk")) (:maintainer "Andreas Jansson" . "andreas@jansson.me.uk") (:url . "https://github.com/andreasjansson/language-detection.el"))]) - (language-id . [(20220411 1932) ((emacs (24 3))) "Library to work with programming language identifiers" single ((:commit . "5325af36d9cd726de47a698ac159fce59f3fd6d9") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-language-id"))]) - (languagetool . [(20220127 2215) ((emacs (27 0)) (request (0 3 2))) "LanguageTool integration for grammar and spell check" tar ((:commit . "ea50c120ee3418489b43d51ed750288791d6eb95") (:authors ("Joar Buitrago" . "jebuitragoc@unal.edu.co")) (:maintainer "Joar Buitrago" . "jebuitragoc@unal.edu.co") (:keywords "grammar" "text" "docs" "tools" "convenience" "checker") (:url . "https://github.com/PillFall/Emacs-LanguageTool.el"))]) + (language-id . [(20220702 529) ((emacs (24 3))) "Library to work with programming language identifiers" single ((:commit . "1d05bb74075879351a33fedc363a5f375a18b8e5") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-language-id"))]) + (languagetool . [(20220514 309) ((emacs (27 0)) (request (0 3 2))) "LanguageTool integration for grammar and spell check" tar ((:commit . "503d18bd3c074fe8f495cfa6a34ccca1ef6961ce") (:authors ("Joar Buitrago" . "jebuitragoc@unal.edu.co")) (:maintainer "Joar Buitrago" . "jebuitragoc@unal.edu.co") (:keywords "grammar" "text" "docs" "tools" "convenience" "checker") (:url . "https://github.com/PillFall/Emacs-LanguageTool.el"))]) (lastfm . [(20211018 838) ((emacs (26 1)) (request (0 3 0)) (anaphora (1 0 4)) (memoize (1 1)) (elquery (0 1 0)) (s (1 12 0))) "Last.fm API for Emacs Lisp" single ((:commit . "b4b19f0aadc5087febeeb3f59944a89c4cdcf325") (:authors ("Mihai Olteanu" . "mihai_olteanu@fastmail.fm")) (:maintainer "Mihai Olteanu" . "mihai_olteanu@fastmail.fm") (:keywords "multimedia" "api") (:url . "https://github.com/mihaiolteanu/lastfm.el/"))]) (lastpass . [(20201229 2109) ((emacs (24 4)) (seq (1 9)) (cl-lib (0 5))) "LastPass command wrapper" single ((:commit . "2366de7824b6c5f8e9ec6811d219dc06794e8630") (:authors ("Petter Storvik")) (:maintainer "Petter Storvik") (:keywords "extensions" "processes" "lpass" "lastpass") (:url . "https://github.com/storvik/emacs-lastpass"))]) + (latex-change-env . [(20220710 933) ((emacs (27 1)) (auctex (13 1))) "Change in and out of LaTeX environments" single ((:commit . "4e6f75f678b207b3bb5031c8b2e31f8d577df445") (:authors ("Tony Zorman" . "soliditsallgood@mailbox.org")) (:maintainer "Tony Zorman" . "soliditsallgood@mailbox.org") (:keywords "convenience" "tex") (:url . "https://gitlab.com/slotThe/change-env"))]) (latex-extra . [(20170817 147) ((auctex (11 86 1)) (cl-lib (0 5))) "Adds several useful functionalities to LaTeX-mode." single ((:commit . "82d99b8b0c2db20e5270749582e03bcc2443ffb5") (:authors ("Artur Malabarba" . "artur@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "artur@endlessparentheses.com") (:keywords "tex") (:url . "http://github.com/Malabarba/latex-extra"))]) (latex-math-preview . [(20211228 641) nil "preview LaTeX mathematical expressions." single ((:commit . "1c082179493eed3ce8bc255f87791eb4acb1fbdb") (:authors ("Takayuki YAMAGUCHI" . "d@ytak.info")) (:maintainer "Takayuki YAMAGUCHI" . "d@ytak.info") (:keywords "latex" "tex") (:url . "https://gitlab.com/latex-math-preview/latex-math-preview"))]) (latex-pretty-symbols . [(20151112 1044) nil "Display many latex symbols as their unicode counterparts" single ((:commit . "83d5888147bb734a94dfd4847a11e975a7d86ba8") (:authors ("Erik Parmann" . "eparmann@gmail.com") ("Pål Drange")) (:maintainer "Erik Parmann" . "eparmann@gmail.com") (:keywords "convenience" "display") (:url . "https://bitbucket.org/mortiferus/latex-pretty-symbols.el"))]) @@ -2731,19 +2761,20 @@ (lavenderless-theme . [(20201222 1627) ((colorless-themes (0 2))) "A mostly colorless version of lavender-theme" single ((:commit . "c1ed1e12541cf05cc6c558d23c089c07e10b54d7") (:authors ("Thomas Letan" . "lthms@soap.coffee")) (:maintainer "Thomas Letan" . "lthms@soap.coffee") (:keywords "faces" "theme") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))]) (lcb-mode . [(20160816 540) ((emacs (24))) "LiveCode Builder major mode" single ((:commit . "be0768e9aa6f9b8e76f2230f4f7f4d152a766b9a") (:authors ("Peter TB Brett" . "peter@peter-b.co.uk")) (:maintainer "Peter TB Brett" . "peter@peter-b.co.uk") (:keywords "languages") (:url . "https://github.com/peter-b/lcb-mode"))]) (lcr . [(20210102 853) ((dash (2 12 0)) (emacs (25 1))) "lightweight coroutines" single ((:commit . "493424dab9f374c5521dca8714481b70cb3c3cfd") (:authors ("Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com")) (:maintainer "Jean-Philippe Bernardy" . "jeanphilippe.bernardy@gmail.com") (:keywords "tools") (:url . "https://github.com/jyp/lcr"))]) + (le-thesaurus . [(20220519 610) ((request (0 3 2)) (emacs (24 4))) "Query thesaurus.com for synonyms of a given word" single ((:commit . "3ea30714e7197f660dea59ec6c762cde0a44f74e") (:url . "https://github.com/AnselmC/le-thesaurus.el"))]) (leaf . [(20211226 1633) ((emacs (24 1))) "Simplify your init.el configuration, extended use-package" single ((:commit . "9eb18e8c9c375aa0158fbd06ea906bfbf54408fe") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "lisp" "settings") (:url . "https://github.com/conao3/leaf.el"))]) (leaf-convert . [(20210816 1103) ((emacs (26 1)) (leaf (3 6 0)) (leaf-keywords (1 1 0)) (ppp (2 1))) "Convert many format to leaf format" single ((:commit . "da86654f1021445cc42c1a5a9195f15097352209") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tools") (:url . "https://github.com/conao3/leaf-convert.el"))]) (leaf-defaults . [(20210301 118) ((emacs (26 1)) (leaf (4 1)) (leaf-keywords (1 1))) "Awesome leaf config collections" tar ((:commit . "96ce39d4f16736f1e654e24eac16a2603976c724") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/leaf-defaults.el"))]) (leaf-keywords . [(20210816 1107) ((emacs (24 4)) (leaf (3 5 0))) "Additional leaf.el keywords for external packages" single ((:commit . "849b579f87c263e2f1d7fb7eda93b6ce441f217e") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "lisp" "settings") (:url . "https://github.com/conao3/leaf-keywords.el"))]) (leaf-manager . [(20211225 624) ((emacs (26 1)) (leaf (4 1)) (leaf-convert (1 0)) (ppp (2 1))) "Configuration manager for leaf based init.el" single ((:commit . "a9fb7fda1432d0cf6bd8546d98a11b3fbe1d84e6") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience" "leaf") (:url . "https://github.com/conao3/leaf-manager.el"))]) (leaf-tree . [(20211105 19) ((emacs (25 1)) (imenu-list (0 8))) "Interactive side-bar feature for init.el using leaf" single ((:commit . "89c3b8842df067bba67663d309f43aa311acdccd") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience" "leaf") (:url . "https://github.com/conao3/leaf-tree.el"))]) - (lean-mode . [(20220124 1813) ((emacs (24 3)) (dash (2 18 0)) (s (1 10 0)) (f (0 19 0)) (flycheck (30))) "A major mode for the Lean 3 language" tar ((:commit . "c1c68cc946eb31b6ba8faefdceffce1f77ca52df") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) + (lean-mode . [(20220501 1007) ((emacs (24 3)) (dash (2 18 0)) (s (1 10 0)) (f (0 19 0)) (flycheck (30))) "A major mode for the Lean 3 language" tar ((:commit . "362bc6fa3efb1874c525ed6b4b6f24f76af22596") (: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") (:keywords "languages") (:url . "https://github.com/leanprover/lean-mode"))]) (leanote . [(20161223 139) ((emacs (24 4)) (cl-lib (0 5)) (request (0 2)) (let-alist (1 0 3)) (pcache (0 4 0)) (s (1 10 0)) (async (1 9))) "A minor mode writing markdown leanote" single ((:commit . "d499e7b59bb1f1a2fabc0e4c26fb101ed62ebc7b") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:keywords "leanote" "note" "markdown") (:url . "https://github.com/aborn/leanote-emacs"))]) (learn-ocaml . [(20211003 1412) ((emacs (25 1))) "Emacs frontend for learn-ocaml" single ((:commit . "ac6ef9cbd39f7d9ac0019e28da09aad5bc2cfae5") (:url . "https://github.com/pfitaxel/learn-ocaml.el"))]) (ledger-import . [(20210419 818) ((emacs (25 1)) (ledger-mode (3 1 1))) "Fetch OFX files from bank and push them to Ledger" single ((:commit . "f77adf79ce67524c3e08546448ac88ea1a665b64") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/mpdel/libmpdel"))]) - (ledger-mode . [(20220307 854) ((emacs (25 1))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "11e850395448ee7012dba16bd6df103f5552ebfb"))]) - (leerzeichen . [(20170422 1313) nil "Minor mode to display whitespace characters." single ((:commit . "5acf9855ecb2b2cd5da4402bb48df149e7525cc5") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "whitespace" "characters") (:url . "http://github.com/fgeller/leerzeichen.el"))]) - (leetcode . [(20220206 1515) ((emacs (26)) (dash (2 16 0)) (graphql (0 1 1)) (spinner (1 7 3)) (aio (1 0)) (log4e (0 3 3))) "An leetcode client" single ((:commit . "b3103bd08c8943091f702c66d674f0f27ef7fe0b") (:authors ("Wang Kai" . "kaiwkx@gmail.com")) (:maintainer "Wang Kai" . "kaiwkx@gmail.com") (:keywords "extensions" "tools") (:url . "https://github.com/kaiwk/leetcode.el"))]) + (ledger-mode . [(20220623 1125) ((emacs (25 1))) "Helper code for use with the \"ledger\" command-line tool" tar ((:commit . "8bad528d43007e0310b5e72e6e021b502b30495c"))]) + (leerzeichen . [(20220626 835) nil "Minor mode to display whitespace characters." single ((:commit . "9d4126d5f6563569080845a69b0867119a9fd6ea") (:authors ("Felix Geller" . "fgeller@gmail.com")) (:maintainer "Felix Geller" . "fgeller@gmail.com") (:keywords "whitespace" "characters") (:url . "http://github.com/fgeller/leerzeichen.el"))]) + (leetcode . [(20220503 534) ((emacs (26 1)) (dash (2 16 0)) (graphql (0 1 1)) (spinner (1 7 3)) (aio (1 0)) (log4e (0 3 3))) "An leetcode client" single ((:commit . "682f7a44d0bea0daf6f9a2888fa7f905d3a0cd70") (:authors ("Wang Kai" . "kaiwkx@gmail.com")) (:maintainer "Wang Kai" . "kaiwkx@gmail.com") (:keywords "extensions" "tools") (:url . "https://github.com/kaiwk/leetcode.el"))]) (legalese . [(20200119 2248) nil "Add legalese to your program files" single ((:commit . "e465471d2d5a62d35073d93e0f8d40387a82e302") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:keywords "convenience") (:url . "https://github.com/jorgenschaefer/legalese"))]) (lemon-mode . [(20130216 1304) nil "A major mode for editing lemon grammar files" single ((:commit . "155bfced6c9afc8072a0133d3d1baa54c6d67430") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com") (:keywords "lemon"))]) (lentic . [(20210727 1247) ((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 . "36861bdf9c1d88492648da553f66529e3a879880") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.org.uk"))]) @@ -2755,47 +2786,48 @@ (leuven-theme . [(20220203 947) nil "Awesome Emacs color theme on white background" tar ((:commit . "d7dd9188a65e2ab7cf73c2e575a830baae38cb0c") (:authors ("Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>")) (:maintainer "Fabrice Niessen <(concat \"fniessen\" at-sign \"pirilampo.org\")>") (:keywords "color" "theme") (:url . "https://github.com/fniessen/emacs-leuven-theme"))]) (levenshtein . [(20090830 1040) nil "Edit distance between two strings." single ((:commit . "070925197ebf6b704e6e00c4f2d2ec783f3df38c") (:authors ("Aaron S. Hawley ,") ("Art Taylor")) (:maintainer "Aaron S. Hawley ,") (:keywords "lisp"))]) (lexbind-mode . [(20141027 1429) nil "Puts the value of lexical-binding in the mode line" single ((:commit . "fa0a6848c1cfd3fbf45db43dc2deef16377d887d") (:authors ("Andrew Kirkpatrick" . "ubermonk@gmail.com")) (:maintainer "Andrew Kirkpatrick" . "ubermonk@gmail.com") (:keywords "convenience" "lisp") (:url . "https://github.com/spacebat/lexbind-mode"))]) - (lexic . [(20220405 1339) ((emacs (26 3))) "A major mode to find out more about words" single ((:commit . "83e78f8b1b42b15a890aa29dbeccb2eb389215fb") (:authors ("pluskid" . "pluskid@gmail.com") ("gucong" . "gucong43216@gmail.com") ("TEC" . "tec@tecosaur.com")) (:maintainer "TEC" . "tec@tecosaur.com") (:url . "https://github.com/tecosaur/lexic"))]) + (lexic . [(20220501 1432) ((emacs (26 3))) "A major mode to find out more about words" single ((:commit . "f9b3de4d9c2dd1ce5022383e1a504b87bf7d1b09") (:authors ("pluskid" . "pluskid@gmail.com") ("gucong" . "gucong43216@gmail.com") ("TEC" . "tec@tecosaur.com")) (:maintainer "TEC" . "tec@tecosaur.com") (:url . "https://github.com/tecosaur/lexic"))]) (lf . [(20210808 1921) ((s (1 12 0)) (dash (2 16 0)) (emacs (27 1))) "A Language Features library for Emacs Lisp" single ((:commit . "35db92ca765a0544721fdeea036d77b7d192d083") (:authors ("Musa Al-hassy" . "alhassy@gmail.com")) (:maintainer "Musa Al-hassy" . "alhassy@gmail.com") (:keywords "convenience" "programming") (:url . "https://alhassy.github.io/lf.el/"))]) - (lfe-mode . [(20220102 1653) nil "Lisp Flavoured Erlang mode" tar ((:commit . "6e1e42768d40528e7a13f7cebf0a56cffbeda3c6"))]) + (lfe-mode . [(20220709 1956) nil "Lisp Flavoured Erlang mode" tar ((:commit . "d10af0a774d6d9c41ea78fe0185fdd0065a05d66"))]) (libbcel . [(20191203 654) ((emacs (26 1)) (request (0 3 1))) "Library to connect to basecamp 3 API" tar ((:commit . "df466d31544c53d8550f9c08e58b70adc559c48c") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/bcel/libbcel"))]) (libelcouch . [(20200923 1836) ((emacs (26 1)) (request (0 3 0))) "Communication with CouchDB" single ((:commit . "5ae35266c9a2eb33f0c708bc8c0687339cee9133") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "tools") (:url . "https://gitlab.petton.fr/elcouch/libelcouch/"))]) (liberime . [(20211203 244) ((emacs (25 1))) "Rime elisp binding" tar ((:commit . "79b709debe036f98d74ac129934e59c4d08c1dd5") (:authors ("A.I.")) (:maintainer "A.I.") (:keywords "convenience" "chinese" "input-method" "rime") (:url . "https://github.com/merrickluo/liberime"))]) - (libgit . [(20210620 2017) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "77bd28aeaa2a49962e8f714741f5a69b656a2183") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:keywords "git" "vc") (:url . "https://github.com/magit/libegit2"))]) - (liblouis . [(20220412 918) ((emacs (26 1))) "Mode for editing liblouis braille translation tables" single ((:commit . "83b4071b578513bd3936e0aa2304eae09b4820e7") (:authors ("Christian Egli" . "christian.egli@sbs.ch")) (:maintainer "Christian Egli" . "christian.egli@sbs.ch") (:keywords "languages") (:url . "https://github.com/liblouis/liblouis-mode"))]) + (libgit . [(20220620 1118) ((emacs (25 1))) "Thin bindings to libgit2." tar ((:commit . "3f3d600f1708afbac449d02046e05782ac974866") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:keywords "git" "vc") (:url . "https://github.com/magit/libegit2"))]) + (liblouis . [(20220426 657) ((emacs (26 1))) "Mode for editing liblouis braille translation tables" single ((:commit . "a341a0c434cdbe7f46956c8db13203c3fc941a34") (:authors ("Christian Egli" . "christian.egli@sbs.ch")) (:maintainer "Christian Egli" . "christian.egli@sbs.ch") (:keywords "languages") (:url . "https://github.com/liblouis/liblouis-mode"))]) (libmpdee . [(20160117 2301) nil "Client end library for mpd, a music playing daemon" single ((:commit . "a6ca3b7d6687f3ba60996b9b5044ad1d3b228290") (:authors ("Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com")) (:maintainer "Ramkumar R. Aiyengar" . "andyetitmoves@gmail.com") (:keywords "music" "mpd"))]) - (libmpdel . [(20210627 755) ((emacs (25 1))) "Communication with an MPD server" tar ((:commit . "e4ae63dd002fe07835c3c8a35b20b6e8347f8e84") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "multimedia") (:url . "https://gitea.petton.fr/mpdel/libmpdel"))]) + (libmpdel . [(20220706 1952) ((emacs (25 1))) "Communication with an MPD server" tar ((:commit . "c27c08949a742a888eb9921a8528882b2aec6137") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "multimedia") (:url . "https://github.com/mpdel/libmpdel"))]) (librera-sync . [(20210827 2300) ((emacs (26 1)) (f (0 17))) "Sync document's position with Librera Reader for Android" tar ((:commit . "b6b97adc08c26b1595249e1c129793100f4ca26e") (:authors ("Dmitriy Pshonko" . "jumper047@gmail.com")) (:maintainer "Dmitriy Pshonko" . "jumper047@gmail.com") (:keywords "multimedia" "sync") (:url . "https://github.com/jumper047/librera-sync"))]) (lice . [(20220312 2215) nil "License And Header Template" tar ((:commit . "0b69ba54057146f1473e85c0760029e584e3eb13") (:authors ("Taiki Sugawara" . "buzz.taiki@gmail.com")) (:maintainer "Taiki Sugawara" . "buzz.taiki@gmail.com") (:keywords "template" "license" "tools") (:url . "https://github.com/buzztaiki/lice-el"))]) (license-snippets . [(20201117 1619) ((emacs (26)) (yasnippet (0 8 0))) "LICENSE templates for yasnippet" tar ((:commit . "a729748b7d7f38a916fe61f23db6e7446c0a5e8f") (:authors ("Seong Yong-ju" . "sei40kr@gmail.com")) (:maintainer "Seong Yong-ju" . "sei40kr@gmail.com") (:keywords "tools") (:url . "https://github.com/sei40kr/license-snippets"))]) - (license-templates . [(20200906 2047) ((emacs (24 3)) (request (0 3 0))) "Create LICENSE using GitHub API" single ((:commit . "3a714dd7b658d86879da42d10c4fd64bf5c427be") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/license-templates"))]) + (license-templates . [(20220704 654) ((emacs (24 3)) (request (0 3 0))) "Create LICENSE using GitHub API" single ((:commit . "8182fa959477388b61c3a5d226e88e63ca2e87d3") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "license" "api" "template") (:url . "https://github.com/jcs-elpa/license-templates"))]) (light-soap-theme . [(20150607 1445) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "76a787bd40c6b567ae68ced7f5d9f9f10725e00d"))]) - (ligo-mode . [(20220209 755) ((emacs (27 1))) "A major mode for editing LIGO source code" single ((:commit . "d95e515dd210302627b8da86df747ccef9056db7") (:authors ("LigoLang SASU")) (:maintainer "LigoLang SASU") (:keywords "languages") (:url . "https://gitlab.com/ligolang/ligo/-/tree/dev/tools/emacs"))]) - (line-reminder . [(20220405 1658) ((emacs (25 1)) (indicators (0 0 4)) (fringe-helper (1 0 1)) (ov (1 0 6)) (ht (2 0))) "Line annotation for changed and saved lines" single ((:commit . "af939295a503974a021d24b6d972cbb915204b10") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-vs/line-reminder"))]) + (ligo-mode . [(20220209 755) ((emacs (27 1))) "A major mode for editing LIGO source code" single ((:commit . "81d2f8d91ff9cbedd0503de1078b0d729ac86692") (:authors ("LigoLang SASU")) (:maintainer "LigoLang SASU") (:keywords "languages") (:url . "https://gitlab.com/ligolang/ligo/-/tree/dev/tools/emacs"))]) + (line-reminder . [(20220721 451) ((emacs (25 1)) (indicators (0 0 4)) (fringe-helper (1 0 1)) (ov (1 0 6)) (ht (2 0))) "Line annotation for changed and saved lines" single ((:commit . "1b2dfa899409f4af2896fce6b9acbe98072abd59") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "annotation") (:url . "https://github.com/emacs-vs/line-reminder"))]) (line-up-words . [(20180219 1024) nil "Align words in an intelligent way" single ((:commit . "254ee815eb3fe77edea7c9da6f6f3839163735f3") (:url . "https://github.com/janestreet/line-up-words"))]) (lines-at-once . [(20180422 247) ((emacs (25))) "Insert and edit multiple lines at once" single ((:commit . "31bce4b79fe16251b7cf118f0d343b0b46f72360") (:authors ("Jiahao Li" . "jiahaowork@gmail.com")) (:maintainer "Jiahao Li" . "jiahaowork@gmail.com") (:keywords "abbrev" "tools") (:url . "https://github.com/jiahaowork/lines-at-once.el"))]) (lingr . [(20100807 1731) nil "Lingr Client for GNU Emacs" single ((:commit . "4215a8704492d3c860097cbe2649936c22c196df") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "lugecy" . "lugecy@gmail.com") (:keywords "chat" "client" "internet") (:url . "http://github.com/lugecy/lingr-el"))]) (linguistic . [(20181129 2116) nil "A package for basic linguistic analysis." tar ((:commit . "23e47e98cdb09ee61883669b6d8a11bf6449862c") (:authors ("Andrew Favia ")) (:maintainer "Andrew Favia ") (:keywords "linguistics" "text analysis" "matching") (:url . "https://github.com/andcarnivorous/linguistic"))]) + (lingva . [(20220623 954) ((emacs (25 1))) "Access Google Translate without tracking via lingva.ml" single ((:commit . "2032ffdcace23cca0a2ad4345352c20c1580be9e") (:authors ("marty hiatt ")) (:maintainer "marty hiatt ") (:keywords "convenience" "translation" "wp" "text") (:url . "https://codeberg.org/martianh/lingva.el"))]) (link . [(20191111 446) nil "Hypertext links in text buffers" single ((:commit . "bdf0aa7761d1c1a3bc0652b2fdc4a54b3acdb06a") (:authors ("Torsten Hilbrich" . "torsten.hilbrich@gmx.net")) (:maintainer "Torsten Hilbrich" . "torsten.hilbrich@gmx.net") (:keywords "interface" "hypermedia"))]) - (link-hint . [(20220414 56) ((avy (0 4 0)) (emacs (24 4))) "Use avy to open, copy, etc. visible links" single ((:commit . "a24546e0dee901bce94e3a11c20b1ed12a22b9c6") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:url . "https://github.com/noctuid/link-hint.el"))]) + (link-hint . [(20220623 2310) ((avy (0 4 0)) (emacs (24 4))) "Use avy to open, copy, etc. visible links" single ((:commit . "54612293cc4e01df639c41597cb83a633b0f5514") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:keywords "convenience" "url" "avy" "link" "links" "hyperlink") (:url . "https://github.com/noctuid/link-hint.el"))]) (linkode . [(20200607 2152) nil "Generate a linkode snippet with region/buffer content" single ((:commit . "675e612e30b74764c57de4117d950ea803b15f74") (:authors ("Erick Navarro" . "erick@navarro.io")) (:maintainer "Erick Navarro" . "erick@navarro.io") (:url . "https://github.com/erickgnavar/linkode.el"))]) (linphone . [(20130524 1109) nil "Emacs interface to Linphone" tar ((:commit . "99af3db941b7f4e5272bb48bff96c1ce4ceac302") (:authors ("Yoni Rabkin" . "yonirabkin@member.fsf.org")) (:maintainer "Yoni Rabkin" . "yonirabkin@member.fsf.org") (:keywords "comm") (:url . "https://github.com/zabbal/emacs-linphone"))]) (linum-off . [(20160217 2137) nil "Provides an interface for turning line-numbering off" single ((:commit . "116e66ac259b183e0763b85616888316ab196822") (:authors ("Matthew L. Fidler, Florian Adamsky (see wiki)")) (:maintainer "Matthew L. Fidler") (:keywords "line" "numbering") (:url . "http://www.emacswiki.org/emacs/auto-indent-mode.el "))]) (linum-relative . [(20180124 1047) nil "display relative line number in emacs." single ((:commit . "c74a6981b688a5e1e6b8e0809363963ff558ce4d") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:keywords "converience") (:url . "http://github.com/coldnew/linum-relative"))]) (liquid-types . [(20151202 735) ((flycheck (0 13)) (dash (1 2)) (emacs (24 1)) (popup (0 5 2)) (pos-tip (0 5 0)) (flycheck-liquidhs (0 0 1)) (button-lock (1 0 2))) "show inferred liquid-types" single ((:commit . "cc4bacbbf204ef9cf0756f78dfebee2c6ae14d7b") (:authors ("Ranjit Jhala" . "jhala@cs.ucsd.edu")) (:maintainer "Ranjit Jhala" . "jhala@cs.ucsd.edu"))]) - (liquidmetal . [(20211004 1429) ((emacs (24 4))) "A mimetic poly-alloy of the Quicksilver scoring algorithm" single ((:commit . "0eb2ec6108e8eb3dfefd9b30226a954a33ab8adf") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/liquidmetal"))]) + (liquidmetal . [(20220704 654) ((emacs (24 4))) "A mimetic poly-alloy of the Quicksilver scoring algorithm" single ((:commit . "2d8df67f62b3aba0ea3c1dcdd41d83e39e3d8f8f") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "matching" "fuzzy") (:url . "https://github.com/jcs-elpa/liquidmetal"))]) (liso-theme . [(20160410 2029) nil "Eclectic Dark Theme for GNU Emacs" single ((:commit . "844688245eb860d23043455e165ee24503454c81") (:authors ("Vlad Piersec" . "vlad.piersec@gmail.com")) (:maintainer "Vlad Piersec" . "vlad.piersec@gmail.com") (:keywords "theme" "themes") (:url . "https://github.com/caisah/liso-theme"))]) (lisp-butt-mode . [(20210215 2206) ((emacs (25))) "Slim Lisp Butts" single ((:commit . "7330f08dd85ee715096f3596df516877894c6c2f") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:keywords "lisp") (:url . "https://gitlab.com/marcowahl/lisp-butt-mode"))]) (lisp-extra-font-lock . [(20181008 1921) nil "Highlight bound variables and quoted exprs." single ((:commit . "4605eccbe1a7fcbd3cacf5b71249435413b4db4f") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "languages" "faces") (:url . "https://github.com/Lindydancer/lisp-extra-font-lock"))]) (lisp-local . [(20210605 1347) ((emacs (24 3))) "Allow different Lisp indentation in each buffer" single ((:commit . "22e221c9330d2b5dc07e8b2caa34c83ac7c20b0d") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "lisp") (:url . "https://github.com/lispunion/emacs-lisp-local"))]) (lispxmp . [(20170926 23) nil "Automagic emacs lisp code annotation" single ((:commit . "7ad077b4ee91ce8a42f84eeddb9fc7ea4eac7814") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "lisp" "convenience") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/lispxmp.el"))]) - (lispy . [(20220209 1138) ((emacs (24 3)) (ace-window (0 9 0)) (iedit (0 9 9)) (swiper (0 13 4)) (hydra (0 14 0)) (zoutline (0 1 0))) "vi-like Paredit" tar ((:commit . "df1b7e614fb0f73646755343e8892ddda310f427") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "lisp") (:url . "https://github.com/abo-abo/lispy"))]) - (lispyville . [(20210702 2031) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "9c14bed0359f659e246d345c706f895737c3d172") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:url . "https://github.com/noctuid/lispyville"))]) + (lispy . [(20220526 1832) ((emacs (24 3)) (ace-window (0 9 0)) (iedit (0 9 9)) (swiper (0 13 4)) (hydra (0 14 0)) (zoutline (0 2 0))) "vi-like Paredit" tar ((:commit . "dbab5899f26fa2ee27f5c2e8b32c20f2f69242fb") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "lisp") (:url . "https://github.com/abo-abo/lispy"))]) + (lispyville . [(20220715 29) ((lispy (0)) (evil (1 2 12)) (cl-lib (0 5)) (emacs (24 4))) "A minor mode for integrating evil with lispy." single ((:commit . "14ee8711d58b649aeac03581d22b10ab077f06bd") (:authors ("Fox Kiester" . "noct@posteo.net")) (:maintainer "Fox Kiester" . "noct@posteo.net") (:keywords "vim" "evil" "lispy" "lisp" "parentheses") (:url . "https://github.com/noctuid/lispyville"))]) (list-environment . [(20210930 1439) nil "A tabulated process environment editor" single ((:commit . "0a72a5a9c1abc090b25202a0387e3f766994b053") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:keywords "processes" "unix"))]) (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") (:authors ("Alessandro Piras" . "laynor@gmail.com")) (:maintainer "Alessandro Piras" . "laynor@gmail.com") (:keywords "convenience" "tools"))]) (list-unicode-display . [(20181121 2316) ((emacs (24 3))) "Search for and list unicode characters by name" single ((:commit . "0ecc2402b258990e7a0cf7e60847712c69444070") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience"))]) (list-utils . [(20210111 1522) nil "List-manipulation utility functions" single ((:commit . "ca9654cd1418e874c876c6b3b7d4cd8339bfde77") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/list-utils"))]) - (lister . [(20220118 1322) ((emacs (26 1))) "Yet another list printer" tar ((:commit . "51581b53ecf8e68d67a2d85dde539533aa7199ee") (:authors (nil . "")) (:maintainer nil . "") (:keywords "lisp") (:url . "https://github.com/publicimageltd/lister"))]) + (lister . [(20220802 2128) ((emacs (26 1))) "Yet another list printer" tar ((:commit . "f3e9748b3417184c36e301a381ec20ef4a88e511") (:authors (nil . "")) (:maintainer nil . "") (:keywords "lisp") (:url . "https://github.com/publicimageltd/lister"))]) (lit-mode . [(20141123 1736) nil "Major mode for lit" single ((:commit . "c61c403afc8333a5649c5421ab1a6341dc1c7d92") (:authors ("Hector A Escobedo" . "ninjahector.escobedo@gmail.com")) (:maintainer "Hector A Escobedo" . "ninjahector.escobedo@gmail.com") (:keywords "languages" "tools"))]) (litable . [(20200130 1329) ((dash (2 6 0))) "dynamic evaluation replacement with emacs" single ((:commit . "02247ca284cbc79f3afb783d62ed092bfc5b8d83") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "lisp"))]) (litanize . [(20200211 621) ((emacs (24 1)) (enlive (0 0 1)) (s (1 12 0))) "Generate \"Latour Litanies\"" single ((:commit . "ba73259e35b4649884ba56542d3a55f43bd3b80b") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "tools" "latour litany" "alien phenomenology" "ontography" "metaphorism" "carpentry") (:url . "https://github.com/zzkt/litanizer"))]) @@ -2803,18 +2835,18 @@ (literal-string . [(20191023 733) ((emacs (25)) (edit-indirect (0 1 5))) "edit string literals in a dedicated buffer" single ((:commit . "afffa86e626798ee9f9188ea3be2d5ee6ad17c39") (:authors ("Joost Diepenmaat" . "joost@zeekat.nl")) (:maintainer "Joost Diepenmaat" . "joost@zeekat.nl") (:keywords "lisp" "tools" "docs") (:url . "https://github.com/joodie/literal-string-mode/"))]) (literate-calc-mode . [(20220215 1814) ((emacs (25 1)) (s (1 12 0))) "Inline results from calc" single ((:commit . "f5133e65d8ffdab918cdfc269ac0c067a0de5e9b") (:authors ("Robin Schroer")) (:maintainer "Robin Schroer") (:keywords "calc" "languages" "tools") (:url . "https://github.com/sulami/literate-calc-mode.el"))]) (literate-coffee-mode . [(20170211 1515) ((coffee-mode (0 5 0))) "major-mode for Literate CoffeeScript" single ((:commit . "55ce0305495f4a38c8063c4bd63deb1e1252373d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-literate-coffee-mode"))]) - (literate-elisp . [(20220322 133) ((emacs (26 1))) "Load Emacs Lisp code blocks from Org files" single ((:commit . "dc4f9d64a8483aa6e394178087c589cdefc571e2") (:authors ("Jingtao Xu" . "jingtaozf@gmail.com")) (:maintainer "Jingtao Xu" . "jingtaozf@gmail.com") (:keywords "lisp" "docs" "extensions" "tools") (:url . "https://github.com/jingtaozf/literate-elisp"))]) + (literate-elisp . [(20220626 932) ((emacs (26 1))) "Load Emacs Lisp code blocks from Org files" single ((:commit . "62c9ed0478d7e8aa832f848074e15c5be2a0cae7") (:authors ("Jingtao Xu" . "jingtaozf@gmail.com")) (:maintainer "Jingtao Xu" . "jingtaozf@gmail.com") (:keywords "lisp" "docs" "extensions" "tools") (:url . "https://github.com/jingtaozf/literate-elisp"))]) (literate-starter-kit . [(20150730 1854) ((emacs (24 3))) "A literate starter kit to configure Emacs using Org-mode files." tar ((:commit . "6dce1d01781966c14558aa553cfc85008c06e115"))]) (litex-mode . [(20220415 1704) ((cl-lib (0 5)) (emacs (24 1))) "Minor mode for converting lisp to LaTeX" tar ((:commit . "5d5750af2990c050c8d36baa4b8e7a45850d5a6a") (:authors ("Gaurav Atreya" . "allmanpride@gmail.com")) (:maintainer "Gaurav Atreya" . "allmanpride@gmail.com") (:keywords "calculator" "lisp" "latex") (:url . "https://github.com/Atreyagaurav/litex-mode"))]) (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") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk") (:keywords "docs" "multimedia"))]) (live-preview . [(20201010 1948) ((emacs (24 4))) "Live preview by any shell command while editing" single ((:commit . "603a4a1759fbec92e7a1cabc249517c78e59ce7e") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-live-preview"))]) - (live-py-mode . [(20220404 0) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "b6583c0c845e3ef607d57e35a009255d630df2c1") (:authors ("Don Kirkby http://donkirkby.github.io")) (:maintainer "Don Kirkby http://donkirkby.github.io") (:keywords "live" "coding") (:url . "http://donkirkby.github.io/live-py-plugin/"))]) + (live-py-mode . [(20220518 204) ((emacs (24 3))) "Live Coding in Python" tar ((:commit . "a97e83f5dc9101359beadc0bc409a9bda79e91eb") (:authors ("Don Kirkby http://donkirkby.github.io")) (:maintainer "Don Kirkby http://donkirkby.github.io") (:keywords "live" "coding") (:url . "http://donkirkby.github.io/live-py-plugin/"))]) (lively . [(20171005 754) nil "interactively updating text" single ((:commit . "348675828c6a81bfa1ac311ca465aad813542c1b") (:authors ("Luke Gorrie" . "luke@bup.co.nz")) (:maintainer "Steve Purcell" . "steve@sanityinc.com"))]) (livereload . [(20170629 650) ((emacs (25)) (websocket (1 8))) "Livereload server" tar ((:commit . "1e501d7e46dbd476c2c7cc9d20b5ac9d41fb1955") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "convenience"))]) (livescript-mode . [(20140613 421) nil "Major mode for editing LiveScript files" single ((:commit . "90a918d9686e256e6d4d439cc20f24dad8d3b804") (:authors ("Hisamatsu Yasuyuki" . "yas@null.net")) (:maintainer "Hisamatsu Yasuyuki" . "yas@null.net") (:keywords "languages" "livescript") (:url . "https://github.com/yhisamatsu/livescript-mode"))]) (livid-mode . [(20131116 1344) ((skewer-mode (1 5 3)) (s (1 8 0))) "Live browser eval of JavaScript every time a buffer changes" single ((:commit . "dfe5212fa64738bc4138bfebf349fbc8bc237c26") (:authors ("Murphy McMahon")) (:maintainer "Murphy McMahon") (:url . "https://github.com/pandeiro/livid-mode"))]) (ll-debug . [(20211002 1031) ((emacs (24 3))) "Low level debug tools" single ((:commit . "a2cfeab46e5100c348b35987fae34f9ea76d7c0b") (:authors ("Claus Brunzema" . "mail@cbrunzema.de")) (:maintainer "Claus Brunzema" . "mail@cbrunzema.de") (:keywords "abbrev" "convenience" "tools" "c" "lisp") (:url . "https://github.com/replrep/ll-debug"))]) - (llama . [(20211118 1847) ((seq (2 20))) "Anonymous function literals" single ((:commit . "22278a95474ccd665f84c16aa8760534ced9b150") (:keywords "extensions") (:url . "https://git.sr.ht/~tarsius/llama"))]) + (llama . [(20220428 1405) ((seq (2 20))) "Anonymous function literals" single ((:commit . "3dd1d99ebc99aa39b165569b3d02a87368d4849a") (:keywords "extensions") (:url . "https://git.sr.ht/~tarsius/llama"))]) (lms . [(20210820 2200) ((emacs (25 1))) "Squeezebox / Logitech Media Server frontend" single ((:commit . "05c8fd16ff94590393b6b0a9cb193ec9572a9c97") (:authors ("Iñigo Serna" . "inigoserna@gmx.com")) (:maintainer "Iñigo Serna" . "inigoserna@gmx.com") (:keywords "multimedia") (:url . "https://hg.serna.eu/emacs/lms"))]) (load-bash-alias . [(20220108 2103) ((emacs (24 1)) (seq (2 16))) "Convert bash aliases into eshell ones" single ((:commit . "968f037eff48ceca15fd135738051c48ab14cfd6") (:authors ("Davide Restivo" . "davide.restivo@yahoo.it")) (:maintainer "Davide Restivo" . "davide.restivo@yahoo.it") (:keywords "emacs" "bash" "eshell" "alias") (:url . "https://github.com/daviderestivo/load-bash-alias"))]) (load-env-vars . [(20180511 2210) ((emacs (24))) "Load environment variables from files" single ((:commit . "3808520efaf9492033f6e11a9bffd68eabf02a0f") (:authors ("Jorge Dias" . "jorge@mrdias.com")) (:maintainer "Jorge Dias" . "jorge@mrdias.com") (:keywords "lisp") (:url . "https://github.com/diasjorge/emacs-load-env-vars"))]) @@ -2828,65 +2860,68 @@ (log4j-mode . [(20160108 1918) nil "major mode for viewing log files" single ((:commit . "26171b1e723502055e085393b0ecdcb6db406010") (:authors ("Johan Dykstrom" . "jody4711-sf@yahoo.se")) (:maintainer "Johan Dykstrom" . "jody4711-sf@yahoo.se") (:keywords "tools") (:url . "http://log4j-mode.sourceforge.net"))]) (logalimacs . [(20131021 1829) ((popwin (0 6 2)) (popup (0 5 0)) (stem (20130120))) "Front-end to logaling-command for Ruby gems" single ((:commit . "8286e39502250fc6c3c6656a7f46a8eee8e9a713") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "translation" "logaling-command") (:url . "https://github.com/logaling/logalimacs"))]) (logito . [(20201226 534) ((emacs (25 1))) "logging library for Emacs" single ((:commit . "d5934ce10ba3a70d3fcfb94d742ce3b9136ce124") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "lisp" "extensions"))]) - (logms . [(20210721 349) ((emacs (27 1)) (f (0 20 0)) (s (1 9 0)) (ht (2 3))) "Log message with clickable links to context" single ((:commit . "41b72dcb280a2742952e998e25ebb6a091241c14") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/logms"))]) + (logms . [(20220704 654) ((emacs (27 1)) (f (0 20 0)) (s (1 9 0)) (ht (2 3))) "Log message with clickable links to context" single ((:commit . "c5c2e8c3850417d8c1b0733b77a364002805863c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "maint" "debug" "log") (:url . "https://github.com/jcs-elpa/logms"))]) (lognav-mode . [(20220410 1344) ((emacs (24 3))) "Navigate Log Error Messages" single ((:commit . "100541ec31468b771073a7d2ad4512c1dcb1eb07") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:keywords "log" "error" "lognav-mode" "convenience") (:url . "https://hg.osdn.net/view/lognav-mode/lognav-mode"))]) (logpad . [(20201113 917) nil "Simulate Windows Notepad for logging." single ((:commit . "166543873e665936b468d9f120155cce515da3f8") (:authors ("Sven Knurr" . "git@tuxproject.de")) (:maintainer "Sven Knurr" . "git@tuxproject.de") (:keywords "files" "outlines" "notepad") (:url . "https://github.com/dertuxmalwieder/logpad.el"))]) (logstash-conf . [(20210123 1949) nil "basic mode for editing logstash configuration" single ((:commit . "ebc4731c45709ad1e0526f4f4164020ae83cbeff") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) - (logview . [(20201014 2033) ((emacs (24 4)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "5a543c53d04d32f0adcc023253888198e0b69589") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "files" "tools") (:url . "https://github.com/doublep/logview"))]) + (logview . [(20220609 2003) ((emacs (25 1)) (datetime (0 6 1)) (extmap (1 0))) "Major mode for viewing log files" single ((:commit . "6446ccf25f834519d7f5c71e5293b062d599b355") (:authors ("Paul Pogonyshev" . "pogonyshev@gmail.com")) (:maintainer "Paul Pogonyshev" . "pogonyshev@gmail.com") (:keywords "files" "tools") (:url . "https://github.com/doublep/logview"))]) (lol-data-dragon . [(20200705 1822) ((emacs (25 1))) "Browse Champions of League of Legends on Data Dragon" single ((:commit . "0deec9867bd7ba96220ee2968a9b2a94fd474431") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "games" "hypermedia") (:url . "https://github.com/xuchunyang/lol-data-dragon.el"))]) (lolcat . [(20190527 1145) ((emacs (24 3))) "Rainbows and unicorns!" single ((:commit . "4855e587a3b9681c077dac4b9f166dd860f439a4") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:url . "https://github.com/xuchunyang/lolcat.el"))]) (lolcode-mode . [(20111002 847) nil "Major mode for editing LOLCODE" single ((:commit . "1914f1ba87587ecf5f175eeb2144c28e9f039317") (:authors ("Bodil Stokke" . "lolcode@bodil.tv")) (:maintainer "Bodil Stokke" . "lolcode@bodil.tv") (:keywords "lolcode" "major" "mode") (:url . "http://github.com/bodil/lolcode-mode"))]) (look-dired . [(20160729 2323) ((look-mode (1 0))) "Extensions to look-mode for dired buffers" single ((:commit . "9bfa4e5e6f3810705b6426c88493ea0bf6b15640") (:authors ("Joe Bloggs" . "vapniks@yahoo.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "convenience") (:url . "https://github.com/vapniks/look-dired"))]) - (look-mode . [(20220313 2103) nil "quick file viewer for image and text file browsing" single ((:commit . "4ab32794b07f77b1d243dc07239c417f20cab7b8") (:authors ("Peter H. Mao " . "petermao@jpl.nasa.gov")) (:maintainer "Peter H. Mao " . "petermao@jpl.nasa.gov"))]) + (look-mode . [(20220626 641) nil "quick file viewer for image and text file browsing" single ((:commit . "726c5b9098926278603a83e978b488371c0e9143") (:authors ("Peter H. Mao " . "petermao@jpl.nasa.gov")) (:maintainer "Peter H. Mao " . "petermao@jpl.nasa.gov"))]) (loop . [(20160813 1407) nil "friendly imperative loop structures" single ((:commit . "9db6372791bbd0cf3fa907ed0ae3e6b7bcf6cc57") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "loop" "while" "for each" "break" "continue"))]) - (loophole . [(20220311 1130) ((emacs (27 1))) "Manage temporary key bindings" single ((:commit . "bd93fcd42fc2db76bf6bc3fbb4eb7401444bd04d") (:authors ("0x60DF" . "0x60df@gmail.com")) (:maintainer "0x60DF" . "0x60df@gmail.com") (:keywords "convenience") (:url . "https://github.com/0x60df/loophole"))]) - (loopy . [(20220330 127) ((emacs (27 1)) (map (3 0)) (seq (2 22))) "A looping macro" tar ((:commit . "cd49433244ef450a1dd10a65a7839076d61bdcf1") (:authors ("Earl Hyatt")) (:maintainer "Earl Hyatt") (:keywords "extensions") (:url . "https://github.com/okamsn/loopy"))]) - (loopy-dash . [(20220330 127) ((emacs (25 1)) (loopy (0 10 1)) (dash (2 19))) "Dash destructuring for `loopy'" single ((:commit . "cd49433244ef450a1dd10a65a7839076d61bdcf1") (:authors ("Earl Hyatt")) (:maintainer "Earl Hyatt") (:keywords "extensions") (:url . "https://github.com/okamsn/loopy"))]) + (loophole . [(20220611 1100) ((emacs (27 1))) "Manage temporary key bindings" single ((:commit . "f7e9cca980b7467a03d9a161a5e9e5a828bfd6c9") (:authors ("0x60DF" . "0x60df@gmail.com")) (:maintainer "0x60DF" . "0x60df@gmail.com") (:keywords "convenience") (:url . "https://github.com/0x60df/loophole"))]) + (loopy . [(20220731 202) ((emacs (27 1)) (map (3 0)) (seq (2 22))) "A looping macro" tar ((:commit . "10a9be5f0b143dee454bb64d2b5146e4509553d6") (:authors ("Earl Hyatt")) (:maintainer "Earl Hyatt") (:keywords "extensions") (:url . "https://github.com/okamsn/loopy"))]) + (loopy-dash . [(20220330 127) ((emacs (25 1)) (loopy (0 10 1)) (dash (2 19))) "Dash destructuring for `loopy'" single ((:commit . "10a9be5f0b143dee454bb64d2b5146e4509553d6") (:authors ("Earl Hyatt")) (:maintainer "Earl Hyatt") (:keywords "extensions") (:url . "https://github.com/okamsn/loopy"))]) (lorem-ipsum . [(20190819 2042) nil "Insert dummy pseudo Latin text." single ((:commit . "da75c155da327c7a7aedb80f5cfe409984787049") (:authors ("Jean-Philippe Theberge" . "jphil21@sourceforge.net")) (:maintainer "Joe Schafer" . "joe@jschaf.com") (:keywords "tools" "language" "convenience"))]) (lox-mode . [(20200619 1700) ((emacs (24 3))) "Major mode for the Lox programming language" single ((:commit . "b6935b3f5b131d2c1c7685cf6464274f7cd64943") (:authors ("Timmy Jose" . "zoltan.jose@gmail.com")) (:maintainer "Timmy Jose" . "zoltan.jose@gmail.com") (:keywords "languages" "lox") (:url . "https://github.com/timmyjose-projects/lox-mode"))]) (lpy . [(20201027 1425) ((emacs (25 1)) (lispy (0 27 0))) "A lispy interface to Python" tar ((:commit . "076ce9acb68f6ac1b39127b634a91ffd865d13d8") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "python" "lisp") (:url . "https://github.com/abo-abo/lpy"))]) - (lsp-dart . [(20220425 1211) ((emacs (26 3)) (lsp-treemacs (0 3)) (lsp-mode (7 0 1)) (dap-mode (0 6)) (f (0 20 0)) (dash (2 14 1)) (dart-mode (1 0 5))) "Dart support lsp-mode" tar ((:commit . "a1336f196daf6048c48681f5fe3e77bf46fd5a1d") (:keywords "languages" "extensions") (:url . "https://emacs-lsp.github.io/lsp-dart"))]) - (lsp-docker . [(20211203 1659) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (6 2 1)) (f (0 20 0)) (yaml (0 2 0)) (ht (2 0))) "LSP Docker integration" single ((:commit . "c2da2a65cb11e92d23c480dcc12387aa53997181") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "languages" "langserver") (:url . "https://github.com/emacs-lsp/lsp-docker"))]) + (lsp-cfn . [(20220707 824) ((emacs (27 0)) (lsp-mode (8 0 0)) (yaml-mode (0 0 15))) "LSP integration for cfn-lsp-extra" tar ((:commit . "8228864e0b16f7107300fb6b8ba595bb84f016fd") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:url . "https://github.com/LaurenceWarne/lsp-cfn.el"))]) + (lsp-dart . [(20220717 1834) ((emacs (26 3)) (lsp-treemacs (0 3)) (lsp-mode (7 0 1)) (dap-mode (0 6)) (f (0 20 0)) (dash (2 14 1)) (dart-mode (1 0 5))) "Dart support lsp-mode" tar ((:commit . "a312fe8cd941b641216d4654da2e8be82b16d611") (:keywords "languages" "extensions") (:url . "https://emacs-lsp.github.io/lsp-dart"))]) + (lsp-docker . [(20220513 1434) ((emacs (26 1)) (dash (2 14 1)) (lsp-mode (6 2 1)) (f (0 20 0)) (yaml (0 2 0)) (ht (2 0))) "LSP Docker integration" single ((:commit . "a0d7cbf80652429c0be4dc7d39e1887ba4691ec7") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "languages" "langserver") (:url . "https://github.com/emacs-lsp/lsp-docker"))]) (lsp-focus . [(20200906 1917) ((emacs (26 1)) (focus (0 1 1)) (lsp-mode (6 1))) "focus.el support for lsp-mode" single ((:commit . "d01f0af156e4e78dcb9fa8e080a652cf8f221d30") (:authors ("Vibhav Pant")) (:maintainer "Vibhav Pant") (:keywords "languages" "lsp-mode") (:url . "https://github.com/emacs-lsp/lsp-focus"))]) - (lsp-grammarly . [(20220222 638) ((emacs (27 1)) (lsp-mode (6 1)) (grammarly (0 3 0)) (request (0 3 0)) (s (1 12 0)) (ht (2 3))) "LSP Clients for Grammarly" single ((:commit . "1e2aff23dfaf419bfae66718761a0eddbd6f613e") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-grammarly/lsp-grammarly"))]) - (lsp-haskell . [(20220307 2312) ((emacs (24 3)) (lsp-mode (3 0))) "Haskell support for lsp-mode" single ((:commit . "7cf64944ab3a25ea5d6f8d5e0cd33124182df991") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))]) + (lsp-grammarly . [(20220704 626) ((emacs (27 1)) (lsp-mode (6 1)) (grammarly (0 3 0)) (request (0 3 0)) (s (1 12 0)) (ht (2 3))) "LSP Clients for Grammarly" single ((:commit . "ece2c7d8c119213d4622deca756f4affedbabc42") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "lsp" "grammarly" "checker") (:url . "https://github.com/emacs-grammarly/lsp-grammarly"))]) + (lsp-haskell . [(20220307 2312) ((emacs (24 3)) (lsp-mode (3 0))) "Haskell support for lsp-mode" single ((:commit . "daa51072e1718ca075987901fccbbc2357bca1fc") (:keywords "haskell") (:url . "https://github.com/emacs-lsp/lsp-haskell"))]) (lsp-intellij . [(20180831 2051) ((emacs (25 1)) (lsp-mode (4 1))) "intellij lsp client" single ((:commit . "cf30f0ac63bd0140e758840b8ab070e8313697b2") (:authors ("Ruin0x11" . "ipickering2@gmail.com")) (:maintainer "Ruin0x11" . "ipickering2@gmail.com") (:keywords "languages" "processes" "tools") (:url . "https://github.com/Ruin0x11/lsp-intellij"))]) (lsp-ivy . [(20210904 2043) ((emacs (25 1)) (dash (2 14 1)) (lsp-mode (6 2 1)) (ivy (0 13 0))) "LSP ivy integration" single ((:commit . "3e87441a625d65ced5a208a0b0442d573596ffa3") (:keywords "languages" "debug") (:url . "https://github.com/emacs-lsp/lsp-ivy"))]) - (lsp-java . [(20220325 547) ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (request (0 3 0)) (treemacs (2 5)) (dap-mode (0 5))) "Java support for lsp-mode" tar ((:commit . "0968038b9aea52ef3bf499e597cf3800d913c059") (:keywords "languague" "tools") (:url . "https://github.com/emacs-lsp/lsp-java"))]) + (lsp-java . [(20220623 455) ((emacs (25 1)) (lsp-mode (6 0)) (markdown-mode (2 3)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (request (0 3 0)) (treemacs (2 5)) (dap-mode (0 5))) "Java support for lsp-mode" tar ((:commit . "a1aff851bcf4f397f2a968557d213db1fede0c8a") (:keywords "languague" "tools") (:url . "https://github.com/emacs-lsp/lsp-java"))]) (lsp-javacomp . [(20190124 1755) ((emacs (25 1)) (lsp-mode (3 0)) (s (1 2 0))) "Provide Java IDE features powered by JavaComp." single ((:commit . "82aa4ad6ca03a74565c35e855b318b1887bcd89b") (:keywords "java" "tools" "lsp") (:url . "https://github.com/tigersoldier/lsp-javacomp"))]) - (lsp-jedi . [(20220407 406) ((emacs (25 1)) (lsp-mode (6 0))) "Lsp client plugin for Python Jedi Language Server" single ((:commit . "b22927b2b51bde8692e70ea60cbb90ff4bfaffb4") (:authors ("Fred Campos" . "fred.tecnologia@gmail.com")) (:maintainer "Fred Campos") (:keywords "language-server" "tools" "python" "jedi" "ide") (:url . "http://github.com/fredcamps/lsp-jedi"))]) + (lsp-jedi . [(20220430 18) ((emacs (25 1)) (lsp-mode (6 0))) "Lsp client plugin for Python Jedi Language Server" single ((:commit . "5e3eb3e160c2d38b8bd2b5cd3b86fa4f823f9330") (:authors ("Fred Campos" . "fred.tecnologia@gmail.com")) (:maintainer "Fred Campos") (:keywords "language-server" "tools" "python" "jedi" "ide") (:url . "http://github.com/fredcamps/lsp-jedi"))]) (lsp-julia . [(20211229 1534) ((emacs (25 1)) (lsp-mode (6 3)) (julia-mode (0 3))) "Julia support for lsp-mode" tar ((:commit . "d6688bb131ff4a5a0201f6d3826ef0b018265389") (:authors ("Martin Wolke" . "vibhavp@gmail.com") ("Adam Beckmeyer" . "adam_git@thebeckmeyers.xyz") ("Guido Kraemer" . "gdkrmr@users.noreply.github.com")) (:maintainer "Guido Kraemer" . "gdkrmr@users.noreply.github.com") (:keywords "languages" "tools") (:url . "https://github.com/gdkrmr/lsp-julia"))]) (lsp-latex . [(20210815 1426) ((emacs (25 1)) (lsp-mode (6 0))) "LSP-mode client for LaTeX, on texlab" single ((:commit . "3f6b2ac9585682828eef81f895757f74cfba7309") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "languages" "tex") (:url . "https://github.com/ROCKTAKEY/lsp-latex"))]) - (lsp-ltex . [(20220222 656) ((emacs (26 1)) (lsp-mode (6 1))) "LSP Clients for LTEX" single ((:commit . "e13bedf0032d376e1e28026abda5970bbbdb636d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/emacs-languagetool/lsp-ltex"))]) - (lsp-metals . [(20220330 1958) ((emacs (26 1)) (scala-mode (1 1)) (lsp-mode (7 0)) (lsp-treemacs (0 2)) (dap-mode (0 3)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5))) "Scala Client settings" tar ((:commit . "b7f77de69431786c54e9a57845e4f2d75fbee053") (:authors ("Ross A. Baker" . "ross@rossabaker.com") ("Evgeny Kurnevsky" . "kurnevsky@gmail.com")) (:maintainer "Ross A. Baker" . "ross@rossabaker.com") (:keywords "languages" "extensions") (:url . "https://github.com/emacs-lsp/lsp-metals"))]) - (lsp-mode . [(20220424 1824) ((emacs (26 1)) (dash (2 18 0)) (f (0 20 0)) (ht (2 3)) (spinner (1 7 3)) (markdown-mode (2 3)) (lv (0))) "LSP mode" tar ((:commit . "fd1a431b3d50ab1426681bce2d5c4ff8c9c6301e") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:keywords "languages") (:url . "https://github.com/emacs-lsp/lsp-mode"))]) - (lsp-mssql . [(20191204 1150) ((emacs (25 1)) (lsp-mode (6 2)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (lsp-treemacs (0 1))) "MSSQL LSP bindings" tar ((:commit . "88319a61a06e27fc1d3ea2e7b853ec1692b4c166") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "data" "languages") (:url . "https://github.com/emacs-lsp/lsp-mssql"))]) - (lsp-origami . [(20211016 1045) ((origami (1 0)) (lsp-mode (6 1))) "origami.el support for lsp-mode" single ((:commit . "5b88ab77dc2696c93fa5dd9debe183821c533b71") (:authors ("Vibhav Pant")) (:maintainer "Vibhav Pant") (:keywords "languages" "lsp-mode") (:url . "https://github.com/emacs-lsp/lsp-origami"))]) + (lsp-ltex . [(20220802 1532) ((emacs (27 1)) (lsp-mode (6 1))) "LSP Clients for LTEX" single ((:commit . "5c26bae674990537b512da00a8b00e69d8e38e01") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "lsp" "languagetool" "checker") (:url . "https://github.com/emacs-languagetool/lsp-ltex"))]) + (lsp-metals . [(20220715 2128) ((emacs (26 1)) (scala-mode (1 1)) (lsp-mode (7 0)) (lsp-treemacs (0 2)) (dap-mode (0 3)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5))) "Scala Client settings" tar ((:commit . "097d6021a4ff0eae704cc3074e064c9509c5cafc") (:authors ("Ross A. Baker" . "ross@rossabaker.com") ("Evgeny Kurnevsky" . "kurnevsky@gmail.com")) (:maintainer "Ross A. Baker" . "ross@rossabaker.com") (:keywords "languages" "extensions") (:url . "https://github.com/emacs-lsp/lsp-metals"))]) + (lsp-mode . [(20220804 1407) ((emacs (26 1)) (dash (2 18 0)) (f (0 20 0)) (ht (2 3)) (spinner (1 7 3)) (markdown-mode (2 3)) (lv (0))) "LSP mode" tar ((:commit . "0f56580e98eb8d4fed32bebd62281249604735b3") (:authors ("Vibhav Pant, Fangrui Song, Ivan Yonchovski")) (:maintainer "Vibhav Pant, Fangrui Song, Ivan Yonchovski") (:keywords "languages") (:url . "https://github.com/emacs-lsp/lsp-mode"))]) + (lsp-mssql . [(20191204 1150) ((emacs (25 1)) (lsp-mode (6 2)) (dash (2 14 1)) (f (0 20 0)) (ht (2 0)) (lsp-treemacs (0 1))) "MSSQL LSP bindings" tar ((:commit . "8d5d4d4a7f72b4cae89a48ea8618f3ef28bcb121") (:authors ("Ivan Yonchovski" . "yyoncho@gmail.com")) (:maintainer "Ivan Yonchovski" . "yyoncho@gmail.com") (:keywords "data" "languages") (:url . "https://github.com/emacs-lsp/lsp-mssql"))]) + (lsp-origami . [(20211016 1045) ((origami (1 0)) (lsp-mode (6 1))) "origami.el support for lsp-mode" single ((:commit . "7df9c91a309aa4229bec41f109920b37c4197618") (:authors ("Vibhav Pant")) (:maintainer "Vibhav Pant") (:keywords "languages" "lsp-mode") (:url . "https://github.com/emacs-lsp/lsp-origami"))]) (lsp-p4 . [(20190127 1049) ((lsp-mode (3 0))) "P4 support for lsp-mode" tar ((:commit . "669460d93b87fb876df11b2b68229677e7ad1a26") (:authors ("Dmitri Makarov")) (:maintainer "Dmitri Makarov") (:keywords "lsp" "p4") (:url . "https://github.com/dmakarov/p4ls"))]) (lsp-pascal . [(20200422 1610) ((emacs (24 4)) (lsp-mode (6 3))) "LSP client for Pascal" single ((:commit . "b132bdf66748e4abe0d4140f6d061b1ccd56082a") (:authors ("Arjan Adriaanse" . "arjan@adriaan.se")) (:maintainer "Arjan Adriaanse" . "arjan@adriaan.se") (:keywords "languages" "tools") (:url . "https://github.com/arjanadriaanse/lsp-pascal"))]) (lsp-pyre . [(20190406 335) ((lsp-mode (6 0))) "lsp-mode client for python using pyre" single ((:commit . "e177b8f5efd1a955b5753aeb5d1894e6d21be35a") (:authors ("John Allen" . "oss@porcnick.com")) (:maintainer "John Allen" . "oss@porcnick.com") (:url . "https://github.com/jra3/lsp-pyre"))]) - (lsp-pyright . [(20220411 1753) ((emacs (26 1)) (lsp-mode (7 0)) (dash (2 18 0)) (ht (2 0))) "Python LSP client using Pyright" single ((:commit . "34cb61b1fee1d87890f3ea9f63b1934ae7c917d6") (:authors ("Arif Rezai, Vincent Zhang, Andrew Christianson")) (:maintainer "Arif Rezai, Vincent Zhang, Andrew Christianson") (:keywords "languages" "tools" "lsp") (:url . "https://github.com/emacs-lsp/lsp-pyright"))]) + (lsp-pyright . [(20220614 1545) ((emacs (26 1)) (lsp-mode (7 0)) (dash (2 18 0)) (ht (2 0))) "Python LSP client using Pyright" single ((:commit . "c745228f39fdb35372b29b909f25fa6c98dc7c88") (:authors ("Arif Rezai, Vincent Zhang, Andrew Christianson")) (:maintainer "Arif Rezai, Vincent Zhang, Andrew Christianson") (:keywords "languages" "tools" "lsp") (:url . "https://github.com/emacs-lsp/lsp-pyright"))]) (lsp-python-ms . [(20211204 1209) ((emacs (25 1)) (lsp-mode (6 1))) "The lsp-mode client for Microsoft python-language-server" single ((:commit . "f8e7c4bcaefbc3fd96e1ca53d17589be0403b828") (:authors ("Charl Botha")) (:maintainer "Andrew Christianson, Vincent Zhang") (:keywords "languages" "tools") (:url . "https://github.com/emacs-lsp/lsp-python-ms"))]) (lsp-rescript . [(20220314 1957) ((lsp-mode (7 0 1)) (emacs (25 1)) (rescript-mode (0 1))) "LSP client configuration for lsp-mode and rescript-vscode" single ((:commit . "7baf9adf10234cf964feefae99050268e9bc5681") (:authors ("John Lee")) (:maintainer "John Lee") (:keywords "languages") (:url . "https://github.com/jjlee/lsp-rescript"))]) - (lsp-sonarlint . [(20210820 2044) ((emacs (25)) (dash (2 12 0)) (lsp-mode (6 3)) (ht (2 3))) "Emacs Sonarlint lsp client" tar ((:commit . "3af97828f9c08d782fb2086e3a73bda5759e6788") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:keywords "languages" "tools" "php" "javascript" "xml" "ruby" "html" "scala" "java" "python") (:url . "https://github.com/emacs-lsp/lsp-sonarlint"))]) - (lsp-sourcekit . [(20210905 2017) ((emacs (25 1)) (lsp-mode (5))) "sourcekit-lsp client for lsp-mode" single ((:commit . "97ff36b228a61e69734c7180f33cc6951b1a600f") (:authors ("Daniel Martín")) (:maintainer "Daniel Martín") (:keywords "languages" "lsp" "swift" "objective-c" "c++") (:url . "https://github.com/emacs-lsp/lsp-sourcekit"))]) - (lsp-tailwindcss . [(20211211 248) ((lsp-mode (7 1)) (emacs (26 1))) "A lsp-mode client for tailwindcss" single ((:commit . "010318052021ec041727e58e41752af094c8827a") (:authors ("A.I." . "merrick@luois.me")) (:maintainer "A.I." . "merrick@luois.me") (:keywords "language" "tools") (:url . "https://github.com/merrickluo/lsp-tailwindcss"))]) - (lsp-treemacs . [(20220328 625) ((emacs (26 1)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5)) (lsp-mode (6 0))) "LSP treemacs" tar ((:commit . "355e468b7fa9887c616a8bfe873d8e456303b67b") (:authors ("Ivan Yonchovski")) (:maintainer "Ivan Yonchovski") (:keywords "languages") (:url . "https://github.com/emacs-lsp/lsp-treemacs"))]) - (lsp-ui . [(20220425 1046) ((emacs (26 1)) (dash (2 18 0)) (lsp-mode (6 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "6cd0409de6ca59c02d752b8e543bb5eaa61357e4") (:authors ("Sebastien Chapuis , Fangrui Song" . "i@maskray.me")) (:maintainer "Sebastien Chapuis , Fangrui Song" . "i@maskray.me") (:keywords "languages" "tools") (:url . "https://github.com/emacs-lsp/lsp-ui"))]) - (lua-mode . [(20210809 1320) ((emacs (24 3))) "a major-mode for editing Lua scripts" single ((:commit . "5a9bee8d5fc978dc64fcb677167417010321ba65") (: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") (:keywords "languages" "processes" "tools") (:url . "https://immerrr.github.io/lua-mode"))]) + (lsp-scheme . [(20220804 1433) ((emacs (25 1)) (f (0 20 0)) (lsp-mode (8 0 0))) "Scheme support for lsp-mode" tar ((:commit . "55783a92c65bfabcb8252f4db0c1099e2b31d8d9") (:authors ("Ricardo G. Herdt" . "r.herdt@posteo.de")) (:maintainer "Ricardo G. Herdt" . "r.herdt@posteo.de") (:keywords "languages" "lisp" "tools") (:url . "https://codeberg.org/rgherdt/emacs-lsp-scheme"))]) + (lsp-sonarlint . [(20210820 2044) ((emacs (25)) (dash (2 12 0)) (lsp-mode (6 3)) (ht (2 3))) "Emacs Sonarlint lsp client" tar ((:commit . "a429be2aea7797369a3c751ef54e3554733117be") (:authors ("Fermin MF" . "fmfs@posteo.net")) (:maintainer "Fermin MF" . "fmfs@posteo.net") (:keywords "languages" "tools" "php" "javascript" "xml" "ruby" "html" "scala" "java" "python") (:url . "https://github.com/emacs-lsp/lsp-sonarlint"))]) + (lsp-sourcekit . [(20210905 2017) ((emacs (25 1)) (lsp-mode (5))) "sourcekit-lsp client for lsp-mode" single ((:commit . "f877659babd3b5f8ec09a8ad7d08193d95b6822e") (:authors ("Daniel Martín")) (:maintainer "Daniel Martín") (:keywords "languages" "lsp" "swift" "objective-c" "c++") (:url . "https://github.com/emacs-lsp/lsp-sourcekit"))]) + (lsp-tailwindcss . [(20220601 1509) ((lsp-mode (7 1)) (f (0 20 0)) (emacs (26 1))) "A lsp-mode client for tailwindcss" single ((:commit . "09377d5bbb742f11c458481905ddbb022dd2b0da") (:authors ("A.I." . "merrick@luois.me")) (:maintainer "A.I." . "merrick@luois.me") (:keywords "language" "tools") (:url . "https://github.com/merrickluo/lsp-tailwindcss"))]) + (lsp-treemacs . [(20220502 459) ((emacs (26 1)) (dash (2 18 0)) (f (0 20 0)) (ht (2 0)) (treemacs (2 5)) (lsp-mode (6 0))) "LSP treemacs" tar ((:commit . "9859326df6b8e8c954a3c227e53b6878e54aaae8") (:authors ("Ivan Yonchovski")) (:maintainer "Ivan Yonchovski") (:keywords "languages") (:url . "https://github.com/emacs-lsp/lsp-treemacs"))]) + (lsp-ui . [(20220723 1213) ((emacs (26 1)) (dash (2 18 0)) (lsp-mode (6 0)) (markdown-mode (2 3))) "UI modules for lsp-mode" tar ((:commit . "8d4fa5a14f5b5c6f57bc69f454eba6861ed2ba9f") (:authors ("Sebastien Chapuis , Fangrui Song" . "i@maskray.me")) (:maintainer "Sebastien Chapuis , Fangrui Song" . "i@maskray.me") (:keywords "languages" "tools") (:url . "https://github.com/emacs-lsp/lsp-ui"))]) + (lua-mode . [(20220801 503) ((emacs (24 3))) "a major-mode for editing Lua scripts" single ((:commit . "d17a00ca50aee197cd017d573b83367eb241cc44") (: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") (:keywords "languages" "processes" "tools") (:url . "https://immerrr.github.io/lua-mode"))]) (luarocks . [(20170430 2305) ((emacs (24)) (cl-lib (0 5))) "luarocks tools" single ((:commit . "cee27ba0716edf338077387969883226dd2b7484") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/luarocks.el"))]) (lush-theme . [(20180816 2200) ((emacs (24))) "A dark theme with lush colors" single ((:commit . "645e1959143532df8f7ef90e1184e9556df18af7") (:authors ("Andre Richter" . "andre.o.richter@gmail.com")) (:maintainer "Andre Richter" . "andre.o.richter@gmail.com") (:keywords "theme" "dark" "strong colors") (:url . "https://github.com/andre-richter/emacs-lush-theme"))]) (lusty-explorer . [(20200602 228) ((emacs (25 1))) "Dynamic filesystem explorer and buffer switcher" single ((:commit . "a746514ccd8df71fc920ba8ad0aa8dca58702631") (:keywords "convenience" "files" "matching" "tools") (:url . "https://github.com/sjbach/lusty-emacs"))]) - (lux-mode . [(20220328 1301) ((emacs (24 3))) "Major mode for editing lux files" single ((:commit . "924dcda3e4212c0b28e8ce140b9d8e9a1117c5ef") (:authors ("Håkan Mattsson")) (:maintainer "Håkan Mattsson") (:url . "https://github.com/hawk/lux"))]) + (lux-mode . [(20220328 1301) ((emacs (24 3))) "Major mode for editing lux files" single ((:commit . "3e72cd3474d2668199aec7d2549d852ffe65c8bf") (:authors ("Håkan Mattsson")) (:maintainer "Håkan Mattsson") (:url . "https://github.com/hawk/lux"))]) (lv . [(20200507 1518) nil "Other echo area" single ((:commit . "9e9e00cb240ea1903ffd36a54956b3902c379d29") (:authors ("Oleh Krehel")) (:maintainer "Oleh Krehel"))]) (lxc . [(20140410 2022) nil "lxc integration with Emacs" single ((:commit . "88bed56c954d1edd9ff5ce0ced2c02dcf9f71835") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "processes") (:url . "https://github.com/nicferrier/emacs-lxc"))]) (lxc-tramp . [(20200414 1445) ((emacs (24)) (cl-lib (0 6))) "TRAMP integration for LXC containers" single ((:commit . "1585e55a5deb89e2f4e30a0ad9e0f121d1e0ebcb") (:authors ("montag451")) (:maintainer "montag451") (:keywords "lxc" "convenience") (:url . "https://github.com/montag451/lxc-tramp"))]) (lxd-tramp . [(20181023 7) ((emacs (24 4)) (cl-lib (0 6))) "TRAMP integration for LXD containers" single ((:commit . "f335c76245f62b02cf67a9376eca6f3863c8a75a") (:authors ("Yc.S" . "onixie@gmail.com")) (:maintainer "Yc.S" . "onixie@gmail.com") (:keywords "lxd" "lxc" "convenience") (:url . "https://github.com/onixie/lxd-tramp.git"))]) (lyrics . [(20220206 116) ((emacs (25 1)) (seq (2 15))) "Show lyrics" single ((:commit . "c3d42f1e039941f32f49252e1b1610de337b4470") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/lyrics.el"))]) - (lyrics-fetcher . [(20220207 1326) ((emacs (27)) (emms (7 5)) (f (0 20 0)) (request (0 3 2))) "Fetch song lyrics and album covers" tar ((:commit . "06bd0293dfa759df48faefd73be60d43d1febd17") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/lyrics-fetcher.el"))]) - (m-buffer . [(20170407 2141) ((seq (2 14))) "List-Oriented, Functional Buffer Manipulation" tar ((:commit . "8681342aaffa187e5c54945ab91b812965a96d19") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.rg.uk"))]) + (lyrics-fetcher . [(20220717 1716) ((emacs (27)) (emms (7 5)) (f (0 20 0)) (request (0 3 2))) "Fetch song lyrics and album covers" tar ((:commit . "a3be34b0153c2c056dc4b55bbc5fbdc2d9f87549") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/lyrics-fetcher.el"))]) + (m-buffer . [(20220719 1850) ((seq (2 14))) "List-Oriented, Functional Buffer Manipulation" tar ((:commit . "ecdc61282155739acd6b03233d5733e1ad57da1b") (:authors ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "phillip.lord@russet.rg.uk"))]) (mac-pseudo-daemon . [(20200215 513) ((cl-lib (0 1))) "Daemon mode that plays nice with Mac OS." single ((:commit . "94240ebb716f11af8427b6295c3f44c0c43419d3") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:keywords "convenience" "osx" "mac") (:url . "https://github.com/DarwinAwardWinner/osx-pseudo-daemon"))]) (maces-game . [(20170903 1551) ((dash (2 12 0)) (cl-lib (0 5)) (emacs (24))) "another anagram game." tar ((:commit . "c0fb795f5642467ea528d2f04d904547e8a77ecd") (:authors ("Pawel Bokota" . "pawelb.lnx@gmail.com")) (:maintainer "Pawel Bokota" . "pawelb.lnx@gmail.com") (:keywords "games" "word games" "anagram") (:url . "https://github.com/pawelbx/anagram-game"))]) + (macports . [(20220730 1035) ((emacs (25 1)) (transient (0 1 0))) "A porcelain for MacPorts" tar ((:commit . "f449d3f29077f8a5088f9cbc27f5d70fe87b18fc") (:authors ("Aaron Madlon-Kay")) (:maintainer "Aaron Madlon-Kay") (:keywords "convenience") (:url . "https://github.com/amake/macports.el"))]) (macro-math . [(20130328 1604) nil "in-buffer mathematical operations" single ((:commit . "216e59371e9ee39c34117ba79b9acd78bb415750") (:authors ("Nikolaj Schumacher ")) (:maintainer "Nikolaj Schumacher ") (:keywords "convenience") (:url . "http://nschum.de/src/emacs/macro-math/"))]) (macrostep . [(20161120 2106) ((cl-lib (0 5))) "interactive macro expander" tar ((:commit . "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267") (:authors ("joddie" . "j.j.oddie@gmail.com")) (:maintainer "joddie" . "j.j.oddie@gmail.com") (:keywords "lisp" "languages" "macro" "debugging") (:url . "https://github.com/joddie/macrostep"))]) (macrostep-geiser . [(20210717 801) ((emacs (24 4)) (macrostep (0 9)) (geiser (0 12))) "Macrostep for `geiser'" single ((:commit . "f6a2d5bb96ade4f23df557649af87ebd0cc45125") (:authors ("Nikita Bloshchanevich")) (:maintainer "Nikita Bloshchanevich") (:keywords "languages" "scheme") (:url . "https://github.com/nbfalcon/macrostep-geiser"))]) @@ -2894,11 +2929,11 @@ (mag-menu . [(20150505 1850) ((splitter (0 1 0))) "Intuitive keyboard-centric menu system" single ((:commit . "9b9277021cd09fb1dba64b1d2a00705d20914bd6") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:keywords "convenience") (:url . "https://github.com/chumpage/mag-menu"))]) (magic-filetype . [(20180219 1552) ((emacs (24)) (s (1 9 0))) "Enhance filetype major mode" single ((:commit . "019494add5ff02dd36cb3f500142fc51125522cc") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "emulations" "vim" "ft" "file" "magic-mode") (:url . "https://github.com/zonuexe/magic-filetype.el"))]) (magic-latex-buffer . [(20210306 422) ((cl-lib (0 5)) (emacs (25 1))) "Magically enhance LaTeX-mode font-locking for semi-WYSIWYG editing" single ((:commit . "903ec91872760e47c0e5715795f8465173615098") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://zk-phi.github.io/"))]) - (magik-mode . [(20220422 837) nil "mode for editing Magik + some utils." tar ((:commit . "af1b83786c95d448dcb4df5406eb1cdba975abf5") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))]) - (magit . [(20220425 1153) ((emacs (25 1)) (compat (28 1 0 4)) (dash (20210826)) (git-commit (20220222)) (magit-section (20220325)) (transient (20220325)) (with-editor (20220318))) "A Git porcelain inside Emacs." tar ((:commit . "3cb7f5ba430906bded9e5d9951f5260ab25644d0") (:authors ("Marius Vollmer" . "marius.vollmer@gmail.com") ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) + (magik-mode . [(20220702 1158) nil "mode for editing Magik + some utils." tar ((:commit . "a7c5553d2780640630d31b469d522ecffdf052f5") (:keywords "languages") (:url . "http://github.com/roadrunner1776/magik"))]) + (magit . [(20220803 2341) ((emacs (25 1)) (compat (28 1 1 2)) (dash (20210826)) (git-commit (20220222)) (magit-section (20220325)) (transient (20220325)) (with-editor (20220318))) "A Git porcelain inside Emacs." tar ((:commit . "ac7fae6a9893b55ad01942d9ea5a571d44426665") (:authors ("Marius Vollmer" . "marius.vollmer@gmail.com") ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) (magit-annex . [(20220302 1725) ((cl-lib (0 3)) (magit (3 0 0))) "Control git-annex from Magit" single ((:commit . "efe484644666c6b7c544b0fb7b87e30703fa9425") (:authors ("Kyle Meyer" . "kyle@kyleam.com") ("Rémi Vanicat" . "vanicat@debian.org")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:keywords "vc" "tools") (:url . "https://github.com/magit/magit-annex"))]) (magit-circleci . [(20191209 2113) ((dash (2 16 0)) (transient (0 1 0)) (magit (2 90 0)) (emacs (25 3))) "CircleCI integration for Magit" single ((:commit . "2d4bdacf498ed3ff7d2c3574d346b2d24cbb12da") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "circleci" "continuous" "integration" "magit" "vc" "tools") (:url . "https://github.com/abrochard/magit-circleci"))]) - (magit-commit-mark . [(20220422 705) ((emacs (28 1)) (magit (3 3 0))) "Support marking commits as read" single ((:commit . "2a4d08ac816734fc8195f86f685443e58e63da06") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-magit-commit-mark"))]) + (magit-commit-mark . [(20220722 36) ((emacs (28 1)) (magit (3 3 0))) "Support marking commits as read" single ((:commit . "0e67320abc7f2198d5a5688d339f0c4ae7b63d32") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-magit-commit-mark"))]) (magit-delta . [(20220125 50) ((emacs (25 1)) (magit (20200426)) (xterm-color (2 0))) "Use Delta when displaying diffs in Magit" single ((:commit . "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616") (:authors ("Dan Davison" . "dandavison7@gmail.com")) (:maintainer "Dan Davison" . "dandavison7@gmail.com") (:url . "https://github.com/dandavison/magit-delta"))]) (magit-diff-flycheck . [(20190524 551) ((magit (2)) (flycheck (31)) (seq (2)) (emacs (25 1))) "Report errors in diffs" single ((:commit . "28acf74f59e385865746cccf4b1e4c4025ae9433") (:authors ("Alex Ragone" . "ragonedk@gmail.com")) (:maintainer "Alex Ragone" . "ragonedk@gmail.com") (:keywords "convenience" "matching") (:url . "https://github.com/ragone/magit-diff-flycheck"))]) (magit-filenotify . [(20151116 2340) ((magit (1 3 0)) (emacs (24 4))) "Refresh status buffer when git tree changes" single ((:commit . "c0865b3c41af20b6cd89de23d3b0beb54c8401a4") (:authors ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.de")) (:maintainer "Rüdiger Sonderfeld" . "ruediger@c-plusplus.de") (:keywords "tools"))]) @@ -2907,16 +2942,16 @@ (magit-gh-pulls . [(20191230 1944) ((emacs (24 4)) (gh (0 9 1)) (magit (2 12 0)) (pcache (0 2 3)) (s (1 6 1))) "GitHub pull requests extension for Magit" single ((:commit . "57f3a5158bbc7bfd169ee136fde351cce999e0ca") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "git" "tools") (:url . "https://github.com/sigma/magit-gh-pulls"))]) (magit-gitflow . [(20170929 824) ((magit (2 1 0)) (magit-popup (2 2 0))) "gitflow extension for magit" single ((:commit . "cc41b561ec6eea947fe9a176349fb4f771ed865b") (:authors ("Jan Tatarik" . "Jan.Tatarik@gmail.com")) (:maintainer "Jan Tatarik" . "Jan.Tatarik@gmail.com") (:keywords "vc" "tools") (:url . "https://github.com/jtatarik/magit-gitflow"))]) (magit-imerge . [(20220306 2311) ((emacs (25 1)) (magit (3 0 0))) "Magit extension for git-imerge" single ((:commit . "37bca48218dc32cad964e01e0f9936a90f634fba") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:keywords "vc" "tools") (:url . "https://github.com/magit/magit-imerge"))]) - (magit-lfs . [(20220314 1957) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "8ebe246f20f4ab5c9f191c38137833c7f01a0432") (:authors ("Junyoung/Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung/Clare Jang" . "jjc9310@gmail.com") (:keywords "magit" "git" "lfs" "tools" "vc") (:url . "https://github.com/ailrun/magit-lfs"))]) - (magit-libgit . [(20220422 1903) ((emacs (25 1)) (compat (28 1 0 4)) (libgit (0)) (magit (20211004))) "." tar ((:commit . "3cb7f5ba430906bded9e5d9951f5260ab25644d0") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) + (magit-lfs . [(20220314 1957) ((emacs (24 4)) (magit (2 10 3)) (dash (2 13 0))) "Magit plugin for Git LFS" single ((:commit . "7bf66a164504bcc9564507312a6e95c839cdac30") (:authors ("Junyoung/Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung/Clare Jang" . "jjc9310@gmail.com") (:keywords "magit" "git" "lfs" "tools" "vc") (:url . "https://github.com/ailrun/magit-lfs"))]) + (magit-libgit . [(20220615 1159) ((emacs (25 1)) (compat (28 1 1 2)) (libgit (0)) (magit (20211004))) "(POC) Teach Magit to use Libgit2." tar ((:commit . "ac7fae6a9893b55ad01942d9ea5a571d44426665") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/magit"))]) (magit-org-todos . [(20180709 1950) ((magit (2 0 0)) (emacs (24))) "Add local todo items to the magit status buffer" single ((:commit . "9ffa3efb098434d837cab4bacd1601fdfc6fe999") (:authors ("Daniel Ma")) (:maintainer "Daniel Ma") (:keywords "org-mode" "magit" "tools") (:url . "http://github.com/danielma/magit-org-todos"))]) (magit-patch-changelog . [(20220313 1229) ((emacs (25 1)) (magit (3 3 0))) "Generate a patch according to emacs-mirror/CONTRIBUTE" single ((:commit . "96936d2bd92c8bbf87f65bc293f3246014bc2764") (:keywords "git" "tools" "vc") (:url . "https://github.com/dickmao/magit-patch-changelog"))]) (magit-popup . [(20200719 1015) ((emacs (24 4)) (dash (2 13 0))) "Define prefix-infix-suffix command combos" tar ((:commit . "d8585fa39f88956963d877b921322530257ba9f5") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "bindings") (:url . "https://github.com/magit/magit-popup"))]) (magit-rbr . [(20181009 2016) ((magit (2 13 0)) (emacs (24 3))) "Support for git rbr in Magit" single ((:commit . "029203b3e48537205052a058e964f058cd802c3c") (:authors ("Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com")) (:maintainer "Anatoly Fayngelerin" . "fanatoly+magitrbr@gmail.com") (:keywords "git" "magit" "rbr" "tools") (:url . "https://github.com/fanatoly/magit-rbr"))]) (magit-reviewboard . [(20200727 1748) ((emacs (25 2)) (magit (2 13 0)) (s (1 12 0)) (request (0 3 0))) "Show open Reviewboard reviews in Magit" single ((:commit . "aceedff88921f1dfef8a6b2fb18fe316fb7223a8") (:authors ("Jules Tamagnan" . "jtamagnan@gmail.com")) (:maintainer "Jules Tamagnan" . "jtamagnan@gmail.com") (:keywords "magit" "vc") (:url . "http://github.com/jtamagnan/magit-reviewboard"))]) - (magit-section . [(20220425 1002) ((emacs (25 1)) (compat (28 1 0 4)) (dash (20210826))) "Sections for read-only buffers" tar ((:commit . "3cb7f5ba430906bded9e5d9951f5260ab25644d0") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/magit/magit"))]) + (magit-section . [(20220803 2341) ((emacs (25 1)) (compat (28 1 1 2)) (dash (20210826))) "Sections for read-only buffers." tar ((:commit . "ac7fae6a9893b55ad01942d9ea5a571d44426665") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "tools") (:url . "https://github.com/magit/magit"))]) (magit-svn . [(20210426 2114) ((emacs (25 1)) (magit (2 90 1)) (transient (0 3 2))) "Git-Svn extension for Magit" single ((:commit . "350493217afdb7637564e089f475909adecd9208") (:authors ("Phil Jackson" . "phil@shellarchive.co.uk")) (:maintainer "Phil Jackson" . "phil@shellarchive.co.uk") (:keywords "vc" "tools"))]) - (magit-tbdiff . [(20220306 2311) ((emacs (25 1)) (magit (3 0 0))) "Magit extension for range diffs" single ((:commit . "ae9345d867539a4c5c635be04df2e26468444da8") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:keywords "vc" "tools") (:url . "https://github.com/magit/magit-tbdiff"))]) + (magit-tbdiff . [(20220527 2213) ((emacs (25 1)) (magit (3 0 0))) "Magit extension for range diffs" single ((:commit . "ff416b87a77a2f7cea234d9063ff629fc0e4c6c8") (:authors ("Kyle Meyer" . "kyle@kyleam.com")) (:maintainer "Kyle Meyer" . "kyle@kyleam.com") (:keywords "vc" "tools") (:url . "https://github.com/magit/magit-tbdiff"))]) (magit-todos . [(20220326 519) ((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)) (transient (0 2 0))) "Show source file TODOs in Magit" single ((:commit . "67fd80c2f10aec4d5b2a24b5d3d53c08cc1f05dc") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "magit" "vc") (:url . "http://github.com/alphapapa/magit-todos"))]) (magit-topgit . [(20160313 1954) ((emacs (24 4)) (magit (2 1 0))) "TopGit extension for Magit" single ((:commit . "11489ea798bc88d0ea5244bbf725285eedfefbef") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Robin Green" . "greenrd@greenrd.org") (:keywords "vc" "tools"))]) (magit-vcsh . [(20190817 2014) ((magit (2 90 1)) (vcsh (0 4)) (emacs (24 4))) "Magit vcsh integration" single ((:commit . "fcff128cdbe3ef547dc64f2496cb6405b8ee21ca") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:keywords "vc" "files" "magit") (:url . "https://gitlab.com/stepnem/magit-vcsh-el"))]) @@ -2936,43 +2971,44 @@ (mallard-snippets . [(20131023 1851) ((yasnippet (0 8 0)) (mallard-mode (0 1 1))) "Yasnippets for Mallard" tar ((:commit . "70c5293f10722f2ace73bdf74d9a18f95b040edc") (:authors ("Jaromir Hradilek" . "jhradilek@gmail.com")) (:maintainer "Jaromir Hradilek" . "jhradilek@gmail.com") (:keywords "snippets" "mallard") (:url . "https://github.com/jhradilek/emacs-mallard-snippets"))]) (malyon . [(20161208 2125) ((cl-lib (0 5))) "mode to execute Z-code files version 3, 5, 8" single ((:commit . "0d9882650720b4a791556f5e2d917388965d6fc0") (:authors ("Peter Ilberg , Christopher Madsen , Erik Selberg" . "erik@selberg.org")) (:maintainer "Christopher Madsen , Erik Selberg" . "erik@selberg.org") (:keywords "games" "emulations") (:url . "https://github.com/speedenator/malyon"))]) (man-commands . [(20151221 2221) ((cl-lib (0 5))) "Add interactive commands for every manpages installed in your computer." single ((:commit . "f4ba0c3790855d7544dff92d470d212f24de1d9d") (:authors ("Nathaniel Flath" . "nflath@gmail.com")) (:maintainer "Nathaniel Flath" . "nflath@gmail.com") (:url . "http://github.com/nflath/man-commands"))]) - (manage-minor-mode . [(20210108 1832) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "e1af20253fbc5a91034ccd01cf00141130c11863") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "tools" "minor-mode" "manage" "emacs") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))]) - (manage-minor-mode-table . [(20200717 809) ((emacs (25 1)) (manage-minor-mode (1 1))) "Manage minor-modes in table" single ((:commit . "cd46f46cf66d9b20bd74cd3f8ffa4c2059cb02d2") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/manage-minor-mode-table"))]) - (mandm-theme . [(20191112 1832) nil "An M&M color theme." single ((:commit . "4e6ce4f222c1fa175d56e926628f37caa5f398ce") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))]) + (manage-minor-mode . [(20210108 1832) ((emacs (24 3))) "Manage your minor-modes easily" single ((:commit . "7d886dddf81568c9387410701f60302cd33b4f63") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Jen-Chieh Shen" . "jcs090218@gmail.com") (:keywords "tools" "minor-mode" "manage" "emacs") (:url . "https://github.com/ShingoFukuyama/manage-minor-mode"))]) + (manage-minor-mode-table . [(20220616 1932) ((emacs (25 1)) (manage-minor-mode (1 1))) "Manage minor-modes in table" single ((:commit . "e47d0e1856f0a9eb9935abdaf6e14e67ef2ab4cc") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "tools" "minor-mode" "manage") (:url . "https://github.com/jcs-elpa/manage-minor-mode-table"))]) + (mandm-theme . [(20220426 1131) nil "An M&M color theme." single ((:commit . "4991bbc4b17308f5dc53742dc528cbfdc467ee01") (:authors ("Christian Hopps" . "chopps@gmail.com")) (:maintainer "Christian Hopps" . "chopps@gmail.com") (:url . "https://github.com/choppsv1/emacs-mandm-theme.git"))]) (mandoku . [(20180403 1106) ((org (8)) (github-clone (20150705 1705))) "A tool to access repositories of premodern Chinese texts" tar ((:commit . "d65dbaa329ecf931f4142be72862972ea6a24e63") (:authors ("Christian Wittern" . "cwittern@gmail.com")) (:maintainer "Christian Wittern" . "cwittern@gmail.com") (:keywords "convenience") (:url . "http://www.mandoku.org"))]) (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") (:authors ("Christian Wittern" . "cwittern@gmail.com")) (:maintainer "Christian Wittern" . "cwittern@gmail.com") (:keywords "convenience") (:url . "https://github.com/mandoku/mandoku-tls"))]) (map-progress . [(20190128 16) ((cl-lib (0 6 1))) "mapping macros that report progress" single ((:commit . "1fb916159cd054c233ce3c80d9d01adfae640297") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/map-progress"))]) (map-regexp . [(20190128 18) ((cl-lib (0 6 1))) "map over matches of a regular expression" single ((:commit . "ae2d1c22f786ad987aef3e319925e80160a887a0") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/map-regexp"))]) (marcopolo . [(20160421 1004) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client to the Docker HUB/Registry API" tar ((:commit . "9193aabdf12223087b5ed58f1507d5d8a24a4381") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "docker") (:url . "https://github.com/nlamirault/marcopolo"))]) - (marginalia . [(20220423 249) ((emacs (27 1))) "Enrich existing commands with completion annotations" single ((:commit . "f97b6f398b6b08576bc919835e1ab4872a8d5de4") (:authors ("Omar Antolín Camarena , Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Omar Antolín Camarena , Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/marginalia"))]) + (marginalia . [(20220721 1833) ((emacs (27 1))) "Enrich existing commands with completion annotations" single ((:commit . "69442c2d9472b665f698f67426cd255f6c0620a3") (:authors ("Omar Antolín Camarena , Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Omar Antolín Camarena , Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/marginalia"))]) (mark-multiple . [(20121118 1554) nil "Sorta lets you mark several regions at once." tar ((:commit . "f6a53c7c5283d640ae718f4548b0fda78877a375") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "marking" "library"))]) (mark-thing-at . [(20201219 231) ((emacs (26)) (choice-program (0 13))) "Mark a pattern at the current point" single ((:commit . "a622d128afc8d2d67de897666a1e2eccba8d7818") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "mark" "point" "lisp") (:url . "https://github.com/plandes/mark-thing-at"))]) (mark-tools . [(20130614 1025) nil "Some simple tools to access the mark-ring in Emacs" single ((:commit . "a11b61effa90bd0abc876d12573674d36fc17f0c") (:authors ("Alex Bennée" . "alex@bennee.com")) (:maintainer "Alex Bennée" . "alex@bennee.com") (:url . "https://github.com/stsquad/emacs-mark-tools"))]) (markdown-changelog . [(20200120 2253) ((emacs (26)) (dash (2 13 0))) "Maintain changelog entries" single ((:commit . "1a2c3a4c3e4196f2b5dbb145b01b4bc435a93a96") (:authors ("Paul Landes")) (:maintainer "Paul Landes") (:keywords "markdown" "changelog" "files") (:url . "https://github.com/plandes/markdown-changelog"))]) - (markdown-mode . [(20220406 410) ((emacs (26 1))) "Major mode for Markdown-formatted text" single ((:commit . "d2a3d5b8625a7c6be21f19f9146745cd5c791a6a") (:authors ("Jason R. Blevins" . "jblevins@xbeta.org")) (:maintainer "Jason R. Blevins" . "jblevins@xbeta.org") (:keywords "markdown" "github flavored markdown" "itex") (:url . "https://jblevins.org/projects/markdown-mode/"))]) + (markdown-mode . [(20220708 6) ((emacs (26 1))) "Major mode for Markdown-formatted text" single ((:commit . "0b8dc23724caa66b18bded28c08f7516cba9d292") (:authors ("Jason R. Blevins" . "jblevins@xbeta.org")) (:maintainer "Jason R. Blevins" . "jblevins@xbeta.org") (:keywords "markdown" "github flavored markdown" "itex") (:url . "https://jblevins.org/projects/markdown-mode/"))]) (markdown-preview-eww . [(20160111 1502) ((emacs (24 4))) "Realtime preview by eww" single ((:commit . "5853f836425c877c8a956501f0adda137ef1d3b7") (:authors ("niku" . "niku@niku.name")) (:maintainer "niku" . "niku@niku.name") (:url . "https://github.com/niku/markdown-preview-eww"))]) (markdown-preview-mode . [(20210516 936) ((emacs (24 4)) (websocket (1 6)) (markdown-mode (2 0)) (cl-lib (0 5)) (web-server (0 1 1))) "markdown realtime preview minor mode." tar ((:commit . "dde87b96de9e81dd01d174da67ef68687b3a5eb5") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:keywords "markdown" "gfm" "convenience") (:url . "https://github.com/ancane/markdown-preview-mode"))]) + (markdown-soma . [(20220802 956) ((emacs (25)) (s (1 11 0)) (dash (2 19 1)) (f (0 20 0))) "Live preview for Markdown" single ((:commit . "e604b9e4a65bbd2057befbfaebfa73d00bd9826a") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:keywords "wp" "docs" "text" "markdown") (:url . "https://github.com/jasonm23/markdown-soma"))]) (markdown-toc . [(20210905 738) ((s (1 9 0)) (dash (2 11 0)) (markdown-mode (2 1))) "A simple TOC generator for markdown file" tar ((:commit . "3d724e518a897343b5ede0b976d6fb46c46bcc01") (:authors (nil . "Antoine R. Dumont (@ardumont)")) (:maintainer nil . "Antoine R. Dumont (@ardumont)") (:keywords "markdown" "toc" "tools") (:url . "http://github.com/ardumont/markdown-toc"))]) (markdownfmt . [(20160609 1241) ((emacs (24))) "Format markdown using markdownfmt" single ((:commit . "187a74eb4fd9e8520ce08da42d1d292b9af7f2b7") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "markdown") (:url . "https://github.com/nlamirault/emacs-markdownfmt"))]) - (markless . [(20190306 1002) ((emacs (24 4))) "Major mode for Markless documents" single ((:commit . "75fdef45df96978e9326ea4d9bf4e534a250c4c0") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:keywords "languages" "wp") (:url . "http://github.com/shirakumo/markless.el/"))]) + (markless . [(20220702 1154) ((emacs (24 4))) "Major mode for Markless documents" single ((:commit . "9c846f58575a446812f7bade284021b625976757") (:authors ("Nicolas Hafner" . "shinmera@tymoon.eu")) (:maintainer "Nicolas Hafner" . "shinmera@tymoon.eu") (:keywords "languages" "wp") (:url . "http://github.com/shirakumo/markless.el/"))]) (markup . [(20170420 1129) ((cl-lib (0 5))) "Simple markup generation helpers." single ((:commit . "876da2d3f23473475bb0fd0a1480ae11d2671291") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:keywords "convenience" "markup" "html") (:url . "http://github.com/leoc/markup.el"))]) (markup-faces . [(20141110 817) nil "collection of faces for markup language modes" single ((:commit . "98a807ed82473eb41c6a201ed7ef816d6bcd67b0") (:authors ("Florian Kaufmann" . "sensorflo@gmail.com")) (:maintainer "Florian Kaufmann" . "sensorflo@gmail.com") (:keywords "wp" "faces") (:url . "https://github.com/sensorflo/markup-faces"))]) (marmalade-client . [(20141231 2007) ((web (0 5 2)) (kv (0 0 19)) (gh (0 8 0))) "client for marmalade API from emacs" tar ((:commit . "f315dea57e4fbebd9ee0668c0bafd4c45c7b754a") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp") (:url . "https://github.com/nicferrier/emacs-marmalade-upload"))]) - (marquee-header . [(20200720 1034) ((emacs (25 1))) "Code interface for displaying marquee in header" single ((:commit . "4abfc35e57668e73e0176c218c070d60656a6491") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/marquee-header"))]) - (marshal . [(20201223 1853) ((emacs (25 1)) (ht (2 0))) "eieio extension for automatic (un)marshalling" single ((:commit . "490496d974d03906f784707ecc2e0ac36ed84b96") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "extensions") (:url . "https://github.com/sigma/marshal.el"))]) + (marquee-header . [(20220704 753) ((emacs (25 1))) "Code interface for displaying marquee in header" single ((:commit . "14f490b8683bdce53a6272fcc28a9b4137f86a24") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "wp" "animation" "marquee") (:url . "https://github.com/jcs-elpa/marquee-header"))]) + (marshal . [(20201223 1853) ((emacs (25 1)) (ht (2 0))) "eieio extension for automatic (un)marshalling" single ((:commit . "bc00044d9073482f589aad959e34d563598f682a") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "extensions") (:url . "https://github.com/sigma/marshal.el"))]) (maruo-macro-mode . [(20160616 1349) ((emacs (24 3))) "Major mode for editing Hidemaru/Maruo macro script" single ((:commit . "8fc9a38ad051eafa8eb94038711acc52c5d1d8d5") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "programming" "editor" "macro"))]) (masm-mode . [(20200308 1450) ((emacs (25 1))) "MASM x86 and x64 assembly major mode" single ((:commit . "626b9255c2bb967a53d1d50be0b98a1bcae3250c") (:authors ("YiGeeker" . "zyfchinese@yeah.net")) (:maintainer "YiGeeker" . "zyfchinese@yeah.net") (:keywords "languages") (:url . "https://github.com/YiGeeker/masm-mode"))]) - (mastodon . [(20220405 1531) ((emacs (27 1)) (request (0 3 2)) (seq (1 0))) "Client for Mastodon" tar ((:commit . "b3649a12a398537ade7136d704f2f05ccc856e23") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Marty Hiatt" . "martianhiatus@riseup.net") (:url . "https://codeberg.org/martianh/mastodon.el"))]) + (mastodon . [(20220803 1937) ((emacs (27 1)) (request (0 3 2)) (seq (1 0))) "Client for Mastodon" tar ((:commit . "a74340a72789ed12011d3f8618449bbe515a7e77") (:authors ("Johnson Denen" . "johnson.denen@gmail.com")) (:maintainer "Marty Hiatt" . "martianhiatus@riseup.net") (:url . "https://codeberg.org/martianh/mastodon.el"))]) (material-theme . [(20210904 1226) ((emacs (24 1))) "A Theme based on the colors of the Google Material Design" tar ((:commit . "6823009bc92f82aa3a90e27e1009f7da8e87b648") (:authors ("Christoph Paulik" . "cpaulik@gmail.com")) (:maintainer "Christoph Paulik" . "cpaulik@gmail.com") (:keywords "themes") (:url . "http://github.com/cpaulik/emacs-material-theme"))]) - (math-preview . [(20211221 1611) ((emacs (26 1)) (dash (2 18 0)) (s (1 12 0))) "Preview TeX math equations inline" single ((:commit . "75dd44ad8dcfa12fe03f8e65babe0ea04e1a7d1a") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:keywords "convenience") (:url . "https://gitlab.com/matsievskiysv/math-preview"))]) + (math-preview . [(20220604 1107) ((emacs (26 1)) (json (1 4)) (dash (2 18 0)) (s (1 12 0))) "Preview TeX math equations inline" single ((:commit . "a7254ba89a524f30c1acfdbde07a179271f02658") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:keywords "convenience") (:url . "https://gitlab.com/matsievskiysv/math-preview"))]) (math-symbol-lists . [(20200131 2338) nil "Lists of Unicode math symbols and latex commands" tar ((:commit . "590d9f09f8ad9aab747b97f077396a2035dcf50f") (:authors ("Vitalie Spinu" . "spinuvit@gmail.com")) (:maintainer "Vitalie Spinu" . "spinuvit@gmail.com") (:keywords "unicode" "symbols" "mathematics") (:url . "https://github.com/vspinu/math-symbol-lists"))]) (math-symbols . [(20201005 2313) nil "Math Symbol Input methods and conversion tools" tar ((:commit . "091b81cb40ceaff97614999ffe85b572ace182f0") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "i18n" "languages" "tex") (:url . "https://github.com/kawabata/math-symbols"))]) (matlab-mode . [(20220412 913) nil "Major mode for MATLAB(R) dot-m files" tar ((:commit . "5069e3ca0034e0da64eb9b3cd426f52992938d06"))]) (maude-mode . [(20220419 1454) ((emacs (25))) "Emacs mode for the programming language Maude" single ((:commit . "68de3c11ae16c409afa74516aaf465996d1a9e59") (:authors ("Ellef Gjelstad ")) (:maintainer "Rudi Schlatte" . "rudi@constantly.at") (:keywords "languages" "maude") (:url . "https://github.com/rudi/abs-mode"))]) (maven-test-mode . [(20141220 557) ((s (1 9)) (emacs (24))) "Utilities for navigating test files and running maven test tasks." single ((:commit . "a19151861df2ad8ae4880a2e7c86ddf848cb569a") (:authors ("Renan Ranelli")) (:maintainer "Renan Ranelli") (:keywords "java" "maven" "test") (:url . "http://github.com/rranelli/maven-test-mode"))]) (maxframe . [(20170120 1705) nil "maximize the emacs frame based on display size" single ((:commit . "f7048ce95443f2c06cb6b140814451e3a037103a") (:authors ("Ryan McGeary")) (:maintainer "Ryan McGeary") (:keywords "display" "frame" "window" "maximize"))]) - (maxima . [(20210526 1525) ((emacs (25 1)) (s (1 11 0)) (test-simple (1 3 0))) "Major mode for Maxima" tar ((:commit . "ce5fd160c193e387d9e2bacdba4065c4b4262cb1") (:authors ("William F. Schelter") ("Jay Belanger") ("Fermin Munoz")) (:maintainer "Fermin Munoz" . "fmfs@posteo.net") (:keywords "maxima" "tools" "math") (:url . "https://gitlab.com/sasanidas/maxima"))]) - (mb-url . [(20211205 1100) ((emacs (25))) "Multiple Backends for Emacs URL package" tar ((:commit . "ca0a3878763180fe2d775feae88b87d21dd8dcb8") (:authors ("ZHANG Weiyi" . "dochang@gmail.com")) (:maintainer "ZHANG Weiyi" . "dochang@gmail.com") (:keywords "comm" "data" "processes" "hypermedia") (:url . "https://github.com/dochang/mb-url"))]) + (maxima . [(20220531 1751) ((emacs (25 1)) (s (1 11 0)) (test-simple (1 3 0))) "Major mode for Maxima" tar ((:commit . "1334f44725bd80a265de858d652f3fde4ae401fa") (:authors ("William F. Schelter") ("Jay Belanger") ("Fermin Munoz")) (:maintainer "Fermin Munoz" . "fmfs@posteo.net") (:keywords "maxima" "tools" "math") (:url . "https://gitlab.com/sasanidas/maxima"))]) + (mb-url . [(20211205 1100) ((emacs (25))) "Multiple Backends for Emacs URL package" tar ((:commit . "59f58a7e236329e14229b0a9f59766f829336b93") (:authors ("ZHANG Weiyi" . "dochang@gmail.com")) (:maintainer "ZHANG Weiyi" . "dochang@gmail.com") (:keywords "comm" "data" "processes" "hypermedia") (:url . "https://github.com/dochang/mb-url"))]) (mbe . [(20151126 1134) ((emacs (24)) (cl-lib (0 5))) "Macros by Example" single ((:commit . "bb10aa8f26bb7e9b1d5746934c94edb00402940c") (:authors ("Ian Price" . "ianprice90@googlemail.com")) (:maintainer "Ian Price" . "ianprice90@googlemail.com") (:keywords "tools" "macros") (:url . "https://github.com/ijp/mbe.el"))]) (mbo70s-theme . [(20170808 1315) ((emacs (24 0))) "70s style palette, with similarities to mbo theme" single ((:commit . "bed3db8965708ed4e9482b224a9b084765c052f2") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) (mbsync . [(20200128 1053) nil "run mbsync to fetch mails" single ((:commit . "d3c81da81ce5b154c0d048047a47277338721a70") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:url . "https://github.com/dimitri/mbsync-el"))]) @@ -2987,16 +3023,16 @@ (memento-mori . [(20190628 2147) ((emacs (24)) (cl-lib (0 5))) "Reminder of mortality" single ((:commit . "b99c5ff526079fc5a1e1be097534855da176bc2b") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "help") (:url . "https://github.com/lassik/emacs-memento-mori"))]) (memoize . [(20200103 2036) nil "Memoization functions" single ((:commit . "51b075935ca7070f62fae1d69fe0ff7d8fa56fdd") (:authors ("Christopher Wellons" . "mosquitopsu@gmail.com")) (:maintainer "Christopher Wellons" . "mosquitopsu@gmail.com") (:url . "https://github.com/skeeto/emacs-memoize"))]) (memolist . [(20150804 1721) ((markdown-mode (22 0)) (ag (0 45))) "memolist.el is Emacs port of memolist.vim." single ((:commit . "c437a32d3955f859d9bbcbadf0911bbe27d877ff") (:authors ("mikanfactory ")) (:maintainer "mikanfactory") (:keywords "markdown" "memo") (:url . "http://github.com/mikanfactory/emacs-memolist"))]) - (mentor . [(20220113 2136) ((emacs (25 1)) (xml-rpc (1 6 15)) (seq (1 11)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "afab3a14a4bfb5117f8e25417fdf151611b3df0b") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com") (:keywords "comm" "processes" "bittorrent") (:url . "https://github.com/skangas/mentor"))]) - (meow . [(20220425 1626) ((emacs (27 1))) "Yet Another modal editing" tar ((:commit . "2144ef179bce8338b45f91a1d538c33e2f53771e") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:keywords "convenience" "modal-editing") (:url . "https://www.github.com/DogLooksGood/meow"))]) - (merlin . [(20220404 2046) ((emacs (25 1))) "Mode for Merlin, an assistant for OCaml" tar ((:commit . "0fb973c5490216b1cfa364bbbe9da60f572d43c2") (:authors ("Frédéric Bour ")) (:maintainer "Frédéric Bour ") (:keywords "ocaml" "languages") (:url . "https://github.com/ocaml/merlin"))]) - (merlin-ac . [(20210615 1208) ((emacs (25 1)) (merlin (3)) (auto-complete (1 5))) "Merlin and auto-complete integration." single ((:commit . "0fb973c5490216b1cfa364bbbe9da60f572d43c2") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) - (merlin-company . [(20210615 1208) ((emacs (25 1)) (merlin (3)) (company (0 9))) "Merlin and company mode integration." single ((:commit . "0fb973c5490216b1cfa364bbbe9da60f572d43c2") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) + (mentor . [(20220729 1756) ((emacs (25 1)) (xml-rpc (1 6 15)) (seq (1 11)) (async (1 9 3))) "Frontend for the rTorrent bittorrent client" tar ((:commit . "a820c8492392d2e3480845af4f6573c942996de8") (:authors ("Stefan Kangas" . "stefankangas@gmail.com")) (:maintainer "Stefan Kangas" . "stefankangas@gmail.com") (:keywords "comm" "processes" "bittorrent") (:url . "https://github.com/skangas/mentor"))]) + (meow . [(20220727 2104) ((emacs (27 1))) "Yet Another modal editing" tar ((:commit . "7471762ec043fa85a91398b2b5b05859da544200") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:keywords "convenience" "modal-editing") (:url . "https://www.github.com/DogLooksGood/meow"))]) + (merlin . [(20220630 1249) ((emacs (25 1))) "Mode for Merlin, an assistant for OCaml" tar ((:commit . "be753d9412387aedcf32aba88a1be9bcd33d97ba") (:authors ("Frédéric Bour ")) (:maintainer "Frédéric Bour ") (:keywords "ocaml" "languages") (:url . "https://github.com/ocaml/merlin"))]) + (merlin-ac . [(20210615 1208) ((emacs (25 1)) (merlin (3)) (auto-complete (1 5))) "Merlin and auto-complete integration." single ((:commit . "be753d9412387aedcf32aba88a1be9bcd33d97ba") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) + (merlin-company . [(20210615 1208) ((emacs (25 1)) (merlin (3)) (company (0 9))) "Merlin and company mode integration." single ((:commit . "be753d9412387aedcf32aba88a1be9bcd33d97ba") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) (merlin-eldoc . [(20190830 517) ((emacs (24 4)) (merlin (3 0))) "eldoc for OCaml and Reason" single ((:commit . "db7fab1eddfe34781b7e79694f8923b285698032") (:authors ("Louis Roché" . "louis@louisroche.net")) (:maintainer "Louis Roché" . "louis@louisroche.net") (:keywords "merlin" "ocaml" "languages" "eldoc") (:url . "https://github.com/khady/merlin-eldoc"))]) - (merlin-iedit . [(20220330 1736) ((emacs (25 1)) (merlin (3)) (iedit (0 9))) "Merlin and iedit integration." single ((:commit . "0fb973c5490216b1cfa364bbbe9da60f572d43c2") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) - (mermaid-mode . [(20210505 1635) ((f (0 20 0)) (emacs (25 3))) "major mode for working with mermaid graphs" single ((:commit . "562ffe86cad91627e2b94b8684818562c3ad2b5d") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "mermaid" "graphs" "tools" "processes") (:url . "https://github.com/abrochard/mermaid-mode"))]) + (merlin-iedit . [(20220330 1736) ((emacs (25 1)) (merlin (3)) (iedit (0 9))) "Merlin and iedit integration." single ((:commit . "be753d9412387aedcf32aba88a1be9bcd33d97ba") (:authors ("Simon Castellan ") ("Frédéric Bour ") ("Thomas Refis ")) (:maintainer "Simon Castellan ") (:keywords "ocaml" "languages") (:url . "http://github.com/ocaml/merlin"))]) + (mermaid-mode . [(20220716 1705) ((f (0 20 0)) (emacs (25 3))) "major mode for working with mermaid graphs" single ((:commit . "a98a9e733b1da1e6a19e68c1db4367bf46283479") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "mermaid" "graphs" "tools" "processes") (:url . "https://github.com/abrochard/mermaid-mode"))]) (meson-mode . [(20210820 905) ((emacs (26 1))) "Major mode for the Meson build system files" tar ((:commit . "1a2e2abb098c9288c2cdb3affbad76edd98abf59") (:authors ("Michal Sojka" . "sojkam1@fel.cvut.cz")) (:maintainer "Michal Sojka" . "sojkam1@fel.cvut.cz") (:keywords "languages" "tools") (:url . "https://github.com/wentasah/meson-mode"))]) - (message-attachment-reminder . [(20200428 124) ((emacs (24 1))) "Remind if missing attachment" single ((:commit . "ce506b27b15cc39a47c58ff795026eaea8632e2f") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/message-attachment-reminder"))]) + (message-attachment-reminder . [(20200428 124) ((emacs (24 1))) "Remind if missing attachment" single ((:commit . "15498a6f424a4ddea7a3bdcc9d160e6a4dfb27c1") (:authors ("Alex Murray" . "murray.alex@gmail.com")) (:maintainer "Alex Murray" . "murray.alex@gmail.com") (:url . "https://github.com/alexmurray/message-attachment-reminder"))]) (message-view-patch . [(20210904 2227) ((emacs (24 4)) (magit (3 0 0))) "Colorize patch-like emails in mu4e" single ((:commit . "40bc2e554fc1d0b6f0c403192c0a3ceaa019a78d") (:authors ("Sean Farley")) (:maintainer "Sean Farley") (:keywords "extensions" "mu4e" "gnus") (:url . "https://github.com/seanfarley/message-view-patch"))]) (messages-are-flowing . [(20191029 954) nil "visible indication when composing \"flowed\" emails" single ((:commit . "d582a564a63b7b90764ffc5c618bc5300225d0ab") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "mail"))]) (meta-presenter . [(20210714 1658) nil "A simple multi-file presentation tool for Emacs" single ((:commit . "4ab48dacea245b223a0ffd2723ece746bd61c0af") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:keywords "productivity" "presentation") (:url . "http://ismail.teamfluxion.com"))]) @@ -3006,12 +3042,12 @@ (metamorph . [(20220328 129) ((emacs (26 1))) "Transform your buffers with lisp" single ((:commit . "3633e32a9601c491df32d6c2212dbe63dc6484f4") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:keywords "metaprogramming" "wp") (:url . "http://github.com/AdamNiederer/metamorph"))]) (metascript-mode . [(20150709 57) ((emacs (24 3))) "Major mode for the Metascript programming language" single ((:commit . "edb361c7b0e5de231e5334a17b90652fb1df78f9") (:keywords "languages" "metascript" "mjs") (:url . "http://github.com/metascript/metascript-mode"))]) (metaweblog . [(20210422 326) ((emacs (26 3))) "An XML-RPC MetaWeblog and WordPress API client." single ((:commit . "68695ed0e012379556d57f9564ac5ad8cd68fbb8") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:keywords "comm") (:url . "https://github.com/org2blog/org2blog"))]) - (metrics-tracker . [(20211026 1347) ((emacs (24 4)) (seq (2 3))) "Generate reports of personal metrics from diary entries" single ((:commit . "115f6de4a01b9e10936b7e6d1fdadd3770bae391") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:keywords "calendar") (:url . "https://github.com/ianxm/emacs-tracker"))]) + (metrics-tracker . [(20220713 1131) ((emacs (24 4)) (seq (2 3))) "Generate reports of personal metrics from diary entries" single ((:commit . "b524398c768227bc14fd12c833dcd4e22d66efd3") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:keywords "calendar") (:url . "https://github.com/ianxm/emacs-tracker"))]) (metronome . [(20220210 147) ((emacs (25 1))) "A simple metronome" tar ((:commit . "1e1bd5234f3ecfb608041d423be7412c461ad3c2") (:authors ("Jonathan Gregory ")) (:maintainer "Jonathan Gregory ") (:url . "https://gitlab.com/jagrg/metronome"))]) (mew . [(20210625 240) nil "Messaging in the Emacs World" tar ((:commit . "fc4bca6d95d8b8d5e169ecf1433d968c2eec299d") (:authors ("Kazu Yamamoto" . "Kazu@Mew.org")) (:maintainer "Kazu Yamamoto" . "Kazu@Mew.org"))]) (mexican-holidays . [(20210604 1421) nil "Mexico holidays for Emacs calendar." single ((:commit . "8e28907ea69f2c0ed9aad9f3b99664ca147379d0") (:authors ("Saúl Gutiérrez" . "me@sggc.me")) (:maintainer "Saúl Gutiérrez" . "me@sggc.me") (:keywords "calendar") (:url . "https://github.com/sggutier/mexican-holidays"))]) - (meyvn . [(20211025 106) ((emacs (25 1)) (cider (0 23)) (projectile (2 1)) (s (1 12)) (dash (2 17)) (parseedn (0 1 0)) (geiser (0 12))) "Meyvn client" single ((:commit . "80ece19a6ce6fd3dac374911edb9734286978450") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com") (:url . "https://github.com/danielsz/meyvn-el"))]) - (mgmtconfig-mode . [(20210131 2152) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "b26f842de19a31c36fb5149f292b9117dbf4bed7") (:authors ("Peter Oliver" . "mgmtconfig@mavit.org.uk")) (:maintainer "Mgmt contributors ") (:keywords "languages") (:url . "https://github.com/purpleidea/mgmt/misc/emacs"))]) + (meyvn . [(20220723 1800) ((emacs (25 1)) (cider (0 23)) (projectile (2 1)) (s (1 12)) (dash (2 17)) (parseedn (0 1 0)) (geiser (0 12))) "Meyvn client" single ((:commit . "20878c2c059d1302b169f6c0252641a176a3f327") (:authors ("Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com") (:url . "https://github.com/danielsz/meyvn-el"))]) + (mgmtconfig-mode . [(20210131 2152) ((emacs (24 3))) "mgmt configuration management language" single ((:commit . "00f6045b1292d23a0579208521a470d685bdc59f") (:authors ("Peter Oliver" . "mgmtconfig@mavit.org.uk")) (:maintainer "Mgmt contributors ") (:keywords "languages") (:url . "https://github.com/purpleidea/mgmt/misc/emacs"))]) (mhc . [(20201227 406) ((calfw (20150703))) "Message Harmonized Calendaring system." tar ((:commit . "67f9596dcd43b7ece3ab6e7a6ce8dc18a4851fe8") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:keywords "calendar") (:url . "http://www.quickhack.net/mhc"))]) (mic-paren . [(20170731 1907) nil "advanced highlighting of matching parentheses" single ((:commit . "d0410c7d805c9aaf51a1bcefaaef092bed5824c4") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Klaus Berndl " . "berndl@sdm.de") ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "ttn") (:keywords "languages" "faces" "parenthesis" "matching"))]) (micgoline . [(20160415 326) ((emacs (24 3)) (powerline (2 3))) "powerline mode, color schemes from microsoft and google's logo." single ((:commit . "837504263bb1711203b0f7efecd6b7b5f272fae0") (:authors ("yzprofile" . "yzprofiles@gmail.com")) (:maintainer "yzprofile" . "yzprofiles@gmail.com") (:keywords "mode-line" "powerline" "theme") (:url . "https://github.com/yzprofile/micgoline"))]) @@ -3019,9 +3055,10 @@ (migemo . [(20200913 12) ((cl-lib (0 5))) "Japanese incremental search through dynamic pattern expansion" single ((:commit . "f756cba3d5268968da361463c2e29b3a659a3de7") (:authors ("Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp")) (:maintainer "Satoru Takabayashi" . "satoru-t@is.aist-nara.ac.jp") (:url . "https://github.com/emacs-jp/migemo"))]) (milkode . [(20140927 529) nil "Command line search and direct jump with Milkode" single ((:commit . "ba97e2aeefa1d9d0b3835bf08edd0de248b0c513") (:authors ("ongaeshi")) (:maintainer "ongaeshi") (:keywords "milkode" "search" "grep" "jump" "keyword"))]) (mimetypes . [(20201115 1605) ((emacs (25 1))) "Guess a file's mimetype by extension" single ((:commit . "1663054ce266ed25e47ec707c19f619d33225903") (:authors ("Craig Niles ")) (:maintainer "Craig Niles ") (:url . "https://github.com/cniles/emacs-mimetypes"))]) + (mindre-theme . [(20220725 1404) ((emacs (26 1))) "Minimal, light theme" single ((:commit . "b8a2942524c75aa94505ee05c82ecfb803f04f7f") (:authors ("Erik Bäckman" . "contact@ebackman.net")) (:maintainer "Erik Bäckman" . "contact@ebackman.net") (:keywords "faces") (:url . "https://github.com/erikbackman/mindre-theme"))]) (minesweeper . [(20200416 2342) nil "play minesweeper in Emacs" single ((:commit . "d4248e3c9b3e9e7277cb9e6d081330611898f334") (:authors ("Zachary Kanfer" . "zkanfer@gmail.com")) (:maintainer "Zachary Kanfer" . "zkanfer@gmail.com") (:keywords "game" "fun" "minesweeper" "inane" "diversion") (:url . "https://hg.sr.ht/~zck/minesweeper"))]) (mingus . [(20190106 1443) ((libmpdee (2 1))) "MPD Interface" tar ((:commit . "4223be618f57f10f18114a74393a71955b568884") (:authors ("Niels Giesen ")) (:maintainer "Niels Giesen ") (:keywords "multimedia" "elisp" "music" "mpd") (:url . "https://github.com/pft/mingus"))]) - (mini-frame . [(20210710 1941) ((emacs (26 1))) "Show minibuffer in child frame on read-from-minibuffer" single ((:commit . "57a049b9e1ea4a9b65e82fc10c8c7e70a042f636") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "frames") (:url . "https://github.com/muffinmad/emacs-mini-frame"))]) + (mini-frame . [(20220627 2041) ((emacs (26 1))) "Show minibuffer in child frame on read-from-minibuffer" single ((:commit . "60838f3cab438dcbda8eaa15ab3e5d1af88910e9") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "frames") (:url . "https://github.com/muffinmad/emacs-mini-frame"))]) (mini-header-line . [(20170621 1221) ((emacs (24 4))) "a minimal header-line" single ((:commit . "73b6724e0a26c4528d93768191c8aa59e6bce2e5") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:keywords "header-line" "mode-line") (:url . "https://github.com/ksjogo/mini-header-line"))]) (mini-modeline . [(20211130 604) ((emacs (25 1)) (dash (2 12 0))) "Display modeline in minibuffer" single ((:commit . "434b98b22c69c8b3b08e9c267c935591c49a8301") (:authors ("Kien Nguyen" . "kien.n.quang@gmail.com")) (:maintainer "Kien Nguyen" . "kien.n.quang@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/kiennq/emacs-mini-modeline"))]) (minibuf-isearch . [(20151226 1943) nil "incremental search on minibuffer history" single ((:commit . "2846c6ac369ee623dad4cd3c8a7a6d9078965516") (:authors ("Keiichiro Nagano" . "knagano@sodan.org") ("Hideyuki SHIRAI " . "shirai@meadowy.org")) (:maintainer "Keiichiro Nagano" . "knagano@sodan.org") (:keywords "minibuffer" "history" "incremental search"))]) @@ -3031,13 +3068,13 @@ (miniedit . [(20100419 1745) nil "Enhanced editing for minibuffer fields." single ((:commit . "e12bf659c3eb92dd8a4cb77642dc0865c54667a3"))]) (minimal-session-saver . [(20140508 2041) nil "Very lean session saver" single ((:commit . "cf654ac549850746dc21091746e4bcc1aef7668e") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "tools" "frames" "project") (:url . "http://github.com/rolandwalker/minimal-session-saver"))]) (minimal-theme . [(20190113 2132) nil "A light/dark minimalistic Emacs 24 theme." tar ((:commit . "221b43aad320d226863892dfe4d85465e8eb81ce") (:authors ("Anler Hp ")) (:maintainer "Anler Hp ") (:keywords "color" "theme" "minimal") (:url . "http://github.com/ikame/minimal-theme"))]) - (minions . [(20220422 1615) ((emacs (25 2)) (compat (28 1 1 0))) "A minor-mode menu for the mode line" single ((:commit . "b0427eea174adb494efc9fa212c22021861d3f76") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/minions"))]) + (minions . [(20220422 1615) ((emacs (25 2)) (compat (28 1 1 0))) "A minor-mode menu for the mode line" single ((:commit . "19dae1c41542777cb5b0311b6e2e77f43e2fd407") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/minions"))]) (minitest . [(20200506 308) ((dash (1 0 0))) "An Emacs mode for ruby minitest files" tar ((:commit . "ddd152c990a528ad09a696bfad23afa4330ea4d7") (:authors ("Arthur Neves")) (:maintainer "Arthur Neves") (:url . "https://github.com/arthurnn/minitest-emacs"))]) (minizinc-mode . [(20180201 1450) ((emacs (24 1))) "Major mode for MiniZinc code" single ((:commit . "2512521ba7f8e263a06db88df663fc6b3cca7e16") (:keywords "languages" "minizinc") (:url . "http://github.com/m00nlight/minizinc-mode"))]) (minor-mode-hack . [(20170926 34) nil "Change priority of minor-mode keymaps" single ((:commit . "9688994e23ccb2de568225ef125b41c46e5667c3") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "lisp") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/minor-mode-hack.el"))]) (minsk-theme . [(20200306 1220) ((emacs (24))) "Minsk, a theme in deep muted greens" single ((:commit . "e4dcdec3a4472a507d6b249ae2194dacaa885ecb") (:authors ("Jean Lo" . "jlpaca@users.noreply.github.com")) (:maintainer "Jean Lo" . "jlpaca@users.noreply.github.com") (:keywords "theme" "faces") (:url . "https://github.com/jlpaca/minsk-theme"))]) (mip-mode . [(20151127 617) nil "virtual projects for emacs." single ((:commit . "7c88c383b4c7ed0a4c1dc397735f365c1fcb461c") (:authors ("Eeli Reilin" . "gaudecker@fea.st")) (:maintainer "Eeli Reilin" . "gaudecker@fea.st") (:keywords "workspaces" "workspace" "project" "projects" "mip-mode"))]) - (mips-mode . [(20211114 1645) nil "Major-mode for MIPS assembly" single ((:commit . "5676174bea9a5780ddd33d2d8111b8678dfa4e99") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "languages" "mips" "assembly") (:url . "https://github.com/hlissner/emacs-mips-mode"))]) + (mips-mode . [(20220608 1204) ((emacs (25 1))) "Major-mode for MIPS assembly" single ((:commit . "98795cdc81979821ac35d9f94ce354cd99780c67") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "languages" "mips" "assembly") (:url . "https://github.com/hlissner/emacs-mips-mode"))]) (mix . [(20210605 1015) ((emacs (25 1))) "Mix Major Mode. Build Elixir using Mix" single ((:commit . "bfe61ed4e7dd8cfc0bb2603fbac3eb44b32438bf") (:authors ("Ayrat Badykov" . "ayratin555@gmail.com")) (:maintainer "Ayrat Badykov" . "ayratin555@gmail.com") (:keywords "tools") (:url . "https://github.com/ayrat555/mix.el"))]) (mixed-pitch . [(20210304 1900) ((emacs (24 3))) "Use a variable pitch, keeping fixed pitch where it's sensible" single ((:commit . "519e05f74825abf04b7d2e0e38ec040d013a125a") (:authors ("J. Alexander Branham" . "branham@utexas.edu")) (:maintainer "J. Alexander Branham" . "branham@utexas.edu") (:url . "https://gitlab.com/jabranham/mixed-pitch"))]) (mkdown . [(20140517 1418) ((markdown-mode (2 0))) "Pretty Markdown previews based on mkdown.com" tar ((:commit . "8e23de82719af6c5b53b52b3308a02b3a1fb872e") (:authors ("Andrew Tulloch")) (:maintainer "Andrew Tulloch") (:keywords "markdown") (:url . "https://github.com/ajtulloch/mkdown.el"))]) @@ -3050,19 +3087,19 @@ (mobdebug-mode . [(20140110 346) ((lua-mode (20130419)) (emacs (24))) "Major mode for MobDebug" single ((:commit . "e1d483bc4e341c762bc5c0a8c52306a8d01ea0da") (:authors ("Shihpin Tseng" . "deftsp@gmail.com")) (:maintainer "Shihpin Tseng" . "deftsp@gmail.com") (:url . "https://github.com/deftsp/mobdebug-mode"))]) (mocha . [(20200729 1130) ((js2-mode (20150909)) (f (0 18))) "Run Mocha or Jasmine tests" single ((:commit . "6a72fa20e7be6e55c09b1bc9887ee09c5df28e45") (:authors ("Al Scott")) (:maintainer "Al Scott") (:keywords "javascript" "mocha" "jasmine") (:url . "http://github.com/scottaj/mocha.el"))]) (mocha-snippets . [(20190417 1931) ((yasnippet (0 8 0))) "Yasnippets for the Mocha JS Testing Framework" tar ((:commit . "44998ea42136a6912ce80061909db1c4c77c8ed8") (:authors ("Charles Lowell" . "cowboyd@frontside.io")) (:maintainer "Charles Lowell" . "cowboyd@frontside.io") (:keywords "test" "javascript"))]) - (mocker . [(20210115 157) ((emacs (25 1))) "mocking framework for emacs" single ((:commit . "5b01b3cc51388faf1ba823683c3600790099c84c") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "lisp" "testing"))]) - (modalka . [(20210318 1748) ((emacs (24 4))) "Modal editing your way" single ((:commit . "3d7f652d06c8e39cfe252ece804868a20730df07") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "modal" "editing") (:url . "https://github.com/mrkkrp/modalka"))]) + (mocker . [(20220727 1452) ((emacs (25 1))) "mocking framework for emacs" single ((:commit . "e455599f48bad7d73fd445e70a3acf4b44c2f5c1") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "lisp" "testing"))]) + (modalka . [(20220802 1450) ((emacs (24 4))) "Modal editing your way" single ((:commit . "414b3e89937495b36fd8897adc6443eca98df78c") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "modal" "editing") (:url . "https://github.com/mrkkrp/modalka"))]) (mode-icons . [(20200920 2031) ((emacs (24)) (cl-lib (0 5))) "Show icons for modes" tar ((:commit . "a5f978e84e07a1d79c6c8e35043ac93d8e5d50ed") (:authors ("Tom Willemse" . "tom@ryuslash.org")) (:maintainer "Tom Willemse" . "tom@ryuslash.org") (:keywords "multimedia") (:url . "http://ryuslash.org/projects/mode-icons.html"))]) (mode-line-bell . [(20181029 516) nil "Flash the mode line instead of ringing the bell" single ((:commit . "26ac7d97abdeb762ceaeab6b892f3ed7e3412494") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience"))]) - (mode-line-debug . [(20220422 1615) ((emacs (25 1)) (compat (28 1 1 0))) "Show status of debug-on-error in mode-line" single ((:commit . "d33e76efac6978c755bb5e0ced061b0063a6dff9") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "lisp") (:url . "https://github.com/tarsius/mode-line-debug"))]) - (mode-line-idle . [(20220406 2322) ((emacs (28 1))) "Evaluate mode line content when idle" single ((:commit . "6ff3eb73586e9f3d6197447290aa92fd49f467e8") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-mode-line-idle"))]) + (mode-line-debug . [(20220422 1615) ((emacs (25 1)) (compat (28 1 1 0))) "Show status of debug-on-error in mode-line" single ((:commit . "e8e17b96df1b9fdc448bfc5367a24c2917de88d4") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience" "lisp") (:url . "https://github.com/tarsius/mode-line-debug"))]) + (mode-line-idle . [(20220731 2355) ((emacs (28 1))) "Evaluate mode line content when idle" single ((:commit . "11877416ef391dffa38eb1433ce2f337405c7ddc") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-mode-line-idle"))]) (modern-cpp-font-lock . [(20210405 1155) nil "Font-locking for \"Modern C++\"" single ((:commit . "43c6b68ff58fccdf9deef11674a172e4eaa8455c") (:authors ("Ludwig PACIFICI" . "ludwig@lud.cc")) (:maintainer "Ludwig PACIFICI" . "ludwig@lud.cc") (:keywords "languages" "c++" "cpp" "font-lock") (:url . "https://github.com/ludwigpacifici/modern-cpp-font-lock"))]) (modern-fringes . [(20220401 202) nil "Replaces default fringe bitmaps with better looking ones" single ((:commit . "98473694a33922cfdddb18b4791028e4854b53b5") (:authors ("Quen Jankosky" . "quen.jankosky@gmail.com")) (:maintainer "Quen Jankosky" . "quen.jankosky@gmail.com") (:keywords "themes" "fringes" "convenience") (:url . "http://github.com/specialbomb/emacs-modern-fringes"))]) (modern-sh . [(20211101 1001) ((emacs (25 1)) (hydra (0 15 0)) (eval-in-repl (0 9 7))) "Minor mode for editing shell script" single ((:commit . "8ebebe77304aa8170f7af809e7564c79d3bd45da") (:keywords "languages" "programming") (:url . "https://github.com/damon-kwok/modern-sh"))]) (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"))]) (modular-config . [(20210726 1614) ((emacs (25 1))) "Organize your config into small and loadable modules" single ((:commit . "2bd77193fa3a7ec0541db284b4034821a8f59fea") (:authors ("Sidharth Arya" . "sidhartharya10@gmail.com")) (:maintainer "Sidharth Arya" . "sidhartharya10@gmail.com") (:keywords "startup" "lisp" "tools") (:url . "https://github.com/SidharthArya/modular-config.el"))]) - (modus-themes . [(20220425 333) ((emacs (27 1))) "Elegant, highly legible and customizable themes" tar ((:commit . "29b8a115046f864e454ded9e2ff864d9cf9d6d6e") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Protesilaos Stavrou" . "info@protesilaos.com") (:keywords "faces" "theme" "accessibility") (:url . "https://git.sr.ht/~protesilaos/modus-themes"))]) - (moe-theme . [(20220111 1220) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "edf3fe47fb986e283e3b04cba443dcb39fe8720e") (:authors ("kuanyui" . "azazabc123@gmail.com")) (:maintainer "kuanyui" . "azazabc123@gmail.com") (:keywords "themes") (:url . "https://github.com/kuanyui/moe-theme.el"))]) + (modus-themes . [(20220804 500) ((emacs (27 1))) "Elegant, highly legible and customizable themes" tar ((:commit . "a9399d08ce2199b31f7e64a3f4740156e8f501eb") (:authors ("Protesilaos Stavrou" . "info@protesilaos.com")) (:maintainer "Modus-Themes Development" . "~protesilaos/modus-themes@lists.sr.ht") (:keywords "faces" "theme" "accessibility") (:url . "https://git.sr.ht/~protesilaos/modus-themes"))]) + (moe-theme . [(20220707 1110) nil "A colorful eye-candy theme. Moe, moe, kyun!" tar ((:commit . "786c5f9aefa38b36f6bee0aa56aaa8da00fa0924") (:authors ("kuanyui" . "azazabc123@gmail.com")) (:maintainer "kuanyui" . "azazabc123@gmail.com") (:keywords "themes") (:url . "https://github.com/kuanyui/moe-theme.el"))]) (molar-mass . [(20210519 1342) ((emacs (24 3))) "Calculates molar mass of a molecule" single ((:commit . "838db1486a2dc5a3774eb195d62fbcdef71a63f7") (:authors ("Sergi Ruiz Trepat")) (:maintainer "Sergi Ruiz Trepat") (:keywords "convenience" "chemistry") (:url . "https://github.com/sergiruiztrepat/molar-mass.el"))]) (molecule . [(20180527 743) ((emacs (25 1))) "Simple wrapper for molecule" single ((:commit . "2ef72b81d9aa24ea782b71a061a3abdad6cae162") (:authors (": drymer ")) (:maintainer ": drymer ") (:keywords ":" "languages" "terminals") (:url . "https://git.daemons.it/drymer/molecule.el"))]) (molokai-theme . [(20220106 1520) nil "molokai theme with Emacs theme engine" single ((:commit . "cc53e997e7eff93b58ad16a376a292c1dd66044b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/alloy-d/color-theme-molokai"))]) @@ -3077,14 +3114,14 @@ (monotropic-theme . [(20211116 1328) ((emacs (24))) "Monotropic Theme" single ((:commit . "f32a04b5bfee9cbcce4b223f17228d1142a28211") (:authors ("caffo")) (:maintainer "caffo") (:url . "https://github.com/caffo/monotropic-theme"))]) (monroe . [(20210824 2348) nil "Yet another client for nREPL" single ((:commit . "d140512781bda5160b4786f591694a569639b9ad") (:authors ("Sanel Zukan" . "sanelz@gmail.com")) (:maintainer "Sanel Zukan" . "sanelz@gmail.com") (:keywords "languages" "clojure" "nrepl" "lisp") (:url . "http://www.github.com/sanel/monroe"))]) (mood-line . [(20211003 2113) ((emacs (25 1))) "A minimal mode-line inspired by doom-modeline" single ((:commit . "ef1c752679a8f92faa7b4828adbbb300b6942f22") (:authors ("Jessie Hildebrandt ")) (:maintainer "Jessie Hildebrandt ") (:keywords "mode-line" "faces") (:url . "https://gitlab.com/jessieh/mood-line"))]) - (mood-one-theme . [(20210221 18) ((emacs (24 4))) "A dark color scheme inspired by the Doom One theme." single ((:commit . "42e402a89473458f55a71c5bbe785575e9a927ba") (:authors ("Jessie Hildebrandt ")) (:maintainer "Jessie Hildebrandt ") (:keywords "mode-line" "faces") (:url . "https://gitlab.com/jessieh/mood-one-theme"))]) - (moody . [(20220422 1616) ((emacs (25 3)) (compat (28 1 1 0))) "Tabs and ribbons for the mode line" single ((:commit . "ac647781d2d66d57c84a64dfd33b463b4a99b257") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces") (:url . "https://github.com/tarsius/moody"))]) - (moom . [(20210324 825) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "f94cf84138a81212ffe856599834f7824a1b6e95") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:keywords "frames" "faces" "convenience") (:url . "https://github.com/takaxp/Moom"))]) + (mood-one-theme . [(20220613 114) ((emacs (24 4))) "A dark color scheme inspired by the Doom One theme." single ((:commit . "033910aaf1bb41f384d1b5b96d55975d1378a34b") (:authors ("Jessie Hildebrandt ")) (:maintainer "Jessie Hildebrandt ") (:keywords "mode-line" "faces") (:url . "https://gitlab.com/jessieh/mood-one-theme"))]) + (moody . [(20220620 844) ((emacs (25 3)) (compat (28 1 1 0))) "Tabs and ribbons for the mode line" single ((:commit . "a798096ee4ccf66ef2aa7016c00c8531bd63d27a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces") (:url . "https://github.com/tarsius/moody"))]) + (moom . [(20220724 808) ((emacs (25 1))) "Commands to control frame position and size" tar ((:commit . "808952a934d0459829422b3417ca23926c1ceabf") (:authors ("Takaaki ISHIKAWA ")) (:maintainer "Takaaki ISHIKAWA ") (:keywords "frames" "faces" "convenience") (:url . "https://github.com/takaxp/Moom"))]) (moonscript . [(20170831 2226) ((cl-lib (0 5)) (emacs (24))) "Major mode for editing MoonScript code" tar ((:commit . "56f90471e2ced2b0a177aed4d8c2f854797e9cc7") (:authors ("@GriffinSchneider, @k2052, @EmacsFodder")) (:maintainer "@GriffinSchneider, @k2052, @EmacsFodder"))]) (moonshot . [(20210627 2244) ((emacs (25 1)) (cl-lib (0 5)) (f (0 18)) (s (1 11 0)) (projectile (2 0 0)) (counsel (0 11 0)) (realgud (1 5 1)) (seq (2 20)) (levenshtein (1 0))) "Run executable file, debug and build commands on project" single ((:commit . "ec37a12825888047a90d9ee8131aa4bea348edf7") (:authors ("Jong-Hyouk Yun" . "ageldama@gmail.com")) (:maintainer "Jong-Hyouk Yun" . "ageldama@gmail.com") (:keywords "convenience" "files" "processes" "tools" "unix") (:url . "https://github.com/ageldama/moonshot"))]) (morganey-mode . [(20170118 934) ((emacs (24 4))) "Major mode for editing Morganey files" single ((:commit . "5cf3870432a2aeb69d373abe63b3be1f325f6d21") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "https://github.com/morganey-lang/morganey-mode"))]) (morgentau-theme . [(20220319 1049) ((emacs (24))) "Tango-based custom theme" single ((:commit . "a8da5640b4a9b72a3136901d0a1a03071d9fcb00") (:authors ("Benjamin Vincent Schulenburg")) (:maintainer "Benjamin Vincent Schulenburg") (:keywords "theme" "dark" "faces") (:url . "https://github.com/Melchizedek6809/morgentau-theme"))]) - (morlock . [(20220422 1616) ((emacs (25 1)) (compat (28 1 1 0))) "More font-lock keywords for elisp" single ((:commit . "b699497363c60bddc18393f68e3c9185e5fbb589") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/morlock"))]) + (morlock . [(20220422 1616) ((emacs (25 1)) (compat (28 1 1 0))) "More font-lock keywords for elisp" single ((:commit . "3b3716e3f865dd71e3acc3f54a0a9f7e2445695a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/tarsius/morlock"))]) (mosey . [(20180614 1649) ((emacs (24 4))) "Mosey around your buffers" single ((:commit . "2e3ac9d334fa2937ed5267193dfd25d8e1f14dc2") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "http://github.com/alphapapa/mosey.el"))]) (most-used-words . [(20200808 931) ((emacs (24 3))) "Display most used words in buffer" single ((:commit . "f712879493660c3c3ee3793470b8f8939b79c2b0") (:authors ("Udyant Wig" . "udyant.wig@gmail.com")) (:maintainer "Udyant Wig" . "udyant.wig@gmail.com") (:keywords "convenience" "wp") (:url . "https://github.com/udyantw/most-used-words"))]) (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/"))]) @@ -3092,16 +3129,16 @@ (move-dup . [(20210127 1938) ((emacs (25 1))) "Eclipse-like moving and duplicating lines or rectangles" single ((:commit . "5906503e0b9b832b1d5062c9cd27cf72a2ce4817") (:authors ("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:keywords "convenience" "text" "edit") (:url . "https://github.com/wyuenho/move-dup"))]) (move-text . [(20170909 330) nil "Move current line or region with M-up or M-down." single ((:commit . "bfc255110ad05732a43cf25d6a0e3b4a6710b58c") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:keywords "edit") (:url . "https://github.com/emacsfodder/move-text"))]) (mowedline . [(20161122 235) nil "elisp utilities for using mowedline" single ((:commit . "6121b7d4aacd18f7b24da226e61dbae054e50a7c") (:authors ("John Foerch" . "jjfoerch@earthlink.net")) (:maintainer "John Foerch" . "jjfoerch@earthlink.net"))]) - (mozc . [(20210306 1053) nil "minor mode to input Japanese with Mozc" single ((:commit . "4c5d516fdff227039305eef3411f12bac9f02246") (:keywords "mule" "multilingual" "input method"))]) + (mozc . [(20210306 1053) nil "minor mode to input Japanese with Mozc" single ((:commit . "d1f5657f9b43fdf06852424cfb4f1a6fe2bc5171") (:keywords "mule" "multilingual" "input method"))]) (mozc-cand-posframe . [(20200208 750) ((emacs (26 1)) (posframe (0 5 0)) (mozc (20180101 800)) (s (1 12))) "Posframe frontend for mozc.el" single ((:commit . "1d07d5055381008ccbb29b97315d140e09a7ee95") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "i18n" "tooltip") (:url . "https://github.com/akirak/mozc-posframe"))]) (mozc-im . [(20160412 22) ((mozc (0))) "Mozc with input-method-function interface." single ((:commit . "df614a1076c28a11551fb3e822868bae47e855a5") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com") (:keywords "i18n" "extentions"))]) (mozc-popup . [(20150224 34) ((popup (0 5 2)) (mozc (0))) "Mozc with popup" single ((:commit . "f0684b875a7427ec08f8df13939a486e5d5cf420") (:authors ("Daisuke Kobayashi" . "d5884jp@gmail.com")) (:maintainer "Daisuke Kobayashi" . "d5884jp@gmail.com") (:keywords "i18n" "extentions"))]) (mozc-temp . [(20160228 840) ((emacs (24)) (dash (2 10 0)) (mozc (0))) "Use mozc temporarily" single ((:commit . "90a6eb1db8fa1283b944432cfb83739286b37f92") (:authors ("Hiroki YAMAKAWA" . "s06139@gmail.com")) (:maintainer "Hiroki YAMAKAWA" . "s06139@gmail.com") (:url . "https://github.com/HKey/mozc-temp"))]) (mpages . [(20150710 1404) nil "An Emacs buffer for quickly writing your Morning Pages" single ((:commit . "39a72a0931ab1cdbfdf0ab9f412dc12d43a3829f") (:authors ("Sean Levin")) (:maintainer "Sean Levin") (:url . "https://github.com/slevin/mpages"))]) - (mpdel . [(20210107 1303) ((emacs (25 1)) (libmpdel (1 2 0)) (navigel (0 7 0))) "Play and control your MPD music" tar ((:commit . "6682446c6263a79e79c55cf32c0efb066245feec") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "multimedia") (:url . "https://gitea.petton.fr/mpdel/mpdel"))]) + (mpdel . [(20220706 1952) ((emacs (25 1)) (libmpdel (1 2 0)) (navigel (0 7 0))) "Play and control your MPD music" tar ((:commit . "be954f3722d4f28718748eeb5dc859b04d3fefeb") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "multimedia") (:url . "https://github.com/mpdel/mpdel"))]) (mpdmacs . [(20210904 35) ((emacs (25 1)) (elmpd (0 1))) "A lightweight MPD client" single ((:commit . "334b066dc5bb82d9ccb6cc30d63afed0f7610fe8") (:authors ("Michael Herstine" . "sp1ff@pobox.com")) (:maintainer "Michael Herstine" . "sp1ff@pobox.com") (:keywords "comm") (:url . "https://github.com/sp1ff/mpdmacs"))]) (mpmc-queue . [(20180303 2029) ((emacs (26 0)) (queue (0 2 0))) "a multiple-producer-multiple-consumer queue" single ((:commit . "df07d6bef7468edb1d73ef73b8331b94d0e5d0ca") (:authors ("Sho Mizoe" . "sho.mizoe@gmail.com")) (:maintainer "Sho Mizoe" . "sho.mizoe@gmail.com") (:keywords "lisp" "async") (:url . "https://github.com/smizoe/mpmc-queue"))]) - (mpv . [(20211228 2043) ((cl-lib (0 5)) (emacs (25 1)) (json (1 3)) (org (8 0))) "control mpv for easy note-taking" single ((:commit . "4fd8baa508dbc1a6b42b4e40292c0dbb0f19c9b9") (:authors ("Johann Klähn" . "johann@jklaehn.de")) (:maintainer "Johann Klähn" . "johann@jklaehn.de") (:keywords "tools" "multimedia") (:url . "https://github.com/kljohann/mpv.el"))]) + (mpv . [(20220801 1917) ((emacs (25 1))) "control mpv for easy note-taking" single ((:commit . "2e0234bc21a3dcdf12d94d3285475e7f6769d3e8") (:authors ("Johann Klähn" . "johann@jklaehn.de")) (:maintainer "Johann Klähn" . "johann@jklaehn.de") (:keywords "tools" "multimedia") (:url . "https://github.com/kljohann/mpv.el"))]) (mqr . [(20180527 1204) ((emacs (24 4))) "Multi-dimensional query and replace" single ((:commit . "4ade19d4620b8b61340290bf63fa56d5e493859f") (:authors ("Tino Calancha" . "tino.calancha@gmail.com")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:keywords "convenience" "extensions" "lisp") (:url . "https://github.com/calancha/multi-replace"))]) (mqtt-mode . [(20180611 1735) ((emacs (25)) (dash (2 12 0))) "client for interaction with MQTT servers" single ((:commit . "613e70e9b9940e635e779994b5c83f86eb62c8e6") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:keywords "tools") (:url . "https://github.com/andrmuel/mqtt-mode"))]) (msgpack . [(20200323 515) ((emacs (25 1))) "Read and write MessagePack object" single ((:commit . "90e3086f259549b1667a3c5b9aa2d70aaeaa4d3d") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "lisp") (:url . "https://github.com/xuchunyang/msgpack.el"))]) @@ -3109,12 +3146,12 @@ (mtg-deck-mode . [(20180613 2010) ((emacs (25 1))) "Major mode to edit MTG decks" tar ((:commit . "8265b8ed17fcd4406760c19aa6ee9c76068b1ab0") (:authors ("Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com")) (:maintainer "Mattias Bengtsson" . "mattias.jc.bengtsson@gmail.com") (:keywords "data" "mtg" "magic") (:url . "https://github.com/mattiasb/mtg-deck-mode"))]) (mu-cite . [(20190803 439) ((flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "b2c83bbce4646d100b942f0f0de0877a8d47298c") (:authors ("MORIOKA Tomohiko" . "tomo@m17n.org") ("Shuhei KOBAYASHI" . "shuhei@aqua.ocn.ne.jp")) (:maintainer "Katsumi Yamaoka" . "yamaoka@jpl.org") (:keywords "mail" "news" "citation"))]) (mu2tex . [(20200512 704) nil "Convert plain text molecule names and units to TeX" single ((:commit . "4b84cdac955cb36a8c44a2be48f3310252e3d3ad") (:authors ("Carsten Dominik" . "carsten.dominik@gmail.com")) (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") (:keywords "tex") (:url . "https://github.com/cdominik/mu2tex"))]) - (mu4e-alert . [(20220416 1840) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 4))) "Desktop notification for mu4e" single ((:commit . "b34d0ea7b75709cc25d842a783cebea855dc9f7d") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Mikhail Rudenko" . "mike.rudenko@gmail.com") (:keywords "mail" "convenience") (:url . "https://github.com/iqbalansari/mu4e-alert"))]) - (mu4e-column-faces . [(20210927 1759) ((emacs (25 3))) "Faces for individual mu4e columns" single ((:commit . "b76a5989cafe88a263688488854187a015beef41") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/mu4e-column-faces"))]) + (mu4e-alert . [(20220615 1948) ((alert (1 2)) (s (1 10 0)) (ht (2 0)) (emacs (24 4))) "Desktop notification for mu4e" single ((:commit . "3c9af8c7994df0a1a4f0703552ea3beffb485ace") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Mikhail Rudenko" . "mike.rudenko@gmail.com") (:keywords "mail" "convenience") (:url . "https://github.com/iqbalansari/mu4e-alert"))]) + (mu4e-column-faces . [(20220704 1920) ((emacs (25 3))) "Faces for individual mu4e columns" single ((:commit . "c5938a4f4ed23cf543f73d24e0a6f53272bdcd4a") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/mu4e-column-faces"))]) (mu4e-conversation . [(20190609 812) ((emacs (25 1))) "Show a complete thread in a single buffer" single ((:commit . "ccf85002b18fee54051dbfaf8d3931ca2a07db24") (:authors ("Pierre Neidhardt" . "mail@ambrevar.xyz")) (:maintainer "Pierre Neidhardt" . "mail@ambrevar.xyz") (:keywords "mail" "convenience" "mu4e") (:url . "https://gitlab.com/Ambrevar/mu4e-conversation"))]) (mu4e-jump-to-list . [(20211030 2307) ((emacs (24 4)) (cl-lib (0 5))) "mu4e jump-to-list extension" single ((:commit . "4d362a668be4ae624ee96bf7806b25505b4bdf5c") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "mu4e" "mail" "convenience") (:url . "https://gitlab.com/wavexx/mu4e-jump-to-list.el"))]) - (mu4e-maildirs-extension . [(20201028 921) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "1167bc6e08996f866e73e9a02f563fd21ac317fd") (: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-marker-icons . [(20220225 1137) ((emacs (26 1)) (all-the-icons (4 0 0))) "Display icons for mu4e markers" single ((:commit . "66674ee00dbf953e7d8c1696fb12e9b5b4b272bd") (:keywords "mail") (:url . "https://repo.or.cz/mu4e-marker-icons.git"))]) + (mu4e-maildirs-extension . [(20220517 1852) ((dash (0 0 0))) "Show mu4e maildirs summary in mu4e-main-view" single ((:commit . "cdc2e141d8ecd59508a5cd50d6d02120073bf4f1") (: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-marker-icons . [(20220714 1405) ((emacs (26 1)) (all-the-icons (4 0 0))) "Display icons for mu4e markers" single ((:commit . "5e8dab1f07fca183f29e310c208ecb0086ff3222") (:keywords "mail") (:url . "https://repo.or.cz/mu4e-marker-icons.git"))]) (mu4e-overview . [(20200824 1549) ((emacs (26))) "Show overview of maildir" single ((:commit . "7daaa35a6d78feb83167e780a9c23da719c9051b") (:authors ("Michał Krzywkowski" . "k.michal@zoho.com")) (:maintainer "Michał Krzywkowski" . "k.michal@zoho.com") (:keywords "mail" "tools") (:url . "https://github.com/mkcms/mu4e-overview"))]) (mu4e-query-fragments . [(20211030 2307) ((emacs (24 4))) "mu4e query fragments extension" single ((:commit . "8d93ede3772353e2dbc307de03e06e37ea6a0b6c") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "mu4e" "mail" "convenience") (:url . "https://gitlab.com/wavexx/mu4e-query-fragments.el"))]) (mu4e-views . [(20220214 358) ((emacs (26 1)) (xwidgets-reuse (0 2)) (ht (2 2)) (esxml (20210323 1102))) "View emails in mu4e using xwidget-webkit" single ((:commit . "fa47f35e56edcc84f00d622e415ae970cc5df0dd") (:authors ("Boris Glavic" . "lordpretzel@gmail.com")) (:maintainer "Boris Glavic" . "lordpretzel@gmail.com") (:keywords "mail") (:url . "https://github.com/lordpretzel/mu4e-views"))]) @@ -3123,14 +3160,14 @@ (multi . [(20131013 1544) ((emacs (24))) "Clojure-style multi-methods for emacs lisp" single ((:commit . "0987ab71692717ed457cb3984de184db9185806d") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:keywords "multimethod" "generic" "predicate" "dispatch") (:url . "http://github.com/kurisuwhyte/emacs-multi"))]) (multi-compile . [(20211113 2119) ((emacs (24 4)) (dash (2 12 1))) "Multi target interface to compile." single ((:commit . "5e1e63b6ae4bd94aab5902b14b2bf4238e502cfb") (:authors ("Kvashnin Vladimir" . "reangd@gmail.com")) (:maintainer "Kvashnin Vladimir" . "reangd@gmail.com") (:keywords "tools" "compile" "build") (:url . "https://github.com/ReanGD/emacs-multi-compile"))]) (multi-line . [(20220112 1744) ((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 . "625c608443f98bb34b4d5600d52c198509fb64d0") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "multi" "line" "length" "whitespace" "programming" "tools" "convenience" "files") (:url . "https://github.com/IvanMalison/multi-line"))]) - (multi-project . [(20220415 2334) ((emacs (25))) "Find files, compile, and search for multiple projects." single ((:commit . "d51551296425b1febd102a38a46f2d3dc4548559") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:keywords "convenience" "project" "management") (:url . "https://hg.osdn.net/view/multi-project/multi-project"))]) + (multi-project . [(20220703 2154) ((emacs (25))) "Find files, compile, and search for multiple projects." single ((:commit . "43a30f9578dc2f5acd4fc2941bedaa031b942b81") (:authors ("Shawn Ellis" . "shawn.ellis17@gmail.com")) (:maintainer "Shawn Ellis" . "shawn.ellis17@gmail.com") (:keywords "convenience" "project" "management") (:url . "https://hg.osdn.net/view/multi-project/multi-project"))]) (multi-run . [(20210108 336) ((emacs (24)) (window-layout (1 4))) "Efficiently manage multiple remote nodes" tar ((:commit . "13d4d923535b5e8482b13ff76185203075fb26a3") (:authors ("Sagar Jha")) (:maintainer "Sagar Jha") (:keywords "multiple shells" "multi-run" "remote nodes") (:url . "https://www.github.com/sagarjha/multi-run"))]) (multi-term . [(20200514 428) nil "Managing multiple terminal buffers in Emacs." single ((:commit . "017c77c550115936860e2ea71b88e585371475d5") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:keywords "term" "terminal" "multiple buffer") (:url . "http://www.emacswiki.org/emacs/download/multi-term.el"))]) (multi-vterm . [(20210727 1050) ((emacs (26 3)) (vterm (0 0)) (project (0 3 0))) "Like multi-term.el but for vterm" single ((:commit . "a3df7218c1ecadef779e2c47815201052283f9ea") (:keywords "terminals" "processes") (:url . "https://github.com/suonlight/multi-libvterm"))]) (multi-web-mode . [(20130824 354) nil "multiple major mode support for web editing" tar ((:commit . "ad1c8d1c870334052d244c7ae3636cb7b9357b7c") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:keywords "convenience" "languages" "wp") (:url . "https://github.com/fgallina/multi-web-mode"))]) (multicolumn . [(20150202 2251) nil "Creating and managing multiple side-by-side windows." single ((:commit . "c7a3afecd470859b2e60aa7c554d6e4d436df7fa") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/multicolumn"))]) (multifiles . [(20130615 2133) nil "View and edit parts of multiple files in one buffer" single ((:commit . "dddfe64b8e1c1cd1f9ccc1f03405477fc0d53897") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "multiple" "files"))]) - (multiple-cursors . [(20220328 1724) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "aae47aebc0ae829211fa1e923232715d8e327b36") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "editing" "cursors") (:url . "https://github.com/magnars/multiple-cursors.el"))]) + (multiple-cursors . [(20220613 2122) ((cl-lib (0 5))) "Multiple cursors for Emacs." tar ((:commit . "225fc0e889e094bfd2913cfd448084cb49211ac6") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "editing" "cursors") (:url . "https://github.com/magnars/multiple-cursors.el"))]) (multistate . [(20210124 2014) ((emacs (25 1)) (ht (2 3))) "Multistate mode" single ((:commit . "a7ab9dc7aac0b6d6d2f872de4e0d1b8550834a9b") (:authors ("Matsievskiy S.V.")) (:maintainer "Matsievskiy S.V.") (:keywords "convenience") (:url . "https://gitlab.com/matsievskiysv/multistate"))]) (multitran . [(20211027 1833) ((emacs (24)) (cl-lib (0 5))) "Interface to multitran" single ((:commit . "910f4c929e1d9c1844ddc467f72eef2e03aa3f97") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:keywords "dictionary" "hypermedia"))]) (mustache . [(20210224 710) ((ht (0 9)) (s (1 3 0)) (dash (1 2 0))) "Mustache templating library in emacs lisp" single ((:commit . "6fcb31f5075edc5fc70c63426b2aef91352ca80f") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "convenience" "mustache" "template") (:url . "https://github.com/Wilfred/mustache.el"))]) @@ -3140,17 +3177,19 @@ (mutant . [(20160124 1353) ((emacs (24 4)) (dash (2 1 0))) "An interface for the Mutant testing tool" single ((:commit . "de9cdefe48c880128a8f62c6699d7416e9c8ced1") (:authors ("Pedro Lambert")) (:maintainer "Pedro Lambert") (:keywords "mutant" "testing") (:url . "http://github.com/p-lambert/mutant.el"))]) (mutt-mode . [(20191102 2330) ((emacs (24))) "major mode for editing mutt configuration" single ((:commit . "1d495de49e6f536459b00d5396a2f5ce5ad4757b") (:authors ("Felix Weilbach" . "felix.weilbach@t-online.de")) (:maintainer "Felix Weilbach" . "felix.weilbach@t-online.de") (:keywords "languages") (:url . "https://gitlab.com/flexw/mutt-mode"))]) (mvn . [(20181002 1617) nil "helpers for compiling with maven" single ((:commit . "223723d9ceeb2878b884e83abb8ca74ad2e42081") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:keywords "compilation" "maven" "java") (:url . "https://github.com/apgwoz/mvn-el"))]) - (mw-thesaurus . [(20210224 449) ((emacs (25)) (request (0 3 0)) (dash (2 16 0))) "Merriam-Webster Thesaurus" single ((:commit . "96f02694bc28f31c2a280a05d47e6ff589f525f3") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:keywords "wp" "matching") (:url . "https://github.com/agzam/mw-thesaurus.el"))]) + (mw-thesaurus . [(20220629 2024) ((emacs (25)) (request (0 3 0)) (dash (2 16 0))) "Merriam-Webster Thesaurus" single ((:commit . "39d27eb4511588160b72078b67e11ce645dc76ee") (:authors ("Ag Ibragimov")) (:maintainer "Ag Ibragimov") (:keywords "wp" "matching") (:url . "https://github.com/agzam/mw-thesaurus.el"))]) (mwim . [(20181110 1900) nil "Switch between the beginning/end of line or code" single ((:commit . "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/mwim.el"))]) (mxf-view . [(20180501 740) ((emacs (25))) "Simple MXF viewer" single ((:commit . "6ca3cc93d995fac5fc4d72275e1e984e9857ffcb") (:authors ("Tomotaka SUWA" . "tomotaka.suwa@gmail.com")) (:maintainer "Tomotaka SUWA" . "tomotaka.suwa@gmail.com") (:keywords "data" "multimedia") (:url . "https://github.com/t-suwa/mxf-view"))]) + (my-repo-pins . [(20220726 813) ((emacs (26 1))) "Keep your git repositories organized" single ((:commit . "f460f17c524db2c815966a0b1ffe86ac450d4908") (:authors ("Félix Baylac Jacqué ")) (:maintainer "Félix Baylac Jacqué ") (:url . "https://alternativebit.fr/projects/my-repo-pins/"))]) (myanmar-input-methods . [(20160106 1537) nil "Emacs Input Method for Myanmar" single ((:commit . "9d4e0d6358c61bde7a2274e430ef71683faea32e") (:authors ("Ye Lin Kyaw" . "yelinkyaw@gmail.com")) (:maintainer "Ye Lin Kyaw" . "yelinkyaw@gmail.com") (:keywords "myanmar" "unicode" "keyboard") (:url . "http://github.com/yelinkyaw/emacs-myanmar-input-methods"))]) - (mybigword . [(20201030 1253) ((emacs (25 1))) "Vocabulary builder using Zipf to extract English big words" tar ((:commit . "4c1386252444df2ade734e02078069a06f3f0f97") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "https://github.com/redguardtoo/mybigword"))]) + (mybigword . [(20220715 615) ((emacs (25 1))) "Vocabulary builder using Zipf to extract English big words" tar ((:commit . "de4c0e694ed3e8fcebb1854b5d3fc3f0d98b0767") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "https://github.com/redguardtoo/mybigword"))]) (mykie . [(20150808 2205) ((emacs (24 3)) (cl-lib (0 5))) "Command multiplexer: Register multiple functions to a keybind" tar ((:commit . "7676f0e883af1d1054e404e97691f3c13aba196f") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "emacs" "configuration" "keybind") (:url . "https://github.com/yuutayamada/mykie-el"))]) (mynt-mode . [(20150512 2049) ((virtualenvwrapper (20131514))) "Minor mode to work with the mynt static site generator" single ((:commit . "23d4489167bfa899634548cb41ed32fdeb3600c9") (:authors ("Christian Brassat")) (:maintainer "Christian Brassat") (:keywords "convenience") (:url . "https://github.com/crshd/mynt-mode"))]) (myrddin-mode . [(20191225 2120) ((emacs (24 3))) "Major mode for editing Myrddin source files" single ((:commit . "51c0a2cb9dfc9526cd47e71313f5a745c99cadcc") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:keywords "languages") (:url . "https://git.sr.ht/~jakob/myrddin-mode"))]) (mysql-to-org . [(20210622 447) ((emacs (24 3)) (s (1 11 0))) "Minor mode to output the results of mysql queries to org tables" single ((:commit . "c5eefc71200f2e1d0d67a13ed897b3cdfa835117") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com"))]) (myterminal-controls . [(20210904 516) ((emacs (24)) (cl-lib (0 5))) "Quick toggle controls at a key-stroke" single ((:commit . "c635868e13ee898ec77925d98b36421640e22aa4") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:keywords "convenience" "shortcuts") (:url . "http://ismail.teamfluxion.com"))]) (n4js . [(20150714 231) ((emacs (24)) (cypher-mode (0))) "Neo4j Shell" single ((:commit . "3991ed8975151d5e8d568e952362df810f7ffab7") (:authors ("TruongTx" . "me@truongtx.me")) (:maintainer "TruongTx" . "me@truongtx.me") (:keywords "neo4j" "shell" "comint") (:url . "https://github.com/tmtxt/n4js.el"))]) + (naga-theme . [(20220724 2023) ((emacs (24 1))) "Dark color theme with green foreground color" single ((:commit . "c5ef0baf1d2e95bc613e99700c38a1227cabe187") (:authors ("Johannes Maier" . "johannes.maier@mailbox.org")) (:maintainer "Johannes Maier" . "johannes.maier@mailbox.org") (:keywords "faces" "themes") (:url . "https://github.com/kenranunderscore/emacs-naga-theme"))]) (name-this-color . [(20151014 2030) ((emacs (24)) (cl-lib (0 5)) (dash (2 11 0))) "Match RGB codes to names easily and precisely" single ((:commit . "e37cd1291d5d68d4c8d6386eab9cb9d94fd3bcfa") (:keywords "lisp" "color" "hex" "rgb" "shade" "name") (:url . "https://github.com/knl/name-this-color.el"))]) (named-timer . [(20181120 2224) ((emacs (24 4))) "Simplified timer management for Emacs Lisp" single ((:commit . "d8baeada19b56176c66aed5fa220751e3de11cb8") (:authors ("Ryan C. Thompson")) (:maintainer "Ryan C. Thompson") (:keywords "tools") (:url . "https://github.com/DarwinAwardWinner/emacs-named-timer"))]) (nameframe . [(20171107 56) nil "Manage frames by name." single ((:commit . "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8") (:authors ("John Del Rosario" . "john2x@gmail.com")) (:maintainer "John Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/nameframe"))]) @@ -3168,9 +3207,9 @@ (narumi . [(20220228 243) ((emacs (26 1))) "A dashboard that displays a ramdom sampled image" single ((:commit . "5bfb114adc0e6a2d5aebcd6335d1e6850e3f9722") (:url . "https://github.com/nryotaro/narumi"))]) (nash-mode . [(20160830 1212) nil "Nash major mode" single ((:commit . "2cd96535eb7d669a94306183e95ee37333872c1a") (:authors ("Tiago Natel de Moura")) (:maintainer "Tiago Natel de Moura") (:keywords "nash" "languages") (:url . "https://github.com/tiago4orion/nash-mode.el"))]) (nasm-mode . [(20190410 342) ((emacs (24 3))) "NASM x86 assembly major mode" single ((:commit . "65ca6546fc395711fac5b3b4299e76c2303d43a8") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/nasm-mode"))]) - (native-complete . [(20220124 1806) ((emacs (26 1))) "Shell completion using native complete mechanisms" single ((:commit . "01d8a2048e13f29dd3aa06281ac8cb466caddb64") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))]) + (native-complete . [(20220707 1544) ((emacs (26 1))) "Shell completion using native complete mechanisms" single ((:commit . "9dbfc842b3af803f636df61dec6129e1d8593ee4") (:authors ("Troy Hinckley" . "troy.hinckley@gmail.com")) (:maintainer "Troy Hinckley" . "troy.hinckley@gmail.com") (:url . "https://github.com/CeleritasCelery/emacs-native-shell-complete"))]) (nav . [(20120507 707) nil "Emacs mode for filesystem navigation" tar ((:commit . "c5eb234c063f435dbdcd1f8bdc46cfc68c973ebe") (:authors ("Issac Trotts" . "issactrotts@google.com")) (:maintainer "Issac Trotts" . "issactrotts@google.com"))]) - (nav-flash . [(20210906 1942) nil "Briefly highlight the current line" single ((:commit . "2e31f32085757e1dfdd8ec78e9940fd1c88750de") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions" "navigation" "interface") (:url . "http://github.com/rolandwalker/nav-flash"))]) + (nav-flash . [(20220726 1117) ((emacs (25 1))) "Briefly highlight the current line" single ((:commit . "5d4b48567862f6be0ca973d6b1dca90e4815cb9b") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions" "navigation" "interface") (:url . "http://github.com/rolandwalker/nav-flash"))]) (navi-mode . [(20201220 1727) ((outshine (2 0)) (outorg (2 0))) "major-mode for easy buffer-navigation" single ((:commit . "cf97e1e338815ad3a4d0bbbf4ff6dd1a4e322ca8") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/navi"))]) (navi2ch . [(20200130 36) nil "Navigator for 2ch for Emacsen" tar ((:commit . "7811dba052f679bd920a1f648d621a6fecace10f") (:authors ("Taiki SUGAWARA" . "taiki@users.sourceforge.net")) (:maintainer "Taiki SUGAWARA" . "taiki@users.sourceforge.net") (:keywords "network" "2ch"))]) (navigel . [(20200202 1214) ((emacs (25 1)) (tablist (1 0))) "Facilitate the creation of tabulated-list based UIs" single ((:commit . "0a2d624d6b49f8363badc5ba8699b7028ef85632") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://gitlab.petton.fr/DamienCassou/navigel"))]) @@ -3179,6 +3218,7 @@ (ncl-mode . [(20180129 703) ((emacs (24))) "Major Mode for editing NCL scripts and other goodies" tar ((:commit . "602292712a9e6b7e7c25155978999e77d06b7338") (:authors ("Yagnesh Raghava Yakkala" . "hi@yagnesh.org")) (:maintainer "Yagnesh Raghava Yakkala" . "hi@yagnesh.org") (:keywords "ncl" "major mode" "ncl-mode" "atmospheric science.") (:url . "https://github.com/yyr/ncl-mode"))]) (nclip . [(20130617 2015) nil "Network (HTTP) Clipboard" tar ((:commit . "af88e38b1f04be02bf2e57affc662dbd0f828e67") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:keywords "nclip" "clipboard" "network") (:url . "http://www.github.com/maio/nclip.el"))]) (neato-graph-bar . [(20181130 1649) ((emacs (24 3))) "Neat-o graph bars CPU/memory etc." single ((:commit . "a7ae35afd67911e8924f36e646bce0d3e3c1bbe6") (:authors ("Robert Cochran" . "robert-git@cochranmail.com")) (:maintainer "Robert Cochran" . "robert-git@cochranmail.com") (:url . "https://gitlab.com/RobertCochran/neato-graph-bar"))]) + (neil . [(20220514 2039) ((emacs (27 1))) "companion for Babashka Neil" single ((:commit . "001b80eaa59705fe081e982ab7774681507fd0d7") (:authors ("Ag Ibragimov" . "agzam.ibragimov@gmail.com")) (:maintainer "Ag Ibragimov" . "agzam.ibragimov@gmail.com") (:keywords "convenience" "tools") (:url . "https://github.com/babashka/neil"))]) (nemerle . [(20161029 2023) nil "major mode for editing nemerle programs" single ((:commit . "db4bc9078f1b6238da32df1519c1957e74b6834a") (:authors ("Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl")) (:maintainer "Jacek Sliwerski (rzyjontko)" . "rzyj@o2.pl") (:keywords "nemerle" "mode" "languages"))]) (neon-mode . [(20180406 1156) nil "Simple major mode for editing neon files" single ((:commit . "99d15e46beaf1e7d71e39a00cce810df1f33229d") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "conf"))]) (neotree . [(20200324 1946) ((cl-lib (0 5))) "A tree plugin like NerdTree for Vim" tar ((:commit . "98fe21334affaffe2334bf7c987edaf1980d2d0b") (:authors ("jaypei" . "jaypei97159@gmail.com")) (:maintainer "jaypei" . "jaypei97159@gmail.com") (:url . "https://github.com/jaypei/emacs-neotree"))]) @@ -3188,7 +3228,7 @@ (netherlands-holidays . [(20150202 1617) nil "Netherlands holidays for Emacs calendar." single ((:commit . "26236178cdd650df9958bf5a086e184096559f00") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "calendar") (:url . "https://github.com/abo-abo/netherlands-holidays"))]) (netrunner . [(20160910 2332) ((popup (0 5 3)) (company (0 9 0)) (helm (1 9 5))) "Create Android: Netrunner decklists using Company, Helm and org-mode" single ((:commit . "c64672992175c8c1073c0f56c2e471839db71a0f") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:keywords "games") (:url . "http://github.com/Kungsgeten/netrunner"))]) (network-watch . [(20171123 1146) ((emacs (24 3))) "Support for intermittent network connectivity" single ((:commit . "958dd0d419e4f9402648a86b754091ba346e01b8") (:authors ("Juan Amiguet Vercher" . "jamiguet@gmail.com")) (:maintainer "Juan Amiguet Vercher" . "jamiguet@gmail.com") (:keywords "unix" "tools" "hardware" "lisp") (:url . "https://github.com/jamiguet/network-watch"))]) - (neuron-mode . [(20210227 1737) ((emacs (26 3)) (f (0 20 0)) (s (1 12 0)) (markdown-mode (2 3)) (company (0 9 13))) "Major mode for editing zettelkasten notes using neuron" single ((:commit . "a968a923aad07ab15fb35deb79ac95581a427b4c") (:authors ("felko ")) (:maintainer "felko ") (:keywords "outlines") (:url . "https://github.com/felko/neuron-mode"))]) + (neuron-mode . [(20220718 827) ((emacs (26 3)) (f (0 20 0)) (s (1 12 0)) (markdown-mode (2 3)) (company (0 9 13))) "Major mode for editing zettelkasten notes using neuron" single ((:commit . "33bc73f9a2ef1c6855bb12fec08e15a8cf4a6c6e") (:authors ("felko ")) (:maintainer "felko ") (:keywords "outlines") (:url . "https://github.com/felko/neuron-mode"))]) (never-comment . [(20140104 2207) nil "Never blocks are comment" single ((:commit . "74ded8f1e7f23240f5f6032d0451fb0a51733bc4") (:authors ("Scott Frazer")) (:maintainer "Toon Claes") (:url . "http://stackoverflow.com/a/4554658/89376"))]) (newlisp-mode . [(20160226 1545) nil "newLISP editing mode for Emacs" single ((:commit . "ac23be40c81a360988ab803d365f1510733f6db4") (:authors ("KOBAYASHI Shigeru ")) (:maintainer "KOBAYASHI Shigeru ") (:keywords "language" "lisp" "newlisp") (:url . "https://github.com/kosh04/newlisp-mode"))]) (newspeak-mode . [(20211011 1425) ((emacs (24 3))) "Major mode for the Newspeak programming language" single ((:commit . "7ae89edd0f72c2dc005933fada5ddaf48ec97dd6") (:authors ("Daniel Szmulewicz")) (:maintainer "Daniel Szmulewicz" . "daniel.szmulewicz@gmail.com") (:url . "https://github.com/danielsz/newspeak-mode"))]) @@ -3201,12 +3241,12 @@ (nikki . [(20210227 1707) ((emacs (24 3))) "A simple diary mode" single ((:commit . "b2ea20d04a061df88d72bd8dd0412a6e7876458d") (:authors ("Taiki Harada" . "thdev994@gmail.com")) (:maintainer "Taiki Harada" . "thdev994@gmail.com") (:keywords "convenience") (:url . "https://github.com/th994/nikki"))]) (nikola . [(20170703 2021) ((async (1 5)) (emacs (24 3))) "Simple wrapper for nikola" single ((:commit . "964715ac30943c9d6976999cad208dc60d09def0") (:authors (": drymer ")) (:maintainer ": drymer ") (:keywords ":" "nikola") (:url . ": https://git.daemons.it/drymer/nikola.el"))]) (nim-mode . [(20211102 917) ((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 . "744e076f0bea1c5ddc49f92397d9aa98ffa7eff8") (:authors ("Simon Hafner")) (:maintainer "Simon Hafner" . "hafnersimon@gmail.com") (:keywords "nim" "languages"))]) - (nimbus-theme . [(20220106 2017) ((emacs (24 1))) "An awesome dark theme" single ((:commit . "f9bcec4ce0f6cd656a56034ace7811dea769a7bb") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") ("See README.md for full list of contributors.")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:keywords "faces") (:url . "https://github.com/m-cat/nimbus-theme"))]) - (ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "25cdbae0ee1270a5c8dd6ba67696e29ad8076919"))]) + (nimbus-theme . [(20220610 207) ((emacs (24 1))) "An awesome dark theme" single ((:commit . "5beeda54ece58c8eb91ffcf2b365c832c9b454aa") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") ("See README.md for full list of contributors.")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:keywords "faces") (:url . "https://github.com/m-cat/nimbus-theme"))]) + (ninja-mode . [(20181024 1439) ((emacs (24))) "Major mode for editing .ninja files" single ((:commit . "d4017a2b1ea642f12dabe05ec99b2a16c93e99aa"))]) (nix-buffer . [(20180212 1518) ((f (0 17 3)) (emacs (24 4))) "Set up buffer environments with nix" single ((:commit . "db57cda36e7477bdc7ef5a136357b971b1d4d099") (:authors ("Shea Levy")) (:maintainer "Shea Levy") (:url . "https://github.com/shlevy/nix-buffer/tree/master/"))]) (nix-env-install . [(20200812 1305) ((emacs (25 1))) "Install packages using nix-env" single ((:commit . "79c34bc117ba1cebeb67fab32c364951d2ec37a0") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "processes" "tools") (:url . "https://github.com/akirak/nix-env-install"))]) (nix-haskell-mode . [(20190615 135) ((emacs (25)) (haskell-mode (16 0)) (nix-mode (1 3 0))) "haskell-mode integrations for Nix" single ((:commit . "68efbcbf949a706ecca6409506968ed2ef928a20") (:authors ("Matthew Bauer" . "mjbauer95@gmail.com")) (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:keywords "nix" "haskell" "languages" "processes") (:url . "https://github.com/matthewbauer/nix-haskell"))]) - (nix-mode . [(20220422 451) ((emacs (25 1)) (magit-section (0)) (transient (0 3))) "Major mode for editing .nix files" tar ((:commit . "66206cab276c0f4d1c84e77ba2a67ed6a46b2d9c") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:keywords "nix" "languages" "tools" "unix") (:url . "https://github.com/NixOS/nix-mode"))]) + (nix-mode . [(20220719 505) ((emacs (25 1)) (magit-section (0)) (transient (0 3))) "Major mode for editing .nix files" tar ((:commit . "b3f71c75f7d43a32e7cbc632e9be80f2a03788d4") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:keywords "nix" "languages" "tools" "unix") (:url . "https://github.com/NixOS/nix-mode"))]) (nix-modeline . [(20210405 742) ((emacs (25 1))) "Info about in-progress Nix evaluations on your modeline" single ((:commit . "ecda866b960321bb82deac26af45918e172ef0ba") (:authors ("Jordan Mulcahey" . "snhjordy@gmail.com")) (:maintainer "Jordan Mulcahey" . "snhjordy@gmail.com") (:keywords "processes" "unix" "tools") (:url . "https://github.com/ocelot-project/nix-modeline"))]) (nix-sandbox . [(20210325 1622) ((dash (2 12 1)) (s (1 10 0))) "Utility functions to work with nix-shell sandboxes" single ((:commit . "053a2d5110ce05b7f99bcc2ac4804b70cbe87916") (:authors ("Sven Keidel" . "svenkeidel@gmail.com")) (:maintainer "Sven Keidel" . "svenkeidel@gmail.com") (:url . "https://github.com/travisbhartwell/nix-emacs"))]) (nix-update . [(20190124 1935) ((emacs (25))) "Update \"fetch\" blocks in .nix expressions" single ((:commit . "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "nix") (:url . "https://github.com/jwiegley/nix-update-el"))]) @@ -3215,14 +3255,14 @@ (nlinum-hl . [(20211112 1241) ((emacs (24 4)) (nlinum (1 7)) (cl-lib (0 5))) "heal nlinum's line numbers" single ((:commit . "22f8d75ecdaab67e0d6d0d2da4766358456ca4f5") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "git@henrik.io") (:keywords "nlinum" "highlight" "current" "line" "faces") (:url . "https://github.com/hlissner/emacs-nlinum-hl"))]) (nlinum-relative . [(20160526 708) ((emacs (24 4)) (nlinum (1 5))) "Relative line number with nlinum" single ((:commit . "5b9950c97ba79a6f0683e38b13da23f39e01031c") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com") (:keywords "convenience"))]) (nndiscourse . [(20220210 1529) ((emacs (25 1)) (dash (2 18 1)) (anaphora (1 0 4)) (rbenv (0 0 3)) (json-rpc (0 0 1))) "Gnus backend for Discourse" tar ((:commit . "1b7d7bfc99b104b7c4948af9f3394b416105e9d9") (:keywords "news") (:url . "https://github.com/dickmao/nndiscourse"))]) - (nnhackernews . [(20220107 1537) ((emacs (25 2)) (request (0 3 3)) (dash (2 18 1)) (anaphora (1 0 4))) "Gnus backend for Hacker News" single ((:commit . "6748065db2f12ae6ea07058e7d643f586fb4b3bc") (:keywords "news") (:url . "https://github.com/dickmao/nnhackernews"))]) + (nnhackernews . [(20220604 2100) ((emacs (25 2)) (request (0 3 3)) (dash (2 18 1)) (anaphora (1 0 4))) "Gnus backend for Hacker News" single ((:commit . "ec99d579b9fa26fdb5f5e00dfd77e968ed8386f0") (:keywords "news") (:url . "https://github.com/dickmao/nnhackernews"))]) (nnir-est . [(20180710 2103) nil "Gnus nnir interface for HyperEstraier" single ((:commit . "6d0d5c8e33f4e4ccbc22350324c0990d2676fb5a") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "mail") (:url . "https://github.com/kawabata/nnir-est"))]) (nnreddit . [(20220423 2302) ((emacs (25 1)) (request (0 3 3)) (anaphora (1 0 4)) (dash (2 18 1)) (json-rpc (0 0 1)) (virtualenvwrapper (20151123)) (s (1 6 1))) "Gnus Backend For Reddit" tar ((:commit . "8f247dce12bd10de37f0903f3027a1ddbc318eff") (:keywords "news") (:url . "https://github.com/dickmao/nnreddit"))]) (nntwitter . [(20220213 1654) ((emacs (25 1)) (dash (20190401)) (anaphora (20180618)) (request (20190819))) "Gnus Backend For Twitter" tar ((:commit . "354781f9d2da04649823a6923ad372d801f10ca7") (:keywords "news") (:url . "https://github.com/dickmao/nntwitter"))]) (no-emoji . [(20180515 1837) ((emacs (24))) "Show :emoji-name: instead of emoji characters" single ((:commit . "ebceeab50dbfe4d60235180a57633745dbc18c77") (:authors ("Peter" . "craven@gmx.net")) (:maintainer "Peter" . "craven@gmx.net") (:keywords "extensions") (:url . "https://github.com/ecraven/no-emoji"))]) - (no-littering . [(20220422 1616) ((emacs (25 1)) (compat (28 1 1 0))) "Help keeping ~/.emacs.d clean" single ((:commit . "405dc3f842fe74a3ea58fe798007f94d3ee60b68") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/emacscollective/no-littering"))]) + (no-littering . [(20220625 1106) ((emacs (25 1)) (compat (28 1 1 0))) "Help keeping ~/.emacs.d clean" single ((:commit . "d9db6d88ccae0727fa96125fae8601cac80efde0") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://github.com/emacscollective/no-littering"))]) (no-spam . [(20190724 1854) ((emacs (25 1))) "Add repeat delays to commands" single ((:commit . "860860e4a0d59bd15c8e092dc42f5f7f769a428e") (:authors ("Daniel Phan" . "daniel.phan36@gmail.com")) (:maintainer "Daniel Phan" . "daniel.phan36@gmail.com") (:keywords "keyboard" "tools") (:url . "https://github.com/mamapanda/no-spam"))]) - (noaa . [(20220420 2256) ((emacs (27 1)) (request (0 2 0)) (dash (2 14 1))) "Get NOAA weather data" single ((:commit . "c72ffc99c477f22959451c8b548b11c238c9864d") (:authors ("David Thompson")) (:maintainer "David Thompson") (:keywords "calendar") (:url . "https://github.com/thomp/noaa"))]) + (noaa . [(20220803 1427) ((emacs (27 1)) (kv (0 0 19)) (request (0 2 0)) (s (1 12 0))) "Get NOAA weather data" single ((:commit . "beacb05f7298228dce4d494fb41c73d26991e15c") (:authors ("David Thompson")) (:maintainer "David Thompson") (:keywords "calendar") (:url . "https://github.com/thomp/noaa"))]) (noccur . [(20191015 719) nil "Run multi-occur on project/dired files" single ((:commit . "fa91647a305e89561d3dbe53da002fff49abe0bb") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com") (:keywords "convenience"))]) (nocomments-mode . [(20170213 2037) nil "Minor mode that makes comments invisible." single ((:commit . "5a41a20cc44dfe4a9ea584354ed6dbc15dd92f46") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:url . "https://github.com/Lindydancer/nocomments-mode"))]) (noctilux-theme . [(20161113 1442) ((emacs (24))) "Dark theme inspired by LightTable" single ((:commit . "a3265a1be7f4d73f44acce6d968ca6f7add1f2ca") (:authors ("Simon Manning" . "simon@ecksdee.org")) (:maintainer "Simon Manning" . "simon@ecksdee.org") (:url . "https://github.com/sjrmanning/noctilux-theme"))]) @@ -3233,46 +3273,46 @@ (nofrils-acme-theme . [(20180620 1248) ((emacs (24))) "Port of \"No Frils Acme\" Vim theme." tar ((:commit . "98ad7bfaff1d85b33dc162645670285b067c6f92") (:authors ("Eric Sessoms" . "esessoms@protonmail.com")) (:maintainer "Eric Sessoms" . "esessoms@protonmail.com") (:url . "https://gitlab.com/esessoms/nofrils-theme"))]) (nord-theme . [(20200620 1122) ((emacs (24))) "An arctic, north-bluish clean and elegant theme" single ((:commit . "4f5b64605709d5803285953026137e905756c35f") (:authors ("Arctic Ice Studio" . "development@arcticicestudio.com")) (:maintainer "Arctic Ice Studio" . "development@arcticicestudio.com") (:url . "https://github.com/arcticicestudio/nord-emacs"))]) (nordless-theme . [(20201222 1627) ((colorless-themes (0 2))) "A mostly colorless version of nord-theme" single ((:commit . "c1ed1e12541cf05cc6c558d23c089c07e10b54d7") (:authors ("Thomas Letan" . "lthms@soap.coffee")) (:maintainer "Thomas Letan" . "lthms@soap.coffee") (:keywords "faces" "theme") (:url . "https://git.sr.ht/~lthms/colorless-themes.el"))]) - (norns . [(20220422 2152) ((emacs (27 1)) (dash (2 17 0)) (s (1 12 0)) (f (0 20 0)) (request (0 3 2)) (websocket (1 13))) "Interactive development environment for monome norns" single ((:commit . "0eb487e15cf4aaaa30efde9068e205f014fd1dd2") (:keywords "processes" "terminals") (:url . "https://github.com/p3r7/norns.el"))]) + (norns . [(20220707 1006) ((emacs (27 1)) (dash (2 17 0)) (s (1 12 0)) (f (0 20 0)) (request (0 3 2)) (websocket (1 13))) "Interactive development environment for monome norns" single ((:commit . "fea64be77d413ef3d8442a9699b3bfc53859ae80") (:keywords "processes" "terminals") (:url . "https://github.com/p3r7/norns.el"))]) (northcode-theme . [(20180423 1649) ((emacs (24))) "A dark theme focused on blue and orange colors." single ((:commit . "4d3750461ba25ec45321318b5f1af4e8fdf16147") (:authors ("Andreas Larsen" . "andreas@northcode.no")) (:maintainer "Andreas Larsen" . "andreas@northcode.no") (:url . "https://github.com/Northcode/northcode-theme.el"))]) (nothing-theme . [(20200504 402) ((emacs (24 1))) "Monochrome theme" single ((:commit . "d2514bb9707f66dda0d60f40f465e79914c50946") (:authors ("Jared Gorski," . "jaredgorski6@gmail.com")) (:maintainer "Jared Gorski," . "jaredgorski6@gmail.com") (:url . "https://github.com/jaredgorski/nothing.el"))]) (notink-theme . [(20220114 1955) ((emacs (26 1))) "A custom theme inspired by e-ink displays" single ((:commit . "6115857fe75c1adbbce4165a2b77a11a271aaf31") (:authors ("MetroWind" . "chris.corsair@gmail.com")) (:maintainer "MetroWind" . "chris.corsair@gmail.com") (:keywords "faces") (:url . "https://github.com/MetroWind/notink-theme"))]) - (notmuch . [(20220226 1200) nil "run notmuch within emacs" tar ((:commit . "e3ad0087f3453c89871acac8b11da8bab1ac54df") (:url . "https://notmuchmail.org"))]) - (notmuch-addr . [(20220422 1618) ((emacs (27 1)) (compat (28 1 1 0)) (notmuch (0 32))) "An alternative to notmuch-address.el" single ((:commit . "2e479851b5cb2d25c31f21b400cfd34777348874") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-addr"))]) + (notmuch . [(20220730 1153) nil "run notmuch within emacs" tar ((:commit . "54190d091cbceb345c489bd3f20fdca7e4b9a111") (:url . "https://notmuchmail.org"))]) + (notmuch-addr . [(20220422 1618) ((emacs (27 1)) (compat (28 1 1 0)) (notmuch (0 32))) "An alternative to notmuch-address.el" single ((:commit . "dd852b09415e755cef6a345a2ee454a6cf1e1d06") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-addr"))]) (notmuch-bookmarks . [(20200322 1925) ((seq (2 20)) (emacs (26 1)) (notmuch (0 29 3))) "Add bookmark handling for notmuch buffers" single ((:commit . "ec8edfdbd1ac475530591d73a570ded5c18ed86a") (:authors ("Jörg Volbers" . "joerg@joergvolbers.de")) (:maintainer "Jörg Volbers" . "joerg@joergvolbers.de") (:keywords "mail") (:url . "https://github.com/publicimageltd/notmuch-bookmarks"))]) (notmuch-labeler . [(20131230 1719) ((notmuch (0))) "Improve notmuch way of displaying labels" tar ((:commit . "d65d1129555d368243df4770ecc1e7ccb88efc58") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:keywords "emacs" "package" "elisp" "notmuch" "emails") (:url . "https://github.com/DamienCassou/notmuch-labeler"))]) - (notmuch-maildir . [(20220422 1621) ((emacs (26 1)) (compat (28 1 1 0)) (notmuch (0 30))) "Visualize maildirs as a tree" single ((:commit . "cb404064313145b7225a76694ceb06fe12078251") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-maildir"))]) - (notmuch-transient . [(20220423 1524) ((emacs (27 1)) (compat (28 1 1 0)) (notmuch (0 31 4))) "Command dispatchers for Notmuch" single ((:commit . "2b044aabfe962935ce13087667e1827b28ec7805") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-transient"))]) - (nov . [(20220406 1747) ((esxml (0 3 6)) (emacs (25 1))) "Featureful EPUB reader mode" single ((:commit . "12faf16fbbaf09aadec26dfbda5809d886248c02") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "hypermedia" "multimedia" "epub") (:url . "https://depp.brause.cc/nov.el"))]) + (notmuch-maildir . [(20220422 1621) ((emacs (26 1)) (compat (28 1 1 0)) (notmuch (0 30))) "Visualize maildirs as a tree" single ((:commit . "b39cdeaec1afda6015cd0d5f4d851b3d59d0fd2b") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-maildir"))]) + (notmuch-transient . [(20220503 1117) ((emacs (27 1)) (compat (28 1 1 0)) (notmuch (0 31 4))) "Command dispatchers for Notmuch" single ((:commit . "4f64de401b8d955dce528f76575142edd9815dc7") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "mail") (:url . "https://git.sr.ht/~tarsius/notmuch-transient"))]) + (nov . [(20220428 1417) ((esxml (0 3 6)) (emacs (25 1))) "Featureful EPUB reader mode" single ((:commit . "8f5b42e9d9f304b422c1a7918b43ee323a7d3532") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "hypermedia" "multimedia" "epub") (:url . "https://depp.brause.cc/nov.el"))]) (nova-theme . [(20210512 1802) ((emacs (24 3))) "A dark, pastel color theme" single ((:commit . "1498f756a4c1c9ea9740cd3208f74d071283b930") (:authors ("Muir Manders" . "muir+emacs@mnd.rs")) (:maintainer "Muir Manders" . "muir+emacs@mnd.rs") (:keywords "theme" "dark" "nova" "pastel" "faces") (:url . "https://github.com/muirmanders/emacs-nova-theme"))]) (noxml-fold . [(20170823 1357) nil "Fold away XML things." single ((:commit . "46c7f6a008672213238a9f8d7a416ce80916aa62") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:keywords "xml" "folding") (:url . "https://github.com/paddymcall/noxml-fold"))]) - (npm . [(20220222 1650) ((emacs (25 1)) (transient (0 1 0)) (jest (20200625))) "Run your npm workflows" tar ((:commit . "45d8084aeafae415dc45ddc9c3a18b546315fcc6") (:authors ("Shane Kennedy")) (:maintainer "Shane Kennedy") (:keywords "tools") (:url . "https://github.com/shaneikennedy/npm.el"))]) + (npm . [(20220428 839) ((emacs (25 1)) (transient (0 1 0)) (jest (20200625))) "Run your npm workflows" tar ((:commit . "6eb0a58274870dd75bf848cf5a916a9f2c6ddae5") (:authors ("Shane Kennedy")) (:maintainer "Shane Kennedy") (:keywords "tools") (:url . "https://github.com/shaneikennedy/npm.el"))]) (npm-mode . [(20190616 2025) ((emacs (24 1))) "minor mode for working with npm projects" single ((:commit . "3ee7c0bad5b7a041d4739ef3aaa06a3dc764e5eb") (:authors ("Allen Gooch" . "allen.gooch@gmail.com")) (:maintainer "Allen Gooch" . "allen.gooch@gmail.com") (:keywords "convenience" "project" "javascript" "node" "npm") (:url . "https://github.com/mojochao/npm-mode"))]) (nrepl-eval-sexp-fu . [(20201007 2311) ((highlight (0 0 0)) (smartparens (0 0 0)) (thingatpt (0 0 0))) "Tiny functionality enhancements for evaluating sexps." single ((:commit . "2d6ad728b1ba290974a2ae1f232a5a96810a135b") (:authors ("Takeshi Banse" . "takebi@laafc.net")) (:maintainer "Takeshi Banse" . "takebi@laafc.net") (:keywords "lisp" "highlight" "convenience"))]) (nrepl-sync . [(20140807 1554) ((cider (0 6))) "connect to nrepl port and eval .sync.clj." single ((:commit . "bab53a2361526d63a24cda176d07a1247bf5b399") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk") (:url . "https://github.com/phillord/lein-sync"))]) (ns-auto-titlebar . [(20181022 2154) ((emacs (24 4))) "Set the MacOS transparent titlebar to match theme" single ((:commit . "60273e764bf8d95abc40dd2fdc23af87ea9ee33b") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "frames") (:url . "https://github.com/purcell/ns-auto-titlebar"))]) (nsis-mode . [(20190615 1827) nil "NSIS-mode" tar ((:commit . "0a2e6ece2fe682dced4d31688b38bb472a877cdf") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:keywords "nsis") (:url . "http://github.com/mlf176f2/nsis-mode"))]) - (nswbuff . [(20210721 741) ((emacs (25 1))) "Quick switching between buffers." single ((:commit . "fa9dcf131697ea7af066e11a1edcc881c397e07f") (:authors ("David Ponce" . "david@dponce.com") ("Kahlil (Kal) HODGSON" . "dorge@tpg.com.au") ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "extensions" "convenience") (:url . "https://github.com/joostkremers/nswbuff"))]) + (nswbuff . [(20220426 2050) ((emacs (25 1))) "Quick switching between buffers." single ((:commit . "7633674c89e3dbfc0c07cd7fd8b1d206ed4859d3") (:authors ("David Ponce" . "david@dponce.com") ("Kahlil (Kal) HODGSON" . "dorge@tpg.com.au") ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "extensions" "convenience") (:url . "https://github.com/joostkremers/nswbuff"))]) (nu-mode . [(20190404 2032) ((undo-tree (0 6 5)) (ace-window (0)) (lv (0)) (avy (0)) (which-key (0)) (transpose-frame (0))) "Modern Emacs Prompts Based Keybinding." tar ((:commit . "d5fb4d26d1b0bb383ea2827cc5af5dfb2a269d2b"))]) (nubox . [(20170619 910) nil "Nubox color theme (dark, light and tty versions)" tar ((:commit . "1ccb8035ae42727ba6bdd5c1106fbceddeeed370") (:authors ("Martijn Terpstra" . "bigmartijn@gmail.com")) (:maintainer "Martijn Terpstra" . "bigmartijn@gmail.com") (:keywords "faces"))]) (number . [(20170901 1312) nil "Working with numbers at point." single ((:commit . "bbc278d34dbcca83e70e3be855ec98b23debfb99"))]) (number-lock . [(20160830 200) nil "Enter symbols on your number keys without pressing shift" single ((:commit . "74417b1238953bf485961a0dd7d20f5c36ae25ea") (:authors ("Liu233w" . "wwwlsmcom@outlook.com")) (:maintainer "Liu233w" . "wwwlsmcom@outlook.com") (:keywords "convenience") (:url . "https://github.com/Liu233w/number-lock.el"))]) (numbers . [(20170802 1134) ((emacs (24))) "Display information and trivia about numbers" single ((:commit . "dd02508b788a13b7d4dbcc4923fa23134b783ab3") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "games" "trivia" "maths" "numbers") (:url . "https://github.com/davep/numbers.el"))]) - (numbex . [(20220425 1619) ((emacs (26 1))) "Manage numbered examples" single ((:commit . "af069f1df3cd0f7612083e4e6a5ddfb0dde07a5d") (:authors ("Enrico Flor" . "enrico@eflor.net")) (:maintainer "Enrico Flor" . "enrico@eflor.net") (:url . "https://github.com/enricoflor/numbex"))]) + (numbex . [(20220518 29) ((emacs (26 1))) "Manage numbered examples" single ((:commit . "aa3903f190946e54f41601dd7831f3aa973a8be7") (:authors ("Enrico Flor" . "enrico@eflor.net")) (:maintainer "Enrico Flor" . "enrico@eflor.net") (:url . "https://github.com/enricoflor/numbex"))]) (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"))]) (numpydoc . [(20220304 1546) ((emacs (25 1)) (s (1 12 0)) (dash (2 18 0))) "NumPy style docstring insertion" single ((:commit . "1b8c5ef3301fed5e5c1941817dbb7435188ff417") (:authors ("Doug Davis" . "ddavis@ddavis.io")) (:maintainer "Doug Davis" . "ddavis@ddavis.io") (:keywords "convenience") (:url . "https://github.com/douglasdavis/numpydoc.el"))]) (nv-delete-back . [(20170224 1249) ((emacs (24))) "backward delete like modern text editors" single ((:commit . "b17cb826f14c18c2875d112574edb5e4f46f5296") (:authors ("Nicolas Vaughan ")) (:maintainer "Nicolas Vaughan ") (:keywords "lisp"))]) (nvm . [(20210826 1000) ((s (1 8 0)) (dash (2 18 0)) (f (0 14 0))) "Manage Node versions within Emacs" single ((:commit . "c214762fd6f539ec3e1fd8198cefbdb4b428b19c") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "node" "nvm") (:url . "http://github.com/rejeep/nvm.el"))]) - (nxml-uxml . [(20220130 1405) ((emacs (25))) "MicroXML support for nXML" single ((:commit . "94440741f7e8b83504d53991f26f63b4855cce27") (:authors ("Daphne Preston-Kendal")) (:maintainer "Daphne Preston-Kendal") (:keywords "languages" "xml" "microxml") (:url . "https://gitlab.com/dpk/nxml-uxml"))]) + (nxml-uxml . [(20220606 1213) ((emacs (25))) "MicroXML support for nXML" single ((:commit . "95bbd0018ab218b9f39f5bf1f1e809f60fbc3edc") (:authors ("Daphne Preston-Kendal")) (:maintainer "Daphne Preston-Kendal") (:keywords "languages" "xml" "microxml") (:url . "https://gitlab.com/dpk/nxml-uxml"))]) (nyan-mode . [(20220408 2334) ((emacs (24 1))) "Nyan Cat shows position in current buffer in mode-line" tar ((:commit . "09904af23adb839c6a9c1175349a1fb67f5b4370") (:authors ("Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com")) (:maintainer "Jacek \"TeMPOraL\" Zlydach" . "temporal.pl@gmail.com") (:keywords "convenience" "games" "mouse" "multimedia") (:url . "https://github.com/TeMPOraL/nyan-mode/"))]) (nyx-theme . [(20170910 1307) ((emacs (24))) "Dark theme" single ((:commit . "afe2b8c3b5421b4c292d182dcf77079b278e93d8") (:authors ("Guido Schmidt")) (:maintainer "Guido Schmidt" . "guido.schmidt.2912@gmail.com") (:keywords "themes" "dark-theme") (:url . "https://github.com/GuidoSchmidt/emacs-nyx-theme"))]) (nz-holidays . [(20190415 703) nil "New Zealand public holidays for calendar." single ((:commit . "afc875cf40789fa45a4a811685b0a7c4f239392f") (:authors ("Sod Oscarfono" . "sod@oscarfono.com")) (:maintainer "Sod Oscarfono" . "sod@oscarfono.com") (:keywords "calendar") (:url . "https://github.com/techquila/nz-holidays"))]) (oauth . [(20130128 151) nil "Oauth library." tar ((:commit . "ee4744ad76a1560281b0c4944575a3bd598c6458") (:authors ("Peter Sanford ")) (:maintainer "Peter Sanford ") (:keywords "comm"))]) (oauth2-request . [(20210215 657) ((emacs (26 1)) (oauth2 (0 14)) (request (0 3))) "OAuth2 request package interface" single ((:commit . "86ff048635e002b00e23d6bed2ec6f36c17bca8e") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/oauth2-request.el"))]) - (ob-ada-spark . [(20220401 926) ((emacs (26 1)) (f (0 20 0))) "Babel functions for Ada & SPARK" single ((:commit . "1213b877bc893ac5990a20052ea2bf2d8f086260") (:authors ("Francesc Rocher")) (:maintainer "Francesc Rocher") (:keywords "languages" "tools" "outlines") (:url . "https://github.com/rocher/ob-ada-spark"))]) + (ob-ada-spark . [(20220715 1824) ((emacs (26 1)) (f (0 20 0))) "Babel functions for Ada & SPARK" single ((:commit . "38b72a41c12f8b6e6ba47f9136affa956123d73e") (:authors ("Francesc Rocher")) (:maintainer "Francesc Rocher") (:keywords "languages" "tools" "outlines") (:url . "https://github.com/rocher/ob-ada-spark"))]) (ob-applescript . [(20190709 1607) nil "Org-babel functions for AppleScript" single ((:commit . "2b07b77b75bd02f2102f62e6d52ffdd0f921439a") (:authors ("Stig Brautaset")) (:maintainer "Stig Brautaset") (:keywords "literate programming" "reproducible research" "mac") (:url . "http://github.com/stig/ob-applescript.el"))]) (ob-async . [(20210428 2052) ((async (1 9)) (org (9 0 1)) (emacs (24 4)) (dash (2 14 1))) "Asynchronous org-babel src block execution" single ((:commit . "9aac486073f5c356ada20e716571be33a350a982") (:authors ("Andrew Stahlman" . "andrewstahlman@gmail.com")) (:maintainer "Andrew Stahlman" . "andrewstahlman@gmail.com") (:keywords "tools") (:url . "https://github.com/astahlman/ob-async"))]) - (ob-axiom . [(20190623 2052) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "e60de5ed107ffeb530a56d24d04f38988124d12b") (:authors ("Paul Onions")) (:maintainer "Paul Onions") (:keywords "axiom" "openaxiom" "fricas"))]) + (ob-axiom . [(20220612 1535) ((emacs (24 2)) (axiom-environment (20171021))) "An org-babel backend for the axiom-environment system" single ((:commit . "01d88daa0c864af9918db5a147fbb5e435dec199") (:authors ("Paul Onions")) (:maintainer "Paul Onions") (:keywords "axiom" "openaxiom" "fricas"))]) (ob-bitfield . [(20220401 600) ((emacs (24 4))) "Babel Functions for bitfield" single ((:commit . "28e01448ee66b8b6858294cad1b7dae0b9a85e6a") (:authors ("Gulshan Singh")) (:maintainer "Gulshan Singh") (:url . "https://github.com/gsingh93/ob-bitfield"))]) (ob-blockdiag . [(20210412 1541) nil "org-babel functions for blockdiag evaluation" single ((:commit . "c3794bf7bdb8fdb3db90db41619dda4e7d3dd7b9") (:authors ("Dmitry Moskowski")) (:maintainer "Dmitry Moskowski") (:keywords "tools" "convenience") (:url . "https://github.com/corpix/ob-blockdiag.el"))]) (ob-browser . [(20170720 1918) ((org (8))) "Render HTML in org-mode blocks." tar ((:commit . "a347d9df1c87b7eb660be8723982c7ad2563631a") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:keywords "org" "babel" "browser" "phantomjs") (:url . "https://github.com/krisajenkins/ob-browser"))]) @@ -3287,19 +3327,21 @@ (ob-dart . [(20170106 1624) nil "org-babel functions for Dart evaluation" single ((:commit . "04d63b922a5469506560ca0c00678e57131e0269") (:authors ("Milan Zimmermann")) (:maintainer "Milan Zimmermann") (:keywords "literate programming" "reproducible research" "emacs" "org" "babel" "dart") (:url . "http://github.org/mzimmerm/ob-dart"))]) (ob-deno . [(20201019 101) ((emacs (26 1))) "Babel Functions for Javascript/TypeScript with Deno" single ((:commit . "f1129d20fe9931f1c0b62c4af781f5489abd957f") (:authors ("HIGASHI Taiju")) (:maintainer "HIGASHI Taiju") (:keywords "literate programming" "reproducible research" "javascript" "typescript" "tools") (:url . "https://github.com/taiju/ob-deno"))]) (ob-diagrams . [(20160407 1237) nil "org-babel functions for diagrams evaluation" single ((:commit . "ed6649616325ca5b2d2109f74aded8bcb8aa5186") (:authors ("Daniel Bergey")) (:maintainer "Daniel Bergey") (:keywords "literate programming" "reproducible research") (:url . "http://orgmode.org"))]) - (ob-dsq . [(20220425 716) ((emacs (27 1))) "Babel functions for the `dsq` CLI tool by Multiprocess Labs" single ((:commit . "b8dbf53e5d9ed359fbf69e9d14adf68a7c08af10") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "data" "tools") (:url . "https://github.com/fritzgrabo/ob-dsq"))]) + (ob-dsq . [(20220614 1942) ((emacs (27 1))) "Babel functions for the `dsq` CLI tool by Multiprocess Labs" single ((:commit . "45a1e4a24bc89a23912478479b9afb162dd768a3") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "data" "tools") (:url . "https://github.com/fritzgrabo/ob-dsq"))]) (ob-elixir . [(20170725 1419) ((org (8))) "org-babel functions for elixir evaluation" single ((:commit . "8990a8178b2f7bd93504a9ab136622aab6e82e32") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:keywords "org" "babel" "elixir") (:url . "http://github.com/zweifisch/ob-elixir"))]) (ob-elm . [(20200528 1857) ((emacs (26 1)) (org (9 3))) "Org-babel functions for elm evaluation" single ((:commit . "d3a9fbc2f56416894c9aed65ea9a20cc1d98f15d") (:authors ("Bonface M. K.")) (:maintainer "Bonface M. K.") (:keywords "languages" "tools") (:url . "https://www.bonfacemunyoki.com"))]) (ob-elvish . [(20180427 1900) nil "org-babel functions for Elvish shell" single ((:commit . "369181ceae1190bf971c71aebf9fc6133bd98c39") (:authors ("Diego Zamboni" . "diego@zzamboni.org")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:keywords "literate programming" "elvish" "shell" "languages" "processes" "tools") (:url . "https://github.com/zzamboni/ob-elvish"))]) (ob-ess-julia . [(20210414 1444) ((ess (20201004 1522)) (julia-mode (0 4))) "Org babel support for Julia language" tar ((:commit . "147e9e7fe55c41dd77171417e92af40db3530b84") (:authors ("Frédéric Santos")) (:maintainer "Frédéric Santos") (:keywords "languages") (:url . "https://github.com/frederic-santos/ob-ess-julia"))]) + (ob-fricas . [(20220612 854) ((emacs (26 1)) (frimacs (1 0))) "A FriCAS backend for Org-Babel" single ((:commit . "b35fdefb60ead4d7559131601c43761973762a9a") (:authors ("Paul Onions" . "paul.onions@acm.org")) (:maintainer "Paul Onions" . "paul.onions@acm.org") (:keywords "fricas" "computer algebra" "extensions" "tools") (:url . "https://github.com/pdo/frimacs"))]) (ob-fsharp . [(20170618 1429) ((emacs (25)) (fsharp-mode (1 9 8))) "Org-Babel F#" single ((:commit . "0b2fdd9bb4f38af8b5cf4914627af52f5b43d9f7") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:keywords "literate programming" "reproducible research") (:url . "https://github.com/juergenhoetzel/ob-fsharp"))]) + (ob-git-permalink . [(20220627 46) ((emacs (25 1))) "Import GitHub code given a permalink" single ((:commit . "14224327a6b34c804b0e90d37b80630a80c56c0a") (:authors ("kijima Daigo" . "norimaking777@gmail.com")) (:maintainer "kijima Daigo" . "norimaking777@gmail.com") (:keywords "docs" "convenience") (:url . "https://github.com/kijimaD/ob-git-permalink"))]) (ob-go . [(20190201 2040) nil "org-babel functions for go evaluation" tar ((:commit . "2067ed55f4c1d33a43cb3f6948609d240a8915f5") (:authors ("K. Adam Christensen")) (:maintainer "K. Adam Christensen") (:keywords "golang" "go" "literate programming" "reproducible research") (:url . "http://orgmode.org"))]) (ob-graphql . [(20201222 1515) ((emacs (24 4)) (graphql-mode (20191024 1221)) (request (0 3 2))) "Org-Babel execution backend for GraphQL source blocks" single ((:commit . "7c35419f9eec5dc44967cbcfa13c7135b9a96bfc") (:authors ("Jeremy Dormitzer" . "jeremy.dormitzer@gmail.com")) (:maintainer "Jeremy Dormitzer" . "jeremy.dormitzer@gmail.com") (:url . "https://github.com/jdormit/ob-graphql"))]) (ob-html-chrome . [(20181219 1042) ((emacs (24 4)) (f (0 20 0)) (s (1 7 0))) "HTML code blocks converted to PNG using Chrome" single ((:commit . "7af6e4a24ed0aaf67751bdf752c7ca0ba02bb8d4") (:authors (nil . "Nik Clayton nik@ngo.org.uk")) (:maintainer nil . "Nik Clayton nik@ngo.org.uk") (:keywords "languages" "org" "org-babel" "chrome" "html") (:url . "http://github.com/nikclayton/ob-html-chrome"))]) (ob-http . [(20180707 1448) ((s (1 9 0)) (cl-lib (0 5))) "http request in org-mode babel" tar ((:commit . "b1428ea2a63bcb510e7382a1bf5fe82b19c104a7") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:url . "http://github.com/zweifisch/ob-http"))]) (ob-hy . [(20180702 540) ((emacs (24 4))) "org-babel functions for Hy-lang evaluation" tar ((:commit . "a42ecaf440adc03e279afe43ee5ef6093ddd542a") (:authors ("Brantou" . "brantou89@gmail.com")) (:maintainer "Brantou" . "brantou89@gmail.com") (:keywords "hy" "literate programming" "reproducible research") (:url . "https://github.com/brantou/ob-hy"))]) (ob-ipython . [(20180224 953) ((s (1 9 0)) (dash (2 10 0)) (dash-functional (1 2 0)) (f (0 17 2)) (emacs (24))) "org-babel functions for IPython evaluation" tar ((:commit . "7147455230841744fb5b95dcbe03320313a77124") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:keywords "literate programming" "reproducible research") (:url . "http://www.gregsexton.org"))]) - (ob-julia-vterm . [(20210418 2306) ((emacs (26 1)) (julia-vterm (0 10))) "Babel Functions for Julia in VTerm" single ((:commit . "e04ee53d67cbd715c2d84fe5bc367526edfadc74") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "julia" "org" "outlines" "literate programming" "reproducible research") (:url . "https://github.com/shg/ob-julia-vterm.el"))]) + (ob-julia-vterm . [(20220708 2223) ((emacs (26 1)) (julia-vterm (0 16)) (queue (0 2))) "Babel Functions for Julia in VTerm" single ((:commit . "59f25bfe2355c5109e25b5c1ca0c3b895a560363") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "julia" "org" "outlines" "literate programming" "reproducible research") (:url . "https://github.com/shg/ob-julia-vterm.el"))]) (ob-kotlin . [(20180823 1321) ((org (8))) "org-babel functions for kotlin evaluation" single ((:commit . "96e420cbd2e9ea8a77043e5dcaebdfc6da17492a") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:keywords "org" "babel" "kotlin") (:url . "http://github.com/zweifisch/ob-kotlin"))]) (ob-latex-as-png . [(20200629 1013) ((emacs (26 1)) (org (9 1))) "Org-babel functions for latex-as-png evaluation" single ((:commit . "a20e3fedbac4034de4ab01436673a0f8845de1df") (:authors ("Musa Al-hassy" . "alhassy@gmail.com")) (:maintainer "Musa Al-hassy" . "alhassy@gmail.com") (:keywords "literate programming" "reproducible research" "org" "convenience") (:url . "https://github.com/alhassy/ob-latex-as-png"))]) (ob-lfe . [(20170725 1420) ((org (8))) "org-babel functions for lfe evaluation" single ((:commit . "f7780f58e650b4d29dfd834c662b1d354b620a8e") (:authors ("ZHOU Feng" . "zf.pascal@gmail.com")) (:maintainer "ZHOU Feng" . "zf.pascal@gmail.com") (:keywords "org" "babel" "lfe" "lisp" "erlang") (:url . "http://github.com/zweifisch/ob-lfe"))]) @@ -3312,14 +3354,14 @@ (ob-powershell . [(20220314 1359) ((emacs (26 1))) "Run Powershell from org mode source blocks" single ((:commit . "f351429590ed68b26a9c8f9847066ca4205e524b") (:authors ("Rob Kiggen" . "robby.kiggen@essential-it.be")) (:maintainer "Mois Moshev" . "mois.moshev@bottleshipvfx.com") (:keywords "powershell" "shell" "execute" "outlines" "processes") (:url . "https://github.com/rkiggen/ob-powershell"))]) (ob-prolog . [(20190410 2130) nil "org-babel functions for prolog evaluation." single ((:commit . "331899cfe345c934026c70b78352d320f7d8e239") (:authors ("Bjarte Johansen")) (:maintainer "Bjarte Johansen") (:keywords "literate programming" "reproducible research") (:url . "https://github.com/ljos/ob-prolog"))]) (ob-redis . [(20220221 1249) ((org (8))) "Execute Redis queries within org-mode blocks." single ((:commit . "44c83636ccbea0b3e9838b0180471905c30224c5") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "org" "babel" "redis") (:url . "https://repo.or.cz/ob-redis.git"))]) - (ob-restclient . [(20220202 1609) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "586f1fa07f76aaca13cb3f86945759f4b9fb8db7") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:keywords "literate programming" "reproducible research") (:url . "https://github.com/alf/ob-restclient.el"))]) + (ob-restclient . [(20220618 2139) ((restclient (0))) "org-babel functions for restclient-mode" single ((:commit . "3ac834b02b8276aae1b760312612c3b940598f90") (:authors ("Alf Lervåg")) (:maintainer "Alf Lervåg") (:keywords "literate programming" "reproducible research") (:url . "https://github.com/alf/ob-restclient.el"))]) (ob-reticulate . [(20210214 2229) ((org (9 4)) (emacs (24 4))) "Babel Functions for reticulate" single ((:commit . "8109fb02fb6339b1cf9290df29fc0c1109a33c04") (:authors ("Jack Kamm")) (:maintainer "Jack Kamm") (:keywords "literate programming" "reproducible research" "r" "python" "statistics" "languages" "outlines" "processes") (:url . "https://github.com/jackkamm/ob-reticulate"))]) (ob-rust . [(20210204 244) nil "Org-babel functions for Rust" tar ((:commit . "30fe7e7181f44443d02e905dda77f83ec4944e76") (:authors ("Mican Zhang")) (:maintainer "Mican Zhang") (:keywords "rust" "languages" "org" "babel") (:url . "https://github.com/micanzhang/ob-rust"))]) (ob-sagemath . [(20191106 828) ((sage-shell-mode (0 0 8)) (s (1 8 0)) (emacs (24))) "org-babel functions for SageMath evaluation" tar ((:commit . "79645bce0c25a650bae61e550434bed836995dce") (:authors ("Sho Takemori" . "stakemorii@gmail.com")) (:maintainer "Sho Takemori" . "stakemorii@gmail.com") (:keywords "sagemath" "org-babel") (:url . "https://github.com/stakemori/ob-sagemath"))]) (ob-smiles . [(20220221 1255) ((smiles-mode (0 0 1)) (org (8))) "Org-mode Babel support for SMILES." single ((:commit . "d178f3d4a7e3c1ca9910f0a063d2a3cfd97d8609") (:authors (nil . "John Kitchin [jkitchin@andrew.cmu.edu]")) (:maintainer nil . "stardiviner [numbchild@gmail.com]") (:keywords "org" "babel" "smiles") (:url . "https://repo.or.cz/ob-smiles.git"))]) (ob-sml . [(20130829 1843) ((sml-mode (6 4))) "org-babel functions for template evaluation" single ((:commit . "958165c92b6cff6cada5c85c8ae5887806b8451b") (:authors ("David Nolen")) (:maintainer "David Nolen") (:keywords "literate programming" "reproducible research") (:url . "http://orgmode.org"))]) (ob-solidity . [(20220213 1910) ((emacs (24 4)) (solidity-mode (0 1 10))) "Org-babel functions for solidity evaluation" single ((:commit . "7e3e6cb2d7ec9269514e80248c7ec85c04dbbf89") (:authors ("hrkrshnn")) (:maintainer "hrkrshnn") (:keywords "solidity" "literate programming" "reproducible research" "languages") (:url . "https://github.com/hrkrshnn/ob-solidity"))]) - (ob-spice . [(20220210 1415) ((spice-mode (0 0 1)) (org (8))) "org-babel functions for spice evaluation" single ((:commit . "6dc2c6b9391ea8dd8123224f6c282b673b89dc94") (:authors ("Tiago Oliveira Weber")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://repo.or.cz/ob-spice.git"))]) + (ob-spice . [(20220529 404) ((spice-mode (0 0 1)) (org (8))) "org-babel functions for spice evaluation" single ((:commit . "b1106ef2a74b2e88b294b05b83af22810feef4f6") (:authors ("Tiago Oliveira Weber")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:url . "https://repo.or.cz/ob-spice.git"))]) (ob-sql-mode . [(20190421 1539) ((emacs (24 4))) "SQL code blocks evaluated by sql-mode" single ((:commit . "b31a016585324ad91f1742ff6205bcb76f3ece6e") (:authors (nil . "Nik Clayton nik@google.com")) (:maintainer nil . "Nik Clayton nik@google.com") (:keywords "languages" "org" "org-babel" "sql") (:url . "http://github.com/nikclayton/ob-sql-mode"))]) (ob-svgbob . [(20190911 300) ((emacs (24))) "Babel Functions for svgbob" single ((:commit . "5747f96fb4fdb8711546b3313df9412177eb3c1a") (:authors ("Marcio Giaxa" . "i@mgxm.me")) (:maintainer "Marcio Giaxa" . "i@mgxm.me") (:keywords "tools" "files") (:url . "https://github.com/mgxm/ob-svgbob"))]) (ob-swift . [(20170921 1325) ((org (8))) "org-babel functions for swift evaluation" single ((:commit . "ed478ddbbe41ce5373efde06b4dd0c3663c9055f") (:authors ("Feng Zhou" . "zf.pascal@gmail.com")) (:maintainer "Feng Zhou" . "zf.pascal@gmail.com") (:keywords "org" "babel" "swift") (:url . "http://github.com/zweifisch/ob-swift"))]) @@ -3332,9 +3374,9 @@ (obfusurl . [(20170809 1524) ((cl-lib (0 5))) "Obfuscate URLs so they aren't spoilers" single ((:commit . "7a5a41905000ce2ec1fd72509a5567e5fd9f47e5") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "convenience" "web" "text") (:url . "https://github.com/davep/obfusurl.el"))]) (objc-font-lock . [(20141021 1822) nil "Highlight Objective-C method calls." single ((:commit . "34b457d577f97ca94b8792d025f9a909c7610612") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "languages" "faces") (:url . "https://github.com/Lindydancer/objc-font-lock"))]) (objed . [(20200911 1435) ((emacs (25)) (cl-lib (0 5))) "Navigate and edit text objects." tar ((:commit . "70f9fb5e0aa1627b0afc7c6b3d0aea9bac70a210") (:authors ("Clemens Radermacher" . "clemera@posteo.net")) (:maintainer "Clemens Radermacher" . "clemera@posteo.net") (:keywords "convenience") (:url . "https://github.com/clemera/objed"))]) - (oblivion-theme . [(20220411 525) ((emacs (24 1))) "A port of GEdit oblivion theme" single ((:commit . "d46983d69d75d8db6284ad297b17eedc495be2eb") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-oblivion-theme"))]) + (oblivion-theme . [(20220710 1045) ((emacs (24 1))) "A port of GEdit oblivion theme" single ((:commit . "3349191b123e5bdcf9177e97d2301bb571800da3") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-oblivion-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"))]) - (ocamlformat . [(20220307 1315) ((emacs (24 3))) "Utility functions to format ocaml code" single ((:commit . "9324ea439a77b4f3a31e9302b97ce1812cf8f17d") (:keywords "languages" "ocaml") (:url . "https://github.com/ocaml-ppx/ocamlformat"))]) + (ocamlformat . [(20220707 751) ((emacs (24 3))) "Utility functions to format ocaml code" single ((:commit . "e54ecd396917ba5bab9be6104c42e5be4c1215d6") (:keywords "languages" "ocaml") (:url . "https://github.com/ocaml-ppx/ocamlformat"))]) (occidental-theme . [(20130312 1958) nil "Custom theme for faces based on Adwaita" single ((:commit . "fd2db7256d4f78c43d99c3cddb1c39106d479816") (:authors ("William Stevenson" . "yhvh2000@gmail.com") ("Erik Timan" . "dev@timan.info")) (:maintainer "William Stevenson" . "yhvh2000@gmail.com") (:url . "http://github.com/olcai/occidental-theme"))]) (occur-context-resize . [(20210121 50) nil "dynamically resize context around matches in occur-mode" single ((:commit . "9d62a5b5c39ab7921dfc12dd0ab139b38dd16582") (:authors ("Charles L.G. Comstock" . "dgtized@gmail.com")) (:maintainer "Charles L.G. Comstock" . "dgtized@gmail.com") (:keywords "matching") (:url . "https://github.com/dgtized/occur-context-resize.el"))]) (occur-x . [(20130610 1343) nil "Extra functionality for occur" single ((:commit . "352f5fab207d8a1d3dd048073ff127a83e97c82b") (:authors ("Juan-Leon Lahoz" . "juanleon1@gmail.com")) (:maintainer "Juan-Leon Lahoz" . "juanleon1@gmail.com") (:keywords "occur" "search" "convenience"))]) @@ -3344,10 +3386,10 @@ (octicons . [(20151101 340) ((cl-lib (0 5))) "octicons utility" tar ((:commit . "a61e561966ffd8faa3b48ce5b3a4eec10c59708b") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-octicons"))]) (octo-mode . [(20161008 1229) ((emacs (24))) "Major mode for Octo assembly language" single ((:commit . "bd4db7e5e3275b24c74e6a23c11d04f54e9feca5") (:authors ("John Olsson" . "john@cryon.se")) (:maintainer "John Olsson" . "john@cryon.se") (:keywords "languages") (:url . "https://github.com/cryon/octo-mode"))]) (octopress . [(20190123 107) nil "A lightweight wrapper for Jekyll and Octopress." tar ((:commit . "f2c92d5420f14fc9167c7de1873836510e652de2") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:keywords "octopress" "blog") (:url . "https://github.com/aaronbieber/octopress.el"))]) - (oer-reveal . [(20220402 1505) ((emacs (24 4)) (org-re-reveal (3 1 0))) "OER with reveal.js, plugins, and org-re-reveal" tar ((:commit . "df7180a8d75dedb2fd8878843a3d3cc654be508d") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:keywords "hypermedia" "tools" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/oer-reveal"))]) + (oer-reveal . [(20220804 1019) ((emacs (24 4)) (org-re-reveal (3 1 0))) "OER with reveal.js, plugins, and org-re-reveal" tar ((:commit . "099a6b85097bcd7830cd8919030d7f2d8b8b06ff") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:keywords "hypermedia" "tools" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/oer-reveal"))]) (offlineimap . [(20150916 1158) nil "Run OfflineIMAP from Emacs" single ((:commit . "cc3e067e6237a1eb7b21c575a41683b1febb47f1") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "Julien Danjou" . "julien@danjou.info") (:url . "http://julien.danjou.info/offlineimap-el.html"))]) (oj . [(20200811 517) ((emacs (26 1)) (quickrun (2 2))) "Competitive programming tools client for AtCoder, Codeforces" single ((:commit . "2dd65324ac9833e07eaed5fb04acebafc6d5cbd2") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/oj.el"))]) - (ol-notmuch . [(20220422 1623) ((emacs (25 1)) (compat (28 1 1 0)) (notmuch (0 32)) (org (9 4 5))) "Links to notmuch messages" single ((:commit . "1e0176fe6315f2e8d80338c6570adf9bbca7ade0") (:authors ("Matthieu Lemerre" . "racin@free.fr")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "mail") (:url . "https://git.sr.ht/~tarsius/ol-notmuch"))]) + (ol-notmuch . [(20220428 1337) ((emacs (25 1)) (compat (28 1 1 0)) (notmuch (0 32)) (org (9 4 5))) "Links to notmuch messages" single ((:commit . "1a53d6c707514784cabf33d865b577bf77f45913") (:authors ("Matthieu Lemerre" . "racin@free.fr")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "mail") (:url . "https://git.sr.ht/~tarsius/ol-notmuch"))]) (olc . [(20200818 1221) ((emacs (25 1))) "Open location code library" tar ((:commit . "d2dc62dbc3cf6460cc12bd96857a988bc80ac37e") (:authors ("David Byers" . "david.byers@liu.se")) (:maintainer "David Byers" . "david.byers@liu.se") (:keywords "extensions" "lisp") (:url . "https://gitlab.liu.se/davby02/olc"))]) (old-norse-input . [(20170816 1842) ((emacs (24))) "An input method for Old Norse" single ((:commit . "c2e21ee72c3768e9152aff6baf12a19cde1d0c53") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:keywords "languages") (:url . "https://github.com/david-christiansen/emacs-old-norse-input"))]) (oldlace-theme . [(20150705 1300) ((emacs (24))) "Emacs 24 theme with an 'oldlace' background." single ((:commit . "5c6f437203b0783b36a7aff4a578de4a0c8c4ee6") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) @@ -3377,19 +3419,19 @@ (openwith . [(20120531 2136) nil "Open files with external programs" single ((:commit . "1dc89670822966fab6e656f6519fdd7f01e8301a") (:authors ("Markus Triska" . "markus.triska@gmx.at")) (:maintainer "Markus Triska" . "markus.triska@gmx.at") (:keywords "files" "processes") (:url . "https://bitbucket.org/jpkotta/openwith"))]) (operate-on-number . [(20150707 623) nil "Operate on number at point with arithmetic functions" single ((:commit . "ceb3be565a29326c1098244fac0c50606723a56e") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "editing") (:url . "https://github.com/knu/operate-on-number.el"))]) (orca . [(20210828 1639) ((emacs (24 3)) (zoutline (0 1 0))) "Org Capture" single ((:commit . "47c03af0c1df2b679d800f3708d675a4c2a3e722") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "org" "convenience") (:url . "https://github.com/abo-abo/orca"))]) - (orderless . [(20220418 2119) ((emacs (26 1))) "Completion style for matching regexps in any order" tar ((:commit . "75eeae21971d86b51a712ed8ecd6434463b2d866") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "extensions") (:url . "https://github.com/oantolin/orderless"))]) + (orderless . [(20220527 2228) ((emacs (26 1))) "Completion style for matching regexps in any order" tar ((:commit . "8b9af2796fa0eb87eea4140bc08d16880a493803") (:authors ("Omar Antolín Camarena" . "omar@matem.unam.mx")) (:maintainer "Omar Antolín Camarena" . "omar@matem.unam.mx") (:keywords "extensions") (:url . "https://github.com/oantolin/orderless"))]) (ordinal . [(20210519 1442) ((emacs (24 3))) "Convert number to ordinal number notation" single ((:commit . "a7f378306290b6807fb6b87cee3ef79b31cec711") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "lisp") (:url . "https://github.com/zonuexe/ordinal.el"))]) (org-ac . [(20170401 1307) ((auto-complete-pcmp (0 0 1)) (log4e (0 2 0)) (yaxception (0 1))) "Some auto-complete sources for org-mode" single ((:commit . "41e3ef8e4039619d0370c23c66730b3b2e9e32ed") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "org" "completion") (:url . "https://github.com/aki2o/org-ac"))]) (org-agenda-property . [(20140626 2116) ((emacs (24 2))) "Display org properties in the agenda buffer." single ((:commit . "3b469f3e93de0036547f3631cd0366d53f7584c8") (:authors ("Artur Malabarba" . "bruce.connor.am@gmail.com")) (:maintainer "Artur Malabarba" . "bruce.connor.am@gmail.com") (:keywords "calendar") (:url . "http://github.com/Bruce-Connor/org-agenda-property"))]) - (org-alert . [(20210922 125) ((org (9 0)) (alert (1 2))) "Notify org deadlines via notify-send" single ((:commit . "c039d0121d21e4558c0f5433135c839679b556d7") (:authors ("Stephen Pegoraro" . "spegoraro@tutive.com")) (:maintainer "Stephen Pegoraro" . "spegoraro@tutive.com") (:keywords "org" "org-mode" "notify" "notifications" "calendar") (:url . "https://github.com/spegoraro/org-alert"))]) + (org-alert . [(20220721 1721) ((org (9 0)) (alert (1 2))) "Notify org deadlines via notify-send" single ((:commit . "f1801e061722843329b95409957c7dbd5cc223e9") (:authors ("Stephen Pegoraro" . "spegoraro@tutive.com")) (:maintainer "Stephen Pegoraro" . "spegoraro@tutive.com") (:keywords "org" "org-mode" "notify" "notifications" "calendar") (:url . "https://github.com/spegoraro/org-alert"))]) (org-analyzer . [(20191001 1717) nil "org-analyzer is a tool that extracts time tracking data from org files." tar ((:commit . "19da62aa4dcf1090be8f574f6f2d4c7e116163a8") (:authors ("Robert Krahn" . "robert@kra.hn")) (:maintainer "Robert Krahn" . "robert@kra.hn") (:keywords "calendar") (:url . "https://github.com/rksm/clj-org-analyzer"))]) - (org-anki . [(20220302 1706) ((emacs (27 1)) (request (0 3 2)) (dash (2 17)) (promise (1 1))) "Synchronize org-mode entries to Anki" single ((:commit . "c1790b1cdd2e5733cf64c7507a89da0b6179cf7d") (:authors ("Markus Läll" . "markus.l2ll@gmail.com")) (:maintainer "Markus Läll" . "markus.l2ll@gmail.com") (:keywords "outlines" "flashcards" "memory") (:url . "https://github.com/eyeinsky/org-anki"))]) - (org-appear . [(20220405 1146) ((emacs (25 1)) (org (9 3))) "Auto-toggle Org elements" single ((:commit . "8dd1e564153d8007ebc4bb4e14250bde84e26a34") (:authors ("Alice Istleyeva" . "awth13@gmail.com")) (:maintainer "Alice Istleyeva" . "awth13@gmail.com") (:url . "https://github.com/awth13/org-appear"))]) + (org-anki . [(20220712 1916) ((emacs (27 1)) (request (0 3 2)) (dash (2 17)) (promise (1 1))) "Synchronize org-mode entries to Anki" single ((:commit . "4c3b27efe8eed9a9c8b5636fb15b86975ef7e00e") (:authors ("Markus Läll" . "markus.l2ll@gmail.com")) (:maintainer "Markus Läll" . "markus.l2ll@gmail.com") (:keywords "outlines" "flashcards" "memory") (:url . "https://github.com/eyeinsky/org-anki"))]) + (org-appear . [(20220617 2355) ((emacs (25 1)) (org (9 3))) "Auto-toggle Org elements" single ((:commit . "60ba267c5da336e75e603f8c7ab3f44e6f4e4dac") (:authors ("Alice Istleyeva" . "awth13@gmail.com")) (:maintainer "Alice Istleyeva" . "awth13@gmail.com") (:url . "https://github.com/awth13/org-appear"))]) (org-arbeitszeit . [(20220328 1951) ((emacs (27 1))) "Calculate your worktime" single ((:commit . "60e6adfe457bcc4ee47e3e5805b6b40544f98ee0") (:authors ("Benjamin Kästner" . "benjamin.kaestner@gmail.com")) (:maintainer "Benjamin Kästner" . "benjamin.kaestner@gmail.com") (:keywords "tools" "org" "calendar" "convenience") (:url . "https://github.com/bkaestner/org-arbeitszeit"))]) (org-attach-screenshot . [(20210221 1336) ((emacs (24 3))) "Screenshots integrated with org attachment dirs" single ((:commit . "55fa23e69c8ac4c40f8600300301a9cdc5c6732f") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:keywords "org" "multimedia") (:url . "https://github.com/dfeich/org-screenshot"))]) (org-auto-expand . [(20210923 243) ((emacs (26 1))) "Automatically expand certain headings" single ((:commit . "edc27b155befab5626dcf6ceec7938126f7e31d4") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience" "outlines" "org") (:url . "https://github.com/alphapapa/org-auto-expand"))]) - (org-auto-tangle . [(20211115 543) ((emacs (24 1)) (async (1 9 3))) "Automatically and Asynchronously tangles org files on save" single ((:commit . "5d9f2734c96166722c5057f3a2641ff8e08184cc") (:authors ("Yilkal Argaw")) (:maintainer "Yilkal Argaw") (:keywords "outlines") (:url . "https://github.com/yilkalargaw/org-auto-tangle"))]) - (org-autolist . [(20211225 658) nil "Improved list management in org-mode" single ((:commit . "48666001f9ae1fdf9e295410d5a494e79284e2f7") (:authors ("Calvin Young")) (:maintainer "Calvin Young") (:keywords "lists" "checklists" "org-mode") (:url . "https://github.com/calvinwyoung/org-autolist"))]) + (org-auto-tangle . [(20220715 329) ((emacs (24 1)) (async (1 9 3))) "Automatically and Asynchronously tangles org files on save" single ((:commit . "bce665c79fc29f1e80f1eae7db7e91c56b0788fc") (:authors ("Yilkal Argaw" . "yilkalargawworkneh@gmail.com")) (:maintainer "Yilkal Argaw" . "yilkalargawworkneh@gmail.com") (:keywords "outlines") (:url . "https://github.com/yilkalargaw/org-auto-tangle"))]) + (org-autolist . [(20220530 1620) nil "Improved list management in org-mode" single ((:commit . "0f5dc4e00cb050b94289504925b36c7650552a1a") (:authors ("Calvin Young")) (:maintainer "Calvin Young") (:keywords "lists" "checklists" "org-mode") (:url . "https://github.com/calvinwyoung/org-autolist"))]) (org-babel-eval-in-repl . [(20201206 1540) ((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 . "3591f062873de2d64cc6f83b3555d030506e6ee7") (:authors ("Takeshi Teshima" . "diadochos.developer@gmail.com")) (:maintainer "Takeshi Teshima" . "diadochos.developer@gmail.com") (:keywords "literate programming" "reproducible research" "async execution") (:url . "https://github.com/diadochos/org-babel-eval-in-repl"))]) (org-beautify-theme . [(20170908 2218) nil "A sub-theme to make org-mode more beautiful." single ((:commit . "df6a1114fda313e1689363e196c8284fbe2a2738") (:authors ("Jonathan Arkell" . "jonnay@jonnay.net")) (:maintainer "Jonathan Arkell" . "jonnay@jonnay.net") (:keywords "org" "theme"))]) (org-board . [(20200619 1016) nil "bookmarking and web archival system for Org mode." single ((:commit . "1393bd46d11a81328ed4fb8471831415a3efe224") (:authors ("Charles A. Roelli " . "charles@aurox.ch")) (:maintainer "Charles A. Roelli " . "charles@aurox.ch") (:keywords "org" "bookmarks" "archives") (:url . "https://github.com/scallywag/org-board"))]) @@ -3402,13 +3444,14 @@ (org-category-capture . [(20220114 730) ((org (9 0 0)) (emacs (24))) "Contextualy capture of org-mode TODOs." single ((:commit . "642b39c698db00bc535c1c2335f425fb9f4855a9") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "org-mode" "todo" "tools" "outlines") (:url . "https://github.com/IvanMalison/org-projectile"))]) (org-chef . [(20220422 300) ((org (0)) (emacs (24))) "Cookbook and recipe management with org-mode." tar ((:commit . "6a786e77e67a715b3cd4f5128b59d501614928af") (:authors ("Calvin Beck" . "hobbes@ualberta.ca")) (:maintainer "Calvin Beck" . "hobbes@ualberta.ca") (:keywords "convenience" "abbrev" "outlines" "org" "food" "recipes" "cooking") (:url . "https://github.com/Chobbes/org-chef"))]) (org-cliplink . [(20201126 1020) ((emacs (24 4))) "insert org-mode links from the clipboard" tar ((:commit . "13e0940b65d22bec34e2de4bc8cba1412a7abfbc") (:authors ("Alexey Kutepov" . "reximkut@gmail.com")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/rexim/org-cliplink"))]) - (org-clock-convenience . [(20200705 1527) ((cl-lib (0 5)) (org (8)) (emacs (24 3))) "convenience functions for org time tracking" single ((:commit . "efc9773a8dedf834cf4a78fb6f5f8fffe55ef8eb") (:authors ("Derek Feichtinger ")) (:maintainer "Derek Feichtinger ") (:keywords "org") (:url . "https://github.com/dfeich/org-clock-convenience"))]) + (org-clock-convenience . [(20220515 849) ((org (8)) (emacs (24 3))) "Convenience functions for org time tracking" single ((:commit . "9201db80862d144459f1316d571842f5389a47eb") (:authors ("Derek Feichtinger ")) (:maintainer "Derek Feichtinger ") (:keywords "convenience") (:url . "https://github.com/dfeich/org-clock-convenience"))]) (org-clock-csv . [(20201222 1506) ((org (8 3)) (s (1 0))) "Export `org-mode' clock entries to CSV format." single ((:commit . "af94b58c2e179a5bcc938f339e93de0eee3da99c") (:authors ("Aaron Jacobs" . "atheriel@gmail.com")) (:maintainer "Aaron Jacobs" . "atheriel@gmail.com") (:keywords "calendar" "data" "org") (:url . "https://github.com/atheriel/org-clock-csv"))]) (org-clock-reminder . [(20211010 2139) ((emacs (26 1))) "Notifications that remind you about clocked-in tasks" tar ((:commit . "9f9b88348ffbc6628f2286dcb4c064b520d0a638") (:authors ("Nikolay Brovko" . "i@nickey.ru")) (:maintainer "Nikolay Brovko" . "i@nickey.ru") (:keywords "calendar" "convenience") (:url . "https://github.com/inickey/org-clock-reminder"))]) (org-clock-split . [(20200331 526) ((emacs (24))) "Split clock entries" single ((:commit . "39e1d2912a7a7223e2356a5fc4dff03507ae084d") (:authors ("Justin Taft ")) (:maintainer "Justin Taft ") (:keywords "calendar") (:url . "https://github.com/justintaft/emacs-org-clock-split"))]) (org-clock-today . [(20191204 1558) ((emacs (25))) "Show total clocked time of the current day in the mode line" single ((:commit . "e326a45b60e0fd4ca057f1d1dc3e99a516a5aa2f") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com") (:url . "https://github.com/mallt/org-clock-today-mode"))]) (org-commentary . [(20160802 637) ((dash (2 0)) (emacs (24 4)) (org (8 0))) "generate or update conventional library headers using Org mode files" tar ((:commit . "821ccb994811359c42f4e3d459e0e88849d42b75") (:authors ("Sergei Maximov" . "s.b.maximov@gmail.com")) (:maintainer "Sergei Maximov" . "s.b.maximov@gmail.com") (:keywords "convenience" "docs" "tools") (:url . "https://github.com/smaximov/org-commentary"))]) - (org-context . [(20210216 1526) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "a08f1f607f819791b9b95ad4f91c5eaa9fdbb091") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "org" "capture" "agenda" "convenience") (:url . "https://github.com/thisirs/org-context"))]) + (org-contacts . [(20220609 126) ((emacs (27 1)) (cl-lib (0 7)) (org (9 3 4)) (gnus (5 13))) "Contacts management system for Org Mode" single ((:commit . "dba21b48952e78e9db27e25628bcfb0353c19b24") (:authors ("Julien Danjou" . "julien@danjou.info")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "contacts" "org-mode" "outlines" "hypermedia" "calendar") (:url . "https://repo.or.cz/org-contacts.git"))]) + (org-context . [(20220606 1339) nil "Contextual capture and agenda commands for Org-mode" single ((:commit . "47bd45149cb74dab2ebecccfb918f6f8502a4f2c") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "org" "capture" "agenda" "convenience") (:url . "https://github.com/thisirs/org-context"))]) (org-cua-dwim . [(20120203 534) nil "Org-mode and Cua mode compatibility layer" single ((:commit . "a55d6c7009fc0b22f1110c07de629acc955c85e4") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:keywords "org-mode" "cua-mode"))]) (org-d20 . [(20210212 139) ((s (1 11 0)) (seq (2 19)) (dash (2 12 0)) (emacs (24))) "minor mode for d20 tabletop roleplaying games" single ((:commit . "e6149dcfbb6302d10109dd792fd0ffae7bfe2595") (:authors ("Sean Whitton" . "spwhitton@spwhitton.name")) (:maintainer "Sean Whitton" . "spwhitton@spwhitton.name") (:keywords "outlines" "games") (:url . "https://spwhitton.name/tech/code/org-d20/"))]) (org-dashboard . [(20171223 1924) ((cl-lib (0 5))) "Visually summarize progress in org files" single ((:commit . "02c0699771d199075a286e4502340ca6e7c9e831") (:authors ("Massimiliano Mirra" . "hyperstruct@gmail.com")) (:maintainer "Massimiliano Mirra" . "hyperstruct@gmail.com") (:keywords "outlines" "calendar") (:url . "http://github.com/bard/org-dashboard"))]) @@ -3420,6 +3463,7 @@ (org-drill-table . [(20180115 1009) ((s (1 7 0)) (dash (2 2 0)) (cl-lib (0 3)) (org (8 2)) (emacs (24 1))) "Generate drill cards from org tables" single ((:commit . "2729aaa42c1e2720d9bf7bcc125e92dcf48b7f7d") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) (org-dropbox . [(20150114 509) ((dash (2 2)) (names (20150000)) (emacs (24))) "move Dropbox notes from phone into org-mode datetree" single ((:commit . "75dab6d6f0438a7a8a18ccf3a5d55f50bf531f6e") (:authors ("Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com")) (:maintainer "Heikki Lehvaslaiho" . "heikki.lehvaslaiho@gmail.com") (:keywords "dropbox" "android" "notes" "org-mode") (:url . "https://github.com/heikkil/org-dropbox"))]) (org-easy-img-insert . [(20160915 2008) ((emacs (24 4))) "An easier way to add images from the web in org mode" single ((:commit . "9f8aaa7f68ff1f0d8d7b1e9b618abb15002f971e") (:authors ("Tashrif Sanil" . "tashrifsanil@kloke-source.com")) (:maintainer "Tashrif Sanil" . "tashrifsanil@kloke-source.com") (:keywords "convenience" "hypermedia" "files") (:url . "https://github.com/tashrifsanil/org-easy-img-insert"))]) + (org-edit-indirect . [(20220508 2141) ((emacs (25 1)) (edit-indirect (0 1 6)) (org (9 0))) "Edit anything, not just source blocks" single ((:commit . "f146d1b406308298b4004a28aaa11124b02d015b") (:authors ("Ag Ibragimomv ")) (:maintainer "Ag Ibragimomv" . "agzam.ibragimov@gmail.com") (:keywords "convenience" "extensions" "outlines") (:url . "https://github.com/agzam/org-edit-indirect.el"))]) (org-edit-latex . [(20170908 1522) ((emacs (24 4)) (auctex (11 90))) "Edit embedded LaTeX in a dedicated buffer" single ((:commit . "1f228310ef2f3f2959a527f6d99e42ce977384c8") (:authors ("James Wong" . "jianwang.academic@gmail.com")) (:maintainer "James Wong" . "jianwang.academic@gmail.com") (:keywords "org" "latex") (:url . "https://github.com/et2010/org-edit-latex"))]) (org-ehtml . [(20220216 2054) ((web-server (20140109 2200)) (emacs (24 3))) "Export Org-mode files as editable web pages" tar ((:commit . "419932d6dbce193b0d90b1ccf9bf643169d21f52") (:authors ("Eric Schulte" . "schulte.eric@gmail.com")) (:maintainer "Eric Schulte" . "schulte.eric@gmail.com") (:keywords "org" "web-server" "javascript" "html"))]) (org-elisp-help . [(20161122 55) ((cl-lib (0 5)) (org (9 0))) "org links to emacs-lisp documentation" single ((:commit . "3e33ab1a2933dd7f2782ef91d667a37f12d633ab") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "org" "remember" "lisp") (:url . "https://github.com/tarsius/org-elisp-help"))]) @@ -3427,36 +3471,38 @@ (org-emms . [(20181010 1114) ((emacs (24))) "Play multimedia files from org-mode" single ((:commit . "07a8917f3d628c32e5de1dbd118ac08203772533") (:authors ("Jonathan Gregory ")) (:maintainer "Jonathan Gregory ") (:keywords "multimedia") (:url . "https://gitlab.com/jagrg/org-emms"))]) (org-evil . [(20210809 1724) ((dash (2 19 0)) (evil (0)) (org (9 4 4))) "Evil extensions for Org." tar ((:commit . "981b0931d043d3b0eb61fcab6258b5a88cc74d15") (:authors ("Ben Moon" . "software@guiltydolphin.com")) (:maintainer "Ben Moon" . "software@guiltydolphin.com") (:keywords "convenience" "evil" "org") (:url . "https://github.com/guiltydolphin/org-evil"))]) (org-fancy-priorities . [(20210830 1657) nil "Display org priorities as custom strings" single ((:commit . "7f677c6c14ecf05eab8e0efbfe7f1b00ae68eb1d") (:authors ("Harry Bournis" . "harrybournis@gmail.com")) (:maintainer "Harry Bournis" . "harrybournis@gmail.com") (:keywords "convenience" "faces" "outlines") (:url . "https://github.com/harrybournis/org-fancy-priorities"))]) - (org-fragtog . [(20220110 2211) ((emacs (27 1))) "Auto-toggle Org LaTeX fragments" single ((:commit . "680606189d5d28039e6f9301b55ec80517a24005") (:authors ("Benjamin Levy" . "blevy@protonmail.com")) (:maintainer "Benjamin Levy" . "blevy@protonmail.com") (:url . "https://github.com/io12/org-fragtog"))]) + (org-fragtog . [(20220714 2146) ((emacs (27 1))) "Auto-toggle Org LaTeX fragments" single ((:commit . "c675563af3f9ab5558cfd5ea460e2a07477b0cfd") (:authors ("Benjamin Levy" . "blevy@protonmail.com")) (:maintainer "Benjamin Levy" . "blevy@protonmail.com") (:url . "https://github.com/io12/org-fragtog"))]) (org-gamedb . [(20210525 2338) ((emacs (25 1))) "Track video games in org-mode with giantbomb.com's API" single ((:commit . "f283b6f6a7e8ad090405be57202caa3d3c424447") (:authors ("repelliuss ")) (:maintainer "repelliuss" . "repelliuss@gmail.com") (:keywords "outlines" "org" "games" "convenience" "api") (:url . "https://github.com/repelliuss/org-gamedb"))]) - (org-gcal . [(20220324 1852) ((request (20190901)) (request-deferred (20181129)) (alert (0)) (persist (0)) (emacs (26)) (org (9 3))) "Org sync with Google Calendar" tar ((:commit . "554c48fb57dc46877202028019197b0699961ca0") (:authors ("myuhe ")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:keywords "convenience") (:url . "https://github.com/kidd/org-gcal.el"))]) + (org-gcal . [(20220731 2104) ((request (20190901)) (request-deferred (20181129)) (alert (0)) (persist (0)) (emacs (26)) (org (9 3))) "Org sync with Google Calendar" tar ((:commit . "229463ae02f9c0d8ddb510e611b2344ec9a17111") (:authors ("myuhe ")) (:maintainer "Raimon Grau" . "raimonster@gmail.com") (:keywords "convenience") (:url . "https://github.com/kidd/org-gcal.el"))]) (org-generate . [(20200815 736) ((emacs (26 1)) (org (9 3)) (mustache (0 23))) "Generate template files/folders from org document" single ((:commit . "98825efb73c4537f05f653ce40e639a220d2ee5d") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/org-generate.el"))]) (org-gnome . [(20150614 1457) ((alert (1 2)) (telepathy (0 1)) (gnome-calendar (0 1))) "Orgmode integration with the GNOME desktop" single ((:commit . "122e14cf6f8104150a65246a9a7c10e1d7939862") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com") (:keywords "org" "gnome"))]) (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-gtd . [(20220213 41) ((emacs (27 1)) (org-edna (1 1 2)) (f (0 20 0)) (org (9 3 1)) (org-agenda-property (1 3 1)) (transient (0 3 7))) "An implementation of GTD." tar ((:commit . "4e0fcf9a440e463d395f8f37efe8f1e691ed07dc") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "https://github.com/Trevoke/org-gtd.el"))]) + (org-gtd . [(20220213 41) ((emacs (27 1)) (org-edna (1 1 2)) (f (0 20 0)) (org (9 3 1)) (org-agenda-property (1 3 1)) (transient (0 3 7))) "An implementation of GTD." tar ((:commit . "66918121e8daf8e0b355b12717dc898150f0f2e1") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:url . "https://github.com/Trevoke/org-gtd.el"))]) + (org-hyperscheduler . [(20220704 2140) ((emacs (27 1)) (websocket (1 13)) (log4e (0 3 3))) "UI (web) representation of org-agenda" tar ((:commit . "b7f33e7bf19b7ce7c81dbac4de765a854ee7f52f") (:authors ("Dmitry Markushevich" . "dmitrym@gmail.com")) (:maintainer "Dmitry Markushevich" . "dmitrym@gmail.com") (:keywords "org-mode" "calendar") (:url . "https://github.com/dmitrym0/org-hyperscheduler"))]) (org-id-cleanup . [(20220228 1653) ((org (9 3)) (dash (2 12)) (emacs (26 3))) "Interactively find, present and maybe clean up unused IDs of org-id" single ((:commit . "b6bf79465cd31d66b547704903b8ba5fcd6dd108") (:authors ("Marc Ihm" . "marc@ihm.name")) (:maintainer "Marc Ihm" . "marc@ihm.name") (:url . "https://github.com/marcIhm/org-id-cleanup"))]) (org-if . [(20150920 1513) nil "Interactive Fiction Authoring System for Org-Mode." tar ((:commit . "fab602cc1bbee7a4e99c0083e129219d3f9ed2e8") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:keywords "if" "org-if" "org org-mode"))]) - (org-index . [(20220228 1651) ((org (9 3)) (dash (2 12)) (s (1 12)) (emacs (26 3))) "A personal adaptive index for org" single ((:commit . "9671cf059b681fac39ce910dd8847b5c7bfad170") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-index"))]) + (org-index . [(20220801 928) ((org (9 3)) (dash (2 12)) (s (1 12)) (emacs (26 3))) "A personal adaptive index for org" single ((:commit . "9ca02c4e7a38c788b70a1f5364ab505695335bd3") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-index"))]) (org-inline-anim . [(20211101 413) ((emacs (25 3)) (org (9 4))) "Inline playback of animated GIF/PNG for Org" single ((:commit . "ea7feb924c991f3a2cdc4a70fb176eaceae87938") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "org" "outlines" "hypermedia" "multimedia") (:url . "https://github.com/shg/org-inline-anim.el"))]) - (org-inline-pdf . [(20210119 529) ((emacs (25 1)) (org (9 4))) "Inline PDF previewing for Org" single ((:commit . "b2dfbf41efac55edacde8a8a6bd0275418de6454") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "org" "outlines" "hypermedia") (:url . "https://github.com/shg/org-inline-pdf.el"))]) + (org-inline-pdf . [(20220429 1012) ((emacs (25 1)) (org (9 4))) "Inline PDF previewing for Org" single ((:commit . "b790818ecbb85cd6dee44754935eb12153a79679") (:authors ("Shigeaki Nishina")) (:maintainer "Shigeaki Nishina") (:keywords "org" "outlines" "hypermedia") (:url . "https://github.com/shg/org-inline-pdf.el"))]) (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") (:authors ("kuangdash" . "kuangdash@163.com")) (:maintainer "kuangdash" . "kuangdash@163.com") (:url . "https://github.com/kuangdash/org-iv"))]) - (org-jira . [(20220328 407) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "502de6d31d0b2fd8480787461b7167d5dd3b088a") (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:url . "https://github.com/ahungry/org-jira"))]) + (org-jira . [(20220725 1808) ((emacs (24 5)) (cl-lib (0 5)) (request (0 2 0)) (dash (2 14 1))) "Syncing between Jira and Org-mode." tar ((:commit . "93629335727d855e8795470e78282c9dc532c839") (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "jira" "org" "bug" "tracker") (:url . "https://github.com/ahungry/org-jira"))]) (org-journal . [(20220408 629) ((emacs (25 1)) (org (9 1))) "a simple org-mode based journaling mode" single ((:commit . "839a2e19865a03bec30ef32431f981f33880a754") (:authors ("Bastian Bechtold") ("Christian Schwarzgruber")) (:maintainer "Bastian Bechtold") (:url . "http://github.com/bastibe/org-journal"))]) (org-journal-list . [(20190221 2052) ((emacs (25))) "Org mode Journal List" single ((:commit . "2b26d00181bb49bff64b31ad020490acd1b6ae02") (:authors ("Huy Tran" . "huytd189@gmail.com")) (:maintainer "Huy Tran" . "huytd189@gmail.com") (:url . "https://github.com/huytd/org-journal-list"))]) - (org-journal-tags . [(20220416 1507) ((emacs (27 1)) (org-journal (2 1 2)) (magit-section (3 3 0)) (transient (0 3 7))) "Tagging and querying system of org-journal" single ((:commit . "ca6327161f4994ea0e98d7c6c3f662222e2650bf") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/org-journal-tags"))]) - (org-kanban . [(20220218 1845) ((s (0)) (dash (2 17 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "5310e208d151f460f9b7e3961b4796842e91a3ae") (:authors ("Christian Köstlin" . "christian.koestlin@gmail.com")) (:maintainer "Christian Köstlin" . "christian.koestlin@gmail.com") (:keywords "org-mode" "org" "kanban" "tools") (:url . "http://github.com/gizmomogwai/org-kanban"))]) + (org-journal-tags . [(20220803 1358) ((emacs (27 1)) (org-journal (2 1 2)) (magit-section (3 3 0)) (transient (0 3 7))) "Tagging and querying system of org-journal" single ((:commit . "687c95eea69b515b194b416db27def686392e06f") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/org-journal-tags"))]) + (org-kanban . [(20220723 1216) ((s (0)) (dash (2 17 0)) (emacs (24 4)) (org (9 1))) "kanban dynamic block for org-mode." single ((:commit . "e78deb03880ae89d6bceae6563ef1383526233a1") (:authors ("Christian Köstlin" . "christian.koestlin@gmail.com")) (:maintainer "Christian Köstlin" . "christian.koestlin@gmail.com") (:keywords "org-mode" "org" "kanban" "tools") (:url . "http://github.com/gizmomogwai/org-kanban"))]) (org-kindle . [(20220210 1408) ((emacs (25)) (cl-lib (0 5)) (seq (2 20))) "Send org link file to ebook reader." single ((:commit . "fadcfd62e254d0c45e87d63128a82a08ae21869a") (:keywords "org" "link" "ebook" "kindle" "epub" "azw3" "mobi") (:url . "https://repo.or.cz/org-kindle.git"))]) (org-latex-impatient . [(20210409 2251) ((emacs (26)) (s (1 8 0)) (posframe (0 8 0)) (org (9 3)) (dash (2 17 0))) "Preview org-latex Fragments Instantly via MathJax" single ((:commit . "832bbb9bbdee8b58170c984ead487f3ad612820c") (:authors ("Sheng Yang" . "styang@fastmail.com")) (:maintainer "Sheng Yang" . "styang@fastmail.com") (:keywords "tex" "tools") (:url . "https://github.com/yangsheng6810/org-latex-instant-preview"))]) - (org-link-beautify . [(20220417 1730) ((emacs (27 1)) (all-the-icons (4 0 0))) "Beautify Org Links" single ((:commit . "1bf0d8cb3d80efffbf1d561942c27ee701716ef2") (:keywords "hypermedia") (:url . "https://repo.or.cz/org-link-beautify.git"))]) + (org-link-beautify . [(20220701 359) ((emacs (27 1)) (all-the-icons (5 0 0))) "Beautify Org Links" single ((:commit . "ee06be6d82d36330cf0f96544e7cfcfdc1b7bb02") (:keywords "hypermedia") (:url . "https://repo.or.cz/org-link-beautify.git"))]) (org-link-travis . [(20140405 2327) ((org (7))) "Insert/Export the link of Travis CI on org-mode" single ((:commit . "596615ad8373d9090bd4138da683524f0ad0bda5") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "org") (:url . "https://github.com/aki2o/org-link-travis"))]) (org-linkotron . [(20200112 2235) ((emacs (26 1)) (org (9 3))) "Org-mode link selector" tar ((:commit . "d0adc5247b205bc73d2f1a83d4a512d2be541eb5") (:authors ("Per Weijnitz" . "per.weijnitz@gmail.com")) (:maintainer "Per Weijnitz" . "per.weijnitz@gmail.com") (:keywords "hypermedia" "org") (:url . "https://gitlab.com/perweij/org-linkotron"))]) - (org-listcruncher . [(20210706 1741) ((seq (2 3)) (emacs (26 1))) "Planning tool - Parse Org mode lists into table" single ((:commit . "075e0e6d36eb50406a608bc8a2f0dd359ec63938") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:keywords "convenience") (:url . "https://github.com/dfeich/org-listcruncher"))]) + (org-listcruncher . [(20210706 1741) ((seq (2 3)) (emacs (26 1))) "Planning tool - Parse Org mode lists into table" single ((:commit . "d2f4b9e8f1c7c9b495f71deeaa77e4f6f47bc7bf") (:authors ("Derek Feichtinger" . "dfeich@gmail.com")) (:maintainer "Derek Feichtinger" . "dfeich@gmail.com") (:keywords "convenience") (:url . "https://github.com/dfeich/org-listcruncher"))]) + (org-mac-link . [(20220616 2340) ((emacs (27 1))) "Insert org-mode links to items selected in various Mac apps" single ((:commit . "0b18c1d070b9601cc65c40e902169e367e4348c9") (:authors ("Anthony Lander" . "anthony.lander@gmail.com") ("John Wiegley" . "johnw@gnu.org") ("Christopher Suckling ") ("Daniil Frumin" . "difrumin@gmail.com") ("Alan Schmitt" . "alan.schmitt@polytechnique.org") ("Mike McLean" . "mike.mclean@pobox.com")) (:maintainer "Aimé Bertrand" . "aime.bertrand@macowners.club") (:keywords "files" "wp" "url" "org") (:url . "https://gitlab.com/aimebertrand/org-mac-link"))]) (org-make-toc . [(20200409 1436) ((emacs (26 1)) (dash (2 12)) (s (1 10 0)) (org (9 0))) "Automatic tables of contents for Org files" single ((:commit . "26fbd6a7e1e7f8e473fe3a5f74faec715c3a05aa") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "org" "convenience") (:url . "http://github.com/alphapapa/org-make-toc"))]) - (org-mime . [(20220204 42) ((emacs (25 1))) "org html export for text/html MIME emails" single ((:commit . "a7bf07316f93015e4f853ea0fc5b8d05b4a7695d") (:authors ("Eric Schulte")) (:maintainer "Chen Bin (redguardtoo)") (:keywords "mime" "mail" "email" "html") (:url . "http://github.com/org-mime/org-mime"))]) + (org-mime . [(20220722 242) ((emacs (25 1))) "org html export for text/html MIME emails" single ((:commit . "5c19b458f8dbd61f8a40c8b94ba843833ba90a77") (:authors ("Eric Schulte")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "mime" "mail" "email" "html") (:url . "http://github.com/org-mime/org-mime"))]) (org-mind-map . [(20180826 2340) ((emacs (24)) (dash (1 8 0)) (org (8 2 10))) "Creates a directed graph from org-mode files" single ((:commit . "95347b2f9291f5c5eb6ebac8e726c03634c61de3") (:authors ("Ted Wiles" . "theodore.wiles@gmail.com")) (:maintainer "Ted Wiles" . "theodore.wiles@gmail.com") (:keywords "orgmode" "extensions" "graphviz" "dot") (:url . "https://github.com/theodorewiles/org-mind-map"))]) - (org-ml . [(20211231 700) ((emacs (26 1)) (org (9 3)) (dash (2 17)) (s (1 12))) "Functional Org Mode API" tar ((:commit . "3974435bbf72722801f7ed78855381d77a773162") (:authors ("Nathan Dwarshuis" . "ndwar@yavin4.ch")) (:maintainer "Nathan Dwarshuis" . "ndwar@yavin4.ch") (:keywords "org-mode" "outlines") (:url . "https://github.com/ndwarshuis/org-ml"))]) + (org-ml . [(20220711 1528) ((emacs (27 1)) (org (9 3)) (dash (2 17)) (s (1 12))) "Functional Org Mode API" tar ((:commit . "385e3bee497f858705144d7ab5e6570d31d3ffe8") (:authors ("Nathan Dwarshuis" . "ndwar@yavin4.ch")) (:maintainer "Nathan Dwarshuis" . "ndwar@yavin4.ch") (:keywords "org-mode" "outlines") (:url . "https://github.com/ndwarshuis/org-ml"))]) (org-mobile-sync . [(20180606 524) ((emacs (24 3 50)) (org (8 0))) "automatically sync org-mobile on changes" single ((:commit . "06764b943a528827df1e2acc6bc7806cc2c1351f") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "org-mode" "org" "mobile" "sync" "todo") (:url . "https://framagit.org/steckerhalter/org-mobile-sync"))]) - (org-modern . [(20220422 940) ((emacs (27 1))) "Modern looks for Org" single ((:commit . "ff1046705b3950b7a49da50bc34c11da86c6226d") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/org-modern"))]) + (org-modern . [(20220730 827) ((emacs (27 1))) "Modern looks for Org" single ((:commit . "c82b50a61d04571e11c242fb91944753d8bf945c") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/org-modern"))]) (org-movies . [(20210920 101) ((emacs (26 1)) (org (9 0)) (request (0 3 0))) "Manage watchlist with Org mode" single ((:commit . "e96fecaffa2924de64a507aa31d2934e667ee1ea") (:authors ("Anh T Nguyen")) (:maintainer "Anh T Nguyen") (:keywords "hypermedia" "outlines" "org") (:url . "https://github.com/teeann/org-movies"))]) (org-mru-clock . [(20211029 1147) ((emacs (26 1))) "Clock in/out of tasks with completion and persistent history" single ((:commit . "a74322f0cfd6e52151f9bb8d4f90833330f69120") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "convenience" "calendar") (:url . "https://github.com/unhammer/org-mru-clock"))]) (org-msg . [(20220331 1707) ((emacs (24 4)) (htmlize (1 54))) "Org mode to send and reply to email in HTML." single ((:commit . "60e22e446325a9b3387396459d98be7c1c52579d") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:keywords "extensions" "mail") (:url . "https://github.com/jeremy-compostella/org-msg"))]) @@ -3478,43 +3524,43 @@ (org-pomodoro . [(20220318 1618) ((alert (0 5 10)) (cl-lib (0 5))) "Pomodoro implementation for org-mode." tar ((:commit . "3f5bcfb80d61556d35fc29e5ddb09750df962cc6") (:authors ("Arthur Leonard Andersen" . "leoc.git@gmail.com")) (:maintainer "Arthur Leonard Andersen" . "leoc.git@gmail.com") (:url . "https://github.com/lolownia/org-pomodoro"))]) (org-present . [(20220108 1802) ((org (7))) "Minimalist presentation minor-mode for Emacs org-mode." single ((:commit . "c0f1f36b2384b58b00a2000f2e30895a6230bb6b") (:authors ("Ric Lister")) (:maintainer "Ric Lister") (:url . "https://github.com/rlister/org-present"))]) (org-pretty-tags . [(20211228 1546) ((emacs (25))) "Surrogates for tags" single ((:commit . "e127a1e08df8273b909a99594ffaad84960ff212") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:keywords "reading" "outlines") (:url . "https://gitlab.com/marcowahl/org-pretty-tags"))]) - (org-preview-html . [(20220228 414) ((emacs (25 1)) (org (8 0))) "Automatically preview org-exported HTML files within Emacs" single ((:commit . "cb85524d5090b8189e965cc49d65be04650c17c4") (:authors ("Jake B" . "jakebox0@protonmail.com")) (:maintainer "Jake B" . "jakebox0@protonmail.com") (:keywords "org" "convenience" "outlines") (:url . "https://github.com/jakebox/org-preview-html"))]) + (org-preview-html . [(20220718 118) ((emacs (25 1)) (org (8 0))) "Automatically preview org-exported HTML files within Emacs" single ((:commit . "eb3454c9df8911d13ac25700084d9675d0a5f1b2") (:authors ("Jake B" . "jakebox0@protonmail.com")) (:maintainer "Jake B" . "jakebox0@protonmail.com") (:keywords "org" "convenience" "outlines") (:url . "https://github.com/jakebox/org-preview-html"))]) (org-projectile . [(20220114 730) ((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 . "642b39c698db00bc535c1c2335f425fb9f4855a9") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "org-mode" "projectile" "todo" "tools" "outlines") (:url . "https://github.com/IvanMalison/org-projectile"))]) (org-projectile-helm . [(20180601 1822) ((org-projectile (1 0 0)) (helm (2 3 1)) (emacs (25))) "helm functions for org-projectile" single ((:commit . "642b39c698db00bc535c1c2335f425fb9f4855a9") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "org" "projectile" "todo" "helm" "outlines") (:url . "https://github.com/IvanMalison/org-projectile"))]) (org-protocol-jekyll . [(20170328 1639) ((cl-lib (0 5))) "Jekyll's handler for org-protocol" single ((:commit . "dec064a42d6dfe81dfde7ba59ece5ca103ac6334") (:authors ("Vladimir S. Ivanov" . "ivvl82@gmail.com")) (:maintainer "Vladimir S. Ivanov" . "ivvl82@gmail.com"))]) - (org-ql . [(20220318 1534) ((emacs (26 1)) (dash (2 18 1)) (f (0 17 2)) (map (2 1)) (org (9 0)) (org-super-agenda (1 2)) (ov (1 0 6)) (peg (1 0)) (s (1 12 0)) (transient (0 1)) (ts (0 2 -1))) "Org Query Language, search command, and agenda-like view" tar ((:commit . "46f523d94a376b168176c75bbd0e3e0d00e61170") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org" "agenda") (:url . "https://github.com/alphapapa/org-ql"))]) + (org-ql . [(20220718 1844) ((emacs (26 1)) (dash (2 18 1)) (f (0 17 2)) (map (2 1)) (org (9 0)) (org-super-agenda (1 2)) (ov (1 0 6)) (peg (1 0)) (s (1 12 0)) (transient (0 1)) (ts (0 2 -1))) "Org Query Language, search command, and agenda-like view" tar ((:commit . "06f1e1be6ff5ef7e2c8c05dc1954bcedcbb6eb0b") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org" "agenda") (:url . "https://github.com/alphapapa/org-ql"))]) (org-radiobutton . [(20210519 1225) ((dash (2 13 0)) (emacs (24))) "Radiobutton for org-mode lists." single ((:commit . "86d7581202a37d2004589b8c8e9d8638806c6bcc") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "outlines") (:url . "https://github.com/Fuco1/org-radiobutton"))]) (org-random-todo . [(20190214 2057) ((emacs (24 3)) (alert (1 3))) "show a random TODO (with alert) every so often" single ((:commit . "a019c7186ec60c8c7c3657914cdce029811cf4e0") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "org" "todo" "notification" "calendar") (:url . "https://github.com/unhammer/org-random-todo"))]) (org-randomnote . [(20200110 1407) ((f (0 19 0)) (dash (2 12 0)) (org (0))) "Find a random note in your Org-Mode files" single ((:commit . "ea8cf4385970637efffff8f79e14576ba6d7ad13") (:authors ("Michael Fogleman" . "michaelwfogleman@gmail.com")) (:maintainer "Michael Fogleman" . "michaelwfogleman@gmail.com") (:url . "http://github.com/mwfogleman/org-randomnote"))]) - (org-re-reveal . [(20220402 1456) ((emacs (24 4)) (org (8 3)) (htmlize (1 34))) "Org export to reveal.js presentations" tar ((:commit . "c787ebf93d51b63b8726df241e3e2fcda35d4ae1") (:keywords "tools" "outlines" "hypermedia" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/org-re-reveal"))]) + (org-re-reveal . [(20220803 1058) ((emacs (24 4)) (org (8 3)) (htmlize (1 34))) "Org export to reveal.js presentations" tar ((:commit . "5235df04b79b223e338bcfcb511e5bc6445791a4") (:keywords "tools" "outlines" "hypermedia" "slideshow" "presentation" "oer") (:url . "https://gitlab.com/oer/org-re-reveal"))]) (org-re-reveal-citeproc . [(20211028 1328) ((emacs (25 1)) (org (9 5)) (citeproc (0 9)) (org-re-reveal (3 0 0))) "Citations and bibliography for org-re-reveal" tar ((:commit . "faa9ea387917b20bd1499ad90199ff3d417c00c2") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:keywords "hypermedia" "tools" "slideshow" "presentation" "bibliography") (:url . "https://gitlab.com/oer/org-re-reveal-citeproc"))]) (org-re-reveal-ref . [(20211029 551) ((emacs (25 1)) (org-ref (1 1 1)) (org-re-reveal (0 9 3))) "Citations and bibliography for org-re-reveal" tar ((:commit . "ea9661864d5fbef87b12b78f516c13a40c683f24") (:authors ("Jens Lechtenbörger")) (:maintainer "Jens Lechtenbörger") (:keywords "hypermedia" "tools" "slideshow" "presentation" "bibliography") (:url . "https://gitlab.com/oer/org-re-reveal-ref"))]) (org-recent-headings . [(20211011 1519) ((emacs (26 1)) (org (9 0 5)) (dash (2 18 0)) (frecency (0 1)) (s (1 12 0))) "Jump to recently used Org headings" single ((:commit . "97418d581ea030f0718794e50b005e9bae44582e") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org") (:url . "http://github.com/alphapapa/org-recent-headings"))]) (org-recur . [(20211007 238) ((emacs (24)) (org (9 0))) "Recurring org-mode tasks" single ((:commit . "2bdf71d79f11afa3777c6542f84cef4ad3fce916") (:authors ("Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com")) (:maintainer "Marcin Swieczkowski" . "marcin.swieczkowski@gmail.com") (:url . "https://github.com/m-cat/org-recur"))]) (org-redmine . [(20160711 1114) nil "Redmine tools using Emacs OrgMode" single ((:commit . "e77d013bc3784947c46a5c53f03cd7d3c68552fc") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:keywords "redmine" "org") (:url . "https://github.com/gongo/org-redmine"))]) - (org-ref . [(20220423 1243) ((org (9 4)) (dash (0)) (s (0)) (f (0)) (htmlize (0)) (hydra (0)) (avy (0)) (parsebib (0)) (bibtex-completion (0)) (citeproc (0))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "b5aea83078acb51688c2ac66b4fac419aecbd329") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:keywords "org-mode" "cite" "ref" "label") (:url . "https://github.com/jkitchin/org-ref"))]) - (org-ref-prettify . [(20220112 1746) ((emacs (24 3)) (org-ref (3 0)) (bibtex-completion (1 0 0))) "Prettify org-ref citation links" single ((:commit . "cbf9a709a10304981c38eba1149def17151aca3c") (:authors ("Alex Kost" . "alezost@gmail.com") ("Vitus Schäfftlein" . "vitusschaefftlein@live.de")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/org-ref-prettify.el"))]) + (org-ref . [(20220715 1202) ((org (9 4)) (dash (0)) (s (0)) (f (0)) (htmlize (0)) (hydra (0)) (avy (0)) (parsebib (0)) (bibtex-completion (0)) (citeproc (0)) (ox-pandoc (0))) "citations, cross-references and bibliographies in org-mode" tar ((:commit . "ebe3bb6f58350ac10da73e583d3ad1078f0690e2") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:keywords "org-mode" "cite" "ref" "label") (:url . "https://github.com/jkitchin/org-ref"))]) + (org-ref-prettify . [(20220507 649) ((emacs (24 3)) (org-ref (3 0)) (bibtex-completion (1 0 0))) "Prettify org-ref citation links" single ((:commit . "0ec3b6e398ee117c8b8a787a0422b95d9e95f7bb") (:authors ("Alex Kost" . "alezost@gmail.com") ("Vitus Schäfftlein" . "vitusschaefftlein@live.de")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/org-ref-prettify.el"))]) (org-repo-todo . [(20171228 119) nil "Simple repository todo management with org-mode" single ((:commit . "f73ebd91399c5760ad52c6ad9033de1066042003") (:authors ("justin talbott" . "justin@waymondo.com")) (:maintainer "justin talbott" . "justin@waymondo.com") (:keywords "convenience") (:url . "https://github.com/waymondo/org-repo-todo"))]) - (org-reverse-datetree . [(20220310 1646) ((emacs (26 1)) (dash (2 12)) (org (9 3))) "Create reverse date trees in org-mode" single ((:commit . "9ebd42b521e7adf26a35cbb17144113a83f73264") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "outlines") (:url . "https://github.com/akirak/org-reverse-datetree"))]) + (org-reverse-datetree . [(20220731 1246) ((emacs (26 1)) (dash (2 12)) (org (9 3))) "Create reverse date trees in org-mode" single ((:commit . "e53d0fde875d137eeb03eddd6b50d3c827f9947f") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "outlines") (:url . "https://github.com/akirak/org-reverse-datetree"))]) (org-review . [(20220411 1205) nil "schedule reviews for Org entries" single ((:commit . "466f7d8f183f226f1e665cf806cb094471903d9c") (:authors ("Alan Schmitt" . "alan.schmitt@polytechnique.org")) (:maintainer "Alan Schmitt" . "alan.schmitt@polytechnique.org") (:keywords "org" "review") (:url . "https://github.com/brabalan/org-review"))]) (org-rich-yank . [(20220227 2154) ((emacs (24 4))) "Paste with org-mode markup and link to source" single ((:commit . "4bcd030f0d736d77c647955739b61fae541417e9") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "convenience" "hypermedia" "org") (:url . "https://github.com/unhammer/org-rich-yank"))]) - (org-roam . [(20220425 12) ((emacs (26 1)) (dash (2 13)) (org (9 4)) (emacsql (3 0 0)) (emacsql-sqlite (1 0 0)) (magit-section (3 0 0))) "A database abstraction layer for Org-mode" tar ((:commit . "b63ff2a7bbd888128939b8ae88c3f62c0d529945") (:authors ("Jethro Kuan" . "jethrokuan95@gmail.com")) (:maintainer "Jethro Kuan" . "jethrokuan95@gmail.com") (:keywords "org-mode" "roam" "convenience") (:url . "https://github.com/org-roam/org-roam"))]) - (org-roam-bibtex . [(20220213 1609) ((emacs (27 1)) (org-roam (2 2 0)) (bibtex-completion (2 0 0))) "Org Roam meets BibTeX" tar ((:commit . "efdac6fe4134c33f50b06a0a6d192003d0e5094c") (:authors ("Mykhailo Shevchuk" . "mail@mshevchuk.com") ("Leo Vivier" . "leo.vivier+dev@gmail.com")) (:maintainer "Mykhailo Shevchuk" . "mail@mshevchuk.com") (:keywords "bib" "hypermedia" "outlines" "wp") (:url . "https://github.com/org-roam/org-roam-bibtex"))]) + (org-roam . [(20220804 437) ((emacs (26 1)) (dash (2 13)) (org (9 4)) (emacsql (3 0 0)) (emacsql-sqlite (1 0 0)) (magit-section (3 0 0))) "A database abstraction layer for Org-mode" tar ((:commit . "7f453f3fffb924ca4ae3f8d34cabc03fbcae0127") (:authors ("Jethro Kuan" . "jethrokuan95@gmail.com")) (:maintainer "Jethro Kuan" . "jethrokuan95@gmail.com") (:keywords "org-mode" "roam" "convenience") (:url . "https://github.com/org-roam/org-roam"))]) + (org-roam-bibtex . [(20220626 1121) ((emacs (27 1)) (org-roam (2 2 0)) (bibtex-completion (2 0 0))) "Org Roam meets BibTeX" tar ((:commit . "201262a839db20af2a49165a80f85f82dad159d1") (:authors ("Mykhailo Shevchuk" . "mail@mshevchuk.com") ("Leo Vivier" . "leo.vivier+dev@gmail.com")) (:maintainer "Mykhailo Shevchuk" . "mail@mshevchuk.com") (:keywords "bib" "hypermedia" "outlines" "wp") (:url . "https://github.com/org-roam/org-roam-bibtex"))]) (org-roam-timestamps . [(20220111 1755) ((emacs (26 1)) (org-roam (2 0 0))) "Keep track of modification times for org-roam" single ((:commit . "604fdad0feb61419751d3d6b828cc443a99f418f") (:authors ("Thomas F. K. Jorna ")) (:maintainer "Thomas F. K. Jorna" . "jorna@jtrialerror.com") (:keywords "calendar" "outlines" "files") (:url . "https://github.com/ThomasFKJorna/org-roam-timestamps/"))]) - (org-roam-ui . [(20220225 2151) ((emacs (27 1)) (org-roam (2 0 0)) (simple-httpd (20191103 1446)) (websocket (1 13))) "User Interface for Org-roam" tar ((:commit . "9474a254390b1e42488a1801fed5826b32a8030b") (:authors ("Kirill Rogovoy, Thomas Jorna")) (:maintainer "Kirill Rogovoy, Thomas Jorna") (:keywords "files" "outlines") (:url . "https://github.com/org-roam/org-roam-ui"))]) + (org-roam-ui . [(20220803 1024) ((emacs (27 1)) (org-roam (2 0 0)) (simple-httpd (20191103 1446)) (websocket (1 13))) "User Interface for Org-roam" tar ((:commit . "c75fc7506ee7f03840a9a93ed9336d7ed24551aa") (:authors ("Kirill Rogovoy, Thomas Jorna")) (:maintainer "Kirill Rogovoy, Thomas Jorna") (:keywords "files" "outlines") (:url . "https://github.com/org-roam/org-roam-ui"))]) (org-ros . [(20220320 1705) ((emacs (24 1))) "Rahul's Org-Mode Screenshot" single ((:commit . "70e0f33ee027ca1dce68351ad14a9e47a452fc17") (:authors ("Rahul Martim Juliato" . "rahul.juliato@gmail.com")) (:maintainer "Rahul Martim Juliato" . "rahul.juliato@gmail.com") (:url . "https://github.com/LionyxML/ros"))]) (org-rtm . [(20160214 1236) ((rtm (0 1))) "Simple import/export from rememberthemilk to org-mode" single ((:commit . "adc42ad1fbe92ab447ccc9553780f4456f2508d2") (:authors ("Philipp Middendorf" . "pmidden@secure.mailbox.org")) (:maintainer "Philipp Middendorf" . "pmidden@secure.mailbox.org") (:keywords "outlines" "data") (:url . "https://github.com/pmiddend/org-rtm"))]) - (org-runbook . [(20220107 451) nil "Org mode for runbooks" tar ((:commit . "dd11d253d3ee94b70f0d2cc74c6e85c6f5ac189d") (:authors ("Tyler Dodge")) (:maintainer "Tyler Dodge") (:keywords "convenience" "processes" "terminals" "files") (:url . "https://github.com/tyler-dodge/org-runbook"))]) + (org-runbook . [(20220512 1927) nil "Org mode for runbooks" tar ((:commit . "ec8b933c1269804546c356fe379169d1f0fce9ea") (:authors ("Tyler Dodge")) (:maintainer "Tyler Dodge") (:keywords "convenience" "processes" "terminals" "files") (:url . "https://github.com/tyler-dodge/org-runbook"))]) (org-scrum . [(20200131 1129) ((emacs (24 5)) (org (8 2)) (seq (2 3)) (cl-lib (1 0))) "org mode extensions for scrum planning and reporting" single ((:commit . "f7a46bc4bc85305f0c2b72565170ea0e007c42fd") (:authors ("Ian Martins" . "ianxm@jhu.edu")) (:maintainer "Ian Martins" . "ianxm@jhu.edu") (:url . "https://github.com/ianxm/emacs-scrum"))]) (org-seek . [(20161217 502) ((emacs (24 3)) (ag (0 48))) "Searching Org-mode files with search tools." single ((:commit . "1f51e6634e3b9a6a29d335d0d14370a6ffef2265") (:authors ("stardiviner" . "numbchild@gmail.com")) (:maintainer "stardiviner" . "numbchild@gmail.com") (:keywords "org" "search" "ag" "pt") (:url . "https://github.com/stardiviner/org-seek.el"))]) (org-shoplist . [(20210629 2157) ((emacs (25))) "Eat the world" single ((:commit . "71ea7643e66c97d21df49fb8b600578ca0464f83") (:authors ("lordnik22")) (:maintainer "lordnik22") (:keywords "extensions" "matching") (:url . "https://github.com/lordnik22"))]) (org-sidebar . [(20210912 1321) ((emacs (26 1)) (s (1 10 0)) (dash (2 18)) (org (9 0)) (org-ql (0 2)) (org-super-agenda (1 0))) "Helpful sidebar for Org buffers" single ((:commit . "288703b897449f5110c9c76e78eb9a928ffc0dcd") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org" "agenda") (:url . "https://github.com/alphapapa/org-sidebar"))]) (org-snooze . [(20181229 1424) ((emacs (24 4))) "Snooze your code, doc and feed" single ((:commit . "8799adc14a20f3489063d279ff69312de3180bf9") (:authors ("Bill Xue")) (:maintainer "Bill Xue") (:keywords "extensions") (:url . "https://github.com/xueeinstein/org-snooze.el"))]) (org-special-block-extras . [(20220326 1432) ((s (1 12 0)) (dash (2 18 1)) (emacs (27 1)) (org (9 1)) (lf (1 0)) (dad-joke (1 4)) (seq (2 0)) (lolcat (0))) "30 new custom blocks & 34 link types for Org-mode" single ((:commit . "2e397dac372ff75ea6ee6eed9ae3a0540a082af8") (:authors ("Musa Al-hassy" . "alhassy@gmail.com")) (:maintainer "Musa Al-hassy" . "alhassy@gmail.com") (:keywords "org" "blocks" "colors" "convenience") (:url . "https://alhassy.github.io/org-special-block-extras"))]) - (org-sql . [(20210404 1839) ((emacs (27 1)) (s (1 12)) (f (0 20 0)) (dash (2 17)) (org-ml (5 6 1))) "Org-Mode SQL converter" single ((:commit . "71b6e01ff94be4c68cfeb17a34518bf1f118cf95") (:authors ("Nathan Dwarshuis" . "natedwarshuis@gmail.com")) (:maintainer "Nathan Dwarshuis" . "natedwarshuis@gmail.com") (:keywords "org-mode" "data") (:url . "https://github.com/ndwarshuis/org-sql"))]) + (org-sql . [(20220621 2252) ((emacs (27 1)) (s (1 12)) (f (0 20 0)) (dash (2 17)) (org-ml (5 6 1))) "Org-Mode SQL converter" single ((:commit . "43376abf46b897a9a862cfcc1c087f4b8688634c") (:authors ("Nathan Dwarshuis" . "natedwarshuis@gmail.com")) (:maintainer "Nathan Dwarshuis" . "natedwarshuis@gmail.com") (:keywords "org-mode" "data") (:url . "https://github.com/ndwarshuis/org-sql"))]) (org-starter . [(20220326 1106) ((emacs (25 1)) (dash (2 18))) "A basic configuration framework for org mode" single ((:commit . "cd9c5c0402de941299d1c8901f26a8f24d755022") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) (org-starter-swiper . [(20201202 144) ((emacs (25 1)) (swiper (0 11)) (org-starter (0 2 4))) "Swiper for org-starter" single ((:commit . "cd9c5c0402de941299d1c8901f26a8f24d755022") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:url . "https://github.com/akirak/org-starter"))]) - (org-static-blog . [(20220110 739) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "a1a1738b14dfb73be759023e2bd3dffb0792ebeb") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))]) + (org-static-blog . [(20220508 1410) ((emacs (24 3))) "a simple org-mode based static blog generator" single ((:commit . "a6cd8f651f971eaa68be1cbfd30cc775e3a7ee93") (:authors ("Bastian Bechtold")) (:maintainer "Bastian Bechtold") (:url . "https://github.com/bastibe/org-static-blog"))]) (org-sticky-header . [(20201223 143) ((emacs (24 4)) (org (8 3 5))) "Show off-screen Org heading at top of window" single ((:commit . "79136b8c54c48547ba8a07a72a9790cb8e23ecbd") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org") (:url . "http://github.com/alphapapa/org-sticky-header"))]) (org-super-agenda . [(20210928 916) ((emacs (26 1)) (s (1 10 0)) (dash (2 13)) (org (9 0)) (ht (2 2)) (ts (0 2))) "Supercharge your agenda" tar ((:commit . "3108bc3f725818f0e868520d2c243abe9acbef4e") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org" "agenda") (:url . "http://github.com/alphapapa/org-super-agenda"))]) (org-superstar . [(20210915 1934) ((org (9 1 9)) (emacs (26 1))) "Prettify headings and plain lists in Org mode" single ((:commit . "03be6c0a3081c46a59b108deb8479ee24a6d86c0") (:authors ("D. Williams" . "d.williams@posteo.net")) (:maintainer "D. Williams" . "d.williams@posteo.net") (:keywords "faces" "outlines") (:url . "https://github.com/integral-dw/org-superstar-mode"))]) @@ -3523,7 +3569,7 @@ (org-table-color . [(20220311 1927) ((emacs (26 1))) "Add color to your org-mode table cells" single ((:commit . "2022f301ef323953c3a0e087a1b601da85e06da1") (:authors ("Colin Woodbury" . "colin@fosskers.ca")) (:maintainer "Colin Woodbury" . "colin@fosskers.ca") (:keywords "data" "faces" "lisp") (:url . "https://github.com/fosskers/org-table-color"))]) (org-table-comment . [(20120209 1851) nil "Org table comment modes." single ((:commit . "33b9966c33ecbc3e27cca67c2f2cdea04364d74e") (:authors ("Matthew L. Fidler ")) (:maintainer "Matthew L. Fidler") (:keywords "org-mode" "orgtbl") (:url . "http://github.com/mlf176f2/org-table-comment.el"))]) (org-table-sticky-header . [(20190924 506) ((org (8 2 10)) (emacs (24 4))) "Sticky header for org-mode tables" single ((:commit . "b65442857128ab04724aaa301e60aa874a31a798") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) - (org-tag-beautify . [(20220409 2310) ((emacs (26 1)) (org-pretty-tags (0 2 2)) (all-the-icons (4 0 0))) "Beautify Org Mode tags" single ((:commit . "72456c2a1caa811a4cda2f7b07ba58645c3efbb8") (:keywords "hypermedia") (:url . "https://repo.or.cz/org-tag-beautify.git"))]) + (org-tag-beautify . [(20220723 758) ((emacs (26 1)) (org-pretty-tags (0 2 2)) (all-the-icons (4 0 0))) "Beautify Org Mode tags" single ((:commit . "b9c6ffcc206ffaeafbe6e3ef9561ce6a8e0f30ad") (:keywords "hypermedia") (:url . "https://repo.or.cz/org-tag-beautify.git"))]) (org-tanglesync . [(20200127 1616) ((emacs (24 4))) "Syncing org src blocks with tangled external files" single ((:commit . "af83a73ae542d5cb3c9d433cbf2ce1d4f4259117") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://github.com/mtekman/org-tanglesync.el"))]) (org-tfl . [(20170923 1218) ((org (0 16 2)) (cl-lib (0 5)) (emacs (24 1))) "Transport for London meets Orgmode" tar ((:commit . "f0d7d39106a1de5457f5160cddd98ab892b61066") (:authors ("storax (David Zuber), ")) (:maintainer "storax (David Zuber), ") (:keywords "org" "tfl") (:url . "https://github.com/storax/org-tfl"))]) (org-themis . [(20160122 404) ((cl-lib (0 4))) "Experimental project management mode for org-mode" single ((:commit . "78aadbbe22b1993be5c4accd0d3f91a4e85c9a3c") (:maintainer "Zachary Elliott" . "contact@zell.io") (:keywords "org-mode" "elisp" "project") (:url . "http://github.com/zellio/org-themis"))]) @@ -3537,16 +3583,16 @@ (org-treescope . [(20200503 1609) ((emacs (24 3)) (org (9 2 3)) (org-ql (0 5 -1)) (dash (2 17 0))) "Time scoping sparse trees within org" tar ((:commit . "905029a9e2ce6ed325bb8e10f59dc589c181d148") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://github.com/mtekman/org-treescope.el"))]) (org-treeusage . [(20200418 1904) ((emacs (26 1)) (dash (2 17 0)) (org (9 1 6))) "Examine the usage of org headings in a tree-like manner" tar ((:commit . "fe4323bc500e2d949848c75e8f59340971b35562") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://github.com/mtekman/org-treeusage.el"))]) (org-trello . [(20210314 1901) ((emacs (24 3)) (request-deferred (0 2 0)) (deferred (0 4 0)) (s (1 11 0)) (dash (2 18 0))) "Minor mode to synchronize org-mode buffer and trello board" tar ((:commit . "fc63ed580101e6160edfb6f43215fb3200ce1ea7") (:authors ("Antoine R. Dumont (@ardumont)" . "antoine.romain.dumont@gmail.com")) (:maintainer "Antoine R. Dumont (@ardumont)" . "antoine.romain.dumont@gmail.com") (:keywords "org-mode" "trello" "sync" "org-trello") (:url . "https://github.com/org-trello/org-trello"))]) - (org-variable-pitch . [(20220220 1757) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "350af0e5d53307c900e4f8b2617f3852f51a74d2") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "faces") (:url . "https://dev.gkayaalp.com/elisp/index.html#ovp"))]) + (org-variable-pitch . [(20220220 1757) ((emacs (25))) "Minor mode for variable pitch text in org mode." single ((:commit . "4359c640c7822a23976e9a5ca4ce63452d796912") (:authors ("Göktuğ Kayaalp" . "self@gkayaalp.com")) (:maintainer "Göktuğ Kayaalp" . "self@gkayaalp.com") (:keywords "faces") (:url . "https://dev.gkayaalp.com/elisp/index.html#ovp"))]) (org-vcard . [(20220206 1209) nil "org-mode support for vCard export and import." tar ((:commit . "bdaebcb4ef44c155a92d9c89a21a1d29019ee026") (:authors ("Alexis" . "flexibeast@gmail.com") ("Will Dey" . "will123dey@gmail.com")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:keywords "outlines" "org" "vcard") (:url . "https://github.com/flexibeast/org-vcard"))]) (org-view-mode . [(20220218 2106) ((emacs (25 1))) "Read-only viewer with less markup clutter in org mode files" single ((:commit . "88321917b095a8cbabfa8327c915bd46eb741750") (:authors ("Arthur Miller" . "arthur.miller@live.com")) (:maintainer "Arthur Miller" . "arthur.miller@live.com") (:keywords "convenience" "outlines" "tools") (:url . "https://github.com/amno1/org-view-mode"))]) - (org-visibility . [(20220404 1502) ((emacs (27 1))) "Persistent org tree visibility" single ((:commit . "a3aef6573d23309f9a6f340b41fa103cca3c79a6") (:authors ("Kyle W T Sherman" . "kylewsherman@gmail.com")) (:maintainer "Kyle W T Sherman" . "kylewsherman@gmail.com") (:keywords "outlines" "convenience") (:url . "https://github.com/nullman/emacs-org-visibility"))]) + (org-visibility . [(20220710 1747) ((emacs (27 1))) "Persistent org tree visibility" single ((:commit . "24aee13a956bc1cff72f8b04f47e7d9ec01bb3b3") (:authors ("Kyle W T Sherman" . "kylewsherman@gmail.com")) (:maintainer "Kyle W T Sherman" . "kylewsherman@gmail.com") (:keywords "outlines" "convenience") (:url . "https://github.com/nullman/emacs-org-visibility"))]) (org-wc . [(20200731 2244) nil "Count words in org mode trees." single ((:commit . "dbbf794e4ec6c4080d945f43338185e34a4a582d") (:authors ("Simon Guest")) (:maintainer "Simon Guest"))]) (org-web-tools . [(20201212 1058) ((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 . "b94a07add8558ef7b0666173dbb8a2554f1d41a6") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "hypermedia" "outlines" "org" "web") (:url . "http://github.com/alphapapa/org-web-tools"))]) - (org-wild-notifier . [(20220402 2331) ((alert (1 2)) (async (1 9 3)) (dash (2 18 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "4b1d874aafdee90815136c308f1f3bd3577971ec") (:authors ("Artem Khramov" . "akhramov+emacs@pm.me")) (:maintainer "Artem Khramov" . "akhramov+emacs@pm.me") (:keywords "notification" "alert" "org" "org-agenda" "agenda") (:url . "https://github.com/akhramov/org-wild-notifier.el"))]) + (org-wild-notifier . [(20220701 1147) ((alert (1 2)) (async (1 9 3)) (dash (2 18 0)) (emacs (24 4))) "Customizable org-agenda notifications" single ((:commit . "9392b06d20b2f88e45a41bea17bb2f10f24fd19c") (:authors ("Artem Khramov" . "akhramov+emacs@pm.me")) (:maintainer "Artem Khramov" . "akhramov+emacs@pm.me") (:keywords "notification" "alert" "org" "org-agenda" "agenda") (:url . "https://github.com/akhramov/org-wild-notifier.el"))]) (org-working-set . [(20220414 1402) ((org (9 3)) (dash (2 12)) (s (1 12)) (emacs (26 3))) "Manage and visit a small set of org-nodes." single ((:commit . "6af54ed3a5d9bf90629223157803c42f5d3b152c") (:authors ("Marc Ihm" . "1@2484.de")) (:maintainer "Marc Ihm" . "1@2484.de") (:url . "https://github.com/marcIhm/org-working-set"))]) (org-wunderlist . [(20191017 1917) ((request-deferred (0 2 0)) (alert (1 1)) (emacs (24)) (cl-lib (0 5)) (org (8 2 4)) (s (1 9 0))) "Org sync with Wunderlist" single ((:commit . "1a084bb49be4b5a1066db9cd9b7da2f8efab293f") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "convenience") (:url . "https://github.com/myuhe/org-wunderlist.el"))]) - (org-zettelkasten . [(20211002 1132) ((emacs (24 3)) (org (9 0))) "Helper functions to use Zettelkasten in org-mode" single ((:commit . "4048bf9e1be7ab759696a9541eec8f435359bcf3") (:authors ("Yann Herklotz" . "yann@ymhg.org")) (:maintainer "Yann Herklotz" . "yann@ymhg.org") (:keywords "files" "hypermedia" "org" "notes") (:url . "https://github.com/ymherklotz/emacs-zettelkasten"))]) + (org-zettelkasten . [(20220727 859) ((emacs (24 3)) (org (9 0))) "Helper functions to use Zettelkasten in org-mode" single ((:commit . "edba7bcfdc054ad0ff1952bb525f5709a687db25") (:authors ("Yann Herklotz" . "yann@ymhg.org")) (:maintainer "Yann Herklotz" . "yann@ymhg.org") (:keywords "files" "hypermedia" "org" "notes") (:url . "https://github.com/ymherklotz/emacs-zettelkasten"))]) (org2blog . [(20210929 17) ((htmlize (1 54)) (hydra (0 15 0)) (xml-rpc (1 6 12)) (metaweblog (1 1 1))) "Blog from Org mode to WordPress" tar ((:commit . "68695ed0e012379556d57f9564ac5ad8cd68fbb8") (:authors ("Puneeth Chaganti" . "punchagan+org2blog@gmail.com")) (:maintainer "Grant Rettke" . "grant@wisdomandwonder.com") (:keywords "comm" "convenience" "outlines" "wp") (:url . "https://github.com/org2blog/org2blog"))]) (org2ctex . [(20200331 550) ((emacs (24 4))) "Export org to ctex (a latex macro for Chinese)" single ((:commit . "2e40aa5e78b0562516f46f689e7b74cdf451cc2a") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/org2ctex"))]) (org2elcomment . [(20170324 945) ((org (8 3 4))) "Convert Org file to Elisp comments" single ((:commit . "c88a75d9587c484ead18f7adf08592b09c1cceb0") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) @@ -3554,28 +3600,28 @@ (org2jekyll . [(20210829 1113) ((dash (2 18 0)) (s (1 9 0))) "Minor mode to publish org-mode post to jekyll without specific yaml" tar ((:commit . "32f6cfc7265cf24ebb5361264e8c1b61a07e74df") (:authors ("Antoine R. Dumont (@ardumont)" . "antoine.romain.dumont@gmail.com")) (:maintainer "Antoine R. Dumont (@ardumont)" . "antoine.romain.dumont@gmail.com") (:keywords "org-mode" "jekyll" "blog" "publish") (:url . "https://github.com/ardumont/org2jekyll"))]) (org2web . [(20210203 324) ((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 . "6f5c5f0cc5c877ac3a383782bbe8751264d807b6") (:authors ("Feng Shu ") ("Jorge Javier Araya Navarro ") ("Kelvin Hu ")) (:maintainer "Feng Shu ") (:keywords "org-mode" "convenience" "beautify") (:url . "https://github.com/tumashu/org2web"))]) (organic-green-theme . [(20201216 2240) nil "Low-contrast green color theme." single ((:commit . "0ed99a9c0cf14be0a1f491518821f0e9b7e88b88"))]) - (organize-imports-java . [(20210715 1155) ((emacs (25 1)) (f (0 20 0)) (s (1 12 0)) (dash (2 14 1)) (ht (2 2))) "Automatically organize imports in Java code" tar ((:commit . "fae07966e9d29f287784c778959a87a26d7caa28") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/organize-imports-java"))]) + (organize-imports-java . [(20220704 657) ((emacs (25 1)) (f (0 20 0)) (s (1 12 0)) (dash (2 14 1)) (ht (2 2))) "Automatically organize imports in Java code" tar ((:commit . "1f422f6f3fa569a6c238ac34aec0320934f06208") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "organize" "imports" "java" "eclipse") (:url . "https://github.com/jcs-elpa/organize-imports-java"))]) (orgbox . [(20180827 218) ((org (8 0)) (cl-lib (0 5))) "Mailbox-like task scheduling Org." single ((:commit . "3982f56efd67ec016389cad82ce5a44f619b36a9") (:authors ("Yasuhito Takamiya" . "yasuhito@gmail.com")) (:maintainer "Yasuhito Takamiya" . "yasuhito@gmail.com") (:keywords "org") (:url . "https://github.com/yasuhito/orgbox"))]) - (orgit . [(20220425 1157) ((emacs (25 1)) (compat (28 1 1 0)) (magit (3 0)) (org (9 4))) "Support for Org links to Magit buffers" single ((:commit . "6dc4d4bfffd6c11550952203a51346b13e120165") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "vc") (:url . "https://github.com/magit/orgit"))]) - (orgit-forge . [(20220422 1625) ((emacs (25 1)) (compat (28 1 1 0)) (forge (0 3)) (magit (3 3)) (org (9 5)) (orgit (1 8))) "Org links to Forge issue buffers" single ((:commit . "72285807707a802ebe7f3c6149de9a78a022b17e") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "vc") (:url . "https://github.com/magit/orgit-forge"))]) - (orglink . [(20220422 1626) ((emacs (25 1)) (compat (28 1 1 0)) (org (9 5)) (seq (2 23))) "Use Org Mode links in other modes" single ((:commit . "36129691e60e992f31065be4c26d58645b83b033") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia") (:url . "https://github.com/tarsius/orglink"))]) + (orgit . [(20220425 1157) ((emacs (25 1)) (compat (28 1 1 0)) (magit (3 0)) (org (9 4))) "Support for Org links to Magit buffers" single ((:commit . "b33b916915db5f91d2c9da4cb1a2457ccbb09332") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "vc") (:url . "https://github.com/magit/orgit"))]) + (orgit-forge . [(20220422 1625) ((emacs (25 1)) (compat (28 1 1 0)) (forge (0 3)) (magit (3 3)) (org (9 5)) (orgit (1 8))) "Org links to Forge issue buffers" single ((:commit . "8baf1dee795f026d4555687022487fab89c9bcdf") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia" "vc") (:url . "https://github.com/magit/orgit-forge"))]) + (orglink . [(20220422 1626) ((emacs (25 1)) (compat (28 1 1 0)) (org (9 5)) (seq (2 23))) "Use Org Mode links in other modes" single ((:commit . "59bec36eb91e78d508e290b69c4383b27466513f") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "hypermedia") (:url . "https://github.com/tarsius/orglink"))]) (orglue . [(20200411 311) ((org (9 3)) (epic (0 2))) "more functionality to org-mode." tar ((:commit . "9d5a8e24be9acb8c55bb4d6aa8b98e30e2677401") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:keywords "org"))]) (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") (:authors ("Facet Framer" . "facet@facetframer.com")) (:maintainer "Facet Framer" . "facet@facetframer.com") (:keywords "convenience" "outlines") (:url . "http://github.com/facetframer/orgnav"))]) - (orgstrap . [(20211126 2201) ((emacs (24 4))) "Bootstrap an Org file using file local variables" single ((:commit . "bc981b957967be8d872c08be9ba7f2dbde5caf1d") (:authors ("Tom Gillespie")) (:maintainer "Tom Gillespie") (:keywords "lisp" "org" "org-mode" "bootstrap") (:url . "https://github.com/tgbugs/orgstrap"))]) - (orgtbl-aggregate . [(20220127 1502) nil "Create an aggregated Org table from another one" single ((:commit . "36d7aec5549655174467db45d1dba6647b9e19b1") (:keywords "org" "table" "aggregation" "filtering"))]) + (orgstrap . [(20220715 16) ((emacs (24 4))) "Bootstrap an Org file using file local variables" single ((:commit . "f4df67e94926f9d389f4a456a9cbf721c9b22b89") (:authors ("Tom Gillespie")) (:maintainer "Tom Gillespie") (:keywords "lisp" "org" "org-mode" "bootstrap") (:url . "https://github.com/tgbugs/orgstrap"))]) + (orgtbl-aggregate . [(20220726 1241) nil "Create an aggregated Org table from another one" single ((:commit . "cfdddd6700c7c0e8850aecfaae6f0bb4345ea5d0") (:keywords "org" "table" "aggregation" "filtering"))]) (orgtbl-ascii-plot . [(20200411 711) nil "ascii-art bar plots in org-mode tables" single ((:commit . "59618630205fc8c0fcc74fb34c4581d9712a5181") (:authors ("Thierry Banel tbanelwebmin at free dot fr") ("Michael Brand")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr") (:keywords "org" "table" "ascii" "plot"))]) - (orgtbl-join . [(20220127 1516) ((cl-lib (0 5))) "join columns from another table" single ((:commit . "f5254db6ae78e30c2786c53991e98e86ed344ac6") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr") (:keywords "org" "table" "join" "filtering"))]) + (orgtbl-join . [(20220726 1235) ((cl-lib (0 5))) "join columns from another table" single ((:commit . "4b09436de15545ce73dd40e938176a98254109f8") (:authors ("Thierry Banel tbanelwebmin at free dot fr")) (:maintainer "Thierry Banel tbanelwebmin at free dot fr") (:keywords "org" "table" "join" "filtering"))]) (orgtbl-show-header . [(20141023 837) nil "Show the header of the current column in the minibuffer" single ((:commit . "112d54a44682f065318ed0c9c89a8f5b8907342a") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com"))]) (origami . [(20200331 1019) ((s (1 9 0)) (dash (2 5 0)) (emacs (24)) (cl-lib (0 5))) "Flexible text folding" tar ((:commit . "e558710a975e8511b9386edc81cd6bdd0a5bda74") (:authors ("Greg Sexton" . "gregsexton@gmail.com")) (:maintainer "Greg Sexton" . "gregsexton@gmail.com") (:keywords "folding") (:url . "https://github.com/gregsexton/origami.el"))]) (origami-predef . [(20200615 1044) ((emacs (24 3)) (origami (1 0))) "Apply folding when finding (opening) files" single ((:commit . "cc363f4b2fd20021ab330fc989369e2658457f93") (:authors ("Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com")) (:maintainer "Álvaro González Sotillo" . "alvarogonzalezsotillo@gmail.com") (:keywords "convenience" "folding") (:url . "https://github.com/alvarogonzalezsotillo/origami-predef"))]) - (ormolu . [(20211020 2229) ((emacs (24)) (reformatter (0 4))) "Format Haskell source code using the \"ormolu\" program" single ((:commit . "1941a8ce48027b5670d226bacc2fa10b00774b3a") (:authors ("Vasiliy Yorkin" . "vasiliy.yorkin@gmail.com")) (:maintainer "Vasiliy Yorkin") (:keywords "files" "tools") (:url . "https://github.com/vyorkin/ormolu.el"))]) + (ormolu . [(20220530 921) ((emacs (24)) (reformatter (0 4))) "Format Haskell source code using the \"ormolu\" program" single ((:commit . "a6b1d3f8838d067ac5352fb0673c3c3dae7abd73") (:authors ("Vasiliy Yorkin" . "vasiliy.yorkin@gmail.com")) (:maintainer "Vasiliy Yorkin") (:keywords "files" "tools") (:url . "https://github.com/vyorkin/ormolu.el"))]) (orthodox-christian-new-calendar-holidays . [(20210830 1657) nil "Feasts (NS)" single ((:commit . "6869024ecd45eefd0ec648979c6a59d7c79770e0") (:authors ("Carson Chittom" . "carson@wistly.net")) (:maintainer "Carson Chittom" . "carson@wistly.net") (:keywords "calendar") (:url . "https://github.com/cmchittom/orthodox-christian-new-calendar-holidays"))]) (osa . [(20200522 2103) ((emacs (25 1))) "OSA (JavaScript / AppleScript) bridge" tar ((:commit . "615ca9eef4131a23d9971691fa0d0f20fe59d01b") (:authors ("xristos" . "xristos@sdf.org")) (:maintainer "xristos" . "xristos@sdf.org") (:keywords "extensions") (:url . "https://github.com/atomontage/osa"))]) (osa-chrome . [(20201122 1639) ((emacs (25 1)) (osa (1 0))) "Google Chrome remote tab control" tar ((:commit . "9148e21cf2e91b357f5ea3a349975e8b89c8d5e4") (:authors ("xristos" . "xristos@sdf.org")) (:maintainer "xristos" . "xristos@sdf.org") (:keywords "comm") (:url . "https://github.com/atomontage/osa-chrome"))]) - (osm . [(20220403 904) ((emacs (27 1))) "OpenStreetMap viewer" tar ((:commit . "414ef21b474ddfa5679824c026e1156dbd025c7b") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/osm"))]) + (osm . [(20220702 2218) ((emacs (27 1))) "OpenStreetMap viewer" tar ((:commit . "808baabecd9882736b240e6ea9344047aeb669e2") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/osm"))]) (osx-browse . [(20140508 2041) ((string-utils (0 3 2)) (browse-url-dwim (0 6 6))) "Web browsing helpers for OS X" single ((:commit . "44ded7cc3a7ee426c1c3257fae534c121f7e752e") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "hypermedia" "external") (:url . "http://github.com/rolandwalker/osx-browse"))]) (osx-clipboard . [(20141012 717) nil "Use the OS X clipboard from terminal Emacs" single ((:commit . "e46dd31327a3f92f77b013b4c9b1e5fdd0e5c73d") (:authors ("Jon Oddie ")) (:maintainer "Jon Oddie ") (:url . "https://github.com/joddie/osx-clipboard-mode"))]) - (osx-dictionary . [(20210703 1152) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "1a4479d9f44ef1e6e5f7643c172c32f6fe6cce21") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "mac" "dictionary") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))]) + (osx-dictionary . [(20220801 1542) ((cl-lib (0 5))) "Interface for OSX Dictionary.app" tar ((:commit . "0715e5a3ac659df32a0f0fabfbbeef0228fbd9a9") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "mac" "dictionary") (:url . "https://github.com/xuchunyang/osx-dictionary.el"))]) (osx-lib . [(20211206 619) ((emacs (24 4))) "Basic functions for Apple/OSX" single ((:commit . "7afdb57edd5725e8a66f841a90fa571a4cbb81e7") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org") (:keywords "apple" "applescript" "osx" "finder" "emacs" "elisp" "vpn" "speech") (:url . "https://github.com/raghavgautam/osx-lib"))]) (osx-location . [(20200304 2209) ((emacs (24 1))) "Watch and respond to changes in geographical location on OS X" tar ((:commit . "18fcc306caa575c5afdeaf091aa1a9b003daa52a") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "calendar") (:url . "https://github.com/purcell/osx-location"))]) (osx-org-clock-menubar . [(20150205 2111) nil "simple menubar integration for org-clock" tar ((:commit . "9964d2a97cc2fb6570dc4116da44f73bd8eb7cb3") (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")) (:maintainer "Jordon Biondo" . "jordonbiondo@gmail.com") (:keywords "org" "osx") (:url . "https://github.com/jordonbiondo/osx-org-clock-menubar"))]) @@ -3585,7 +3631,7 @@ (otama . [(20160404 1032) nil "Org-table Manipulator" single ((:commit . "c114fd8006762f891bc120a7c0ea213872e7ab31") (:authors ("Yoshinari Nomura" . "nom@quickhack.net")) (:maintainer "Yoshinari Nomura" . "nom@quickhack.net") (:keywords "database" "org-mode"))]) (other-emacs-eval . [(20180408 1348) ((emacs (25 1)) (async (1 9 2))) "Evaluate the Emacs Lisp expression in other Emacs" single ((:commit . "8ace5acafef65daabf0c6619eff60733d7f5d792") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "tools") (:url . "https://github.com/xuchunyang/other-emacs-eval"))]) (outline-magic . [(20180619 1819) nil "outline mode extensions for Emacs" single ((:commit . "2a5f07417b696cf7541d435c43bafcc64817636b") (:authors ("Carsten Dominik" . "dominik@science.uva.nl")) (:maintainer "Thorsten Jolitz ") (:keywords "outlines"))]) - (outline-minor-faces . [(20220424 1803) ((emacs (25 1)) (compat (28 1 1 0))) "Headings faces for outline-minor-mode" single ((:commit . "e92af60c68c4cb05db84c13bb71becaca90763d7") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces" "outlines") (:url . "https://github.com/tarsius/outline-minor-faces"))]) + (outline-minor-faces . [(20220720 1144) ((emacs (25 1)) (compat (28 1 1 0))) "Headings faces for outline-minor-mode" single ((:commit . "9cc3fed195e0a1f960a971880287856c148b4861") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces" "outlines") (:url . "https://github.com/tarsius/outline-minor-faces"))]) (outline-toc . [(20200401 1208) nil "Sidebar showing a \"table of contents\"." single ((:commit . "81d373633b40628cc3a6b6fb534fd7730076bcdb") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:keywords "convenience" "outlines") (:url . "https://github.com/abingham/outline-toc.el"))]) (outlook . [(20180428 1430) ((emacs (24 4))) "send emails in MS Outlook style" tar ((:commit . "359683aff91b38bd1398a6ed4058a06f09a02d65") (:authors ("Andrew Savonichev")) (:maintainer "Andrew Savonichev") (:keywords "mail") (:url . "https://github.com/asavonic/outlook.el"))]) (outorg . [(20190720 2002) ((emacs (24 4))) "Org-style comment editing" single ((:commit . "ef0f86f4b893b30be8bcf8b43a5ec357a6c70f07") (:maintainer "Adam Porter" . "adam@alphapapa.net") (:url . "https://github.com/alphapapa/outorg"))]) @@ -3597,18 +3643,18 @@ (ovpn-mode . [(20210403 440) ((emacs (25)) (cl-lib (0 5))) "an openvpn management mode" single ((:commit . "4492098c771d094dd0661a5bc6906f65fb530825") (:authors ("Bas Alberts" . "bas@anti.computer")) (:maintainer "Bas Alberts" . "bas@anti.computer") (:keywords "comm") (:url . "https://github.com/anticomputer/ovpn-mode"))]) (owcmd . [(20200517 2039) ((emacs (26 3))) "Run a single command in the other window" single ((:commit . "05fb8f8f81838b5888fdec8b3947096dd2222e61") (:authors ("Jacob First" . "jacob.first@member.fsf.org")) (:maintainer "Jacob First" . "jacob.first@member.fsf.org") (:keywords "convenience") (:url . "https://github.com/fishyfriend/owcmd"))]) (owdriver . [(20200410 1901) ((smartrep (0 0 3)) (log4e (0 2 0)) (yaxception (0 2 0))) "Quickly perform various actions on other windows" single ((:commit . "3c52a7b11c8275fdb2e4cf98f68f2a48ad09a3ae") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "convenience") (:url . "https://github.com/aki2o/owdriver"))]) - (ox-750words . [(20210701 1950) ((emacs (24 4)) (750words (0 0 1))) "Org mode exporter for 750words.com" single ((:commit . "0fed7621c04debad64ea6455455494d4e6eb03fa") (:authors ("Diego Zamboni ")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:keywords "files" "org" "writing") (:url . "https://github.com/zzamboni/750words-client"))]) - (ox-asciidoc . [(20211224 538) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "27bf9a3e900c782bd57719c81c0aa68d9a1e3b46") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:keywords "org" "asciidoc") (:url . "https://github.com/yashi/org-asciidoc"))]) + (ox-750words . [(20220625 1407) ((emacs (24 4)) (750words (0 0 1))) "Org mode exporter for 750words.com" single ((:commit . "8abef82d644223c7991beb689072889c72d1faee") (:authors ("Diego Zamboni ")) (:maintainer "Diego Zamboni" . "diego@zzamboni.org") (:keywords "files" "org" "writing") (:url . "https://github.com/zzamboni/750words-client"))]) + (ox-asciidoc . [(20220625 2321) ((org (8 1))) "AsciiDoc Back-End for Org Export Engine" single ((:commit . "a55ac6adef39124c9434be47fe9cc0c75c4bfea2") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:keywords "org" "asciidoc") (:url . "https://github.com/yashi/org-asciidoc"))]) (ox-bb . [(20210222 2002) ((emacs (24 4)) (org (8 0))) "BBCode Back-End for Org Export Engine" single ((:commit . "545d2e1547fdc48a5757152d19233effa11d9ee2") (:authors ("Christian Garbs" . "mitch@cgarbs.de")) (:maintainer "Christian Garbs" . "mitch@cgarbs.de") (:keywords "bbcode" "org" "export" "outlines") (:url . "https://github.com/mmitch/ox-bb"))]) (ox-bibtex-chinese . [(20170723 309) ((emacs (24 4))) "Let ox-bibtex work well for Chinese users" tar ((:commit . "2ad2364399229144110db7ef6365ad0461d6a38c") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:url . "https://github.com/tumashu/ox-bibtex-chinese.git"))]) (ox-clip . [(20220117 1909) ((org (8 2)) (htmlize (0))) "Cross-platform formatted copying for org-mode" single ((:commit . "ff117cf3c619eef12eccc0ccbfa3f11adb73ea68") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "John Kitchin" . "jkitchin@andrew.cmu.edu") (:keywords "org-mode") (:url . "https://github.com/jkitchin/ox-clip"))]) - (ox-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "c9629ef4b4bc40d51afefd8c0bb2c683931e6409") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:keywords "hypermedia") (:url . "http://github.com/ofosos/org-epub"))]) - (ox-gemini . [(20220417 1906) ((emacs (26 1))) "Output gemini formatted documents from org-mode" single ((:commit . "d0f2cabb2bca341494690fee4e652f926203ed9d") (:authors ("Justin Abrahms" . "justin@abrah.ms")) (:maintainer "Justin Abrahms" . "justin@abrah.ms") (:keywords "lisp" "gemini") (:url . "https://git.sr.ht/~abrahms/ox-gemini"))]) + (ox-epub . [(20181101 1854) ((emacs (24 3)) (org (9))) "Export org mode projects to EPUB" single ((:commit . "0d341b8320d11d8ea93417f4e93055dc49fed007") (:authors ("Mark Meyer" . "mark@ofosos.org")) (:maintainer "Mark Meyer" . "mark@ofosos.org") (:keywords "hypermedia") (:url . "http://github.com/ofosos/org-epub"))]) + (ox-gemini . [(20220418 1433) ((emacs (26 1))) "Output gemini formatted documents from org-mode" single ((:commit . "168f820ea401fb813435a3a55af295873a4c110b") (:authors ("Justin Abrahms" . "justin@abrah.ms")) (:maintainer "Justin Abrahms" . "justin@abrah.ms") (:keywords "lisp" "gemini") (:url . "https://git.sr.ht/~abrahms/ox-gemini"))]) (ox-gfm . [(20170628 2102) nil "Github Flavored Markdown Back-End for Org Export Engine" single ((:commit . "99f93011b069e02b37c9660b8fcb45dab086a07f") (:authors ("Lars Tveito")) (:maintainer "Lars Tveito") (:keywords "org" "wp" "markdown" "github"))]) (ox-gist . [(20220410 2034) ((emacs (26 1)) (gist (1 4 0)) (s (1 12 0))) "Export Org mode buffers and subtrees to GitHub gists" single ((:commit . "e9f1f11af0e97fee30c2b15b56c236b1f4e1f400") (:authors ("Puneeth Chaganti" . "punchagan+emacs@muse-amuse.in")) (:maintainer "Puneeth Chaganti" . "punchagan+emacs@muse-amuse.in") (:keywords "org" "lisp" "gist" "github") (:url . "https://github.com/punchagan/org2gist/"))]) - (ox-haunt . [(20200202 229) ((emacs (24 3)) (org (9 0))) "Haunt-flavored HTML backend for the Org export engine" single ((:commit . "f3c8fda6fee78f45a259e5d218a519dfd11c00c7") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:keywords "convenience" "hypermedia" "wp") (:url . "https://git.sr.ht/~jakob/ox-haunt"))]) + (ox-haunt . [(20220615 7) ((emacs (26 1))) "Haunt-flavored HTML backend for the Org export engine" single ((:commit . "d32c4b1ab258dc34ca7e713152a274eab35d2608") (:authors ("Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org")) (:maintainer "Jakob L. Kreuze" . "zerodaysfordays@sdf.lonestar.org") (:keywords "convenience" "hypermedia" "wp") (:url . "https://git.sr.ht/~jakob/ox-haunt"))]) (ox-html5slide . [(20131228 606) ((org (8 0))) "Export org-mode to HTML5 slide." single ((:commit . "4703dfbd9d79161509def673d2c1e118d722a58f") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:keywords "html" "presentation") (:url . "http://github.com/coldnew/org-html5slide"))]) - (ox-hugo . [(20220425 301) ((emacs (24 4)) (org (9 0))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "262b7b432a7f81124fe181c07b57a4f42b6eedc9") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))]) + (ox-hugo . [(20220626 2055) ((emacs (26 3)) (tomelr (0 4 3))) "Hugo Markdown Back-End for Org Export Engine" tar ((:commit . "97ff24fe0b8d29c503b88eea69235b02ae71beb0") (:authors ("Kaushal Modi" . "kaushal.modi@gmail.com") ("Matt Price" . "moptop99@gmail.com")) (:maintainer "Kaushal Modi" . "kaushal.modi@gmail.com") (:keywords "org" "markdown" "docs") (:url . "https://ox-hugo.scripter.co"))]) (ox-impress-js . [(20150412 1716) ((org (8))) "impress.js Back-End for Org Export Engine" tar ((:commit . "91c6d2af6af308ade352a03355c4fb551b238c6b") (:authors ("Takumi Kinjo ")) (:maintainer "Takumi Kinjo ") (:keywords "outlines" "hypermedia" "calendar" "wp") (:url . "https://github.com/kinjo/org-impress-js.el"))]) (ox-ioslide . [(20161015 1338) ((emacs (24 1)) (org (8 0)) (cl-lib (0 5)) (f (0 17 2)) (makey (0 3))) "Export org-mode to Google I/O HTML5 slide." tar ((:commit . "6555680be5364c8ddd2bf446865cb1a82adb6b9e") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:keywords "html" "presentation") (:url . "http://github.com/coldnew/org-ioslide"))]) (ox-jekyll-md . [(20211222 1718) nil "Export Jekyll on Markdown articles using org-mode." single ((:commit . "26edb3f4575bcb0f1a2aed56237cd89694284449") (:authors ("Elsa Gonsiorowski" . "gonsie@me.com")) (:maintainer "Elsa Gonsiorowski" . "gonsie@me.com") (:keywords "org" "jekyll"))]) @@ -3620,12 +3666,13 @@ (ox-mediawiki . [(20180105 2154) ((cl-lib (0 5)) (s (1 9 0))) "Mediawiki Back-End for Org Export Engine" single ((:commit . "a9327150293e370e500ba55bddfe5fc435c6bf9b") (:authors ("Tom Alexander" . "tomalexander@paphus.com")) (:maintainer "Tom Alexander" . "tomalexander@paphus.com") (:keywords "org" "wp" "mediawiki") (:url . "https://github.com/tomalexander/orgmode-mediawiki"))]) (ox-minutes . [(20180202 1734) ((emacs (24 4))) "Plain text backend for Org for Meeting Minutes" single ((:commit . "27c29f3fdb9181322ae56f8bace8d95e621230e5") (:authors ("Kaushal Modi" . "kaushal.modi@gmail.com")) (:maintainer "Kaushal Modi" . "kaushal.modi@gmail.com") (:keywords "org" "exporter" "notes") (:url . "https://github.com/kaushalmodi/ox-minutes"))]) (ox-nikola . [(20151114 1116) ((emacs (24 4)) (org (8 2 4)) (ox-rst (0 2))) "Export Nikola articles using org-mode." single ((:commit . "5bcbc1a38f6619f62294194f13ca0cd4ca14dd48") (:authors ("IGARASHI Masanao" . "syoux2@gmail.com")) (:maintainer "IGARASHI Masanao" . "syoux2@gmail.com") (:keywords "org" "nikola") (:url . "https://github.com/masayuko/ox-nikola"))]) - (ox-pandoc . [(20220419 750) ((org (8 2)) (emacs (24 4)) (dash (2 8)) (ht (2 0))) "An Org-mode exporter using pandoc" single ((:commit . "0a35d0fbfa56bdd9ec5ba5bac2fe002b61c05c52") (:authors ("KAWABATA, Taichi" . "kawabata.taichi@gmail.com") ("FENTON, Alex" . "a-fent@github")) (:maintainer "FENTON, Alex" . "a-fent@github") (:keywords "tools") (:url . "https://github.com/a-fent/ox-pandoc"))]) + (ox-pandoc . [(20220705 1036) ((org (8 2)) (emacs (24 4)) (dash (2 8)) (ht (2 0))) "An Org-mode exporter using pandoc" single ((:commit . "f8eac5e5692fc44a4724ada43191e7c28a1ccf30") (:authors ("KAWABATA, Taichi" . "kawabata.taichi@gmail.com") ("FENTON, Alex" . "a-fent@github")) (:maintainer "FENTON, Alex" . "a-fent@github") (:keywords "tools") (:url . "https://github.com/a-fent/ox-pandoc"))]) (ox-pukiwiki . [(20150124 1716) ((org (8 1))) "Pukiwiki Back-End for Org Export Engine" single ((:commit . "bdbde2c294f5d3de11f08a3fe19f01175d2e011a") (:authors ("Yasushi SHOJI" . "yasushi.shoji@gmail.com")) (:maintainer "Yasushi SHOJI" . "yasushi.shoji@gmail.com") (:keywords "org" "pukiwiki") (:url . "https://github.com/yashi/org-pukiwiki"))]) (ox-qmd . [(20210826 1425) ((emacs (24 4))) "Qiita Markdown Back-End for Org Export Engine" single ((:commit . "ccabf6bd79ed87dd3bd57993321ee6d93c1818be") (:authors ("0x60DF" . "0x60DF@gmail.com")) (:maintainer "0x60DF" . "0x60DF@gmail.com") (:keywords "wp") (:url . "https://github.com/0x60df/ox-qmd"))]) - (ox-report . [(20211226 2004) ((emacs (24 4)) (org-msg (3 9))) "Export your org file to minutes report PDF file" single ((:commit . "37a173e9fa40728f121eb0da2ece0ebab4102d1e") (:authors ("Matthias David" . "matthias@gnu.re")) (:maintainer "Matthias David" . "matthias@gnu.re") (:keywords "org" "outlines" "report" "exporter" "meeting" "minutes") (:url . "https://github.com/DarkBuffalo/ox-report"))]) - (ox-reveal . [(20220410 1533) ((org (8 3))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "862b41df7734f57019543f6bd82ff7dad7183358") (:authors ("Yujie Wen ")) (:maintainer "Yujie Wen ") (:keywords "outlines" "hypermedia" "slideshow" "presentation"))]) - (ox-rfc . [(20220206 1046) ((emacs (24 3)) (org (8 3))) "RFC Back-End for Org Export Engine" single ((:commit . "0849028a2e4a274bfb0fc85d9538203ddf72a9e8") (:authors ("Christian Hopps" . "chopps@devhopps.com")) (:maintainer "Christian Hopps" . "chopps@devhopps.com") (:keywords "org" "rfc" "wp" "xml") (:url . "https://github.com/choppsv1/org-rfc-export"))]) + (ox-report . [(20211226 2004) ((emacs (24 4)) (org-msg (3 9))) "Export your org file to minutes report PDF file" single ((:commit . "c6d8c2f4a0d762ea1732ffdb7bec2ba98aeecdd9") (:authors ("Matthias David" . "matthias@gnu.re")) (:maintainer "Matthias David" . "matthias@gnu.re") (:keywords "org" "outlines" "report" "exporter" "meeting" "minutes") (:url . "https://github.com/DarkBuffalo/ox-report"))]) + (ox-reveal . [(20220627 1539) ((org (8 3))) "reveal.js Presentation Back-End for Org Export Engine" single ((:commit . "8567d2b1118bde343980b878af9a38f14d85ffcd") (:authors ("Yujie Wen ")) (:maintainer "Yujie Wen ") (:keywords "outlines" "hypermedia" "slideshow" "presentation"))]) + (ox-review . [(20220619 724) ((emacs (26 1)) (org (9))) "Re:VIEW Back-End for Org Export Engine" single ((:commit . "f7dc418f9812088afc0ee0d08f778a5654686ef3") (:authors ("Masashi Fujimoto")) (:maintainer "Masashi Fujimoto") (:keywords "outlines" "hypermedia") (:url . "https://github.com/masfj/ox-review"))]) + (ox-rfc . [(20220604 1114) ((emacs (24 3)) (org (8 3))) "RFC Back-End for Org Export Engine" single ((:commit . "f0fe3503f8732ea5e95a4016c6b7ce5b47cf6295") (:authors ("Christian Hopps" . "chopps@devhopps.com")) (:maintainer "Christian Hopps" . "chopps@devhopps.com") (:keywords "org" "rfc" "wp" "xml") (:url . "https://github.com/choppsv1/org-rfc-export"))]) (ox-rst . [(20200815 1511) ((emacs (25 1)) (org (8 3))) "Export reStructuredText using org-mode." single ((:commit . "99fa790da55b57a3f2e9aa187493ba434a64250e") (:authors ("Masanao Igarashi" . "syoux2@gmail.com")) (:maintainer "Masanao Igarashi" . "syoux2@gmail.com") (:keywords "org" "rst" "rest" "restructuredtext") (:url . "https://github.com/msnoigrs/ox-rst"))]) (ox-slack . [(20200108 1546) ((emacs (24)) (org (9 1 4)) (ox-gfm (1 0))) "Slack Exporter for org-mode" single ((:commit . "bd797dcc58851d5051dc3516c317706967a44721") (:authors ("Matt Price")) (:maintainer "Matt Price") (:keywords "org" "slack" "outlines") (:url . "https://github.com/titaniumbones/ox-slack"))]) (ox-spectacle . [(20181211 953) ((org (8 3))) "spectacle.js Presentation Back-End for Org Export Engine" single ((:commit . "9d3ec9a6326289074d8620e97d65e3105307ff51") (:authors ("imfine" . "lorniu@gmail.com")) (:maintainer "imfine" . "lorniu@gmail.com") (:keywords "presentation"))]) @@ -3638,21 +3685,21 @@ (ox-twbs . [(20200628 1949) nil "Bootstrap compatible HTML Back-End for Org" single ((:commit . "e8a27dc78b7be494d9918f26db7a3bbb6b45020b") (:authors ("Carsten Dominik ") ("Jambunathan K ") ("Brandon van Beekum ")) (:maintainer "Carsten Dominik ") (:keywords "org" "html" "publish" "twitter" "bootstrap") (:url . "https://github.com/marsmining/ox-twbs"))]) (ox-twiki . [(20200927 857) ((org (8)) (emacs (24 4))) "Org Twiki and Foswiki export" single ((:commit . "3377d8732aa916e736ce5822c7a9a4fbdc894e37") (:authors ("Derek Feichtinger" . "derek.feichtinger@psi.ch")) (:maintainer "Derek Feichtinger" . "derek.feichtinger@psi.ch") (:keywords "org") (:url . "https://github.com/dfeich/org8-wikiexporters"))]) (ox-wk . [(20191231 2058) ((emacs (24 4)) (org (8 3))) "Wiki Back-End for Org Export Engine" single ((:commit . "d34d1b72e4e940745a377bfa745dfb618900a09e") (:authors ("Vilibald Wanča" . "vilibald@wvi.cz")) (:maintainer "Vilibald Wanča" . "vilibald@wvi.cz") (:keywords "org" "wp" "wiki") (:url . "https://github.com/w-vi/ox-wk.el"))]) - (ox-yaow . [(20220103 2307) ((emacs (27)) (f (0 2 0)) (s (1 12 0)) (dash (2 17 0))) "Generate html pages from org files" single ((:commit . "378eb55e39cbc06ead0f0c399351612dca22d716") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:keywords "outlines" "hypermedia") (:url . "https://github.com/LaurenceWarne/ox-yaow.el"))]) + (ox-yaow . [(20220629 1539) ((emacs (27)) (f (0 2 0)) (s (1 12 0)) (dash (2 17 0))) "Generate html pages from org files" single ((:commit . "036b285b800c7b310398bce0212b14d93b717d48") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:keywords "outlines" "hypermedia") (:url . "https://github.com/LaurenceWarne/ox-yaow.el"))]) (ox-zenn . [(20200924 1607) ((emacs (27 1)) (org (9 0))) "Zenn flavored markdown backend for org export engine" single ((:commit . "b53bd82116c9f7dbb5b476d2cfcc8ed0f3bc9c78") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/ox-zenn.el"))]) (p4 . [(20150721 1937) nil "Simple Perforce-Emacs Integration" single ((:commit . "eff047caa75dbe4965defca9d1212454cdb755d5") (:authors ("Gareth Rees" . "gdr@garethrees.org")) (:maintainer "Gareth Rees" . "gdr@garethrees.org") (:url . "https://github.com/gareth-rees/p4.el"))]) (pabbrev . [(20160320 2101) nil "Predictive abbreviation expansion" single ((:commit . "56400d5d256b42ffe45c229ea9827f026b650cf5") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) (pacfiles-mode . [(20200915 1815) ((emacs (26)) (cl-lib (0 5))) "pacnew and pacsave merging tool" tar ((:commit . "8d06f64abc98c3f3338560c8d6eb47719e034069") (:authors ("Carlos G. Cordero ")) (:maintainer "Carlos G. Cordero" . "pacfiles@binarycharly.com") (:keywords "files" "pacman" "arch" "pacnew" "pacsave" "update" "linux") (:url . "https://github.com/UndeadKernel/pacfiles-mode"))]) (pack . [(20191017 456) ((emacs (24)) (cl-lib (0 5))) "Pack and unpack archive files" single ((:commit . "85cd856fdc00a2365e88b50373b99f1b3d2227be") (:authors ("10sr" . "8.slashes@gmail.com")) (:maintainer "10sr" . "8.slashes@gmail.com") (:keywords "files" "dired") (:url . "https://github.com/10sr/pack-el"))]) (package+ . [(20210124 640) ((emacs (24 3))) "Extensions for the package library." tar ((:commit . "079da78f3be8364e964f5861a5f433ad61b6f654") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:keywords "extensions" "tools") (:url . "https://github.com/zenspider/package"))]) - (package-build . [(20220210 1334) ((cl-lib (0 5)) (emacs (25 1))) "Tools for assembling a package archive" tar ((:commit . "032e9bd086029b2fdff09c3c2e606e29682e1fb1") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:keywords "tools") (:url . "https://github.com/melpa/package-build"))]) + (package-build . [(20220625 1438) ((emacs (25 1))) "Tools for assembling a package archive" tar ((:commit . "0a47905f0cefac5a4043c923efe6d80b03a79551") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net") ("Steve Purcell" . "steve@sanityinc.com") ("Jonas Bernoulli" . "jonas@bernoul.li") ("Phil Hagelberg" . "technomancy@gmail.com")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:keywords "maint" "tools") (:url . "https://github.com/melpa/package-build"))]) (package-filter . [(20161122 719) nil "package archive whitelist and blacklist" single ((:commit . "bc73b41aea1d65ca44ef1593ca13126df9bbb39e") (:authors ("Donald Ephraim Curtis" . "dcurtis@milkbox.net")) (:maintainer "Donald Ephraim Curtis" . "dcurtis@milkbox.net") (:url . "https://github.com/milkypostman/package-filter"))]) - (package-lint . [(20220412 1648) ((cl-lib (0 5)) (emacs (24 1)) (let-alist (1 0 6))) "A linting library for elisp package authors" tar ((:commit . "80a9d9815ab2919c992ad29ae4846443dec43a35") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "lisp") (:url . "https://github.com/purcell/package-lint"))]) - (package-lint-flymake . [(20210530 319) ((emacs (26 1)) (package-lint (0 5))) "A package-lint Flymake backend" single ((:commit . "80a9d9815ab2919c992ad29ae4846443dec43a35") (:url . "https://github.com/purcell/package-lint"))]) + (package-lint . [(20220607 738) ((cl-lib (0 5)) (emacs (24 1)) (let-alist (1 0 6))) "A linting library for elisp package authors" tar ((:commit . "70529b2ecba5f3a037be8b2c6ecbca769c64b00e") (:authors ("Steve Purcell" . "steve@sanityinc.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "lisp") (:url . "https://github.com/purcell/package-lint"))]) + (package-lint-flymake . [(20210530 319) ((emacs (26 1)) (package-lint (0 5))) "A package-lint Flymake backend" single ((:commit . "70529b2ecba5f3a037be8b2c6ecbca769c64b00e") (:url . "https://github.com/purcell/package-lint"))]) (package-loading-notifier . [(20220130 318) ((emacs (25))) "Notify a package is being loaded" single ((:commit . "bc06ba97a0537aa202f277e5597ac96ca39307ab") (:authors ("SeungKi Kim" . "tttuuu888@gmail.com")) (:maintainer "SeungKi Kim" . "tttuuu888@gmail.com") (:keywords "convenience" "faces" "config" "startup") (:url . "https://github.com/tttuuu888/package-loading-notifier"))]) (package-safe-delete . [(20150116 1607) ((emacs (24)) (epl (0 7 -4))) "Safely delete package.el packages" single ((:commit . "138171e4fc03c0ef05a8260cbb5cd2e114c1c194") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/package-safe-delete"))]) - (package-utils . [(20210221 822) ((restart-emacs (0 1 1))) "Extensions for package.el" single ((:commit . "6a26accfdf9c0f1cbceb09d970bf9c25a72f562a") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "package" "convenience") (:url . "https://github.com/Silex/package-utils"))]) - (packed . [(20220422 1626) ((emacs (25 1)) (compat (28 1 1 0))) "Package manager agnostic Emacs Lisp package utilities" single ((:commit . "3489c97340434096f24c64a33feea22e19c18a2c") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "lisp") (:url . "https://github.com/emacscollective/packed"))]) + (package-utils . [(20220630 2345) ((restart-emacs (0 1 1))) "Extensions for package.el" single ((:commit . "0168172062467b1bff913ea955b2ef709b43ecfa") (:authors ("Philippe Vaucher" . "philippe.vaucher@gmail.com")) (:maintainer "Philippe Vaucher" . "philippe.vaucher@gmail.com") (:keywords "package" "convenience") (:url . "https://github.com/Silex/package-utils"))]) + (packed . [(20220422 1626) ((emacs (25 1)) (compat (28 1 1 0))) "Package manager agnostic Emacs Lisp package utilities" single ((:commit . "6a427d9da742d78a8f6bd6ed9e31fbf241b2ea82") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "lisp") (:url . "https://github.com/emacscollective/packed"))]) (pacmacs . [(20220106 2248) ((emacs (24 4)) (dash (2 18 0)) (cl-lib (0 5)) (f (0 18 0))) "Pacman for Emacs" tar ((:commit . "25a8c30210f6bd94634a7ff743a2f8be391ed3b3") (:authors ("Codingteam" . "codingteam@conference.jabber.ru")) (:maintainer "Alexey Kutepov" . "reximkut@gmail.com") (:url . "http://github.com/codingteam/pacmacs.el"))]) (pact-mode . [(20201219 2223) ((emacs (24 3))) "Mode for Pact, a LISPlike smart contract language." single ((:commit . "f48a4faf5f8f8435423bda3888eca6ee67ee13a9") (:authors ("Stuart Popejoy")) (:maintainer "Stuart Popejoy" . "stuart@kadena.io") (:keywords "pact" "lisp" "languages" "blockchain" "smartcontracts" "tools" "mode") (:url . "https://github.com/kadena-io/pact-mode"))]) (paganini-theme . [(20180815 1921) ((emacs (24 0))) "A colorful, dark and warm theme." single ((:commit . "255c5a2a8abee9c5935465ec42b9c3604c178c3c") (:authors ("Onur Temizkan")) (:maintainer "Onur Temizkan") (:url . "https://github.com/onurtemizkan/paganini"))]) @@ -3667,31 +3714,31 @@ (panda . [(20200715 338) ((emacs (25))) "Client for Bamboo's REST API." single ((:commit . "44beb80ac991e58231c05dc4afa1646fa768d573") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:keywords "maint" "tool") (:url . "https://github.com/sebasmonia/panda"))]) (panda-theme . [(20181128 1738) ((emacs (24))) "Panda Theme" single ((:commit . "60aa47c7a930377807da0d601351ad91e8ca446a") (:authors ("jamiecollinson" . "jamiecollinson@gmail.com")) (:maintainer "jamiecollinson" . "jamiecollinson@gmail.com") (:url . "https://github.com/jamiecollinson/emacs-panda-theme"))]) (pandoc . [(20161128 1157) ((emacs (24 4))) "Pandoc interface" single ((:commit . "198d262d09e30448f1672338b0b5a81cf75e1eaa") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "hypermedia" "documentation" "markup" "converter") (:url . "https://github.com/zonuexe/pandoc.el"))]) - (pandoc-mode . [(20211208 2229) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "c1429887287b7ee9601196e26f97c908b6e4f5c0") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "pandoc") (:url . "http://joostkremers.github.io/pandoc-mode/"))]) + (pandoc-mode . [(20220519 2008) ((hydra (0 10 0)) (dash (2 10 0))) "Minor mode for interacting with Pandoc" tar ((:commit . "2a4e726a29d38e7c2379787cad619e5392ad2da0") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "pandoc") (:url . "http://joostkremers.github.io/pandoc-mode/"))]) (pangu-spacing . [(20190823 401) nil "Minor-mode to add space between Chinese and English characters." single ((:commit . "f92898949ba3bf991fd229416f3bbb54e9c6c223") (:authors ("coldnew" . "coldnew.tw@gmail.com")) (:maintainer "coldnew" . "coldnew.tw@gmail.com") (:url . "http://github.com/coldnew/pangu-spacing"))]) - (paper-theme . [(20200510 5) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "350af0e5d53307c900e4f8b2617f3852f51a74d2") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:keywords "theme" "paper") (:url . "https://dev.gkayaalp.com/elisp/index.html#paper"))]) + (paper-theme . [(20200510 5) ((emacs (24))) "A minimal Emacs colour theme." single ((:commit . "4359c640c7822a23976e9a5ca4ce63452d796912") (:authors ("Göktuğ Kayaalp")) (:maintainer "Göktuğ Kayaalp") (:keywords "theme" "paper") (:url . "https://dev.gkayaalp.com/elisp/index.html#paper"))]) (paperless . [(20201130 1241) ((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 . "2db39586a2914f78f345379511d0e8cea4c96b86") (:authors ("Anthony Green" . "green@moxielogic.com")) (:maintainer "Anthony Green" . "green@moxielogic.com") (:keywords "pdf" "convenience") (:url . "http://github.com/atgreen/paperless"))]) (paradox . [(20191011 1111) ((emacs (24 4)) (seq (1 7)) (let-alist (1 0 3)) (spinner (1 7 3)) (hydra (0 13 2))) "A modern Packages Menu. Colored, with package ratings, and customizable." tar ((:commit . "339fe3518d1d102b2295670340e75caf4f01a29a") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "package" "packages") (:url . "https://github.com/Malabarba/paradox"))]) - (parchment-theme . [(20200910 2310) ((autothemer (0 2))) "Light theme inspired by Acme and Leuven" single ((:commit . "95e8248edbdb01fedc7db4472bcce90d2d872106") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:url . "https://github.com/ajgrf/parchment"))]) - (paredit . [(20191121 2328) nil "minor mode for editing parentheses" single ((:commit . "8330a41e8188fe18d3fa805bb9aa529f015318e8") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net") (:keywords "lisp"))]) + (parchment-theme . [(20200910 2310) ((autothemer (0 2))) "Light theme inspired by Acme and Leuven" single ((:commit . "b11d380f1105407d7985b876f3cf021ed3c0a33b") (:authors ("Alex Griffin" . "a@ajgrf.com")) (:maintainer "Alex Griffin" . "a@ajgrf.com") (:url . "https://github.com/ajgrf/parchment"))]) + (paredit . [(20220709 849) nil "minor mode for editing parentheses" single ((:commit . "d0b1a2f42fb47efc8392763d6487fd027e3a2955") (:authors ("Taylor R. Campbell" . "campbell+paredit@mumble.net")) (:maintainer "Taylor R. Campbell" . "campbell+paredit@mumble.net") (:keywords "lisp"))]) (paredit-everywhere . [(20210510 531) ((paredit (22))) "Enable some paredit features in non-lisp buffers" single ((:commit . "b81e5d5356c85001a71640941b469aea9cf2e309") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages" "convenience"))]) (paredit-menu . [(20160128 1733) ((paredit (25))) "Adds a menu to paredit.el as memory aid" single ((:commit . "cc0ae85bd819f9ebfa4f2a419ab3b2d70e39c9c8") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk") (:keywords "paredit"))]) (paren-completer . [(20160501 1052) ((emacs (24 3))) "Automatically, language agnostically, fill in delimiters." single ((:commit . "74183a8e13fa1266271bdcbcb4bfb29a4f915f0a") (:authors ("Matthew Bregg")) (:maintainer "Matthew Bregg") (:keywords "convenience") (:url . "https://github.com/MatthewBregg/paren-completer"))]) - (paren-face . [(20220422 1627) ((emacs (25 1)) (compat (28 1 1 0))) "A face for parentheses in lisp modes" single ((:commit . "5dc2c2e06152dc51f7395073569f448a8f94d296") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces" "lisp") (:url . "https://github.com/tarsius/paren-face"))]) + (paren-face . [(20220422 1627) ((emacs (25 1)) (compat (28 1 1 0))) "A face for parentheses in lisp modes" single ((:commit . "2c5de87c494ccfbe92c3f1da45f1720d7ecf4acf") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "faces" "lisp") (:url . "https://github.com/tarsius/paren-face"))]) (parent-mode . [(20150824 2300) nil "get major mode's parent modes" single ((:commit . "db692cf08deff2f0e973e6e86e26662b44813d1b") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/parent-mode"))]) (parinfer-rust-mode . [(20210413 2) ((emacs (26 1))) "An interface for the parinfer-rust library" tar ((:commit . "c2c1bbec6cc7dad4f546868aa07609b8d58a78f8") (:authors ("Justin Barclay" . "justinbarclay@gmail.com")) (:maintainer "Justin Barclay" . "justinbarclay@gmail.com") (:keywords "lisp" "tools") (:url . "https://github.com/justinbarclay/parinfer-rust-mode"))]) (parrot . [(20220101 518) ((emacs (24 1))) "Party Parrot rotates gracefully in mode-line." tar ((:commit . "1d381f24d74242018e306d1a0c891bed9a465ac3") (:authors ("Daniel Ting" . "deep.paren.12@gmail.com")) (:maintainer "Daniel Ting" . "deep.paren.12@gmail.com") (:keywords "party" "parrot" "rotate" "sirocco" "kakapo" "games") (:url . "https://github.com/dp12/parrot.git"))]) (parse-csv . [(20160512 1723) nil "Parse strings with CSV fields into s-expressions" single ((:commit . "96bef1ffbc89ea12d13311c9fa239c5c3e864890") (:authors ("Edward Marco Baringer (Common Lisp)") ("Matt Curtis" . "matt.r.curtis@gmail.com")) (:maintainer "Matt Curtis" . "matt.r.curtis@gmail.com") (:keywords "csv") (:url . "https://github.com/mrc/el-csv"))]) - (parse-it . [(20220214 1531) ((emacs (25 1)) (s (1 12 0))) "Basic Parser in Emacs Lisp" tar ((:commit . "41af4e77ff9b3abf98fb52302a418b638be88f7c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/parse-it"))]) - (parsebib . [(20220116 2336) ((emacs (25 1))) "A library for parsing bib files" single ((:commit . "63e85c8477fdf98ba920437c9df15f8f06c315e9") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "bibtex") (:url . "https://github.com/joostkremers/parsebib"))]) + (parse-it . [(20220704 640) ((emacs (25 1)) (s (1 12 0))) "Basic Parser in Emacs Lisp" tar ((:commit . "c16cb7aa1b4437a6b9943feaf058e10cd17056fa") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "parse" "parser" "lex" "lexer" "ast") (:url . "https://github.com/jcs-elpa/parse-it"))]) + (parsebib . [(20220730 2341) ((emacs (25 1))) "A library for parsing bib files" single ((:commit . "175a1bdac1eabc7415116c8722795a1155e2d2c9") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text" "bibtex") (:url . "https://github.com/joostkremers/parsebib"))]) (parsec . [(20180730 16) ((emacs (24)) (cl-lib (0 5))) "Parser combinator library" single ((:commit . "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions") (:url . "https://github.com/cute-jumper/parsec.el"))]) (parseclj . [(20220422 936) ((emacs (25))) "Clojure/EDN parser" tar ((:commit . "4d0e780e00f1828b00c43099e6eebc6582998f72") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:keywords "lisp" "clojure" "edn" "parser"))]) - (parseedn . [(20220422 936) ((emacs (26)) (parseclj (1 1 0)) (map (2))) "Clojure/EDN parser" single ((:commit . "dce2eed418ad21acf3d2d6d75c37dfa679b22359") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:keywords "lisp" "clojure" "edn" "parser"))]) + (parseedn . [(20220520 835) ((emacs (26)) (parseclj (1 1 0)) (map (2))) "Clojure/EDN parser" single ((:commit . "a09686fbb9113b8b1b4f20c9e1dc0d6fea01a64f") (:authors ("Arne Brasseur" . "arne@arnebrasseur.net")) (:maintainer "Arne Brasseur" . "arne@arnebrasseur.net") (:keywords "lisp" "clojure" "edn" "parser"))]) (pasp-mode . [(20180404 1700) ((emacs (24 3))) "- A major mode for editing Answer Set Programs." single ((:commit . "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") (:authors ("Henrik Jürges" . "juerges.henrik@gmail.com")) (:maintainer "Henrik Jürges" . "juerges.henrik@gmail.com") (:keywords "asp" "pasp" "answer set programs" "potassco answer set programs" "major mode" "languages") (:url . "https://github.com/santifa/pasp-mode"))]) (pass . [(20210203 810) ((emacs (25)) (password-store (2 1 0)) (password-store-otp (0 1 5)) (f (0 17))) "Major mode for password-store.el" single ((:commit . "5651da53137db9adcb125b4897c2fe27eeb4368d") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com") ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com") (:keywords "password-store" "password" "keychain"))]) (passmm . [(20210109 8) ((emacs (24 4)) (password-store (0))) "A minor mode for pass (Password Store)." single ((:commit . "d78d1bf4f397180d2256248df589f33aafb4c8b4") (:authors ("Peter Jones" . "pjones@devalot.com")) (:maintainer "Peter Jones" . "pjones@devalot.com") (:url . "https://github.com/pjones/passmm"))]) (password-generator . [(20210425 2227) nil "Password generator for humans. Good, Bad, Phonetic passwords included." single ((:commit . "c1da9790d594bc745cdbcc8003153e408aa92a5f") (:authors ("Vandrlexay")) (:maintainer "Vandrlexay") (:url . "http://github.com/vandrlexay/emacs-password-genarator"))]) - (password-mode . [(20220222 1757) ((emacs (25 1))) "Hide password text using overlays" single ((:commit . "456a01e959140cb070e77bce5032a6885c7b7ae0") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:keywords "docs" "password" "passphrase") (:url . "https://github.com/juergenhoetzel/password-mode"))]) + (password-mode . [(20220706 507) ((emacs (25 1))) "Hide password text using overlays" single ((:commit . "883981d9f8d0e2a8ec479c89f5f6b2492c22e01a") (:authors ("Jürgen Hötzel" . "juergen@archlinux.org")) (:maintainer "Jürgen Hötzel" . "juergen@archlinux.org") (:keywords "docs" "password" "passphrase") (:url . "https://github.com/juergenhoetzel/password-mode"))]) (password-store . [(20220306 2230) ((emacs (25)) (s (1 9 0)) (with-editor (2 5 11)) (auth-source-pass (5 0 0))) "Password store (pass) support" single ((:commit . "c4d8a1d815e79ddd89a85d3e36a41d29f0475771") (:authors ("Svend Sorensen" . "svend@svends.net")) (:maintainer "Tino Calancha" . "tino.calancha@gmail.com") (:keywords "tools" "pass" "password" "password-store") (:url . "https://www.passwordstore.org/"))]) (password-store-otp . [(20220128 1320) ((emacs (25)) (s (1 9 0)) (password-store (0 1))) "Password store (pass) OTP extension support" single ((:commit . "be3a00a981921ed1b2f78012944dc25eb5a0beca") (:authors ("Daniel Barreto")) (:maintainer "Daniel Barreto") (:keywords "tools" "pass") (:url . "https://github.com/volrath/password-store-otp.el"))]) (password-vault . [(20220321 1521) ((cl-lib (0 2)) (emacs (24))) "A Password manager for Emacs." single ((:commit . "763750e2fbdd3bc96dfd256215b5e49394b7bef3") (:authors ("Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com")) (:maintainer "Javier \"PuercoPop\" Olaechea" . "pirata@gmail.com") (:keywords "password" "productivity") (:url . "http://github.com/PuercoPop/password-vault"))]) @@ -3706,9 +3753,9 @@ (paxedit . [(20160730 1727) ((cl-lib (0 5)) (paredit (23))) "Structured, Context Driven LISP Editing and Refactoring" single ((:commit . "09f3d5aeb108937a801e77ef413e29eaa4ecc4be") (:authors ("Mustafa Shameem")) (:maintainer "Mustafa Shameem") (:keywords "lisp" "refactoring" "context") (:url . "https://github.com/promethial/paxedit"))]) (pbcopy . [(20150225 459) nil "Emacs Interface to pbcopy" single ((:commit . "338f7245746b5de1bb96c5cc2b32bfd9b5d83272") (:authors ("Daniel Nelson")) (:maintainer "Daniel Nelson") (:keywords "mac" "osx" "pbcopy") (:url . "https://github.com/jkp/pbcopy.el"))]) (pc-bufsw . [(20201011 1918) nil "PC style quick buffer switcher" single ((:commit . "a7295e4813d636d5a20605d134acd42e4e4fe8fa") (:authors ("Igor Bukanov" . "igor@mir2.org")) (:maintainer "Igor Bukanov" . "igor@mir2.org") (:keywords "buffer") (:url . "https://github.com/ibukanov/pc-bufsw"))]) - (pcache . [(20201226 634) ((emacs (25 1))) "persistent caching for Emacs." single ((:commit . "893d2a637423bae2cc5e72c559e3a9d1518797c9") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "extensions"))]) + (pcache . [(20220724 1841) ((emacs (25 1))) "persistent caching for Emacs." single ((:commit . "507230d094cc4a5025fe09b62569ad60c71c4226") (:authors ("Yann Hodique" . "yann.hodique@gmail.com")) (:maintainer "Yann Hodique" . "yann.hodique@gmail.com") (:keywords "extensions"))]) (pcap-mode . [(20161025 1448) ((emacs (24 3))) "Major mode for working with PCAP files" single ((:commit . "52780669af0ade136f84d73f21b4dbb7ab655416") (:authors ("Aaron Conole" . "aconole@bytheb.org")) (:maintainer "Aaron Conole" . "aconole@bytheb.org") (:keywords "pcap" "packets" "tcpdump" "wireshark" "tshark"))]) - (pcmpl-args . [(20220131 2316) ((emacs (25 1))) "Enhanced shell command completion" single ((:commit . "94a19b693a226aa11b15627e01f9f4c9af752bab") (:authors ("Jonathan Waltman" . "jonathan.waltman@gmail.com")) (:maintainer "Jonathan Waltman" . "jonathan.waltman@gmail.com") (:keywords "abbrev" "completion" "convenience" "processes" "terminals" "unix") (:url . "https://github.com/JonWaltman/pcmpl-args.el"))]) + (pcmpl-args . [(20220510 2056) ((emacs (25 1))) "Enhanced shell command completion" single ((:commit . "43229e1096f89c277190f09a3d794781f8fa0015") (:authors ("Jonathan Waltman" . "jonathan.waltman@gmail.com")) (:maintainer "Jonathan Waltman" . "jonathan.waltman@gmail.com") (:keywords "abbrev" "completion" "convenience" "processes" "terminals" "unix") (:url . "https://github.com/JonWaltman/pcmpl-args.el"))]) (pcmpl-git . [(20170121 59) nil "pcomplete for git" tar ((:commit . "9472ac70baeda025ef7becd1cf141d72aec93f32") (:authors ("Leo Liu" . "sdl.web@gmail.com")) (:maintainer "Leo Liu" . "sdl.web@gmail.com") (:keywords "tools"))]) (pcmpl-homebrew . [(20200911 742) nil "pcomplete for homebrew" single ((:commit . "a2044042dd498abad1dc06162a8ee0d70314ca40") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:keywords "pcomplete" "homebrew" "tools" "cask" "services"))]) (pcmpl-pip . [(20181229 1420) ((s (1 12 0)) (f (0 19 0)) (seq (2 15))) "pcomplete for pip" single ((:commit . "bc79228674ad5c1bc458c90dd8839790fb0a09e8") (:authors ("zwild" . "judezhao@outlook.com")) (:maintainer "zwild" . "judezhao@outlook.com") (:keywords "pcomplete" "pip" "python" "tools"))]) @@ -3717,7 +3764,7 @@ (pcsv . [(20150220 1131) nil "Parser of csv" single ((:commit . "798e0933f8d0818beb17aebf3b1056bbf74e03d0") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "data") (:url . "https://github.com/mhayashi1120/Emacs-pcsv/raw/master/pcsv.el"))]) (pdb-capf . [(20200419 1237) ((emacs (25 1))) "Completion-at-point function for python debugger" single ((:commit . "2f4099aa1330f87df4e9cd526de057ee9b71de6c") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "languages" "abbrev" "convenience") (:url . "https://github.com/muffinmad/emacs-pdb-capf"))]) (pdb-mode . [(20150128 1751) nil "Major mode for editing Protein Data Bank files" single ((:commit . "855fb18ebb73b5df30c8d7677c2bcd0f361b138a") (:authors (nil . "charles.bond@uwa.edu.au")) (:maintainer nil . "aix.bing@gmail.com") (:keywords "data" "pdb") (:url . "http://bondxray.org/software/pdb-mode/"))]) - (pdf-tools . [(20220418 1555) ((emacs (24 3)) (nadvice (0 3)) (tablist (1 0)) (let-alist (1 0 4))) "Support library for PDF documents" tar ((:commit . "8e622b26e384148cbe18402370e4cbf3f00943b0") (:authors ("Andreas Politz" . "mail@andreas-politz.de")) (:maintainer "Vedang Manerikar" . "vedang.manerikar@gmail.com") (:keywords "files" "multimedia") (:url . "http://github.com/vedang/pdf-tools/"))]) + (pdf-tools . [(20220723 2329) ((emacs (24 3)) (nadvice (0 3)) (tablist (1 0)) (let-alist (1 0 4))) "Support library for PDF documents" tar ((:commit . "bb0b71f5bafd81d0b5647c4ec48fafa0bb6f6c21") (:authors ("Andreas Politz" . "mail@andreas-politz.de")) (:maintainer "Vedang Manerikar" . "vedang.manerikar@gmail.com") (:keywords "files" "multimedia") (:url . "http://github.com/vedang/pdf-tools/"))]) (pdf-view-restore . [(20190904 1708) ((pdf-tools (0 90)) (emacs (26 0))) "Support for opening last known pdf position in pdfview mode" single ((:commit . "5a1947c01a3edecc9e0fe7629041a2f53e0610c9") (:authors ("Kevin Kim" . "kevinkim1991@gmail.com")) (:maintainer "Kevin Kim" . "kevinkim1991@gmail.com") (:keywords "files" "convenience") (:url . "https://github.com/007kevin/pdf-view-restore"))]) (pdfgrep . [(20210203 1730) ((emacs (24 4))) "run `pdfgrep' and display the results." single ((:commit . "a4ca0a1e6521de93f28bb6736a5344b4974d144c") (:authors ("Jérémy Compostella" . "jeremy.compostella@gmail.com")) (:maintainer "Jérémy Compostella" . "jeremy.compostella@gmail.com") (:keywords "extensions" "mail" "pdf" "grep") (:url . "https://github.com/jeremy-compostella/pdfgrep"))]) (peacock-theme . [(20170808 1320) ((emacs (24 0))) "an Emacs 24 theme based on Peacock (tmTheme)" single ((:commit . "9e46fbfb562b6e26c6e3d6d618b044b3694da4c8") (:authors ("Jason Milkins")) (:maintainer "Jason Milkins") (:url . "https://github.com/emacsfodder/tmtheme-to-deftheme"))]) @@ -3726,20 +3773,20 @@ (peertube . [(20210101 1007) ((emacs (25 1)) (transmission (0 12 1))) "Query and download PeerTube videos" single ((:commit . "bb529db154596e86327829edbd7144b67cf72255") (:authors ("yoctocell" . "public@yoctocell.xyz")) (:maintainer "yoctocell" . "public@yoctocell.xyz") (:keywords "peertube" "multimedia") (:url . "https://git.sr.ht/~yoctocell/peertube"))]) (pelican-mode . [(20190124 2336) ((emacs (25))) "Minor mode for editing Pelican sites" single ((:commit . "65d7caf5d926599a5007eb7bc279215908aa5252") (:authors ("Joe Wreschnig" . "joe.wreschnig@gmail.com")) (:maintainer "Joe Wreschnig" . "joe.wreschnig@gmail.com") (:keywords "convenience" "editing") (:url . "https://git.korewanetadesu.com/pelican-mode.git"))]) (pepita . [(20200228 2257) ((emacs (25)) (csv (2 1))) "Run Splunk search commands, export results to CSV/HTML/JSON" single ((:commit . "c72c4a6f1e47ed5fe5103e0eaadad5a76deeec30") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:keywords "tools" "convenience" "matching") (:url . "https://github.com/sebasmonia/pepita.git"))]) - (perfect-margin . [(20190722 126) ((emacs (24 0)) (cl-lib (0 5))) "auto center windows, work with minimap and/or linum-mode" single ((:commit . "94b055c743b1859098870c8aca3e915bd6e67d9d") (:authors ("Randall Wang" . "randall.wjz@gmail.com")) (:maintainer "Randall Wang" . "randall.wjz@gmail.com") (:keywords "convenience" "frames") (:url . "https://github.com/mpwang/perfect-margin"))]) + (perfect-margin . [(20220426 1701) ((emacs (24 0)) (cl-lib (0 5))) "auto center windows, work with minimap and/or linum-mode" single ((:commit . "d5cb5f075264ff2e625099aebca3151f4f35019a") (:authors ("Randall Wang" . "randall.wjz@gmail.com")) (:maintainer "Randall Wang" . "randall.wjz@gmail.com") (:keywords "convenience" "frames") (:url . "https://github.com/mpwang/perfect-margin"))]) (perlbrew . [(20161109 709) nil "A perlbrew wrapper for Emacs" single ((:commit . "3a3406c3307c92aa30f9400d430925c434a3b6f0") (:authors ("Kentaro Kuribayashi" . "kentarok@gmail.com")) (:maintainer "Kentaro Kuribayashi" . "kentarok@gmail.com") (:keywords "emacs" "perl"))]) (persistent-overlays . [(20161128 700) nil "Minor mode to store selected overlays to be loaded later" tar ((:commit . "f563c8b966edc78c9d806661c4eb80e4781c4eab") (:authors ("Michael Neilly" . "mneilly@yahoo.com")) (:maintainer "Michael Neilly" . "mneilly@yahoo.com") (:keywords "overlays" "persistent") (:url . "https://github.com/mneilly/Emacs-Persistent-Overlays"))]) - (persistent-scratch . [(20220218 810) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "4e159967801b75d07303221c4e5a2b89039c6a11") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))]) + (persistent-scratch . [(20220620 408) ((emacs (24))) "Preserve the scratch buffer across Emacs sessions" single ((:commit . "92f540e7d310ec2e0b636eff1033cf78f0d9eb40") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/persistent-scratch"))]) (persistent-soft . [(20150223 1853) ((pcache (0 3 1)) (list-utils (0 4 2))) "Persistent storage, returning nil on failure" single ((:commit . "a1e0ddf2a12a6f18cab565dee250f070384cbe02") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "data" "extensions") (:url . "http://github.com/rolandwalker/persistent-soft"))]) (persp-fr . [(20191108 754) ((emacs (25 1)) (persp-mode (2 9 6)) (dash (2 13 0))) "In persp-mode, show perspective list in the GUI window title" single ((:commit . "1adbb6a9f9a4db580a9b7ed8b4091738e01345e6") (:authors ("Francesc Rocher" . "francesc.rocher@gmail.com")) (:maintainer "Francesc Rocher" . "francesc.rocher@gmail.com") (:keywords "perspectives" "workspace" "windows" "convenience") (:url . "http://github.com/rocher/persp-fr"))]) - (persp-mode . [(20220206 1742) ((emacs (24 3))) "windows/buffers sets shared among frames + save/load." single ((:commit . "7a594a3d8f1c4ba9234dcd831a589e87f3f4ae86") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:keywords "perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") (:url . "https://github.com/Bad-ptr/persp-mode.el"))]) + (persp-mode . [(20220507 32) ((emacs (24 3))) "windows/buffers sets shared among frames + save/load." single ((:commit . "d0f8eb099e852b6073d4ec06d32587c60a7dce3f") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:keywords "perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") (:url . "https://github.com/Bad-ptr/persp-mode.el"))]) (persp-mode-project-bridge . [(20220115 602) ((emacs (27 1)) (persp-mode (2 9))) "Integration of persp-mode + project.el" single ((:commit . "cacc22942ca5dffdfc3d16cf88576ce0bd9e3a68") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") ("Siavash Askari Nasr" . "siavash.askari.nasr@gmail.com")) (:maintainer "Siavash Askari Nasr" . "siavash.askari.nasr@gmail.com") (:keywords "vc" "persp-mode" "perspective" "project" "project.el") (:url . "https://github.com/CIAvash/persp-mode-project-bridge"))]) (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") (:authors ("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) (:maintainer "Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") (:keywords "persp-mode" "projectile") (:url . "https://github.com/Bad-ptr/persp-mode-projectile-bridge.el"))]) (persp-projectile . [(20210618 708) ((perspective (1 9)) (projectile (2 4)) (cl-lib (0 3))) "Perspective integration with Projectile" single ((:commit . "4e374d7650c7e041df5af5ac280a44d4a4ec705a") (:authors ("Daniel Wu")) (:maintainer "Daniel Wu") (:keywords "project" "convenience"))]) - (perspective . [(20220420 1550) ((emacs (24 4)) (cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "4e38680793585a907ae46b148697030c2b552a00") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:keywords "workspace" "convenience" "frames") (:url . "http://github.com/nex3/perspective-el"))]) + (perspective . [(20220706 445) ((emacs (24 4)) (cl-lib (0 5))) "switch between named \"perspectives\" of the editor" single ((:commit . "e994fb3067d343732f9fc0ae209cecd5a6192237") (:authors ("Natalie Weizenbaum" . "nex342@gmail.com")) (:maintainer "Natalie Weizenbaum" . "nex342@gmail.com") (:keywords "workspace" "convenience" "frames") (:url . "http://github.com/nex3/perspective-el"))]) (perspective-exwm . [(20220125 1939) ((emacs (27 1)) (burly (0 2 -1)) (exwm (0 26)) (perspective (2 17))) "Better integration for perspective.el and EXWM" single ((:commit . "8afdbf894a888854ce9dfbe0ad2a5dc41f75ecb8") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/perspective-exwm.el"))]) (perspeen . [(20171203 1021) ((emacs (25 0)) (powerline (2 4))) "An package for multi-workspace" tar ((:commit . "edb70c530bda50ff3d1756e32a703d5fef5e5480") (:authors ("Peng Li" . "seudut@gmail.com")) (:maintainer "Peng Li" . "seudut@gmail.com") (:keywords "lisp") (:url . "https://github.com/seudut/perspeen"))]) - (pest-mode . [(20200321 504) ((emacs (26 3))) "Major mode for editing Pest files" single ((:commit . "43447a2c70f98edd1139005e32f437d3f142442b") (:authors ("ksqsf" . "i@ksqsf.moe")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:keywords "languages") (:url . "https://github.com/ksqsf/pest-mode"))]) + (pest-mode . [(20200321 504) ((emacs (26 3))) "Major mode for editing Pest files" single ((:commit . "af677327f185113442e95b00986097b30cab650c") (:authors ("ksqsf" . "i@ksqsf.moe")) (:maintainer "ksqsf" . "i@ksqsf.moe") (:keywords "languages") (:url . "https://github.com/ksqsf/pest-mode"))]) (pfuture . [(20220425 1242) ((emacs (25 2))) "a simple wrapper around asynchronous processes" single ((:commit . "f9e67bd7edbd5b4e033efd82c0acc4a85ff860a8") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/pfuture"))]) (pg . [(20130731 2142) nil "Emacs Lisp interface to the PostgreSQL RDBMS" single ((:commit . "4f6516ec3946d95dcef49abb6703cc89ecb5183d") (:authors ("Eric Marsden" . "emarsden@laas.fr")) (:maintainer "Helmut Eller" . "heller@common-lisp.net") (:keywords "data" "comm" "database" "postgresql"))]) (pgdevenv . [(20150105 2236) nil "Manage your PostgreSQL development envs" tar ((:commit . "7f1d5bc734750aca98cf67a9491cdbd5615fd132") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:keywords "emacs" "postgresql" "development" "environment" "shell" "debug" "gdb"))]) @@ -3757,17 +3804,17 @@ (phoenix-dark-pink-theme . [(20190821 48) nil "Originally a port of the Sublime Text 2 theme" single ((:commit . "ddd98a45775be105984ec598384e68df3d3e8046") (:authors ("J Irving" . "j@lollyshouse.ca")) (:maintainer "J Irving" . "j@lollyshouse.ca") (:url . "http://github.com/j0ni/phoenix-dark-pink"))]) (php-boris . [(20130527 821) nil "Run boris php REPL" single ((:commit . "f2faebf610c917f7091f7ec0cd97645629c4f819") (:authors ("Tom Regner")) (:maintainer "Tom Regner" . "tom@goochesa.de") (:keywords "php" "commint" "repl" "boris"))]) (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") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "php" "repl" "eval") (:url . "https://github.com/steckerhalter/php-boris-minor-mode"))]) - (php-cs-fixer . [(20210923 718) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "7e12a1af5d65cd8a801eeb5564c6268a4e190c0c") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:keywords "languages" "php") (:url . "https://github.com/OVYA/php-cs-fixer"))]) + (php-cs-fixer . [(20220516 1008) ((cl-lib (0 5))) "php-cs-fixer wrapper." single ((:commit . "efe4368d891f1eec6311363cfd6be3e9eadb5e0a") (:authors ("Philippe Ivaldi for OVYA")) (:maintainer "Philippe Ivaldi for OVYA") (:keywords "languages" "php") (:url . "https://github.com/OVYA/php-cs-fixer"))]) (php-eldoc . [(20140202 1941) nil "eldoc backend for php" tar ((:commit . "df05064146b884d9081e10657e32dc480f070cfe") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/php-eldoc"))]) - (php-mode . [(20220120 1959) ((emacs (25 2))) "Major mode for editing PHP code" tar ((:commit . "4503672471b8fdaaea6c454344817a119c87fcc6") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "php") (:url . "https://github.com/emacs-php/php-mode"))]) + (php-mode . [(20220709 1748) ((emacs (25 2))) "Major mode for editing PHP code" tar ((:commit . "ca6ae67dab6a8646316d62d400a37dd96d8de3f6") (:authors ("Eric James Michael Ritz")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "php") (:url . "https://github.com/emacs-php/php-mode"))]) (php-quickhelp . [(20210819 2025) ((emacs (25 1))) "Quickhelp at point for php" single ((:commit . "d5e11b7a6bad64550521e8822139a33218b8c9bb") (:authors ("Vincenzo Pupillo")) (:maintainer "Vincenzo Pupillo") (:url . "https://github.com/vpxyz/php-quickhelp"))]) (php-refactor-mode . [(20171124 635) nil "Minor mode to quickly and safely perform common refactorings" single ((:commit . "7a794b0618df2882b1bd586fdd698dba0bc5130d") (:authors ("Matthew M. Keeler" . "keelerm84@gmail.com")) (:maintainer "Matthew M. Keeler" . "keelerm84@gmail.com") (:keywords "php" "refactor") (:url . "https://github.com/keelerm84/php-refactor-mode.el"))]) (php-runtime . [(20181212 1825) ((emacs (25)) (cl-lib (0 5)) (f (0 20)) (s (1 7))) "Language binding bridge to PHP" single ((:commit . "017e0e70f07d6b25e37d5c5f4d271a914b677631") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "processes" "php") (:url . "https://github.com/emacs-php/php-runtime.el"))]) (php-scratch . [(20210706 459) ((emacs (24 3)) (s (1 11 0)) (php-mode (1 17 0))) "A scratch buffer to interactively evaluate php code" single ((:commit . "b6bfd279da8a8ac7fc30459485956f3fd5d02573") (:authors ("Tijs Mallaerts" . "tijs.mallaerts@gmail.com")) (:maintainer "Tijs Mallaerts" . "tijs.mallaerts@gmail.com") (:url . "https://github.com/mallt/php-scratch"))]) (phpactor . [(20220310 1511) ((emacs (25 1)) (f (0 17)) (php-runtime (0 2)) (composer (0 2 0)) (async (1 9 3))) "Interface to Phpactor" tar ((:commit . "34195f1533209e2ffd0f898a69c7db2bffd1eabe") (:authors ("USAMI Kenta" . "tadsan@zonu.me") ("Mikael Kermorgant" . "mikael@kgtech.fi")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpactor.el"))]) - (phpstan . [(20210714 1805) ((emacs (24 3)) (php-mode (1 22 3))) "Interface to PHPStan" single ((:commit . "0869b152f82a76138daa53e953285936b9d558bd") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) + (phpstan . [(20220723 1451) ((emacs (24 3)) (php-mode (1 22 3))) "Interface to PHPStan" single ((:commit . "e229e990e36a2bfb88503bfe2bb6f2836eaa2874") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/phpstan.el"))]) (phpt-mode . [(20190512 1809) ((emacs (25)) (polymode (0 1 5)) (php-mode (1 21 2))) "Major mode for editing PHPT test code" single ((:commit . "deb386f1a81003074c476f15e1975d445ff6df01") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "php") (:url . "https://github.com/emacs-php/phpt-mode"))]) - (phpunit . [(20180829 1438) ((s (1 12 0)) (f (0 19 0)) (pkg-info (0 6)) (cl-lib (0 5)) (emacs (24 3))) "Launch PHP unit tests using phpunit" tar ((:commit . "fe6bc91c3bd8b329c6d26ad883a025f06b5121ee") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com") ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "tools" "php" "tests" "phpunit") (:url . "https://github.com/nlamirault/phpunit.el"))]) + (phpunit . [(20220704 1554) ((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 . "02020d4b3e5ae9fdb82be9203fa6d330adcbc0eb") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com") ("Eric Hansen" . "hansen.c.eric@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "tools" "php" "tests" "phpunit") (:url . "https://github.com/nlamirault/phpunit.el"))]) (pianobar . [(20201002 1756) nil "thin wrapper for Pianobar, a Pandora Radio client" single ((:commit . "d708417608df4f09ee565fddaad03dfe181829a8") (:authors ("Aaron Griffith" . "aargri@gmail.com")) (:maintainer "Aaron Griffith" . "aargri@gmail.com") (:url . "http://github.com/agrif/pianobar.el"))]) (pickle . [(20190923 354) ((emacs (25 1)) (cl-lib (0 6 1))) "Major mode for editing cucumber gherkin files." single ((:commit . "3a0a717f2a24827667f34bc53830a3b81cd57460") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "languages" "cucumber" "gherkin") (:url . "https://github.com/ahungry/pickle-mode"))]) (picpocket . [(20210806 1135) ((emacs (25 1))) "Image viewer" single ((:commit . "7e30e96c26b1ff0d374612534c3e09d309426252") (:authors ("Johan Claesson" . "johanwclaesson@gmail.com")) (:maintainer "Johan Claesson" . "johanwclaesson@gmail.com") (:keywords "multimedia") (:url . "https://github.com/johanclaesson/picpocket"))]) @@ -3783,14 +3830,16 @@ (pinyin . [(20180620 1241) ((cl-lib (0 5)) (emacs (24))) "Convert Hanzi to Pinyin (汉字转拼音)" tar ((:commit . "e5508e5aa1ad4cfa05a7f4d299e5a155b288ec4c") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "extensions") (:url . "https://github.com/xuchunyang/pinyin.el"))]) (pinyin-search . [(20160515 358) ((pinyinlib (0 1 0))) "Search Chinese by Pinyin" single ((:commit . "2e877a76851009d41bde66eb33182a03a7f04262") (:authors ("Chunyang Xu" . "xuchunyang56@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang56@gmail.com") (:keywords "chinese" "search") (:url . "https://github.com/xuchunyang/pinyin-search.el"))]) (pinyinlib . [(20200911 1723) nil "Convert first letter of Pinyin to Simplified/Traditional Chinese characters" single ((:commit . "1772c79b6f319b26b6a394a8dda065be3ea4498d") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) + (pip-frame . [(20220802 1914) ((emacs (25 1))) "Display and manage a PIP frame" single ((:commit . "8c396a11f532a1beb594b65e99e594f1e9f1c2c8") (:authors ("Milan Zamazal" . "pdm@zamazal.org")) (:maintainer "Milan Zamazal" . "pdm@zamazal.org") (:keywords "frames") (:url . "https://git.zamazal.org/pdm/pip-frame"))]) (pip-requirements . [(20181027 1629) ((dash (2 8 0))) "A major mode for editing pip requirements files." single ((:commit . "216cd1690f80cc965d4ae47b8753fc185f778ff6") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) - (pipenv . [(20210127 1444) ((emacs (25 1)) (s (1 12 0)) (pyvenv (1 20))) "A Pipenv porcelain" single ((:commit . "8f50c68d415307a2cbc65cc4df20df18e1776e9b") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))]) + (pipenv . [(20220514 123) ((emacs (25 1)) (s (1 12 0)) (pyvenv (1 20)) (load-env-vars (0 0 2))) "A Pipenv porcelain" single ((:commit . "3af159749824c03f59176aff7f66ddd6a5785a10") (:authors ("Paul Walsh" . "paulywalsh@gmail.com")) (:maintainer "Paul Walsh" . "paulywalsh@gmail.com") (:url . "https://github.com/pwalsh/pipenv.el"))]) + (pipewire . [(20220725 1858) ((emacs (28 1))) "PipeWire user interface" tar ((:commit . "ae7a95230f102e7430a80acb02850bc24430c3b2") (:authors ("Milan Zamazal" . "pdm@zamazal.org")) (:maintainer "Milan Zamazal" . "pdm@zamazal.org") (:keywords "multimedia") (:url . "https://git.zamazal.org/pdm/pipewire-0"))]) (pippel . [(20220416 1743) ((emacs (25 1)) (s (1 11 0)) (dash (2 12 0))) "Frontend to python package manager pip" tar ((:commit . "cb194952ee150e77601d3233dabdb521b976ee79") (:authors ("Fritz Stelzer" . "brotzeitmacher@gmail.com")) (:maintainer "Arif Er" . "arifer612@protonmail.me") (:url . "https://github.com/arifer612/pippel"))]) (pixie-mode . [(20180626 541) ((clojure-mode (3 0 1)) (inf-clojure (1 0 0))) "Major mode for Pixie-lang" single ((:commit . "a40c2632cfbe948852a5cdcfd44e6a65db11834d") (:authors ("John Walker" . "john.lou.walker@gmail.com")) (:maintainer "John Walker" . "john.lou.walker@gmail.com") (:url . "https://github.com/johnwalker/pixie-mode"))]) (pixiv-novel-mode . [(20160220 1421) nil "Major mode for pixiv novel" single ((:commit . "0d1ca524d92b91f20a7105402a773bc21779b434") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "novel" "pixiv"))]) (pkg-info . [(20150517 1143) ((epl (0 8))) "Information about packages" single ((:commit . "76ba7415480687d05a4353b27fea2ae02b8d9d61") (:authors ("Sebastian Wiesner" . "swiesner@lunaryorn.com")) (:maintainer "Sebastian Wiesner" . "swiesner@lunaryorn.com") (:keywords "convenience") (:url . "https://github.com/lunaryorn/pkg-info.el"))]) (pkg-overview . [(20210802 1509) ((emacs (24 3))) "Make org documentation from elisp source file" single ((:commit . "9b2e416758a6c107bb8cc670ec4d2627f82d5590") (:authors ("Boruch Baum" . "boruch_baum@gmx.com")) (:maintainer "Boruch Baum" . "boruch_baum@gmx.com") (:keywords "docs" "help" "lisp" "maint" "outlines" "tools") (:url . "https://github.com/Boruch-Baum/emacs-pkg-overview"))]) - (pkgbuild-mode . [(20220423 602) ((emacs (26 1))) "Interface to the ArchLinux package manager" single ((:commit . "2fc38d30bd2a6b0333a5492fdc5c2dfbbc455653") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:keywords "languages") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))]) + (pkgbuild-mode . [(20220802 1951) ((emacs (26 1))) "Interface to the ArchLinux package manager" single ((:commit . "9525be8ecbd3a0d0bc7cc27e6d0f403e111aa067") (:authors ("Juergen Hoetzel" . "juergen@hoetzel.info")) (:maintainer "Juergen Hoetzel" . "juergen@hoetzel.info") (:keywords "languages") (:url . "https://github.com/juergenhoetzel/pkgbuild-mode"))]) (plain-org-wiki . [(20201217 1027) ((emacs (24 3)) (ivy (0 12 0))) "Simple jump-to-org-files in a directory package" single ((:commit . "faeeb54ca808bbf0f4380a938e75805b7a78dbf7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/plain-org-wiki"))]) (plain-theme . [(20171124 410) ((emacs (24))) "Plain theme without syntax highlighting" single ((:commit . "48b37b9b19d8f1e0accbf930f30b5346cf7959fe"))]) (plan9-theme . [(20180804 1441) nil "A color theme for Emacs based on Plan9" single ((:commit . "c2da2fcb241e9800d931a1ff19ecd9fd84d30382") (:authors ("John Louis Del Rosario" . "john2x@gmail.com")) (:maintainer "John Louis Del Rosario" . "john2x@gmail.com") (:url . "https://github.com/john2x/plan9-theme.el"))]) @@ -3801,7 +3850,7 @@ (platformio-mode . [(20210511 957) ((emacs (25 1)) (async (1 9 0)) (projectile (0 13 0))) "PlatformIO integration" single ((:commit . "f4fd8932995a8aed80eab14e54232010c2889012") (:authors ("Zach Massia" . "zmassia@gmail.com") ("Dante Catalfamo" . "dante@lambda.cx")) (:maintainer "Zach Massia" . "zmassia@gmail.com") (:url . "https://github.com/zachmassia/platformio-mode"))]) (play-crystal . [(20180114 1024) ((emacs (24 4)) (dash (2 12 0)) (request (0 2 0))) "https://play.crystal-lang.org integration." single ((:commit . "0b4810a9025213bd11dbcbfd38b3ca928829e0a5") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:keywords "convenience") (:url . "https://github.com/veelenga/play-crystal.el"))]) (play-routes-mode . [(20170426 733) nil "Play Framework Routes File Support" single ((:commit . "22d7b87e0eaf0330f2b2283872f8dc08a3258771") (:authors ("M.Riehl , P.Haun" . "bomgar85@googlemail.com")) (:maintainer "M.Riehl , P.Haun" . "bomgar85@googlemail.com") (:keywords "play" "scala") (:url . "https://github.com/brocode/play-routes-mode/"))]) - (playerctl . [(20211014 856) nil "Control your music player (e.g. Spotify) with playerctl" single ((:commit . "4c3a6132616fd28f902590bf6e63332e6055492b") (:authors ("Thomas Luquet" . "thomas@luquet.net")) (:maintainer "Thomas Luquet" . "thomas@luquet.net") (:keywords "multimedia" "playerctl" "music") (:url . "https://github.com/thomasluquet/playerctl.el"))]) + (playerctl . [(20220714 1234) nil "Control your music player (e.g. Spotify) with playerctl" single ((:commit . "0912ed5a5ab6d611b5f35db589f608f1fafdc81a") (:authors ("Thomas Luquet" . "thomas@luquet.net")) (:maintainer "Thomas Luquet" . "thomas@luquet.net") (:keywords "multimedia" "playerctl" "music") (:url . "https://github.com/thomasluquet/playerctl.el"))]) (playground . [(20200812 1336) ((emacs (24 4))) "Manage sandboxes for alternative configurations" single ((:commit . "77d2faab0bc3f6e1f2c65c66644c52167304610d") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "maint") (:url . "https://github.com/akirak/emacs-playground"))]) (playonline . [(20200317 642) ((emacs (24 4)) (dash (2 1)) (request (0 2))) "Play code with online playgrounds" single ((:commit . "c75da1fdc1dfbd5d9aa274dc4e90ff631ea08e70") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "tools") (:url . "https://github.com/twlz0ne/playonline.el"))]) (plenv . [(20130707 616) nil "A plenv wrapper for Emacs" single ((:commit . "ee937d0f3a1a7ba2d035f45be896d3ed8fefaee2") (:authors ("Kenta Sato" . "karupa@cpan.org")) (:maintainer "Kenta Sato" . "karupa@cpan.org") (:keywords "emacs" "perl"))]) @@ -3816,7 +3865,7 @@ (pocket-api . [(20180403 109) ((emacs (24 4)) (request (0 2))) "another pocket api" single ((:commit . "3eb9430b9db90bc02e736e433eb86389f7655189") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "pocket") (:url . "https://github.com/lujun9972/pocket-api.el"))]) (pocket-lib . [(20190720 1957) ((emacs (25 1)) (request (0 2)) (dash (2 13 0)) (kv (0 0 19)) (s (1 12 0))) "Library for accessing getpocket.com API" single ((:commit . "f794e3e619e1f6cad25bbfd5fe019a7e62820bf4") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "pocket") (:url . "https://github.com/alphapapa/pocket-lib.el"))]) (pocket-mode . [(20171201 1315) ((emacs (24 4)) (pocket-api (0 1))) "Manage your pocket" single ((:commit . "229de7d35b7e5605797591c46aa8200d7efc363c") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "pocket"))]) - (pocket-reader . [(20210824 658) ((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 . "0a177d4a3b4b2532be7f0775e5cc41e6382a45d4") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "pocket") (:url . "https://github.com/alphapapa/pocket-reader.el"))]) + (pocket-reader . [(20220630 844) ((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 . "88d1e6019a3408835745e117cb5b83a8e31f11fe") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "pocket") (:url . "https://github.com/alphapapa/pocket-reader.el"))]) (podcaster . [(20200607 1054) ((cl-lib (0 5))) "Podcast client" single ((:commit . "7a21173da0c57e6aa41dbdc33383047386b35eb5") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:url . "https://github.com/lujun9972/podcaster"))]) (poe-lootfilter-mode . [(20190330 1117) ((emacs (24 3))) "Major mode for editing Path of Exile lootfilters" single ((:commit . "5ef06684cb2b17b090ee1f303c2b789fa71bc106") (:authors ("Jeremiah Dodds" . "jeremiah.dodds@gmail.com")) (:maintainer "Jeremiah Dodds" . "jeremiah.dodds@gmail.com") (:keywords "languages" "games") (:url . "https://github.com/jdodds/poe-lootfilter-mode"))]) (poet-client . [(20190403 708) ((emacs (24 4)) (request (0 3 0))) "Client for po.et network api" single ((:commit . "38a9635cab4799224153f89ff47cf1b060fb3939") (:authors ("W.Yahia")) (:maintainer "W.Yahia") (:url . "https://github.com/wailo/emacs-poet"))]) @@ -3838,26 +3887,26 @@ (poly-wdl . [(20190712 529) ((emacs (25)) (polymode (0 2)) (wdl-mode (20170709))) "Polymode for WDL" single ((:commit . "963faa828d15d49cee5a63f619c3c30e162c2d0f") (:authors ("Jean Monlong" . "jean.monlong@gmail.com")) (:maintainer "Jean Monlong" . "jean.monlong@gmail.com") (:keywords "languages") (:url . "https://github.com/jmonlong/poly-wdl"))]) (polybar-sesman . [(20210901 1336) ((emacs (25 1)) (dash (2 19 1)) (sesman (0 3 0))) "Display active sesman connections in polybar" single ((:commit . "5175b8d641aad9576519717f69f858621892d5c7") (:authors ("Mark Dawson" . "markgdawson@gmail.com")) (:maintainer "Mark Dawson" . "markgdawson@gmail.com") (:keywords "project" "convenience") (:url . "https://github.com/markgdawson/polybar-sesman.el"))]) (polymode . [(20220322 824) ((emacs (25))) "Extensible framework for multiple major modes" tar ((:commit . "2094c92403fe395dfb2b8b2521da1012a966e9ab") (:authors ("Vitalie Spinu")) (:maintainer "Vitalie Spinu") (:keywords "languages" "multi-modes" "processes") (:url . "https://github.com/polymode/polymode"))]) - (pomidor . [(20210111 919) ((emacs (24 3)) (alert (1 2)) (dash (2 17 0))) "Simple and cool pomodoro timer" tar ((:commit . "52134701fa76b12252b06c9d6fd4e8665596a95a") (:authors ("TatriX" . "tatrics@gmail.com")) (:maintainer "TatriX" . "tatrics@gmail.com") (:keywords "tools" "time" "applications" "pomodoro technique") (:url . "https://github.com/TatriX/pomidor"))]) + (pomidor . [(20220714 1932) ((emacs (24 3)) (alert (1 2)) (dash (2 17 0))) "Simple and cool pomodoro timer" tar ((:commit . "394a52f95587b1d10d0c3bdca503d2cc876db35b") (:authors ("TatriX" . "tatrics@gmail.com")) (:maintainer "TatriX" . "tatrics@gmail.com") (:keywords "tools" "time" "applications" "pomodoro technique") (:url . "https://github.com/TatriX/pomidor"))]) (pomm . [(20220315 2038) ((emacs (27 1)) (alert (1 2)) (seq (2 22)) (transient (0 3 0))) "Yet another Pomodoro timer implementation" tar ((:commit . "2a2673bdc8e2c2af99040b14e97b39271806bf79") (:authors ("Korytov Pavel" . "thexcloud@gmail.com")) (:maintainer "Korytov Pavel" . "thexcloud@gmail.com") (:url . "https://github.com/SqrtMinusOne/pomm.el"))]) (pomodoro . [(20210225 2018) nil "A timer for the Pomodoro Technique" single ((:commit . "ed888b24d0b89a5dec6f5278b1064c530c827321") (:authors ("David Kerschner" . "dkerschner@gmail.com")) (:maintainer "David Kerschner" . "dkerschner@gmail.com"))]) (pony-mode . [(20170807 1522) nil "Minor mode for working with Django Projects" tar ((:commit . "760684d30b6c234d1b88c9a4673a808f36f7f341") (:authors ("David Miller" . "david@deadpansincerity.com")) (:maintainer "David Miller" . "david@deadpansincerity.com") (:keywords "python" "django") (:url . "https://github.com/davidmiller/pony-mode"))]) (pony-snippets . [(20200418 354) ((yasnippet (0 8 0))) "Yasnippets for Pony" tar ((:commit . "81a1348f81b0d8a3097d1ca3f2fb2f57964d56d6") (:keywords "snippets" "pony") (:url . "https://github.com/seantallen/pony-snippets"))]) - (ponylang-mode . [(20211015 331) ((emacs (25 1)) (dash (2 17 0)) (hydra (0 15 0)) (hl-todo (3 1 2)) (yafolding (0 4 1)) (yasnippet (0 14 0)) (company-ctags (0 0 4)) (rainbow-delimiters (2 1 4)) (fill-column-indicator (1 90))) "A major mode for the Pony programming language" single ((:commit . "4bdffa94cd89da91b75e9edc56e9e2197ce072a3") (:keywords "languages" "programming") (:url . "https://github.com/ponylang/ponylang-mode"))]) + (ponylang-mode . [(20211015 331) ((emacs (25 1)) (dash (2 17 0)) (hydra (0 15 0)) (hl-todo (3 1 2)) (yafolding (0 4 1)) (yasnippet (0 14 0)) (company-ctags (0 0 4)) (rainbow-delimiters (2 1 4)) (fill-column-indicator (1 90))) "A major mode for the Pony programming language" single ((:commit . "21275741d2921260e836081b8c56245cc22d4dc8") (:keywords "languages" "programming") (:url . "https://github.com/ponylang/ponylang-mode"))]) (pophint . [(20200420 1429) ((log4e (0 3 3)) (yaxception (0 3))) "Provide navigation using pop-up tips, like Firefox's Vimperator Hint Mode" tar ((:commit . "5e13da4578ae7ba00e6f7bae31eb546d713cc19d") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "popup") (:url . "https://github.com/aki2o/emacs-pophint"))]) (poporg . [(20170403 751) nil "Pop a comment or string to an empty buffer for text editing" single ((:commit . "2c58d68c81ecca4140bf179f19ed153ec804b65a") (:authors ("François Pinard" . "pinard@iro.umontreal.ca") ("Joseph Rabinoff" . "rabinoff@post.harvard.edu")) (:maintainer "Joseph Rabinoff" . "rabinoff@post.harvard.edu") (:keywords "outlines" "tools") (:url . "https://github.com/QBobWatson/poporg"))]) - (popper . [(20220406 336) ((emacs (26 1))) "Summon and dismiss buffers as popups" tar ((:commit . "6599c9b5a12b411c6cf1536bf200ae233fa24389") (:authors ("Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com")) (:maintainer "Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com") (:keywords "convenience") (:url . "https://github.com/karthink/popper"))]) - (popup . [(20211231 1823) ((emacs (24 3))) "Visual Popup User Interface" single ((:commit . "3bf430270c74dad830ab9d776aab23cbf3ea3953") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "lisp") (:url . "https://github.com/auto-complete/popup-el"))]) + (popper . [(20220711 836) ((emacs (26 1))) "Summon and dismiss buffers as popups" tar ((:commit . "d7560f18350faaee8362aee16481268de3cc6457") (:authors ("Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com")) (:maintainer "Karthik Chikmagalur" . "karthik.chikmagalur@gmail.com") (:keywords "convenience") (:url . "https://github.com/karthink/popper"))]) + (popup . [(20211231 1823) ((emacs (24 3))) "Visual Popup User Interface" single ((:commit . "c65905aa1a3ac32d1dbc8c1060605621e6143f80") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "lisp") (:url . "https://github.com/auto-complete/popup-el"))]) (popup-complete . [(20141109 308) ((popup (0 5 0))) "completion with popup" single ((:commit . "caa655a6d8472e9a4bfa1311126d90d7d1b07fca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-popup-complete"))]) (popup-edit-menu . [(20170404 1425) ((emacs (24))) "a popup context edit menu package" single ((:commit . "925600a6e29183841199e866cf55e566a6a1b002") (:authors ("Debugfan Chin" . "debugfanchin@gmail.com")) (:maintainer "Debugfan Chin" . "debugfanchin@gmail.com") (:keywords "lisp" "pop-up" "context" "edit" "menu"))]) (popup-imenu . [(20210404 1153) ((dash (2 12 1)) (popup (0 5 3)) (flx-ido (0 6 1))) "imenu index popup" single ((:commit . "b00c4d503cbbaf01c136b1647329e6a6257d012c") (:authors ("Igor Shymko" . "igor.shimko@gmail.com")) (:maintainer "Igor Shymko" . "igor.shimko@gmail.com") (:keywords "popup" "imenu") (:url . "https://github.com/ancane/popup-imenu"))]) (popup-kill-ring . [(20131020 1854) ((popup (0 4)) (pos-tip (0 4))) "interactively insert item from kill-ring" single ((:commit . "5773dfadc104a906c088a3ec62e8cdd3e01e57fa") (:authors ("khiker" . "khiker.mail+elisp@gmail.com")) (:maintainer "khiker" . "khiker.mail+elisp@gmail.com") (:keywords "popup" "kill-ring" "pos-tip") (:url . "https://github.com/waymondo/popup-kill-ring"))]) (popup-switcher . [(20210402 1208) ((cl-lib (0 3)) (popup (0 5 3)) (dash (2 10 0))) "switch to other buffers and files via popup." single ((:commit . "94e01b9ea7970e86ed0f2fbeaa8cd320b60ae821") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "popup" "switch" "buffers" "functions") (:url . "https://github.com/kostafey/popup-switcher"))]) - (popwin . [(20210215 1849) ((emacs (24 3))) "Popup Window Manager" single ((:commit . "f90f3a09622993bf34704bb11c24984f6b1f10e2") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacsorphanage/popwin"))]) + (popwin . [(20210215 1849) ((emacs (24 3))) "Popup Window Manager" single ((:commit . "71a0ab27b13733df0fa37fd1a5fcba8799a35df9") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Tomohiro Matsuyama" . "m2ym.pub@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacsorphanage/popwin"))]) (portage-navi . [(20141208 1355) ((concurrent (0 3 1)) (ctable (0 1 2))) "portage viewer" single ((:commit . "8016c3e99fe6cef101d479a3d69185796b22ca2f") (:authors ("")) (:maintainer "") (:keywords "tools" "gentoo") (:url . "https://github.com/kiwanami/emacs-portage-navi"))]) (porthole . [(20200404 1454) ((emacs (26)) (web-server (0 1 2)) (f (0 19 0)) (json-rpc-server (0 1 2))) "RPC Servers in Emacs" single ((:commit . "21af54b2fc9fd8876664c8e6c2ff2e4ffbbad249") (:authors ("GitHub user \"Jcaw\"")) (:maintainer "GitHub user \"Jcaw\"") (:keywords "comm" "rpc" "http" "json") (:url . "https://github.com/jcaw/porthole"))]) - (pos-tip . [(20191227 1356) nil "Show tooltip at point" single ((:commit . "179cc126b363f72ca12fab1e0dc462ce0ee79742") (:authors ("S. Irie")) (:maintainer "S. Irie") (:keywords "tooltip"))]) - (posframe . [(20220124 859) ((emacs (26 1))) "Pop a posframe (just a frame) at point" tar ((:commit . "c91d4d53fa479ceb604071008ce0a901770eff57") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "tooltip") (:url . "https://github.com/tumashu/posframe"))]) + (pos-tip . [(20220715 1020) nil "Show tooltip at point" single ((:commit . "bfe74204d1201a33ace81898e7c485382817510a") (:authors ("S. Irie")) (:maintainer "S. Irie") (:keywords "tooltip"))]) + (posframe . [(20220528 27) ((emacs (26 1))) "Pop a posframe (just a frame) at point" tar ((:commit . "0d23bc5f7cfac00277d83ae7ba52c48685bcbc68") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "tooltip") (:url . "https://github.com/tumashu/posframe"))]) (posix-manual . [(20200301 1103) ((emacs (24))) "POSIX manual page lookup" tar ((:commit . "ebaacd7266ae7a66605317f57b9f42e9cfb2ce1e") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-posix-manual"))]) (postcss-sorting . [(20180211 956) ((emacs (24))) "postcss-sorting interface" single ((:commit . "deb0c935d2904c11a965758a9aee5a0e905f21fc") (:authors ("Peiwen Lu" . "hi@peiwen.lu")) (:maintainer "Peiwen Lu" . "hi@peiwen.lu") (:url . "https://github.com/P233/postcss-sorting.el"))]) (pov-mode . [(20161115 743) nil "Major mode for editing POV-Ray scene files." tar ((:commit . "9fc1db3aab7c27155674dd1a87ec62606035d074") (:authors ("Peter Boettcher" . "pwb@andrew.cmu.edu")) (:maintainer "Marco Pessotto" . "melmothx@gmail.com") (:keywords "pov" "povray"))]) @@ -3866,16 +3915,17 @@ (powerline-evil . [(20190603 340) ((evil (1 0 8)) (powerline (2 3))) "Utilities for better Evil support for Powerline" tar ((:commit . "b77e2cf571e9990734f2b30d826f3a362b559fd1") (:authors ("Chris Johnson" . "chris@christophermjohnson.net")) (:maintainer "Chris Johnson" . "chris@christophermjohnson.net") (:keywords "evil" "mode-line" "powerline") (:url . "http://github.com/johnson-christopher/powerline-evil/"))]) (powershell . [(20220402 643) ((emacs (24))) "Mode for editing PowerShell scripts" single ((:commit . "77b27faf8a292f1dc9f54c872241dc53b6791bf1") (:authors ("Frédéric Perrin ")) (:maintainer "Frédéric Perrin ") (:keywords "powershell" "languages") (:url . "http://github.com/jschaf/powershell.el"))]) (powerthesaurus . [(20220414 1453) ((emacs (24)) (request (0 3 0)) (s (1 12 0))) "Powerthesaurus integration" single ((:commit . "88bc5229cba1604c8f74db0a1456d99259d538cc") (:keywords "convenience" "writing") (:url . "http://github.com/SavchenkoValeriy/emacs-powerthesaurus"))]) + (ppcompile . [(20220619 1535) ((emacs (25 1))) "Ping-pong compile projects on remote machines" single ((:commit . "ff54435af0ea970ec89b48afe050a61e721eb39f") (:authors ("Guangwang Huang" . "whatacold@gmail.com")) (:maintainer "Guangwang Huang") (:keywords "tools") (:url . "https://github.com/whatacold/ppcompile"))]) (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") (:authors ("Robert Dallas Gray")) (:maintainer "Robert Dallas Gray") (:keywords "projects" "drawer") (:url . "https://github.com/rdallasgrayppd-sr-speedbar"))]) (ppp . [(20220211 1529) ((emacs (25 1))) "Extended pretty printer for Emacs Lisp" single ((:commit . "d5d854c3006dfd268e62c7f91c2aad6f86a505b5") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tools") (:url . "https://github.com/conao3/ppp.el"))]) - (pr-review . [(20220412 440) ((emacs (27 1)) (magit-section (3 2)) (magit (3 2)) (markdown-mode (2 5)) (ghub (3 5))) "Review github PR" tar ((:commit . "cfc5643c4ab66f17a31d82418465ae434486d8db") (:authors ("Yikai Zhao" . "yikai@z1k.dev")) (:maintainer "Yikai Zhao" . "yikai@z1k.dev") (:keywords "tools") (:url . "https://github.com/blahgeek/emacs-pr-review"))]) + (pr-review . [(20220629 1556) ((emacs (27 1)) (magit-section (3 2)) (magit (3 2)) (markdown-mode (2 5)) (ghub (3 5))) "Review github PR" tar ((:commit . "e4db206f2ca9baf65ca7757234bc2baf5634d8cb") (:authors ("Yikai Zhao" . "yikai@z1k.dev")) (:maintainer "Yikai Zhao" . "yikai@z1k.dev") (:keywords "tools") (:url . "https://github.com/blahgeek/emacs-pr-review"))]) (prassee-theme . [(20180709 1004) ((emacs (24))) "A high contrast color theme for Emacs." single ((:commit . "81126f69cdbaab836c00ae7a49aaf89d4229fde1") (:authors ("Prassee " . "prassee.sathian@gmail.com")) (:maintainer "Prassee " . "prassee.sathian@gmail.com") (:keywords "dark" "high-contrast" "faces") (:url . "https://github.com/prassee/prassee-emacs-theme"))]) - (prefab . [(20220403 1026) ((emacs (27 1)) (f (0 2 0)) (transient (0 3 7))) "Integration for project generation tools like cookiecutter" single ((:commit . "ffcf9c640c8c458a58b752ef2608e07a929a1104") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:url . "https://github.com/laurencewarne/prefab.el"))]) + (prefab . [(20220605 1310) ((emacs (27 1)) (f (0 2 0)) (transient (0 3 7))) "Integration for project generation tools like cookiecutter" single ((:commit . "5ca61a420d8de5e3707a5c2f01153f4ab2ea3ec1") (:authors ("Laurence Warne")) (:maintainer "Laurence Warne") (:url . "https://github.com/laurencewarne/prefab.el"))]) (preproc-font-lock . [(20151107 2018) nil "Highlight C-style preprocessor directives." single ((:commit . "565fda9f5fdeb0598986174a07e9fb09f7604397") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "c" "languages" "faces") (:url . "https://github.com/Lindydancer/preproc-font-lock"))]) - (prescient . [(20211228 417) ((emacs (25 1))) "Better sorting and filtering" single ((:commit . "c5295a9eecbd2935bb57684a4422638e03bf738c") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) + (prescient . [(20220601 1652) ((emacs (25 1))) "Better sorting and filtering" single ((:commit . "07d61b7779c4cca3009390383e7f98a55de7e17e") (:authors ("Radian LLC" . "contact+prescient@radian.codes")) (:maintainer "Radian LLC" . "contact+prescient@radian.codes") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) (preseed-generic-mode . [(20180210 500) nil "Debian preseed file major mode" single ((:commit . "3aa8806c4a659064baa01751400c53fbaf847f66") (:authors ("Tong Sun" . "suntong@users.sourceforge.net")) (:maintainer "Tong Sun" . "suntong@users.sourceforge.net") (:url . "https://github.com/suntong/preseed-generic-mode"))]) (presentation . [(20180427 224) ((emacs (24 4)) (cl-lib (0 5))) "Display large character for presentation" single ((:commit . "f53f67aeab97e8eea6d1f12df5f7ce3b1b03b879") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "environment" "faces" "frames") (:url . "https://github.com/zonuexe/emacs-presentation-mode"))]) - (prettier . [(20211018 955) ((emacs (26 1)) (iter2 (0 9)) (nvm (0 2))) "Code formatting with Prettier" tar ((:commit . "485417c0677255249e944b1174225547e4c61c00") (:authors ("Julian Scheid" . "julians37@gmail.com")) (:maintainer "Julian Scheid" . "julians37@gmail.com") (:keywords "convenience" "languages" "files") (:url . "https://github.com/jscheid/prettier.el"))]) + (prettier . [(20220603 1338) ((emacs (26 1)) (iter2 (0 9)) (nvm (0 2)) (editorconfig (0 8))) "Code formatting with Prettier" tar ((:commit . "3fcf3ba3507f47b8ac1392e7901aa2c418147758") (:authors ("Julian Scheid" . "julians37@gmail.com")) (:maintainer "Julian Scheid" . "julians37@gmail.com") (:keywords "convenience" "languages" "files") (:url . "https://github.com/jscheid/prettier.el"))]) (prettier-js . [(20180109 726) nil "Minor mode to format JS code on file save" single ((:commit . "e9b73e81d3e1642aec682195f127a42dfb0b5774") (:authors ("James Long and contributors")) (:maintainer "James Long and contributors") (:keywords "convenience" "wp" "edit" "js") (:url . "https://github.com/prettier/prettier-emacs"))]) (prettier-rc . [(20220330 145) ((emacs (24 3)) (prettier-js (0 1 0))) "Use local rc rules with prettier" single ((:commit . "99e40a9783299e41911f6b37156626d53e43809e") (:authors ("Joel Bryan Juliano ")) (:maintainer "Joel Bryan Juliano ") (:keywords "convenience" "edit" "js" "ts" "rc" "prettierrc" "prettier-rc" "prettier" "prettier-js") (:url . "https://github.com/jjuliano/prettier-rc-emacs"))]) (prettify-greek . [(20160603 908) nil "Greek letters for prettify-symbols" single ((:commit . "698d07a6ffe85f6fb53f3bfec4f49380c25cfd90") (:keywords "faces") (:url . "https://gitlab.com/fommil/emacs-prettify-greek"))]) @@ -3886,7 +3936,7 @@ (pretty-speedbar . [(20220303 1726) ((emacs (27 1))) "Make speedbar pretty" single ((:commit . "56dc9f114fcc55843e182cde1fc9d7a14c261c6a") (:authors ("Kristle Chester" . "kcyarn7@gmail.com")) (:maintainer "Kristle Chester" . "kcyarn7@gmail.com") (:keywords "file" "tags" "tools") (:url . "https://github.com/kcyarn/pretty-speedbar"))]) (pretty-symbols . [(20140814 959) nil "Draw tokens as Unicode glyphs." single ((:commit . "582cbe51ecfe1cc0a5b185bc06113c8a661e3956") (:authors ("David Röthlisberger" . "david@rothlis.net")) (:maintainer "David Röthlisberger" . "david@rothlis.net") (:keywords "faces") (:url . "http://github.com/drothlis/pretty-symbols"))]) (preview-dvisvgm . [(20211225 635) ((emacs (27 1)) (auctex (13 0 12))) "SVG output for LaTeX preview" single ((:commit . "630e2f008c4a6c67a01824b7ad6b844977b28f87") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:keywords "tex") (:url . "https://github.com/TobiasZawada/preview-dvisvgm"))]) - (prism . [(20210804 417) ((emacs (26 1)) (dash (2 14 1))) "Customizable, depth-based syntax coloring" single ((:commit . "b0cbdaf4916c1cf348a8f0e4f6158e040a627562") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "faces" "lisp") (:url . "https://github.com/alphapapa/prism.el"))]) + (prism . [(20220716 40) ((emacs (26 1)) (dash (2 14 1))) "Customizable, depth-based syntax coloring" single ((:commit . "9cf6b5e3bcb6044567f3911a4adb796e0c61f207") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "faces" "lisp") (:url . "https://github.com/alphapapa/prism.el"))]) (private . [(20150122 157) ((aes (0 6))) "take care of your private configuration files." single ((:commit . "9266d01c095895cc3ee9de95bc20511e88353755") (:authors ("Cheung Mou Wai" . "yeannylam@gmail.com")) (:maintainer "Cheung Mou Wai" . "yeannylam@gmail.com") (:keywords "private" "configuration" "backup" "recover") (:url . "https://github.com/cheunghy/private"))]) (private-comments-mode . [(20220330 1316) ((emacs (27 1))) "Minor mode for masukomi/private_comments" single ((:commit . "57eb1ba3812e44344b7d5336c3a3ad14a28e4f9e") (:keywords "tools") (:url . "https://github.com/masukomi/private-comments-mode"))]) (private-diary . [(20151216 1657) ((emacs (24 0))) "maintain a private diary in Emacs" single ((:commit . "0c86fb6150ad8ed14f94def3504f5a68f4147283") (:authors ("James P. Ascher" . "jpa4q@virginia.edu")) (:maintainer "James P. Ascher" . "jpa4q@virginia.edu") (:keywords "diary" "encryption") (:url . "https://github.com/cacology/private-diary"))]) @@ -3894,23 +3944,24 @@ (proced-narrow . [(20190911 1818) ((seq (2 20)) (emacs (24))) "Live-narrowing of search results for proced." single ((:commit . "0e2a4dfb072eb0369d0020b429e820ae620d325e") (:authors ("Travis Jeffery" . "tj@travisjeffery.com")) (:maintainer "Travis Jeffery" . "tj@travisjeffery.com") (:keywords "processes" "proced") (:url . "https://github.com/travisjeffery/proced-narrow"))]) (processing-mode . [(20171022 2302) nil "Major mode for Processing 2.0" single ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net") (:keywords "languages" "snippets") (:url . "https://github.com/ptrv/processing2-emacs"))]) (processing-snippets . [(20140426 1428) ((yasnippet (0 8 0))) "Snippets for processing-mode" tar ((:commit . "448aba82970c98322629eaf2746e73be6c30c98e") (:authors ("Peter Vasil" . "mail@petervasil.net")) (:maintainer "Peter Vasil" . "mail@petervasil.net") (:keywords "snippets") (:url . "https://github.com/ptrv/processing2-emacs"))]) - (prodigy . [(20210116 816) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (24))) "Manage external services from within Emacs" single ((:commit . "168f5ace1671876d8c3bd350c0853bd0196bddda") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))]) + (prodigy . [(20220523 1728) ((s (1 8 0)) (dash (2 4 0)) (f (0 14 0)) (emacs (27 1))) "Manage external services" single ((:commit . "a3be00d3b90a77118c2d7d9f5a2f26151091fa07") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/prodigy.el"))]) (professional-theme . [(20150315 1100) nil "Emacs port of Vim's professional theme" single ((:commit . "0927d1474049a193f9f366bde5eb1887b9ba20ed") (:authors ("Juanjo Alvarez" . "juanjo@juanjoalvarez.net")) (:maintainer "Juanjo Alvarez" . "juanjo@juanjoalvarez.net") (:keywords "theme" "light" "professional") (:url . "https://github.com/juanjux/emacs-professional-theme"))]) (prog-fill . [(20180607 132) ((emacs (25 1)) (cl-lib (0 6 1))) "Smartly format lines to use vertical space." single ((:commit . "3fbf7da6dd826e95c9077d659566ee29814a31d8") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "convenience" "c" "formatting" "editing") (:url . "https://github.com/ahungry/prog-fill"))]) (prognth . [(20130920 1759) nil "Extend prog1 to arbitrary index" single ((:commit . "2f1ca4d34b1fd581163e1df122c85418137e8e62") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "lisp"))]) (programmer-dvorak . [(20150427 137) nil "Input method for Programmer Dvorak." single ((:commit . "3288a8f058eca4cab390a564babbbcb17cfa0350") (:authors ("Chenyun Yang" . "yangchenyun@gmail.com")) (:maintainer "Chenyun Yang" . "yangchenyun@gmail.com") (:keywords "dvorak" "programmer-dvorak" "input-method") (:url . "https://github.com/yangchenyun/programmer-dvorak"))]) - (project-abbrev . [(20210715 1213) ((emacs (25 1))) "Customize abbreviation expansion in the project" single ((:commit . "8557d7d65cd0088e5b08fa95dfe8214e96e18bca") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/project-abbrev"))]) + (project-abbrev . [(20220704 658) ((emacs (25 1))) "Customize abbreviation expansion in the project" single ((:commit . "5c35af3e456f1300f0e170d74da87e563b6cc222") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "abbrev" "abbreviation" "customizable" "shortcut") (:url . "https://github.com/jcs-elpa/project-abbrev"))]) (project-explorer . [(20150504 14) ((cl-lib (0 3)) (es-lib (0 3)) (es-windows (0 1)) (emacs (24))) "A project explorer sidebar" single ((:commit . "589a09008706f5f4ef91393dc4306eede0d15ca9") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/project-explorer"))]) - (project-mode-line-tag . [(20211013 1954) ((emacs (25 1))) "Display a buffer's project in its mode line" single ((:commit . "69d44e5495185587ee8577f8b9d616063d6bd7f8") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/project-mode-line-tag"))]) + (project-mode-line-tag . [(20220720 2110) ((emacs (25 1))) "Display a buffer's project in its mode line" single ((:commit . "509ac9a01cd344ee9bfa1bfebed6565dd4cfedd7") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/project-mode-line-tag"))]) (project-persist . [(20180906 1302) nil "A minor mode to allow loading and saving of project settings." tar ((:commit . "26d9435bef44da2a1b0892eba822f9f487b98eec") (:authors ("Robert Dallas Gray")) (:maintainer "Robert Dallas Gray") (:keywords "project" "persistence") (:url . "https://github.com/rdallasgray/project-persist"))]) (project-persist-drawer . [(20151108 1222) ((project-persist (0 3))) "Use a project drawer with project-persist." tar ((:commit . "35bbe132a4fab6a0fec15ce6c0fd2fe6a4aa9626") (:authors ("Robert Dallas Gray" . "mail@robertdallasgray.com")) (:maintainer "Robert Dallas Gray" . "mail@robertdallasgray.com") (:keywords "defaults") (:url . "https://github.com/rdallasgray/project-persist-drawer.git"))]) + (project-rootfile . [(20220708 1403) ((emacs (27 1))) "Extension of project.el to detect project with root file" single ((:commit . "db981a9d270e438b669aa0772d0ea406689d42ad") (:authors ("Taiki Sugawara" . "buzz.taiki@gmail.com")) (:maintainer "Taiki Sugawara" . "buzz.taiki@gmail.com") (:url . "https://github.com/buzztaiki/project-rootfile.el"))]) (project-shells . [(20210625 647) ((emacs (24 3)) (seq (2 19))) "Manage the shell buffers of each project" single ((:commit . "900369828f1a213c60a2207a71d46bc43fd5405c") (:authors ("\"Huang, Ying\"" . "huang.ying.caritas@gmail.com")) (:maintainer "\"Huang, Ying\"" . "huang.ying.caritas@gmail.com") (:keywords "processes" "terminals") (:url . "https://github.com/hying-caritas/project-shells"))]) - (project-tab-groups . [(20220331 918) ((emacs (28))) "Support a \"one tab group per project\" workflow" single ((:commit . "837267a23fa57199599b96af94c2db2e80a859d3") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/project-tab-groups"))]) - (projectile . [(20220419 1102) ((emacs (25 1))) "Manage and navigate projects in Emacs easily" single ((:commit . "b014d79f5bca2103cf055b27334ad89f007a6ac8") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "project" "convenience") (:url . "https://github.com/bbatsov/projectile"))]) + (project-tab-groups . [(20220720 2109) ((emacs (28 1))) "Support a \"one tab group per project\" workflow" single ((:commit . "2d348279876f3073176048d903f9672f3c933ca5") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/project-tab-groups"))]) + (projectile . [(20220804 1530) ((emacs (25 1))) "Manage and navigate projects in Emacs easily" single ((:commit . "94273611c95b6718c41018be2657f6982a325f60") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "project" "convenience") (:url . "https://github.com/bbatsov/projectile"))]) (projectile-codesearch . [(20180508 1522) ((codesearch (20171122 431)) (projectile (20150405 126))) "Integration of codesearch into projectile" single ((:commit . "f6eb96f034a925444412cfa03e45e0ccbbafe3f2") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:keywords "tools" "development" "search") (:url . "https://github.com/abingham/emacs-codesearch"))]) (projectile-git-autofetch . [(20200820 2028) ((emacs (25 1)) (projectile (0 14 0))) "automatically fetch git repositories" single ((:commit . "423ed5fa6508c4edc0a837bb585c7e77e99876be") (:authors ("Andreas Müller" . "code@0x7.ch")) (:maintainer "Andreas Müller" . "code@0x7.ch") (:keywords "tools" "vc") (:url . "https://github.com/andrmuel/projectile-git-autofetch"))]) (projectile-rails . [(20220403 1621) ((emacs (25 1)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2)) (dash (2 18 1))) "Minor mode for Rails projects based on projectile-mode" single ((:commit . "2a0107e83d8320507e288c853e0762bec110cd15") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:keywords "rails" "projectile") (:url . "https://github.com/asok/projectile-rails"))]) - (projectile-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "4ed5c741233a81d96115f556784269042070901e") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "ripgrep" "projectile") (:url . "https://github.com/nlamirault/ripgrep.el"))]) + (projectile-ripgrep . [(20180914 1500) ((ripgrep (0 3 0)) (projectile (0 14 0))) "Run ripgrep with Projectile" single ((:commit . "872e250e8f93b8bb0a8a1de8bde17fd9bd116e31") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "ripgrep" "projectile") (:url . "https://github.com/nlamirault/ripgrep.el"))]) (projectile-sift . [(20160107 1015) ((sift (0 2 0)) (projectile (0 13 0))) "Run a sift with Projectile" single ((:commit . "cdddba2d183146c340915003f1b5d09d13712c22") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "sift" "projectile") (:url . "https://github.com/nlamirault/sift.el"))]) (projectile-speedbar . [(20190807 2010) ((projectile (0 11 0)) (sr-speedbar (0))) "projectile integration for speedbar" single ((:commit . "93320e467ee78772065e599a5dba94889a77db22") (:authors ("Anshul Verma" . "anshul.verma86@gmail.com")) (:maintainer "Anshul Verma" . "anshul.verma86@gmail.com") (:keywords "project" "convenience" "speedbar" "projectile") (:url . "https://github.com/anshulverma/projectile-speedbar"))]) (projectile-trailblazer . [(20170928 1624) ((emacs (24 4)) (projectile (0 12 0)) (inflections (1 1)) (inf-ruby (2 2 6)) (f (0 13 0)) (rake (0 3 2))) "Minor mode for Rails projects using trailblazer" single ((:commit . "a37a4f7b7f727d98e4c74c0256e059e84263553d") (:authors ("Michael Dahl" . "michael.dahl84@gmail.com")) (:maintainer "Michael Dahl" . "michael.dahl84@gmail.com") (:keywords "rails" "projectile" "trailblazer" "languages") (:url . "https://github.com/micdahl/projectile-trailblazer"))]) @@ -3922,28 +3973,28 @@ (prompt-text . [(20190408 310) nil "Configure your minibuffer prompt" single ((:commit . "f51cf3d7f08ab8946e9869f7de2082536e45cc22") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:keywords "utility" "minibuffer") (:url . "https://github.com/10sr/prompt-text-el"))]) (prompts . [(20160916 1041) ((dash (2 13 0))) "utilities for working with text prompts." single ((:commit . "1cd5e732ff2a86b47836eb7252e5b59cd4b6ab26") (:authors ("Ben Moon" . "guiltydolphin@gmail.com")) (:maintainer "Ben Moon" . "guiltydolphin@gmail.com") (:keywords "input" "minibuffer") (:url . "https://github.com/guiltydolphin/prompts.el"))]) (pronto . [(20200218 1633) ((emacs (24))) "Compilation mode for pronto stylechecks" single ((:commit . "c2a2ec718c08de1fd2e681970456786cf4eac8fe") (:authors ("Julian Rubisch" . "julian@julianrubisch.at")) (:maintainer "Julian Rubisch" . "julian@julianrubisch.at") (:keywords "processes" "tools") (:url . "https://github.com/julianrubisch/pronto.el"))]) - (proof-general . [(20220329 655) ((emacs (25 1))) "A generic Emacs interface for proof assistants" tar ((:commit . "a894bcc5f915f1c76a2a83c12c12ea3497542426") (:url . "https://proofgeneral.github.io/"))]) + (proof-general . [(20220803 1702) ((emacs (25 2))) "A generic Emacs interface for proof assistants" tar ((:commit . "c304d73e09daec54dd8f8cef90df10c0b3d2c2ef") (:url . "https://proofgeneral.github.io/"))]) (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") (:authors ("David Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Christiansen" . "david@davidchristiansen.dk") (:keywords "convenience") (:url . "https://github.com/david-christiansen/prop-menu-el"))]) (propfont-mixed . [(20150113 2211) ((emacs (24)) (cl-lib (0 5))) "Use proportional fonts with space-based indentation." single ((:commit . "0b461ef4754a469610dba71874a34b6da42176bf") (:authors ("Kirill Ignatiev ")) (:maintainer "Kirill Ignatiev ") (:keywords "faces") (:url . "https://github.com/ikirill/propfont-mixed"))]) (proportional . [(20200309 1556) ((emacs (25 1))) "use a proportional font everywhere" single ((:commit . "0e4537af7ba2bc9dbb449c38350bce012b382f51") (:authors ("Johannes Goslar")) (:maintainer "Johannes Goslar") (:keywords "faces") (:url . "https://github.com/ksjogo/proportional"))]) (prosjekt . [(20151127 1416) ((dash (2 8 0))) "a software project tool for emacs" tar ((:commit . "a864a8be5842223043702395f311e3350c28e9db") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/prosjekt"))]) - (protobuf-mode . [(20220303 1716) nil "major mode for editing protocol buffers." single ((:commit . "d76f8c868c271ce57241119f9316b6f5a7109e32") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com") (:keywords "google" "protobuf" "languages"))]) + (protobuf-mode . [(20220303 1716) nil "major mode for editing protocol buffers." single ((:commit . "a744c223a47d747d98a9b5355ad250a9c72af4e5") (:authors ("Alexandre Vassalotti" . "alexandre@peadrop.com")) (:maintainer "Alexandre Vassalotti" . "alexandre@peadrop.com") (:keywords "google" "protobuf" "languages"))]) (protocols . [(20170802 1132) ((cl-lib (0 5))) "Protocol database access functions." single ((:commit . "d0f7c4acb05465f1a0d4be54363bbd2802647e77") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "convenience" "net" "protocols") (:url . "https://github.com/davep/protocols.el"))]) (proxy-mode . [(20220210 1410) ((emacs (25))) "A minor mode to toggle proxy." single ((:commit . "620e48c6afaf760d0ee9f5bdf583fd91cd9d0ec6") (:keywords "comm" "proxy") (:url . "https://repo.or.cz/proxy-mode.git"))]) (psalm . [(20211002 1552) ((emacs (24 3)) (php-mode (1 22 3))) "Interface to Psalm" single ((:commit . "28d546a79cb865a78b94cd7e929d66d720505faa") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "tools" "php") (:url . "https://github.com/emacs-php/psalm.el"))]) (psc-ide . [(20210219 2247) ((emacs (25)) (dash (2 18 0)) (company (0 8 7)) (s (1 10 0)) (flycheck (0 24)) (let-alist (1 0 4)) (seq (1 11))) "Minor mode for PureScript's IDE server." tar ((:commit . "ce97d719458ea099b40c02f05b6609601c727e66") (:authors ("Erik Post" . "erik@shinsetsu.nl") ("Dmitry Bushenko" . "d.bushenko@gmail.com") ("Christoph Hegemann" . "christoph.hegemann1337@gmail.com") ("Brian Sermons")) (:maintainer "Erik Post" . "erik@shinsetsu.nl") (:keywords "languages") (:url . "https://github.com/purescript-emacs/psc-ide-emacs"))]) (psci . [(20191025 830) ((emacs (24 4)) (purescript-mode (13 10)) (dash (2 9 0))) "Major mode for purescript repl psci" tar ((:commit . "95fb5d14033add8fe9c8c6b4379758beb88af1d0") (:authors ("Antoine R. Dumont ")) (:maintainer "Antoine R. Dumont ") (:keywords "languages" "purescript" "psci" "repl") (:url . "https://github.com/purescript-emacs/emacs-psci"))]) (psession . [(20220318 1129) ((emacs (24)) (cl-lib (0 5)) (async (1 9 3))) "Persistent save of elisp objects." single ((:commit . "328c64804c4c9e15b373c7ba3bc82bfdfb27971a") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/psession"))]) - (psysh . [(20190709 106) ((emacs (24 3)) (s (1 9 0)) (f (0 17)) (php-runtime (0 2))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "21250984ad8137aa3440ac12e52475ef03f19fcb") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "processes" "php") (:url . "https://github.com/zonuexe/psysh.el"))]) + (psysh . [(20220607 1642) ((emacs (24 3)) (s (1 9 0)) (php-runtime (0 2))) "PsySH, PHP interactive shell (REPL)" single ((:commit . "796b26a5cd75df9d2ecb206718b310ff21787063") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "processes" "php") (:url . "https://github.com/emacs-php/psysh.el"))]) (pt . [(20161226 1959) nil "A front-end for pt, The Platinum Searcher." single ((:commit . "6d99b2aaded3ece3db19a20f4b8f1d4abe382622") (:authors ("Bailey Ling")) (:maintainer "Bailey Ling") (:keywords "pt" "ack" "ag" "grep" "search") (:url . "https://github.com/bling/pt.el"))]) (ptemplate . [(20210324 1446) ((emacs (25 1)) (yasnippet (0 13 0))) "Project templates" single ((:commit . "b81cc7be8865745c3a60177a244d2a69729ab21b") (:authors ("Nikita Bloshchanevich" . "nikblos@outlook.com")) (:maintainer "Nikita Bloshchanevich" . "nikblos@outlook.com") (:url . "https://github.com/nbfalcon/ptemplate"))]) (ptemplate-templates . [(20210324 1443) ((emacs (25 1)) (ptemplate (2 0 0))) "Official templates" tar ((:commit . "3788387973dde3101f9a3f2064572be033c59ad6") (:authors ("Nikita Bloshchanevich" . "nikblos@outlook.com")) (:maintainer "Nikita Bloshchanevich" . "nikblos@outlook.com") (:url . "https://github.com/nbfalcon/ptemplate-templates"))]) - (pubmed . [(20210927 1933) ((emacs (25 1)) (deferred (0 5 1)) (esxml (0 3 4)) (s (1 12 0)) (unidecode (0 2))) "Interface to PubMed" tar ((:commit . "e1ac5433daf966cf7c5e9178b037191e1eb3e4bd") (:authors ("Folkert van der Beek" . "folkertvanderbeek@gmail.com")) (:maintainer "Folkert van der Beek" . "folkertvanderbeek@gmail.com") (:keywords "pubmed" "hypermedia") (:url . "https://gitlab.com/fvdbeek/emacs-pubmed"))]) + (pubmed . [(20220710 2149) ((emacs (26 1)) (esxml (0 3 4)) (s (1 12 0)) (unidecode (0 2))) "Interface to PubMed" tar ((:commit . "7e38b3f8ec72618b89afdeaa113f1787dcb690ca") (:authors ("Folkert van der Beek" . "folkertvanderbeek@gmail.com")) (:maintainer "Folkert van der Beek" . "folkertvanderbeek@gmail.com") (:keywords "pubmed" "hypermedia") (:url . "https://gitlab.com/fvdbeek/emacs-pubmed"))]) (pug-mode . [(20211114 1645) ((emacs (24 4)) (cl-lib (0 5))) "Major mode for jade/pug template files" single ((:commit . "73f8c2f95eba695f701df20c8436f49abadebdc1") (:authors ("Nathan Weizenbaum")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "markup" "language" "jade" "pug") (:url . "https://github.com/hlissner/emacs-pug-mode"))]) (pulseaudio-control . [(20220418 742) nil "Use `pactl' to manage PulseAudio volumes." single ((:commit . "22f54ae7282b37eaec0231a21e60213a5dbc7172") (:authors ("Alexis" . "flexibeast@gmail.com") ("Ellington Santos" . "ellingtonsantos@gmail.com") ("Sergey Trofimov" . "sarg@sarg.org.ru")) (:maintainer "Alexis" . "flexibeast@gmail.com") (:keywords "multimedia" "hardware" "sound" "pulseaudio") (:url . "https://github.com/flexibeast/pulseaudio-control"))]) (punctuality-logger . [(20141120 2031) nil "Punctuality logger for Emacs" single ((:commit . "e09e5dd37bc92289fa2f7dc44aed51a7b5e04bb0") (:authors ("Philip Woods" . "elzairthesorcerer@gmail.com")) (:maintainer "Philip Woods" . "elzairthesorcerer@gmail.com") (:keywords "reminder" "calendar") (:url . "https://gitlab.com/elzair/punctuality-logger"))]) (pungi . [(20150222 1246) ((jedi (0 2 0 -3 2)) (pyvenv (1 5))) "Integrates jedi with virtualenv and buildout python environments" single ((:commit . "a2d4d439ea371be0b064a12248288903b8a521a0") (:authors ("Matthew Russell" . "matthew.russell@horizon5.org")) (:maintainer "Matthew Russell" . "matthew.russell@horizon5.org") (:keywords "convenience"))]) - (puni . [(20220405 1808) ((emacs (26 1))) "Parentheses Universalistic" single ((:commit . "bb9b1e271b51b3dfae984da15f0e40f5be5b2473") (:authors ("Hao Wang" . "amaikinono@gmail.com")) (:maintainer "Hao Wang" . "amaikinono@gmail.com") (:keywords "convenience" "lisp" "tools") (:url . "https://github.com/AmaiKinono/puni"))]) + (puni . [(20220730 1556) ((emacs (26 1))) "Parentheses Universalistic" single ((:commit . "28836e98d5566172b1a94d7b38290d07b49201b2") (:authors ("Hao Wang" . "amaikinono@gmail.com")) (:maintainer "Hao Wang" . "amaikinono@gmail.com") (:keywords "convenience" "lisp" "tools") (:url . "https://github.com/AmaiKinono/puni"))]) (punpun-theme . [(20210508 1635) ((emacs (24 1))) "A bleak theme" tar ((:commit . "7026684cd568cb691af3ced5de14c375fe6f5a1a"))]) (puppet-mode . [(20210305 645) ((emacs (24 1)) (pkg-info (0 4))) "Major mode for Puppet manifests" single ((:commit . "71bcd383f20a457e8ad34e0e08ec47f8e1b64263") (:authors ("Vox Pupuli" . "voxpupuli@groups.io") ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Sebastian Wiesner" . "swiesner@lunaryorn.com") ("Russ Allbery" . "rra@stanford.edu")) (:maintainer "Vox Pupuli" . "voxpupuli@groups.io") (:keywords "languages") (:url . "https://github.com/voxpupuli/puppet-mode"))]) (purescript-mode . [(20210109 244) ((emacs (25 1))) "A PureScript editing mode" tar ((:commit . "9c37067e611b5253a095f03245c247aa97bd7614") (:authors ("1992 Simon Marlow") ("1997-1998 Graeme E Moss" . "gem@cs.york.ac.uk") ("Tommy Thorn" . "thorn@irisa.fr") ("2001-2002 Reuben Thomas (>=v1.4)") ("2003 Dave Love" . "fx@gnu.org") ("2014 Tim Dysinger" . "tim@dysinger.net")) (:maintainer "1992 Simon Marlow") (:keywords "faces" "files" "purescript") (:url . "https://github.com/purescript-emacs/purescript-mode"))]) @@ -3953,7 +4004,7 @@ (pushbullet . [(20140809 1232) ((grapnel (0 5 2)) (json (1 2))) "Emacs client for the PushBullet Android app" single ((:commit . "73c59a0f1dc04875b3e5a2c8afbc26c32128e445") (:authors ("Abhishek L" . "abhishek.lekshmanan@gmail.com")) (:maintainer "Abhishek L" . "abhishek.lekshmanan@gmail.com") (:keywords "convenience") (:url . "http://www.github.com/theanalyst/revolver"))]) (pushover . [(20170818 2103) ((cl-lib (0 5))) "Pushover API Access" single ((:commit . "bbe3ac8df3c532a72da4552615af960b8a577588") (:authors ("Samuel W. Flint" . "swflint@flintfam.org")) (:maintainer "Samuel W. Flint" . "swflint@flintfam.org") (:keywords "notifications") (:url . "http://github.com/swflint/pushover.el"))]) (px . [(20170317 2330) nil "preview inline latex in any mode" single ((:commit . "0c52f7933eab3ca1642ab0df151db9950430c9e2") (:authors ("Aurélien Aptel" . "aurelien.aptel@gmail.com")) (:maintainer "Aurélien Aptel" . "aurelien.aptel@gmail.com") (:url . "http://github.com/aaptel/preview-latex"))]) - (py-autopep8 . [(20160925 1052) nil "Use autopep8 to beautify a Python buffer" single ((:commit . "68e12d8788c91c7ec53a68acf1d23adb2ffa4788") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "http://paetzke.me/project/py-autopep8.el"))]) + (py-autopep8 . [(20220802 1154) ((emacs (26 1))) "Use autopep8 to beautify a Python buffer" single ((:commit . "4e5a8d5ddd77b45841f0e55d7c5326854f565830") (:authors ("Friedrich Paetzk" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzk" . "f.paetzke@gmail.com") (:keywords "convenience") (:url . "https://github.com/ideasman42/emacs-py-autopep8"))]) (py-gnitset . [(20170821 1732) nil "Run your Python tests any way you'd like" single ((:commit . "1e993cc29cbc31e06fe1e335dec198e21972fa55") (:authors ("Brandon W Maister" . "quodlibetor@gmail.com")) (:maintainer "Brandon W Maister" . "quodlibetor@gmail.com") (:url . "https://www.github.com/quodlibetor/py-gnitset"))]) (py-import-check . [(20130802 1111) nil "Finds the unused python imports using importchecker" single ((:commit . "9787f87745a4234cd9bed711860b707902bc8ae4") (:authors ("Sibi" . "sibi@psibi.in")) (:maintainer "Sibi" . "sibi@psibi.in") (:keywords "python" "import" "check") (:url . "https://github.com/psibi/emacs-py-import-check"))]) (py-isort . [(20160925 1018) nil "Use isort to sort the imports in a Python buffer" single ((:commit . "e67306f459c47c53a65604e4eea88a3914596560") (:authors ("Friedrich Paetzke" . "paetzke@fastmail.fm")) (:maintainer "Friedrich Paetzke" . "paetzke@fastmail.fm") (:url . "http://paetzke.me/project/py-isort.el"))]) @@ -3962,20 +4013,19 @@ (py-yapf . [(20160925 1122) nil "Use yapf to beautify a Python buffer" single ((:commit . "a878304202ad827a1f3de3dce1badd9ca8731146") (:authors ("Friedrich Paetzke" . "f.paetzke@gmail.com")) (:maintainer "Friedrich Paetzke" . "f.paetzke@gmail.com") (:url . "https://github.com/paetzke/py-yapf.el"))]) (pycarddavel . [(20150831 1216) ((helm (1 7 0)) (emacs (24 0))) "Integrate pycarddav" single ((:commit . "a6d81ee4eb8309cd82f6082aeca68c5a015702a3") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:keywords "helm" "pyccarddav" "carddav" "message" "mu4e" "contacts"))]) (pycoverage . [(20200513 2047) ((emacs (24 3))) "Support for coverage stats on Python 2.X and 3" tar ((:commit . "3c69ed312121368f1b24cc04d54a29ce4ed4f743") (:authors ("matt harrison")) (:maintainer "matt harrison") (:keywords "project" "convenience") (:url . "https://github.com/mattharrison/pycoverage.el"))]) - (pydoc . [(20211119 2211) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "3aaffe41e1c5a9d53fbc1de02686c386fd002890") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:keywords "pydoc" "python") (:url . "https://github.com/statmobile/pydoc"))]) + (pydoc . [(20220531 1457) nil "functional, syntax highlighted pydoc navigation" single ((:commit . "c8b667e17bfe3e63221f822c5c4d58c8fb4fea90") (:authors ("John Kitchin" . "jkitchin@andrew.cmu.edu")) (:maintainer "Brian J. Lopes" . "statmobile@gmail.com") (:keywords "pydoc" "python") (:url . "https://github.com/statmobile/pydoc"))]) (pyenv-mode . [(20200518 1521) ((pythonic (0 1 0))) "Integrate pyenv with python-mode" single ((:commit . "b818901b8eac0e260ced66a6a5acabdbf6f5ba99") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pyenv-mode"))]) - (pyenv-mode-auto . [(20180620 1252) ((pyenv-mode (0 1 0)) (s (1 11 0)) (f (0 17 0))) "Automatically activates pyenv version if .python-version file exists." single ((:commit . "347b94cd5ad22e33cc41be661c102d4548767858") (:authors ("Sviatoslav Bulbakha" . "mail@ssbb.me")) (:maintainer "Sviatoslav Bulbakha" . "mail@ssbb.me") (:keywords "python" "pyenv") (:url . "https://github.com/ssbb/pyenv-mode-auto"))]) (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") (:authors ("Jack Crawley ")) (:maintainer "Jack Crawley ") (:keywords "python" "code generation") (:url . "https://github.com/JackCrawley/pygen/"))]) - (pygn-mode . [(20211021 2325) ((emacs (26 1)) (tree-sitter (0 15 2)) (tree-sitter-langs (0 10 7)) (uci-mode (0 5 4)) (nav-flash (1 0 0)) (ivy (0 10 0))) "Major-mode for chess PGN files, powered by Python" tar ((:commit . "eb1da7e3eb5f5754b60d404b0e341206eebe19ca") (:authors ("Dodge Coates and Roland Walker")) (:maintainer "Dodge Coates and Roland Walker") (:keywords "data" "games" "chess") (:url . "https://github.com/dwcoates/pygn-mode"))]) - (pyim . [(20220422 2255) ((emacs (25 1)) (async (1 6)) (xr (1 13))) "A Chinese input method support quanpin, shuangpin, wubi, cangjie and rime." tar ((:commit . "b6eb72c8493b45a376203e29b012e77162283f3c") (:authors ("Ye Wenbin" . "wenbinye@163.com") ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))]) - (pyim-basedict . [(20210517 43) nil "The default pinyin dict of pyim" tar ((:commit . "86f6de3e3a1523eb278bd3afe7c4ceba2a0e2972") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:url . "https://github.com/tumashu/pyim-basedict"))]) + (pygn-mode . [(20220531 1422) ((emacs (26 1)) (tree-sitter (0 15 2)) (tree-sitter-langs (0 10 7)) (uci-mode (0 5 4)) (nav-flash (1 0 0)) (ivy (0 10 0))) "Major-mode for chess PGN files, powered by Python" tar ((:commit . "9a56e701cfcdf9024dda15175e0d0fc645446019") (:authors ("Dodge Coates and Roland Walker")) (:maintainer "Dodge Coates and Roland Walker") (:keywords "data" "games" "chess") (:url . "https://github.com/dwcoates/pygn-mode"))]) + (pyim . [(20220724 1211) ((emacs (25 1)) (async (1 6)) (xr (1 13))) "A Chinese input method support quanpin, shuangpin, wubi, cangjie and rime." tar ((:commit . "ae16cef16913999c08a35da1991514210e55be07") (:authors ("Ye Wenbin" . "wenbinye@163.com") ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))]) + (pyim-basedict . [(20220614 1108) nil "The default pinyin dict of pyim" tar ((:commit . "d61af27686f7a39e6c138b7261a686e7ea7a0ef7") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:url . "https://github.com/tumashu/pyim-basedict"))]) (pyim-cangjiedict . [(20210617 934) ((pyim (3 7))) "Some cangjie dicts for pyim" tar ((:commit . "d17e3d32a6480939b350a91a915ebe8e6efad819") (:authors ("Yuanchen Xie" . "yuanchen.gm@gmail.com")) (:maintainer "Yuanchen Xie" . "yuanchen.gm@gmail.com") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:url . "https://github.com/p1uxtar/pyim-cangjiedict"))]) (pyim-smzmdict . [(20210505 1445) ((pyim (3 7))) "Sanma(triple) Zhengma dict for pyim" tar ((:commit . "fcddbde17a04d174c7353548056524687f7be8d2") (:authors ("Yue Shi (Zhizhi)")) (:maintainer "Yuanchen Xie") (:keywords "convenience" "i18n" "pyim" "chinese" "zhengma") (:url . "https://github.com/p1uxtar/pyim-smzmdict"))]) - (pyim-wbdict . [(20210902 1714) ((pyim (3 7))) "Some wubi dicts for pyim" tar ((:commit . "4db1ca7fee75bd3aa394d620e5af2f42b3caf3c4") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:url . "https://github.com/tumashu/pyim-wbdict"))]) + (pyim-wbdict . [(20220604 1340) ((pyim (3 7))) "Some wubi dicts for pyim" tar ((:commit . "e3b128cfcf218e4a0ca04189b0bd46909761227e") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "chinese" "pinyin" "input-method" "complete") (:url . "https://github.com/tumashu/pyim-wbdict"))]) (pyimport . [(20180308 1752) ((dash (2 8 0)) (s (1 9 0)) (shut-up (0 3 2))) "Manage Python imports!" single ((:commit . "a6f63cf7ed93f0c0f7c207e6595813966f8852b9") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk"))]) (pyimpsort . [(20160130 453) ((emacs (24 3))) "Sort python imports." tar ((:commit . "d5c61d70896b642646dfd3c809c06174ae086c1a") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/pyimpsort.el"))]) (pyinspect . [(20211102 1415) ((emacs (27 1))) "Python object inspector" tar ((:commit . "36cf624236c8b4cce852dd52b64d058d4d4a32fd") (:authors ("Maor Kadosh" . "git@avocadosh.xyz")) (:maintainer "Maor Kadosh" . "git@avocadosh.xyz") (:keywords "tools") (:url . "https://github.com/it-is-wednesday/pyinspect.el"))]) - (pylint . [(20210411 1931) nil "minor mode for running `pylint'" single ((:commit . "aca9c1739c15ba5ea74a7d814f1b6cc23e79267b") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:keywords "languages" "python"))]) + (pylint . [(20210411 1931) nil "minor mode for running `pylint'" single ((:commit . "20a2f129e82349f8a216c288905dee748ba55423") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com") (:keywords "languages" "python"))]) (pynt . [(20180710 726) ((emacs (24 4)) (ein (0 13 1)) (epc (0 1 1)) (deferred (0 5 1))) "Generate and scroll EIN buffers from python code" single ((:commit . "86cf9ce78d34f92bfd0764c9cbb75427ebd429e6") (:authors ("Edward Banner" . "edward.banner@gmail.com")) (:maintainer "Edward Banner" . "edward.banner@gmail.com") (:keywords "convenience") (:url . "https://github.com/ebanner/pynt"))]) (pyramid . [(20210427 1032) ((emacs (25 2)) (pythonic (0 1 1)) (tablist (0 70))) "Minor mode for working with pyramid projects" tar ((:commit . "66f54f4a9cc9fa81edf768ab433d5b3c5517363c") (:authors ("Daniel Kraus" . "daniel@kraus.my")) (:maintainer "Daniel Kraus" . "daniel@kraus.my") (:keywords "python" "pyramid" "pylons" "convenience" "tools" "processes") (:url . "https://github.com/dakra/pyramid.el"))]) (pytest . [(20200330 41) ((s (1 9 0))) "Easy Python test running in Emacs" single ((:commit . "6934047242db79b1c53e9fe3e0734cc9719ed1c4") (:keywords "pytest" "python" "testing") (:url . "https://github.com/ionrock/pytest-el"))]) @@ -3989,13 +4039,13 @@ (python-info . [(20151228 1852) nil "Python info manual for Emacs" tar ((:commit . "306f15441b54b25757cdfd3b327b84024ea21ed7"))]) (python-insert-docstring . [(20211127 1232) ((emacs (25 1))) "Python Google docstring inserter" single ((:commit . "cd6419b74c99c06d5c48c1b289572acce1fd193b") (:authors ("Marco Vocialta" . "macurovc@tutanota.com")) (:maintainer "Marco Vocialta" . "macurovc@tutanota.com") (:url . "https://github.com/macurovc/insert-docstring"))]) (python-isort . [(20210603 2153) ((emacs (26)) (reformatter (0 6))) "Reformat python-mode buffer with isort" single ((:commit . "339814df22b87eebca02137e581f65d6283fce97") (:authors ("Jimmy Yuen Ho Wong" . "wyuenho@gmail.com")) (:maintainer "Jimmy Yuen Ho Wong" . "wyuenho@gmail.com") (:keywords "languages") (:url . "https://github.com/wyuenho/emacs-python-isort"))]) - (python-mls . [(20220128 1953) ((emacs (27 1))) "Multi-line shell for (i)Python" single ((:commit . "97e58c6b785f7096c0e02f6c1d12b008cc0219c1") (:authors ("J.D. Smith")) (:maintainer "J.D. Smith") (:keywords "languages" "processes") (:url . "https://github.com/jdtsmith/python-mls"))]) - (python-mode . [(20220408 1906) nil "Python major mode" tar ((:commit . "ee956c6a6c5aacf3cc32479eed9f84ccc5aec7dd") (:authors ("2015-2021 https://gitlab.com/groups/python-mode-devs") ("2003-2014 https://launchpad.net/python-mode") ("1995-2002 Barry A. Warsaw") ("1992-1994 Tim Peters")) (:maintainer nil . "python-mode@python.org") (:keywords "languages" "processes" "python" "oop") (:url . "https://gitlab.com/groups/python-mode-devs"))]) - (python-pytest . [(20220404 1635) ((emacs (24 4)) (dash (2 18 0)) (transient (0 3 7)) (projectile (0 14 0)) (s (1 12 0))) "helpers to run pytest" single ((:commit . "08df2134393d47887a6e411d45b86e137cfcd28a") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "pytest" "test" "python" "languages" "processes" "tools") (:url . "https://github.com/wbolster/emacs-python-pytest"))]) + (python-mls . [(20220528 1502) ((emacs (27 1))) "Multi-line shell for (i)Python" single ((:commit . "bbfe9a8b2ea081c032eccfd541dac2bc46aa54a6") (:authors ("J.D. Smith")) (:maintainer "J.D. Smith") (:keywords "languages" "processes") (:url . "https://github.com/jdtsmith/python-mls"))]) + (python-mode . [(20220726 1741) nil "Python major mode" tar ((:commit . "23f8f55d3e5ce34b19f74c78928a43914df38696") (:authors ("2015-2021 https://gitlab.com/groups/python-mode-devs") ("2003-2014 https://launchpad.net/python-mode") ("1995-2002 Barry A. Warsaw") ("1992-1994 Tim Peters")) (:maintainer nil . "python-mode@python.org") (:keywords "languages" "processes" "python" "oop") (:url . "https://gitlab.com/groups/python-mode-devs"))]) + (python-pytest . [(20220720 1918) ((emacs (24 4)) (dash (2 18 0)) (transient (0 3 7)) (projectile (0 14 0)) (s (1 12 0))) "helpers to run pytest" single ((:commit . "9bf8db38bf18feb0484931877210cecfaa96bfc6") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "pytest" "test" "python" "languages" "processes" "tools") (:url . "https://github.com/wbolster/emacs-python-pytest"))]) (python-switch-quotes . [(20161228 809) ((emacs (24 3))) "cycle between ' and \" quotes in python strings" single ((:commit . "93f1e9b40e061a6cea480139e8b1362b6404abd0") (:authors ("Vladimir Lagunov" . "lagunov.vladimir@gmail.com")) (:maintainer "Vladimir Lagunov" . "lagunov.vladimir@gmail.com") (:keywords "python" "tools" "convenience") (:url . "https://github.com/werehuman/python-switch-quotes"))]) (python-test . [(20181018 29) ((emacs (25 1))) "Python testing integration" single ((:commit . "f899975b133539e19ba822e4b0bfd1a28572967e") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience" "tools" "processes") (:url . "https://github.com/emacs-pe/python-test.el"))]) - (python-x . [(20190611 1303) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "b1f8eaccee210d7c0580dba6dc9bd361fcf3765d") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org"))]) - (pythonic . [(20210122 1247) ((emacs (25 1)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "fe75bc17baae314bf8f5e0b12aad3fccfc6c5397") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))]) + (python-x . [(20220602 2108) ((python (0 24)) (folding (0)) (cl-lib (0 5))) "python.el extras for interactive evaluation" tar ((:commit . "fef5162af9dfc1225339098ae00e053a2e16b799") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org"))]) + (pythonic . [(20220723 1741) ((emacs (25 1)) (s (1 9)) (f (0 17 2))) "Utility functions for writing pythonic emacs package." single ((:commit . "c18a5bd8cb2ba59014b6b29b5bf1903bd2476a07") (:authors ("Artem Malyshev" . "proofit404@gmail.com")) (:maintainer "Artem Malyshev" . "proofit404@gmail.com") (:url . "https://github.com/proofit404/pythonic"))]) (pyvenv . [(20211014 707) nil "Python virtual environment interface" single ((:commit . "31ea715f2164dd611e7fc77b26390ef3ca93509b") (:authors ("Jorgen Schaefer" . "contact@jorgenschaefer.de")) (:maintainer "Jorgen Schaefer" . "contact@jorgenschaefer.de") (:keywords "python" "virtualenv" "tools") (:url . "http://github.com/jorgenschaefer/pyvenv"))]) (pyvenv-auto . [(20220315 1606) ((emacs (26 3)) (pyvenv (1 21))) "Automatically switch Python venvs" single ((:commit . "59ece8554bf249f30984c81c103a5704d2fb27bf") (:url . "https://github.com/nryotaro/pyvenv-auto"))]) (q-mode . [(20220306 1629) ((emacs (24))) "A q editing mode" single ((:commit . "3eac36d23131088e32057716a3241407fa8dc041") (:keywords "faces" "files" "q") (:url . "https://github.com/psaris/q-mode"))]) @@ -4004,23 +4054,23 @@ (qt-pro-mode . [(20170604 1841) ((emacs (24))) "Qt Pro/Pri major mode" single ((:commit . "7a2da323de834294b413cbbb3c92f42f54913643") (:authors ("Todd Neal" . "tolchz@gmail.com")) (:maintainer "Todd Neal" . "tolchz@gmail.com") (:keywords "extensions"))]) (qtcreator-theme . [(20201215 1523) ((emacs (24 3))) "A color theme that mimics Qt Creator IDE" single ((:commit . "515532b05063898459157d2ba5c10ec0d5a4b1bd") (:authors ("Lesley Lai" . "lesley@lesleylai.info")) (:maintainer "Lesley Lai" . "lesley@lesleylai.info") (:keywords "theme" "light" "faces") (:url . "https://github.com/LesleyLai/emacs-qtcreator-theme"))]) (quack . [(20181106 1301) nil "enhanced support for editing and running Scheme code" single ((:commit . "2146805ce2b5a9b155d73929986f11e713787e26"))]) - (quarto-mode . [(20220405 1556) ((emacs (25 1)) (polymode (0 2 2)) (poly-markdown (0 2 2)) (markdown-mode (2 3)) (request (0 3 2))) "A (poly)mode for https://quarto.org" single ((:commit . "2a199735866dc34126a061c6f2990378b381e687") (:authors ("Carlos Scheidegger")) (:maintainer "Carlos Scheidegger") (:keywords "languages" "multi-modes") (:url . "https://github.com/quarto-dev/quarto-emacs"))]) + (quarto-mode . [(20220802 2041) ((emacs (25 1)) (polymode (0 2 2)) (poly-markdown (0 2 2)) (markdown-mode (2 3)) (request (0 3 2))) "A (poly)mode for https://quarto.org" single ((:commit . "769a4ec178f8ad3e0c87b1ee23e64616ee161b02") (:authors ("Carlos Scheidegger")) (:maintainer "Carlos Scheidegger") (:keywords "languages" "multi-modes") (:url . "https://github.com/quarto-dev/quarto-emacs"))]) (quasi-monochrome-theme . [(20200415 705) nil "Quasi Monochrome theme" tar ((:commit . "b38d71860fdea945e10e8a766ac9dfa1410ade67") (:authors ("Lorenzo Bolla" . "lbolla@gmail.com")) (:maintainer "Lorenzo Bolla" . "lbolla@gmail.com") (:keywords "color-theme" "monochrome" "high contrast") (:url . "https://github.com/lbolla/emacs-quasi-monochrome"))]) - (quelpa . [(20211228 248) ((emacs (25 1))) "Emacs Lisp packages built directly from source" tar ((:commit . "54fc5b951f103fadba25dde38274964737815883") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "tools" "package" "management" "build" "source" "elpa") (:url . "https://github.com/quelpa/quelpa"))]) - (quelpa-leaf . [(20210124 348) ((emacs (25 1)) (quelpa (1 0)) (leaf (4 1 0))) "Quelpa handler for leaf" single ((:commit . "e220893d29a095234076be1b255fade11f6410b8") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/quelpa/quelpa-leaf"))]) + (quelpa . [(20220730 230) ((emacs (25 1))) "Emacs Lisp packages built directly from source" tar ((:commit . "59bd9bf760f2fdf70c81c220f2875dbee0c29d5c") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "tools" "package" "management" "build" "source" "elpa") (:url . "https://github.com/quelpa/quelpa"))]) + (quelpa-leaf . [(20220704 635) ((emacs (25 1)) (quelpa (1 0)) (leaf (4 1 0))) "Quelpa handler for leaf" single ((:commit . "bd306aed20349ac96472a05da096c584f9c17408") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "package" "managment" "elpa" "leaf") (:url . "https://github.com/quelpa/quelpa-leaf"))]) (quelpa-use-package . [(20201022 746) ((emacs (25 1)) (quelpa (1 0)) (use-package (2))) "quelpa handler for use-package" single ((:commit . "d985c0326b66aa19581918deccdc5edcacccf953") (:authors ("steckerhalter")) (:maintainer "steckerhalter") (:keywords "package" "management" "elpa" "use-package") (:url . "https://github.com/quelpa/quelpa-use-package"))]) (quick-buffer-switch . [(20201027 2307) nil "Quick switch to file or dir buffers." single ((:commit . "da82555f286588f171eed1de151325bbdd8cbd91") (:authors ("Sebastien Gross ")) (:maintainer "Sebastien Gross ") (:keywords "emacs" "configuration"))]) (quick-peek . [(20200130 2059) ((emacs (24 3))) "Inline quick-peek windows" single ((:commit . "03a276086795faad46a142454fc3e28cab058b70") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "tools" "help" "doc" "convenience"))]) (quick-preview . [(20191017 1920) nil "quick preview using GNOME sushi, gloobus or quick look" single ((:commit . "a312ab5539b9a362da9d305e4da814e17c5721c9") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "files" "hypermedia") (:url . "https://github.com/myuhe/quick-preview.el"))]) (quick-shell-keybind . [(20171023 613) ((emacs (24))) "Interactively bind a key to shell commands" single ((:commit . "5f4541a5a5554d108bf16b5fd1713e962161ca1b") (:authors ("eyeinsky" . "eyeinsky9@gmail.com")) (:maintainer "eyeinsky" . "eyeinsky9@gmail.com") (:keywords "maint" "convenience" "processes") (:url . "https://github.com/eyeinsky/quick-shell-keybind"))]) (quickref . [(20170817 1232) ((dash (1 0 3)) (s (1 0 0))) "Display relevant notes-to-self in the echo area" single ((:commit . "f368c8b8219bb90498c5ab84e26f00eedaa234cf") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/quickref.el"))]) - (quickrun . [(20210904 1553) ((emacs (24 3))) "Run commands quickly" single ((:commit . "30e9a1333fe4a83424385df53ddaf7016df3679d") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))]) + (quickrun . [(20210904 1553) ((emacs (24 3))) "Run commands quickly" single ((:commit . "314beae43cac2e4943e9ed4850e8e147bc3d2fac") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-quickrun"))]) (quiet . [(20200211 721) nil "Disconnect from the online world for a while" single ((:commit . "f8a4ef0be086f97e7fb631df7060f29cc4025b98") (:authors ("nik gaffney" . "nik@fo.am")) (:maintainer "nik gaffney" . "nik@fo.am") (:keywords "convenience" "quiet" "distraction" "network" "detachment" "offline") (:url . "https://github.com/zzkt/quiet"))]) (quilt . [(20190828 506) ((emacs (26 0))) "Minor mode for working with files in quilt" single ((:commit . "b56a1f1acc46cdf8655710e4c8f24f5f31f22c6a") (:authors ("Matt Mackall" . "mpm@selenic.com")) (:maintainer "Jan Stranik" . "jan@stranik.org") (:keywords "extensions") (:url . "https://github.com/jstranik/emacs-quilt"))]) (quiz . [(20190525 1206) ((cl-lib (0 5)) (emacs (25))) "Multiple choice quiz game" single ((:commit . "570bf53926d89282cdb9653bd5aa8fe968f92bbd") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "games" "trivia" "quiz") (:url . "https://github.com/davep/quiz.el"))]) (r-autoyas . [(20140101 1510) ((ess (0)) (yasnippet (0 8 0))) "Provides automatically created yasnippets for R function argument lists." tar ((:commit . "b4020ee7f5f895e0065b8b26da8a49c51432d530") (:authors ("Sven Hartenstein & Matthew Fidler")) (:maintainer "Matthew Fidler") (:keywords "r" "yasnippet") (:url . "https://github.com/mlf176f2/r-autoyas.el"))]) (racer . [(20210307 243) ((emacs (25 1)) (rust-mode (0 2 0)) (dash (2 13 0)) (s (1 10 0)) (f (0 18 2)) (pos-tip (0 4 6))) "code completion, goto-definition and docs browsing for Rust via racer" single ((:commit . "1e63e98626737ea9b662d4a9b1ffd6842b1c648c") (:authors ("Phil Dawes")) (:maintainer "Phil Dawes") (:keywords "abbrev" "convenience" "matching" "rust" "tools") (:url . "https://github.com/racer-rust/emacs-racer"))]) - (racket-mode . [(20220422 1410) ((emacs (25 1))) "Racket editing, REPL, and more" tar ((:commit . "db8b07a634b10db56ad7bb8c914fd2b9479b2ac5") (:authors ("Greg Hendershott")) (:maintainer "Greg Hendershott") (:url . "https://www.racket-mode.com/"))]) + (racket-mode . [(20220803 1542) ((emacs (25 1))) "Racket editing, REPL, and more" tar ((:commit . "e86ff2c865f1cd28bc047542eedfb55b32588b04") (:authors ("Greg Hendershott")) (:maintainer "Greg Hendershott") (:url . "https://www.racket-mode.com/"))]) (rails-i18n . [(20220126 1643) ((emacs (27 2)) (yaml (0 1 0)) (dash (2 19 1))) "Seach and insert i18n on ruby code" single ((:commit . "8e87e4e48e31902b8259ded28a208c2e7efea6e9") (:authors ("Otávio Schwanck dos Santos" . "otavioschwanck@gmail.com")) (:maintainer "Otávio Schwanck dos Santos" . "otavioschwanck@gmail.com") (:keywords "tools" "languages") (:url . "https://github.com/otavioschwanck/rails-i18n.el"))]) (rails-log-mode . [(20140408 425) nil "Major mode for viewing Rails log files" single ((:commit . "ff440003ad7d47cb0ac3300f2a632f4cfd36a446") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:keywords "rails" "log"))]) (rails-routes . [(20220126 1631) ((emacs (27 2)) (inflections (1 1))) "Search for and insert rails routes" single ((:commit . "eab995a9297ca5bd9bd4f4c2737f2fecfc36def0") (:authors ("Otávio Schwanck" . "otavioschwanck@gmail.com")) (:maintainer "Otávio Schwanck" . "otavioschwanck@gmail.com") (:keywords "tools" "languages") (:url . "https://github.com/otavioschwanck/rails-routes"))]) @@ -4028,7 +4078,7 @@ (railscasts-theme . [(20150219 1525) nil "Railscasts color theme for GNU Emacs." single ((:commit . "1340c3f6c2717761cab95617cf8dcbd962b1095b") (:authors ("Oleg Shaldybin")) (:maintainer "Oleg Shaldybin") (:keywords "railscasts" "color" "theme") (:url . "https://github.com/mikenichols/railscasts-theme"))]) (rainbow-blocks . [(20210715 1518) nil "Block syntax highlighting for lisp code" single ((:commit . "83c4d6e77a1e25d3d2d124a4e90d5b084f3e15a5") (:authors ("istib")) (:maintainer "istib") (:url . "https://github.com/istib/rainbow-blocks"))]) (rainbow-delimiters . [(20210515 1254) nil "Highlight brackets according to their depth" single ((:commit . "a32b39bdfe6c61c322c37226d66e1b6d4f107ed0") (:authors ("Jeremy Rayman" . "opensource@jeremyrayman.com") ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:keywords "faces" "convenience" "lisp" "tools") (:url . "https://github.com/Fanael/rainbow-delimiters"))]) - (rainbow-fart . [(20220210 1359) ((emacs (25 1)) (flycheck (32 -4))) "Checks the keywords of code to play suitable sounds" tar ((:commit . "4e5d3cca6cdc667e5da3300c04e1b3d1b00664a8") (:keywords "tools") (:url . "https://repo.or.cz/emacs-rainbow-fart.git"))]) + (rainbow-fart . [(20220427 2227) ((emacs (25 1)) (flycheck (32 -4))) "Checks the keywords of code to play suitable sounds" tar ((:commit . "6504424707b6e9101dfbd9fdd4b7b963b9a4f323") (:keywords "tools") (:url . "https://repo.or.cz/emacs-rainbow-fart.git"))]) (rainbow-identifiers . [(20141102 1526) ((emacs (24))) "Highlight identifiers according to their names" single ((:commit . "19fbfded1baa98d12335f26f6d7b20e5ae44ce2e") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/rainbow-identifiers"))]) (rake . [(20220211 827) ((f (0 13 0)) (dash (1 5 0)) (cl-lib (0 5))) "Run rake commands" single ((:commit . "452ea0caca33376487103c64177c295ed2960cca") (:authors ("Adam Sokolnicki" . "adam.sokolnicki@gmail.com")) (:maintainer "Adam Sokolnicki" . "adam.sokolnicki@gmail.com") (:keywords "rake" "ruby") (:url . "https://github.com/asok/rake.el"))]) (raku-mode . [(20210927 1227) ((emacs (24 4))) "Major mode for editing Raku code" tar ((:commit . "977b14a7c1295ebf2aad2f807d3f8e7c27aeb47f") (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:maintainer "Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com") (:keywords "languages") (:url . "https://github.com/hinrik/perl6-mode"))]) @@ -4053,9 +4103,10 @@ (react-snippets . [(20210430 1510) ((yasnippet (0 7 0))) "Yasnippets for React" tar ((:commit . "969c21734dab638057fe9e284f6a51edcc3407c9") (:authors ("John Mastro" . "john.b.mastro@gmail.com")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com") (:keywords "snippets"))]) (read-aloud . [(20160923 500) ((emacs (24 4))) "A simple interface to TTS engines" single ((:commit . "c662366226abfb07204ab442b4f853ed85438d8a") (:authors ("Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com")) (:maintainer "Alexander Gromnitsky" . "alexander.gromnitsky@gmail.com") (:keywords "multimedia") (:url . "https://github.com/gromnitsky/read-aloud.el"))]) (read-only-cfg . [(20210717 205) ((emacs (24 3))) "Make files read-only based on user config" single ((:commit . "a4e50d4fbf48970e98b2464e13f46e51a4c43c37") (:authors ("pfchen" . "pfchen31@gmail.com")) (:maintainer "pfchen" . "pfchen31@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/pfchen/read-only-cfg"))]) + (readable-numbers . [(20220711 911) ((emacs (24 1))) "Visually separate long integers" single ((:commit . "40d04a0baf5c3d1087b18cc03595c573a1b5891d") (:authors ("Oscar Najera ")) (:maintainer "Oscar Najera" . "hi@oscarnajera.com") (:url . "https://github.com/Titan-C/cardano.el"))]) (readline-complete . [(20150708 1437) nil "offers completions in shell mode" single ((:commit . "30c020c37b2741160cc37e656e13c85d826a0ebf") (:authors ("Christopher Monsanto" . "chris@monsan.to")) (:maintainer "Christopher Monsanto" . "chris@monsan.to"))]) (real-auto-save . [(20200505 1537) ((emacs (24 4))) "Automatically save your buffers/files at regular intervals" single ((:commit . "481a2d1460ab5a9b6df3721dda76ad515923bfd1") (:authors ("Chaoji Li ") ("Anand Reddy Pandikunta ")) (:maintainer "Chaoji Li ") (:url . "https://github.com/ChillarAnand/real-auto-save"))]) - (realgud . [(20211107 2210) ((load-relative (1 3 1)) (loc-changes (1 2)) (test-simple (1 3 0)) (emacs (25))) "A modular front-end for interacting with external debuggers" tar ((:commit . "3c88611c4ed59069093187c2a039b8d05cbe53e8") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:keywords "debugger" "gdb" "python" "perl" "go" "bash" "zsh" "bashdb" "zshdb" "remake" "trepan" "perldb" "pdb") (:url . "https://github.com/realgud/realgud/"))]) + (realgud . [(20211107 2210) ((load-relative (1 3 1)) (loc-changes (1 2)) (test-simple (1 3 0)) (emacs (25))) "A modular front-end for interacting with external debuggers" tar ((:commit . "45f7e4409470abf964c7cb1d526248e4fa7078e0") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:keywords "debugger" "gdb" "python" "perl" "go" "bash" "zsh" "bashdb" "zshdb" "remake" "trepan" "perldb" "pdb") (:url . "https://github.com/realgud/realgud/"))]) (realgud-byebug . [(20190520 1140) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end to the Ruby byebug debugger" tar ((:commit . "f8f20b92c6b13f75cc9797921c0e28d3def48b1c") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-byebug"))]) (realgud-ipdb . [(20200722 1116) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to ipdb" tar ((:commit . "f18f907aa4ddd3e59dc19ca296d4ee2dc5e436b0") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "https://github.com/realgud/realgud-ipdb"))]) (realgud-jdb . [(20200722 1120) ((realgud (1 5 0)) (load-relative (1 3 1)) (emacs (25))) "Realgud front-end to Java's jdb debugger\"" tar ((:commit . "1c183b2f8aae0de60942ea01444b896bf182c66a") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "https://github.com/realgud/realgud-jdb"))]) @@ -4066,16 +4117,16 @@ (realgud-pry . [(20201011 1815) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (25))) "Realgud front-end to the Ruby pry debugger" tar ((:commit . "264ca6811b0bef5de4decc54acfeacf0bce2f51f") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-pry"))]) (realgud-rdb2 . [(20190520 1146) ((realgud (1 4 5)) (load-relative (1 2)) (cl-lib (0 5)) (emacs (24))) "Realgud front-end for interacting with Ruby debugger2" tar ((:commit . "3594aa74f7afda3c3251bb2af7fe0e8ec6d621ae") (:authors ("Rocky Bernstein")) (:maintainer "Rocky Bernstein") (:url . "http://github.com/rocky/realgud-ruby-debugger2"))]) (realgud-trepan-ni . [(20210513 2237) ((load-relative (1 2)) (realgud (1 5 0)) (emacs (25))) "Realgud front-end to trepan-ni" tar ((:commit . "0ec088ea343835e24ae73da09bea96bfb02a3130") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:url . "https://github.com/realgud/realgud-trepan-ni"))]) - (reaper . [(20220417 2116) ((emacs (25 1))) "Interact with Harvest time tracking app" single ((:commit . "f42cd58d84e001473607d907791f728ebbfe50d3") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk") (:keywords "tools") (:url . "https://github.com/xendk/reaper"))]) + (reaper . [(20220527 2122) ((emacs (26 2))) "Interact with Harvest time tracking app" single ((:commit . "a8ec93656698c5c02a02279ee7d7976325cc74cd") (:authors ("Thomas Fini Hansen" . "xen@xen.dk")) (:maintainer "Thomas Fini Hansen" . "xen@xen.dk") (:keywords "tools") (:url . "https://github.com/xendk/reaper"))]) (reason-mode . [(20200929 1606) ((emacs (24 3))) "A major mode for editing ReasonML" tar ((:commit . "5690544a7091630e0ea0023bbbd57a733cea8bde") (:authors ("Mozilla")) (:maintainer "Mozilla") (:keywords "languages" "ocaml") (:url . "https://github.com/reasonml-editor/reason-mode"))]) (reazon . [(20211229 1733) ((emacs (26))) "miniKanren for Emacs" tar ((:commit . "f31c8b2e911c5885551d063c0a2b5de49a646eb1") (:authors ("Nick Drozd" . "nicholasdrozd@gmail.com")) (:maintainer "Nick Drozd" . "nicholasdrozd@gmail.com") (:keywords "languages" "extensions" "lisp") (:url . "https://github.com/nickdrozd/reazon"))]) (rebecca-theme . [(20180324 821) ((emacs (24))) "Rebecca Purple Theme" single ((:commit . "4b8b5aae9099185e07c2b4cac4943c7f66a3f003") (:authors ("vic" . "vborja@apache.org")) (:maintainer "vic" . "vborja@apache.org") (:keywords "theme" "dark") (:url . "https://github.com/vic/rebecca-theme"))]) (rebox2 . [(20121113 1300) nil "Handling of comment boxes in various styles." single ((:commit . "00634eca420cc48657b81e40e599ff8548083985") (:authors ("François Pinard") ("Le Wang")) (:maintainer "Le Wang (lewang.emacs!!!gmayo.com remove exclamations, correct host, hint: google mail)") (:url . "https://github.com/lewang/rebox2"))]) (recentf-ext . [(20170926 35) nil "Recentf extensions" single ((:commit . "450de5f8544ed6414e88d4924d7daa5caa55b7fe") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "convenience" "files") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/recentf-ext.el"))]) - (recentf-remove-sudo-tramp-prefix . [(20210509 43) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "c462344739867f35d39c8794c358b4c4b5af7dcc") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))]) + (recentf-remove-sudo-tramp-prefix . [(20220621 749) ((emacs (24 4))) "Normalise recentf history" single ((:commit . "95ff600058371dd08f615095a55850d2910021bb") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/recentf-remove-sudo-tramp-prefix"))]) (recently . [(20210930 159) ((cl-lib (0 5)) (emacs (24))) "Track recently opened files to visit them again" single ((:commit . "94b31f6bf1dab6af942948fec975e37424938a62") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:keywords "utility" "files") (:url . "https://github.com/10sr/recently-el"))]) (recompile-on-save . [(20151126 1446) ((dash (1 1 0)) (cl-lib (0 5))) "Trigger recompilation on file save." single ((:commit . "92e11446869d878803d4f3dec5d2101380c12bb2") (:authors ("Marian Schubert" . "marian.schubert@gmail.com")) (:maintainer "Marian Schubert" . "marian.schubert@gmail.com") (:keywords "convenience" "files" "processes" "tools") (:url . "https://github.com/maio/recompile-on-save.el"))]) - (recomplete . [(20220211 548) ((emacs (26 1))) "Immediately (re)complete actions" single ((:commit . "d0d380929460ff35534900e34ababad43d23c966") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-recomplete"))]) + (recomplete . [(20220731 2328) ((emacs (26 1))) "Immediately (re)complete actions" single ((:commit . "3ed522a234bced2d2ba1d069fd00e715359ac29a") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-recomplete"))]) (recover-buffers . [(20171009 437) nil "revisit all buffers from an auto-save file" tar ((:commit . "81a5cb53099955ebc2a411a44cba5a394ee3f2d1") (:authors ("era eriksson ")) (:maintainer "era eriksson "))]) (rect+ . [(20150621 44) nil "Extensions to rect.el" single ((:commit . "299b742faa0bc4448e0d5fe9cb98ab1eb93b8dcc") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "extensions" "data" "tools") (:url . "https://github.com/mhayashi1120/Emacs-rectplus"))]) (rectangle-utils . [(20190411 1757) ((emacs (24)) (cl-lib (0 5))) "Some useful rectangle functions." single ((:commit . "46f7e73340fee40c1ab9a4e766a08ae3fce83ebe") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/rectangle-utils"))]) @@ -4083,15 +4134,15 @@ (recursion-indicator . [(20220403 1812) ((emacs (27 1))) "Recursion indicator" single ((:commit . "63d946c5cb11b81184151f1385efed325f6cac2d") (:authors ("Daniel Mendler")) (:maintainer "Daniel Mendler") (:url . "https://github.com/minad/recursion-indicator"))]) (recursive-narrow . [(20190306 1521) nil "narrow-to-region that operates recursively" single ((:commit . "5e3e2067d5a148d7e64e64e0355d3b6860e4c259") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:url . "http://github.com/nflath/recursive-narrow"))]) (redacted . [(20220108 1037) ((emacs (25 1))) "Obscure text in buffer" single ((:commit . "c4ea6cbffda9c67af112f25b2db2843aa4abce85") (:authors ("Benjamin Kästner" . "benjamin.kaestner@gmail.com")) (:maintainer "Benjamin Kästner" . "benjamin.kaestner@gmail.com") (:keywords "games") (:url . "https://github.com/bkaestner/redacted.el"))]) - (reddigg . [(20220312 1339) ((emacs (26 3)) (promise (1 1)) (ht (2 3)) (request (0 3 0)) (org (9 2))) "A reader for redditt" single ((:commit . "911a1c6310b42226392fd03dc1746a4c6fc4eb95") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/emacs-reddigg"))]) - (redis . [(20150531 1948) ((emacs (24)) (cl-lib (0 5))) "Redis integration" single ((:commit . "2c33f3397bc14e7a8192867b55920492d4eead8c") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/redis.el"))]) + (reddigg . [(20220715 538) ((emacs (26 3)) (promise (1 1)) (ht (2 3)) (request (0 3 0)) (org (9 2))) "A reader for redditt" single ((:commit . "5e2ea1316a3fd6c46352402ed44a7d73881dbf73") (:authors ("Thanh Vuong" . "thanhvg@gmail.com")) (:maintainer "Thanh Vuong" . "thanhvg@gmail.com") (:url . "https://github.com/thanhvg/emacs-reddigg"))]) + (redis . [(20220429 1758) ((emacs (24)) (cl-lib (0 5))) "Redis integration" single ((:commit . "a6ad30d6a43b7be083c13f8725b45571d623001a") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/redis.el"))]) (redpen-paragraph . [(20160625 1050) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "RedPen interface." single ((:commit . "0062f326106ce8be3c9b7d3fa0e88ed2c7bbfa5e") (:authors ("karronoli")) (:maintainer "karronoli") (:keywords "document" "proofreading" "help") (:url . "https://github.com/karronoli/redpen-paragraph.el"))]) (redprl . [(20180418 1434) ((emacs (24 3))) "Major mode for editing RedPRL proofs and interacting with RedPRL" single ((:commit . "c72190de76f7ed1cfbe1d2046c96e99ac5022b0c") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:keywords "languages"))]) (redshank . [(20180730 407) ((paredit (21))) "Common Lisp Editing Extensions" tar ((:commit . "d059c5841044aa163664f8bf87c1d981bf0a04fe") (:authors ("Michael Weber" . "michaelw@foldr.org")) (:maintainer "Michael Weber" . "michaelw@foldr.org") (:keywords "languages" "lisp"))]) (redtick . [(20180424 2136) ((emacs (24 4))) "Smallest pomodoro timer (1 char)" tar ((:commit . "94b4cd43ac20c64dcac96edac2c1a3b9fcc59bb9") (:authors ("F. Febles")) (:maintainer "F. Febles") (:keywords "calendar") (:url . "http://github.com/ferfebles/redtick"))]) (redtt . [(20181121 21) ((emacs (25 3))) "Major mode for editing redtt proofs" single ((:commit . "ae76658873a647eb43d8cf84365a9d68e9a3273c") (:authors ("Jonathan Sterling" . "jon@jonmsterling.com")) (:maintainer "Jonathan Sterling" . "jon@jonmsterling.com") (:keywords "languages") (:url . "http://github.com/RedPRL/redtt"))]) (refine . [(20200507 731) ((emacs (24 3)) (s (1 11 0)) (dash (2 12 0)) (list-utils (0 4 4)) (loop (1 2))) "interactive value editing" single ((:commit . "d72fa50910b86217a35bb1b7e56adea206052021") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "convenience"))]) - (reformatter . [(20210831 1405) ((emacs (24 3))) "Define commands which run reformatters on the current buffer" single ((:commit . "452a99b556ebf1953f92fe3e16c20d10d1fed466") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "tools") (:url . "https://github.com/purcell/emacs-reformatter"))]) + (reformatter . [(20220627 825) ((emacs (24 3))) "Define commands which run reformatters on the current buffer" single ((:commit . "84cff54b0873fcca6fc0314d7584284e86708e8d") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "tools") (:url . "https://github.com/purcell/emacs-reformatter"))]) (regex-dsl . [(20220125 506) nil "lisp syntax for regexps" single ((:commit . "8802555ecdab8b50bb64181798497c10cdb5034b") (:authors ("Aliaksey Kandratsenka" . "alk@tut.by")) (:maintainer "Aliaksey Kandratsenka" . "alk@tut.by"))]) (regex-tool . [(20170104 1918) nil "A regular expression evaluation tool for programmers" single ((:commit . "0b4a0111143c88ef94bec56624cb2e00c1a054e6") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "regex" "languages" "programming" "development") (:url . "http://www.newartisans.com/"))]) (region-bindings-mode . [(20140407 2214) nil "Enable custom bindings when mark is active." single ((:commit . "3fa5dbdbd7c000bebff6d9d14a4be326ec24b6fc") (:authors ("Fabián E. Gallina" . "fabian@anue.biz")) (:maintainer "Fabián E. Gallina" . "fabian@anue.biz") (:keywords "convenience") (:url . "https://github.com/fgallina/region-bindings-mode"))]) @@ -4106,6 +4157,7 @@ (remember-last-theme . [(20170619 2133) ((emacs (24 4))) "Remember the last used theme between sessions." single ((:commit . "0973f1aa6b96355fa376fffe8b45733b6e963c51") (:authors ("Anler Hernández Peral" . "inbox+emacs@anler.me")) (:maintainer "Anler Hernández Peral" . "inbox+emacs@anler.me") (:keywords "convenience" "faces") (:url . "https://github.com/anler/remember-last-theme"))]) (remind-bindings . [(20200820 1723) ((emacs (25 1)) (omni-quotes (0 5)) (popwin (1 0)) (map (2 0))) "Reminders for your init bindings" single ((:commit . "c9a327bfd3c68a0c41b5b64df491bdee4c73ca39") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://github.com/mtekman/remind-bindings.el"))]) (renpy . [(20200607 135) nil "silly walks for Renpy" single ((:commit . "f2f95a72a8c842f229f80999132e8ea8ee73f6fc") (:authors ("PyTom" . "pytom@bishoujo.us")) (:maintainer "Dave Love" . "fx@gnu.org") (:keywords "languages") (:url . "https://github.com/billywade/renpy-mode"))]) + (repeat-help . [(20220718 1742) ((emacs (28 1))) "Display keybindings for repeat-mode" single ((:commit . "bdc21d9a8846b4adf63dd9317860666da5ade478") (:authors ("Karthik Chikmagalur" . "karthikchikmagalur@gmail.com")) (:maintainer "Karthik Chikmagalur" . "karthikchikmagalur@gmail.com") (:keywords "convenience") (:url . "https://github.com/karthink/repeat-help"))]) (repeatable-motion . [(20170620 1848) ((emacs (24))) "Make repeatable versions of motions" tar ((:commit . "f29effdc4121c2dc7e3fec9b3a62debce29cda9d") (:authors ("William Hatch" . "willghatch@gmail.com")) (:maintainer "William Hatch" . "willghatch@gmail.com") (:keywords "motion" "repeatable") (:url . "https://github.com/willghatch/emacs-repeatable-motion"))]) (repeater . [(20180418 1212) ((emacs (24 4))) "Repeat recent repeated commands" single ((:commit . "854b874542b186b2408cbc58ad0591fe8eb70b6c") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "convenience") (:url . "https://github.com/xuchunyang/repeater"))]) (repl-toggle . [(20210226 1055) ((fullframe (0 0 5))) "Switch to/from repl buffer for current major-mode" single ((:commit . "7028ae65f136215f8e07a43afc33a6b99fe82857") (:authors ("Tom Regner" . "tom@goochesa.de")) (:maintainer "Tom Regner" . "tom@goochesa.de") (:keywords "repl" "buffers" "toggle"))]) @@ -4115,27 +4167,29 @@ (replace-with-inflections . [(20180831 635) ((cl-lib (0 5)) (string-inflection (1 0 10)) (inflections (1 1))) "Inflection aware `query-replace'" single ((:commit . "d9201e047856492f282da65459b28aba25998dbb") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "matching") (:url . "https://github.com/knu/replace-with-inflections.el"))]) (repo . [(20191201 38) ((emacs (24 3))) "Running repo from Emacs" single ((:commit . "7b3ce731f1209d74113cb65a2d6aa6f54ce8ed27") (:authors ("Damien Merenne")) (:maintainer "Damien Merenne") (:keywords "convenience") (:url . "https://github.com/canatella/repo-el"))]) (req-package . [(20180605 1141) ((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 . "a77da72931914ac5f3f64dc61fe9dc3522b2817e") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:keywords "dotemacs" "startup" "speed" "config" "package") (:url . "https://github.com/edvorg/req-package"))]) - (request . [(20211107 1907) ((emacs (24 4))) "Compatible layer for URL request" single ((:commit . "c769cf33f2ac0a1a9798b508935c4b260e856ab5") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) - (request-deferred . [(20210214 37) ((emacs (24 1)) (deferred (0 3 1)) (request (0 3))) "Wrap request.el by deferred" single ((:commit . "c769cf33f2ac0a1a9798b508935c4b260e856ab5") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) + (request . [(20220614 1604) ((emacs (24 4))) "Compatible layer for URL request" single ((:commit . "38ed1d2e64138eb16a9d8ed2987cff2e01b4a93b") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) + (request-deferred . [(20220614 1604) ((emacs (24 1)) (deferred (0 3 1)) (request (0 3))) "Wrap request.el by deferred" single ((:commit . "38ed1d2e64138eb16a9d8ed2987cff2e01b4a93b") (:authors ("Takafumi Arakaki ")) (:maintainer "Takafumi Arakaki ") (:url . "https://github.com/tkf/emacs-request"))]) (requirejs . [(20151204 719) ((js2-mode (20150713)) (popup (0 5 3)) (s (1 9 0)) (cl-lib (0 5)) (yasnippet (20151011 1823))) "Requirejs import manipulation and source traversal." tar ((:commit . "4ea2a5fcbc76e4cbb6a7461e6f05f019b75865b1") (:authors ("Joe Heyming" . "joeheyming@gmail.com")) (:maintainer "Joe Heyming" . "joeheyming@gmail.com") (:keywords "javascript" "requirejs") (:url . "https://github.com/joeheyming/requirejs-emacs"))]) (requirejs-mode . [(20130215 2104) nil "Improved AMD module management" single ((:commit . "bbb0c09f8eb2d6a33c17319be8137f68bb16bc92") (:authors ("Marc-Olivier Ricard" . "marco.ricard@gmail.com")) (:maintainer "Marc-Olivier Ricard" . "marco.ricard@gmail.com") (:keywords "javascript" "amd" "requirejs"))]) - (rescript-mode . [(20210902 2140) ((emacs (26 1))) "A major mode for editing ReScript" tar ((:commit . "350d717f5c2564817179c4b6b1c615b10fd062e8") (:authors ("Karl Landstrom" . "karl.landstrom@brgeight.se") ("Daniel Colascione" . "dancol@dancol.org") ("John Lee" . "jjl@pobox.com")) (:maintainer "John Lee" . "jjl@pobox.com") (:keywords "languages" "rescript") (:url . "https://github.com/jjlee/rescript-mode"))]) + (rescript-mode . [(20220613 1246) ((emacs (26 1))) "A major mode for editing ReScript" tar ((:commit . "2aae2fbd4971dff965c758ec19688780ed7bff21") (:authors ("Karl Landstrom" . "karl.landstrom@brgeight.se") ("Daniel Colascione" . "dancol@dancol.org") ("John Lee" . "jjl@pobox.com")) (:maintainer "John Lee" . "jjl@pobox.com") (:keywords "languages" "rescript") (:url . "https://github.com/jjlee/rescript-mode"))]) (resize-window . [(20180918 538) ((emacs (24)) (cl-lib (0 5))) "easily resize windows" single ((:commit . "72018aa4d2401b60120588199d4cedd0dc1fbcfb") (:authors ("Dan Sutton " . "danielsutton01@gmail.com")) (:maintainer "Dan Sutton " . "danielsutton01@gmail.com") (:keywords "window" "resize") (:url . "https://github.com/dpsutton/resize-mode"))]) (restart-emacs . [(20201127 1425) nil "Restart emacs from within emacs" single ((:commit . "1607da2bc657fe05ae01f7fdf26f716eafead02c") (:authors ("Iqbal Ansari" . "iqbalansari02@yahoo.com")) (:maintainer "Iqbal Ansari" . "iqbalansari02@yahoo.com") (:keywords "convenience") (:url . "https://github.com/iqbalansari/restart-emacs"))]) - (restclient . [(20220101 1239) nil "An interactive HTTP client for Emacs" single ((:commit . "9e2cfa86529133eba6c9ef53794be182f15e4c21") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com") (:keywords "http"))]) - (restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "9e2cfa86529133eba6c9ef53794be182f15e4c21") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com") (:keywords "http" "helm"))]) + (restclient . [(20220101 1239) nil "An interactive HTTP client for Emacs" single ((:commit . "ae79e7dd283890072da69b8f48aeec1afd0d9442") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com") (:keywords "http"))]) + (restclient-helm . [(20170314 1554) ((restclient (0)) (helm (1 9 4))) "helm interface for restclient.el" single ((:commit . "ae79e7dd283890072da69b8f48aeec1afd0d9442") (:authors ("Pavel Kurnosov" . "pashky@gmail.com")) (:maintainer "Pavel Kurnosov" . "pashky@gmail.com") (:keywords "http" "helm"))]) + (restclient-jq . [(20220426 1734) ((restclient (20200502 831)) (jq-mode (0 4 1)) (emacs (24 4))) "Support for setting restclient vars from jq expressions" single ((:commit . "ae79e7dd283890072da69b8f48aeec1afd0d9442") (:authors ("Cameron Dorrat" . "cdorrat@gmail.com")) (:maintainer "Cameron Dorrat" . "cdorrat@gmail.com") (:keywords "tools" "comm" "http" "jq") (:url . "https://github.com/pashky/restclient.el"))]) (restclient-test . [(20210422 1815) ((emacs (26 1)) (restclient (0))) "Run tests with restclient.el" single ((:commit . "3c6661d087526510a04ea9de421c5869a1a1d061") (:authors ("Simen Heggestøyl" . "simenheg@runbox.com")) (:maintainer "Simen Heggestøyl" . "simenheg@runbox.com") (:url . "https://github.com/simenheg/restclient-test.el"))]) (retrie . [(20200519 551) ((emacs (24 5))) "Refactoring Haskell code with retrie" single ((:commit . "976d6f01a3e214917f16b82e750d825cb9bfcc59") (:authors ("Junyoung Clare Jang" . "jjc9310@gmail.com")) (:maintainer "Junyoung Clare Jang" . "jjc9310@gmail.com") (:keywords "files" "languages" "tools") (:url . "https://github.com/Ailrun/emacs-retrie"))]) (revbufs . [(20200907 2223) nil "Reverts all out-of-date buffers safely" single ((:commit . "df3c02d3063951582c693ae12547993cec8256e2") (:authors ("Neil Van Dyke" . "neil@neilvandyke.org")) (:maintainer "Sam Kleinman" . "sam@tychoish.com") (:keywords "convenience" "buffers") (:url . "http://www.neilvandyke.org/revbufs/"))]) - (reveal-in-folder . [(20220110 1821) ((emacs (24 3)) (f (0 20 0)) (s (1 12 0))) "Reveal current file in folder" single ((:commit . "97b4eca51941fa0b84c3c32239c51ce18eb1ae8d") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/reveal-in-folder"))]) + (reveal-in-folder . [(20220704 659) ((emacs (24 3)) (f (0 20 0)) (s (1 12 0))) "Reveal current file in folder" single ((:commit . "ccc5d8c61d386bb817863624fea0dba1273e7255") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "folder" "finder" "reveal" "file" "explorer") (:url . "https://github.com/jcs-elpa/reveal-in-folder"))]) (reveal-in-osx-finder . [(20150802 1657) nil "Reveal file associated with buffer in OS X Finder" single ((:commit . "5710e5936e47139a610ec9a06899f72e77ddc7bc") (:authors ("Kazuki YOSHIDA")) (:maintainer "Kazuki YOSHIDA") (:keywords "os x" "finder") (:url . "https://github.com/kaz-yos/reveal-in-osx-finder"))]) (reverse-im . [(20220309 1919) ((emacs (25 1)) (seq (2 23))) "Reverse mapping for non-default system layouts" single ((:commit . "50b8376f152916bc200635a112db9439bc3cc9b5") (:keywords "i18n") (:url . "https://github.com/a13/reverse-im.el"))]) (reverse-theme . [(20141205 145) nil "Reverse theme for Emacs" single ((:commit . "8319d0d5342890a3530ffa4daafdb7c35feda1ca") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-reverse-theme"))]) - (revert-buffer-all . [(20220211 548) ((emacs (24 3))) "Revert all open buffers" single ((:commit . "0343c04a4408ff6cb3c8a9dff7d1ffee8256aa70") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-buffer-revert-all"))]) - (review-mode . [(20220215 842) nil "major mode for ReVIEW" single ((:commit . "f08ef20d9ff4f03a00a8c24dae9ce416da0d9d1c") (:authors ("Kenshi Muto" . "kmuto@kmuto.jp")) (:maintainer "Kenshi Muto" . "kmuto@kmuto.jp") (:url . "https://github.com/kmuto/review-el"))]) + (revert-buffer-all . [(20220731 2351) ((emacs (24 3))) "Revert all open buffers" single ((:commit . "c07996fcf3e8f7ee156055327522586f32582ce1") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-buffer-revert-all"))]) + (review-mode . [(20220725 1305) nil "major mode for ReVIEW" single ((:commit . "ff87e8221740b3ea17de99291f3b29bf867ff6bb") (:authors ("Kenshi Muto" . "kmuto@kmuto.jp")) (:maintainer "Kenshi Muto" . "kmuto@kmuto.jp") (:url . "https://github.com/kmuto/review-el"))]) (reykjavik-theme . [(20201219 947) ((emacs (24))) "Theme with a dark background." single ((:commit . "f6d8e83946633603234cd1dac725e17447f40bce") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (rfc-mode . [(20210615 1721) ((emacs (25 1))) "RFC document browser and viewer" single ((:commit . "3ef663203b157e7c5b2cd3c425ec8fbe7977a24c") (:authors ("Nicolas Martyanoff" . "khaelin@gmail.com")) (:maintainer "Nicolas Martyanoff" . "khaelin@gmail.com") (:url . "https://github.com/galdor/rfc-mode"))]) - (rg . [(20220423 746) ((emacs (25 1)) (transient (0 3 0)) (wgrep (2 1 10))) "A search tool based on ripgrep" tar ((:commit . "444a8ccfea0b38452a0bc4c390a8ee01cfe30017") (:authors ("David Landell" . "david.landell@sunnyhill.email") ("Roland McGrath" . "roland@gnu.org")) (:maintainer "David Landell" . "david.landell@sunnyhill.email") (:keywords "matching" "tools") (:url . "https://github.com/dajva/rg.el"))]) + (rg . [(20220521 1653) ((emacs (25 1)) (transient (0 3 0)) (wgrep (2 1 10))) "A search tool based on ripgrep" tar ((:commit . "51596cb516d7af1737d964ffdbb4c4d416d6dfaf") (:authors ("David Landell" . "david.landell@sunnyhill.email") ("Roland McGrath" . "roland@gnu.org")) (:maintainer "David Landell" . "david.landell@sunnyhill.email") (:keywords "matching" "tools") (:url . "https://github.com/dajva/rg.el"))]) + (rgb . [(20220717 1940) ((emacs (24 3))) "RGB control via OpenRGB" single ((:commit . "c83388c134e5ed207170b97cf55eb69cec1d2857") (:url . "https://gitlab.com/cwpitts/rgb.el"))]) (rhq . [(20220329 1027) ((emacs (24 4))) "Client for rhq" single ((:commit . "46a3108436cc4a2c5343b010f2086088d7b9682b") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "tools" "extensions") (:url . "https://github.com/ROCKTAKEY/rhq"))]) (rhtml-mode . [(20130422 1311) nil "major mode for editing RHTML files" tar ((:commit . "a6d71b38a3db867ccf82999c99805db1a3a33c33"))]) (rib-mode . [(20170726 1448) ((emacs (24))) "RenderMan® Interface Bytestream (RIB) Major Mode" single ((:commit . "97470158784c3c212e22e2c20b8471ee65ba59af") (:authors ("Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com")) (:maintainer "Remik Ziemlinski and Daniel Blezek" . "daniel.blezek@gmail.com") (:url . "https://github.com/blezek/rib-mode"))]) @@ -4143,35 +4197,36 @@ (right-click-context . [(20210519 1713) ((emacs (24 3)) (popup (0 5)) (ordinal (0 0 1))) "Right Click Context menu" single ((:commit . "c3c9d36ffbc9fb2bc7c2c4b75291dbcdb1c5f531") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "mouse" "menu" "rightclick") (:url . "https://github.com/zonuexe/right-click-context"))]) (rigid-tabs . [(20220416 2123) ((emacs (24 3))) "Fix TAB alignment in diff buffers" single ((:commit . "872a10c8751574c9610cba1800f541a6eda24997") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "diff" "whitespace" "version control" "magit") (:url . "https://gitlab.com/wavexx/rigid-tabs.el"))]) (rii . [(20210317 1330) ((emacs (24 3))) "Reversible input interface for multiple input" single ((:commit . "d0cc3599129db735c23abe74d0876286a2fd6b6a") (:authors ("ROCKTAKEY" . "rocktakey@gmail.com")) (:maintainer "ROCKTAKEY" . "rocktakey@gmail.com") (:keywords "extensions" "tools") (:url . "https://github.com/ROCKTAKEY/rii"))]) - (rime . [(20220421 1811) ((emacs (26 3)) (dash (2 17 0)) (cl-lib (0 6 1)) (popup (0 5 3)) (posframe (0 1 0))) "Rime input method" tar ((:commit . "e6a89e9fa9eabc32063bffb2eacfcece46f7a049") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:keywords "convenience" "input-method") (:url . "https://www.github.com/DogLooksGood/emacs-rime"))]) + (rime . [(20220620 951) ((emacs (26 3)) (dash (2 17 0)) (cl-lib (0 6 1)) (popup (0 5 3)) (posframe (0 1 0))) "Rime input method" tar ((:commit . "3eeef9c445fa056a4b32137f9ef72c27ced2d4ab") (:authors ("Shi Tianshu")) (:maintainer "Shi Tianshu") (:keywords "convenience" "input-method") (:url . "https://www.github.com/DogLooksGood/emacs-rime"))]) (rimero-theme . [(20180901 1348) ((emacs (24))) "Theme with a dark background suitable for UI and terminal usage." single ((:commit . "a2e706c2b34f749019979a133f08a2d94a1104b3") (:authors ("Yves Zoundi" . "yveszoundi@users.sf.net")) (:maintainer "Yves Zoundi" . "yveszoundi@users.sf.net") (:keywords "faces" "theme" "dark" "light colors") (:url . "https://github.com/yveszoundi/emacs-rimero-theme"))]) - (rinari . [(20150709 640) ((ruby-mode (1 0)) (inf-ruby (2 2 5)) (ruby-compilation (0 16)) (jump (2 0))) "Rinari Is Not A Rails IDE" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:authors ("Phil Hagelberg, Eric Schulte, Steve Purcell")) (:maintainer "Phil Hagelberg, Eric Schulte, Steve Purcell") (:keywords "ruby" "rails" "project" "convenience" "web") (:url . "https://github.com/eschulte/rinari"))]) + (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 . "9b3110f4043bc4f07d83e5ada26d64f90ef68aed") (:authors ("Phil Hagelberg, Eric Schulte, Steve Purcell")) (:maintainer "Phil Hagelberg, Eric Schulte, Steve Purcell") (:keywords "ruby" "rails" "project" "convenience" "web") (:url . "https://github.com/eschulte/rinari"))]) (rings . [(20160531 2027) nil "Buffer rings. Like tabs, but better." single ((:commit . "3590b222eb80652cbd27866f066bd3571d86edfc") (:authors ("Konrad Scorciapino")) (:maintainer "Konrad Scorciapino") (:keywords "utilities" "productivity") (:url . "http://github.com/konr/rings"))]) - (ripgrep . [(20220309 1746) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "4ed5c741233a81d96115f556784269042070901e") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "ripgrep" "ack" "pt" "ag" "sift" "grep" "search") (:url . "https://github.com/nlamirault/ripgrep.el"))]) + (ripgrep . [(20220520 1410) nil "Front-end for ripgrep, a command line search tool" single ((:commit . "872e250e8f93b8bb0a8a1de8bde17fd9bd116e31") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "ripgrep" "ack" "pt" "ag" "sift" "grep" "search") (:url . "https://github.com/nlamirault/ripgrep.el"))]) (riscv-mode . [(20170804 1521) ((emacs (24 4))) "Major-mode for RISC V assembly" single ((:commit . "99febf97d1fa9441e8dada94fe30c2aa439c9749") (:authors ("Adam Niederer ")) (:maintainer "Adam Niederer") (:keywords "riscv" "assembly") (:url . "https://github.com/AdamNiederer/riscv-mode"))]) (rivet-mode . [(20201013 1905) ((emacs (24)) (web-mode (16))) "A minor mode for editing Apache Rivet files" single ((:commit . "3dd4fc28f29e4d4f43a881ed5816dea41a912419") (:authors ("Jade Michael Thornton")) (:maintainer "Jade Michael Thornton") (:url . "https://gitlab.com/thornjad/rivet-mode"))]) (rjsx-mode . [(20200120 1446) ((emacs (24 4)) (js2-mode (20170504))) "Real support for JSX" single ((:commit . "b697fe4d92cc84fa99a7bcb476f815935ea0d919") (:authors ("Felipe Ochoa" . "felipe@fov.space")) (:maintainer "Felipe Ochoa" . "felipe@fov.space") (:keywords "languages") (:url . "https://github.com/felipeochoa/rjsx-mode/"))]) - (rmsbolt . [(20220325 1526) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "2e1ff0653e5355a2214e735f0ada287071457c6a") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:keywords "compilation" "tools") (:url . "http://gitlab.com/jgkamat/rmsbolt"))]) - (robe . [(20211208 205) ((inf-ruby (2 5 1)) (emacs (25 1))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "11207bd549a5a78e3a4d70265c3715990dcdab71") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:keywords "ruby" "convenience" "rails") (:url . "https://github.com/dgutov/robe"))]) + (rmsbolt . [(20220729 1809) ((emacs (25 1))) "A compiler output viewer" tar ((:commit . "f3c56ba6949934758e79a371eb5a29d8e832a828") (:authors ("Jay Kamat" . "jaygkamat@gmail.com")) (:maintainer "Jay Kamat" . "jaygkamat@gmail.com") (:keywords "compilation" "tools") (:url . "http://gitlab.com/jgkamat/rmsbolt"))]) + (robe . [(20220731 2016) ((inf-ruby (2 5 1)) (emacs (25 1))) "Code navigation, documentation lookup and completion for Ruby" tar ((:commit . "993ae13791ba882076b644b0c8054b6e89e22dad") (:authors ("Dmitry Gutov")) (:maintainer "Dmitry Gutov") (:keywords "ruby" "convenience" "rails") (:url . "https://github.com/dgutov/robe"))]) + (robot-log . [(20220719 1301) ((emacs (28 1))) "Major mode for viewing RobotFramework debug log files" single ((:commit . "26da47597aa97be9649cb60f4da6d94d47d0c0ac") (:keywords "convenience" "files") (:url . "https://git.sr.ht/~apteryx/emacs-robot-log"))]) (robot-mode . [(20210425 1925) ((emacs (26 1))) "Major-mode for Robot Framework files" single ((:commit . "e7e9c4d4750d048ad771fa735621ad813fa9c128") (:authors ("Kalle Kankare" . "kalle.kankare@iki.fi")) (:maintainer "Kalle Kankare" . "kalle.kankare@iki.fi") (:keywords "languages" "files") (:url . "https://github.com/kopoli/robot-mode"))]) - (robots-txt-mode . [(20190812 1858) nil "Major mode for editing robots.txt" single ((:commit . "8bf67285a25a6756607354d184e36583f2847e7d") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "comm" "web") (:url . "https://github.com/emacs-php/robots-txt-mode"))]) + (robots-txt-mode . [(20190812 1858) nil "Major mode for editing robots.txt" single ((:commit . "0d79161dfece3920600ad155ab1cc1a59da06964") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "languages" "comm" "web") (:url . "https://github.com/emacs-php/robots-txt-mode"))]) (roguel-ike . [(20160120 302) ((popup (0 5 0))) "A coffee-break roguelike" tar ((:commit . "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c") (:authors ("Steven Rémot")) (:maintainer "Steven Rémot"))]) (ron-mode . [(20200830 1554) ((emacs (24 5 1))) "Rusty Object Notation mode" single ((:commit . "c5e0454b9916d6b73adc15dab8abbb0b0a68ea22") (:authors ("Daniel Hutzley" . "endergeryt@gmail.com")) (:maintainer "Daniel Hutzley" . "endergeryt@gmail.com") (:keywords "languages") (:url . "https://chiselapp.com/user/Hutzdog/repository/ron-mode/home"))]) (rope-read-mode . [(20211228 1126) ((emacs (24))) "Rearrange lines to read text smoothly" single ((:commit . "6aad44e006a2999980c138f608d28c8ecab92b35") (:authors ("Marco Wahl" . "marcowahlsoft@gmail.com")) (:maintainer "Marco Wahl" . "marcowahlsoft@gmail.com") (:keywords "reading" "convenience" "chill") (:url . "https://gitlab.com/marcowahl/rope-read-mode"))]) - (ros . [(20220314 2026) ((emacs (25 1))) "Package to write code for ROS systems" single ((:commit . "5e2bcd808f301b1a92cd583f2799d520bd802480") (:authors ("Max Beutelspacher ")) (:maintainer "Max Beutelspacher" . "max@beutelspacher.eu") (:keywords "convenience" "tools") (:url . "https://github.com/DerBeutlin/ros.el"))]) + (ros . [(20220604 749) ((emacs (25 1))) "Package to write code for ROS systems" single ((:commit . "f66d2177b00b277a36c058549c477d854148623c") (:authors ("Max Beutelspacher ")) (:maintainer "Max Beutelspacher" . "max@beutelspacher.eu") (:keywords "convenience" "tools") (:url . "https://github.com/DerBeutlin/ros.el"))]) (rotate . [(20210126 637) nil "Rotate the layout of emacs" single ((:commit . "4e9ac3ff800880bd9b705794ef0f7c99d72900a6") (:authors ("daichi.hirata ")) (:maintainer "daichi.hirata ") (:keywords "window" "layout") (:url . "https://github.com/daichirata/emacs-rotate"))]) (roy-mode . [(20121208 1158) nil "Roy major mode" single ((:commit . "0416f561edbc6b4a29fced8be84d2527a9613d65") (:authors ("Georgii Leontiev")) (:maintainer "Georgii Leontiev") (:keywords "extensions") (:url . "https://github.com/folone/roy-mode"))]) (rpm-spec-mode . [(20160710 1136) nil "RPM spec file editing commands for Emacs/XEmacs" single ((:commit . "c1c38050c48ea330c7cea632b8785d66daeefb2b") (:authors ("Stig Bjørlykke," . "stig@bjorlykke.org")) (:maintainer "Stig Bjørlykke," . "stig@bjorlykke.org") (:keywords "unix" "languages"))]) (rpn-calc . [(20210306 426) ((popup (0 4))) "quick RPN calculator for hackers" single ((:commit . "320123ede874a8fc6cde542baa0d106950318071") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/rpn-calc"))]) - (rspec-mode . [(20220401 306) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "a54ac64097b6ccc6acc52a8b077ceb63766fc4d1") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:keywords "rspec" "ruby") (:url . "http://github.com/pezra/rspec-mode"))]) + (rspec-mode . [(20220622 909) ((ruby-mode (1 0)) (cl-lib (0 4))) "Enhance ruby-mode for RSpec" tar ((:commit . "778c76a6a4bd93faf137d5ca47e7823e1665051c") (:authors ("Peter Williams, et al.")) (:maintainer "Peter Williams, et al.") (:keywords "rspec" "ruby") (:url . "http://github.com/pezra/rspec-mode"))]) (rsync-mode . [(20210911 0) ((emacs (27 1)) (spinner (1 7 1))) "Rsync projects to remote machines" single ((:commit . "2bc76aa8c2d82bb08ef70e23813a653d66bf3195") (:authors ("Ryan Pilgrim" . "ryan.z.pilgrim@gmail.com")) (:maintainer "Ryan Pilgrim" . "ryan.z.pilgrim@gmail.com") (:keywords "comm") (:url . "https://github.com/r-zip/rsync-mode.el"))]) - (rtags . [(20210313 1541) ((emacs (24 3))) "A front-end for rtags" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) - (rtags-xref . [(20210721 2314) ((emacs (25 1)) (rtags (2 37))) "RTags backend for xref.el" single ((:commit . "db39790fda5c2443bc790b8971ac140914f7e9c2") (:authors ("Jörg Walter")) (:maintainer "RTags Team") (:url . "https://github.com/Andersbakken/rtags"))]) + (rtags . [(20211101 2149) ((emacs (24 3))) "A front-end for rtags" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jan Erik Hanssen" . "jhanssen@gmail.com") ("Anders Bakken" . "agbakken@gmail.com")) (:maintainer "Jan Erik Hanssen" . "jhanssen@gmail.com") (:url . "https://github.com/Andersbakken/rtags"))]) + (rtags-xref . [(20210721 2314) ((emacs (25 1)) (rtags (2 37))) "RTags backend for xref.el" single ((:commit . "c628efc9b485470a48aec2692d79f7c140bc5b92") (:authors ("Jörg Walter")) (:maintainer "RTags Team") (:url . "https://github.com/Andersbakken/rtags"))]) (rtm . [(20180329 1508) ((cl-lib (1 0))) "An elisp implementation of the Remember The Milk API" single ((:commit . "3e3d09387cb84801343ecca8fb02e82f213e7bbe") (:authors ("Friedrich Delgado Friedrichs" . "frie...@nomaden.org")) (:maintainer "Friedrich Delgado Friedrichs" . "frie...@nomaden.org") (:keywords "remember" "the" "milk" "productivity" "todo") (:url . "https://github.com/pmiddend/emacs-rtm"))]) (rubik . [(20180222 2014) ((cl-lib (1 0)) (emacs (25 3))) "Rubik's Cube" single ((:commit . "c8dab1726463dbc9042a0b00186e4a8df02eb868") (:authors ("Ivan 'Kurvivor' Truskov" . "trus19@gmail.com")) (:maintainer "Ivan 'Kurvivor' Truskov" . "trus19@gmail.com") (:keywords "games") (:url . "https://github.com/Kurvivor19/rubik-mode"))]) (rubocop . [(20210309 1241) ((emacs (24))) "An Emacs interface for RuboCop" single ((:commit . "f5fd18aa810c3d3269188cbbd731ddc09006f8f5") (:authors ("Bozhidar Batsov")) (:maintainer "Bozhidar Batsov") (:keywords "project" "convenience") (:url . "https://github.com/rubocop/rubocop-emacs"))]) (rubocopfmt . [(20200713 1144) ((cl-lib (0 5))) "Minor-mode to format Ruby code with RuboCop on save" single ((:commit . "b84810105940aa5e0bde20c9a89359c95c9b6917") (:authors ("Jim Myhrberg")) (:maintainer "Jim Myhrberg") (:keywords "convenience" "wp" "edit" "ruby" "rubocop") (:url . "https://github.com/jimeh/rubocopfmt.el"))]) - (ruby-compilation . [(20150709 640) ((inf-ruby (2 2 1))) "run a ruby process in a compilation buffer" single ((:commit . "134438af8fbdfa9c8077267c768d273a9792b484") (:authors ("Eric Schulte")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "test" "convenience") (:url . "https://github.com/eschulte/rinari"))]) + (ruby-compilation . [(20150709 640) ((inf-ruby (2 2 1))) "run a ruby process in a compilation buffer" single ((:commit . "9b3110f4043bc4f07d83e5ada26d64f90ef68aed") (:authors ("Eric Schulte")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "test" "convenience") (:url . "https://github.com/eschulte/rinari"))]) (ruby-electric . [(20200328 1528) nil "Minor mode for electrically editing ruby code" single ((:commit . "f2323cd9b5df3b34aa9810ba8109502824925d23") (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "languages" "ruby") (:url . "https://github.com/ruby/elisp-ruby-electric"))]) (ruby-end . [(20141215 1223) nil "Automatic insertion of end blocks for Ruby" single ((:commit . "a136f75abb6d5577ce40d61dfeb778c2e9bb09c0") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience" "ruby") (:url . "http://github.com/rejeep/ruby-end"))]) (ruby-extra-highlight . [(20171106 1933) nil "Highlight Ruby parameters." single ((:commit . "83942d18eae361998d24c1c523b308eea821f048") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "languages" "faces") (:url . "https://github.com/Lindydancer/ruby-extra-highlight"))]) @@ -4186,16 +4241,16 @@ (ruled-switch-buffer . [(20211205 635) ((emacs (24 3))) "Rule based buffer switching" single ((:commit . "4ae1a722750f7ecb4db93c062ffdbe353e706bf0") (:authors ("Kazuki Nishikawa" . "kzkn@hey.com")) (:maintainer "Kazuki Nishikawa" . "kzkn@hey.com") (:keywords "convenience") (:url . "https://github.com/kzkn/ruled-switch-buffer"))]) (rum-mode . [(20180127 22) ((emacs (24))) "Major mode for Rum programming language" single ((:commit . "b69a3866e0299cae8c9c805d644e69b2c17b64de") (:keywords "rum" "languages" "lisp") (:url . "https://github.com/rumlang/rum-mode"))]) (run-command . [(20210529 1505) ((emacs (27 1))) "Run an external command from a context-dependent list" single ((:commit . "ce2d69feeffb9ef9815ef5b5e32f236763197a10") (:authors ("Massimiliano Mirra" . "hyperstruct@gmail.com")) (:maintainer "Massimiliano Mirra" . "hyperstruct@gmail.com") (:keywords "processes") (:url . "https://github.com/bard/emacs-run-command"))]) - (run-command-recipes . [(20220301 2010) ((emacs (25 1)) (dash (2 18 0)) (f (0 20 0)) (run-command (0 1 0)) (s (1 12 0))) "This is collection of recipes to `run-command'" tar ((:commit . "02a4d366e309b7dd6a45f8a94669a25d6fe80ea1") (:authors ("semenInRussia" . "hrams205@gmail.com")) (:maintainer "semenInRussia" . "hrams205@gmail.com") (:keywords "extensions" "run-command") (:url . "https://github.com/semenInRussia/emacs-run-command-recipes"))]) - (run-stuff . [(20220211 548) ((emacs (25 1))) "Context based command execution" single ((:commit . "3723346dc6d867bdc3fd86ca11c32efc43704d7c") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "files" "lisp" "files" "convenience" "hypermedia") (:url . "https://gitlab.com/ideasman42/emacs-run-stuff"))]) + (run-command-recipes . [(20220801 1851) ((emacs (25 1)) (dash (2 18 0)) (f (0 20 0)) (run-command (0 1 0)) (s (1 12 0)) (ht (2 4))) "This is collection of recipes to `run-command'" tar ((:commit . "4e7846ea4174fa6f56f5c1173e72fc9743812245") (:authors ("semenInRussia" . "hrams205@gmail.com")) (:maintainer "semenInRussia" . "hrams205@gmail.com") (:keywords "extensions" "run-command") (:url . "https://github.com/semenInRussia/emacs-run-command-recipes"))]) + (run-stuff . [(20220710 1035) ((emacs (25 1))) "Context based command execution" single ((:commit . "1c51c273ab2f1750278284a15bf6cff464bddc2a") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "files" "lisp" "files" "convenience" "hypermedia") (:url . "https://codeberg.org/ideasman42/emacs-run-stuff"))]) (runner . [(20160524 743) nil "Improved \"open with\" suggestions for dired" single ((:commit . "a211d57ddc600410d07a8b534920ba905b093d87") (:authors ("Thamer Mahmoud" . "thamer.mahmoud@gmail.com")) (:maintainer "Thamer Mahmoud" . "thamer.mahmoud@gmail.com") (:keywords "shell command" "dired" "file extension" "open with") (:url . "https://github.com/thamer/runner"))]) (runtests . [(20150807 831) nil "Run unit tests from Emacs" single ((:commit . "ed90249f24cc48290018df48b9b9b7172440be3e") (:authors ("Sune Simonsen" . "sune@we-knowhow.dk")) (:maintainer "Sune Simonsen" . "sune@we-knowhow.dk") (:keywords "test") (:url . "https://github.com/sunesimonsen/emacs-runtests"))]) (russian-holidays . [(20170109 2140) nil "Russian holidays for the calendar" single ((:commit . "b285a30f29d85c48e3ea4eb93972d34a090c167b") (:authors ("Alexander I.Grafov" . "siberian@laika.name")) (:maintainer "Alexander I.Grafov" . "siberian@laika.name") (:url . "https://github.com/grafov/russian-holidays"))]) (rust-auto-use . [(20200608 1359) nil "Utility to automatically insert Rust use statements" single ((:commit . "d5205f7b9b9eae0f7d0893f87d3391464719f9c0") (:authors ("Rotem Yaari" . "rotemy@MBP.local")) (:maintainer "Rotem Yaari" . "rotemy@MBP.local") (:keywords "languages"))]) - (rust-mode . [(20220217 2009) ((emacs (25 1))) "A major-mode for editing Rust source code" tar ((:commit . "26ecc903c50b2ffd289bbe981f9ad03626fc0057") (:authors ("Mozilla")) (:maintainer "Mozilla") (:keywords "languages") (:url . "https://github.com/rust-lang/rust-mode"))]) + (rust-mode . [(20220626 1126) ((emacs (25 1))) "A major-mode for editing Rust source code" tar ((:commit . "01ba44166cf16d9b78d99f2fa0c3c54c0f206894") (:authors ("Mozilla")) (:maintainer "Mozilla") (:keywords "languages") (:url . "https://github.com/rust-lang/rust-mode"))]) (rust-playground . [(20200116 1043) ((emacs (24 3))) "Local Rust playground for short code snippets." single ((:commit . "5a117781dcb66065bea7830dd73618008fc34949") (:authors ("Alexander I.Grafov" . "grafov@gmail.com")) (:maintainer "Alexander I.Grafov" . "grafov@gmail.com") (:keywords "tools" "rust") (:url . "https://github.com/grafov/rust-playground"))]) - (rustic . [(20220323 1159) ((emacs (26 1)) (rust-mode (1 0 3)) (dash (2 13 0)) (f (0 18 2)) (let-alist (1 0 4)) (markdown-mode (2 3)) (project (0 3 0)) (s (1 10 0)) (seq (2 3)) (spinner (1 7 3)) (xterm-color (1 6))) "Rust development environment" tar ((:commit . "6eec9713876d698510ee3715698fd42c1571e307") (:authors ("Mozilla")) (:maintainer "Mozilla") (:keywords "languages"))]) - (rutils . [(20210805 608) ((emacs (26 1)) (ess (18 10 1)) (transient (0 3 0))) "R utilities with transient" tar ((:commit . "e216db63a2ccd50fe5c80679fc5b929dd2c114e8") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "convenience") (:url . "https://github.com/ShuguangSun/rutils.el"))]) + (rustic . [(20220715 1010) ((emacs (26 1)) (rust-mode (1 0 3)) (dash (2 13 0)) (f (0 18 2)) (let-alist (1 0 4)) (markdown-mode (2 3)) (project (0 3 0)) (s (1 10 0)) (seq (2 3)) (spinner (1 7 3)) (xterm-color (1 6))) "Rust development environment" tar ((:commit . "baef1faba8c73587455f8582ee6ba3ef32077a69") (:authors ("Mozilla")) (:maintainer "Mozilla") (:keywords "languages"))]) + (rutils . [(20220619 1421) ((emacs (26 1)) (ess (18 10 1)) (transient (0 3 0))) "R utilities with transient" tar ((:commit . "dd500ab8062ce40cb339ec8620bdfc63fdd28364") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "convenience") (:url . "https://github.com/ShuguangSun/rutils.el"))]) (rvm . [(20201222 17) nil "Emacs integration for rvm" single ((:commit . "c1f2642434b0f68d9baa0687127079ecd884ba12") (:authors ("Yves Senn" . "yves.senn@gmx.ch")) (:maintainer "Yves Senn" . "yves.senn@gmx.ch") (:keywords "ruby" "rvm") (:url . "http://www.emacswiki.org/emacs/RvmEl"))]) (ryo-modal . [(20220103 940) ((emacs (25 1))) "Roll your own modal mode" single ((:commit . "0a61eed4d2917422d6401b6abe2037c26dab658a") (:authors ("Erik Sjöstrand" . "sjostrand.erik@gmail.com")) (:maintainer "Erik Sjöstrand" . "sjostrand.erik@gmail.com") (:keywords "convenience" "modal" "keys") (:url . "http://github.com/Kungsgeten/ryo-modal"))]) (s . [(20210616 619) nil "The long lost Emacs string manipulation library." single ((:commit . "08661efb075d1c6b4fa812184c1e5e90c08795a9") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "strings"))]) @@ -4207,7 +4262,6 @@ (sailfish-scratchbox . [(20171202 1332) nil "Sailfish OS scratchbox inside the emacs." single ((:commit . "65c6b04abadd2cdeb4cc2dc2a8b96b06e0f27ed8") (:authors ("V. V. Polevoy" . "fx@thefx.co")) (:maintainer "V. V. Polevoy" . "fx@thefx.co") (:keywords "sb2" "mb2" "building" "scratchbox" "sailfish") (:url . "https://github.com/vityafx/sailfish-scratchbox.el"))]) (salesforce-utils . [(20160814 154) ((cl-lib (0 5))) "simple utilities for Salesforce" single ((:commit . "73328baf0fb94ac0d0de645a8f6d42e5ae27f773") (:authors ("Sean McAfee")) (:maintainer "Sean McAfee") (:url . "https://github.com/grimnebulin/emacs-salesforce"))]) (salt-mode . [(20200210 1200) ((emacs (24 4)) (yaml-mode (0 0 12)) (mmm-mode (0 5 4)) (mmm-jinja2 (0 1))) "Major mode for Salt States" single ((:commit . "c46b24e7fdf4a46df5507dc9c533bbc0064a46fa") (:authors ("Ben Hayden" . "hayden767@gmail.com")) (:maintainer "Glynn Forrest" . "me@glynnforrest.com") (:keywords "languages") (:url . "https://github.com/glynnforrest/salt-mode"))]) - (sane-term . [(20181130 101) ((emacs (24 1))) "Multi Term is crazy. This is not." single ((:commit . "369178c2dd0348250c2ec0019567688376c637f7") (:authors ("Adam Patterson" . "adam@adamrt.com")) (:maintainer "Adam Patterson" . "adam@adamrt.com") (:url . "http://github.com/adamrt/sane-term"))]) (sass-mode . [(20190502 53) ((haml-mode (3 0 15)) (cl-lib (0 5))) "Major mode for editing Sass files" single ((:commit . "247a0d4b509f10b28e4687cd8763492bca03599b") (:authors ("Natalie Weizenbaum")) (:maintainer "Natalie Weizenbaum") (:keywords "markup" "language" "css") (:url . "http://github.com/nex3/haml/tree/master"))]) (sauron . [(20201015 836) nil "Track (erc/org/dbus/...) events and react to them." tar ((:commit . "5daade4836da5b1b2ab26d84128d6c38328a5d52") (:authors ("Dirk-Jan C. Binnema" . "djcb@djcbsoftware.nl")) (:maintainer "Dirk-Jan C. Binnema" . "djcb@djcbsoftware.nl") (:keywords "comm" "frames"))]) (save-load-path . [(20140206 1214) nil "save load-path and reuse it to test" single ((:commit . "6cb763a37e2b8af505bff2bcd11fd49c9ea04d66") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "lisp") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/save-load-path.el"))]) @@ -4217,11 +4271,12 @@ (say-what-im-doing . [(20160706 1931) nil "dictate what you're doing with text to speech" single ((:commit . "5b2ce6783b02805bcac1107a149bfba3852cd9d5") (:authors ("Benaiah Mischenko")) (:maintainer "Benaiah Mischenko") (:keywords "text to speech" "dumb" "funny") (:url . "http://github.com/benaiah/say-what-im-doing"))]) (sayid . [(20220101 1357) ((cider (0 21 0))) "sayid nREPL middleware client" single ((:commit . "879aff586336a0ec4d46c0ed4720fb1de22082bd") (:authors ("Bill Piel" . "bill@billpiel.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "clojure" "cider" "debugger") (:url . "https://github.com/clojure-emacs/sayid"))]) (sbt-mode . [(20211203 1148) ((emacs (24 4))) "Interactive support for sbt projects" tar ((:commit . "9fe1e8807c22cc1dc56a6233e000969518907f4d") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-sbt-mode"))]) - (scad-mode . [(20200830 301) nil "A major mode for editing OpenSCAD code" single ((:commit . "eb2849ea946e823bd37f3444ec0bf6bb80c57c67") (:authors ("Len Trigg, Łukasz Stelmach")) (:maintainer "Len Trigg" . "lenbok@gmail.com") (:keywords "languages") (:url . "https://raw.github.com/openscad/openscad/master/contrib/scad-mode.el"))]) + (scad-mode . [(20200830 301) nil "A major mode for editing OpenSCAD code" single ((:commit . "ea8950bd3cd7f06da333c15463492e484098e591") (:authors ("Len Trigg, Łukasz Stelmach")) (:maintainer "Len Trigg" . "lenbok@gmail.com") (:keywords "languages") (:url . "https://raw.github.com/openscad/openscad/master/contrib/scad-mode.el"))]) (scad-preview . [(20211212 1128) ((scad-mode (91 0)) (emacs (24 4))) "Preview SCAD models in real-time within Emacs" single ((:commit . "c5449b26c63f3e0a695905a7e4e84f8d844f761b") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://zk-phi.github.io/"))]) (scala-mode . [(20210414 1126) nil "Major mode for editing Scala" tar ((:commit . "598cb680f321d9609295aa9b4679040cc703b602") (:keywords "languages") (:url . "https://github.com/hvesalai/emacs-scala-mode"))]) (scf-mode . [(20151122 248) nil "shorten file-names in compilation type buffers" single ((:commit . "dbfcdcd89034f208d65e181af58e0d73ad09f8b2") (:authors ("Le Wang")) (:maintainer "Le Wang") (:keywords "compilation") (:url . "https://github.com/lewang/scf-mode"))]) (scheme-complete . [(20201112 442) nil "Smart auto completion for Scheme in Emacs" single ((:commit . "b9a1448c4696f117d9ea4e59b6162dc31112e71a") (:authors ("Alex Shinn")) (:maintainer "Alex Shinn"))]) + (scholar-import . [(20220730 431) ((emacs (26 1)) (org (9 0)) (request (0 3 0)) (s (1 10 0))) "Import Bibtex & PDF from Google Scholar" single ((:commit . "7cb04af45f1ed1db30d6e7788803e578c641b3b6") (:authors ("Anh T Nguyen ")) (:maintainer "Anh T Nguyen ") (:url . "https://github.com/teeann/scholar-import"))]) (schrute . [(20170521 1840) ((emacs (24 3))) "Help you remember there is a better way to do something." single ((:commit . "59faa6c4232ae183cea93237301acad8c0763997") (:authors ("Jorge Araya Navarro" . "elcorreo@deshackra.com")) (:maintainer "Jorge Araya Navarro" . "elcorreo@deshackra.com") (:keywords "convenience") (:url . "https://bitbucket.org/shackra/dwight-k.-schrute"))]) (scihub . [(20220423 421) ((emacs (27 1))) "Sci-Hub integration" single ((:commit . "57333c849bcd4953663cbf7c271e9f3a62179765") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/scihub.el"))]) (scion . [(20130315 1255) nil "Haskell Minor Mode for Interacting with the Scion Library" single ((:commit . "99b4589175665687181a932cd836850205625f71") (:url . "https://code.google.com/p/scion-lib/"))]) @@ -4230,24 +4285,24 @@ (scpaste . [(20210223 1902) ((htmlize (1 39))) "Paste to the web via scp." single ((:commit . "4ec352fb9fe261ffb8b78449dea986dc34d337b3") (:authors ("Phil Hagelberg")) (:maintainer "Phil Hagelberg") (:keywords "convenience" "hypermedia") (:url . "https://git.sr.ht/~technomancy/scpaste"))]) (scratch . [(20220319 1705) ((emacs (25 1))) "Mode-specific scratch buffers" single ((:commit . "f000648c9663833a76a8de9b1e78c99a9d698e48") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:keywords "convenience" "tools" "files") (:url . "https://github.com/ieure/scratch-el"))]) (scratch-comment . [(20200812 1025) ((emacs (26 1))) "Insert Elisp result as comment in scratch buffer" single ((:commit . "cf3e967b4def1308b6ef1cfeedd2cf15ee6e226c") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "convenience") (:url . "https://github.com/conao3/scratch-comment.el"))]) - (scratch-ext . [(20140104 516) nil "Extensions for *scratch*" single ((:commit . "388c53cddd0466b451264894667ed64a6947ad67") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "https://github.com/kyanagi/scratch-ext-el"))]) + (scratch-ext . [(20220617 132) ((emacs (24 1))) "Extensions for *scratch*" single ((:commit . "8bbe1649503bb2e3676643e6e49fde155c1d6c70") (:authors ("Kouhei Yanagita" . "yanagi@shakenbu.org")) (:maintainer "Kouhei Yanagita" . "yanagi@shakenbu.org") (:url . "https://github.com/kyanagi/scratch-ext-el"))]) (scratch-log . [(20141115 743) nil "Utility for *scratch* buffer." single ((:commit . "1168f7f16d36ca0f4ddf2bb98881f8db62cc5dc0") (:authors ("kmori" . "morihenotegami@gmail.com")) (:maintainer "kmori" . "morihenotegami@gmail.com"))]) (scratch-message . [(20211221 1527) nil "Changing message in your scratch buffer" single ((:commit . "efb2db33e52e5d4a4f1bafbd8b459a3b91c3c87a") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "util" "scratch") (:url . "https://github.com/thisirs/scratch-message.git"))]) (scratch-palette . [(20210306 427) ((popwin (0 7 0 -3))) "make scratch buffer for each files" single ((:commit . "e4642ed8a2b744ba48a8e11ca83861f8e4b9c5b3") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://zk-phi.gitub.io/"))]) (scratch-pop . [(20200910 226) nil "Generate, popup (& optionally backup) scratch buffer(s)." single ((:commit . "cbe842fd78e4b742ece9fc493ebf43e69d872866") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (scratches . [(20151006 416) ((dash (2 11 0)) (f (0 17 0))) "Multiple scratches in any language" single ((:commit . "9441afe6396ca38f08029123fab5d87429cbf315") (:authors ("Zhang Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Zhang Kai Yu" . "yeannylam@gmail.com") (:keywords "scratch"))]) (scribble-mode . [(20190912 200) ((emacs (24))) "Major mode for editing Scribble documents" single ((:commit . "5c3ea3cc9bbad585476eee41ea76dc056c2012bb") (:authors ("Mario Rodas" . "marsam@users.noreply.github.com")) (:maintainer "Mario Rodas" . "marsam@users.noreply.github.com") (:keywords "convenience") (:url . "https://github.com/emacs-pe/scribble-mode"))]) - (scroll-on-drag . [(20220211 548) ((emacs (26 2))) "Interactive scrolling" single ((:commit . "d93b69eed6947cabdfde53dfbcf4bd919cb1f154") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-scroll-on-drag"))]) - (scroll-on-jump . [(20220211 548) ((emacs (26 2))) "Scroll when jumping to a new point" single ((:commit . "99386fc01b3c7bc2e75458efca408a23220a5f87") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-scroll-on-jump"))]) + (scroll-on-drag . [(20220708 211) ((emacs (26 2))) "Interactive scrolling" single ((:commit . "6d4de55bb6b72aaec53b82b8f8cdccc5396d6bf5") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-scroll-on-drag"))]) + (scroll-on-jump . [(20220708 211) ((emacs (26 2))) "Scroll when jumping to a new point" single ((:commit . "0cba79dcb28fd82abe9d1c1bbc00fd7655dcedf6") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-scroll-on-jump"))]) (scrollable-quick-peek . [(20201224 329) ((quick-peek (1 0)) (emacs (24 4))) "Display scrollable overlays" single ((:commit . "3e3492145a61831661d6e97fdcb47b5b66c73287") (:authors ("Pablo Barrantes" . "xjpablobrx@gmail.com")) (:maintainer "Pablo Barrantes" . "xjpablobrx@gmail.com") (:keywords "convenience" "extensions" "help" "tools") (:url . "https://github.com/jpablobr/scrollable-quick-peek"))]) (scrollkeeper . [(20190109 629) ((emacs (25 1))) "Custom scrolling commands with visual guidelines" single ((:commit . "3c4ac6b6b44686d31c260ee0b19daaee59bdccd6") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/scrollkeeper.el"))]) (scrooge . [(20180630 1022) ((emacs (24)) (cl-lib (0 5)) (dash (2 13 0)) (thrift (0 9 3))) "Major mode for Twitter Scrooge files" single ((:commit . "0a8c58e9e6708abe4ef7e415bc1e0472318bb1b0") (:authors ("Daniel McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Daniel McClanahan" . "danieldmcclanahan@gmail.com") (:keywords "scrooge" "thrift"))]) (scss-mode . [(20180123 1708) nil "Major mode for editing SCSS files" single ((:commit . "cf58dbec5394280503eb5502938f3b5445d1b53d") (:authors ("Anton Johansson" . "anton.johansson@gmail.com")) (:maintainer "Anton Johansson" . "anton.johansson@gmail.com") (:keywords "scss" "css" "mode") (:url . "https://github.com/antonj/scss-mode"))]) - (sculpture-themes . [(20220406 2330) ((emacs (26 1))) "Themes with vivid colors" tar ((:commit . "a21871b75cc7cb575ceb43640d039307fbb412e1") (:authors ("t-e-r-m" . "newenewen@tutanota.com")) (:maintainer "t-e-r-m" . "newenewen@tutanota.com") (:url . "https://github.com/t-e-r-m/sculpture-theme"))]) + (sculpture-themes . [(20220601 1349) ((emacs (26 1))) "Themes with vivid colors" tar ((:commit . "ff2fdd1c38cb9f3f1abf420b77d1ef3a2786ce57") (:authors ("t-e-r-m" . "newenewen@tutanota.com")) (:maintainer "t-e-r-m" . "newenewen@tutanota.com") (:url . "https://github.com/t-e-r-m/sculpture-theme"))]) (sdcv . [(20220210 1412) ((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 . "98e239c7380c63282845d5bc55ea6d605f5a33b8") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "Andy Stewart" . "lazycat.manatee@gmail.com") (:keywords "startdict" "sdcv") (:url . "https://repo.or.cz/sdcv.el.git"))]) (sdlang-mode . [(20161201 711) ((emacs (24 3))) "Major mode for Simple Declarative Language files." single ((:commit . "7fdcf4ead88d451c0a4a6425b2e730818eaf610e") (:authors ("Vladimir Panteleev")) (:maintainer "Vladimir Panteleev") (:keywords "languages") (:url . "https://github.com/CyberShadow/sdlang-mode"))]) (search-web . [(20150312 1103) nil "Post web search queries using `browse-url'." single ((:commit . "c4ae86ac1acfc572b81f3d78764bd9a54034c331") (:authors ("Tomoya Otake" . "tomoya.ton@gmail.com")) (:maintainer "Tomoya Otake" . "tomoya.ton@gmail.com"))]) - (searcher . [(20210124 1524) ((emacs (25 1)) (dash (2 10)) (f (0 20 0))) "Searcher in pure elisp" single ((:commit . "26ecae6a6d028fcbffc576a69ef8f787646bc12a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/searcher"))]) + (searcher . [(20220704 758) ((emacs (25 1)) (dash (2 10)) (f (0 20 0))) "Searcher in pure elisp" single ((:commit . "6debf99431a5cb4d1db55e5379453c6a181a133f") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "search" "searcher" "string") (:url . "https://github.com/jcs-elpa/searcher"))]) (searchq . [(20150829 1211) ((emacs (24 3))) "Framework of queued search tasks using GREP, ACK, AG and more." tar ((:commit . "dd510d55ad66a82c6ef022cfe7c4a73ad5365f82") (:authors ("boyw165")) (:maintainer "boyw165"))]) (secretaria . [(20191128 250) ((emacs (24 4)) (alert (1 2)) (s (1 12)) (f (0 20 0)) (org (9))) "A personal assistant based on org-mode" single ((:commit . "03986130a2ada1fa952d45e83536729f20230fcf") (:authors ("Jorge Araya Navarro" . "jorge@esavara.cr")) (:maintainer "Jorge Araya Navarro" . "jorge@esavara.cr") (:keywords "org" "convenience") (:url . "https://gitlab.com/shackra/secretaria"))]) (see-mode . [(20180511 41) ((emacs (24 4)) (language-detection (0 1 0))) "Edit string in a separate buffer" single ((:commit . "b6e72ea90105b03816c334be9e43bb41dcc79abf") (:authors ("Marcelo Muñoz" . "ma.munoz.araya@gmail.com")) (:maintainer "Marcelo Muñoz" . "ma.munoz.araya@gmail.com") (:keywords "convenience") (:url . "https://github.com/marcelino-m/see-mode"))]) @@ -4256,23 +4311,24 @@ (seethru . [(20150218 1829) ((shadchen (1 4))) "Easily change Emacs' transparency" single ((:commit . "d87e231f99313bea75b1e69e48c0f32968c82060") (:authors ("Benaiah Mischenko" . "benaiah@mischenko.com")) (:maintainer "Benaiah Mischenko" . "benaiah@mischenko.com") (:keywords "lisp" "tools" "alpha" "transparency") (:url . "http://github.com/benaiah/seethru"))]) (sekka . [(20170803 1247) ((cl-lib (0 3)) (concurrent (0 3 1)) (popup (0 5 2))) "A client for Sekka IME server" single ((:commit . "61840b57d9ae32bf8e297b175942590a1319c7e7") (:authors ("Kiyoka Nishiyama" . "kiyoka@sumibi.org")) (:maintainer "Kiyoka Nishiyama" . "kiyoka@sumibi.org") (:keywords "ime" "skk" "japanese") (:url . "https://github.com/kiyoka/sekka"))]) (select-themes . [(20160221 106) nil "Color theme selection with completing-read" single ((:commit . "236f54287519a3ea6dd7b3992d053e4f4ff5d0fe") (:authors ("Jason Milkins" . "jasonm23@gmail.com")) (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-select-themes"))]) - (selected . [(20200528 606) nil "Keymap for when region is active" single ((:commit . "3043fd2609f7e71d809763ae6e8dd4b6c904e63d") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:keywords "convenience") (:url . "http://github.com/Kungsgeten/selected.el"))]) + (selected . [(20220509 1810) nil "Keymap for when region is active" single ((:commit . "81cb32521a05ff2a9125e001b83608e108e480f6") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:keywords "convenience") (:url . "http://github.com/Kungsgeten/selected.el"))]) (selectric-mode . [(20200209 2107) nil "IBM Selectric mode for Emacs" tar ((:commit . "1840de71f7414b7cd6ce425747c8e26a413233aa") (:authors ("Ricardo Bánffy" . "rbanffy@gmail.com")) (:maintainer "Ricardo Banffy" . "rbanffy@gmail.com") (:keywords "multimedia" "convenience" "typewriter" "selectric") (:url . "https://github.com/rbanffy/selectric-mode"))]) - (selectrum . [(20220323 10) ((emacs (26 1))) "Easily select item from list" single ((:commit . "7da932eeb89f1aa8060a73ddd040f95bbb127343") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/selectrum"))]) - (selectrum-prescient . [(20211228 417) ((emacs (25 1)) (prescient (5 2)) (selectrum (3 1))) "Selectrum integration" single ((:commit . "c5295a9eecbd2935bb57684a4422638e03bf738c") (:authors ("Radon Rosborough" . "radon.neon@gmail.com")) (:maintainer "Radon Rosborough" . "radon.neon@gmail.com") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) + (selectrum . [(20220513 2106) ((emacs (26 1))) "Easily select item from list" single ((:commit . "810ea697bdd559d97b86b795e01769cddfa3daf2") (:authors ("Radian LLC" . "contact+selectrum@radian.codes")) (:maintainer "Radian LLC" . "contact+selectrum@radian.codes") (:keywords "extensions") (:url . "https://github.com/radian-software/selectrum"))]) + (selectrum-prescient . [(20220601 1652) ((emacs (25 1)) (prescient (5 2 1)) (selectrum (3 1))) "Selectrum integration" single ((:commit . "07d61b7779c4cca3009390383e7f98a55de7e17e") (:authors ("Radian LLC" . "contact+prescient@radian.codes")) (:maintainer "Radian LLC" . "contact+prescient@radian.codes") (:keywords "extensions") (:url . "https://github.com/raxod502/prescient.el"))]) (semaphore . [(20190607 1949) ((emacs (26))) "Semaphore based on condition variables" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:keywords "processes" "unix") (:url . "http://github.com/webnf/semaphore.el"))]) (semaphore-promise . [(20190607 2115) ((emacs (26)) (semaphore (1)) (promise (1))) "semaphore integration with promise" single ((:commit . "a069b69018b96d284ce7553cd63350a88ea3679c") (:authors ("Herwig Hochleitner" . "herwig@bendlas.net")) (:maintainer "Herwig Hochleitner" . "herwig@bendlas.net") (:keywords "processes" "unix") (:url . "http://github.com/webnf/semaphore.el"))]) - (semi . [(20210613 948) ((emacs (24 5)) (apel (10 8)) (flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "509f6f0bc2f5d020c63e47d9ad89410dc20bcb6f"))]) + (semi . [(20220720 1346) ((emacs (24 5)) (apel (10 8)) (flim (1 14 9))) "A library to provide MIME features." tar ((:commit . "ac3e726ca94ed245c25881ec8d7177d0d834ea6a"))]) (seml-mode . [(20200812 1027) ((emacs (25 1)) (impatient-mode (1 1)) (htmlize (1 5)) (web-mode (16 0))) "Major-mode for SEML, S-Expression Markup Language, file" single ((:commit . "7a9a8305f7b54ee59e4c29b33ef5fd4058ba4219") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "lisp" "html") (:url . "https://github.com/conao3/seml-mode.el"))]) (sendto . [(20160425 1250) ((emacs (24 4))) "send the region content to a function" single ((:commit . "076b81d7a53f75b0a59b0ef3448f35570567054c") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "region") (:url . "https://github.com/lujun9972/sendto.el"))]) + (sensei . [(20220530 1226) ((emacs (27 1)) (projectile (2 5 0)) (request (0 3 2))) "A client for sensei" single ((:commit . "3538990de9ab57154e3da08d10fbd2c6228d87b8") (:authors ("Arnaud Bailly" . "arnaud@pankzsoft.com")) (:maintainer "Arnaud Bailly" . "arnaud@pankzsoft.com") (:keywords "hypermedia") (:url . "https://abailly.github.io/sensei"))]) (sensitive . [(20170818 1251) ((emacs (24)) (sequences (0 1 0))) "A dead simple way to load sensitive information" single ((:commit . "69dd6125a41d8b55f4b6ba61daa4d1aa1f716fa8") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com") (:keywords "convenience"))]) - (sentence-navigation . [(20180408 1619) ((ample-regexps (0 1)) (cl-lib (0 5)) (emacs (24 4))) "Commands to navigate one-spaced sentences." single ((:commit . "7c5d2edeaed01196aec25031782e89adeaa089f0") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:keywords "sentence" "evil") (:url . "https://github.com/noctuid/emacs-sentence-navigation"))]) + (sentence-navigation . [(20220522 1137) ((ample-regexps (0 1)) (cl-lib (0 5)) (emacs (24 4))) "Commands to navigate one-spaced sentences." single ((:commit . "ea6e94a5518643acda5b6e98e4e7f47dfc107d29") (:authors ("Fox Kiester" . "noct@openmailbox.org")) (:maintainer "Fox Kiester" . "noct@openmailbox.org") (:keywords "sentence" "evil") (:url . "https://github.com/noctuid/emacs-sentence-navigation"))]) (seoul256-theme . [(20180505 757) ((emacs (24 3))) "Low-contrast color scheme based on Seoul Colors." single ((:commit . "d28a9de73a5ffb1a1c9492db75a5c1efe5e9815f") (:authors ("Anand Iyer" . "anand.ucb@gmail.com")) (:maintainer "Anand Iyer" . "anand.ucb@gmail.com") (:keywords "theme") (:url . "http://github.com/anandpiyer/seoul256-emacs"))]) - (separedit . [(20220315 1610) ((emacs (25 1)) (dash (2 18)) (edit-indirect (0 1 5))) "Edit comment/string/docstring/code block in separate buffer" single ((:commit . "c3c493a700a9bf8078d65b23b9ae1aad3774b8d9") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "tools" "languages" "docs") (:url . "https://github.com/twlz0ne/separedit.el"))]) + (separedit . [(20220715 2343) ((emacs (25 1)) (dash (2 18)) (edit-indirect (0 1 5))) "Edit comment/string/docstring/code block in separate buffer" single ((:commit . "9af0c1f417c460352f77de88b5b4432d6b955858") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "tools" "languages" "docs") (:url . "https://github.com/twlz0ne/separedit.el"))]) (sequed . [(20220115 743) ((emacs (25 2))) "Major mode for FASTA format DNA alignments" single ((:commit . "3137bc32c8a6a84dbdb61b4ee029b0e382939adb") (:authors ("Bruce Rannala" . "brannala@ucdavis.edu")) (:maintainer "Bruce Rannala" . "brannala@ucdavis.edu") (:url . "https://github.com/brannala/sequed"))]) (sequences . [(20170818 1252) ((emacs (24))) "Ports of some Clojure sequence functions." single ((:commit . "564ebbd93b0beea4e75acfbf824350e90b5d5738") (:authors ("Tim Visher" . "tim.visher@gmail.com")) (:maintainer "Tim Visher" . "tim.visher@gmail.com") (:keywords "convenience"))]) (sequential-command . [(20170926 40) nil "Many commands into one command" tar ((:commit . "a48cbcbe273b33edd3ae56e68f44b4100fa3a48a") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "convenience" "lisp") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el"))]) - (seriestracker . [(20220212 304) ((dash (2 12 1)) (transient (0 3 2)) (emacs (27 1))) "Series tracker" single ((:commit . "4706db081bd214b272e0bcaabb66887e4b5b0968") (:authors ("Maxime Wack ")) (:maintainer "Maxime Wack ") (:keywords "multimedia") (:url . "https://www.github.com/MaximeWack/seriesTracker"))]) + (seriestracker . [(20220731 2330) ((dash (2 12 1)) (transient (0 3 2)) (emacs (27 1))) "Series tracker" single ((:commit . "1b4fe12d2fff15e3646a2d7cbe528ad1f95c4f19") (:authors ("Maxime Wack ")) (:maintainer "Maxime Wack ") (:keywords "multimedia") (:url . "https://www.github.com/MaximeWack/seriesTracker"))]) (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") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com") ("Sebastian Wiesner" . "lunaryorn@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "elpa" "server") (:url . "http://github.com/rejeep/servant.el"))]) (serverspec . [(20150623 1155) ((dash (2 6 0)) (s (1 9 0)) (f (0 16 2)) (helm (1 6 1))) "Serverspec minor mode" tar ((:commit . "b6dfe82af9869438de5e5d860ced196641f372c0") (:authors ("k1LoW (Kenichirou Oyama), ")) (:maintainer "k1LoW (Kenichirou Oyama), ") (:url . "http://101000lab.org"))]) (services . [(20170802 1130) ((cl-lib (0 5))) "Services database access functions." single ((:commit . "04c7986041a33dfa0b0ae57c7d6fbd600548c596") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "convenience" "net" "services") (:url . "https://github.com/davep/services.el"))]) @@ -4288,12 +4344,12 @@ (shadchen . [(20141102 1839) nil "pattern matching for elisp" single ((:commit . "35f2b9c304eec990c16efbd557198289dc7cbb1f") (:authors ("Vincent Toups")) (:maintainer "Vincent Toups"))]) (shader-mode . [(20180518 1157) ((emacs (24))) "Major mode for shader" single ((:commit . "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c") (:authors ("midnightSuyama" . "midnightSuyama@gmail.com")) (:maintainer "midnightSuyama" . "midnightSuyama@gmail.com") (:url . "https://github.com/midnightSuyama/shader-mode"))]) (shades-of-purple-theme . [(20210506 1448) nil "A theme with bold shades of purple" single ((:commit . "e9d2ac081ae657b1ad6a30b9f53e8572479deb80") (:authors ("Arturo Vergara" . "hello@dead.computer")) (:maintainer "Arturo Vergara" . "hello@dead.computer") (:url . "https://github.com/arturovm/shades-of-purple-emacs"))]) - (shadowenv . [(20210512 1625) ((emacs (24 3))) "Shadowenv integration." single ((:commit . "dbcef650b906fec62608d5e4e3075bf251e675e1") (:authors ("Dante Catalfamo" . "dante.catalfamo@shopify.com")) (:maintainer "Dante Catalfamo" . "dante.catalfamo@shopify.com") (:keywords "shadowenv" "tools") (:url . "https://github.com/Shopify/shadowenv.el"))]) + (shadowenv . [(20210512 1625) ((emacs (24 3))) "Shadowenv integration." single ((:commit . "bcdce40b906c848727dbb55176262a9f03f8abb4") (:authors ("Dante Catalfamo" . "dante.catalfamo@shopify.com")) (:maintainer "Dante Catalfamo" . "dante.catalfamo@shopify.com") (:keywords "shadowenv" "tools") (:url . "https://github.com/Shopify/shadowenv.el"))]) (shakespeare-mode . [(20180704 2138) nil "A major mode for editing Shakespearean templates." single ((:commit . "c442eeea9d585e1b1fbb8813e33d47feec348a57") (:authors ("Cody Reichert")) (:maintainer "Cody Reichert") (:keywords "shakespeare" "hamlet" "lucius" "julius" "mode") (:url . "http://github.com/CodyReichert/shakespeare-mode"))]) (shampoo . [(20131230 1019) nil "A remote Smalltalk development mode" tar ((:commit . "bc193c39636c30182159c5c91c37a9a4cb50fedf"))]) - (shanty-themes . [(20220405 1126) ((emacs (27 2))) "The themes for digital workers" tar ((:commit . "55b6a2653e43187559ff8b5103bcb9dc54e68ab6") (:authors ("Philip Gaber" . "phga@posteo.de")) (:maintainer "Philip Gaber" . "phga@posteo.de") (:keywords "faces" "theme" "blue" "yellow" "gold" "dark" "light") (:url . "https://github.com/qhga/shanty-themes"))]) + (shanty-themes . [(20220623 1528) ((emacs (27 2))) "The themes for digital workers" tar ((:commit . "906104f6a6b185efc19285fcc3bc943f094fb594") (:authors ("Philip Gaber" . "phga@posteo.de")) (:maintainer "Philip Gaber" . "phga@posteo.de") (:keywords "faces" "theme" "blue" "yellow" "gold" "dark" "light") (:url . "https://github.com/qhga/shanty-themes"))]) (share2computer . [(20200316 31) ((emacs (25 1))) "Elisp helper of android ShareToComputer" single ((:commit . "15da47625a800e3310b8dc714bd4e41e32966d6a") (:authors ("Feng Shu" . "tumashu@163.com")) (:maintainer "Feng Shu" . "tumashu@163.com") (:keywords "convenience" "comm") (:url . "https://github.com/tumashu/share2computer"))]) - (sharper . [(20220321 422) ((emacs (27 1)) (transient (0 2 0))) "A dotnet CLI wrapper, using Transient" single ((:commit . "96edd4a1dbc267afdff0cb97298d1b05b7c2080c") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:keywords "maint" "tool") (:url . "https://github.com/sebasmonia/sharper"))]) + (sharper . [(20220510 2001) ((emacs (27 1)) (transient (0 2 0))) "A dotnet CLI wrapper, using Transient" single ((:commit . "8020a5da0327f9a18b4bdab474bf8d81c1b38ea7") (:authors ("Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Sebastian Monia" . "smonia@outlook.com") (:keywords "maint" "tool") (:url . "https://github.com/sebasmonia/sharper"))]) (shell-current-directory . [(20140101 2354) nil "create new shell based on buffer directory" single ((:commit . "bf843771bf9a4aa05e054ade799eb8862f3be89a") (:authors ("Daniel Polani")) (:maintainer "Daniel Polani") (:keywords "shell" "comint"))]) (shell-here . [(20220102 1703) nil "Open a shell relative to the working directory" single ((:commit . "eeb437ff26d62a5009046b1b3b4503b768e3131a") (:authors ("Ian Eure" . "ian.eure@gmail.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:keywords "unix" "tools" "processes"))]) (shell-history . [(20100505 839) nil "integration with shell history" single ((:commit . "ee371a81f2d2bf5a308344078329ca1e9b5ed38c") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "processes" "convenience") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/shell-history.el"))]) @@ -4301,35 +4357,40 @@ (shell-split-string . [(20151224 1008) nil "Split strings using shell-like syntax" single ((:commit . "19f6f999c33cc66a4c91bacdcc3697c25d97bf5a") (:authors ("10sr <8.slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes+el [at] gmail [dot] com>") (:keywords "utility" "library" "shell" "string") (:url . "https://github.com/10sr/shell-split-string-el"))]) (shell-switcher . [(20210509 1045) ((emacs (24))) "Provide fast switching between shell buffers." tar ((:commit . "ed74b20fa12935be0068765f5bc8de97b92a8020") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:keywords "emacs" "package" "elisp" "shell" "eshell" "term" "switcher") (:url . "https://github.com/DamienCassou/shell-switcher"))]) (shell-toggle . [(20150226 1411) nil "Toggle to and from the shell buffer" single ((:commit . "0d01bd9a780fdb7fe6609c552523f4498649a3b9") (:authors ("Mikael Sjödin" . "mic@docs.uu.se") ("Matthieu Moy") ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Mikael Sjödin" . "mic@docs.uu.se") (:keywords "processes") (:url . "https://github.com/knu/shell-toggle.el"))]) - (shellcop . [(20220414 530) ((emacs (25 1))) "Analyze info&error in shell-mode" single ((:commit . "327f5ac43e5d543149a772aef06cdb616477eb43") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "unix" "tools") (:url . "https://github.com/redguardtoo/shellcop"))]) + (shellcop . [(20220629 817) ((emacs (25 1))) "Analyze info&error in shell-mode" single ((:commit . "173e4d632c94af6670869729c09bfb8ba484d257") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:keywords "unix" "tools") (:url . "https://github.com/redguardtoo/shellcop"))]) (shelldoc . [(20200513 1206) ((cl-lib (0 3)) (s (1 9 0))) "shell command editing support with man page." single ((:commit . "fa69f67b6229fad3f31d936955ca8d1982009b77") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "applications") (:url . "http://github.com/mhayashi1120/Emacs-shelldoc"))]) (shelldon . [(20220325 1305) ((emacs (27 1))) "An enhanced shell interface" single ((:commit . "8d073ce580e7782ed863fc6e19dc33b4f73c0d79") (:authors ("overdr0ne" . "scmorris.dev@gmail.com")) (:maintainer "overdr0ne" . "scmorris.dev@gmail.com") (:keywords "tools" "convenience") (:url . "https://github.com/Overdr0ne/shelldon"))]) (shelltest-mode . [(20180501 141) nil "Major mode for shelltestrunner" single ((:commit . "5fea8c9394380e822971a171905b6b5ab9be812d") (:authors ("Dustin Fechner" . "dfe@rtrn.io")) (:maintainer "Dustin Fechner" . "dfe@rtrn.io") (:keywords "languages") (:url . "https://github.com/rtrn/shelltest-mode"))]) (shen-elisp . [(20210530 349) ((emacs (24 4))) "Shen implementation in Elisp" tar ((:commit . "dabb829d0d86f454ceb3b0846cdfc11af1f91cc7") (:authors ("Aditya Siram" . "aditya.siram@gmail.com")) (:maintainer "Aditya Siram" . "aditya.siram@gmail.com") (:url . "https://github.com/deech/shen-elisp"))]) - (shenshou . [(20220324 1137) ((emacs (25 1))) "Download subtitles from opensubtitles.org" single ((:commit . "bc16a637edaaca831a5147b6f479ba1dbdc02454") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience" "tools") (:url . "http://github.com/redguardtoo/shenshou"))]) - (shfmt . [(20210803 222) ((emacs (24)) (reformatter (0 3))) "Reformat shell scripts using shfmt" single ((:commit . "ceb1ed4df3d7e198e4c5af0c2fd44c4d9d65832e") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages") (:url . "https://github.com/purcell/emacs-shfmt"))]) + (shenshou . [(20220802 1232) ((emacs (27 1))) "Download&Extract subtitles from opensubtitles" single ((:commit . "8152f6f6ee975a7f32913d54ae9223a655c3b82c") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience" "tools") (:url . "http://github.com/redguardtoo/shenshou"))]) + (shfmt . [(20220602 1535) ((emacs (24)) (reformatter (0 3))) "Reformat shell scripts using shfmt" single ((:commit . "279a51defa3e0d97dc40b8a26e078699d4e22e90") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages") (:url . "https://github.com/purcell/emacs-shfmt"))]) (shift-number . [(20170301 1459) nil "Increase/decrease the number at point" single ((:commit . "cd099a5582fc996b800ac7607f6c38a004ce9740") (:authors ("Alex Kost" . "alezost@gmail.com")) (:maintainer "Alex Kost" . "alezost@gmail.com") (:keywords "convenience") (:url . "https://github.com/alezost/shift-number.el"))]) (shift-text . [(20130831 1655) ((cl-lib (1 0)) (es-lib (0 3))) "Move the region in 4 directions, in a way similar to Eclipse's" single ((:commit . "1be9cbf994000022172ceb746fe1d597f57ea8ba") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/shift-text"))]) - (shimbun . [(20220405 124) nil "interfacing with web newspapers" tar ((:commit . "89ed3cfda707b610670173e4e3226f652787a0ba") (: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") (:keywords "news"))]) + (shimbun . [(20220707 40) nil "interfacing with web newspapers" tar ((:commit . "db02ce0fde628a8eb9a1a0c95939c41981fdd931") (: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") (:keywords "news"))]) (shm . [(20180327 57) nil "Structured Haskell Mode" tar ((:commit . "7f9df73f45d107017c18ce4835bbc190dfe6782e") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:keywords "development" "haskell" "structured"))]) (shoulda . [(20140616 1833) ((cl-lib (0 5))) "Shoulda test support for ruby" single ((:commit . "fbe8eb8efc6cfcca1713283a290882cfcdc8725e") (:authors ("Marcwebbie" . "marcwebbie@gmail.com")) (:maintainer "Marcwebbie" . "marcwebbie@gmail.com") (:keywords "ruby" "tests" "shoulda"))]) (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") (:authors ("Sheldon McGrandle" . "developer@rednemesis.com")) (:maintainer "Sheldon McGrandle" . "developer@rednemesis.com") (:keywords "hypermedia") (:url . "https://github.com/smmcg/showcss-mode"))]) - (show-eol . [(20210715 1227) ((emacs (24 4))) "Show end of line symbol in buffer" single ((:commit . "c1e426bc9f1f334eac9012f81d7c481bdbdfd59a") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/show-eol"))]) + (show-eol . [(20220704 659) ((emacs (24 4))) "Show end of line symbol in buffer" single ((:commit . "1a332666192f377dca933b0da71e6528b288fc09") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "end" "eol" "line") (:url . "https://github.com/jcs-elpa/show-eol"))]) (show-font-mode . [(20201225 2217) ((emacs (25 1))) "Show font at point on mode line" single ((:commit . "8503be7966d3bd8316039b5f49d3c37c7b97d10c") (:authors ("Melissa Boiko" . "melissa@namakajiri.net")) (:maintainer "Melissa Boiko" . "melissa@namakajiri.net") (:keywords "faces" "i18n" "unicode" "fonts" "fontsets") (:url . "https://github.com/melissaboiko/show-font-mode"))]) (showtip . [(20090830 1040) nil "Show tip at cursor" single ((:commit . "930da302809a4257e8d69425455b29e1cc91949b") (:authors ("Ye Wenbin" . "wenbinye@gmail.com")) (:maintainer "Ye Wenbin" . "wenbinye@gmail.com") (:keywords "help"))]) (shpec-mode . [(20150530 922) nil "Minor mode for shpec specification" single ((:commit . "146adc8281d0f115df39a3a3f982ac59ab61b754") (:authors ("AdrieanKhisbe" . "adriean.khisbe@live.fr")) (:maintainer "AdrieanKhisbe" . "adriean.khisbe@live.fr") (:keywords "languages" "tools") (:url . "http://github.com/shpec/shpec-mode"))]) (shr-tag-pre-highlight . [(20200626 1047) ((emacs (25 1)) (language-detection (0 1 0))) "Syntax highlighting code block in HTML" single ((:commit . "931c447bc0d6c134ddc9657c664eeee33afbc54d") (:authors ("Chunyang Xu" . "mail@xuchunyang.me")) (:maintainer "Chunyang Xu" . "mail@xuchunyang.me") (:keywords "html") (:url . "https://github.com/xuchunyang/shr-tag-pre-highlight.el"))]) - (shrface . [(20210829 1013) ((emacs (25 1)) (org (9 0)) (language-detection (0 1 0))) "Extend shr/eww with org features and analysis capability" single ((:commit . "b8a23e097b25d6c7754f9aaf4de89259f8a0b17d") (:authors ("Damon Chan" . "elecming@gmail.com")) (:maintainer "Damon Chan" . "elecming@gmail.com") (:keywords "faces") (:url . "https://github.com/chenyanming/shrface"))]) + (shrface . [(20220523 1440) ((emacs (25 1)) (org (9 0)) (language-detection (0 1 0))) "Extend shr/eww with org features and analysis capability" single ((:commit . "b3916e1ebe2477c031db1440d9b57e373c0354fe") (:authors ("Damon Chan" . "elecming@gmail.com")) (:maintainer "Damon Chan" . "elecming@gmail.com") (:keywords "faces") (:url . "https://github.com/chenyanming/shrface"))]) (shrink-path . [(20190208 1335) ((emacs (24)) (s (1 6 1)) (dash (1 8 0)) (f (0 10 0))) "fish-style path" single ((:commit . "c14882c8599aec79a6e8ef2d06454254bb3e1e41") (:authors ("Benjamin Andresen")) (:maintainer "Benjamin Andresen") (:url . "https://gitlab.com/bennya/shrink-path.el"))]) (shrink-whitespace . [(20181003 321) nil "Whitespace removal DWIM key" single ((:commit . "0407b89c142bd17e65edb666f35e2c6755bd0867") (:authors ("Jean-Christophe Petkovich" . "jcpetkovich@gmail.com")) (:maintainer "Jean-Christophe Petkovich" . "jcpetkovich@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/jcpetkovich/shrink-whitespace.el"))]) (shroud . [(20210220 1952) ((emacs (25)) (epg (1 0 0)) (s (1 6 0)) (bui (1 2 0)) (dash (2 18 0))) "Shroud secrets" tar ((:commit . "2e6ff2bab4a1e798c090c9d7fbd90b7f3463d5c5") (:authors ("Amar Singh" . "nly@disroot.org")) (:maintainer "Amar Singh" . "nly@disroot.org") (:keywords "tools" "password") (:url . "https://github.com/o-nly/emacs-shroud"))]) (shut-up . [(20210403 1249) ((cl-lib (0 3)) (emacs (24))) "Shut up would you!" single ((:commit . "ff6f06f3b080ee833a25a22da8cb5b96e911dc77") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:url . "http://github.com/rejeep/shut-up.el"))]) - (shx . [(20201121 1824) ((emacs (24 4))) "Extras for the comint-mode shell" single ((:commit . "09ae2124369ded4f38459d2456f72536d172227a") (:keywords "terminals" "processes" "comint" "shell" "repl") (:url . "https://github.com/riscy/shx-for-emacs"))]) + (shx . [(20220424 2124) ((emacs (24 4))) "Extras for the comint-mode shell" single ((:commit . "15bbc0f89a4927792e2e791378de827ab698ed69") (:authors ("Chris Rayner and contributors")) (:maintainer "Chris Rayner" . "dchrisrayner@gmail.com") (:keywords "terminals" "processes" "comint" "shell" "repl") (:url . "https://github.com/riscy/shx-for-emacs"))]) (sibilant-mode . [(20151119 2145) nil "Support for the Sibilant programming language" single ((:commit . "bc1b5d8cd597918bafc9b2880ee49024740e54ab") (:authors ("Jacob Rothstein" . "hi@jbr.me")) (:maintainer "Jacob Rothstein" . "hi@jbr.me") (:keywords "languages") (:url . "http://sibilantjs.info"))]) (sicp . [(20200512 1137) nil "Structure and Interpretation of Computer Programs in info format" tar ((:commit . "4002d83083d520c6b5ede2df36cc2cee885d450a") (:authors ("Hal Abelson") ("Jerry Sussman") ("Julie Sussman")) (:maintainer "Hal Abelson") (:url . "https://mitpress.mit.edu/sicp"))]) (side-hustle . [(20210627 701) ((emacs (24 4)) (seq (2 20))) "Hustle through Imenu in a side window" single ((:commit . "1f4cd5e7cfbabb00c6d87e913770f21e3d16c957") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "convenience") (:url . "https://github.com/rnkn/side-hustle"))]) (side-notes . [(20210709 1403) ((emacs (24 4))) "Easy access to a directory notes file" single ((:commit . "41fe8544661a772f764a0924e04080f258053955") (:authors ("Paul W. Rankin" . "pwr@bydasein.com")) (:maintainer "Paul W. Rankin" . "pwr@bydasein.com") (:keywords "convenience") (:url . "https://github.com/rnkn/side-notes"))]) - (sidecar-locals . [(20220421 145) ((emacs (27 1))) "A flexible alternative to built-in dir-locals" single ((:commit . "6a5fe7da992f057232bd5a57d275d9ff6311864f") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-sidecar-locals"))]) + (sidecar-locals . [(20220710 1040) ((emacs (27 1))) "A flexible alternative to built-in dir-locals" single ((:commit . "3aa9c890ebc38800ab26f5f877da32a79ce87d18") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-sidecar-locals"))]) + (sideline . [(20220706 720) ((emacs (27 1))) "Show information on the side" single ((:commit . "f1bad8c6aa954a65cb3a61a116c97155daa45c96") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacs-sideline/sideline"))]) + (sideline-blame . [(20220629 801) ((emacs (27 1)) (sideline (0 1 0)) (vc-msg (1 1 1))) "Show blame messages with sideline" single ((:commit . "574592a8ecc171112d4ac2575f9cac51ff5eb184") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "blame") (:url . "https://github.com/emacs-sideline/sideline-blame"))]) + (sideline-flycheck . [(20220629 752) ((emacs (27 1)) (sideline (0 1 1)) (flycheck (0 14)) (ht (2 4))) "Show flycheck errors with sideline" single ((:commit . "7f11c14c938a88a35728b04add991903486ddd31") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "flycheck") (:url . "https://github.com/emacs-sideline/sideline-flycheck"))]) + (sideline-flymake . [(20220629 802) ((emacs (27 1)) (sideline (0 1 0))) "Show flymake errors with sideline" single ((:commit . "a6c6e9e4e64a12040adadaf351f3e83a0e2954e6") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "flymake") (:url . "https://github.com/emacs-sideline/sideline-flymake"))]) + (sideline-lsp . [(20220629 757) ((emacs (27 1)) (sideline (0 1 0)) (lsp-mode (6 0)) (dash (2 18 0)) (ht (2 4)) (s (1 12 0))) "Show lsp information with sideline" single ((:commit . "b340c1e9a6d26ad4b3afe6aa660d62e8cebd66c8") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "lsp") (:url . "https://github.com/emacs-sideline/sideline-lsp"))]) (sift . [(20200421 1423) nil "Front-end for sift, a fast and powerful grep alternative" single ((:commit . "cdddba2d183146c340915003f1b5d09d13712c22") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "sift" "ack" "pt" "ag" "grep" "search") (:url . "https://github.com/nlamirault/sift.el"))]) (signal . [(20160816 1438) ((emacs (24)) (cl-lib (0 5))) "Advanced hook" single ((:commit . "aa58327e2297df921d72a0370468b48663efd438") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:keywords "internal" "lisp" "processes" "tools") (:url . "https://github.com/mola-T/signal"))]) (silkworm-theme . [(20210215 1120) ((emacs (24))) "Light theme with pleasant, low contrast colors." single ((:commit . "ff80e9294da0fb093e15097ac62153ef4a64a889") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) @@ -4340,18 +4401,19 @@ (simple-indentation . [(20220215 1745) ((emacs (24 3)) (dash (2 18 0)) (s (1 12 0))) "Simplify writing indentation functions, alternative to SMIE" tar ((:commit . "e7c8238af9e1a6b1fc4dab8014d779ac178fc249") (:authors ("Semen Khramtsov" . "hrams205@gmail.com")) (:maintainer "Semen Khramtsov" . "hrams205@gmail.com") (:url . "https://github.com/semenInRussia/simple-indentation.el"))]) (simple-modeline . [(20210312 1048) ((emacs (26 1))) "A simple mode-line configuration for Emacs" tar ((:commit . "119d8224a8ae0ee17b09ac1fed6cdb9cb1d048fd") (:authors ("Eder Elorriaga" . "gexplorer8@gmail.com")) (:maintainer "Eder Elorriaga" . "gexplorer8@gmail.com") (:keywords "mode-line" "faces") (:url . "https://github.com/gexplorer/simple-modeline"))]) (simple-mpc . [(20220216 102) ((s (1 10 0))) "provides a simple interface to mpc" tar ((:commit . "57ee14ada8aec477ddde5e4f632c8d3d99a66535") (:authors ("Joren Van Onder" . "joren@jvo.sh")) (:maintainer "Joren Van Onder" . "joren@jvo.sh") (:keywords "multimedia" "mpd" "mpc") (:url . "https://github.com/jorenvo/simple-mpc"))]) - (simple-paren . [(20220207 2007) ((emacs (24)) (cl-lib (0 5))) "Non-electrical insert paired delimiter, wrap" single ((:commit . "a454901635dfe4142d8c4f0153e737ddc778d708") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:keywords "convenience") (:url . "https://github.com/andreas-roehler/simple-paren"))]) + (simple-paren . [(20220713 902) ((emacs (24)) (cl-lib (0 5))) "Non-electrical insert paired delimiter, wrap" single ((:commit . "05331d19942f48e2fc857a07152698d5a6eb4780") (:authors ("Andreas Röhler, Steve Purcell")) (:maintainer "Andreas Röhler, Steve Purcell") (:keywords "convenience") (:url . "https://github.com/andreas-roehler/simple-paren"))]) (simple-rtm . [(20160222 1534) ((rtm (0 1)) (dash (2 0 0))) "Interactive Emacs mode for Remember The Milk" single ((:commit . "8c7cd96cf66ef112be5c363e3378e304f8f83999") (:authors ("Moritz Bunkus" . "morit@bunkus.org")) (:maintainer "Moritz Bunkus" . "morit@bunkus.org") (:keywords "remember" "the" "milk" "productivity" "todo"))]) (simple-screen . [(20200926 109) nil "Simple screen configuration manager" single ((:commit . "3ce535755986f7c25890d11e42fa621a3a069a4f") (:authors ("Tadashi Watanabe" . "wac@umiushi.org")) (:maintainer "Tadashi Watanabe" . "wac@umiushi.org") (:keywords "tools") (:url . "https://github.com/wachikun/simple-screen"))]) - (simpleclip . [(20210406 1221) nil "Simplified access to the system clipboard" single ((:commit . "67c8c17adbbe6d9407a5ce4159d097a8b8bf6adb") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience") (:url . "http://github.com/rolandwalker/simpleclip"))]) + (simpleclip . [(20220518 1251) nil "Simplified access to the system clipboard" single ((:commit . "023f239275115169c3a3637ad95fae4a036c005e") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "convenience") (:url . "http://github.com/rolandwalker/simpleclip"))]) (simplenote . [(20141118 1440) nil "Interact with simple-note.appspot.com" single ((:commit . "e836fcdb5a6497a9ffd6bceddd19b4bc52189078") (:authors ("Konstantinos Efstathiou" . "konstantinos@efstathiou.gr")) (:maintainer "Konstantinos Efstathiou" . "konstantinos@efstathiou.gr") (:keywords "simplenote"))]) (simplenote2 . [(20190321 933) ((request-deferred (0 2 0)) (uuidgen (20140918)) (unicode-escape (1 1))) "Interact with app.simplenote.com" tar ((:commit . "760ffecda63bd218876b623f46d332e3ef079be6") (:authors ("alpha22jp" . "alpha22jp@gmail.com")) (:maintainer "alpha22jp" . "alpha22jp@gmail.com") (:keywords "simplenote"))]) (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"))]) - (simplicity-theme . [(20220217 1928) ((emacs (24 1))) "A minimalist dark theme" single ((:commit . "2a0aaf19cf1e99c50df0d2e6225a2d2931a203d2") (:authors ("Matthieu Petiteau" . "mpetiteau.pro@gmail.com")) (:maintainer "Matthieu Petiteau" . "mpetiteau.pro@gmail.com") (:keywords "faces" "theme" "minimal") (:url . "http://github.com/smallwat3r/emacs-simplicity-theme"))]) + (simplicity-theme . [(20220628 1930) ((emacs (24 1))) "A minimalist dark theme" single ((:commit . "35a51e39b581d91481865eecff9fa4178e8bdc2b") (:authors ("Matthieu Petiteau" . "mpetiteau.pro@gmail.com")) (:maintainer "Matthieu Petiteau" . "mpetiteau.pro@gmail.com") (:keywords "faces" "theme" "minimal") (:url . "http://github.com/smallwat3r/emacs-simplicity-theme"))]) (siri-shortcuts . [(20211229 1833) ((emacs (25 2))) "Interact with Siri Shortcuts" single ((:commit . "190f242f71e071adfd89fa1f2f6ea22b62afd133") (:authors ("Daniils Petrovs" . "thedanpetrov@gmail.com")) (:maintainer "Daniils Petrovs" . "thedanpetrov@gmail.com") (:keywords "convenience" "multimedia") (:url . "https://github.com/DaniruKun/siri-shortcuts.el"))]) - (sis . [(20211016 1144) ((emacs (25 1)) (terminal-focus-reporting (0 0))) "Less manual switch for native or OS input source (input method)." single ((:commit . "237fb7029fde7c16a24d2231754d95190c1f03cd") (:keywords "convenience") (:url . "https://github.com/laishulu/emacs-smart-input-source"))]) + (sis . [(20220721 1600) ((emacs (25 1)) (terminal-focus-reporting (0 0))) "Less manual switch for native or OS input source (input method)." single ((:commit . "d7a415b00bb1ddcf940d82afdd01e8b793d5466b") (:keywords "convenience") (:url . "https://github.com/laishulu/emacs-smart-input-source"))]) + (sisyphus . [(20220506 1140) ((emacs (27)) (compat (28 1 1 0)) (magit (3 4 0))) "Create releases of Emacs packages" single ((:commit . "9626d9d26dc9f3cc57d41fa119a74e0cb1c4aab9") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "git" "tools" "vc") (:url . "https://github.com/magit/sisyphus"))]) (skeletor . [(20210129 239) ((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 . "f6e560a0bfe459e0b8a268047920ce1148f2ebf6") (:authors ("Chris Barrett" . "chris.d.barrett@me.com")) (:maintainer "Chris Barrett" . "chris.d.barrett@me.com"))]) - (skerrick . [(20220306 2139) ((emacs (27 1)) (request (0 3 2))) "REPL-driven development for NodeJS" single ((:commit . "fc88e82aa4b0a71b1fbe0217df4020538ebd8cd5") (:authors ("Rafael Nicdao ")) (:maintainer "Rafael Nicdao" . "nicdaoraf@gmail.com") (:keywords "languages" "javascript" "js" "repl" "repl-driven") (:url . "https://github.com/anonimitoraf/skerrick"))]) + (skerrick . [(20220306 2139) ((emacs (27 1)) (request (0 3 2))) "REPL-driven development for NodeJS" single ((:commit . "ac8ba166446048bfc5b2b4a5719aad61a5487182") (:authors ("Rafael Nicdao ")) (:maintainer "Rafael Nicdao" . "nicdaoraf@gmail.com") (:keywords "languages" "javascript" "js" "repl" "repl-driven") (:url . "https://github.com/anonimitoraf/skerrick"))]) (sketch-themes . [(20220404 1741) ((emacs (26 1))) "Sketch color themes" tar ((:commit . "8a609ec8fbf12231ba67aab9fcbb6b3ad0420359") (:authors ("Daw-Ran Liou" . "hi@dawranliou.com")) (:maintainer "Daw-Ran Liou" . "hi@dawranliou.com") (:keywords "faces") (:url . "https://github.com/dawranliou/sketch-themes/"))]) (skewer-less . [(20210510 532) ((skewer-mode (1 5 3))) "Skewer support for live LESS stylesheet updates" single ((:commit . "baa973581c2ab7326db65803df97d1a7382b6564") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages" "tools"))]) (skewer-mode . [(20200304 1142) ((simple-httpd (1 4 0)) (js2-mode (20090723)) (emacs (24))) "live browser JavaScript, CSS, and HTML interaction" tar ((:commit . "e5bed351939c92a1f788f78398583c2f83f1bb3c") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/skewer-mode"))]) @@ -4361,7 +4423,7 @@ (slack . [(20211129 310) ((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 . "ff46d88726482211e3ac3d0b9c95dd4fdffe11c2") (:authors ("yuya.minami" . "yuya.minami@yuyaminami-no-MacBook-Pro.local")) (:maintainer "yuya.minami" . "yuya.minami@yuyaminami-no-MacBook-Pro.local") (:keywords "tools") (:url . "https://github.com/yuya373/emacs-slack"))]) (slideview . [(20150324 2240) ((cl-lib (0 3))) "File slideshow" single ((:commit . "b6d170bda139aedf81b47dc55cbd1a3af512fb4c") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "files") (:url . "https://github.com/mhayashi1120/Emacs-slideview"))]) (slim-mode . [(20170728 1348) nil "Major mode for editing Slim files" single ((:commit . "3636d18ab1c8b316eea71c4732eb44743e2ded87") (:authors ("Nathan Weizenbaum")) (:maintainer "Nathan Weizenbaum") (:keywords "markup" "language") (:url . "http://github.com/slim-template/emacs-slim"))]) - (slime . [(20220302 1215) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "6ef28864d4a6b4d9390dbd0cac64f2a56582682d") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))]) + (slime . [(20220712 817) ((cl-lib (0 5)) (macrostep (0 9))) "Superior Lisp Interaction Mode for Emacs" tar ((:commit . "805c29672c8a1f6c68286ab379359f9ab9ad9dc2") (:keywords "languages" "lisp" "slime") (:url . "https://github.com/slime/slime"))]) (slime-company . [(20210124 1627) ((emacs (24 4)) (slime (2 13)) (company (0 9 0))) "slime completion backend for company mode" single ((:commit . "f20ecc4104d4c35052696e7e760109fb02060e72") (:authors ("Ole Arndt" . "anwyn@sugarshark.com")) (:maintainer "Ole Arndt" . "anwyn@sugarshark.com") (:keywords "convenience" "lisp" "abbrev"))]) (slime-docker . [(20210426 1422) ((emacs (24 4)) (slime (2 16)) (docker-tramp (0 1))) "Integration of SLIME with Docker containers" tar ((:commit . "c7d073720f2bd8e9f72a20309fff2afa4c4e798d") (:keywords "docker" "lisp" "slime") (:url . "https://gitlab.common-lisp.net/cl-docker-images/slime-docker"))]) (slime-repl-ansi-color . [(20200712 1226) ((emacs (24)) (slime (2 3 1))) "Turn on ANSI colors in REPL output;" single ((:commit . "e38c7958d9657e41c426b4e96938b3f604238795") (:authors ("Max Mikhanosha" . "max@openchat.com")) (:maintainer "Augustin Fabre" . "augustin@augfab.fr") (:keywords "lisp") (:url . "https://gitlab.com/augfab/slime-repl-ansi-color"))]) @@ -4369,11 +4431,11 @@ (slime-volleyball . [(20190701 1624) nil "An SVG Slime Volleyball Game" tar ((:commit . "f36a84f3c503c46ba0d011874d387a34b01c6bf6") (:authors ("Thomas Fitzsimmons" . "fitzsim@fitzsim.org")) (:maintainer "Thomas Fitzsimmons" . "fitzsim@fitzsim.org") (:keywords "games"))]) (slirm . [(20160201 1425) ((emacs (24 4))) "Systematic Literature Review Mode for Emacs." single ((:commit . "9adfbe1fc67580e7d0d90f7e927a25d63a797464") (:authors ("Florian Biermann" . "fbie@itu.dk")) (:maintainer "Florian Biermann" . "fbie@itu.dk") (:url . "http://github.com/fbie/slirm"))]) (slovak-holidays . [(20211018 1754) nil "Adds a list of slovak holidays to Emacs calendar" single ((:commit . "bedd26dd45ca497c0028a11e94a905560fcdb2f1") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "calendar"))]) - (slow-keys . [(20180831 459) ((emacs (24 1))) "Slow keys mode to avoid RSI" single ((:commit . "b93ad77f9fc1d14e080d7d64864fc9cb222248b6") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "convenience") (:url . "https://github.com/manuel-uberti/slow-keys"))]) + (slow-keys . [(20180831 459) ((emacs (24 1))) "Slow keys mode to avoid RSI" single ((:commit . "b89b4fbddb4b6b95fcc7301ec543ea535b2cc4d7") (:authors ("Manuel Uberti" . "manuel.uberti@inventati.org")) (:maintainer "Manuel Uberti" . "manuel.uberti@inventati.org") (:keywords "convenience") (:url . "https://github.com/manuel-uberti/slow-keys"))]) (slstats . [(20170823 849) ((cl-lib (0 5)) (emacs (24))) "Acquire and display stats about Second Life" single ((:commit . "e9696066abf3f2b7b818a57c062530dfd9377033") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "games") (:url . "https://github.com/davep/slstats.el"))]) (slurm-mode . [(20210519 1109) nil "Interaction with the SLURM job scheduling system" tar ((:commit . "589826fbb07f625b23c322df1cc16377c4fe6f66") (:url . "https://github.com/ffevotte/slurm.el"))]) - (sly . [(20220302 1053) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "4513c382f07a2a2cedb3c046231b69eae2f5e6f0") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))]) - (sly-asdf . [(20220117 714) ((emacs (24 3)) (sly (1 0 0 -2 2)) (popup (0 5 3))) "ASDF system support for SLY" tar ((:commit . "89fff94868f01d000b8bb4dd9d7e4d6389e61259") (:maintainer "Matt George" . "mmge93@gmail.com") (:keywords "languages" "lisp" "sly" "asdf") (:url . "https://github.com/mmgeorge/sly-asdf"))]) + (sly . [(20220713 1433) ((emacs (24 3))) "Sylvester the Cat's Common Lisp IDE" tar ((:commit . "ef5211456a59d639c98b2ed42428726d32728ff8") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/joaotavora/sly"))]) + (sly-asdf . [(20220707 5) ((emacs (24 3)) (sly (1 0 0 -2 2)) (popup (0 5 3))) "ASDF system support for SLY" tar ((:commit . "3180921efdc19a2195960e1d601b2a6f31a6feea") (:maintainer "Matt George" . "mmge93@gmail.com") (:keywords "languages" "lisp" "sly" "asdf") (:url . "https://github.com/mmgeorge/sly-asdf"))]) (sly-hello-world . [(20200225 1755) ((sly (1 0 0 -2 2))) "A template SLY contrib" tar ((:commit . "d25acc1220a3ce066bd9908251c2f0f88b1781e9") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-hello-world"))]) (sly-macrostep . [(20191211 1630) ((sly (1 0 0 -2 2)) (macrostep (0 9))) "fancy macro-expansion via macrostep.el" tar ((:commit . "5113e4e926cd752b1d0bcc1508b3ebad5def5fad") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-macrostep"))]) (sly-named-readtables . [(20191013 2138) ((sly (1 0 0 -2 2))) "Support named readtables in Common Lisp files" tar ((:commit . "a5a42674ccffa97ccd5e4e9742beaf3ea719931f") (:authors ("João Távora" . "joaotavora@gmail.com")) (:maintainer "João Távora" . "joaotavora@gmail.com") (:keywords "languages" "lisp" "sly") (:url . "https://github.com/capitaomorte/sly-named-readtables"))]) @@ -4383,9 +4445,9 @@ (smart-comment . [(20160322 1839) nil "smarter commenting" single ((:commit . "17ddbd83205818763e6d68aa7a1aa9aaf414cbd4") (:authors ("Simon Friis Vindum" . "simon@vindum.io")) (:maintainer "Simon Friis Vindum" . "simon@vindum.io") (:keywords "lisp"))]) (smart-compile . [(20211127 1702) nil "an interface to `compile'" single ((:commit . "df771e8cf0f7d5ed455c74bf7d9c1e366f47922f") (:authors ("Seiji Zenitani" . "zenitani@gmail.com")) (:maintainer "Seiji Zenitani" . "zenitani@gmail.com") (:keywords "tools" "unix"))]) (smart-cursor-color . [(20201207 2228) nil "Change cursor color dynamically" single ((:commit . "d532f0b27e37cbd3bfc0be09d0b54aa38f1648f1") (:authors ("7696122")) (:maintainer "7696122") (:keywords "cursor" "color" "face") (:url . "https://github.com/7696122/smart-cursor-color/"))]) - (smart-dash . [(20210427 1709) nil "Smart-Dash minor mode" single ((:commit . "bc740889dd81e7dc8a90a33d1f075f21aba9b2d3") (:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))]) + (smart-dash . [(20220704 1645) nil "Smart-Dash minor mode" single ((:commit . "461cc1c9b4ebb48d167b3545d8e842e9e7c9fd59") (:authors ("Dennis Lambe Jr." . "malsyned@malsyned.net")) (:maintainer "Dennis Lambe Jr." . "malsyned@malsyned.net"))]) (smart-forward . [(20140430 713) ((expand-region (0 8 0))) "Semantic navigation" single ((:commit . "7b6dbfdbd4b646376a567c70e1a161545431b72b") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "navigation"))]) - (smart-hungry-delete . [(20211020 1822) ((emacs (24 3))) "smart hungry deletion of whitespace" single ((:commit . "78acd1f16fb99b66a6c9bd605a988c3c74280577") (:authors ("Hauke Rehfeld" . "emacs@haukerehfeld.de")) (:maintainer "Hauke Rehfeld" . "emacs@haukerehfeld.de") (:keywords "convenience") (:url . "https://github.com/hrehfeld/emacs-smart-hungry-delete"))]) + (smart-hungry-delete . [(20220516 1538) ((emacs (24 3))) "smart hungry deletion of whitespace" single ((:commit . "e06525cc1841805ebe470c876d6b966de90bc275") (:authors ("Hauke Rehfeld" . "emacs@haukerehfeld.de")) (:maintainer "Hauke Rehfeld" . "emacs@haukerehfeld.de") (:keywords "convenience") (:url . "https://github.com/hrehfeld/emacs-smart-hungry-delete"))]) (smart-indent-rigidly . [(20141206 15) nil "Smart rigid indenting" single ((:commit . "323d1fe4d0b81e598249aad01bc44adb180ece0e") (:authors ("atom smith")) (:maintainer "atom smith") (:keywords "indenting" "coffee-mode" "haml-mode" "sass-mode") (:url . "https://github.com/re5et/smart-indent-rigidly"))]) (smart-jump . [(20210304 844) ((emacs (25 1))) "Smart go to definition." tar ((:commit . "3392eb35e3cde37e6f5f2a48dc0db15ca535143c") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "tools") (:url . "https://github.com/jojojames/smart-jump"))]) (smart-mark . [(20150912 210) nil "Restore point after C-g when mark" single ((:commit . "04b522a23e3aae8381c6a976fc978532fcb2e7d0") (:authors ("Kai Yu" . "yeannylam@gmail.com")) (:maintainer "Kai Yu" . "yeannylam@gmail.com") (:keywords "mark" "restore"))]) @@ -4399,7 +4461,7 @@ (smart-tab . [(20210530 1743) ((emacs (24 3))) "Intelligent tab completion and indentation" single ((:commit . "2f1b4073904805c8454ebc9bc967b23836a2d577") (:authors ("John SJ Anderson" . "john@genehack.org") ("Sebastien Rocca Serra" . "sroccaserra@gmail.com") ("Daniel Hackney" . "dan@haxney.org")) (:maintainer "John SJ Anderson" . "john@genehack.org") (:keywords "extensions") (:url . "https://git.genehack.net/genehack/smart-tab"))]) (smart-tabs-mode . [(20200907 2025) nil "Intelligently indent with tabs, align with spaces!" single ((:commit . "1044c17e42479de943e69cdeb85e4d05ad9cca8c") (: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") (:keywords "languages") (:url . "http://www.emacswiki.org/emacs/SmartTabs"))]) (smart-window . [(20160717 130) ((cl-lib (0 5))) "vim-like window controlling plugin" single ((:commit . "5996461b7cbc5ab4509ac48537916eb29a8e4c16") (:authors ("Felix Chern" . "idryman@gmail.com")) (:maintainer "Felix Chern" . "idryman@gmail.com") (:keywords "window") (:url . "https://github.com/dryman/smart-window.el"))]) - (smartparens . [(20220204 1134) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "37f77bf2e2199be9fe27e981317b02cfd0e8c70e") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "abbrev" "convenience" "editing") (:url . "https://github.com/Fuco1/smartparens"))]) + (smartparens . [(20220623 1523) ((dash (2 13 0)) (cl-lib (0 3))) "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar ((:commit . "8b6a3c3b31afd5b3f846e09859b5fc62eb06e7c1") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "abbrev" "convenience" "editing") (:url . "https://github.com/Fuco1/smartparens"))]) (smartrep . [(20150509 230) nil "Support sequential operation which omitted prefix keys." single ((:commit . "f0ff5a6d7b8603603598ae3045c98b011e58d86e") (:authors ("myuhe ")) (:maintainer "myuhe") (:keywords "convenience") (:url . "https://github.com/myuhe/smartrep.el"))]) (smartscan . [(20170211 2033) nil "Jumps between other symbols found at point" single ((:commit . "234e077145710a174c20742de792b97ed2f965f6") (:authors ("Mickey Petersen" . "mickey@masteringemacs.org")) (:maintainer "Mickey Petersen" . "mickey@masteringemacs.org") (:keywords "extensions"))]) (smarty-mode . [(20100703 1158) nil "major mode for editing smarty templates" single ((:commit . "3dfdfe1571f5e9ef55a29c51e5a80046d4cb7568") (:maintainer "Benj Carson") (:keywords "smarty" "php" "languages" "templates") (:url . "none yet"))]) @@ -4409,6 +4471,7 @@ (smex . [(20151212 2209) ((emacs (24))) "M-x interface with Ido-style fuzzy matching." single ((:commit . "55aaebe3d793c2c990b39a302eb26c184281c42c") (:authors ("Cornelius Mika" . "cornelius.mika@gmail.com")) (:maintainer "Cornelius Mika" . "cornelius.mika@gmail.com") (:keywords "convenience" "usability") (:url . "http://github.com/nonsequitur/smex/"))]) (smiles-mode . [(20220210 1413) nil "Major mode for SMILES." single ((:commit . "950a8b3224f8f069c82faeb0282d041f872d5550") (:authors (nil . "John Kitchin [jkitchin@andrew.cmu.edu]")) (:maintainer nil . "John Kitchin [jkitchin@andrew.cmu.edu]") (:keywords "smiles") (:url . "https://repo.or.cz/smiles-mode.git"))]) (smithers . [(20210531 2232) ((emacs (26 1)) (dash (2 17 0)) (org (9 4 5))) "A startup message featuring Mr C.M. Burns" tar ((:commit . "db9ed12a8d2c131b6d37b4e7aff01b8e3cec81a6") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "games") (:url . "https://gitlab.com/mtekman/smithers.el"))]) + (smithy-mode . [(20220619 1304) ((emacs (26 1))) "Major mode for editing Smithy IDL files" single ((:commit . "7016040ae45eba97575d9250a20df19cc496c165") (:authors ("Matt Nemitz" . "matt.nemitz@gmail.com")) (:maintainer "Matt Nemitz" . "matt.nemitz@gmail.com") (:keywords "tools" "languages" "smithy" "idl" "amazon") (:url . "http://github.com/mnemitz/smithy-mode"))]) (sml-basis . [(20210518 2040) ((emacs (24 5))) "Standard ML Basis Library lookup" tar ((:commit . "c048d575e30a20ec825fd0c5eb9c8a4428a43298") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/lassik/emacs-sml-basis"))]) (sml-modeline . [(20170614 2111) nil "Show position in a scrollbar like way in mode-line" single ((:commit . "d2f9f70174c4cf68c67eb3bb8088235735e34d9a") (:authors ("Lennart Borgman (lennart O borgman A gmail O com)")) (:maintainer "Lennart Borgman (lennart O borgman A gmail O com)") (:url . "http://bazaar.launchpad.net/~nxhtml/nxhtml/main/annotate/head%3A/util/sml-modeline.el"))]) (smmry . [(20161024 901) nil "SMMRY client" single ((:commit . "986a1b0aec8ab1ef17dbfb7886f47e5558cf738a") (:authors ("james sangho nah" . "microamp@protonmail.com")) (:maintainer "james sangho nah" . "microamp@protonmail.com") (:keywords "api" "smmry") (:url . "https://github.com/microamp/smmry.el"))]) @@ -4434,9 +4497,9 @@ (soft-morning-theme . [(20150918 2041) nil "Emacs24 theme with a light background." single ((:commit . "c0f9c70c97ef2be2a093cf839c4bfe27740a111c") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-morning-theme"))]) (soft-stone-theme . [(20140614 835) ((emacs (24))) "Emacs 24 theme with a light background." single ((:commit . "fb475514cfb02cf30ce358a61c48e46614344d48") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/soft-stone-theme"))]) (solaire-mode . [(20211213 102) ((emacs (25 1)) (cl-lib (0 5))) "make certain buffers grossly incandescent" single ((:commit . "8af65fbdc50b25ed3214da949b8a484527c7cc14") (:authors ("Henrik Lissner ")) (:maintainer "Henrik Lissner" . "contact@henrik.io") (:keywords "dim" "bright" "window" "buffer" "faces") (:url . "https://github.com/hlissner/emacs-solaire-mode"))]) - (solarized-theme . [(20220324 445) ((emacs (24 1))) "The Solarized color theme" tar ((:commit . "86e5f94ea033c8b2a21084774063a493b62a4e81") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "convenience" "themes" "solarized") (:url . "http://github.com/bbatsov/solarized-emacs"))]) - (solidity-flycheck . [(20210411 758) ((flycheck (32 -4)) (solidity-mode (0 1 9)) (dash (2 17 0))) "Flycheck integration for solidity emacs mode" single ((:commit . "20fb77e089e10187b37ae1a94153017b82ed2a0a") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co") (:keywords "languages" "solidity" "flycheck"))]) - (solidity-mode . [(20220308 1517) nil "Major mode for ethereum's solidity language" tar ((:commit . "20fb77e089e10187b37ae1a94153017b82ed2a0a") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co") (:keywords "languages" "solidity"))]) + (solarized-theme . [(20220619 1203) ((emacs (24 1))) "The Solarized color theme" tar ((:commit . "94e7c342da1b04326028708e5503973d554bd828") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:keywords "convenience" "themes" "solarized") (:url . "http://github.com/bbatsov/solarized-emacs"))]) + (solidity-flycheck . [(20220713 2146) ((flycheck (32 -4)) (solidity-mode (0 1 9)) (dash (2 17 0))) "Flycheck integration for solidity emacs mode" single ((:commit . "211dbdf0dfab1139681156e6f9621a5bbe0f74a1") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co") (:keywords "languages" "solidity" "flycheck"))]) + (solidity-mode . [(20220308 1517) nil "Major mode for ethereum's solidity language" tar ((:commit . "211dbdf0dfab1139681156e6f9621a5bbe0f74a1") (:authors ("Lefteris Karapetsas " . "lefteris@refu.co")) (:maintainer "Lefteris Karapetsas " . "lefteris@refu.co") (:keywords "languages" "solidity"))]) (solo-jazz-theme . [(20220117 2009) ((emacs (24 1))) "The Solo-Jazz color theme" single ((:commit . "51d63d8a2c855f4ea79eef9fc9c8a5c9702642c4") (:authors ("Carl Steib")) (:maintainer "Carl Steib") (:url . "https://github.com/cstby/solo-jazz-emacs-theme"))]) (somafm . [(20220402 2131) ((emacs (26 1)) (dash (2 12 0)) (request (0 3 2)) (cl-lib (0 6 1))) "A simple soma.fm interface" single ((:commit . "90b661fb1abc652feb6508eb61735919d02e9687") (:authors ("Arte Ebrahimi <>")) (:maintainer "Arte Ebrahimi <>") (:keywords "multimedia") (:url . "https://github.com/artenator/somafm.el"))]) (sonic-pi . [(20211214 1242) ((cl-lib (0 5)) (osc (0 1)) (dash (2 2 0)) (emacs (24)) (highlight (0))) "A Emacs client for SonicPi" tar ((:commit . "9ae16d0fd4cba77ae0bedac83f2cb46569be6ade") (:authors ("Joseph Wilk" . "joe@josephwilk.net")) (:maintainer "Joseph Wilk" . "joe@josephwilk.net") (:keywords "sonicpi" "ruby") (:url . "http://www.github.com/repl-electric/sonic-pi.el"))]) @@ -4446,7 +4509,7 @@ (sort-words . [(20160929 1335) nil "Sort words in a selected region" single ((:commit . "7b6e108f80237363faf7ec28b2c58dec270b8601") (:authors ("\"Aleksandar Simic\"" . "asimic@gmail.com")) (:maintainer "\"Aleksandar Simic\"" . "asimic@gmail.com") (:keywords "tools") (:url . "http://github.org/dotemacs/sort-words.el"))]) (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") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "convenience" "clojure") (:url . "https://github.com/Malabarba/speed-of-thought-clojure"))]) (sotlisp . [(20190211 2026) ((emacs (24 1))) "Write lisp at the speed of thought." single ((:commit . "ed2356a325c7a4a88ec1bd31381c8666e8997e97") (:authors ("Artur Malabarba" . "emacs@endlessparentheses.com")) (:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com") (:keywords "convenience" "lisp") (:url . "https://github.com/Malabarba/speed-of-thought-lisp"))]) - (sound-wav . [(20200323 728) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "112450888f3f90f0f2a0e43e49eb5a7e49b1b6db") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))]) + (sound-wav . [(20200323 728) ((deferred (0 3 1)) (cl-lib (0 5))) "Play wav file" single ((:commit . "f65456e9d91487cde6f4b31134033466e7db716f") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-sound-wav"))]) (soundcloud . [(20150502 326) ((emms (20131016)) (json (1 2)) (deferred (0 3 1)) (string-utils (0 3 2)) (request (20140316 417)) (request-deferred (20130526 1015))) "a SoundCloud client for Emacs" single ((:commit . "f998d4276ea90258909c698f6a5a51fccb667c08") (:authors ("Travis Thieman" . "travis.thieman@gmail.com")) (:maintainer "Travis Thieman" . "travis.thieman@gmail.com") (:keywords "soundcloud" "music" "audio"))]) (soundklaus . [(20191220 2112) ((dash (2 12 1)) (emacs (24)) (emms (4 0)) (s (1 11 0)) (pkg-info (0 4)) (cl-lib (0 5)) (request (0 2 0))) "Play music on SoundCloud with Emacs via EMMS" tar ((:commit . "15ce6e7f24a45e4f202d83cca9fa3bfdd94ca592") (:authors ("r0man" . "roman@burningswell.com")) (:maintainer "r0man" . "roman@burningswell.com") (:keywords "soundcloud" "music" "emms") (:url . "https://github.com/r0man/soundklaus.el"))]) (sourcekit . [(20210430 2155) ((emacs (24 3)) (dash (2 18 0)) (request (0 2 0))) "Library to interact with sourcekittendaemon" single ((:commit . "a1860ad4dd3a542acd2fa0dfac2a388cbdf4af0c") (:authors ("Nathan Kot" . "nk@nathankot.com")) (:maintainer "Nathan Kot" . "nk@nathankot.com") (:keywords "tools" "processes") (:url . "https://github.com/nathankot/company-sourcekit"))]) @@ -4457,24 +4520,23 @@ (spacegray-theme . [(20150719 1931) ((emacs (24 1))) "A Hyperminimal UI Theme" single ((:commit . "9826265c2bceb2ebc1c5e16a45021da0253ace97") (:authors ("Bruce Williams" . "brwcodes@gmail.com")) (:maintainer "Bruce Williams" . "brwcodes@gmail.com") (:keywords "themes") (:url . "http://github.com/bruce/emacs-spacegray-theme"))]) (spaceline . [(20211120 1636) ((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 . "9a81afa52738544ad5e8b71308a37422ca7e25ba") (:authors ("Eivind Fonn" . "evfonn@gmail.com")) (:maintainer "Eivind Fonn" . "evfonn@gmail.com") (:keywords "mode-line" "powerline" "spacemacs") (:url . "https://github.com/TheBB/spaceline"))]) (spaceline-all-the-icons . [(20190325 1602) ((emacs (24 4)) (all-the-icons (2 6 0)) (spaceline (2 0 0)) (memoize (1 0 1))) "A Spaceline theme using All The Icons" tar ((:commit . "5afd48c10f1bd42d9b9648c5e64596b72f3e9042") (:authors ("Dominic Charlesworth" . "dgc336@gmail.com")) (:maintainer "Dominic Charlesworth" . "dgc336@gmail.com") (:keywords "convenience" "lisp" "tools") (:url . "https://github.com/domtronn/spaceline-all-the-icons.el"))]) - (spacemacs-theme . [(20220128 1519) nil "Color theme with a dark and light versions" tar ((:commit . "a09347a354a14f5407e99fa730e01345d03e03fd"))]) + (spacemacs-theme . [(20220430 2248) nil "Color theme with a dark and light versions" tar ((:commit . "bd376f705d6eb7afd9a1dfa0c1bd407e869d1e9f"))]) (spaces . [(20170809 2208) nil "Create and switch between named window configurations." single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:keywords "frames" "convenience") (:url . "https://github.com/chumpage/chumpy-windows"))]) (spark . [(20211021 1832) ((emacs (24 3))) "sparkline generation" single ((:commit . "c9af24a169b1f1aeba175f1f8d51abda113639af") (:authors ("Alvin Francis Dumalus")) (:maintainer "Alvin Francis Dumalus") (:keywords "lisp" "data") (:url . "https://github.com/alvinfrancis/spark"))]) (sparkline . [(20150101 1319) ((cl-lib (0 3))) "Make sparkline images from a list of numbers" single ((:commit . "a2b5d817d272d6363b67ed8f8cc75499a19fa8d2") (:authors ("Willem Rein Oudshoorn" . "woudshoo@xs4all.nl")) (:maintainer "Willem Rein Oudshoorn" . "woudshoo@xs4all.nl") (:keywords "extensions"))]) (sparql-mode . [(20210701 1202) ((cl-lib (0 5)) (emacs (24 3))) "Edit and interactively evaluate SPARQL queries." tar ((:commit . "ceb370b3879841f8809cc3f9b1b87e898f10562f") (:authors ("Craig Andera ")) (:maintainer "Bjarte Johansen ") (:url . "https://github.com/ljos/sparql-mode"))]) - (spatial-navigate . [(20220211 548) ((emacs (26 2))) "Directional navigation between white-space blocks" single ((:commit . "0365544483f957db79b8e617fb0bd8160134a655") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-spatial-navigate"))]) - (spdx . [(20220327 113) ((emacs (24 4))) "Insert SPDX license and copyright headers" tar ((:commit . "279caa7aa99e7b5d6f2f9307b20e9fcb730ffb29") (:authors ("Zhiwei Chen" . "condy0919@gmail.com")) (:maintainer "Zhiwei Chen" . "condy0919@gmail.com") (:keywords "license" "tools") (:url . "https://github.com/condy0919/spdx.el"))]) + (spatial-navigate . [(20220708 211) ((emacs (26 2))) "Directional navigation between white-space blocks" single ((:commit . "6840ca694d281d39de76c1af0cb2ec526b40820a") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-spatial-navigate"))]) + (spdx . [(20220803 148) ((emacs (24 4))) "Insert SPDX license and copyright headers" tar ((:commit . "cefebe6215b4065827553f2e0cb87c31c5893e5e") (:authors ("Zhiwei Chen" . "condy0919@gmail.com")) (:maintainer "Zhiwei Chen" . "condy0919@gmail.com") (:keywords "license" "tools") (:url . "https://github.com/condy0919/spdx.el"))]) (speech-tagger . [(20170728 1829) ((cl-lib (0 5))) "tag parts of speech using coreNLP" tar ((:commit . "61955b40d4e8b09e66a3e8033e82893f81657c06") (:authors ("Danny McClanahan" . "danieldmcclanahan@gmail.com")) (:maintainer "Danny McClanahan" . "danieldmcclanahan@gmail.com") (:keywords "speech" "tag" "nlp" "language" "corenlp" "parsing" "natural") (:url . "https://github.com/cosmicexplorer/speech-tagger"))]) - (speechd-el . [(20211231 758) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "a4be22b5b62a6be1e749df6f64b06e16a6b09790") (:authors ("Milan Zamazal" . "pdm@zamazal.org")) (:maintainer "Milan Zamazal" . "pdm@zamazal.org"))]) - (speed-type . [(20191204 1107) ((emacs (24 3)) (cl-lib (0 3))) "Practice touch and speed typing" single ((:commit . "5ef695f7159aa1f20c7c9e55f0c39bcdacce8d21") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:keywords "games") (:url . "https://github.com/parkouss/speed-type"))]) + (speechd-el . [(20220608 1422) nil "Client to speech synthesizers and Braille displays." tar ((:commit . "7e30c439729d5635ddd341ad5ab16f832a4619ea") (:authors ("Milan Zamazal" . "pdm@zamazal.org")) (:maintainer "Milan Zamazal" . "pdm@zamazal.org"))]) + (speed-type . [(20220723 1839) ((emacs (25 1))) "Practice touch and speed typing" single ((:commit . "bd292bd375bcf8702fadd73e604f3e251560c4c3") (:authors ("Gunther Hagleitner")) (:maintainer "Julien Pagès" . "j.parkouss@gmail.com") (:keywords "games") (:url . "https://github.com/parkouss/speed-type"))]) (speedbar-git-respect . [(20200901 246) ((f (0 8 0)) (emacs (25 1))) "Particular respect git repo in speedbar" single ((:commit . "dd8f0849fc1dd21b42380e1a8c28a9a29acd9511") (:authors ("Muromi Ukari" . "chendianbuji@gmail.com")) (:maintainer "Muromi Ukari" . "chendianbuji@gmail.com") (:url . "https://github.com/ukari/speedbar-git-respect"))]) (speeddating . [(20180319 723) ((emacs (25))) "Increase date and time at point" single ((:commit . "df69db0560f19636a66a74f3d88c793bbb18b21e") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "date" "time") (:url . "https://github.com/xuchunyang/emacs-speeddating"))]) - (spell-fu . [(20220213 1215) ((emacs (26 2))) "Fast & light spelling highlighter" single ((:commit . "8185467b24f05bceb428a0e9909651ec083cc54e") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-spell-fu"))]) + (spell-fu . [(20220802 1151) ((emacs (26 2))) "Fast & light spelling highlighter" single ((:commit . "bfd017fd1985418a1b101c1e497510ce24bb0348") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-spell-fu"))]) (sphinx-doc . [(20210213 1250) ((s (1 9 0)) (cl-lib (0 5)) (dash (2 10 0))) "Sphinx friendly docstrings for Python functions" single ((:commit . "1eda612a44ef027e5229895daa77db99a21b8801") (:authors ("Vineet Naik" . "naikvin@gmail.com")) (:maintainer "Vineet Naik" . "naikvin@gmail.com") (:keywords "sphinx" "python") (:url . "https://github.com/naiquevin/sphinx-doc.el"))]) (sphinx-frontend . [(20161025 758) nil "Launch build process for rst documents via sphinx." single ((:commit . "0cbb03361c245382d3e679dded30c4fc1713c252") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "compile" "sphinx" "restructuredtext") (:url . "https://github.com/kostafey/sphinx-frontend"))]) (sphinx-mode . [(20220417 1552) ((f (0 20 0)) (dash (2 14 1))) "Minor mode providing sphinx support." tar ((:commit . "77ca51adf9ee877f3a8f43e744f59e650772f121") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "languages"))]) (spice-mode . [(20220210 1414) ((emacs (24 3))) "Major mode for SPICE" single ((:commit . "f55c2b6dd35caace0ec7250b5c7b5d119235a23d") (: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") (:keywords "spice" "spice2g6" "spice3" "eldo" "hspice" "layla" "mondriaan" "fasthenry" "cdl" "spectre compatibility" "netlist editing") (:url . "https://repo.or.cz/spice-mode.git"))]) - (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") (:authors ("Daniel Barreto" . "daniel@barreto.tech")) (:maintainer "Daniel Barreto" . "daniel@barreto.tech") (:keywords "languages" "clojure") (:url . "https://github.com/Unrepl/spiral"))]) (splitjoin . [(20150505 1432) ((cl-lib (0 5))) "Transition between multiline and single-line code" single ((:commit . "e2945ee269e6e90f0243d6f2a33e067bb0a2873c") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-splitjoin"))]) (splitter . [(20170809 2208) nil "Manage window splits" single ((:commit . "6bdb51e9a346907d60a9625f6180bddd06be6674") (:authors ("Steven Thomas")) (:maintainer "Steven Thomas") (:keywords "frames" "convenience") (:url . "https://github.com/chumpage/chumpy-windows"))]) (spotify . [(20200615 1418) ((cl-lib (0 5))) "Control the spotify application from emacs" single ((:commit . "7e28ef0b4519c6a46fce6a89c0ff1ed775eda71a") (:authors ("R.W. van 't Veer")) (:maintainer "R.W. van 't Veer") (:keywords "convenience") (:url . "https://github.com/remvee/spotify-el"))]) @@ -4485,31 +4547,32 @@ (sproto-mode . [(20151115 1805) nil "Major mode for editing sproto." single ((:commit . "0583a88273204dccd884b7edaa3590cefd31e7f7") (:authors ("m2q1n9")) (:maintainer "m2q1n9") (:keywords "sproto"))]) (sprunge . [(20160301 243) ((request (0 2 0)) (cl-lib (0 5))) "Upload pastes to sprunge.us" single ((:commit . "0fd386b8b29c4175022a04ad70ea5643185b6726") (:authors ("Tom Jakubowski")) (:maintainer "Tom Jakubowski") (:keywords "tools"))]) (spu . [(20161214 324) ((emacs (24 4)) (signal (1 0)) (timp (1 2 0))) "Silently upgrade package in the background" tar ((:commit . "41eec86b595816e3852e8ad1a8e07e51a27fd065") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:keywords "convenience" "package") (:url . "https://github.com/mola-T/spu"))]) + (sq . [(20220717 2039) ((emacs (24 1))) "Bindings for Sequoia PGP's cli" single ((:commit . "bb0d1756bb9c62bb999fa21e15949e28650c663e") (:authors ("Justus Winter" . "justus@sequoia-pgp.org")) (:maintainer "Justus Winter" . "justus@sequoia-pgp.org") (:keywords "tools" "data" "mail") (:url . "https://gitlab.com/sequoia-pgp/sqel"))]) (sql-clickhouse . [(20191209 1443) ((emacs (24))) "support ClickHouse as SQL interpreter" single ((:commit . "8403a4a5d332dbb6459b7fbce6ea95c36d390a5b") (:authors ("Robert Schwarz" . "mail@rschwarz.net")) (:maintainer "Robert Schwarz" . "mail@rschwarz.net") (:url . "https://github.com/leethargo/sql-clickhouse"))]) (sql-impala . [(20181218 410) nil "comint support for Cloudera Impala" single ((:commit . "466e7c0c789ec3e5e8a276c8f6754f91bb584c3e") (:authors ("Jason Terk" . "jason@goterkyourself.com")) (:maintainer "Jason Terk" . "jason@goterkyourself.com") (:keywords "sql" "impala") (:url . "https://github.com/jterk/sql-impala"))]) (sql-presto . [(20190113 1742) ((emacs (24 4))) "No description available." single ((:commit . "bcda455e300a1af75c7bb805882329bc844703b2") (:authors ("Katherine Cox-Buday" . "cox.katherine.e@gmail.com")) (:maintainer "Katherine Cox-Buday" . "cox.katherine.e@gmail.com") (:keywords "sql" "presto" "database"))]) (sql-sqlline . [(20201102 1508) ((emacs (24 4))) "Adds SQLLine support to SQLi mode" single ((:commit . "38baf140cae26f9d93fc45d5eaff7d5c7f050bff") (:authors ("Matteo Redaelli" . "matteo.redaelli@gmail.com")) (:maintainer "Matteo Redaelli" . "matteo.redaelli@gmail.com") (:keywords "languages") (:url . "https://gitlab.com/matteoredaelli/sql-sqlline"))]) + (sql-trino . [(20220502 851) ((emacs (24 4))) "Adds Trino support to SQLi mode" single ((:commit . "bad7be0bf2f6d2d653a787a4b5bc6a281a8bea88") (:authors ("Filipe Regadas" . "oss@regadas.email")) (:maintainer "Filipe Regadas" . "oss@regadas.email") (:keywords "tools") (:url . "https://github.com/regadas/sql-trino"))]) (sqlformat . [(20210305 209) ((emacs (24 3)) (reformatter (0 3))) "Reformat SQL using sqlformat or pgformatter" single ((:commit . "5d3f776c7eaac0c353ad184b54ef17b2ebc58015") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "languages") (:url . "https://github.com/purcell/sqlformat"))]) (sqlite . [(20201227 1822) ((emacs (24 5))) "Use sqlite via ELisp" single ((:commit . "f3da716302c929b9df4ba0c281968f72a9d1d188") (:authors ("cnngimenez")) (:maintainer "cnngimenez") (:keywords "extensions" "lisp" "sqlite") (:url . "https://gitlab.com/cnngimenez/sqlite.el"))]) - (sqlite3 . [(20220327 521) ((emacs (25 1))) "Direct access to the core SQLite3 API" tar ((:commit . "7cb4b660fe30deb8a4229f3abb18bd99ca9c971c") (:authors ("Y. N. Lo" . "gordonynlo@yahoo.com")) (:maintainer "Y. N. Lo" . "gordonynlo@yahoo.com") (:keywords "comm" "data" "sql") (:url . "https://github.com/pekingduck/emacs-sqlite3-api"))]) + (sqlite3 . [(20220529 1106) ((emacs (25 1))) "Direct access to the core SQLite3 API" tar ((:commit . "2f6095201b1d943d92cc017e100eec571a8d2aab") (:authors ("Y. N. Lo" . "gordonynlo@yahoo.com")) (:maintainer "Y. N. Lo" . "gordonynlo@yahoo.com") (:keywords "comm" "data" "sql") (:url . "https://github.com/pekingduck/emacs-sqlite3-api"))]) (sqlup-mode . [(20170610 1537) nil "Upcase SQL words for you" single ((:commit . "3f9df9c88d6a7f9b1ae907e401cad8d3d7d63bbf") (:authors ("Aldric Giacomoni" . "trevoke@gmail.com")) (:maintainer "Aldric Giacomoni" . "trevoke@gmail.com") (:keywords "sql" "tools" "redis" "upcase") (:url . "https://github.com/trevoke/sqlup-mode.el"))]) (sr-speedbar . [(20161025 831) nil "Same frame speedbar" single ((:commit . "77a83fb50f763a465c021eca7343243f465b4a47") (:authors ("Sebastian Rose" . "sebastian_rose@gmx.de")) (:maintainer "Sebastian Rose" . "sebastian_rose@gmx.de") (:keywords "speedbar" "sr-speedbar.el") (:url . "http://www.emacswiki.org/emacs/download/sr-speedbar.el"))]) (srcery-theme . [(20210601 1247) ((emacs (24))) "Dark color theme" single ((:commit . "58dd21cd63e4a2eed15e0082c2547069363f107b") (:authors ("Daniel Berg")) (:maintainer "Daniel Berg") (:keywords "faces") (:url . "https://github.com/srcery-colors/srcery-emacs"))]) (srefactor . [(20180703 1810) ((emacs (24 4))) "A refactoring tool based on Semantic parser framework" tar ((:commit . "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:keywords "c" "languages" "tools") (:url . "https://github.com/tuhdo/semantic-refactor"))]) - (srfi . [(20220406 1831) ((emacs (25 1))) "Scheme Requests for Implementation browser" tar ((:commit . "dbcdc58d3ea9e0767b24bb0f05fc8de8849889fe") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/srfi-explorations/emacs-srfi"))]) + (srfi . [(20220724 11) ((emacs (25 1))) "Scheme Requests for Implementation browser" tar ((:commit . "10c36b101cadfdded4d7b78d920fc2919a7d674e") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "languages" "util") (:url . "https://github.com/srfi-explorations/emacs-srfi"))]) (srv . [(20180715 1959) ((emacs (24 3))) "perform SRV DNS requests" single ((:commit . "714387d5a5cf34d8d8cd96bdb1f9cb8ded823ff7") (:authors ("Magnus Henoch" . "magnus.henoch@gmail.com")) (:maintainer "Magnus Henoch" . "magnus.henoch@gmail.com") (:keywords "comm") (:url . "https://github.com/legoscia/srv.el"))]) (ssass-mode . [(20200211 132) ((emacs (24 3))) "Edit Sass without a Turing Machine" single ((:commit . "96f557887ad97a0066a60c54f92b7234b8407016") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:keywords "languages" "sass") (:url . "http://github.com/AdamNiederer/ssass-mode"))]) (ssh . [(20120904 2042) nil "Support for remote logins using ssh." single ((:commit . "812e27409d01c38d74906a1816640506d6e7e3ef") (:authors ("Noah Friedman" . "friedman@splode.com")) (:maintainer "Ian Eure" . "ian.eure@gmail.com") (:keywords "unix" "comm"))]) (ssh-agency . [(20200329 1558) ((emacs (24 4)) (dash (2 10 0))) "manage ssh-agent from Emacs" single ((:commit . "a5377e4317365a3d5442e06d5c255d4a7c7618db") (:authors ("Noam Postavsky" . "npostavs@user.sourceforge.net")) (:maintainer "Noam Postavsky" . "npostavs@user.sourceforge.net") (:url . "https://github.com/magit/ssh-agency"))]) (ssh-config-mode . [(20211003 2330) nil "Mode for fontification of ~/.ssh/config" tar ((:commit . "d560a0876a93ad4130baf33dae1b9405ad37a405") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Harley Gorrell" . "harley@panix.com") (:keywords "ssh" "config" "emacs") (:url . "https://github.com/jhgorrell/ssh-config-mode-el"))]) (ssh-deploy . [(20220126 658) ((emacs (25))) "Deployment via Tramp, global or per directory." tar ((:commit . "9311f9b4f8d25ce54fb7da9bf59d955fed366a4d") (:authors ("Christian Johansson" . "christian@cvj.se")) (:maintainer "Christian Johansson" . "christian@cvj.se") (:keywords "tools" "convenience") (:url . "https://github.com/cjohansson/emacs-ssh-deploy"))]) - (ssh-tunnels . [(20220410 1424) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" tar ((:commit . "a74488a71c2827dcaf42d9381d0d974aca96e27f") (:authors ("death ")) (:maintainer "death ") (:keywords "tools" "convenience") (:url . "http://github.com/death/ssh-tunnels"))]) - (stack-mode . [(20150923 1523) ((haskell-mode (13 14)) (cl-lib (0 5)) (flycheck (0 23))) "A minor mode enabling various features based on stack-ide." tar ((:commit . "f3481e239dde9817152ec00e32bfc3ebf5aaf2cb") (:keywords "haskell" "stack") (:url . "https://github.com/commercialhaskell/stack-ide"))]) + (ssh-tunnels . [(20220721 1242) ((cl-lib (0 5)) (emacs (24))) "Manage SSH tunnels" tar ((:commit . "5010d779edef33f869065231b99d74723c9c7eaf") (:authors ("death ")) (:maintainer "death ") (:keywords "tools" "convenience") (:url . "http://github.com/death/ssh-tunnels"))]) (stan-mode . [(20211129 2051) ((emacs (24 4))) "Major mode for editing Stan files" tar ((:commit . "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Daniel Lee" . "bearlee@alum.mit.edu") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:keywords "languages" "c") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-mode"))]) (stan-snippets . [(20211129 2051) ((emacs (24 3)) (stan-mode (10 3 0)) (yasnippet (0 8 0))) "Yasnippets for Stan" tar ((:commit . "150bbbe5fd3ad2b5a3dbfba9d291e66eeea1a581") (:authors ("Jeffrey Arnold" . "jeffrey.arnold@gmail.com") ("Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu")) (:maintainer "Kazuki Yoshida" . "kazukiyoshida@mail.harvard.edu") (:keywords "languages" "tools") (:url . "https://github.com/stan-dev/stan-mode/tree/master/stan-snippets"))]) (standard-dirs . [(20200621 1603) ((emacs (26 1)) (f (0 20 0)) (s (1 7 0))) "Platform-specific paths for config, cache, and other data" single ((:commit . "92460e21f964cb7495d974c42acd0b726af3fbcb") (:authors ("Joseph M LaFreniere" . "joseph@lafreniere.xyz")) (:maintainer "Joseph M LaFreniere" . "joseph@lafreniere.xyz") (:keywords "files") (:url . "https://github.com/lafrenierejm/standard-dirs.el"))]) (standoff-mode . [(20210810 1814) nil "Create stand-off markup, also called external markup." tar ((:commit . "aa5bac257ebefd91f4b5dd787a835407bddd6fb2") (:authors ("Christian Lück" . "christian.lueck@ruhr-uni-bochum.de")) (:maintainer "Christian Lück" . "christian.lueck@ruhr-uni-bochum.de") (:keywords "text" "annotations" "ner" "humanities") (:url . "https://github.com/lueck/standoff-mode"))]) - (starlit-theme . [(20220412 1312) ((emacs (25 1))) "Deep blue dark theme with bright colors from the starlit sky" single ((:commit . "bc4b501d195b5bf7e4d03395e7d42e9336fa9f93") (:authors ("Jonas Jelten" . "jj@sft.lol")) (:maintainer "Jonas Jelten" . "jj@sft.lol") (:keywords "faces") (:url . "https://github.com/SFTtech/starlit-emacs"))]) + (starlit-theme . [(20220507 1833) ((emacs (25 1))) "Deep blue dark theme with bright colors from the starlit sky" single ((:commit . "f788903244778508891eba0da70ea9f287efc9ae") (:authors ("Jonas Jelten" . "jj@sft.lol")) (:maintainer "Jonas Jelten" . "jj@sft.lol") (:keywords "faces") (:url . "https://github.com/SFTtech/starlit-emacs"))]) (start-menu . [(20160426 1225) ((cl-lib (0 5)) (config-parser (0 1))) "start-menu for executing external program like in windows" single ((:commit . "f7d33fed7ad2dc61156f1c1cff9e1805366fbd69") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "menu") (:url . "https://github.com/lujun9972/el-start-menu"))]) (stash . [(20151117 1427) nil "lightweight persistent caching" single ((:commit . "c2e494d20c752b80ebbdffbf66687b3cdfc425ad") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "extensions" "data" "internal" "lisp") (:url . "https://www.github.com/vermiculus/stash.el/"))]) (state . [(20200727 1227) ((emacs (24))) "Quick navigation between workspaces" single ((:commit . "8cd9210f17c1b134274a7352b996839aed9a7d8c") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "convenience" "workspaces") (:url . "https://github.com/thisirs/state.git"))]) @@ -4517,18 +4580,18 @@ (steam . [(20220218 1707) ((cl-lib (0 5))) "Organize and launch Steam games" single ((:commit . "20aa58c5ccd85f6c4f288a14e79adc66e691cd23") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:keywords "games") (:url . "http://github.com/Kungsgeten/steam.el"))]) (stem . [(20131102 1109) nil "Routines for stemming" single ((:commit . "d74e6611d6ba5025e0276a2cc7c8a90f46bfa9ac") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp") (:keywords "stemming") (:url . "https://github.com/yuutayamada/stem"))]) (stem-english . [(20180109 358) ((emacs (24 3))) "- routines for stemming English word" single ((:commit . "c9fc4c6ed6bf82382e479dae80912f4ae17d31f4") (:authors ("Tsuchiya Masatoshi" . "tsuchiya@pine.kuee.kyoto-u.ac.jp")) (:maintainer "KAWABATA, Taichi ") (:keywords "text") (:url . "http://github.com/kawabata/stem-english"))]) - (stem-reading-mode . [(20220418 1136) ((emacs (25 1))) "Highlight word stems for speed-reading" single ((:commit . "a8bacd80fab6013c09e4e8d337fd88267cbe2ff8") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "convenience" "wp") (:url . "https://gitlab.com/wavexx/stem-reading-mode.el"))]) - (stgit . [(20200606 1308) nil "major mode for StGit interaction" single ((:commit . "03fc757c4255bfd445cdbc2a62ca3b02a65beba5") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://stacked-git.github.io"))]) + (stem-reading-mode . [(20220522 1053) ((emacs (25 1))) "Highlight word stems for speed-reading" single ((:commit . "6efc9962e3a19a452c7ab9636cf1e2566a51bd38") (:authors ("Yuri D'Elia" . "wavexx@thregr.org")) (:maintainer "Yuri D'Elia" . "wavexx@thregr.org") (:keywords "convenience" "wp") (:url . "https://gitlab.com/wavexx/stem-reading-mode.el"))]) + (stgit . [(20200606 1308) nil "major mode for StGit interaction" single ((:commit . "246279055ff01e7df2af2247eaa261f5f84952da") (:authors ("David Kågedal" . "davidk@lysator.liu.se")) (:maintainer "David Kågedal" . "davidk@lysator.liu.se") (:url . "http://stacked-git.github.io"))]) (sticky . [(20170926 36) nil "Sticky key for capital letters" single ((:commit . "fec4e1af38f17f5cd80eca361d8e8ef8772db366") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "convenience") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sticky.el"))]) (stickyfunc-enhance . [(20150429 1814) ((emacs (24 3))) "An enhancement to stock `semantic-stickyfunc-mode'" single ((:commit . "13bdba51fcd83ccbc3267959d23afc94d458dcb0") (:authors ("Tu, Do Hoang" . "tuhdo1710@gmail.com")) (:maintainer "Tu, Do Hoang") (:keywords "c" "languages" "tools") (:url . "https://github.com/tuhdo/semantic-stickyfunc-enhance"))]) - (stimmung-themes . [(20220412 1434) ((emacs (25))) "Themes tuned to inner harmonies" tar ((:commit . "77146bd3ad4f275847c965148572bb0ff0b54c1e") (:authors ("Love Lagerkvist")) (:maintainer "Love Lagerkvist") (:keywords "faces") (:url . "https://github.com/motform/stimmung-themes"))]) + (stimmung-themes . [(20220705 1627) ((emacs (25))) "Themes tuned to inner harmonies" tar ((:commit . "d09863f13a1a32906d962e55abd5b13ca7e844a5") (:authors ("Love Lagerkvist")) (:maintainer "Love Lagerkvist") (:keywords "faces") (:url . "https://github.com/motform/stimmung-themes"))]) (stock-ticker . [(20150204 1052) ((s (1 9 0)) (request (0 2 0))) "Show stock prices in mode line" single ((:commit . "f2e564142c9de84232839a5b01979cf95b04d6a9") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:keywords "comms") (:url . "https://github.com/hagleitn/stock-ticker"))]) - (stock-tracker . [(20220425 1537) ((emacs (27 1)) (dash (2 16 0)) (async (1 9 5))) "Track stock price" single ((:commit . "1ed9c7464cb0b1f570d60ce22bac876e32bfbd1f") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:keywords "convenience" "stock" "finance") (:url . "https://github.com/beacoder/stock-tracker"))]) + (stock-tracker . [(20220523 1424) ((emacs (27 1)) (dash (2 16 0)) (async (1 9 5))) "Track stock price" single ((:commit . "14fe70fcce24a045f34e42617432a2d830906b98") (:authors ("Huming Chen" . "chenhuming@gmail.com")) (:maintainer "Huming Chen" . "chenhuming@gmail.com") (:keywords "convenience" "stock" "finance") (:url . "https://github.com/beacoder/stock-tracker"))]) (strace-mode . [(20171116 2039) nil "strace output syntax highlighting" single ((:commit . "2901baa968d5180ab985ac40ca22cc20914d01f5") (:authors ("Preston Moore" . "prestonkmoore@gmail.com")) (:maintainer "Preston Moore" . "prestonkmoore@gmail.com") (:keywords "languages"))]) (streak . [(20220311 1929) ((emacs (27 1))) "Track a daily streak in your Mode Line" single ((:commit . "b2206de2fe43f97e754bbcb0abe9b078a419e787") (:authors ("Colin Woodbury ")) (:maintainer "Colin Woodbury" . "colin@fosskers.ca") (:keywords "calendar") (:url . "https://github.com/fosskers/streak"))]) (streamlink . [(20210811 1429) ((s (1 12 0))) "A major mode for streamlink output" single ((:commit . "c265dc61c02ad29ec01dfd8b5cbe3bac60fbf097") (:keywords "multimedia" "streamlink") (:url . "https://github.com/BenediktBroich/streamlink"))]) (strie . [(20160211 2222) ((cl-lib (0 5))) "A simple trie data structure implementation" single ((:commit . "eb7efb0cccc127c414f6a64db11454869d9c10a8") (:authors ("James Atwood" . "jatwood@cs.umass.edu")) (:maintainer "James Atwood" . "jatwood@cs.umass.edu"))]) - (string-edit . [(20210405 1836) ((dash (1 2 0))) "Avoid escape nightmares by editing string in separate buffer" single ((:commit . "0e225df6f8740467231c787a50025e4552b3eddb") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) + (string-edit . [(20220604 2128) ((dash (1 2 0))) "Avoid escape nightmares by editing string in separate buffer" single ((:commit . "d7c4b9db6c4987b5c022a9858e6302a4c53aff5f") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com"))]) (string-inflection . [(20210918 419) nil "underscore -> UPCASE -> CamelCase -> lowerCamelCase conversion of names" single ((:commit . "fd7926ac17293e9124b31f706a4e8f38f6a9b855") (:authors ("akicho8" . "akicho8@gmail.com")) (:maintainer "akicho8" . "akicho8@gmail.com") (:keywords "elisp"))]) (string-utils . [(20140508 2041) ((list-utils (0 4 2))) "String-manipulation utilities" single ((:commit . "c2232d691617973ecf12a970c6008a161c21da14") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/string-utils"))]) (stripe-buffer . [(20141208 1508) ((cl-lib (1 0))) "Use a different background for even and odd lines" single ((:commit . "c252080f55cb78c951b19ebab9687f6d00237baf") (:authors ("Andy Stewart" . "lazycat.manatee@gmail.com")) (:maintainer "sabof" . "esabof@gmail.com") (:url . "https://github.com/sabof/stripe-buffer"))]) @@ -4544,7 +4607,7 @@ (sublime-themes . [(20170606 1844) nil "A collection of themes based on Sublime Text" tar ((:commit . "60ee40af82eb55b79d5ed4026f1911326311603f") (:authors ("Owain Lewis" . "owain@owainlewis.com")) (:maintainer "Owain Lewis" . "owain@owainlewis.com") (:keywords "faces"))]) (sublimity . [(20200905 1730) ((emacs (26 1))) "smooth-scrolling, minimap and distraction-free mode" tar ((:commit . "8e2ffc4d62194106130014531e7b54fc9b4b9e6c") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "https://github.com/zk-phi/sublimity"))]) (subsonic . [(20220403 1208) ((emacs (27 1)) (transient (0 2))) "Browse and play music from subsonic servers with mpv" single ((:commit . "e9acece0f840bc6ea096ae56e77573939a2c510c") (:authors ("Alex McGrath" . "amk@amk.ie")) (:maintainer "Alex McGrath" . "amk@amk.ie") (:keywords "multimedia") (:url . "https://git.sr.ht/~amk/subsonic.el"))]) - (sudo-edit . [(20210706 534) ((emacs (24)) (cl-lib (0 5))) "Open files as another user" single ((:commit . "23b78a39053088839f281bc0c3134203d7e04e50") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:keywords "convenience") (:url . "https://github.com/nflath/sudo-edit"))]) + (sudo-edit . [(20220801 1317) ((emacs (24)) (cl-lib (0 5))) "Open files as another user" single ((:commit . "74eb1e6986461baed9a9269566ff838530b4379b") (:authors ("Nathaniel Flath" . "flat0103@gmail.com")) (:maintainer "Nathaniel Flath" . "flat0103@gmail.com") (:keywords "convenience") (:url . "https://github.com/nflath/sudo-edit"))]) (sudo-ext . [(20170126 1214) nil "sudo support" single ((:commit . "9d4580f304121ce7b8104bd4bd3b64e4dfa3c9b3") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "unix") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/sudo-ext.el"))]) (sudo-utils . [(20210119 1930) ((emacs (25 1))) "Sudo utilities" single ((:commit . "089f7833fa256f293284a6286bf9cb2b78eff40d") (:authors ("Alpha Catharsis" . "alpha.catharsis@gmail.com")) (:maintainer "Alpha Catharsis" . "alpha.catharsis@gmail.com") (:keywords "processes" "unix") (:url . "https://github.com/alpha-catharsis/sudo-utils"))]) (sudoku . [(20191015 1315) ((emacs (24 4))) "Simple sudoku game, can download puzzles" single ((:commit . "b1924fd244a5fa284de9d67b66fbd69164b37318") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:keywords "games"))]) @@ -4553,14 +4616,15 @@ (sunburn-theme . [(20201216 1539) ((emacs (24))) "A low contrast color theme" single ((:commit . "6b5c14c76dcdfdb099102ef7a388b2f0c6f1951d") (:authors ("Martín Varela" . "martin@varela.fi")) (:maintainer "Martín Varela" . "martin@varela.fi") (:url . "http://github.com/mvarela/Sunburn-Theme"))]) (sunny-day-theme . [(20140413 2125) nil "Emacs24 theme with a light background." single ((:commit . "420e0a6eb33fcc9b75c2c9e88ab60a975d782a00") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler") (:url . "http://github.com/mswift42/sunny-day-theme"))]) (sunshine . [(20200306 1711) ((cl-lib (0 5))) "Provide weather and forecast information." single ((:commit . "88256223539edcfe57017778a997a474c9c022f6") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:keywords "tools" "weather") (:url . "https://github.com/aaronbieber/sunshine.el"))]) - (suomalainen-kalenteri . [(20220101 718) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "30103e6c6fa5dcbae70a636b007afdaad2fbcac0") (:authors ("Teemu Likonen" . "tlikonen@iki.fi")) (:maintainer "Teemu Likonen" . "tlikonen@iki.fi") (:keywords "calendar" "holidays" "finnish") (:url . "https://github.com/tlikonen/suomalainen-kalenteri"))]) - (super-save . [(20200930 1634) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "886b5518c8a8b4e1f5e59c332d5d80d95b61201d") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:keywords "convenience") (:url . "https://github.com/bbatsov/super-save"))]) + (suomalainen-kalenteri . [(20220804 657) nil "Finnish national and Christian holidays for calendar" tar ((:commit . "8a41d16371ffaface70739ec861709f674b4a94a") (:authors ("Teemu Likonen" . "tlikonen@iki.fi")) (:maintainer "Teemu Likonen" . "tlikonen@iki.fi") (:keywords "calendar" "holidays" "finnish") (:url . "https://github.com/tlikonen/suomalainen-kalenteri"))]) + (super-save . [(20220531 1745) ((emacs (24 4))) "Auto-save buffers, based on your activity." single ((:commit . "6f6512bc44b09f7187e58772892fa330f4518c12") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:keywords "convenience") (:url . "https://github.com/bbatsov/super-save"))]) (supergenpass . [(20130329 548) nil "SuperGenPass for Emacs" single ((:commit . "549072ef7b5b82913cadd4758e8a0a9926f0a04a") (:authors ("Jaime Fournier" . "jaimef@linbsd.org")) (:maintainer "Jaime Fournier" . "jaimef@linbsd.org") (:keywords "supergenpass"))]) (suscolors-theme . [(20190713 1009) nil "Colorful theme, inspired by Gruvbox." single ((:commit . "b4a979ee23e26e255b9a63525b0a28e810fab9ae") (:url . "https://github.com/TheSuspiciousWombat/SusColors-emacs"))]) (sv-kalender-namnsdagar . [(20190421 1521) nil "Swedish celebrated name of the day" single ((:commit . "fff970f49c77abfc69e37817f25a939818420971") (:authors ("Mats Lidell" . "mats.lidell@lidells.se")) (:maintainer "Mats Lidell" . "mats.lidell@lidells.se") (:keywords "calendar" "swedish" "localization") (:url . "https://github.com/matsl/sv-kalender-namnsdagar"))]) (svelte-mode . [(20211016 652) ((emacs (26 1))) "Emacs major mode for Svelte" single ((:commit . "6a1d4274af7f4c0f271f77bd96678c3dd1fa68e1") (:authors ("Leaf" . "leafvocation@gmail.com")) (:maintainer "Leaf" . "leafvocation@gmail.com") (:keywords "wp" "languages") (:url . "https://github.com/leafOfTree/svelte-mode"))]) (svg-mode-line-themes . [(20150425 2006) ((xmlgen (0 4))) "SVG-based themes for mode-line" tar ((:commit . "80a0e01839cafbd66899202e7764c33231974259") (:authors ("sabof")) (:maintainer "sabof") (:url . "https://github.com/sabof/svg-mode-line-themes"))]) - (svg-tag-mode . [(20211229 920) ((emacs (27 1)) (svg-lib (0 2))) "Replace keywords with SVG tags" single ((:commit . "07640c97a1dcc305010a384fffdaa7788c342da7") (:authors ("Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr")) (:maintainer "Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr") (:keywords "convenience") (:url . "https://github.com/rougier/svg-tag-mode"))]) + (svg-tag-mode . [(20220525 1752) ((emacs (27 1)) (svg-lib (0 2))) "Replace keywords with SVG tags" single ((:commit . "efd22edf650fb25e665269ba9fed7ccad0771a2f") (:authors ("Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr")) (:maintainer "Nicolas P. Rougier" . "Nicolas.Rougier@inria.fr") (:keywords "convenience") (:url . "https://github.com/rougier/svg-tag-mode"))]) + (svgo . [(20220525 2059) ((emacs (26 2))) "SVG optimization with SVGO" single ((:commit . "40ddd6f47966561344bec8f46235e40dad99115f") (:authors ("Mathis Hofer" . "mathis@fsfe.org")) (:maintainer "Mathis Hofer" . "mathis@fsfe.org") (:keywords "tools") (:url . "https://github.com/hupf/svgo.el/"))]) (svnwrapper . [(20180414 1843) ((e2ansi (0 1 1))) "Highlighting and paging for shell command `svn'" tar ((:commit . "de5069f5784e5d9e87a0af0159ba5f28a3716583") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "faces") (:url . "https://github.com/Lindydancer/svnwrapper"))]) (swagger-to-org . [(20160611 56) ((emacs (24)) (cl-lib (0 5)) (json (1 4))) "Convert a swagger.json file into an org-mode file" single ((:commit . "181357c71ea24bede263f5706d8781ad65e16877") (:authors ("Matthew Carter" . "m@ahungry.com")) (:maintainer "Matthew Carter" . "m@ahungry.com") (:keywords "ahungry" "emacs" "swagger" "openapi" "orgmode" "org" "export") (:url . "https://github.com/ahungry/swagger-to-org"))]) (swap-buffers . [(20150506 2139) nil "The quickest way to swap buffers between windows. Based on switch-window package." single ((:commit . "46ab31359b70d935add6c6e9533443116dc51103") (:authors ("Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com")) (:maintainer "Evgeniy Kazakov" . "evgeniy.kazakov@gmail.com") (:keywords "window" "swap" "buffer" "exchange") (:url . "https://github.com/ekazakov/swap-buffers"))]) @@ -4568,34 +4632,34 @@ (sway . [(20211109 1601) ((emacs (27 1)) (dash (2 18 1))) "Communication with the Sway window manager" single ((:commit . "d84adab82ca5f84847702671dd60c0377c82ccd9") (:authors ("Thibault Polge" . "thibault@thb.lt")) (:maintainer "Thibault Polge" . "thibault@thb.lt") (:keywords "frames") (:url . "https://github.com/thblt/sway.el"))]) (sweet-theme . [(20200708 1202) ((emacs (24 1))) "Sweet-looking theme" single ((:commit . "78f741806ecebe01224bf54d09ad80e306652508") (:authors ("2bruh4me")) (:maintainer "2bruh4me") (:keywords "faces") (:url . "https://github.com/2bruh4me/sweet-theme"))]) (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") (:authors ("Diego Berrocal" . "cestdiego@gmail.com")) (:maintainer "Diego Berrocal" . "cestdiego@gmail.com") (:keywords "salad" "food" "sweetgreen" "request") (:url . "https://www.github.com/CestDiego/sweetgreen.el"))]) - (swift-helpful . [(20220402 1433) ((emacs (25 1)) (dash (2 12 0)) (lsp-mode (6 0)) (swift-mode (8 0 0))) "Show documentation for Swift programs." tar ((:commit . "fe5c4a97fabbc89bd4761cfe4f8f8ce6f6d89703") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:keywords "help" "swift") (:url . "https://github.com/danielmartin/swift-helpful"))]) - (swift-mode . [(20220313 542) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language" tar ((:commit . "0d1ef0ef183398143b13fb8c76c1284df0d5e616") (:authors ("taku0 (http://github.com/taku0)") ("Chris Barrett" . "chris.d.barrett@me.com") ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Arthur Evstifeev" . "lod@pisem.net")) (:maintainer "taku0 (http://github.com/taku0)") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))]) + (swift-helpful . [(20220707 846) ((emacs (25 1)) (dash (2 12 0)) (lsp-mode (6 0)) (swift-mode (8 0 0))) "Show documentation for Swift programs." tar ((:commit . "b46c580e4b8f55761431ec677866de3fc66592e9") (:authors ("Daniel Martín" . "mardani29@yahoo.es")) (:maintainer "Daniel Martín" . "mardani29@yahoo.es") (:keywords "help" "swift") (:url . "https://github.com/danielmartin/swift-helpful"))]) + (swift-mode . [(20220709 602) ((emacs (24 4)) (seq (2 3))) "Major-mode for Apple's Swift programming language" tar ((:commit . "cdd194cbadcee724a9813da386f0a612082b1ab1") (:authors ("taku0 (http://github.com/taku0)") ("Chris Barrett" . "chris.d.barrett@me.com") ("Bozhidar Batsov" . "bozhidar@batsov.com") ("Arthur Evstifeev" . "lod@pisem.net")) (:maintainer "taku0 (http://github.com/taku0)") (:keywords "languages" "swift") (:url . "https://github.com/swift-emacs/swift-mode"))]) (swift-playground-mode . [(20190717 2223) ((emacs (24 4)) (seq (2 2 0))) "Run Apple's playgrounds in Swift buffers" tar ((:commit . "111cde906508824ee11d774b908df867142a8aec") (:keywords "languages" "swift") (:url . "https://gitlab.com/michael.sanders/swift-playground-mode"))]) (swift3-mode . [(20160918 1250) ((emacs (24 4))) "Major-mode for Apple's Swift programming language." tar ((:commit . "4e51265c6905e17d8910e35b0b37cf51e20ecdfe") (:keywords "languages" "swift") (:url . "https://github.com/taku0/swift3-mode"))]) - (swiper . [(20210919 1221) ((emacs (24 5)) (ivy (0 13 4))) "Isearch with an overview. Oh, man!" single ((:commit . "7489968257a74f176c0d1de7ec8bd1e2011f0db4") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))]) + (swiper . [(20220430 2247) ((emacs (24 5)) (ivy (0 13 4))) "Isearch with an overview. Oh, man!" single ((:commit . "2051de5882706246da298ce5f60482cd7f469fe7") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))]) (swiper-helm . [(20180131 1744) ((emacs (24 1)) (swiper (0 1 0)) (helm (1 5 3))) "Helm version of Swiper." single ((:commit . "93fb6db87bc6a5967898b5fd3286954cc72a0008") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper-helm"))]) (swiss-holidays . [(20200526 822) nil "Swiss holidays for the calendar" single ((:commit . "0995c9685033a09466f5b2dceb7316362bde997a") (:authors ("Christian Egli" . "christian.egli@alumni.ethz.ch")) (:maintainer "Christian Egli" . "christian.egli@alumni.ethz.ch") (:keywords "calendar") (:url . "https://github.com/egli/swiss-holidays"))]) (switch-buffer-functions . [(20200127 409) nil "Hook run when current buffer changed" single ((:commit . "95a846baa93bac4c3b3c028b9d53507f1042b23a") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:keywords "hook" "utility") (:url . "https://github.com/10sr/switch-buffer-functions-el"))]) (switch-window . [(20210808 742) ((emacs (24))) "A *visual* way to switch window" tar ((:commit . "8d9fe251d8d38b223d643df975876356ddfc1b98") (:authors ("Dimitri Fontaine" . "dim@tapoueh.org") ("Feng Shu" . "tumashu@163.com")) (:maintainer "Dimitri Fontaine" . "dim@tapoueh.org") (:keywords "convenience") (:url . "https://github.com/dimitri/switch-window"))]) (swoop . [(20200618 905) ((emacs (24 3)) (ht (2 0)) (pcre2el (1 5)) (async (1 1))) "Peculiar buffer navigation" tar ((:commit . "0c737a961970a2e61735545320367bafaa8dfc49") (:authors ("Shingo Fukuyama - http://fukuyama.co")) (:maintainer "Shingo Fukuyama - http://fukuyama.co") (:keywords "tools" "swoop" "inner" "buffer" "search" "navigation") (:url . "https://github.com/ShingoFukuyama/emacs-swoop"))]) (sws-mode . [(20210908 2121) nil "(S)ignificant (W)hite(S)pace mode" single ((:commit . "1ad7c51f3c6a6ae64550d9510c5e4e8470014375") (:authors ("Brian M. Carlson and other contributors")) (:maintainer "Brian M. Carlson and other contributors") (:keywords "languages") (:url . "https://github.com/brianc/jade-mode"))]) - (sx . [(20191229 1746) ((emacs (24 1)) (cl-lib (0 5)) (json (1 3)) (markdown-mode (2 0)) (let-alist (1 0 3))) "StackExchange client. Ask and answer questions on Stack Overflow, Super User, and the likes" tar ((:commit . "e9d1093c97507a6d7b4f4710ef65200dae725e5f") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "help" "hypermedia" "tools") (:url . "https://github.com/vermiculus/sx.el/"))]) - (sxiv . [(20210514 918) ((dash (2 16 0)) (emacs (25 1))) "Run the sxiv image viewer" single ((:commit . "028409c3a9ff7ba33a1cc2158abfc1793ed50717") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabber.fr")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabber.fr") (:keywords "multimedia") (:url . "https://gitlab.com/contrapunctus/sxiv.el"))]) + (sx . [(20220804 1419) ((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 . "c58405f9ff27b9740997ea837a1f6fd173d1edc5") (:authors ("Sean Allred" . "code@seanallred.com")) (:maintainer "Sean Allred" . "code@seanallred.com") (:keywords "help" "hypermedia" "tools") (:url . "https://github.com/vermiculus/sx.el/"))]) + (sxiv . [(20220530 14) ((dash (2 16 0)) (emacs (25 1))) "Run the Simple X Image Viewer, with Dired integration" single ((:commit . "47f5b2fbb94c569dc5e71cbe4de9c6eabbbc69e8") (:authors ("contrapunctus" . "xmpp:contrapunctus@jabber.fr")) (:maintainer "contrapunctus" . "xmpp:contrapunctus@jabber.fr") (:keywords "multimedia") (:url . "https://tildegit.org/contrapunctus/sxiv"))]) (symbol-navigation-hydra . [(20211010 2353) ((auto-highlight-symbol (1 61)) (hydra (0 15 0)) (emacs (24 4)) (multiple-cursors (1 4 0))) "A symbol-aware, range-aware hydra" single ((:commit . "5675976cad4cbeee30f43e6c4b28c2e5904575a5") (:authors ("Brett Wines" . "bgwines@cs.stanford.edu")) (:maintainer "Brett Wines" . "bgwines@cs.stanford.edu") (:keywords "highlight" "face" "match" "convenience" "hydra" "symbol") (:url . "https://github.com/bgwines/symbol-navigation-hydra"))]) (symbol-overlay . [(20220304 917) ((emacs (24 3)) (seq (2 2))) "Highlight symbols with keymap-enabled overlays" single ((:commit . "c439b73a5f9713bb3dce98986b589bb901e22130") (:authors ("wolray" . "wolray@foxmail.com")) (:maintainer "wolray" . "wolray@foxmail.com") (:keywords "faces" "matching") (:url . "https://github.com/wolray/symbol-overlay/"))]) (symbolist . [(20211107 1615) ((emacs (24 5))) "List and interactively unbind Emacs Lisp symbols" single ((:commit . "92b712734941a45da7d47fd61b95e4013ff53481") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "lisp" "maint") (:url . "https://github.com/lassik/emacs-symbolist"))]) (symbolword-mode . [(20180401 1427) ((emacs (24)) (f (0 19 0))) "modify word split" single ((:commit . "c254ec56e83a5d9de04df0856248723cf6d4be50") (:authors ("ncaq" . "ncaq@ncaq.net")) (:maintainer "ncaq" . "ncaq@ncaq.net") (:url . "https://github.com/ncaq/symbolword-mode"))]) - (symex . [(20220323 1808) ((emacs (25 1)) (lispy (0 26 0)) (paredit (24)) (evil-cleverparens (20170718 413)) (evil (1 2 14)) (evil-surround (1 0 4)) (hydra (0 15 0)) (seq (2 22)) (undo-tree (0 7 5))) "An evil way to edit Lisp symbolic expressions as trees" tar ((:commit . "8ab435c2866869977c92ad64c3706f626acfb4d3") (:authors ("Siddhartha Kasivajhula" . "sid@countvajhula.com")) (:maintainer "Siddhartha Kasivajhula" . "sid@countvajhula.com") (:keywords "lisp" "convenience" "languages") (:url . "https://github.com/countvajhula/symex.el"))]) + (symex . [(20220705 1558) ((emacs (25 1)) (lispy (0 26 0)) (paredit (24)) (evil-cleverparens (20170718 413)) (evil (1 2 14)) (evil-surround (1 0 4)) (hydra (0 15 0)) (seq (2 22)) (undo-tree (0 7 5))) "An evil way to edit Lisp symbolic expressions as trees" tar ((:commit . "533eb8ad0ce43c6a7667a2c8a9a8fd6ae275c820") (:authors ("Siddhartha Kasivajhula" . "sid@countvajhula.com")) (:maintainer "Siddhartha Kasivajhula" . "sid@countvajhula.com") (:keywords "lisp" "convenience" "languages") (:url . "https://github.com/countvajhula/symex.el"))]) (symon . [(20170224 833) nil "tiny graphical system monitor" single ((:commit . "8dd8b6df49b03cd7d31b85aedbe9dd08fb922335") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (symon-lingr . [(20150719 1342) ((symon (1 1 2)) (cl-lib (0 5))) "A notification-based Lingr client powered by symon.el" single ((:commit . "056d1a473e36992ff5881e5ce6fdc331cead975f") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (sync-recentf . [(20160326 2001) nil "Synchronize the recent files list between Emacs instances" single ((:commit . "0052561d5c5b5c2684faedc3eead776aec06c3ed") (:authors ("François Févotte" . "fevotte@gmail.com")) (:maintainer "François Févotte" . "fevotte@gmail.com") (:keywords "recentf") (:url . "https://github.com/ffevotte/sync-recentf"))]) (synonymous . [(20180325 1817) ((emacs (24)) (cl-lib (0 5)) (request (0 2 0))) "A thesaurus at your fingertips" single ((:commit . "2cb9a674d84fddf3f1b00c9d6b13a853576acb87") (:authors ("Katherine Whitlock" . "toroidalcode@gmail.com") ("Snippets adapted from FlySpell, authored by Manuel Serrano" . "Manuel.Serrano@inria.fr")) (:maintainer "Katherine Whitlock" . "toroidalcode@gmail.com") (:keywords "utility") (:url . "http://github.com/toroidal-code/synonymous.el"))]) (synosaurus . [(20191125 552) ((cl-lib (0 5))) "An extensible thesaurus supporting lookup and substitution." tar ((:commit . "14d34fc92a77c3a916b4d58400424c44ae99cd81") (:authors ("Hans-Peter Deifel" . "hpd@hpdeifel.de")) (:maintainer "Hans-Peter Deifel" . "hpd@hpdeifel.de") (:keywords "wp"))]) (synquid . [(20160930 1550) ((flycheck (27)) (emacs (24 3))) "Major mode for editing Synquid files" single ((:commit . "28701ce1a15437202f53ab93a14bcba1de83fd2c") (:authors ("Clément Pit-Claudel" . "clement.pitclaudel@live.com")) (:maintainer "Clément Pit-Claudel" . "clement.pitclaudel@live.com") (:keywords "languages") (:url . "https://github.com/cpitclaudel/synquid-mode"))]) - (syntactic-close . [(20210105 1400) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "ffe8b28907973fda775254432f88b55c92b5ae1f") (:authors ("Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org")) (:maintainer "Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org") (:keywords "languages" "convenience") (:url . "https://github.com/emacs-berlin/syntactic-close"))]) + (syntactic-close . [(20220618 817) ((emacs (24)) (cl-lib (0 5))) "Insert closing delimiter" single ((:commit . "28410740e42ad9bb84416164406269b177fb49fa") (:authors ("Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org")) (:maintainer "Emacs User Group Berlin" . "emacs-berlin@emacs-berlin.org") (:keywords "languages" "convenience") (:url . "https://github.com/emacs-berlin/syntactic-close"))]) (syntactic-sugar . [(20140508 2041) nil "Effect-free forms such as if/then/else" single ((:commit . "7ddc4502c831abe1c4ad4c7d1ca628a2c9e13968") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/syntactic-sugar"))]) (syntax-subword . [(20160205 2154) nil "make operations on words more fine-grained" single ((:commit . "9aa9b3f846bfe2474370642458a693ac4760d9fe") (:authors ("Jonathan Kotta" . "jpkotta@gmail.com")) (:maintainer "Jonathan Kotta" . "jpkotta@gmail.com"))]) - (syntree . [(20220122 2341) ((emacs (27 1)) (transient (0 3 7))) "Draw plain text constituency trees" single ((:commit . "45d010b071c32cab4a3a5d336d6c01cde49657f8") (:authors ("Enrico Flor" . "enrico@eflor.net")) (:maintainer "Enrico Flor" . "enrico@eflor.net") (:url . "https://github.com/enricoflor/syntree"))]) + (syntree . [(20220615 2331) ((emacs (27 1))) "Draw plain text constituency trees" tar ((:commit . "1ad84a7905959b1d2c4f2fee37fbccc87d711864") (:authors ("Enrico Flor" . "enrico@eflor.net")) (:maintainer "Enrico Flor" . "enrico@eflor.net") (:url . "https://github.com/enricoflor/syntree"))]) (sysctl . [(20200615 1824) ((emacs (26))) "Manage sysctl though org-mode" single ((:commit . "d8c2e18de1d7a3b2999a4d5054c0bbf30cb10fed") (:authors ("Dante Catalfamo")) (:maintainer "Dante Catalfamo") (:keywords "sysctl" "tools" "unix") (:url . "https://github.com/dantecatalfamo/sysctl.el"))]) (syslog-mode . [(20210910 1952) ((hide-lines (20130623)) (ov (20150311)) (hsluv (20181127))) "Major-mode for viewing log files & strace output" tar ((:commit . "072664784dae41a573a9de8d178bf577b7526b82") (:authors ("Harley Gorrell" . "harley@panix.com")) (:maintainer "Joe Bloggs" . "vapniks@yahoo.com") (:keywords "unix") (:url . "https://github.com/vapniks/syslog-mode"))]) (system-packages . [(20220409 1023) ((emacs (24 3))) "functions to manage system packages" single ((:commit . "c087d2c6e598f85fc2760324dce20104ea442fa3") (:authors ("J. Alexander Branham" . "alex.branham@gmail.com")) (:maintainer "J. Alexander Branham" . "alex.branham@gmail.com") (:url . "https://gitlab.com/jabranham/system-packages"))]) @@ -4603,6 +4667,7 @@ (systemd . [(20210209 2052) ((emacs (24 4))) "Major mode for editing systemd units" tar ((:commit . "b6ae63a236605b1c5e1069f7d3afe06ae32a7bae") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu") (:keywords "tools" "unix"))]) (systemtap-mode . [(20151122 1940) nil "A mode for SystemTap" single ((:commit . "1a968c2b1f3a054bebf91ac49739d3a81ce050a9") (:maintainer nil . "ruediger@c-plusplus.de") (:keywords "tools" "languages") (:url . "https://github.com/ruediger/systemtap-mode"))]) (ta . [(20160619 1645) ((emacs (24 3)) (cl-lib (0 5))) "A tool to deal with Chinese homophonic characters" single ((:commit . "668ad41e71f374f8c32c8d0532f3d8485b355d35") (:authors ("kuanyui" . "azazabc123@gmail.com")) (:maintainer "kuanyui" . "azazabc123@gmail.com") (:keywords "tools") (:url . "http://github.com/kuanyui/ta.el"))]) + (tab-bar-buffers . [(20220722 1937) ((emacs (28 1))) "Use tab-bar-mode as a buffer manager" single ((:commit . "243a55685a2000a2cbe9d49d04bf9efa8cda210b") (:authors ("Andy Rosen" . "ajr@corp.mlfs.org")) (:maintainer "Andy Rosen" . "ajr@corp.mlfs.org") (:keywords "convenience" "frames") (:url . "https://github.com/ajrosen/tab-bar-buffers"))]) (tab-bar-echo-area . [(20211013 1942) ((emacs (27 1))) "Display tab names of the tab bar in the echo area" single ((:commit . "d0d51ecbc5929eb7752b387c5bdfe4d879e78224") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/tab-bar-echo-area"))]) (tab-bar-groups . [(20211013 2012) ((emacs (27 1)) (s (1 12 0))) "Tab groups for the tab bar" single ((:commit . "a0389d87d2e793055dd74ae85b4593aa1d2720fd") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/tab-bar-groups"))]) (tab-bar-lost-commands . [(20211013 1945) ((emacs (27 1))) "The \"lost commands\" of the tab bar" single ((:commit . "989e03dc3d1057264b21b9a5d241fcba86cd297a") (:authors ("Fritz Grabo" . "hello@fritzgrabo.com")) (:maintainer "Fritz Grabo" . "hello@fritzgrabo.com") (:keywords "convenience") (:url . "https://github.com/fritzgrabo/tab-bar-lost-commands"))]) @@ -4611,18 +4676,19 @@ (tabbar . [(20180726 1735) nil "Display a tab bar in the header line" tar ((:commit . "82bbda31cbe8ef367dd6501c3aa14b7f2c835910") (:authors ("David Ponce" . "david@dponce.com")) (:maintainer "David Ponce" . "david@dponce.com") (:keywords "convenience"))]) (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") (:authors ("Matthew Fidler, Ta Quang Trung, Nathaniel Cunningham")) (:maintainer "Matthew L. Fidler") (:keywords "tabbar" "ruler mode" "menu" "tool bar.") (:url . "http://github.com/mlf176f2/tabbar-ruler.el"))]) (tablist . [(20200427 2205) ((emacs (24 3))) "Extended tabulated-list-mode" tar ((:commit . "faab7a035ef2258cc4ea2182f67e3aedab7e2af9") (:authors ("Andreas Politz" . "politza@fh-trier.de")) (:maintainer "Andreas Politz" . "politza@fh-trier.de") (:keywords "extensions" "lisp"))]) - (tabspaces . [(20220425 252) ((emacs (27 1)) (project (0 8 1))) "Leverage tab-bar and project for buffer-isolated workspaces" single ((:commit . "810ab43c5aad09d808ad643d90f4f53427966c57") (:authors ("Colin McLear" . "mclear@fastmail.com")) (:maintainer "Colin McLear") (:keywords "convenience" "frames") (:url . "https://github.com/mclear-tools/tabspaces"))]) + (tabspaces . [(20220614 2113) ((emacs (27 1)) (project (0 8 1))) "Leverage tab-bar and project for buffer-isolated workspaces" single ((:commit . "a42bf779354d042ba53f8096f68e44d0021db07a") (:authors ("Colin McLear" . "mclear@fastmail.com")) (:maintainer "Colin McLear") (:keywords "convenience" "frames") (:url . "https://github.com/mclear-tools/tabspaces"))]) (tabula-rasa . [(20141216 547) ((emacs (24 4))) "Distraction free writing mode" single ((:commit . "e85fff9de18dc31bc6a7aca726e34a95cc5459f5") (:authors ("Ido Magal" . "misc@satans.church")) (:maintainer "Ido Magal" . "misc@satans.church") (:keywords "distraction free" "writing") (:url . "https://github.com/idomagal/Tabula-Rasa/blob/master/tabula-rasa.el"))]) (tagedit . [(20161121 855) ((s (1 3 1)) (dash (1 0 3))) "Some paredit-like features for html-mode" single ((:commit . "b3a70101a0dcf85498c92b7fcfa7fdbac869746c") (:authors ("Magnar Sveen" . "magnars@gmail.com")) (:maintainer "Magnar Sveen" . "magnars@gmail.com") (:keywords "convenience"))]) (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"))]) (talonscript-mode . [(20220204 1441) ((emacs (24 3))) "Major mode for Talon Voice's .talon files" single ((:commit . "b6eb61f56349e0d47276270163ec611c2d5b188e") (:authors ("Jcaw" . "toastedjcaw@gmail.com")) (:maintainer "Jcaw" . "toastedjcaw@gmail.com") (:keywords "languages") (:url . "https://github.com/jcaw/talonscript-mode"))]) (tango-2-theme . [(20120312 2025) nil "Tango 2 color theme for GNU Emacs 24" single ((:commit . "64e44c98e41ebbe3b827d54280e3b9615787daaa") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) - (tango-plus-theme . [(20211222 1100) nil "A color theme based on the tango palette" single ((:commit . "774b03f932bbc336ce5f943af175d5faa651f2e0") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))]) - (tangotango-theme . [(20220106 1039) nil "Tango Palette color theme for Emacs 24." single ((:commit . "9509035842c5ea44f594879199a74c9fc6d2a368") (:authors ("Julien Barnier")) (:maintainer "Julien Barnier") (:keywords "tango" "palette" "color" "theme" "emacs") (:url . "https://github.com/juba/color-theme-tangotango"))]) + (tango-plus-theme . [(20220525 1311) nil "A color theme based on the tango palette" single ((:commit . "bdf1dd6ea9c43d07b22dfa15fec0dcfd03544c63") (:authors ("Titus von der Malsburg" . "malsburg@posteo.de")) (:maintainer "Titus von der Malsburg" . "malsburg@posteo.de") (:url . "https://github.com/tmalsburg/tango-plus-theme"))]) + (tangonov-theme . [(20220801 528) ((emacs (25))) "A 256 color dark theme featuring bright pastels" single ((:commit . "20b59b96ef57f7531525951989cef0e9f849371b") (:authors ("Trevor Richards" . "trev@trevdev.ca")) (:maintainer "Trevor Richards" . "trev@trevdev.ca") (:keywords "faces" "theme" "dark") (:url . "https://github.com/trev-dev/tangonov-theme"))]) + (tangotango-theme . [(20220714 2034) nil "Tango Palette color theme for Emacs 24." single ((:commit . "dbefd8638c36595467efbce5a26da208320ac30a") (:authors ("Julien Barnier" . "julien@nozav.org")) (:maintainer "Julien Barnier" . "julien@nozav.org") (:keywords "tango" "palette" "color" "theme" "emacs") (:url . "https://github.com/juba/color-theme-tangotango"))]) (tao-theme . [(20220414 354) nil "This package provides two parametrized uncoloured color themes for Emacs: tao-yin and tao-yang." tar ((:commit . "d6fe980783e22df310df1ae51ac249c28c83ac53") (:authors ("Peter Kosov" . "11111000000@email.com")) (:maintainer "Peter Kosov" . "11111000000@email.com") (:url . "http://github.com/11111000000/tao-theme-emacs"))]) (taskpaper-mode . [(20220410 1953) nil "Major mode for working with TaskPaper files" single ((:commit . "12c2f7e01a0e5cc9a57c9d8a8f3fecc8f8ddecb2") (:authors ("Dmitry Safronov" . "saf.dmitry@gmail.com")) (:maintainer "Dmitry Safronov" . "saf.dmitry@gmail.com") (:keywords "outlines" "notetaking" "task management" "productivity" "taskpaper") (:url . "https://github.com/saf-dmitry/taskpaper-mode"))]) (taskrunner . [(20190916 1608) ((emacs (25 1)) (projectile (2 0 0)) (async (1 9 3))) "Retrieve build system/taskrunner tasks" tar ((:commit . "716323aff410b4d864d137c9ebe4bbb5b8587f5e") (:authors ("Yavor Konstantinov ")) (:maintainer "Yavor Konstantinov ") (:keywords "build-system" "taskrunner" "build" "task-runner" "tasks" "convenience") (:url . "https://github.com/emacs-taskrunner/emacs-taskrunner"))]) - (tawny-mode . [(20191108 1346) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "82f343bac637e62f31152d72086c7facd4dfea27") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) + (tawny-mode . [(20191108 1346) ((cider (0 12)) (emacs (25))) "Ontology Editing with Tawny-OWL" single ((:commit . "d0ca5ecffa39d83704c423a2f8f7cd4f93f9915b") (:authors ("Phillip Lord" . "phillip.lord@newcastle.ac.uk")) (:maintainer "Phillip Lord" . "phillip.lord@newcastle.ac.uk"))]) (tblui . [(20161007 1912) ((dash (2 12 1)) (magit-popup (2 6 0)) (tablist (0 70)) (cl-lib (0 5))) "Define tabulated list UI easily" single ((:commit . "bb29323bb3e27093d50cb42db3a9329a096b6e4d") (:authors ("Yuki Inoue ")) (:maintainer "Yuki Inoue ") (:url . "https://github.com/Yuki-Inoue/tblui.el"))]) (tbx2org . [(20140224 1559) ((dash (2 5 0)) (s (1 8 0)) (cl-lib (0 4))) "Tinderbox to org-mode conversion" single ((:commit . "08e9816ba6066f56936050b58d07ceb2187ae6f7") (:authors ("istib")) (:maintainer "istib") (:keywords "org-mode") (:url . "https://github.com/istib/tbx2org"))]) (tc . [(20220122 1443) nil "a Japanese input method with T-Code on Emacs" tar ((:commit . "d0adf22f5aed4d9608778108b60a06c9ea58b289") (:authors ("Kaoru Maeda" . "maeda@src.ricoh.co.jp") ("Yasushi Saito" . "yasushi@cs.washington.edu") ("KITAJIMA Akira" . "kitajima@isc.osakac.ac.jp")) (:maintainer "KITAJIMA Akira"))]) @@ -4630,19 +4696,19 @@ (tea-time . [(20120331 820) nil "Simple timer package, useful to make perfect tea." single ((:commit . "1f6cf0bdd27c5eb3508989c5095427781f858eca") (:authors ("konsty" . "antipin.konstantin@googlemail.com")) (:maintainer "Gabriel Saldana" . "gsaldana@gmail.com") (:keywords "timer" "tea-time"))]) (teacode-expand . [(20181231 640) ((emacs (24 4))) "Expansion of text by TeaCode program." single ((:commit . "2122e4b32ed4edd2d7ebc0ff8ebf407e29d6e910") (:authors ("Richard Guay" . "raguay@customct.com")) (:maintainer "Richard Guay" . "raguay@customct.com") (:keywords "lisp") (:url . "https://github.com/raguay/TeaCode-Expand"))]) (teco . [(20200707 2309) nil "Teco interpreter" single ((:commit . "61caf8f419659a0567a269f290c90427a215d77b") (:authors ("Dale R. Worley" . "worley@alum.mit.edu")) (:maintainer "Mark T. Kennedy" . "mtk@acm.org") (:keywords "convenience" "emulations" "files") (:url . "https://github.com/mtk/teco.git"))]) - (telega . [(20220418 1131) ((emacs (26 1)) (visual-fill-column (1 9)) (rainbow-identifiers (0 2 2))) "Telegram client (unofficial)" tar ((:commit . "d0dff3c63dcd9b9e38b225677c3d911c6091cf61") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:keywords "comm") (:url . "https://github.com/zevlg/telega.el"))]) + (telega . [(20220713 2342) ((emacs (26 1)) (visual-fill-column (1 9)) (rainbow-identifiers (0 2 2))) "Telegram client (unofficial)" tar ((:commit . "11c0c785ed9e479b65514a10022d5c34984aab59") (:authors ("Zajcev Evgeny" . "zevlg@yandex.ru")) (:maintainer "Zajcev Evgeny" . "zevlg@yandex.ru") (:keywords "comm") (:url . "https://github.com/zevlg/telega.el"))]) (telepathy . [(20131209 1258) nil "Access Telepathy from Emacs" single ((:commit . "211d785b02a29ddc254422fdcc3db45262582f8c") (:authors ("Nicolas Petton" . "petton.nicolas@gmail.com")) (:maintainer "Nicolas Petton" . "petton.nicolas@gmail.com") (:keywords "telepathy" "tools"))]) (telephone-line . [(20220424 400) ((emacs (24 4)) (cl-lib (0 5)) (cl-generic (0 2)) (seq (1 8))) "Rewrite of Powerline" tar ((:commit . "6f3455a365912e8f0c45a2240ea79507dee45ade") (:authors ("Daniel Bordak" . "dbordak@fastmail.fm")) (:maintainer "Daniel Bordak" . "dbordak@fastmail.fm") (:keywords "mode-line") (:url . "https://github.com/dbordak/telephone-line"))]) (teletext . [(20211203 1111) ((emacs (24 3))) "Teletext broadcast viewer" single ((:commit . "6b003e9dab9bd0c27d188a81f5fff740d66a2282") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "comm" "help" "hypermedia") (:url . "https://github.com/lassik/emacs-teletext"))]) (teletext-yle . [(20210927 825) ((emacs (24 3)) (teletext (0 1))) "Teletext provider for Finnish national network YLE" single ((:commit . "9c8f4b503923c4ec688e2dcc9dff62d71bc55933") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "comm" "help" "hypermedia") (:url . "https://github.com/lassik/emacs-teletext-yle"))]) - (tempel . [(20220415 2157) ((emacs (27 1))) "Tempo templates/snippets with in-buffer field editing" single ((:commit . "f9e048e05c2c17a59d359a7724be6b5a2f394a0e") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/tempel"))]) + (tempel . [(20220804 1453) ((emacs (27 1))) "Tempo templates/snippets with in-buffer field editing" single ((:commit . "dac7e7bcbda97560532c854888a3d51ac01829ae") (:authors ("Daniel Mendler" . "mail@daniel-mendler.de")) (:maintainer "Daniel Mendler" . "mail@daniel-mendler.de") (:url . "https://github.com/minad/tempel"))]) (template-overlays . [(20180706 1132) ((emacs (24 4)) (ov (1 0 6))) "Display template regions using overlays" single ((:commit . "d32db58c044b2aca3720879003f55b1d57208b07") (:authors ("Mariano Montone" . "marianomontone@gmail.com")) (:maintainer "Mariano Montone" . "marianomontone@gmail.com") (:keywords "faces" "convenience" "templates" "overlays") (:url . "http://www.github.com/mmontone/template-overlays"))]) (templatel . [(20210902 228) ((emacs (25 1))) "Templating language;" single ((:commit . "b52349948b6927f7a5da4e54a89e01c794f2095a") (:authors ("Lincoln Clarete" . "lincoln@clarete.li")) (:maintainer "Lincoln Clarete" . "lincoln@clarete.li") (:url . "https://clarete.li/templatel"))]) (temporary-persistent . [(20200201 1719) ((emacs (24 3)) (names (20151201 0)) (dash (2 12 1)) (s (1 10 0))) "Keep temp notes buffers persistent" single ((:commit . "0080879b0257d350aeba1c4d6901613d7dc534de") (:authors ("Kostafey" . "kostafey@gmail.com")) (:maintainer "Kostafey" . "kostafey@gmail.com") (:keywords "temp" "buffers" "notes") (:url . "https://github.com/kostafey/temporary-persistent"))]) (ten-hundred-mode . [(20161028 2236) ((cl-lib (0 5))) "use only the ten hundred most usual words" tar ((:commit . "bdcfda49b1819e82d61fe90947e50bb948cf7933"))]) (term+ . [(20170509 17) ((emacs (24)) (cl-lib (0 5))) "term-mode enhancement" tar ((:commit . "c3c9239b339c127231860de43abfa08c44c0201a") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:keywords "terminal" "emulation") (:url . "https://github.com/tarao/term-plus-el"))]) - (term+key-intercept . [(20140211 750) ((term+ (0 1)) (key-intercept (0 1))) "term+ intercept key mapping" single ((:commit . "fd0771fd66b8c7a909aaac972194485c79ba48c4") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:keywords "terminal" "emulation") (:url . "http://github.com/tarao/term+-el"))]) - (term+mux . [(20140211 749) ((term+ (0 1)) (tab-group (0 1))) "term+ terminal multiplexer and session management" single ((:commit . "81b60e80cf008472bfd7fad9233af2ef722c208a") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:keywords "terminal" "emulation") (: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 . "2d98e976877a5ca71500ab57377b6e5a129fa2f3") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:keywords "terminal" "emulation") (:url . "http://github.com/tarao/term+-el"))]) + (term+mux . [(20140211 749) ((term+ (0 1)) (tab-group (0 1))) "term+ terminal multiplexer and session management" single ((:commit . "cd12a3744d4b7d37a002f4f7fcc4a45ea5be95c3") (:authors ("INA Lintaro ")) (:maintainer "INA Lintaro ") (:keywords "terminal" "emulation") (:url . "http://github.com/tarao/term+-el"))]) (term-alert . [(20210414 1638) ((emacs (24 0)) (term-cmd (1 1)) (alert (1 1)) (f (0 18 2))) "Notifications when commands complete in term.el." tar ((:commit . "ca1b48ad911bc972b049f48fe0531e702dbc553c") (:authors ("Callie Cameron" . "cjcameron7@gmail.com")) (:maintainer "Callie Cameron" . "cjcameron7@gmail.com") (:keywords "notifications" "processes") (:url . "https://github.com/calliecameron/term-alert"))]) (term-cmd . [(20210417 1447) ((emacs (27 2)) (dash (2 12 0)) (f (0 18 2))) "Send commands from programs running in term.el." tar ((:commit . "281b9a6d864ca85dc1451dc46baca98f48dc3f60") (:authors ("Callie Cameron" . "cjcameron7@gmail.com")) (:maintainer "Callie Cameron" . "cjcameron7@gmail.com") (:keywords "processes") (:url . "https://github.com/calliecameron/term-cmd"))]) (term-manager . [(20190610 2032) ((dash (2 12 0)) (emacs (24 4))) "Contextual terminal management" tar ((:commit . "eea7894350a4f31e1df0c666d3fb0bac822d34d2") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "terminals" "tools") (:url . "https://www.github.com/IvanMalison/term-manager"))]) @@ -4650,7 +4716,7 @@ (term-run . [(20200128 702) nil "Run arbitrary command in terminal buffer" single ((:commit . "0fd135d55fcf864598b1fb8dd880833a1a322910") (:authors ("10sr <8slashes+el [at] gmail [dot] com>")) (:maintainer "10sr <8slashes+el [at] gmail [dot] com>") (:keywords "utility" "shell" "command" "term-mode") (:url . "https://github.com/10sr/term-run-el"))]) (termbright-theme . [(20151031 235) ((emacs (24 1))) "a more usable theme for white-on-black terminals" single ((:commit . "bec6ab14336c0611e85f45486276004f16d20607") (:authors ("Brian Mastenbrook" . "brian@mastenbrook.net")) (:maintainer "Brian Mastenbrook" . "brian@mastenbrook.net") (:keywords "themes") (:url . "https://github.com/bmastenbrook/termbright-theme-el"))]) (terminal-focus-reporting . [(20180830 719) ((emacs (24 4))) "Minor mode for terminal focus reporting." single ((:commit . "6b1dbb2e96b3ff680dbe88153c4c569adbbd64ce") (:authors ("Vitalii Elenhaupt")) (:maintainer "Vitalii Elenhaupt") (:keywords "convenience") (:url . "https://github.com/veelenga/terminal-focus-reporting.el"))]) - (terminal-here . [(20210605 1453) ((emacs (25 1))) "Run an external terminal in current directory" single ((:commit . "e0e89344624fadf080f6770132ebdd7991355fdd") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "tools" "frames") (:url . "https://github.com/davidshepherd7/terminal-here"))]) + (terminal-here . [(20220519 552) ((emacs (25 1))) "Run an external terminal in current directory" single ((:commit . "c16a500926416c09cd2faee6ab9541686b51e34f") (:authors ("David Shepherd" . "davidshepherd7@gmail.com")) (:maintainer "David Shepherd" . "davidshepherd7@gmail.com") (:keywords "tools" "frames") (:url . "https://github.com/davidshepherd7/terminal-here"))]) (terminal-toggle . [(20190226 1510) ((emacs (24)) (popwin (1 0 0))) "simple pop-up terminal" single ((:commit . "f824d634aef3600cb7a8e2ddf9e8444c6607c160") (:authors ("Mehmet Tekman")) (:maintainer "Mehmet Tekman") (:keywords "outlines") (:url . "https://github.com/mtekman/terminal-toggle.el"))]) (tern . [(20181108 722) ((json (1 2)) (cl-lib (0 5)) (emacs (24))) "Tern-powered JavaScript integration" single ((:commit . "ef50c6f0269a6fd9ce742d0a87647d60a0ef850f") (:authors ("Marijn Haverbeke")) (:maintainer "Marijn Haverbeke") (:url . "http://ternjs.net/"))]) (tern-auto-complete . [(20170521 1935) ((tern (0 0 1)) (auto-complete (1 4)) (cl-lib (0 5)) (emacs (24))) "Tern Completion by auto-complete.el" single ((:commit . "ef50c6f0269a6fd9ce742d0a87647d60a0ef850f") (:authors ("")) (:maintainer ""))]) @@ -4662,16 +4728,16 @@ (test-kitchen . [(20171129 2035) nil "Run test-kitchen inside of emacs" single ((:commit . "0fc0ca4808425f03fbeb8125246043723e2a179a") (:authors ("JJ Asghar")) (:maintainer "JJ Asghar") (:keywords "chef" "ruby" "test-kitchen") (:url . "http://github.com/jjasghar/test-kitchen-el"))]) (test-simple . [(20200722 1121) ((cl-lib (0))) "Simple Unit Test Framework for Emacs Lisp" single ((:commit . "ce6de04636e8d19ec84a475c03c0142b20a63de0") (:authors ("Rocky Bernstein" . "rocky@gnu.org")) (:maintainer "Rocky Bernstein" . "rocky@gnu.org") (:keywords "unit-test") (:url . "https://github.com/rocky/emacs-test-simple"))]) (tex-smart-umlauts . [(20190316 2215) nil "Smart umlaut conversion for TeX." single ((:commit . "f15ed781b1fb38bf3e46c481dd602c3999920b99") (:authors ("Frank Fischer ")) (:maintainer "Frank Fischer ") (:keywords "tex" "wp") (:url . "http://hub.darcs.net/lyro/tex-smart-umlauts"))]) - (texfrag . [(20200716 1331) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "a5f59e0c5f43578f139a2943bd08e5b3140f4c2b") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:keywords "tex" "languages" "wp") (:url . "https://github.com/TobiasZawada/texfrag"))]) + (texfrag . [(20220508 642) ((emacs (25)) (auctex (11 90 2))) "preview LaTeX fragments in alien major modes" single ((:commit . "bcceb82971c10b8c0b058b77b3764669900392aa") (:authors ("Tobias Zawada" . "i@tn-home.de")) (:maintainer "Tobias Zawada" . "i@tn-home.de") (:keywords "tex" "languages" "wp") (:url . "https://github.com/TobiasZawada/texfrag"))]) (text-categories . [(20220411 2150) ((emacs (26 2))) "Assign text categories to a buffer for mass deletion" single ((:commit . "44cf654a4da7907fb53c8783f1eefa69fce00b43") (:authors ("Dionisios Spiliopoulos" . "dennisspiliopoylos@gmail.com")) (:maintainer "Dionisios Spiliopoulos" . "dennisspiliopoylos@gmail.com") (:keywords "lisp") (:url . "https://github.com/Dspil/text-categories"))]) (textile-mode . [(20210912 906) nil "Textile markup editing major mode" single ((:commit . "a49d9bf42166584cca395a92311e9d0a199efc46") (:authors ("Julien Barnier" . "julien@nozav.org")) (:maintainer "Julien Barnier" . "julien@nozav.org") (:keywords "wp" "languages") (:url . "https://github.com/juba/textile-mode"))]) (textmate . [(20110816 2146) nil "TextMate minor mode for Emacs" single ((:commit . "350918b070148f0ace6d9d3cd4ebcaf15c1a8781") (:authors ("Chris Wanstrath" . "chris@ozmm.org")) (:maintainer "Chris Wanstrath" . "chris@ozmm.org") (:keywords "textmate" "osx" "mac"))]) (textmate-to-yas . [(20160409 1708) nil "Import Textmate macros into yasnippet syntax" tar ((:commit . "be3a768b7ac4c2e24b9d4aa6e9ac1d916cdc5a73") (:authors ("Matthew L. Fidler")) (:maintainer "Matthew L. Fidler") (:keywords "yasnippet" "textmate") (:url . "https://github.com/mlf176f2/textmate-to-yas.el/"))]) - (textsize . [(20220323 1330) ((emacs (26 1))) "Configure frame text size automatically" single ((:commit . "6d20632d2b3467144babe01e55275b699219f171") (:authors ("James Ferguson" . "james@faff.org")) (:maintainer "James Ferguson" . "james@faff.org") (:keywords "convenience") (:url . "https://github.com/WJCFerguson/textsize"))]) + (textsize . [(20220427 1445) ((emacs (26 1))) "Configure frame text size automatically" single ((:commit . "df91392c3c928d7841631f5809716b9cf0f7309e") (:authors ("James Ferguson" . "james@faff.org")) (:maintainer "James Ferguson" . "james@faff.org") (:keywords "convenience") (:url . "https://github.com/WJCFerguson/textsize"))]) (textx-mode . [(20170516 911) ((emacs (24 3))) "Major mode for editing TextX files" single ((:commit . "72f9f0c5855b382024f0da8f56833c22a70a5cb3") (:authors ("Novak Boškov" . "gnovak.boskov@gmail.com")) (:maintainer "Novak Boškov" . "gnovak.boskov@gmail.com") (:keywords "textx") (:url . "https://github.com/novakboskov/textx-mode"))]) (tf2-conf-mode . [(20161209 1620) nil "TF2 Configuration files syntax highlighting" single ((:commit . "536950f64c071ffd8495fb2c7ac7c63a11e25f93") (:authors ("Guillermo Robles" . "guillerobles1995@gmail.com")) (:maintainer "Guillermo Robles" . "guillerobles1995@gmail.com") (:keywords "languages") (:url . "https://github.com/wynro/emacs-tf2-conf-mode"))]) (tfsmacs . [(20180911 2114) ((emacs (25)) (tablist (0 70))) "MS TFS source control interaction." single ((:commit . "6865d7bf772a6ecabacc868e45a0f5a5e197e1a5") (:authors ("Dino Chiesa , Sebastian Monia" . "smonia@outlook.com")) (:maintainer "Dino Chiesa , Sebastian Monia" . "smonia@outlook.com") (:keywords "tfs" "vc") (:url . "http://github.com/sebasmonia/tfsmacs/"))]) - (the-matrix-theme . [(20220331 632) ((emacs (26 1))) "Green-on-black dark theme inspired by \"The Matrix\" movie" single ((:commit . "00f3e6ffda899ddd0ac2366753d6e810dbdf7bbb") (:authors ("Dan Dee" . "monkeyjunglejuice@pm.me")) (:maintainer "Dan Dee" . "monkeyjunglejuice@pm.me") (:keywords "faces" "theme") (:url . "https://github.com/monkeyjunglejuice/matrix-emacs-theme"))]) + (the-matrix-theme . [(20220622 1214) ((emacs (26 1))) "Green-on-black dark theme inspired by \"The Matrix\" movie" single ((:commit . "289ed872003708ef1595e5e6765b50ca53e34ac8") (:authors ("Dan Dee" . "monkeyjunglejuice@pm.me")) (:maintainer "Dan Dee" . "monkeyjunglejuice@pm.me") (:keywords "faces" "theme") (:url . "https://github.com/monkeyjunglejuice/matrix-emacs-theme"))]) (theme-anchor . [(20220204 321) ((emacs (26))) "Apply theme in current buffer only" single ((:commit . "c6f715d4ccd30e83922e39cab856578ce19224bb") (:authors ("Liāu, Kiong-Gē" . "gliao.tw@pm.me")) (:maintainer "Liāu, Kiong-Gē" . "gliao.tw@pm.me") (:keywords "extensions" "lisp" "theme") (:url . "https://github.com/GongYiLiao/theme-anchor"))]) (theme-changer . [(20201226 2256) nil "Sunrise/Sunset Theme Changer for Emacs" single ((:commit . "57b8c579f134374a45bec9043feff6b29bb4f108") (:authors ("Joshua B. Griffith" . "josh.griffith@gmail.com")) (:maintainer "Joshua B. Griffith" . "josh.griffith@gmail.com") (:keywords "color-theme" "deftheme" "solar" "sunrise" "sunset") (:url . "https://github.com/hadronzoo/theme-changer"))]) (theme-looper . [(20210827 424) ((emacs (24)) (cl-lib (0 5))) "A package for switching themes in Emacs interactively" single ((:commit . "e6e8efd740df0b68db89805ba72492818dba61ab") (:authors ("Mohammed Ismail Ansari" . "team.terminal@gmail.com")) (:maintainer "Mohammed Ismail Ansari" . "team.terminal@gmail.com") (:keywords "convenience" "color-themes") (:url . "http://ismail.teamfluxion.com"))]) @@ -4681,12 +4747,12 @@ (thinks . [(20170802 1128) ((cl-lib (0 5))) "Insert text in a think bubble." single ((:commit . "c02f236abc8c2025d9f01460b09b89ebdc96e28d") (:authors ("Dave Pearson" . "davep@davep.org")) (:maintainer "Dave Pearson" . "davep@davep.org") (:keywords "convenience" "quoting") (:url . "https://github.com/davep/thinks.el"))]) (thread-dump . [(20170816 1850) nil "Java thread dump viewer" single ((:commit . "204c9600242756d4b514bb5ff6293e052bf4b49d") (:authors ("Dmitry Neverov")) (:maintainer "Dmitry Neverov") (:url . "http://github.com/nd/thread-dump.el"))]) (threes . [(20160820 1242) ((emacs (24)) (seq (1 11))) "A clone of Threes (a tiny puzzle game)" single ((:commit . "6981acb30b856c77cba6aba63fefbf102cbdfbb2") (:authors ("Chunyang Xu" . "xuchunyang.me@gmail.com")) (:maintainer "Chunyang Xu" . "xuchunyang.me@gmail.com") (:keywords "games") (:url . "https://github.com/xuchunyang/threes.el"))]) - (thrift . [(20200212 1903) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "38e709c569bb571806563d411459795fbd523e81") (:keywords "languages"))]) + (thrift . [(20200212 1903) ((emacs (24))) "major mode for fbthrift and Apache Thrift files" single ((:commit . "c8deb3fa7265ee3252e33e12754e4eb0dde32a8c") (:keywords "languages"))]) (thumb-through . [(20120119 534) nil "Plain text reader of HTML documents" single ((:commit . "08d8fb720f93c6172653e035191a8fa9c3305e63") (:keywords "html"))]) (tickscript-mode . [(20171219 203) ((emacs (24 1))) "A major mode for Tickscript files" single ((:commit . "f0579f38ff14954df5002ce30ae6d4a2c978d461") (:authors ("Marc Sherry" . "msherry@gmail.com")) (:maintainer "Marc Sherry" . "msherry@gmail.com") (:keywords "languages") (:url . "https://github.com/msherry/tickscript-mode"))]) - (tidal . [(20210211 1531) ((haskell-mode (16)) (emacs (24))) "Interact with TidalCycles for live coding patterns" single ((:commit . "9dbd4c9b4dd4adb550323376a25a50917c971b00") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:keywords "tools") (:url . "https://github.com/tidalcycles/Tidal"))]) - (tide . [(20220314 930) ((emacs (25 1)) (dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "b93e555858edc331ba33d1d8bd4582d578c7ca31") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:keywords "typescript") (:url . "http://github.com/ananthakumaran/tide"))]) - (tikz . [(20210927 1704) ((emacs (24 1))) "A minor mode to edit TikZ pictures" tar ((:commit . "f9ea0793affa34be29e1861bfa559fd248b7d22e") (:authors ("Emilio Torres-Manzanera" . "torres@uniovi.es")) (:maintainer "Emilio Torres-Manzanera" . "torres@uniovi.es") (:keywords "tex") (:url . "https://github.com/emiliotorres/tikz"))]) + (tidal . [(20220804 906) ((haskell-mode (16)) (emacs (25 1))) "Interact with TidalCycles for live coding patterns" single ((:commit . "ddb3b073c3b9e1a5a4856c61d961dd32f2291235") (:authors (nil . "alex@slab.org")) (:maintainer nil . "alex@slab.org") (:keywords "tools") (:url . "https://github.com/tidalcycles/Tidal"))]) + (tide . [(20220514 614) ((emacs (25 1)) (dash (2 10 0)) (s (1 11 0)) (flycheck (27)) (typescript-mode (0 1)) (cl-lib (0 5))) "Typescript Interactive Development Environment" tar ((:commit . "4cf6a0d89da7f946565a425a632ee2410a40c7da") (:authors ("Anantha kumaran" . "ananthakumaran@gmail.com")) (:maintainer "Anantha kumaran" . "ananthakumaran@gmail.com") (:keywords "typescript") (:url . "http://github.com/ananthakumaran/tide"))]) + (tikz . [(20220526 521) ((emacs (24 1))) "A minor mode to edit TikZ pictures" tar ((:commit . "4b205afc5c88f050639135d1d57f1276db323842") (:authors ("Emilio Torres-Manzanera" . "torres@uniovi.es")) (:maintainer "Emilio Torres-Manzanera" . "torres@uniovi.es") (:keywords "tex") (:url . "https://github.com/emiliotorres/tikz"))]) (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") (:authors ("Ivan Malison" . "IvanMalison@gmail.com")) (:maintainer "Ivan Malison" . "IvanMalison@gmail.com") (:keywords "tile" "tiling" "window" "manager" "dynamic" "frames") (:url . "https://github.com/IvanMalison/tile"))]) (time-ext . [(20170126 1215) nil "more function for time/date" single ((:commit . "d128becf660fe3f30178eb1b05cd266741f4784a") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "lisp") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/time-ext.el"))]) (timecop . [(20160520 1052) ((cl-lib (0 5)) (datetime-format (0 0 1))) "Freeze Time for testing" single ((:commit . "e6427538b547cbe02e1bd6ed4b765c73620bdae8") (:authors ("USAMI Kenta" . "tadsan@zonu.me")) (:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:keywords "datetime" "testing") (:url . "https://github.com/zonuexe/emacs-datetime"))]) @@ -4694,35 +4760,36 @@ (timesheet . [(20191024 151) ((s (1)) (org (7)) (auctex (11))) "Timesheet management add-on for org-mode" tar ((:commit . "5098dc87d3d4f289b6c1b6532070dacbfe6de9fd") (:authors ("Tom Marble")) (:maintainer "Tom Marble") (:keywords "org" "timesheet") (:url . "https://github.com/tmarble/timesheet.el"))]) (timonier . [(20170411 800) ((emacs (24 4)) (s (1 11 0)) (f (0 19 0)) (dash (2 12 0)) (pkg-info (0 5 0)) (hydra (0 13 6)) (request (0 2 0)) (all-the-icons (2 0 0))) "Manage Kubernetes Applications" tar ((:commit . "0a150ea87bf695b43cf1740dfd7e553e0ae7601c") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "kubernetes" "docker") (:url . "https://github.com/nlamirault/timonier"))]) (timp . [(20160618 803) ((emacs (24 4)) (cl-lib (0 5)) (fifo-class (1 0)) (signal (1 0))) "Multithreading library" tar ((:commit . "66b21934b1eb8ee428c06dd64b3562ad44776a35") (:authors ("Mola-T" . "Mola@molamola.xyz")) (:maintainer "Mola-T" . "Mola@molamola.xyz") (:keywords "internal" "lisp" "processes" "tools") (:url . "https://github.com/mola-T/timp"))]) - (timu-spacegrey-theme . [(20220415 2237) ((emacs (25 1))) "Color theme inspired by the Spacegray theme in Sublime Text" single ((:commit . "ae853fd88557ec0918e117deb093356f918921e5") (:authors ("Aimé Bertrand" . "aime.bertrand@macowners.club")) (:maintainer "Aimé Bertrand" . "aime.bertrand@macowners.club") (:keywords "faces" "themes") (:url . "https://gitlab.com/aimebertrand/timu-spacegrey-theme"))]) + (timu-rouge-theme . [(20220525 1239) ((emacs (27 1))) "Color theme inspired by the Rouge Theme for VSCode" single ((:commit . "5c6f406bf5815e6b72b09093b651b09c7c6769fc") (:authors ("Aimé Bertrand" . "aime.bertrand@macowners.club")) (:maintainer "Aimé Bertrand" . "aime.bertrand@macowners.club") (:keywords "faces" "themes") (:url . "https://gitlab.com/aimebertrand/timu-rouge-theme"))]) + (timu-spacegrey-theme . [(20220604 1042) ((emacs (25 1))) "Color theme inspired by the Spacegray theme in Sublime Text" single ((:commit . "1051753f371535c0af2008a372a456b3769c7f69") (:authors ("Aimé Bertrand" . "aime.bertrand@macowners.club")) (:maintainer "Aimé Bertrand" . "aime.bertrand@macowners.club") (:keywords "faces" "themes") (:url . "https://gitlab.com/aimebertrand/timu-spacegrey-theme"))]) (tinkerer . [(20200914 1756) ((s (1 2 0))) "Elisp wrapper for Tinkerer Blogging Engine." single ((:commit . "7cedeb264a44cd62bcd9c778dca52316d09e07e5") (:authors ("Yagnesh Raghava Yakkala" . "hi@yagnesh.org")) (:maintainer "Yagnesh Raghava Yakkala" . "hi@yagnesh.org") (:keywords "tinkerer" "blog" "wrapper") (:url . "https://github.com/yyr/tinkerer.el"))]) (tiny . [(20190722 1212) nil "Quickly generate linear ranges in Emacs" single ((:commit . "fd8a6b0b0c564d8242259e20e557ee6041f40908") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "convenience") (:url . "https://github.com/abo-abo/tiny"))]) - (tiny-menu . [(20161213 1235) ((emacs (24 4))) "Display tiny menus." single ((:commit . "05563b94537b6eb22aeddedef2a6e59e3f88d073") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:keywords "menu" "tools") (:url . "https://github.com/aaronbieber/tiny-menu.el"))]) + (tiny-menu . [(20220725 1748) ((emacs (24 4))) "Display tiny menus." single ((:commit . "17eacfd1d44cd4d5482d32eac63229230c3cd3fc") (:authors ("Aaron Bieber" . "aaron@aaronbieber.com")) (:maintainer "Aaron Bieber" . "aaron@aaronbieber.com") (:keywords "menu" "tools") (:url . "https://github.com/aaronbieber/tiny-menu.el"))]) (tinypng . [(20200306 911) ((emacs (25 1))) "Compress PNG and JPEG with TinyPNG.com API" single ((:commit . "f7632e073ce13ef5ce30ae5584cb482a8bb9ffff") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "multimedia") (:url . "https://github.com/xuchunyang/tinypng.el"))]) (tinysegmenter . [(20141124 1013) ((cl-lib (0 5))) "Super compact Japanese tokenizer in Javascript ported to emacs lisp" single ((:commit . "872134704bd25c13a4c59552433da4c6881b5230") (:authors ("lugecy" . "lugecy@gmail.com")) (:maintainer "myuhe") (:keywords "convenience") (:url . "https://github.com/myuhe/tinysegmenter.el"))]) - (titlecase . [(20220227 1900) ((emacs (25 1))) "Title-case phrases" tar ((:commit . "157b2943f4aa5745d64c77c1ac4b76ce6e60c47b") (:authors ("Case Duckworth" . "acdw@acdw.net")) (:maintainer "Case Duckworth" . "acdw@acdw.net") (:url . "https://github.com/duckwork/titlecase.el"))]) + (titlecase . [(20220728 2253) ((emacs (25 1))) "Title-case phrases" tar ((:commit . "1fc48a505a0bf7d0e8b1bb25425993212576a3ef") (:authors ("Case Duckworth" . "acdw@acdw.net")) (:maintainer "Case Duckworth" . "acdw@acdw.net") (:url . "https://codeberg.org/acdw/titlecase.el"))]) (tj3-mode . [(20180519 1228) nil "major mode for editing TaskJuggler 3 files" single ((:commit . "1d98eb23f1606392f34ef1b80517cfc940fb9950") (:authors ("Christophe Rhodes" . "christophe@rhodes.io")) (:maintainer "Christophe Rhodes" . "christophe@rhodes.io") (:url . "https://github.com/csrhodes/tj3-mode"))]) (tldr . [(20210921 1715) ((emacs (24 3))) "tldr client for Emacs" single ((:commit . "d3fd2a809a266c005915026799121c78e8b358f0") (:authors ("Ono Hiroko" . "azazabc123@gmail.com")) (:maintainer "Ono Hiroko" . "azazabc123@gmail.com") (:keywords "tools" "docs") (:url . "https://github.com/kuanyui/tldr.el"))]) (tmmofl . [(20121025 1101) nil "Calls functions dependant on font lock highlighting at point" single ((:commit . "532aa6978e994e2b069ffe37aaf9a0011a07dadc") (:authors ("Phillip Lord" . "p.lord@hgmp.mrc.ac.uk")) (:maintainer "Phillip Lord" . "p.lord@hgmp.mrc.ac.uk") (:keywords "minor mode" "font lock" "toggling."))]) (tmux-pane . [(20200730 520) ((names (0 5)) (emacs (24)) (s (0))) "Provide integration between emacs window and tmux pane" single ((:commit . "92f67c6d270c7c923edcde81a235ed0b49a61a70") (:keywords "convenience" "terminals" "tmux" "window" "pane" "navigation" "integration") (:url . "https://github.com/laishulu/emacs-tmux-pane"))]) - (toc-mode . [(20211229 1334) ((emacs (26 1))) "Manage outlines/table of contents of pdf and djvu documents" single ((:commit . "4c9ce0f54d1e3e0c7c75c7f3c2d9a4d50287ca18") (:authors ("Daniel Laurens Nicolai" . "dalanicolai@gmail.com")) (:maintainer "Daniel Laurens Nicolai" . "dalanicolai@gmail.com") (:keywords "tools" "outlines" "convenience") (:url . "https://github.com/dalanicolai/toc-mode"))]) + (toc-mode . [(20220723 1725) ((emacs (26 1))) "Manage outlines/table of contents of pdf and djvu documents" single ((:commit . "0671d11654db7f7f33d023006d0d2f3d60e85147") (:authors ("Daniel Laurens Nicolai" . "dalanicolai@gmail.com")) (:maintainer "Daniel Laurens Nicolai" . "dalanicolai@gmail.com") (:keywords "tools" "outlines" "convenience") (:url . "https://github.com/dalanicolai/toc-mode"))]) (toc-org . [(20220110 1452) nil "add table of contents to org-mode files (formerly, org-toc)" single ((:commit . "bf2e4b358efbd860ecafe6e74776de0885d9d100") (:authors ("Sergei Nosov ")) (:maintainer "Sergei Nosov ") (:keywords "org-mode" "org-toc" "toc-org" "org" "toc" "table" "of" "contents") (:url . "https://github.com/snosov1/toc-org"))]) - (todoist . [(20220412 2337) ((dash (2 15 0)) (transient (0 1 0)) (org (8 3 5)) (emacs (25 3))) "Extension for interacting and managing todoist tasks" single ((:commit . "f6906be346073f082a6d1f9ae14932ec2bfd99f5") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "todoist" "task" "todo" "comm") (:url . "https://github.com/abrochard/emacs-todoist"))]) + (todoist . [(20220517 1814) ((dash (2 15 0)) (transient (0 1 0)) (org (8 3 5)) (emacs (25 3))) "Extension for interacting and managing todoist tasks" single ((:commit . "f9ec1e730705f1fc8888f11a2b4ef1a4907e2f0b") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "todoist" "task" "todo" "comm") (:url . "https://github.com/abrochard/emacs-todoist"))]) (todotxt . [(20220204 1903) nil "A major mode for editing todo.txt files" single ((:commit . "ddb25fb931b4bbc1af14c4c712d412af454794c4") (:authors ("Rick Dillon" . "rpdillon@killring.org")) (:maintainer "Rick Dillon" . "rpdillon@killring.org") (:keywords "todo.txt" "todotxt" "todotxt.el") (:url . "https://github.com/rpdillon/todotxt.el"))]) (todotxt-mode . [(20200228 952) nil "Major mode for editing todo.txt files" single ((:commit . "8b616ce1cf3e18a60757450a0acf22996abb9b79") (:authors ("Adolfo Villafiorita" . "adolfo.villafiorita@me.com")) (:maintainer "Adolfo Villafiorita" . "adolfo.villafiorita@me.com") (:keywords "wp" "files"))]) (togetherly . [(20170426 616) ((cl-lib (0 3))) "allow multiple clients to edit a single buffer online" single ((:commit . "a6491bd5dd84f2aded0cd112ff06ae76ff78dfeb") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) - (toggle . [(20180316 3) ((cl-lib (0 5))) "quickly open corresponding file (eg test vs impl)." single ((:commit . "09166f32d3ece2b297da036f0abbeba63329580e") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:keywords "files" "extensions" "convenience"))]) + (toggle . [(20180316 3) ((cl-lib (0 5))) "quickly open corresponding file (eg test vs impl)." single ((:commit . "7725c08f00a463ba7210efcb759c934223c85b00") (:authors ("Ryan Davis" . "ryand-ruby@zenspider.com")) (:maintainer "Ryan Davis" . "ryand-ruby@zenspider.com") (:keywords "files" "extensions" "convenience"))]) (toggle-quotes . [(20140710 926) nil "Toggle between single and double quoted string" single ((:commit . "33abc221d6887f0518337851318065cd86c34b03") (:authors ("Jim Tian" . "tianjin.sc@gmail.com")) (:maintainer "Jim Tian" . "tianjin.sc@gmail.com") (:keywords "convenience" "quotes") (:url . "https://github.com/toctan/toggle-quotes.el"))]) (toggle-test . [(20140723 537) nil "Toggle between source and test files in various programming languages" single ((:commit . "e969321f274903d705995a7d0345a257576ec5ff") (:authors ("Raghunandan Rao" . "r.raghunandan@gmail.com")) (:maintainer "Raghunandan Rao" . "r.raghunandan@gmail.com") (:keywords "tdd" "test" "toggle" "productivity") (:url . "https://github.com/rags/toggle-test"))]) (toggle-window . [(20141207 1548) nil "toggle current window size between half and full" single ((:commit . "e82c60e543933880402ede11e9423e48a17dde53") (:authors ("Kenny Liu")) (:maintainer "Kenny Liu") (:keywords "hide" "window") (:url . "https://github.com/deadghost/toggle-window"))]) - (tok-theme . [(20220424 1852) ((emacs (26 1))) "Minimal theme with light and yellow color scheme" single ((:commit . "f0bdc2aa4c6f1e463a3027a5e194f6dab3d0fda6") (:authors ("Topi Kettunen" . "topi@topikettunen.com")) (:maintainer "Topi Kettunen" . "topi@topikettunen.com") (:url . "https://github.com/topikettunen/tok-theme"))]) + (tok-theme . [(20220718 1215) ((emacs (26 1))) "Comfy light theme" single ((:commit . "f6d036b3213f277b0da86eb0e0f333f469eca643") (:authors ("Topi Kettunen" . "topi@topikettunen.com")) (:maintainer "Topi Kettunen" . "topi@topikettunen.com") (:url . "https://github.com/topikettunen/tok-theme"))]) (tokei . [(20220422 2234) ((emacs (27 1)) (magit-section (3 3 0))) "Display codebase statistics" single ((:commit . "181021cd881eecd604a546d4a717866a81c7a511") (:authors ("Daniel Nagy ")) (:maintainer "Daniel Nagy" . "danielnagy@posteo.de") (:url . "https://github.com/nagy/tokei.el"))]) (tomatinho . [(20180621 1748) nil "Simple and beautiful pomodoro timer" tar ((:commit . "b53354b9b9f496c0388d6a573b06b7d6fc53d0bd") (:authors ("Konrad Scorciapino" . "scorciapino@gmail.com")) (:maintainer "Konrad Scorciapino" . "scorciapino@gmail.com") (:keywords "time" "productivity" "pomodoro technique"))]) (toml . [(20130903 1255) nil "TOML (Tom's Obvious, Minimal Language) parser" single ((:commit . "994644f9e68c383071eeee23389a7989b228c2d2") (:authors ("Wataru MIYAGUNI" . "gonngo@gmail.com")) (:maintainer "Wataru MIYAGUNI" . "gonngo@gmail.com") (:keywords "toml" "parser") (:url . "https://github.com/gongo/emacs-toml"))]) (toml-mode . [(20161107 1800) ((emacs (24)) (cl-lib (0 5))) "Major mode for editing TOML files" single ((:commit . "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06") (:authors ("Felix Chern" . "idryman@gmail.com")) (:maintainer "Felix Chern" . "idryman@gmail.com") (:keywords "data" "toml") (:url . "https://github.com/dryman/toml-mode.el"))]) (tommyh-theme . [(20131004 2330) nil "A bright, bold-colored theme for emacs" single ((:commit . "46d1c69ee0a1ca7c67b569b891a2f28fed89e7d5") (:authors ("William Glass" . "william.glass@gmail.com")) (:maintainer "William Glass" . "william.glass@gmail.com"))]) (tongbu . [(20200414 507) ((emacs (25 1)) (web-server (0 1 2))) "A web server to share text or files between two devices" single ((:commit . "6f6e5c5446f0c5735357ab520b249ab97295653e") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "tools") (:url . "https://github.com/xuchunyang/tongbu.el"))]) - (topspace . [(20220419 2323) ((emacs (25 1))) "Scroll down & recenter top lines / get upper margins/padding" single ((:commit . "d346f7b5e0d19fe6b945bbfe64a18543f70b31e1") (:authors ("Trevor Edwin Pogue" . "trevor.pogue@gmail.com")) (:maintainer "Trevor Edwin Pogue" . "trevor.pogue@gmail.com") (:keywords "convenience" "scrolling" "center" "cursor" "margin" "padding") (:url . "https://github.com/trevorpogue/topspace"))]) + (topspace . [(20220803 2258) ((emacs (25 1))) "Recenter line 1 with scrollable upper margin/padding" single ((:commit . "fa67b67e1ae41adb44de0e5180a6cab922da6bb0") (:authors ("Trevor Edwin Pogue" . "trevor.pogue@gmail.com")) (:maintainer "Trevor Edwin Pogue" . "trevor.pogue@gmail.com") (:keywords "convenience" "scrolling" "center" "cursor" "margin" "padding") (:url . "https://github.com/trevorpogue/topspace"))]) (topsy . [(20210831 133) ((emacs (26 3))) "Simple sticky header" single ((:commit . "8ae0976dfdbe4461c33ed44cf1dedc2c903b0bb0") (:authors ("Adam Porter" . "adam@alphapapa.net")) (:maintainer "Adam Porter" . "adam@alphapapa.net") (:keywords "convenience") (:url . "https://github.com/alphapapa/topsy.el"))]) (tornado-template-mode . [(20141128 1008) nil "A major mode for editing tornado templates" single ((:commit . "667c0663dbbd279b6c345446b9f2bc50eb52b747") (:authors ("Florian Mounier aka paradoxxxzero")) (:maintainer "Florian Mounier aka paradoxxxzero"))]) (torus . [(20190325 753) ((emacs (26))) "A buffer groups manager" single ((:commit . "b309da8c2eaee573a2e2572f25a08ce5da9e9990") (:authors ("Chimay")) (:maintainer "Chimay") (:keywords "files" "buffers" "groups" "persistent" "history" "layout" "tabs") (:url . "https://github.com/chimay/torus"))]) @@ -4732,45 +4799,47 @@ (tox . [(20160810 1555) nil "Launch current python test with tox" single ((:commit . "7655eb254038d5e34433e8a9d66b3ffc9c72e40c") (:authors ("Chmouel Boudjnah" . "chmouel@chmouel.com")) (:maintainer "Chmouel Boudjnah" . "chmouel@chmouel.com") (:keywords "convenience" "tox" "python" "tests") (:url . "https://github.com/chmouel/tox.el"))]) (toxi-theme . [(20160424 2126) ((emacs (24))) "A dark color theme by toxi" single ((:commit . "90c8828b91025adf5adc96011a35d25682991b8a") (:authors ("Karsten Schmidt" . "info@postspectacular.com")) (:maintainer "Karsten Schmidt" . "info@postspectacular.com") (:url . "http://bitbucket.org/postspectacular/toxi-theme/"))]) (tql-mode . [(20170724 254) ((emacs (24))) "TQL mode" single ((:commit . "488add79eb3fc8ec02aedaa997fe1ed9e5c3e638") (:authors ("Sean McLaughlin" . "seanmcl@gmail.com")) (:maintainer "Sean McLaughlin" . "seanmcl@gmail.com") (:keywords "languages" "tql"))]) - (tr-ime . [(20211120 718) ((emacs (27 1)) (w32-ime (0 0 1))) "Emulator of IME patch for Windows" tar ((:commit . "e6313639afb51d91efcc417bd0c81afd13bb079c") (:authors ("Masamichi Hosoda" . "trueroad@trueroad.jp")) (:maintainer "Masamichi Hosoda" . "trueroad@trueroad.jp") (:url . "https://github.com/trueroad/tr-emacs-ime-module"))]) + (tr-ime . [(20220604 1107) ((emacs (27 1)) (w32-ime (0 0 1))) "Emulator of IME patch for Windows" tar ((:commit . "87f0677220b755f947fe5f373b6a34e1afb82f3c") (:authors ("Masamichi Hosoda" . "trueroad@trueroad.jp")) (:maintainer "Masamichi Hosoda" . "trueroad@trueroad.jp") (:url . "https://github.com/trueroad/tr-emacs-ime-module"))]) (traad . [(20180730 48) ((dash (2 13 0)) (deferred (0 3 2)) (popup (0 5 0)) (request (0 2 0)) (request-deferred (0 2 0)) (virtualenvwrapper (20151123)) (f (0 20 0)) (bind-map (1 1 1))) "emacs interface to the traad refactoring server." single ((:commit . "98e23363b7e8a590a2f55976123a8c3da75c87a5") (:authors ("Austin Bingham" . "austin.bingham@gmail.com")) (:maintainer "Austin Bingham" . "austin.bingham@gmail.com") (:url . "https://github.com/abingham/traad"))]) - (tracking . [(20210713 1609) nil "Buffer modification tracking" tar ((:commit . "710f057fedae6e9b820cce9336fef24b7d057e4c") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/emacs-circe/circe/wiki/Tracking"))]) + (tracking . [(20210713 1609) nil "Buffer modification tracking" tar ((:commit . "41cdc116b09818d33f5cb0fc1d72c025c23aa2f1") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:url . "https://github.com/emacs-circe/circe/wiki/Tracking"))]) (tracwiki-mode . [(20150119 1621) ((xml-rpc (1 6 8))) "Emacs Major mode for working with Trac" single ((:commit . "6a620444d59b438f42383b48cd4c19c03105dba6") (:authors ("Matthew Erickson" . "peawee@peawee.net")) (:maintainer "Matthew Erickson" . "peawee@peawee.net") (:keywords "trac" "wiki" "tickets"))]) (tramp-auto-auth . [(20191027 1419) ((emacs (24 4)) (tramp (0 0))) "TRAMP automatic authentication library" single ((:commit . "f15a12dfab651aff60f4a9d70f868030a12344ac") (:authors ("Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org")) (:maintainer "Bruno Félix Rezende Ribeiro" . "oitofelix@gnu.org") (:keywords "comm" "processes") (:url . "https://github.com/oitofelix/tramp-auto-auth"))]) (tramp-hdfs . [(20210526 339) ((emacs (24 4))) "Tramp extension to access hadoop/hdfs file system in Emacs" single ((:commit . "aa93bdbb3d5619c262ce53af1981edcd2a0705e5") (:authors ("Raghav Kumar Gautam" . "raghav@apache.org")) (:maintainer "Raghav Kumar Gautam" . "raghav@apache.org") (:keywords "tramp" "emacs" "hdfs" "hadoop" "webhdfs" "rest"))]) - (tramp-term . [(20220412 1546) nil "Automatic setup of directory tracking in ssh sessions" single ((:commit . "e2e5375a444d4eb5d144bef12e066c02befd1352") (:authors ("Randy Morris" . "randy.morris@archlinux.us")) (:maintainer "Randy Morris" . "randy.morris@archlinux.us") (:keywords "comm" "terminals") (:url . "https://github.com/randymorris/tramp-term.el"))]) + (tramp-term . [(20220725 1441) nil "Automatic setup of directory tracking in ssh sessions" single ((:commit . "ed75189122737d301f716a30a8013205aa3736f1") (:authors ("Randy Morris" . "randy.morris@archlinux.us")) (:maintainer "Randy Morris" . "randy.morris@archlinux.us") (:keywords "comm" "terminals") (:url . "https://github.com/randymorris/tramp-term.el"))]) (transfer-sh . [(20200601 1708) ((emacs (24 3)) (async (1 0))) "Simple interface for sending buffer contents to transfer.sh" single ((:commit . "0621a66d00ec91a209a542c10b158095088bd44d") (:keywords "comm" "convenience" "files") (:url . "https://gitlab.com/tuedachu/transfer-sh.el"))]) - (transient . [(20220425 1314) ((emacs (25 1)) (compat (28 1 1 0))) "Transient commands" tar ((:commit . "84f2d12ef31ec74c85e616283926780532fed13f") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "extensions") (:url . "https://github.com/magit/transient"))]) + (transient . [(20220803 1000) ((emacs (25 1)) (compat (28 1 1 0))) "Transient commands" tar ((:commit . "389d2bffff1d7ada561688861ca67b7a360cf352") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "extensions") (:url . "https://github.com/magit/transient"))]) (transient-dwim . [(20220425 1331) ((emacs (26 1)) (transient (0 1))) "Useful preset transient commands" single ((:commit . "7b6e70fb49b9d18106748202011863ebc39b864a") (:authors ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Naoya Yamashita" . "conao3@gmail.com") (:keywords "tools") (:url . "https://github.com/conao3/transient-dwim.el"))]) (transient-posframe . [(20210102 130) ((emacs (26 0)) (posframe (0 4 3)) (transient (0 2 0))) "Using posframe to show transient" single ((:commit . "dcd898d1d35183a7d4f2c8f0ebcb43b4f8e70ebe") (:authors ("Yanghao Xie")) (:maintainer "Yanghao Xie" . "yhaoxie@gmail.com") (:keywords "convenience" "bindings" "tooltip") (:url . "https://github.com/yanghaoxie/transient-posframe"))]) - (translate-mode . [(20220402 853) ((emacs (24 3))) "Paragraph-oriented side-by-side doc translation workflow" single ((:commit . "fb73b3d928a8011a21402e2c14aa4aab56bd05ae") (:authors ("Ray Wang" . "rayw.public@gmail.com")) (:maintainer "Ray Wang" . "rayw.public@gmail.com") (:keywords "translate" "convenience" "editing") (:url . "https://github.com/rayw000/translate-mode"))]) + (translate-mode . [(20220511 1357) ((emacs (24 3))) "Paragraph-oriented side-by-side doc translation workflow" single ((:commit . "e1940b333241a4d0c224b7b875962736ca2b693b") (:authors ("Ray Wang" . "rayw.public@gmail.com")) (:maintainer "Ray Wang" . "rayw.public@gmail.com") (:keywords "translate" "convenience" "editing") (:url . "https://github.com/rayw000/translate-mode"))]) (transmission . [(20210705 2152) ((emacs (24 4)) (let-alist (1 0 5))) "Interface to a Transmission session" single ((:commit . "a03a6f5c7b133e0a37896b6d993dd6d6d4532cc2") (:authors ("Mark Oteiza" . "mvoteiza@udel.edu")) (:maintainer "Mark Oteiza" . "mvoteiza@udel.edu") (:keywords "comm" "tools"))]) (transpose-frame . [(20200307 2119) nil "Transpose windows arrangement in a frame" single ((:commit . "12e523d70ff78cc8868097b56120848befab5dbc") (:authors ("S. Irie")) (:maintainer "S. Irie") (:keywords "window"))]) (transpose-mark . [(20150405 716) nil "Transpose data using the Emacs mark" single ((:commit . "667327602004794de97214cf336ac61650ef75b7") (:authors ("Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com")) (:maintainer "Kevin W. van Rooijen" . "kevin.van.rooijen@attichacker.com") (:keywords "transpose" "convenience"))]) - (transwin . [(20200910 1636) ((emacs (24 3))) "Make window/frame transparent" single ((:commit . "bd8af2c1ef560183d5d99e030cb56f05b30a9715") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/transwin"))]) + (transwin . [(20220704 640) ((emacs (24 3))) "Make window/frame transparent" single ((:commit . "9f3c5ef4029f992fe94b70d54b8d00f0a4cbce1c") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "frames" "window" "transparent") (:url . "https://github.com/jcs-elpa/transwin"))]) (trashed . [(20220106 1358) ((emacs (25 1))) "Viewing/editing system trash can" single ((:commit . "ddf5830730544435a068f2dc9ac75a81ea69df1d") (:authors ("Shingo Tanaka" . "shingo.fg8@gmail.com")) (:maintainer "Shingo Tanaka" . "shingo.fg8@gmail.com") (:keywords "files" "convenience" "unix") (:url . "https://github.com/shingo256/trashed"))]) (travis . [(20150825 1138) ((s (1 9 0)) (dash (2 9 0)) (pkg-info (0 5 0)) (request (0 1 0))) "Emacs client for Travis" tar ((:commit . "754ef07c17fed17ab03664ad11e2b0b2ef5e78ed") (:authors ("Nicolas Lamirault" . "nicolas.lamirault@gmail.com")) (:maintainer "Nicolas Lamirault" . "nicolas.lamirault@gmail.com") (:keywords "travis") (:url . "https://github.com/nlamirault/emacs-travis"))]) - (tray . [(20220422 1628) ((emacs (27 1)) (compat (28 1 1 0)) (transient (0 3 0))) "Various transient menus" single ((:commit . "7c70d499d08321337f860a3cd59cba7296cfcace") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://git.sr.ht/~tarsius/tray"))]) - (tree-edit . [(20220407 1629) ((emacs (27 1)) (tree-sitter (0 15 0)) (tsc (0 15 0)) (tree-sitter-langs (0 10 0)) (dash (2 19)) (reazon (0 4 0)) (s (0 0 0))) "A library for structural refactoring and editing" tar ((:commit . "774a1e9598617f334fcd31aa606c5e738012fb60") (:authors ("Ethan Leba" . "ethanleba5@gmail.com")) (:maintainer "Ethan Leba" . "ethanleba5@gmail.com") (:url . "https://github.com/ethan-leba/tree-edit"))]) + (tray . [(20220422 1628) ((emacs (27 1)) (compat (28 1 1 0)) (transient (0 3 0))) "Various transient menus" single ((:commit . "1292530acd05956a2f1bd19c94ef6ab59f05ad8a") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "convenience") (:url . "https://git.sr.ht/~tarsius/tray"))]) + (tree-edit . [(20220407 1629) ((emacs (27 1)) (tree-sitter (0 15 0)) (tsc (0 15 0)) (tree-sitter-langs (0 10 0)) (dash (2 19)) (reazon (0 4 0)) (s (0 0 0))) "A library for structural refactoring and editing" tar ((:commit . "eafee31ca4f532a9dbee326d3ec3bdd1e997223b") (:authors ("Ethan Leba" . "ethanleba5@gmail.com")) (:maintainer "Ethan Leba" . "ethanleba5@gmail.com") (:url . "https://github.com/ethan-leba/tree-edit"))]) (tree-mode . [(20151104 1331) nil "A mode to manage tree widgets" single ((:commit . "b06078826d5875d74b0e7b7ac47b0d0917610534") (:authors (nil . "wenbinye@163.com")) (:maintainer nil . "wenbinye@163.com") (:keywords "help" "convenience" "widget"))]) (tree-sitter . [(20220212 1632) ((emacs (25 1)) (tsc (0 18 0))) "Incremental parsing system" tar ((:commit . "3cfab8a0e945db9b3df84437f27945746a43cc71") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:keywords "languages" "tools" "parsers" "tree-sitter") (:url . "https://github.com/emacs-tree-sitter/elisp-tree-sitter"))]) + (tree-sitter-ess-r . [(20220801 1453) ((emacs (26 1)) (ess (18 10 1)) (tree-sitter (0 12 1)) (tree-sitter-langs (0 12 0))) "R with tree-sitter" single ((:commit . "52fcf9a83dc3ec1cbd0b662794a59cfc23eaa204") (:authors ("Shuguang Sun" . "shuguang79@qq.com")) (:maintainer "Shuguang Sun" . "shuguang79@qq.com") (:keywords "tools") (:url . "https://github.com/ShuguangSun/tree-sitter-ess-r"))]) (tree-sitter-indent . [(20220411 1439) ((emacs (26 1)) (tree-sitter (0 12 1)) (seq (2 20))) "Provide indentation with a Tree-sitter backend" single ((:commit . "4ef246db3e4ff99f672fe5e4b416c890f885c09e") (:authors ("Felipe Lema" . "felipelema@mortemale.org")) (:maintainer "Felipe Lema" . "felipelema@mortemale.org") (:keywords "convenience" "internal") (:url . "https://codeberg.org/FelipeLema/tree-sitter-indent.el"))]) - (tree-sitter-langs . [(20220328 1344) ((emacs (25 1)) (tree-sitter (0 15 0))) "Grammar bundle for tree-sitter" tar ((:commit . "0dd5e56e2f5646aa51ed0fc9eb869a8f7090228a") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:keywords "languages" "tools" "parsers" "tree-sitter") (:url . "https://github.com/emacs-tree-sitter/tree-sitter-langs"))]) + (tree-sitter-ispell . [(20220704 340) ((emacs (25 1)) (tree-sitter (0 15 0))) "Run ispell on tree-sitter text nodes" single ((:commit . "2efe943dd62096a819b7c2d6b61c93a4f18aeb22") (:authors ("Erick Navarro" . "erick@navarro.io")) (:maintainer "Erick Navarro" . "erick@navarro.io") (:url . "https://github.com/erickgnavar/tree-sitter-ispell.el"))]) + (tree-sitter-langs . [(20220508 636) ((emacs (25 1)) (tree-sitter (0 15 0))) "Grammar bundle for tree-sitter" tar ((:commit . "deb2d8674be8f777ace50e15c7c041aeddb1d0b2") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:keywords "languages" "tools" "parsers" "tree-sitter") (:url . "https://github.com/emacs-tree-sitter/tree-sitter-langs"))]) (treefactor . [(20200516 1631) ((emacs (26 1)) (dash (2 16 0)) (f (0 20 0)) (org (9 2 6)) (avy (0 5 0))) "Restructure your messy Org documents" single ((:commit . "75357757022a4399ab772ff0d92065bd114dabe9") (:authors ("Leo Littlebook" . "Leo.Littlebook@gmail.com")) (:maintainer "Leo Littlebook" . "Leo.Littlebook@gmail.com") (:keywords "outlines" "files" "convenience") (:url . "https://github.com/cyberthal/treefactor"))]) - (treemacs . [(20220425 1217) ((emacs (26 1)) (cl-lib (0 5)) (dash (2 11 0)) (s (1 12 0)) (ace-window (0 9 0)) (pfuture (1 7)) (hydra (0 13 2)) (ht (2 2)) (cfrs (1 3 2))) "A tree style file explorer package" tar ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-all-the-icons . [(20220425 1124) ((emacs (26 1)) (all-the-icons (4 0 1)) (treemacs (0 0))) "all-the-icons integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Eric Dallo" . "ercdll1337@gmail.com")) (:maintainer "Eric Dallo" . "ercdll1337@gmail.com") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-evil . [(20211019 1654) ((emacs (26 1)) (evil (1 2 12)) (treemacs (0 0))) "Evil mode integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-icons-dired . [(20211229 1448) ((treemacs (0 0)) (emacs (26 1))) "Treemacs icons for dired" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-magit . [(20211010 1005) ((emacs (26 1)) (treemacs (0 0)) (pfuture (1 3)) (magit (2 90 0))) "Magit integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-persp . [(20220209 2117) ((emacs (26 1)) (treemacs (0 0)) (persp-mode (2 9 7)) (dash (2 11 0))) "Persp-mode integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-perspective . [(20220209 2117) ((emacs (26 1)) (treemacs (0 0)) (perspective (2 8)) (dash (2 11 0))) "Perspective integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de") ("Jason Dufair" . "jase@dufair.org")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-projectile . [(20211223 1454) ((emacs (26 1)) (projectile (0 14 0)) (treemacs (0 0))) "Projectile integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) - (treemacs-tab-bar . [(20220221 2038) ((emacs (27 1)) (treemacs (0 0)) (dash (2 11 0))) "Tab bar integration for treemacs" single ((:commit . "82ec575b759e68256b359edd8c491bf35f6a4751") (:authors ("Alexander Miller" . "alexanderm@web.de") ("Jason Dufair" . "jase@dufair.org") ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs . [(20220801 1910) ((emacs (26 1)) (cl-lib (0 5)) (dash (2 11 0)) (s (1 12 0)) (ace-window (0 9 0)) (pfuture (1 7)) (hydra (0 13 2)) (ht (2 2)) (cfrs (1 3 2))) "A tree style file explorer package" tar ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-all-the-icons . [(20220425 1124) ((emacs (26 1)) (all-the-icons (4 0 1)) (treemacs (0 0))) "all-the-icons integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Eric Dallo" . "ercdll1337@gmail.com")) (:maintainer "Eric Dallo" . "ercdll1337@gmail.com") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-evil . [(20220616 1202) ((emacs (26 1)) (evil (1 2 12)) (treemacs (0 0))) "Evil mode integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-icons-dired . [(20220622 801) ((treemacs (0 0)) (emacs (26 1))) "Treemacs icons for dired" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-magit . [(20220616 1202) ((emacs (26 1)) (treemacs (0 0)) (pfuture (1 3)) (magit (2 90 0))) "Magit integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-persp . [(20220209 2117) ((emacs (26 1)) (treemacs (0 0)) (persp-mode (2 9 7)) (dash (2 11 0))) "Persp-mode integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-perspective . [(20220209 2117) ((emacs (26 1)) (treemacs (0 0)) (perspective (2 8)) (dash (2 11 0))) "Perspective integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de") ("Jason Dufair" . "jase@dufair.org")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-projectile . [(20211223 1454) ((emacs (26 1)) (projectile (0 14 0)) (treemacs (0 0))) "Projectile integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) + (treemacs-tab-bar . [(20220221 2038) ((emacs (27 1)) (treemacs (0 0)) (dash (2 11 0))) "Tab bar integration for treemacs" single ((:commit . "39bc43bcd24afe206b96aa7364e8b6a0907984d3") (:authors ("Alexander Miller" . "alexanderm@web.de") ("Jason Dufair" . "jase@dufair.org") ("Aaron Jensen" . "aaronjensen@gmail.com")) (:maintainer "Alexander Miller" . "alexanderm@web.de") (:url . "https://github.com/Alexander-Miller/treemacs"))]) (treepy . [(20191108 2217) ((emacs (25 1))) "Generic tree traversal tools" single ((:commit . "3ac940e97f3d03e48ca9d7fcd74916a9b01c72f3") (:authors ("Daniel Barreto" . "daniel.barreto.n@gmail.com")) (:maintainer "Daniel Barreto" . "daniel.barreto.n@gmail.com") (:keywords "lisp" "maint" "tools") (:url . "https://github.com/volrath/treepy.el"))]) (treeview . [(20210723 2256) ((emacs (24 4))) "A generic tree navigation library" single ((:commit . "09c8c1d045c7c8eace61b10b6df9d2f9079de78e") (:authors ("Tilman Rassy" . "tilman.rassy@googlemail.com")) (:maintainer "Tilman Rassy" . "tilman.rassy@googlemail.com") (:keywords "lisp" "tools" "internal" "convenience") (:url . "https://github.com/tilmanrassy/emacs-treeview"))]) (trident-mode . [(20190410 2036) ((emacs (24)) (slime (20130526)) (skewer-mode (1 5 0)) (dash (1 0 3))) "Live Parenscript interaction" single ((:commit . "109a1bc10bd0c4b47679a6ca5c4cd27c7c8d4ccb") (:authors ("John Mastro" . "john.b.mastro@gmail.com")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com") (:keywords "languages" "lisp" "processes" "tools") (:url . "https://github.com/johnmastro/trident-mode.el"))]) (trinary . [(20180904 2313) ((emacs (24))) "Trinary logic." single ((:commit . "f7cbd4f9283dbb0528445a3ea6d3b291d97065f6") (:authors ("Matúš Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matúš Goljer" . "matus.goljer@gmail.com") (:keywords "languages") (:url . "https://github.com/Fuco1/trinary-logic"))]) - (tron-legacy-theme . [(20220312 1645) nil "An original retro-futuristic theme inspired by Tron: Legacy" single ((:commit . "d775d9f348a942230ea57b6520e1eb56a5d67569") (:authors ("Ian Y.E. Pan")) (:maintainer "Ian Y.E. Pan") (:url . "https://github.com/ianpan870102/tron-legacy-emacs-theme"))]) + (tron-legacy-theme . [(20220610 1746) nil "An original retro-futuristic theme inspired by Tron: Legacy" single ((:commit . "72655ce5ea0580cc23966821d2813e4d5e961f93") (:authors ("Ian Y.E. Pan")) (:maintainer "Ian Y.E. Pan") (:url . "https://github.com/ianpan870102/tron-legacy-emacs-theme"))]) (trr . [(20191019 1403) nil "a type-writing training program on GNU Emacs." tar ((:commit . "f841173e11213ac6916b2d3394b28fb202543871") (: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") (:keywords "games" "faces"))]) (truthy . [(20140508 2041) ((list-utils (0 4 2))) "Test the content of a value" single ((:commit . "8ed8d07772aa8457554547eb17e264b5df2b4a69") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/truthy"))]) (try . [(20181204 236) ((emacs (24))) "Try out Emacs packages." single ((:commit . "8831ded1784df43a2bd56c25ad3d0650cdb9df1d") (:authors ("Lars Tveito" . "larstvei@ifi.uio.no")) (:maintainer "Lars Tveito" . "larstvei@ifi.uio.no") (:keywords "packages") (:url . "http://github.com/larstvei/try"))]) @@ -4779,8 +4848,9 @@ (tsc . [(20220212 1632) ((emacs (25 1))) "Core Tree-sitter APIs" tar ((:commit . "3cfab8a0e945db9b3df84437f27945746a43cc71") (:authors ("Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") ("Jorge Javier Araya Navarro" . "jorgejavieran@yahoo.com.mx")) (:maintainer "Tuấn-Anh Nguyễn" . "ubolonton@gmail.com") (:keywords "languages" "tools" "parsers" "dynamic-modules" "tree-sitter") (:url . "https://github.com/emacs-tree-sitter/elisp-tree-sitter"))]) (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") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "typescript" "completion") (:url . "https://github.com/aki2o/emacs-tss"))]) (tt-mode . [(20130804 1110) nil "Emacs major mode for editing Template Toolkit files." single ((:commit . "85ed3832e7eef391f7879d9990d59c7a3493c15e") (:authors ("Dave Cross" . "dave@dave.org.uk")) (:maintainer "Dave Cross" . "dave@dave.org.uk"))]) - (tuareg . [(20220104 2039) ((emacs (24 4)) (caml (4 8))) "OCaml mode" tar ((:commit . "04f5ab6be9ae1c594bab359819dbaf708ae57fda") (: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 "Christophe Troestler" . "Christophe.Troestler@umons.ac.be") (:keywords "ocaml" "languages") (:url . "https://github.com/ocaml/tuareg"))]) - (tubestatus . [(20220303 1736) ((emacs (26 1)) (request (0 3 2))) "Get the London Tube service status" single ((:commit . "c81373f1bc32cbd2e2d642ee10ee1cb31915acb0") (:authors ("Matthieu Petiteau" . "matt@smallwat3r.com")) (:maintainer "Matthieu Petiteau" . "matt@smallwat3r.com") (:url . "https://github.com/smallwat3r/tubestatus.el"))]) + (ttl-mode . [(20170920 1329) nil "mode for Turtle (and Notation 3)" single ((:commit . "8aa647178942c9be58e5c9cea1e6ede30c8fd562"))]) + (tuareg . [(20220719 148) ((emacs (24 4)) (caml (4 8))) "OCaml mode" tar ((:commit . "ad8a688b7e2aeeafc320a845f86cdd9aa7c971ce") (: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 "Christophe Troestler" . "Christophe.Troestler@umons.ac.be") (:keywords "ocaml" "languages") (:url . "https://github.com/ocaml/tuareg"))]) + (tubestatus . [(20220620 2028) ((emacs (26 1)) (request (0 3 2))) "Get the London Tube service status" single ((:commit . "bf722d441ff96ff8fac6c8d2a798e283fef5613b") (:authors ("Matthieu Petiteau" . "matt@smallwat3r.com")) (:maintainer "Matthieu Petiteau" . "matt@smallwat3r.com") (:url . "https://github.com/smallwat3r/tubestatus.el"))]) (tumble . [(20160112 729) ((http-post-simple (0)) (cl-lib (0 5))) "an Tumblr mode for Emacs" single ((:commit . "e8fd7643cccf2b6ea4170f0c5f1f87d007e7fa00") (:authors ("Federico Builes" . "federico.builes@gmail.com")) (:maintainer "Federico Builes" . "federico.builes@gmail.com") (:keywords "tumblr"))]) (tumblesocks . [(20191014 356) ((htmlize (1 39)) (oauth (1 0 3)) (markdown-mode (1 8 1))) "An Emacs tumblr client." tar ((:commit . "0e4c3847e31a59d405b9927107a23dde9531d744") (:authors ("gcr" . "gcr@sneakygcr.net")) (:maintainer "gcr" . "gcr@sneakygcr.net") (:url . "http://github.com/gcr/tumblesocks"))]) (turing-machine . [(20180222 438) ((emacs (24 4))) "Single-tape Turing machine simulator" single ((:commit . "fa60b76a5bac1f54b7a1b3dc55aae7602c7e385b") (:authors ("Diego A. Mundo" . "diegoamundo@gmail.com")) (:maintainer "Diego A. Mundo" . "diegoamundo@gmail.com") (:keywords "turing" "machine" "simulation") (:url . "http://github.com/therockmandolinist/turing-machine"))]) @@ -4792,13 +4862,14 @@ (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"))]) (twitch-api . [(20220420 1547) ((emacs (27 1)) (dash (2 19 0))) "An elisp interface for the Twitch.tv API" single ((:commit . "181681097d1fc8d7b78928f8a5b38c61d0e20ef5") (:keywords "multimedia" "twitch-api") (:url . "https://github.com/BenediktBroich/twitch-api"))]) (twittering-mode . [(20181121 1402) nil "Major mode for Twitter" single ((:commit . "114891e8fdb4f06b1326a6cf795e49c205cf9e29") (: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") (:keywords "twitter" "web") (:url . "http://twmode.sf.net/"))]) - (typescript-mode . [(20220223 1506) ((emacs (24 3))) "Major mode for editing typescript" tar ((:commit . "188350c222e68bb5c73a914738223a8c73299cfc") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))]) + (twtxt . [(20220628 309) ((emacs (25 1)) (request (0 2 0))) "A twtxt client for Emacs" single ((:commit . "eb9efa19086fcae343353f6a5e88c3377fd06dd4") (:authors ("DEADBLACKCLOVER" . "deadblackclover@protonmail.com")) (:maintainer "DEADBLACKCLOVER" . "deadblackclover@protonmail.com") (:url . "https://github.com/deadblackclover/twtxt-el"))]) + (typescript-mode . [(20220730 1035) ((emacs (24 3))) "Major mode for editing typescript" tar ((:commit . "acd8d7995204c1faf14383b8236e57f4da380ecf") (:keywords "typescript" "languages") (:url . "http://github.com/ananthakumaran/typescript.el"))]) (typing . [(20180830 2203) nil "The Typing Of Emacs" single ((:commit . "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa") (:authors ("Alex Schroeder" . "alex@gnu.org")) (:maintainer "Alex Schroeder" . "alex@gnu.org") (:keywords "games") (:url . "http://www.emacswiki.org/emacs/TypingOfEmacs"))]) (typing-game . [(20160426 1220) nil "a simple typing game" single ((:commit . "616435a5270274f4c7b698697674dbb2039049a4") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "lisp" "game"))]) - (typit . [(20220106 1722) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "61dba759f8178550bc067a360c42ce1089e99a66") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "games") (:url . "https://github.com/mrkkrp/typit"))]) + (typit . [(20220616 2033) ((emacs (24 4)) (f (0 18)) (mmt (0 1 1))) "Typing game similar to tests on 10 fast fingers" tar ((:commit . "eb67151f0693103bd7ef09a4a121c0f18b53c395") (:authors ("Mark Karpov" . "markkarpov92@gmail.com")) (:maintainer "Mark Karpov" . "markkarpov92@gmail.com") (:keywords "games") (:url . "https://github.com/mrkkrp/typit"))]) (typo . [(20200706 1714) nil "Minor mode for typographic editing" single ((:commit . "173ebe4fc7ac38f344b16e6eaf41f79e38f20d57") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:keywords "convenience" "wp") (:url . "https://github.com/jorgenschaefer/typoel"))]) (typo-suggest . [(20200830 1143) ((emacs (24 3)) (helm (3 0)) (company (0 9 10)) (s (1 12 0)) (dash (2 13 0))) "Don't make typos with the help of helm and company" single ((:commit . "3014d18ae2f0b6b857bb613f373e034c743f4d2e") (:authors ("Kadir Can Çetin" . "kadircancetin@gmail.com")) (:maintainer "Kadir Can Çetin" . "kadircancetin@gmail.com") (:keywords "convenience" "wp") (:url . "https://github.com/kadircancetin/typo-suggest"))]) - (tzc . [(20220126 604) ((emacs (27 1))) "Converts time between different time zones" single ((:commit . "3af821d2125a67786f93d50d532a71f681f381cc") (:authors ("Md Arif Shaikh" . "arifshaikh.astro@gmail.com")) (:maintainer "Md Arif Shaikh" . "arifshaikh.astro@gmail.com") (:keywords "convenience") (:url . "https://github.com/md-arif-shaikh/tzc"))]) + (tzc . [(20220513 434) ((emacs (27 1))) "Converts time between different time zones" single ((:commit . "f4e2273b65ace1ea56c9824c3bdb97925c98c8ba") (:authors ("Md Arif Shaikh" . "arifshaikh.astro@gmail.com")) (:maintainer "Md Arif Shaikh" . "arifshaikh.astro@gmail.com") (:keywords "convenience") (:url . "https://github.com/md-arif-shaikh/tzc"))]) (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"))]) (uci-mode . [(20210626 1956) ((emacs (25 1))) "Major-mode for chess engine interaction" single ((:commit . "2cdf4de5af96d56108a0a5716416ef3c8ac7bb7c") (:authors ("Dodge Coates and Roland Walker")) (:maintainer "Dodge Coates and Roland Walker") (:keywords "data" "games" "chess") (:url . "https://github.com/dwcoates/uci-mode"))]) (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") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "i18n" "extensions") (:url . "http://github.com/rolandwalker/ucs-utils"))]) @@ -4811,25 +4882,25 @@ (uncrustify-mode . [(20130707 1359) nil "Minor mode to automatically uncrustify." single ((:commit . "73893d000361e95784911e5ec268ad0ab2a1473c") (:authors ("Tabito Ohtani" . "koko1000ban@gmail.com")) (:maintainer "Tabito Ohtani" . "koko1000ban@gmail.com") (:keywords "uncrustify"))]) (undercover . [(20210602 2119) ((emacs (24)) (dash (2 0 0)) (shut-up (0 3 2))) "Test coverage library for Emacs Lisp" single ((:commit . "1d3587f1fad66a747688f36636b67b33b73447d3") (:authors ("Sviridov Alexander" . "sviridov.vmi@gmail.com")) (:maintainer "Sviridov Alexander" . "sviridov.vmi@gmail.com") (:keywords "lisp" "tests" "coverage" "tools") (:url . "https://github.com/sviridov/undercover.el"))]) (underline-with-char . [(20191128 2309) ((emacs (24))) "Underline with a char" single ((:commit . "36577e72aa4fbfa7f1abad01842359209f543751") (:maintainer nil . "marcowahlsoft@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/marcowahl/underline-with-char"))]) - (undersea-theme . [(20200719 618) ((emacs (24 3))) "Theme styled after undersea imagery" single ((:commit . "b7b5bffe242fd15b9eb8fe5cb7c9b45e474babbc") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/undersea-theme"))]) + (undersea-theme . [(20220616 1950) ((emacs (24 3))) "Theme styled after undersea imagery" single ((:commit . "6bc351c4cb49ccc7210801e6b54ecc2993289b92") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "theme" "sea") (:url . "https://github.com/jcs-elpa/undersea-theme"))]) (underwater-theme . [(20131118 2) nil "A gentle, deep blue color theme" single ((:commit . "4eb9ef014f580adc135d91d1cd68d37a310640b6") (:authors ("Jon-Michael Deldin" . "dev@jmdeldin.com")) (:maintainer "Jon-Michael Deldin" . "dev@jmdeldin.com") (:keywords "faces"))]) - (undo-fu . [(20220412 2337) ((emacs (25 1))) "Undo helper with redo" single ((:commit . "f9c39c248cb965cd3c7cb3c8e15a4eee71921f8c") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-undo-fu"))]) - (undo-fu-session . [(20220422 320) ((emacs (28 1))) "Persistent undo, available between sessions" single ((:commit . "ee3879e469c792ae09933a2ca160b7979796b9e1") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://gitlab.com/ideasman42/emacs-undo-fu-session"))]) + (undo-fu . [(20220731 2326) ((emacs (25 1))) "Undo helper with redo" single ((:commit . "b0d6eba024ac87a0aaf7fa66ae76d76f6c764d46") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-undo-fu"))]) + (undo-fu-session . [(20220731 2356) ((emacs (28 1))) "Persistent undo, available between sessions" single ((:commit . "48544cb102fd3d761acf92598076b20bbb4075f9") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:keywords "convenience") (:url . "https://codeberg.org/ideasman42/emacs-undo-fu-session"))]) (undo-propose . [(20210207 45) ((emacs (24 3))) "Simple and safe undo navigation" single ((:commit . "91a1dfe516d90dab69c368f6669bacb2458ec5e9") (:authors ("Jack Kamm")) (:maintainer "Jack Kamm") (:keywords "convenience" "files" "undo" "redo" "history") (:url . "https://github.com/jackkamm/undo-propose.el"))]) - (undohist . [(20220219 634) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "ec95d5038425bca375865803701c971a9c748114") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com") (:keywords "convenience"))]) + (undohist . [(20220219 634) ((cl-lib (1 0))) "Persistent undo history for GNU Emacs" single ((:commit . "81350551de9cdc4a9a3e4f00ff5907714eef24dd") (:authors ("MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com")) (:maintainer "MATSUYAMA Tomohiro" . "m2ym.pub@gmail.com") (:keywords "convenience"))]) (unfill . [(20210106 220) ((emacs (24 1))) "Do the opposite of fill-paragraph or fill-region" single ((:commit . "cd354ea1a74338760ac6f5872d573e3ecb6b4bd2") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience") (:url . "https://github.com/purcell/unfill"))]) (unicad . [(20200914 1500) ((emacs (24)) (nadvice (0 3))) "An elisp port of Mozilla Universal Charset Auto Detector" single ((:commit . "a5fd4e326a0607acc3776c11f41826e60b6486c6") (:authors ("Qichen Huang" . "unicad.el@gmail.com")) (:maintainer "Qichen Huang" . "unicad.el@gmail.com") (:keywords "i18n") (:url . "https://github.com/ukari/unicad"))]) (unicode-emoticons . [(20150204 1108) nil "Shortcuts for common unicode emoticons" single ((:commit . "fb18631f342b0243cf77cf59ed2067c47aae5233") (:authors ("Gunther Hagleitner")) (:maintainer "Gunther Hagleitner") (:keywords "games" "entertainment" "comms") (:url . "https://github.com/hagleitn/unicode-emoticons"))]) (unicode-enbox . [(20140508 2041) ((string-utils (0 3 2)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Surround a string with box-drawing characters" single ((:commit . "77074fac1994a4236f111d6a1d0cf79ea3fca151") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions" "interface") (:url . "http://github.com/rolandwalker/unicode-enbox"))]) (unicode-escape . [(20160614 1234) ((emacs (24)) (names (20151201 0)) (dash (2 12 1))) "Escape/Unescape unicode notations" single ((:commit . "fc69ec780d9e54c364a9252bd0cf1d2507f3fab7") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:keywords "i18n" "unicode") (:url . "https://github.com/kosh04/unicode-escape.el"))]) - (unicode-fonts . [(20200803 1335) ((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 . "47f2397ade28eba621baa865fd69e4efb71407a5") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "i18n" "faces" "frames" "wp" "interface") (:url . "http://github.com/rolandwalker/unicode-fonts"))]) + (unicode-fonts . [(20220713 1837) ((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 . "44d0a22420c39709d1e1fa659a3f135facf3c986") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "i18n" "faces" "frames" "wp" "interface") (:url . "http://github.com/rolandwalker/unicode-fonts"))]) (unicode-math-input . [(20220302 1231) ((emacs (25))) "Insert Unicode math symbols using TeX notation" single ((:commit . "06bf37d649fc3b41fcd5fa29c0b0eda555aaf8bb") (:authors ("Augusto Stoffel")) (:maintainer "Augusto Stoffel") (:url . "https://github.com/astoff/unicode-math-input.el"))]) (unicode-progress-reporter . [(20140508 2041) ((emacs (24 1 0)) (ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "Progress-reporter with fancy characters" single ((:commit . "5e66724fd7d15743213b082474d798117b194494") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "interface") (:url . "http://github.com/rolandwalker/unicode-progress-reporter"))]) (unicode-troll-stopper . [(20190209 411) nil "Minor mode for Highlighting Unicode homoglyphs" single ((:commit . "5e8be35a7bf6382384a701663f7438ee27e4b67c") (:authors ("Cam Saül" . "cammsaul@gmail.com")) (:maintainer "Cam Saül" . "cammsaul@gmail.com") (:keywords "unicode") (:url . "https://github.com/camsaul/emacs-unicode-troll-stopper"))]) (unicode-whitespace . [(20140508 2041) ((ucs-utils (0 7 6)) (list-utils (0 4 2)) (persistent-soft (0 8 8)) (pcache (0 2 3))) "teach whitespace-mode about fancy characters" single ((:commit . "a18c6b38d78b94f2eb1dcc4cb4fa91b6a17efabe") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "faces" "wp" "interface") (:url . "http://github.com/rolandwalker/unicode-whitespace"))]) (unidecode . [(20201213 1449) nil "Transliterate Unicode to ASCII" tar ((:commit . "525b51b38f5b0435642005957740fe22ecb2a53c") (:authors ("sindikat ")) (:maintainer "John Mastro" . "john.b.mastro@gmail.com"))]) (unifdef . [(20200517 514) nil "Delete code guarded by processor directives" single ((:commit . "7a4b76f664c4375e3d98e8af0a29270752c13701") (:authors ("Anders Lindgren")) (:maintainer "Anders Lindgren") (:keywords "convenience" "languages") (:url . "https://github.com/Lindydancer/unifdef"))]) - (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"))]) + (unify-opening . [(20220521 911) ((emacs (24 4))) "Unify the mechanism to open files" single ((:commit . "9d537094220f5ec329b196e269e18b45dbdd1fa2") (:authors ("Damien Cassou" . "damien.cassou@gmail.com")) (:maintainer "Damien Cassou" . "damien.cassou@gmail.com") (:url . "https://github.com/DamienCassou/unify-opening"))]) (unipoint . [(20140113 2224) nil "a simple way to insert unicode characters by TeX name" single ((:commit . "5da04aebac35a5c9e1d8704f2231808d42f4b36a") (:authors ("Andrew Gwozdziewycz" . "git@apgwoz.com")) (:maintainer "Andrew Gwozdziewycz" . "git@apgwoz.com") (:url . "https://github.com/apgwoz/unipoint"))]) (unison . [(20160704 740) ((emacs (24 1))) "sync with Unison" single ((:commit . "a78a04c0d1398d00f75a1bd4799622a65bcb0f28") (:authors ("Kevin Brubeck Unhammer" . "unhammer@fsfe.org")) (:maintainer "Kevin Brubeck Unhammer" . "unhammer@fsfe.org") (:keywords "sync") (:url . "http://github.com/unhammer/unison.el"))]) (unison-mode . [(20160513 1501) nil "Syntax highlighting for unison file synchronization program" single ((:commit . "0bd6a65c0d12f87fcf7bdff15fe54444959b93bf") (:authors ("Karl Fogelmark" . "karlfogel@gmail.com")) (:maintainer "Karl Fogelmark" . "karlfogel@gmail.com") (:keywords "symchronization" "unison") (:url . "https://github.com/impaktor/unison-mode"))]) @@ -4846,22 +4917,23 @@ (urlenc . [(20140116 1456) nil "URL encoding/decoding utility for Emacs." single ((:commit . "835a6dcb783bbe84714bae87a3464aa0b128bfac") (:authors ("Taiki SUGAWARA" . "buzz.taiki@gmail.com")) (:maintainer "Taiki SUGAWARA" . "buzz.taiki@gmail.com") (:keywords "url") (:url . "https://github.com/buzztaiki/urlenc-el"))]) (urscript-mode . [(20190219 1604) ((emacs (24 4))) "major mode for editing URScript." single ((:commit . "b341f96b129ead8fb74d680cb4f546985bf110a9") (:authors ("Guido Schmidt" . "git@guidoschmidt.cc")) (:maintainer "Guido Schmidt" . "git@guidoschmidt.cc") (:keywords "languages") (:url . "https://github.com/guidoschmidt/urscript-mode"))]) (usage-memo . [(20170926 37) nil "integration of Emacs help system and memo" single ((:commit . "88e15a9942a3e0a6e36e9c3e51e3edb746067b1a") (:authors ("rubikitch" . "rubikitch@ruby-lang.org")) (:maintainer "rubikitch" . "rubikitch@ruby-lang.org") (:keywords "convenience" "languages" "lisp" "help" "tools" "docs") (:url . "http://www.emacswiki.org/cgi-bin/wiki/download/usage-memo.el"))]) - (use-package . [(20210207 1926) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "dotemacs" "startup" "speed" "config" "package") (:url . "https://github.com/jwiegley/use-package"))]) - (use-package-chords . [(20181024 2322) ((use-package (2 1)) (bind-key (1 0)) (bind-chord (0 2)) (key-chord (0 6))) "key-chord keyword for use-package" single ((:commit . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-chords"))]) + (use-package . [(20210207 1926) ((emacs (24 3)) (bind-key (2 4))) "A configuration macro for simplifying your .emacs" tar ((:commit . "0ad5d9d5d8a61517a207ab04bf69e71c081149eb") (:authors ("John Wiegley" . "johnw@newartisans.com")) (:maintainer "John Wiegley" . "johnw@newartisans.com") (:keywords "dotemacs" "startup" "speed" "config" "package") (:url . "https://github.com/jwiegley/use-package"))]) + (use-package-chords . [(20181024 2322) ((use-package (2 1)) (bind-key (1 0)) (bind-chord (0 2)) (key-chord (0 6))) "key-chord keyword for use-package" single ((:commit . "0ad5d9d5d8a61517a207ab04bf69e71c081149eb") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-chords"))]) (use-package-el-get . [(20180131 505) ((use-package (1 0))) "el-get support for use package" single ((:commit . "cba87c4e9a3a66b7c10962e3aefdf11c83d737bc") (:authors ("Edward Knyshov" . "edvorg@gmail.com")) (:maintainer "Edward Knyshov" . "edvorg@gmail.com") (:keywords "dotemacs" "startup" "speed" "config" "package" "tools") (:url . "https://github.com/edvorg/use-package-el-get"))]) - (use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-ensure-system-package"))]) + (use-package-ensure-system-package . [(20180913 1501) ((use-package (2 1)) (system-packages (1 0 4))) "auto install system packages" single ((:commit . "0ad5d9d5d8a61517a207ab04bf69e71c081149eb") (:authors ("Justin Talbott" . "justin@waymondo.com")) (:maintainer "Justin Talbott" . "justin@waymondo.com") (:keywords "convenience" "tools" "extensions") (:url . "https://github.com/waymondo/use-package-ensure-system-package"))]) (use-package-hydra . [(20181228 745) ((emacs (24 3)) (use-package (2 4))) "Adds :hydra keyword to use-package macro" single ((:commit . "8cd55a1128fbdf6327bb38a199d206225896d146") (:authors ("Toon Claes" . "toon@iotcl.com")) (:maintainer "Toon Claes" . "toon@iotcl.com") (:keywords "convenience" "extensions" "tools") (:url . "https://gitlab.com/to1ne/use-package-hydra"))]) (use-proxy . [(20201209 853) ((exec-path-from-shell (1 12)) (emacs (26 2))) "Enable/Disable proxies respecting your HTTP/HTTPS env" single ((:commit . "b2995563f41c162a082cd4823a499887f807176e") (:authors ("Ray Wang" . "ray.hackmylife@gmail.com")) (:maintainer "Ray Wang" . "ray.hackmylife@gmail.com") (:keywords "proxy" "comm") (:url . "https://github.com/rayw000/use-proxy"))]) - (use-ttf . [(20220220 150) ((emacs (24 4))) "Keep font consistency across different OSs" single ((:commit . "edeefb6c189ae5b86077d1556db4ca341f628fb9") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:url . "https://github.com/jcs-elpa/use-ttf"))]) - (utimeclock . [(20220211 548) ((emacs (24 4))) "Simple utility for manual time tracking" single ((:commit . "0e36664ffe9f278bb008107d1b743edfcfba60f1") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-utimeclock"))]) - (utop . [(20210607 1941) ((emacs (24)) (tuareg (2 2 0))) "Universal toplevel for OCaml" single ((:commit . "42614160c20764b443d082083740e8dcc6cf2f78") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:keywords "ocaml" "languages") (:url . "https://github.com/diml/utop"))]) + (use-ttf . [(20220704 700) ((emacs (24 4))) "Keep font consistency across different OSs" single ((:commit . "6473227e4e26896db099d54bd2ba1d05619395bc") (:authors ("Shen, Jen-Chieh" . "jcs090218@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience" "customize" "font" "install" "ttf") (:url . "https://github.com/jcs-elpa/use-ttf"))]) + (utimeclock . [(20220710 1024) ((emacs (24 4))) "Simple utility for manual time tracking" single ((:commit . "32994d27771f77a384b246e69a621c4d26e27f4f") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-utimeclock"))]) + (utop . [(20220719 2111) ((emacs (26)) (tuareg (2 2 0))) "Universal toplevel for OCaml" single ((:commit . "bbd9a6ed45c8de8d50adcd5d4d845bdba212db63") (:authors ("Jeremie Dimino" . "jeremie@dimino.org")) (:maintainer "Jeremie Dimino" . "jeremie@dimino.org") (:keywords "ocaml" "languages") (:url . "https://github.com/ocaml-community/utop"))]) (uuid . [(20120910 851) nil "UUID's for EmacsLisp" single ((:commit . "1519bfeb0e31602b840bc8dd35d7c7e732c159fe") (:authors ("James Mastros")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp"))]) (uuidgen . [(20220405 1345) nil "Provides various UUID generating functions" single ((:commit . "7b728c1d92e196c3acf87a004949335cfc18eab3") (:authors ("Kan-Ru Chen" . "kanru@kanru.info")) (:maintainer "Kan-Ru Chen" . "kanru@kanru.info") (:keywords "extensions" "lisp" "tools"))]) (uwu-theme . [(20220411 1904) ((emacs (24 1))) "An awesome dark color scheme" single ((:commit . "feef3e73dbcb3fbba431c62a99a3333959f6158e") (:authors ("Kevin Borling")) (:maintainer "Kevin Borling") (:keywords "custom themes" "dark" "faces") (:url . "https://github.com/kborling/uwu-theme"))]) + (uxntal-mode . [(20220502 154) ((emacs (27 1))) "Major mode for Uxntal assembly" single ((:commit . "39cde87b15a98e0612e30b80e0676211236ac3e7") (:authors ("d_m" . "d_m@plastic-idolatry.com")) (:maintainer "d_m" . "d_m@plastic-idolatry.com") (:url . "https://github.com/non/uxntal-mode"))]) (v-mode . [(20220104 142) ((emacs (25 1)) (dash (2 17 0)) (hydra (0 15 0))) "A major mode for the V programming language" single ((:commit . "a701f4cedfff91cf4bcd17c9a2cd16a49f942743") (:keywords "languages" "programming") (:url . "https://github.com/damon-kwok/v-mode"))]) (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") (:authors ("Aborn Jiang" . "aborn.jiang@gmail.com")) (:maintainer "Aborn Jiang" . "aborn.jiang@gmail.com") (:keywords "v2ex" "v2ex.com") (:url . "https://github.com/aborn/v2ex-mode"))]) - (vagrant . [(20211206 1634) nil "Manage a vagrant box from emacs" single ((:commit . "a232b7385178d5b029ccc5274dfa9b56e5ba43a1") (:authors ("Robert Crim" . "rob@servermilk.com")) (:maintainer "Robert Crim" . "rob@servermilk.com") (:keywords "vagrant" "chef") (:url . "https://github.com/ottbot/vagrant.el"))]) - (vagrant-tramp . [(20210217 704) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "5f00b42a0c023c461cef7af4de7652d90c788b4d") (:authors ("Doug MacEachern" . "dougm@vmware.com") ("Ryan Prior " . "ryanprior@gmail.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:keywords "vagrant") (:url . "https://github.com/dougm/vagrant-tramp"))]) + (vagrant . [(20220730 302) nil "Manage a vagrant box from emacs" single ((:commit . "eb4ec2053955eda1ac9e5ff92ded88f1919e13f2") (:authors ("Robert Crim" . "rob@servermilk.com")) (:maintainer "Robert Crim" . "rob@servermilk.com") (:keywords "vagrant" "chef") (:url . "https://github.com/ottbot/vagrant.el"))]) + (vagrant-tramp . [(20220508 52) ((dash (2 12 0))) "Vagrant method for TRAMP" tar ((:commit . "2b7a4fabd328961384da06e0e302250cd97edc47") (:authors ("Doug MacEachern" . "dougm@vmware.com") ("Ryan Prior " . "ryanprior@gmail.com")) (:maintainer "Doug MacEachern" . "dougm@vmware.com") (:keywords "vagrant") (:url . "https://github.com/dougm/vagrant-tramp"))]) (vala-mode . [(20201218 2109) nil "Vala mode derived mode" single ((:commit . "d696a8177e94c81ea557ad364a3b3dcc3abbc50f") (:authors ("2005 Dylan R. E. Moonfire") (" 2008 Étienne BERSAC")) (:maintainer "Étienne BERSAC" . "bersace03@laposte.net") (:keywords "vala" "languages" "oop"))]) (vala-snippets . [(20150429 352) ((yasnippet (0 8 0))) "Yasnippets for Vala" tar ((:commit . "671439501060449bd100b9fffd524a86064fbfbb") (:authors ("Daniel Gopar")) (:maintainer "Daniel Gopar") (:url . "https://github.com/gopar/vala-snippets"))]) (vale-mode . [(20190725 125) ((emacs (25))) "Major mode for writing Vale vaf files" single ((:commit . "48bbc4b4ee5bf0b1b73e52705c0fbc112b255cd0") (:authors ("Jay Bosamiya" . "jaybosamiya@gmail.com")) (:maintainer "Jay Bosamiya" . "jaybosamiya@gmail.com") (:keywords "convenience" "languages") (:url . "https://github.com/jaybosamiya/vale-mode.el"))]) @@ -4872,22 +4944,22 @@ (vc-check-status . [(20210216 1525) nil "Warn you when quitting emacs and leaving repo dirty." tar ((:commit . "d95ef8f0799cd3dd83726ffa9b01b076f378ce34") (:authors ("Sylvain Rousseau ")) (:maintainer "Sylvain Rousseau ") (:keywords "vc" "convenience") (:url . "https://github.com/thisirs/vc-check-status"))]) (vc-darcs . [(20220406 659) ((emacs (24))) "a VC backend for darcs" single ((:commit . "56426a235b742618b48fad8538777a9b3ffb7240") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx") ("Juliusz Chroboczek" . "jch@pps.univ-paris-diderot.fr")) (:maintainer "Libor Čapák" . "capak@inputwish.com") (:keywords "vc"))]) (vc-defer . [(20201116 701) ((emacs (25 1))) "Defer non-essential vc.el work" single ((:commit . "aeafc419c1788b3ac4f0590c635374eefd7c220c") (:authors ("Matt Armstrong" . "marmstrong@google.com")) (:maintainer "Tom Fitzhenry" . "tomfitzhenry@google.com") (:keywords "vc" "tools") (:url . "https://github.com/google/vc-defer"))]) - (vc-fossil . [(20210928 737) nil "VC backend for the fossil sofware configuraiton management system" single ((:commit . "7815c30d739a01e1100961abb3f2b93e0ea9920f") (:authors ("Venkat Iyer" . "venkat@comit.com")) (:maintainer "Alfred M. Szmidt" . "ams@gnu.org"))]) + (vc-fossil . [(20220607 617) nil "VC backend for the fossil sofware configuraiton management system" single ((:commit . "8ce6113aa272583130e5f929fefd67115c8f572a") (:authors ("Venkat Iyer" . "venkat@comit.com")) (:maintainer "Alfred M. Szmidt" . "ams@gnu.org"))]) (vc-hgcmd . [(20211021 1704) ((emacs (25 1))) "VC mercurial backend that uses hg command server" single ((:commit . "d044448965d31ca8214f8bca48487e4d9b9d9a0f") (:authors ("Andrii Kolomoiets" . "andreyk.mad@gmail.com")) (:maintainer "Andrii Kolomoiets" . "andreyk.mad@gmail.com") (:keywords "vc") (:url . "https://github.com/muffinmad/emacs-vc-hgcmd"))]) - (vc-msg . [(20211224 1354) ((emacs (24 4)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "3ad560afc1e0610acd1ce4b9509aedae66276b91") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "git" "vc" "svn" "hg" "messenger") (:url . "http://github.com/redguardtoo/vc-msg"))]) + (vc-msg . [(20220526 1435) ((emacs (24 4)) (popup (0 5 0))) "Show commit information of current line" tar ((:commit . "153f493a50e64263bcfd5210c47bbeeac8a68a01") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "git" "vc" "svn" "hg" "messenger") (:url . "http://github.com/redguardtoo/vc-msg"))]) (vc-osc . [(20190402 2349) nil "non-resident support for osc version-control" single ((:commit . "bf5a515ed85f7d7cdfe66ed5bf4ef7554f8561e5") (:authors ("Adam Spiers (see vc.el for full credits)")) (:maintainer "Adam Spiers" . "aspiers@suse.com"))]) (vcomp . [(20190128 20) nil "compare version strings" single ((:commit . "f839b3b3257a564b19d7f9557dc8bcbbe0b95842") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "versions") (:url . "https://github.com/tarsius/vcomp"))]) (vcsh . [(20200226 1339) ((emacs (25 1))) "vcsh integration" single ((:commit . "7e376436b8f450a5571e19246136ccf77bbdd4f1") (:authors ("Štěpán Němec" . "stepnem@gmail.com")) (:maintainer "Štěpán Němec" . "stepnem@gmail.com") (:keywords "vc" "files") (:url . "https://gitlab.com/stepnem/vcsh-el"))]) (vdf-mode . [(20210303 714) ((emacs (24 3))) "Major mode for editing Valve VDF files." single ((:commit . "0910d4f847e9c817eb8da5434b3879048ec4ac92") (:authors ("Philipp Middendorf")) (:maintainer "Philipp Middendorf") (:url . "https://github.com/plapadoo/vdf-mode"))]) (vdiff . [(20210426 155) ((emacs (24 4)) (hydra (0 13 0))) "A diff tool similar to vimdiff" single ((:commit . "84b8243d9f5d8082b05794dbc998d43dbdd7676a") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:keywords "diff") (:url . "https://github.com/justbur/emacs-vdiff"))]) - (vdiff-magit . [(20210908 135) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0)) (transient (0 1 0))) "magit integration for vdiff" single ((:commit . "d3a39c3f8cb7ad9a6a769ce45f633b613b067490") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:keywords "diff") (:url . "https://github.com/justbur/emacs-vdiff-magit"))]) + (vdiff-magit . [(20220518 1948) ((emacs (24 4)) (vdiff (0 3)) (magit (2 10 0)) (transient (0 1 0))) "magit integration for vdiff" single ((:commit . "413f32c9f7e66f8379c23b5ab6341695dbcc2f20") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:keywords "diff") (:url . "https://github.com/justbur/emacs-vdiff-magit"))]) (vdirel . [(20220412 646) ((emacs (24 4)) (org-vcard (0 1 0)) (helm (1 7 0)) (seq (1 11))) "Manipulate vdir (i.e., vCard) repositories" single ((:commit . "4eebcf91bdb9ee10fbbba198c4995ae070442f26") (:authors ("Damien Cassou" . "damien@cassou.me")) (:maintainer "Damien Cassou" . "damien@cassou.me") (:url . "https://github.com/DamienCassou/vdirel"))]) (vdm-comint . [(20181127 2023) ((emacs (25)) (vdm-mode (0 0 4))) "REPL support for vdm-mode" single ((:commit . "56336930555df91787f196acac15680498d17d5e") (: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") (:keywords "languages") (:url . "https://github.com/peterwvj/vdm-mode"))]) (vdm-mode . [(20190328 1408) ((emacs (25))) "Major mode for the Vienna Development Method" tar ((:commit . "56336930555df91787f196acac15680498d17d5e") (: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") (:keywords "languages") (:url . "https://github.com/peterwvj/vdm-mode"))]) (vdm-snippets . [(20190313 1122) ((emacs (24)) (yasnippet (0 13 0))) "YASnippets for VDM mode" tar ((:commit . "56336930555df91787f196acac15680498d17d5e") (: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") (:keywords "languages") (:url . "https://github.com/peterwvj/vdm-mode"))]) (vector-utils . [(20140508 2041) nil "Vector-manipulation utility functions" single ((:commit . "c38ca1c6a23b2b51a6ac36c2c64e50e21cbe9d21") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "extensions") (:url . "http://github.com/rolandwalker/vector-utils"))]) (vega-view . [(20210401 1115) ((emacs (25)) (cider (0 24 0)) (parseedn (0 1))) "Vega visualization viewer" single ((:commit . "3793025a523a86acc6255b4183b12ebfc95e1116") (:authors ("Jack Rusher" . "jack@appliedscience.studio")) (:maintainer "Jack Rusher" . "jack@appliedscience.studio") (:keywords "multimedia") (:url . "https://www.github.com/applied-science/emacs-vega-view"))]) - (verb . [(20220214 943) ((emacs (25 1))) "Organize and send HTTP requests" tar ((:commit . "f6fd85d913c39603695e52d258d02e6030e3d42d") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:keywords "tools") (:url . "https://github.com/federicotdn/verb"))]) + (verb . [(20220727 1923) ((emacs (25 1))) "Organize and send HTTP requests" tar ((:commit . "aa12067ba3c34749c41bf5247f4bda1c68625110") (:authors ("Federico Tedin" . "federicotedin@gmail.com")) (:maintainer "Federico Tedin" . "federicotedin@gmail.com") (:keywords "tools") (:url . "https://github.com/federicotdn/verb"))]) (veri-kompass . [(20200213 934) ((emacs (25)) (cl-lib (0 5)) (org (8 2 0))) "verilog codebase navigation facility" single ((:commit . "271903cdf92db05898ee7cffb65641f30fa08280") (:maintainer nil . "andrea_corallo@yahoo.it") (:keywords "languages" "extensions" "verilog" "hardware" "rtl") (:url . "https://gitlab.com/koral/veri-kompass"))]) (verify-url . [(20160426 1228) ((cl-lib (0 5))) "find out invalid urls in the buffer or region" single ((:commit . "d6f3623cda8cd526a2d198619b137059cb1ba1ab") (:authors ("DarkSun" . "lujun9972@gmail.com")) (:maintainer "DarkSun" . "lujun9972@gmail.com") (:keywords "convenience" "usability" "url") (:url . "https://github.com/lujun9972/verify-url"))]) (verona-mode . [(20200823 536) ((emacs (25 1)) (dash (2 17 0)) (hydra (0 15 0))) "A major mode for the Verona programming language" single ((:commit . "72dd31ef847344d79409503f3c42169041eb3da4") (:keywords "languages" "programming") (:url . "https://github.com/damon-kwok/verona-mode"))]) @@ -4911,7 +4983,7 @@ (virtualenvwrapper . [(20190223 1919) ((dash (1 5 0)) (s (1 6 1))) "a featureful virtualenv tool for Emacs" single ((:commit . "c7e84505db4142fd1beebf38ffe37c3f42444ca3") (:authors ("James J Porter" . "porterjamesj@gmail.com")) (:maintainer "James J Porter" . "porterjamesj@gmail.com") (:keywords "python" "virtualenv" "virtualenvwrapper") (:url . "http://github.com/porterjamesj/virtualenvwrapper.el"))]) (visible-mark . [(20150624 450) nil "Make marks visible." single ((:commit . "a584db9bc88953b23a9648b3e14ade90767207f8") (:authors ("Ian Kelling" . "ian@iankelling.org")) (:maintainer "Ian Kelling" . "ian@iankelling.org") (:keywords "marking" "color" "faces") (:url . "https://gitlab.com/iankelling/visible-mark"))]) (visual-ascii-mode . [(20150129 1046) nil "Visualize ascii code (small integer) on buffer." single ((:commit . "99285a099a17472ddd9f1b4f74e9d092dd8c5947") (:authors ("Dewdrops" . "v_v_4474@126.com")) (:maintainer "Dewdrops" . "v_v_4474@126.com") (:keywords "presentation") (:url . "https://github.com/Dewdrops/visual-ascii-mode"))]) - (visual-fill-column . [(20211118 33) ((emacs (25 1))) "fill-column for visual-line-mode" single ((:commit . "cf3e2bc632b68d54145c79beede85d3458a337de") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://codeberg.org/joostkremers/visual-fill-column"))]) + (visual-fill-column . [(20220519 1959) ((emacs (25 1))) "fill-column for visual-line-mode" single ((:commit . "453d698d7fc243a547665f8ba43c55eee574e0db") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:url . "https://codeberg.org/joostkremers/visual-fill-column"))]) (visual-regexp . [(20210502 2019) ((cl-lib (0 2))) "A regexp/replace command for Emacs with interactive visual feedback" single ((:commit . "48457d42a5e0fe10fa3a9c15854f1f127ade09b5") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:keywords "regexp" "replace" "visual" "feedback") (:url . "https://github.com/benma/visual-regexp.el/"))]) (visual-regexp-steroids . [(20170222 253) ((visual-regexp (1 1))) "Extends visual-regexp to support other regexp engines" tar ((:commit . "a6420b25ec0fbba43bf57875827092e1196d8a9e") (:authors ("Marko Bencun" . "mbencun@gmail.com")) (:maintainer "Marko Bencun" . "mbencun@gmail.com") (:keywords "external" "foreign" "regexp" "replace" "python" "visual" "feedback") (:url . "https://github.com/benma/visual-regexp-steroids.el/"))]) (vlc . [(20200328 1143) ((emacs (25 1))) "VideoLAN VLC Media Player Control" single ((:commit . "932840f874e7510ee86e796bb5dc20d44514e31a") (:authors ("Xu Chunyang")) (:maintainer "Xu Chunyang") (:keywords "tools") (:url . "https://github.com/xuchunyang/vlc.el"))]) @@ -4921,36 +4993,36 @@ (voca-builder . [(20161101 1645) ((popup (0 5 2))) "Helps you build up your vocabulary" single ((:commit . "51573beec8cd8308477b0faf453aad93e17f57c5") (:authors ("Yi Tang" . "yi.tang.uk@me.com")) (:maintainer "Yi Tang" . "yi.tang.uk@me.com") (:keywords "english" "vocabulary") (:url . "https://github.com/yitang/voca-builder"))]) (volatile-highlights . [(20160612 155) nil "Minor mode for visual feedback on some operations." single ((:commit . "9a20091f0ce7fc0a6b3e641a6a46d5f3ac4d8392") (:authors ("K-talo Miyazaki ")) (:maintainer "K-talo Miyazaki ") (:keywords "emulations" "convenience" "wp") (:url . "http://www.emacswiki.org/emacs/download/volatile-highlights.el"))]) (volume . [(20201002 1022) nil "tweak your sound card volume from Emacs" single ((:commit . "afb75a5f7fe41eb28c8dbb1378e80d103eea05c7") (:authors ("Daniel Brockman" . "daniel@brockman.se")) (:maintainer "Daniel Brockman" . "daniel@brockman.se") (:url . "http://www.brockman.se/software/volume-el/"))]) - (vs-dark-theme . [(20220414 930) ((emacs (24 1))) "Visual Studio IDE dark theme" single ((:commit . "f5eb6387506b22ba7e21b4e335e689cf6768f18b") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/emacs-vs/vs-dark-theme"))]) - (vs-light-theme . [(20220414 931) ((emacs (24 1))) "Visual Studio IDE light theme" single ((:commit . "d585d0a3b87461b01dfad4ceaa7831668c6021d8") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/emacs-vs/vs-light-theme"))]) + (vs-dark-theme . [(20220703 809) ((emacs (24 1))) "Visual Studio IDE dark theme" single ((:commit . "87b1b300375bb9f06f92e253c6941113b9bce5b4") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/emacs-vs/vs-dark-theme"))]) + (vs-light-theme . [(20220703 806) ((emacs (24 1))) "Visual Studio IDE light theme" single ((:commit . "af9c8ee7e99ec4ffb20d15512efafc49d509f5db") (:authors ("Jen-Chieh Shen")) (:maintainer "Jen-Chieh Shen") (:url . "https://github.com/emacs-vs/vs-light-theme"))]) (vscdark-theme . [(20191212 107) ((emacs (24 1))) "VS Code Dark+ like theme" single ((:commit . "8eba74059e8a9db974e4056ee024e52fe54da485") (:authors ("Alexander L. Belikoff")) (:maintainer "Alexander L. Belikoff") (:url . "https://github.com/abelikoff/vscdark-theme"))]) - (vscode-dark-plus-theme . [(20220320 530) nil "Default Visual Studio Code Dark+ theme" single ((:commit . "cec18a9d816fef372a4e70f6ad1e16a42aa93b06") (:authors ("Ian Y.E. Pan")) (:maintainer "Ian Y.E. Pan") (:url . "https://github.com/ianpan870102/vscode-dark-plus-emacs-theme"))]) + (vscode-dark-plus-theme . [(20220320 530) nil "Default Visual Studio Code Dark+ theme" single ((:commit . "d247fcf2b0c4f21398276e12faf3f2a4c26b2306") (:authors ("Ian Y.E. Pan")) (:maintainer "Ian Y.E. Pan") (:url . "https://github.com/ianpan870102/vscode-dark-plus-emacs-theme"))]) (vscode-icon . [(20201214 2227) ((emacs (25 1))) "Utility package to provide Vscode style icons" tar ((:commit . "909151c8105861aa300f5601e333909d36d0ebf5") (:authors ("James Nguyen" . "james@jojojames.com")) (:maintainer "James Nguyen" . "james@jojojames.com") (:keywords "files" "tools") (:url . "https://github.com/jojojames/vscode-icon-emacs"))]) - (vterm . [(20220421 1535) ((emacs (25 1))) "Fully-featured terminal emulator" tar ((:commit . "8d7c8c593f528646bd3304e64f4ec47d52c40aec") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:keywords "terminals") (:url . "https://github.com/akermu/emacs-libvterm"))]) - (vterm-toggle . [(20220416 1034) ((emacs (25 1)) (vterm (0 0 1))) "Toggles between the vterm buffer and other buffers." single ((:commit . "644e9df9f741c3338c248291799375a1778eb98b") (:authors (nil . "jixiuf jixiuf@qq.com")) (:maintainer nil . "jixiuf jixiuf@qq.com") (:keywords "vterm" "terminals") (:url . "https://github.com/jixiuf/vterm-toggle"))]) + (vterm . [(20220613 1614) ((emacs (25 1))) "Fully-featured terminal emulator" tar ((:commit . "3155a477b43c1567d754768f5be79296440ebaf8") (:authors ("Lukas Fürmetz" . "fuermetz@mailbox.org")) (:maintainer "Lukas Fürmetz" . "fuermetz@mailbox.org") (:keywords "terminals") (:url . "https://github.com/akermu/emacs-libvterm"))]) + (vterm-toggle . [(20220606 1524) ((emacs (25 1)) (vterm (0 0 1))) "Toggles between the vterm buffer and other buffers." single ((:commit . "02519323aa0a2e6af641cd205b230f48a04a5ca3") (:authors (nil . "jixiuf jixiuf@qq.com")) (:maintainer nil . "jixiuf jixiuf@qq.com") (:keywords "vterm" "terminals") (:url . "https://github.com/jixiuf/vterm-toggle"))]) (vtm . [(20200921 338) nil "Manages vterm buffers with configuration files" tar ((:commit . "d770fd8cff7c24688199392ad93c01485c6a9569") (:keywords "convenience") (:url . "https://github.com/laishulu/emacs-vterm-manager"))]) (vue-html-mode . [(20180428 2035) nil "Major mode for editing Vue.js templates" single ((:commit . "1514939804bad558584feeb6298b38d22eadf64e") (:authors ("Adam Niederer" . "adam.niederer@gmail.com")) (:maintainer "Adam Niederer" . "adam.niederer@gmail.com") (:keywords "languages" "vue" "template") (:url . "http://github.com/AdamNiederer/vue-html-mode"))]) (vue-mode . [(20190415 231) ((mmm-mode (0 5 5)) (vue-html-mode (0 2)) (ssass-mode (0 2)) (edit-indirect (0 1 4))) "Major mode for vue component based on mmm-mode" single ((:commit . "031edd1f97db6e7d8d6c295c0e6d58dd128b9e71") (:authors ("codefalling" . "code.falling@gmail.com")) (:maintainer "codefalling" . "code.falling@gmail.com") (:keywords "languages"))]) (vuiet . [(20220218 1024) ((emacs (26 1)) (lastfm (1 1)) (versuri (1 0)) (s (1 12 0)) (bind-key (2 4)) (mpv (0 1 0))) "The music player and explorer for Emacs" single ((:commit . "aed3272b95fc73fd78712ff7dcfc05916f382fed") (:authors ("Mihai Olteanu" . "mihai_olteanu@fastmail.fm")) (:maintainer "Mihai Olteanu" . "mihai_olteanu@fastmail.fm") (:keywords "multimedia") (:url . "https://github.com/mihaiolteanu/vuiet"))]) - (vulpea . [(20220204 936) ((emacs (27 2)) (org (9 4 4)) (org-roam (2 0 0)) (s (1 12))) "A collection of org-roam note-taking functions" tar ((:commit . "ba44342aea6a81c7b7ca6fcaae9a537701789b5e") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/vulpea"))]) + (vulpea . [(20220714 1856) ((emacs (27 2)) (org (9 4 4)) (org-roam (2 0 0)) (s (1 12)) (dash (2 19))) "A collection of org-roam note-taking functions" tar ((:commit . "8070a599583f0126a089f386e35df62451e51a91") (:authors ("Boris Buliga" . "boris@d12frosted.io")) (:maintainer "Boris Buliga" . "boris@d12frosted.io") (:url . "https://github.com/d12frosted/vulpea"))]) (vunit-mode . [(20220316 1812) ((hydra (0 14 0)) (emacs (24 3))) "VUnit Runner Interface" single ((:commit . "5643460a7011d6bc13c2d4762f329d19f6c7d46b") (:authors ("Lukas Lichtl" . "support@embed-me.com")) (:maintainer "Lukas Lichtl" . "support@embed-me.com") (:keywords "vunit" "python" "tools") (:url . "https://github.com/embed-me"))]) (vyper-mode . [(20180707 1935) ((emacs (24 3))) "Major mode for the Vyper programming language" single ((:commit . "323dfddfc38f0b11697e9ebaf04d1b53297e54e5") (:authors ("Alex Stokes" . "r.alex.stokes@gmail.com")) (:maintainer "Alex Stokes" . "r.alex.stokes@gmail.com") (:keywords "languages") (:url . "https://github.com/ralexstokes/vyper-mode"))]) (w32-browser . [(20170101 1954) nil "Run Windows application associated with a file." single ((:commit . "e5c60eafd8f8d3546a0fa295ad5af2414d36b4e6") (:authors ("Emacs Wiki, Drew Adams")) (:maintainer nil . "Drew Adams (concat \"drew.adams\" \"@\" \"oracle\" \".com\")") (:keywords "mouse" "dired" "w32" "explorer") (:url . "http://www.emacswiki.org/w32-browser.el"))]) (w32-ime . [(20201107 143) ((emacs (24 4))) "Windows IME UI/UX controler" single ((:commit . "9c62273dce0ba685a591577885b1e216ba832ec1") (:authors ("H.Miyashita") ("MIYOSHI Masanori") ("KOBAYASHI Yasuhiro") ("NTEmacsJP") ("ksugita (gnupack)") ("rzl24ozi") ("TANE") ("Masamichi Hosoda" . "trueroad@trueroad.jp") ("Naoya Yamashita" . "conao3@gmail.com")) (:maintainer "Masamichi Hosoda" . "trueroad@trueroad.jp") (:url . "https://github.com/trueroad/w32-ime.el"))]) - (w3m . [(20220405 124) nil "an Emacs interface to w3m" tar ((:commit . "89ed3cfda707b610670173e4e3226f652787a0ba") (:keywords "w3m" "www" "hypermedia"))]) + (w3m . [(20220729 42) nil "an Emacs interface to w3m" tar ((:commit . "db02ce0fde628a8eb9a1a0c95939c41981fdd931") (:keywords "w3m" "www" "hypermedia"))]) (wacspace . [(20180311 2350) ((dash (1 2 0)) (cl-lib (0 2))) "The WACky WorkSPACE manager for emACS" tar ((:commit . "54d19aab6fd2bc5945b7ffc58104e695064927e2") (:authors ("Emanuel Evans" . "emanuel.evans@gmail.com")) (:maintainer "Emanuel Evans" . "emanuel.evans@gmail.com") (:keywords "workspace") (:url . "http://github.com/shosti/wacspace.el"))]) (waf-mode . [(20170403 1940) nil "Waf integration for Emacs" single ((:commit . "20c75eabd1d54fbce8e0dbef785c9fb68577ee4f") (:authors ("Denys Valchuk" . "dvalchuk@gmail.com")) (:maintainer "Denys Valchuk" . "dvalchuk@gmail.com") (:url . "https://bitbucket.org/dvalchuk/waf-mode"))]) (waher-theme . [(20141115 1230) ((emacs (24 1))) "Emacs 24 theme based on waher for st2 by dduckster" single ((:commit . "60d31519fcfd8e797723d47961b255ae2f2e2c0a") (:authors ("Jasonm23" . "jasonm23@gmail.com")) (:maintainer "Jasonm23" . "jasonm23@gmail.com") (:url . "https://github.com/jasonm23/emacs-waher-theme"))]) - (wakatime-mode . [(20211104 1455) nil "Automatic time tracking extension for WakaTime" single ((:commit . "a53c0e819258ea9dbea3ad64b16e4c6c6201f5a5") (:authors ("Gabor Torok" . "gabor@20y.hu")) (:maintainer "Alan Hamlett" . "alan@wakatime.com") (:keywords "calendar" "comm"))]) + (wakatime-mode . [(20220621 616) nil "Automatic time tracking extension for WakaTime" single ((:commit . "a9c7ab37dbaeadb36b90bcd38b31e4447706b251") (:authors ("Gabor Torok" . "gabor@20y.hu")) (:maintainer "Alan Hamlett" . "alan@wakatime.com") (:keywords "calendar" "comm"))]) (wakib-keys . [(20220211 1304) ((emacs (24 4))) "Minor Mode for Modern Keybindings" single ((:commit . "ed86134f91c532a38d2739dd15ea6cec879cbd8a") (:authors ("Abdulla Bubshait")) (:maintainer "Abdulla Bubshait") (:keywords "convenience" "keybindings" "keys") (:url . "https://github.com/darkstego/wakib-keys/"))]) (wal-mode . [(20220409 1214) ((emacs (25 1))) "A major mode for the WAL programming language" single ((:commit . "1daaf882824e8483419dc999c2d5507ad30cc929") (:authors ("Lucas Klemmer" . "lucas.klemmer@jku.at")) (:maintainer "Lucas Klemmer" . "lucas.klemmer@jku.at") (:keywords "languages") (:url . "https://github.com/LucasKl/wal-major-mode"))]) - (walkclj . [(20220422 854) ((emacs (25)) (parseclj (0 1 0)) (treepy (0 1 0))) "Manipulate Clojure parse trees" single ((:commit . "ce4e7713d801b03f94f5da9898fce09718380ed4") (:authors ("Arne Brasseur")) (:maintainer "Arne Brasseur") (:keywords "languages") (:url . "https://github.com/plexus/walkclj"))]) + (walkclj . [(20220719 1610) ((emacs (25)) (parseclj (0 1 0)) (treepy (0 1 0)) (a (1 0 0))) "Manipulate Clojure parse trees" single ((:commit . "875ee7a350f5141f425c4b5350a630e1ee1795e8") (:authors ("Arne Brasseur")) (:maintainer "Arne Brasseur") (:keywords "languages") (:url . "https://github.com/plexus/walkclj"))]) (walkman . [(20220318 2122) ((transient (0 1 0)) (org (8 3 5)) (json-mode (1 6 0)) (emacs (26 3))) "Write HTTP requests in Org mode" single ((:commit . "3118dd4f493caffcc2849058833572dfc0c0e0a9") (:authors ("Adrien Brochard")) (:maintainer "Adrien Brochard") (:keywords "walkman" "http" "curl" "org" "comm") (:url . "https://github.com/abrochard/walkman"))]) (wallpaper . [(20201019 2123) ((emacs (25 1))) "Setting the wallpaper" single ((:commit . "cc0101726dd2fa2b4eda06924c7abfae54f663e2") (:authors ("Farlado" . "farlado@sdf.org")) (:maintainer "Farlado" . "farlado@sdf.org") (:keywords "unix" "wallpaper" "extensions") (:url . "https://github.com/farlado/emacs-wallpaper"))]) - (wallpreview . [(20220220 427) ((emacs (24 4))) "Set wallpapers with image-dired" single ((:commit . "b1b8f19ae82b344a9577cea7b883ad513ec52222") (:url . "https://github.com/nryotaro/wallpreview"))]) - (wand . [(20210511 725) ((dash (2 15 0)) (s (0 1 1))) "Magic wand for Emacs - Select and execute" tar ((:commit . "08c3d9156517a31dd98ea64bfc269fae730b643c") (:authors ("Ha-Duong Nguyen ")) (:maintainer "Ha-Duong Nguyen ") (:keywords "extensions" "tools") (:url . "https://github.com/cmpitg/wand"))]) + (wallpreview . [(20220703 1108) ((emacs (24 4))) "Set wallpapers with image-dired" single ((:commit . "6eae0549afdfe725b453ca4fb0878c728735892d") (:url . "https://github.com/nryotaro/wallpreview"))]) + (wand . [(20220519 1214) nil "Magic wand for Emacs - Select and execute" tar ((:commit . "e4afc0469c818e7ce73ef31c38d911477947d72e") (:authors ("Ha-Duong Nguyen ")) (:maintainer "Ha-Duong Nguyen ") (:keywords "extensions" "tools") (:url . "https://github.com/cmpitg/wand"))]) (wandbox . [(20170603 1231) ((emacs (24)) (request (0 3 0)) (s (1 10 0))) "Wandbox client" tar ((:commit . "e002fe41f2cd9b4ce2b1dc80b83301176e9117f1") (:authors ("KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com")) (:maintainer "KOBAYASHI Shigeru (kosh)" . "shigeru.kb@gmail.com") (:keywords "tools") (:url . "https://github.com/kosh04/emacs-wandbox"))]) - (wanderlust . [(20220103 800) ((emacs (24 5)) (apel (10 8)) (flim (1 14 9)) (semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "638d089bba25ce8184c981d0721eba6417b3d7e2"))]) + (wanderlust . [(20220720 1344) ((emacs (24 5)) (apel (10 8)) (flim (1 14 9)) (semi (1 14 7))) "Yet Another Message Interface on Emacsen" tar ((:commit . "a3847bf379ac92e39ac7188071707551d1628ccb"))]) (warm-night-theme . [(20161101 1428) ((emacs (24))) "Emacs 24 theme with a dark background." single ((:commit . "020f084d23409b5035150508ba6e57c2509edd64") (:authors ("martin haesler")) (:maintainer "martin haesler"))]) (watch-buffer . [(20120331 2044) nil "run a shell command when saving a buffer" single ((:commit . "761fd7252e6d7bf5148283c2a7ee935f087d9427") (:authors ("Michael Steger" . "mjsteger1@gmail.com")) (:maintainer "Michael Steger" . "mjsteger1@gmail.com") (:keywords "automation" "convenience") (:url . "https://github.com/mjsteger/watch-buffer"))]) (wavefront-obj-mode . [(20170808 1716) nil "Major mode for Wavefront obj files" single ((:commit . "34027915de6496460d8e68b5991dd24d47d54859") (:authors ("Sasha Kovar" . "sasha-emacs@arcocene.org")) (:maintainer "Sasha Kovar" . "sasha-emacs@arcocene.org") (:url . "http://github.com/abend/wavefront-obj-mode"))]) @@ -4962,7 +5034,7 @@ (web . [(20141231 2001) ((dash (2 9 0)) (s (1 5 0))) "useful HTTP client" single ((:commit . "483188dac4bc6b409b985c9dae45f3324a425efd") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "lisp" "http" "hypermedia") (:url . "http://github.com/nicferrier/emacs-web"))]) (web-beautify . [(20161115 2247) nil "Format HTML, CSS and JavaScript/JSON" single ((:commit . "e1b45321d8c11b404b12c8e55afe55eaa7c84ee9") (:authors ("Yasuyuki Oka" . "yasuyk@gmail.com")) (:maintainer "Yasuyuki Oka" . "yasuyk@gmail.com") (:url . "https://github.com/yasuyk/web-beautify"))]) (web-completion-data . [(20160318 848) nil "Shared completion data for ac-html and company-web" tar ((:commit . "c272c94e8a71b779c29653a532f619acad433a4f") (:authors ("Olexandr Sydorchuk" . "olexandr.syd@gmail.com")) (:maintainer "Olexandr Sydorchuk" . "olexandr.syd@gmail.com") (:keywords "html" "auto-complete" "company") (:url . "https://github.com/osv/web-completion-data"))]) - (web-mode . [(20220319 653) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "efa853e5cfff8e0bcacbda9d1c6696b33da91b03") (:authors ("François-Xavier Bois")) (:maintainer "François-Xavier Bois" . "fxbois@gmail.com") (:keywords "languages") (:url . "https://web-mode.org"))]) + (web-mode . [(20220615 602) ((emacs (23 1))) "major mode for editing web templates" single ((:commit . "7b5459f58c381f31eed257480b000a9a46209094") (:authors ("François-Xavier Bois")) (:maintainer "François-Xavier Bois" . "fxbois@gmail.com") (:keywords "languages") (:url . "https://web-mode.org"))]) (web-mode-edit-element . [(20190531 852) ((emacs (24 4)) (web-mode (14))) "Helper-functions for attribute- and element-handling" tar ((:commit . "ad5d7e4dc2420bdd00ce65d9adffbd38a5904afa") (:authors ("Julian T. Knabenschuh" . "jtkdevelopments@gmail.com")) (:maintainer "Julian T. Knabenschuh" . "jtkdevelopments@gmail.com") (:keywords "languages" "convenience") (:url . "https://github.com/jtkDvlp/web-mode-edit-element"))]) (web-narrow-mode . [(20170407 210) ((web-mode (14 0 27))) "quick narrow code block in web-mode" single ((:commit . "73bdcb7d0701abe65dab4fc295d944885e05ae33") (:authors ("Qquanwei" . "quanwei9958@126.com")) (:maintainer "Johan Andersson" . "quanwei9958@126.com") (:keywords "web-mode" "react" "narrow" "web") (:url . "https://github.com/Qquanwei/web-narrow-mode"))]) (web-search . [(20190620 602) ((emacs (24 3))) "Open a web search" tar ((:commit . "a22cbdc663a1895d5a5b69de91e1e3b9eb64b92f") (:authors ("Xu Chunyang" . "mail@xuchunyang.me")) (:maintainer "Xu Chunyang" . "mail@xuchunyang.me") (:keywords "web" "search") (:url . "https://github.com/xuchunyang/web-search.el"))]) @@ -4971,7 +5043,7 @@ (weblio . [(20210718 1410) ((request (0 3 3)) (emacs (25 1))) "Look up Japanese words on Weblio.jp" single ((:commit . "2b4b0c206440b5c63960214feacfceb0c26231c7") (:authors ("Simon Zelazny")) (:maintainer "Simon Zelazny") (:keywords "langauges" "i18n") (:url . "https://github.com/pzel/weblio"))]) (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"))]) (weblorg . [(20220312 2008) ((templatel (0 1 6)) (emacs (26 1))) "Static Site Generator for org-mode" tar ((:commit . "b2bb79ed2c532cad5b03455d8cae887ddb803db3") (:authors ("Lincoln Clarete" . "lincoln@clarete.li")) (:maintainer "Lincoln Clarete" . "lincoln@clarete.li") (:url . "https://emacs.love/weblorg"))]) - (webpaste . [(20211211 658) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "78272662e6992b8614e79a571ff2395fa9630357") (:authors ("Elis \"etu\" Hirwing" . "elis@hirwing.se")) (:maintainer "Elis \"etu\" Hirwing" . "elis@hirwing.se") (:keywords "convenience" "comm" "paste") (:url . "https://github.com/etu/webpaste.el"))]) + (webpaste . [(20220524 1745) ((emacs (24 4)) (request (0 2 0)) (cl-lib (0 5))) "Paste to pastebin-like services" single ((:commit . "d96da58fe42988d5c433c71ee9f8e6fb75d595a9") (:authors ("Elis \"etu\" Hirwing" . "elis@hirwing.se")) (:maintainer "Elis \"etu\" Hirwing" . "elis@hirwing.se") (:keywords "convenience" "comm" "paste") (:url . "https://github.com/etu/webpaste.el"))]) (websocket . [(20210110 17) ((cl-lib (0 5))) "Emacs WebSocket client and server" single ((:commit . "82b370602fa0158670b1c6c769f223159affce9b") (:authors ("Andrew Hyatt" . "ahyatt@gmail.com")) (:maintainer "Andrew Hyatt" . "ahyatt@gmail.com") (:keywords "communication" "websocket" "server") (:url . "https://github.com/ahyatt/emacs-websocket"))]) (wedge-ws . [(20140714 2149) nil "Wedge whitespace between columns in text" single ((:commit . "4669115f02d9c6fee067cc5369bb38c0f9db88b2") (:authors ("Anders Eurenius" . "aes@spotify.com")) (:maintainer "Anders Eurenius" . "aes@spotify.com") (:keywords "formatting" "indentation"))]) (weechat . [(20190520 1551) ((s (1 3 1)) (cl-lib (0 2)) (emacs (24)) (tracking (1 2))) "Chat via WeeChat's relay protocol in Emacs" tar ((:commit . "d9a13306ea8be27367f92e9202d116a88fa1f441") (:authors ("Moritz Ulrich" . "moritz@tarn-vedra.de") ("Rüdiger Sonderfeld" . "ruediger@c-plusplus.de") ("Aristid Breitkreuz" . "aristidb@gmail.com")) (:maintainer "Moritz Ulrich" . "moritz@tarn-vedra.de") (:keywords "irc" "chat" "network" "weechat") (:url . "https://github.com/the-kenny/weechat.el"))]) @@ -4984,21 +5056,22 @@ (wgrep-helm . [(20210322 2148) ((wgrep (2 1 1))) "Writable helm-grep-mode buffer and apply the changes to files" single ((:commit . "f9687c28bbc2e84f87a479b6ce04407bb97cfb23") (:authors ("Masahiro Hayashi" . "mhayashi1120@gmail.com")) (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "grep" "edit" "extensions") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-helm.el"))]) (wgrep-pt . [(20200128 109) ((wgrep (2 1 5))) "Writable pt buffer and apply the changes to files" single ((:commit . "f9687c28bbc2e84f87a479b6ce04407bb97cfb23") (:authors ("Masahiro Hayashi , Bailey Ling" . "bling@live.ca")) (:maintainer "Masahiro Hayashi , Bailey Ling" . "bling@live.ca") (:keywords "grep" "edit" "extensions") (:url . "http://github.com/mhayashi1120/Emacs-wgrep/raw/master/wgrep-pt.el"))]) (what-the-commit . [(20150901 1316) nil "Random commit message generator" single ((:commit . "868c80a1b8614bcbd2225cd0290142c72f2a7956") (:authors ("Dan Barbarito" . "dan@barbarito.me")) (:maintainer "Dan Barbarito" . "dan@barbarito.me") (:keywords "git" "commit" "message") (:url . "http://barbarito.me/"))]) - (which-key . [(20220419 227) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "129f4ebfc74f207ac82978f6d90d8b4bb1a55cf9") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))]) + (which-key . [(20220518 1941) ((emacs (24 4))) "Display available keybindings in popup" single ((:commit . "1ab1d0cc88843c9a614ed3226c5a1070e32e4823") (:authors ("Justin Burkett" . "justin@burkett.cc")) (:maintainer "Justin Burkett" . "justin@burkett.cc") (:url . "https://github.com/justbur/emacs-which-key"))]) (which-key-posframe . [(20210615 944) ((emacs (26 0)) (posframe (0 4 3)) (which-key (3 3 2))) "Using posframe to show which-key" single ((:commit . "90e85d74899fc23d95798048cc0bbdb4bab9c1b7") (:authors ("Yanghao Xie")) (:maintainer "Yanghao Xie" . "yhaoxie@gmail.com") (:keywords "convenience" "bindings" "tooltip") (:url . "https://github.com/yanghaoxie/which-key-posframe"))]) + (whiley-mode . [(20220501 2219) ((emacs (24 1))) "Major mode for Whiley language" single ((:commit . "69eb67cf41dad029f1456079aea62a4b61ca9b46") (:authors ("David J. Pearce" . "dave01001110@gmail.com")) (:maintainer "David J. Pearce" . "dave01001110@gmail.com") (:keywords "languages") (:url . "http://github.com/Whiley/WhileyEmacsMode"))]) (whitaker . [(20210203 1149) ((emacs (25))) "Comint interface for Whitaker's Words" single ((:commit . "a6fda24ccb69a18c0706633326d5cc4fcfaed83a") (:authors ("Matus Goljer" . "matus.goljer@gmail.com")) (:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:keywords "processes"))]) (white-sand-theme . [(20210131 813) ((emacs (24))) "Emacs theme with a light background." single ((:commit . "729dd52cc1936250183d6761eed406c4be514a71") (:authors ("Martin Haesler")) (:maintainer "Martin Haesler"))]) (white-theme . [(20160917 1743) ((emacs (24))) "Minimalistic light color theme inspired by basic-theme" single ((:commit . "e9e6d5b9d43da6eb15e86f5fbc8b1ba83abe8c78") (:authors ("Anler Hernandez Peral" . "inbox@anler.me")) (:maintainer "Anler Hernandez Peral" . "inbox@anler.me") (:keywords "color" "theme" "minimal" "basic" "simple" "white") (:url . "http://github.com/anler/white-theme.el"))]) - (whitespace-cleanup-mode . [(20210510 533) ((emacs (24 1))) "Intelligently call whitespace-cleanup on save" single ((:commit . "b2e35321f03914cae90be4f942d911b7e7175899") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))]) + (whitespace-cleanup-mode . [(20210510 533) ((emacs (24 1))) "Intelligently call whitespace-cleanup on save" single ((:commit . "f60154a992ca4048c71e3815a628be2ec9185c79") (:authors ("Steve Purcell" . "steve@sanityinc.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience") (:url . "https://github.com/purcell/whitespace-cleanup-mode"))]) (whizzml-mode . [(20201013 239) ((emacs (24 4))) "Programming mode for editing WhizzML files" tar ((:commit . "3dce3be0c32b9b2d259e462b4b27c530af47466a") (:authors ("Jose Antonio Ortega Ruiz" . "jao@bigml.com")) (:maintainer "Jose Antonio Ortega Ruiz" . "jao@bigml.com") (:keywords "languages" "lisp"))]) (whois . [(20211104 812) ((emacs (24))) "Syntax highlighted domain name queries using system whois" single ((:commit . "f22244202fdac5064d5eff95c6f35ae887b01142") (:authors ("Lassi Kortela" . "lassi@lassi.io")) (:maintainer "Lassi Kortela" . "lassi@lassi.io") (:keywords "network" "comm") (:url . "https://github.com/lassik/emacs-whois"))]) (whole-line-or-region . [(20201214 650) ((emacs (24 1)) (cl-lib (0 6))) "Operate on current line if region undefined" single ((:commit . "500ad90695e8a5a0cefabb7500158eab0835a0ce") (:authors ("Joe Casadonte" . "emacs@northbound-train.com")) (:maintainer "Steve Purcell" . "steve@sanityinc.com") (:keywords "convenience" "wp") (:url . "https://github.com/purcell/whole-line-or-region"))]) - (why-this . [(20220314 1329) ((emacs (27 2))) "Why is this line here? Ask version control" single ((:commit . "ca4cf46d6e7b961a0c0fa39ac084fdca3c8c93b2") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:keywords "tools" "convenience" "vc") (:url . "https://codeberg.org/akib/emacs-why-this"))]) + (why-this . [(20220722 1608) ((emacs (27 1))) "Why is this line here? Ask version control" single ((:commit . "4552587fd48263509cbaf2edfbfaf4536049cb20") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:keywords "tools" "convenience" "vc") (:url . "https://codeberg.org/akib/emacs-why-this"))]) (wide-column . [(20170925 1613) nil "Calls functions dependant on column position." single ((:commit . "ce9ef4675485a7bea381077866368ef875226b10") (:authors ("Phillip Lord" . "p.lord@russet.org.uk")) (:maintainer "Phillip Lord" . "p.lord@russet.org.uk") (:keywords "minor mode" "cursor colour" "column width"))]) (widget-mvc . [(20150102 406) nil "MVC framework for the emacs widgets" single ((:commit . "ff5a85880df7b87f9f480fe3c28438a0712b7b87") (:authors ("SAKURAI Masashi ")) (:maintainer "SAKURAI Masashi ") (:keywords "lisp" "widget"))]) (wiki-nav . [(20200309 1323) ((button-lock (1 0 2)) (nav-flash (1 0 0))) "Simple file navigation using [[WikiStrings]]" single ((:commit . "9afe0f4d05910b0cccc94cb6d4d880119f3b0528") (:authors ("Roland Walker" . "walker@pobox.com")) (:maintainer "Roland Walker" . "walker@pobox.com") (:keywords "mouse" "button" "hypermedia" "navigation") (:url . "http://github.com/rolandwalker/button-lock"))]) (wiki-summary . [(20181010 1824) ((emacs (24))) "View Wikipedia summaries in Emacs easily." single ((:commit . "fa41ab6e50b3b80e54148af9d4bac18fd0405000") (:authors ("Danny Gratzer")) (:maintainer "Danny Gratzer") (:keywords "wikipedia" "utility") (:url . "https://github.com/jozefg/wiki-summary.el"))]) - (wikinfo . [(20220121 2017) ((emacs (27 1))) "Scrape Wikipedia Infoboxes" single ((:commit . "b149228023d4abb29555ce69877df521887cafe9") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:keywords "org" "convenience") (:url . "https://github.com/progfolio/wikinfo"))]) + (wikinfo . [(20220629 1826) ((emacs (27 1))) "Scrape Wikipedia Infoboxes" single ((:commit . "bd5d58bbee4eb7eaa923b3c310aa8d3082a6333e") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:keywords "org" "convenience") (:url . "https://github.com/progfolio/wikinfo"))]) (wikinforg . [(20220322 946) ((emacs (27 1)) (wikinfo (0 0 0)) (org (9 3))) "Org-mode wikinfo integration" single ((:commit . "9a5bfe36d59dc845b8da1951bed327f3a9071534") (:authors ("Nicholas Vollmer" . "progfolio@protonmail.com")) (:maintainer "Nicholas Vollmer" . "progfolio@protonmail.com") (:keywords "org" "convenience") (:url . "https://github.com/progfolio/wikinforg"))]) (wilt . [(20180220 854) ((emacs (24 3)) (dash (2 12 0)) (s (1 10 0))) "An extensions for calculating WILT in a buffer." single ((:commit . "04dbe37fa35d0b24c791421785d2c97a8cbfe2cc") (:authors ("Austin Bingham" . "austin@sixty-north.com")) (:maintainer "Austin Bingham" . "austin@sixty-north.com") (:url . "https://github.com/sixty-north/emacs-wilt"))]) (win-switch . [(20161009 1627) nil "fast, dynamic bindings for window-switching/resizing" single ((:commit . "954eb5e4c5737f0c06368c42a7f1c3dd374d782f") (:authors ("Christopher Genovese" . "genovese@cmu.edu")) (:maintainer "Christopher R. Genovese" . "genovese@cmu.edu") (:keywords "window" "switch" "key bindings" "ergonomic" "efficient") (:url . "http://www.stat.cmu.edu/~genovese/emacs/win-switch/"))]) @@ -5017,9 +5090,9 @@ (winpoint . [(20131023 1713) nil "Remember buffer positions per-window, not per buffer" single ((:commit . "e6050093c076308184566fa1d1012423d6934773") (:authors ("Jorgen Schaefer" . "forcer@forcix.cx")) (:maintainer "Jorgen Schaefer" . "forcer@forcix.cx") (:keywords "convenience") (:url . "https://github.com/jorgenschaefer/winpoint"))]) (winring . [(20180530 18) nil "Window configuration rings" single ((:commit . "f2d072bd446b73e93b127523f19ea82b99b9267f") (:authors ("1997-2018 Barry A. Warsaw")) (:maintainer "1997-2018 Barry A. Warsaw") (:keywords "frames" "tools") (:url . "https://gitlab.com/warsaw/winring"))]) (winum . [(20190911 1607) ((cl-lib (0 5)) (dash (2 13 0))) "Navigate windows and frames using numbers." single ((:commit . "c5455e866e8a5f7eab6a7263e2057aff5f1118b9") (:authors ("Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com")) (:maintainer "Thomas de Beauchêne" . "thomas.de.beauchene@gmail.com") (:keywords "convenience" "frames" "windows" "multi-screen") (:url . "http://github.com/deb0ch/winum.el"))]) - (wisp-mode . [(20220208 636) ((emacs (24 4))) "Tools for wisp: the Whitespace-to-Lisp preprocessor" single ((:commit . "d266109b95e73281ae3aa1ed9a023346b6d39d28") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de") (:keywords "languages" "lisp" "scheme") (:url . "http://www.draketo.de/english/wisp"))]) + (wisp-mode . [(20220529 1522) ((emacs (24 4))) "Tools for wisp: the Whitespace-to-Lisp preprocessor" single ((:commit . "1a01003d400db8a42838cabcb26c06d627246a17") (:authors ("Arne Babenhauserheide" . "arne_bab@web.de")) (:maintainer "Arne Babenhauserheide" . "arne_bab@web.de") (:keywords "languages" "lisp" "scheme") (:url . "http://www.draketo.de/english/wisp"))]) (wispjs-mode . [(20170720 1919) ((clojure-mode (0))) "Major mode for Wisp code." single ((:commit . "60f9f5fd9d1556e2d008939f67eb1b1d0f325fa8") (:authors ("Kris Jenkins" . "krisajenkins@gmail.com")) (:maintainer "Kris Jenkins" . "krisajenkins@gmail.com") (:url . "https://github.com/krisajenkins/wispjs-mode"))]) - (with-editor . [(20220422 1628) ((emacs (25 1)) (compat (28 1 1 0))) "Use the Emacsclient as $EDITOR" tar ((:commit . "54d1e816ac0f3203f0065ea9e6a551b9d103dad4") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "processes" "terminals") (:url . "https://github.com/magit/with-editor"))]) + (with-editor . [(20220608 1017) ((emacs (25 1)) (compat (28 1 1 0))) "Use the Emacsclient as $EDITOR" tar ((:commit . "cfcbc2731e402b9169c0dc03e89b5b57aa988502") (:authors ("Jonas Bernoulli" . "jonas@bernoul.li")) (:maintainer "Jonas Bernoulli" . "jonas@bernoul.li") (:keywords "processes" "terminals") (:url . "https://github.com/magit/with-editor"))]) (with-emacs . [(20200210 1543) ((emacs (24 4))) "Evaluate Emacs Lisp expressions in a separate Emacs process" single ((:commit . "9f99bec56f87e53deb9f33b364eda77677a17eb9") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "tools") (:url . "https://github.com/twlz0ne/with-emacs.el"))]) (with-namespace . [(20130407 1822) ((dash (1 1 0)) (loop (1 1))) "interoperable elisp namespaces" single ((:commit . "8ac52da3a09cf46087720e30cf730d00f140cde6") (:authors ("Wilfred Hughes" . "me@wilfred.me.uk")) (:maintainer "Wilfred Hughes" . "me@wilfred.me.uk") (:keywords "namespaces"))]) (with-proxy . [(20200510 414) ((emacs (24 4))) "Evaluate expressions with proxy" single ((:commit . "93b1ed2f3060f305009fa71f4fb5bb10173a10e3") (:authors ("Gong Qijian" . "gongqijian@gmail.com")) (:maintainer "Gong Qijian" . "gongqijian@gmail.com") (:keywords "comm") (:url . "https://github.com/twlz0ne/with-proxy.el"))]) @@ -5027,32 +5100,33 @@ (with-simulated-input . [(20210527 2320) ((emacs (24 4))) "A macro to simulate user input non-interactively" single ((:commit . "0f43fe46d4ab098c18a90b9df18cb96bab8e4a35") (:authors ("Ryan C. Thompson" . "rct@thompsonclan.org") ("Nikita Bloshchanevich" . "nikblos@outlook.com")) (:maintainer "Ryan C Thompson" . "rct@thompsonclan.org") (:keywords "lisp" "tools" "extensions") (:url . "https://github.com/DarwinAwardWinner/with-simulated-input"))]) (with-venv . [(20210925 2336) ((cl-lib (0 5)) (emacs (24 4))) "Execute with Python virtual environment activated" single ((:commit . "4a59ef8251f10ea772d4f504beeab08edf1f223e") (:authors ("10sr <8.slashes [at] gmail [dot] com>")) (:maintainer "10sr <8.slashes [at] gmail [dot] com>") (:keywords "processes" "python" "venv") (:url . "https://github.com/10sr/with-venv-el"))]) (wn-mode . [(20151110 552) ((emacs (24))) "numeric window switching shortcuts" single ((:commit . "f05c3151523e529af5a0a3fa8c948b61fb369f6e") (:authors ("Anonymous")) (:maintainer "Luís Oliveira" . "luismbo@gmail.com") (:keywords "buffers" "windows" "switching-windows") (:url . "https://github.com/luismbo/wn-mode"))]) - (wolfram . [(20190805 1007) nil "Wolfram Alpha Integration" single ((:commit . "a172712d5045834f5434cca2843a7c3506805db8") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com") (:keywords "math"))]) + (wolfram . [(20220621 1228) nil "Wolfram Alpha Integration" single ((:commit . "b1d9905666eb075fb2f40d09beec272200f6eb3b") (:authors ("Hans Sjunnesson" . "hans.sjunnesson@gmail.com")) (:maintainer "Hans Sjunnesson" . "hans.sjunnesson@gmail.com") (:keywords "math"))]) (wolfram-mode . [(20180307 13) ((emacs (24 3))) "Mathematica editing and inferior mode." single ((:commit . "be680190cac6ccf579dbce107deaae495928d1b3") (:authors ("Daichi Mochihashi ")) (:maintainer "Daichi Mochihashi ") (:keywords "languages" "processes" "tools") (:url . "https://github.com/kawabata/wolfram-mode/"))]) (wonderland . [(20130913 119) ((dash (2 0 0)) (dash-functional (1 0 0)) (multi (2 0 0)) (emacs (24))) "declarative configuration for Emacsen" single ((:commit . "89d274ad694b0e748efdac23ccd60b7d8b73d7c6") (:authors ("Christina Whyte" . "kurisu.whyte@gmail.com")) (:maintainer "Christina Whyte" . "kurisu.whyte@gmail.com") (:keywords "configuration" "profile" "wonderland") (:url . "http://github.com/kurisuwhyte/emacs-wonderland"))]) - (wordel . [(20220225 1907) ((emacs (27 1))) "An Elisp implementation of \"Wordle\" (aka \"Lingo\")" tar ((:commit . "5a1f9a45c3d1fa58c3de5183c4456572ae861d49") (:authors ("Nicholas Vollmer" . "iarchivedmywholelife@gmail.com")) (:maintainer "Nicholas Vollmer" . "iarchivedmywholelife@gmail.com") (:keywords "games") (:url . "https://github.com/progfolio/wordel"))]) + (wordel . [(20220508 1745) ((emacs (27 1))) "An Elisp implementation of \"Wordle\" (aka \"Lingo\")" tar ((:commit . "d37187bb5abb2fe4a8ba120fad9e52dd74cc220e") (:authors ("Nicholas Vollmer" . "iarchivedmywholelife@gmail.com")) (:maintainer "Nicholas Vollmer" . "iarchivedmywholelife@gmail.com") (:keywords "games") (:url . "https://github.com/progfolio/wordel"))]) (wordgen . [(20170803 1820) ((emacs (24)) (cl-lib (0 5))) "Random word generator" single ((:commit . "aacad928ae99a953e034a831dfd0ebdf7d52ac1d") (:authors ("Fanael Linithien" . "fanael4@gmail.com")) (:maintainer "Fanael Linithien" . "fanael4@gmail.com") (:url . "https://github.com/Fanael/wordgen.el"))]) (wordnut . [(20180313 443) ((emacs (24 4))) "Major mode interface to WordNet" tar ((:commit . "feac531404041855312c1a046bde7ea18c674915"))]) - (wordreference . [(20220424 1712) ((emacs (27 1)) (s (1 12 0))) "Interface for wordreference.com" single ((:commit . "33303dc1ee71bb78b6a9bf96b22b3bd6a62203a8") (:authors ("Marty Hiatt ")) (:maintainer "Marty Hiatt ") (:keywords "convenience" "translate") (:url . "https://codeberg.org/martianh/wordreference.el"))]) + (wordreference . [(20220804 946) ((emacs (27 1)) (s (1 12 0))) "Interface for wordreference.com" single ((:commit . "6bb88a37895b62350650447fff124ce06c7e1ec8") (:authors ("Marty Hiatt ")) (:maintainer "Marty Hiatt ") (:keywords "convenience" "translate" "wp" "dictionary") (:url . "https://codeberg.org/martianh/wordreference.el"))]) (wordsmith-mode . [(20210715 1517) nil "Syntax analysis and NLP text-processing in Emacs (OSX-only)" single ((:commit . "5d40ceaa2b8d41ab3634ca377ceb6a74deeb2287") (:authors ("istib" . "istib@thebati.net")) (:maintainer "istib" . "istib@thebati.net"))]) (worf . [(20220102 835) ((swiper (0 11 0)) (ace-link (0 1 0)) (hydra (0 13 0)) (zoutline (0 1 0))) "A warrior does not press so many keys! (in org-mode)" tar ((:commit . "8681241e118585824cd256e5b026978bf06c7e58") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "lisp") (:url . "https://github.com/abo-abo/worf"))]) (workgroups . [(20110726 1641) nil "workgroups for windows (for Emacs)" single ((:commit . "9572b3492ee09054dc329f64ed846c962b395e39") (:authors ("tlh" . "thunkout@gmail.com")) (:maintainer "tlh" . "thunkout@gmail.com") (:keywords "session" "management" "window-configuration" "persistence"))]) - (workgroups2 . [(20220423 1150) ((emacs (25 1))) "save&load multiple named workspaces (or \"workgroups\")" tar ((:commit . "ccd6948c92ea21d0dec56dff029b3f46df408de5") (:authors ("Sergey Pashinin ")) (:maintainer "Sergey Pashinin ") (:keywords "session" "management" "window-configuration" "persistence") (:url . "https://github.com/pashinin/workgroups2"))]) + (workgroups2 . [(20220702 842) ((emacs (25 1))) "save&load multiple named workspaces (or \"workgroups\")" tar ((:commit . "a8a4d07bff27f72970fe7e204997f1ba0e80263b") (:authors ("Sergey Pashinin ")) (:maintainer "Sergey Pashinin ") (:keywords "session" "management" "window-configuration" "persistence") (:url . "https://github.com/pashinin/workgroups2"))]) + (workroom . [(20220608 1718) ((emacs (25 1))) "Named rooms for work without irrelevant distracting buffers" single ((:commit . "e1092127bdf93d8f1ae0c58ec595d0181f606f1e") (:authors ("Akib Azmain Turja" . "akib@disroot.org")) (:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:keywords "tools" "convenience") (:url . "https://codeberg.org/akib/emacs-workroom"))]) (world-time-mode . [(20140627 807) nil "show whole days of world-time diffs" single ((:commit . "ce7a3b45c87eb24cfe61eee453175d64f741d7cc") (:authors ("Nic Ferrier" . "nferrier@ferrier.me.uk")) (:maintainer "Nic Ferrier" . "nferrier@ferrier.me.uk") (:keywords "tools" "calendar"))]) (wotd . [(20170328 1948) ((emacs (24 4)) (org (8 2 10))) "Fetch word-of-the-day from multiple online sources" single ((:commit . "d2937a3d91e014f8028a1f33d21c18cc0b065a64") (:authors ("Junpeng Qiu" . "qjpchmail@gmail.com")) (:maintainer "Junpeng Qiu" . "qjpchmail@gmail.com") (:keywords "extensions"))]) (wrap-region . [(20140117 720) ((dash (1 0 3))) "Wrap text with punctation or tag" single ((:commit . "fbae9b0f106187af19823f1a6260b5c68b7252e6") (:authors ("Johan Andersson" . "johan.rejeep@gmail.com")) (:maintainer "Johan Andersson" . "johan.rejeep@gmail.com") (:keywords "speed" "convenience") (:url . "http://github.com/rejeep/wrap-region"))]) (writefreely . [(20190628 1606) ((emacs (24 3)) (org (9 0)) (ox-gfm (0 0)) (request (0 3))) "Push your Org files as markdown to a writefreely instance" single ((:commit . "83a487e48e0d8342c372deb74d04c0b43474268c") (:authors ("Daniel Gomez ")) (:maintainer "Daniel Gomez ") (:keywords "convenience") (:url . "https://github.com/dangom/writefreely.el"))]) - (writegood-mode . [(20210418 110) nil "Polish up poor writing on the fly" single ((:commit . "ed42d918d98826ad88928b7af9f2597502afc6b0") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:keywords "writing" "weasel-words" "grammar") (:url . "http://github.com/bnbeckwith/writegood-mode"))]) - (writeroom-mode . [(20210927 1301) ((emacs (25 1)) (visual-fill-column (2 2))) "Minor mode for distraction-free writing" tar ((:commit . "eac1da790f316f357ed76ed67fbb790d6a4d126a") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text") (:url . "https://github.com/joostkremers/writeroom-mode"))]) + (writegood-mode . [(20220511 2109) nil "Polish up poor writing on the fly" single ((:commit . "d54eadeedb8bf3aa0e0a584c0a7373c69644f4b8") (:authors ("Benjamin Beckwith")) (:maintainer "Benjamin Beckwith") (:keywords "writing" "weasel-words" "grammar") (:url . "http://github.com/bnbeckwith/writegood-mode"))]) + (writeroom-mode . [(20220426 2046) ((emacs (25 1)) (visual-fill-column (2 2))) "Minor mode for distraction-free writing" tar ((:commit . "1fd52848eb58301c864712fd26c4ec37a938cc19") (:authors ("Joost Kremers" . "joostkremers@fastmail.fm")) (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:keywords "text") (:url . "https://github.com/joostkremers/writeroom-mode"))]) (ws-butler . [(20201117 1528) nil "Unobtrusively remove trailing whitespace." single ((:commit . "e3a38d93e01014cd47bf5af4924459bd145fd7c4") (:authors ("Le Wang")) (:maintainer "Le Wang") (:url . "https://github.com/lewang/ws-butler"))]) (wsd-mode . [(20191031 1211) nil "Emacs major-mode for www.websequencediagrams.com" tar ((:commit . "53330a2a43c4875f8682457df1a869a4c9028660") (:authors ("Jostein Kjønigsen" . "jostein@gmail.com")) (:maintainer "Jostein Kjønigsen" . "jostein@gmail.com") (:keywords "wsd" "diagrams" "design" "process" "modelling" "uml") (:url . "https://github.com/josteink/wsd-mode"))]) (wttrin . [(20170614 1206) ((emacs (24 4)) (xterm-color (1 0))) "Emacs frontend for weather web service wttr.in" single ((:commit . "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc") (:authors ("Carl X. Su" . "bcbcarl@gmail.com") ("ono hiroko (kuanyui)" . "azazabc123@gmail.com")) (:maintainer "Carl X. Su" . "bcbcarl@gmail.com") (:keywords "comm" "weather" "wttrin") (:url . "https://github.com/bcbcarl/emacs-wttrin"))]) - (wucuo . [(20211201 1214) ((emacs (25 1))) "Fastest solution to spell check camel case code or plain text" tar ((:commit . "09fc58a02621b6c9615f8289c457e30ca6f63bcb") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "http://github.com/redguardtoo/wucuo"))]) - (wwg . [(20210614 1527) ((emacs (25 1))) "Writer word goals" single ((:commit . "46c8a7c71275ced2c662c1222d4b85319f80dd83") (:authors (nil . "Andrea andrea-dev@hotmail.com>")) (:maintainer nil . "Andrea andrea-dev@hotmail.com>") (:keywords "wp") (:url . "https://github.com/ag91/writer-word-goals"))]) + (wucuo . [(20220728 1358) ((emacs (25 1))) "Fastest solution to spell check camel case code or plain text" tar ((:commit . "a7fe5428c88522a121c22b5811cb499a16fd8fa8") (:authors ("Chen Bin ")) (:maintainer "Chen Bin ") (:keywords "convenience") (:url . "http://github.com/redguardtoo/wucuo"))]) + (wwg . [(20210614 1527) ((emacs (25 1))) "Writer word goals" single ((:commit . "cf29c6ae6f8d92f012feecec1dccb23b7e93c86f") (:authors (nil . "Andrea andrea-dev@hotmail.com>")) (:maintainer nil . "Andrea andrea-dev@hotmail.com>") (:keywords "wp") (:url . "https://github.com/ag91/writer-word-goals"))]) (wwtime . [(20151122 1610) nil "Insert a time of day with appropriate world-wide localization" single ((:commit . "d04d8fa814b5d3644efaeb28f25520ada69acbbd") (:authors ("Norman Walsh" . "ndw@nwalsh.com")) (:maintainer "Norman Walsh" . "ndw@nwalsh.com") (:keywords "time"))]) (www-synonyms . [(20170128 2251) ((request (0 2 0)) (cl-lib (0 5))) "insert synonym for a word" single ((:commit . "7e37ea35064ff31c9945f0198a653647d408c936") (:authors ("Bernhard Specht" . "bernhard@specht.net")) (:maintainer "Bernhard Specht" . "bernhard@specht.net") (:keywords "lisp"))]) - (x-path-walker . [(20201220 628) ((helm-core (1 9 2))) "Navigation feature for JSON/XML/HTML based on path (imenu like)" tar ((:commit . "e553968b6ddebe39ea00904a2e9ff4cff6096985") (:authors (nil . "")) (:maintainer nil . "") (:keywords "convenience"))]) - (x509-mode . [(20210407 627) ((emacs (24 1)) (cl-lib (0 5))) "View certificates, CRLs and keys using OpenSSL." tar ((:commit . "470769edba111aed8eabce58a3f2a02da0767624") (:authors ("Fredrik Axelsson" . "f.axelsson@gmai.com")) (:maintainer "Fredrik Axelsson" . "f.axelsson@gmai.com") (:url . "https://github.com/jobbflykt/x509-mode"))]) + (x-path-walker . [(20220714 1056) ((helm-core (3 6 0))) "Navigation feature for JSON/XML/HTML based on path (imenu like)" tar ((:commit . "c91deaaba0d5cc9018008a39c96222deacba3868") (:authors (nil . "")) (:maintainer nil . "") (:keywords "convenience"))]) + (x509-mode . [(20220705 757) ((emacs (24 3))) "View certificates, CRLs and keys using OpenSSL" tar ((:commit . "49fbab6166d03e5d4c8b856de6ef04b99ba16eb4") (:authors ("Fredrik Axelsson" . "f.axelsson@gmai.com")) (:maintainer "Fredrik Axelsson" . "f.axelsson@gmai.com") (:url . "https://github.com/jobbflykt/x509-mode"))]) (x86-lookup . [(20210412 2022) ((emacs (24 3)) (cl-lib (0 3))) "jump to x86 instruction documentation" single ((:commit . "1573d61cc4457737b94624598a891c837fb52c16") (:authors ("Christopher Wellons" . "wellons@nullprogram.com")) (:maintainer "Christopher Wellons" . "wellons@nullprogram.com") (:url . "https://github.com/skeeto/x86-lookup"))]) (xbm-life . [(20210508 1640) ((emacs (24 1))) "A XBM version of Conway's Game of Life" single ((:commit . "ec6abb0182068294a379cb49ad5346b1d757457d") (:authors ("Vasilij Schneidermann" . "mail@vasilij.de")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "games") (:url . "https://depp.brause.cc/xbm-life"))]) (xcode-mode . [(20160907 1208) ((emacs (24 4)) (s (1 10 0)) (dash (2 11 0)) (multiple-cursors (1 0 0))) "A minor mode for emacs to perform Xcode like actions." single ((:commit . "2ae4f512d6c601ea39d5ab785c2b5288eac24b59") (:authors ("Nickolas Lanasa" . "nick@nytekproductions.com")) (:maintainer "Nickolas Lanasa" . "nick@nytekproductions.com") (:keywords "conveniences"))]) @@ -5060,7 +5134,7 @@ (xcscope . [(20210719 828) nil "cscope interface for (X)Emacs" single ((:commit . "d228d7593d762e457340f678d14b663ef66d7cee") (:authors ("Darryl Okahata" . "darrylo@sonic.net") ("Dima Kogan" . "dima@secretsauce.net")) (:maintainer "Dima Kogan" . "dima@secretsauce.net") (:keywords "languages" "c") (:url . "https://github.com/dkogan/xcscope.el"))]) (xenops . [(20220421 1320) ((emacs (26 1)) (aio (1 0)) (auctex (12 2 0)) (avy (0 5 0)) (dash (2 18 0)) (f (0 20 0)) (s (1 12 0))) "A LaTeX editing environment for mathematical documents" tar ((:commit . "a2c685b3bb2257da49af771caa02325aa41fa699") (:authors ("Dan Davison" . "dandavison7@gmail.com")) (:maintainer "Dan Davison" . "dandavison7@gmail.com") (:url . "https://github.com/dandavison/xenops"))]) (xhair . [(20210801 222) ((emacs (24 3)) (vline (1 0))) "Highlight the current line and column" single ((:commit . "c7bd7c501c3545aa99dadac386c882fe7c5edd9c") (:keywords "convenience" "faces" "maint") (:url . "https://github.com/Boruch-Baum/emacs-xhair"))]) - (xkcd . [(20220106 952) ((json (1 3))) "View xkcd from Emacs" single ((:commit . "688d0b4ea234adda0c05784e6bb22ab9d71f0884") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:keywords "xkcd" "webcomic") (:url . "https://github.com/vibhavp/emacs-xkcd"))]) + (xkcd . [(20220503 1109) ((json (1 3))) "View xkcd from Emacs" single ((:commit . "80011da2e7def8f65233d4e0d790ca60d287081d") (:authors ("Vibhav Pant" . "vibhavp@gmail.com")) (:maintainer "Vibhav Pant" . "vibhavp@gmail.com") (:keywords "xkcd" "webcomic") (:url . "https://github.com/vibhavp/emacs-xkcd"))]) (xmind-org . [(20201202 1605) ((emacs (27 1)) (org-ml (5 3)) (dash (2 12))) "Import XMind mindmaps into Org" single ((:commit . "ee09e382b3fefb67ccf3cd4db96a8dd2acc34045") (:authors ("Akira Komamura" . "akira.komamura@gmail.com")) (:maintainer "Akira Komamura" . "akira.komamura@gmail.com") (:keywords "outlines" "wp" "files") (:url . "https://github.com/akirak/xmind-org-el"))]) (xml+ . [(20170727 2351) ((emacs (24 4)) (dash (2 12 0))) "Utilities for xml and html trees" single ((:commit . "232fa863c08fc159b21dd58c39ea45dce3334895") (:authors ("Ben Dean" . "bendean837@gmail.com")) (:maintainer "Ben Dean" . "bendean837@gmail.com") (:keywords "xml" "html") (:url . "https://github.com/bddean/xml-plus"))]) (xml-format . [(20191011 1148) ((emacs (25)) (reformatter (0 4))) "XML reformatter using xmllint" single ((:commit . "2861c4e33e18b077112efa072316b031bca4236c") (:authors ("wouter bolsterlee" . "wouter@bolsterl.ee")) (:maintainer "wouter bolsterlee" . "wouter@bolsterl.ee") (:keywords "languages") (:url . "https://github.com/wbolster/emacs-xml-format"))]) @@ -5073,7 +5147,7 @@ (xquery-mode . [(20170214 1119) ((cl-lib (0 5))) "A simple mode for editing xquery programs" single ((:commit . "1b655ccf83d02a7bd473d2cf02359ed60bdf7369") (:url . "https://github.com/xquery-mode/xquery-mode"))]) (xquery-tool . [(20200907 811) nil "A simple interface to saxonb's xquery." single ((:commit . "885184298ce1b6eb5d18922ea331623973082a15") (:authors ("Patrick McAllister" . "pma@rdorte.org")) (:maintainer "Patrick McAllister" . "pma@rdorte.org") (:keywords "xml" "xquery" "emacs") (:url . "https://github.com/paddymcall/xquery-tool.el"))]) (xref-js2 . [(20210310 1238) ((emacs (25 1)) (js2-mode (20150909))) "Jump to references/definitions using ag & js2-mode's AST" single ((:commit . "fd6b723e7f1f9793d189a815e1904364dc026b03") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:keywords "javascript" "convenience" "tools") (:url . "https://github.com/NicolasPetton/xref-js2"))]) - (xref-rst . [(20220406 2311) ((emacs (28 1))) "Lookup reStructuredText symbols" single ((:commit . "7964709276ff033cd138efabfafb4f2179e75c22") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://gitlab.com/ideasman42/emacs-xref-rst"))]) + (xref-rst . [(20220710 1033) ((emacs (28 1))) "Lookup reStructuredText symbols" single ((:commit . "e1dd4439e535185a0cd195bb392f70982cf5aadc") (:authors ("Campbell Barton" . "ideasman42@gmail.com")) (:maintainer "Campbell Barton" . "ideasman42@gmail.com") (:url . "https://codeberg.org/ideasman42/emacs-xref-rst"))]) (xresources-theme . [(20190108 1851) nil "Use your .Xresources as your emacs theme" single ((:commit . "5239acb51aa2dfa89a207e57012108d8fcf60562") (:authors ("Marten Lienen" . "marten.lienen@gmail.com")) (:maintainer "Marten Lienen" . "marten.lienen@gmail.com") (:keywords "xresources" "theme"))]) (xterm-color . [(20200605 2017) ((emacs (24 4))) "ANSI, XTERM 256 and Truecolor support" single ((:commit . "1a4012854c69a5cdaeb5a73d2ad705011892fca3") (:authors ("xristos" . "xristos@sdf.org")) (:maintainer "xristos" . "xristos@sdf.org") (:keywords "faces") (:url . "https://github.com/atomontage/xterm-color"))]) (xterm-keybinder . [(20160523 56) ((emacs (24 3)) (cl-lib (0 5)) (let-alist (1 0 1))) "Let you extra keybinds in xterm/urxvt" tar ((:commit . "b29c4f700b0fa0c9f627f6725b36462b8fab06d6") (:authors ("Yuta Yamada ")) (:maintainer "Yuta Yamada ") (:keywords "convenient"))]) @@ -5089,9 +5163,10 @@ (yagist . [(20160418 508) ((cl-lib (0 3))) "Yet Another Emacs integration for gist.github.com" single ((:commit . "dcdbd84f348414815d02f3da8a6ee0ac271632d4") (:maintainer "Masahiro Hayashi" . "mhayashi1120@gmail.com") (:keywords "tools") (:url . "https://github.com/mhayashi1120/yagist.el"))]) (yahtzee . [(20220221 803) ((emacs (24 3))) "The yahtzee game" single ((:commit . "9b42ba4612d3043464414c08a3d60f6ad594566c") (:authors ("Dimitar Dimitrov" . "mail.mitko@gmail.com")) (:maintainer "Dimitar Dimitrov" . "mail.mitko@gmail.com") (:keywords "games") (:url . "https://github.com/drdv/yahtzee"))]) (yalinum . [(20130217 1043) nil "yet another display line numbers." single ((:commit . "d3e0cbe3f4f5ca311e3298e684901d6fea3ad973") (:authors ("tm8st" . "tm8st@hotmail.co.jp")) (:maintainer "tm8st" . "tm8st@hotmail.co.jp") (:keywords "convenience" "tools"))]) - (yaml . [(20220311 332) ((emacs (25 1))) "YAML parser for Elisp" single ((:commit . "34c300b08579b72c7c92aefee1f4b500913f0c85") (:authors ("Zachary Romero" . "zkry@posteo.org")) (:maintainer "Zachary Romero" . "zkry@posteo.org") (:keywords "tools") (:url . "https://github.com/zkry/yaml.el"))]) + (yaml . [(20220720 2359) ((emacs (25 1))) "YAML parser for Elisp" single ((:commit . "73fde9d8fbbaf2596449285df9eb412ae9dd74d9") (:authors ("Zachary Romero" . "zkry@posteo.org")) (:maintainer "Zachary Romero" . "zkry@posteo.org") (:keywords "tools") (:url . "https://github.com/zkry/yaml.el"))]) (yaml-imenu . [(20220406 1703) ((emacs (24 4)) (yaml-mode (0))) "Enhancement of the imenu support in yaml-mode." tar ((:commit . "c1fbba8b03a7bef4fc2b87404914fa9c6eb67b55") (:authors ("Akinori MUSHA" . "knu@iDaemons.org")) (:maintainer "Akinori MUSHA" . "knu@iDaemons.org") (:keywords "outlining" "convenience" "imenu") (:url . "https://github.com/knu/yaml-imenu.el"))]) (yaml-mode . [(20220104 1503) ((emacs (24 1))) "Major mode for editing YAML files" single ((:commit . "535273d5a1eb76999d20afbcf4d9f056d8ffd2da") (:authors ("Yoshiki Kurihara" . "clouder@gmail.com") ("Marshall T. Vandegrift" . "llasram@gmail.com")) (:maintainer "Vasilij Schneidermann" . "mail@vasilij.de") (:keywords "data" "yaml") (:url . "https://github.com/yoshiki/yaml-mode"))]) + (yaml-pro . [(20220722 334) ((emacs (26 1)) (yaml (0 5 1))) "Parser-aided YAML editing features" tar ((:commit . "3e698c625c716a1f85e64b9b839241cb56f0db92") (:authors ("Zachary Romero")) (:maintainer "Zachary Romero") (:keywords "tools") (:url . "https://github.com/zkry/yaml-pro"))]) (yaml-tomato . [(20151123 753) ((s (1 9))) "copy or show the yaml path currently under cursor." single ((:commit . "f9df1c9bdfcec629b03031b2d2032f9dc533cb14") (:authors ("qrczeno")) (:maintainer "qrczeno") (:keywords "yaml"))]) (yang-mode . [(20190507 724) nil "major mode for editing YANG files" single ((:commit . "4b4ab4d4a79d37d6c31c6ea7cccbc425e0b1eded") (:authors ("Martin Bjorklund" . "mbj4668@gmail.com")) (:maintainer "Martin Bjorklund" . "mbj4668@gmail.com"))]) (yankpad . [(20220201 2104) ((emacs (25 1))) "Paste snippets from an org-mode file" single ((:commit . "927e6d26956ac7219b8a69d641acf486854fba16") (:authors ("Erik Sjöstrand")) (:maintainer "Erik Sjöstrand") (:keywords "abbrev" "convenience") (:url . "http://github.com/Kungsgeten/yankpad"))]) @@ -5100,10 +5175,10 @@ (yard-mode . [(20170817 1237) nil "Minor mode for Ruby YARD comments" single ((:commit . "ba74a47463b0320ae152bd42a7dd7aeecd7b5748") (:authors ("Kyle Hargraves")) (:maintainer "Kyle Hargraves") (:url . "https://github.com/pd/yard-mode.el"))]) (yari . [(20151128 739) nil "Yet Another RI interface for Emacs" single ((:commit . "a2cb9656ee5dfe1fc2ee3854f3079a1c8e85dbe9") (:authors ("Aleksei Gusev" . "aleksei.gusev@gmail.com")) (:maintainer "Aleksei Gusev" . "aleksei.gusev@gmail.com") (:keywords "tools"))]) (yarn-mode . [(20200208 2332) ((emacs (24 3))) "Major mode for yarn.lock files." single ((:commit . "8239d4dc7d8a52fa1e3fa81bd32c904a359fcfc1") (:authors ("Nicolás Salas V." . "nikosalas@gmail.com")) (:maintainer "Nicolás Salas V." . "nikosalas@gmail.com") (:keywords "convenience") (:url . "https://github.com/anachronic/yarn-mode"))]) - (yascroll . [(20220212 1742) ((emacs (26 1))) "Yet Another Scroll Bar Mode" single ((:commit . "25f6bf7415f6821a4097037a8decd03813d08722") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacsorphanage/yascroll"))]) + (yascroll . [(20220212 1742) ((emacs (26 1))) "Yet Another Scroll Bar Mode" single ((:commit . "48cad7618fece0d86023d0b1e0f1f0e37f63d2f5") (:authors ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")) (:maintainer "Shen, Jen-Chieh" . "jcs090218@gmail.com") (:keywords "convenience") (:url . "https://github.com/emacsorphanage/yascroll"))]) (yasnippet . [(20200604 246) ((cl-lib (0 5))) "Yet another snippet extension for Emacs" single ((:commit . "5cbdbf0d2015540c59ed8ee0fcf4788effdf75b6") (:maintainer "Noam Postavsky" . "npostavs@gmail.com") (:keywords "convenience" "emulation") (:url . "http://github.com/joaotavora/yasnippet"))]) (yasnippet-lean . [(20220105 2251) ((yasnippet (0 8 0))) "Collection of snippets for the Lean prover" tar ((:commit . "c75485757cc8675ad4f36c1eb028d9d54dc21733") (:maintainer "Simon Hudon" . "simon.hudon@gmail.com") (:keywords "convenience" "snippets" "leanprover") (:url . "https://github.com/leanprover-community/yasnippet-lean"))]) - (yasnippet-snippets . [(20220401 1534) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "c5bf4c4085aa61b9c07563de89f7aacc2a357db5") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com") (:keywords "snippets") (:url . "https://github.com/AndreaCrotti/yasnippet-snippets"))]) + (yasnippet-snippets . [(20220713 1234) ((yasnippet (0 8 0))) "Collection of yasnippet snippets" tar ((:commit . "cd665c9cba4bab646f6d50ac098bee63573a4ca5") (:authors ("Andrea Crotti" . "andrea.crotti.0@gmail.com")) (:maintainer "Andrea Crotti" . "andrea.crotti.0@gmail.com") (:keywords "snippets") (:url . "https://github.com/AndreaCrotti/yasnippet-snippets"))]) (yatemplate . [(20211115 1208) ((yasnippet (0 8 1)) (emacs (24 3))) "File templates with yasnippet" single ((:commit . "275745ce1482edc08efb0b7807bc86d832bcc734") (:authors ("Wieland Hoffmann" . "themineo+yatemplate@gmail.com")) (:maintainer "Wieland Hoffmann" . "themineo+yatemplate@gmail.com") (:keywords "files" "convenience") (:url . "https://github.com/mineo/yatemplate"))]) (yatex . [(20211203 2212) nil "Yet Another tex-mode for emacs //野鳥//" tar ((:commit . "907de32064c99c25fb49072438be7c1034892af3"))]) (yaxception . [(20150105 1452) nil "Provide framework about exception like Java for Elisp" single ((:commit . "4e94cf3e0b9b5631b0e90eb4b7de597ee7185875") (:authors ("Hiroaki Otsu" . "ootsuhiroaki@gmail.com")) (:maintainer "Hiroaki Otsu" . "ootsuhiroaki@gmail.com") (:keywords "exception" "error" "signal") (:url . "https://github.com/aki2o/yaxception"))]) @@ -5122,10 +5197,9 @@ (ytel . [(20200725 1056) ((emacs (25 3))) "Query YouTube via Invidious" single ((:commit . "d40bc7ead8d4d7e4d16b03b66a93d63bef51cc5f") (:authors ("Gabriele Rastello")) (:maintainer "Gabriele Rastello") (:keywords "youtube" "matching" "multimedia") (:url . "https://github.com/grastello/ytel"))]) (z3-mode . [(20211116 138) ((flycheck (0 23)) (emacs (24))) "A z3/SMTLIBv2 interactive development environment" single ((:commit . "0356cbe1e1e2b780ba0ddb4aaa055fa246a67931") (:authors ("Zephyr Pellerin" . "zephyr.pellerin@gmail.com")) (:maintainer "Zephyr Pellerin" . "zephyr.pellerin@gmail.com") (:keywords "z3" "yices" "mathsat" "smt" "beaver") (:url . "https://github.com/zv/z3-mode"))]) (zeal-at-point . [(20180131 2354) nil "Search the word at point with Zeal" single ((:commit . "0fc3263f44e95acd3e9d91057677621ce4d297ee") (:authors ("Jinzhu" . "wosmvp@gmail.com")) (:maintainer "Jinzhu" . "wosmvp@gmail.com") (:url . "https://github.com/jinzhu/zeal-at-point"))]) - (zel . [(20171014 832) ((emacs (25)) (frecency (0 1))) "Access frecent files easily" single ((:commit . "9dae2d212224d1deae1f62561fa8e4d689fd09f2") (:authors ("Sebastian Christ" . "rudolfo.christ@gmail.com")) (:maintainer "Sebastian Christ" . "rudolfo.christ@gmail.com") (:keywords "convenience" "files" "matching") (:url . "https://github.com/rudolfochrist/zel"))]) (zen-and-art-theme . [(20120622 1437) nil "zen and art color theme for GNU Emacs 24" single ((:commit . "a7226cbce0bca2501d69a620cb2aeabfc396c232") (:authors ("Nick Parker")) (:maintainer "Nick Parker"))]) (zen-mode . [(20200609 822) ((emacs (24 3))) "A major mode for the Zen programming language" single ((:commit . "c1b1806358f3cce6c04b30699987d82dc7d42559") (:authors ("Andrea Orru , Andrew Kelley , kristopher tate , Yoshitaka Takemoto" . "yt.3b8@connectfree.co.jp")) (:maintainer "Andrea Orru , Andrew Kelley , kristopher tate , Yoshitaka Takemoto" . "yt.3b8@connectfree.co.jp") (:keywords "zen" "languages") (:url . "https://github.com/zenlang/zen-mode"))]) - (zenburn-theme . [(20220412 2023) nil "A low contrast color theme for Emacs." single ((:commit . "89c0e39317850d5ccf14dcbbaff06b0a193454a6") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))]) + (zenburn-theme . [(20220710 623) nil "A low contrast color theme for Emacs." single ((:commit . "cff73bfea8deef2c97cc1ceac4b03702702c4a83") (:authors ("Bozhidar Batsov" . "bozhidar@batsov.com")) (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.com") (:url . "http://github.com/bbatsov/zenburn-emacs"))]) (zencoding-mode . [(20140213 822) nil "Unfold CSS-selector-like expressions to markup" single ((:commit . "58e42af182c98cb9941d27cd042d227fbf4e146c") (:authors ("Chris Done" . "chrisdone@gmail.com")) (:maintainer "Chris Done" . "chrisdone@gmail.com") (:keywords "convenience") (:url . "https://github.com/rooney/zencoding"))]) (zenity-color-picker . [(20160302 1154) ((emacs (24 4))) "Insert and adjust colors using Zenity" single ((:commit . "4f4f46676a461ebc881487fb70c8c181e323db5e") (:authors ("Samuel Laurén" . "samuel.lauren@iki.fi")) (:maintainer "Samuel Laurén" . "samuel.lauren@iki.fi") (:keywords "colors") (:url . "https://bitbucket.org/Soft/zenity-color-picker.el"))]) (zeno-theme . [(20211205 2148) ((emacs (24))) "A dark theme using different shades of blue" single ((:commit . "70fa7b7442f24ea25eab538b5a22da690745fef5") (:authors ("Bharat Joshi" . "jbharat@outlook.com")) (:maintainer "Bharat Joshi" . "jbharat@outlook.com") (:keywords "faces" "theme" "dark" "blue") (:url . "https://github.com/jbharat/zeno-theme"))]) @@ -5133,16 +5207,22 @@ (zephir-mode . [(20200417 830) ((cl-lib (0 5)) (pkg-info (0 4)) (emacs (25 1))) "Major mode for editing Zephir code" tar ((:commit . "4e9618b77dff67c1c7b6fff78605a62311db88b8") (:authors ("Serghei Iakovlev" . "egrep@protonmail.ch")) (:maintainer "Serghei Iakovlev" . "egrep@protonmail.ch") (:keywords "languages") (:url . "https://github.com/zephir-lang/zephir-mode"))]) (zero-input . [(20200405 1220) ((emacs (24 3)) (s (1 2 0))) "Zero Chinese input method framework" single ((:commit . "729da9f4b99acb744ee6974ed7f3d4e252fd19da") (:url . "https://gitlab.emacsos.com/sylecn/zero-el"))]) (zerodark-theme . [(20211115 841) ((all-the-icons (2 0 0))) "A dark, medium contrast theme for Emacs" single ((:commit . "b463528704f6eb00684c0ee003fbd8e42901cde0") (:authors ("Nicolas Petton" . "nicolas@petton.fr")) (:maintainer "Nicolas Petton" . "nicolas@petton.fr") (:keywords "themes") (:url . "https://github.com/NicolasPetton/zerodark-theme"))]) - (zetteldeft . [(20220331 1903) ((emacs (25 1)) (deft (0 8)) (ace-window (0 7 0))) "Turn deft into a zettelkasten system" tar ((:commit . "9309bdb1cba8120b43158c09da86727c6bd42373") (:authors ("EFLS ")) (:maintainer "EFLS ") (:keywords "deft" "zettelkasten" "zetteldeft" "wp" "files") (:url . "https://efls.github.io/zetteldeft/"))]) - (zettelkasten . [(20210830 1025) ((emacs (25 1)) (s (1 10 0))) "Helper functions to organise notes in a Zettelkasten style" single ((:commit . "4048bf9e1be7ab759696a9541eec8f435359bcf3") (:authors ("Yann Herklotz" . "yann@ymhg.org")) (:maintainer "Yann Herklotz" . "yann@ymhg.org") (:keywords "files" "hypermedia" "notes") (:url . "https://github.com/ymherklotz/emacs-zettelkasten"))]) + (zetteldeft . [(20220429 2057) ((emacs (25 1)) (deft (0 8)) (ace-window (0 7 0))) "Turn deft into a zettelkasten system" tar ((:commit . "86dd346be4bdddd6ac8d47503355fea350098271") (:authors ("EFLS ")) (:maintainer "EFLS ") (:keywords "deft" "zettelkasten" "zetteldeft" "wp" "files") (:url . "https://efls.github.io/zetteldeft/"))]) + (zetteldesk . [(20220703 1648) ((emacs (27 1)) (org-roam (2 0))) "A revision and outlining tool for org-roam" single ((:commit . "b9367a738628dbb569ab878b65240a567eadaaf6") (:authors ("Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com")) (:maintainer "Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com") (:url . "https://github.com/Vidianos-Giannitsis/zetteldesk.el"))]) + (zetteldesk-info . [(20220626 1100) ((zetteldesk (0 4)) (emacs (27 1))) "A zetteldesk extension for interacting with the info program" single ((:commit . "b9367a738628dbb569ab878b65240a567eadaaf6") (:authors ("Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com")) (:maintainer "Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com") (:url . "https://github.com/Vidianos-Giannitsis/zetteldesk-info.el"))]) + (zetteldesk-kb . [(20220703 1648) ((zetteldesk (1 0 1)) (hydra (0 15)) (major-mode-hydra (0 2)) (emacs (24 1))) "Keybindings for zetteldesk.el" single ((:commit . "b9367a738628dbb569ab878b65240a567eadaaf6") (:authors ("Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com")) (:maintainer "Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com") (:url . "https://github.com/Vidianos-Giannitsis/zetteldesk-kb.el"))]) + (zetteldesk-ref . [(20220619 2028) ((zetteldesk (1 0)) (bibtex-completion (1 0)) (emacs (26 1))) "A zetteldesk extension for interfacing with literature nodes" single ((:commit . "b9367a738628dbb569ab878b65240a567eadaaf6") (:authors ("Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com")) (:maintainer "Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com") (:url . "https://github.com/Vidianos-Giannitsis/zetteldesk-ref.el"))]) + (zetteldesk-remark . [(20220626 1100) ((zetteldesk (1 0)) (org-remark (1 0)) (emacs (27 2))) "Org-Remark integration for zetteldesk.el" single ((:commit . "b9367a738628dbb569ab878b65240a567eadaaf6") (:authors ("Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com")) (:maintainer "Vidianos Giannitsis" . "vidianosgiannitsis@gmail.com") (:url . "https://github.com/Vidianos-Giannitsis/zetteldesk-remark.el"))]) + (zettelkasten . [(20220727 1137) ((emacs (25 1)) (s (1 10 0))) "Helper functions to organise notes in a Zettelkasten style" single ((:commit . "edba7bcfdc054ad0ff1952bb525f5709a687db25") (:authors ("Yann Herklotz" . "yann@ymhg.org")) (:maintainer "Yann Herklotz" . "yann@ymhg.org") (:keywords "files" "hypermedia" "notes") (:url . "https://github.com/ymherklotz/emacs-zettelkasten"))]) (zetz-mode . [(20200823 536) ((emacs (25 1)) (dash (2 17 0)) (hydra (0 15 0))) "A major mode for the ZetZ programming language" single ((:commit . "04da33f4ffa9db5b3556f423276f4fd1db13ec67") (:keywords "languages" "programming") (:url . "https://github.com/damon-kwok/zetz-mode"))]) - (zig-mode . [(20211227 1108) ((emacs (24 3))) "A major mode for the Zig programming language" single ((:commit . "aa20d630b8c413dab8d6bd120ec3ed5db5c9da70") (:authors ("Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com")) (:maintainer "Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com") (:keywords "zig" "languages") (:url . "https://github.com/zig-lang/zig-mode"))]) + (zig-mode . [(20220521 1148) ((emacs (24 3))) "A major mode for the Zig programming language" single ((:commit . "dbc648f5bca8f3b9ca2cc7827f326f5530115144") (:authors ("Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com")) (:maintainer "Andrea Orru , Andrew Kelley" . "superjoe30@gmail.com") (:keywords "zig" "languages") (:url . "https://github.com/zig-lang/zig-mode"))]) (zim-wiki-mode . [(20211117 2000) ((emacs (25 1)) (helm-ag (0 58)) (helm-projectile (0 14 0)) (dokuwiki-mode (0 1 1)) (link-hint (0 1)) (pretty-hydra (0 2 2))) "Zim Desktop Wiki edit mode" single ((:commit . "aa906931f22c34d77c65bed31121edfef714e4e2") (:authors ("Will Foran" . "willforan+zim-wiki-mode@gmail.com")) (:maintainer "Will Foran" . "willforan+zim-wiki-mode@gmail.com") (:keywords "outlines") (:url . "https://github.com/WillForan/zim-wiki-mode"))]) (zimports . [(20211011 2059) ((emacs (26 1)) (projectile (2 1 0))) "Reformat python imports with zimports" single ((:commit . "76cf76bdc871cb0454a6fc555aeb1aa94f1b6e57") (:url . "https://github.com/schmir/zimports.el"))]) - (zk . [(20220423 944) ((emacs (24 4))) "Functions for working with Zettelkasten-style linked notes" single ((:commit . "404b52829ad58155f8ba40e507334267ad95e2a1") (:authors ("Grant Rosson ")) (:maintainer "Grant Rosson ") (:url . "https://github.com/localauthor/zk"))]) - (zk-index . [(20220423 1935) ((emacs (26 1)) (zk (0 3))) "Index and Desktop for zk" single ((:commit . "404b52829ad58155f8ba40e507334267ad95e2a1") (:authors ("Grant Rosson ")) (:maintainer "Grant Rosson ") (:url . "https://github.com/localauthor/zk"))]) + (zk . [(20220722 1626) ((emacs (24 4))) "Functions for working with Zettelkasten-style linked notes" single ((:commit . "d997b13e7a03f7c3c7411183641bd0dc89526ec9") (:authors ("Grant Rosson ")) (:maintainer "Grant Rosson ") (:url . "https://github.com/localauthor/zk"))]) + (zk-index . [(20220723 1824) ((emacs (27 1)) (zk (0 3))) "Index and Desktop for zk" single ((:commit . "d997b13e7a03f7c3c7411183641bd0dc89526ec9") (:authors ("Grant Rosson ")) (:maintainer "Grant Rosson ") (:url . "https://github.com/localauthor/zk"))]) + (zk-luhmann . [(20220713 1653) ((emacs (24 4)) (zk (0 4)) (zk-index (0 6))) "Support for Luhmann-style IDs in zk" single ((:commit . "566fa6a5933455a3f42f700bc91f9f9958878861") (:authors ("Grant Rosson ")) (:maintainer "Grant Rosson ") (:url . "https://github.com/localauthor/zk-luhmann"))]) (zlc . [(20151011 157) nil "Provides zsh like completion system to Emacs" single ((:commit . "4dd2ba267ecdeac845a7cbb3147294ee7daa25f4") (:authors ("mooz" . "stillpedant@gmail.com")) (:maintainer "mooz" . "stillpedant@gmail.com") (:keywords "matching" "convenience"))]) - (zmq . [(20210613 343) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "38dc6c4119aee57666caf8f97c8a3d7f678823e0") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:keywords "comm") (:url . "https://github.com/nnicandro/emacs-zmq"))]) + (zmq . [(20220510 1820) ((cl-lib (0 5)) (emacs (26))) "ZMQ bindings in elisp" tar ((:commit . "af5299d80715b1083a18145e9c84ef9563020676") (:authors ("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")) (:maintainer "Nathaniel Nicandro" . "nathanielnicandro@gmail.com") (:keywords "comm") (:url . "https://github.com/nnicandro/emacs-zmq"))]) (znc . [(20210803 159) ((cl-lib (0 2))) "ZNC + ERC" single ((:commit . "6f0949c393b7778a96033716787d152ada32f705") (:authors ("Yaroslav Shirokov")) (:maintainer "Yaroslav Shirokov") (:url . "https://github.com/sshirokov/ZNC.el"))]) (zombie . [(20141222 1616) nil "major mode for editing ZOMBIE programs" single ((:commit . "ff8cd1b4cdbb4b0b9b8fd1ec8f6fb93eba249345") (:authors ("zk_phi")) (:maintainer "zk_phi") (:url . "http://hins11.yu-yake.com/"))]) (zombie-trellys-mode . [(20150304 1448) ((emacs (24)) (cl-lib (0 5)) (haskell-mode (1 5))) "A minor mode for interaction with Zombie Trellys" single ((:commit . "7f0c45fdda3a44c3b6d1762d116abb1421b8fba2") (:authors ("David Raymond Christiansen" . "david@davidchristiansen.dk")) (:maintainer "David Raymond Christiansen" . "david@davidchristiansen.dk") (:keywords "languages"))]) @@ -5151,13 +5231,13 @@ (zone-select . [(20160118 1419) ((emacs (24 3)) (dash (2 8))) "Select zone programs." single ((:commit . "bf30da12f1625fe6563448fccf3c506acad10af7") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "games") (:url . "https://github.com/kawabata/zone-select"))]) (zone-sl . [(20160201 1210) ((emacs (24 3))) "Zone out with steam locomotives." single ((:commit . "7ec22e3661c6348382f9fc39a9d0063dbd2352ff") (:authors ("KAWABATA, Taichi ")) (:maintainer "KAWABATA, Taichi ") (:keywords "games") (:url . "https://github.com/kawabata/zone-sl"))]) (zoom . [(20220411 1126) ((emacs (24 4))) "Fixed and automatic balanced window layout" single ((:commit . "2104abb074682db79b9ff3a748e8e2e760a4d8cf") (:authors ("Andrea Cardaci" . "cyrus.and@gmail.com")) (:maintainer "Andrea Cardaci" . "cyrus.and@gmail.com") (:keywords "frames") (:url . "https://github.com/cyrus-and/zoom"))]) - (zoom-window . [(20201205 1038) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "402f85f5d7d18e26289adcd452d42c73dc1df580") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))]) + (zoom-window . [(20201205 1038) ((emacs (24 3))) "Zoom window like tmux" single ((:commit . "9b052ac33d4eafe724d0e37d3376926deba91676") (:authors ("Syohei YOSHIDA" . "syohex@gmail.com")) (:maintainer "Syohei YOSHIDA" . "syohex@gmail.com") (:url . "https://github.com/syohex/emacs-zoom-window"))]) (zop-to-char . [(20160212 1554) ((cl-lib (0 5))) "A replacement of zap-to-char." single ((:commit . "00152aa666354b27e56e20565f186b363afa0dce") (:authors ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") (:url . "https://github.com/thierryvolpiatto/zop-to-char"))]) (zotelo . [(20160602 949) ((cl-lib (0 5))) "Manage Zotero collections from emacs" single ((:commit . "d9dc089b9adfcc70a63f2a84269a12eb7cb4c748") (:authors ("Spinu Vitalie")) (:maintainer "Spinu Vitalie") (:keywords "zotero" "emacs" "reftex" "bibtex" "mozrepl" "bibliography manager") (:url . "https://github.com/vitoshka/zotelo"))]) (zotero . [(20211008 2207) ((emacs (27 1)) (ht (2 2)) (oauth (1 0 4)) (s (1 12 0))) "Library for the Zotero API" tar ((:commit . "811bd1f14b38c3dde3f80cd8a13490c9900de888") (:authors ("Folkert van der Beek" . "folkertvanderbeek@gmail.com")) (:maintainer "Folkert van der Beek" . "folkertvanderbeek@gmail.com") (:keywords "zotero" "hypermedia") (:url . "https://gitlab.com/fvdbeek/emacs-zotero"))]) (zotxt . [(20210908 402) ((request (0 3 2)) (deferred (0 5 1))) "Tools to integrate emacs with Zotero via the zotxt plugin." tar ((:commit . "96a132d6b39f6bc19a58913b761d42efc198f8a4") (:authors ("Erik Hetzner" . "egh@e6h.org")) (:maintainer "Erik Hetzner" . "egh@e6h.org") (:keywords "bib"))]) (zoutline . [(20220102 835) nil "Simple outline library." single ((:commit . "32857c6c4b9b0bcbed14d825a10b91a98d5fed0a") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "outline") (:url . "https://github.com/abo-abo/zoutline"))]) - (zoxide . [(20220302 522) ((emacs (25 1))) "Find file by zoxide" single ((:commit . "2133eb000b5239b08a1c2532629a19a19f8e6309") (:authors ("Ruoyu Feng" . "emacs@vonfry.name")) (:maintainer "Ruoyu Feng" . "emacs@vonfry.name") (:keywords "converience" "matching") (:url . "https://gitlab.com/Vonfry/zoxide.el"))]) + (zoxide . [(20220711 33) ((emacs (25 1))) "Find file by zoxide" single ((:commit . "b09c06962316d28b14ecbb2340af7c0636ab6d16") (:authors ("Ruoyu Feng" . "emacs@vonfry.name")) (:maintainer "Ruoyu Feng" . "emacs@vonfry.name") (:keywords "converience" "matching") (:url . "https://gitlab.com/Vonfry/zoxide.el"))]) (zpl-mode . [(20180906 1059) ((emacs (24 3))) "ZIMPL major mode" single ((:commit . "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e") (:url . "https://github.com/ax487/zpl-mode.git"))]) (zpresent . [(20200417 309) ((emacs (25 1)) (org-parser (0 4)) (dash (2 12 0)) (request (0 3 0))) "Simple presentation mode based on org files." single ((:commit . "406967322b7692492a5942d901335d626cace4d0") (:keywords "comm") (:url . "https://hg.sr.ht/~zck/zpresent"))]) (zprint-format . [(20210602 146) ((emacs (24)) (reformatter (0 3))) "Reformat Clojure code using zprint" single ((:commit . "6051a5709ea6182974d7239f26e04c9731e04447") (:authors ("Derek Passen" . "dpassen1@gmail.com")) (:maintainer "Derek Passen" . "dpassen1@gmail.com") (:keywords "clojure" "zprint" "tools" "languages") (:url . "http://www.github.com/dpassen/zprint-format"))]) diff --git a/code/elpa/archives/nongnu/archive-contents b/code/elpa/archives/nongnu/archive-contents index 743e885..4a24d68 100644 --- a/code/elpa/archives/nongnu/archive-contents +++ b/code/elpa/archives/nongnu/archive-contents @@ -28,13 +28,13 @@ (:authors ("Jordon Biondo" . "jordonbiondo@gmail.com")))]) (annotate . - [(1 5 3) + [(1 7 0) nil "annotate files without changing them" tar ((:url . "https://github.com/bastibe/annotate.el") (:maintainer "Bastian Bechtold , cage" . "cage-dev@twistfold.it") (:authors ("Bastian Bechtold")) - (:commit . "e694b977cc82887ce722912a2634ae4b0bc4f5ea"))]) + (:commit . "9bfa065a4e14f7e96c8ac487c4e54b084a02133c"))]) (anti-zenburn-theme . [(2 5 1) nil "Low-contrast Zenburn-inverted theme" tar @@ -60,12 +60,13 @@ ("Karl Chen" . "quarl@nospam.quarl.org")) (:keywords "languages" "faces"))]) (apropospriate-theme . - [(0 1 1) + [(0 2 0) nil "A light & dark theme set for Emacs." tar ((:url . "http://github.com/waymondo/apropospriate-theme") (:maintainer "Justin Talbott" . "justin@waymondo.com") (:authors - ("Justin Talbott" . "justin@waymondo.com")))]) + ("Justin Talbott" . "justin@waymondo.com")) + (:commit . "a03fd98f438806bfd74ed3cd0957de859ea7fd2f"))]) (arduino-mode . [(1 3 0) ((emacs @@ -149,12 +150,23 @@ ("Ian T Zimmerman" . "itz@rahul.net") ("Damien Doligez" . "damien.doligez@inria.fr")) (:keywords "ocaml"))]) + (cdlatex . + [(4 12) + ((auctex + (9 9))) + "Fast input methods for LaTeX environments and math" tar + ((:keywords "tex") + (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") + (:authors + ("Carsten Dominik" . "carsten.dominik@gmail.com")) + (:url . "https://elpa.nongnu.org/nongnu/cdlatex.html") + (:commit . "7791fa94d509f56ed671055e856c5d00c788dd7e"))]) (cider . - [(1 3 0) + [(1 4 1) ((emacs (26)) (clojure-mode - (5 12)) + (5 14)) (parseedn (1 0 6)) (queue @@ -176,16 +188,16 @@ ("Artur Malabarba" . "bruce.connor.am@gmail.com") ("Hugo Duncan" . "hugo@hugoduncan.org") ("Steve Purcell" . "steve@sanityinc.com")) - (:commit . "6ddccef1d8cf48515b1cfa0addc1dd41e57e840a"))]) + (:commit . "11156e7b0cab470f4aab39d3af5ee3cb1e0b09d0"))]) (clojure-mode . - [(5 14 0) + [(5 15 1) ((emacs (25 1))) "Major mode for Clojure code" tar ((:url . "http://github.com/clojure-emacs/clojure-mode") (:keywords "languages" "clojure" "clojurescript" "lisp") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") - (:commit . "b7d08b87f6a116ff47b33ee857926b60c66c3ab7"))]) + (:commit . "ad322e989e56c10c05bb286e5b55a82b1e031d62"))]) (coffee-mode . [(0 6 3) ((emacs @@ -207,6 +219,21 @@ (:maintainer "Julien Barnier") (:authors ("Julien Barnier")))]) + (corfu-terminal . + [(0 4) + ((emacs + (26 1)) + (corfu + (0 24)) + (popon + (0 1))) + "Corfu popup on terminal" tar + ((:url . "https://codeberg.org/akib/emacs-corfu-terminal") + (:keywords "convenience") + (:maintainer "Akib Azmain Turja" . "akib@disroot.org") + (:authors + ("Akib Azmain Turja" . "akib@disroot.org")) + (:commit . "7c5a8a1c07b6c1a41b358b083d5bf7773701d26b"))]) (crux . [(0 4 0) ((seq @@ -225,6 +252,19 @@ (:maintainer "Nicholas M. Van Horn" . "nvanhorn@protonmail.com") (:authors ("Nicholas M. Van Horn" . "nvanhorn@protonmail.com")))]) + (cycle-at-point . + [(0 1) + ((emacs + (28 1)) + (recomplete + (0 2))) + "Cycle (rotate) the thing under the cursor" tar + ((:url . "https://codeberg.com/ideasman42/emacs-cycle-at-point") + (:keywords "convenience") + (:maintainer "Campbell Barton") + (:authors + ("Campbell Barton")) + (:commit . "ea22b90f35f4cef73387047b3ef3fad83787d4e2"))]) (d-mode . [(202003130913) ((emacs @@ -245,6 +285,27 @@ (:authors ("https://github.com/bradyt/dart-mode/issues")) (:keywords "languages"))]) + (diff-ansi . + [(0 2) + ((emacs + (27 1))) + "Display diff's using alternative diffing tools" tar + ((:url . "https://codeberg.org/ideasman42/emacs-diff-ansi") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "71336e614e3150c47c58f99f2df10a3af73370ac"))]) + (doc-show-inline . + [(0 1) + ((emacs + (26 2))) + "Show doc-strings found in external files" tar + ((:url . "https://codeberg.com/ideasman42/emacs-doc-show-inline") + (:keywords "convenience") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "1c5837d2a667d977a1bd90ba44ebd911cc660f26"))]) (dockerfile-mode . [(1 5) ((emacs @@ -273,6 +334,16 @@ (:authors ("Arne Jørgensen" . "arne@arnested.dk")) (:commit . "ed90b0c4d808365e9ae9f16cc8a96eff17815621"))]) + (edit-indirect . + [(0 1 10) + ((emacs + (24 3))) + "Edit regions in separate buffers" tar + ((:url . "https://github.com/Fanael/edit-indirect") + (:maintainer "Fanael Linithien" . "fanael4@gmail.com") + (:authors + ("Fanael Linithien" . "fanael4@gmail.com")) + (:commit . "f80f63822ffae78de38dbe72cacaeb1aaa96c732"))]) (editorconfig . [(0 8 2) ((cl-lib @@ -295,7 +366,7 @@ (:keywords "languages" "elixir") (:commit . "1d94b525ddcc995b5a979de7b050c2309648ca6f"))]) (elpher . - [(3 3 3) + [(3 4 2) ((emacs (27 1))) "A friendly gopher and gemini client" tar @@ -304,12 +375,14 @@ (:maintainer "Tim Vaughan" . "plugd@thelambdalab.xyz") (:authors ("Tim Vaughan" . "plugd@thelambdalab.xyz")) - (:commit . "ab75cffa4572115c3d6b17348b6bfa2f746f4798"))]) + (:commit . "f117f2f53490dbe521d3a726362b37dba0cd418a"))]) (evil . - [(1 14 0) + [(1 15 0) nil "extensible vi layer" tar ((:url . "https://github.com/emacs-evil/evil") - (:keywords "emulation" "vim"))]) + (:keywords "emulation" "vim") + (:maintainer "Tom Dalziel" . "tom.dalziel@gmail.com") + (:commit . "008a6cdb12f15e748979a7d1c2f26c34c84dedbf"))]) (evil-anzu . [(0 2) ((evil @@ -385,10 +458,8 @@ (:authors ("Sylvain Benner" . "sylvain.benner@gmail.com")))]) (evil-matchit . - [(2 4 4) - ((evil - (1 14 0)) - (emacs + [(3 0 0) + ((emacs (25 1))) "Vim matchit ported to Evil" tar ((:url . "http://github.com/redguardtoo/evil-matchit") @@ -396,7 +467,7 @@ (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) - (:commit . "b314e816bacfc01bb7df9b19a06b18638af5cdbe"))]) + (:commit . "7a2a7384b6e752a805d6fbb78cf9425e54c2b18b"))]) (evil-nerd-commenter . [(3 5 7) ((emacs @@ -409,7 +480,7 @@ ("Chen Bin" . "chenbin.sh@gmail.com")) (:commit . "29ced6fda6a76771a8a054ef55c13a1330793d4d"))]) (evil-numbers . - [(0 6) + [(0 7) ((emacs (24 1)) (evil @@ -419,7 +490,8 @@ (:keywords "convenience" "tools") (:maintainer "Julia Path" . "julia@jpath.de") (:authors - ("Michael Markert" . "markert.michael@googlemail.com")))]) + ("Michael Markert" . "markert.michael@googlemail.com")) + (:commit . "61dde4e3715fd1255df8f87a37d9c8022e909bf4"))]) (evil-visualstar . [(0 2 0) ((evil @@ -439,6 +511,23 @@ (:maintainer "https://turbocafe.keybase.pub") (:authors ("https://turbocafe.keybase.pub")))]) + (flymake-popon . + [(0 3) + ((emacs + (26 1)) + (flymake + (1 2 2)) + (popon + (0 1)) + (posframe + (1 1 7))) + "Flymake diagnostics on cursor hover" tar + ((:url . "https://codeberg.org/akib/emacs-flymake-popon") + (:keywords "convenience") + (:maintainer "Akib Azmain Turja" . "akib@disroot.org") + (:authors + ("Akib Azmain Turja" . "akib@disroot.org")) + (:commit . "3255a917fc90d946a7a6f04ef7f7632c9a89ac94"))]) (forth-mode . [(0 2) nil "Programming language mode for Forth" tar @@ -460,7 +549,7 @@ ("Matus Goljer" . "matus.goljer@gmail.com")) (:commit . "6f9172376af4d399c7853cbdfdd7425348a878f9"))]) (geiser . - [(0 23 2) + [(0 24) ((emacs (25 1)) (transient @@ -473,7 +562,7 @@ (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:authors ("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) - (:commit . "bc0dde310492de733f9ec528d7aeddd57093d05e"))]) + (:commit . "d28d19b582347bffebbf0ca905297e744842a5f2"))]) (geiser-chez . [(0 17) ((emacs @@ -690,14 +779,15 @@ ("David Vazquez Pua" . "davazp@gmail.com")) (:commit . "fe8d7e2db5581cd0cb7a69563bc44f0669f76322"))]) (gruvbox-theme . - [(1 26 0) + [(1 27 0) ((autothemer (0 2))) "A retro-groove colour theme for Emacs" tar ((:url . "http://github.com/greduan/emacs-theme-gruvbox") (:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:authors - ("Jason Milkins" . "jasonm23@gmail.com")))]) + ("Jason Milkins" . "jasonm23@gmail.com")) + (:commit . "01bcb9ed82cf00be15900fbe9721f62a6d1fa673"))]) (guru-mode . [(1 0) nil "Become an Emacs guru" tar @@ -741,29 +831,29 @@ ((:url . "https://gitlab.com/tseenshe/haskell-tng-mode") (:keywords "languages"))]) (helm . - [(3 8 5) + [(3 8 7) ((helm-core - (3 8 4)) + (3 8 7)) (popup (0 5 3))) "Helm is an Emacs incremental and narrowing framework" tar ((:url . "https://emacs-helm.github.io/helm/") - (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") + (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:authors - ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - (:commit . "5e035c9193bf1e1d4bb709794a154957544dcfc7"))]) + ("Thierry Volpiatto" . "thievol@posteo.net")) + (:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118"))]) (helm-core . - [(3 8 5) + [(3 8 7) ((emacs (25 1)) (async (1 9 4))) "Development files for Helm" tar ((:url . "https://emacs-helm.github.io/helm/") - (:maintainer "Thierry Volpiatto" . "thierry.volpiatto@gmail.com") + (:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:authors - ("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - (:commit . "5e035c9193bf1e1d4bb709794a154957544dcfc7"))]) + ("Thierry Volpiatto" . "thievol@posteo.net")) + (:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118"))]) (highlight-parentheses . [(2 1 1) ((emacs @@ -775,6 +865,16 @@ (:authors ("Nikolaj Schumacher ")) (:commit . "438a1cb2563e2a2496be4678cc0df8d5b22caf5d"))]) + (hl-block-mode . + [(0 1) + ((emacs + (26 1))) + "Highlighting nested blocks" tar + ((:url . "https://codeberg.com/ideasman42/emacs-hl-block-mode") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "877e14c0645397aa8c1a45eb34ea70f3ecd21280"))]) (htmlize . [(1 57) nil "Convert buffer text and decorations to HTML." tar @@ -783,6 +883,17 @@ (:authors ("Hrvoje Niksic" . "hniksic@gmail.com")) (:keywords "hypermedia" "extensions"))]) + (idle-highlight-mode . + [(1 1 3) + ((emacs + (27 1))) + "Highlight the word the point is on" tar + ((:url . "https://codeberg.com/ideasman42/emacs-idle-highlight-mode") + (:keywords "convenience") + (:maintainer "Phil Hagelberg, Cornelius Mika, Campbell Barton") + (:authors + ("Phil Hagelberg, Cornelius Mika, Campbell Barton")) + (:commit . "f71e57554071a398dbc0e2d48a71908cf13541b4"))]) (idris-mode . [(1 1 0) ((emacs @@ -804,14 +915,42 @@ ("Victor Ren" . "victorhge@gmail.com")) (:commit . "699e179dac18c78698cba1a2052bee6f0bbc6bf7"))]) (inf-clojure . - [(3 1 0) + [(3 2 1) ((emacs (25 1)) (clojure-mode (5 11))) "Run an external Clojure process in an Emacs buffer" tar ((:url . "http://github.com/clojure-emacs/inf-clojure") - (:keywords "processes" "clojure"))]) + (:keywords "processes" "comint" "clojure") + (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") + (:commit . "151b20ba9d3ae39b88f91aecbab98bd5a5215f1a"))]) + (inf-ruby . + [(2 6 1) + ((emacs + (24 3))) + "Run a Ruby process in a buffer" tar + ((:url . "http://github.com/nonsequitur/inf-ruby") + (:keywords "languages" "ruby") + (:maintainer "Yukihiro Matsumoto") + (:authors + ("Yukihiro Matsumoto") + ("Nobuyoshi Nakada") + ("Cornelius Mika" . "cornelius.mika@gmail.com") + ("Dmitry Gutov" . "dgutov@yandex.ru") + ("Kyle Hargraves" . "pd@krh.me")) + (:commit . "4ddf6b3889004156a224e061c78357fa8936777a"))]) + (inkpot-theme . + [(0 1) + ((emacs + (24 1))) + "A port of vim's inkpot theme" tar + ((:url . "https://codeberg.com/ideasman42/emacs-inkpot-theme") + (:maintainer "Sarah Iovan" . "sarah@hwaetageek.com") + (:authors + ("Sarah Iovan" . "sarah@hwaetageek.com") + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "de745de9ab7f67431a5ce493a63be68d408ec40e"))]) (j-mode . [(1 1 1) nil "Major mode for editing J programs" tar @@ -852,7 +991,7 @@ ("Jonas Bernoulli" . "jonas@bernoul.li")) (:commit . "98c2dda1a2ca0fc95f7425847a36abad5b31a4c7"))]) (kotlin-mode . - [(1 0 0) + [(2 0 0) ((emacs (24 3))) "Major mode for kotlin" tar @@ -861,7 +1000,7 @@ (:authors ("Shodai Yokoyama" . "quantumcars@gmail.com")) (:url . "https://elpa.nongnu.org/nongnu/kotlin-mode.html") - (:commit . "b9d03a769b91c6b15e99a9cadb8b1618e5205595"))]) + (:commit . "d92c3b773473e9fe15f61f6177e4fbf097aadd05"))]) (lua-mode . [(20210802) ((emacs @@ -1032,8 +1171,31 @@ (:keywords "nix" "languages" "tools" "unix") (:maintainer "Matthew Bauer" . "mjbauer95@gmail.com") (:commit . "e4e604ae3ac91748c4e7d51a591cb9ee60961b7c"))]) + (oblivion-theme . + [(0 1) + ((emacs + (24 1))) + "A port of GEdit oblivion theme" tar + ((:url . "https://codeberg.com/ideasman42/emacs-oblivion-theme") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "3a1d67637ea4a6099a62de45842b8c5e4440ede4"))]) + (org-auto-tangle . + [(0 5 1) + ((emacs + (24 1)) + (async + (1 9 3))) + "Automatically and Asynchronously tangles org files on save" tar + ((:url . "https://github.com/yilkalargaw/org-auto-tangle") + (:keywords "outlines") + (:maintainer "Yilkal Argaw" . "yilkalargawworkneh@gmail.com") + (:authors + ("Yilkal Argaw" . "yilkalargawworkneh@gmail.com")) + (:commit . "bce665c79fc29f1e80f1eae7db7e91c56b0788fc"))]) (org-contrib . - [(0 3) + [(0 4) ((emacs (25 1)) (org @@ -1043,7 +1205,8 @@ (:keywords "org") (:maintainer "Bastien Guerry" . "bzg@gnu.org") (:authors - ("Bastien Guerry" . "bzg@gnu.org")))]) + ("Bastien Guerry" . "bzg@gnu.org")) + (:commit . "c6aef31ccfc7c4418c3b51e98f7c3bd8e255f5e6"))]) (org-drill . [(2 7 0) ((emacs @@ -1074,16 +1237,16 @@ ("Bastian Bechtold") ("Christian Schwarzgruber")))]) (org-mime . - [(0 2 6) + [(0 3 1) ((emacs (25 1))) "org html export for text/html MIME emails" tar ((:url . "http://github.com/org-mime/org-mime") (:keywords "mime" "mail" "email" "html") - (:maintainer "Chen Bin (redguardtoo)") + (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:authors ("Eric Schulte")) - (:commit . "3f1f3a38429da17811f61a7a5685224d79de9594"))]) + (:commit . "cf96f585c68ad14751a3f73d937cbfcb890171b9"))]) (org-present . [(0 1) ((org @@ -1203,6 +1366,17 @@ (:authors ("Eric James Michael Ritz")) (:keywords "languages" "php"))]) + (popon . + [(0 9) + ((emacs + (25 1))) + "\"Pop\" floating text \"on\" a window" tar + ((:url . "https://codeberg.org/akib/emacs-popon") + (:keywords "lisp" "extensions" "frames") + (:maintainer "Akib Azmain Turja" . "akib@disroot.org") + (:authors + ("Akib Azmain Turja" . "akib@disroot.org")) + (:commit . "b5b370077111ae65f50f8a3dca76e7c270ff0743"))]) (popup . [(0 5 9) ((emacs @@ -1223,6 +1397,13 @@ (:authors ("Bozhidar Batsov" . "bozhidar@batsov.dev")) (:keywords "project" "convenience"))]) + (proof-general . + [(4 5) + ((emacs + (25 2))) + "A generic Emacs interface for proof assistants" tar + ((:url . "https://proofgeneral.github.io/") + (:commit . "c366365aaddeb3a65dc0816c8f93ec209dc9de44"))]) (prop-menu . [(0 1 2) ((emacs @@ -1255,6 +1436,16 @@ (:authors ("Hinrik Örn Sigurðsson" . "hinrik.sig@gmail.com")) (:commit . "4ee9045eeb90f7831d7c0ee2e4adfcd957f712be"))]) + (recomplete . + [(0 2) + ((emacs + (26 1))) + "Immediately (re)complete actions" tar + ((:url . "https://codeberg.com/ideasman42/emacs-recomplete") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "2b38ca25e3392636fe936d3edad447970279a463"))]) (request . [(0 3 3) ((emacs @@ -1275,7 +1466,7 @@ ("Bozhidar Batsov")) (:keywords "project" "convenience"))]) (rust-mode . - [(1 0 4) + [(1 0 5) ((emacs (25 1))) "A major-mode for editing Rust source code" tar @@ -1284,7 +1475,7 @@ (:maintainer "Mozilla") (:authors ("Mozilla")) - (:commit . "e35a1800fc0f9ed178539d6fb82ed885c1014fb5"))]) + (:commit . "7bff48894dc532caf4010be3060370d315ef75f6"))]) (sass-mode . [(3 0 16) ((haml-mode @@ -1302,6 +1493,26 @@ nil "Major mode for editing Scala" tar ((:url . "https://github.com/hvesalai/emacs-scala-mode") (:keywords "languages"))]) + (scroll-on-drag . + [(0 1) + ((emacs + (26 2))) + "Interactive scrolling" tar + ((:url . "https://codeberg.com/ideasman42/emacs-scroll-on-drag") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "a668537a8da77e4425b6a4110bdaba598a295f9e"))]) + (scroll-on-jump . + [(0 1) + ((emacs + (26 2))) + "Scroll when jumping to a new point" tar + ((:url . "https://codeberg.com/ideasman42/emacs-scroll-on-jump") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "30e23e86949b1bd53906d3f9036dfb57213e336c"))]) (sesman . [(0 3 2) ((emacs @@ -1313,7 +1524,7 @@ (:authors ("Vitalie Spinu")))]) (shellcop . - [(0 0 9) + [(0 1 0) ((emacs (25 1))) "Analyze info&error in shell-mode" tar @@ -1322,7 +1533,7 @@ (:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:authors ("Chen Bin" . "chenbin.sh@gmail.com")) - (:commit . "327f5ac43e5d543149a772aef06cdb616477eb43"))]) + (:commit . "4e71f5b9199a0ad10017104a6b2bf5ef5f207dfc"))]) (slime . [(2 26 1) ((cl-lib @@ -1368,6 +1579,17 @@ (:authors ("Nasser Alshammari")) (:commit . "4857e6eb7ea20be3a2631beee42d0644dff7eb1b"))]) + (spell-fu . + [(0 3) + ((emacs + (26 2))) + "Fast & light spelling highlighter" tar + ((:url . "https://codeberg.org/ideasman42/emacs-spell-fu") + (:keywords "convenience") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "ddad489f2c87467480520502a93e682f81bfac18"))]) (stylus-mode . [(1 0 1) nil "Major mode for editing .styl files" tar @@ -1387,7 +1609,7 @@ ("John Olsson" . "john@cryon.se")) (:commit . "2d5acd143a153e16372d59000e57d76291ab81dd"))]) (subed . - [(1 0 5) + [(1 0 7) ((emacs (25 1))) "A major mode for editing subtitles" tar @@ -1396,9 +1618,9 @@ (:maintainer "Sacha Chua" . "sacha@sachachua.com") (:authors ("Random User")) - (:commit . "7a0c36c808e107b5851ba48ec3825dfa3c1a902e"))]) + (:commit . "eefe94f308d7006a498b17fc9acf01790b793bcd"))]) (swift-mode . - [(8 4 2) + [(8 6 0) ((emacs (24 4)) (seq @@ -1411,7 +1633,32 @@ ("taku0 (http://github.com/taku0)") ("Chris Barrett" . "chris.d.barrett@me.com") ("Bozhidar Batsov" . "bozhidar@batsov.com") - ("Arthur Evstifeev" . "lod@pisem.net")))]) + ("Arthur Evstifeev" . "lod@pisem.net")) + (:commit . "cdd194cbadcee724a9813da386f0a612082b1ab1"))]) + (swsw . + [(2 2) + ((emacs + (27 1))) + "Simple window switching" tar + ((:url . "https://dsemy.com/projects/swsw") + (:keywords "convenience") + (:maintainer "swsw Mailing List" . "~dsemy/swsw-devel@lists.sr.ht") + (:authors + ("Daniel Semyonov" . "daniel@dsemy.com")) + (:commit . "5faeffc16329a4a4946780c880c343a9fb95deb4"))]) + (symbol-overlay . + [(4 1) + ((emacs + (24 3)) + (seq + (2 2))) + "Highlight symbols with keymap-enabled overlays" tar + ((:url . "https://github.com/wolray/symbol-overlay/") + (:keywords "faces" "matching") + (:maintainer "wolray" . "wolray@foxmail.com") + (:authors + ("wolray" . "wolray@foxmail.com")) + (:commit . "d1464042783e252f5cac1fcac82fee16fc3534db"))]) (systemd . [(1 6) ((emacs @@ -1505,24 +1752,58 @@ (:maintainer "Mark Tran" . "mark.tran@gmail.com") (:authors ("Mark Tran" . "mark.tran@gmail.com")))]) + (undo-fu . + [(0 4) + ((emacs + (25 1))) + "Undo helper with redo" tar + ((:url . "https://codeberg.com/ideasman42/emacs-undo-fu") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "46de023b5f8ddb989eeff7665feeec2877d8eda8"))]) + (undo-fu-session . + [(0 2) + ((emacs + (28 1))) + "Persistent undo, available between sessions" tar + ((:url . "https://codeberg.com/ideasman42/emacs-undo-fu-session") + (:keywords "convenience") + (:maintainer "Campbell Barton" . "ideasman42@gmail.com") + (:authors + ("Campbell Barton" . "ideasman42@gmail.com")) + (:commit . "e2043f8350970e1a9ef06a94956a733826cdf32b"))]) (vc-fossil . - [(20210928) + [(20220707) nil "VC backend for the fossil sofware configuraiton management system" tar ((:maintainer "Alfred M. Szmidt" . "ams@gnu.org") (:authors ("Venkat Iyer" . "venkat@comit.com")) - (:url . "https://elpa.nongnu.org/nongnu/vc-fossil.html"))]) + (:url . "https://elpa.nongnu.org/nongnu/vc-fossil.html") + (:commit . "8ce6113aa272583130e5f929fefd67115c8f572a"))]) + (vcomplete . + [(1 2 1) + ((emacs + (25 1))) + "Visual completions" tar + ((:url . "https://dsemy.com/projects/vcomplete") + (:keywords "convenience" "matching") + (:maintainer "Vcomplete Mailing List" . "~dsemy/vcomplete-devel@lists.sr.ht") + (:authors + ("Daniel Semyonov" . "daniel@dsemy.com")) + (:commit . "8450b1befd46ac9754d57e2f98f150f33bb317ce"))]) (visual-fill-column . - [(2 4) + [(2 5) ((emacs (25 1))) "fill-column for visual-line-mode" tar ((:url . "https://codeberg.org/joostkremers/visual-fill-column") (:maintainer "Joost Kremers" . "joostkremers@fastmail.fm") (:authors - ("Joost Kremers" . "joostkremers@fastmail.fm")))]) + ("Joost Kremers" . "joostkremers@fastmail.fm")) + (:commit . "afaad5ac6b15cdf9f362662538e35d48578e218a"))]) (web-mode . - [(17 2 0) + [(17 2 3) ((emacs (23 1))) "major mode for editing web templates" tar @@ -1531,7 +1812,7 @@ (:maintainer "François-Xavier Bois" . "fxbois@gmail.com") (:authors ("François-Xavier Bois")) - (:commit . "f70277774a725e177774cc81ecbd228792cd6656"))]) + (:commit . "7b5459f58c381f31eed257480b000a9a46209094"))]) (webpaste . [(3 2 2) ((emacs @@ -1585,16 +1866,16 @@ (:authors ("Le Wang")))]) (xah-fly-keys . - [(17 5 20220416101054) + [(17 17 20220709145456) ((emacs (24 1))) "ergonomic modal keybinding minor mode." tar - ((:url . "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html") + ((:url . "http://xahlee.info/emacs/misc/xah-fly-keys.html") (:keywords "convenience" "emulations" "vim" "ergoemacs") - (:maintainer "Xah Lee ( http://xahlee.info/ )") + (:maintainer "Xah Lee" . "xah@xahlee.org") (:authors ("Xah Lee ( http://xahlee.info/ )")) - (:commit . "cb2b27ed7566b7863ad3e9adf67d75945d4118b0"))]) + (:commit . "2383b8b546fe6e1db4b86f4122055110ee4775f4"))]) (xml-rpc . [(1 6 15) nil "An elisp implementation of clientside XML-RPC" tar diff --git a/code/elpa/archives/nongnu/archive-contents.signed b/code/elpa/archives/nongnu/archive-contents.signed index 140030c..cc63b8f 100644 --- a/code/elpa/archives/nongnu/archive-contents.signed +++ b/code/elpa/archives/nongnu/archive-contents.signed @@ -1 +1 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-04-17T05:05:05-0400 using RSA \ No newline at end of file +Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-08-04T05:05:06-0400 using RSA \ No newline at end of file diff --git a/code/elpa/async-20220318.1342/async-autoloads.el b/code/elpa/async-20220630.57/async-autoloads.el similarity index 100% rename from code/elpa/async-20220318.1342/async-autoloads.el rename to code/elpa/async-20220630.57/async-autoloads.el diff --git a/code/elpa/async-20220318.1342/async-bytecomp.el b/code/elpa/async-20220630.57/async-bytecomp.el similarity index 99% rename from code/elpa/async-20220318.1342/async-bytecomp.el rename to code/elpa/async-20220630.57/async-bytecomp.el index b094a51..8757781 100644 --- a/code/elpa/async-20220318.1342/async-bytecomp.el +++ b/code/elpa/async-20220630.57/async-bytecomp.el @@ -38,6 +38,7 @@ (require 'cl-lib) (require 'async) +(require 'bytecomp) (declare-function package-desc-name "package.el") (declare-function package-desc-dir "package.el") diff --git a/code/elpa/async-20220318.1342/async-pkg.el b/code/elpa/async-20220630.57/async-pkg.el similarity index 64% rename from code/elpa/async-20220318.1342/async-pkg.el rename to code/elpa/async-20220630.57/async-pkg.el index 446ad19..9bce240 100644 --- a/code/elpa/async-20220318.1342/async-pkg.el +++ b/code/elpa/async-20220630.57/async-pkg.el @@ -1,6 +1,6 @@ -(define-package "async" "20220318.1342" "Asynchronous processing in Emacs" +(define-package "async" "20220630.57" "Asynchronous processing in Emacs" '((emacs "24.4")) - :commit "c78bab7506a70a735d2c3deab13fa87bf44a83d3" :authors + :commit "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4" :authors '(("John Wiegley" . "jwiegley@gmail.com")) :maintainer '("Thierry Volpiatto" . "thievol@posteo.net") diff --git a/code/elpa/async-20220318.1342/async.el b/code/elpa/async-20220630.57/async.el similarity index 100% rename from code/elpa/async-20220318.1342/async.el rename to code/elpa/async-20220630.57/async.el diff --git a/code/elpa/async-20220318.1342/dired-async.el b/code/elpa/async-20220630.57/dired-async.el similarity index 100% rename from code/elpa/async-20220318.1342/dired-async.el rename to code/elpa/async-20220630.57/dired-async.el diff --git a/code/elpa/async-20220318.1342/smtpmail-async.el b/code/elpa/async-20220630.57/smtpmail-async.el similarity index 100% rename from code/elpa/async-20220318.1342/smtpmail-async.el rename to code/elpa/async-20220630.57/smtpmail-async.el diff --git a/code/elpa/compat-28.1.1.0.signed b/code/elpa/compat-28.1.1.0.signed deleted file mode 100644 index c38725b..0000000 --- a/code/elpa/compat-28.1.1.0.signed +++ /dev/null @@ -1 +0,0 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-04-22T17:05:01-0400 using RSA \ No newline at end of file diff --git a/code/elpa/compat-28.1.1.0/compat-pkg.el b/code/elpa/compat-28.1.1.0/compat-pkg.el deleted file mode 100644 index fe45402..0000000 --- a/code/elpa/compat-28.1.1.0/compat-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;; Generated package description from compat.el -*- no-byte-compile: t -*- -(define-package "compat" "28.1.1.0" "Compatibility Library" '((emacs "24.3") (nadvice "0.3")) :commit "401df6defaf5ef470a2dc57664b2d258662a5c3d" :authors '(("Philip Kaludercic" . "philipk@posteo.net")) :maintainer '("Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp") :url "https://sr.ht/~pkal/compat") diff --git a/code/elpa/compat-28.1.1.0/compat.el b/code/elpa/compat-28.1.1.0/compat.el deleted file mode 100644 index d31cff1..0000000 --- a/code/elpa/compat-28.1.1.0/compat.el +++ /dev/null @@ -1,99 +0,0 @@ -;;; compat.el --- Compatibility Library -*- lexical-binding: t; -*- - -;; Copyright (C) 2021, 2022 Free Software Foundation, Inc. - -;; Author: Philip Kaludercic -;; Maintainer: Compat Development <~pkal/compat-devel@lists.sr.ht> -;; Version: 28.1.1.0 -;; URL: https://sr.ht/~pkal/compat -;; Package-Requires: ((emacs "24.3") (nadvice "0.3")) -;; Keywords: lisp - -;; 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 . - -;;; Commentary: - -;; To allow for the usage of Emacs functions and macros that are -;; defined in newer versions of Emacs, compat.el provides definitions -;; that are installed ONLY if necessary. These reimplementations of -;; functions and macros are at least subsets of the actual -;; implementations. Be sure to read the documentation string to make -;; sure. -;; -;; Not every function provided in newer versions of Emacs is provided -;; here. Some depend on new features from the core, others cannot be -;; implemented to a meaningful degree. The main audience for this -;; library are not regular users, but package maintainers. Therefore -;; commands and user options are usually not implemented here. - -;;; Code: - -(eval-when-compile (require 'compat-macs)) - -;;;; Core functionality - -;; To accelerate the loading process, we insert the contents of -;; compat-N.M.el directly into the compat.elc. Note that by default -;; this will not include prefix functions. These have to be required -;; separately, by explicitly requiring the feature that defines them. -(eval-when-compile - (defvar compat--generate-function) - (defmacro compat-entwine (version) - (cond - ((or (not (eq compat--generate-function 'compat--generate-minimal)) - (bound-and-true-p compat-testing)) - `(load ,(format "compat-%d.el" version))) - ((let* ((compat--generate-function 'compat--generate-minimal-no-prefix) - (file (expand-file-name - (format "compat-%d.el" version) - (file-name-directory - (or (if (fboundp 'macroexp-file-name) - (macroexp-file-name) - (or (bound-and-true-p byte-compile-current-file) - load-file-name)) - (buffer-file-name))))) - defs) - (with-temp-buffer - (insert-file-contents file) - (emacs-lisp-mode) - (while (progn - (forward-comment 1) - (not (eobp))) - ;; We bind `byte-compile-current-file' before - ;; macro-expanding, so that `compat--generate-function' - ;; can correctly infer the compatibility version currently - ;; being processed. - (let ((byte-compile-current-file file) - (form (read (current-buffer)))) - (cond - ((memq (car-safe form) - '(compat-defun - compat-defmacro - compat-advise - compat-defvar)) - (push (macroexpand-all form) defs)) - ((memq (car-safe form) - '(declare-function - defvar)) - (push form defs)))))) - (macroexp-progn (nreverse defs))))))) - -(compat-entwine 24) -(compat-entwine 25) -(compat-entwine 26) -(compat-entwine 27) -(compat-entwine 28) - -(provide 'compat) -;;; compat.el ends here diff --git a/code/elpa/compat-28.1.2.0.signed b/code/elpa/compat-28.1.2.0.signed new file mode 100644 index 0000000..d3e25ea --- /dev/null +++ b/code/elpa/compat-28.1.2.0.signed @@ -0,0 +1 @@ +Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-07-18T05:05:02-0400 using RSA \ No newline at end of file diff --git a/code/elpa/compat-28.1.1.0/NEWS.org b/code/elpa/compat-28.1.2.0/NEWS.org similarity index 52% rename from code/elpa/compat-28.1.1.0/NEWS.org rename to code/elpa/compat-28.1.2.0/NEWS.org index ef9263c..9c6a819 100644 --- a/code/elpa/compat-28.1.1.0/NEWS.org +++ b/code/elpa/compat-28.1.2.0/NEWS.org @@ -1,3 +1,51 @@ +#+options: toc:nil num:nil +#+link: compat https://todo.sr.ht/~pkal/compat/ + +* Release of "Compat" Version 28.1.2.0 + +The main change of this release has been the major simplification of +Compat's initialisation system, improving the situation around issues +people had been reporting ([[compat:4]], once again) with unconventional +or unpopular packaging systems. + +In addition to this, the following functional changes have been made: + +- Fix =format-prompt= of an empty string as "default" argument +- Add =decoded-time-period= defined in Emacs 28 +- Add =subr-primitive-p= defined in Emacs 28 + +Minor improvements to manual are also part of this release. + +(Release <2022-07-18 Mon>) + +* Release of "Compat" Version 28.1.1.3 + +This release just contains a hot-fix for an issue introduced in the +last version, where compat.el raises an error during byte compilation. +See [[compat:4]]. + +(Release <2022-06-19 Sun>) + +* Release of "Compat" Version 28.1.1.2 + +Two main changes have necessitated a new patch release: + +1. Fix issues related to the loading of compat when uncompiled. See + [[https://lists.sr.ht/~pkal/compat-devel/%3C20220530191000.2183047-1-jonas%40bernoul.li%3E][this thread]] for more details on the problem. +2. Fix issues related to the loading of compat on old pre-releases + (think of 28.0.50). See [[https://lists.sr.ht/~pkal/compat-devel/%3Cf8635d7d-e233-448f-b325-9e850363241c%40www.fastmail.com%3E][this thread]] for more details on the + problem. + +(Released <2022-06-22 Wed>) + +* Release of "Compat" Version 28.1.1.1 + +This is a minor release fixing a bug in =json-serialize=, that could +cause unintended side-effects, not related to packages using Compat +directly (see [[compat:2]]). + +(Released <2022-05-05 Thu>) + * Release of "Compat" Version 28.1.1.0 This release mostly fixes a number of smaller bugs that were not diff --git a/code/elpa/compat-28.1.1.0/compat-24.el b/code/elpa/compat-28.1.2.0/compat-24.el similarity index 98% rename from code/elpa/compat-28.1.1.0/compat-24.el rename to code/elpa/compat-28.1.2.0/compat-24.el index a4beccb..f208ae7 100644 --- a/code/elpa/compat-28.1.1.0/compat-24.el +++ b/code/elpa/compat-28.1.2.0/compat-24.el @@ -25,7 +25,15 @@ ;; Find here the functionality added in Emacs 24.4, needed by older ;; versions. ;; -;; Do NOT load this library manually. Instead require `compat'. +;; Only load this library if you need to use one of the following +;; functions: +;; +;; - `compat-=' +;; - `compat-<' +;; - `compat->' +;; - `compat-<=' +;; - `compat->=' +;; - `split-string'. ;;; Code: @@ -512,5 +520,5 @@ function for defining FACE and recalculating its attributes." (dolist (frame (frame-list)) (face-spec-recalc face frame))) -(provide 'compat-24) +(compat--inhibit-prefixed (provide 'compat-24)) ;;; compat-24.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat-25.el b/code/elpa/compat-28.1.2.0/compat-25.el similarity index 98% rename from code/elpa/compat-28.1.1.0/compat-25.el rename to code/elpa/compat-28.1.2.0/compat-25.el index d31b133..eb9d0a8 100644 --- a/code/elpa/compat-28.1.1.0/compat-25.el +++ b/code/elpa/compat-28.1.2.0/compat-25.el @@ -25,7 +25,10 @@ ;; Find here the functionality added in Emacs 25.1, needed by older ;; versions. ;; -;; Do NOT load this library manually. Instead require `compat'. +;; Only load this library if you need to use one of the following +;; functions: +;; +;; - `compat-sort' ;;; Code: @@ -313,5 +316,5 @@ recursion." (push (concat dir "/" file) files))))) (nconc result (nreverse files)))) -(provide 'compat-25) +(compat--inhibit-prefixed (provide 'compat-25)) ;;; compat-25.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat-26.el b/code/elpa/compat-28.1.2.0/compat-26.el similarity index 97% rename from code/elpa/compat-28.1.1.0/compat-26.el rename to code/elpa/compat-28.1.2.0/compat-26.el index 07ab3a4..83b89c5 100644 --- a/code/elpa/compat-28.1.1.0/compat-26.el +++ b/code/elpa/compat-28.1.2.0/compat-26.el @@ -25,7 +25,15 @@ ;; Find here the functionality added in Emacs 26.1, needed by older ;; versions. ;; -;; Do NOT load this library manually. Instead require `compat'. +;; Only load this library if you need to use one of the following +;; functions: +;; +;; - `compat-sort' +;; - `line-number-at-pos' +;; - `compat-alist-get' +;; - `string-trim-left' +;; - `string-trim-right' +;; - `string-trim' ;;; Code: @@ -38,8 +46,8 @@ "Return minimum and maximum number of args allowed for FUNC. FUNC must be a function of some kind. The returned value is a cons cell (MIN . MAX). MIN is the minimum number -of args. MAX is the maximum number, or the symbol ‘many’, for a -function with ‘&rest’ args, or ‘unevalled’ for a special form." +of args. MAX is the maximum number, or the symbol `many', for a +function with `&rest' args, or `unevalled' for a special form." :realname compat--func-arity (cond ((or (null func) (and (symbolp func) (not (fboundp func)))) @@ -110,7 +118,7 @@ function with ‘&rest’ args, or ‘unevalled’ for a special form." (compat-defun assoc (key alist &optional testfn) "Handle the optional argument TESTFN. Equality is defined by the function TESTFN, defaulting to -‘equal’. TESTFN is called with 2 arguments: a car of an alist +`equal'. TESTFN is called with 2 arguments: a car of an alist element and KEY. With no optional argument, the function behaves just like `assoc'." :prefix t @@ -619,5 +627,5 @@ If VALUE is nil, PROPERTY is removed from IMAGE." (cdr ,image*) ,property* ,value*))))))) -(provide 'compat-26) +(compat--inhibit-prefixed (provide 'compat-26)) ;;; compat-26.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat-27.el b/code/elpa/compat-28.1.2.0/compat-27.el similarity index 86% rename from code/elpa/compat-28.1.1.0/compat-27.el rename to code/elpa/compat-28.1.2.0/compat-27.el index b74450f..3d90913 100644 --- a/code/elpa/compat-28.1.1.0/compat-27.el +++ b/code/elpa/compat-28.1.2.0/compat-27.el @@ -25,7 +25,17 @@ ;; Find here the functionality added in Emacs 27.1, needed by older ;; versions. ;; -;; Do NOT load this library manually. Instead require `compat'. +;; Only load this library if you need to use one of the following +;; functions or macros: +;; +;; - `compat-recenter' +;; - `compat-lookup-key' +;; - `compat-setq-local' +;; - `compat-assoc-delete-all' +;; - `compat-file-size-human-readable' +;; - `compat-executable-find' +;; - `compat-regexp-opt' +;; - `compat-dired-get-marked-files' ;;; Code: @@ -125,14 +135,18 @@ Letter-case is significant, but text properties are ignored." ;;;; Defined in json.c (declare-function json-parse-string nil (string &rest args)) -(declare-function json-encode-string "json" (object)) +(declare-function json-encode "json" (object)) (declare-function json-read-from-string "json" (string)) (declare-function json-read "json" ()) +(defvar json-encoding-pretty-print) (defvar json-object-type) (defvar json-array-type) (defvar json-false) (defvar json-null) +;; The function is declared to satisfy the byte compiler while testing +;; if native JSON parsing is available.; +(declare-function json-serialize nil (object &rest args)) (compat-defun json-serialize (object &rest args) "Return the JSON representation of OBJECT as a string. @@ -158,27 +172,72 @@ represent a JSON false value. It defaults to `:false'. In you specify the same value for `:null-object' and `:false-object', a potentially ambiguous situation, the JSON output will not contain any JSON false values." - :cond (condition-case nil - (let ((inhibit-message t)) - (equal (json-parse-string "[]") nil)) - (json-unavailable t) - (void-function t)) + :cond (not (condition-case nil + (equal (json-serialize '()) "{}") + (:success t) + (void-function nil) + (json-unavailable nil))) :realname compat--json-serialize (require 'json) - (let ((json-false (or (plist-get args :false-object) :false)) - (json-null (or (plist-get args :null-object) :null))) - (json-encode-string object))) + (letrec ((fix (lambda (obj) + (cond + ((hash-table-p obj) + (let ((ht (copy-hash-table obj))) + (maphash + (lambda (key val) + (unless (stringp key) + (signal + 'wrong-type-argument + (list 'stringp key))) + (puthash key (funcall fix val) ht)) + obj) + ht)) + ((and (listp obj) (consp (car obj))) ;alist + (mapcar + (lambda (ent) + (cons (symbol-name (car ent)) + (funcall fix (cdr ent)))) + obj)) + ((listp obj) ;plist + (let (alist) + (while obj + (push (cons (cond + ((keywordp (car obj)) + (substring + (symbol-name (car obj)) + 1)) + ((symbolp (car obj)) + (symbol-name (car obj))) + ((signal + 'wrong-type-argument + (list 'symbolp (car obj))))) + (funcall fix (cadr obj))) + alist) + (unless (consp (cdr obj)) + (signal 'wrong-type-argument '(consp nil))) + (setq obj (cddr obj))) + (nreverse alist))) + ((vectorp obj) + (let ((vec (make-vector (length obj) nil))) + (dotimes (i (length obj)) + (aset vec i (funcall fix (aref obj i)))) + vec)) + (obj)))) + (json-encoding-pretty-print nil) + (json-false (or (plist-get args :false-object) :false)) + (json-null (or (plist-get args :null-object) :null))) + (json-encode (funcall fix object)))) (compat-defun json-insert (object &rest args) "Insert the JSON representation of OBJECT before point. This is the same as (insert (json-serialize OBJECT)), but potentially faster. See the function `json-serialize' for allowed values of OBJECT." - :cond (condition-case nil - (let ((inhibit-message t)) - (equal (json-parse-string "[]") nil)) - (json-unavailable t) - (void-function t)) + :cond (not (condition-case nil + (equal (json-serialize '()) "{}") + (:success t) + (void-function nil) + (json-unavailable nil))) (insert (apply #'compat--json-serialize object args))) (compat-defun json-parse-string (string &rest args) @@ -205,11 +264,11 @@ to represent a JSON null value. It defaults to `:null'. The keyword argument `:false-object' specifies which object to use to represent a JSON false value. It defaults to `:false'." - :cond (condition-case nil - (let ((inhibit-message t)) - (equal (json-parse-string "[]") nil)) - (json-unavailable t) - (void-function t)) + :cond (not (condition-case nil + (equal (json-serialize '()) "{}") + (:success t) + (void-function nil) + (json-unavailable nil))) (require 'json) (condition-case err (let ((json-object-type (or (plist-get args :object-type) 'hash-table)) @@ -249,11 +308,11 @@ to represent a JSON null value. It defaults to `:null'. The keyword argument `:false-object' specifies which object to use to represent a JSON false value. It defaults to `:false'." - :cond (condition-case nil - (let ((inhibit-message t)) - (equal (json-parse-string "[]") nil)) - (json-unavailable t) - (void-function t)) + :cond (not (condition-case nil + (equal (json-serialize '()) "{}") + (:success t) + (void-function nil) + (json-unavailable nil))) (require 'json) (condition-case err (let ((json-object-type (or (plist-get args :object-type) 'hash-table)) @@ -638,5 +697,5 @@ The return value is a string (or nil in case we can’t find it)." 31 30))) -(provide 'compat-27) +(compat--inhibit-prefixed (provide 'compat-27)) ;;; compat-27.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat-28.el b/code/elpa/compat-28.1.2.0/compat-28.el similarity index 95% rename from code/elpa/compat-28.1.1.0/compat-28.el rename to code/elpa/compat-28.1.2.0/compat-28.el index 862dd08..0c399b4 100644 --- a/code/elpa/compat-28.1.1.0/compat-28.el +++ b/code/elpa/compat-28.1.2.0/compat-28.el @@ -25,7 +25,17 @@ ;; Find here the functionality added in Emacs 28.1, needed by older ;; versions. ;; -;; Do NOT load this library manually. Instead require `compat'. +;; Only load this library if you need to use one of the following +;; functions: +;; +;; - `unlock-buffer' +;; - `string-width' +;; - `directory-files' +;; - `json-serialize' +;; - `json-insert' +;; - `json-parse-string' +;; - `json-parse-buffer' +;; - `count-windows' ;;; Code: @@ -145,7 +155,12 @@ continuing as if the error did not occur." Optional arguments FROM and TO specify the substring of STRING to consider, and are interpreted as in `substring'." :prefix t - (string-width (substring string (or from 0) to))) + (let* ((len (length string)) + (from (or from 0)) + (to (or to len))) + (if (and (= from 0) (= to len)) + (string-width string) + (string-width (substring string from to))))) ;;;; Defined in dired.c @@ -182,7 +197,12 @@ If COUNT is non-nil and a natural number, the function will :min-version "27" (if (or (listp object) (vectorp object)) (apply #'json-insert object args) - (insert (apply #'compat-json-serialize object args)))) + ;; `compat-json-serialize' is not sharp-quoted as the byte + ;; compiled doesn't always know that the function has been + ;; defined, but it will only be used in this function if the + ;; prefixed definition of `json-serialize' (see above) has also + ;; been defined. + (insert (apply 'compat-json-serialize object args)))) (compat-defun json-parse-string (string &rest args) "Handle top-level JSON values." @@ -427,6 +447,10 @@ not a list, return a one-element list containing OBJECT." object (list object))) +(compat-defun subr-primitive-p (object) + "Return t if OBJECT is a built-in primitive function." + (subrp object)) + ;;;; Defined in subr-x.el (compat-defun string-clean-whitespace (string) @@ -717,7 +741,7 @@ is included in the return value." (apply #'format prompt format-args)) (and default (or (not (stringp default)) - (not (null default))) + (> (length default) 0)) (format " (default %s)" (if (consp default) (car default) @@ -831,5 +855,25 @@ directory or directories specified." (apply 'update-directory-autoloads (if (listp dir) dir (list dir))))) -(provide 'compat-28) +;;;; Defined in time-data.el + +(compat-defun decoded-time-period (time) + "Interpret DECODED as a period and return its length in seconds. +For computational purposes, years are 365 days long and months +are 30 days long." + :feature 'time-date + :version "28" + ;; Inlining the definitions from compat-27 + (+ (if (consp (nth 0 time)) + ;; Fractional second. + (/ (float (car (nth 0 time))) + (cdr (nth 0 time))) + (or (nth 0 time) 0)) + (* (or (nth 1 time) 0) 60) + (* (or (nth 2 time) 0) 60 60) + (* (or (nth 3 time) 0) 60 60 24) + (* (or (nth 4 time) 0) 60 60 24 30) + (* (or (nth 5 time) 0) 60 60 24 365))) + +(compat--inhibit-prefixed (provide 'compat-28)) ;;; compat-28.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat-autoloads.el b/code/elpa/compat-28.1.2.0/compat-autoloads.el similarity index 100% rename from code/elpa/compat-28.1.1.0/compat-autoloads.el rename to code/elpa/compat-28.1.2.0/compat-autoloads.el diff --git a/code/elpa/compat-28.1.1.0/compat-font-lock.el b/code/elpa/compat-28.1.2.0/compat-font-lock.el similarity index 100% rename from code/elpa/compat-28.1.1.0/compat-font-lock.el rename to code/elpa/compat-28.1.2.0/compat-font-lock.el diff --git a/code/elpa/compat-28.1.1.0/compat-help.el b/code/elpa/compat-28.1.2.0/compat-help.el similarity index 100% rename from code/elpa/compat-28.1.1.0/compat-help.el rename to code/elpa/compat-28.1.2.0/compat-help.el diff --git a/code/elpa/compat-28.1.1.0/compat-macs.el b/code/elpa/compat-28.1.2.0/compat-macs.el similarity index 86% rename from code/elpa/compat-28.1.1.0/compat-macs.el rename to code/elpa/compat-28.1.2.0/compat-macs.el index e1dcf81..a2de41d 100644 --- a/code/elpa/compat-28.1.1.0/compat-macs.el +++ b/code/elpa/compat-28.1.2.0/compat-macs.el @@ -29,6 +29,17 @@ "Ignore all arguments." nil) +(defvar compat--inhibit-prefixed nil + "Non-nil means that prefixed definitions are not loaded. +A prefixed function is something like `compat-assoc', that is +only made visible when the respective compatibility version file +is loaded (in this case `compat-26').") + +(defmacro compat--inhibit-prefixed (&rest body) + "Ignore BODY unless `compat--inhibit-prefixed' is true." + `(unless (bound-and-true-p compat--inhibit-prefixed) + ,@body)) + (defvar compat--generate-function #'compat--generate-minimal "Function used to generate compatibility code. The function must take six arguments: NAME, DEF-FN, INSTALL-FN, @@ -82,19 +93,23 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." (max-version (plist-get attr :max-version)) (feature (plist-get attr :feature)) (cond (plist-get attr :cond)) - (version (or (plist-get attr :version) - (let ((file (or (bound-and-true-p byte-compile-current-file) - load-file-name - (buffer-file-name)))) - ;; Guess the version from the file the macro is - ;; being defined in. - (cond - ((not file) emacs-version) - ((string-match - "compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" - file) - (match-string 1 file)) - ((error "No version number could be extracted")))))) + (version ; If you edit this, also edit `compat--generate-verbose'. + (or (plist-get attr :version) + (let* ((file (car (last current-load-list))) + (file (if (stringp file) + ;; Some library, which requires compat-XY.el, + ;; is being compiled and compat-XY.el has not + ;; been compiled yet. + file + ;; compat-XY.el is being compiled. + (or (bound-and-true-p byte-compile-current-file) + ;; Fallback to the buffer being evaluated. + (buffer-file-name))))) + (if (and file + (string-match + "compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" file)) + (concat (match-string 1 file) ".1") + (error "BUG: No version number could be extracted"))))) (realname (or (plist-get attr :realname) (intern (format "compat--%S" name)))) (check (cond @@ -104,7 +119,7 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." (version< max-version emacs-version))) '(compat--ignore)) ((plist-get attr :prefix) - '(progn)) + '(compat--inhibit-prefixed)) ((and version (version<= version emacs-version) (not cond)) '(compat--ignore)) (`(when (and ,(if cond cond t) @@ -140,13 +155,6 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." `(eval-after-load ,feature `(funcall ',(lambda () ,body))) body)))))) -(defun compat--generate-minimal-no-prefix (name def-fn install-fn check-fn attr type) - "Generate a leaner compatibility definition. -See `compat-generate-function' for details on the arguments NAME, -DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." - (unless (plist-get attr :prefix) - (compat--generate-minimal name def-fn install-fn check-fn attr type))) - (defun compat--generate-verbose (name def-fn install-fn check-fn attr type) "Generate a more verbose compatibility definition, fit for testing. See `compat-generate-function' for details on the arguments NAME, @@ -155,19 +163,18 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." (max-version (plist-get attr :max-version)) (feature (plist-get attr :feature)) (cond (plist-get attr :cond)) - (version (or (plist-get attr :version) - (let ((file (or (bound-and-true-p byte-compile-current-file) - load-file-name - (buffer-file-name)))) - ;; Guess the version from the file the macro is - ;; being defined in. - (cond - ((not file) emacs-version) - ((string-match - "compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" - file) - (match-string 1 file)) - ((error "No version number could be extracted")))))) + (version ; If you edit this, also edit `compat--generate-minimal'. + (or (plist-get attr :version) + (let* ((file (car (last current-load-list))) + (file (if (stringp file) + file + (or (bound-and-true-p byte-compile-current-file) + (buffer-file-name))))) + (if (and file + (string-match + "compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" file)) + (concat (match-string 1 file) ".1") + (error "BUG: No version number could be extracted"))))) (realname (or (plist-get attr :realname) (intern (format "compat--%S" name)))) (body `(progn @@ -191,7 +198,7 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." (version< max-version emacs-version))) '(compat--ignore)) ((plist-get attr :prefix) - '(progn)) + '(compat--inhibit-prefixed)) ((and version (version<= version emacs-version) (not cond)) '(compat--ignore)) (`(when (and ,(if cond cond t) diff --git a/code/elpa/compat-28.1.2.0/compat-pkg.el b/code/elpa/compat-28.1.2.0/compat-pkg.el new file mode 100644 index 0000000..3422c5c --- /dev/null +++ b/code/elpa/compat-28.1.2.0/compat-pkg.el @@ -0,0 +1,2 @@ +;; Generated package description from compat.el -*- no-byte-compile: t -*- +(define-package "compat" "28.1.2.0" "Emacs Lisp Compatibility Library" '((emacs "24.3") (nadvice "0.3")) :commit "6b70229adf1ad7c2227789061dd1b2fc00d36ad8" :authors '(("Philip Kaludercic" . "philipk@posteo.net")) :maintainer '("Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp") :url "https://sr.ht/~pkal/compat") diff --git a/code/elpa/compat-28.1.2.0/compat.el b/code/elpa/compat-28.1.2.0/compat.el new file mode 100644 index 0000000..35fd8a0 --- /dev/null +++ b/code/elpa/compat-28.1.2.0/compat.el @@ -0,0 +1,65 @@ +;;; compat.el --- Emacs Lisp Compatibility Library -*- lexical-binding: t; -*- + +;; Copyright (C) 2021, 2022 Free Software Foundation, Inc. + +;; Author: Philip Kaludercic +;; Maintainer: Compat Development <~pkal/compat-devel@lists.sr.ht> +;; Version: 28.1.2.0 +;; URL: https://sr.ht/~pkal/compat +;; Package-Requires: ((emacs "24.3") (nadvice "0.3")) +;; Keywords: lisp + +;; 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 . + +;;; Commentary: + +;; To allow for the usage of Emacs functions and macros that are +;; defined in newer versions of Emacs, compat.el provides definitions +;; that are installed ONLY if necessary. These reimplementations of +;; functions and macros are at least subsets of the actual +;; implementations. Be sure to read the documentation string to make +;; sure. +;; +;; Not every function provided in newer versions of Emacs is provided +;; here. Some depend on new features from the core, others cannot be +;; implemented to a meaningful degree. The main audience for this +;; library are not regular users, but package maintainers. Therefore +;; commands and user options are usually not implemented here. + +;;; Code: + +(eval-when-compile (require 'compat-macs)) + +;; We load all the components of Compat with a copied value of +;; `features' list, that will prevent the list being modified, and all +;; the files can be loaded again. This is done so that +;; `compat--inhibit-prefixed' can take effect when loading `compat', +;; and do nothing when loading each sub-feature manually. + +(defvar compat--inhibit-prefixed) +(let ((compat--inhibit-prefixed (not (bound-and-true-p compat-testing)))) + ;; Instead of using `require', we manually check `features' and call + ;; `load' to avoid the issue of not using `provide' at the end of + ;; the file (which is disabled by `compat--inhibit-prefixed', so + ;; that the file can be loaded again at some later point when the + ;; prefixed definitions are needed). + (dolist (vers '(24 25 26 27 28)) + (unless (memq (intern (format "compat-%d" vers)) features) + (load (format "compat-%d%s" vers + (if (bound-and-true-p compat-testing) + ".el" "")) + nil t)))) + +(provide 'compat) +;;; compat.el ends here diff --git a/code/elpa/compat-28.1.1.0/compat.info b/code/elpa/compat-28.1.2.0/compat.info similarity index 98% rename from code/elpa/compat-28.1.1.0/compat.info rename to code/elpa/compat-28.1.2.0/compat.info index c645881..e06a66a 100644 --- a/code/elpa/compat-28.1.1.0/compat.info +++ b/code/elpa/compat-28.1.2.0/compat.info @@ -26,7 +26,7 @@ File: compat.info, Node: Top, Next: Introduction, Up: (dir) This manual documents the usage of the "Compat" Emacs lisp library, the forward-compatibility library for Emacs Lisp, corresponding to version -28.1.1.0. +28.1.2.0. Copyright © 2022 Free Software Foundation, Inc. @@ -120,7 +120,7 @@ File: compat.info, Node: Usage, Next: Intentions, Prev: Overview, Up: Introd The intended use-case for this library is for package developers to add as a dependency in the header: - ;; Package-Requires: ((emacs "24.3") (compat "28.1.1.0")) + ;; Package-Requires: ((emacs "24.3") (compat "28.1.2.0")) and later on a @@ -825,6 +825,12 @@ by Compat by default: -- Function: null-device Defined in ‘files.el’. + -- Function: decoded-time-period + Defined in ‘time-data.el’. + + -- Function: subr-primitive-p + Defined in ‘subr.el’. + These functions are prefixed with ‘compat’ prefix, and are only loaded when ‘compat-28’ is required: @@ -951,14 +957,14 @@ Appendix A Function Index * compat-alist-get: Emacs 26.1. (line 111) * compat-assoc: Emacs 26.1. (line 101) * compat-assoc-delete-all: Emacs 27.1. (line 115) -* compat-count-windows: Emacs 28.1. (line 150) +* compat-count-windows: Emacs 28.1. (line 156) * compat-dired-get-marked-files: Emacs 27.1. (line 125) * compat-executable-find: Emacs 27.1. (line 120) * compat-file-size-human-readable: Emacs 27.1. (line 110) -* compat-json-insert: Emacs 28.1. (line 135) -* compat-json-parse-buffer: Emacs 28.1. (line 145) -* compat-json-parse-string: Emacs 28.1. (line 140) -* compat-json-serialize: Emacs 28.1. (line 130) +* compat-json-insert: Emacs 28.1. (line 141) +* compat-json-parse-buffer: Emacs 28.1. (line 151) +* compat-json-parse-string: Emacs 28.1. (line 146) +* compat-json-serialize: Emacs 28.1. (line 136) * compat-line-number-at-pos: Emacs 26.1. (line 106) * compat-lookup-key: Emacs 27.1. (line 93) * compat-recenter: Emacs 27.1. (line 88) @@ -969,8 +975,8 @@ Appendix A Function Index * compat-string-trim: Emacs 26.1. (line 127) * compat-string-trim-left: Emacs 26.1. (line 117) * compat-string-trim-right: Emacs 26.1. (line 122) -* compat-string-width: Emacs 28.1. (line 124) -* compat-unlock-buffer: Emacs 28.1. (line 119) +* compat-string-width: Emacs 28.1. (line 130) +* compat-unlock-buffer: Emacs 28.1. (line 125) * completion-table-merge: Emacs 24.4. (line 48) * completion-table-with-cache: Emacs 24.4. (line 51) * cXXXr: Emacs 26.1. (line 15) @@ -981,6 +987,7 @@ Appendix A Function Index * decoded-time-hour: Emacs 27.1. (line 50) * decoded-time-minute: Emacs 27.1. (line 47) * decoded-time-month: Emacs 27.1. (line 56) +* decoded-time-period: Emacs 28.1. (line 116) * decoded-time-second: Emacs 27.1. (line 44) * decoded-time-weekday: Emacs 27.1. (line 62) * decoded-time-year: Emacs 27.1. (line 59) @@ -1056,6 +1063,7 @@ Appendix A Function Index * string-replace: Emacs 28.1. (line 27) * string-search: Emacs 28.1. (line 9) * string-suffix-p: Emacs 24.4. (line 18) +* subr-primitive-p: Emacs 28.1. (line 119) * temporary-file-directory: Emacs 26.1. (line 31) * thing-at-mouse: Emacs 28.1. (line 86) * thread-first: Emacs 25.1. (line 30) @@ -1098,9 +1106,9 @@ Node: Emacs 25.110565 Node: Emacs 26.113160 Node: Emacs 27.118253 Node: Emacs 28.122838 -Node: Development28727 -Node: Function Index29742 -Node: Variable Index40061 +Node: Development28861 +Node: Function Index29876 +Node: Variable Index40341  End Tag Table diff --git a/code/elpa/compat-28.1.1.0/dir b/code/elpa/compat-28.1.2.0/dir similarity index 100% rename from code/elpa/compat-28.1.1.0/dir rename to code/elpa/compat-28.1.2.0/dir diff --git a/code/elpa/dash-20220417.2250/dash-autoloads.el b/code/elpa/dash-20220608.1931/dash-autoloads.el similarity index 100% rename from code/elpa/dash-20220417.2250/dash-autoloads.el rename to code/elpa/dash-20220608.1931/dash-autoloads.el diff --git a/code/elpa/dash-20220417.2250/dash-pkg.el b/code/elpa/dash-20220608.1931/dash-pkg.el similarity index 67% rename from code/elpa/dash-20220417.2250/dash-pkg.el rename to code/elpa/dash-20220608.1931/dash-pkg.el index 98425a8..36accb0 100644 --- a/code/elpa/dash-20220417.2250/dash-pkg.el +++ b/code/elpa/dash-20220608.1931/dash-pkg.el @@ -1,6 +1,6 @@ -(define-package "dash" "20220417.2250" "A modern list library for Emacs" +(define-package "dash" "20220608.1931" "A modern list library for Emacs" '((emacs "24")) - :commit "7fd71338dce041b352f84e7939f6966f4d379459" :authors + :commit "0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341" :authors '(("Magnar Sveen" . "magnars@gmail.com")) :maintainer '("Magnar Sveen" . "magnars@gmail.com") diff --git a/code/elpa/dash-20220417.2250/dash.el b/code/elpa/dash-20220608.1931/dash.el similarity index 82% rename from code/elpa/dash-20220417.2250/dash.el rename to code/elpa/dash-20220608.1931/dash.el index 26e1f8b..e04201f 100644 --- a/code/elpa/dash-20220417.2250/dash.el +++ b/code/elpa/dash-20220608.1931/dash.el @@ -29,11 +29,19 @@ ;;; Code: -;; TODO: `gv' was introduced in Emacs 24.3, so remove this and all -;; calls to `defsetf' when support for earlier versions is dropped. (eval-when-compile + ;; TODO: Emacs 24.3 first introduced `gv', so remove this and all + ;; calls to `defsetf' when support for earlier versions is dropped. (unless (fboundp 'gv-define-setter) - (require 'cl))) + (require 'cl)) + + ;; TODO: Emacs versions 24.3..24.5 complain about unknown `declare' + ;; props, so remove this when support for those versions is dropped. + (and (< emacs-major-version 25) + (boundp 'defun-declarations-alist) + (dolist (prop '(pure side-effect-free)) + (unless (assq prop defun-declarations-alist) + (push (list prop #'ignore) defun-declarations-alist))))) (defgroup dash () "Customize group for Dash, a modern list library." @@ -60,12 +68,12 @@ This is the anaphoric counterpart to `-each'." (let ((l (make-symbol "list")) (i (make-symbol "i"))) `(let ((,l ,list) - (,i 0) - it it-index) - (ignore it it-index) + (,i 0)) (while ,l - (setq it (pop ,l) it-index ,i ,i (1+ ,i)) - ,@body)))) + (let ((it (pop ,l)) (it-index ,i)) + (ignore it it-index) + ,@body) + (setq ,i (1+ ,i)))))) (defun -each (list fn) "Call FN on each element of LIST. @@ -102,11 +110,16 @@ This is the anaphoric counterpart to `-each-while'." (elt (make-symbol "elt"))) `(let ((,l ,list) (,i 0) - ,elt it it-index) - (ignore it it-index) - (while (and ,l (setq ,elt (pop ,l) it ,elt it-index ,i) ,pred) - (setq it ,elt it-index ,i ,i (1+ ,i)) - ,@body)))) + ,elt) + (while (when ,l + (setq ,elt (car-safe ,l)) + (let ((it ,elt) (it-index ,i)) + (ignore it it-index) + ,pred)) + (let ((it ,elt) (it-index ,i)) + (ignore it it-index) + ,@body) + (setq ,i (1+ ,i) ,l (cdr ,l)))))) (defun -each-while (list pred fn) "Call FN on each ITEM in LIST, while (PRED ITEM) is non-nil. @@ -373,7 +386,9 @@ This is the anaphoric counterpart to `-reductions'." `(let ((,lv ,list)) (if ,lv (--reductions-from ,form (car ,lv) (cdr ,lv)) - (let (acc it) + ;; Explicit nil binding pacifies lexical "variable left uninitialized" + ;; warning. See issue #377 and upstream https://bugs.gnu.org/47080. + (let ((acc nil) (it nil)) (ignore acc it) (list ,form)))))) @@ -642,7 +657,9 @@ See also: `-map-when', `-replace-first'" (defmacro --map-first (pred rep list) "Anaphoric form of `-map-first'." (declare (debug (def-form def-form form))) - `(-map-first (lambda (it) ,pred) (lambda (it) (ignore it) ,rep) ,list)) + `(-map-first (lambda (it) (ignore it) ,pred) + (lambda (it) (ignore it) ,rep) + ,list)) (defun -map-last (pred rep list) "Use PRED to determine the last item in LIST to call REP on. @@ -655,7 +672,9 @@ See also: `-map-when', `-replace-last'" (defmacro --map-last (pred rep list) "Anaphoric form of `-map-last'." (declare (debug (def-form def-form form))) - `(-map-last (lambda (it) ,pred) (lambda (it) (ignore it) ,rep) ,list)) + `(-map-last (lambda (it) (ignore it) ,pred) + (lambda (it) (ignore it) ,rep) + ,list)) (defun -replace (old new list) "Replace all OLD items in LIST with NEW. @@ -750,28 +769,45 @@ See also: `-flatten'" \(fn LIST)") -(defun -splice (pred fun list) - "Splice lists generated by FUN in place of elements matching PRED in LIST. - -FUN takes the element matching PRED as input. - -This function can be used as replacement for `,@' in case you -need to splice several lists at marked positions (for example -with keywords). - -See also: `-splice-list', `-insert-at'" - (let (r) - (--each list - (if (funcall pred it) - (let ((new (funcall fun it))) - (--each new (!cons it r))) - (!cons it r))) - (nreverse r))) - (defmacro --splice (pred form list) - "Anaphoric form of `-splice'." - (declare (debug (def-form def-form form))) - `(-splice (lambda (it) ,pred) (lambda (it) ,form) ,list)) + "Splice lists generated by FORM in place of items satisfying PRED in LIST. + +Evaluate PRED for each element of LIST in turn bound to `it'. +Whenever the result of PRED is nil, leave that `it' is-is. +Otherwise, evaluate FORM with the same `it' binding still in +place. The result should be a (possibly empty) list of items to +splice in place of `it' in LIST. + +This can be useful as an alternative to the `,@' construct in a +`\\=`' structure, in case you need to splice several lists at +marked positions (for example with keywords). + +This is the anaphoric counterpart to `-splice'." + (declare (debug (form form form))) + (let ((r (make-symbol "result"))) + `(let (,r) + (--each ,list + (if ,pred + (--each ,form (push it ,r)) + (push it ,r))) + (nreverse ,r)))) + +(defun -splice (pred fun list) + "Splice lists generated by FUN in place of items satisfying PRED in LIST. + +Call PRED on each element of LIST. Whenever the result of PRED +is nil, leave that `it' as-is. Otherwise, call FUN on the same +`it' that satisfied PRED. The result should be a (possibly +empty) list of items to splice in place of `it' in LIST. + +This can be useful as an alternative to the `,@' construct in a +`\\=`' structure, in case you need to splice several lists at +marked positions (for example with keywords). + +This function's anaphoric counterpart is `--splice'. + +See also: `-splice-list', `-insert-at'." + (--splice (funcall pred it) (funcall fun it) list)) (defun -splice-list (pred new-list list) "Splice NEW-LIST in place of elements matching PRED in LIST. @@ -782,7 +818,7 @@ See also: `-splice', `-insert-at'" (defmacro --splice-list (pred new-list list) "Anaphoric form of `-splice-list'." (declare (debug (def-form form form))) - `(-splice-list (lambda (it) ,pred) ,new-list ,list)) + `(-splice-list (lambda (it) (ignore it) ,pred) ,new-list ,list)) (defun -cons* (&rest args) "Make a new list from the elements of ARGS. @@ -822,14 +858,16 @@ This is the anaphoric counterpart to `-first'." (defun -first (pred list) "Return the first item in LIST for which PRED returns non-nil. Return nil if no such element is found. -To get the first item in the list no questions asked, use `car'. + +To get the first item in the list no questions asked, +use `-first-item'. Alias: `-find'. This function's anaphoric counterpart is `--first'." (--first (funcall pred it) list)) -(defalias '-find '-first) +(defalias '-find #'-first) (defalias '--find '--first) (defmacro --some (form list) @@ -898,10 +936,10 @@ This function's anaphoric counterpart is `--every'." "Return the last x in LIST where (PRED x) is non-nil, else nil." (--last (funcall pred it) list)) -(defalias '-first-item 'car +(defalias '-first-item #'car "Return the first item of LIST, or nil on an empty list. -See also: `-second-item', `-last-item'. +See also: `-second-item', `-last-item', etc. \(fn LIST)") @@ -909,40 +947,56 @@ See also: `-second-item', `-last-item'. ;; just like `car'. (put '-first-item 'byte-opcode 'byte-car) (put '-first-item 'byte-compile 'byte-compile-one-arg) +(put '-first-item 'pure t) +(put '-first-item 'side-effect-free t) -(defalias '-second-item 'cadr +(defalias '-second-item #'cadr "Return the second item of LIST, or nil if LIST is too short. -See also: `-third-item'. +See also: `-first-item', `-third-item', etc. \(fn LIST)") +(put '-second-item 'pure t) +(put '-second-item 'side-effect-free t) + (defalias '-third-item (if (fboundp 'caddr) #'caddr (lambda (list) (car (cddr list)))) "Return the third item of LIST, or nil if LIST is too short. -See also: `-fourth-item'. +See also: `-second-item', `-fourth-item', etc. \(fn LIST)") -(defun -fourth-item (list) +(put '-third-item 'pure t) +(put '-third-item 'side-effect-free t) + +(defalias '-fourth-item + (if (fboundp 'cadddr) + #'cadddr + (lambda (list) (cadr (cddr list)))) "Return the fourth item of LIST, or nil if LIST is too short. -See also: `-fifth-item'." - (declare (pure t) (side-effect-free t)) - (car (cdr (cdr (cdr list))))) +See also: `-third-item', `-fifth-item', etc. + +\(fn LIST)") + +(put '-fourth-item 'pure t) +(put '-fourth-item 'side-effect-free t) (defun -fifth-item (list) "Return the fifth item of LIST, or nil if LIST is too short. -See also: `-last-item'." +See also: `-fourth-item', `-last-item', etc." (declare (pure t) (side-effect-free t)) - (car (cdr (cdr (cdr (cdr list)))))) + (car (cddr (cddr list)))) (defun -last-item (list) - "Return the last item of LIST, or nil on an empty list." + "Return the last item of LIST, or nil on an empty list. + +See also: `-first-item', etc." (declare (pure t) (side-effect-free t)) (car (last list))) @@ -974,7 +1028,7 @@ See also: `-last-item'." (defun ---truthy? (obj) "Return OBJ as a boolean value (t or nil)." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (and obj t)) (defmacro --any? (form list) @@ -1233,7 +1287,7 @@ See also: `-map-when'" (defmacro --update-at (n form list) "Anaphoric version of `-update-at'." (declare (debug (form def-form form))) - `(-update-at ,n (lambda (it) ,form) ,list)) + `(-update-at ,n (lambda (it) (ignore it) ,form) ,list)) (defun -remove-at (n list) "Return a list with element at Nth position in LIST removed. @@ -1302,7 +1356,7 @@ See also `-split-when'" (defmacro --split-when (form list) "Anaphoric version of `-split-when'." (declare (debug (def-form form))) - `(-split-when (lambda (it) ,form) ,list)) + `(-split-when (lambda (it) (ignore it) ,form) ,list)) (defun -split-when (fn list) "Split the LIST on each element where FN returns non-nil. @@ -1650,21 +1704,36 @@ from the beginning." (nconc newlist newlist))) (defun -pad (fill-value &rest lists) - "Appends FILL-VALUE to the end of each list in LISTS such that they -will all have the same length." - (let* ((annotations (-annotate 'length lists)) - (n (-max (-map 'car annotations)))) - (--map (append (cdr it) (-repeat (- n (car it)) fill-value)) annotations))) + "Pad each of LISTS with FILL-VALUE until they all have equal lengths. -(defun -annotate (fn list) - "Return a list of cons cells where each cell is FN applied to each -element of LIST paired with the unmodified element of LIST." - (-zip (-map fn list) list)) +Ensure all LISTS are as long as the longest one by repeatedly +appending FILL-VALUE to the shorter lists, and return the +resulting LISTS." + (declare (pure t) (side-effect-free t)) + (let* ((lens (mapcar #'length lists)) + (maxlen (apply #'max 0 lens))) + (--map (append it (make-list (- maxlen (pop lens)) fill-value)) lists))) (defmacro --annotate (form list) - "Anaphoric version of `-annotate'." - (declare (debug (def-form form))) - `(-annotate (lambda (it) ,form) ,list)) + "Pair each item in LIST with the result of evaluating FORM. + +Return an alist of (RESULT . ITEM), where each ITEM is the +corresponding element of LIST, and RESULT is the value obtained +by evaluating FORM with ITEM bound to `it'. + +This is the anaphoric counterpart to `-annotate'." + (declare (debug (form form))) + `(--map (cons ,form it) ,list)) + +(defun -annotate (fn list) + "Pair each item in LIST with the result of passing it to FN. + +Return an alist of (RESULT . ITEM), where each ITEM is the +corresponding element of LIST, and RESULT is the value obtained +by calling FN on ITEM. + +This function's anaphoric counterpart is `--annotate'." + (--annotate (funcall fn it) list)) (defun dash--table-carry (lists restore-lists &optional re) "Helper for `-table' and `-table-flat'. @@ -1728,54 +1797,88 @@ See also: `-flatten-n', `-table'" (dash--table-carry lists restore-lists))) (nreverse re))) -(defun -elem-index (elem list) - "Return the index of the first element in the given LIST which -is equal to the query element ELEM, or nil if there is no -such element." - (declare (pure t) (side-effect-free t)) - (car (-elem-indices elem list))) - -(defun -elem-indices (elem list) - "Return the indices of all elements in LIST equal to the query -element ELEM, in ascending order." - (declare (pure t) (side-effect-free t)) - (-find-indices (-partial 'equal elem) list)) - -(defun -find-indices (pred list) - "Return the indices of all elements in LIST satisfying the -predicate PRED, in ascending order." - (apply 'append (--map-indexed (when (funcall pred it) (list it-index)) list))) - -(defmacro --find-indices (form list) - "Anaphoric version of `-find-indices'." - (declare (debug (def-form form))) - `(-find-indices (lambda (it) ,form) ,list)) +(defmacro --find-index (form list) + "Return the first index in LIST for which FORM evals to non-nil. +Return nil if no such index is found. +Each element of LIST in turn is bound to `it' and its index +within LIST to `it-index' before evaluating FORM. +This is the anaphoric counterpart to `-find-index'." + (declare (debug (form form))) + `(--some (and ,form it-index) ,list)) (defun -find-index (pred list) - "Take a predicate PRED and a LIST and return the index of the -first element in the list satisfying the predicate, or nil if -there is no such element. + "Return the index of the first item satisfying PRED in LIST. +Return nil if no such item is found. -See also `-first'." - (car (-find-indices pred list))) +PRED is called with one argument, the current list element, until +it returns non-nil, at which point the search terminates. -(defmacro --find-index (form list) - "Anaphoric version of `-find-index'." - (declare (debug (def-form form))) - `(-find-index (lambda (it) ,form) ,list)) +This function's anaphoric counterpart is `--find-index'. -(defun -find-last-index (pred list) - "Take a predicate PRED and a LIST and return the index of the -last element in the list satisfying the predicate, or nil if -there is no such element. +See also: `-first', `-find-last-index'." + (--find-index (funcall pred it) list)) -See also `-last'." - (-last-item (-find-indices pred list))) +(defun -elem-index (elem list) + "Return the first index of ELEM in LIST. +That is, the index within LIST of the first element that is +`equal' to ELEM. Return nil if there is no such element. + +See also: `-find-index'." + (declare (pure t) (side-effect-free t)) + (--find-index (equal elem it) list)) + +(defmacro --find-indices (form list) + "Return the list of indices in LIST for which FORM evals to non-nil. +Each element of LIST in turn is bound to `it' and its index +within LIST to `it-index' before evaluating FORM. +This is the anaphoric counterpart to `-find-indices'." + (declare (debug (form form))) + `(--keep (and ,form it-index) ,list)) + +(defun -find-indices (pred list) + "Return the list of indices in LIST satisfying PRED. + +Each element of LIST in turn is passed to PRED. If the result is +non-nil, the index of that element in LIST is included in the +result. The returned indices are in ascending order, i.e., in +the same order as they appear in LIST. + +This function's anaphoric counterpart is `--find-indices'. + +See also: `-find-index', `-elem-indices'." + (--find-indices (funcall pred it) list)) + +(defun -elem-indices (elem list) + "Return the list of indices at which ELEM appears in LIST. +That is, the indices of all elements of LIST `equal' to ELEM, in +the same ascending order as they appear in LIST." + (declare (pure t) (side-effect-free t)) + (--find-indices (equal elem it) list)) (defmacro --find-last-index (form list) - "Anaphoric version of `-find-last-index'." - (declare (debug (def-form form))) - `(-find-last-index (lambda (it) ,form) ,list)) + "Return the last index in LIST for which FORM evals to non-nil. +Return nil if no such index is found. +Each element of LIST in turn is bound to `it' and its index +within LIST to `it-index' before evaluating FORM. +This is the anaphoric counterpart to `-find-last-index'." + (declare (debug (form form))) + (let ((i (make-symbol "index"))) + `(let (,i) + (--each ,list + (when ,form (setq ,i it-index))) + ,i))) + +(defun -find-last-index (pred list) + "Return the index of the last item satisfying PRED in LIST. +Return nil if no such item is found. + +Predicate PRED is called with one argument each time, namely the +current list element. + +This function's anaphoric counterpart is `--find-last-index'. + +See also: `-last', `-find-index'." + (--find-last-index (funcall pred it) list)) (defun -select-by-indices (indices list) "Return a list whose elements are elements from LIST selected @@ -2214,7 +2317,9 @@ matchers based on the type of the expression. Key-value stores are disambiguated by placing a token &plist, &alist or &hash as a first item in the MATCH-FORM." (cond - ((symbolp match-form) + ((and (symbolp match-form) + ;; Don't bind things like &keys as if they were vars (#395). + (not (functionp (dash--get-expand-function match-form)))) (dash--match-symbol match-form source)) ((consp match-form) (cond @@ -2369,7 +2474,7 @@ patterns be optionally left out and derived from the key name in the following fashion: - a key :foo is converted into `foo' pattern, -- a key 'bar is converted into `bar' pattern, +- a key \\='bar is converted into `bar' pattern, - a key \"baz\" is converted into `baz' pattern. That is, the entire value under the key is bound to the derived @@ -2383,10 +2488,10 @@ invalid spec fails with an error. Thus the patterns are normalized as follows: ;; derive all the missing patterns - (&plist :foo 'bar \"baz\") => (&plist :foo foo 'bar bar \"baz\" baz) + (&plist :foo \\='bar \"baz\") => (&plist :foo foo \\='bar bar \"baz\" baz) ;; we can specify some but not others - (&plist :foo 'bar explicit-bar) => (&plist :foo foo 'bar explicit-bar) + (&plist :foo \\='bar explicit-bar) => (&plist :foo foo \\='bar explicit-bar) ;; nothing happens, we store :foo in x (&plist :foo x) => (&plist :foo x) @@ -2600,83 +2705,311 @@ execute body." (indent 1)) `(--if-let ,val (progn ,@body))) +;; TODO: Get rid of this dynamic variable, passing it as an argument +;; instead? (defvar -compare-fn nil - "Tests for equality use this function or `equal' if this is nil. -It should only be set using dynamic scope with a let, like: + "Tests for equality use this function, or `equal' if this is nil. - (let ((-compare-fn #\\='=)) (-union numbers1 numbers2 numbers3)") +As a dynamic variable, this should be temporarily bound around +the relevant operation, rather than permanently modified. For +example: + + (let ((-compare-fn #\\='=)) + (-union \\='(1 2 3) \\='(2 3 4)))") + +(defun dash--member-fn () + "Return the flavor of `member' that goes best with `-compare-fn'." + (declare (side-effect-free error-free)) + (let ((cmp -compare-fn)) + (cond ((memq cmp '(nil equal)) #'member) + ((eq cmp #'eq) #'memq) + ((eq cmp #'eql) #'memql) + ((lambda (elt list) + (while (and list (not (funcall cmp elt (car list)))) + (pop list)) + list))))) + +(defun dash--assoc-fn () + "Return the flavor of `assoc' that goes best with `-compare-fn'." + (declare (side-effect-free error-free)) + (let ((cmp -compare-fn)) + (cond ((memq cmp '(nil equal)) #'assoc) + ((eq cmp #'eq) #'assq) + ;; Since Emacs 26, `assoc' accepts a custom `testfn'. + ;; Version testing would be simpler here, but feature + ;; testing gets more brownie points, I guess. + ((condition-case nil + (with-no-warnings (assoc nil () #'eql)) + (wrong-number-of-arguments t)) + (lambda (key alist) + (--first (and (consp it) (funcall cmp (car it) key)) alist))) + ((with-no-warnings + (lambda (key alist) + (assoc key alist cmp))))))) + +(defun dash--hash-test-fn () + "Return the hash table test function corresponding to `-compare-fn'. +Return nil if `-compare-fn' is not a known test function." + (declare (side-effect-free error-free)) + ;; In theory this could also recognize values that are custom + ;; `hash-table-test's, but too often the :test name is different + ;; from the equality function, so it doesn't seem worthwile. + (car (memq (or -compare-fn #'equal) '(equal eq eql)))) + +(defvar dash--short-list-length 32 + "Maximum list length considered short, for optimizations. +For example, the speedup afforded by hash table lookup may start +to outweigh its runtime and memory overhead for problem sizes +greater than this value. See also the discussion in PR #305.") (defun -distinct (list) - "Return a new list with all duplicates removed. -The test for equality is done with `equal', -or with `-compare-fn' if that's non-nil. + "Return a copy of LIST with all duplicate elements removed. -Alias: `-uniq'" - ;; Implementation note: The speedup gained from hash table lookup - ;; starts to outweigh its overhead for lists of length greater than - ;; 32. See discussion in PR #305. - (let* ((len (length list)) - (lut (and (> len 32) - ;; Check that `-compare-fn' is a valid hash-table - ;; lookup function or nil. - (memq -compare-fn '(nil equal eq eql)) - (make-hash-table :test (or -compare-fn #'equal) - :size len)))) - (if lut - (--filter (unless (gethash it lut) - (puthash it t lut)) - list) - (--each list (unless (-contains? lut it) (!cons it lut))) - (nreverse lut)))) +The test for equality is done with `equal', or with `-compare-fn' +if that is non-nil. -(defalias '-uniq '-distinct) +Alias: `-uniq'." + (let (test len) + (cond ((null list) ()) + ;; Use a hash table if `-compare-fn' is a known hash table + ;; test function and the list is long enough. + ((and (setq test (dash--hash-test-fn)) + (> (setq len (length list)) dash--short-list-length)) + (let ((ht (make-hash-table :test test :size len))) + (--filter (unless (gethash it ht) (puthash it t ht)) list))) + ((let ((member (dash--member-fn)) uniq) + (--each list (unless (funcall member it uniq) (push it uniq))) + (nreverse uniq)))))) -(defun -union (list list2) - "Return a new list of all elements appearing in either LIST1 or LIST2. -Equality is defined by the value of `-compare-fn' if non-nil; -otherwise `equal'." - ;; We fall back to iteration implementation if the comparison - ;; function isn't one of `eq', `eql' or `equal'. - (let* ((result (reverse list)) - ;; TODO: get rid of this dynamic variable, pass it as an - ;; argument instead. - (-compare-fn (if (bound-and-true-p -compare-fn) - -compare-fn - 'equal))) - (if (memq -compare-fn '(eq eql equal)) - (let ((ht (make-hash-table :test -compare-fn))) - (--each list (puthash it t ht)) - (--each list2 (unless (gethash it ht) (!cons it result)))) - (--each list2 (unless (-contains? result it) (!cons it result)))) - (nreverse result))) +(defalias '-uniq #'-distinct) -(defun -intersection (list list2) - "Return a new list of the elements appearing in both LIST1 and LIST2. -Equality is defined by the value of `-compare-fn' if non-nil; -otherwise `equal'." - (--filter (-contains? list2 it) list)) +(defun dash--size+ (size1 size2) + "Return the sum of nonnegative fixnums SIZE1 and SIZE2. +Return `most-positive-fixnum' on overflow. This ensures the +result is a valid size, particularly for allocating hash tables, +even in the presence of bignum support." + (declare (side-effect-free t)) + (if (< size1 (- most-positive-fixnum size2)) + (+ size1 size2) + most-positive-fixnum)) -(defun -difference (list list2) - "Return a new list with only the members of LIST that are not in LIST2. -The test for equality is done with `equal', -or with `-compare-fn' if that's non-nil." - (--filter (not (-contains? list2 it)) list)) +(defun -union (list1 list2) + "Return a new list of distinct elements appearing in either LIST1 or LIST2. + +The test for equality is done with `equal', or with `-compare-fn' +if that is non-nil." + (let ((lists (list list1 list2)) test len union) + (cond ((null (or list1 list2))) + ;; Use a hash table if `-compare-fn' is a known hash table + ;; test function and the lists are long enough. + ((and (setq test (dash--hash-test-fn)) + (> (setq len (dash--size+ (length list1) (length list2))) + dash--short-list-length)) + (let ((ht (make-hash-table :test test :size len))) + (dolist (l lists) + (--each l (unless (gethash it ht) + (puthash it t ht) + (push it union)))))) + ((let ((member (dash--member-fn))) + (dolist (l lists) + (--each l (unless (funcall member it union) (push it union))))))) + (nreverse union))) + +(defun -intersection (list1 list2) + "Return a new list of distinct elements appearing in both LIST1 and LIST2. + +The test for equality is done with `equal', or with `-compare-fn' +if that is non-nil." + (let (test len) + (cond ((null (and list1 list2)) ()) + ;; Use a hash table if `-compare-fn' is a known hash table + ;; test function and either list is long enough. + ((and (setq test (dash--hash-test-fn)) + (> (setq len (length list2)) dash--short-list-length)) + (let ((ht (make-hash-table :test test :size len))) + (--each list2 (puthash it t ht)) + ;; Remove visited elements to avoid duplicates. + (--filter (when (gethash it ht) (remhash it ht) t) list1))) + ((let ((member (dash--member-fn)) intersection) + (--each list1 (and (funcall member it list2) + (not (funcall member it intersection)) + (push it intersection))) + (nreverse intersection)))))) + +(defun -difference (list1 list2) + "Return a new list with the distinct members of LIST1 that are not in LIST2. + +The test for equality is done with `equal', or with `-compare-fn' +if that is non-nil." + (let (test len1 len2) + (cond ((null list1) ()) + ((null list2) (-distinct list1)) + ;; Use a hash table if `-compare-fn' is a known hash table + ;; test function and the subtrahend is long enough. + ((and (setq test (dash--hash-test-fn)) + (setq len1 (length list1)) + (setq len2 (length list2)) + (> (max len1 len2) dash--short-list-length)) + (let ((ht1 (make-hash-table :test test :size len1)) + (ht2 (make-hash-table :test test :size len2))) + (--each list2 (puthash it t ht2)) + ;; Avoid duplicates by tracking visited items in `ht1'. + (--filter (unless (or (gethash it ht2) (gethash it ht1)) + (puthash it t ht1)) + list1))) + ((let ((member (dash--member-fn)) difference) + (--each list1 + (unless (or (funcall member it list2) + (funcall member it difference)) + (push it difference))) + (nreverse difference)))))) (defun -powerset (list) "Return the power set of LIST." - (if (null list) '(()) + (if (null list) (list ()) (let ((last (-powerset (cdr list)))) - (append (mapcar (lambda (x) (cons (car list) x)) last) - last)))) + (nconc (mapcar (lambda (x) (cons (car list) x)) last) + last)))) + +(defun -frequencies (list) + "Count the occurrences of each distinct element of LIST. + +Return an alist of (ELEMENT . N), where each ELEMENT occurs N +times in LIST. + +The test for equality is done with `equal', or with `-compare-fn' +if that is non-nil. + +See also `-count' and `-group-by'." + (let (test len freqs) + (cond ((null list)) + ((and (setq test (dash--hash-test-fn)) + (> (setq len (length list)) dash--short-list-length)) + (let ((ht (make-hash-table :test test :size len))) + ;; Share structure between hash table and returned list. + ;; This affords a single pass that preserves the input + ;; order, conses less garbage, and is faster than a + ;; second traversal (e.g., with `maphash'). + (--each list + (let ((freq (gethash it ht))) + (if freq + (setcdr freq (1+ (cdr freq))) + (push (puthash it (cons it 1) ht) freqs)))))) + ((let ((assoc (dash--assoc-fn))) + (--each list + (let ((freq (funcall assoc it freqs))) + (if freq + (setcdr freq (1+ (cdr freq))) + (push (cons it 1) freqs))))))) + (nreverse freqs))) + +(defun dash--numbers<= (nums) + "Return non-nil if NUMS is a list of non-decreasing numbers." + (declare (pure t) (side-effect-free t)) + (or (null nums) + (let ((prev (pop nums))) + (and (numberp prev) + (--every (and (numberp it) (<= prev (setq prev it))) nums))))) + +(defun dash--next-lex-perm (array n) + "Update ARRAY of N numbers with its next lexicographic permutation. +Return nil if there is no such successor. N should be nonzero. + +This implements the salient steps of Algorithm L (Lexicographic +permutation generation) as described in DE Knuth's The Art of +Computer Programming, Volume 4A / Combinatorial Algorithms, +Part I, Addison-Wesley, 2011, § 7.2.1.2, p. 319." + (setq n (1- n)) + (let* ((l n) + (j (1- n)) + (al (aref array n)) + (aj al)) + ;; L2. [Find j]. + ;; Decrement j until a[j] < a[j+1]. + (while (and (<= 0 j) + (<= aj (setq aj (aref array j)))) + (setq j (1- j))) + ;; Terminate algorithm if j not found. + (when (>= j 0) + ;; L3. [Increase a[j]]. + ;; Decrement l until a[j] < a[l]. + (while (>= aj al) + (setq l (1- l) al (aref array l))) + ;; Swap a[j] and a[l]. + (aset array j al) + (aset array l aj) + ;; L4. [Reverse a[j+1]...a[n]]. + (setq l n) + (while (< (setq j (1+ j)) l) + (setq aj (aref array j)) + (aset array j (aref array l)) + (aset array l aj) + (setq l (1- l))) + array))) + +(defun dash--lex-perms (vec &optional original) + "Return a list of permutations of VEC in lexicographic order. +Specifically, return only the successors of VEC in lexicographic +order. Each returned permutation is a list. VEC should comprise +one or more numbers, and may be destructively modified. + +If ORIGINAL is a vector, then VEC is interpreted as a set of +indices into ORIGINAL. In this case, the indices are permuted, +and the resulting index permutations are used to dereference +elements of ORIGINAL." + (let ((len (length vec)) perms) + (while vec + (push (if original + (--map (aref original it) vec) + (append vec ())) + perms) + (setq vec (dash--next-lex-perm vec len))) + (nreverse perms))) + +(defun dash--uniq-perms (list) + "Return a list of permutations of LIST. +LIST is treated as if all its elements are distinct." + (let* ((vec (vconcat list)) + (idxs (copy-sequence vec))) + ;; Just construct a vector of the list's indices and permute that. + (dotimes (i (length idxs)) + (aset idxs i i)) + (dash--lex-perms idxs vec))) + +(defun dash--multi-perms (list freqs) + "Return a list of permutations of the multiset LIST. +FREQS should be an alist describing the frequency of each element +in LIST, as returned by `-frequencies'." + (let (;; Distinct items in `list', aka the cars of `freqs'. + (uniq (make-vector (length freqs) nil)) + ;; Indices into `uniq'. + (idxs (make-vector (length list) nil)) + ;; Current index into `idxs'. + (i 0)) + (--each freqs + (aset uniq it-index (car it)) + ;; Populate `idxs' with as many copies of each `it-index' as + ;; there are corresponding duplicates. + (dotimes (_ (cdr it)) + (aset idxs i it-index) + (setq i (1+ i)))) + (dash--lex-perms idxs uniq))) (defun -permutations (list) - "Return the permutations of LIST." - (if (null list) '(()) - (apply #'append - (mapcar (lambda (x) - (mapcar (lambda (perm) (cons x perm)) - (-permutations (remove x list)))) - list)))) + "Return the distinct permutations of LIST. + +Duplicate elements of LIST are determined by `equal', or by +`-compare-fn' if that is non-nil." + (cond ((null list) (list ())) + ;; Optimization: a traversal of `list' is faster than the + ;; round trip via `dash--uniq-perms' or `dash--multi-perms'. + ((dash--numbers<= list) + (dash--lex-perms (vconcat list))) + ((let ((freqs (-frequencies list))) + ;; Is each element distinct? + (unless (--every (= (cdr it) 1) freqs) + (dash--multi-perms list freqs)))) + ((dash--uniq-perms list)))) (defun -inits (list) "Return all prefixes of LIST." @@ -2704,37 +3037,49 @@ or with `-compare-fn' if that's non-nil." "Return non-nil if LIST contains ELEMENT. The test for equality is done with `equal', or with `-compare-fn' -if that's non-nil. +if that is non-nil. As with `member', the return value is +actually the tail of LIST whose car is ELEMENT. -Alias: `-contains-p'" - (not - (null - (cond - ((null -compare-fn) (member element list)) - ((eq -compare-fn 'eq) (memq element list)) - ((eq -compare-fn 'eql) (memql element list)) - (t - (let ((lst list)) - (while (and lst - (not (funcall -compare-fn element (car lst)))) - (setq lst (cdr lst))) - lst)))))) +Alias: `-contains-p'." + (funcall (dash--member-fn) element list)) -(defalias '-contains-p '-contains?) +(defalias '-contains-p #'-contains?) -(defun -same-items? (list list2) - "Return true if LIST and LIST2 has the same items. +(defun -same-items? (list1 list2) + "Return non-nil if LIST1 and LIST2 have the same distinct elements. -The order of the elements in the lists does not matter. +The order of the elements in the lists does not matter. The +lists may be of different lengths, i.e., contain duplicate +elements. The test for equality is done with `equal', or with +`-compare-fn' if that is non-nil. -Alias: `-same-items-p'" - (let ((length-a (length list)) - (length-b (length list2))) - (and - (= length-a length-b) - (= length-a (length (-intersection list list2)))))) +Alias: `-same-items-p'." + (let (test len1 len2) + (cond ((null (or list1 list2))) + ((null (and list1 list2)) nil) + ;; Use a hash table if `-compare-fn' is a known hash table + ;; test function and either list is long enough. + ((and (setq test (dash--hash-test-fn)) + (setq len1 (length list1)) + (setq len2 (length list2)) + (> (max len1 len2) dash--short-list-length)) + (let ((ht1 (make-hash-table :test test :size len1)) + (ht2 (make-hash-table :test test :size len2))) + (--each list1 (puthash it t ht1)) + ;; Move visited elements from `ht1' to `ht2'. This way, + ;; if visiting all of `list2' leaves `ht1' empty, then + ;; all elements from both lists have been accounted for. + (and (--every (cond ((gethash it ht1) + (remhash it ht1) + (puthash it t ht2)) + ((gethash it ht2))) + list2) + (zerop (hash-table-count ht1))))) + ((let ((member (dash--member-fn))) + (and (--all? (funcall member it list2) list1) + (--all? (funcall member it list1) list2))))))) -(defalias '-same-items-p '-same-items?) +(defalias '-same-items-p #'-same-items?) (defun -is-prefix? (prefix list) "Return non-nil if PREFIX is a prefix of LIST. @@ -2779,7 +3124,7 @@ if the first element should sort before the second." (defmacro --sort (form list) "Anaphoric form of `-sort'." (declare (debug (def-form form))) - `(-sort (lambda (it other) ,form) ,list)) + `(-sort (lambda (it other) (ignore it other) ,form) ,list)) (defun -list (&optional arg &rest args) "Ensure ARG is a list. @@ -2791,14 +3136,14 @@ In this case, if ARG is not a list, a new list with all of ARGS as elements is returned. This use is supported for backward compatibility and is otherwise deprecated." (declare (advertised-calling-convention (arg) "2.18.0") - (pure t) (side-effect-free t)) + (pure t) (side-effect-free error-free)) (if (listp arg) arg (cons arg args))) (defun -repeat (n x) "Return a new list of length N with each element being X. Return nil if N is less than 1." (declare (pure t) (side-effect-free t)) - (and (natnump n) (make-list n x))) + (and (>= n 0) (make-list n x))) (defun -sum (list) "Return the sum of LIST." @@ -2855,14 +3200,14 @@ comparing them." The items for the comparator form are exposed as \"it\" and \"other\"." (declare (debug (def-form form))) - `(-max-by (lambda (it other) ,form) ,list)) + `(-max-by (lambda (it other) (ignore it other) ,form) ,list)) (defmacro --min-by (form list) "Anaphoric version of `-min-by'. The items for the comparator form are exposed as \"it\" and \"other\"." (declare (debug (def-form form))) - `(-min-by (lambda (it other) ,form) ,list)) + `(-min-by (lambda (it other) (ignore it other) ,form) ,list)) (defun -iota (count &optional start step) "Return a list containing COUNT numbers. @@ -2892,7 +3237,7 @@ FN is called at least once, results are compared with `equal'." (defmacro --fix (form list) "Anaphoric form of `-fix'." (declare (debug (def-form form))) - `(-fix (lambda (it) ,form) ,list)) + `(-fix (lambda (it) (ignore it) ,form) ,list)) (defun -unfold (fun seed) "Build a list from SEED using FUN. @@ -2913,14 +3258,14 @@ the new seed." (defmacro --unfold (form seed) "Anaphoric version of `-unfold'." (declare (debug (def-form form))) - `(-unfold (lambda (it) ,form) ,seed)) + `(-unfold (lambda (it) (ignore it) ,form) ,seed)) (defun -cons-pair? (obj) "Return non-nil if OBJ is a true cons pair. That is, a cons (A . B) where B is not a list. Alias: `-cons-pair-p'." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (nlistp (cdr-safe obj))) (defalias '-cons-pair-p '-cons-pair?) @@ -2938,9 +3283,7 @@ and `cdr' of the pair respectively. If the value is anything else, wrap it in a list." (declare (pure t) (side-effect-free t)) - (cond - ((-cons-pair? val) (-cons-to-list val)) - (t (list val)))) + (if (-cons-pair? val) (-cons-to-list val) (list val))) (defun -tree-mapreduce-from (fn folder init-value tree) "Apply FN to each element of TREE, and make a list of the results. @@ -2953,16 +3296,21 @@ INIT-VALUE. See `-reduce-r-from'. This is the same as calling `-tree-reduce-from' after `-tree-map' but is twice as fast as it only traverse the structure once." (cond - ((not tree) nil) + ((null tree) ()) ((-cons-pair? tree) (funcall fn tree)) - ((listp tree) - (-reduce-r-from folder init-value (mapcar (lambda (x) (-tree-mapreduce-from fn folder init-value x)) tree))) - (t (funcall fn tree)))) + ((consp tree) + (-reduce-r-from + folder init-value + (mapcar (lambda (x) (-tree-mapreduce-from fn folder init-value x)) tree))) + ((funcall fn tree)))) (defmacro --tree-mapreduce-from (form folder init-value tree) "Anaphoric form of `-tree-mapreduce-from'." (declare (debug (def-form def-form form form))) - `(-tree-mapreduce-from (lambda (it) ,form) (lambda (it acc) ,folder) ,init-value ,tree)) + `(-tree-mapreduce-from (lambda (it) (ignore it) ,form) + (lambda (it acc) (ignore it acc) ,folder) + ,init-value + ,tree)) (defun -tree-mapreduce (fn folder tree) "Apply FN to each element of TREE, and make a list of the results. @@ -2975,30 +3323,32 @@ INIT-VALUE. See `-reduce-r-from'. This is the same as calling `-tree-reduce' after `-tree-map' but is twice as fast as it only traverse the structure once." (cond - ((not tree) nil) + ((null tree) ()) ((-cons-pair? tree) (funcall fn tree)) - ((listp tree) + ((consp tree) (-reduce-r folder (mapcar (lambda (x) (-tree-mapreduce fn folder x)) tree))) - (t (funcall fn tree)))) + ((funcall fn tree)))) (defmacro --tree-mapreduce (form folder tree) "Anaphoric form of `-tree-mapreduce'." (declare (debug (def-form def-form form))) - `(-tree-mapreduce (lambda (it) ,form) (lambda (it acc) ,folder) ,tree)) + `(-tree-mapreduce (lambda (it) (ignore it) ,form) + (lambda (it acc) (ignore it acc) ,folder) + ,tree)) (defun -tree-map (fn tree) "Apply FN to each element of TREE while preserving the tree structure." (cond - ((not tree) nil) + ((null tree) ()) ((-cons-pair? tree) (funcall fn tree)) - ((listp tree) + ((consp tree) (mapcar (lambda (x) (-tree-map fn x)) tree)) - (t (funcall fn tree)))) + ((funcall fn tree)))) (defmacro --tree-map (form tree) "Anaphoric form of `-tree-map'." (declare (debug (def-form form))) - `(-tree-map (lambda (it) ,form) ,tree)) + `(-tree-map (lambda (it) (ignore it) ,form) ,tree)) (defun -tree-reduce-from (fn init-value tree) "Use FN to reduce elements of list TREE. @@ -3010,16 +3360,19 @@ then on this result and second element from the list etc. The initial value is ignored on cons pairs as they always contain two elements." (cond - ((not tree) nil) + ((null tree) ()) ((-cons-pair? tree) tree) - ((listp tree) - (-reduce-r-from fn init-value (mapcar (lambda (x) (-tree-reduce-from fn init-value x)) tree))) - (t tree))) + ((consp tree) + (-reduce-r-from + fn init-value + (mapcar (lambda (x) (-tree-reduce-from fn init-value x)) tree))) + (tree))) (defmacro --tree-reduce-from (form init-value tree) "Anaphoric form of `-tree-reduce-from'." (declare (debug (def-form form form))) - `(-tree-reduce-from (lambda (it acc) ,form) ,init-value ,tree)) + `(-tree-reduce-from (lambda (it acc) (ignore it acc) ,form) + ,init-value ,tree)) (defun -tree-reduce (fn tree) "Use FN to reduce elements of list TREE. @@ -3030,16 +3383,16 @@ element, then on this result and third element from the list etc. See `-reduce-r' for how exactly are lists of zero or one element handled." (cond - ((not tree) nil) + ((null tree) ()) ((-cons-pair? tree) tree) - ((listp tree) + ((consp tree) (-reduce-r fn (mapcar (lambda (x) (-tree-reduce fn x)) tree))) - (t tree))) + (tree))) (defmacro --tree-reduce (form tree) "Anaphoric form of `-tree-reduce'." (declare (debug (def-form form))) - `(-tree-reduce (lambda (it acc) ,form) ,tree)) + `(-tree-reduce (lambda (it acc) (ignore it acc) ,form) ,tree)) (defun -tree-map-nodes (pred fun tree) "Call FUN on each node of TREE that satisfies PRED. @@ -3047,17 +3400,17 @@ See `-reduce-r' for how exactly are lists of zero or one element handled." If PRED returns nil, continue descending down this node. If PRED returns non-nil, apply FUN to this node and do not descend further." - (if (funcall pred tree) - (funcall fun tree) - (if (and (listp tree) - (not (-cons-pair? tree))) - (-map (lambda (x) (-tree-map-nodes pred fun x)) tree) - tree))) + (cond ((funcall pred tree) (funcall fun tree)) + ((and (listp tree) (listp (cdr tree))) + (-map (lambda (x) (-tree-map-nodes pred fun x)) tree)) + (tree))) (defmacro --tree-map-nodes (pred form tree) "Anaphoric form of `-tree-map-nodes'." (declare (debug (def-form def-form form))) - `(-tree-map-nodes (lambda (it) ,pred) (lambda (it) ,form) ,tree)) + `(-tree-map-nodes (lambda (it) (ignore it) ,pred) + (lambda (it) (ignore it) ,form) + ,tree)) (defun -tree-seq (branch children tree) "Return a sequence of the nodes in TREE, in depth-first search order. @@ -3070,14 +3423,16 @@ of the passed branch node. Non-branch nodes are simply copied." (cons tree - (when (funcall branch tree) - (-mapcat (lambda (x) (-tree-seq branch children x)) - (funcall children tree))))) + (and (funcall branch tree) + (-mapcat (lambda (x) (-tree-seq branch children x)) + (funcall children tree))))) (defmacro --tree-seq (branch children tree) "Anaphoric form of `-tree-seq'." (declare (debug (def-form def-form form))) - `(-tree-seq (lambda (it) ,branch) (lambda (it) ,children) ,tree)) + `(-tree-seq (lambda (it) (ignore it) ,branch) + (lambda (it) (ignore it) ,children) + ,tree)) (defun -clone (list) "Create a deep copy of LIST. @@ -3085,7 +3440,7 @@ The new list has the same elements and structure but all cons are replaced with new ones. This is useful when you need to clone a structure such as plist or alist." (declare (pure t) (side-effect-free t)) - (-tree-map 'identity list)) + (-tree-map #'identity list)) ;;; Combinators @@ -3098,14 +3453,14 @@ is a new function which does the same as FN, except that the last N arguments are fixed at the values with which this function was called. This is like `-partial', except the arguments are fixed starting from the right rather than the left." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest args-before) (apply fn (append args-before args)))) (defun -juxt (&rest fns) "Return a function that is the juxtaposition of FNS. The returned function takes a variable number of ARGS, applies each of FNS in turn to ARGS, and returns the list of results." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest args) (mapcar (lambda (x) (apply x args)) fns))) (defun -compose (&rest fns) @@ -3115,7 +3470,7 @@ the last function in FNS to ARGS, and returns the result of calling each remaining function on the result of the previous function, right-to-left. If no FNS are given, return a variadic `identity' function." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (let* ((fns (nreverse fns)) (head (car fns)) (tail (cdr fns))) @@ -3129,7 +3484,7 @@ function, right-to-left. If no FNS are given, return a variadic "Return a function that applies FN to a single list of args. This changes the arity of FN from taking N distinct arguments to taking 1 argument which is a list of N arguments." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (args) (apply fn args))) (defun -on (op trans) @@ -3143,7 +3498,7 @@ equivalent: (funcall (-on #\\='+ #\\='1+) 1 2 3) = (+ (1+ 1) (1+ 2) (1+ 3)) (funcall (-on #\\='+ #\\='1+)) = (+)" - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest args) ;; This unrolling seems to be a relatively cheap way to keep the ;; overhead of `mapcar' + `apply' in check. @@ -3165,7 +3520,7 @@ equivalent: (funcall (-flip #\\='-) 1 2) = (- 2 1) See also: `-rotate-args'." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest args) ;; Open-code for speed. (cond ((cddr args) (apply fn (nreverse args))) ((cdr args) (funcall fn (cadr args) (car args))) @@ -3198,7 +3553,7 @@ See also: `-flip'." "Return a function that returns C ignoring any additional arguments. In types: a -> b -> a" - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest _) c)) (defmacro -cut (&rest params) @@ -3224,7 +3579,7 @@ The returned predicate passes its arguments to PRED. If PRED returns nil, the result is non-nil; otherwise the result is nil. See also: `-andfn' and `-orfn'." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (lambda (&rest args) (not (apply pred args)))) (defun -orfn (&rest preds) @@ -3236,7 +3591,7 @@ the remaining PREDS. If all PREDS return nil, or if no PREDS are given, the returned predicate returns nil. See also: `-andfn' and `-not'." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) ;; Open-code for speed. (cond ((cdr preds) (lambda (&rest args) (--some (apply it args) preds))) (preds (car preds)) @@ -3251,7 +3606,7 @@ remaining PREDS. If all PREDS return non-nil, P returns the last such value. If no PREDS are given, P always returns non-nil. See also: `-orfn' and `-not'." - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) ;; Open-code for speed. (cond ((cdr preds) (lambda (&rest args) (--every (apply it args) preds))) (preds (car preds)) diff --git a/code/elpa/dash-20220417.2250/dash.info b/code/elpa/dash-20220608.1931/dash.info similarity index 93% rename from code/elpa/dash-20220417.2250/dash.info rename to code/elpa/dash-20220608.1931/dash.info index 2741464..c19b136 100644 --- a/code/elpa/dash-20220417.2250/dash.info +++ b/code/elpa/dash-20220608.1931/dash.info @@ -288,35 +288,45 @@ The results are collected in order and returned as a new list. ⇒ (0 2 6 12) -- Function: -annotate (fn list) - Return a list of cons cells where each cell is FN applied to each - element of LIST paired with the unmodified element of LIST. + Pair each item in LIST with the result of passing it to FN. - (-annotate '1+ '(1 2 3)) + Return an alist of (RESULT . ITEM), where each ITEM is the + corresponding element of LIST, and RESULT is the value obtained by + calling FN on ITEM. + + This function’s anaphoric counterpart is ‘--annotate’. + + (-annotate #'1+ '(1 2 3)) ⇒ ((2 . 1) (3 . 2) (4 . 3)) - (-annotate 'length '(("h" "e" "l" "l" "o") ("hello" "world"))) - ⇒ ((5 "h" "e" "l" "l" "o") (2 "hello" "world")) - (--annotate (< 1 it) '(0 1 2 3)) + (-annotate #'length '((f o o) (bar baz))) + ⇒ ((3 f o o) (2 bar baz)) + (--annotate (> it 1) '(0 1 2 3)) ⇒ ((nil . 0) (nil . 1) (t . 2) (t . 3)) -- Function: -splice (pred fun list) - Splice lists generated by FUN in place of elements matching PRED in + Splice lists generated by FUN in place of items satisfying PRED in LIST. - FUN takes the element matching PRED as input. + Call PRED on each element of LIST. Whenever the result of PRED is + ‘nil’, leave that ‘it’ as-is. Otherwise, call FUN on the same ‘it’ + that satisfied PRED. The result should be a (possibly empty) list + of items to splice in place of ‘it’ in LIST. - This function can be used as replacement for ‘,@’ in case you need - to splice several lists at marked positions (for example with - keywords). + This can be useful as an alternative to the ‘,@’ construct in a ‘`’ + structure, in case you need to splice several lists at marked + positions (for example with keywords). + + This function’s anaphoric counterpart is ‘--splice’. See also: ‘-splice-list’ (*note -splice-list::), ‘-insert-at’ - (*note -insert-at::) + (*note -insert-at::). - (-splice 'even? (lambda (x) (list x x)) '(1 2 3 4)) - ⇒ (1 2 2 3 4 4) - (--splice 't (list it it) '(1 2 3 4)) + (-splice #'numberp (lambda (n) (list n n)) '(a 1 b 2)) + ⇒ (a 1 1 b 2 2) + (--splice t (list it it) '(1 2 3 4)) ⇒ (1 1 2 2 3 3 4 4) - (--splice (equal it :magic) '((list of) (magical) (code)) '((foo) (bar) :magic (baz))) - ⇒ ((foo) (bar) (list of) (magical) (code) (baz)) + (--splice (eq it :magic) '((magical) (code)) '((foo) :magic (bar))) + ⇒ ((foo) (magical) (code) (bar)) -- Function: -splice-list (pred new-list list) Splice NEW-LIST in place of elements matching PRED in LIST. @@ -1091,6 +1101,25 @@ Functions reducing lists to a single value (which may also be a list). (--max-by (> (length it) (length other)) '((1 2 3) (2) (3 2))) ⇒ (1 2 3) + -- Function: -frequencies (list) + Count the occurrences of each distinct element of LIST. + + Return an alist of (ELEMENT . N), where each ELEMENT occurs N + times in LIST. + + The test for equality is done with ‘equal’, or with ‘-compare-fn’ + if that is non-‘nil’. + + See also ‘-count’ (*note -count::) and ‘-group-by’ (*note + -group-by::). + + (-frequencies ()) + ⇒ () + (-frequencies '(1 2 3 1 2 1)) + ⇒ ((1 . 3) (2 . 2) (3 . 1)) + (let ((-compare-fn #'string=)) (-frequencies '(a "a"))) + ⇒ ((a . 2)) +  File: dash.info, Node: Unfolding, Next: Predicates, Prev: Reductions, Up: Functions @@ -1135,6 +1164,28 @@ than consuming a list to produce a single value. (--unfold (when it (cons it (butlast it))) '(1 2 3 4)) ⇒ ((1 2 3 4) (1 2 3) (1 2) (1)) + -- Function: -repeat (n x) + Return a new list of length N with each element being X. Return + ‘nil’ if N is less than 1. + + (-repeat 3 :a) + ⇒ (:a :a :a) + (-repeat 1 :a) + ⇒ (:a) + (-repeat 0 :a) + ⇒ () + + -- Function: -cycle (list) + Return an infinite circular copy of LIST. The returned list cycles + through the elements of LIST and repeats from the beginning. + + (-take 5 (-cycle '(1 2 3))) + ⇒ (1 2 3 1 2) + (-take 7 (-cycle '(1 "and" 3))) + ⇒ (1 "and" 3 1 "and" 3 1) + (-zip (-cycle '(1 2 3)) '(1 2)) + ⇒ ((1 . 1) (2 . 2)) +  File: dash.info, Node: Predicates, Next: Partitioning, Prev: Unfolding, Up: Functions @@ -1239,30 +1290,17 @@ Reductions of one or more lists to a boolean value. Return non-‘nil’ if LIST contains ELEMENT. The test for equality is done with ‘equal’, or with ‘-compare-fn’ - if that’s non-‘nil’. + if that is non-‘nil’. As with ‘member’, the return value is + actually the tail of LIST whose car is ELEMENT. - Alias: ‘-contains-p’ + Alias: ‘-contains-p’. (-contains? '(1 2 3) 1) - ⇒ t + ⇒ (1 2 3) (-contains? '(1 2 3) 2) - ⇒ t + ⇒ (2 3) (-contains? '(1 2 3) 4) - ⇒ nil - - -- Function: -same-items? (list list2) - Return true if LIST and LIST2 has the same items. - - The order of the elements in the lists does not matter. - - Alias: ‘-same-items-p’ - - (-same-items? '(1 2 3) '(1 2 3)) - ⇒ t - (-same-items? '(1 2 3) '(3 2 1)) - ⇒ t - (-same-items? '(1 2 3) '(1 2 3 4)) - ⇒ nil + ⇒ () -- Function: -is-prefix? (prefix list) Return non-‘nil’ if PREFIX is a prefix of LIST. @@ -1541,66 +1579,88 @@ Functions retrieving or sorting based on list indices and related predicates. -- Function: -elem-index (elem list) - Return the index of the first element in the given LIST which is - equal to the query element ELEM, or ‘nil’ if there is no such - element. + Return the first index of ELEM in LIST. That is, the index within + LIST of the first element that is ‘equal’ to ELEM. Return ‘nil’ if + there is no such element. - (-elem-index 2 '(6 7 8 2 3 4)) - ⇒ 3 + See also: ‘-find-index’ (*note -find-index::). + + (-elem-index 2 '(6 7 8 3 4)) + ⇒ nil (-elem-index "bar" '("foo" "bar" "baz")) ⇒ 1 (-elem-index '(1 2) '((3) (5 6) (1 2) nil)) ⇒ 2 -- Function: -elem-indices (elem list) - Return the indices of all elements in LIST equal to the query - element ELEM, in ascending order. + Return the list of indices at which ELEM appears in LIST. That is, + the indices of all elements of LIST ‘equal’ to ELEM, in the same + ascending order as they appear in LIST. - (-elem-indices 2 '(6 7 8 2 3 4 2 1)) - ⇒ (3 6) + (-elem-indices 2 '(6 7 8 3 4 1)) + ⇒ () (-elem-indices "bar" '("foo" "bar" "baz")) ⇒ (1) (-elem-indices '(1 2) '((3) (1 2) (5 6) (1 2) nil)) ⇒ (1 3) -- Function: -find-index (pred list) - Take a predicate PRED and a LIST and return the index of the first - element in the list satisfying the predicate, or ‘nil’ if there is - no such element. + Return the index of the first item satisfying PRED in LIST. Return + ‘nil’ if no such item is found. - See also ‘-first’ (*note -first::). + PRED is called with one argument, the current list element, until + it returns non-‘nil’, at which point the search terminates. - (-find-index 'even? '(2 4 1 6 3 3 5 8)) + This function’s anaphoric counterpart is ‘--find-index’. + + See also: ‘-first’ (*note -first::), ‘-find-last-index’ (*note + -find-last-index::). + + (-find-index #'numberp '(a b c)) + ⇒ nil + (-find-index #'natnump '(1 0 -1)) ⇒ 0 - (--find-index (< 5 it) '(2 4 1 6 3 3 5 8)) + (--find-index (> it 5) '(2 4 1 6 3 3 5 8)) ⇒ 3 - (-find-index (-partial 'string-lessp "baz") '("bar" "foo" "baz")) - ⇒ 1 -- Function: -find-last-index (pred list) - Take a predicate PRED and a LIST and return the index of the last - element in the list satisfying the predicate, or ‘nil’ if there is - no such element. + Return the index of the last item satisfying PRED in LIST. Return + ‘nil’ if no such item is found. - See also ‘-last’ (*note -last::). + Predicate PRED is called with one argument each time, namely the + current list element. - (-find-last-index 'even? '(2 4 1 6 3 3 5 8)) - ⇒ 7 - (--find-last-index (< 5 it) '(2 7 1 6 3 8 5 2)) + This function’s anaphoric counterpart is ‘--find-last-index’. + + See also: ‘-last’ (*note -last::), ‘-find-index’ (*note + -find-index::). + + (-find-last-index #'numberp '(a b c)) + ⇒ nil + (--find-last-index (> it 5) '(2 7 1 6 3 8 5 2)) ⇒ 5 - (-find-last-index (-partial 'string-lessp "baz") '("q" "foo" "baz")) + (-find-last-index (-partial #'string< 'a) '(c b a)) ⇒ 1 -- Function: -find-indices (pred list) - Return the indices of all elements in LIST satisfying the predicate - PRED, in ascending order. + Return the list of indices in LIST satisfying PRED. - (-find-indices 'even? '(2 4 1 6 3 3 5 8)) + Each element of LIST in turn is passed to PRED. If the result is + non-‘nil’, the index of that element in LIST is included in the + result. The returned indices are in ascending order, i.e., in the + same order as they appear in LIST. + + This function’s anaphoric counterpart is ‘--find-indices’. + + See also: ‘-find-index’ (*note -find-index::), ‘-elem-indices’ + (*note -elem-indices::). + + (-find-indices #'numberp '(a b c)) + ⇒ () + (-find-indices #'numberp '(8 1 d 2 b c a 3)) ⇒ (0 1 3 7) - (--find-indices (< 5 it) '(2 4 1 6 3 3 5 8)) + (--find-indices (> it 5) '(2 4 1 6 3 3 5 8)) ⇒ (3 7) - (-find-indices (-partial 'string-lessp "baz") '("bar" "foo" "baz")) - ⇒ (1) -- Function: -grade-up (comparator list) Grade elements of LIST using COMPARATOR relation. This yields a @@ -1630,22 +1690,26 @@ File: dash.info, Node: Set operations, Next: Other list operations, Prev: Ind Operations pretending lists are sets. - -- Function: -union (list list2) - Return a new list of all elements appearing in either LIST1 or - LIST2. Equality is defined by the value of ‘-compare-fn’ if - non-‘nil’; otherwise ‘equal’. + -- Function: -union (list1 list2) + Return a new list of distinct elements appearing in either LIST1 or + LIST2. + + The test for equality is done with ‘equal’, or with ‘-compare-fn’ + if that is non-‘nil’. (-union '(1 2 3) '(3 4 5)) ⇒ (1 2 3 4 5) - (-union '(1 2 3 4) ()) - ⇒ (1 2 3 4) - (-union '(1 1 2 2) '(3 2 1)) - ⇒ (1 1 2 2 3) + (-union '(1 2 2 4) ()) + ⇒ (1 2 4) + (-union '(1 1 2 2) '(4 4 3 2 1)) + ⇒ (1 2 4 3) - -- Function: -difference (list list2) - Return a new list with only the members of LIST that are not in - LIST2. The test for equality is done with ‘equal’, or with - ‘-compare-fn’ if that’s non-‘nil’. + -- Function: -difference (list1 list2) + Return a new list with the distinct members of LIST1 that are not + in LIST2. + + The test for equality is done with ‘equal’, or with ‘-compare-fn’ + if that is non-‘nil’. (-difference () ()) ⇒ () @@ -1654,50 +1718,76 @@ Operations pretending lists are sets. (-difference '(1 2 3 4) '(3 4 5 6)) ⇒ (1 2) - -- Function: -intersection (list list2) - Return a new list of the elements appearing in both LIST1 and - LIST2. Equality is defined by the value of ‘-compare-fn’ if - non-‘nil’; otherwise ‘equal’. + -- Function: -intersection (list1 list2) + Return a new list of distinct elements appearing in both LIST1 and + LIST2. + + The test for equality is done with ‘equal’, or with ‘-compare-fn’ + if that is non-‘nil’. (-intersection () ()) ⇒ () (-intersection '(1 2 3) '(4 5 6)) ⇒ () - (-intersection '(1 2 3 4) '(3 4 5 6)) - ⇒ (3 4) + (-intersection '(1 2 2 3) '(4 3 3 2)) + ⇒ (2 3) -- Function: -powerset (list) Return the power set of LIST. (-powerset ()) ⇒ (nil) + (-powerset '(x y)) + ⇒ ((x y) (x) (y) nil) (-powerset '(x y z)) ⇒ ((x y z) (x y) (x z) (x) (y z) (y) (z) nil) -- Function: -permutations (list) - Return the permutations of LIST. + Return the distinct permutations of LIST. + + Duplicate elements of LIST are determined by ‘equal’, or by + ‘-compare-fn’ if that is non-‘nil’. (-permutations ()) ⇒ (nil) - (-permutations '(1 2)) - ⇒ ((1 2) (2 1)) + (-permutations '(a a b)) + ⇒ ((a a b) (a b a) (b a a)) (-permutations '(a b c)) ⇒ ((a b c) (a c b) (b a c) (b c a) (c a b) (c b a)) -- Function: -distinct (list) - Return a new list with all duplicates removed. The test for - equality is done with ‘equal’, or with ‘-compare-fn’ if that’s - non-‘nil’. + Return a copy of LIST with all duplicate elements removed. - Alias: ‘-uniq’ + The test for equality is done with ‘equal’, or with ‘-compare-fn’ + if that is non-‘nil’. + + Alias: ‘-uniq’. (-distinct ()) ⇒ () - (-distinct '(1 2 2 4)) - ⇒ (1 2 4) + (-distinct '(1 1 2 3 3)) + ⇒ (1 2 3) (-distinct '(t t t)) ⇒ (t) + -- Function: -same-items? (list1 list2) + Return non-‘nil’ if LIST1 and LIST2 have the same distinct + elements. + + The order of the elements in the lists does not matter. The lists + may be of different lengths, i.e., contain duplicate elements. The + test for equality is done with ‘equal’, or with ‘-compare-fn’ if + that is non-‘nil’. + + Alias: ‘-same-items-p’. + + (-same-items? '(1 2 3) '(1 2 3)) + ⇒ t + (-same-items? '(1 1 2 3) '(3 3 2 1)) + ⇒ t + (-same-items? '(1 2 3) '(1 2 3 4)) + ⇒ nil +  File: dash.info, Node: Other list operations, Next: Tree operations, Prev: Set operations, Up: Functions @@ -1717,17 +1807,6 @@ Other list functions not fit to be classified elsewhere. (-rotate 16 '(1 2 3 4 5 6 7)) ⇒ (6 7 1 2 3 4 5) - -- Function: -repeat (n x) - Return a new list of length N with each element being X. Return - ‘nil’ if N is less than 1. - - (-repeat 3 :a) - ⇒ (:a :a :a) - (-repeat 1 :a) - ⇒ (:a) - (-repeat 0 :a) - ⇒ nil - -- Function: -cons* (&rest args) Make a new list from the elements of ARGS. The last 2 elements of ARGS are used as the final cons of the result, so if the final @@ -1878,27 +1957,20 @@ Other list functions not fit to be classified elsewhere. (-unzip '((1 2) (3 4))) ⇒ ((1 . 3) (2 . 4)) - -- Function: -cycle (list) - Return an infinite circular copy of LIST. The returned list cycles - through the elements of LIST and repeats from the beginning. - - (-take 5 (-cycle '(1 2 3))) - ⇒ (1 2 3 1 2) - (-take 7 (-cycle '(1 "and" 3))) - ⇒ (1 "and" 3 1 "and" 3 1) - (-zip (-cycle '(1 2 3)) '(1 2)) - ⇒ ((1 . 1) (2 . 2)) - -- Function: -pad (fill-value &rest lists) - Appends FILL-VALUE to the end of each list in LISTS such that they - will all have the same length. + Pad each of LISTS with FILL-VALUE until they all have equal + lengths. + + Ensure all LISTS are as long as the longest one by repeatedly + appending FILL-VALUE to the shorter lists, and return the resulting + LISTS. (-pad 0 ()) ⇒ (nil) - (-pad 0 '(1)) - ⇒ ((1)) - (-pad 0 '(1 2 3) '(4 5)) - ⇒ ((1 2 3) (4 5 0)) + (-pad 0 '(1 2) '(3 4)) + ⇒ ((1 2) (3 4)) + (-pad 0 '(1 2) '(3 4 5 6) '(7 8 9)) + ⇒ ((1 2 0 0) (3 4 5 6) (7 8 9 0)) -- Function: -table (fn &rest lists) Compute outer product of LISTS using function FN. @@ -1946,8 +2018,10 @@ Other list functions not fit to be classified elsewhere. -- Function: -first (pred list) Return the first item in LIST for which PRED returns non-‘nil’. - Return ‘nil’ if no such element is found. To get the first item in - the list no questions asked, use ‘car’. + Return ‘nil’ if no such element is found. + + To get the first item in the list no questions asked, use + ‘-first-item’ (*note -first-item::). Alias: ‘-find’. @@ -1974,62 +2048,76 @@ Other list functions not fit to be classified elsewhere. Return the first item of LIST, or ‘nil’ on an empty list. See also: ‘-second-item’ (*note -second-item::), ‘-last-item’ - (*note -last-item::). + (*note -last-item::), etc. - (-first-item '(1 2 3)) + (-first-item ()) + ⇒ () + (-first-item '(1 2 3 4 5)) ⇒ 1 - (-first-item nil) - ⇒ nil (let ((list (list 1 2 3))) (setf (-first-item list) 5) list) ⇒ (5 2 3) -- Function: -second-item (list) Return the second item of LIST, or ‘nil’ if LIST is too short. - See also: ‘-third-item’ (*note -third-item::). + See also: ‘-first-item’ (*note -first-item::), ‘-third-item’ (*note + -third-item::), etc. - (-second-item '(1 2 3)) + (-second-item ()) + ⇒ () + (-second-item '(1 2 3 4 5)) ⇒ 2 - (-second-item nil) - ⇒ nil + (let ((list (list 1 2))) (setf (-second-item list) 5) list) + ⇒ (1 5) -- Function: -third-item (list) Return the third item of LIST, or ‘nil’ if LIST is too short. - See also: ‘-fourth-item’ (*note -fourth-item::). + See also: ‘-second-item’ (*note -second-item::), ‘-fourth-item’ + (*note -fourth-item::), etc. - (-third-item '(1 2 3)) + (-third-item ()) + ⇒ () + (-third-item '(1 2)) + ⇒ () + (-third-item '(1 2 3 4 5)) ⇒ 3 - (-third-item nil) - ⇒ nil -- Function: -fourth-item (list) Return the fourth item of LIST, or ‘nil’ if LIST is too short. - See also: ‘-fifth-item’ (*note -fifth-item::). + See also: ‘-third-item’ (*note -third-item::), ‘-fifth-item’ (*note + -fifth-item::), etc. - (-fourth-item '(1 2 3 4)) + (-fourth-item ()) + ⇒ () + (-fourth-item '(1 2 3)) + ⇒ () + (-fourth-item '(1 2 3 4 5)) ⇒ 4 - (-fourth-item nil) - ⇒ nil -- Function: -fifth-item (list) Return the fifth item of LIST, or ‘nil’ if LIST is too short. - See also: ‘-last-item’ (*note -last-item::). + See also: ‘-fourth-item’ (*note -fourth-item::), ‘-last-item’ + (*note -last-item::), etc. + (-fifth-item ()) + ⇒ () + (-fifth-item '(1 2 3 4)) + ⇒ () (-fifth-item '(1 2 3 4 5)) ⇒ 5 - (-fifth-item nil) - ⇒ nil -- Function: -last-item (list) Return the last item of LIST, or ‘nil’ on an empty list. - (-last-item '(1 2 3)) - ⇒ 3 - (-last-item nil) - ⇒ nil + See also: ‘-first-item’ (*note -first-item::), etc. + + (-last-item ()) + ⇒ () + (-last-item '(1 2 3 4 5)) + ⇒ 5 (let ((list (list 1 2 3))) (setf (-last-item list) 5) list) ⇒ (1 2 5) @@ -4334,7 +4422,7 @@ Index (line 63) * -as->: Threading macros. (line 49) * -butlast: Other list operations. - (line 335) + (line 333) * -clone: Tree operations. (line 123) * -common-prefix: Reductions. (line 242) * -common-suffix: Reductions. (line 252) @@ -4342,19 +4430,18 @@ Index (line 49) * -concat: List to list. (line 23) * -cons*: Other list operations. - (line 30) -* -cons-pair?: Predicates. (line 167) + (line 19) +* -cons-pair?: Predicates. (line 154) * -const: Function combinators. (line 128) * -contains?: Predicates. (line 100) -* -copy: Maps. (line 141) +* -copy: Maps. (line 151) * -count: Reductions. (line 172) * -cut: Function combinators. (line 140) -* -cycle: Other list operations. - (line 180) -* -difference: Set operations. (line 20) -* -distinct: Set operations. (line 62) +* -cycle: Unfolding. (line 55) +* -difference: Set operations. (line 22) +* -distinct: Set operations. (line 73) * -dotimes: Side effects. (line 80) * -doto: Threading macros. (line 99) * -drop: Sublist selection. (line 149) @@ -4366,20 +4453,20 @@ Index * -each-r-while: Side effects. (line 65) * -each-while: Side effects. (line 24) * -elem-index: Indexing. (line 9) -* -elem-indices: Indexing. (line 21) +* -elem-indices: Indexing. (line 23) * -every: Predicates. (line 23) * -fifth-item: Other list operations. - (line 315) + (line 308) * -filter: Sublist selection. (line 8) -* -find-index: Indexing. (line 32) -* -find-indices: Indexing. (line 60) -* -find-last-index: Indexing. (line 46) +* -find-index: Indexing. (line 35) +* -find-indices: Indexing. (line 73) +* -find-last-index: Indexing. (line 54) * -first: Other list operations. - (line 246) + (line 228) * -first-item: Other list operations. - (line 272) + (line 256) * -fix: Other list operations. - (line 375) + (line 373) * -fixfn: Function combinators. (line 224) * -flatten: List to list. (line 36) @@ -4387,24 +4474,25 @@ Index * -flip: Function combinators. (line 95) * -fourth-item: Other list operations. - (line 305) -* -grade-down: Indexing. (line 81) -* -grade-up: Indexing. (line 71) + (line 295) +* -frequencies: Reductions. (line 310) +* -grade-down: Indexing. (line 103) +* -grade-up: Indexing. (line 93) * -group-by: Partitioning. (line 205) * -if-let: Binding. (line 34) * -if-let*: Binding. (line 45) * -inits: Reductions. (line 222) * -insert-at: List to list. (line 112) * -interleave: Other list operations. - (line 67) + (line 56) * -interpose: Other list operations. - (line 57) -* -intersection: Set operations. (line 32) + (line 46) +* -intersection: Set operations. (line 36) * -iota: Other list operations. - (line 78) -* -is-infix?: Predicates. (line 153) -* -is-prefix?: Predicates. (line 129) -* -is-suffix?: Predicates. (line 141) + (line 67) +* -is-infix?: Predicates. (line 140) +* -is-prefix?: Predicates. (line 116) +* -is-suffix?: Predicates. (line 128) * -iterate: Unfolding. (line 9) * -iteratefn: Function combinators. (line 201) @@ -4413,19 +4501,19 @@ Index * -keep: List to list. (line 8) * -lambda: Binding. (line 247) * -last: Other list operations. - (line 262) + (line 246) * -last-item: Other list operations. - (line 325) + (line 321) * -let: Binding. (line 61) * -let*: Binding. (line 227) * -list: Other list operations. - (line 358) + (line 356) * -map: Maps. (line 10) * -map-first: Maps. (line 38) * -map-indexed: Maps. (line 68) * -map-last: Maps. (line 53) * -map-when: Maps. (line 22) -* -mapcat: Maps. (line 130) +* -mapcat: Maps. (line 140) * -max: Reductions. (line 286) * -max-by: Reductions. (line 296) * -min: Reductions. (line 262) @@ -4440,7 +4528,7 @@ Index * -orfn: Function combinators. (line 167) * -pad: Other list operations. - (line 191) + (line 169) * -partial: Function combinators. (line 8) * -partition: Partitioning. (line 90) @@ -4453,8 +4541,8 @@ Index * -partition-by: Partitioning. (line 138) * -partition-by-header: Partitioning. (line 149) * -partition-in-steps: Partitioning. (line 113) -* -permutations: Set operations. (line 52) -* -powerset: Set operations. (line 44) +* -permutations: Set operations. (line 60) +* -powerset: Set operations. (line 50) * -prodfn: Function combinators. (line 258) * -product: Reductions. (line 201) @@ -4472,8 +4560,7 @@ Index * -remove-first: Sublist selection. (line 44) * -remove-item: Sublist selection. (line 84) * -remove-last: Sublist selection. (line 65) -* -repeat: Other list operations. - (line 19) +* -repeat: Unfolding. (line 44) * -replace: List to list. (line 70) * -replace-at: List to list. (line 123) * -replace-first: List to list. (line 84) @@ -4486,9 +4573,9 @@ Index (line 22) * -running-product: Reductions. (line 211) * -running-sum: Reductions. (line 190) -* -same-items?: Predicates. (line 115) +* -same-items?: Set operations. (line 88) * -second-item: Other list operations. - (line 285) + (line 269) * -select-by-indices: Sublist selection. (line 211) * -select-column: Sublist selection. (line 241) * -select-columns: Sublist selection. (line 222) @@ -4496,30 +4583,30 @@ Index * -setq: Binding. (line 270) * -slice: Sublist selection. (line 105) * -snoc: Other list operations. - (line 43) + (line 32) * -some: Predicates. (line 8) * -some-->: Threading macros. (line 86) * -some->: Threading macros. (line 62) * -some->>: Threading macros. (line 74) * -sort: Other list operations. - (line 345) -* -splice: Maps. (line 97) -* -splice-list: Maps. (line 117) + (line 343) +* -splice: Maps. (line 102) +* -splice-list: Maps. (line 127) * -split-at: Partitioning. (line 8) * -split-on: Partitioning. (line 40) * -split-when: Partitioning. (line 58) * -split-with: Partitioning. (line 23) * -sum: Reductions. (line 180) * -table: Other list operations. - (line 202) + (line 184) * -table-flat: Other list operations. - (line 221) + (line 203) * -tails: Reductions. (line 232) * -take: Sublist selection. (line 121) * -take-last: Sublist selection. (line 135) * -take-while: Sublist selection. (line 177) * -third-item: Other list operations. - (line 295) + (line 282) * -tree-map: Tree operations. (line 28) * -tree-map-nodes: Tree operations. (line 39) * -tree-mapreduce: Tree operations. (line 85) @@ -4530,18 +4617,18 @@ Index * -unfold: Unfolding. (line 25) * -union: Set operations. (line 8) * -unzip: Other list operations. - (line 158) + (line 147) * -update-at: List to list. (line 135) * -when-let: Binding. (line 9) * -when-let*: Binding. (line 21) * -zip: Other list operations. - (line 107) + (line 96) * -zip-fill: Other list operations. - (line 150) + (line 139) * -zip-lists: Other list operations. - (line 131) + (line 120) * -zip-with: Other list operations. - (line 91) + (line 80) * dash-fontify-mode: Fontification of special variables. (line 6) * dash-register-info-lookup: Info symbol lookup. (line 6) @@ -4564,199 +4651,200 @@ Ref: -map-first7605 Ref: -map-last8200 Ref: -map-indexed8790 Ref: -annotate9476 -Ref: -splice9963 -Ref: -splice-list10741 -Ref: -mapcat11200 -Ref: -copy11573 -Node: Sublist selection11761 -Ref: -filter11954 -Ref: -remove12507 -Ref: -remove-first13056 -Ref: -remove-last13904 -Ref: -remove-item14634 -Ref: -non-nil15034 -Ref: -slice15316 -Ref: -take15845 -Ref: -take-last16263 -Ref: -drop16700 -Ref: -drop-last17147 -Ref: -take-while17579 -Ref: -drop-while18206 -Ref: -select-by-indices18839 -Ref: -select-columns19350 -Ref: -select-column20053 -Node: List to list20516 -Ref: -keep20708 -Ref: -concat21284 -Ref: -flatten21767 -Ref: -flatten-n22529 -Ref: -replace22913 -Ref: -replace-first23374 -Ref: -replace-last23869 -Ref: -insert-at24357 -Ref: -replace-at24682 -Ref: -update-at25069 -Ref: -remove-at25610 -Ref: -remove-at-indices26095 -Node: Reductions26674 -Ref: -reduce-from26870 -Ref: -reduce-r-from27594 -Ref: -reduce28857 -Ref: -reduce-r29608 -Ref: -reductions-from30886 -Ref: -reductions-r-from31692 -Ref: -reductions32522 -Ref: -reductions-r33233 -Ref: -count33978 -Ref: -sum34208 -Ref: -running-sum34396 -Ref: -product34717 -Ref: -running-product34925 -Ref: -inits35266 -Ref: -tails35511 -Ref: -common-prefix35755 -Ref: -common-suffix36049 -Ref: -min36343 -Ref: -min-by36569 -Ref: -max37090 -Ref: -max-by37315 -Node: Unfolding37841 -Ref: -iterate38082 -Ref: -unfold38529 -Node: Predicates39334 -Ref: -some39511 -Ref: -every39940 -Ref: -any?40654 -Ref: -all?41003 -Ref: -none?41745 -Ref: -only-some?42065 -Ref: -contains?42610 -Ref: -same-items?43011 -Ref: -is-prefix?43396 -Ref: -is-suffix?43728 -Ref: -is-infix?44060 -Ref: -cons-pair?44420 -Node: Partitioning44751 -Ref: -split-at44939 -Ref: -split-with45603 -Ref: -split-on46243 -Ref: -split-when46914 -Ref: -separate47557 -Ref: -partition48091 -Ref: -partition-all48540 -Ref: -partition-in-steps48965 -Ref: -partition-all-in-steps49511 -Ref: -partition-by50025 -Ref: -partition-by-header50403 -Ref: -partition-after-pred51004 -Ref: -partition-before-pred51457 -Ref: -partition-before-item51842 -Ref: -partition-after-item52149 -Ref: -group-by52451 -Node: Indexing52884 -Ref: -elem-index53086 -Ref: -elem-indices53487 -Ref: -find-index53867 -Ref: -find-last-index54362 -Ref: -find-indices54872 -Ref: -grade-up55277 -Ref: -grade-down55684 -Node: Set operations56098 -Ref: -union56281 -Ref: -difference56695 -Ref: -intersection57113 -Ref: -powerset57526 -Ref: -permutations57736 -Ref: -distinct58032 -Node: Other list operations58412 -Ref: -rotate58637 -Ref: -repeat58990 -Ref: -cons*59275 -Ref: -snoc59697 -Ref: -interpose60109 -Ref: -interleave60403 -Ref: -iota60769 -Ref: -zip-with61252 -Ref: -zip61966 -Ref: -zip-lists62795 -Ref: -zip-fill63493 -Ref: -unzip63815 -Ref: -cycle64557 -Ref: -pad64956 -Ref: -table65275 -Ref: -table-flat66061 -Ref: -first67066 -Ref: -last67564 -Ref: -first-item67910 -Ref: -second-item68315 -Ref: -third-item68585 -Ref: -fourth-item68853 -Ref: -fifth-item69125 -Ref: -last-item69393 -Ref: -butlast69690 -Ref: -sort69935 -Ref: -list70427 -Ref: -fix70996 -Node: Tree operations71485 -Ref: -tree-seq71681 -Ref: -tree-map72542 -Ref: -tree-map-nodes72982 -Ref: -tree-reduce73846 -Ref: -tree-reduce-from74728 -Ref: -tree-mapreduce75328 -Ref: -tree-mapreduce-from76187 -Ref: -clone77472 -Node: Threading macros77799 -Ref: ->78024 -Ref: ->>78512 -Ref: -->79015 -Ref: -as->79571 -Ref: -some->80025 -Ref: -some->>80410 -Ref: -some-->80857 -Ref: -doto81424 -Node: Binding81977 -Ref: -when-let82184 -Ref: -when-let*82645 -Ref: -if-let83174 -Ref: -if-let*83540 -Ref: -let84163 -Ref: -let*90253 -Ref: -lambda91190 -Ref: -setq91996 -Node: Side effects92797 -Ref: -each92991 -Ref: -each-while93518 -Ref: -each-indexed94138 -Ref: -each-r94730 -Ref: -each-r-while95172 -Ref: -dotimes95816 -Node: Destructive operations96369 -Ref: !cons96587 -Ref: !cdr96791 -Node: Function combinators96984 -Ref: -partial97188 -Ref: -rpartial97706 -Ref: -juxt98354 -Ref: -compose98806 -Ref: -applify99413 -Ref: -on99843 -Ref: -flip100615 -Ref: -rotate-args101139 -Ref: -const101768 -Ref: -cut102110 -Ref: -not102590 -Ref: -orfn103134 -Ref: -andfn103927 -Ref: -iteratefn104714 -Ref: -fixfn105416 -Ref: -prodfn106990 -Node: Development108151 -Node: Contribute108440 -Node: Contributors109452 -Node: FDL111545 -Node: GPL136865 -Node: Index174614 +Ref: -splice10080 +Ref: -splice-list11155 +Ref: -mapcat11614 +Ref: -copy11987 +Node: Sublist selection12175 +Ref: -filter12368 +Ref: -remove12921 +Ref: -remove-first13470 +Ref: -remove-last14318 +Ref: -remove-item15048 +Ref: -non-nil15448 +Ref: -slice15730 +Ref: -take16259 +Ref: -take-last16677 +Ref: -drop17114 +Ref: -drop-last17561 +Ref: -take-while17993 +Ref: -drop-while18620 +Ref: -select-by-indices19253 +Ref: -select-columns19764 +Ref: -select-column20467 +Node: List to list20930 +Ref: -keep21122 +Ref: -concat21698 +Ref: -flatten22181 +Ref: -flatten-n22943 +Ref: -replace23327 +Ref: -replace-first23788 +Ref: -replace-last24283 +Ref: -insert-at24771 +Ref: -replace-at25096 +Ref: -update-at25483 +Ref: -remove-at26024 +Ref: -remove-at-indices26509 +Node: Reductions27088 +Ref: -reduce-from27284 +Ref: -reduce-r-from28008 +Ref: -reduce29271 +Ref: -reduce-r30022 +Ref: -reductions-from31300 +Ref: -reductions-r-from32106 +Ref: -reductions32936 +Ref: -reductions-r33647 +Ref: -count34392 +Ref: -sum34622 +Ref: -running-sum34810 +Ref: -product35131 +Ref: -running-product35339 +Ref: -inits35680 +Ref: -tails35925 +Ref: -common-prefix36169 +Ref: -common-suffix36463 +Ref: -min36757 +Ref: -min-by36983 +Ref: -max37504 +Ref: -max-by37729 +Ref: -frequencies38255 +Node: Unfolding38870 +Ref: -iterate39111 +Ref: -unfold39558 +Ref: -repeat40363 +Ref: -cycle40647 +Node: Predicates41046 +Ref: -some41223 +Ref: -every41652 +Ref: -any?42366 +Ref: -all?42715 +Ref: -none?43457 +Ref: -only-some?43777 +Ref: -contains?44322 +Ref: -is-prefix?44828 +Ref: -is-suffix?45160 +Ref: -is-infix?45492 +Ref: -cons-pair?45852 +Node: Partitioning46183 +Ref: -split-at46371 +Ref: -split-with47035 +Ref: -split-on47675 +Ref: -split-when48346 +Ref: -separate48989 +Ref: -partition49523 +Ref: -partition-all49972 +Ref: -partition-in-steps50397 +Ref: -partition-all-in-steps50943 +Ref: -partition-by51457 +Ref: -partition-by-header51835 +Ref: -partition-after-pred52436 +Ref: -partition-before-pred52889 +Ref: -partition-before-item53274 +Ref: -partition-after-item53581 +Ref: -group-by53883 +Node: Indexing54316 +Ref: -elem-index54518 +Ref: -elem-indices55005 +Ref: -find-index55464 +Ref: -find-last-index56133 +Ref: -find-indices56784 +Ref: -grade-up57546 +Ref: -grade-down57953 +Node: Set operations58367 +Ref: -union58550 +Ref: -difference58980 +Ref: -intersection59408 +Ref: -powerset59837 +Ref: -permutations60114 +Ref: -distinct60552 +Ref: -same-items?60946 +Node: Other list operations61555 +Ref: -rotate61780 +Ref: -cons*62133 +Ref: -snoc62555 +Ref: -interpose62967 +Ref: -interleave63261 +Ref: -iota63627 +Ref: -zip-with64110 +Ref: -zip64824 +Ref: -zip-lists65653 +Ref: -zip-fill66351 +Ref: -unzip66673 +Ref: -pad67415 +Ref: -table67900 +Ref: -table-flat68686 +Ref: -first69691 +Ref: -last70224 +Ref: -first-item70570 +Ref: -second-item70982 +Ref: -third-item71399 +Ref: -fourth-item71774 +Ref: -fifth-item72152 +Ref: -last-item72527 +Ref: -butlast72888 +Ref: -sort73133 +Ref: -list73625 +Ref: -fix74194 +Node: Tree operations74683 +Ref: -tree-seq74879 +Ref: -tree-map75740 +Ref: -tree-map-nodes76180 +Ref: -tree-reduce77044 +Ref: -tree-reduce-from77926 +Ref: -tree-mapreduce78526 +Ref: -tree-mapreduce-from79385 +Ref: -clone80670 +Node: Threading macros80997 +Ref: ->81222 +Ref: ->>81710 +Ref: -->82213 +Ref: -as->82769 +Ref: -some->83223 +Ref: -some->>83608 +Ref: -some-->84055 +Ref: -doto84622 +Node: Binding85175 +Ref: -when-let85382 +Ref: -when-let*85843 +Ref: -if-let86372 +Ref: -if-let*86738 +Ref: -let87361 +Ref: -let*93451 +Ref: -lambda94388 +Ref: -setq95194 +Node: Side effects95995 +Ref: -each96189 +Ref: -each-while96716 +Ref: -each-indexed97336 +Ref: -each-r97928 +Ref: -each-r-while98370 +Ref: -dotimes99014 +Node: Destructive operations99567 +Ref: !cons99785 +Ref: !cdr99989 +Node: Function combinators100182 +Ref: -partial100386 +Ref: -rpartial100904 +Ref: -juxt101552 +Ref: -compose102004 +Ref: -applify102611 +Ref: -on103041 +Ref: -flip103813 +Ref: -rotate-args104337 +Ref: -const104966 +Ref: -cut105308 +Ref: -not105788 +Ref: -orfn106332 +Ref: -andfn107125 +Ref: -iteratefn107912 +Ref: -fixfn108614 +Ref: -prodfn110188 +Node: Development111349 +Node: Contribute111638 +Node: Contributors112650 +Node: FDL114743 +Node: GPL140063 +Node: Index177812  End Tag Table diff --git a/code/elpa/dash-20220417.2250/dir b/code/elpa/dash-20220608.1931/dir similarity index 100% rename from code/elpa/dash-20220417.2250/dir rename to code/elpa/dash-20220608.1931/dir diff --git a/code/elpa/dashboard-20220409.620/banners/1.txt b/code/elpa/dashboard-20220717.905/banners/1.txt similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/1.txt rename to code/elpa/dashboard-20220717.905/banners/1.txt diff --git a/code/elpa/dashboard-20220409.620/banners/2.txt b/code/elpa/dashboard-20220717.905/banners/2.txt similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/2.txt rename to code/elpa/dashboard-20220717.905/banners/2.txt diff --git a/code/elpa/dashboard-20220409.620/banners/3.txt b/code/elpa/dashboard-20220717.905/banners/3.txt similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/3.txt rename to code/elpa/dashboard-20220717.905/banners/3.txt diff --git a/code/elpa/dashboard-20220409.620/banners/4.txt b/code/elpa/dashboard-20220717.905/banners/4.txt similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/4.txt rename to code/elpa/dashboard-20220717.905/banners/4.txt diff --git a/code/elpa/dashboard-20220409.620/banners/emacs.png b/code/elpa/dashboard-20220717.905/banners/emacs.png similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/emacs.png rename to code/elpa/dashboard-20220717.905/banners/emacs.png diff --git a/code/elpa/dashboard-20220409.620/banners/logo.png b/code/elpa/dashboard-20220717.905/banners/logo.png similarity index 100% rename from code/elpa/dashboard-20220409.620/banners/logo.png rename to code/elpa/dashboard-20220717.905/banners/logo.png diff --git a/code/elpa/dashboard-20220409.620/dashboard-autoloads.el b/code/elpa/dashboard-20220717.905/dashboard-autoloads.el similarity index 100% rename from code/elpa/dashboard-20220409.620/dashboard-autoloads.el rename to code/elpa/dashboard-20220717.905/dashboard-autoloads.el diff --git a/code/elpa/dashboard-20220409.620/dashboard-pkg.el b/code/elpa/dashboard-20220717.905/dashboard-pkg.el similarity index 72% rename from code/elpa/dashboard-20220409.620/dashboard-pkg.el rename to code/elpa/dashboard-20220717.905/dashboard-pkg.el index 6b8e0da..9dc61ee 100644 --- a/code/elpa/dashboard-20220409.620/dashboard-pkg.el +++ b/code/elpa/dashboard-20220717.905/dashboard-pkg.el @@ -1,6 +1,6 @@ -(define-package "dashboard" "20220409.620" "A startup screen extracted from Spacemacs" +(define-package "dashboard" "20220717.905" "A startup screen extracted from Spacemacs" '((emacs "26.1")) - :commit "09290bf700cc269ad3c07d9518cd758b90971fcd" :authors + :commit "36c8da41bca977707c42bd9b13cdf39380b957d7" :authors '(("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com")) :maintainer '("Jesús Martínez" . "jesusmartinez93@gmail.com") diff --git a/code/elpa/dashboard-20220409.620/dashboard-widgets.el b/code/elpa/dashboard-20220717.905/dashboard-widgets.el similarity index 99% rename from code/elpa/dashboard-20220409.620/dashboard-widgets.el rename to code/elpa/dashboard-20220717.905/dashboard-widgets.el index 8168afe..463c829 100644 --- a/code/elpa/dashboard-20220409.620/dashboard-widgets.el +++ b/code/elpa/dashboard-20220717.905/dashboard-widgets.el @@ -475,7 +475,7 @@ If MESSAGEBUF is not nil then MSG is also written in message buffer." (defun dashboard-center-line (string) "Center a STRING accoring to it's size." (insert (make-string (max 0 (floor (/ (- dashboard-banner-length - (+ (length string) 1)) 2))) ?\ ))) + (+ (string-width string) 1)) 2))) ?\ ))) ;; ;; BANNER @@ -873,8 +873,7 @@ to widget creation." (defun dashboard-insert-recents (list-size) "Add the list of LIST-SIZE items from recently edited files." (setq dashboard--recentf-cache-item-format nil) - (recentf-mode) - (dashboard-mute-apply (recentf-cleanup)) + (dashboard-mute-apply (recentf-mode 1) (recentf-cleanup)) (dashboard-insert-section "Recent Files:" (dashboard-shorten-paths recentf-list 'dashboard-recentf-alist 'recents) diff --git a/code/elpa/dashboard-20220409.620/dashboard.el b/code/elpa/dashboard-20220717.905/dashboard.el similarity index 96% rename from code/elpa/dashboard-20220409.620/dashboard.el rename to code/elpa/dashboard-20220717.905/dashboard.el index 9c8b80e..f0c7b88 100644 --- a/code/elpa/dashboard-20220409.620/dashboard.el +++ b/code/elpa/dashboard-20220717.905/dashboard.el @@ -32,6 +32,7 @@ (declare-function dashboard-ls--dirs "ext:dashboard-ls.el") (declare-function dashboard-ls--files "ext:dashboard-ls.el") (declare-function page-break-lines-mode "ext:page-break-lines.el") +(declare-function projectile-remove-known-project "ext:projectile.el") (declare-function project-forget-projects-under "ext:project.el") (defgroup dashboard nil @@ -312,7 +313,7 @@ Optional argument ARGS adviced function arguments." (let ((path (save-excursion (end-of-line) (ffap-guesser)))) (dashboard-mute-apply (cl-case dashboard-projects-backend - (`projectile ) ; TODO: .. + (`projectile (projectile-remove-known-project path)) (`project-el (project-forget-projects-under path)))))) (defun dashboard-remove-item-bookmarks () @@ -381,21 +382,14 @@ Optional argument ARGS adviced function arguments." (defun dashboard-insert-startupify-lists () "Insert the list of widgets into the buffer." (interactive) - (let ((buffer-exists (buffer-live-p (get-buffer dashboard-buffer-name))) - (recentf-is-on (recentf-enabled-p)) + (let ((recentf-is-on (recentf-enabled-p)) (origial-recentf-list recentf-list) (dashboard-num-recents (or (cdr (assoc 'recents dashboard-items)) 0)) (max-line-length 0)) - ;; disable recentf mode, so we don't flood the recent files list with org - ;; mode files do this by making a copy of the part of the list we'll use - ;; let dashboard widgets change that then restore the orginal list afterwards - ;; (this avoids many saves/loads that would result from disabling/enabling - ;; recentf-mode) (when recentf-is-on (setq recentf-list (dashboard-subseq recentf-list dashboard-num-recents))) (when (or dashboard-force-refresh - (not (eq dashboard-buffer-last-width (window-width))) - (not buffer-exists)) + (not (eq dashboard-buffer-last-width (window-width)))) (setq dashboard-banner-length (window-width) dashboard-buffer-last-width dashboard-banner-length) (with-current-buffer (get-buffer-create dashboard-buffer-name) @@ -435,7 +429,8 @@ Optional argument ARGS adviced function arguments." (add-hook 'window-setup-hook (lambda () - (add-hook 'window-size-change-functions 'dashboard-resize-on-hook) + ;; 100 means `dashboard-resize-on-hook' will run last + (add-hook 'window-size-change-functions 'dashboard-resize-on-hook 100) (dashboard-resize-on-hook))) (defun dashboard-refresh-buffer (&rest _) diff --git a/code/elpa/dired-single-20211101.2319/dired-single-pkg.el b/code/elpa/dired-single-20211101.2319/dired-single-pkg.el deleted file mode 100644 index b70590e..0000000 --- a/code/elpa/dired-single-20211101.2319/dired-single-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from dired-single.el -*- no-byte-compile: t -*- -(define-package "dired-single" "20211101.2319" "Reuse the current dired buffer to visit a directory" 'nil :commit "b254f9b7bfc96a5eab5760a56811f2872d2c590a" :keywords '("dired" "reuse" "buffer") :url "https://github.com/crocket/dired-single") diff --git a/code/elpa/dired-single-20211101.2319/dired-single-autoloads.el b/code/elpa/dired-single-20220726.137/dired-single-autoloads.el similarity index 100% rename from code/elpa/dired-single-20211101.2319/dired-single-autoloads.el rename to code/elpa/dired-single-20220726.137/dired-single-autoloads.el diff --git a/code/elpa/dired-single-20220726.137/dired-single-pkg.el b/code/elpa/dired-single-20220726.137/dired-single-pkg.el new file mode 100644 index 0000000..242a105 --- /dev/null +++ b/code/elpa/dired-single-20220726.137/dired-single-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from dired-single.el -*- no-byte-compile: t -*- +(define-package "dired-single" "20220726.137" "Reuse the current dired buffer to visit a directory" 'nil :commit "48532d747f0098280050721b5d016ec59c97c77c" :keywords '("dired" "reuse" "buffer") :url "https://github.com/crocket/dired-single") diff --git a/code/elpa/dired-single-20211101.2319/dired-single.el b/code/elpa/dired-single-20220726.137/dired-single.el similarity index 97% rename from code/elpa/dired-single-20211101.2319/dired-single.el rename to code/elpa/dired-single-20220726.137/dired-single.el index 20e6dd2..6e89536 100644 --- a/code/elpa/dired-single-20211101.2319/dired-single.el +++ b/code/elpa/dired-single-20220726.137/dired-single.el @@ -1,8 +1,8 @@ ;;; dired-single.el --- Reuse the current dired buffer to visit a directory ;; Version: 0.3.0 -;; Package-Version: 20211101.2319 -;; Package-Commit: b254f9b7bfc96a5eab5760a56811f2872d2c590a +;; Package-Version: 20220726.137 +;; Package-Commit: 48532d747f0098280050721b5d016ec59c97c77c ;; Keywords: dired, reuse, buffer ;; URL: https://github.com/crocket/dired-single ;; License: public-domain @@ -15,6 +15,7 @@ (eval-and-compile (require 'cl-lib) (require 'dired) + (require 'subr-x) (autoload 'dired-get-filename "dired")) ;;; ************************************************************************** @@ -99,7 +100,7 @@ a dired buffer). If the current line represents a file, the file is visited in another window." (interactive) ;; use arg passed in or find name of current line - (let ((name (or default-dirname (dired-get-filename nil t)))) + (when-let ((name (or default-dirname (dired-get-filename nil t)))) (save-excursion (save-match-data ;; See if the selection is a directory or not. diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline-autoloads.el b/code/elpa/doom-modeline-20220804.508/doom-modeline-autoloads.el similarity index 97% rename from code/elpa/doom-modeline-20220412.853/doom-modeline-autoloads.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline-autoloads.el index 481641c..97a3a40 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline-autoloads.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline-autoloads.el @@ -9,9 +9,6 @@ ;;;### (autoloads nil "doom-modeline" "doom-modeline.el" (0 0 0 0)) ;;; Generated autoloads from doom-modeline.el -(autoload 'doom-modeline-init "doom-modeline" "\ -Initialize doom mode-line." nil nil) - (autoload 'doom-modeline-set-main-modeline "doom-modeline" "\ Set main mode-line. If DEFAULT is non-nil, set the default mode-line for all buffers. @@ -70,7 +67,7 @@ or call the function `doom-modeline-mode'.") (custom-autoload 'doom-modeline-mode "doom-modeline" nil) (autoload 'doom-modeline-mode "doom-modeline" "\ -Toggle doom-modeline on or off. +Toggle `doom-modeline' on or off. This is a minor mode. If called interactively, toggle the `Doom-Modeline mode' mode. If the prefix argument is positive, diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline-core.el b/code/elpa/doom-modeline-20220804.508/doom-modeline-core.el similarity index 79% rename from code/elpa/doom-modeline-20220412.853/doom-modeline-core.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline-core.el index 86360f1..96cf8bb 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline-core.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline-core.el @@ -28,109 +28,55 @@ (require 'cl-lib) (require 'subr-x) -(require 'dash) -(require 'all-the-icons) + +(require 'compat) (require 'shrink-path) +(require 'all-the-icons nil t) + ;; -;; Compatibility +;; Externals ;; -(eval-and-compile - (when (< emacs-major-version 26) - ;; Define `if-let*' and `when-let*' variants for 25 users. - (unless (fboundp 'if-let*) (defalias 'if-let* #'if-let)) - (unless (fboundp 'when-let*) (defalias 'when-let* #'when-let)))) +(declare-function all-the-icons--function-name "ext:all-the-icons") + + +;; +;; Optimization +;; ;; Don’t compact font caches during GC. (when (eq system-type 'windows-nt) (setq inhibit-compacting-font-caches t)) -;;`file-local-name' is introduced in 25.2.2. -(unless (fboundp 'file-local-name) - (defun file-local-name (file) - "Return the local name component of FILE. -It returns a file name which can be used directly as argument of -`process-file', `start-file-process', or `shell-command'." - (or (file-remote-p file 'localname) file))) +;; WORKAROUND: `string-pixel-width' is introduced in 29, +;; which is able to calculate the accurate string width. +;; Below is the workaround for backward compatibility. +;; `window-font-width' consumes a lot +(defvar doom-modeline--font-width-cache nil) +(defun doom-modeline--font-width () + "Cache the font width for better performance." + (if (display-graphic-p) + (let ((attributes (face-all-attributes 'mode-line))) + (or (cdr (assoc attributes doom-modeline--font-width-cache)) + (let ((width (window-font-width nil 'mode-line))) + (push (cons attributes width) doom-modeline--font-width-cache) + width))) + 1)) -;; Set correct font width for `all-the-icons' for appropriate mode-line width. -;; @see https://emacs.stackexchange.com/questions/14420/how-can-i-fix-incorrect-character-width -(defun doom-modeline--set-char-widths (alist) - "Set correct widths of icons characters in ALIST." - (while (char-table-parent char-width-table) - (setq char-width-table (char-table-parent char-width-table))) - (dolist (pair alist) - (let ((width (car pair)) - (chars (cdr pair)) - (table (make-char-table nil))) - (dolist (char chars) - (set-char-table-range table char width)) - (optimize-char-table table) - (set-char-table-parent table char-width-table) - (setq char-width-table table)))) +;; Refresh the font width after setting frame parameters +;; to ensure the font width is correct. +(defun doom-modeline-refresh-font-width-cache (&rest _) + "Refresh the font width cache." + (setq doom-modeline--font-width-cache nil) + (doom-modeline--font-width)) -(defconst doom-modeline-rhs-icons-alist - '((2 . (;; VCS - ?\xf0ac ; git-compare - ?\xf023 ; git-merge - ?\xf03f ; arrow-down - ?\xf02d ; alert - ?\xf020 ; git-branch - - ;; Checker - ?\xe611 ; do_not_disturb_alt - ?\xe5ca ; check - ?\xe192 ; access_time - ?\xe624 ; sim_card_alert - ?\xe034 ; pause - ?\xe645 ; priority_high - - ;; Minor modes - ?\xf02f ; gear - - ;; Persp - ?\xe2c7 ; folder - - ;; Preview - ?\xe8a0 ; pageview - - ;; REPL - ?\xf155 ; dollar-sign - - ;; LSP - ?\xf135 ; rocket - - ;; GitHub - ?\xf09b ; github - - ;; Debug - ?\xf188 ; bug - - ;; Mail - ?\xe0be ; email - - ;; IRC - ?\xe0c9 ; message - - ;; Battery - ?\xe939 ; battery-charging - ?\xf244 ; battery-empty - ?\xf240 ; battery-full - ?\xf242 ; battery-half - ?\xf243 ; battery-quarter - ?\xf241 ; battery-three-quarters - )))) - -(defun doom-modeline-set-char-widths (&rest _) - "Set char widths for the unicode icons." - (doom-modeline--set-char-widths doom-modeline-rhs-icons-alist)) - -(if (and (daemonp) - (not (frame-parameter nil 'client))) - (add-hook 'after-make-frame-functions #'doom-modeline-set-char-widths) - (and (display-graphic-p) (doom-modeline-set-char-widths))) +(unless (fboundp 'string-pixel-width) + (add-hook 'window-setup-hook #'doom-modeline-refresh-font-width-cache) + (add-hook 'after-make-frame-functions #'doom-modeline-refresh-font-width-cache) + (add-hook 'after-setting-font-hook #'doom-modeline-refresh-font-width-cache) + (add-hook 'server-after-make-frame-hook #'doom-modeline-refresh-font-width-cache)) ;; @@ -147,7 +93,7 @@ It returns a file name which can be used directly as argument of This is done by adjusting `lisp-imenu-generic-expression' to include support for finding `doom-modeline-def-*' forms. -Must be set before loading doom-modeline." +Must be set before loading `doom-modeline'." :type 'boolean :set (lambda (_sym val) (if val @@ -157,8 +103,7 @@ Must be set before loading doom-modeline." (defcustom doom-modeline-height 25 "How tall the mode-line should be. It's only respected in GUI. -If the actual char height is larger, it respects the actual char height. -If `doom-modeline-height' is <= 0 the modeline will have default height." +If the actual char height is larger, it respects the actual char height." :type 'integer :group 'doom-modeline) @@ -182,11 +127,11 @@ Only respected in GUI." (set sym (if (> val 1) val 1))) :group 'doom-modeline) -(defcustom doom-modeline-window-width-limit 0.25 +(defcustom doom-modeline-window-width-limit 85 "The limit of the window width. If `window-width' is smaller than the limit, some information won't be -displayed. It can be an integer or a float number. `nil' means no limit." +displayed. It can be an integer or a float number. nil means no limit." :type '(choice integer float (const :tag "Disable" nil)) @@ -212,7 +157,7 @@ Specify another one if you encounter the issue." "Determines the style used by `doom-modeline-buffer-file-name'. Given ~/Projects/FOSS/emacs/lisp/comint.el - auto => emacs/lisp/comint.el (in a project) or comint.el + auto => emacs/l/comint.el (in a project) or comint.el truncate-upto-project => ~/P/F/emacs/lisp/comint.el truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el truncate-with-project => emacs/l/comint.el @@ -249,7 +194,7 @@ While using the server mode in GUI, should set the value explicitly." (defcustom doom-modeline-major-mode-icon t "Whether display the icon for `major-mode'. -It respects `doom-modeline-icon'." +It respects variable `doom-modeline-icon'." :type 'boolean :group'doom-modeline) @@ -263,14 +208,21 @@ It respects `all-the-icons-color-icons'." (defcustom doom-modeline-buffer-state-icon t "Whether display the icon for the buffer state. -It respects `doom-modeline-icon'." +It respects variable `doom-modeline-icon'." :type 'boolean :group 'doom-modeline) (defcustom doom-modeline-buffer-modification-icon t "Whether display the modification icon for the buffer. -It respects `doom-modeline-icon' and `doom-modeline-buffer-state-icon'." +It respects variable `doom-modeline-icon' and `doom-modeline-buffer-state-icon'." + :type 'boolean + :group 'doom-modeline) + +(defcustom doom-modeline-time-icon t + "Whether display the time icon. + +It respects variable `doom-modeline-icon'." :type 'boolean :group 'doom-modeline) @@ -429,10 +381,11 @@ It respects `doom-modeline-enable-word-count'." web-mode-script-padding web-mode-style-padding) (yaml-mode yaml-indent-offset)) - "Indentation retrieving variables matched to major modes used - when `doom-modeline-indent-info' is non-nil. When multiple - variables are specified for a mode, they will be tried resolved - in the given order." + "Indentation retrieving variables matched to major modes. + +Which is used when `doom-modeline-indent-info' is non-nil. +When multiple variables are specified for a mode, they will be tried resolved +in the given order." :type '(alist :key-type symbol :value-type sexp) :group 'doom-modeline) @@ -580,28 +533,18 @@ It requires `circe' or `erc' package." :group 'faces :link '(url-link :tag "Homepage" "https://github.com/seagle0128/doom-modeline")) -(defface doom-modeline-spc-face - '((t (:inherit mode-line))) - "Face used for the white space." +(defface doom-modeline-emphasis + '((t (:inherit mode-line-emphasis))) + "Face used for emphasis." :group 'doom-modeline-faces) -(defface doom-modeline-spc-inactive-face - '((t (:inherit mode-line-inactive))) - "Face used for the inactive white space." - :group 'doom-modeline-faces) - -(defface doom-modeline-vspc-face - '((t (:inherit variable-pitch))) - "Face used for the variable white space." - :group 'doom-modeline-faces) - -(defface doom-modeline-vspc-inactive-face - '((t (:inherit (mode-line-inactive doom-modeline-vspc-face)))) - "Face used for the variable white space." +(defface doom-modeline-highlight + '((t (:inherit mode-line-highlight))) + "Face used for highlighting." :group 'doom-modeline-faces) (defface doom-modeline-buffer-path - '((t (:inherit (mode-line-emphasis bold)))) + '((t (:inherit (doom-modeline-emphasis bold)))) "Face used for the dirname part of the buffer path." :group 'doom-modeline-faces) @@ -612,11 +555,11 @@ It requires `circe' or `erc' package." (defface doom-modeline-buffer-modified '((t (:inherit (error bold) :background nil))) - "Face used for the 'unsaved' symbol in the mode-line." + "Face used for the \\='unsaved\\=' symbol in the mode-line." :group 'doom-modeline-faces) (defface doom-modeline-buffer-major-mode - '((t (:inherit (mode-line-emphasis bold)))) + '((t (:inherit (doom-modeline-emphasis bold)))) "Face used for the major-mode segment in the mode-line." :group 'doom-modeline-faces) @@ -636,18 +579,14 @@ It requires `circe' or `erc' package." :group 'doom-modeline-faces) (defface doom-modeline-project-root-dir - '((t (:inherit (mode-line-emphasis bold)))) + '((t (:inherit (doom-modeline-emphasis bold)))) "Face used for the project part of the mode-line buffer path." :group 'doom-modeline-faces) -(defface doom-modeline-highlight - '((t (:inherit mode-line-emphasis))) - "Face for bright segments of the mode-line." - :group 'doom-modeline-faces) - (defface doom-modeline-panel - '((t (:inherit mode-line-highlight))) - "Face for 'X out of Y' segments, such as `anzu', `evil-substitute' and`iedit', etc." + '((t (:inherit doom-modeline-highlight))) + "Face for \\='X out of Y\\=' segments. +This applies to `anzu', `evil-substitute', `iedit' etc." :group 'doom-modeline-faces) (defface doom-modeline-host @@ -656,7 +595,7 @@ It requires `circe' or `erc' package." :group 'doom-modeline-faces) (defface doom-modeline-input-method - '((t (:inherit (mode-line-emphasis bold)))) + '((t (:inherit (doom-modeline-emphasis bold)))) "Face for input method in the mode-line." :group 'doom-modeline-faces) @@ -687,8 +626,8 @@ It requires `circe' or `erc' package." (defface doom-modeline-notification '((t (:inherit doom-modeline-warning))) - "Face for notifications in the mode-line. Used by GitHub, mu4e, -etc. (also see the face `doom-modeline-unread-number')." + "Face for notifications in the mode-line. Used by GitHub, mu4e, etc. +Also see the face `doom-modeline-unread-number'." :group 'doom-modeline-faces) (defface doom-modeline-unread-number @@ -697,7 +636,7 @@ etc. (also see the face `doom-modeline-unread-number')." :group 'doom-modeline-faces) (defface doom-modeline-bar - '((t (:inherit highlight))) + '((t (:inherit doom-modeline-highlight))) "The face used for the left-most bar in the mode-line of an active window." :group 'doom-modeline-faces) @@ -707,12 +646,10 @@ etc. (also see the face `doom-modeline-unread-number')." :group 'doom-modeline-faces) (defface doom-modeline-debug-visual - `((((class color) (background light)) - (:background ,(face-foreground 'all-the-icons-orange))) - (((class color) (background dark)) - (:background ,(face-foreground 'all-the-icons-dorange)))) + '((((background light)) :foreground "#D4843E") + (((background dark)) :foreground "#915B2D")) "Face to use for the mode-line while debugging." - :group 'doom-modeline) + :group 'doom-modeline-faces) (defface doom-modeline-evil-emacs-state '((t (:inherit (font-lock-builtin-face bold)))) @@ -824,14 +761,18 @@ etc. (also see the face `doom-modeline-unread-number')." "Face for timemachine status." :group 'doom-modeline-faces) +(defface doom-modeline-time + '((t (:inherit (mode-line-buffer-id bold)))) + "Face for display time." + :group 'doom-modeline-faces) ;; ;; Externals ;; (declare-function face-remap-remove-relative "face-remap") +(declare-function project-root "project") (declare-function ffip-get-project-root-directory "ext:find-file-in-project") -(declare-function project-root "ext:project") (declare-function projectile-project-root "ext:projectile") @@ -899,14 +840,23 @@ used as an advice to window creation functions." (unless (>= emacs-major-version 29) (advice-add #'fit-window-to-buffer :before #'doom-modeline-redisplay)) +(defun doom-modeline-icon-displayable-p () + "Return non-nil if icons are displayable." + (and doom-modeline-icon + (display-graphic-p) + (featurep 'all-the-icons))) + ;; Keep `doom-modeline-current-window' up-to-date (defun doom-modeline--get-current-window (&optional frame) - "Get the current window but should exclude the child windows." + "Get the current window but should exclude the child windows. + +If FRAME is nil, it means the current frame." (if (and (fboundp 'frame-parent) (frame-parent frame)) (frame-selected-window (frame-parent frame)) (frame-selected-window frame))) -(defvar doom-modeline-current-window (doom-modeline--get-current-window)) +(defvar doom-modeline-current-window (doom-modeline--get-current-window) + "Current window.") (defun doom-modeline--active () "Whether is an active window." @@ -930,23 +880,39 @@ used as an advice to window creation functions." (add-hook 'pre-redisplay-functions #'doom-modeline-set-selected-window) -;; Ensure modeline is inactive when Emacs is unfocused (and active otherwise) -(defvar doom-modeline-remap-face-cookie nil) +;; Ensure modeline is inactive when Emacs is unfocused +(defvar doom-modeline--remap-faces '(mode-line + mode-line-active + solaire-mode-line-face + solaire-mode-line-active-face + paradox-mode-line-face + flycheck-color-mode-line-error-face + flycheck-color-mode-line-warning-face + flycheck-color-mode-line-info-face + flycheck-color-mode-line-success-face)) +(dolist (face (face-list)) + (let ((f (symbol-name face))) + (and + (string-match-p "^\\(doom-modeline\\|all-the-icons\\)" f) + (not (string-match-p "\\(-inactive\\|-dired\\|-ivy\\|-ibuffer\\)" f)) + (add-to-list 'doom-modeline--remap-faces face)))) + +(defvar doom-modeline--remap-face-cookie-alist nil) (defun doom-modeline-focus () "Focus mode-line." - (when doom-modeline-remap-face-cookie - (require 'face-remap) - (face-remap-remove-relative doom-modeline-remap-face-cookie))) + (mapc #'face-remap-remove-relative doom-modeline--remap-face-cookie-alist)) + (defun doom-modeline-unfocus () "Unfocus mode-line." - (setq doom-modeline-remap-face-cookie - (face-remap-add-relative 'mode-line 'mode-line-inactive))) + (dolist (face doom-modeline--remap-faces) + (add-to-list 'doom-modeline--remap-face-cookie-alist + (face-remap-add-relative face 'mode-line-inactive)))) (with-no-warnings (if (boundp 'after-focus-change-function) (progn (defun doom-modeline-focus-change (&rest _) - (if (frame-focus-state) + (if (frame-focus-state (frame-parent)) (doom-modeline-focus) (doom-modeline-unfocus))) (advice-add #'handle-switch-frame :after #'doom-modeline-focus-change) @@ -964,7 +930,7 @@ used as an advice to window creation functions." (defvar doom-modeline-var-alist ()) (defmacro doom-modeline-def-segment (name &rest body) - "Defines a modeline segment NAME with BODY and byte compiles it." + "Define a modeline segment NAME with BODY and byte compiles it." (declare (indent defun) (doc-string 2)) (let ((sym (intern (format "doom-modeline-segment--%s" name))) (docstring (if (stringp (car body)) @@ -977,11 +943,13 @@ used as an advice to window creation functions." (t (add-to-list 'doom-modeline-fn-alist (cons name sym)) `(progn - (fset ',sym (lambda () ,docstring ,@body)) + (defun ,sym () ,docstring ,@body) (add-to-list 'doom-modeline-fn-alist (cons ',name ',sym)) ,(unless (bound-and-true-p byte-compile-current-file) `(let (byte-compile-warnings) - (byte-compile #',sym)))))))) + (unless (and (fboundp 'subr-native-elisp-p) + (subr-native-elisp-p (symbol-function #',sym))) + (byte-compile #',sym))))))))) (defun doom-modeline--prepare-segments (segments) "Prepare mode-line `SEGMENTS'." @@ -998,39 +966,17 @@ used as an advice to window creation functions." ((error "%s is not a valid segment" seg)))) (nreverse forms))) -(defvar doom-modeline--font-width-cache nil) -(defun doom-modeline--font-width () - "Cache the font width." - (if (display-graphic-p) - (let ((attributes (face-all-attributes 'mode-line))) - (or (cdr (assoc attributes doom-modeline--font-width-cache)) - (let ((width (window-font-width nil 'mode-line))) - (push (cons attributes width) doom-modeline--font-width-cache) - width))) - 1)) - -;; Refresh the font width after setting frame parameters -;; to ensure the font width is correct. -(defun doom-modeline-refresh-font-width-cache (&rest _) - "Refresh the font width cache." - (setq doom-modeline--font-width-cache nil) - (doom-modeline--font-width)) -(add-hook 'window-setup-hook #'doom-modeline-refresh-font-width-cache) -(add-hook 'after-make-frame-functions #'doom-modeline-refresh-font-width-cache) -(add-hook 'after-setting-font-hook #'doom-modeline-refresh-font-width-cache) -(add-hook 'server-after-make-frame-hook #'doom-modeline-refresh-font-width-cache) - (defun doom-modeline-def-modeline (name lhs &optional rhs) - "Defines a modeline format and byte-compiles it. + "Define a modeline format and byte-compiles it. NAME is a symbol to identify it (used by `doom-modeline' for retrieval). LHS and RHS are lists of symbols of modeline segments defined with `doom-modeline-def-segment'. Example: - (doom-modeline-def-modeline 'minimal - '(bar matches \" \" buffer-info) - '(media-info major-mode)) - (doom-modeline-set-modeline 'minimal t)" + (doom-modeline-def-modeline \\='minimal + \\='(bar matches \" \" buffer-info) + \\='(media-info major-mode)) + (doom-modeline-set-modeline \\='minimal t)" (let ((sym (intern (format "doom-modeline-format--%s" name))) (lhs-forms (doom-modeline--prepare-segments lhs)) (rhs-forms (doom-modeline--prepare-segments rhs))) @@ -1039,15 +985,22 @@ Example: (list lhs-forms (propertize " " - 'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive) 'display `((space :align-to - (- (+ right right-fringe right-margin scroll-bar) - ,(* (let ((width (doom-modeline--font-width))) - (or (and (= width 1) 1) - (/ width (frame-char-width) 1.0))) - (string-width - (format-mode-line (cons "" rhs-forms)))))))) + (- (+ right right-margin scroll-bar) + ,(let ((rhs-str (format-mode-line (cons "" rhs-forms))) + (char-width (frame-char-width))) + (if (fboundp 'string-pixel-width) + ;; Accurate calculations in 29+ + (/ (string-pixel-width + (propertize rhs-str 'face 'mode-line)) + char-width + 1.0) + ;; Backward compatibility + (* (/ (doom-modeline--font-width) + char-width + 1.0) + (string-width rhs-str)))))))) rhs-forms)) (concat "Modeline:\n" (format " %s\n %s" @@ -1076,38 +1029,41 @@ If DEFAULT is non-nil, set the default mode-line for all buffers." ;; Helpers ;; -(defsubst doom-modeline-spc () - "Text style with whitespace." - (propertize " " 'face (if (doom-modeline--active) - 'doom-modeline-spc-face - 'doom-modeline-spc-inactive-face))) +(defconst doom-modeline-spc " " "Whitespace.") +(defconst doom-modeline-wspc " " "Wide whitespace.") +(defconst doom-modeline-vspc + (propertize " " 'display '((space :relative-width 0.5))) + "Thin whitespace.") -(defsubst doom-modeline-wspc () - "Text style with wide whitespace." - (propertize " " 'face (if (doom-modeline--active) - 'doom-modeline-spc-face - 'doom-modeline-spc-inactive-face))) +(defconst doom-modeline-ellipsis + (if (char-displayable-p ?…) "…" "...") + "Ellipsis.") -(defsubst doom-modeline-vspc () - "Text style with icons in mode-line." - (propertize " " 'face (if (doom-modeline--active) - 'doom-modeline-vspc-face - 'doom-modeline-vspc-inactive-face))) +(defun doom-modeline-face (&optional face inactive-face) + "Display FACE in active window, and INACTIVE-FACE in inactive window. +IF FACE is nil, `mode-line' face will be used. +If INACTIVE-FACE is nil, `mode-line-inactive' face will be used." + (if (doom-modeline--active) + (or (and (facep face) face) + (and (facep 'mode-line-active) 'mode-line-active) + 'mode-line) + (or (and (facep inactive-face) inactive-face) + 'mode-line-inactive))) +;; Since 27, the calculation of char height was changed +;; @see https://github.com/seagle0128/doom-modeline/issues/271 (defun doom-modeline--font-height () "Calculate the actual char height of the mode-line." - (let ((height (face-attribute 'mode-line :height))) - ;; WORKAROUND: Fix tall issue of 27 on Linux - ;; @see https://github.com/seagle0128/doom-modeline/issues/271 + (let ((height (face-attribute 'mode-line :height)) + (char-height (window-font-height nil 'mode-line))) (round - (* (if (or (<= doom-modeline-height 0) - (and (>= emacs-major-version 27) - (not (eq system-type 'darwin)))) - 1.0 - (if doom-modeline-icon 1.68 1.25)) + (* (pcase system-type + ('darwin (if doom-modeline-icon 1.7 1.0)) + ('windows-nt (if doom-modeline-icon 0.88 0.625)) + (_ (if (and doom-modeline-icon (< emacs-major-version 27)) 1.4 1.0))) (cond ((integerp height) (/ height 10)) - ((floatp height) (* height (frame-char-height))) - (t (frame-char-height))))))) + ((floatp height) (* height char-height)) + (t char-height)))))) (defun doom-modeline--original-value (sym) "Return the original value for SYM, if any. @@ -1134,12 +1090,13 @@ The face should be the first attribute, or the font family may be overridden. So convert the face \":family XXX :height XXX :inherit XXX\" to \":inherit XXX :family XXX :height XXX\". See https://github.com/seagle0128/doom-modeline/issues/301." - (if (and doom-modeline-icon (display-graphic-p)) + (if (doom-modeline-icon-displayable-p) (when-let ((props (get-text-property 0 'face icon))) - (cl-destructuring-bind (&key family height inherit &allow-other-keys) props - (propertize icon 'face `(:inherit ,(or face inherit props) - :family ,family - :height ,height)))) + (when (listp props) + (cl-destructuring-bind (&key family height inherit &allow-other-keys) props + (propertize icon 'face `(:inherit ,(or face inherit props 'mode-line) + :family ,(or family "") + :height ,(or height 1.0)))))) (propertize icon 'face face))) (defun doom-modeline-icon (icon-set icon-name unicode text &rest args) @@ -1150,31 +1107,47 @@ etc. UNICODE is the unicode char fallback. TEXT is the ASCII char fallback. ARGS is same as `all-the-icons-octicon' and others." (let ((face (or (plist-get args :face) 'mode-line))) - (or - ;; Icons - (when (and (display-graphic-p) - doom-modeline-icon - icon-name - (not (string-empty-p icon-name))) - (when-let* ((func (all-the-icons--function-name icon-set)) - (icon (and (fboundp func) (apply func icon-name args)))) - (doom-modeline-propertize-icon icon face))) + (cond + ;; Icon + ((and (doom-modeline-icon-displayable-p) + icon-name + (not (string-empty-p icon-name))) + (when-let* ((func (all-the-icons--function-name icon-set)) + (icon (and (fboundp func) + (apply func icon-name args)))) + (doom-modeline-propertize-icon icon face))) ;; Unicode fallback - (and doom-modeline-unicode-fallback - unicode - (not (string-empty-p unicode)) - (char-displayable-p (string-to-char unicode)) - (propertize unicode 'face face)) + ((and doom-modeline-unicode-fallback + unicode + (not (string-empty-p unicode)) + (char-displayable-p (string-to-char unicode))) + (propertize unicode 'face face)) ;; ASCII text - (and text (propertize text 'face face)) - ""))) + (text + (propertize text 'face face)) + ;; Fallback + (t "")))) + +(defun doom-modeline-display-icon (icon) + "Display ICON in mode-line." + (if (doom-modeline--active) + icon + (doom-modeline-propertize-icon icon 'mode-line-inactive))) + +(defun doom-modeline-display-text (text) + "Display TEXT in mode-line." + (if (doom-modeline--active) + text + (propertize text 'face 'mode-line-inactive))) (defun doom-modeline--create-bar-image (face width height) "Create the bar image. -Use FACE1 for the bar, FACE2 for the background. -WIDTH and HEIGHT are the image size in pixels." + +Use FACE for the bar, WIDTH and HEIGHT are the image size in pixels." (when (and (display-graphic-p) - (image-type-available-p 'pbm)) + (image-type-available-p 'pbm) + (numberp width) (> width 0) + (numberp height) (> height 0)) (propertize " " 'display (let ((color (or (face-background face nil t) "None"))) @@ -1188,12 +1161,15 @@ WIDTH and HEIGHT are the image size in pixels." (defun doom-modeline--create-hud-image (face1 face2 width height top-margin bottom-margin) "Create the hud image. + Use FACE1 for the bar, FACE2 for the background. WIDTH and HEIGHT are the image size in pixels. TOP-MARGIN and BOTTOM-MARGIN are the size of the margin above and below the bar, respectively." (when (and (display-graphic-p) - (image-type-available-p 'pbm)) + (image-type-available-p 'pbm) + (numberp width) (> width 0) + (numberp height) (> height 0)) (let ((min-height (min height doom-modeline-hud-min-height))) (unless (> (- height top-margin bottom-margin) min-height) (let ((margin (- height min-height))) @@ -1224,32 +1200,31 @@ respectively." (<= (/ (window-total-width) (frame-width) 1.0) doom-modeline-window-width-limit))))) -(add-hook 'window-size-change-functions #'doom-modeline-window-size-change-function) +(add-hook 'after-revert-hook #'doom-modeline-window-size-change-function) (add-hook 'buffer-list-update-hook #'doom-modeline-window-size-change-function) +(add-hook 'window-size-change-functions #'doom-modeline-window-size-change-function) (defvar-local doom-modeline--project-root nil) (defun doom-modeline--project-root () - "Get the path to the root of your project. + "Get the path to the project root. Return nil if no project was found." (or doom-modeline--project-root (setq doom-modeline--project-root - (pcase (if (eq doom-modeline-project-detection 'auto) - (cond - ((fboundp 'ffip-get-project-root-directory) 'ffip) - ((fboundp 'projectile-project-root) 'projectile) - ((fboundp 'project-current) 'project) - (t 'default)) - doom-modeline-project-detection) - ('ffip - (let ((inhibit-message t)) - (ffip-get-project-root-directory))) - ('projectile - (projectile-project-root)) - ('project - (when-let ((project (project-current))) - (expand-file-name (if (fboundp 'project-root) - (project-root project) - (cdr project))))))))) + (cond + ((and (memq doom-modeline-project-detection '(auto ffip)) + (fboundp 'ffip-get-project-root-directory)) + (let ((inhibit-message t)) + (ffip-get-project-root-directory))) + ((and (memq doom-modeline-project-detection '(auto projectile)) + (or (fboundp 'projectile-project-root) + (require 'projectile nil t))) + (projectile-project-root)) + ((and (memq doom-modeline-project-detection '(auto project)) + (fboundp 'project-current)) + (when-let ((project (project-current))) + (expand-file-name (if (fboundp 'project-root) + (project-root project) + (cdr project))))))))) (defun doom-modeline-project-p () "Check if the file is in a project." @@ -1261,8 +1236,7 @@ Return `default-directory' if no project was found." (or (doom-modeline--project-root) default-directory)) (defun doom-modeline-buffer-file-name () - "Propertized variable `buffer-file-name' based on -`doom-modeline-buffer-file-name-style'." + "Propertize file name based on `doom-modeline-buffer-file-name-style'." (let* ((buffer-file-name (file-local-name (or (buffer-file-name (buffer-base-buffer)) ""))) (buffer-file-truename (file-local-name (or buffer-file-truename (file-truename buffer-file-name) ""))) @@ -1270,7 +1244,7 @@ Return `default-directory' if no project was found." (pcase doom-modeline-buffer-file-name-style ('auto (if (doom-modeline-project-p) - (doom-modeline--buffer-file-name buffer-file-name buffer-file-truename nil nil 'hide) + (doom-modeline--buffer-file-name buffer-file-name buffer-file-truename 'shrink 'shrink 'hide) (propertize "%b" 'face 'doom-modeline-buffer-file))) ('truncate-upto-project (doom-modeline--buffer-file-name buffer-file-name buffer-file-truename 'shrink)) @@ -1307,7 +1281,8 @@ Return `default-directory' if no project was found." 'local-map mode-line-buffer-identification-keymap))) (defun doom-modeline--buffer-file-name-truncate (file-path true-file-path &optional truncate-tail) - "Propertized variable `buffer-file-name' that truncates every dir along path. + "Propertize file name that truncates every dir along path. + If TRUNCATE-TAIL is t also truncate the parent directory of the file." (let ((dirs (shrink-path-prompt (file-name-directory true-file-path)))) (if (null dirs) @@ -1322,8 +1297,9 @@ If TRUNCATE-TAIL is t also truncate the parent directory of the file." 'face 'doom-modeline-buffer-file)))))) (defun doom-modeline--buffer-file-name-relative (_file-path true-file-path &optional include-project) - "Propertized variable `buffer-file-name' showing directories relative to -project's root only." + "Propertize file name showing directories relative to project's root only. + +If INCLUDE-PROJECT is non-nil, the project path will be included." (let ((root (file-local-name (doom-modeline-project-root)))) (if (null root) (propertize "%b" 'face 'doom-modeline-buffer-file) @@ -1340,7 +1316,8 @@ project's root only." truncate-project-root-parent truncate-project-relative-path hide-project-root-parent) - "Propertized variable `buffer-file-name' given by FILE-PATH. + "Propertize buffer name given by FILE-PATH. + If TRUNCATE-PROJECT-ROOT-PARENT is non-nil will be saved by truncating project root parent down fish-shell style. diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline-env.el b/code/elpa/doom-modeline-20220804.508/doom-modeline-env.el similarity index 96% rename from code/elpa/doom-modeline-20220412.853/doom-modeline-env.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline-env.el index 87c8c50..4a3c3f2 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline-env.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline-env.el @@ -33,14 +33,14 @@ (defvar python-shell-interpreter) -;; Customizations +;; Customization (defgroup doom-modeline-env nil - "The environment parser for doom-modeline." + "The environment parser for `doom-modeline'." :group 'doom-modeline :link '(url-link :tag "Homepage" "https://github.com/seagle0128/doom-modeline")) -(defcustom doom-modeline-env-load-string "..." +(defcustom doom-modeline-env-load-string doom-modeline-ellipsis "What to display as the version while a new one is being loaded." :type 'string :group 'doom-modeline-env) @@ -69,11 +69,11 @@ Example: \"ruby\"") (defvar-local doom-modeline-env--command-args nil "A list of arguments for the command to extract the version from. -Example: '(\"--version\") ") +Example: \\='(\"--version\")") (defvar-local doom-modeline-env--parser nil "A function that returns version number from a command --version (or similar). -Example: 'doom-modeline-env--ruby") +Example: \\='doom-modeline-env--ruby") ;; Functions & Macros @@ -115,7 +115,7 @@ passes on the information into the CALLBACK. Example: (doom-modeline-env--get \"ruby\" - '(\"--version\") + \\='(\"--version\") (lambda (line) (message (doom-modeline-parser--ruby line)))" (let ((proc (apply 'start-process @@ -131,7 +131,7 @@ Example: (funcall parser line)))))) (cl-defmacro doom-modeline-def-env (name &key hooks command parser) - "Defines a handler for updating & displaying a version string for a language. + "Define a handler for updating & displaying a version string for a language. NAME is an unquoted symbol representing the handler's unique ID. HOOKS is a list of hook symbols where this handler should be triggered. @@ -213,7 +213,7 @@ PARSER should be a function for parsing COMMAND's output line-by-line, to "python") "--version")))) :parser (lambda (line) (let ((version (split-string line))) - (if (>= (length version) 2) + (if (length> version 1) (cadr version) (car version))))) diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline-pkg.el b/code/elpa/doom-modeline-20220804.508/doom-modeline-pkg.el similarity index 58% rename from code/elpa/doom-modeline-20220412.853/doom-modeline-pkg.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline-pkg.el index c289f03..f50a83c 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline-pkg.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline-pkg.el @@ -1,9 +1,8 @@ -(define-package "doom-modeline" "20220412.853" "A minimal and modern mode-line" +(define-package "doom-modeline" "20220804.508" "A minimal and modern mode-line" '((emacs "25.1") - (all-the-icons "2.2.0") - (shrink-path "0.2.0") - (dash "2.11.0")) - :commit "7d8eb7c44087a62d8dd6e8ba1afc26facd914fbc" :authors + (compat "28.1.1.1") + (shrink-path "0.2.0")) + :commit "4c4b451fcf705f58e6ca41339f22365434b664cb" :authors '(("Vincent Zhang" . "seagle0128@gmail.com")) :maintainer '("Vincent Zhang" . "seagle0128@gmail.com") diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline-segments.el b/code/elpa/doom-modeline-20220804.508/doom-modeline-segments.el similarity index 83% rename from code/elpa/doom-modeline-20220412.853/doom-modeline-segments.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline-segments.el index d0970d1..18d07c3 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline-segments.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline-segments.el @@ -27,7 +27,6 @@ ;;; Code: -(require 'all-the-icons) (require 'cl-lib) (require 'seq) (require 'subr-x) @@ -69,6 +68,7 @@ (defvar evil-visual-beginning) (defvar evil-visual-end) (defvar evil-visual-selection) +(defvar flycheck--automatically-enabled-checkers) (defvar flycheck-current-errors) (defvar flycheck-mode-menu-map) (defvar flymake--mode-line-format) @@ -80,7 +80,6 @@ (defvar helm--mode-line-display-prefarg) (defvar iedit-occurrences-overlays) (defvar meow--indicator) -(defvar minions-direct) (defvar minions-mode-line-lighter) (defvar minions-mode-line-minor-modes-map) (defvar mlscroll-minimum-current-width) @@ -93,6 +92,7 @@ (defvar objed-modeline-setup-func) (defvar persp-nil-name) (defvar phi-replace--mode-line-format) +(defvar phi-search--overlays) (defvar phi-search--selection) (defvar phi-search-mode-line-format) (defvar poke-line-minimum-window-width) @@ -104,7 +104,9 @@ (defvar tracking-buffers) (defvar winum-auto-setup-mode-line) (defvar xah-fly-insert-state-p) +(defvar display-time-string) +(declare-function all-the-icons-icon-for-buffer "ext:all-the-icons") (declare-function anzu--reset-status "ext:anzu") (declare-function anzu--where-is-here "ext:anzu") (declare-function async-inject-variables "ext:async") @@ -199,6 +201,7 @@ (declare-function lsp-workspaces "ext:lsp-mode") (declare-function lv-message "ext:lv") (declare-function mc/num-cursors "ext:multiple-cursors-core") +(declare-function minions--prominent-modes "ext:minions") (declare-function mlscroll-mode-line "ext:mlscroll") (declare-function mu4e-alert-default-mode-line-formatter "ext:mu4e-alert") (declare-function mu4e-alert-enable-mode-line-display "ext:mu4e-alert") @@ -249,9 +252,8 @@ (defun doom-modeline-update-buffer-file-icon (&rest _) "Update file icon in mode-line." (setq doom-modeline--buffer-file-icon - (when (and (display-graphic-p) - doom-modeline-icon - doom-modeline-major-mode-icon) + (when (and doom-modeline-major-mode-icon + (doom-modeline-icon-displayable-p)) (let ((icon (all-the-icons-icon-for-buffer))) (propertize (if (or (null icon) (symbolp icon)) (doom-modeline-icon 'faicon "file-o" nil nil @@ -326,7 +328,7 @@ Uses `all-the-icons-material' to fetch the icon." (doom-modeline-buffer-file-name) (propertize "%b" 'face 'doom-modeline-buffer-file - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'help-echo "Buffer name mouse-1: Previous buffer\nmouse-3: Next buffer" 'local-map mode-line-buffer-identification-keymap)))))) @@ -347,6 +349,15 @@ mouse-1: Previous buffer\nmouse-3: Next buffer" (advice-add #'org-edit-src-save :after #'doom-modeline-update-buffer-file-name) (advice-add #'symbol-overlay-rename :after #'doom-modeline-update-buffer-file-name) +(with-no-warnings + (if (boundp 'after-focus-change-function) + (progn + (advice-add #'handle-switch-frame :after #'doom-modeline-update-buffer-file-name) + (add-function :after after-focus-change-function #'doom-modeline-update-buffer-file-name)) + (progn + (add-hook 'focus-in-hook #'doom-modeline-update-buffer-file-name) + (add-hook 'focus-out-hook #'doom-modeline-update-buffer-file-name)))) + (doom-modeline-add-variable-watcher 'doom-modeline-buffer-file-name-style (lambda (_sym val op _where) @@ -362,55 +373,58 @@ mouse-1: Previous buffer\nmouse-3: Next buffer" (when (and doom-modeline-icon doom-modeline-major-mode-icon) (when-let ((icon (or doom-modeline--buffer-file-icon (doom-modeline-update-buffer-file-icon)))) - (concat - (let ((active (doom-modeline--active))) - (if (and active doom-modeline-major-mode-color-icon) - icon - (doom-modeline-propertize-icon icon (if active - 'mode-line - 'mode-line-inactive)))) - (doom-modeline-vspc))))) + (unless (string-empty-p icon) + (concat + (if doom-modeline-major-mode-color-icon + (doom-modeline-display-icon icon) + (doom-modeline-propertize-icon + icon + (doom-modeline-face))) + doom-modeline-vspc))))) (defsubst doom-modeline--buffer-state-icon () "The icon of the current buffer state." (when doom-modeline-buffer-state-icon (when-let ((icon (doom-modeline-update-buffer-file-state-icon))) - (concat - (if (doom-modeline--active) - icon - (doom-modeline-propertize-icon icon 'mode-line-inactive)) - (doom-modeline-vspc))))) + (unless (string-empty-p icon) + (concat + (doom-modeline-display-icon icon) + doom-modeline-vspc))))) + +(defsubst doom-modeline--buffer-simple-name () + "The buffer simple name." + (propertize "%b" + 'face (doom-modeline-face + (if (and buffer-file-name (buffer-modified-p)) + 'doom-modeline-buffer-modified + 'doom-modeline-buffer-file)) + 'mouse-face 'doom-modeline-highlight + 'help-echo "Buffer name +mouse-1: Previous buffer\nmouse-3: Next buffer" + 'local-map mode-line-buffer-identification-keymap)) (defsubst doom-modeline--buffer-name () "The current buffer name." (when doom-modeline-buffer-name (if (and (not (eq doom-modeline-buffer-file-name-style 'file-name)) doom-modeline--limited-width-p) - ;; Only display the buffer name if the window is small, and doesn't need to - ;; respect file-name style. - (propertize "%b" - 'face (cond ((and buffer-file-name (buffer-modified-p)) - 'doom-modeline-buffer-modified) - ((doom-modeline--active) 'doom-modeline-buffer-file) - (t 'mode-line-inactive)) - 'mouse-face 'mode-line-highlight - 'help-echo "Buffer name -mouse-1: Previous buffer\nmouse-3: Next buffer" - 'local-map mode-line-buffer-identification-keymap) + ;; Only display the buffer name if the window is small, and doesn't + ;; need to respect file-name style. + (doom-modeline--buffer-simple-name) (when-let ((name (or doom-modeline--buffer-file-name (doom-modeline-update-buffer-file-name)))) - (if (doom-modeline--active) - ;; Check if the buffer is modified - (if (and buffer-file-name (buffer-modified-p)) - (propertize name 'face 'doom-modeline-buffer-modified) - name) - (propertize name 'face 'mode-line-inactive)))))) + ;; Check if the buffer is modified + (if (and buffer-file-name (buffer-modified-p)) + (propertize name 'face (doom-modeline-face 'doom-modeline-buffer-modified)) + (doom-modeline-display-text name)))))) (doom-modeline-def-segment buffer-info - "Combined information about the current buffer, including the current working -directory, the file name, and its state (modified, read-only or non-existent)." + "Combined information about the current buffer. + +Including the current working directory, the file name, and its state (modified, +read-only or non-existent)." (concat - (doom-modeline-spc) + doom-modeline-spc (doom-modeline--buffer-mode-icon) (doom-modeline--buffer-state-icon) (doom-modeline--buffer-name))) @@ -418,46 +432,41 @@ directory, the file name, and its state (modified, read-only or non-existent)." (doom-modeline-def-segment buffer-info-simple "Display only the current buffer's name, but with fontification." (concat - (doom-modeline-spc) + doom-modeline-spc (doom-modeline--buffer-mode-icon) (doom-modeline--buffer-state-icon) - (propertize "%b" - 'face (cond ((and buffer-file-name (buffer-modified-p)) - 'doom-modeline-buffer-modified) - ((doom-modeline--active) 'doom-modeline-buffer-file) - (t 'mode-line-inactive)) - 'mouse-face 'mode-line-highlight - 'help-echo "Buffer name -mouse-1: Previous buffer\nmouse-3: Next buffer" - 'local-map mode-line-buffer-identification-keymap))) + (doom-modeline--buffer-simple-name))) (doom-modeline-def-segment buffer-default-directory - "Displays `default-directory' with the icon and state . This is for special -buffers like the scratch buffer where knowing the current project directory is -important." - (let ((face (cond ((buffer-modified-p) - 'doom-modeline-buffer-modified) - ((doom-modeline--active) 'doom-modeline-buffer-path) - (t 'mode-line-inactive)))) - (concat (doom-modeline-spc) + "Displays `default-directory' with the icon and state. + +This is for special buffers like the scratch buffer where knowing the current +project directory is important." + (let ((face (doom-modeline-face + (if (and buffer-file-name (buffer-modified-p)) + 'doom-modeline-buffer-modified + 'doom-modeline-buffer-path)))) + (concat doom-modeline-spc (and doom-modeline-major-mode-icon (concat (doom-modeline-icon 'octicon "file-directory" "🖿" "" :face face :v-adjust -0.05 :height 1.25) - (doom-modeline-vspc))) + doom-modeline-vspc)) (doom-modeline--buffer-state-icon) (propertize (abbreviate-file-name default-directory) 'face face)))) (doom-modeline-def-segment buffer-default-directory-simple - "Displays `default-directory'. This is for special buffers like the scratch -buffer where knowing the current project directory is important." - (let ((face (if (doom-modeline--active) 'doom-modeline-buffer-path 'mode-line-inactive))) - (concat (doom-modeline-spc) + "Displays `default-directory'. + +This is for special buffers like the scratch buffer where knowing the current +project directory is important." + (let ((face (doom-modeline-face 'doom-modeline-buffer-path))) + (concat doom-modeline-spc (and doom-modeline-major-mode-icon (concat (doom-modeline-icon 'octicon "file-directory" "🖿" "" :face face :v-adjust -0.05 :height 1.25) - (doom-modeline-vspc))) + doom-modeline-vspc)) (propertize (abbreviate-file-name default-directory) 'face face)))) @@ -466,12 +475,11 @@ buffer where knowing the current project directory is important." ;; (doom-modeline-def-segment buffer-encoding - "Displays the eol and the encoding style of the buffer the same way Atom does." + "Displays the eol and the encoding style of the buffer." (when doom-modeline-buffer-encoding - (let ((face (if (doom-modeline--active) 'mode-line 'mode-line-inactive)) - (mouse-face 'mode-line-highlight)) + (let ((mouse-face 'doom-modeline-highlight)) (concat - (doom-modeline-spc) + doom-modeline-spc ;; eol type (let ((eol (coding-system-eol-type buffer-file-coding-system))) @@ -484,7 +492,6 @@ buffer where knowing the current project directory is important." (1 "CRLF ") (2 "CR ") (_ "")) - 'face face 'mouse-face mouse-face 'help-echo (format "End-of-line style: %s\nmouse-1: Cycle" (pcase eol @@ -509,12 +516,11 @@ buffer where knowing the current project directory is important." (not (eq sym doom-modeline-default-coding-system)))) (propertize (upcase (symbol-name sym)) - 'face face 'mouse-face mouse-face 'help-echo 'mode-line-mule-info-help-echo 'local-map mode-line-coding-system-map))) - (doom-modeline-spc))))) + doom-modeline-spc)))) ;; @@ -527,8 +533,7 @@ buffer where knowing the current project directory is important." (let ((do-propertize (lambda (mode size) (propertize - (format " %s %d " mode size) - 'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive))))) + (format " %s %d " mode size))))) (if indent-tabs-mode (funcall do-propertize "TAB" tab-width) (let ((lookup-var @@ -550,7 +555,7 @@ buffer where knowing the current project directory is important." (when-let ((host (file-remote-p default-directory 'host))) (propertize (concat "@" host) - 'face (if (doom-modeline--active) 'doom-modeline-host 'mode-line-inactive))))) + 'face (doom-modeline-face 'doom-modeline-host))))) ;; @@ -561,7 +566,7 @@ buffer where knowing the current project directory is important." "The major mode, including environment and text-scale info." (propertize (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (format-mode-line (or (and (boundp 'delighted-modes) (cadr (assq major-mode delighted-modes))) @@ -570,10 +575,10 @@ buffer where knowing the current project directory is important." mouse-1: Display major mode menu\n\ mouse-2: Show help for major mode\n\ mouse-3: Toggle minor modes" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map mode-line-major-mode-keymap) (when (and doom-modeline-env-version doom-modeline-env--version) - (format " %s" doom-modeline-env--version)) + (format "%s%s" doom-modeline-vspc doom-modeline-env--version)) (and (boundp 'text-scale-mode-amount) (/= text-scale-mode-amount 0) (format @@ -581,10 +586,8 @@ buffer where knowing the current project directory is important." " (%+d)" " (%-d)") text-scale-mode-amount)) - (doom-modeline-spc)) - 'face (if (doom-modeline--active) - 'doom-modeline-buffer-major-mode - 'mode-line-inactive))) + doom-modeline-spc) + 'face (doom-modeline-face 'doom-modeline-buffer-major-mode))) ;; @@ -593,10 +596,7 @@ buffer where knowing the current project directory is important." (doom-modeline-def-segment process "The process info." - (if (doom-modeline--active) - mode-line-process - (propertize (format-mode-line mode-line-process) - 'face 'mode-line-inactive))) + (format-mode-line mode-line-process)) ;; @@ -605,22 +605,19 @@ buffer where knowing the current project directory is important." (doom-modeline-def-segment minor-modes (when doom-modeline-minor-modes - (let ((face (if (doom-modeline--active) - 'doom-modeline-buffer-minor-mode - 'mode-line-inactive)) - (mouse-face 'mode-line-highlight) + (let ((face (doom-modeline-face 'doom-modeline-buffer-minor-mode)) + (mouse-face 'doom-modeline-highlight) (help-echo "Minor mode mouse-1: Display minor mode menu mouse-2: Show help for minor mode mouse-3: Toggle minor modes")) (if (bound-and-true-p minions-mode) - `((:propertize ("" ,(--filter (memq (car it) minions-direct) - minor-mode-alist)) + `((:propertize ("" ,(minions--prominent-modes)) face ,face mouse-face ,mouse-face help-echo ,help-echo local-map ,mode-line-minor-mode-keymap) - ,(doom-modeline-spc) + ,doom-modeline-spc (:propertize ("" ,(doom-modeline-icon 'octicon "gear" "⚙" minions-mode-line-lighter :face face :v-adjust -0.05)) @@ -628,13 +625,13 @@ buffer where knowing the current project directory is important." help-echo "Minions mouse-1: Display minor modes menu" local-map ,minions-mode-line-minor-modes-map) - ,(doom-modeline-spc)) + ,doom-modeline-spc) `((:propertize ("" minor-mode-alist) face ,face mouse-face ,mouse-face help-echo ,help-echo local-map ,mode-line-minor-mode-keymap) - ,(doom-modeline-spc)))))) + ,doom-modeline-spc))))) ;; @@ -698,12 +695,12 @@ Uses `all-the-icons-octicon' to fetch the icon." (str (if vc-display-status (substring vc-mode (+ (if (eq backend 'Hg) 2 3) 2)) ""))) - (propertize (if (> (length str) doom-modeline-vcs-max-length) + (propertize (if (length> str doom-modeline-vcs-max-length) (concat (substring str 0 (- doom-modeline-vcs-max-length 3)) - "...") + doom-modeline-ellipsis) str) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'face (cond ((eq state 'needs-update) 'doom-modeline-warning) ((memq state '(removed conflict unregistered)) @@ -715,24 +712,18 @@ Uses `all-the-icons-octicon' to fetch the icon." (doom-modeline-def-segment vcs "Displays the current branch, colored based on its state." - (let ((active (doom-modeline--active))) - (when-let ((icon doom-modeline--vcs-icon) - (text doom-modeline--vcs-text)) - (concat - (doom-modeline-spc) - (propertize - (concat - (if active - icon - (doom-modeline-propertize-icon icon 'mode-line-inactive)) - (doom-modeline-vspc)) - 'mouse-face 'mode-line-highlight - 'help-echo (get-text-property 1 'help-echo vc-mode) - 'local-map (get-text-property 1 'local-map vc-mode)) - (if active - text - (propertize text 'face 'mode-line-inactive)) - (doom-modeline-spc))))) + (when-let ((icon doom-modeline--vcs-icon) + (text doom-modeline--vcs-text)) + (concat + doom-modeline-spc + (propertize (concat + (doom-modeline-display-icon icon) + doom-modeline-vspc + (doom-modeline-display-text text)) + 'mouse-face 'doom-modeline-highlight + 'help-echo (get-text-property 1 'help-echo vc-mode) + 'local-map (get-text-property 1 'local-map vc-mode)) + doom-modeline-spc))) ;; @@ -801,7 +792,7 @@ mouse-2: Show help for minor mode") ('errored "Error") ('interrupted "Interrupted") ('suspicious "Suspicious"))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line down-mouse-1] flycheck-mode-menu-map) @@ -878,7 +869,7 @@ mouse-3: Next error" ('errored "Error") ('interrupted "Interrupted") ('suspicious "Suspicious")) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'flycheck-list-errors) @@ -959,7 +950,7 @@ mouse-3: Next error" mouse-1: Display minor mode menu mouse-2: Show help for minor mode" (length running) (length known))))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line down-mouse-1] flymake-menu) @@ -1047,7 +1038,7 @@ mouse-1: List all problems%s" .error .warning .note (if (featurep 'mwheel) "\nwheel-up/wheel-down: Previous/next problem")))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'flymake-show-diagnostics-buffer) @@ -1069,28 +1060,23 @@ mouse-1: List all problems%s" (doom-modeline-def-segment checker "Displays color-coded error status in the current buffer with pretty icons." - (let ((active (doom-modeline--active)) - (seg (cond ((and (bound-and-true-p flymake-mode) - (bound-and-true-p flymake--state)) ; only support 26+ - `(,doom-modeline--flymake-icon . ,doom-modeline--flymake-text)) - ((bound-and-true-p flycheck-mode) - `(,doom-modeline--flycheck-icon . ,doom-modeline--flycheck-text))))) - (let ((icon (car seg)) - (text (cdr seg))) - (concat - (when icon - (concat - (doom-modeline-spc) - (if active - icon - (doom-modeline-propertize-icon icon 'mode-line-inactive)))) - (when text - (concat - (if icon (doom-modeline-vspc) (doom-modeline-spc)) - (if active - text - (propertize text 'face 'mode-line-inactive)))) - (doom-modeline-spc))))) + (let* ((seg (cond + ((and (bound-and-true-p flymake-mode) + (bound-and-true-p flymake--state)) ; only support 26+ + `(,doom-modeline--flymake-icon . ,doom-modeline--flymake-text)) + ((and (bound-and-true-p flycheck-mode) + (bound-and-true-p flycheck--automatically-enabled-checkers)) + `(,doom-modeline--flycheck-icon . ,doom-modeline--flycheck-text)))) + (icon (car seg)) + (text (cdr seg))) + (concat + (and (or icon text) doom-modeline-spc) + (and icon (doom-modeline-display-icon icon)) + (and text + (concat + (and icon doom-modeline-vspc) + (doom-modeline-display-text text))) + (and (or icon text) doom-modeline-spc)))) ;; @@ -1103,10 +1089,7 @@ Displayed when in a major mode in `doom-modeline-continuous-word-count-modes'. Respects `doom-modeline-enable-word-count'." (when (and doom-modeline-enable-word-count (member major-mode doom-modeline-continuous-word-count-modes)) - (propertize (format " %dW" (count-words (point-min) (point-max))) - 'face (if (doom-modeline--active) - 'mode-line - 'mode-line-inactive)))) + (format " %dW" (count-words (point-min) (point-max))))) ;; @@ -1119,18 +1102,20 @@ Respects `doom-modeline-enable-word-count'." (current-column))) (doom-modeline-def-segment selection-info - "Information about the current selection, such as how many characters and -lines are selected, or the NxM dimensions of a block selection." + "Information about the current selection. + +Such as how many characters and lines are selected, or the NxM dimensions of a +block selection." (when (and (or mark-active (and (bound-and-true-p evil-local-mode) (eq evil-state 'visual))) (doom-modeline--active)) (cl-destructuring-bind (beg . end) - (if (and (bound-and-true-p evil-local-mode) (eq evil-state 'visual)) - (cons evil-visual-beginning evil-visual-end) - (cons (region-beginning) (region-end))) + (if (and (bound-and-true-p evil-local-mode) (eq evil-state 'visual)) + (cons evil-visual-beginning evil-visual-end) + (cons (region-beginning) (region-end))) (propertize (let ((lines (count-lines beg (min end (point-max))))) - (concat (doom-modeline-spc) + (concat doom-modeline-spc (cond ((or (bound-and-true-p rectangle-mark-mode) (and (bound-and-true-p evil-visual-selection) (eq 'block evil-visual-selection))) @@ -1146,8 +1131,8 @@ lines are selected, or the NxM dimensions of a block selection." (format "%dC" (- end beg)))) (when doom-modeline-enable-word-count (format " %dW" (count-words beg end))) - (doom-modeline-spc))) - 'face 'doom-modeline-highlight)))) + doom-modeline-spc)) + 'face 'doom-modeline-emphasis)))) ;; @@ -1217,7 +1202,7 @@ Requires `anzu', also `evil-anzu' if using `evil-mode' for compatibility with (format " %s+ " total)) (t (format " %s/%d " here total)))) - 'face (if (doom-modeline--active) 'doom-modeline-panel 'mode-line-inactive)))) + 'face (doom-modeline-face 'doom-modeline-panel)))) (defsubst doom-modeline--evil-substitute () "Show number of matches for evil-ex substitutions and highlights in real time." @@ -1233,7 +1218,7 @@ Requires `anzu', also `evil-anzu' if using `evil-mode' for compatibility with (if pattern (format " %s matches " (how-many pattern (car range) (cdr range))) " - ")) - 'face (if (doom-modeline--active) 'doom-modeline-panel 'mode-line-inactive)))) + 'face (doom-modeline-face 'doom-modeline-panel)))) (defun doom-modeline-themes--overlay-sort (a b) "Sort overlay A and B." @@ -1257,40 +1242,38 @@ Requires `anzu', also `evil-anzu' if using `evil-mode' for compatibility with -1) "-") length)) - 'face (if (doom-modeline--active) 'doom-modeline-panel 'mode-line-inactive)))) + 'face (doom-modeline-face 'doom-modeline-panel)))) (defsubst doom-modeline--symbol-overlay () "Show the number of matches for symbol overlay." - (when-let ((active (doom-modeline--active))) - (when (and (bound-and-true-p symbol-overlay-keywords-alist) - (not (bound-and-true-p symbol-overlay-temp-symbol)) - (not (bound-and-true-p iedit-mode))) - (let* ((keyword (symbol-overlay-assoc (symbol-overlay-get-symbol t))) - (symbol (car keyword)) - (before (symbol-overlay-get-list -1 symbol)) - (after (symbol-overlay-get-list 1 symbol)) - (count (length before))) - (if (symbol-overlay-assoc symbol) - (propertize - (format (concat " %d/%d " (and (cadr keyword) "in scope ")) - (+ count 1) - (+ count (length after))) - 'face (if active 'doom-modeline-panel 'mode-line-inactive))))))) + (when (and (doom-modeline--active) + (bound-and-true-p symbol-overlay-keywords-alist) + (not (bound-and-true-p symbol-overlay-temp-symbol)) + (not (bound-and-true-p iedit-mode))) + (let* ((keyword (symbol-overlay-assoc (symbol-overlay-get-symbol t))) + (symbol (car keyword)) + (before (symbol-overlay-get-list -1 symbol)) + (after (symbol-overlay-get-list 1 symbol)) + (count (length before))) + (if (symbol-overlay-assoc symbol) + (propertize + (format (concat " %d/%d " (and (cadr keyword) "in scope ")) + (+ count 1) + (+ count (length after))) + 'face (doom-modeline-face 'doom-modeline-panel)))))) (defsubst doom-modeline--multiple-cursors () "Show the number of multiple cursors." (cl-destructuring-bind (count . face) - (cond ((bound-and-true-p multiple-cursors-mode) - (cons (mc/num-cursors) - (if (doom-modeline--active) - 'doom-modeline-panel - 'mode-line-inactive))) - ((bound-and-true-p evil-mc-cursor-list) - (cons (length evil-mc-cursor-list) - (cond ((not (doom-modeline--active)) 'mode-line-inactive) - (evil-mc-frozen 'doom-modeline-bar) - ('doom-modeline-panel)))) - ((cons nil nil))) + (cond ((bound-and-true-p multiple-cursors-mode) + (cons (mc/num-cursors) + (doom-modeline-face 'doom-modeline-panel))) + ((bound-and-true-p evil-mc-cursor-list) + (cons (length evil-mc-cursor-list) + (doom-modeline-face (if evil-mc-frozen + 'doom-modeline-bar + 'doom-modeline-panel)))) + ((cons nil nil))) (when count (concat (propertize " " 'face face) (or (doom-modeline-icon 'faicon "i-cursor" nil nil @@ -1298,21 +1281,21 @@ Requires `anzu', also `evil-anzu' if using `evil-mode' for compatibility with (propertize "I" 'face `(:inherit ,face :height 1.4 :weight normal) 'display '(raise -0.1))) - (propertize (doom-modeline-vspc) + (propertize doom-modeline-vspc 'face `(:inherit (variable-pitch ,face))) (propertize (format "%d " count) 'face face))))) (defsubst doom-modeline--phi-search () "Show the number of matches for `phi-search' and `phi-replace'." - (when-let ((active (doom-modeline--active))) - (when (bound-and-true-p phi-search--overlays) - (let ((total (length phi-search--overlays)) - (selection phi-search--selection)) - (when selection - (propertize - (format " %d/%d " (1+ selection) total) - 'face (if active 'doom-modeline-panel 'mode-line-inactive))))))) + (when (and (doom-modeline--active) + (bound-and-true-p phi-search--overlays)) + (let ((total (length phi-search--overlays)) + (selection phi-search--selection)) + (when selection + (propertize + (format " %d/%d " (1+ selection) total) + 'face (doom-modeline-face 'doom-modeline-panel)))))) (defun doom-modeline--override-phi-search-mode-line (orig-fun &rest args) "Override the mode-line of `phi-search' and `phi-replace'." @@ -1324,17 +1307,19 @@ Requires `anzu', also `evil-anzu' if using `evil-mode' for compatibility with (defsubst doom-modeline--buffer-size () "Show buffer size." (when size-indication-mode - (concat (doom-modeline-spc) + (concat doom-modeline-spc (propertize "%I" - 'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive) 'help-echo "Buffer size mouse-1: Display Line and Column Mode Menu" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map mode-line-column-line-number-mode-map) - (doom-modeline-spc)))) + doom-modeline-spc))) (doom-modeline-def-segment matches - "Displays: 1. the currently recording macro, 2. A current/total for the + "Displays matches. + +Including: +1. the currently recording macro, 2. A current/total for the current search term (with `anzu'), 3. The number of substitutions being conducted with `evil-ex-substitute', and/or 4. The number of active `iedit' regions, 5. The current/total for the highlight term (with `symbol-overlay'), @@ -1362,11 +1347,9 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'), ;; TODO Include other information (cond ((eq major-mode 'image-mode) (cl-destructuring-bind (width . height) - (when (fboundp 'image-size) - (image-size (image-get-display-property) :pixels)) - (propertize - (format " %dx%d " width height) - 'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive)))))) + (when (fboundp 'image-size) + (image-size (image-get-display-property) :pixels)) + (format " %dx%d " width height))))) ;; @@ -1380,14 +1363,12 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'), "The default bar regulates the height of the mode-line in GUI." (unless (and doom-modeline--bar-active doom-modeline--bar-inactive) (let ((width doom-modeline-bar-width) - (height (max doom-modeline-height - (doom-modeline--font-height)))) - (when (and (numberp width) (numberp height)) - (setq doom-modeline--bar-active - (doom-modeline--create-bar-image 'doom-modeline-bar width height) - doom-modeline--bar-inactive - (doom-modeline--create-bar-image - 'doom-modeline-bar-inactive width height))))) + (height (max doom-modeline-height (doom-modeline--font-height)))) + (setq doom-modeline--bar-active + (doom-modeline--create-bar-image 'doom-modeline-bar width height) + doom-modeline--bar-inactive + (doom-modeline--create-bar-image + 'doom-modeline-bar-inactive width height)))) (if (doom-modeline--active) doom-modeline--bar-active doom-modeline--bar-inactive)) @@ -1404,8 +1385,7 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'), (let* ((ws (window-start)) (we (window-end)) (bs (buffer-size)) - (height (max doom-modeline-height - (doom-modeline--font-height))) + (height (max doom-modeline-height (doom-modeline--font-height))) (top-margin (if (zerop bs) 0 (/ (* height (1- ws)) bs))) @@ -1413,8 +1393,10 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'), 0 (max 0 (/ (* height (- bs we 1)) bs)))) (cache (or (window-parameter nil 'doom-modeline--hud-cache) - (set-window-parameter nil 'doom-modeline--hud-cache - (make-doom-modeline--hud-cache))))) + (set-window-parameter + nil + 'doom-modeline--hud-cache + (make-doom-modeline--hud-cache))))) (unless (and (doom-modeline--hud-cache-active cache) (doom-modeline--hud-cache-inactive cache) (= top-margin (doom-modeline--hud-cache-top-margin cache)) @@ -1454,11 +1436,25 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'), (doom-modeline-refresh-bars) (doom-modeline-invalidate-huds)))) -(add-hook 'after-setting-font-hook #'doom-modeline-refresh-bars) -(add-hook 'after-setting-font-hook #'doom-modeline-invalidate-huds) +(doom-modeline-add-variable-watcher + 'doom-modeline-icon + (lambda (_sym _val op _where) + (when (eq op 'set) + (doom-modeline-refresh-bars) + (doom-modeline-invalidate-huds)))) + +(doom-modeline-add-variable-watcher + 'doom-modeline-unicode-fallback + (lambda (_sym _val op _where) + (when (eq op 'set) + (doom-modeline-refresh-bars) + (doom-modeline-invalidate-huds)))) + +(add-hook 'window-configuration-change-hook #'doom-modeline-refresh-bars) +(add-hook 'window-configuration-change-hook #'doom-modeline-invalidate-huds) (doom-modeline-def-segment bar - "The bar regulates the height of the mode-line in GUI." + "The bar regulates the height of the `doom-modeline' in GUI." (if doom-modeline-hud (doom-modeline--hud) (doom-modeline--bar))) @@ -1512,19 +1508,18 @@ one. The ignored buffers are excluded unless `aw-ignore-on' is nil." ((bound-and-true-p window-numbering-mode) (window-numbering-get-number-string)) (t "")))) - (if (and (< 0 (length num)) - (< 1 (length (cl-mapcan - (lambda (frame) - ;; Exclude minibuffer and child frames - (unless (and (fboundp 'frame-parent) - (frame-parent frame)) - (window-list frame 'never))) - (visible-frame-list))))) + (if (and (length> num 0) + (length> (cl-mapcan + (lambda (frame) + ;; Exclude minibuffer and child frames + (unless (and (fboundp 'frame-parent) + (frame-parent frame)) + (window-list frame 'never))) + (visible-frame-list)) + 1)) (propertize (format " %s " num) - 'face (if (doom-modeline--active) - 'doom-modeline-buffer-major-mode - 'mode-line-inactive)) - (doom-modeline-spc)))) + 'face (doom-modeline-face 'doom-modeline-buffer-major-mode)) + doom-modeline-spc))) ;; @@ -1538,23 +1533,21 @@ Requires `eyebrowse-mode' to be enabled or `tab-bar-mode' tabs to be created." (when-let ((name (cond ((and (bound-and-true-p eyebrowse-mode) - (< 1 (length (eyebrowse--get 'window-configs)))) + (length> (eyebrowse--get 'window-configs) 1)) (assq-delete-all 'eyebrowse-mode mode-line-misc-info) (when-let* ((num (eyebrowse--get 'current-slot)) (tag (nth 2 (assoc num (eyebrowse--get 'window-configs))))) - (if (< 0 (length tag)) tag (int-to-string num)))) + (if (length> tag 0) tag (int-to-string num)))) ((and (fboundp 'tab-bar-mode) - (< 1 (length (frame-parameter nil 'tabs)))) + (length> (frame-parameter nil 'tabs) 1)) (let* ((current-tab (tab-bar--current-tab)) (tab-index (tab-bar--current-tab-index)) (explicit-name (alist-get 'explicit-name current-tab)) (tab-name (alist-get 'name current-tab))) (if explicit-name tab-name (+ 1 tab-index))))))) - (propertize (format " %s " name) 'face - (if (doom-modeline--active) - 'doom-modeline-buffer-major-mode - 'mode-line-inactive))))) + (propertize (format " %s " name) + 'face (doom-modeline-face 'doom-modeline-buffer-major-mode))))) ;; @@ -1582,13 +1575,13 @@ Requires `eyebrowse-mode' to be enabled or `tab-bar-mode' tabs to be created." :v-adjust -0.225))) (when (or doom-modeline-display-default-persp-name (not (string-equal persp-nil-name name))) - (concat (doom-modeline-spc) + (concat doom-modeline-spc (propertize (concat (and doom-modeline-persp-icon - (concat icon (doom-modeline-vspc))) + (concat icon doom-modeline-vspc)) (propertize name 'face face)) 'help-echo "mouse-1: Switch perspective mouse-2: Show help for minor mode" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'persp-switch) @@ -1597,7 +1590,7 @@ mouse-2: Show help for minor mode" (interactive) (describe-function 'persp-mode))) map)) - (doom-modeline-spc))))))) + doom-modeline-spc)))))) (add-hook 'buffer-list-update-hook #'doom-modeline-update-persp-name) (add-hook 'find-file-hook #'doom-modeline-update-persp-name) @@ -1619,8 +1612,7 @@ mouse-2: Show help for minor mode" (doom-modeline-def-segment misc-info "Mode line construct for miscellaneous information. By default, this shows the information specified by `global-mode-string'." - (when (and (doom-modeline--active) - (not doom-modeline--limited-width-p)) + (unless doom-modeline--limited-width-p '("" mode-line-misc-info))) @@ -1657,21 +1649,19 @@ See `mode-line-percent-position'.") (doom-modeline-def-segment buffer-position "The buffer position information." - (let* ((active (doom-modeline--active)) - (lc '(line-number-mode - (column-number-mode - (doom-modeline-column-zero-based "%l:%c" "%l:%C") - "%l") - (column-number-mode (doom-modeline-column-zero-based ":%c" ":%C")))) - (face (if active 'mode-line 'mode-line-inactive)) - (mouse-face 'mode-line-highlight) - (local-map mode-line-column-line-number-mode-map)) + (let ((active (doom-modeline--active)) + (lc '(line-number-mode + (column-number-mode + (doom-modeline-column-zero-based "%l:%c" "%l:%C") + "%l") + (column-number-mode (doom-modeline-column-zero-based ":%c" ":%C")))) + (mouse-face 'doom-modeline-highlight) + (local-map mode-line-column-line-number-mode-map)) (concat - (doom-modeline-wspc) + doom-modeline-wspc ;; Line and column (propertize (format-mode-line lc) - 'face face 'help-echo "Buffer position\n\ mouse-1: Display Line and Column Mode Menu" 'mouse-face mouse-face @@ -1683,21 +1673,21 @@ mouse-1: Display Line and Column Mode Menu" (not doom-modeline--limited-width-p) (>= (window-width) nyan-minimum-window-width)) (concat - (doom-modeline-wspc) + doom-modeline-wspc (propertize (nyan-create) 'mouse-face mouse-face))) ((and active (bound-and-true-p poke-line-mode) (not doom-modeline--limited-width-p) (>= (window-width) poke-line-minimum-window-width)) (concat - (doom-modeline-wspc) + doom-modeline-wspc (propertize (poke-line-create) 'mouse-face mouse-face))) ((and active (bound-and-true-p mlscroll-mode) (not doom-modeline--limited-width-p) (>= (window-width) mlscroll-minimum-current-width)) (concat - (doom-modeline-wspc) + doom-modeline-wspc (let ((mlscroll-right-align nil)) (format-mode-line (mlscroll-mode-line))))) ((and active @@ -1705,23 +1695,22 @@ mouse-1: Display Line and Column Mode Menu" (not doom-modeline--limited-width-p) (>= (window-width) sml-modeline-len)) (concat - (doom-modeline-wspc) + doom-modeline-wspc (propertize (sml-modeline-create) 'mouse-face mouse-face))) (t "")) ;; Percent position (when doom-modeline-percent-position (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (format-mode-line '("" doom-modeline-percent-position "%%")) - 'face face 'help-echo "Buffer percentage\n\ mouse-1: Display Line and Column Mode Menu" 'mouse-face mouse-face 'local-map local-map))) (when (or line-number-mode column-number-mode doom-modeline-percent-position) - (doom-modeline-spc))))) + doom-modeline-spc)))) ;; ;; Party parrot @@ -1731,9 +1720,9 @@ mouse-1: Display Line and Column Mode Menu" (when (and (doom-modeline--active) (not doom-modeline--limited-width-p) (bound-and-true-p parrot-mode)) - (concat (doom-modeline-wspc) + (concat doom-modeline-wspc (parrot-create) - (doom-modeline-spc)))) + doom-modeline-spc))) ;; ;; Modals (evil, overwrite, god, ryo and xah-fly-keys, etc.) @@ -1747,7 +1736,7 @@ TEXT is alternative if icon is not available." (when doom-modeline-modal-icon "fiber_manual_record") "●" text - :face (if (doom-modeline--active) face 'mode-line-inactive) + :face (doom-modeline-face face) :v-adjust -0.225) 'help-echo help-echo)) @@ -1811,20 +1800,25 @@ TEXT is alternative if icon is not available." (defsubst doom-modeline--meow () "The current Meow state. Requires `meow-mode' to be enabled." (when (bound-and-true-p meow-mode) - meow--indicator)) + (if (doom-modeline--active) + meow--indicator + (propertize (substring-no-properties meow--indicator) + 'face + 'mode-line-inactive)))) (doom-modeline-def-segment modals - "Displays modal editing states, including `evil', `overwrite', `god', `ryo' -and `xha-fly-kyes', etc." + "Displays modal editing states. + +Including `evil', `overwrite', `god', `ryo' and `xha-fly-kyes', etc." (let* ((evil (doom-modeline--evil)) (ow (doom-modeline--overwrite)) (god (doom-modeline--god)) (ryo (doom-modeline--ryo)) (xf (doom-modeline--xah-fly-keys)) (boon (doom-modeline--boon)) - (vsep (doom-modeline-vspc)) + (vsep doom-modeline-vspc) (meow (doom-modeline--meow)) - (sep (and (or evil ow god ryo xf boon) (doom-modeline-spc)))) + (sep (and (or evil ow god ryo xf boon) doom-modeline-spc))) (concat sep (and evil (concat evil (and (or ow god ryo xf boon meow) vsep))) (and ow (concat ow (and (or god ryo xf boon meow) vsep))) @@ -1867,32 +1861,31 @@ and `xha-fly-kyes', etc." (doom-modeline-def-segment input-method "The current input method." (propertize (cond (current-input-method - (concat (doom-modeline-spc) + (concat doom-modeline-spc current-input-method-title - (doom-modeline-spc))) + doom-modeline-spc)) ((and (bound-and-true-p evil-local-mode) (bound-and-true-p evil-input-method)) (concat - (doom-modeline-spc) + doom-modeline-spc (nth 3 (assoc default-input-method input-method-alist)) - (doom-modeline-spc))) + doom-modeline-spc)) (t "")) - 'face (if (doom-modeline--active) - (if (and (bound-and-true-p rime-mode) - (equal current-input-method "rime")) - (if (and (rime--should-enable-p) - (not (rime--should-inline-ascii-p))) - 'doom-modeline-input-method - 'doom-modeline-input-method-alt) - 'doom-modeline-input-method) - 'mode-line-inactive) + 'face (doom-modeline-face + (if (and (bound-and-true-p rime-mode) + (equal current-input-method "rime")) + (if (and (rime--should-enable-p) + (not (rime--should-inline-ascii-p))) + 'doom-modeline-input-method + 'doom-modeline-input-method-alt) + 'doom-modeline-input-method)) 'help-echo (concat "Current input method: " current-input-method "\n\ mouse-2: Disable input method\n\ mouse-3: Describe current input method") - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map mode-line-input-method-map)) @@ -1902,27 +1895,26 @@ mouse-3: Describe current input method") (doom-modeline-def-segment info-nodes "The topic and nodes in the Info buffer." - (let ((active (doom-modeline--active))) - (concat - (propertize " (" 'face (if active 'mode-line 'mode-line-inactive)) - ;; topic - (propertize (if (stringp Info-current-file) - (replace-regexp-in-string - "%" "%%" - (file-name-sans-extension - (file-name-nondirectory Info-current-file))) - (format "*%S*" Info-current-file)) - 'face (if active 'doom-modeline-info 'mode-line-inactive)) - (propertize ") " 'face (if active 'mode-line 'mode-line-inactive)) - ;; node - (when Info-current-node - (propertize (replace-regexp-in-string - "%" "%%" Info-current-node) - 'face (if active 'doom-modeline-buffer-path 'mode-line-inactive) - 'help-echo - "mouse-1: scroll forward, mouse-3: scroll back" - 'mouse-face 'mode-line-highlight - 'local-map Info-mode-line-node-keymap))))) + (concat + " (" + ;; topic + (propertize (if (stringp Info-current-file) + (replace-regexp-in-string + "%" "%%" + (file-name-sans-extension + (file-name-nondirectory Info-current-file))) + (format "*%S*" Info-current-file)) + 'face (doom-modeline-face 'doom-modeline-info)) + ") " + ;; node + (when Info-current-node + (propertize (replace-regexp-in-string + "%" "%%" Info-current-node) + 'face (doom-modeline-face 'doom-modeline-buffer-path) + 'help-echo + "mouse-1: scroll forward, mouse-3: scroll back" + 'mouse-face 'doom-modeline-highlight + 'local-map Info-mode-line-node-keymap)))) ;; @@ -1950,7 +1942,7 @@ mouse-3: Describe current input method") (if connected (format "CIDER Connected %s\nmouse-2: CIDER quit" cider-info) "CIDER Disconnected\nmouse-1: CIDER jack-in") - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (if connected (define-key map [mode-line mouse-2] @@ -1969,11 +1961,9 @@ mouse-3: Describe current input method") (when-let (icon (when (bound-and-true-p cider-mode) doom-modeline--cider)) (concat - (doom-modeline-spc) - (if (doom-modeline--active) - icon - (doom-modeline-propertize-icon icon 'mode-line-inactive)) - (doom-modeline-spc))))) + doom-modeline-spc + (doom-modeline-display-icon icon) + doom-modeline-spc)))) ;; @@ -2006,7 +1996,7 @@ mouse-2: Quit server mouse-3: Reconnect to server") "LSP Disconnected mouse-1: Reload to start server") - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (if workspaces (progn @@ -2063,7 +2053,7 @@ mouse-2: Quit server mouse-3: Reconnect to server" nick (eglot--major-mode server))) (t "EGLOT Disconnected mouse-1: Start server")) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (cond (last-error (define-key map [mode-line mouse-3] @@ -2093,7 +2083,7 @@ mouse-1: Start server")) (doom-modeline-lsp-icon "LSP" 'doom-modeline-lsp-success) 'help-echo "TAGS: Citre mode mouse-1: Toggle citre mode" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (make-mode-line-mouse-map 'mouse-1 #'citre-mode)))) (add-hook 'citre-mode-hook #'doom-modeline-update-tags) @@ -2126,10 +2116,8 @@ mouse-1: Toggle citre mode" (doom-modeline-def-segment lsp "The LSP server state." - (when (and doom-modeline-lsp - (not doom-modeline--limited-width-p)) - (let ((active (doom-modeline--active)) - (icon (cond ((bound-and-true-p lsp-mode) + (when doom-modeline-lsp + (let ((icon (cond ((bound-and-true-p lsp-mode) doom-modeline--lsp) ((bound-and-true-p eglot--managed-mode) doom-modeline--eglot) @@ -2137,11 +2125,9 @@ mouse-1: Toggle citre mode" doom-modeline--tags)))) (when icon (concat - (doom-modeline-spc) - (if active - icon - (doom-modeline-propertize-icon icon 'mode-line-inactive)) - (doom-modeline-spc)))))) + doom-modeline-spc + (doom-modeline-display-icon icon) + doom-modeline-spc))))) (defun doom-modeline-override-eglot-modeline () "Override `eglot' mode-line." @@ -2162,8 +2148,8 @@ mouse-1: Toggle citre mode" (defvar doom-modeline-before-github-fetch-notification-hook nil "Hooks before fetching GitHub notifications. Example: - (add-hook 'doom-modeline-before-github-fetch-notification-hook - #'auth-source-pass-enable)") + (add-hook \\='doom-modeline-before-github-fetch-notification-hook + #\\='auth-source-pass-enable)") (defun doom-modeline--github-fetch-notifications () "Fetch GitHub notifications." (when (and doom-modeline-github @@ -2215,13 +2201,13 @@ Example: (numberp doom-modeline--github-notification-number) (> doom-modeline--github-notification-number 0)) (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (concat (doom-modeline-icon 'faicon "github" "🔔" "#" :face 'doom-modeline-notification :v-adjust -0.0575) - (doom-modeline-vspc) + doom-modeline-vspc ;; GitHub API is paged, and the limit is 50 (propertize (if (>= doom-modeline--github-notification-number 50) @@ -2232,7 +2218,7 @@ Example: 'help-echo "Github Notifications mouse-1: Show notifications mouse-3: Fetch notifications" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] (lambda () @@ -2247,21 +2233,21 @@ mouse-3: Fetch notifications" (message "Fetching GitHub notifications...") (doom-modeline--github-fetch-notifications))) map)) - (doom-modeline-spc)))) + doom-modeline-spc))) ;; ;; Debug states ;; -;; Highlight the mode-line while debugging. +;; Highlight the doom-modeline while debugging. (defvar-local doom-modeline--debug-cookie nil) (defun doom-modeline--debug-visual (&rest _) "Update the face of mode-line for debugging." (mapc (lambda (buffer) (with-current-buffer buffer (setq doom-modeline--debug-cookie - (face-remap-add-relative 'mode-line 'doom-modeline-debug-visual)) + (face-remap-add-relative 'doom-modeline 'doom-modeline-debug-visual)) (force-mode-line-update))) (buffer-list))) @@ -2294,7 +2280,7 @@ mouse-2: Display recent configurations mouse-3: Disconnect session" (dap--debug-session-name session) (dap--debug-session-state session)) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'dap-hydra) @@ -2322,7 +2308,7 @@ mouse-1: Show help mouse-2: Next mouse-3: Stop debugging" edebug-execution-mode) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'edebug-help) @@ -2338,7 +2324,7 @@ mouse-3: Stop debugging" (propertize (doom-modeline-debug-icon 'doom-modeline-urgent) 'help-echo "Debug on Error mouse-1: Toggle Debug on Error" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (make-mode-line-mouse-map 'mouse-1 #'toggle-debug-on-error)))) (defsubst doom-modeline--debug-on-quit () @@ -2347,7 +2333,7 @@ mouse-1: Toggle Debug on Error" (propertize (doom-modeline-debug-icon 'doom-modeline-warning) 'help-echo "Debug on Quit mouse-1: Toggle Debug on Quit" - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (make-mode-line-mouse-map 'mouse-1 #'toggle-debug-on-quit)))) (doom-modeline-def-segment debug @@ -2358,8 +2344,8 @@ mouse-1: Toggle Debug on Quit" (edebug (doom-modeline--debug-edebug)) (on-error (doom-modeline--debug-on-error)) (on-quit (doom-modeline--debug-on-quit)) - (vsep (doom-modeline-vspc)) - (sep (and (or dap edebug on-error on-quit) (doom-modeline-spc)))) + (vsep doom-modeline-vspc) + (sep (and (or dap edebug on-error on-quit) doom-modeline-spc))) (concat sep (and dap (concat dap (and (or edebug on-error on-quit) vsep))) (and edebug (concat edebug (and (or on-error on-quit) vsep))) @@ -2383,8 +2369,7 @@ mouse-1: Toggle Debug on Quit" (doom-modeline-def-segment pdf-pages "Display PDF pages." - (propertize doom-modeline--pdf-pages - 'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive))) + doom-modeline--pdf-pages) ;; @@ -2401,30 +2386,30 @@ mouse-1: Toggle Debug on Quit" ;; don't display if the unread mails count is zero (> mu4e-alert-mode-line 0)) (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (concat (doom-modeline-icon 'material "email" "📧" "#" :face 'doom-modeline-notification :height 1.1 :v-adjust -0.2) - (doom-modeline-vspc) + doom-modeline-vspc (propertize (if (> mu4e-alert-mode-line doom-modeline-number-limit) (format "%d+" doom-modeline-number-limit) (number-to-string mu4e-alert-mode-line)) 'face '(:inherit (doom-modeline-unread-number doom-modeline-notification)))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'keymap '(mode-line keymap - (mouse-1 . mu4e-alert-view-unread-mails) - (mouse-2 . mu4e-alert-view-unread-mails) - (mouse-3 . mu4e-alert-view-unread-mails)) + (mouse-1 . mu4e-alert-view-unread-mails) + (mouse-2 . mu4e-alert-view-unread-mails) + (mouse-3 . mu4e-alert-view-unread-mails)) 'help-echo (concat (if (= mu4e-alert-mode-line 1) "You have an unread email" (format "You have %s unread emails" mu4e-alert-mode-line)) "\nClick here to view " (if (= mu4e-alert-mode-line 1) "it" "them"))) - (doom-modeline-spc)))) + doom-modeline-spc))) (defun doom-modeline-override-mu4e-alert-modeline (&rest _) "Delete `mu4e-alert-mode-line' from global modeline string." @@ -2500,24 +2485,24 @@ mouse-1: Toggle Debug on Quit" (numberp doom-modeline--gnus-unread-mail) (> doom-modeline--gnus-unread-mail 0)) (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (concat (doom-modeline-icon 'material "email" "📧" "#" :face 'doom-modeline-notification :height 1.1 :v-adjust -0.2) - (doom-modeline-vspc) + doom-modeline-vspc (propertize (if (> doom-modeline--gnus-unread-mail doom-modeline-number-limit) (format "%d+" doom-modeline-number-limit) (number-to-string doom-modeline--gnus-unread-mail)) 'face '(:inherit (doom-modeline-unread-number doom-modeline-notification)))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'help-echo (if (= doom-modeline--gnus-unread-mail 1) "You have an unread email" (format "You have %s unread emails" doom-modeline--gnus-unread-mail))) - (doom-modeline-spc)))) + doom-modeline-spc))) ;; @@ -2548,14 +2533,14 @@ to be an icon and we don't want to remove that so we just return the original." (doom-modeline--shorten-irc (funcall doom-modeline-irc-stylize b)) 'face '(:inherit (doom-modeline-unread-number doom-modeline-notification)) 'help-echo (format "IRC Notification: %s\nmouse-1: Switch to buffer" b) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (make-mode-line-mouse-map 'mouse-1 (lambda () (interactive) (when (buffer-live-p (get-buffer b)) (switch-to-buffer b)))))) buffers - (doom-modeline-vspc))) + doom-modeline-vspc)) (defun doom-modeline--circe-p () "Check if `circe' is in use." @@ -2593,9 +2578,9 @@ to be an icon and we don't want to remove that so we just return the original." (number (length buffers))) (when (> number 0) (concat - (doom-modeline-spc) + doom-modeline-spc (doom-modeline--tracking-buffers buffers) - (doom-modeline-spc)))))) + doom-modeline-spc))))) (doom-modeline-def-segment irc "A notification icon for any unread irc buffer." @@ -2606,13 +2591,13 @@ to be an icon and we don't want to remove that so we just return the original." (number (length buffers))) (when (> number 0) (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (concat (doom-modeline-icon 'material "message" "🗊" "#" :face 'doom-modeline-notification :height 1.0 :v-adjust -0.225) - (doom-modeline-vspc) + doom-modeline-vspc ;; Display the number of unread buffers (propertize (number-to-string number) 'face '(:inherit @@ -2633,7 +2618,7 @@ mouse-3: Switch to next unread buffer") ((doom-modeline--rcirc-p) "mouse-1: Switch to server buffer mouse-3: Switch to next unread buffer"))) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (cond ((doom-modeline--circe-p) @@ -2655,10 +2640,10 @@ mouse-3: Switch to next unread buffer"))) ;; Display the unread irc buffers as well (when doom-modeline-irc-buffers - (concat (doom-modeline-spc) + (concat doom-modeline-spc (doom-modeline--tracking-buffers buffers))) - (doom-modeline-spc)))))) + doom-modeline-spc))))) (defun doom-modeline-override-rcirc-modeline () "Override default `rcirc' mode-line." @@ -2747,12 +2732,12 @@ mouse-3: Switch to next unread buffer"))) (when (and (doom-modeline--active) (not doom-modeline--limited-width-p) (bound-and-true-p display-battery-mode)) - (concat (doom-modeline-spc) + (concat doom-modeline-spc (concat (car doom-modeline--battery-status) - (doom-modeline-vspc) + doom-modeline-vspc (cdr doom-modeline--battery-status)) - (doom-modeline-spc)))) + doom-modeline-spc))) (defun doom-modeline-override-battery-modeline () "Override default battery mode-line." @@ -2778,28 +2763,22 @@ mouse-3: Switch to next unread buffer"))) (doom-modeline-def-segment package "Show package information via `paradox'." - (let ((active (doom-modeline--active))) - (concat - (let ((front (format-mode-line 'mode-line-front-space))) - (if active - front - (propertize front 'face 'mode-line-inactive))) + (concat + (doom-modeline-display-text + (format-mode-line 'mode-line-front-space)) - (when (and doom-modeline-icon doom-modeline-major-mode-icon) - (concat - (doom-modeline-spc) - (doom-modeline-icon 'faicon "archive" nil nil - :face (if active - (if doom-modeline-major-mode-color-icon - 'all-the-icons-silver - 'mode-line) - 'mode-line-inactive) - :height 1.0 - :v-adjust -0.0575))) - (let ((info (format-mode-line 'mode-line-buffer-identification))) - (if active - info - (propertize info 'face 'mode-line-inactive)))))) + (when (and doom-modeline-icon doom-modeline-major-mode-icon) + (concat + doom-modeline-spc + (doom-modeline-icon 'faicon "archive" nil nil + :face (doom-modeline-face + (if doom-modeline-major-mode-color-icon + 'all-the-icons-silver + 'mode-line)) + :height 1.0 + :v-adjust -0.0575))) + (doom-modeline-display-text + (format-mode-line 'mode-line-buffer-identification)))) ;; @@ -2821,60 +2800,53 @@ The cdr can also be a function that returns a name to use.") (doom-modeline-def-segment helm-buffer-id "Helm session identifier." (when (bound-and-true-p helm-alive-p) - (let ((active (doom-modeline--active))) - (concat - (doom-modeline-spc) - (when doom-modeline-icon - (concat - (doom-modeline-icon 'fileicon "elisp" nil nil - :face (if active - (if doom-modeline-major-mode-color-icon - 'all-the-icons-blue - 'mode-line) - 'mode-line-inactive) - :height 1.0 - :v-adjust -0.15) - (doom-modeline-spc))) - (propertize - (let ((custom (cdr (assoc (buffer-name) doom-modeline--helm-buffer-ids))) - (case-fold-search t) - (name (replace-regexp-in-string "-" " " (buffer-name)))) - (cond ((stringp custom) custom) - ((functionp custom) (funcall custom)) - (t - (string-match "\\*helm:? \\(mode \\)?\\([^\\*]+\\)\\*" name) - (concat "HELM " (capitalize (match-string 2 name)))))) - 'face (if active' doom-modeline-buffer-file 'mode-line-inactive)) - (doom-modeline-spc))))) + (concat + doom-modeline-spc + (when doom-modeline-icon + (concat + (doom-modeline-icon 'fileicon "elisp" nil nil + :face (doom-modeline-face + (and doom-modeline-major-mode-color-icon + 'all-the-icons-blue)) + :height 1.0 + :v-adjust -0.15) + doom-modeline-spc)) + (propertize + (let ((custom (cdr (assoc (buffer-name) doom-modeline--helm-buffer-ids))) + (case-fold-search t) + (name (replace-regexp-in-string "-" " " (buffer-name)))) + (cond ((stringp custom) custom) + ((functionp custom) (funcall custom)) + (t + (string-match "\\*helm:? \\(mode \\)?\\([^\\*]+\\)\\*" name) + (concat "HELM " (capitalize (match-string 2 name)))))) + 'face (doom-modeline-face 'doom-modeline-buffer-file)) + doom-modeline-spc))) (doom-modeline-def-segment helm-number "Number of helm candidates." (when (bound-and-true-p helm-alive-p) - (let ((active (doom-modeline--active))) - (concat - (propertize (format " %d/%d" - (helm-candidate-number-at-point) - (helm-get-candidate-number t)) - 'face (if active 'doom-modeline-buffer-path 'mode-line-inactive)) - (propertize (format " (%d total) " (helm-get-candidate-number)) - 'face (if active 'doom-modeline-info 'mode-line-inactive)))))) + (concat + (propertize (format " %d/%d" + (helm-candidate-number-at-point) + (helm-get-candidate-number t)) + 'face (doom-modeline-face 'doom-modeline-buffer-path)) + (propertize (format " (%d total) " (helm-get-candidate-number)) + 'face (doom-modeline-face 'doom-modeline-info))))) (doom-modeline-def-segment helm-help "Helm keybindings help." (when (bound-and-true-p helm-alive-p) - (let ((active (doom-modeline--active))) - (-interleave - (mapcar (lambda (s) - (propertize (substitute-command-keys s) - 'face (if active - 'doom-modeline-buffer-file - 'mode-line-inactive))) - '("\\\\[helm-help]" - "\\\\[helm-select-action]" - "\\\\[helm-maybe-exit-minibuffer]/F1/F2...")) - (mapcar (lambda (s) - (propertize s 'face (if active 'mode-line 'mode-line-inactive))) - '("(help) " "(actions) " "(action) ")))))) + (mapcar + (lambda (s) + (if (string-prefix-p "\\<" s) + (propertize (substitute-command-keys s) + 'face (doom-modeline-face + 'doom-modeline-buffer-file)) + s)) + '("\\\\[helm-help]" "(help) " + "\\\\[helm-select-action]" "(actions) " + "\\\\[helm-maybe-exit-minibuffer]/F1/F2..." "(action) ")))) (doom-modeline-def-segment helm-prefix-argument "Helm prefix argument." @@ -2883,34 +2855,29 @@ The cdr can also be a function that returns a name to use.") (let ((arg (prefix-numeric-value (or prefix-arg current-prefix-arg)))) (unless (= arg 1) (propertize (format "C-u %s" arg) - 'face (if (doom-modeline--active) - 'doom-modeline-info - 'mode-line-inactive)))))) + 'face (doom-modeline-face 'doom-modeline-info)))))) (defvar doom-modeline--helm-current-source nil "The currently active helm source.") (doom-modeline-def-segment helm-follow "Helm follow indicator." - (when (and (bound-and-true-p helm-alive-p) - doom-modeline--helm-current-source - (eq 1 (cdr (assq 'follow doom-modeline--helm-current-source)))) - (propertize "HF" 'face (if (doom-modeline--active) - 'mode-line - 'mode-line-inactive)))) + (and (bound-and-true-p helm-alive-p) + doom-modeline--helm-current-source + (eq 1 (cdr (assq 'follow doom-modeline--helm-current-source))) + "HF")) ;; ;; Git timemachine ;; (doom-modeline-def-segment git-timemachine - (let ((active (doom-modeline--active))) - (concat - (doom-modeline-spc) - (doom-modeline--buffer-mode-icon) - (doom-modeline--buffer-state-icon) - (propertize "*%b*" 'face (if active - 'doom-modeline-buffer-timemachine - 'mode-line-inactive))))) + (concat + doom-modeline-spc + (doom-modeline--buffer-mode-icon) + (doom-modeline--buffer-state-icon) + (propertize + "*%b*" + 'face (doom-modeline-face 'doom-modeline-buffer-timemachine)))) ;; ;; Markdown/Org preview @@ -2919,15 +2886,14 @@ The cdr can also be a function that returns a name to use.") (doom-modeline-def-segment grip (when (bound-and-true-p grip-mode) (concat - (doom-modeline-spc) - (let ((face (if (doom-modeline--active) - (if grip--process - (pcase (process-status grip--process) - ('run 'doom-modeline-buffer-path) - ('exit 'doom-modeline-warning) - (_ 'doom-modeline-urgent)) - 'doom-modeline-urgent) - 'mode-line-inactive))) + doom-modeline-spc + (let ((face (doom-modeline-face + (if grip--process + (pcase (process-status grip--process) + ('run 'doom-modeline-buffer-path) + ('exit 'doom-modeline-warning) + (_ 'doom-modeline-urgent)) + 'doom-modeline-urgent)))) (propertize (doom-modeline-icon 'material "pageview" "🗐" "@" :face (if doom-modeline-icon `(:inherit ,face :weight normal) @@ -2938,7 +2904,7 @@ mouse-1: Preview in browser mouse-2: Stop preview mouse-3: Restart preview" (grip--preview-url)) - 'mouse-face 'mode-line-highlight + 'mouse-face 'doom-modeline-highlight 'local-map (let ((map (make-sparse-keymap))) (define-key map [mode-line mouse-1] #'grip-browse-preview) @@ -2947,7 +2913,7 @@ mouse-3: Restart preview" (define-key map [mode-line mouse-3] #'grip-restart-preview) map))) - (doom-modeline-spc)))) + doom-modeline-spc))) ;; ;; Follow mode @@ -2957,13 +2923,39 @@ mouse-3: Restart preview" (when (bound-and-true-p follow-mode) (let* ((windows (follow-all-followers)) (nwindows (length windows)) - (nfollowing (- (length (memq (selected-window) windows)) - 1))) + (nfollowing (- (length (memq (selected-window) windows)) 1))) (concat - (doom-modeline-spc) + doom-modeline-spc (propertize (format "Follow %d/%d" (- nwindows nfollowing) nwindows) 'face 'doom-modeline-buffer-minor-mode))))) +;; +;; Display time +;; + +(doom-modeline-def-segment time + (when (and (bound-and-true-p display-time-mode) + (not doom-modeline--limited-width-p)) + (concat + doom-modeline-spc + (when doom-modeline-time-icon + (concat + (doom-modeline-icon 'octicon "calendar" "📅" "" + :face 'doom-modeline-time + :v-adjust -0.05) + (and (or doom-modeline-icon doom-modeline-unicode-fallback) + doom-modeline-spc))) + (propertize display-time-string + 'face (doom-modeline-face 'doom-modeline-time))))) + +(defun doom-modeline-override-display-time-modeline () + "Override default display-time mode-line." + (if (bound-and-true-p doom-modeline-mode) + (setq global-mode-string (delq 'display-time-string global-mode-string)) + (setq global-mode-string (append global-mode-string '(display-time-string))))) +(add-hook 'display-time-mode-hook #'doom-modeline-override-display-time-modeline) +(add-hook 'doom-modeline-mode-hook #'doom-modeline-override-display-time-modeline) + (provide 'doom-modeline-segments) ;;; doom-modeline-segments.el ends here diff --git a/code/elpa/doom-modeline-20220412.853/doom-modeline.el b/code/elpa/doom-modeline-20220804.508/doom-modeline.el similarity index 93% rename from code/elpa/doom-modeline-20220412.853/doom-modeline.el rename to code/elpa/doom-modeline-20220804.508/doom-modeline.el index b48bda5..4feb5bf 100644 --- a/code/elpa/doom-modeline-20220412.853/doom-modeline.el +++ b/code/elpa/doom-modeline-20220804.508/doom-modeline.el @@ -4,8 +4,8 @@ ;; Author: Vincent Zhang ;; Homepage: https://github.com/seagle0128/doom-modeline -;; Version: 3.3.0 -;; Package-Requires: ((emacs "25.1") (all-the-icons "2.2.0") (shrink-path "0.2.0") (dash "2.11.0")) +;; Version: 3.3.2 +;; Package-Requires: ((emacs "25.1") (compat "28.1.1.1") (shrink-path "0.2.0")) ;; Keywords: faces mode-line ;; This file is not part of GNU Emacs. @@ -89,71 +89,65 @@ (doom-modeline-def-modeline 'main '(bar workspace-name window-number modals matches follow buffer-info remote-host buffer-position word-count parrot selection-info) - '(objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp minor-modes input-method indent-info buffer-encoding major-mode process vcs checker)) + '(objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp minor-modes input-method indent-info buffer-encoding major-mode process vcs checker time)) (doom-modeline-def-modeline 'minimal '(bar matches buffer-info-simple) - '(media-info major-mode)) + '(media-info major-mode time)) (doom-modeline-def-modeline 'special '(bar window-number modals matches buffer-info buffer-position word-count parrot selection-info) - '(objed-state misc-info battery irc-buffers debug minor-modes input-method indent-info buffer-encoding major-mode process)) + '(objed-state misc-info battery irc-buffers debug minor-modes input-method indent-info buffer-encoding major-mode process time)) (doom-modeline-def-modeline 'project '(bar window-number modals buffer-default-directory) - '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process)) + '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time)) (doom-modeline-def-modeline 'dashboard '(bar window-number buffer-default-directory-simple) - '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process)) + '(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time)) (doom-modeline-def-modeline 'vcs '(bar window-number modals matches buffer-info buffer-position parrot selection-info) - '(misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process)) + '(misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process time)) (doom-modeline-def-modeline 'package '(bar window-number package) - '(misc-info major-mode process)) + '(misc-info major-mode process time)) (doom-modeline-def-modeline 'info '(bar window-number buffer-info info-nodes buffer-position parrot selection-info) - '(misc-info buffer-encoding major-mode)) + '(misc-info buffer-encoding major-mode time)) (doom-modeline-def-modeline 'media '(bar window-number buffer-size buffer-info) - '(misc-info media-info major-mode process vcs)) + '(misc-info media-info major-mode process vcs time)) (doom-modeline-def-modeline 'message '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info) - '(objed-state misc-info battery debug minor-modes input-method indent-info buffer-encoding major-mode)) + '(objed-state misc-info battery debug minor-modes input-method indent-info buffer-encoding major-mode time)) (doom-modeline-def-modeline 'pdf '(bar window-number matches buffer-info pdf-pages) - '(misc-info major-mode process vcs)) + '(misc-info major-mode process vcs time)) (doom-modeline-def-modeline 'org-src '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info) - '(objed-state misc-info debug lsp minor-modes input-method indent-info buffer-encoding major-mode process checker)) + '(objed-state misc-info debug lsp minor-modes input-method indent-info buffer-encoding major-mode process checker time)) (doom-modeline-def-modeline 'helm '(bar helm-buffer-id helm-number helm-follow helm-prefix-argument) - '(helm-help)) + '(helm-help time)) (doom-modeline-def-modeline 'timemachine '(bar window-number modals matches git-timemachine buffer-position word-count parrot selection-info) - '(misc-info minor-modes indent-info buffer-encoding major-mode)) + '(misc-info minor-modes indent-info buffer-encoding major-mode time)) ;; ;; Interfaces ;; -;;;###autoload -(defun doom-modeline-init () - "Initialize doom mode-line." - (doom-modeline-mode 1)) -(make-obsolete 'doom-modeline-init 'doom-modeline-mode "1.6.0") - ;;;###autoload (defun doom-modeline-set-main-modeline (&optional default) "Set main mode-line. @@ -238,7 +232,7 @@ If DEFAULT is non-nil, set the default mode-line for all buffers." ;;;###autoload (define-minor-mode doom-modeline-mode - "Toggle doom-modeline on or off." + "Toggle `doom-modeline' on or off." :group 'doom-modeline :global t :lighter nil diff --git a/code/elpa/elisp-refs-20220220.2305/elisp-refs-autoloads.el b/code/elpa/elisp-refs-20220704.2141/elisp-refs-autoloads.el similarity index 96% rename from code/elpa/elisp-refs-20220220.2305/elisp-refs-autoloads.el rename to code/elpa/elisp-refs-20220704.2141/elisp-refs-autoloads.el index ec5a7b9..fa7786a 100644 --- a/code/elpa/elisp-refs-20220220.2305/elisp-refs-autoloads.el +++ b/code/elpa/elisp-refs-20220704.2141/elisp-refs-autoloads.el @@ -55,7 +55,7 @@ search. \(fn SYMBOL &optional PATH-PREFIX)" t nil) -(register-definition-prefixes "elisp-refs" '("elisp-refs-")) +(register-definition-prefixes "elisp-refs" '("elisp-")) ;;;*** diff --git a/code/elpa/elisp-refs-20220220.2305/elisp-refs-pkg.el b/code/elpa/elisp-refs-20220704.2141/elisp-refs-pkg.el similarity index 65% rename from code/elpa/elisp-refs-20220220.2305/elisp-refs-pkg.el rename to code/elpa/elisp-refs-20220704.2141/elisp-refs-pkg.el index 02bdd2d..8030b07 100644 --- a/code/elpa/elisp-refs-20220220.2305/elisp-refs-pkg.el +++ b/code/elpa/elisp-refs-20220704.2141/elisp-refs-pkg.el @@ -1,2 +1,2 @@ -;;; Generated package description from elisp-refs.el -*- no-byte-compile: t -*- -(define-package "elisp-refs" "20220220.2305" "find callers of elisp functions or macros" '((dash "2.12.0") (s "1.11.0")) :commit "8f84280997d8b233d66fb9958a34b46078c58b03" :authors '(("Wilfred Hughes" . "me@wilfred.me.uk")) :maintainer '("Wilfred Hughes" . "me@wilfred.me.uk") :keywords '("lisp")) +;;; Generated package description from elisp-refs.el -*- no-byte-compile: t -*- +(define-package "elisp-refs" "20220704.2141" "find callers of elisp functions or macros" '((dash "2.12.0") (s "1.11.0")) :commit "af73739084637c8ebadad337a8fe58ff4f1d2ec1" :authors '(("Wilfred Hughes" . "me@wilfred.me.uk")) :maintainer '("Wilfred Hughes" . "me@wilfred.me.uk") :keywords '("lisp")) diff --git a/code/elpa/elisp-refs-20220220.2305/elisp-refs.el b/code/elpa/elisp-refs-20220704.2141/elisp-refs.el similarity index 98% rename from code/elpa/elisp-refs-20220220.2305/elisp-refs.el rename to code/elpa/elisp-refs-20220704.2141/elisp-refs.el index 64a57a1..3d1f8b2 100644 --- a/code/elpa/elisp-refs-20220220.2305/elisp-refs.el +++ b/code/elpa/elisp-refs-20220704.2141/elisp-refs.el @@ -4,8 +4,8 @@ ;; Author: Wilfred Hughes ;; Version: 1.5 -;; Package-Version: 20220220.2305 -;; Package-Commit: 8f84280997d8b233d66fb9958a34b46078c58b03 +;; Package-Version: 20220704.2141 +;; Package-Commit: af73739084637c8ebadad337a8fe58ff4f1d2ec1 ;; Keywords: lisp ;; Package-Requires: ((dash "2.12.0") (s "1.11.0")) @@ -787,8 +787,9 @@ search." (define-derived-mode elisp-refs-mode special-mode "Refs" "Major mode for refs results buffers.") -(defun elisp-refs-visit-match () - "Go to the search result at point." +(defun elisp--refs-visit-match (open-fn) + "Go to the search result at point. +Open file with function OPEN_FN. `find-file` or `find-file-other-window`" (interactive) (let* ((path (get-text-property (point) 'elisp-refs-path)) (pos (get-text-property (point) 'elisp-refs-start-pos)) @@ -805,7 +806,7 @@ search." (forward-line -1) (cl-incf line-offset))) - (find-file path) + (funcall open-fn path) (goto-char pos) ;; Move point so we're on the same char in the buffer that we were ;; on in the results buffer. @@ -819,6 +820,17 @@ search." (cl-incf i)) (forward-char 1))))) +(defun elisp-refs-visit-match () + "Goto the search result at point." + (interactive) + (elisp--refs-visit-match #'find-file)) + +(defun elisp-refs-visit-match-other-window () + "Goto the search result at point, opening in another window." + (interactive) + (elisp--refs-visit-match #'find-file-other-window)) + + (defun elisp-refs--move-to-match (direction) "Move point one match forwards. If DIRECTION is -1, moves backwards instead." diff --git a/code/elpa/f-20220405.1534/f-pkg.el b/code/elpa/f-20220405.1534/f-pkg.el deleted file mode 100644 index a02acd4..0000000 --- a/code/elpa/f-20220405.1534/f-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from f.el -*- no-byte-compile: t -*- -(define-package "f" "20220405.1534" "Modern API for working with files and directories" '((s "1.7.0") (dash "2.2.0")) :commit "b5cb884b3b4372a6f3d1d4428cf092ca1e5c8044" :authors '(("Johan Andersson" . "johan.rejeep@gmail.com")) :maintainer '("Johan Andersson" . "johan.rejeep@gmail.com") :keywords '("files" "directories") :url "http://github.com/rejeep/f.el") diff --git a/code/elpa/f-20220405.1534/f-autoloads.el b/code/elpa/f-20220608.943/f-autoloads.el similarity index 86% rename from code/elpa/f-20220405.1534/f-autoloads.el rename to code/elpa/f-20220608.943/f-autoloads.el index 2f24ece..4dd1788 100644 --- a/code/elpa/f-20220405.1534/f-autoloads.el +++ b/code/elpa/f-20220608.943/f-autoloads.el @@ -11,6 +11,10 @@ (register-definition-prefixes "f" '("f-")) +;;;*** + +;;;### (autoloads nil nil ("f-pkg.el" "f-shortdoc.el") (0 0 0 0)) + ;;;*** ;; Local Variables: diff --git a/code/elpa/f-20220608.943/f-pkg.el b/code/elpa/f-20220608.943/f-pkg.el new file mode 100644 index 0000000..e7390d8 --- /dev/null +++ b/code/elpa/f-20220608.943/f-pkg.el @@ -0,0 +1,14 @@ +(define-package "f" "20220608.943" "Modern API for working with files and directories" + '((emacs "24.1") + (s "1.7.0") + (dash "2.2.0")) + :commit "d2019d4f9625bcc44349c69fe46d6645fd9ff4ff" :authors + '(("Johan Andersson" . "johan.rejeep@gmail.com")) + :maintainer + '("Lucien Cartier-Tilet" . "lucien@phundrak.com") + :keywords + '("files" "directories") + :url "http://github.com/rejeep/f.el") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/code/elpa/f-20220608.943/f-shortdoc.el b/code/elpa/f-20220608.943/f-shortdoc.el new file mode 100644 index 0000000..9d09f8b --- /dev/null +++ b/code/elpa/f-20220608.943/f-shortdoc.el @@ -0,0 +1,379 @@ +;; -*- no-byte-compile: t; -*- +;;; f-shortdoc.el --- Shortdoc for f.el -*- lexical-binding: t -*- + +;; Author: Lucien Cartier-Tilet +;; Maintainer: Lucien Cartier-Tilet +;; Version: 0.1.0 +;; Package-Requires: ((emacs "28.1")) +;; Homepage: https://github.com/rejeep/f.el + +;; This file is not part of GNU Emacs + +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + + +;;; Commentary: + +;; Shortdoc implementation for f.el + +;;; Code: + +(when (version<= "28.1" emacs-version) + (require 'shortdoc) + + (define-short-documentation-group f + "Paths" + (f-join + :eval (f-join "path") + :eval (f-join "path" "to") + :eval (f-join "/" "path" "to" "heaven") + :eval (f-join "path" "/to" "file")) + + (f-split + :eval (f-split "path") + :eval (f-split "path/to") + :eval (f-split "/path/to/heaven") + :eval (f-split "~/back/to/earth")) + + (f-expand + :no-eval (f-expand "name") + :result-string "/default/directory/name" + :no-eval (f-expand "name" "other/directory") + :result-string "other/directory/name") + + (f-filename + :eval (f-filename "path/to/file.ext") + :eval (f-filename "path/to/directory")) + + (f-dirname + :eval (f-dirname "path/to/file.ext") + :eval (f-dirname "path/to/directory") + :eval (f-dirname "/")) + + (f-common-parent + :eval (f-common-parent '("foo/bar/baz" "foo/bar/qux" "foo/bar/mux")) + :eval (f-common-parent '("/foo/bar/baz" "/foo/bar/qux" "/foo/bax/mux")) + :eval (f-common-parent '("foo/bar/baz" "quack/bar/qux" "lack/bar/mux"))) + + (f-ext + :eval (f-ext "path/to/file") + :eval (f-ext "path/to/file.txt") + :eval (f-ext "path/to/file.txt.org")) + + (f-no-ext + :eval (f-no-ext "path/to/file") + :eval (f-no-ext "path/to/file.txt") + :eval (f-no-ext "path/to/file.txt.org")) + + (f-swap-ext + :eval (f-swap-ext "path/to/file.ext" "org")) + + (f-base + :eval (f-base "path/to/file.ext") + :eval (f-base "path/to/directory")) + + (f-relative + :eval (f-relative "/some/path/relative/to/my/file.txt" "/some/path/") + :eval (f-relative "/default/directory/my/file.txt")) + + (f-short + :no-eval (f-short "/Users/foo/Code/on/macOS") + :result-string "~/Code/on/macOS" + :no-eval (f-short "/home/foo/Code/on/linux") + :result-string "~/Code/on/linux" + :eval (f-short "/path/to/Code/bar")) + + (f-long + :eval (f-long "~/Code/bar") + :eval (f-long "/path/to/Code/bar")) + + (f-canonical + :eval (f-canonical "/path/to/real/file") + :no-eval (f-canonical "/link/to/file") + :result-string "/path/to/real/file") + + (f-slash + :no-eval (f-slash "/path/to/file") + :result-string "/path/to/file" + :no-eval (f-slash "/path/to/dir") + :result-string "/path/to/dir/" + :no-eval (f-slash "/path/to/dir/") + :result-string "/path/to/dir/") + + (f-full + :eval (f-full "~/path/to/file") + :eval (f-full "~/path/to/dir") + :eval (f-full "~/path/to/dir/")) + + (f-uniquify + :eval (f-uniquify '("/foo/bar" "/foo/baz" "/foo/quux")) + :eval (f-uniquify '("/foo/bar" "/www/bar" "/foo/quux")) + :eval (f-uniquify '("/foo/bar" "/www/bar" "/www/bar/quux")) + :eval (f-uniquify '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) + + (f-uniquify-alist + :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/foo/quux")) + :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/foo/quux")) + :eval (f-uniquify-alist '("/foo/bar" "/www/bar" "/www/bar/quux")) + :eval (f-uniquify-alist '("/foo/bar" "/foo/baz" "/home/www/bar" "/home/www/baz" "/var/foo" "/opt/foo/www/baz"))) + + "I/O" + (f-read-bytes + :no-eval* (f-read-bytes "path/to/binary/data")) + + (f-write-bytes + :no-eval* (f-write-bytes (unibyte-string 72 101 108 108 111 32 119 111 114 108 100) "path/to/binary/data")) + + (f-append-bytes + :no-eval* (f-append-bytes "path/to/file" (unibyte-string 72 101 108 108 111 32 119 111 114 108 100))) + + (f-read-text + :no-eval* (f-read-text "path/to/file.txt" 'utf-8) + :no-eval* (f-read "path/to/file.txt" 'utf-8)) + + (f-write-text + :no-eval* (f-write-text "Hello world" 'utf-8 "path/to/file.txt") + :no-eval* (f-write "Hello world" 'utf-8 "path/to/file.txt")) + + (f-append-text + :no-eval* (f-append-text "Hello world" 'utf-8 "path/to/file.txt") + :no-eval* (f-append "Hello world" 'utf-8 "path/to/file.txt")) + + "Destructive" + (f-mkdir + :no-eval (f-mkdir "dir") + :result-string "creates /default/directory/dir" + :no-eval (f-mkdir "other" "dir") + :result-string "creates /default/directory/other/dir" + :no-eval (f-mkdir "/" "some" "path") + :result-string "creates /some/path" + :no-eval (f-mkdir "~" "yet" "another" "dir") + :result-string "creates ~/yet/another/dir") + + (f-mkdir-full-path + :no-eval (f-mkdir-full-path "dir") + :result-string "creates /default/directory/dir" + :no-eval (f-mkdir-full-path "other/dir") + :result-string "creates /default/directory/other/dir" + :no-eval (f-mkdir-full-path "/some/path") + :result-string "creates /some/path" + :no-eval (f-mkdir-full-path "~/yet/another/dir") + :result-string "creates ~/yet/another/dir") + + (f-delete + :no-eval* (f-delete "dir") + :no-eval* (f-delete "other/dir" t) + :no-eval* (f-delete "path/to/file.txt")) + + (f-symlink + :no-eval* (f-symlink "path/to/source" "path/to/link")) + + (f-move + :no-eval* (f-move "path/to/file.txt" "new-file.txt") + :no-eval* (f-move "path/to/file.txt" "other/path")) + + (f-copy + :no-eval* (f-copy "path/to/file.txt" "new-file.txt") + :no-eval* (f-copy "path/to/dir" "other/dir")) + + (f-copy-contents + :no-eval* (f-copy-contents "path/to/dir" "path/to/other/dir")) + + (f-touch + :no-eval* (f-touch "path/to/existing/file.txt") + :no-eval* (f-touch "path/to/non/existing/file.txt")) + + "Predicates" + (f-exists-p + :no-eval* (f-exists-p "path/to/file.txt") + :no-eval* (f-exists-p "path/to/dir")) + + (f-directory-p + :no-eval* (f-directory-p "path/to/file.txt") + :no-eval* (f-directory-p "path/to/dir")) + + (f-file-p + :no-eval* (f-file-p "path/to/file.txt") + :no-eval* (f-file-p "path/to/dir")) + + (f-symlink-p + :no-eval* (f-symlink-p "path/to/file.txt") + :no-eval* (f-symlink-p "path/to/dir") + :no-eval* (f-symlink-p "path/to/link")) + + (f-readable-p + :no-eval* (f-readable-p "path/to/file.txt") + :no-eval* (f-readable-p "path/to/dir")) + + (f-writable-p + :no-eval* (f-writable-p "path/to/file.txt") + :no-eval* (f-writable-p "path/to/dir")) + + (f-executable-p + :no-eval* (f-executable-p "path/to/file.txt") + :no-eval* (f-executable-p "path/to/dir")) + + (f-absolute-p + :eval (f-absolute-p "path/to/dir") + :eval (f-absolute-p "/full/path/to/dir")) + + (f-relative-p + :eval (f-relative-p "path/to/dir") + :eval (f-relative-p "/full/path/to/dir")) + + (f-root-p + :eval (f-root-p "/") + :eval (f-root-p "/not/root")) + + (f-ext-p + :eval (f-ext-p "path/to/file.el" "el") + :eval (f-ext-p "path/to/file.el" "txt") + :eval (f-ext-p "path/to/file.el") + :eval (f-ext-p "path/to/file")) + + (f-same-p + :eval (f-same-p "foo.txt" "foo.txt") + :eval (f-same-p "foo/bar/../baz" "foo/baz") + :eval (f-same-p "/path/to/foo.txt" "/path/to/bar.txt")) + + (f-parent-of-p + :no-eval (f-parent-of-p "/path/to" "/path/to/dir") + :result t + :no-eval (f-parent-of-p "/path/to/dir" "/path/to") + :result nil + :no-eval (f-parent-of-p "/path/to" "/path/to") + :result nil) + + (f-child-of-p + :no-eval (f-child-of-p "/path/to" "/path/to/dir") + :result nil + :no-eval (f-child-of-p "/path/to/dir" "/path/to") + :result t + :no-eval (f-child-of-p "/path/to" "/path/to") + :result nil) + + (f-ancestor-of-p + :no-eval (f-ancestor-of-p "/path/to" "/path/to/dir") + :result t + :no-eval (f-ancestor-of-p "/path" "/path/to/dir") + :result t + :no-eval (f-ancestor-of-p "/path/to/dir" "/path/to") + :result nil + :no-eval (f-ancestor-of-p "/path/to" "/path/to") + :result nil) + + (f-descendant-of-p + :no-eval (f-descendant-of-p "/path/to/dir" "/path/to") + :result t + :no-eval (f-descendant-of-p "/path/to/dir" "/path") + :result t + :no-eval (f-descendant-of-p "/path/to" "/path/to/dir") + :result nil + :no-eval (f-descendant-of-p "/path/to" "/path/to") + :result nil) + + (f-hidden-p + :no-eval (f-hidden-p "/path/to/foo") + :result nil + :no-eval (f-hidden-p "/path/to/.foo") + :result t) + + (f-empty-p + :no-eval (f-empty-p "/path/to/empty-file") + :result t + :no-eval (f-empty-p "/path/to/file-with-contents") + :result nil + :no-eval (f-empty-p "/path/to/empty-dir/") + :result t + :no-eval (f-empty-p "/path/to/dir-with-contents/") + :result nil) + + "Stats" + (f-size + :no-eval* (f-size "path/to/file.txt") + :no-eval* (f-size "path/to/dir")) + + (f-depth + :eval (f-depth "/") + :eval (f-depth "/var/") + :eval (f-depth "/usr/local/bin")) + + (f-change-time + :no-eval* (f-change-time "path/to/file.txt") + :no-eval* (f-change-time "path/to/dir")) + + (f-modification-time + :no-eval* (f-modification-time "path/to/file.txt") + :no-eval* (f-modification-time "path/to/dir")) + + (f-access-time + :no-eval* (f-access-time "path/to/file.txt") + :no-eval* (f-access-time "path/to/dir")) + + "Misc" + (f-this-file + :no-eval* (f-this-file)) + + (f-path-separator + :eval (f-path-separator)) + + (f-glob + :noeval* (f-glob "path/to/*.el") + :noeval* (f-glob "*.el" "path/to")) + + (f-entries + :no-eval* (f-entries "path/to/dir") + :no-eval* (f-entries "path/to/dir" (lambda (file) (s-matches? "test" file))) + :no-eval* (f-entries "path/to/dir" nil t) + :no-eval* (f--entries "path/to/dir" (s-matches? "test" it))) + + (f-directories + :no-eval* (f-directories "path/to/dir") + :no-eval* (f-directories "path/to/dir" (lambda (dir) (equal (f-filename dir) "test"))) + :no-eval* (f-directories "path/to/dir" nil t) + :no-eval* (f--directories "path/to/dir" (equal (f-filename it) "test"))) + + (f-files + :no-eval* (f-files "path/to/dir") + :no-eval* (f-files "path/to/dir" (lambda (file) (equal (f-ext file) "el"))) + :no-eval* (f-files "path/to/dir" nil t) + :no-eval* (f--files "path/to/dir" (equal (f-ext it) "el"))) + + (f-root + :eval (f-root)) + + (f-traverse-upwards + :no-eval* (f-traverse-upwards + (lambda (path) + (f-exists? (f-expand ".git" path))) + start-path) + + :no-eval* (f--traverse-upwards (f-exists? (f-expand ".git" it)) start-path)) + + (f-with-sandbox + :no-eval (f-with-sandbox foo-path + (f-touch (f-expand "foo" foo-path))) + :no-eval (f-with-sandbox (list foo-path bar-path) + (f-touch (f-expand "foo" foo-path)) + (f-touch (f-expand "bar" bar-path))) + :no-eval (f-with-sandbox foo-path + (f-touch (f-expand "bar" bar-path)))))) ;; "Destructive operation outside sandbox" + +(eval-when-compile + (when (version< emacs-version "28.1") + (warn "Emacs should not be compiling this file"))) + +(provide 'f-shortdoc) + +;;; f-shortdoc.el ends here diff --git a/code/elpa/f-20220405.1534/f.el b/code/elpa/f-20220608.943/f.el similarity index 76% rename from code/elpa/f-20220405.1534/f.el rename to code/elpa/f-20220608.943/f.el index 5f18971..55082bd 100644 --- a/code/elpa/f-20220405.1534/f.el +++ b/code/elpa/f-20220608.943/f.el @@ -3,13 +3,11 @@ ;; Copyright (C) 2013 Johan Andersson ;; Author: Johan Andersson -;; Maintainer: Johan Andersson +;; Maintainer: Lucien Cartier-Tilet ;; Version: 0.20.0 -;; Package-Version: 20220405.1534 -;; Package-Commit: b5cb884b3b4372a6f3d1d4428cf092ca1e5c8044 +;; Package-Requires: ((emacs "24.1") (s "1.7.0") (dash "2.2.0")) ;; Keywords: files, directories -;; URL: http://github.com/rejeep/f.el -;; Package-Requires: ((s "1.7.0") (dash "2.2.0")) +;; Homepage: http://github.com/rejeep/f.el ;; This file is NOT part of GNU Emacs. @@ -36,6 +34,8 @@ (require 's) (require 'dash) +(when (version<= "28.1" emacs-version) + (require 'f-shortdoc)) (put 'f-guard-error 'error-conditions '(error f-guard-error)) (put 'f-guard-error 'error-message "Destructive operation outside sandbox") @@ -51,8 +51,8 @@ Do not modify this variable.") If PATH is not allowed to be modified, throw error." (declare (indent 1)) `(if f--guard-paths - (if (--any? (or (f-same? it ,path) - (f-ancestor-of? it ,path)) f--guard-paths) + (if (--any? (or (f-same-p it ,path) + (f-ancestor-of-p it ,path)) f--guard-paths) (progn ,@body) (signal 'f-guard-error (list ,path f--guard-paths))) ,@body)) @@ -61,18 +61,28 @@ If PATH is not allowed to be modified, throw error." ;;;; Paths (defun f-join (&rest args) - "Join ARGS to a single path." - (let (path (relative (f-relative? (car args)))) + "Join ARGS to a single path. + +Be aware if one of the arguments is an absolute path, `f-join' +will discard all the preceeding arguments and make this absolute +path the new root of the generated path." + (let (path + (relative (f-relative-p (car args)))) (-map (lambda (arg) - (setq path (f-expand arg path))) + (setq path (cond ((not path) arg) + ((f-absolute-p arg) + (progn + (setq relative nil) + arg)) + (t (f-expand arg path))))) args) (if relative (f-relative path) path))) (defun f-split (path) "Split PATH and return list containing parts." - (let ((parts (s-split (f-path-separator) path 'omit-nulls))) - (if (f-absolute? path) + (let ((parts (split-string path (f-path-separator) 'omit-nulls))) + (if (string= (s-left 1 path) (f-path-separator)) (push (f-path-separator) parts) parts))) @@ -90,12 +100,13 @@ ignored." (file-name-nondirectory (directory-file-name path))) (defalias 'f-parent 'f-dirname) + (defun f-dirname (path) "Return the parent directory to PATH." (let ((parent (file-name-directory (directory-file-name (f-expand path default-directory))))) - (unless (f-same? path parent) - (if (f-relative? path) + (unless (f-same-p path parent) + (if (f-relative-p path) (f-relative parent) (directory-file-name parent))))) @@ -114,7 +125,7 @@ ignored." (setq common (caar paths))) (cond ((null re) "") - ((and (= (length re) 1) (f-root? (car re))) + ((and (= (length re) 1) (f-root-p (car re))) (f-root)) (:otherwise (concat (apply 'f-join (nreverse re)) "/"))))))) @@ -126,7 +137,7 @@ ignored." (defun f-swap-ext (path ext) "Return PATH but with EXT as the new extension. EXT must not be nil or empty." - (if (s-blank? ext) + (if (s-blank-p ext) (error "Extension cannot be empty or nil") (concat (f-no-ext path) "." ext))) @@ -150,7 +161,7 @@ EXT must not be nil or empty." Some functions, such as `call-process' requires there to be an ending slash." - (if (f-dir? path) + (if (f-dir-p path) (file-name-as-directory path) path)) @@ -263,21 +274,38 @@ If APPEND is non-nil, append the DATA to the existing contents." ;;;; Destructive (defun f-mkdir (&rest dirs) - "Create directories DIRS." + "Create directories DIRS. + +DIRS should be a successive list of directories forming together +a full path. The easiest way to call this function with a fully +formed path is using `f-split' alongside it: + + (apply #'f-mkdir (f-split \"path/to/file\")) + +Although it works sometimes, it is not recommended to use fully +formed paths in the function. In this case, it is recommended to +use `f-mkdir-full-path' instead." (let (path) (-each dirs (lambda (dir) (setq path (f-expand dir path)) - (unless (f-directory? path) + (unless (f-directory-p path) (f--destructive path (make-directory path))))))) +(defun f-mkdir-full-path (dir) + "Create DIR from a full path. + +This function is similar to `f-mkdir' except it can accept a full +path instead of requiring several successive directory names." + (apply #'f-mkdir (f-split dir))) + (defun f-delete (path &optional force) "Delete PATH, which can be file or directory. If FORCE is t, a directory will be deleted recursively." (f--destructive path - (if (or (f-file? path) (f-symlink? path)) + (if (or (f-file-p path) (f-symlink-p path)) (delete-file path) (delete-directory path force)))) @@ -295,7 +323,7 @@ If TO is a directory name, move FROM into TO." If FROM names a directory and TO is a directory name, copy FROM into TO as a subdirectory." (f--destructive to - (if (f-file? from) + (if (f-file-p from) (copy-file from to) ;; The behavior of `copy-directory' differs between Emacs 23 and ;; 24 in that in Emacs 23, the contents of `from' is copied to @@ -303,7 +331,7 @@ into TO as a subdirectory." ;; `to'. We want the Emacs 24 behavior. (if (> emacs-major-version 23) (copy-directory from to) - (if (f-dir? to) + (if (f-dir-p to) (progn (apply 'f-mkdir (f-split to)) (let ((new-to (f-expand (f-filename from) to))) @@ -312,9 +340,9 @@ into TO as a subdirectory." (defun f-copy-contents (from to) "Copy contents in directory FROM, to directory TO." - (unless (f-exists? to) + (unless (f-exists-p to) (error "Cannot copy contents to non existing directory %s" to)) - (unless (f-dir? from) + (unless (f-dir-p from) (error "Cannot copy contents as %s is a file" from)) (--each (f-entries from) (f-copy it (file-name-as-directory to)))) @@ -322,56 +350,56 @@ into TO as a subdirectory." (defun f-touch (path) "Update PATH last modification date or create if it does not exist." (f--destructive path - (if (f-file? path) + (if (f-file-p path) (set-file-times path) (f-write-bytes "" path)))) ;;;; Predicates -(defalias 'f-exists? 'file-exists-p) (defalias 'f-exists-p 'file-exists-p) +(defalias 'f-exists? 'file-exists-p) -(defalias 'f-directory? 'file-directory-p) (defalias 'f-directory-p 'file-directory-p) -(defalias 'f-dir? 'file-directory-p) +(defalias 'f-directory? 'file-directory-p) (defalias 'f-dir-p 'file-directory-p) +(defalias 'f-dir? 'file-directory-p) -(defalias 'f-file? 'file-regular-p) (defalias 'f-file-p 'file-regular-p) +(defalias 'f-file? 'file-regular-p) -(defun f-symlink? (path) +(defun f-symlink-p (path) "Return t if PATH is symlink, false otherwise." (not (not (file-symlink-p path)))) -(defalias 'f-symlink-p 'f-symlink?) +(defalias 'f-symlink? 'f-symlink-p) -(defalias 'f-readable? 'file-readable-p) (defalias 'f-readable-p 'file-readable-p) +(defalias 'f-readable? 'file-readable-p) -(defalias 'f-writable? 'file-writable-p) (defalias 'f-writable-p 'file-writable-p) +(defalias 'f-writable? 'file-writable-p) +(defalias 'f-executable-p 'file-executable-p) (defalias 'f-executable? 'file-executable-p) -(defalias 'f-executable-p 'f-executable?) -(defalias 'f-absolute? 'file-name-absolute-p) (defalias 'f-absolute-p 'file-name-absolute-p) +(defalias 'f-absolute? 'file-name-absolute-p) -(defun f-relative? (path) +(defun f-relative-p (path) "Return t if PATH is relative, false otherwise." - (not (f-absolute? path))) + (not (f-absolute-p path))) -(defalias 'f-relative-p 'f-relative?) +(defalias 'f-relative? 'f-relative-p) -(defun f-root? (path) +(defun f-root-p (path) "Return t if PATH is root directory, false otherwise." (not (f-parent path))) -(defalias 'f-root-p 'f-root?) +(defalias 'f-root? 'f-root-p) -(defun f-ext? (path &optional ext) +(defun f-ext-p (path &optional ext) "Return t if extension of PATH is EXT, false otherwise. If EXT is nil or omitted, return t if PATH has any extension, @@ -383,67 +411,65 @@ The extension, in a file name, is the part that follows the last (string= (f-ext path) ext) (not (eq (f-ext path) nil)))) -(defalias 'f-ext-p 'f-ext?) +(defalias 'f-ext? 'f-ext-p) -(defalias 'f-equal? 'f-same?) -(defalias 'f-equal-p 'f-equal?) +(defalias 'f-equal-p 'f-same-p) +(defalias 'f-equal? 'f-same-p) -(defun f-same? (path-a path-b) +(defun f-same-p (path-a path-b) "Return t if PATH-A and PATH-B are references to same file." - (when (and (f-exists? path-a) - (f-exists? path-b)) - (equal - (f-canonical (directory-file-name (f-expand path-a))) - (f-canonical (directory-file-name (f-expand path-b)))))) + (equal + (f-canonical (directory-file-name (f-expand path-a))) + (f-canonical (directory-file-name (f-expand path-b))))) -(defalias 'f-same-p 'f-same?) +(defalias 'f-same? 'f-same-p) -(defun f-parent-of? (path-a path-b) +(defun f-parent-of-p (path-a path-b) "Return t if PATH-A is parent of PATH-B." (--when-let (f-parent path-b) - (f-same? path-a it))) + (f-same-p path-a it))) -(defalias 'f-parent-of-p 'f-parent-of?) +(defalias 'f-parent-of? 'f-parent-of-p) -(defun f-child-of? (path-a path-b) +(defun f-child-of-p (path-a path-b) "Return t if PATH-A is child of PATH-B." (--when-let (f-parent path-a) - (f-same? it path-b))) + (f-same-p it path-b))) -(defalias 'f-child-of-p 'f-child-of?) +(defalias 'f-child-of? 'f-child-of-p) -(defun f-ancestor-of? (path-a path-b) +(defun f-ancestor-of-p (path-a path-b) "Return t if PATH-A is ancestor of PATH-B." - (unless (f-same? path-a path-b) - (s-starts-with? (f-full path-a) - (f-full path-b)))) + (unless (f-same-p path-a path-b) + (string-prefix-p (f-full path-a) + (f-full path-b)))) -(defalias 'f-ancestor-of-p 'f-ancestor-of?) +(defalias 'f-ancestor-of? 'f-ancestor-of-p) -(defun f-descendant-of? (path-a path-b) +(defun f-descendant-of-p (path-a path-b) "Return t if PATH-A is desendant of PATH-B." - (unless (f-same? path-a path-b) - (s-starts-with? (f-full path-b) - (f-full path-a)))) + (unless (f-same-p path-a path-b) + (string-prefix-p (f-full path-b) + (f-full path-a)))) -(defalias 'f-descendant-of-p 'f-descendant-of?) +(defalias 'f-descendant-of? 'f-descendant-of-p) -(defun f-hidden? (path) +(defun f-hidden-p (path) "Return t if PATH is hidden, nil otherwise." - (unless (f-exists? path) + (unless (f-exists-p path) (error "Path does not exist: %s" path)) (string= (substring path 0 1) ".")) -(defalias 'f-hidden-p 'f-hidden?) +(defalias 'f-hidden? 'f-hidden-p) -(defun f-empty? (path) +(defun f-empty-p (path) "If PATH is a file, return t if the file in PATH is empty, nil otherwise. If PATH is directory, return t if directory has no files, nil otherwise." - (if (f-directory? path) + (if (f-directory-p path) (equal (f-files path nil t) nil) (= (f-size path) 0))) -(defalias 'f-empty-p 'f-empty?) +(defalias 'f-empty? 'f-empty-p) ;;;; Stats @@ -453,7 +479,7 @@ If PATH is directory, return t if directory has no files, nil otherwise." If PATH is a file, return size of that file. If PATH is directory, return sum of all files in PATH." - (if (f-directory? path) + (if (f-directory-p path) (-sum (-map 'f-size (f-files path nil t))) (nth 7 (file-attributes path)))) @@ -465,6 +491,27 @@ detect the depth. '/' will be zero depth, '/usr' will be one depth. And so on." (- (length (f-split (f-expand path))) 1)) +(defun f-change-time (path) + "Return the last status change time of PATH. + +The status change time (ctime) of PATH in the same format as +`current-time'. See `file-attributes' for technical details." + (nth 6 (file-attributes path))) + +(defun f-modification-time (path) + "Return the last modification time of PATH. + +The modification time (mtime) of PATH in the same format as +`current-time'. See `file-attributes' for technical details." + (nth 5 (file-attributes path))) + +(defun f-access-time (path) + "Return the last access time of PATH. + +The access time (atime) of PATH is in the same format as +`current-time'. See `file-attributes' for technical details." + (nth 4 (file-attributes path))) + ;;;; Misc @@ -494,18 +541,18 @@ detect the depth. (entries (-reject (lambda (file) - (or - (equal (f-filename file) ".") - (equal (f-filename file) ".."))) + (member (f-filename file) '("." ".."))) (directory-files path t)))) (cond (recursive (-map (lambda (entry) - (if (f-file? entry) + (if (f-file-p entry) (setq result (cons entry result)) - (when (f-directory? entry) + (when (f-directory-p entry) (setq result (cons entry result)) - (setq result (append result (f--collect-entries entry recursive)))))) + (if (f-readable-p entry) + (setq result (append result (f--collect-entries entry recursive))) + result)))) entries)) (t (setq result entries))) result)) @@ -539,7 +586,7 @@ RECURSIVE - Search for files and directories recursive." (defun f-directories (path &optional fn recursive) "Find all directories in PATH. See `f-entries'." - (let ((directories (-select 'f-directory? (f--collect-entries path recursive)))) + (let ((directories (-select 'f-directory-p (f--collect-entries path recursive)))) (if fn (-select fn directories) directories))) (defmacro f--files (path body &optional recursive) @@ -553,7 +600,7 @@ RECURSIVE - Search for files and directories recursive." (defun f-files (path &optional fn recursive) "Find all files in PATH. See `f-entries'." - (let ((files (-select 'f-file? (f--collect-entries path recursive)))) + (let ((files (-select 'f-file-p (f--collect-entries path recursive)))) (if fn (-select fn files) files))) (defmacro f--traverse-upwards (body &optional path) @@ -572,16 +619,16 @@ returned. If no function callback return a non-nil value, nil is returned." (unless path (setq path default-directory)) - (when (f-relative? path) + (when (f-relative-p path) (setq path (f-expand path))) (if (funcall fn path) path - (unless (f-root? path) + (unless (f-root-p path) (f-traverse-upwards fn (f-parent path))))) (defun f-root () "Return absolute root." - (f-traverse-upwards 'f-root?)) + (f-traverse-upwards 'f-root-p)) (defmacro f-with-sandbox (path-or-paths &rest body) "Only allow PATH-OR-PATHS and descendants to be modified in BODY." diff --git a/code/elpa/git-commit-20220422.1903/git-commit-autoloads.el b/code/elpa/git-commit-20220803.2341/git-commit-autoloads.el similarity index 100% rename from code/elpa/git-commit-20220422.1903/git-commit-autoloads.el rename to code/elpa/git-commit-20220803.2341/git-commit-autoloads.el diff --git a/code/elpa/git-commit-20220422.1903/git-commit-pkg.el b/code/elpa/git-commit-20220803.2341/git-commit-pkg.el similarity index 75% rename from code/elpa/git-commit-20220422.1903/git-commit-pkg.el rename to code/elpa/git-commit-20220803.2341/git-commit-pkg.el index 4fe704c..8dcc565 100644 --- a/code/elpa/git-commit-20220422.1903/git-commit-pkg.el +++ b/code/elpa/git-commit-20220803.2341/git-commit-pkg.el @@ -1,9 +1,9 @@ -(define-package "git-commit" "20220422.1903" "Edit Git commit messages." +(define-package "git-commit" "20220803.2341" "Edit Git commit messages." '((emacs "25.1") - (compat "28.1.0.4") + (compat "28.1.1.2") (transient "20210920") (with-editor "20211001")) - :commit "3cb7f5ba430906bded9e5d9951f5260ab25644d0" :authors + :commit "ac7fae6a9893b55ad01942d9ea5a571d44426665" :authors '(("Jonas Bernoulli" . "jonas@bernoul.li") ("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Florian Ragwitz" . "rafl@debian.org") diff --git a/code/elpa/git-commit-20220422.1903/git-commit.el b/code/elpa/git-commit-20220803.2341/git-commit.el similarity index 98% rename from code/elpa/git-commit-20220422.1903/git-commit.el rename to code/elpa/git-commit-20220803.2341/git-commit.el index f519506..3de5a49 100644 --- a/code/elpa/git-commit-20220422.1903/git-commit.el +++ b/code/elpa/git-commit-20220803.2341/git-commit.el @@ -1,4 +1,4 @@ -;;; git-commit.el --- Edit Git commit messages -*- lexical-binding:t -*- +;;; git-commit.el --- Edit Git commit messages -*- lexical-binding:t; coding:utf-8 -*- ;; Copyright (C) 2008-2022 The Magit Project Contributors @@ -14,7 +14,7 @@ ;; Package-Version: 3.3.0-git ;; Package-Requires: ( ;; (emacs "25.1") -;; (compat "28.1.0.4") +;; (compat "28.1.1.2") ;; (transient "0.3.6") ;; (with-editor "3.0.5")) @@ -116,15 +116,10 @@ ;; M-x customize-group RET git-commit RET ;;; Code: -;;;; Dependencies (require 'seq) (require 'subr-x) -(require 'magit-base nil t) -(require 'magit-git nil t) -(require 'magit-mode nil t) - (require 'log-edit) (require 'ring) (require 'rx) @@ -132,23 +127,22 @@ (require 'transient) (require 'with-editor) -(defvar recentf-exclude) - -;;;; Declarations +;; For historic reasons Magit isn't a hard dependency. +(unless (and (require 'magit-base nil t) + (require 'magit-git nil t)) + (declare-function magit-completing-read "magit-base" + ( prompt collection &optional predicate require-match + initial-input hist def fallback)) + (declare-function magit-expand-git-file-name "magit-git" (filename)) + (declare-function magit-git-lines "magit-git" (&rest args)) + (declare-function magit-hook-custom-get "magit-base" (symbol)) + (declare-function magit-list-local-branch-names "magit-git" ())) (defvar diff-default-read-only) (defvar flyspell-generic-check-word-predicate) (defvar font-lock-beg) (defvar font-lock-end) - -(declare-function magit-completing-read "magit-base" - (prompt collection &optional predicate require-match - initial-input hist def fallback)) -(declare-function magit-expand-git-file-name "magit-git" (filename)) -(declare-function magit-git-lines "magit-git" (&rest args)) -(declare-function magit-list-local-branch-names "magit-git" ()) -(declare-function magit-list-remote-branch-names "magit-git" - (&optional remote relative)) +(defvar recentf-exclude) ;;; Options ;;;; Variables @@ -562,6 +556,9 @@ to recover older messages") #'git-commit-save-message nil t) (add-hook 'with-editor-pre-cancel-hook #'git-commit-save-message nil t) + (when (fboundp 'magit-commit--reset-command) + (add-hook 'with-editor-post-finish-hook #'magit-commit--reset-command) + (add-hook 'with-editor-post-cancel-hook #'magit-commit--reset-command)) (when (and (fboundp 'magit-rev-parse) (not (memq last-command '(magit-sequencer-continue diff --git a/code/elpa/go-mode-20220114.2239/go-mode-pkg.el b/code/elpa/go-mode-20220114.2239/go-mode-pkg.el deleted file mode 100644 index 6bf3945..0000000 --- a/code/elpa/go-mode-20220114.2239/go-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from go-mode.el -*- no-byte-compile: t -*- -(define-package "go-mode" "20220114.2239" "Major mode for the Go programming language" '((emacs "26.1")) :commit "fa2693278637f56759480d2bf203bb8aad107230" :authors '(("The go-mode Authors")) :maintainer '("The go-mode Authors") :keywords '("languages" "go") :url "https://github.com/dominikh/go-mode.el") diff --git a/code/elpa/go-mode-20220114.2239/go-mode-autoloads.el b/code/elpa/go-mode-20220727.115/go-mode-autoloads.el similarity index 95% rename from code/elpa/go-mode-20220114.2239/go-mode-autoloads.el rename to code/elpa/go-mode-20220727.115/go-mode-autoloads.el index 9930f9b..9581e3d 100644 --- a/code/elpa/go-mode-20220114.2239/go-mode-autoloads.el +++ b/code/elpa/go-mode-20220727.115/go-mode-autoloads.el @@ -101,6 +101,13 @@ A major mode for editing go.mod files. (add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-dot-mod-mode)) +(autoload 'go-dot-work-mode "go-mode" "\ +A major mode for editor go.work files. + +\(fn)" t nil) + +(add-to-list 'auto-mode-alist '("go\\.work\\'" . go-dot-work-mode)) + (register-definition-prefixes "go-mode" '("go-" "god" "gofmt")) ;;;*** diff --git a/code/elpa/go-mode-20220727.115/go-mode-pkg.el b/code/elpa/go-mode-20220727.115/go-mode-pkg.el new file mode 100644 index 0000000..31fbef3 --- /dev/null +++ b/code/elpa/go-mode-20220727.115/go-mode-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from go-mode.el -*- no-byte-compile: t -*- +(define-package "go-mode" "20220727.115" "Major mode for the Go programming language" '((emacs "26.1")) :commit "08aa90d52f0e7d2ad02f961b554e13329672d7cb" :authors '(("The go-mode Authors")) :maintainer '("The go-mode Authors") :keywords '("languages" "go") :url "https://github.com/dominikh/go-mode.el") diff --git a/code/elpa/go-mode-20220114.2239/go-mode.el b/code/elpa/go-mode-20220727.115/go-mode.el similarity index 98% rename from code/elpa/go-mode-20220114.2239/go-mode.el rename to code/elpa/go-mode-20220727.115/go-mode.el index dee65f0..5167675 100644 --- a/code/elpa/go-mode-20220114.2239/go-mode.el +++ b/code/elpa/go-mode-20220727.115/go-mode.el @@ -8,8 +8,8 @@ ;; Author: The go-mode Authors ;; Version: 1.6.0 -;; Package-Version: 20220114.2239 -;; Package-Commit: fa2693278637f56759480d2bf203bb8aad107230 +;; Package-Version: 20220727.115 +;; Package-Commit: 08aa90d52f0e7d2ad02f961b554e13329672d7cb ;; Keywords: languages go ;; Package-Requires: ((emacs "26.1")) ;; URL: https://github.com/dominikh/go-mode.el @@ -735,31 +735,6 @@ case keyword. It returns nil for the case line itself." "Return non-nil if point is inside a type switch statement." (go--in-paren-with-prefix-p ?{ ".(type)")) -(defun go--fill-prefix () - "Return fill prefix for following comment paragraph." - (save-excursion - (beginning-of-line) - - ;; Skip over empty lines and empty comment openers/closers. - (while (and - (or (go--empty-line-p) (go--boring-comment-p)) - (zerop (forward-line 1)))) - - ;; If we are in a block comment, set prefix based on first line - ;; with content. - (if (go-in-comment-p) - (progn - (looking-at "[[:space:]]*") - (match-string-no-properties 0)) - - ;; Else if we are looking at the start of an interesting comment, our - ;; prefix is the comment opener and any space following. - (if (looking-at (concat go--comment-start-regexp "[[:space:]]*")) - ;; Replace "/*" opener with spaces so following lines don't - ;; get "/*" prefix. - (replace-regexp-in-string "/\\*" " " - (match-string-no-properties 0)))))) - (defun go--open-paren-position () "Return non-nil if point is between '(' and ')'. @@ -1616,7 +1591,7 @@ func foo(i int) string" found-match)) (defconst go--type-alias-re - (concat "^[[:space:]]*\\(type\\)?[[:space:]]*" go-identifier-regexp "[[:space:]]*=[[:space:]]*" go-type-name-regexp)) + (concat "^[[:space:]]*\\(type[[:space:]]+\\)?" go-identifier-regexp "[[:space:]]*=[[:space:]]*" go-type-name-regexp)) (defun go--match-type-alias (end) "Search for type aliases. @@ -2910,6 +2885,33 @@ If BUFFER, return the number of characters in that buffer instead." ;;;###autoload (add-to-list 'auto-mode-alist '("go\\.mod\\'" . go-dot-mod-mode)) +(defconst go-dot-work-mode-keywords + '("go" "replace" "use") + "All keywords for go.work files. Used for font locking.") + +;;;###autoload +(define-derived-mode go-dot-work-mode fundamental-mode "Go Work" + "A major mode for editor go.work files." + :syntax-table go-dot-mod-mode-syntax-table + (set (make-local-variable 'comment-start) "// ") + (set (make-local-variable 'comment-end) "") + (set (make-local-variable 'comment-use-syntax) t) + (set (make-local-variable 'comment-start-skip) "\\(//+\\)\\s *") + + (set (make-local-variable 'font-lock-defaults) + '(go-dot-work-mode-keywords)) + (set (make-local-variable 'indent-line-function) 'go-mode-indent-line) + + ;; Go style + (setq indent-tabs-mode t) + + ;; we borrow the go-mode-indent function so we need this buffer cache + (set (make-local-variable 'go-dangling-cache) (make-hash-table :test 'eql)) + (add-hook 'before-change-functions #'go--reset-dangling-cache-before-change t t)) + +;;;###autoload +(add-to-list 'auto-mode-alist '("go\\.work\\'" . go-dot-work-mode)) + ;; The following functions were copied (and modified) from rust-mode.el. ;; ;; Copyright (c) 2015 The Rust Project Developers diff --git a/code/elpa/helm-20220423.1712/helm-pkg.el b/code/elpa/helm-20220423.1712/helm-pkg.el deleted file mode 100644 index 60244fb..0000000 --- a/code/elpa/helm-20220423.1712/helm-pkg.el +++ /dev/null @@ -1,11 +0,0 @@ -(define-package "helm" "20220423.1712" "Helm is an Emacs incremental and narrowing framework" - '((helm-core "3.8.4") - (popup "0.5.3")) - :commit "dc0c082a451cfe25d35ba3b9b0c0fc2766cc8319" :authors - '(("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - :maintainer - '("Thierry Volpiatto" . "thierry.volpiatto@gmail.com") - :url "https://emacs-helm.github.io/helm/") -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/code/elpa/helm-20220423.1712/.dir-locals.el b/code/elpa/helm-20220803.1447/.dir-locals.el similarity index 82% rename from code/elpa/helm-20220423.1712/.dir-locals.el rename to code/elpa/helm-20220803.1447/.dir-locals.el index 5ed8432..8cbef6a 100644 --- a/code/elpa/helm-20220423.1712/.dir-locals.el +++ b/code/elpa/helm-20220803.1447/.dir-locals.el @@ -3,6 +3,6 @@ ((nil . ((bug-reference-bug-regexp . "\\(\\b\\(?:[Ii]ssue ?#?\\|[Bb]ug ?#?\\|[Pp]atch ?#\\|RFE ?#\\|PR [a-z+-]+/\\)\\([0-9]+\\(?:#[0-9]+\\)?\\)\\)") (bug-reference-url-format . "https://github.com/emacs-helm/helm/issues/%s") - (byte-compile-warnings . (not obsolete not docstrings)))) + (byte-compile-warnings . (not obsolete docstrings docstrings-non-ascii-quotes)))) (emacs-lisp-mode . ((mode . bug-reference-prog) (indent-tabs-mode . nil)))) diff --git a/code/elpa/helm-20220423.1712/emacs-helm.sh b/code/elpa/helm-20220803.1447/emacs-helm.sh similarity index 98% rename from code/elpa/helm-20220423.1712/emacs-helm.sh rename to code/elpa/helm-20220803.1447/emacs-helm.sh index 094878a..c3020ea 100644 --- a/code/elpa/helm-20220423.1712/emacs-helm.sh +++ b/code/elpa/helm-20220803.1447/emacs-helm.sh @@ -1,7 +1,7 @@ #!/usr/bin/env sh -## Copyright (C) 2012 ~ 2021 Thierry Volpiatto +## Copyright (C) 2012 ~ 2021 Thierry Volpiatto ## ## 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 @@ -234,6 +234,8 @@ cat > $CONF_FILE < +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -34,13 +34,11 @@ When nil history is not saved nor restored after Emacs restart unless you save/restore `helm-adaptive-history' with something else like psession or desktop." - :type 'string - :group 'helm-adapt) + :type 'string) (defcustom helm-adaptive-history-length 50 "Maximum number of candidates stored for a source." - :type 'number - :group 'helm-adapt) + :type 'number) (defcustom helm-adaptive-sort-by-frequent-recent-usage t "Try to sort on an average of frequent and recent usage when non-nil. @@ -55,7 +53,6 @@ Frequency+recent: Even with a low frequency, candidate go up on top. If a candidate have a high frequency but it is not used since some time, it goes down slowly, but as soon you reuse it it go up on top quickly." - :group 'helm-adapt :type 'boolean) ;; Internal @@ -77,26 +74,24 @@ Format: ((SOURCE-NAME ;;;###autoload (define-minor-mode helm-adaptive-mode "Toggle adaptive sorting in all sources." - :group 'helm-adapt - :require 'helm-adaptive :global t (if helm-adaptive-mode (progn (unless helm-adaptive-history (helm-adaptive-maybe-load-history)) - (add-hook 'kill-emacs-hook 'helm-adaptive-save-history) + (add-hook 'kill-emacs-hook #'helm-adaptive-save-history) ;; Should run at beginning of `helm-initial-setup'. - (add-hook 'helm-before-initialize-hook 'helm-adaptive-done-reset) + (add-hook 'helm-before-initialize-hook #'helm-adaptive-done-reset) ;; Should run at beginning of `helm-exit-minibuffer'. - (add-hook 'helm-before-action-hook 'helm-adaptive-store-selection) + (add-hook 'helm-before-action-hook #'helm-adaptive-store-selection) ;; Should run at beginning of `helm-select-action'. - (add-hook 'helm-select-action-hook 'helm-adaptive-store-selection)) + (add-hook 'helm-select-action-hook #'helm-adaptive-store-selection)) (helm-adaptive-save-history) (setq helm-adaptive-history nil) - (remove-hook 'kill-emacs-hook 'helm-adaptive-save-history) - (remove-hook 'helm-before-initialize-hook 'helm-adaptive-done-reset) - (remove-hook 'helm-before-action-hook 'helm-adaptive-store-selection) - (remove-hook 'helm-select-action-hook 'helm-adaptive-store-selection))) + (remove-hook 'kill-emacs-hook #'helm-adaptive-save-history) + (remove-hook 'helm-before-initialize-hook #'helm-adaptive-done-reset) + (remove-hook 'helm-before-action-hook #'helm-adaptive-store-selection) + (remove-hook 'helm-select-action-hook #'helm-adaptive-store-selection))) (defun helm-adapt-use-adaptive-p (&optional source-name) "Return current source only if it use adaptive history, nil otherwise." diff --git a/code/elpa/helm-20220423.1712/helm-autoloads.el b/code/elpa/helm-20220803.1447/helm-autoloads.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-autoloads.el rename to code/elpa/helm-20220803.1447/helm-autoloads.el index 37320b6..6e3b88a 100644 --- a/code/elpa/helm-20220423.1712/helm-autoloads.el +++ b/code/elpa/helm-20220803.1447/helm-autoloads.el @@ -368,15 +368,6 @@ files. \(fn ARG)" t nil) -(autoload 'helm-delete-tramp-connection "helm-files" "\ -Allow deleting tramp connection or marked tramp connections at once. - -This replace `tramp-cleanup-connection' which is partially broken -in Emacs < to 25.1.50.1 (See Emacs bug http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24432). - -It allows additionally to delete more than one connection at -once." t nil) - (register-definition-prefixes "helm-files" '("eshell-command-aliases-list" "helm-")) ;;;*** @@ -578,7 +569,7 @@ With a prefix arg refresh the database in each project. (autoload 'helm-locate "helm-locate" "\ Preconfigured `helm' for Locate. Note: you can add locate options after entering pattern. -See 'man locate' for valid options and also `helm-locate-command'. +See \\='man locate' for valid options and also `helm-locate-command'. You can specify a local database with prefix argument ARG. With two prefix arg, refresh the current local db or create it if @@ -792,7 +783,7 @@ in `helm-current-prefix-arg', otherwise if prefix args were given before That means you can pass prefix args before or after calling a command that use `helm-comp-read'. See `helm-M-x' for example. -\(fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (BUFFER \"*Helm Completions*\") MUST-MATCH FUZZY REVERSE-HISTORY (REQUIRES-PATTERN 0) (HISTORY nil SHISTORY) RAW-HISTORY INPUT-HISTORY (CASE-FOLD helm-comp-read-case-fold-search) (PERSISTENT-ACTION nil) (PERSISTENT-HELP \"DoNothing\") (MODE-LINE helm-comp-read-mode-line) HELP-MESSAGE (KEYMAP helm-comp-read-map) (NAME \"Helm Completions\") HEADER-NAME CANDIDATES-IN-BUFFER MATCH-PART MATCH-DYNAMIC EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (VOLATILE t) SORT FC-TRANSFORMER HIST-FC-TRANSFORMER (MARKED-CANDIDATES helm-comp-read-use-marked) NOMARK (ALISTP t) (CANDIDATE-NUMBER-LIMIT helm-candidate-number-limit) MULTILINE ALLOW-NEST COERCE (GROUP \\='helm))" nil nil) +\(fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (BUFFER \"*Helm Completions*\") MUST-MATCH FUZZY REVERSE-HISTORY (REQUIRES-PATTERN 0) (HISTORY nil SHISTORY) RAW-HISTORY INPUT-HISTORY (CASE-FOLD helm-comp-read-case-fold-search) (PERSISTENT-ACTION nil) (PERSISTENT-HELP \"DoNothing\") (MODE-LINE helm-comp-read-mode-line) HELP-MESSAGE (KEYMAP helm-comp-read-map) (NAME \"Helm Completions\") HEADER-NAME CANDIDATES-IN-BUFFER DIACRITICS MATCH-PART MATCH-DYNAMIC EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (VOLATILE t) SORT FC-TRANSFORMER HIST-FC-TRANSFORMER (MARKED-CANDIDATES helm-comp-read-use-marked) NOMARK (ALISTP t) (CANDIDATE-NUMBER-LIMIT helm-candidate-number-limit) MULTILINE ALLOW-NEST COERCE (GROUP \\='helm))" nil nil) (autoload 'helm-read-file-name "helm-mode" "\ Read a file name with helm completion. @@ -810,7 +801,7 @@ Keys description: - BUFFER: `helm-buffer' name, defaults to \"*Helm Completions*\". -- TEST: A predicate called with one arg 'candidate'. +- TEST: A predicate called with one arg \\='candidate'. - NORET: Allow disabling helm-ff-RET (have no effect if helm-ff-RET isn't bound to RET). @@ -821,7 +812,7 @@ Keys description: - HISTORY: Display HISTORY in a special source. -- MUST-MATCH: Can be 'confirm, nil, or t. +- MUST-MATCH: Can be \\='confirm, nil, or t. - FUZZY: Enable fuzzy matching when non-nil (Enabled by default). diff --git a/code/elpa/helm-20220423.1712/helm-bookmark.el b/code/elpa/helm-20220803.1447/helm-bookmark.el similarity index 95% rename from code/elpa/helm-20220423.1712/helm-bookmark.el rename to code/elpa/helm-20220803.1447/helm-bookmark.el index b8a634d..12ee1c1 100644 --- a/code/elpa/helm-20220423.1712/helm-bookmark.el +++ b/code/elpa/helm-20220803.1447/helm-bookmark.el @@ -1,6 +1,6 @@ ;;; helm-bookmark.el --- Helm for Emacs regular Bookmarks. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -40,7 +40,6 @@ (defcustom helm-bookmark-show-location nil "Show location of bookmark on display." - :group 'helm-bookmark :type 'boolean) (defcustom helm-bookmark-default-filtered-sources @@ -56,72 +55,76 @@ (list 'helm-source-bookmark-uncategorized 'helm-source-bookmark-set)) "List of sources to use in `helm-filtered-bookmarks'." - :group 'helm-bookmark :type '(repeat (choice symbol))) (defcustom helm-bookmark-use-icon nil "Display candidates with an icon with `all-the-icons' when non nil." - :type 'boolean - :group 'helm-bookmark) + :type 'boolean) +(defgroup helm-bookmark-faces nil + "Customize the appearance of helm-bookmark." + :prefix "helm-" + :group 'helm-bookmark + :group 'helm-faces) + (defface helm-bookmark-info `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "green")) "Face used for W3m Emacs bookmarks (not w3m bookmarks)." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-w3m `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "yellow")) "Face used for W3m Emacs bookmarks (not w3m bookmarks)." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-gnus `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "magenta")) "Face used for Gnus bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-man `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "Orange4")) "Face used for Woman/man bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-file `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "Deepskyblue2")) "Face used for file bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-file-not-found `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "Slategray4")) "Face used for file bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-directory `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit helm-ff-directory)) "Face used for file bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defface helm-bookmark-addressbook `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "tomato")) "Face used for addressbook bookmarks." - :group 'helm-bookmark) + :group 'helm-bookmark-faces) (defvar helm-bookmark-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "C-c o") 'helm-bookmark-run-jump-other-window) - (define-key map (kbd "C-c C-o") 'helm-bookmark-run-jump-other-frame) - (define-key map (kbd "C-d") 'helm-bookmark-run-delete) - (define-key map (kbd "C-]") 'helm-bookmark-toggle-filename) - (define-key map (kbd "M-e") 'helm-bookmark-run-edit) + (define-key map (kbd "C-c o") #'helm-bookmark-run-jump-other-window) + (define-key map (kbd "C-c C-o") #'helm-bookmark-run-jump-other-frame) + (define-key map (kbd "C-d") #'helm-bookmark-run-delete) + (define-key map (kbd "C-]") #'helm-bookmark-toggle-filename) + (define-key map (kbd "M-e") #'helm-bookmark-run-edit) map) "Generic Keymap for Emacs bookmark sources.") @@ -220,7 +223,8 @@ BOOKMARK is a bookmark name or a bookmark record." (defun helm-bookmark-mu4e-bookmark-p (bookmark) "Return non nil if BOOKMARK is a mu4e bookmark. BOOKMARK is a bookmark name or a bookmark record." - (eq (bookmark-get-handler bookmark) 'mu4e-bookmark-jump)) + (memq (bookmark-get-handler bookmark) + '(mu4e-bookmark-jump mu4e--jump-to-bookmark))) (defun helm-bookmark-w3m-bookmark-p (bookmark) "Return non-nil if BOOKMARK is a W3m bookmark. @@ -337,18 +341,18 @@ If `browse-url-browser-function' is set to something else than ;; (`bookmark-w3m-bookmark-jump') will use our handler which open ;; the bookmark in a new tab or in an external browser depending ;; on `browse-url-browser-function'. -(defalias 'bookmark-w3m-bookmark-jump 'helm-bookmark-jump-w3m) +(defalias 'bookmark-w3m-bookmark-jump #'helm-bookmark-jump-w3m) ;; Provide compatibility with old handlers provided in external ;; packages bookmark-extensions.el and bookmark+. -(defalias 'bmkext-jump-woman 'woman-bookmark-jump) -(defalias 'bmkext-jump-man 'Man-bookmark-jump) -(defalias 'bmkext-jump-w3m 'helm-bookmark-jump-w3m) -(defalias 'bmkext-jump-gnus 'gnus-summary-bookmark-jump) -(defalias 'bookmarkp-jump-gnus 'gnus-summary-bookmark-jump) -(defalias 'bookmarkp-jump-w3m 'helm-bookmark-jump-w3m) -(defalias 'bookmarkp-jump-woman 'woman-bookmark-jump) -(defalias 'bookmarkp-jump-man 'Man-bookmark-jump) +(defalias 'bmkext-jump-woman #'woman-bookmark-jump) +(defalias 'bmkext-jump-man #'Man-bookmark-jump) +(defalias 'bmkext-jump-w3m #'helm-bookmark-jump-w3m) +(defalias 'bmkext-jump-gnus #'gnus-summary-bookmark-jump) +(defalias 'bookmarkp-jump-gnus #'gnus-summary-bookmark-jump) +(defalias 'bookmarkp-jump-w3m #'helm-bookmark-jump-w3m) +(defalias 'bookmarkp-jump-woman #'woman-bookmark-jump) +(defalias 'bookmarkp-jump-man #'Man-bookmark-jump) ;;;; Filtered bookmark sources @@ -495,7 +499,7 @@ If `browse-url-browser-function' is set to something else than (defvar helm-bookmark-find-files-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-bookmark-map) - (define-key map (kbd "C-x C-d") 'helm-bookmark-run-browse-project) + (define-key map (kbd "C-x C-d") #'helm-bookmark-run-browse-project) map)) (defclass helm-bookmark-override-inheritor (helm-source) ()) @@ -716,7 +720,7 @@ consecutive words from the buffer into the new bookmark name." (let ((newname (or new (read-from-minibuffer "New name: " nil (let ((now-map (copy-keymap minibuffer-local-map))) - (define-key now-map "\C-w" 'bookmark-yank-word) + (define-key now-map "\C-w" #'bookmark-yank-word) now-map) nil 'bookmark-history)))) (bookmark-set-name old newname) diff --git a/code/elpa/helm-20220423.1712/helm-buffers.el b/code/elpa/helm-20220803.1447/helm-buffers.el similarity index 93% rename from code/elpa/helm-20220423.1712/helm-buffers.el rename to code/elpa/helm-20220803.1447/helm-buffers.el index ccdd778..b97b91a 100644 --- a/code/elpa/helm-20220423.1712/helm-buffers.el +++ b/code/elpa/helm-20220803.1447/helm-buffers.el @@ -1,6 +1,6 @@ ;;; helm-buffers.el --- helm support for buffers. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -28,9 +28,11 @@ (declare-function helm-comp-read "helm-mode") (declare-function helm-browse-project "helm-files") +(declare-function helm-ff-switch-to-shell "helm-files") (defvar dired-buffers) (defvar org-directory) +(defvar helm-ff-default-directory) (defgroup helm-buffers nil @@ -43,56 +45,47 @@ Buffer candidates matching these regular expression will be filtered from the list of candidates if the `helm-skip-boring-buffers' candidate transformer is used." - :type '(repeat (choice regexp)) - :group 'helm-buffers) + :type '(repeat (choice regexp))) (defcustom helm-white-buffer-regexp-list nil "The regexp list of not boring buffers. These buffers will be displayed even if they match one of `helm-boring-buffer-regexp-list'." - :type '(repeat (choice regexp)) - :group 'helm-buffers) + :type '(repeat (choice regexp))) (defcustom helm-buffers-favorite-modes '(lisp-interaction-mode emacs-lisp-mode text-mode org-mode) "List of preferred mode to open new buffers with." - :type '(repeat (choice function)) - :group 'helm-buffers) + :type '(repeat (choice function))) (defcustom helm-buffer-max-length 20 "Max length of buffer names before truncate. When disabled (nil) use the longest `buffer-name' length found." - :group 'helm-buffers :type '(choice (const :tag "Disabled" nil) (integer :tag "Length before truncate"))) (defcustom helm-buffer-details-flag t "Always show details in buffer list when non-nil." - :group 'helm-buffers :type 'boolean) (defcustom helm-buffers-fuzzy-matching nil "Fuzzy matching buffer names when non-nil. Only buffer names are fuzzy matched when this is enabled, `major-mode' matching is not affected by this." - :group 'helm-buffers :type 'boolean) (defcustom helm-buffer-skip-remote-checking nil "Ignore checking for `file-exists-p' on remote files." - :group 'helm-buffers :type 'boolean) (defcustom helm-buffers-truncate-lines t "Truncate lines in `helm-buffers-list' when non-nil." - :group 'helm-buffers :type 'boolean) (defcustom helm-buffers-left-margin-width helm-left-margin-width "`left-margin-width' value for `helm-mini' and `helm-buffers-list'." - :group 'helm-buffers :type 'integer) (defcustom helm-mini-default-sources '(helm-source-buffers-list @@ -102,18 +95,15 @@ Only buffer names are fuzzy matched when this is enabled, When adding a source here it is up to you to ensure the library of this source is accessible and properly loaded." - :group 'helm-buffers :type '(repeat (choice symbol))) (defcustom helm-buffers-end-truncated-string "..." "The string to display at end of truncated buffer names." - :type 'string - :group 'helm-buffers) + :type 'string) (defcustom helm-buffers-column-separator " " "Separator for columns in buffer listing." - :type 'string - :group 'helm-buffers) + :type 'string) (defcustom helm-buffer--pretty-names '((dired-mode . "Dired") (lisp-interaction-mode . "Lisp Inter")) @@ -124,13 +114,11 @@ may be a mode-line specification which may be costly to compute, in this case add here the pretty name as a string to avoid this costly computation. Also if some pretty names are too long you can add your own abbreviation here." - :type '(alist :key-type symbol :value-type string) - :group 'helm-buffers) + :type '(alist :key-type symbol :value-type string)) (defcustom helm-buffers-maybe-switch-to-tab nil "Switch to buffer in its tab when non nil. This has no effect when `tab-bar-mode' is not available." - :group 'helm-buffers :type 'boolean) (defcustom helm-buffer-list-reorder-fn #'helm-buffers-reorder-buffer-list @@ -142,7 +130,6 @@ You can write a function that reorder VISIBLES and OTHERS as you want. Default function returns OTHERS buffers on top and VISIBLES buffer at the end. See `helm-buffers-reorder-buffer-list'." - :group 'helm-buffers :type 'function) (defcustom helm-buffers-sort-fn helm-fuzzy-sort-fn @@ -151,8 +138,8 @@ buffer at the end. See `helm-buffers-reorder-buffer-list'." Default to `helm-fuzzy-sort-fn' you can use `helm-fuzzy-matching-sort-fn-preserve-ties-order' as alternative if you want to keep the recentest order when narrowing candidates." - :type 'function - :group 'helm-buffers) + :type 'function) + ;;; Faces ;; @@ -250,30 +237,31 @@ Note that this variable is buffer-local.") ;; No need to have separate command for grep and zgrep ;; as we don't use recursivity for buffers. ;; So use zgrep for both as it is capable to handle non--compressed files. - (define-key map (kbd "M-g s") 'helm-buffer-run-zgrep) - (define-key map (kbd "C-s") 'helm-buffers-run-occur) - (define-key map (kbd "C-x C-d") 'helm-buffers-run-browse-project) - (define-key map (kbd "C-c o") 'helm-buffer-switch-other-window) - (define-key map (kbd "C-c C-o") 'helm-buffer-switch-other-frame) - (define-key map (kbd "M-g M-g") 'helm-buffer-run-goto-line) - (define-key map (kbd "C-c =") 'helm-buffer-run-ediff) - (define-key map (kbd "M-=") 'helm-buffer-run-ediff-merge) - (define-key map (kbd "C-=") 'helm-buffer-diff-persistent) - (define-key map (kbd "M-G") 'helm-buffer-revert-persistent) - (define-key map (kbd "C-c d") 'helm-buffer-run-kill-persistent) - (define-key map (kbd "M-D") 'helm-buffer-run-kill-buffers) - (define-key map (kbd "C-x C-s") 'helm-buffer-save-persistent) - (define-key map (kbd "C-x s") 'helm-buffer-run-save-some-buffers) - (define-key map (kbd "C-M-%") 'helm-buffer-run-query-replace-regexp) - (define-key map (kbd "M-%") 'helm-buffer-run-query-replace) - (define-key map (kbd "M-R") 'helm-buffer-run-rename-buffer) - (define-key map (kbd "M-m") 'helm-toggle-all-marks) - (define-key map (kbd "M-a") 'helm-mark-all) - (define-key map (kbd "C-]") 'helm-toggle-buffers-details) - (define-key map (kbd "C-c a") 'helm-buffers-toggle-show-hidden-buffers) - (define-key map (kbd "C-M-SPC") 'helm-buffers-mark-similar-buffers) + (define-key map (kbd "M-g s") #'helm-buffer-run-zgrep) + (define-key map (kbd "C-s") #'helm-buffers-run-occur) + (define-key map (kbd "C-x C-d") #'helm-buffers-run-browse-project) + (define-key map (kbd "C-c o") #'helm-buffer-switch-other-window) + (define-key map (kbd "C-c C-o") #'helm-buffer-switch-other-frame) + (define-key map (kbd "M-g M-g") #'helm-buffer-run-goto-line) + (define-key map (kbd "C-c =") #'helm-buffer-run-ediff) + (define-key map (kbd "M-=") #'helm-buffer-run-ediff-merge) + (define-key map (kbd "C-=") #'helm-buffer-diff-persistent) + (define-key map (kbd "M-G") #'helm-buffer-revert-persistent) + (define-key map (kbd "C-c d") #'helm-buffer-run-kill-persistent) + (define-key map (kbd "M-D") #'helm-buffer-run-kill-buffers) + (define-key map (kbd "C-x C-s") #'helm-buffer-save-persistent) + (define-key map (kbd "C-x s") #'helm-buffer-run-save-some-buffers) + (define-key map (kbd "C-M-%") #'helm-buffer-run-query-replace-regexp) + (define-key map (kbd "M-%") #'helm-buffer-run-query-replace) + (define-key map (kbd "M-R") #'helm-buffer-run-rename-buffer) + (define-key map (kbd "M-m") #'helm-toggle-all-marks) + (define-key map (kbd "M-a") #'helm-mark-all) + (define-key map (kbd "M-e") #'helm-buffer-run-switch-to-shell) + (define-key map (kbd "C-]") #'helm-toggle-buffers-details) + (define-key map (kbd "C-c a") #'helm-buffers-toggle-show-hidden-buffers) + (define-key map (kbd "C-M-SPC") #'helm-buffers-mark-similar-buffers) (when (fboundp 'tab-bar-mode) - (define-key map (kbd "C-c C-t") 'helm-buffers-switch-to-buffer-new-tab)) + (define-key map (kbd "C-c C-t") #'helm-buffers-switch-to-buffer-new-tab)) map) "Keymap for buffer sources in helm.") @@ -368,8 +356,8 @@ Note that this variable is buffer-local.") (defvar helm-buffer-not-found-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "C-c o") 'helm-buffers-not-found-run-switch-ow) - (define-key map (kbd "C-c C-o") 'helm-buffers-not-found-run-switch-of) + (define-key map (kbd "C-c o") #'helm-buffers-not-found-run-switch-ow) + (define-key map (kbd "C-c C-o") #'helm-buffers-not-found-run-switch-of) map) "Keymap for `helm-source-buffer-not-found' source.") @@ -611,7 +599,7 @@ buffers)." (cl-loop for p in (helm-mm-split-pattern helm-pattern) unless (member (substring p 0 1) '("*" "/" "@" "!")) collect p into lst - finally return (mapconcat 'identity lst (or separator " ")))) + finally return (mapconcat #'identity lst (or separator " ")))) (defun helm-buffers-sort-transformer (candidates source) (cl-assert helm-buffers-sort-fn nil "Wrong type argument functionp: nil") @@ -732,7 +720,7 @@ I.e. same color." for p in (helm-mm-split-pattern pat) when (string-match "\\`@\\(.*\\)" p) collect (match-string 1 p) into lst - finally return (mapconcat 'identity lst " "))) + finally return (mapconcat #'identity lst " "))) (patterns (helm-mm-3-get-patterns pattern))) (if (and buf patterns) (with-current-buffer buf @@ -823,7 +811,7 @@ If REGEXP-FLAG is given use `query-replace-regexp'." (and (file-exists-p it) (revert-buffer t t))))) (defun helm-revert-marked-buffers (_ignore) - (mapc 'helm-revert-buffer (helm-marked-candidates))) + (mapc #'helm-revert-buffer (helm-marked-candidates))) (defun helm-buffer-revert-and-update (_candidate) (with-helm-buffer @@ -925,6 +913,19 @@ If REGEXP-FLAG is given use `query-replace-regexp'." (helm-exit-and-execute-action 'helm-kill-marked-buffers))) (put 'helm-buffer-run-kill-buffers 'helm-only t) +(defun helm-buffer-switch-to-shell (candidate) + (require 'helm-files) + (let ((helm-ff-default-directory + (with-current-buffer candidate + default-directory))) + (helm-ff-switch-to-shell nil))) + +(defun helm-buffer-run-switch-to-shell () + (interactive) + (with-helm-alive-p + (helm-exit-and-execute-action 'helm-buffer-switch-to-shell))) +(put 'helm-buffer-run-switch-to-shell 'no-helm-mx t) + (defun helm-buffer-run-grep () "Run Grep action from `helm-source-buffers-list'." (interactive) @@ -960,11 +961,25 @@ If REGEXP-FLAG is given use `query-replace-regexp'." (helm-exit-and-execute-action 'helm-buffer-switch-buffers-other-window))) (put 'helm-buffer-switch-other-window 'helm-only t) +(defun helm-buffer-switch-to-buffer-other-frame (_candidate) + "Display marked buffers in other frame." + (let ((bufs (helm-marked-candidates))) + (select-frame (make-frame)) + (helm-window-show-buffers bufs))) + +(defun helm-buffers-maybe-raise-buffer-frame (candidate) + "Raise buffer frame handling buffer CANDIDATE and switch to it." + (let ((oframe (window-frame (get-buffer-window candidate 0)))) + (unless (eql oframe (selected-frame)) + (raise-frame oframe)) + (with-selected-frame oframe + (switch-to-buffer candidate)))) + (defun helm-buffer-switch-other-frame () "Run switch to other frame action from `helm-source-buffers-list'." (interactive) (with-helm-alive-p - (helm-exit-and-execute-action 'switch-to-buffer-other-frame))) + (helm-exit-and-execute-action 'helm-buffer-switch-to-buffer-other-frame))) (put 'helm-buffer-switch-other-frame 'helm-only t) (defun helm-buffers-switch-to-buffer-other-tab (_candidate) diff --git a/code/elpa/helm-20220423.1712/helm-color.el b/code/elpa/helm-20220803.1447/helm-color.el similarity index 94% rename from code/elpa/helm-20220423.1712/helm-color.el rename to code/elpa/helm-20220803.1447/helm-color.el index 294dcb3..cc9a4c3 100644 --- a/code/elpa/helm-20220423.1712/helm-color.el +++ b/code/elpa/helm-20220803.1447/helm-color.el @@ -1,6 +1,6 @@ ;;; helm-color.el --- colors and faces -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -113,10 +113,10 @@ (defvar helm-color-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "C-c n") 'helm-color-run-insert-name) - (define-key map (kbd "C-c N") 'helm-color-run-kill-name) - (define-key map (kbd "C-c r") 'helm-color-run-insert-rgb) - (define-key map (kbd "C-c R") 'helm-color-run-kill-rgb) + (define-key map (kbd "C-c n") #'helm-color-run-insert-name) + (define-key map (kbd "C-c N") #'helm-color-run-kill-name) + (define-key map (kbd "C-c r") #'helm-color-run-insert-rgb) + (define-key map (kbd "C-c R") #'helm-color-run-kill-rgb) map)) (defvar helm-source-colors diff --git a/code/elpa/helm-20220423.1712/helm-comint.el b/code/elpa/helm-20220803.1447/helm-comint.el similarity index 95% rename from code/elpa/helm-20220423.1712/helm-comint.el rename to code/elpa/helm-20220803.1447/helm-comint.el index 6f85249..e7dff8d 100644 --- a/code/elpa/helm-20220423.1712/helm-comint.el +++ b/code/elpa/helm-20220803.1447/helm-comint.el @@ -80,8 +80,8 @@ you will not have anymore separators between candidates." (defvar helm-comint-prompts-keymap (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "C-c o") 'helm-comint-prompts-other-window) - (define-key map (kbd "C-c C-o") 'helm-comint-prompts-other-frame) + (define-key map (kbd "C-c o") #'helm-comint-prompts-other-window) + (define-key map (kbd "C-c C-o") #'helm-comint-prompts-other-frame) map) "Keymap for `helm-comint-prompt-all'.") @@ -165,11 +165,11 @@ See `helm-comint-prompts-list'." (defun helm-comint-prompts () "Pre-configured `helm' to browse the prompts of the current comint buffer." (interactive) - (if (apply 'derived-mode-p helm-comint-mode-list) + (if (apply #'derived-mode-p helm-comint-mode-list) (helm :sources (helm-build-sync-source "Comint prompts" :candidates (helm-comint-prompts-list major-mode) - :candidate-transformer 'helm-comint-prompts-transformer + :candidate-transformer #'helm-comint-prompts-transformer :action '(("Go to prompt" . helm-comint-prompts-goto))) :buffer "*helm comint prompts*") (message "Current buffer is not a comint buffer"))) @@ -178,11 +178,11 @@ See `helm-comint-prompts-list'." (defun helm-comint-prompts-all () "Pre-configured `helm' to browse the prompts of all comint sessions." (interactive) - (if (apply 'derived-mode-p helm-comint-mode-list) + (if (apply #'derived-mode-p helm-comint-mode-list) (helm :sources (helm-build-sync-source "All comint prompts" :candidates (helm-comint-prompts-list-all major-mode) - :candidate-transformer 'helm-comint-prompts-all-transformer + :candidate-transformer #'helm-comint-prompts-all-transformer :action (quote (("Go to prompt" . helm-comint-prompts-goto) ("Go to prompt in other window `C-c o`" . helm-comint-prompts-goto-other-window) diff --git a/code/elpa/helm-20220423.1712/helm-command.el b/code/elpa/helm-20220803.1447/helm-command.el similarity index 92% rename from code/elpa/helm-20220423.1712/helm-command.el rename to code/elpa/helm-20220803.1447/helm-command.el index 4e709a3..29491c7 100644 --- a/code/elpa/helm-20220423.1712/helm-command.el +++ b/code/elpa/helm-20220803.1447/helm-command.el @@ -1,6 +1,6 @@ ;;; helm-command.el --- Helm execute-exended-command. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -23,6 +23,15 @@ (require 'helm-mode) (require 'helm-elisp) + +(defvar helm-M-x-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-comp-read-map) + (define-key map (kbd "C-u") nil) + (define-key map (kbd "C-u") #'helm-M-x-universal-argument) + (define-key map (kbd "C-]") #'helm-M-x-toggle-short-doc) + map)) + (defgroup helm-command nil "Emacs command related Applications and libraries for Helm." @@ -30,32 +39,20 @@ (defcustom helm-M-x-always-save-history nil "`helm-M-x' save command in `extended-command-history' even when it fails." - :group 'helm-command :type 'boolean) (defcustom helm-M-x-reverse-history nil "The history source of `helm-M-x' appear in second position when non-nil." - :group 'helm-command :type 'boolean) (defcustom helm-M-x-fuzzy-match t "Helm-M-x fuzzy matching when non nil." - :group 'helm-command :type 'boolean) -(defvar helm-M-x-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map helm-comp-read-map) - (define-key map (kbd "C-u") nil) - (define-key map (kbd "C-u") 'helm-M-x-universal-argument) - (define-key map (kbd "C-]") 'helm-M-x-toggle-short-doc) - map)) - (defcustom helm-M-x-show-short-doc nil "Show short docstring of command when non nil. This value can be toggled with \\\\[helm-M-x-toggle-short-doc] while in helm-M-x session." - :group 'helm-command :type 'boolean) @@ -125,7 +122,7 @@ Return nil if no mode-map found." "Toggle short doc display in helm-M-x." (interactive) (setq helm-M-x-show-short-doc (not helm-M-x-show-short-doc)) - (helm-update (concat "^" (helm-get-selection)) (helm-get-current-source))) + (helm-force-update (concat "^" (helm-get-selection)) (helm-get-current-source))) (put 'helm-M-x-toggle-short-doc 'no-helm-mx t) (defun helm-M-x-transformer-1 (candidates &optional sort ignore-props) @@ -139,7 +136,7 @@ algorithm." (with-helm-current-buffer (cl-loop with max-len = (when helm-M-x-show-short-doc (buffer-local-value 'helm-candidate-buffer-longest-len - (helm-candidate-buffer))) + (get-buffer (helm-candidate-buffer)))) with local-map = (helm-M-x-current-mode-map-alist) for cand in candidates for local-key = (car (rassq cand local-map)) @@ -158,7 +155,7 @@ algorithm." (cons (cond ((and (string-match "^M-x" key) local-key) (format "%s%s%s %s" disp - (if doc (make-string (+ 4 (- max-len (+ (length cand)))) ? ) "") + (if doc (make-string (+ 1 (- max-len (length cand))) ? ) "") (if doc (propertize doc 'face 'helm-M-x-short-doc) "") (propertize " " 'display @@ -166,11 +163,11 @@ algorithm." ((string-match "^M-x" key) (format "%s%s%s" disp - (if doc (make-string (+ 4 (- max-len (+ (length cand)))) ? ) "") + (if doc (make-string (+ 1 (- max-len (length cand))) ? ) "") (if doc (propertize doc 'face 'helm-M-x-short-doc) ""))) (t (format "%s%s%s %s" disp - (if doc (make-string (+ 4 (- max-len (+ (length cand)))) ? ) "") + (if doc (make-string (+ 1 (- max-len (length cand))) ? ) "") (if doc (propertize doc 'face 'helm-M-x-short-doc) "") (propertize " " 'display @@ -240,7 +237,7 @@ algorithm." (defun helm-M-x--before-action-hook () (remove-hook 'helm-move-selection-after-hook - 'helm-M-x--move-selection-after-hook)) + #'helm-M-x--move-selection-after-hook)) (defclass helm-M-x-class (helm-source-in-buffer helm-type-command) ((requires-pattern :initform 0) @@ -257,7 +254,7 @@ algorithm." (when (and helm-M-x--timer (timerp helm-M-x--timer)) (cancel-timer helm-M-x--timer) (setq helm-M-x--timer nil)) - (setq helm-M-x--timer (run-at-time 1 0.1 'helm-M-x--notify-prefix-arg)) + (setq helm-M-x--timer (run-at-time 1 0.1 #'helm-M-x--notify-prefix-arg)) (setq helm--mode-line-display-prefarg t) ;; Prevent displaying a wrong prefix arg when helm-resume is called ;; from prefix arg. @@ -304,20 +301,21 @@ default to `extended-command-history'." (prompt (concat (cond ((eq helm-M-x-prefix-argument '-) "- ") ((and (consp helm-M-x-prefix-argument) - (eq (car helm-M-x-prefix-argument) 4)) "C-u ") + (eq (car helm-M-x-prefix-argument) 4)) + "C-u ") ((and (consp helm-M-x-prefix-argument) (integerp (car helm-M-x-prefix-argument))) (format "%d " (car helm-M-x-prefix-argument))) ((integerp helm-M-x-prefix-argument) (format "%d " helm-M-x-prefix-argument))) "M-x "))) - (setq helm-M-x--timer (run-at-time 1 0.1 'helm-M-x--notify-prefix-arg)) + (setq helm-M-x--timer (run-at-time 1 0.1 #'helm-M-x--notify-prefix-arg)) ;; Fix Bug#2250, add `helm-move-selection-after-hook' which ;; reset prefix arg to nil only for this helm session. (add-hook 'helm-move-selection-after-hook - 'helm-M-x--move-selection-after-hook) + #'helm-M-x--move-selection-after-hook) (add-hook 'helm-before-action-hook - 'helm-M-x--before-action-hook) + #'helm-M-x--before-action-hook) (when (and sources helm-M-x-reverse-history) (setq sources (nreverse sources))) (unwind-protect @@ -326,7 +324,8 @@ default to `extended-command-history'." (helm :sources sources :prompt prompt :buffer "*helm M-x*" - :history 'helm-M-x-input-history)) + :history 'helm-M-x-input-history + :truncate-lines t)) (helm-M-x--unwind-forms)))) ;; When running a command involving again helm from helm-M-x, the @@ -342,12 +341,13 @@ default to `extended-command-history'." (when (timerp helm-M-x--timer) (cancel-timer helm-M-x--timer) (setq helm-M-x--timer nil)) - (setq helm--mode-line-display-prefarg nil) + (setq helm--mode-line-display-prefarg nil + helm-fuzzy-sort-fn (default-toplevel-value 'helm-fuzzy-sort-fn)) ;; Be sure to remove it here as well in case of quit. (remove-hook 'helm-move-selection-after-hook - 'helm-M-x--move-selection-after-hook) + #'helm-M-x--move-selection-after-hook) (remove-hook 'helm-before-action-hook - 'helm-M-x--before-action-hook)) + #'helm-M-x--before-action-hook)) ;; Reset helm-M-x--unwind-forms-done to nil when DONE is ;; unspecified. (setq helm-M-x--unwind-forms-done done)) diff --git a/code/elpa/helm-20220423.1712/helm-config.el b/code/elpa/helm-20220803.1447/helm-config.el similarity index 77% rename from code/elpa/helm-20220423.1712/helm-config.el rename to code/elpa/helm-20220803.1447/helm-config.el index eb84d92..9a83a30 100644 --- a/code/elpa/helm-20220423.1712/helm-config.el +++ b/code/elpa/helm-20220803.1447/helm-config.el @@ -1,6 +1,6 @@ ;;; helm-config.el --- Applications library for `helm.el' -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -18,14 +18,12 @@ ;;; Commentary: ;; ;; Requiring this file is not needed when using a package manager to -;; install helm as this one will take care of loading the autoload -;; file. +;; install helm as this one will take care of creating and loading the +;; autoload file. ;;; Code: -;;; Load the autoload file -;; It should have been generated either by -;; the package manager or the make file. +;;; Load the autoload file generated by the make file. (load "helm-autoloads" nil t) diff --git a/code/elpa/helm-20220423.1712/helm-dabbrev.el b/code/elpa/helm-20220803.1447/helm-dabbrev.el similarity index 96% rename from code/elpa/helm-20220423.1712/helm-dabbrev.el rename to code/elpa/helm-20220803.1447/helm-dabbrev.el index 02c354b..cb85242 100644 --- a/code/elpa/helm-20220423.1712/helm-dabbrev.el +++ b/code/elpa/helm-20220803.1447/helm-dabbrev.el @@ -1,6 +1,6 @@ ;;; helm-dabbrev.el --- Helm implementation of dabbrev. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -31,7 +31,6 @@ Note that even if nil, a search in all buffers will occur if the length of candidates is <= than `helm-dabbrev-max-length-result'." - :group 'helm-dabbrev :type 'boolean) (defcustom helm-dabbrev-candidates-number-limit 1000 @@ -45,13 +44,11 @@ Note that this have nothing to do with candidates stop when this value is reached but only `helm-candidate-number-limit' candidates are displayed in the Helm buffer." - :group 'helm-dabbrev :type 'integer) (defcustom helm-dabbrev-ignored-buffers-regexps '("\\*helm" "\\*Messages" "\\*Echo Area" "\\*Buffer List") "List of regexps matching names of buffers that `helm-dabbrev' should not check." - :group 'helm-dabbrev :type '(repeat regexp)) (defcustom helm-dabbrev-related-buffer-fn #'helm-dabbrev--same-major-mode-p @@ -64,7 +61,6 @@ The function take one arg, the buffer which is current, look at `helm-dabbrev--same-major-mode-p' for an example. When nil all buffers are considered related to `current-buffer'." - :group 'helm-dabbrev :type 'function) (defcustom helm-dabbrev-major-mode-assoc nil @@ -72,30 +68,27 @@ When nil all buffers are considered related to `current-buffer'." This allow helm-dabbrev searching in buffers with the associated `major-mode'. -E.g. \(emacs-lisp-mode . lisp-interaction-mode\) +E.g. (emacs-lisp-mode . lisp-interaction-mode) will allow searching in the lisp-interaction-mode buffer when `current-buffer' is an `emacs-lisp-mode' buffer and vice versa -i.e. no need to provide \(lisp-interaction-mode . -emacs-lisp-mode\) association. +i.e. no need to provide (lisp-interaction-mode . +emacs-lisp-mode) association. When nil check is the searched buffer has same `major-mode' than the `current-buffer'. This has no effect when `helm-dabbrev-related-buffer-fn' is nil or of course bound to a function that doesn't handle this var." - :type '(alist :key-type symbol :value-type symbol) - :group 'helm-dabbrev) + :type '(alist :key-type symbol :value-type symbol)) (defcustom helm-dabbrev-lineno-around 30 "Search first in this number of lines before and after point." - :group 'helm-dabbrev :type 'integer) (defcustom helm-dabbrev-cycle-threshold 5 "Number of time helm-dabbrev cycle before displaying helm completion. When nil or 0 disable cycling." - :group 'helm-dabbrev :type '(choice (const :tag "Cycling disabled" nil) integer)) (defcustom helm-dabbrev-case-fold-search 'smart @@ -103,10 +96,9 @@ When nil or 0 disable cycling." Same as `helm-case-fold-search' but for `helm-dabbrev'. Note that this is not affecting searching in Helm buffer, but the initial search for all candidates in buffer(s)." - :group 'helm-dabbrev :type '(choice (const :tag "Ignore case" t) (const :tag "Respect case" nil) - (other :tag "Smart" 'smart))) + (other :tag "Smart" smart))) (defvaralias 'helm-dabbrev--regexp 'helm-dabbrev-separator-regexp) (make-obsolete-variable 'helm-dabbrev--regexp @@ -120,8 +112,8 @@ initial search for all candidates in buffer(s)." (defvar helm-dabbrev-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "M-/") 'helm-next-line) - (define-key map (kbd "M-:") 'helm-previous-line) + (define-key map (kbd "M-/") #'helm-next-line) + (define-key map (kbd "M-:") #'helm-previous-line) map)) ;; Internal @@ -277,7 +269,7 @@ finally removed." (end (point))) (run-with-timer 0.01 nil - 'helm-insert-completion-at-point + #'helm-insert-completion-at-point beg end candidate)))) ;;;###autoload diff --git a/code/elpa/helm-20220423.1712/helm-easymenu.el b/code/elpa/helm-20220803.1447/helm-easymenu.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-easymenu.el rename to code/elpa/helm-20220803.1447/helm-easymenu.el index c30bc05..690c1c1 100644 --- a/code/elpa/helm-20220423.1712/helm-easymenu.el +++ b/code/elpa/helm-20220803.1447/helm-easymenu.el @@ -1,6 +1,6 @@ ;;; helm-easymenu.el --- Helm easymenu definitions. -*- lexical-binding: t -*- -;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-elisp-package.el b/code/elpa/helm-20220803.1447/helm-elisp-package.el similarity index 95% rename from code/elpa/helm-20220423.1712/helm-elisp-package.el rename to code/elpa/helm-20220803.1447/helm-elisp-package.el index c0c5ddc..692aadf 100644 --- a/code/elpa/helm-20220423.1712/helm-elisp-package.el +++ b/code/elpa/helm-20220803.1447/helm-elisp-package.el @@ -1,6 +1,6 @@ ;;; helm-elisp-package.el --- helm interface for package.el -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -27,7 +27,6 @@ (defcustom helm-el-package-initial-filter 'all "Show only installed, upgraded or all packages at startup." - :group 'helm-el-package :type '(radio :tag "Initial filter for elisp packages" (const :tag "Show all packages" all) (const :tag "Show installed packages" installed) @@ -36,19 +35,16 @@ (defcustom helm-el-truncate-lines t "Truncate lines in `helm-buffer' when non-nil." - :group 'helm-el-package :type 'boolean) (defcustom helm-el-package-upgrade-on-start nil "Show package upgrades on startup when non nil." - :group 'helm-el-package :type 'boolean) (defcustom helm-el-package-autoremove-on-start nil "Try to autoremove no more needed packages on startup. See `package-autoremove'." - :group 'helm-el-package :type 'boolean) ;; internals vars @@ -365,17 +361,17 @@ See `package-autoremove'." (defvar helm-el-package-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "M-I") 'helm-el-package-show-installed) - (define-key map (kbd "M-O") 'helm-el-package-show-uninstalled) - (define-key map (kbd "M-U") 'helm-el-package-show-upgrade) - (define-key map (kbd "M-B") 'helm-el-package-show-built-in) - (define-key map (kbd "M-A") 'helm-el-package-show-all) - (define-key map (kbd "C-c i") 'helm-el-run-package-install) - (define-key map (kbd "C-c r") 'helm-el-run-package-reinstall) - (define-key map (kbd "C-c d") 'helm-el-run-package-uninstall) - (define-key map (kbd "C-c u") 'helm-el-run-package-upgrade) - (define-key map (kbd "C-c U") 'helm-el-run-package-upgrade-all) - (define-key map (kbd "C-c @") 'helm-el-run-visit-homepage) + (define-key map (kbd "M-I") #'helm-el-package-show-installed) + (define-key map (kbd "M-O") #'helm-el-package-show-uninstalled) + (define-key map (kbd "M-U") #'helm-el-package-show-upgrade) + (define-key map (kbd "M-B") #'helm-el-package-show-built-in) + (define-key map (kbd "M-A") #'helm-el-package-show-all) + (define-key map (kbd "C-c i") #'helm-el-run-package-install) + (define-key map (kbd "C-c r") #'helm-el-run-package-reinstall) + (define-key map (kbd "C-c d") #'helm-el-run-package-uninstall) + (define-key map (kbd "C-c u") #'helm-el-run-package-upgrade) + (define-key map (kbd "C-c U") #'helm-el-run-package-upgrade-all) + (define-key map (kbd "C-c @") #'helm-el-run-visit-homepage) map)) (defvar helm-source-list-el-package nil) diff --git a/code/elpa/helm-20220423.1712/helm-elisp.el b/code/elpa/helm-20220803.1447/helm-elisp.el similarity index 84% rename from code/elpa/helm-20220423.1712/helm-elisp.el rename to code/elpa/helm-20220803.1447/helm-elisp.el index 59814e4..7f0455c 100644 --- a/code/elpa/helm-20220423.1712/helm-elisp.el +++ b/code/elpa/helm-20220803.1447/helm-elisp.el @@ -1,6 +1,6 @@ ;;; helm-elisp.el --- Elisp symbols completion for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -56,14 +56,14 @@ This is used in macro `with-helm-show-completion'." callf callf2 cl-callf cl-callf2 fset fboundp fmakunbound symbol-function) "List of function where quoted function completion happen. -E.g. give only function names after \(funcall '." +E.g. give only function names after (funcall \\='." :group 'helm-elisp :type '(repeat (choice symbol))) (defcustom helm-lisp-unquoted-function-list '(function defadvice) "List of function where unquoted function completion happen. -E.g. give only function names after \(function ." +E.g. give only function names after (function ." :group 'helm-elisp :type '(repeat (choice symbol))) @@ -274,7 +274,7 @@ of symbol before point." (defun helm-bounds-of-thing-before-point (&optional regexp) "Get the beginning and end position of `helm-thing-before-point'. -Return a cons \(beg . end\)." +Return a cons (beg . end)." (helm-thing-before-point 'limits regexp)) (defun helm-insert-completion-at-point (beg end str) @@ -331,12 +331,12 @@ Return a cons \(beg . end\)." :fuzzy-match helm-lisp-fuzzy-completion :persistent-help (helm-lisp-completion-persistent-help) :filtered-candidate-transformer - 'helm-lisp-completion-transformer + #'helm-lisp-completion-transformer :action (lambda (candidate) (with-helm-current-buffer (run-with-timer 0.01 nil - 'helm-insert-completion-at-point + #'helm-insert-completion-at-point beg end candidate)))) :input (if helm-lisp-fuzzy-completion target (concat target " ")) @@ -361,16 +361,16 @@ other window according to the value of (defun helm-elisp--show-help-1 (candidate &optional name) (let ((sym (intern-soft candidate))) - (cl-typecase sym - ((and fboundp boundp) + (pcase sym + ((and (pred fboundp) (pred boundp)) (if (member name `(,helm-describe-function-function ,helm-describe-variable-function)) (funcall (intern (format "helm-%s" name)) sym) ;; When there is no way to know what to describe ;; prefer describe-function. (helm-describe-function sym))) - (fbound (helm-describe-function sym)) - (bound (helm-describe-variable sym)) - (face (helm-describe-face sym))))) + ((pred fboundp) (helm-describe-function sym)) + ((pred boundp) (helm-describe-variable sym)) + ((pred facep) (helm-describe-face sym))))) (defun helm-elisp-show-help (candidate &optional name) "Show full help for the function CANDIDATE. @@ -395,36 +395,46 @@ the same time to variable and a function." "Helm candidates transformer for Lisp completion." (cl-loop for c in candidates for sym = (intern c) - for annot = (cl-typecase sym - (command " (Com)") - (class " (Class)") - (cl-generic " (Gen)") - (fbound " (Fun)") - (bound " (Var)") - (face " (Face)")) + for annot = (pcase sym + ((pred commandp) " (Com)") + ((pred class-p) " (Class)") + ((pred cl-generic-p) " (Gen)") + ((pred fboundp) " (Fun)") + ((pred boundp) " (Var)") + ((pred facep) " (Face)")) for spaces = (make-string (- helm-lgst-len (length c)) ? ) collect (cons (concat c spaces annot) c) into lst finally return (sort lst #'helm-generic-sort-fn))) -(defun helm-get-first-line-documentation (sym &optional name) - "Return first line documentation of symbol SYM. -If SYM is not documented, return \"Not documented\"." - (let ((doc (cl-typecase sym - ((and fboundp boundp) - (cond ((string= name "describe-function") +(cl-defun helm-get-first-line-documentation (sym &optional + (name "describe-function") + (end-column 72)) + "Return first line documentation of symbol SYM truncated at END-COLUMN. +If SYM is not documented, return \"Not documented\". +Argument NAME allows specifiying what function to use to display +documentation when SYM name is the same for function and variable." + (let ((doc (condition-case _err + (pcase sym + ((and (pred fboundp) (pred boundp)) + (pcase name + ("describe-function" (documentation sym t)) - ((string= name "describe-variable") + ("describe-variable" (documentation-property sym 'variable-documentation t)) - (t (documentation sym t)))) - (fbound (documentation sym t)) - (bound (documentation-property sym 'variable-documentation t)) - (face (face-documentation sym))))) + (_ (documentation sym t)))) + ((pred fboundp) (documentation sym t)) + ((pred boundp) (documentation-property + sym 'variable-documentation t)) + ((pred facep) (face-documentation sym))) + (void-function "Void function -- Not documented")))) (if (and doc (not (string= doc "")) ;; `documentation' return "\n\n(args...)" ;; for CL-style functions. (not (string-match-p "^\n\n" doc))) ;; Some commands specify key bindings in their first line. - (substitute-command-keys (car (split-string doc "\n"))) + (truncate-string-to-width + (substitute-command-keys (car (split-string doc "\n"))) + end-column nil nil t) "Not documented"))) ;;; File completion. @@ -489,33 +499,54 @@ double quote." ;; (defvar helm-apropos-history nil) -(defun helm-apropos-init (test default) - "Init candidates buffer for `helm-apropos' sources." +(defcustom helm-apropos-show-short-doc nil + "Show short docstring of symbols when non nil. + +NOTE: When displaying helm-apropos in a frame, i.e. when +`helm-apropos' is member of `helm-commands-using-frame' setting this +to non nil have no effect, you have first to remove `helm-apropos' +from `helm-commands-using-frame'." + :group 'helm-elisp + :type 'boolean) + +(defvar helm-apropos-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-map) + (define-key map (kbd "C-]") #'helm-apropos-toggle-details) + map)) + +(defun helm-apropos-init (test default &optional fn) + "Setup `helm-candidate-buffer' for `helm-apropos' sources. +A list of symbols fetched with FN is inserted in +`helm-candidate-buffer', if FN is not provided symbols are fetched +against obarray with predicate TEST. When FN is provided predicate TEST +is only used to test DEFAULT." (require 'helm-help) (helm-init-candidates-in-buffer 'global (let ((default-symbol (and (stringp default) (intern-soft default))) - (symbols (all-completions "" obarray test))) + (symbols (if fn (funcall fn) (all-completions "" obarray test)))) (if (and default-symbol (funcall test default-symbol)) (cons default-symbol symbols) symbols)))) -(defun helm-apropos-init-faces (default) - "Init candidates buffer for faces for `helm-apropos'." - (require 'helm-help) - (with-current-buffer (helm-candidate-buffer 'global) - (goto-char (point-min)) - (let ((default-symbol (and (stringp default) - (intern-soft default))) - (faces (face-list))) - (when (and default-symbol (facep default-symbol)) - (insert (concat default "\n"))) - (insert - (mapconcat #'prin1-to-string - (if default - (cl-remove-if (lambda (sym) (string= sym default)) faces) - faces) - "\n"))))) +(defun helm-apropos-short-doc-transformer (candidates _source) + (if helm-apropos-show-short-doc + (cl-loop with max-len = (buffer-local-value 'helm-candidate-buffer-longest-len + (get-buffer (helm-candidate-buffer))) + for cand in candidates + for doc = (helm-get-first-line-documentation (intern-soft cand)) + collect (cons (format "%s%s%s" + cand + (if doc + (make-string (+ 1 (if (zerop max-len) + max-len + (- max-len (string-width cand)))) + ? ) + "") + (if doc (propertize doc 'face 'helm-M-x-short-doc) "")) + cand)) + candidates)) (defun helm-apropos-default-sort-fn (candidates _source) (if (string= helm-pattern "") @@ -561,7 +592,7 @@ double quote." (cond ((custom-variable-p sym) (append actions - (let ((standard-value (eval (car (get sym 'standard-value))))) + (let ((standard-value (eval (car (get sym 'standard-value)) t))) (unless (equal standard-value (symbol-value sym)) `(("Reset Variable to default value" . ,(lambda (candidate) @@ -585,13 +616,17 @@ double quote." (helm-apropos-init (lambda (x) (and (boundp x) (not (keywordp x)))) default)) :fuzzy-match helm-apropos-fuzzy-match - :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) - 'helm-apropos-default-sort-fn) + :filtered-candidate-transformer + (delq nil (list (and (null helm-apropos-fuzzy-match) + 'helm-apropos-default-sort-fn) + (and (null (memq 'helm-apropos helm-commands-using-frame)) + #'helm-apropos-short-doc-transformer))) :nomark t :persistent-action (lambda (candidate) (helm-elisp--persistent-help candidate 'helm-describe-variable)) :persistent-help "Toggle describe variable" + :keymap helm-apropos-map :action '(("Describe variable" . helm-describe-variable) ("Find variable" . helm-find-variable) ("Info lookup" . helm-info-lookup-symbol) @@ -602,19 +637,22 @@ double quote." "Create `helm' source for faces to be displayed with `helm-apropos'." (helm-build-in-buffer-source "Faces" - :init (lambda () (helm-apropos-init-faces default)) + :init (lambda () (helm-apropos-init 'facep default #'face-list)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer - (append (and (null helm-apropos-fuzzy-match) - '(helm-apropos-default-sort-fn)) - (list - (lambda (candidates _source) - (cl-loop for c in candidates - collect (propertize c 'face (intern c)))))) + (delq nil (list + (and (null helm-apropos-fuzzy-match) + #'helm-apropos-default-sort-fn) + (lambda (candidates _source) + (cl-loop for c in candidates + collect (propertize c 'face (intern c)))) + (and (null (memq 'helm-apropos helm-commands-using-frame)) + #'helm-apropos-short-doc-transformer))) :persistent-action (lambda (candidate) (helm-elisp--persistent-help candidate 'helm-describe-face)) :persistent-help "Toggle describe face" + :keymap helm-apropos-map :action '(("Describe face" . helm-describe-face) ("Find face" . helm-find-face-definition) ("Customize face" . (lambda (candidate) @@ -636,6 +674,7 @@ double quote." (helm-elisp--persistent-help candidate 'helm-describe-function)) :persistent-help "Toggle describe command" + :keymap helm-apropos-map :action 'helm-type-function-actions)) (defun helm-def-source--emacs-functions (&optional default) @@ -648,13 +687,17 @@ double quote." (not (class-p x)))) default)) :fuzzy-match helm-apropos-fuzzy-match - :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) - 'helm-apropos-default-sort-fn) + :filtered-candidate-transformer + (delq nil (list (and (null helm-apropos-fuzzy-match) + 'helm-apropos-default-sort-fn) + (and (null (memq 'helm-apropos helm-commands-using-frame)) + #'helm-apropos-short-doc-transformer))) :display-to-real 'helm-symbolify :persistent-action (lambda (candidate) (helm-elisp--persistent-help candidate 'helm-describe-function)) :persistent-help "Toggle describe function" + :keymap helm-apropos-map :nomark t :action 'helm-type-function-actions)) @@ -665,13 +708,17 @@ double quote." (class-p x)) default)) :fuzzy-match helm-apropos-fuzzy-match - :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) - 'helm-apropos-default-sort-fn) + :filtered-candidate-transformer + (delq nil (list (and (null helm-apropos-fuzzy-match) + 'helm-apropos-default-sort-fn) + (and (null (memq 'helm-apropos helm-commands-using-frame)) + #'helm-apropos-short-doc-transformer))) :nomark t :persistent-action (lambda (candidate) (helm-elisp--persistent-help candidate 'helm-describe-class)) :persistent-help "Toggle describe class" + :keymap helm-apropos-map :action '(("Describe Class" . helm-describe-class) ("Find Class" . helm-find-function) ("Info lookup" . helm-info-lookup-symbol)))) @@ -683,13 +730,17 @@ double quote." (cl-generic-p x)) default)) :fuzzy-match helm-apropos-fuzzy-match - :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) - 'helm-apropos-default-sort-fn) + :filtered-candidate-transformer + (delq nil (list (and (null helm-apropos-fuzzy-match) + 'helm-apropos-default-sort-fn) + (and (null (memq 'helm-apropos helm-commands-using-frame)) + #'helm-apropos-short-doc-transformer))) :nomark t :persistent-action (lambda (candidate) (helm-elisp--persistent-help candidate 'helm-describe-function)) :persistent-help "Toggle describe generic function" + :keymap helm-apropos-map :action '(("Describe function" . helm-describe-function) ("Find function" . helm-find-function) ("Info lookup" . helm-info-lookup-symbol)))) @@ -735,6 +786,16 @@ double quote." ;; (run-with-idle-timer 0.01 nil #'helm-info-lookup-symbol-1 candidate) (helm-info-lookup-symbol-1 candidate)) +(defun helm-apropos-toggle-details () + "Toggle details in `helm-apropos'." + (interactive) + (with-helm-buffer + (unless (memq 'helm-apropos helm-commands-using-frame) + (setq helm-M-x-show-short-doc (not helm-M-x-show-short-doc) + helm-apropos-show-short-doc (not helm-apropos-show-short-doc)) + (helm-force-update (concat "^" (helm-stringify (helm-get-selection))) + (helm-get-current-source))))) + ;;;###autoload (defun helm-apropos (default) "Preconfigured Helm to describe commands, functions, variables and faces. @@ -742,14 +803,17 @@ In non interactives calls DEFAULT argument should be provided as a string, i.e. the `symbol-name' of any existing symbol." (interactive (list (with-syntax-table emacs-lisp-mode-syntax-table (thing-at-point 'symbol)))) - (let (helm-M-x-show-short-doc) + (let ((helm-M-x-show-short-doc + (and helm-apropos-show-short-doc + (null (memq 'helm-apropos helm-commands-using-frame))))) (helm :sources (mapcar (lambda (func) (funcall func default)) helm-apropos-function-list) :history 'helm-apropos-history :buffer "*helm apropos*" - :preselect (and default (concat "\\_<" (regexp-quote default) "\\_>"))))) + :preselect (and default (concat "^\\_<" (regexp-quote default) "\\_>")) + :truncate-lines t))) ;;; Advices @@ -903,13 +967,16 @@ a string, i.e. the `symbol-name' of any existing symbol." (format "%s repeat=%s %s(%s)" (let ((time (timer--time timer))) (if (timer--idle-delay timer) - (format-time-string "idle-for=%5s" time) + (format "idle-for=[%s]" + (format-seconds "%dd %hh %mmin %z%,3ss" + (time-convert time t))) (format-time-string "%m/%d %T" time))) (or (timer--repeat-delay timer) "nil") - (mapconcat 'identity (split-string + (mapconcat #'identity (split-string (prin1-to-string (timer--function timer)) - "\n") " ") - (mapconcat 'prin1-to-string (timer--args timer) " "))) + "\n") + " ") + (mapconcat #'prin1-to-string (timer--args timer) " "))) ;;;###autoload (defun helm-timers () @@ -934,7 +1001,7 @@ a string, i.e. the `symbol-name' of any existing symbol." ;; an interactive call, See `repeat-complex-command'. (add-hook 'called-interactively-p-functions #'helm-complex-command-history--called-interactively-skip) - (eval (read helm-sexp--last-sexp))) + (eval (read helm-sexp--last-sexp) t)) (remove-hook 'called-interactively-p-functions #'helm-complex-command-history--called-interactively-skip))) diff --git a/code/elpa/helm-20220423.1712/helm-epa.el b/code/elpa/helm-20220803.1447/helm-epa.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-epa.el rename to code/elpa/helm-20220803.1447/helm-epa.el index 073b188..bc3968a 100644 --- a/code/elpa/helm-20220423.1712/helm-epa.el +++ b/code/elpa/helm-20220803.1447/helm-epa.el @@ -1,4 +1,4 @@ -;;; helm-epa.el --- helm interface for epa/epg +;;; helm-epa.el --- helm interface for epa/epg -*- lexical-binding: t; -*- ;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto @@ -170,7 +170,7 @@ (signal (car error) (cdr error)))) (message "Deleting gpg keys done"))) -(defun helm-epa-encrypt-file (candidate) +(defun helm-epa-encrypt-file (_candidate) "Select a file to encrypt with key CANDIDATE." (let* ((file (helm-read-file-name "Encrypt file: ")) (cands (helm-marked-candidates)) @@ -216,7 +216,7 @@ (epa-sign-region start end candidate mode)) (message "Mail signed with key `%s %s'" key id))) -(defun helm-epa-mail-encrypt (candidate) +(defun helm-epa-mail-encrypt (_candidate) "Encrypt email with key CANDIDATE." (let ((cands (helm-marked-candidates)) start end) diff --git a/code/elpa/helm-20220423.1712/helm-eshell.el b/code/elpa/helm-20220803.1447/helm-eshell.el similarity index 96% rename from code/elpa/helm-20220423.1712/helm-eshell.el rename to code/elpa/helm-20220803.1447/helm-eshell.el index 79ec710..c41b191 100644 --- a/code/elpa/helm-20220423.1712/helm-eshell.el +++ b/code/elpa/helm-20220803.1447/helm-eshell.el @@ -1,6 +1,6 @@ ;;; helm-eshell.el --- pcomplete and eshell completion for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -50,21 +50,20 @@ (defcustom helm-eshell-fuzzy-match nil "Enable fuzzy matching in `helm-esh-pcomplete' when non-nil." - :group 'helm-eshell :type 'boolean) (defvar helm-eshell-history-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "M-p") 'helm-next-line) + (define-key map (kbd "M-p") #'helm-next-line) map) "Keymap for `helm-eshell-history'.") (defvar helm-esh-completion-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "TAB") 'helm-next-line) + (define-key map (kbd "TAB") #'helm-next-line) map) "Keymap for `helm-esh-pcomplete'.") @@ -116,7 +115,7 @@ at point." (t (file-relative-name i))) into lst - finally return (sort lst 'helm-generic-sort-fn))) + finally return (sort lst #'helm-generic-sort-fn))) (defclass helm-esh-source (helm-source-sync) ((init :initform (lambda () @@ -305,7 +304,7 @@ at point." ;; Set helm-eshell--quit-flag to non-nil only on ;; quit, this tells to not add final suffix when quitting ;; helm. - (add-hook 'helm-quit-hook 'helm-eshell--quit-hook-fn) + (add-hook 'helm-quit-hook #'helm-eshell--quit-hook-fn) (with-helm-show-completion beg end (unwind-protect (or (helm-esh-pcomplete--make-helm @@ -332,7 +331,7 @@ at point." (when (and helm-eshell--quit-flag (string-match-p "[.]\\{2\\}\\'" last)) (insert "/")))) - (remove-hook 'helm-quit-hook 'helm-eshell--quit-hook-fn) + (remove-hook 'helm-quit-hook #'helm-eshell--quit-hook-fn) (setq helm-eshell--quit-flag nil))))))) (defun helm-eshell--quit-hook-fn () @@ -368,25 +367,22 @@ at point." (defface helm-eshell-prompts-promptidx `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "cyan")) - "Face used to highlight Eshell prompt index." - :group 'helm-eshell-faces) + "Face used to highlight Eshell prompt index.") (defface helm-eshell-prompts-buffer-name `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "green")) - "Face used to highlight Eshell buffer name." - :group 'helm-eshell-faces) + "Face used to highlight Eshell buffer name.") (defcustom helm-eshell-prompts-promptidx-p t "Show prompt number." - :group 'helm-eshell :type 'boolean) (defvar helm-eshell-prompts-keymap (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "C-c o") 'helm-eshell-prompts-other-window) - (define-key map (kbd "C-c C-o") 'helm-eshell-prompts-other-frame) + (define-key map (kbd "C-c o") #'helm-eshell-prompts-other-window) + (define-key map (kbd "C-c C-o") #'helm-eshell-prompts-other-frame) map) "Keymap for `helm-eshell-prompt-all'.") diff --git a/code/elpa/helm-20220423.1712/helm-eval.el b/code/elpa/helm-20220803.1447/helm-eval.el similarity index 73% rename from code/elpa/helm-20220423.1712/helm-eval.el rename to code/elpa/helm-20220803.1447/helm-eval.el index 0a20238..72b7884 100644 --- a/code/elpa/helm-20220423.1712/helm-eval.el +++ b/code/elpa/helm-20220803.1447/helm-eval.el @@ -1,6 +1,6 @@ ;;; helm-eval.el --- eval expressions from helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -22,6 +22,8 @@ (require 'eldoc) (require 'edebug) +(declare-function helm-lisp-completion-at-point "helm-elisp.el") + (defgroup helm-eval nil "Eval related Applications and libraries for Helm." @@ -70,31 +72,32 @@ Should take one arg: the string to display." (defvar helm-eval-expression-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "") 'helm-eval-new-line-and-indent) - (define-key map (kbd "") 'lisp-indent-line) - (define-key map (kbd "") 'helm-lisp-completion-at-point) - (define-key map (kbd "C-p") 'previous-line) - (define-key map (kbd "C-n") 'next-line) - (define-key map (kbd "") 'previous-line) - (define-key map (kbd "") 'next-line) - (define-key map (kbd "") 'forward-char) - (define-key map (kbd "") 'backward-char) + (define-key map (kbd "") #'helm-eval-new-line-and-indent) + (define-key map (kbd "") #'lisp-indent-line) + (define-key map (kbd "") #'helm-lisp-completion-at-point) + (define-key map (kbd "C-p") #'previous-line) + (define-key map (kbd "C-n") #'next-line) + (define-key map (kbd "") #'previous-line) + (define-key map (kbd "") #'next-line) + (define-key map (kbd "") #'forward-char) + (define-key map (kbd "") #'backward-char) map)) (defun helm-build-evaluation-result-source () (helm-build-dummy-source "Evaluation Result" :multiline t :mode-line "C-RET: nl-and-indent, M-tab: reindent, C-tab:complete, C-p/n: next/prec-line." - :filtered-candidate-transformer (lambda (_candidates _source) - (list - (condition-case nil - (with-helm-current-buffer - (pp-to-string - (if edebug-active - (edebug-eval-expression - (read helm-pattern)) - (eval (read helm-pattern))))) - (error "Error")))) + :filtered-candidate-transformer + (lambda (_candidates _source) + (list + (condition-case nil + (with-helm-current-buffer + (pp-to-string + (if edebug-active + (edebug-eval-expression + (read helm-pattern)) + (eval (read helm-pattern) t)))) + (error "Error")))) :nohighlight t :keymap helm-eval-expression-map :action '(("Copy result to kill-ring" . (lambda (candidate) @@ -115,27 +118,36 @@ Should take one arg: the string to display." (with-selected-window (minibuffer-window) (push (current-buffer) helm-eldoc-active-minibuffers-list))) +;; From emacs-28.1: As the eldoc API is nowaday a pain to use, try to +;; provide some eldoc in mode-line the best as possible (may break at +;; some point). (defun helm-eldoc-show-in-eval () "Return eldoc in mode-line for current minibuffer input." (let ((buf (window-buffer (active-minibuffer-window)))) (condition-case err (when (member buf helm-eldoc-active-minibuffers-list) (with-current-buffer buf - (let* ((sym (save-excursion - (unless (looking-back ")\\|\"" (1- (point))) - (forward-char -1)) - (eldoc-current-symbol))) - (info-fn (eldoc-fnsym-in-current-sexp)) - (doc (or (eldoc-get-var-docstring sym) + (let* ((info-fn (eldoc-fnsym-in-current-sexp)) + (vsym (eldoc-current-symbol)) + (sym (car info-fn)) + (vardoc (eldoc-get-var-docstring vsym)) + (doc (or vardoc (eldoc-get-fnsym-args-string - (car info-fn) (cadr info-fn))))) - (when doc (funcall helm-eldoc-in-minibuffer-show-fn doc))))) + sym (cadr info-fn)))) + (all (format "%s: %s" + (propertize + (symbol-name (if vardoc vsym sym)) + 'face (if vardoc + 'font-lock-variable-name-face + 'font-lock-function-name-face)) + doc))) + (when doc (funcall helm-eldoc-in-minibuffer-show-fn all))))) (error (message "Eldoc in minibuffer error: %S" err) nil)))) (defun helm-show-info-in-mode-line (str) "Display string STR in mode-line." (save-selected-window - (with-current-buffer helm-buffer + (with-helm-window (let ((mode-line-format (concat " " str))) (force-mode-line-update) (sit-for helm-show-info-in-mode-line-delay)) @@ -168,11 +180,12 @@ Should take one arg: the string to display." (defun helm-eval-expression (arg) "Preconfigured `helm' for `helm-source-evaluation-result'." (interactive "P") - (helm :sources (helm-build-evaluation-result-source) - :input (when arg (thing-at-point 'sexp)) - :buffer "*helm eval*" - :echo-input-in-header-line nil - :history 'read-expression-history)) + (let ((helm-elisp-help-function #'helm-elisp-show-doc-modeline)) + (helm :sources (helm-build-evaluation-result-source) + :input (when arg (thing-at-point 'sexp)) + :buffer "*helm eval*" + :echo-input-in-header-line nil + :history 'read-expression-history))) (defvar eldoc-idle-delay) ;;;###autoload @@ -181,10 +194,10 @@ Should take one arg: the string to display." (interactive) (let ((timer (run-with-idle-timer eldoc-idle-delay 'repeat - 'helm-eldoc-show-in-eval))) + #'helm-eldoc-show-in-eval))) (unwind-protect (minibuffer-with-setup-hook - 'helm-eldoc-store-minibuffer + #'helm-eldoc-store-minibuffer (call-interactively 'helm-eval-expression)) (and timer (cancel-timer timer)) (setq helm-eldoc-active-minibuffers-list diff --git a/code/elpa/helm-20220423.1712/helm-external.el b/code/elpa/helm-20220803.1447/helm-external.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-external.el rename to code/elpa/helm-20220803.1447/helm-external.el index d8ef704..b780836 100644 --- a/code/elpa/helm-20220423.1712/helm-external.el +++ b/code/elpa/helm-20220803.1447/helm-external.el @@ -1,6 +1,6 @@ ;;; helm-external.el --- Run Externals commands within Emacs with helm completion. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -39,7 +39,7 @@ This will be use with `format', so use something like \"wmctrl -xa %s\"." (defcustom helm-external-programs-associations nil "Alist to store externals programs associated with file extension. This variable overhide setting in .mailcap file. -E.g.: '\(\(\"jpg\" . \"gqview\"\) (\"pdf\" . \"xpdf\"\)\) " +E.g.: \\='((\"jpg\" . \"gqview\") (\"pdf\" . \"xpdf\")) " :type '(alist :key-type string :value-type string) :group 'helm-external) diff --git a/code/elpa/helm-20220423.1712/helm-fd.el b/code/elpa/helm-20220803.1447/helm-fd.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-fd.el rename to code/elpa/helm-20220803.1447/helm-fd.el index 1ee105e..69d1116 100644 --- a/code/elpa/helm-20220423.1712/helm-fd.el +++ b/code/elpa/helm-20220803.1447/helm-fd.el @@ -1,6 +1,6 @@ ;;; helm-fd.el --- helm interface for fd command line tool. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-files.el b/code/elpa/helm-20220803.1447/helm-files.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-files.el rename to code/elpa/helm-20220803.1447/helm-files.el index 7e2084e..55a2eff 100644 --- a/code/elpa/helm-20220423.1712/helm-files.el +++ b/code/elpa/helm-20220803.1447/helm-files.el @@ -1,6 +1,6 @@ ;;; helm-files.el --- helm file browser and related. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -100,8 +100,177 @@ (defvar eshell-debug-command) (defvar eshell-current-command) (defvar tramp-archive-enabled) +(defvar password-cache) +;;; Internal vars +;; +(defvar helm-ff-last-expanded-candidate-regexp "^[[:multibyte:] ]*%s$" + "Regexp that retrieve previous candidate when going up one level. +The default value matching a multibyte char at bol allows prefixing +candidate with an icon. The format part will be replaced by the +display part of the candidate regexp quoted.") + +(defvar helm-find-files-doc-header " (\\\\[helm-find-files-up-one-level]: Go up one level)" + "*The doc that is inserted in the Name header of a find-files or dired source.") +(defvar helm-ff-auto-update-flag nil + "Internal, flag to turn on/off auto-update in `helm-find-files'. +Don't set it directly, use instead `helm-ff-auto-update-initial-value'.") +(defvar helm-ff-last-expanded nil + "Store last expanded directory or file.") +(defvar helm-ff-default-directory nil) +(defvar helm-ff-history nil) +(defvar helm-ff-url-regexp + "\\`\\(news\\(post\\)?:\\|nntp:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\):/?/?\\).*" + "Same as `ffap-url-regexp' but match earlier possible url.") +;; helm-tramp-file-name-regexp is based on old version of +;; tramp-file-name-regexp i.e. "\\`/\\([^[/:]+\\|[^/]+]\\):" but it +;; seems it is wrong and a simpler regexp is enough, let's try it and +;; watch out! +(defvar helm-tramp-file-name-regexp "\\`/\\([^/:|]+\\):") +(defvar helm-ff-tramp-method-regexp "[/|]:\\([^:]*\\)") +(defvar helm-marked-buffer-name "*helm marked*") +(defvar helm-ff--auto-update-state nil) +(defvar helm-ff--deleting-char-backward nil) +(defvar helm-multi-files--toggle-locate nil) +(defvar helm-ff--move-to-first-real-candidate t) +(defvar helm-find-files--toggle-bookmark nil) +(defvar helm-ff--tramp-methods nil) +(defvar helm-ff--directory-files-length (make-hash-table :test 'equal) + "Used to count number of candidates in directory. +candidate-number-limit is set to this value if this value is bigger +than `helm-candidate-number-limit'.") +(defvar helm-ff--list-directory-cache (make-hash-table :test 'equal) + "Cache for `helm-find-files' candidates.") +(defvar helm-ff--file-notify-watchers (make-hash-table :test 'equal) + "File-notify watchers for `helm-find-files' are stored here.") +(defvar helm-ff-history-buffer-name "*helm-find-files history*") +(defvar helm-rsync-command-history nil) +(defvar helm-rsync--last-progress-bar-alist nil + "Used to store last valid rsync progress bar.") +(defvar helm-rsync-process-buffer "*helm-rsync*") +(defvar helm-rsync-progress-str-alist nil) +(defvar helm-ff--trash-directory-regexp "\\.?Trash[/0-9]+files/?\\'") +(defvar helm-ff--show-directories-only nil) +(defvar helm-ff--show-files-only nil) +(defvar helm-ff--trashed-files nil + "[INTERNAL] Files already trashed are stored here during file deletion. +This is used only as a let binding.") +(defvar helm-ff--show-thumbnails nil) +(defvar helm-ff--thumbnailed-directories nil) + + +;;; Helm-find-files - The helm file browser. +;; +;; Keymaps + +(defvar helm-find-files-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-map) + (define-key map (kbd "RET") 'helm-ff-RET) + (define-key map (kbd "C-]") 'helm-ff-run-toggle-basename) + (define-key map (kbd "C-x C-f") 'helm-ff-run-locate) + (define-key map (kbd "C-x C-d") 'helm-ff-run-browse-project) + (define-key map (kbd "C-x r m") 'helm-ff-bookmark-set) + (define-key map (kbd "C-x r b") 'helm-find-files-switch-to-bookmark) + (define-key map (kbd "C-x C-q") 'helm-ff-run-marked-files-in-dired) + (define-key map (kbd "C-s") 'helm-ff-run-grep) + (define-key map (kbd "M-g s") 'helm-ff-run-grep) + (define-key map (kbd "M-g p") 'helm-ff-run-pdfgrep) + (define-key map (kbd "M-g z") 'helm-ff-run-zgrep) + (define-key map (kbd "M-g a") 'helm-ff-run-grep-ag) + (define-key map (kbd "M-g g") 'helm-ff-run-git-grep) + (define-key map (kbd "M-g i") 'helm-ff-run-gid) + (define-key map (kbd "M-.") 'helm-ff-run-etags) + (define-key map (kbd "M-R") 'helm-ff-run-rename-file) + (define-key map (kbd "M-C") 'helm-ff-run-copy-file) + (when (executable-find "rsync") + (define-key map (kbd "M-V") 'helm-ff-run-rsync-file)) + (define-key map (kbd "M-B") 'helm-ff-run-byte-compile-file) + (define-key map (kbd "M-L") 'helm-ff-run-load-file) + (define-key map (kbd "M-S") 'helm-ff-run-symlink-file) + (define-key map (kbd "M-Y") 'helm-ff-run-relsymlink-file) + (define-key map (kbd "M-H") 'helm-ff-run-hardlink-file) + (define-key map (kbd "M-D") 'helm-ff-run-delete-file) + (define-key map (kbd "M-K") 'helm-ff-run-kill-buffer-persistent) + (define-key map (kbd "M-T") 'helm-ff-run-touch-files) + (define-key map (kbd "C-c d") 'helm-ff-persistent-delete) + (define-key map (kbd "M-e") 'helm-ff-run-switch-to-shell) + (define-key map (kbd "C-c i") 'helm-ff-run-complete-fn-at-point) + (define-key map (kbd "C-c o") 'helm-ff-run-switch-other-window) + (define-key map (kbd "C-c C-o") 'helm-ff-run-switch-other-frame) + (define-key map (kbd "C-c C-x") 'helm-ff-run-open-file-externally) + (define-key map (kbd "C-c C-v") 'helm-ff-run-preview-file-externally) + (define-key map (kbd "C-c X") 'helm-ff-run-open-file-with-default-tool) + (define-key map (kbd "C-c t") 'helm-ff-toggle-thumbnails) + (define-key map (kbd "M-!") 'helm-ff-run-eshell-command-on-file) + (define-key map (kbd "M-@") 'helm-ff-run-query-replace-fnames-on-marked) + (define-key map (kbd "M-%") 'helm-ff-run-query-replace) + (define-key map (kbd "C-M-%") 'helm-ff-run-query-replace-regexp) + (define-key map (kbd "C-c =") 'helm-ff-run-ediff-file) + (define-key map (kbd "M-=") 'helm-ff-run-ediff-merge-file) + (define-key map (kbd "M-p") 'helm-find-files-history) + (define-key map (kbd "C-c h") 'helm-ff-file-name-history) + (define-key map (kbd "M-i") 'helm-ff-properties-persistent) + (define-key map (kbd "C-}") 'helm-narrow-window) + (define-key map (kbd "C-{") 'helm-enlarge-window) + (define-key map (kbd "C-") 'helm-ff-run-toggle-auto-update) + (define-key map (kbd "C-c ") 'helm-ff-run-toggle-auto-update) + (define-key map (kbd "C-c C-a") 'helm-ff-run-mail-attach-files) + (define-key map (kbd "C-c p") 'helm-ff-run-print-file) + (define-key map (kbd "C-c /") 'helm-ff-run-find-sh-command) + (define-key map (kbd "C-/") 'helm-ff-run-fd) + ;; Next 2 have no effect if candidate is not an image file. + (define-key map (kbd "M-l") 'helm-ff-rotate-left-persistent) + (define-key map (kbd "M-r") 'helm-ff-rotate-right-persistent) + (define-key map (kbd "M-+") 'helm-ff-increase-image-size-persistent) + (define-key map (kbd "M--") 'helm-ff-decrease-image-size-persistent) + (define-key map (kbd "C-l") 'helm-find-files-up-one-level) + (define-key map (kbd "C-:") 'helm-ff-complete-tramp-methods) + (define-key map (kbd "C-_") 'helm-ff-undo) + (define-key map (kbd "C-r") 'helm-find-files-down-last-level) + (define-key map (kbd "C-c r") 'helm-ff-run-find-file-as-root) + (define-key map (kbd "C-x C-v") 'helm-ff-run-find-alternate-file) + (define-key map (kbd "C-c @") 'helm-ff-run-insert-org-link) + (define-key map (kbd "S-") 'helm-ff-sort-alpha) + (define-key map (kbd "S-") 'helm-ff-sort-by-newest) + (define-key map (kbd "S-") 'helm-ff-sort-by-size) + (define-key map (kbd "S-") 'helm-ff-toggle-dirs-only) + (define-key map (kbd "S-") 'helm-ff-toggle-files-only) + (define-key map (kbd "S-") 'helm-ff-sort-by-ext) + (helm-define-key-with-subkeys map (kbd "DEL") ?\d 'helm-ff-delete-char-backward + '((C-backspace . helm-ff-run-toggle-auto-update) + ([C-c DEL] . helm-ff-run-toggle-auto-update)) + nil 'helm-ff-delete-char-backward--exit-fn) + (when (fboundp 'tab-bar-mode) + (define-key map (kbd "C-c C-t") 'helm-ff-find-file-other-tab)) + map) + "Keymap for `helm-find-files'.") + +(defvar helm-read-file-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-map) + (define-key map (kbd "") 'helm-cr-empty-string) + (define-key map (kbd "M-RET") 'helm-cr-empty-string) + (define-key map (kbd "C-]") 'helm-ff-run-toggle-basename) + (define-key map (kbd "C-.") 'helm-find-files-up-one-level) + (define-key map (kbd "C-l") 'helm-find-files-up-one-level) + (define-key map (kbd "C-:") 'helm-ff-complete-tramp-methods) + (define-key map (kbd "C-_") 'helm-ff-undo) + (define-key map (kbd "C-r") 'helm-find-files-down-last-level) + (define-key map (kbd "C-c h") 'helm-ff-file-name-history) + (define-key map (kbd "C-") 'helm-ff-run-toggle-auto-update) + (define-key map (kbd "C-c ") 'helm-ff-run-toggle-auto-update) + (define-key map (kbd "RET") 'helm-ff-RET) + (helm-define-key-with-subkeys map (kbd "DEL") ?\d 'helm-ff-delete-char-backward + '((C-backspace . helm-ff-run-toggle-auto-update) + ([C-c DEL] . helm-ff-run-toggle-auto-update)) + nil 'helm-ff-delete-char-backward--exit-fn) + map) + "Keymap for `helm-read-file-name'.") + +;;; User variables +;; (defgroup helm-files nil "Files applications and libraries for Helm." :group 'helm) @@ -110,8 +279,7 @@ "Just like `tramp-verbose' but specific to Helm. When set to 0 don't show tramp messages in Helm. If you want to have the default tramp messages set it to 3." - :type 'integer - :group 'helm-files) + :type 'integer) (defcustom helm-ff-auto-update-initial-value nil "Auto update when only one candidate directory is matched. @@ -119,48 +287,40 @@ Default value when starting `helm-find-files' is nil to not confuse new users. For a better experience with `helm-find-files' set this to non-nil and use C- to toggle it." - :group 'helm-files :type 'boolean) (defcustom helm-ff-history-max-length 100 "Number of elements shown in `helm-find-files' history." - :group 'helm-files :type 'integer) (defcustom helm-ff-fuzzy-matching t "Enable fuzzy matching for `helm-find-files' when non--nil. See `helm-ff--transform-pattern-for-completion' for more info." - :group 'helm-files :type 'boolean) (defcustom helm-ff-exif-data-program "exiftran" "Program used to extract exif data of an image file." - :group 'helm-files :type 'string) (defcustom helm-ff-exif-data-program-args "-d" "Arguments used for `helm-ff-exif-data-program'." - :group 'helm-files :type 'string) (defcustom helm-ff-newfile-prompt-p t "Whether Prompt or not when creating new file. This set `ffap-newfile-prompt'." - :type 'boolean - :group 'helm-files) + :type 'boolean) (defcustom helm-ff-avfs-directory "~/.avfs" - "The default avfs directory, usually '~/.avfs'. + "The default avfs directory, usually \\='~/.avfs'. When this is set you will be able to expand archive filenames with `C-j' inside an avfs directory mounted with mountavfs. See ." - :type 'string - :group 'helm-files) + :type 'string) (defcustom helm-ff-file-compressed-list '("gz" "bz2" "zip" "7z") "Minimal list of compressed files extension." - :type '(repeat (choice string)) - :group 'helm-files) + :type '(repeat (choice string))) (defcustom helm-ff-printer-list nil "A list of available printers on your system. @@ -169,37 +329,31 @@ Otherwise when nil the variable `printer-name' will be used. On Unix based systems (lpstat command needed) you don't need to set this, `helm-ff-find-printers' will find a list of available printers for you." - :type '(repeat (choice string)) - :group 'helm-files) + :type '(repeat (choice string))) (defcustom helm-ff-transformer-show-only-basename t "Show only basename of candidates in `helm-find-files'. This can be toggled at anytime from `helm-find-files' with \ \\\\[helm-ff-run-toggle-basename]." - :type 'boolean - :group 'helm-files) + :type 'boolean) (defcustom helm-ff-signal-error-on-dot-files t "Signal error when file is `.' or `..' on file deletion when non-nil. Default is non-nil. WARNING: Setting this to nil is unsafe and can cause deletion of a whole tree." - :group 'helm-files :type 'boolean) (defcustom helm-ff-search-library-in-sexp nil "Search for library in `require' and `declare-function' sexp." - :group 'helm-files :type 'boolean) (defcustom helm-tooltip-hide-delay 25 "Hide tooltips automatically after this many seconds." - :group 'helm-files :type 'integer) (defcustom helm-ff-file-name-history-use-recentf nil "Use `recentf-list' instead of `file-name-history' in `helm-find-files'." - :group 'helm-files :type 'boolean) (defcustom helm-ff-skip-boring-files nil @@ -208,7 +362,6 @@ I.e. the files matching regexps in `helm-boring-file-regexp-list'. This takes effect in `helm-find-files' and file completion used by `helm-mode' i.e. `helm-read-file-name'. Note that when non-nil this will slow down slightly `helm-find-files'." - :group 'helm-files :type 'boolean) (defcustom helm-ff-skip-git-ignored-files nil @@ -217,7 +370,6 @@ This take effect only in `helm-find-files'. Check is not done on remote files. Note that when non-nil this will slow down slightly `helm-find-files'." - :group 'helm-files :type 'boolean) (defcustom helm-ff-candidate-number-limit 5000 @@ -228,7 +380,6 @@ length of directory will be used instead if it is higher than this value. This is to avoid failing to preselect the previous directory/file if this one is situated lower than `helm-ff-candidate-number-limit' num candidate." - :group 'helm-files :type 'integer) (defcustom helm-ff-up-one-level-preselect t @@ -242,36 +393,30 @@ candidate in its directory is > to It can be helpful to disable this and reduce `helm-ff-candidate-number-limit' if you often navigate across very large directories." - :group 'helm-files :type 'boolean) (defcustom helm-files-save-history-extra-sources '("Find" "Locate" "Recentf" "Files from Current Directory" "File Cache") "Extras source that save candidate to `file-name-history'." - :group 'helm-files :type '(repeat (choice string))) (defcustom helm-find-files-before-init-hook nil "Hook that run before initialization of `helm-find-files'." - :group 'helm-files :type 'hook) (defcustom helm-find-files-after-init-hook nil "Hook that run after initialization of `helm-find-files'." - :group 'helm-files :type 'hook) (defcustom helm-find-files-bookmark-prefix nil "bookmark name prefix of `helm-find-files' sessions." - :group 'helm-files :type 'string) (defcustom helm-ff-guess-ffap-filenames nil "Use ffap to guess local filenames at point in `helm-find-files'. This doesn't disable url or mail at point, see `helm-ff-guess-ffap-urls' for this." - :group 'helm-files :type 'boolean) (defcustom helm-ff-guess-ffap-urls t @@ -280,17 +425,14 @@ This doesn't disable guessing filenames at point, see `helm-ff-guess-ffap-filenames' for this. See also `ffap-url-unwrap-remote' that may override this variable." - :group 'helm-files :type 'boolean) (defcustom helm-ff-no-preselect nil "When non-nil `helm-find-files' starts at root of current directory." - :group 'helm-files :type 'boolean) (defcustom helm-ff-allow-non-existing-file-at-point nil "Use non existing file-at-point as initial input in `helm-find-files'." - :group 'helm-files :type 'boolean) (defcustom helm-find-files-ignore-thing-at-point nil @@ -298,17 +440,14 @@ variable." I.e. text under cursor in `current-buffer' is ignored. Note that when non-nil you will be unable to complete filename at point in `current-buffer'." - :group 'helm-files :type 'boolean) (defcustom helm-substitute-in-filename-stay-on-remote nil "Don't switch back to local filesystem when expanding pattern with / or ~/." - :group 'helm-files :type 'boolean) (defcustom helm-ff-goto-first-real-dired-exceptions '(dired-goto-file) "Dired commands that are allowed moving to first real candidate." - :group 'helm-files :type '(repeat (choice symbol))) (defcustom helm-mounted-network-directories nil @@ -318,7 +457,6 @@ When nil `helm-file-on-mounted-network-p' always return nil otherwise check if a file is in one of these directories. Remote filesystem are generally mounted with sshfs." - :group 'helm-files :type '(repeat string)) (defcustom helm-browse-project-default-find-files-fn @@ -332,7 +470,6 @@ Remote filesystem are generally mounted with sshfs." "The default function to retrieve files in a non-vc directory. A function that takes a directory name as only arg." - :group 'helm-files :type 'function) (defcustom helm-ff-kill-or-find-buffer-fname-fn @@ -355,22 +492,19 @@ just set this to `ignore' function. Of course you can also write your own function to do something else." - :group 'helm-files :type 'function) (defcustom helm-modes-using-escaped-strings '(eshell-mode shell-mode term-mode) "Modes that requires string's insertion to be escaped." - :group 'helm-files :type '(repeat symbol)) (defcustom helm-ff-allow-recursive-deletes nil - "When 'always don't prompt for recursive deletion of directories. + "When \\='always don't prompt for recursive deletion of directories. When nil, will ask for recursive deletion. Note that when deleting multiple directories you can answer ! when prompted to avoid being asked for next directories, so it is probably better to not modify this variable." - :group 'helm-files :type '(choice (const :tag "Delete non-empty directories" t) (const :tag "Confirm for each directory" nil))) @@ -388,7 +522,6 @@ be deleted with no warnings in background!!! It is the function that will be used when using `\\\\[helm-ff-run-delete-file]' from `helm-find-files'." - :group 'helm-files :type '(choice (function :tag "Delete files synchronously." helm-delete-marked-files) (function :tag "Delete files asynchronously." @@ -398,18 +531,17 @@ It is the function that will be used when using "Allow trashing remote files when non-nil. Trashing remote files with tramp doesn't work out of the box -unless the 'trash-cli' package is installed. This is why trashing +unless the \\='trash-cli' package is installed. This is why trashing remote files from Helm is disabled by default. -Tramp is using external 'trash' command in its `delete-file' and +Tramp is using external \\='trash' command in its `delete-file' and `delete-directory' handlers when using `delete-by-moving-to-trash', which is documented nowhere in Emacs. -If you want to enable this you will have to install the 'trash' +If you want to enable this you will have to install the \\='trash' command on remote (and/or locally if you want to trash as root). -On Ubuntu-based distributions it is 'trash-cli'." - :group 'helm-files +On Ubuntu-based distributions it is \\='trash-cli'." :type 'boolean) (defcustom helm-list-directory-function @@ -436,8 +568,7 @@ want to connect e.g. on a Freebsd server, you may have failures due to the incompatible ls version installed on remote server. In such case use `helm-list-dir-lisp' which works everywhere but is slower and less featured (only directories colorized)." - :type 'function - :group 'helm-files) + :type 'function) (defcustom helm-ff-initial-sort-method nil "Sort method to use when initially listing a directory. @@ -448,7 +579,6 @@ BTW is not provided on remote files (helm will fallback on nil in such case). Note that this have no effect as soon as you start narrowing directory i.e. filtering filenames inside directory." - :group 'helm-files :type '(choice (const :tag "alphabetically" nil) (const :tag "newest" newest) @@ -461,7 +591,6 @@ When nil and `helm-ff-display-image-native' is enabled, fallback to `image-rotate' without modification of exif data i.e. rotation is not persistent otherwise an error is returned when not using `helm-ff-display-image-native' i.e. using image-dired." - :group 'helm-files :type '(choice (const :tag "Mogrify" "mogrify") (const :tag "Exiftran" "exiftran") @@ -471,14 +600,12 @@ persistent otherwise an error is returned when not using "Options used with `helm-ff-rotate-image-program'. If you are using Mogrify or Jpegtran mandatory option is \"-rotate\", with Exiftran mandatory option is \"-i\"." - :group 'helm-files :type '(repeat string)) (defcustom helm-ff-preferred-shell-mode 'eshell-mode "Shell to use to switch to a shell buffer from `helm-find-files'. Possible values are `shell-mode', `eshell-mode' and `term-mode'. This affects `\\\\[helm-ff-run-switch-to-shell]' keybinding." - :group 'helm-files :type '(choice (const :tag "Use Eshell" eshell-mode) (const :tag "Use Shell" shell-mode) @@ -489,21 +616,18 @@ This affects `\\\\[helm-ff-run-switch-to-shell]' keybinding This is useful if you display the progress bar somewhere else, e.g. with minibuffer-line in minibuffer, in this case updating mode-line may create flickering in other frame's mode-line." - :type 'boolean - :group 'helm-files) + :type 'boolean) (defcustom helm-rsync-switches '("-a" "-z" "-h" "-s" "--info=all2") "Rsync options to use with HFF Rsync action. Note: Using \"--info=all2\" allows having the name of the file currently transfered in an help-echo in mode-line, if you use \"--info=progress2\" you will not have this information." - :type '(repeat string) - :group 'helm-files) + :type '(repeat string)) (defcustom helm-rsync-percent-sign "%" "Percentage unicode sign to use in Rsync reporter." - :type 'string - :group 'helm-files) + :type 'string) (defcustom helm-trash-default-directory nil "The default trash directory. @@ -513,8 +637,166 @@ Should be the directory file name i.e. don't add final slash. When nil helm will compute a default value according to freedesktop specs. It is generally \"~/.local/share/Trash\"." - :type 'string - :group 'helm-files) + :type 'string) + +(defcustom helm-ff-lynx-style-map t + "Use arrow keys to navigate with `helm-find-files'. +Note that if you define this variable with `setq' your change +will have no effect, use customize instead." + :type 'boolean + :set (lambda (var val) + (set var val) + (if val + (progn + (define-key helm-find-files-map (kbd "") 'helm-execute-persistent-action) + (define-key helm-find-files-map (kbd "") 'helm-find-files-up-one-level) + (define-key helm-read-file-map (kbd "") 'helm-execute-persistent-action) + (define-key helm-read-file-map (kbd "") 'helm-find-files-up-one-level)) + (define-key helm-find-files-map (kbd "") nil) + (define-key helm-find-files-map (kbd "") nil) + (define-key helm-read-file-map (kbd "") nil) + (define-key helm-read-file-map (kbd "") nil)))) + +(defcustom helm-ff-DEL-up-one-level-maybe nil + "Use DEL to maybe go up one level when non nil. + +Going up one level works only when pattern is a directory endings +with \"/\", otherwise this command deletes char backward. + +When nil always delete char backward." + :type 'boolean) + +(defcustom helm-ff-display-image-native t + "Use native `image-mode' when non nil. + +You should use this only with Emacs>= 27 and `image-auto-resize' +enabled to have images resized properly. When this is enabled, +you have new commands to zoom in/out images. See +`image-transform-resize' and `image-auto-resize'. Otherwise, +when nil `image-dired' is used, using imagemagick as backend. +NOTE: On Emacs-29 `image-dired' is no more using external program +image-magick to display image, so this is used inconditionally even +when value is nil." + :type 'boolean) + +(defcustom helm-ff-reset-filters-on-update t + "Reset filter variables when changing directory. +When filtering directories/files only, switch back to a \"show all\" view +when moving out of directory when non nil." + :type 'boolean) + +(defcustom helm-ff-eshell-unwanted-aliases nil + "A list of eshell aliases to not display." + :type '(repeat string)) + +(defcustom helm-find-files-actions + (helm-make-actions + "Find File" 'helm-find-file-or-marked + "Find file in Dired" 'helm-point-file-in-dired + "View file" 'view-file + "Query replace fnames on marked `M-@'" 'helm-ff-query-replace-fnames-on-marked + "Marked files in dired `C-x C-q, C-u wdired'" 'helm-marked-files-in-dired + "Query replace contents on marked `M-%'" 'helm-ff-query-replace + "Query replace regexp contents on marked `C-M-%'" 'helm-ff-query-replace-regexp + "Attach file(s) to mail buffer `C-c C-a'" 'helm-ff-mail-attach-files + "Serial rename files" 'helm-ff-serial-rename + "Serial rename by symlinking files" 'helm-ff-serial-rename-by-symlink + "Serial rename by copying files" 'helm-ff-serial-rename-by-copying + "Open file with default tool" 'helm-open-file-with-default-tool + "Find file in hex dump" 'hexl-find-file + "Browse project `C-x C-d'" 'helm-ff-browse-project + "Complete at point `C-c i'" 'helm-insert-file-name-completion-at-point + "Insert as org link `C-c @'" 'helm-files-insert-as-org-link + "Find shell command `C-c /'" 'helm-ff-find-sh-command + "Fd shell command (C-/)" 'helm-ff-fd + "Find files in file" 'helm-find-files-in-file + "Add marked files to file-cache" 'helm-ff-cache-add-file + "Open file externally `C-c C-x, C-u to choose'" 'helm-open-file-externally + "Grep File(s) `C-s, C-u Recurse'" 'helm-find-files-grep + "Grep current directory with AG `M-g a, C-u select type'" 'helm-find-files-ag + "Git grep `M-g g, C-u from root'" 'helm-ff-git-grep + "Zgrep File(s) `M-g z, C-u Recurse'" 'helm-ff-zgrep + "Pdf Grep File(s)" 'helm-ff-pdfgrep + "Gid `M-g i'" 'helm-ff-gid + "Switch to Eshell `M-e'" 'helm-ff-switch-to-shell + "Etags `M-., C-u reload tag file'" 'helm-ff-etags-select + "Eshell command on file(s) `M-!, C-u take all marked as arguments.'" + 'helm-find-files-eshell-command-on-file + "Find file as root `C-c r'" 'helm-find-file-as-root + "Find alternate file `C-x C-v'" 'find-alternate-file + "Ediff File `C-c ='" 'helm-find-files-ediff-files + "Ediff Merge File `M-='" 'helm-find-files-ediff-merge-files + (lambda () (format "Delete File(s)%s `M-D' (C-u reverse trash)" + (if (eq helm-ff-delete-files-function + 'helm-delete-marked-files-async) + " async" ""))) + 'helm-ff-delete-files + "Touch File(s) `M-T'" 'helm-ff-touch-files + "Copy file(s) `M-C, C-u to follow'" 'helm-find-files-copy + (lambda () + (and (executable-find "rsync") + "Rsync file(s) `M-V' (C-u edit command)")) + 'helm-find-files-rsync + "Rename file(s) `M-R, C-u to follow'" 'helm-find-files-rename + "Backup files" 'helm-find-files-backup + "Symlink files(s) `M-S, C-u to follow'" 'helm-find-files-symlink + "Relsymlink file(s) `M-Y, C-u to follow'" 'helm-find-files-relsymlink + "Hardlink file(s) `M-H, C-u to follow'" 'helm-find-files-hardlink + "Find file other window `C-c o'" 'helm-find-files-other-window + "Find file other frame `C-c C-o'" 'find-file-other-frame + (lambda () (and (fboundp 'tab-bar-mode) + "Find file other tab `C-c C-t'")) + 'find-file-other-tab + "Print File `C-c p, C-u to refresh'" 'helm-ff-print + "Locate `C-x C-f, C-u to specify locate db'" 'helm-ff-locate) + "Actions for `helm-find-files'." + :type '(alist :key-type string :value-type function)) + +(defcustom helm-dwim-target nil + "Default target directory for file actions. + +Define the directory where you want to start navigating for the +target directory when copying, renaming, etc.. You can use the +`default-directory' of `next-window', the visited directory, the +current `default-directory' or have completion on all the +directories belonging to each visible windows." + :type '(radio :tag "Define default target directory for file actions." + (const :tag "Directory belonging to next window" + next-window) + (const :tag "Completion on directories belonging to each window" + completion) + (const :tag "Use initial directory or `default-directory'" + default-directory) + (const :tag "Use visited directory" + nil))) + +(defcustom helm-ff-use-notify t + "Watch directories visited with `helm-find-files' when non nil. +If your system have no file notification package available turn this +to nil to avoid error messages when using `helm-find-files'." + :type 'boolean + :set (lambda (var val) + (set-default var val) + (unless (symbol-value var) + (cl-loop for dir being the hash-keys of helm-ff--file-notify-watchers + do (remhash dir helm-ff--list-directory-cache))))) + +(defcustom helm-ff-inotify-unsupported-methods '("adb") + "Tramp methods unsupported by file-notify." + :type '(repeat string)) + +(defcustom helm-ff-image-cache-max-len 5 + "The last seen image number to keep in cache." + :type 'integer) + +(defcustom helm-ff-image-cache-max-len 5 + "The last seen image number to keep in cache." + :type 'integer) + +(defcustom helm-ff-slideshow-default-delay 3 + "Delay in seconds between each image in slideshow." + :type 'integer) + ;;; Faces ;; @@ -650,291 +932,11 @@ It is generally \"~/.local/share/Trash\"." :inherit font-lock-warning-face)) "Face used for rsync mode-line indicator." :group 'helm-files-faces) - -;;; Helm-find-files - The helm file browser. -;; -;; Keymaps -(defvar helm-find-files-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map helm-map) - (define-key map (kbd "RET") 'helm-ff-RET) - (define-key map (kbd "C-]") 'helm-ff-run-toggle-basename) - (define-key map (kbd "C-x C-f") 'helm-ff-run-locate) - (define-key map (kbd "C-x C-d") 'helm-ff-run-browse-project) - (define-key map (kbd "C-x r m") 'helm-ff-bookmark-set) - (define-key map (kbd "C-x r b") 'helm-find-files-switch-to-bookmark) - (define-key map (kbd "C-x C-q") 'helm-ff-run-marked-files-in-dired) - (define-key map (kbd "C-s") 'helm-ff-run-grep) - (define-key map (kbd "M-g s") 'helm-ff-run-grep) - (define-key map (kbd "M-g p") 'helm-ff-run-pdfgrep) - (define-key map (kbd "M-g z") 'helm-ff-run-zgrep) - (define-key map (kbd "M-g a") 'helm-ff-run-grep-ag) - (define-key map (kbd "M-g g") 'helm-ff-run-git-grep) - (define-key map (kbd "M-g i") 'helm-ff-run-gid) - (define-key map (kbd "M-.") 'helm-ff-run-etags) - (define-key map (kbd "M-R") 'helm-ff-run-rename-file) - (define-key map (kbd "M-C") 'helm-ff-run-copy-file) - (when (executable-find "rsync") - (define-key map (kbd "M-V") 'helm-ff-run-rsync-file)) - (define-key map (kbd "M-B") 'helm-ff-run-byte-compile-file) - (define-key map (kbd "M-L") 'helm-ff-run-load-file) - (define-key map (kbd "M-S") 'helm-ff-run-symlink-file) - (define-key map (kbd "M-Y") 'helm-ff-run-relsymlink-file) - (define-key map (kbd "M-H") 'helm-ff-run-hardlink-file) - (define-key map (kbd "M-D") 'helm-ff-run-delete-file) - (define-key map (kbd "M-K") 'helm-ff-run-kill-buffer-persistent) - (define-key map (kbd "M-T") 'helm-ff-run-touch-files) - (define-key map (kbd "C-c d") 'helm-ff-persistent-delete) - (define-key map (kbd "M-e") 'helm-ff-run-switch-to-shell) - (define-key map (kbd "C-c i") 'helm-ff-run-complete-fn-at-point) - (define-key map (kbd "C-c o") 'helm-ff-run-switch-other-window) - (define-key map (kbd "C-c C-o") 'helm-ff-run-switch-other-frame) - (define-key map (kbd "C-c C-x") 'helm-ff-run-open-file-externally) - (define-key map (kbd "C-c C-v") 'helm-ff-run-preview-file-externally) - (define-key map (kbd "C-c X") 'helm-ff-run-open-file-with-default-tool) - (define-key map (kbd "C-c t") 'helm-ff-toggle-thumbnails) - (define-key map (kbd "M-!") 'helm-ff-run-eshell-command-on-file) - (define-key map (kbd "M-@") 'helm-ff-run-query-replace-fnames-on-marked) - (define-key map (kbd "M-%") 'helm-ff-run-query-replace) - (define-key map (kbd "C-M-%") 'helm-ff-run-query-replace-regexp) - (define-key map (kbd "C-c =") 'helm-ff-run-ediff-file) - (define-key map (kbd "M-=") 'helm-ff-run-ediff-merge-file) - (define-key map (kbd "M-p") 'helm-find-files-history) - (define-key map (kbd "C-c h") 'helm-ff-file-name-history) - (define-key map (kbd "M-i") 'helm-ff-properties-persistent) - (define-key map (kbd "C-}") 'helm-narrow-window) - (define-key map (kbd "C-{") 'helm-enlarge-window) - (define-key map (kbd "C-") 'helm-ff-run-toggle-auto-update) - (define-key map (kbd "C-c ") 'helm-ff-run-toggle-auto-update) - (define-key map (kbd "C-c C-a") 'helm-ff-run-mail-attach-files) - (define-key map (kbd "C-c p") 'helm-ff-run-print-file) - (define-key map (kbd "C-c /") 'helm-ff-run-find-sh-command) - (define-key map (kbd "C-/") 'helm-ff-run-fd) - ;; Next 2 have no effect if candidate is not an image file. - (define-key map (kbd "M-l") 'helm-ff-rotate-left-persistent) - (define-key map (kbd "M-r") 'helm-ff-rotate-right-persistent) - (define-key map (kbd "M-+") 'helm-ff-increase-image-size-persistent) - (define-key map (kbd "M--") 'helm-ff-decrease-image-size-persistent) - (define-key map (kbd "C-l") 'helm-find-files-up-one-level) - (define-key map (kbd "C-_") 'helm-ff-undo) - (define-key map (kbd "C-r") 'helm-find-files-down-last-level) - (define-key map (kbd "C-c r") 'helm-ff-run-find-file-as-root) - (define-key map (kbd "C-x C-v") 'helm-ff-run-find-alternate-file) - (define-key map (kbd "C-c @") 'helm-ff-run-insert-org-link) - (define-key map (kbd "S-") 'helm-ff-sort-alpha) - (define-key map (kbd "S-") 'helm-ff-sort-by-newest) - (define-key map (kbd "S-") 'helm-ff-sort-by-size) - (define-key map (kbd "S-") 'helm-ff-toggle-dirs-only) - (define-key map (kbd "S-") 'helm-ff-toggle-files-only) - (define-key map (kbd "S-") 'helm-ff-sort-by-ext) - (helm-define-key-with-subkeys map (kbd "DEL") ?\d 'helm-ff-delete-char-backward - '((C-backspace . helm-ff-run-toggle-auto-update) - ([C-c DEL] . helm-ff-run-toggle-auto-update)) - nil 'helm-ff-delete-char-backward--exit-fn) - (when (fboundp 'tab-bar-mode) - (define-key map (kbd "C-c C-t") 'helm-ff-find-file-other-tab)) - map) - "Keymap for `helm-find-files'.") - -(defvar helm-read-file-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map helm-map) - (define-key map (kbd "") 'helm-cr-empty-string) - (define-key map (kbd "M-RET") 'helm-cr-empty-string) - (define-key map (kbd "C-]") 'helm-ff-run-toggle-basename) - (define-key map (kbd "C-.") 'helm-find-files-up-one-level) - (define-key map (kbd "C-l") 'helm-find-files-up-one-level) - (define-key map (kbd "C-_") 'helm-ff-undo) - (define-key map (kbd "C-r") 'helm-find-files-down-last-level) - (define-key map (kbd "C-c h") 'helm-ff-file-name-history) - (define-key map (kbd "C-") 'helm-ff-run-toggle-auto-update) - (define-key map (kbd "C-c ") 'helm-ff-run-toggle-auto-update) - (define-key map (kbd "RET") 'helm-ff-RET) - (helm-define-key-with-subkeys map (kbd "DEL") ?\d 'helm-ff-delete-char-backward - '((C-backspace . helm-ff-run-toggle-auto-update) - ([C-c DEL] . helm-ff-run-toggle-auto-update)) - nil 'helm-ff-delete-char-backward--exit-fn) - map) - "Keymap for `helm-read-file-name'.") - -(defcustom helm-ff-lynx-style-map t - "Use arrow keys to navigate with `helm-find-files'. -Note that if you define this variable with `setq' your change -will have no effect, use customize instead." - :group 'helm-files - :type 'boolean - :set (lambda (var val) - (set var val) - (if val - (progn - (define-key helm-find-files-map (kbd "") 'helm-execute-persistent-action) - (define-key helm-find-files-map (kbd "") 'helm-find-files-up-one-level) - (define-key helm-read-file-map (kbd "") 'helm-execute-persistent-action) - (define-key helm-read-file-map (kbd "") 'helm-find-files-up-one-level)) - (define-key helm-find-files-map (kbd "") nil) - (define-key helm-find-files-map (kbd "") nil) - (define-key helm-read-file-map (kbd "") nil) - (define-key helm-read-file-map (kbd "") nil)))) - -(defcustom helm-ff-DEL-up-one-level-maybe nil - "Use DEL to maybe go up one level when non nil. - -Going up one level works only when pattern is a directory endings -with \"/\", otherwise this command deletes char backward. - -When nil always delete char backward." - :group 'helm-files - :type 'boolean) - -(defcustom helm-ff-display-image-native t - "Use native `image-mode' when non nil. - -You should use this only with Emacs>= 27 and `image-auto-resize' -enabled to have images resized properly. When this is enabled, -you have new commands to zoom in/out images. See -`image-transform-resize' and `image-auto-resize'. Otherwise, -when nil `image-dired' is used, using imagemagick as backend. -NOTE: On Emacs-29 `image-dired' is no more using external program -image-magick to display image, so this is used inconditionally even -when value is nil." - :group 'helm-files - :type 'boolean) - -(defcustom helm-ff-reset-filters-on-update t - "Reset filter variables when changing directory. -When filtering directories/files only, switch back to a \"show all\" view -when moving out of directory when non nil." - :type 'boolean - :group 'helm-files) - -(defcustom helm-ff-eshell-unwanted-aliases nil - "A list of eshell aliases to not display." - :type '(repeat string) - :group 'helm-files) - -(defvar helm-ff-last-expanded-candidate-regexp "^[[:multibyte:]]? ?%s$" - "Regexp that retrieve previous candidate when going up one level. -The default value matching a multibyte char at bol allows prefixing -candidate with an icon. The format part will be replaced by the -display part of the candidate regexp quoted.") - -;; Internal. -(defvar helm-find-files-doc-header " (\\\\[helm-find-files-up-one-level]: Go up one level)" - "*The doc that is inserted in the Name header of a find-files or dired source.") -(defvar helm-ff-auto-update-flag nil - "Internal, flag to turn on/off auto-update in `helm-find-files'. -Don't set it directly, use instead `helm-ff-auto-update-initial-value'.") -(defvar helm-ff-last-expanded nil - "Store last expanded directory or file.") -(defvar helm-ff-default-directory nil) -(defvar helm-ff-history nil) -(defvar helm-ff-url-regexp - "\\`\\(news\\(post\\)?:\\|nntp:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\):/?/?\\).*" - "Same as `ffap-url-regexp' but match earlier possible url.") -;; helm-tramp-file-name-regexp is based on old version of -;; tramp-file-name-regexp i.e. "\\`/\\([^[/:]+\\|[^/]+]\\):" but it -;; seems it is wrong and a simpler regexp is enough, let's try it and -;; watch out! -(defvar helm-tramp-file-name-regexp "\\`/\\([^/:|]+\\):") -(defvar helm-ff-tramp-method-regexp "[/|]:\\([^:]*\\)") -(defvar helm-marked-buffer-name "*helm marked*") -(defvar helm-ff--auto-update-state nil) -(defvar helm-ff--deleting-char-backward nil) -(defvar helm-multi-files--toggle-locate nil) -(defvar helm-ff--move-to-first-real-candidate t) -(defvar helm-find-files--toggle-bookmark nil) -(defvar helm-ff--tramp-methods nil) -(defvar helm-ff--directory-files-length (make-hash-table :test 'equal) - "Used to count number of candidates in directory. -candidate-number-limit is set to this value if this value is bigger -than `helm-candidate-number-limit'.") -(defvar helm-ff--list-directory-cache (make-hash-table :test 'equal) - "Cache for `helm-find-files' candidates.") -(defvar helm-ff--file-notify-watchers (make-hash-table :test 'equal) - "File-notify watchers for `helm-find-files' are stored here.") -(defvar helm-ff-history-buffer-name "*helm-find-files history*") -(defvar helm-rsync-command-history nil) -(defvar helm-rsync--last-progress-bar-alist nil - "Used to store last valid rsync progress bar.") -(defvar helm-rsync-process-buffer "*helm-rsync*") -(defvar helm-rsync-progress-str-alist nil) -(defvar helm-ff--trash-directory-regexp "\\.?Trash[/0-9]+files/?\\'") -(defvar helm-ff--show-directories-only nil) -(defvar helm-ff--show-files-only nil) -(defvar helm-ff--trashed-files nil - "[INTERNAL] Files already trashed are stored here during file deletion. -This is used only as a let binding.") -(defvar helm-ff--show-thumbnails nil) -(defvar helm-ff--thumbnailed-directories nil) ;;; Helm-find-files ;; ;; -(defcustom helm-find-files-actions - (helm-make-actions - "Find File" 'helm-find-file-or-marked - "Find file in Dired" 'helm-point-file-in-dired - "View file" 'view-file - "Query replace fnames on marked `M-@'" 'helm-ff-query-replace-fnames-on-marked - "Marked files in dired `C-x C-q, C-u wdired'" 'helm-marked-files-in-dired - "Query replace contents on marked `M-%'" 'helm-ff-query-replace - "Query replace regexp contents on marked `C-M-%'" 'helm-ff-query-replace-regexp - "Attach file(s) to mail buffer `C-c C-a'" 'helm-ff-mail-attach-files - "Serial rename files" 'helm-ff-serial-rename - "Serial rename by symlinking files" 'helm-ff-serial-rename-by-symlink - "Serial rename by copying files" 'helm-ff-serial-rename-by-copying - "Open file with default tool" 'helm-open-file-with-default-tool - "Find file in hex dump" 'hexl-find-file - "Browse project `C-x C-d'" 'helm-ff-browse-project - "Complete at point `C-c i'" 'helm-insert-file-name-completion-at-point - "Insert as org link `C-c @'" 'helm-files-insert-as-org-link - "Find shell command `C-c /'" 'helm-ff-find-sh-command - "Fd shell command (C-/)" 'helm-ff-fd - "Find files in file" 'helm-find-files-in-file - "Add marked files to file-cache" 'helm-ff-cache-add-file - "Open file externally `C-c C-x, C-u to choose'" 'helm-open-file-externally - "Grep File(s) `C-s, C-u Recurse'" 'helm-find-files-grep - "Grep current directory with AG `M-g a, C-u select type'" 'helm-find-files-ag - "Git grep `M-g g, C-u from root'" 'helm-ff-git-grep - "Zgrep File(s) `M-g z, C-u Recurse'" 'helm-ff-zgrep - "Pdf Grep File(s)" 'helm-ff-pdfgrep - "Gid `M-g i'" 'helm-ff-gid - "Switch to Eshell `M-e'" 'helm-ff-switch-to-shell - "Etags `M-., C-u reload tag file'" 'helm-ff-etags-select - "Eshell command on file(s) `M-!, C-u take all marked as arguments.'" - 'helm-find-files-eshell-command-on-file - "Find file as root `C-c r'" 'helm-find-file-as-root - "Find alternate file `C-x C-v'" 'find-alternate-file - "Ediff File `C-c ='" 'helm-find-files-ediff-files - "Ediff Merge File `M-='" 'helm-find-files-ediff-merge-files - (lambda () (format "Delete File(s)%s `M-D' (C-u reverse trash)" - (if (eq helm-ff-delete-files-function - 'helm-delete-marked-files-async) - " async" ""))) - 'helm-ff-delete-files - "Touch File(s) `M-T'" 'helm-ff-touch-files - "Copy file(s) `M-C, C-u to follow'" 'helm-find-files-copy - (lambda () - (and (executable-find "rsync") - "Rsync file(s) `M-V' (C-u edit command)")) - 'helm-find-files-rsync - "Rename file(s) `M-R, C-u to follow'" 'helm-find-files-rename - "Backup files" 'helm-find-files-backup - "Symlink files(s) `M-S, C-u to follow'" 'helm-find-files-symlink - "Relsymlink file(s) `M-Y, C-u to follow'" 'helm-find-files-relsymlink - "Hardlink file(s) `M-H, C-u to follow'" 'helm-find-files-hardlink - "Find file other window `C-c o'" 'helm-find-files-other-window - "Find file other frame `C-c C-o'" 'find-file-other-frame - (lambda () (and (fboundp 'tab-bar-mode) - "Find file other tab `C-c C-t'")) - 'find-file-other-tab - "Print File `C-c p, C-u to refresh'" 'helm-ff-print - "Locate `C-x C-f, C-u to specify locate db'" 'helm-ff-locate) - "Actions for `helm-find-files'." - :group 'helm-files - :type '(alist :key-type string :value-type function)) - (defvar helm-source-find-files nil "The main source to browse files. Should not be used among other sources.") @@ -1018,28 +1020,13 @@ Should not be used among other sources.") (message "Helm find files session bookmarked! "))) (put 'helm-ff-bookmark-set 'helm-only t) -(defcustom helm-dwim-target nil - "Default target directory for file actions. - -Define the directory where you want to start navigating for the -target directory when copying, renaming, etc.. You can use the -`default-directory' of `next-window', the visited directory, the -current `default-directory' or have completion on all the -directories belonging to each visible windows." - :group 'helm-files - :type '(radio :tag "Define default target directory for file actions." - (const :tag "Directory belonging to next window" - next-window) - (const :tag "Completion on directories belonging to each window" - completion) - (const :tag "Use initial directory or `default-directory'" - default-directory) - (const :tag "Use visited directory" - nil))) - (defun helm-dwim-target-directory () "Try to return a suitable directory according to `helm-dwim-target'." - (with-selected-window (get-buffer-window helm-current-buffer) + (with-selected-window (or + ;; Try next-window if current-buffer has been + ;; killed during this session probably by C-d. + (get-buffer-window helm-current-buffer) + (next-window (helm-window) 1)) (let ((wins (remove (get-buffer-window helm-marked-buffer-name) (window-list)))) (expand-file-name @@ -2561,7 +2548,7 @@ Same as `dired-do-print' but for Helm." (lpr-switches (if (and (stringp printer-name) (string< "" printer-name)) - (cons (concat lpr-printer-switch printer-name) + (cons (concat lpr-printer-switch " " printer-name) lpr-switches) lpr-switches)) (command (helm-read-string @@ -2577,8 +2564,7 @@ Same as `dired-do-print' but for Helm." (list lpr-switches) lpr-switches)) " ")))) - (file-args (mapconcat (lambda (x) - (format "'%s'" x)) + (file-args (mapconcat #'shell-quote-argument file-list " ")) (cmd-line (concat command " " file-args))) (if command @@ -3179,6 +3165,36 @@ debugging purpose." (cl-loop for m in (helm-ff--get-tramp-methods) thereis (string-match (format "\\`\\(/%s:.*[|]\\).*" m) name))) +(defun helm-ff-complete-tramp-methods () + "Completion on tramp methods in a nested helm session." + (interactive) + (with-helm-alive-p + (let* (initial-input + (str helm-pattern) + (pattern (with-temp-buffer + (insert str) + (let ((end (point)) beg) + (when (re-search-backward "[/|]" nil t) + (setq beg (1+ (point))) + (unless (= beg end) + (setq initial-input + (buffer-substring beg end)) + (delete-region beg end)) + (buffer-string))))) + (collection (helm-ff--get-tramp-methods)) + (method (helm-comp-read + "Tramp methods: " + (sort collection #'string<) + :initial-input initial-input + :fc-transformer + (lambda (candidates _source) + (cl-loop for c in candidates + collect (propertize c 'face 'helm-ff-file))) + :allow-nest t + :must-match t))) + (helm-set-pattern (concat pattern method ":"))))) +(put 'helm-ff-complete-tramp-methods 'no-helm-mx t) + (defun helm-ff-set-pattern (pattern) "Handle tramp filenames in `helm-pattern'." (let* ((methods (helm-ff--get-tramp-methods)) @@ -3506,28 +3522,11 @@ later in the transformer." (add-text-properties (point-min) (point-max) '(helm-ff-file t)) (split-string (buffer-string) "\n" t))))) -(defcustom helm-ff-use-notify t - "Watch directories visited with `helm-find-files' when non nil. -If your system have no file notification package available turn this -to nil to avoid error messages when using `helm-find-files'." - :type 'boolean - :group 'helm-files - :set (lambda (var val) - (set-default var val) - (unless (symbol-value var) - (cl-loop for dir being the hash-keys of helm-ff--file-notify-watchers - do (remhash dir helm-ff--list-directory-cache))))) - -(defcustom helm-ff-inotify-unsupported-methods '("adb") - "Tramp methods unsupported by file-notify." - :type '(repeat string) - :group 'helm-files) - (defun helm-ff-directory-files (directory &optional force-update) "List contents of DIRECTORY. Argument FULL mean absolute path. It is same as `directory-files' but always returns the dotted -filename '.' and '..' even on root directories in Windows +filename \\='.' and \\='..' even on root directories in Windows systems. When FORCE-UPDATE is non nil recompute candidates even if DIRECTORY is in cache." @@ -3591,6 +3590,22 @@ in cache." (file-notify-rm-watch (gethash directory helm-ff--file-notify-watchers)) (remhash directory helm-ff--file-notify-watchers))))) +(defun helm-ff-tramp-cleanup-hook (vec) + "Remove remote directories related to VEC in helm-ff* caches. +Remove as well all related file-notify watchers. + +This is meant to run in `tramp-cleanup-connection-hook'." + (cl-loop for key being the hash-keys in helm-ff--list-directory-cache + when (equal (file-remote-p key 'method) (cadr vec)) + do (remhash key helm-ff--list-directory-cache)) + (cl-loop for key being the hash-keys in helm-ff--file-notify-watchers + when (equal (file-remote-p key 'method) (cadr vec)) + do (progn + (file-notify-rm-watch + (gethash key helm-ff--file-notify-watchers)) + (remhash key helm-ff--file-notify-watchers)))) +(add-hook 'tramp-cleanup-connection-hook #'helm-ff-tramp-cleanup-hook) + (defun helm-ff-handle-backslash (fname) ;; Allow creation of filenames containing a backslash. (cl-loop with bad = '((92 . "")) @@ -4134,19 +4149,21 @@ NOTE: This mode is building `helm-source-find-files', so if you enable it from your init file, ensure to call it _after_ your defmethod's `helm-setup-user-source' definitions (if some) to ensure they are called." :global t + :group 'helm-files (require 'all-the-icons) (if helm-ff-icon-mode (progn - (unless helm-source-find-files + (unless helm-source-find-files (setq helm-source-find-files (helm-make-source "Find Files" 'helm-source-ffiles))) - (helm-set-attr 'filtered-candidate-transformer - (append (helm-get-attr - 'filtered-candidate-transformer - helm-source-find-files) - '(helm-ff-icons-transformer)) - helm-source-find-files)) + (let ((fct (helm-get-attr + 'filtered-candidate-transformer + helm-source-find-files))) + (unless (memq 'helm-ff-icons-transformer fct) + (helm-set-attr 'filtered-candidate-transformer + (append fct '(helm-ff-icons-transformer)) + helm-source-find-files)))) (helm-set-attr 'filtered-candidate-transformer (remove 'helm-ff-icons-transformer (helm-get-attr @@ -4209,7 +4226,7 @@ it from your init file, ensure to call it _after_ your defmethod's "Execute a trash action FN on marked files. Arg NAMES is a list of strings to pass to messages. -E.g. '(\"delete\" \"deleting\") +E.g. \\='(\"delete\" \"deleting\") ARGS are other arguments to be passed to FN." (let ((mkd (helm-marked-candidates)) @@ -4265,7 +4282,7 @@ ARGS are other arguments to be passed to FN." The Trash directory should be a directory compliant with and each -file should have its '*.trashinfo' correspondent file in +file should have its \\='*.trashinfo' correspondent file in Trash/info directory." (helm-ff-trash-action 'helm-ff-trash-rm-1 '("delete" "deleting"))) @@ -4289,7 +4306,7 @@ Trash/info directory." The Trash directory should be a directory compliant with and each -file should have its '*.trashinfo' corresponding file in +file should have its \\='*.trashinfo' corresponding file in Trash/info directory." (let* ((default-directory (file-name-as-directory helm-ff-default-directory)) @@ -4699,11 +4716,6 @@ file." ;; (defvar helm-ff--image-cache nil) -(defcustom helm-ff-image-cache-max-len 5 - "The last seen image number to keep in cache." - :group 'helm-files - :type 'integer) - (defun helm-ff-display-image-native-p () "Use `helm-ff-display-image-native' when returns `t'." (or helm-ff-display-image-native @@ -4770,11 +4782,6 @@ file." `\\[helm-ff-slideshow-next]' for next, `\\[helm-ff-slideshow-previous]' for previous, \ `\\[helm-ff-slideshow-quit]' to quit") -(defcustom helm-ff-slideshow-default-delay 3 - "Delay in seconds between each image in slideshow." - :group 'helm-files - :type 'integer) - (defvar helm-slideshow-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map image-mode-map) @@ -5124,29 +5131,53 @@ Show the first `helm-ff-history-max-length' elements of "Default action when dragging files. Possible values are `copy', `rsync' or `rename'.") +(defvar helm-ff-drag-and-drop-default-directory nil + "Default directory where to drop files on a drag-and-drop action. +It is used when no suitable directory is found at drop place, +generally when dropping outside of an emacs frame. +You want generally to set this to your home desktop directory.") + (defun helm-ff-drag-mouse-1-fn (event) + "Drag-and-drop function for `helm-find-files'. +Allows dropping marked files to another frame or window. +When dropping to another frame (i.e. not the selected one where helm +is running), you are asked for which directory you want to drop to when frame +displays more than one window. +When no suitable place to drop is found ask to drop to +`helm-ff-drag-and-drop-default-directory' if set." (interactive "e") (cl-assert (memq helm-ff-drag-mouse-1-default-action '(copy rsync rename))) (let* ((win-or-frame (posn-window (event-end event))) (target-frame (when (framep win-or-frame) - helm-initial-frame)) - (target (with-selected-window - (if target-frame - (frame-selected-window target-frame) - win-or-frame) - default-directory)) - win-list - (ask (and target-frame - (cdr (setq win-list (window-list target-frame 1)))))) - (when ask - (setq target (x-popup-menu - t (list "Choose target" - (cons "" - (cl-loop for win in win-list - for dir = (with-selected-window - win default-directory) - collect (cons dir dir))))))) + (car (mouse-pixel-position)))) + (target (with-selected-window + (if target-frame + (frame-selected-window target-frame) + win-or-frame) + default-directory)) + (windows (and target-frame + (remove (helm-window) + (window-list target-frame 1))))) + (when windows + (setq target + (helm-acond ((cdr windows) + (x-popup-menu + t (list "Choose target" + (cons "" + (cl-loop for win in windows + for dir = (with-selected-window + win default-directory) + collect (cons dir dir)))))) + ((and (eql (window-buffer (car windows)) + helm-current-buffer) + helm-ff-drag-and-drop-default-directory) + (x-popup-menu + t (list "Choose target" + (cons "" + (list (cons it it)))))) + ((car windows) + (with-selected-window it default-directory))))) (if (memq helm-ff-drag-mouse-1-default-action '(copy rsync)) (helm-find-files-do-action helm-ff-drag-mouse-1-default-action target) @@ -5176,7 +5207,10 @@ Use it for non-interactive calls of `helm-find-files'." (not (minibuffer-window-active-p (minibuffer-window))))) (tap (thing-at-point 'filename)) (def (and tap (or (file-remote-p tap) - (expand-file-name tap))))) + (expand-file-name tap)))) + ;; Ensure not being prompted for password each time we + ;; navigate to a directory. + (password-cache t)) (helm-set-local-variable 'helm-follow-mode-persistent nil 'helm-drag-mouse-1-fn 'helm-ff-drag-mouse-1-fn) (unless helm-source-find-files @@ -5404,7 +5438,7 @@ Find inside `require' and `declare-function' sexp." &key action follow (files (dired-get-marked-files))) "Execute ACTION on FILES to DESTINATION. Where ACTION is a symbol that can be one of: -'copy, 'rename, 'symlink,'relsymlink, 'hardlink or 'backup. +\\='copy', \\='rename', \\='symlink', \\='relsymlink', \\='hardlink' or \\='backup'. Argument FOLLOW when non-nil specifies to follow FILES to DESTINATION for the actions copy and rename." (require 'dired-async) @@ -6438,36 +6472,6 @@ files." (format helm-ff-last-expanded-candidate-regexp (regexp-quote presel))))))) -;;;###autoload -(defun helm-delete-tramp-connection () - "Allow deleting tramp connection or marked tramp connections at once. - -This replace `tramp-cleanup-connection' which is partially broken -in Emacs < to 25.1.50.1 (See Emacs bug http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24432). - -It allows additionally to delete more than one connection at -once." - (interactive) - (let ((helm-quit-if-no-candidate - (lambda () - (message "No Tramp connection found")))) - (helm :sources (helm-build-sync-source "Tramp connections" - :candidates (tramp-list-connections) - :candidate-transformer (lambda (candidates) - (cl-loop for v in candidates - for name = (apply #'tramp-make-tramp-file-name - (cl-loop with v = (helm-ff--tramp-cons-or-vector v) - for i across v collect i)) - when (or (processp (tramp-get-connection-process v)) - (buffer-live-p (get-buffer (tramp-buffer-name v)))) - collect (cons name v))) - :action (lambda (_vec) - (let ((vecs (helm-marked-candidates))) - (cl-loop for v in vecs - do (progn - (tramp-cleanup-connection v) - (remhash v tramp-cache-data)))))) - :buffer "*helm tramp connections*"))) (provide 'helm-files) diff --git a/code/elpa/helm-20220423.1712/helm-find.el b/code/elpa/helm-20220803.1447/helm-find.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-find.el rename to code/elpa/helm-20220803.1447/helm-find.el index 1ef5ea1..7626639 100644 --- a/code/elpa/helm-20220423.1712/helm-find.el +++ b/code/elpa/helm-20220803.1447/helm-find.el @@ -1,6 +1,6 @@ ;;; helm-find.el --- helm interface for find command. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-font.el b/code/elpa/helm-20220803.1447/helm-font.el similarity index 99% rename from code/elpa/helm-20220423.1712/helm-font.el rename to code/elpa/helm-20220803.1447/helm-font.el index 32bb0af..f3d4511 100644 --- a/code/elpa/helm-20220423.1712/helm-font.el +++ b/code/elpa/helm-20220803.1447/helm-font.el @@ -1,6 +1,6 @@ ;;; helm-font --- Font and ucs selection for Helm -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-for-files.el b/code/elpa/helm-20220803.1447/helm-for-files.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-for-files.el rename to code/elpa/helm-20220803.1447/helm-for-files.el index 87f5934..3587fc7 100644 --- a/code/elpa/helm-20220423.1712/helm-for-files.el +++ b/code/elpa/helm-20220803.1447/helm-for-files.el @@ -1,6 +1,6 @@ ;;; helm-for-files.el --- helm-for-files and related. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -150,7 +150,7 @@ small.") (let ((helm-fuzzy-sort-fn 'helm-fuzzy-matching-sort-fn-preserve-ties-order)) (setq helm-source-recentf (helm-make-source "Recentf" 'helm-recentf-source - :fuzzy-match helm-recentf-fuzzy-match))))) + :fuzzy-match val))))) ;;; Files in current dir diff --git a/code/elpa/helm-20220423.1712/helm-global-bindings.el b/code/elpa/helm-20220803.1447/helm-global-bindings.el similarity index 94% rename from code/elpa/helm-20220423.1712/helm-global-bindings.el rename to code/elpa/helm-20220803.1447/helm-global-bindings.el index 3be6b49..896df8b 100644 --- a/code/elpa/helm-20220423.1712/helm-global-bindings.el +++ b/code/elpa/helm-20220803.1447/helm-global-bindings.el @@ -1,6 +1,6 @@ ;;; helm-global-bindings.el --- Bind global helm commands -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -17,11 +17,15 @@ ;;; Code: +(require 'helm-lib) ; For helm-aif (bug #2520). + ;;; Command Keymap ;; ;; -(defcustom helm-command-prefix-key "C-x c" +(defcustom helm-command-prefix-key + (helm-aif (car (where-is-internal 'Control-X-prefix (list global-map))) + (concat it [?c])) "The key `helm-command-prefix' is bound to in the global map." :type '(choice (string :tag "Key") (const :tag "no binding")) :group 'helm-config diff --git a/code/elpa/helm-20220423.1712/helm-grep.el b/code/elpa/helm-20220803.1447/helm-grep.el similarity index 96% rename from code/elpa/helm-20220423.1712/helm-grep.el rename to code/elpa/helm-20220803.1447/helm-grep.el index 66c7e70..b222f96 100644 --- a/code/elpa/helm-20220423.1712/helm-grep.el +++ b/code/elpa/helm-20220803.1447/helm-grep.el @@ -1,6 +1,6 @@ ;;; helm-grep.el --- Helm Incremental Grep. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -16,6 +16,7 @@ ;; along with this program. If not, see . ;;; Code: +(require 'ansi-color) (require 'cl-lib) (require 'format-spec) (require 'helm) @@ -40,6 +41,65 @@ (defvar helm-grep-git-grep-command) (defvar helm-source-grep-git) (defvar tramp-verbose) +(defvar helm-current-error) + +;;; Internals vars +;; +;; +(defvar helm-rzgrep-cache (make-hash-table :test 'equal)) +(defvar helm-grep-default-function 'helm-grep-init) +(defvar helm-zgrep-recurse-flag nil) +(defvar helm-grep-history nil) +(defvar helm-grep-ag-history nil) +(defvar helm-grep-last-targets nil) +(defvar helm-grep-include-files nil) +(defvar helm-grep-in-recurse nil) +(defvar helm-grep-use-zgrep nil) +(defvar helm-grep-default-directory-fn nil + "A function that should return a directory to expand candidate to. +It is intended to use as a let-bound variable, DON'T set this globaly.") +(defvar helm-pdfgrep-targets nil) +(defvar helm-grep-last-cmd-line nil) +(defvar helm-grep-split-line-regexp "^\\([[:lower:][:upper:]]?:?.*?\\):\\([0-9]+\\):\\(.*\\)") + + +;;; Keymaps +;; +;; +(defvar helm-grep-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-map) + (define-key map (kbd "M-") 'helm-goto-next-file) + (define-key map (kbd "M-") 'helm-goto-precedent-file) + (define-key map (kbd "C-c o") 'helm-grep-run-other-window-action) + (define-key map (kbd "C-c C-o") 'helm-grep-run-other-frame-action) + (define-key map (kbd "C-x C-s") 'helm-grep-run-save-buffer) + (define-key map (kbd "DEL") 'helm-delete-backward-no-update) + map) + "Keymap used in Grep sources.") + +(defvar helm-pdfgrep-map + (let ((map (make-sparse-keymap))) + (set-keymap-parent map helm-map) + (define-key map (kbd "M-") 'helm-goto-next-file) + (define-key map (kbd "M-") 'helm-goto-precedent-file) + (define-key map (kbd "DEL") 'helm-delete-backward-no-update) + map) + "Keymap used in pdfgrep.") + +(defvar helm-grep-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "RET") 'helm-grep-mode-jump) + (define-key map (kbd "C-o") 'helm-grep-mode-jump-other-window) + (define-key map (kbd "") 'helm-grep-mode-jump-other-window-forward) + (define-key map (kbd "") 'helm-grep-mode-jump-other-window-backward) + (define-key map (kbd "") 'helm-gm-next-file) + (define-key map (kbd "") 'helm-gm-precedent-file) + (define-key map (kbd "M-n") 'helm-grep-mode-jump-other-window-forward) + (define-key map (kbd "M-p") 'helm-grep-mode-jump-other-window-backward) + (define-key map (kbd "M-N") 'helm-gm-next-file) + (define-key map (kbd "M-P") 'helm-gm-precedent-file) + map)) (defgroup helm-grep nil @@ -57,19 +117,19 @@ Where: whether to use the -i option of grep. (Not mandatory) When you specify this spec, helm grep will use smartcase that is when a upcase character is found in pattern case will - be respected and no '-i' option will be used, otherwise, when - no upcase character is found in pattern always use '-i'. + be respected and no \\='-i' option will be used, otherwise, when + no upcase character is found in pattern always use \\='-i'. If you don't want this behavior, don't use this spec and - specify or not the '-i' option. + specify or not the \\='-i' option. Note that with ack-grep this is not needed, just specify - the '--smart-case' option. + the \\='--smart-case' option. '%p' format spec is for pattern. (Mandatory) '%f' format spec is for filenames. (Mandatory) If your grep version doesn't support the --exclude/include args -don't specify the '%e' format spec. +don't specify the \\='%e' format spec. Helm also support ack-grep and git-grep. The following is a default command example for ack-grep: @@ -89,7 +149,7 @@ because ack disable it when output is piped. Same for grep you can use safely the option \"--color=always\" (default). You can customize the color of matches using GREP_COLORS env var. -e.g: \(setenv \"GREP_COLORS\" +e.g: (setenv \"GREP_COLORS\" \"ms=30;43:mc=30;43:sl=01;37:cx=:fn=35:ln=32:bn=32:se=36\") To enable ANSI color in git-grep just add \"--color=always\". @@ -111,7 +171,6 @@ faster on recursive grep. NOTE: Remote grepping is not available with ack-grep, and badly supported with grep because tramp handles badly repeated remote processes in a short delay (< to 5s)." - :group 'helm-grep :type 'string) (defcustom helm-grep-default-recurse-command @@ -119,7 +178,6 @@ NOTE: Remote grepping is not available with ack-grep, and badly "Default recursive grep format command for `helm-do-grep-1'. See `helm-grep-default-command' for format specs and infos about ack-grep." - :group 'helm-grep :type 'string) (defcustom helm-default-zgrep-command @@ -129,7 +187,6 @@ See `helm-grep-default-command' for infos on format specs. Option --color=always is supported and can be used safely to replace the Helm internal match highlighting. See `helm-grep-default-command' for more infos." - :group 'helm-grep :type 'string) (defcustom helm-pdfgrep-default-command @@ -138,7 +195,6 @@ replace the Helm internal match highlighting. See Option \"--color always\" is supported starting Helm version 1.7.8. When used matches will be highlighted according to GREP_COLORS env var." - :group 'helm-grep :type 'string) (defcustom helm-pdfgrep-default-recurse-command @@ -147,40 +203,34 @@ GREP_COLORS env var." Option \"--color always\" is supported starting Helm version 1.7.8. When used matches will be highlighted according to GREP_COLORS env var." - :group 'helm-grep :type 'string) (defcustom helm-pdfgrep-default-read-command nil "Default command to read pdf files from pdfgrep. -Where '%f' format spec is filename and '%p' is page number. +Where \\='%f' format spec is filename and \\='%p' is page number. E.g. In Ubuntu you can set it to: - \"evince --page-label=%p '%f'\" + \"evince --page-label=%p \\='%f'\" If set to nil either `doc-view-mode' or `pdf-view-mode' will be used instead of an external command." - :group 'helm-grep :type 'string) (defcustom helm-grep-max-length-history 100 "Max number of elements to save in `helm-grep-history'." - :group 'helm-grep :type 'integer) (defcustom helm-zgrep-file-extension-regexp ".*\\(\\.gz\\|\\.bz\\|\\.xz\\|\\.lzma\\)$" "Default file extensions zgrep will search in." - :group 'helm-grep :type 'string) (defcustom helm-grep-preferred-ext nil "This file extension will be preselected for grep." - :group 'helm-grep :type 'string) (defcustom helm-grep-save-buffer-name-no-confirm nil "When *hgrep* already exists, auto append suffix." - :group 'helm-grep :type 'boolean) (defcustom helm-grep-ignored-files @@ -189,18 +239,15 @@ used instead of an external command." (concat "*" s))) completion-ignored-extensions))) "List of file names which `helm-grep' shall exclude." - :group 'helm-grep :type '(repeat string)) (defcustom helm-grep-ignored-directories helm-walk-ignore-directories "List of names of sub-directories which `helm-grep' shall not recurse into." - :group 'helm-grep :type '(repeat string)) (defcustom helm-grep-truncate-lines t "When nil the grep line that appears will not be truncated." - :group 'helm-grep :type 'boolean) (defcustom helm-grep-file-path-style 'basename @@ -209,7 +256,6 @@ Possible value are: basename: displays only the filename, none of the directory path absolute: displays absolute path relative: displays relative path from root grep directory." - :group 'helm-grep :type '(choice (const :tag "Basename" basename) (const :tag "Absolute" absolute) (const :tag "Relative" relative))) @@ -221,7 +267,6 @@ Possible value are: "Save results in grep buffer" 'helm-grep-save-results "Find file other window (C-u vertically)" 'helm-grep-other-window) "Actions for helm grep." - :group 'helm-grep :type '(alist :key-type string :value-type function)) (defcustom helm-grep-pipe-cmd-switches nil @@ -237,7 +282,6 @@ Here are the commands where you may want to add switches: You probably don't need to use this unless you know what you are doing." - :group 'helm-grep :type '(repeat string)) (defcustom helm-grep-ag-pipe-cmd-switches nil @@ -257,7 +301,6 @@ need to add it here. You probably don't need to use this unless you know what you are doing." - :group 'helm-grep :type '(repeat string)) (defcustom helm-grep-input-idle-delay 0.1 @@ -265,8 +308,87 @@ doing." A lower value (default) means Helm will display the results faster. Increasing it to a higher value (e.g. 0.6) prevents the buffer from flickering when updating." - :group 'helm-grep :type 'float) + +(defcustom helm-grep-use-ioccur-style-keys t + "Use Arrow keys to jump to occurences. +Note that if you define this variable with `setq' your change +will have no effect, use customize instead." + :type 'boolean + :set (lambda (var val) + (set var val) + (if val + (progn + (define-key helm-grep-map (kbd "") 'helm-execute-persistent-action) + (define-key helm-grep-map (kbd "") 'helm-grep-run-default-action)) + (define-key helm-grep-map (kbd "") nil) + (define-key helm-grep-map (kbd "") nil)))) + +(defcustom helm-grep-ag-command + "ag --line-numbers -S --color --nogroup %s -- %s %s" + "The default command for AG, PT or RG. + +Takes three format specs, the first for type(s), the second for +pattern and the third for directory. + +You can use safely \"--color\" (used by default) with AG RG and +PT. + +NOTE: Usage of \"--color=never\" is discouraged as it uses Elisp +to colorize matched items which is slower than using the native +colorization of backend, however it is still supported. + +For ripgrep here is the command line to use: + + rg --color=always --smart-case --no-heading --line-number %s -- %s %s + +And to customize colors (always for ripgrep) use something like this: + + rg --color=always --colors \\='match:bg:yellow' --colors \\='match:fg:black' +\--smart-case --no-heading --line-number %s -- %s %s + +This will change color for matched items from foreground red (the +default) to a yellow background with a black foreground. Note +that your color settings for RG will not work properly with +multiples pattern if you have configured colors in rg config file +instead of command line. For more enhanced settings of ansi +colors see https://github.com/emacs-helm/helm/issues/2313 + +You must use an output format that fit with helm grep, that is: + + \"filename:line-number:string\" + +The option \"--nogroup\" allow this. +The option \"--line-numbers\" is also mandatory except with +PT (not supported). +For RG the options \"--no-heading\" and \"--line-number\" are the +ones to use. + +When modifying the default colors of matches with e.g. +\"--color-match\" option of AG or \"--colors\" option of ripgrep +you may want to modify as well `helm-grep-ag-pipe-cmd-switches' +to have all matches colorized with the same color in multi +match. + +Of course you can use several other options, see the man page of the +backend you are using." + :type 'string) + +(defcustom helm-grep-git-grep-command + "git --no-pager grep -n%cH --color=always --full-name -e %p -- %f" + "The git grep default command line. +The option \"--color=always\" can be used safely. +The color of matched items can be customized in your .gitconfig +See `helm-grep-default-command' for more infos. + +The \"--exclude-standard\" and \"--no-index\" switches allow +skipping unwanted files specified in ~/.gitignore_global and +searching files not already staged (not enabled by default). + +You have also to enable this in global \".gitconfig\" with + \"git config --global core.excludesfile ~/.gitignore_global\"." + :type 'string) + ;;; Faces ;; @@ -313,80 +435,6 @@ Have no effect when grep backend use \"--color=\"." "Face used to highlight grep command line when no results." :group 'helm-grep-faces) - -;;; Keymaps -;; -;; -(defvar helm-grep-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map helm-map) - (define-key map (kbd "M-") 'helm-goto-next-file) - (define-key map (kbd "M-") 'helm-goto-precedent-file) - (define-key map (kbd "C-c o") 'helm-grep-run-other-window-action) - (define-key map (kbd "C-c C-o") 'helm-grep-run-other-frame-action) - (define-key map (kbd "C-x C-s") 'helm-grep-run-save-buffer) - (define-key map (kbd "DEL") 'helm-delete-backward-no-update) - map) - "Keymap used in Grep sources.") - -(defcustom helm-grep-use-ioccur-style-keys t - "Use Arrow keys to jump to occurences. -Note that if you define this variable with `setq' your change -will have no effect, use customize instead." - :group 'helm-grep - :type 'boolean - :set (lambda (var val) - (set var val) - (if val - (progn - (define-key helm-grep-map (kbd "") 'helm-execute-persistent-action) - (define-key helm-grep-map (kbd "") 'helm-grep-run-default-action)) - (define-key helm-grep-map (kbd "") nil) - (define-key helm-grep-map (kbd "") nil)))) - -(defvar helm-pdfgrep-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map helm-map) - (define-key map (kbd "M-") 'helm-goto-next-file) - (define-key map (kbd "M-") 'helm-goto-precedent-file) - (define-key map (kbd "DEL") 'helm-delete-backward-no-update) - map) - "Keymap used in pdfgrep.") - -(defvar helm-grep-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "RET") 'helm-grep-mode-jump) - (define-key map (kbd "C-o") 'helm-grep-mode-jump-other-window) - (define-key map (kbd "") 'helm-grep-mode-jump-other-window-forward) - (define-key map (kbd "") 'helm-grep-mode-jump-other-window-backward) - (define-key map (kbd "") 'helm-gm-next-file) - (define-key map (kbd "") 'helm-gm-precedent-file) - (define-key map (kbd "M-n") 'helm-grep-mode-jump-other-window-forward) - (define-key map (kbd "M-p") 'helm-grep-mode-jump-other-window-backward) - (define-key map (kbd "M-N") 'helm-gm-next-file) - (define-key map (kbd "M-P") 'helm-gm-precedent-file) - map)) - - -;;; Internals vars -;; -;; -(defvar helm-rzgrep-cache (make-hash-table :test 'equal)) -(defvar helm-grep-default-function 'helm-grep-init) -(defvar helm-zgrep-recurse-flag nil) -(defvar helm-grep-history nil) -(defvar helm-grep-ag-history nil) -(defvar helm-grep-last-targets nil) -(defvar helm-grep-include-files nil) -(defvar helm-grep-in-recurse nil) -(defvar helm-grep-use-zgrep nil) -(defvar helm-grep-default-directory-fn nil - "A function that should return a directory to expand candidate to. -It is intended to use as a let-bound variable, DON'T set this globaly.") -(defvar helm-pdfgrep-targets nil) -(defvar helm-grep-last-cmd-line nil) -(defvar helm-grep-split-line-regexp "^\\([[:lower:][:upper:]]?:?.*?\\):\\([0-9]+\\):\\(.*\\)") - ;;; Init ;; @@ -677,29 +725,29 @@ WHERE can be `other-window' or `other-frame'." (doc-view-goto-page lineno)))) (t (find-file fname))) (unless (or (eq where 'grep) (eq where 'pdf)) - (helm-goto-line lineno)) - ;; Move point to the nearest matching regexp from bol. - (cl-loop for reg in split-pat - when (save-excursion - (condition-case _err - (if helm-migemo-mode - (helm-mm-migemo-forward reg (point-at-eol) t) - (re-search-forward reg (point-at-eol) t)) - (invalid-regexp nil))) - collect (match-beginning 0) into pos-ls - finally (when pos-ls (goto-char (apply #'min pos-ls)))) - ;; Save history - (unless (or helm-in-persistent-action - (eq major-mode 'helm-grep-mode) - (string= helm-pattern "")) - (setq helm-grep-history - (cons helm-pattern - (delete helm-pattern helm-grep-history))) - (when (> (length helm-grep-history) - helm-grep-max-length-history) + (helm-goto-line lineno) + ;; Move point to the nearest matching regexp from bol. + (cl-loop for reg in split-pat + when (save-excursion + (condition-case _err + (if helm-migemo-mode + (helm-mm-migemo-forward reg (point-at-eol) t) + (re-search-forward reg (point-at-eol) t)) + (invalid-regexp nil))) + collect (match-beginning 0) into pos-ls + finally (when pos-ls (goto-char (apply #'min pos-ls)))) + ;; Save history + (unless (or helm-in-persistent-action + (eq major-mode 'helm-grep-mode) + (string= helm-pattern "")) (setq helm-grep-history - (delete (car (last helm-grep-history)) - helm-grep-history)))))) + (cons helm-pattern + (delete helm-pattern helm-grep-history))) + (when (> (length helm-grep-history) + helm-grep-max-length-history) + (setq helm-grep-history + (delete (car (last helm-grep-history)) + helm-grep-history))))))) (defun helm-grep-persistent-action (candidate) "Persistent action for `helm-do-grep-1'. @@ -866,6 +914,7 @@ If N is positive go forward otherwise go backward." (forward-line 1)))) (helm-grep-mode)) (pop-to-buffer buf) + (setq next-error-last-buffer (get-buffer buf)) (message "Helm %s Results saved in `%s' buffer" src-name buf))) (defun helm-grep-mode-mouse-jump (event) @@ -884,14 +933,20 @@ RESET non-nil means rewind to the first match. This is the `next-error-function' for `helm-grep-mode'." (interactive "p") (goto-char (cond (reset (point-min)) - ((< argp 0) (line-beginning-position)) - ((> argp 0) (line-end-position)) + ((and (< argp 0) helm-current-error) + (line-beginning-position)) + ((and (> argp 0) helm-current-error) + (line-end-position)) ((point)))) (let ((fun (if (> argp 0) #'next-single-property-change #'previous-single-property-change))) (helm-aif (funcall fun (point) 'helm-grep-fname) - (progn (goto-char it) (helm-grep-mode-jump)) + (progn + (goto-char it) + ;; `helm-current-error' is set in + ;; `helm-grep-mode-jump'. + (helm-grep-mode-jump)) (user-error "No more matches")))) (put 'helm-grep-next-error 'helm-only t) @@ -929,7 +984,8 @@ Special commands: (set (make-local-variable 'revert-buffer-function) #'helm-grep-mode--revert-buffer-function) (set (make-local-variable 'next-error-function) - #'helm-grep-next-error)) + #'helm-grep-next-error) + (set (make-local-variable 'helm-current-error) nil)) (put 'helm-grep-mode 'helm-only t) (defun helm-grep-mode--revert-buffer-function (&optional _ignore-auto _noconfirm) @@ -972,7 +1028,8 @@ Special commands: (linum (line-number-at-pos))) (with-current-buffer (next-error-find-buffer) (helm-grep-goto-closest-from-linum linum bufname)))) - (message "Reverting buffer done"))) + (message "Reverting buffer done") + (when executing-kbd-macro (sit-for 1)))) (defun helm-grep-goto-closest-from-linum (linum bufname) (goto-char (point-min)) @@ -993,6 +1050,8 @@ Special commands: (defun helm-grep-mode-jump () (interactive) + (setq next-error-last-buffer (current-buffer)) + (setq-local helm-current-error (point-marker)) (helm-grep-action (buffer-substring (point-at-bol) (point-at-eol))) (helm-match-line-cleanup-pulse)) @@ -1020,6 +1079,8 @@ Special commands: (defun helm-grep-mode-jump-other-window () (interactive) + (setq next-error-last-buffer (current-buffer)) + (setq-local helm-current-error (point-marker)) (let ((candidate (buffer-substring (point-at-bol) (point-at-eol)))) (condition-case nil (progn (helm-grep-action candidate 'other-window) @@ -1058,7 +1119,7 @@ Special commands: (defvar helm-grep-ack-types-cache nil) (defun helm-grep-read-ack-type () - "Select types for the '--type' argument of ack-grep." + "Select types for the \\='--type' argument of ack-grep." (require 'helm-mode) (require 'helm-adaptive) (setq helm-grep-ack-types-cache (helm-grep-hack-types)) @@ -1098,7 +1159,7 @@ of grep." finally return (delq nil (append ext-list glob-list)))) (defun helm-grep-get-file-extensions (files) - "Try to return a list of file extensions to pass to '--include' arg of grep." + "Try to return a list of file extensions to pass to \\='--include' arg of grep." (require 'helm-adaptive) (let* ((all-exts (helm-grep-guess-extensions (mapcar 'expand-file-name files))) @@ -1168,7 +1229,7 @@ of grep." default-input input (source 'helm-source-grep)) "Launch helm using backend BACKEND on a list of TARGETS files. -When RECURSE is given and BACKEND is 'grep' use -r option of +When RECURSE is given and BACKEND is \\='grep' use -r option of BACKEND and prompt user for EXTS to set the --include args of BACKEND. Interactively you can give more than one arg separated by space @@ -1185,8 +1246,8 @@ Argument DEFAULT-INPUT is use as `default' arg of `helm' and INPUT is used as `input' arg of `helm'. See `helm' docstring. Arg BACKEND when non-nil specifies which backend to use. -It is used actually to specify 'zgrep' or 'git'. -When BACKEND 'zgrep' is used don't prompt for a choice in +It is used actually to specify \\='zgrep' or \\='git'. +When BACKEND \\='zgrep' is used don't prompt for a choice in recurse, and ignore EXTS, search being made recursively on files matching `helm-zgrep-file-extension-regexp' only." (let* (non-essential @@ -1525,57 +1586,6 @@ non-file buffers." ;; https://github.com/monochromegane/the_platinum_searcher ;; https://github.com/BurntSushi/ripgrep -(defcustom helm-grep-ag-command - "ag --line-numbers -S --color --nogroup %s -- %s %s" - "The default command for AG, PT or RG. - -Takes three format specs, the first for type(s), the second for -pattern and the third for directory. - -You can use safely \"--color\" (used by default) with AG RG and -PT. - -NOTE: Usage of \"--color=never\" is discouraged as it uses Elisp -to colorize matched items which is slower than using the native -colorization of backend, however it is still supported. - -For ripgrep here is the command line to use: - - rg --color=always --smart-case --no-heading --line-number %s -- %s %s - -And to customize colors (always for ripgrep) use something like this: - - rg --color=always --colors 'match:bg:yellow' --colors 'match:fg:black' -\--smart-case --no-heading --line-number %s -- %s %s - -This will change color for matched items from foreground red (the -default) to a yellow background with a black foreground. Note -that your color settings for RG will not work properly with -multiples pattern if you have configured colors in rg config file -instead of command line. For more enhanced settings of ansi -colors see https://github.com/emacs-helm/helm/issues/2313 - -You must use an output format that fit with helm grep, that is: - - \"filename:line-number:string\" - -The option \"--nogroup\" allow this. -The option \"--line-numbers\" is also mandatory except with -PT (not supported). -For RG the options \"--no-heading\" and \"--line-number\" are the -ones to use. - -When modifying the default colors of matches with e.g. -\"--color-match\" option of AG or \"--colors\" option of ripgrep -you may want to modify as well `helm-grep-ag-pipe-cmd-switches' -to have all matches colorized with the same color in multi -match. - -Of course you can use several other options, see the man page of the -backend you are using." - :group 'helm-grep - :type 'string) - (defun helm-grep--ag-command () (car (helm-remove-if-match "\\`[A-Z]*=" (split-string helm-grep-ag-command)))) @@ -1749,22 +1759,6 @@ When WITH-TYPES is non-nil provide completion on AG types." ;; (defvar helm-source-grep-git nil) -(defcustom helm-grep-git-grep-command - "git --no-pager grep -n%cH --color=always --full-name -e %p -- %f" - "The git grep default command line. -The option \"--color=always\" can be used safely. -The color of matched items can be customized in your .gitconfig -See `helm-grep-default-command' for more infos. - -The \"--exclude-standard\" and \"--no-index\" switches allow -skipping unwanted files specified in ~/.gitignore_global and -searching files not already staged (not enabled by default). - -You have also to enable this in global \".gitconfig\" with - \"git config --global core.excludesfile ~/.gitignore_global\"." - :group 'helm-grep - :type 'string) - (defun helm-grep-git-1 (directory &optional all default input) "Run git-grep on DIRECTORY. If DIRECTORY is not inside or part of a git repo exit with error. diff --git a/code/elpa/helm-20220423.1712/helm-help.el b/code/elpa/helm-20220803.1447/helm-help.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-help.el rename to code/elpa/helm-20220803.1447/helm-help.el index d41128a..5335318 100644 --- a/code/elpa/helm-20220423.1712/helm-help.el +++ b/code/elpa/helm-20220803.1447/helm-help.el @@ -1,6 +1,6 @@ ;;; helm-help.el --- Help messages for Helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -392,8 +392,8 @@ 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. +It searches directories matching \"name\" under the current directory, +see the [[Recursive completion on subdirectories][Recursive completion on subdirectories]] section below for more details. **** Any environment variable (e.g. `$HOME') at end of pattern gets expanded @@ -568,14 +568,14 @@ You can use also a glob based search, in this case use the --glob option: *** Insert filename at point or complete filename at point -On insertion (not on completion, i.e. there is nothing at point): +On insertion (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. - `\\[universal-argument] \\[universal-argument] \\[universal-argument] \\[helm-ff-run-complete-fn-at-point]': insert basename. -On completion: +On completion (\\[helm-ff-run-complete-fn-at-point]): - Target starts with \"~/\": insert abbreviate file name. - target starts with \"/\" or \"[a-z]:/\": insert full path. @@ -2258,9 +2258,16 @@ marking it (`C-c u' or `RET') . ** Tips -*** You can get help on any command with persistent action (\\\\[helm-execute-persistent-action]) +*** Display docstring without quitting session (persistent action) -*** You can toggle short docstring description with \\\\[helm-M-x-toggle-short-doc]. +You can get help on any command with persistent action (\\\\[helm-execute-persistent-action]) + +*** Display short docstring in helm buffer + +You can toggle short docstring description with \\\\[helm-M-x-toggle-short-doc]. +if you want this at startup you can configure `helm-M-x-show-short-doc'. + +NOTE: helm-M-x will be slower with this enabled. *** History source @@ -2271,6 +2278,19 @@ displayed in first position, however you can put it in second position if you don't like that by customizing `helm-M-x-reverse-history'. +**** Duplicate entries in helm-M-x history + +helm-M-x history obey to history variables, if you have +duplicates in your helm-M-x history set `history-delete-duplicates' to non nil. + +**** Number of entries in history + +The number of entries saved is controlled by `history-length' +global value, however if you want a different value for +`extended-command-history' e.g. 50 you can add to your config: + + (put 'extended-command-history 'history-length 50) + *** Enabled modes are highlighted in helm-M-x *** Prefix arguments @@ -2278,8 +2298,9 @@ position if you don't like that by customizing You can 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. +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. NOTE: When you specify prefix arguments once `helm-M-x' is started, the prefix argument apply on the next command, so if you @@ -2289,10 +2310,13 @@ prefix arg will apply to `self-insert-command' (e.g. if you type `C-u e' \"eeee\" will be inserted in prompt) so select the command you want to execute before specifying prefix arg. -*** Duplicate entries in helm-M-x history +** Commands +\\ +|Keys|Description +|-----------+------------| +|\\[helm-M-x-universal-argument]|Universal argument for selected command +|\\[helm-M-x-toggle-short-doc]|Toggle details on commands") -helm-M-x history obey to history variables, if you have -duplicates in your helm-M-x history set `history-delete-duplicates' to non nil.") ;;; Helm imenu ;; diff --git a/code/elpa/helm-20220423.1712/helm-id-utils.el b/code/elpa/helm-20220803.1447/helm-id-utils.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-id-utils.el rename to code/elpa/helm-20220803.1447/helm-id-utils.el index 0567358..0ff71e5 100644 --- a/code/elpa/helm-20220423.1712/helm-id-utils.el +++ b/code/elpa/helm-20220803.1447/helm-id-utils.el @@ -1,6 +1,6 @@ ;;; helm-id-utils.el --- Helm interface for id-utils. -*- lexical-binding: t -*- -;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-imenu.el b/code/elpa/helm-20220803.1447/helm-imenu.el similarity index 57% rename from code/elpa/helm-20220423.1712/helm-imenu.el rename to code/elpa/helm-20220803.1447/helm-imenu.el index 0844d6e..36aa978 100644 --- a/code/elpa/helm-20220423.1712/helm-imenu.el +++ b/code/elpa/helm-20220803.1447/helm-imenu.el @@ -1,6 +1,6 @@ ;;; helm-imenu.el --- Helm interface for Imenu -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -24,7 +24,14 @@ (require 'helm-utils) (require 'helm-help) +(defvar all-the-icons-default-adjust) +(defvar all-the-icons-scale-factor) + (declare-function which-function "which-func") +(declare-function all-the-icons-material "ext:all-the-icons.el") +(declare-function all-the-icons-octicon "ext:all-the-icons.el") +(declare-function all-the-icons-faicon "ext:all-the-icons.el") +(declare-function all-the-icons-wicon "ext:all-the-icons.el") (defgroup helm-imenu nil @@ -46,8 +53,8 @@ "Major mode association alist for `helm-imenu-in-all-buffers'. Allow `helm-imenu-in-all-buffers' searching in these associated buffers even if they are not derived from each other. The alist -is bidirectional, i.e. no need to add '((foo . bar) (bar . foo)), -only '((foo . bar)) is needed." +is bidirectional, i.e. no need to add \\='((foo . bar) (bar . foo)), +only \\='((foo . bar)) is needed." :type '(alist :key-type symbol :value-type symbol) :group 'helm-imenu) @@ -84,6 +91,101 @@ string." "Extra modes where `helm-imenu-in-all-buffers' should look into." :group 'helm-imenu :type '(repeat symbol)) + +(defcustom helm-imenu-hide-item-type-name nil + "Hide display name of imenu item type along with the icon when non nil. + +This value can be toggled with \\\\[helm-imenu-toggle-type-view]." + :group 'helm-imenu + :type 'boolean) + +(defcustom helm-imenu-use-icon nil + "Display an icon from all-the-icons package when non nil." + :group 'helm-imenu + :type 'boolean) + +(defcustom helm-imenu-icon-type-alist + '(("Array" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Array" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Boolean" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Boolean" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Class" . (all-the-icons-octicon "package" :face font-lock-type-face)) + ("Class" . (all-the-icons-octicon "package" :face font-lock-type-face)) + ("Color" . (all-the-icons-material "color_lens" :face font-lock-builtin-face)) + ("Colors" . (all-the-icons-material "color_lens" :face font-lock-builtin-face)) + ("Constant" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Constants" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Constructor" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Constructors" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Enum Member" . (all-the-icons-octicon "three-bars" :face font-lock-type-face)) + ("Enum Members" . (all-the-icons-octicon "three-bars" :face font-lock-type-face)) + ("Enum" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Enums" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Event" . (all-the-icons-wicon "lightning" :face font-lock-builtin-face)) + ("Events" . (all-the-icons-wicon "lightning" :face font-lock-builtin-face)) + ("Field" . (all-the-icons-octicon "three-bars" :face font-lock-type-face)) + ("Fields" . (all-the-icons-octicon "three-bars" :face font-lock-type-face)) + ("File" . (all-the-icons-faicon "file" :face font-lock-variable-name-face)) + ("Files" . (all-the-icons-faicon "file" :face font-lock-variable-name-face)) + ("Folder" . (all-the-icons-faicon "folder" :face font-lock-variable-name-face)) + ("Folders" . (all-the-icons-faicon "folder" :face font-lock-variable-name-face)) + ("Interface" . (all-the-icons-octicon "package" :face font-lock-builtin-face)) + ("Interfaces" . (all-the-icons-octicon "package" :face font-lock-builtin-face)) + ("Keyword" . (all-the-icons-octicon "key" :face font-lock-builtin-face)) + ("Keywords" . (all-the-icons-octicon "key" :face font-lock-builtin-face)) + ("Method" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Methods" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Defun" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Defuns" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Fn" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Fns" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Function" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Functions" . (all-the-icons-faicon "cube" :face font-lock-function-name-face)) + ("Misc" . (all-the-icons-faicon "globe" :face font-lock-function-name-face)) + ("Miscs" . (all-the-icons-faicon "globe" :face font-lock-function-name-face)) + ("Module" . (all-the-icons-faicon "angle-double-right" :face font-lock-builtin-face)) + ("Modules" . (all-the-icons-faicon "angle-double-right" :face font-lock-builtin-face)) + ("Numeric" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Numeric" . (all-the-icons-material "crop" :face font-lock-builtin-face)) + ("Object" . (all-the-icons-faicon "angle-double-right" :face font-lock-builtin-face)) + ("Objects" . (all-the-icons-faicon "angle-double-right" :face font-lock-builtin-face)) + ("Operator" . (all-the-icons-faicon "calculator" :face font-lock-builtin-face)) + ("Operators" . (all-the-icons-faicon "calculator" :face font-lock-builtin-face)) + ("Property" . (all-the-icons-octicon "book" :face font-lock-variable-name-face)) + ("Properties" . (all-the-icons-octicon "book" :face font-lock-variable-name-face)) + ("Reference" . (all-the-icons-octicon "book" :face font-lock-variable-name-face)) + ("References" . (all-the-icons-octicon "book" :face font-lock-variable-name-face)) + ("Snippet" . (all-the-icons-material "border_style" :face font-lock-variable-name-face)) + ("Snippet" . (all-the-icons-material "border_style" :face font-lock-variable-name-face)) + ("String" . (all-the-icons-material "text_fields" :face font-lock-variable-name-face)) + ("Strings" . (all-the-icons-material "text_fields" :face font-lock-variable-name-face)) + ("Struct" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Structs" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Text" . (all-the-icons-material "text_fields" :face font-lock-variable-name-face)) + ("Texts" . (all-the-icons-material "text_fields" :face font-lock-variable-name-face)) + ("Top level" . (all-the-icons-faicon "globe" :face font-lock-function-name-face)) + ("Trait" . (all-the-icons-octicon "package" :face font-lock-builtin-face)) + ("Traits" . (all-the-icons-octicon "package" :face font-lock-builtin-face)) + ("Type" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Types" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Type Parameter" . (all-the-icons-material "code" :face font-lock-type-face)) + ("Type Parameters" . (all-the-icons-material "code" :face font-lock-type-face)) + ("Unit" . (all-the-icons-faicon "bar-chart" :face font-lock-builtin-face)) + ("Units" . (all-the-icons-faicon "bar-chart" :face font-lock-builtin-face)) + ("Value" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Values" . (all-the-icons-faicon "cog" :face font-lock-type-face)) + ("Variable" . (all-the-icons-octicon "book" :face font-lock-variable-name-face)) + ("Variables" . (all-the-icons-octicon "book":face font-lock-variable-name-face))) + "An alist of types associated with a sexp returning an icon. +The sexp should be an `all-the-icons' function with its args." + :type '(alist :key-type string :value-type sexp) + :group 'helm-imenu) + +(defcustom helm-imenu-default-type-sexp + '(all-the-icons-faicon "globe" :face font-lock-function-name-face) + "Default sexp to use when no type for an object is found." + :type 'sexp + :group 'helm-imenu) ;;; keymap (defvar helm-imenu-map @@ -91,8 +193,26 @@ string." (set-keymap-parent map helm-map) (define-key map (kbd "M-") 'helm-imenu-next-section) (define-key map (kbd "M-") 'helm-imenu-previous-section) + (define-key map (kbd "C-]") 'helm-imenu-toggle-type-view) map)) +(defun helm-imenu-toggle-type-view () + "Toggle candidate type view." + (interactive) + (with-helm-window + (setq helm-imenu-hide-item-type-name (not helm-imenu-hide-item-type-name)) + (let* ((sel (substring (helm-get-selection nil 'withprop) + (if helm-imenu-use-icon 2 0))) + (type (get-text-property 1 'type-name sel))) + (setq sel (substring-no-properties sel)) + (helm-force-update (if helm-imenu-hide-item-type-name + (format "^[ ]*%s$" + (car (last (split-string + sel helm-imenu-delimiter t)))) + (format "^[ ]*%s / %s$" + type sel)))))) +(put 'helm-imenu-toggle-type-view 'no-helm-mx t) + (defcustom helm-imenu-lynx-style-map nil "Use Arrow keys to jump to occurences." :group 'helm-imenu @@ -109,10 +229,11 @@ string." (defun helm-imenu-next-or-previous-section (n) (with-helm-window (let* ((fn (lambda () - (car (split-string - (buffer-substring - (point-at-bol) (point-at-eol)) - helm-imenu-delimiter)))) + (let ((str (buffer-substring + (point-at-bol) (point-at-eol)))) + (if helm-imenu-hide-item-type-name + (get-text-property 1 'type-name str) + (car (split-string str helm-imenu-delimiter)))))) (curtype (funcall fn)) (stop-fn (if (> n 0) #'helm-end-of-source-p @@ -143,6 +264,7 @@ string." (make-variable-buffer-local 'helm-cached-imenu-tick) (defvar helm-imenu--in-all-buffers-cache nil) + (defvar helm-source-imenu nil "See (info \"(emacs)Imenu\")") (defvar helm-source-imenu-all nil) @@ -294,6 +416,19 @@ string." (and prop (push prop lst))) lst))) +(defun helm-imenu-icon-for-type (type) + "Return an icon for type TYPE. +The icon is found in `helm-imenu-icon-type-alist', if not +`helm-imenu-default-type-sexp' is evaled to provide a default icon." + (require 'all-the-icons) + (let ((all-the-icons-scale-factor 1.0) + (all-the-icons-default-adjust 0.0)) + (or (helm-aand (assoc-default + type helm-imenu-icon-type-alist) + (apply (car it) (cdr it))) + (apply (car helm-imenu-default-type-sexp) + (cdr helm-imenu-default-type-sexp))))) + (defun helm-imenu-transformer (candidates) (cl-loop for (k . v) in candidates ;; (k . v) == (symbol-name . marker) @@ -308,17 +443,30 @@ string." "Function" "Top level") k)) - for disp1 = (mapconcat - (lambda (x) - (propertize - x 'face - (cl-loop for (p . f) in helm-imenu-type-faces - when (string-match p x) return f - finally return 'default))) - types helm-imenu-delimiter) - for disp = (propertize disp1 'help-echo bufname 'types types) + for type-icon = (and helm-imenu-use-icon + (helm-imenu-icon-for-type (car types))) + for type-name = (propertize + (car types) 'face + (cl-loop for (p . f) in helm-imenu-type-faces + when (string-match p (car types)) + return f + finally return 'default)) + for disp1 = (mapconcat 'identity + (cdr types) + (propertize helm-imenu-delimiter + 'face 'shadow)) + for disp = (concat (if helm-imenu-use-icon + (concat (propertize " " 'display type-icon) " ") + "") + (if helm-imenu-hide-item-type-name + "" + (concat type-name + (propertize helm-imenu-delimiter + 'face 'shadow))) + (propertize disp1 'help-echo bufname 'types types)) collect - (cons disp (cons k v)))) + (cons (propertize disp 'type-name type-name) (cons k v)))) + ;;;###autoload (defun helm-imenu () diff --git a/code/elpa/helm-20220423.1712/helm-info.el b/code/elpa/helm-20220803.1447/helm-info.el similarity index 99% rename from code/elpa/helm-20220423.1712/helm-info.el rename to code/elpa/helm-20220803.1447/helm-info.el index eb1a0cc..e996c09 100644 --- a/code/elpa/helm-20220423.1712/helm-info.el +++ b/code/elpa/helm-20220803.1447/helm-info.el @@ -1,6 +1,6 @@ ;;; helm-info.el --- Browse info index with helm -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-locate.el b/code/elpa/helm-20220803.1447/helm-locate.el similarity index 94% rename from code/elpa/helm-20220423.1712/helm-locate.el rename to code/elpa/helm-20220803.1447/helm-locate.el index 911c385..95b478d 100644 --- a/code/elpa/helm-20220423.1712/helm-locate.el +++ b/code/elpa/helm-20220803.1447/helm-locate.el @@ -1,6 +1,6 @@ ;;; helm-locate.el --- helm interface for locate. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -34,11 +34,10 @@ "Locate related Applications and libraries for Helm." :group 'helm) -(defcustom helm-locate-db-file-regexp "m?locate\.db$" +(defcustom helm-locate-db-file-regexp "m?locate\\.db$" "Default regexp to match locate database. If nil Search in all files." - :type 'string - :group 'helm-locate) + :type 'string) (defcustom helm-ff-locate-db-filename "locate.db" "The basename of the locatedb file you use locally in your directories. @@ -47,7 +46,6 @@ where you launch locate, it will use this file and will not prompt you for a db file. Note that this happen only when locate is launched with a prefix arg." - :group 'helm-locate :type 'string) (defcustom helm-locate-command nil @@ -79,43 +77,37 @@ Note that the \"-b\" option is added automatically by Helm when var `helm-locate-fuzzy-match' is non-nil and switching back from multimatch to fuzzy matching (this is done automatically when a space is detected in pattern)." - :type 'string - :group 'helm-locate) + :type 'string) (defcustom helm-locate-create-db-command "updatedb -l 0 -o '%s' -U '%s'" "Command used to create a locale locate db file." - :type 'string - :group 'helm-locate) + :type 'string) (defcustom helm-locate-case-fold-search helm-case-fold-search "It have the same meaning as `helm-case-fold-search'. The -i option of locate will be used depending of value of -`helm-pattern' when this is set to 'smart. +`helm-pattern' when this is set to \\='smart. When nil \"-i\" will not be used at all and when non-nil it will always be used. NOTE: the -i option of the \"es\" command used on windows does the opposite of \"locate\" command." - :group 'helm-locate :type 'symbol) (defcustom helm-locate-fuzzy-match nil "Enable fuzzy matching in `helm-locate'. Note that when this is enabled searching is done on basename." - :group 'helm-locate :type 'boolean) (defcustom helm-locate-fuzzy-sort-fn #'helm-locate-default-fuzzy-sort-fn "Default fuzzy matching sort function for locate." - :group 'helm-locate :type 'boolean) (defcustom helm-locate-project-list nil "A list of directories, your projects. When set, allow browsing recursively files in all directories of this list with `helm-projects-find-files'." - :group 'helm-locate :type '(repeat string)) (defcustom helm-locate-recursive-dirs-command "locate -i -e -A --regex '^%s' '%s.*$'" @@ -176,7 +168,7 @@ It should receive the same arguments as Prefix arg LOCALDB when (4) search and use a local locate db file when it exists or create it, when (16) force update of existing db file even if exists. -It has no effect when locate command is 'es'. INIT is a string +It has no effect when locate command is \\='es'. INIT is a string to use as initial input in prompt. See `helm-locate-with-db' and `helm-locate'." (require 'helm-mode) @@ -284,9 +276,23 @@ See also `helm-locate'." 'face 'helm-locate-finish)))) (force-mode-line-update))) +(defun helm-locate--default-process-coding-system () + "Fix `default-process-coding-system' in locate for Windows systems." + ;; This is an attempt to fix issue #1322. + (if (and (eq system-type 'windows-nt) + (boundp 'w32-ansi-code-page)) + (let ((code-page-eol + (intern (format "cp%s-%s" w32-ansi-code-page "dos")))) + (if (ignore-errors (check-coding-system code-page-eol)) + (cons code-page-eol code-page-eol) + default-process-coding-system)) + default-process-coding-system)) + (defun helm-locate-init () "Initialize async locate process for `helm-source-locate'." - (let* ((locate-is-es (string-match "\\`es" helm-locate-command)) + (let* ((default-process-coding-system + (helm-locate--default-process-coding-system)) + (locate-is-es (string-match "\\`es" helm-locate-command)) (real-locate (string-match "\\`locate" helm-locate-command)) (case-sensitive-flag (if locate-is-es "-i" "")) (ignore-case-flag (if (or locate-is-es @@ -352,12 +358,12 @@ Sort is done on basename of CANDIDATES." (history :initform 'helm-file-name-history) (persistent-action :initform 'helm-ff-kill-or-find-buffer-fname) (candidate-number-limit :initform 9999) - (redisplay :initform (progn helm-locate-fuzzy-sort-fn)) - (group :initform 'helm-locate))) + (redisplay :initform (progn helm-locate-fuzzy-sort-fn)))) ;; Override helm-type-file class keymap. (cl-defmethod helm--setup-source :after ((source helm-locate-override-inheritor)) - (setf (slot-value source 'keymap) helm-locate-map)) + (setf (slot-value source 'keymap) helm-locate-map) + (setf (slot-value source 'group) 'helm-locate)) (defvar helm-source-locate (helm-make-source "Locate" 'helm-locate-source @@ -451,7 +457,7 @@ With a prefix arg refresh the database in each project." (defun helm-locate (arg) "Preconfigured `helm' for Locate. Note: you can add locate options after entering pattern. -See 'man locate' for valid options and also `helm-locate-command'. +See \\='man locate' for valid options and also `helm-locate-command'. You can specify a local database with prefix argument ARG. With two prefix arg, refresh the current local db or create it if diff --git a/code/elpa/helm-20220423.1712/helm-man.el b/code/elpa/helm-20220803.1447/helm-man.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-man.el rename to code/elpa/helm-20220803.1447/helm-man.el index 06c7b2e..010b06d 100644 --- a/code/elpa/helm-20220423.1712/helm-man.el +++ b/code/elpa/helm-20220803.1447/helm-man.el @@ -1,6 +1,6 @@ ;;; helm-man.el --- Man and woman UI -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-misc.el b/code/elpa/helm-20220803.1447/helm-misc.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-misc.el rename to code/elpa/helm-20220803.1447/helm-misc.el index bb22a8c..fee7a44 100644 --- a/code/elpa/helm-20220423.1712/helm-misc.el +++ b/code/elpa/helm-20220803.1447/helm-misc.el @@ -1,6 +1,6 @@ ;;; helm-misc.el --- Various functions for helm -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -198,11 +198,11 @@ It is added to `extended-command-history'. map)) (defcustom helm-minibuffer-history-must-match t - "Allow inserting non matching elements when nil or 'confirm." + "Allow inserting non matching elements when nil or \\='confirm." :group 'helm-misc :type '(choice (const :tag "Must match" t) - (const :tag "Confirm" 'confirm) + (const :tag "Confirm" confirm) (const :tag "Always allow" nil))) (defcustom helm-minibuffer-history-key "C-r" diff --git a/code/elpa/helm-20220423.1712/helm-mode.el b/code/elpa/helm-20220803.1447/helm-mode.el similarity index 91% rename from code/elpa/helm-20220423.1712/helm-mode.el rename to code/elpa/helm-20220803.1447/helm-mode.el index 1ac8e6a..9d2e674 100644 --- a/code/elpa/helm-20220423.1712/helm-mode.el +++ b/code/elpa/helm-20220803.1447/helm-mode.el @@ -1,6 +1,6 @@ ;;; helm-mode.el --- Enable helm completion everywhere. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -28,6 +28,7 @@ (defvar completion-flex-nospace) (defvar helm-completion--sorting-done) (defvar helm-mode) +(defvar password-cache) ;; No warnings in Emacs built --without-x (declare-function x-file-dialog "xfns.c") @@ -36,6 +37,8 @@ (declare-function helm-apropos-init "helm-elisp") (declare-function helm-lisp-completion-persistent-action "helm-elisp") (declare-function helm-lisp-completion-persistent-help "helm-elisp") +(declare-function help--symbol-class "help-fns.el") +(declare-function helm-get-first-line-documentation "helm-elisp") (defgroup helm-mode nil "Enable helm completion." @@ -72,7 +75,7 @@ a `read-file-name' we may want to specify a handler for both of them, this can be done by specifying value as a list of two symbols instead of a single symbol where the 1st element of the list specify the handler for the `completing-read' and the second the handler for the `read-file-name'. -Special symbol 'default' means use the default helm handler for either +Special symbol \\='default' means use the default helm handler for either `completing-read' or `read-file-name'. e.g. (write-region . (default helm-read-file-name-handler-1)) means helm will use `helm-completing-read-default-handler' when @@ -101,7 +104,7 @@ Example: (defun foo/test () (interactive) - (message \"%S\" (completing-read \"test: \" '(a b c d e)))) + (message \"%S\" (completing-read \"test: \" \\='(a b c d e)))) (defun helm-foo/test-completing-read-handler (prompt collection predicate require-match @@ -112,8 +115,8 @@ Example: :name name :buffer buffer)) - (add-to-list 'helm-completing-read-handlers-alist - '(foo/test . helm-foo/test-completing-read-handler)) + (add-to-list \\='helm-completing-read-handlers-alist + \\='(foo/test . helm-foo/test-completing-read-handler)) We want here to make the regular `completing-read' in `foo/test' @@ -134,7 +137,7 @@ If you want to disable helm completion for `describe-function', use: (describe-function . nil) Ido is also supported, you can use `ido-completing-read' and -`ido-read-file-name' as value of an entry or just 'ido. +`ido-read-file-name' as value of an entry or just \\='ido. Example: Enable ido completion for `find-file': @@ -190,16 +193,10 @@ will be used." :group 'helm-mode :type 'function) -(defcustom helm-mode-fuzzy-match nil - "Enable fuzzy matching in `helm-mode' globally. - -This is deprecated, use instead helm-fuzzy as `helm-completion-style' or -even better 'emacs as `helm-completion-style' and add 'flex to -`completion-styles' (emacs-27) or 'helm-flex if 'flex is not available -in `completion-styles-alist' (emacs-26)." +(defcustom helm-mode-ignore-diacritics nil + "Ignore diacritics in completing-read." :group 'helm-mode :type 'boolean) -(make-obsolete-variable 'helm-mode-fuzzy-match 'helm-completion-style "3.6.0") (defcustom helm-completion-mark-suffix t "Push mark at end of suffix when non nil." @@ -280,7 +277,7 @@ the `completing-read' using the default handler i.e. `helm-completing-read-default-handler'. NB: This has nothing to do with `completion-styles', it is independent from -helm, but when using 'emacs as helm-completion-style helm +helm, but when using \\='emacs as helm-completion-style helm will use the `completion-styles' for its completions. Up to the user to configure `completion-styles'. @@ -289,7 +286,7 @@ There are three possible values to use: - helm, use multi match regular helm completion. - helm-fuzzy, use fuzzy matching. Note that as usual when - entering a space helm switch to multi matching mode. + entering a space helm switches to multi matching mode. - emacs, use regular Emacs completion according to `completion-styles'. Note that even in this style, helm allows using @@ -299,14 +296,14 @@ There are three possible values to use: similar to `flex' and helm fuzzy matching. For a better experience with emacs style, if you don't know what to use, set -`completion-styles' to '(flex) if you are using emacs-27 or to -\'(helm-flex) if you are using emacs-26 and keep 'emacs as default +`completion-styles' to \\='(flex) if you are using emacs-27 or to +\\='(helm-flex) if you are using emacs-26 and keep \\='emacs as default value for `helm-completion-style'. Advanced users can also have a look to `completion-category-overrides' to set styles according to category. You can as well use `helm-completion-styles-alist' to override `helm-completion-style' in specific modes. -Of course when using `helm' of `helm-fuzzy' as `helm-completion-style' +Of course when using `helm' or `helm-fuzzy' as `helm-completion-style' emacs `completion-styles' have no effect. Please use custom interface or `customize-set-variable' to set this, @@ -343,7 +340,7 @@ suitable value for `helm-completion-style'. When specifying emacs as style for a mode, `completion-styles' can be specified by using a cons cell specifying completion-styles to use with helm emacs style, e.g. (foo-mode . (emacs helm flex)) will set -`completion-styles' to '(helm flex) for foo-mode. This affects only +`completion-styles' to \\='(helm flex) for foo-mode. This affects only completions happening in buffers and not minibuffer completions, i.e. completing-read's." :group 'helm-mode @@ -369,7 +366,7 @@ Use this ONLY in `let', NOT globally, this allows third party packages to use a list as return value when `helm-mode' is enabled, e.g. (let ((helm-comp-read-use-marked t)) - (completing-read \"test: \" '(a b c d e f g))) + (completing-read \"test: \" \\='(a b c d e f g))) ") @@ -399,13 +396,13 @@ SORT-FN is a predicate to sort COLLECTION. ALISTP when non--nil will not use `all-completions' to collect candidates because it doesn't handle alists correctly for helm. i.e In `all-completions' the car of each pair is used as value. -In helm we want to use the cdr instead like \(display . real\), +In helm we want to use the cdr instead like (display . real), so we return the alist as it is with no transformation by `all-completions'. e.g -\(setq A '((a . 1) (b . 2) (c . 3))) +\(setq A \\='((a . 1) (b . 2) (c . 3))) ==>((a . 1) (b . 2) (c . 3)) \(helm-comp-read \"test: \" A :alistp nil :exec-when-only-one t @@ -492,51 +489,41 @@ If COLLECTION is an `obarray', a TEST should be needed. See `obarray'." (t (all-completions input collection test))))) (if sort-fn (sort cands sort-fn) cands)))) -(defun helm-cr--pattern-in-candidates-p (candidates) - (or (assoc helm-pattern candidates) - (assq (intern helm-pattern) candidates) - (member helm-pattern candidates) - (member (downcase helm-pattern) candidates) - (member (upcase helm-pattern) candidates))) +(cl-defun helm-cr--pattern-in-candidates-p (candidates &optional (pattern helm-pattern)) + (or (assoc pattern candidates) + (assq (intern pattern) candidates) + (member pattern candidates) + (member (downcase pattern) candidates) + (member (upcase pattern) candidates))) (defun helm-cr-default-transformer (candidates source) "Default filter candidate function for `helm-comp-read'." - (let ((must-match (helm-get-attr 'must-match source)) - unknown-pattern) - (unless (or (eq must-match t) - (string= helm-pattern "") - ;; Check if pattern is already member of candidates. - (helm-cr--pattern-in-candidates-p candidates)) - (setq candidates (append (list - ;; Unquote helm-pattern - ;; when it is added - ;; as candidate: Why? (Bug#2015) - ;; (replace-regexp-in-string - ;; "\\s\\" "" helm-pattern) - helm-pattern) - candidates)) - ;; Notify pattern have been added to candidates. - (setq unknown-pattern t)) + (let ((must-match (helm-get-attr 'must-match source))) (cl-loop for c in candidates - for cand = (if (stringp c) - (replace-regexp-in-string "\\s\\" "" c) - c) - for pat = (replace-regexp-in-string "\\s\\" "" helm-pattern) - if (and (or (equal c pat) (equal c helm-pattern)) - unknown-pattern) - collect - (cons (concat (propertize - " " 'display - (propertize "[?]" 'face 'helm-ff-prefix)) - c) - c) - into lst - else collect (if (and (stringp cand) - (string-match "\n" cand)) - (cons (replace-regexp-in-string "\n" "->" c) c) - c) - into lst - finally return (helm-fast-remove-dups lst :test 'equal)))) + for cand = (let ((elm (if (stringp c) + (replace-regexp-in-string "\\s\\" "" c) + c))) + (cond ((and (stringp elm) + (string-match "\n" elm)) + (cons (replace-regexp-in-string "\n" "->" elm) c)) + (t c))) + collect cand into lst + finally return + ;; Unquote helm-pattern when it is added as candidate + ;; (Bug#2015). + (let ((pat (replace-regexp-in-string "\\s\\" "" helm-pattern))) + (if (or (string= pat "") + (eq must-match t) + (helm-cr--pattern-in-candidates-p lst pat)) + lst + (append (list (cons (concat (propertize + " " 'display + (propertize "[?]" + 'face 'helm-ff-prefix + 'unknown t)) + pat) + pat)) + lst)))))) (defun helm-comp-read--move-to-first-real-candidate () (helm-aif (helm-get-selection nil 'withprop) @@ -586,6 +573,7 @@ If COLLECTION is an `obarray', a TEST should be needed. See `obarray'." (name "Helm Completions") header-name candidates-in-buffer + diacritics match-part match-dynamic exec-when-only-one @@ -750,6 +738,10 @@ that use `helm-comp-read'. See `helm-M-x' for example." nil "Error: History should be specified as a symbol") (when (get-buffer helm-action-buffer) (kill-buffer helm-action-buffer)) + (unless (memq must-match '(confirm confirm-after-completion t nil)) + ;; Fix completing-read's using something else than `t' e.g. 1 or + ;; whatever (bug #2527). + (setq must-match t)) (let ((action-fn `(("Sole action (Identity)" . (lambda (candidate) (if ,marked-candidates @@ -819,6 +811,7 @@ that use `helm-comp-read'. See `helm-M-x' for example." :persistent-action persistent-action :persistent-help persistent-help :fuzzy-match fuzzy + :diacritics diacritics :keymap keymap :must-match must-match :group group @@ -839,6 +832,7 @@ that use `helm-comp-read'. See `helm-M-x' for example." :requires-pattern requires-pattern :persistent-action persistent-action :fuzzy-match fuzzy + :diacritics diacritics :keymap keymap :must-match must-match :group group @@ -920,7 +914,7 @@ that use `helm-comp-read'. See `helm-M-x' for example." (or (car-safe default) default))) :filtered-candidate-transformer 'helm-apropos-default-sort-fn :help-message #'helm-comp-read-help-message - :fuzzy-match helm-mode-fuzzy-match + :fuzzy-match (eq helm-completion-style 'helm-fuzzy) :persistent-action (lambda (candidate) (helm-lisp-completion-persistent-action @@ -960,6 +954,7 @@ It should be used when candidate list doesn't need to be rebuilt dynamically." :input-history history :must-match require-match :alistp nil + :diacritics helm-mode-ignore-diacritics :help-message #'helm-comp-read-help-message :name name :requires-pattern (if (and (stringp default) @@ -972,7 +967,7 @@ It should be used when candidate list doesn't need to be rebuilt dynamically." :nomark (null helm-comp-read-use-marked) :candidates-in-buffer cands-in-buffer :exec-when-only-one exec-when-only-one - :fuzzy helm-mode-fuzzy-match + :fuzzy (eq helm-completion-style 'helm-fuzzy) :buffer buffer ;; If DEF is not provided, fallback to empty string ;; to avoid `thing-at-point' to be appended on top of list @@ -1002,6 +997,8 @@ This handler uses dynamic matching which allows honouring `completion-styles'." '(metadata))) (afun (or (plist-get completion-extra-properties :annotation-function) (completion-metadata-get metadata 'annotation-function))) + (afix (or (plist-get completion-extra-properties :affixation-function) + (completion-metadata-get metadata 'affixation-function))) (file-comp-p (eq (completion-metadata-get metadata 'category) 'file)) (compfn (lambda (str _predicate _action) (let* ((completion-ignore-case (helm-set-case-fold-search)) @@ -1045,10 +1042,15 @@ This handler uses dynamic matching which allows honouring `completion-styles'." (memq helm-completion-style '(helm helm-fuzzy)) (list default)) (helm-completion-in-region--initial-filter - (if (and sort-fn (> (length str) 0)) - (funcall sort-fn all) - all) - afun file-comp-p))))) + (pcase-let ((lst (if (and sort-fn (> (length str) 0)) + (funcall sort-fn all) + all))) + (if (and default afix) + (prog1 (append (list default) + (delete default lst)) + (setq default nil)) + lst)) + afun afix file-comp-p))))) (data (if (memq helm-completion-style '(helm helm-fuzzy)) (funcall compfn (or input "") nil nil) compfn)) @@ -1071,13 +1073,14 @@ This handler uses dynamic matching which allows honouring `completion-styles'." :reverse-history helm-mode-reverse-history ;; In helm h-c-styles default is passed directly in ;; candidates. - :default (and (eq helm-completion-style 'emacs) default) + :default (and (eq helm-completion-style 'emacs) (null afix) default) :fc-transformer ;; Ensure sort fn is at the end. (append '(helm-cr-default-transformer) (and helm-completion-in-region-default-sort-fn (list helm-completion-in-region-default-sort-fn))) :match-dynamic (eq helm-completion-style 'emacs) + :diacritics helm-mode-ignore-diacritics :fuzzy (eq helm-completion-style 'helm-fuzzy) :exec-when-only-one exec-when-only-one :quit-when-no-cand (eq require-match t) @@ -1126,8 +1129,7 @@ This handler uses dynamic matching which allows honouring `completion-styles'." (standard (and (memq helm-completion-style '(helm helm-fuzzy)) t)) (fn (if standard #'helm-completing-read-default-1 - #'helm-completing-read-default-2)) - (helm-mode-fuzzy-match (eq helm-completion-style 'helm-fuzzy))) + #'helm-completing-read-default-2))) (funcall fn prompt collection test require-match init hist default inherit-input-method name buffer @@ -1149,10 +1151,25 @@ Don't use it directly." (defun helm--generic-read-buffer (prompt &optional default require-match predicate) "The `read-buffer-function' for `helm-mode'. Affects `switch-to-buffer' `kill-buffer' and related." - (helm--completing-read-default - prompt (or minibuffer-completion-table - (internal-complete-buffer "" nil t)) - predicate require-match nil nil default)) + ;; `read-buffer' is using internally `Vbuffer_alist' which is an + ;; alist with elements like (BUF-NAME . BUF-OBJ), therefore some + ;; predicates in Emacs are working only on such cons cells. + ;; However, helm is transforming COLLECTION in a list of strings and + ;; such predicates are failing because they expect cons cells (see + ;; bug#2506 with `project-switch-to-buffer'), even if they should + ;; handle strings as well according to `read-buffer' + ;; documentation. + (let ((pred (when predicate + (lambda (buffer) + (let ((buf (cons buffer (get-buffer buffer)))) + (condition-case _err + (funcall predicate buffer) + (wrong-type-argument + (funcall predicate buf)))))))) + (helm--completing-read-default + prompt (or minibuffer-completion-table + (internal-complete-buffer "" nil t)) + pred require-match nil nil default))) (defun helm-mode--get-default-handler-for (comp-or-file entry) ;; Use 'comp for completing-read and 'file for 'read-file-name as @@ -1167,6 +1184,18 @@ Affects `switch-to-buffer' `kill-buffer' and related." (t it)) val))) +(defun helm-mode--apply-helm-handler (handler arg-list) + "Ensure `minibuffer-complete' is disabled when running HANDLER. +ARG-LIST is a list of arguments to pass to HANDLER." + ;; Some functions are calling `minibuffer-complete' + ;; within `minibuffer-setup-hook' when calling their + ;; `completing-read', like `woman-file-name' (bug #2527). + ;; This defeat Helm which is already + ;; completing minibuffer, so deactivate + ;; minibuffer-complete one time for all [1]. + (cl-letf (((symbol-function 'minibuffer-complete) #'ignore)) + (apply handler arg-list))) + (cl-defun helm--completing-read-default (prompt collection &optional predicate require-match @@ -1217,10 +1246,10 @@ See documentation of `completing-read' and `all-completions' for details." ;; i.e (push ?\t unread-command-events). unread-command-events (default-handler - ;; If nothing is found in - ;; helm-completing-read-handlers-alist use default - ;; handler. - #'helm-completing-read-default-handler)) + ;; If nothing is found in + ;; helm-completing-read-handlers-alist use default + ;; handler. + #'helm-completing-read-default-handler)) (when (eq def-com 'ido) (setq def-com 'ido-completing-read)) (unless (or (not entry) def-com) ;; An entry in *read-handlers-alist exists but have @@ -1243,25 +1272,28 @@ See documentation of `completing-read' and `all-completions' for details." (unwind-protect (cond (;; An helm specialized function exists, run it. (and def-com helm-mode) - (apply def-com others-args)) + ;; Disable `minibuffer-complete' for handlers using + ;; helm (bug #2533). + (helm-mode--apply-helm-handler + def-com others-args)) (;; Try to handle `ido-completing-read' everywhere. (and def-com (eq def-com 'ido-completing-read)) (setcar (memq collection def-args) (all-completions "" collection predicate)) (apply def-com def-args)) - (;; User set explicitely `completing-read' or something similar - ;; in *read-handlers-alist, use this with exactly the same - ;; args as in `completing-read'. - ;; If we are here `helm-mode' is now disabled. + (;; A non helm function specified in + ;; `helm-completing-read-handlers-alist' use it with + ;; exactly the same args as in `completing-read'. If + ;; we are here `helm-mode' is now disabled. def-com (apply def-com def-args)) (;; Use by default a in-buffer handler unless ;; COLLECTION is a function. t - (funcall default-handler - prompt collection predicate require-match - initial-input hist def inherit-input-method - str-command buf-name))) + ;; Disable `minibuffer-complete' for handlers using + ;; helm (bug #2533). + (helm-mode--apply-helm-handler + default-handler others-args))) (helm-mode 1) ;; When exiting minibuffer, `this-command' is set to ;; `helm-exit-minibuffer', which is unwanted when starting @@ -1309,7 +1341,7 @@ Keys description: - BUFFER: `helm-buffer' name, defaults to \"*Helm Completions*\". -- TEST: A predicate called with one arg 'candidate'. +- TEST: A predicate called with one arg \\='candidate'. - NORET: Allow disabling helm-ff-RET (have no effect if helm-ff-RET isn't bound to RET). @@ -1320,7 +1352,7 @@ Keys description: - HISTORY: Display HISTORY in a special source. -- MUST-MATCH: Can be 'confirm, nil, or t. +- MUST-MATCH: Can be \\='confirm, nil, or t. - FUZZY: Enable fuzzy matching when non-nil (Enabled by default). @@ -1365,6 +1397,9 @@ Keys description: (helm-ff--RET-disabled noret) (minibuffer-completion-predicate test) (minibuffer-completing-file-name t) + ;; Ensure not being prompted for password each time we + ;; navigate to a directory. + (password-cache t) (helm--completing-file-name t) (helm-read-file-name-mode-line-string (replace-regexp-in-string "helm-maybe-exit-minibuffer" @@ -1657,32 +1692,55 @@ The `helm-find-files' history `helm-ff-history' is used here." (propertize str 'read-only t 'face 'helm-mode-prefix 'rear-nonsticky t) str)) -(defun helm-completion-in-region--initial-filter (comps afun file-comp-p) - "Add annotations at end of candidates and filter out dot files." +(defun helm--symbol-completion-table-affixation (completions) + "Same as `help--symbol-completion-table-affixation' but for helm. + +Return a list of cons cells of the form (disp . real)." + (mapcar (lambda (c) + (let* ((s (intern c)) + (doc (ignore-errors + (helm-get-first-line-documentation s)))) + (cons (concat (propertize + (format "%-4s" (help--symbol-class s)) + 'face 'completions-annotations) + c + (if doc + (propertize (format " -- %s" doc) + 'face 'completions-annotations) + "")) + c))) + completions)) + +(defun helm-completion-in-region--initial-filter (comps afun afix file-comp-p) + "Compute COMPS with function AFUN or AFIX unless FILE-COMP-P non nil. + +If both AFUN and AFIX are provided only AFIX is used. +When FILE-COMP-P is provided only filter out dot files." (if file-comp-p ;; Filter out dot files in file completion. (cl-loop for f in comps unless (string-match "\\`\\.\\{1,2\\}/\\'" f) collect f) - (if afun - ;; Add annotation at end of - ;; candidate if needed, e.g. foo, this happen when - ;; completing against a quoted symbol. - (mapcar (lambda (s) - (let ((ann (funcall afun s))) - (if ann - (cons - (concat - s - (propertize - " " 'display - (propertize - ann - 'face 'completions-annotations))) - s) - s))) - comps) - comps))) + (cond (afix (helm--symbol-completion-table-affixation comps)) + (afun + ;; Add annotation at end of + ;; candidate if needed, e.g. foo, this happen when + ;; completing against a quoted symbol. + (mapcar (lambda (s) + (let ((ann (funcall afun s))) + (if ann + (cons + (concat + s + (propertize + " " 'display + (propertize + ann + 'face 'completions-annotations))) + s) + s))) + comps)) + (t comps)))) ;; Helm multi matching style @@ -1910,6 +1968,10 @@ Can be used for `completion-in-region-function' by advicing it with an ;; See Bug#407. (afun (or (plist-get completion-extra-properties :annotation-function) (completion-metadata-get metadata 'annotation-function))) + ;; Not sure if affixations are provided in + ;; completion-in-region, try anyway never know. + (afix (or (plist-get completion-extra-properties :affixation-function) + (completion-metadata-get metadata 'affixation-function))) (init-space-suffix (unless (or (memq helm-completion-style '(helm-fuzzy emacs)) (string-suffix-p " " input) (string= input "")) @@ -1972,7 +2034,7 @@ Can be used for `completion-in-region-function' by advicing it with an (if (and sort-fn (> (length str) 0)) (funcall sort-fn all) all) - afun file-comp-p)))) + afun afix file-comp-p)))) (data (if (memq helm-completion-style '(helm helm-fuzzy)) (funcall compfn input nil nil) compfn)) diff --git a/code/elpa/helm-20220423.1712/helm-net.el b/code/elpa/helm-20220803.1447/helm-net.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-net.el rename to code/elpa/helm-20220803.1447/helm-net.el index e628b5a..e60e9ca 100644 --- a/code/elpa/helm-20220423.1712/helm-net.el +++ b/code/elpa/helm-20220803.1447/helm-net.el @@ -1,6 +1,6 @@ ;;; helm-net.el --- helm browse url and search web. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -142,13 +142,14 @@ This is a format string, don't forget the `%s'." :group 'helm-net :type '(alist :key-type string :value-type function)) -(defcustom helm-browse-url-firefox-new-window "-new-tab" +(defcustom helm-browse-url-firefox-new-window "--new-tab" "Allow choosing to browse url in new window or new tab. -Can be \"-new-tab\" (default) or \"-new-window\"." +Can be \"--new-tab\" (default), \"--new-window\" or \"--private-window\"." :group 'helm-net :type '(radio - (const :tag "New tab" "-new-tab") - (const :tag "New window" "-new-window"))) + (const :tag "New tab" "--new-tab") + (const :tag "New window" "--new-window") + (const :tag "New private window" "--private-window"))) (defcustom helm-net-curl-switches '("-s" "-L") "Arguments list passed to curl when using `helm-net-prefer-curl'." diff --git a/code/elpa/helm-20220423.1712/helm-occur.el b/code/elpa/helm-20220803.1447/helm-occur.el similarity index 92% rename from code/elpa/helm-20220423.1712/helm-occur.el rename to code/elpa/helm-20220803.1447/helm-occur.el index f9691b1..ad269de 100644 --- a/code/elpa/helm-20220423.1712/helm-occur.el +++ b/code/elpa/helm-20220803.1447/helm-occur.el @@ -1,6 +1,6 @@ ;;; helm-occur.el --- Incremental Occur for Helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -29,6 +29,8 @@ (declare-function helm-grep-highlight-match "helm-grep") (declare-function helm-comp-read "helm-mode") +(defvar helm-current-error) + ;;; Internals ;; (defvar helm-source-occur nil @@ -65,7 +67,6 @@ Don't set it to any value, it will have no effect.") ("Save buffer" . helm-occur-save-results) ) "Actions for helm-occur." - :group 'helm-occur :type '(alist :key-type string :value-type function)) (defcustom helm-occur-use-ioccur-style-keys nil @@ -73,7 +74,6 @@ Don't set it to any value, it will have no effect.") Note that if you define this variable with `setq' your change will have no effect, use customize instead." - :group 'helm-occur :type 'boolean :set (lambda (var val) (set var val) @@ -86,12 +86,10 @@ have no effect, use customize instead." (defcustom helm-occur-always-search-in-current nil "Helm multi occur always search in current buffer when non--nil." - :group 'helm-occur :type 'boolean) (defcustom helm-occur-truncate-lines t "Truncate lines in occur buffer when non nil." - :group 'helm-occur :type 'boolean) (defcustom helm-occur-auto-update-on-resume nil @@ -100,7 +98,6 @@ noask => Always update without asking nil => Don't update but signal buffer needs update never => Never update and do not signal buffer needs update Any other non--nil value update after confirmation." - :group 'helm-regexp :type '(radio :tag "Allow auto updating helm-occur buffer when outdated." (const :tag "Always update without asking" noask) (const :tag "Never update and do not signal buffer needs update" never) @@ -109,7 +106,6 @@ Any other non--nil value update after confirmation." (defcustom helm-occur-candidate-number-limit 99999 "Value of `helm-candidate-number-limit' for helm-occur." - :group 'helm-occur :type 'integer) (defcustom helm-occur-buffer-substring-fn-for-modes @@ -119,7 +115,6 @@ Any other non--nil value update after confirmation." Can be one of `buffer-substring' or `buffer-substring-no-properties'. Note that when using `buffer-substring' initialization will be slower." - :group 'helm-regexp :type '(alist :key-type (symbol :tag "Mode") :value-type (radio (const :tag "With text properties" buffer-substring) (const :tag "Without text properties" buffer-substring-no-properties)))) @@ -128,20 +123,21 @@ Note that when using `buffer-substring' initialization will be slower." "When non nil select closest candidate from point after update. This happen only in `helm-source-occur' which is always related to `current-buffer'." - :group 'helm-regexp + :type 'boolean) + +(defcustom helm-occur-ignore-diacritics nil + "When non nil helm-occur will ignore diacritics in patterns." :type 'boolean) (defface helm-moccur-buffer `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :foreground "DarkTurquoise" :underline t)) - "Face used to highlight occur buffer names." - :group 'helm-occur) + "Face used to highlight occur buffer names.") (defface helm-resume-need-update `((t ,@(and (>= emacs-major-version 27) '(:extend t)) :background "red")) - "Face used to flash occur buffer when it needs update." - :group 'helm-occur) + "Face used to flash occur buffer when it needs update.") (defun helm-occur--select-closest-candidate () @@ -215,11 +211,15 @@ engine beeing completely different and also much faster." ;; When user mark defun with `mark-defun' with intention of ;; using helm-occur on this region, it is relevant to use the ;; thing-at-point located at previous position which have been - ;; pushed to `mark-ring'. - (setq def (save-excursion - (goto-char (setq pos (car mark-ring))) - (helm-aif (thing-at-point 'symbol) (regexp-quote it)))) - (narrow-to-region (region-beginning) (region-end))) + ;; pushed to `mark-ring', if it's within the active region. + (let ((beg (region-beginning)) + (end (region-end)) + (prev-pos (car mark-ring))) + (when (and prev-pos (>= prev-pos beg) (< prev-pos end)) + (setq def (save-excursion + (goto-char (setq pos prev-pos)) + (helm-aif (thing-at-point 'symbol) (regexp-quote it))))) + (narrow-to-region beg end))) (unwind-protect (helm :sources 'helm-source-occur :buffer "*helm occur*" @@ -247,17 +247,22 @@ engine beeing completely different and also much faster." (defun helm-occur-transformer (candidates source) "Return CANDIDATES prefixed with line number." (cl-loop with buf = (helm-get-attr 'buffer-name source) - for c in candidates collect - (when (string-match helm-occur--search-buffer-regexp c) - (let ((linum (match-string 1 c)) - (disp (match-string 2 c))) - (cons (format "%s:%s" - (propertize - linum 'face 'helm-grep-lineno - 'help-echo (buffer-file-name - (get-buffer buf))) - disp) - (string-to-number linum)))))) + for c in candidates + for disp-linum = (when (string-match helm-occur--search-buffer-regexp c) + (let ((linum (match-string 1 c)) + (disp (match-string 2 c))) + (list + linum + (format "%s:%s" + (propertize + linum 'face 'helm-grep-lineno + 'help-echo (buffer-file-name + (get-buffer buf))) + disp)))) + for linum = (car disp-linum) + for disp = (cadr disp-linum) + when (and disp (not (string= disp ""))) + collect (cons disp (string-to-number linum)))) (defclass helm-moccur-class (helm-source-in-buffer) ((buffer-name :initarg :buffer-name @@ -285,6 +290,7 @@ engine beeing completely different and also much faster." (when (string-match helm-occur--search-buffer-regexp candidate) (match-string 2 candidate))) + :diacritics helm-occur-ignore-diacritics :search (lambda (pattern) (when (string-match "\\`\\^\\([^ ]*\\)" pattern) (setq pattern (concat "^[0-9]* \\{1\\}" (match-string 1 pattern)))) @@ -475,11 +481,15 @@ persistent action." (defun helm-occur-mode-goto-line () (interactive) + (setq next-error-last-buffer (current-buffer)) + (setq-local helm-current-error (point-marker)) (helm-aif (get-text-property (point) 'helm-realvalue) (progn (helm-occur-goto-line it) (helm-match-line-cleanup-pulse)))) (defun helm-occur-mode-goto-line-ow () (interactive) + (setq next-error-last-buffer (current-buffer)) + (setq-local helm-current-error (point-marker)) (helm-aif (get-text-property (point) 'helm-realvalue) (progn (helm-occur-goto-line-ow it) (helm-match-line-cleanup-pulse)))) @@ -565,6 +575,7 @@ persistent action." (buffer-enable-undo) (helm-occur-mode)) (pop-to-buffer buf) + (setq next-error-last-buffer (get-buffer buf)) (message "Helm occur Results saved in `%s' buffer" buf))) (defun helm-occur-mode-mouse-goto-line (event) @@ -584,7 +595,7 @@ persistent action." (defun helm-occur-buffer-substring-with-linums () "Return current-buffer contents as a string with all lines -numbered. The property 'buffer-name is added to the whole string." +numbered. The property \\='buffer-name is added to the whole string." (let ((bufstr (buffer-substring-no-properties (point-min) (point-max))) (bufname (buffer-name))) (with-temp-buffer @@ -639,7 +650,7 @@ numbered. The property 'buffer-name is added to the whole string." (setq linum (string-to-number (match-string 1)) mpart (match-string 2))) ;; Match part after line number. - when (and mpart (string-match pattern mpart)) + when (and mpart (helm-mm-match mpart pattern)) for line = (format "%s:%d:%s" (get-text-property (point) 'buffer-name) linum @@ -653,7 +664,8 @@ numbered. The property 'buffer-name is added to the whole string." "\n")))) (when (fboundp 'wgrep-cleanup-overlays) (wgrep-cleanup-overlays (point-min) (point-max))) - (message "Reverting buffer done")))))) + (message "Reverting buffer done") + (when executing-kbd-macro (sit-for 1))))))) (defun helm-occur-filter-one-by-one (candidate) "`filter-one-by-one' function for `helm-source-moccur'." @@ -687,7 +699,8 @@ Special commands: (set (make-local-variable 'helm-occur-mode--last-pattern) helm-input) (set (make-local-variable 'next-error-function) - #'helm-occur-next-error)) + #'helm-occur-next-error) + (set (make-local-variable 'helm-current-error) nil)) (put 'helm-moccur-mode 'helm-only t) (defun helm-occur-next-error (&optional argp reset) @@ -696,8 +709,10 @@ RESET non-nil means rewind to the first match. This is the `next-error-function' for `helm-occur-mode'." (interactive "p") (goto-char (cond (reset (point-min)) - ((< argp 0) (line-beginning-position)) - ((> argp 0) (line-end-position)) + ((and (< argp 0) helm-current-error) + (line-beginning-position)) + ((and (> argp 0) helm-current-error) + (line-end-position)) ((point)))) (let ((fun (if (> argp 0) #'next-single-property-change @@ -706,6 +721,8 @@ This is the `next-error-function' for `helm-occur-mode'." (progn (goto-char it) (forward-line 0) + ;; `helm-current-error' is set in + ;; `helm-occur-mode-goto-line'. (helm-occur-mode-goto-line)) (user-error "No more matches")))) @@ -756,7 +773,8 @@ This is the `next-error-function' for `helm-occur-mode'." (point)) (point-max)))) (overlay-put ov 'face 'helm-resume-need-update) - (sit-for 0.3) (delete-overlay ov) + (sit-for 0) + (delete-overlay ov) (message "[Helm occur Buffer outdated (C-c C-u to update)]"))))) (unless buffer-is-modified (with-helm-after-update-hook diff --git a/code/elpa/helm-20220803.1447/helm-pkg.el b/code/elpa/helm-20220803.1447/helm-pkg.el new file mode 100644 index 0000000..53ce99a --- /dev/null +++ b/code/elpa/helm-20220803.1447/helm-pkg.el @@ -0,0 +1,11 @@ +(define-package "helm" "20220803.1447" "Helm is an Emacs incremental and narrowing framework" + '((helm-core "3.8.7") + (popup "0.5.3")) + :commit "4ede199d5d1b7050486a0fdeecbbbf49fef31118" :authors + '(("Thierry Volpiatto" . "thievol@posteo.net")) + :maintainer + '("Thierry Volpiatto" . "thievol@posteo.net") + :url "https://emacs-helm.github.io/helm/") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/code/elpa/helm-20220423.1712/helm-regexp.el b/code/elpa/helm-20220803.1447/helm-regexp.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-regexp.el rename to code/elpa/helm-20220803.1447/helm-regexp.el index 2e42382..eea6e67 100644 --- a/code/elpa/helm-20220423.1712/helm-regexp.el +++ b/code/elpa/helm-20220803.1447/helm-regexp.el @@ -1,6 +1,6 @@ ;;; helm-regexp.el --- In buffer regexp searching and replacement for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-ring.el b/code/elpa/helm-20220803.1447/helm-ring.el similarity index 99% rename from code/elpa/helm-20220423.1712/helm-ring.el rename to code/elpa/helm-20220803.1447/helm-ring.el index 472ccf6..6459ba3 100644 --- a/code/elpa/helm-20220423.1712/helm-ring.el +++ b/code/elpa/helm-20220803.1447/helm-ring.el @@ -1,6 +1,6 @@ ;;; helm-ring.el --- kill-ring, mark-ring, and register browsers for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm-semantic.el b/code/elpa/helm-20220803.1447/helm-semantic.el similarity index 99% rename from code/elpa/helm-20220423.1712/helm-semantic.el rename to code/elpa/helm-20220803.1447/helm-semantic.el index 96cdef8..4687029 100644 --- a/code/elpa/helm-20220423.1712/helm-semantic.el +++ b/code/elpa/helm-20220803.1447/helm-semantic.el @@ -1,7 +1,7 @@ ;;; helm-semantic.el --- Helm interface for Semantic -*- lexical-binding: t -*- ;; Copyright (C) 2012 ~ 2017 Daniel Hackney -;; 2012 ~ 2021 Thierry Volpiatto +;; 2012 ~ 2021 Thierry Volpiatto ;; Author: Daniel Hackney diff --git a/code/elpa/helm-20220423.1712/helm-shell.el b/code/elpa/helm-20220803.1447/helm-shell.el similarity index 100% rename from code/elpa/helm-20220423.1712/helm-shell.el rename to code/elpa/helm-20220803.1447/helm-shell.el diff --git a/code/elpa/helm-20220423.1712/helm-sys.el b/code/elpa/helm-20220803.1447/helm-sys.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-sys.el rename to code/elpa/helm-20220803.1447/helm-sys.el index da5db5b..3994557 100644 --- a/code/elpa/helm-20220423.1712/helm-sys.el +++ b/code/elpa/helm-20220803.1447/helm-sys.el @@ -1,6 +1,6 @@ ;;; helm-sys.el --- System related functions for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -47,8 +47,8 @@ is needed. On Mac OSX 'top' command doesn't support this, so the Normally 'top' command output have 12 columns, but in some versions you may have less than this, so you can either customize -top to use 12 columns with the interactives 'f' and 'W' commands -of top, or modify `helm-top-sort-columns-alist' to fit with the +'top' to use 12 columns with the interactives 'f' and 'W' commands +of 'top', or modify `helm-top-sort-columns-alist' to fit with the number of columns your 'top' command is using. If you modify 'ps' command be sure that 'pid' comes in first and @@ -87,7 +87,7 @@ being idle." (defcustom helm-top-poll-preselection 'linum "Stay on same line or follow candidate when `helm-top-poll' updates display. -Possible values are 'candidate or 'linum. +Possible values are \\='candidate or \\='linum. This affects also sorting functions in the same way." :group'helm-sys :type '(radio :tag "Preferred preselection action for helm-top" diff --git a/code/elpa/helm-20220423.1712/helm-tags.el b/code/elpa/helm-20220803.1447/helm-tags.el similarity index 96% rename from code/elpa/helm-20220423.1712/helm-tags.el rename to code/elpa/helm-20220803.1447/helm-tags.el index d2b3ea9..6b29f83 100644 --- a/code/elpa/helm-20220423.1712/helm-tags.el +++ b/code/elpa/helm-20220803.1447/helm-tags.el @@ -1,6 +1,6 @@ ;;; helm-tags.el --- Helm for Etags. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -24,7 +24,7 @@ (require 'helm-grep) (defvar helm-etags-fuzzy-match) -(declare-function ring-insert "ring") +(declare-function xref-push-marker-stack "xref") (defgroup helm-tags nil @@ -33,31 +33,27 @@ (defcustom helm-etags-tag-file-name "TAGS" "Etags tag file name." - :type 'string - :group 'helm-tags) + :type 'string) (defcustom helm-etags-tag-file-search-limit 10 "The limit level of directory to search tag file. Don't search tag file deeply if outside this value." - :type 'number - :group 'helm-tags) + :type 'number) (defcustom helm-etags-match-part-only 'tag "Allow choosing the tag part of CANDIDATE in `helm-source-etags-select'. A tag looks like this: - filename: \(defun foo + filename: (defun foo You can choose matching against the tag part (i.e \"(defun foo\"), or against the whole candidate (i.e \"(filename:5:(defun foo\")." :type '(choice (const :tag "Match only tag" tag) - (const :tag "Match all file+tag" all)) - :group 'helm-tags) + (const :tag "Match all file+tag" all))) (defcustom helm-etags-execute-action-at-once-if-one t "Whether to jump straight to the selected tag if there's only one match." - :type 'boolean - :group 'helm-tags) + :type 'boolean) (defgroup helm-tags-faces nil @@ -255,8 +251,6 @@ If there is no entry in cache, create one." (setq helm-source-etags-select (helm-etags-build-source)))) -(defvar find-tag-marker-ring) - (defsubst helm-etags--file-from-tag (fname) (cl-loop for ext in (cons "" (remove "" tags-compression-info-list)) @@ -280,7 +274,7 @@ If there is no entry in cache, create one." (linum (string-to-number (cadr split)))) (if (null fname) (error "file %s not found" fname) - (ring-insert find-tag-marker-ring (point-marker)) + (xref-push-marker-stack) (funcall switcher fname) (helm-goto-line linum t) (when (search-forward elm nil t) diff --git a/code/elpa/helm-20220423.1712/helm-types.el b/code/elpa/helm-20220803.1447/helm-types.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-types.el rename to code/elpa/helm-20220803.1447/helm-types.el index 465b186..d59e031 100644 --- a/code/elpa/helm-20220423.1712/helm-types.el +++ b/code/elpa/helm-20220803.1447/helm-types.el @@ -1,8 +1,8 @@ ;;; helm-types.el --- Helm types classes and methods. -*- lexical-binding: t -*- -;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto -;; Author: Thierry Volpiatto +;; Author: Thierry Volpiatto ;; URL: http://github.com/emacs-helm/helm ;; This program is free software; you can redistribute it and/or modify @@ -170,15 +170,19 @@ "Switch to buffer(s)" 'helm-buffer-switch-buffers "Switch to buffer(s) other window `C-c o'" 'helm-buffer-switch-buffers-other-window - "Switch to buffer other frame `C-c C-o'" - 'switch-to-buffer-other-frame + "Switch to buffer(s) other frame `C-c C-o'" + 'helm-buffer-switch-to-buffer-other-frame + "Raise buffer frame maybe" + 'helm-buffers-maybe-raise-buffer-frame (lambda () (and (fboundp 'tab-bar-mode) - "Switch to buffer other tab `C-c C-t'")) + "Switch to buffer(s) other tab `C-c C-t'")) 'helm-buffers-switch-to-buffer-other-tab "Switch to buffer at line number" 'helm-switch-to-buffer-at-linum "Browse project `C-x C-d'" 'helm-buffers-browse-project + "Switch to shell" + 'helm-buffer-switch-to-shell "Query replace regexp `C-M-%'" 'helm-buffer-query-replace-regexp "Query replace `M-%'" 'helm-buffer-query-replace diff --git a/code/elpa/helm-20220423.1712/helm-utils.el b/code/elpa/helm-20220803.1447/helm-utils.el similarity index 97% rename from code/elpa/helm-20220423.1712/helm-utils.el rename to code/elpa/helm-20220803.1447/helm-utils.el index 4fe76d0..bac0d39 100644 --- a/code/elpa/helm-20220423.1712/helm-utils.el +++ b/code/elpa/helm-20220803.1447/helm-utils.el @@ -1,6 +1,6 @@ ;;; helm-utils.el --- Utilities Functions for helm. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 @@ -85,7 +85,7 @@ Possible value are: (integer :tag "Match after")) (const :tag "Match in line only" 0) (integer :tag "Match after or before (+/-)") - (const :tag "Never match" 'never))) + (const :tag "Never match" never))) (defcustom helm-buffers-to-resize-on-pa nil "A list of helm buffers where the helm-window should be reduced on PA. @@ -528,32 +528,6 @@ To use this add it to `helm-goto-line-before-hook'." (set-marker (mark-marker) (point)) (push-mark (point) 'nomsg)))) -(defun helm-show-all-candidates-in-source (arg) - "Toggle all or only candidate-number-limit cands in current source. -With a numeric prefix arg show only the ARG number of candidates. -The prefix arg has no effect when toggling to only -candidate-number-limit." - (interactive "p") - (with-helm-alive-p - (with-helm-buffer - (if helm-source-filter - (progn - (setq-local helm-candidate-number-limit - (default-value 'helm-candidate-number-limit)) - (helm-set-source-filter nil)) - (with-helm-default-directory (helm-default-directory) - (setq-local helm-candidate-number-limit (and (> arg 1) arg)) - (helm-set-source-filter - (list (helm-get-current-source)))))))) -(put 'helm-show-all-candidates-in-source 'helm-only t) - -(defun helm-display-all-sources () - "Display all sources previously hidden by `helm-set-source-filter'." - (interactive) - (with-helm-alive-p - (helm-set-source-filter nil))) -(put 'helm-display-all-sources 'helm-only t) - (defun helm-displaying-source-names () "Return the list of sources name for this helm session." (with-current-buffer helm-buffer @@ -628,7 +602,7 @@ from its directory." (defun helm-generic-sort-fn (s1 s2) "Sort predicate function for helm candidates. -Args S1 and S2 can be single or \(display . real\) candidates, +Args S1 and S2 can be single or (display . real) candidates, that is sorting is done against real value of candidate." (let* ((qpattern (regexp-quote helm-pattern)) (reg1 (concat "\\_<" qpattern "\\_>")) @@ -719,14 +693,14 @@ Availables keys are: - GID-CHANGE: See nth 9 `files-attributes'. - INODE: See nth 10 `files-attributes'. - DEVICE-NUM: See nth 11 `files-attributes'. -- DIRED: A line similar to what 'ls -l' return. +- DIRED: A line similar to what \\='ls -l' return. - HUMAN-SIZE: The size in human form, see `helm-file-human-size'. - MODE-TYPE, mode-owner,mode-group, mode-other: Split what nth 7 `files-attributes' return in four categories. - STRING: When non--nil (default) `helm-file-attributes' return more friendly values. If you want the same behavior as `files-attributes' , -\(but with return values in proplist\) use a nil value for STRING. +\(but with return values in proplist) use a nil value for STRING. However when STRING is non--nil, time and type value are different from what you have in `file-attributes'." (helm-aif (file-attributes file string) diff --git a/code/elpa/helm-20220423.1712/helm-x-files.el b/code/elpa/helm-20220803.1447/helm-x-files.el similarity index 98% rename from code/elpa/helm-20220423.1712/helm-x-files.el rename to code/elpa/helm-20220803.1447/helm-x-files.el index 2efd5fd..17c35e7 100644 --- a/code/elpa/helm-20220423.1712/helm-x-files.el +++ b/code/elpa/helm-20220803.1447/helm-x-files.el @@ -1,6 +1,6 @@ ;;; helm-x-files.el --- helm auxiliary functions and sources. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; 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 diff --git a/code/elpa/helm-20220423.1712/helm.el b/code/elpa/helm-20220803.1447/helm.el similarity index 81% rename from code/elpa/helm-20220423.1712/helm.el rename to code/elpa/helm-20220803.1447/helm.el index 3b59113..5226560 100644 --- a/code/elpa/helm-20220423.1712/helm.el +++ b/code/elpa/helm-20220803.1447/helm.el @@ -2,18 +2,18 @@ ;; Copyright (C) 2007 Tamas Patrovics ;; 2008 ~ 2011 rubikitch -;; 2011 ~ 2021 Thierry Volpiatto +;; 2011 ~ 2021 Thierry Volpiatto ;; This is a fork of anything.el wrote by Tamas Patrovics. ;; Authors of anything.el: Tamas Patrovics ;; rubikitch -;; Thierry Volpiatto +;; Thierry Volpiatto -;; Author: Thierry Volpiatto -;; Version: 3.8.5 +;; Author: Thierry Volpiatto +;; Version: 3.8.7 ;; URL: https://emacs-helm.github.io/helm/ -;; Package-Requires: ((helm-core "3.8.4") (popup "0.5.3")) +;; Package-Requires: ((helm-core "3.8.7") (popup "0.5.3")) ;; 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 @@ -36,6 +36,7 @@ ;;; Code: (require 'helm-core) +(require 'helm-global-bindings) (provide 'helm) diff --git a/code/elpa/helm-core-20220423.1804/helm-core-pkg.el b/code/elpa/helm-core-20220423.1804/helm-core-pkg.el deleted file mode 100644 index a42c7f9..0000000 --- a/code/elpa/helm-core-20220423.1804/helm-core-pkg.el +++ /dev/null @@ -1,11 +0,0 @@ -(define-package "helm-core" "20220423.1804" "Development files for Helm" - '((emacs "25.1") - (async "1.9.4")) - :commit "dc0c082a451cfe25d35ba3b9b0c0fc2766cc8319" :authors - '(("Thierry Volpiatto" . "thierry.volpiatto@gmail.com")) - :maintainer - '("Thierry Volpiatto" . "thierry.volpiatto@gmail.com") - :url "https://emacs-helm.github.io/helm/") -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/code/elpa/helm-core-20220423.1804/helm-core-autoloads.el b/code/elpa/helm-core-20220803.1447/helm-core-autoloads.el similarity index 93% rename from code/elpa/helm-core-20220423.1804/helm-core-autoloads.el rename to code/elpa/helm-core-20220803.1447/helm-core-autoloads.el index 60376ba..7a2f97c 100644 --- a/code/elpa/helm-core-20220423.1804/helm-core-autoloads.el +++ b/code/elpa/helm-core-20220803.1447/helm-core-autoloads.el @@ -9,9 +9,6 @@ ;;;### (autoloads nil "helm-core" "helm-core.el" (0 0 0 0)) ;;; Generated autoloads from helm-core.el -(autoload 'helm-configuration "helm-core" "\ -Customize Helm." t nil) - (autoload 'helm-define-multi-key "helm-core" "\ In KEYMAP, define key sequence KEY for function list FUNCTIONS. Each function runs sequentially for each KEY press. @@ -29,7 +26,7 @@ E.g. (interactive) (message \"Run baz\")) -\(helm-define-multi-key global-map (kbd \" q\") '(foo bar baz) 2) +\(helm-define-multi-key global-map (kbd \" q\") \\='(foo bar baz) 2) Each time \" q\" is pressed, the next function is executed. Waiting more than 2 seconds between key presses switches back to @@ -59,8 +56,8 @@ Arg OTHER-SUBKEYS is an alist specifying other short key bindings to use once started, e.g.: (helm-define-key-with-subkeys global-map - (kbd \"C-x v n\") ?n 'git-gutter:next-hunk - '((?p . git-gutter:previous-hunk))) + (kbd \"C-x v n\") ?n \\='git-gutter:next-hunk + \\='((?p . git-gutter:previous-hunk))) In this example, `C-x v n' will run `git-gutter:next-hunk' subsequent \"n\" will run this command again and subsequent \"p\" @@ -76,12 +73,17 @@ in MAP and then exit the loop running EXIT-FN, if specified. If DELAY an integer is specified exit after DELAY seconds. NOTE: SUBKEY and OTHER-SUBKEYS bindings support only char syntax -and vectors, so don't use strings to define them. +and vectors, so don't use strings to define them. While defining +or executing a kbd macro no SUBKEY or OTHER-SUBKEYS are provided, +i.e. the loop is not entered after running COMMAND. -\(fn MAP KEY SUBKEY COMMAND &optional OTHER-SUBKEYS PROMPT EXIT-FN DELAY)" nil nil) +\(fn MAP KEY SUBKEY COMMAND &optional OTHER-SUBKEYS PROMPT EXIT-FN DELAY DOCSTRING)" nil nil) (function-put 'helm-define-key-with-subkeys 'lisp-indent-function '1) +(autoload 'helm-configuration "helm-core" "\ +Customize Helm." t nil) + (autoload 'helm-debug-open-last-log "helm-core" "\ Open Helm log file or buffer of last Helm session." t nil) @@ -140,7 +142,7 @@ Minibuffer prompt. Default value is `helm--prompt'. If t, allow resumption of the previous session of this Helm command, skipping initialization. -If 'noresume, this instance of `helm' cannot be resumed. +If \\='noresume, this instance of `helm' cannot be resumed. *** :preselect @@ -195,7 +197,7 @@ Allow running this Helm command in a running Helm session. Other keywords are interpreted as local variables of this Helm session. The `helm-' prefix can be omitted. For example, -\(helm :sources 'helm-source-buffers-list +\(helm :sources \\='helm-source-buffers-list :buffer \"*helm buffers*\" :candidate-number-limit 10) diff --git a/code/elpa/helm-core-20220803.1447/helm-core-pkg.el b/code/elpa/helm-core-20220803.1447/helm-core-pkg.el new file mode 100644 index 0000000..186f2ee --- /dev/null +++ b/code/elpa/helm-core-20220803.1447/helm-core-pkg.el @@ -0,0 +1,11 @@ +(define-package "helm-core" "20220803.1447" "Development files for Helm" + '((emacs "25.1") + (async "1.9.4")) + :commit "4ede199d5d1b7050486a0fdeecbbbf49fef31118" :authors + '(("Thierry Volpiatto" . "thievol@posteo.net")) + :maintainer + '("Thierry Volpiatto" . "thievol@posteo.net") + :url "https://emacs-helm.github.io/helm/") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/code/elpa/helm-core-20220423.1804/helm-core.el b/code/elpa/helm-core-20220803.1447/helm-core.el similarity index 94% rename from code/elpa/helm-core-20220423.1804/helm-core.el rename to code/elpa/helm-core-20220803.1447/helm-core.el index 43e6313..d9958e5 100644 --- a/code/elpa/helm-core-20220423.1804/helm-core.el +++ b/code/elpa/helm-core-20220803.1447/helm-core.el @@ -2,9 +2,9 @@ ;; Copyright (C) 2022 Thierry Volpiatto -;; Author: Thierry Volpiatto +;; Author: Thierry Volpiatto ;; URL: https://emacs-helm.github.io/helm/ -;; Version: 3.8.5 +;; Version: 3.8.7 ;; Package-Requires: ((emacs "25.1") (async "1.9.4")) ;; This program is free software; you can redistribute it and/or modify @@ -31,8 +31,6 @@ (require 'helm-lib) (require 'helm-multi-match) (require 'helm-source) -;; Soft require this as it is not bundled with helm-core package. -(require 'helm-global-bindings nil t) ;; Ensure async-bytecomp is used even with helm-core package. (declare-function async-bytecomp-package-mode "ext:async-bytecomp.el") @@ -45,15 +43,153 @@ (declare-function helm-comp-read "helm-mode.el") (declare-function custom-unlispify-tag-name "cus-edit.el") +(declare-function helm-quit-and-find-file "helm-utils.el") (defvar helm-marked-buffer-name) -;; Easy access to customize -;;;###autoload -(defun helm-configuration () - "Customize Helm." - (interactive) - (customize-group "helm")) + +;;; Internal Variables +;; +;; +(defvar helm-source-filter nil + "A list of source names to be displayed. +Other sources won't appear in the search results. +If nil, no filtering is done. +Don't set this directly, use `helm-set-source-filter' during a +Helm session to modify it.") +(defvar helm-saved-action nil + "Saved value of the currently selected action by key.") +(defvar helm-saved-current-source nil + "Value of the current source when the action list is shown.") +(defvar helm-in-persistent-action nil + "Flag whether in persistent-action or not.") +(defvar helm-last-buffer nil + "`helm-buffer' of a previous Helm session.") +(defvar helm-saved-selection nil + "Value of the currently selected object when the action list is shown.") +(defvar helm-sources nil + "[INTERNAL] Value of current sources in use, a list of alists. +The list of sources (symbols or alists) is normalized to alists +in `helm-initialize'.") +(defvar helm-buffer-file-name nil + "Variable `buffer-file-name' when Helm is invoked.") +(defvar helm-candidate-cache (make-hash-table :test 'equal) + "Holds the available candidate within a single Helm invocation.") +(defvar helm--candidate-buffer-alist nil) +(defvar helm-input "" + "The input typed in the candidates panel.") +(defvar helm-input-local nil + "Internal, store locally `helm-pattern' value for later use in `helm-resume'.") +(defvar helm--source-name nil) +(defvar helm-current-source nil) +(defvar helm-issued-errors nil) +(defvar helm--last-log-file nil + "The name of the log file of the last Helm session.") +(defvar helm--local-variables nil) +(defvar helm-split-window-state nil) +(defvar helm--window-side-state nil) +(defvar helm-selection-point nil + "The value of point at selection.") +(defvar helm-alive-p nil) +(defvar helm-visible-mark-overlays nil) +(defvar helm-update-blacklist-regexps '("^" "^ *" "$" "!" " " "\\b" + "\\<" "\\>" "\\_<" "\\_>" ".*" + "??" "?*" "*?" "?")) +(defvar helm--force-updating-p nil + "[INTERNAL] Don't use this in your programs.") +(defvar helm-exit-status 0 + "Flag to inform if Helm did exit or quit. +0 means Helm did exit when executing an action. +1 means Helm did quit with \\[keyboard-quit] +Knowing this exit-status could help restore a window config when +Helm aborts in some special circumstances. See +`helm-exit-minibuffer' and `helm-keyboard-quit'.") +(defvar helm-minibuffer-confirm-state nil) +(defvar helm--quit nil) +(defvar helm-buffers nil + "Helm buffers listed in order of most recently used.") +(defvar helm-current-position nil + "Cons of (point . window-start) when Helm is invoked. +`helm-current-buffer' uses this to restore position after +`helm-keyboard-quit'") +(defvar helm-last-frame-or-window-configuration nil + "Used to store window or frame configuration at Helm start.") +(defvar helm-onewindow-p nil) +(defvar helm-types nil) +(defvar helm--mode-line-string-real nil) ; The string to display in mode-line. +(defvar helm-persistent-action-display-window nil) +(defvar helm-marked-candidates nil + "Marked candidates. List of (source . real) pair.") +(defvar helm--mode-line-display-prefarg nil) +(defvar helm--temp-follow-flag nil + "[INTERNAL] A simple flag to notify persistent action we are following.") +(defvar helm--reading-passwd-or-string nil) +(defvar helm--in-update nil) +(defvar helm--in-fuzzy nil) +(defvar helm-maybe-use-default-as-input nil + "Flag to notify the use of use-default-as-input. +Use only in let-bindings. +Use :default arg of `helm' as input to update display. +Note that if also :input is specified as `helm' arg, it will take +precedence on :default.") +(defvar helm--temp-hooks nil + "Store temporary hooks added by `with-helm-temp-hook'.") +(defvar helm--prompt nil) +(defvar helm--file-completion-sources + '("Find Files" "Read File Name") + "Sources that use the *find-files mechanism can be added here. +Sources generated by `helm-mode' don't need to be added here +because they are automatically added. + +You should not modify this yourself unless you know what you are +doing.") +(defvar helm--completing-file-name nil + "Non nil when `helm-read-file-name' is running. +Used for `helm-file-completion-source-p'.") +;; Same as `ffap-url-regexp' but keep it here to ensure `ffap-url-regexp' is not nil. +(defvar helm--url-regexp "\\`\\(news\\(post\\)?:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://\\)") +(defvar helm--ignore-errors nil + "Flag to prevent Helm popping up errors in candidates functions. +Should be set in candidates functions if needed, and will be +restored at end of session.") +(defvar helm--action-prompt "Select action: ") +(defvar helm--cycle-resume-iterator nil) +(defvar helm--buffer-in-new-frame-p nil) +(defvar helm-initial-frame nil + "[INTERNAL] The selected frame before starting Helm. +Helm use this internally to know in which frame it started, don't +modify this yourself.") +(defvar helm-popup-frame nil + "The frame where Helm is displayed. + +This is only used when Helm is using +`helm-display-buffer-in-own-frame' as `helm-display-function' and +`helm-display-buffer-reuse-frame' is non nil.") +(defvar helm--nested nil) +(defconst helm--frame-default-attributes + '(width height tool-bar-lines left top + title undecorated vertical-scroll-bars + visibility fullscreen menu-bar-lines undecorated + alpha foreground-color background-color) + "Frame parameters to save in `helm--last-frame-parameters'.") +(defvar helm--last-frame-parameters nil + "Frame parameters to save for later resuming. +Local to `helm-buffer'.") +(defvar helm--executing-helm-action nil + "Non nil when action is triggering a new helm-session. +This may be let bounded in other places to notify the display +function to reuse the same frame parameters as the previous Helm +session just like resume would do.") +(defvar helm--current-buffer-narrowed nil) +(defvar helm--suspend-update-interactive-flag nil) +(defvar helm-persistent-action-window-buffer nil + "[INTERNAL] Store the buffer where helm is started. +It is generally `helm-current-buffer', but when this one is displayed +in a dedicated buffer, helm can't start in this window and use another +window handling a buffer, it is this one we store.") +(defvar helm--tramp-archive-maybe-loaded nil) +(defvar helm--original-dedicated-windows-alist nil + "[INTERNAL] Store all dedicated windows with their dedicated state on startup") ;;; Multi keys ;; @@ -76,7 +212,7 @@ E.g. (interactive) (message \"Run baz\")) -\(helm-define-multi-key global-map (kbd \" q\") '(foo bar baz) 2) +\(helm-define-multi-key global-map (kbd \" q\") \\='(foo bar baz) 2) Each time \" q\" is pressed, the next function is executed. Waiting more than 2 seconds between key presses switches back to @@ -99,9 +235,8 @@ Run each function in the FUNCTIONS list in turn when called within DELAY seconds." (declare (indent 1)) (let ((funs functions) - (iter (cl-gensym "helm-iter-key")) + (iter (list nil)) (timeout delay)) - (eval (list 'defvar iter nil)) (lambda () (interactive) (helm-run-multi-key-command funs iter timeout)))) @@ -111,19 +246,16 @@ DELAY seconds." (cl-loop for count from 1 to (length functions) collect count))) next) - (unless (and (symbol-value iterator) + (unless (and (car iterator) ;; Reset iterator when another key is pressed. (eq this-command real-last-command)) - (set iterator (helm-iter-list (funcall fn)))) - (setq next (helm-iter-next (symbol-value iterator))) - (unless next - (set iterator (helm-iter-list (funcall fn))) - (setq next (helm-iter-next (symbol-value iterator)))) - (and next (symbol-value iterator) + (setcar iterator (helm-iter-circular (funcall fn)))) + (setq next (helm-iter-next (car iterator))) + (and next (car iterator) (call-interactively (nth (1- next) functions))) (when delay (run-with-idle-timer delay nil (lambda () - (set iterator nil)))))) + (setcar iterator nil)))))) (helm-multi-key-defun helm-toggle-resplit-and-swap-windows "Multi key command to re-split and swap Helm window. @@ -132,9 +264,47 @@ and second call within 1s runs `helm-swap-windows'." '(helm-toggle-resplit-window helm-swap-windows) 1) (put 'helm-toggle-resplit-and-swap-windows 'helm-only t) +(defun helm-command-with-subkeys (map subkey command + &optional other-subkeys prompt exit-fn delay) + "Return an anonymous interactive command to use with `helm-define-key-with-subkeys'." + (lambda () + (interactive) + (let (timer) + (call-interactively command) + (unless (or defining-kbd-macro executing-kbd-macro) + (unwind-protect + (progn + (when delay + (setq timer (run-with-idle-timer + delay nil (lambda () (keyboard-quit))))) + (while (let ((input (read-key prompt)) other kb com) + (setq last-command-event input) + (cond + ((eq input subkey) + (call-interactively command) + (setq last-command command) + t) + ((setq other (assoc input other-subkeys)) + (call-interactively (cdr other)) + (setq last-command (cdr other)) + t) + (t + (setq kb (vector last-command-event)) + (setq com (lookup-key map kb)) + (if (commandp com) + (call-interactively com) + (setq unread-command-events + (nconc (mapcar #'identity kb) + unread-command-events))) + nil))))) + (when timer (cancel-timer timer)) + (and exit-fn (funcall exit-fn))))))) + ;;;###autoload (defun helm-define-key-with-subkeys (map key subkey command - &optional other-subkeys prompt exit-fn delay) + &optional other-subkeys + prompt exit-fn delay + docstring) "Define in MAP a KEY and SUBKEY to COMMAND. This allows typing KEY to call COMMAND the first time and @@ -147,8 +317,8 @@ Arg OTHER-SUBKEYS is an alist specifying other short key bindings to use once started, e.g.: (helm-define-key-with-subkeys global-map - (kbd \"C-x v n\") ?n 'git-gutter:next-hunk - '((?p . git-gutter:previous-hunk))\) + (kbd \"C-x v n\") ?n \\='git-gutter:next-hunk + \\='((?p . git-gutter:previous-hunk))) In this example, `C-x v n' will run `git-gutter:next-hunk' subsequent \"n\" will run this command again and subsequent \"p\" @@ -164,40 +334,40 @@ in MAP and then exit the loop running EXIT-FN, if specified. If DELAY an integer is specified exit after DELAY seconds. NOTE: SUBKEY and OTHER-SUBKEYS bindings support only char syntax -and vectors, so don't use strings to define them." +and vectors, so don't use strings to define them. While defining +or executing a kbd macro no SUBKEY or OTHER-SUBKEYS are provided, +i.e. the loop is not entered after running COMMAND." (declare (indent 1)) - (define-key map key - (lambda () - (interactive) - (let (timer) - (unwind-protect - (progn - (call-interactively command) - (when delay - (setq timer (run-with-idle-timer - delay nil (lambda () (keyboard-quit))))) - (while (let ((input (read-key prompt)) other kb com) - (setq last-command-event input) - (cond - ((eq input subkey) - (call-interactively command) - (setq last-command command) - t) - ((setq other (assoc input other-subkeys)) - (call-interactively (cdr other)) - (setq last-command (cdr other)) - t) - (t - (setq kb (vector last-command-event)) - (setq com (lookup-key map kb)) - (if (commandp com) - (call-interactively com) - (setq unread-command-events - (nconc (mapcar 'identity kb) - unread-command-events))) - nil))))) - (when timer (cancel-timer timer)) - (and exit-fn (funcall exit-fn))))))) + (let ((fn (helm-command-with-subkeys + map subkey command other-subkeys prompt exit-fn delay)) + (com (intern (format "helm-%s-with-subkeys" + (symbol-name command))))) + (defalias com fn + (or docstring + ;; When no DOCSTRING, generate a basic one specifying + ;; COMMAND, SUBKEY and OTHER-SUBKEYS. + (concat + (format "Run `%s' and bound it to `%s' for subsequent calls." + command (if (numberp subkey) (char-to-string subkey) subkey)) + (if other-subkeys + (helm-basic-docstring-from-alist other-subkeys) + "")))) + (define-key map key com))) + +(defun helm-basic-docstring-from-alist (alist) + (let* ((len (length alist)) + (osk (cl-loop for (k . v) in alist + for count from 1 + for sep = (cond ((and (= count len) (> len 1)) + " and ") + ((> count 1) ",") + (t "")) + for key = (if (numberp k) (char-to-string k) k) + concat (format "%s`%s'" sep key) into ks + concat (format "%s`%s'" sep v) into kv + finally return (list ks kv)))) + (format "\nBound as well %s to %s%s." + (car osk) (if (> len 1) "respectively " "") (cadr osk)))) ;;; Keymap ;; @@ -205,92 +375,92 @@ and vectors, so don't use strings to define them." (defvar helm-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) - (define-key map (kbd "") 'helm-next-line) - (define-key map (kbd "") 'helm-previous-line) - (define-key map (kbd "C-n") 'helm-next-line) - (define-key map (kbd "C-p") 'helm-previous-line) - (define-key map (kbd "") 'helm-follow-action-forward) - (define-key map (kbd "") 'helm-follow-action-backward) - (define-key map (kbd "") 'helm-previous-page) - (define-key map (kbd "") 'helm-next-page) - (define-key map (kbd "M-v") 'helm-scroll-up) - (define-key map (kbd "C-v") 'helm-scroll-down) - (define-key map (kbd "M-<") 'helm-beginning-of-buffer) - (define-key map (kbd "M->") 'helm-end-of-buffer) - (define-key map (kbd "C-g") 'helm-keyboard-quit) - (define-key map (kbd "") 'helm-maybe-exit-minibuffer) - (define-key map (kbd "C-i") 'helm-select-action) - (define-key map (kbd "C-j") 'helm-execute-persistent-action) - (define-key map (kbd "C-o") 'helm-next-source) - (define-key map (kbd "M-o") 'helm-previous-source) - (define-key map (kbd "") 'helm-next-source) - (define-key map (kbd "") 'helm-previous-source) - (define-key map (kbd "C-l") 'helm-recenter-top-bottom-other-window) - (define-key map (kbd "M-C-l") 'helm-reposition-window-other-window) - (define-key map (kbd "C-M-v") 'helm-scroll-other-window) - (define-key map (kbd "M-") 'helm-scroll-other-window) - (define-key map (kbd "C-M-y") 'helm-scroll-other-window-down) - (define-key map (kbd "C-M-S-v") 'helm-scroll-other-window-down) - (define-key map (kbd "M-") 'helm-scroll-other-window-down) - (define-key map (kbd "") 'helm-scroll-other-window) - (define-key map (kbd "") 'helm-scroll-other-window-down) - (define-key map (kbd "C-@") 'helm-toggle-visible-mark) - (define-key map (kbd "C-SPC") 'helm-toggle-visible-mark-forward) - (define-key map (kbd "M-SPC") 'helm-toggle-visible-mark-backward) + (define-key map (kbd "") #'helm-next-line) + (define-key map (kbd "") #'helm-previous-line) + (define-key map (kbd "C-n") #'helm-next-line) + (define-key map (kbd "C-p") #'helm-previous-line) + (define-key map (kbd "") #'helm-follow-action-forward) + (define-key map (kbd "") #'helm-follow-action-backward) + (define-key map (kbd "") #'helm-previous-page) + (define-key map (kbd "") #'helm-next-page) + (define-key map (kbd "M-v") #'helm-scroll-up) + (define-key map (kbd "C-v") #'helm-scroll-down) + (define-key map (kbd "M-<") #'helm-beginning-of-buffer) + (define-key map (kbd "M->") #'helm-end-of-buffer) + (define-key map (kbd "C-g") #'helm-keyboard-quit) + (define-key map (kbd "") #'helm-maybe-exit-minibuffer) + (define-key map (kbd "C-i") #'helm-select-action) + (define-key map (kbd "C-j") #'helm-execute-persistent-action) + (define-key map (kbd "C-o") #'helm-next-source) + (define-key map (kbd "M-o") #'helm-previous-source) + (define-key map (kbd "") #'helm-next-source) + (define-key map (kbd "") #'helm-previous-source) + (define-key map (kbd "C-l") #'helm-recenter-top-bottom-other-window) + (define-key map (kbd "M-C-l") #'helm-reposition-window-other-window) + (define-key map (kbd "C-M-v") #'helm-scroll-other-window) + (define-key map (kbd "M-") #'helm-scroll-other-window) + (define-key map (kbd "C-M-y") #'helm-scroll-other-window-down) + (define-key map (kbd "C-M-S-v") #'helm-scroll-other-window-down) + (define-key map (kbd "M-") #'helm-scroll-other-window-down) + (define-key map (kbd "") #'helm-scroll-other-window) + (define-key map (kbd "") #'helm-scroll-other-window-down) + (define-key map (kbd "C-@") #'helm-toggle-visible-mark) + (define-key map (kbd "C-SPC") #'helm-toggle-visible-mark-forward) + (define-key map (kbd "M-SPC") #'helm-toggle-visible-mark-backward) (define-key map (kbd "M-[") nil) - (define-key map (kbd "M-(") 'helm-prev-visible-mark) - (define-key map (kbd "M-)") 'helm-next-visible-mark) - (define-key map (kbd "C-k") 'helm-delete-minibuffer-contents) - (define-key map (kbd "C-x C-f") 'helm-quit-and-find-file) - (define-key map (kbd "M-m") 'helm-toggle-all-marks) - (define-key map (kbd "M-a") 'helm-mark-all) - (define-key map (kbd "M-U") 'helm-unmark-all) - (define-key map (kbd "C-M-a") 'helm-show-all-candidates-in-source) - (define-key map (kbd "C-M-e") 'helm-display-all-sources) - (define-key map (kbd "C-s") 'undefined) - (define-key map (kbd "M-s") 'undefined) - (define-key map (kbd "C-}") 'helm-narrow-window) - (define-key map (kbd "C-{") 'helm-enlarge-window) - (define-key map (kbd "C-c -") 'helm-swap-windows) - (define-key map (kbd "C-c _") 'helm-toggle-full-frame) - (define-key map (kbd "C-c %") 'helm-exchange-minibuffer-and-header-line) - (define-key map (kbd "C-c C-y") 'helm-yank-selection) - (define-key map (kbd "C-c C-k") 'helm-kill-selection-and-quit) - (define-key map (kbd "C-c C-i") 'helm-insert-or-copy) - (define-key map (kbd "C-c C-f") 'helm-follow-mode) - (define-key map (kbd "C-c C-u") 'helm-refresh) - (define-key map (kbd "C-c >") 'helm-toggle-truncate-line) - (define-key map (kbd "C-c l") 'helm-display-line-numbers-mode) - (define-key map (kbd "M-p") 'previous-history-element) - (define-key map (kbd "M-n") 'next-history-element) - (define-key map (kbd "C-!") 'helm-toggle-suspend-update) - (define-key map (kbd "C-x b") 'helm-resume-previous-session-after-quit) - (define-key map (kbd "C-x C-b") 'helm-resume-list-buffers-after-quit) - (helm-define-key-with-subkeys map (kbd "C-c n") ?n 'helm-run-cycle-resume) + (define-key map (kbd "M-(") #'helm-prev-visible-mark) + (define-key map (kbd "M-)") #'helm-next-visible-mark) + (define-key map (kbd "C-k") #'helm-delete-minibuffer-contents) + (define-key map (kbd "C-x C-f") #'helm-quit-and-find-file) + (define-key map (kbd "M-m") #'helm-toggle-all-marks) + (define-key map (kbd "M-a") #'helm-mark-all) + (define-key map (kbd "M-U") #'helm-unmark-all) + (define-key map (kbd "C-M-a") #'helm-show-all-candidates-in-source) + (define-key map (kbd "C-M-e") #'helm-display-all-sources) + (define-key map (kbd "C-s") #'undefined) + (define-key map (kbd "M-s") #'undefined) + (define-key map (kbd "C-}") #'helm-narrow-window) + (define-key map (kbd "C-{") #'helm-enlarge-window) + (define-key map (kbd "C-c -") #'helm-swap-windows) + (define-key map (kbd "C-c _") #'helm-toggle-full-frame) + (define-key map (kbd "C-c %") #'helm-exchange-minibuffer-and-header-line) + (define-key map (kbd "C-c C-y") #'helm-yank-selection) + (define-key map (kbd "C-c C-k") #'helm-kill-selection-and-quit) + (define-key map (kbd "C-c C-i") #'helm-insert-or-copy) + (define-key map (kbd "C-c C-f") #'helm-follow-mode) + (define-key map (kbd "C-c C-u") #'helm-refresh) + (define-key map (kbd "C-c >") #'helm-toggle-truncate-line) + (define-key map (kbd "C-c l") #'helm-display-line-numbers-mode) + (define-key map (kbd "M-p") #'previous-history-element) + (define-key map (kbd "M-n") #'next-history-element) + (define-key map (kbd "C-!") #'helm-toggle-suspend-update) + (define-key map (kbd "C-x b") #'helm-resume-previous-session-after-quit) + (define-key map (kbd "C-x C-b") #'helm-resume-list-buffers-after-quit) + (helm-define-key-with-subkeys map (kbd "C-c n") ?n #'helm-run-cycle-resume) ;; Disable `file-cache-minibuffer-complete'. - (define-key map (kbd "") 'undefined) + (define-key map (kbd "") #'undefined) ;; Multi keys - (define-key map (kbd "C-t") 'helm-toggle-resplit-and-swap-windows) + (define-key map (kbd "C-t") #'helm-toggle-resplit-and-swap-windows) ;; Debugging command - (define-key map (kbd "C-h C-d") 'helm-enable-or-switch-to-debug) - (define-key map (kbd "C-h c") 'helm-customize-group) + (define-key map (kbd "C-h C-d") #'helm-enable-or-switch-to-debug) + (define-key map (kbd "C-h c") #'helm-customize-group) ;; Allow to eval keymap without errors. (define-key map [f1] nil) - (define-key map (kbd "C-h C-h") 'undefined) - (define-key map (kbd "C-h h") 'undefined) + (define-key map (kbd "C-h C-h") #'undefined) + (define-key map (kbd "C-h h") #'undefined) (helm-define-key-with-subkeys map - (kbd "C-w") ?\C-w 'helm-yank-text-at-point + (kbd "C-w") ?\C-w #'helm-yank-text-at-point '((?\C-_ . helm-undo-yank-text-at-point))) ;; Use `describe-mode' key in `global-map'. - (cl-dolist (k (where-is-internal 'describe-mode global-map)) - (define-key map k 'helm-help)) - (define-key map (kbd "C-c ?") 'helm-help) - ;; Bind all actions from 1 to 12 to their corresponding nth index+1. - (cl-loop for n from 0 to 12 do - (define-key map (kbd (format "" (1+ n))) - `(lambda () - (interactive) - (helm-select-nth-action ,n)))) + (cl-dolist (k (where-is-internal #'describe-mode global-map)) + (define-key map k #'helm-help)) + ;; Bind all actions from f1 to f12, `helm-select-nth-action' + ;; counts from 0, i.e. (helm-select-nth-action 0) = action 1. + (dotimes (n 12) + (define-key map (kbd (format "" (1+ n))) + (lambda () + (interactive) + (helm-select-nth-action n)))) map) "Keymap for helm.") @@ -311,7 +481,15 @@ and vectors, so don't use strings to define them." Default to Helm group when group is not defined in source." (interactive) - (helm-run-after-exit 'helm-customize-group-1 (helm-get-attr 'group))) + (let ((source (or (helm-get-current-source) + (helm-comp-read + "Customize variables for: " + (cl-loop for src in (with-helm-buffer helm-sources) + collect `(,(assoc-default 'name src) . + ,src)) + :allow-nest t + :exec-when-only-one t)))) + (helm-run-after-exit 'helm-customize-group-1 (helm-get-attr 'group source)))) (put 'helm-customize-group 'helm-only t) (defun helm--action-at-nth-set-fn-1 (value &optional negative) @@ -362,6 +540,13 @@ customize for immediate effect." "Open Helm." :prefix "helm-" :group 'convenience) +;; Easy access to customize +;;;###autoload +(defun helm-configuration () + "Customize Helm." + (interactive) + (customize-group "helm")) + (defcustom helm-completion-window-scroll-margin 5 "`scroll-margin' to use for Helm completion window. Set to 0 to disable. @@ -402,8 +587,8 @@ Set this value to nil for no limit." (defcustom helm-exit-idle-delay 0 "Idle time before exiting minibuffer while Helm is updating. -Has no affect when helm-buffer is up to date \(i.e. exit without -delay in this condition\)." +Has no affect when helm-buffer is up to date (i.e. exit without +delay in this condition)." :group 'helm :type 'float) @@ -430,7 +615,7 @@ Specified as a pair of functions, where car is the restore function and cdr is the save function. To save and restore frame configuration, set this variable to -'\(set-frame-configuration . current-frame-configuration\) +\\='(set-frame-configuration . current-frame-configuration) NOTE: This may not work properly with own-frame minibuffer settings. Older versions saves/restores frame configuration, but @@ -457,7 +642,7 @@ To set it locally to `helm-buffer' in Helm sources use :type 'symbol) (defcustom helm-case-fold-search 'smart - "Adds 'smart' option to `case-fold-search'. + "Adds \\='smart' option to `case-fold-search'. Smart option ignores case for searches as long as there are no upper case characters in the pattern. @@ -472,7 +657,7 @@ into their execution process. See helm-grep.el for an example." :group 'helm :type '(choice (const :tag "Ignore case" t) (const :tag "Respect case" nil) - (other :tag "Smart" 'smart))) + (other :tag "Smart" smart))) (defcustom helm-file-name-case-fold-search (if (memq system-type @@ -489,7 +674,7 @@ See `helm-case-fold-search' for more info." "Use the same state of window split, vertical or horizontal. `helm-toggle-resplit-window' for the next helm session will use the same window scheme as the previous session unless -`helm-split-window-default-side' is 'same or 'other." +`helm-split-window-default-side' is \\='same or \\='other." :group 'helm :type 'boolean) @@ -523,7 +708,7 @@ handle this." (defcustom helm-split-window-other-side-when-one-window 'below "The default side to display `helm-buffer' when (1) -`helm-split-window-default-side' is 'other and (2) +`helm-split-window-default-side' is \\='other and (2) the current frame only has one window. Possible values are acceptable args for `split-window' SIDE, that is `below', `above', `left' or `right'. @@ -582,7 +767,7 @@ in the other. Note: this has no effect when `helm-split-window-inside-p' is non-nil, or when `helm-split-window-default-side' is set to -'same. +\\='same. When `helm-autoresize-mode' is enabled, setting this to nil will have no effect. @@ -764,7 +949,7 @@ The default is to enable this by default and then toggle This will be used when `helm-echo-input-in-header-line' is non-nil. -Value can be one of the symbols 'left-fringe or 'left-margin or +Value can be one of the symbols \\='left-fringe or \\='left-margin or an integer specifying the number of spaces before prompt. Note that on input longer that `window-width' the continuation string will be shown on left side of window without taking care of @@ -772,8 +957,8 @@ this." :group 'helm :type '(choice (symbol - (const :tag "Fringe" 'left-fringe) - (const :tag "Margin" 'left-margin)) + (const :tag "Fringe" left-fringe) + (const :tag "Margin" left-margin)) integer)) (defcustom helm-tramp-connection-min-time-diff 5 @@ -1116,10 +1301,9 @@ Should run also at end of `helm-display-function'.") (defvar helm-execute-action-at-once-if-one nil "When non-nil execute the default action and then exit if only one candidate. -If symbol 'current-source is given as value exit if only one +If symbol \\='current-source is given as value exit if only one candidate in current source. This variable accepts a function -with no args that should returns a boolean value or -'current-source.") +with no args that should returns a boolean value or \\='current-source.") (defvar helm-quit-if-no-candidate nil "When non-nil, quit if there are no candidates. @@ -1142,7 +1326,7 @@ size of `helm-debug-buffer' grows quickly.") \\[helm-help]:Help \ \\[helm-select-action]:Act \ \\[helm-maybe-exit-minibuffer]/\ -f1/f2/f-n:NthAct \ +f1..f12:NthAct \ \\[helm-toggle-suspend-update]:Tog.suspend \ \\[helm-customize-group]:Conf" "Help string displayed by Helm in the mode-line. @@ -1157,7 +1341,7 @@ A hook useful for modifying minibuffer settings in Helm. An example that hides the minibuffer when using `helm-echo-input-in-header-line': - (add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe) + (add-hook \\='helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe) Note that we check `helm-echo-input-in-header-line' value from `helm-buffer' which allows detecting possible local @@ -1473,22 +1657,34 @@ you DO NOT need these packages to display helm buffers in frames. ** Helm's basic operations and default key bindings -| Key | Alternative Keys | Command | -|---------+------------------+----------------------------------------------------------------------| -| C-p | Up | Previous line | -| C-n | Down | Next line | -| M-v | prior | Previous page | -| C-v | next | Next page | -| Enter | | Execute first (default) action / Select [1] | -| M-< | | First line | -| M-> | | Last line | -| C-M-S-v | M-prior, C-M-y | Previous page (other-window) | -| C-M-v | M-next | Next page (other-window) | -| Tab | C-i | Show action list | -| M-o | left | Previous source | -| C-o | right | Next source | -| C-k | | Delete pattern (with prefix arg delete from point to end or all [2]) | -| C-j | | Persistent action (Execute and keep Helm session) | +| Key| Command| +|----+--------| +| | +| \\[helm-previous-line]| Previous line | +| \\[helm-next-line]| Next line | +| \\[helm-scroll-up]| Scroll up | +| \\[helm-scroll-down]| Scroll down | +| \\[helm-scroll-other-window]| Scroll up other-window | +| \\[helm-scroll-other-window-down]| Scroll down other-window | +| \\[helm-maybe-exit-minibuffer]| Execute first (default) action / Select [1] | +| \\[helm-beginning-of-buffer]| Goto beginning of buffer | +| \\[helm-end-of-buffer]| Goto end of buffer | +| \\[helm-select-action]| Show actions menu | +| \\[helm-previous-source]| Previous source | +| \\[helm-next-source]| Next source | +| \\[helm-delete-minibuffer-contents]| Delete pattern (with prefix arg delete from point to end or all [2]) | +| \\[helm-execute-persistent-action]| Persistent action (Execute and keep Helm session) | +|\\[helm-toggle-resplit-and-swap-windows]|Rotate or swap windows. | +|\\[helm-exchange-minibuffer-and-header-line]|Exchange minibuffer and header-line. | +|\\[helm-quit-and-find-file]|Drop into `helm-find-files'. | +|\\[helm-kill-selection-and-quit]|Kill display value of candidate and quit (with prefix arg, kill the real value). | +|\\[helm-yank-selection]|Yank current selection into pattern. | +|\\[helm-insert-or-copy]|Insert or copy marked candidates (C-u) . | +|\\[helm-follow-mode]|Toggle automatic execution of persistent action. | +|\\[helm-follow-action-forward]|Run persistent action then select next line. | +|\\[helm-follow-action-backward]|Run persistent action then select previous line. | +|\\[helm-refresh]|Recalculate and redisplay candidates. | +|\\[helm-toggle-suspend-update]|Toggle candidate updates. | \[1] Behavior may change depending context in some source e.g. `helm-find-files'. @@ -1617,22 +1813,6 @@ enabling `helm-follow-mode', you can use `helm-follow-mode' is enabled, those commands go to previous/next line without executing the persistent action. -** Frequently Used Commands - -|Keys|Description -|-----------+----------| -|\\[helm-toggle-resplit-and-swap-windows]|Toggle vertical/horizontal split on first hit and swap Helm window on second hit. -|\\[helm-exchange-minibuffer-and-header-line]|Exchange minibuffer and header-line. -|\\[helm-quit-and-find-file]|Drop into `helm-find-files'. -|\\[helm-kill-selection-and-quit]|Kill display value of candidate and quit (with prefix arg, kill the real value). -|\\[helm-yank-selection]|Yank current selection into pattern. -|\\[helm-insert-or-copy]|Insert or copy marked candidates (C-u) . -|\\[helm-follow-mode]|Toggle automatic execution of persistent action. -|\\[helm-follow-action-forward]|Run persistent action then select next line. -|\\[helm-follow-action-backward]|Run persistent action then select previous line. -|\\[helm-refresh]|Recalculate and redisplay candidates. -|\\[helm-toggle-suspend-update]|Toggle candidate updates. - ** Special yes, no or yes for all answers You may be prompted in the minibuffer to answer by [y,n,!,q] in @@ -1776,149 +1956,6 @@ The hook should takes one arg SOURCES.") (defvar helm-process-output-split-string-separator "\n" "Separator to use when splitting helm async output.") -;;; Internal Variables -;; -;; -(defvar helm-source-filter nil - "A list of source names to be displayed. -Other sources won't appear in the search results. -If nil, no filtering is done. -Don't set this directly, use `helm-set-source-filter' during a -Helm session to modify it.") -(defvar helm-saved-action nil - "Saved value of the currently selected action by key.") -(defvar helm-saved-current-source nil - "Value of the current source when the action list is shown.") -(defvar helm-in-persistent-action nil - "Flag whether in persistent-action or not.") -(defvar helm-last-buffer nil - "`helm-buffer' of a previous Helm session.") -(defvar helm-saved-selection nil - "Value of the currently selected object when the action list is shown.") -(defvar helm-sources nil - "[INTERNAL] Value of current sources in use, a list of alists. -The list of sources (symbols or alists) is normalized to alists -in `helm-initialize'.") -(defvar helm-buffer-file-name nil - "Variable `buffer-file-name' when Helm is invoked.") -(defvar helm-candidate-cache (make-hash-table :test 'equal) - "Holds the available candidate within a single Helm invocation.") -(defvar helm--candidate-buffer-alist nil) -(defvar helm-input "" - "The input typed in the candidates panel.") -(defvar helm-input-local nil - "Internal, store locally `helm-pattern' value for later use in `helm-resume'.") -(defvar helm--source-name nil) -(defvar helm-current-source nil) -(defvar helm-issued-errors nil) -(defvar helm--last-log-file nil - "The name of the log file of the last Helm session.") -(defvar helm--local-variables nil) -(defvar helm-split-window-state nil) -(defvar helm--window-side-state nil) -(defvar helm-selection-point nil - "The value of point at selection.") -(defvar helm-alive-p nil) -(defvar helm-visible-mark-overlays nil) -(defvar helm-update-blacklist-regexps '("^" "^ *" "$" "!" " " "\\b" - "\\<" "\\>" "\\_<" "\\_>" ".*" - "??" "?*" "*?" "?")) -(defvar helm--force-updating-p nil - "[INTERNAL] Don't use this in your programs.") -(defvar helm-exit-status 0 - "Flag to inform if Helm did exit or quit. -0 means Helm did exit when executing an action. -1 means Helm did quit with \\[keyboard-quit] -Knowing this exit-status could help restore a window config when -Helm aborts in some special circumstances. See -`helm-exit-minibuffer' and `helm-keyboard-quit'.") -(defvar helm-minibuffer-confirm-state nil) -(defvar helm--quit nil) -(defvar helm-buffers nil - "Helm buffers listed in order of most recently used.") -(defvar helm-current-position nil - "Cons of \(point . window-start\) when Helm is invoked. -`helm-current-buffer' uses this to restore position after -`helm-keyboard-quit'") -(defvar helm-last-frame-or-window-configuration nil - "Used to store window or frame configuration at Helm start.") -(defvar helm-onewindow-p nil) -(defvar helm-types nil) -(defvar helm--mode-line-string-real nil) ; The string to display in mode-line. -(defvar helm-persistent-action-display-window nil) -(defvar helm-marked-candidates nil - "Marked candidates. List of \(source . real\) pair.") -(defvar helm--mode-line-display-prefarg nil) -(defvar helm--temp-follow-flag nil - "[INTERNAL] A simple flag to notify persistent action we are following.") -(defvar helm--reading-passwd-or-string nil) -(defvar helm--in-update nil) -(defvar helm--in-fuzzy nil) -(defvar helm-maybe-use-default-as-input nil - "Flag to notify the use of use-default-as-input. -Use only in let-bindings. -Use :default arg of `helm' as input to update display. -Note that if also :input is specified as `helm' arg, it will take -precedence on :default.") -(defvar helm--temp-hooks nil - "Store temporary hooks added by `with-helm-temp-hook'.") -(defvar helm--prompt nil) -(defvar helm--file-completion-sources - '("Find Files" "Read File Name") - "Sources that use the *find-files mechanism can be added here. -Sources generated by `helm-mode' don't need to be added here -because they are automatically added. - -You should not modify this yourself unless you know what you are -doing.") -(defvar helm--completing-file-name nil - "Non nil when `helm-read-file-name' is running. -Used for `helm-file-completion-source-p'.") -;; Same as `ffap-url-regexp' but keep it here to ensure `ffap-url-regexp' is not nil. -(defvar helm--url-regexp "\\`\\(news\\(post\\)?:\\|mailto:\\|file:\\|\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://\\)") -(defvar helm--ignore-errors nil - "Flag to prevent Helm popping up errors in candidates functions. -Should be set in candidates functions if needed, and will be -restored at end of session.") -(defvar helm--action-prompt "Select action: ") -(defvar helm--cycle-resume-iterator nil) -(defvar helm--buffer-in-new-frame-p nil) -(defvar helm-initial-frame nil - "[INTERNAL] The selected frame before starting Helm. -Helm use this internally to know in which frame it started, don't -modify this yourself.") -(defvar helm-popup-frame nil - "The frame where Helm is displayed. - -This is only used when Helm is using -`helm-display-buffer-in-own-frame' as `helm-display-function' and -`helm-display-buffer-reuse-frame' is non nil.") -(defvar helm--nested nil) -(defconst helm--frame-default-attributes - '(width height tool-bar-lines left top - title undecorated vertical-scroll-bars - visibility fullscreen menu-bar-lines undecorated - alpha foreground-color background-color) - "Frame parameters to save in `helm--last-frame-parameters'.") -(defvar helm--last-frame-parameters nil - "Frame parameters to save for later resuming. -Local to `helm-buffer'.") -(defvar helm--executing-helm-action nil - "Non nil when action is triggering a new helm-session. -This may be let bounded in other places to notify the display -function to reuse the same frame parameters as the previous Helm -session just like resume would do.") -(defvar helm--current-buffer-narrowed nil) -(defvar helm--suspend-update-interactive-flag nil) -(defvar helm-persistent-action-window-buffer nil - "[INTERNAL] Store the buffer where helm is started. -It is generally `helm-current-buffer', but when this one is displayed -in a dedicated buffer, helm can't start in this window and use another -window handling a buffer, it is this one we store.") -(defvar helm--tramp-archive-maybe-loaded nil) -(defvar helm--original-dedicated-windows-alist nil - "[INTERNAL] Store all dedicated windows with their dedicated state on startup") - ;; Utility: logging (defun helm-log (format-string &rest args) "Log message `helm-debug' is non-nil. @@ -1932,7 +1969,7 @@ Use optional arguments ARGS like in `format'." (buffer-disable-undo) (let ((inhibit-read-only t)) (goto-char (point-max)) - (insert (let ((tm (current-time))) + (insert (let ((tm (time-convert nil 'list))) (format (concat (if (string-match "Start session" format-string) "* " "** ") "%s.%06d (%s)\n %s\n") @@ -2090,7 +2127,7 @@ End:") If SRC is omitted, use current source. If COMPUTE is non-`nil' compute value of ATTRIBUTE-NAME with -`helm-interpret-value'. COMPUTE can have also 'ignorefn as value, +`helm-interpret-value'. COMPUTE can have also \\='ignorefn as value, in this case `helm-interpret-value' will return a function as value unchanged, but will eval a symbol which is bound. @@ -2183,13 +2220,13 @@ without modifying source code. E.g. Add the action \"Byte compile file async\" linked to function -'async-byte-compile-file to source `helm-source-find-files' only +`async-byte-compile-file' to source `helm-source-find-files' only when predicate helm-ff-candidates-lisp-p returns non-nil: \(helm-add-action-to-source-if \"Byte compile file async\" - 'async-byte-compile-file + \\='async-byte-compile-file helm-source-find-files - 'helm-ff-candidates-lisp-p\)." + \\='helm-ff-candidates-lisp-p)." (let* ((actions (helm-get-attr 'action source 'ignorefn)) (action-transformers (helm-get-attr 'action-transformer source)) (new-action (list (cons name fn))) @@ -2225,16 +2262,16 @@ only: Shift+F shows only file results from some sources: -\(define-key helm-map \"F\" 'helm-my-show-files-only) +\(define-key helm-map \"F\" \\='helm-my-show-files-only) \(defun helm-my-show-files-only () (interactive) - (helm-set-source-filter '(\"File Name History\" + (helm-set-source-filter \\='(\"File Name History\" \"Files from Current Directory\"))) Shift+A shows all results: -\(define-key helm-map \"A\" 'helm-my-show-all) +\(define-key helm-map \"A\" \\='helm-my-show-all) \(defun helm-my-show-all () (interactive) @@ -2268,6 +2305,35 @@ If NO-UPDATE is non-nil, skip executing `helm-update'." (unless no-init (helm-compute-attr-in-sources 'init)) (unless no-update (helm-update))) +(defun helm-show-all-candidates-in-source (arg) + "Toggle all or only candidate-number-limit cands in current source. +With a numeric prefix arg show only the ARG number of candidates. +The prefix arg has no effect when toggling to only +candidate-number-limit." + (interactive "p") + (with-helm-alive-p + (with-helm-buffer + (if helm-source-filter + (progn + (setq-local helm-candidate-number-limit + (default-value 'helm-candidate-number-limit)) + (helm-set-source-filter nil)) + (with-helm-default-directory (helm-default-directory) + (setq-local helm-candidate-number-limit (and (> arg 1) arg)) + (helm-set-source-filter + (list (helm-get-current-source)))))))) +(put 'helm-show-all-candidates-in-source 'helm-only t) + +(defun helm-display-all-sources () + "Display all sources previously hidden by `helm-set-source-filter'." + (interactive) + (with-helm-alive-p + (helm-set-source-filter nil))) +(put 'helm-display-all-sources 'helm-only t) + + +;;; Source infos fns. +;; (defun helm-get-selection (&optional buffer force-display-part source) "Return the currently selected candidate from BUFFER. @@ -2437,7 +2503,7 @@ i.e. functions called with RET." (defun helm-interpret-value (value &optional source compute) "Interpret VALUE as variable, function or literal and return it. If VALUE is a function, call it with no arguments and return the value -unless COMPUTE value is 'ignorefn. +unless COMPUTE value is \\='ignorefn. If SOURCE compute VALUE for this source. If VALUE is a variable, return the value. If VALUE is a symbol, but it is not a function or a variable, cause an error. @@ -2522,7 +2588,7 @@ was deleted and the candidates list not updated." "From SOURCE apply FUNCTIONS on ARGS. This function is used to process filter functions. When filter is -a \`filtered-candidate-transformer', we pass to ARGS +a `filtered-candidate-transformer', we pass to ARGS candidates+source whereas when the filter is `candidate-transformer' we pass to ARGS candidates only. This function is also used to process functions called with no @@ -2622,12 +2688,12 @@ of current source only." PLIST is a list like -\(:key1 val1 :key2 val2 ...\) +\(:key1 val1 :key2 val2 ...) or \(&optional sources input prompt resume preselect - buffer keymap default history allow-nest\). + buffer keymap default history allow-nest). ** Keywords @@ -2672,7 +2738,7 @@ Minibuffer prompt. Default value is `helm--prompt'. If t, allow resumption of the previous session of this Helm command, skipping initialization. -If 'noresume, this instance of `helm' cannot be resumed. +If \\='noresume, this instance of `helm' cannot be resumed. *** :preselect @@ -2727,9 +2793,9 @@ Allow running this Helm command in a running Helm session. Other keywords are interpreted as local variables of this Helm session. The `helm-' prefix can be omitted. For example, -\(helm :sources 'helm-source-buffers-list +\(helm :sources \\='helm-source-buffers-list :buffer \"*helm buffers*\" - :candidate-number-limit 10\) + :candidate-number-limit 10) Starts a Helm session with the variable `helm-candidate-number-limit' set to 10. @@ -2740,7 +2806,7 @@ For backward compatibility, positional parameters are supported: \(helm sources input prompt resume preselect - buffer keymap default history allow-nest\) + buffer keymap default history allow-nest) However, the use of non-keyword args is deprecated. @@ -2797,7 +2863,7 @@ are valid helm variables nevertheless. For example, :candidate-number-limit is bound to `helm-candidate-number-limit' in the source. - (helm-parse-keys '(:sources ((name . \"test\") + (helm-parse-keys \\='(:sources ((name . \"test\") (candidates . (a b c))) :buffer \"toto\" :candidate-number-limit 4)) @@ -2872,6 +2938,9 @@ HISTORY args see `helm'." focus-follows-mouse mode-line-in-non-selected-windows minibuffer-completion-confirm + (ori--minibuffer-follows-selected-frame + (and (boundp 'minibuffer-follows-selected-frame) + (default-toplevel-value 'minibuffer-follows-selected-frame))) (input-method-verbose-flag helm-input-method-verbose-flag) (helm-maybe-use-default-as-input (and (null input) @@ -2889,6 +2958,22 @@ HISTORY args see `helm'." (helm-buffer (or buffer helm-buffer))) (helm-initialize resume input default sources) + ;; This allows giving the focus to a nested helm session which use + ;; a frame, like completion in + ;; `helm-eval-expression'. Unfortunately + ;; `minibuffer-follows-selected-frame' is available only in + ;; emacs-28+ (bug#2536). + ;; When non-nil (the default) the current active + ;; minibuffer is used in new frame, which is not what we + ;; want in helm when starting from an active minibuffer, + ;; either a helm minibuffer or something line M-:. + (and ori--minibuffer-follows-selected-frame + (setq minibuffer-follows-selected-frame + (unless (or helm--nested + ;; Allow keeping initial minibuffer visible + ;; e.g. completion-at-point from M-:. + (minibufferp helm-current-buffer)) + t))) ;; We don't display helm-buffer here to avoid popping ;; up a window or a frame when exiting immediately when ;; only one candidate (this avoid having the helm frame @@ -2932,6 +3017,9 @@ HISTORY args see `helm'." (helm-log "helm-alive-p = %S" (setq helm-alive-p nil)) (helm--remap-mouse-mode -1) ; Reenable mouse bindings. (setq helm-alive-p nil) + (and ori--minibuffer-follows-selected-frame + (set-default-toplevel-value 'minibuffer-follows-selected-frame + ori--minibuffer-follows-selected-frame)) ;; Prevent error "No buffer named *helm*" triggered by ;; `helm-set-local-variable'. (setq helm--force-updating-p nil) @@ -3114,7 +3202,7 @@ Don't use this directly, use instead `helm' with the keyword (orig-helm-last-frame-or-window-configuration helm-last-frame-or-window-configuration) (orig-one-window-p helm-onewindow-p) - (helm--nested t)) + (helm--nested (if helm--buffer-in-new-frame-p 'share t))) ;; FIXME Using helm-full-frame here allow showing the new ;; helm-buffer in the same window as old helm-buffer, why? (helm-set-local-variable 'helm-full-frame t) @@ -3404,7 +3492,9 @@ Function suitable for `helm-display-function', See `helm-display-buffer-height' and `helm-display-buffer-width' to configure frame size. -Note that this feature is available only with emacs-25+." +Note that this feature is available only with emacs-25+. +Note also it is not working properly in helm nested session with emacs +version < emacs-28." (cl-assert (and (fboundp 'window-absolute-pixel-edges) (fboundp 'frame-geometry)) nil "Helm buffer in own frame is only available starting at emacs-25+") @@ -3418,7 +3508,7 @@ Note that this feature is available only with emacs-25+." (prmt-size (length helm--prompt)) (line-height (frame-char-height)) tab-bar-mode - (default-frame-alist + (new-frame-alist (if resume (buffer-local-value 'helm--last-frame-parameters (get-buffer buffer)) @@ -3470,7 +3560,7 @@ Note that this feature is available only with emacs-25+." (with-helm-buffer (setq-local helm-echo-input-in-header-line (not (> (cdr pos) half-screen-size))))) - (helm-display-buffer-popup-frame buffer default-frame-alist) + (helm-display-buffer-popup-frame buffer new-frame-alist) ;; When frame size have been modified manually by user restore ;; it to default value unless resuming or not using ;; `helm-display-buffer-reuse-frame'. @@ -3503,7 +3593,8 @@ Note that this feature is available only with emacs-25+." (frame-live-p helm-popup-frame)) (delete-frame helm-popup-frame)) (display-buffer - buffer '(display-buffer-pop-up-frame . nil)))) + buffer `(display-buffer-pop-up-frame + . ((pop-up-frame-parameters . ,frame-alist)))))) ;; Ensure to quit helm when user delete helm frame manually. ;; If user deletes another frame keep session running. @@ -3631,16 +3722,16 @@ For RESUME INPUT DEFAULT and SOURCES see `helm'." (defun helm--run-init-hooks (hook sources) "Run after and before init hooks local to source. See :after-init-hook and :before-init-hook in `helm-source'." - (cl-loop with sname = (cl-ecase hook - (before-init-hook "h-before-init-hook") - (after-init-hook "h-after-init-hook")) - with h = (cl-gensym sname) - for s in sources + (cl-loop for s in sources for hv = (assoc-default hook s) - if (and hv (not (symbolp hv))) - do (set h hv) - and do (helm-log-run-hook h) - else do (helm-log-run-hook hv))) + when hv + do (pcase hv + ((and (pred (functionp)) + (pred (not symbolp))) + (funcall hv)) + ((and hook (pred (listp))) + (dolist (h hook) (funcall h))) + (_ (helm-log-run-hook hv))))) (defun helm-restore-position-on-quit () "Restore position in `helm-current-buffer' when quitting." @@ -3974,7 +4065,14 @@ WARNING: Do not use this mode yourself, it is internal to Helm." ;; Be sure we call cleanup functions from helm-buffer. (helm-compute-attr-in-sources 'cleanup) ;; Delete or make invisible helm frame. - (if (and helm--buffer-in-new-frame-p (null helm--nested)) + (if (and helm--buffer-in-new-frame-p + ;; a helm session running in a frame that runs a nested + ;; session share the same frame for both sessions so + ;; don't delete the common frame. + ;; i.e. helm--nested == t => delete + ;; helm--nested == nil => delete + ;; helm--nested == share => don't delete + (not (eq helm--nested 'share))) (progn (setq-local helm--last-frame-parameters (helm--get-frame-parameters)) @@ -4220,8 +4318,8 @@ maybe filtered CANDIDATES." This overrides `helm-candidate-number-limit' variable. E.g.: -If \(candidate-number-limit\) is in SOURCE, show all candidates in SOURCE. -If \(candidate-number-limit . 123\) is in SOURCE limit candidate to 123." +If (candidate-number-limit) is in SOURCE, show all candidates in SOURCE. +If (candidate-number-limit . 123) is in SOURCE limit candidate to 123." (helm-aif (assq 'candidate-number-limit source) ;; When assoc value is nil use by default 99999999 otherwise use ;; the assoc value, when it is a symbol interpret its value (bug#1831). @@ -4230,7 +4328,7 @@ If \(candidate-number-limit . 123\) is in SOURCE limit candidate to 123." (defun helm-candidate-get-display (candidate) "Get searched display part from CANDIDATE. -CANDIDATE is either a string, a symbol, or a \(DISPLAY . REAL\) +CANDIDATE is either a string, a symbol, or a (DISPLAY . REAL) cons cell." (cond ((car-safe candidate)) ((symbolp candidate) @@ -4329,7 +4427,10 @@ This function is used with sources built with `helm-source-sync'." (defvar helm-fuzzy-default-score-fn #'helm-fuzzy-flex-style-score) (defun helm-score-candidate-for-pattern (candidate pattern) "Assign score to CANDIDATE according to PATTERN." - (funcall helm-fuzzy-default-score-fn candidate pattern)) + ;; Unknown candidates always go on top. + (if (equal (get-text-property 0 'display candidate) "[?]") + 200.00 + (funcall helm-fuzzy-default-score-fn candidate pattern))) ;; The flex scoring needs a regexp whereas the fuzzy scoring works ;; directly with helm-pattern, so cache the needed regexp for flex @@ -4546,8 +4647,7 @@ to the matching method in use." "The filtered-candidate-transformer function to highlight fuzzy matches. See `helm-fuzzy-default-highlight-match'." (cl-assert helm-fuzzy-matching-highlight-fn nil "Wrong type argument functionp: nil") - (cl-loop with diac = (memq 'helm-mm-3-match-on-diacritics - (helm-mklist (helm-get-attr 'match source))) + (cl-loop with diac = (helm-get-attr 'diacritics source) for c in candidates collect (funcall helm-fuzzy-matching-highlight-fn c diac))) @@ -4560,7 +4660,7 @@ See `helm-fuzzy-default-highlight-match'." "Score STR candidate according to REGEXP. REGEXP should be generated from a pattern which is a list like -\'(point \"f\" any \"o\" any \"b\" any) for \"fob\" as pattern. +\\='(point \"f\" any \"o\" any \"b\" any) for \"fob\" as pattern. Such pattern may be build with `helm-completion--flex-transform-pattern' function, and the regexp with `completion-pcm--pattern->regex'. For commodity, @@ -4774,7 +4874,7 @@ Unlike `while-no-input' this macro ensure to not returns `t'." "Return a list of matches for each source in SRC-LIST. The resulting value is a list of lists, e.g. ((a b c) (c d) (e -f)) or \(nil nil nil) for three sources when no matches found, +f)) or (nil nil nil) for three sources when no matches found, however this function can be interrupted by new input and in this case returns a plain nil i.e. not (nil), in this case `helm-update' is not rendering the source, keeping previous @@ -5482,7 +5582,7 @@ If action buffer is selected, back to the Helm buffer." ;; Selection of candidates (defun helm-display-source-at-screen-top-maybe (unit) - "Display source at the top of screen when UNIT value is 'source. + "Display source at the top of screen when UNIT value is \\='source. Return nil for any other value of UNIT." (when (and helm-display-source-at-screen-top (eq unit 'source)) (set-window-start (selected-window) @@ -5490,7 +5590,7 @@ Return nil for any other value of UNIT." (defun helm-skip-noncandidate-line (direction) "Skip source header or candidates separator when going in DIRECTION. -DIRECTION is either 'next or 'previous. +DIRECTION is either \\='next or \\='previous. Same as `helm-skip-header-and-separator-line' but ensure point is moved to the right place when at bob or eob." (helm-skip-header-and-separator-line direction) @@ -5499,7 +5599,7 @@ moved to the right place when at bob or eob." (defun helm-skip-header-and-separator-line (direction) "Skip source header or candidate separator when going to next/previous line. -DIRECTION is either 'next or 'previous." +DIRECTION is either \\='next or \\='previous." (let ((fn (cl-ecase direction (next 'eobp) (previous 'bobp)))) @@ -5678,7 +5778,7 @@ It has no effect if `helm-echo-input-in-header-line' is nil." (defun helm-show-candidate-number (&optional name) "Used to display candidate number in mode-line. You can specify NAME of candidates e.g. \"Buffers\" otherwise it -is \"Candidate\(s\)\" by default." +is \"Candidate(s)\" by default." (when helm-alive-p (unless (helm-empty-source-p) ;; Build a fixed width string when candidate-number < 1000 @@ -5704,7 +5804,7 @@ Key arg WHERE can be one of: Key arg DIRECTION can be one of: - previous - next - - A source or a source name when used with :WHERE 'source." + - A source or a source name when used with :WHERE \\='source." (let ((move-func (cl-case where (line (cl-ecase direction (previous 'helm-move--previous-line-fn) @@ -6027,10 +6127,10 @@ marking candidates." (defun helm-confirm-and-exit-minibuffer () "Maybe ask for confirmation when exiting helm. It is similar to `minibuffer-complete-and-exit' adapted to Helm. -If `minibuffer-completion-confirm' value is 'confirm, send +If `minibuffer-completion-confirm' value is \\='confirm, send minibuffer confirm message and exit on next hit. If `minibuffer-completion-confirm' value is t, don't exit and send -message 'no match'." +message \\='no match'." (interactive) (with-helm-alive-p (if (and (helm--updating-p) @@ -6338,12 +6438,14 @@ delete minibuffer contents from point instead of deleting all. With a prefix arg reverse this behaviour. When at the end of minibuffer, delete all." (interactive "P") - (let ((str (if helm-delete-minibuffer-contents-from-point - (if (or arg (eobp)) - "" (helm-minibuffer-completion-contents)) - (if (and arg (not (eobp))) - (helm-minibuffer-completion-contents) "")))) - (helm--delete-minibuffer-contents-from str))) + (with-helm-alive-p + (let ((str (if helm-delete-minibuffer-contents-from-point + (if (or arg (eobp)) + "" (helm-minibuffer-completion-contents)) + (if (and arg (not (eobp))) + (helm-minibuffer-completion-contents) "")))) + (helm--delete-minibuffer-contents-from str)))) +(put 'helm-delete-minibuffer-contents 'no-helm-mx t) ;;; helm-source-in-buffer. @@ -6363,12 +6465,12 @@ E.g.: (helm-build-in-buffer-source \"test\" :init (lambda () (helm-init-candidates-in-buffer - 'global '(foo foa fob bar baz)))) + \\='global \\='(foo foa fob bar baz)))) A shortcut can be used to simplify: (helm-build-in-buffer-source \"test\" - :data '(foo foa fob bar baz)) + :data \\='(foo foa fob bar baz)) By default, Helm makes candidates by evaluating the candidates function, then narrows them by `string-match' for each candidate. @@ -6445,7 +6547,8 @@ To customize `helm-candidates-in-buffer' behaviour, use `search', (defun helm-search-from-candidate-buffer (pattern get-line-fn search-fns limit start-point match-part-fn source) - (let ((inhibit-read-only t)) + (let ((inhibit-read-only t) + (diacritics (assoc-default 'diacritics source))) (helm--search-from-candidate-buffer-1 (lambda () (cl-loop with hash = (make-hash-table :test 'equal) @@ -6500,14 +6603,14 @@ To customize `helm-candidates-in-buffer' behaviour, use `search', ;; returns a cons cell, collect PATTERN only if it ;; match the part of CAND specified by ;; the match-part func. - (helm-search-match-part cand pattern))) + (helm-search-match-part cand pattern diacritics))) do (progn (puthash cand iter hash) (helm--maybe-process-filter-one-by-one-candidate cand source) (cl-incf count)) and collect cand)))))) -(defun helm-search-match-part (candidate pattern) +(defun helm-search-match-part (candidate pattern diacritics) "Match PATTERN only on match-part property value of CANDIDATE. Because `helm-search-match-part' may be called even if @@ -6517,8 +6620,9 @@ computed by match-part-fn and stored in the match-part property." (let ((part (or (get-text-property 0 'match-part candidate) candidate)) (fuzzy-regexp (cadr (gethash 'helm-pattern helm--fuzzy-regexp-cache))) - (matchfn (if helm-migemo-mode - 'helm-mm-migemo-string-match 'string-match))) + (matchfn (cond (helm-migemo-mode 'helm-mm-migemo-string-match) + (diacritics 'helm-mm-diacritics-string-match) + (t 'string-match)))) (if (string-match " " pattern) (cl-loop for i in (helm-mm-split-pattern pattern) always (if (string-match "\\`!" i) @@ -6673,9 +6777,9 @@ without looping again through the whole list.") "Register BUFFER-SPEC with DATA for a helm candidates-in-buffer session. Arg BUFFER-SPEC can be a `buffer-name' (stringp), a buffer-spec -object \(bufferp), or a symbol, either 'local or 'global which is +object (bufferp), or a symbol, either \\='local or \\='global which is passed to `helm-candidate-buffer'. -The most common usage of BUFFER-SPEC is 'global. +The most common usage of BUFFER-SPEC is \\='global. Arg DATA can be either a list or a plain string. Returns the resulting buffer. @@ -6851,7 +6955,7 @@ If N is positive enlarge, if negative narrow." (defun helm--get-window-side-state () "Return the position of `helm-window' from `helm-current-buffer'. -Possible values are 'left 'right 'below or 'above." +Possible values are \\='left \\='right \\='below or \\='above." (let ((side-list '(left right below above))) (cl-loop for side in side-list thereis (and (equal (helm-window) @@ -7540,7 +7644,7 @@ They are bound by default to \\[helm-follow-action-forward] and (defun helm-follow-execute-persistent-action-maybe (&optional delay) "Execute persistent action in mode `helm-follow-mode'. -This happen after: DELAY or the 'follow-attr value of current +This happen after: DELAY or the \\='follow-attr value of current source or `helm-follow-input-idle-delay' or `helm-input-idle-delay' secs." (let* ((src (helm-get-current-source)) @@ -7639,7 +7743,9 @@ help." (with-helm-buffer (setq truncate-lines (not truncate-lines)) (when (helm-get-previous-header-pos) - (helm-update (regexp-quote (helm-get-selection nil t))))))) + (helm-update (regexp-quote (helm-get-selection nil t)))) + (message "%sisplaying continuation lines" + (if truncate-lines "Not D" "D"))))) (put 'helm-toggle-truncate-line 'helm-only t) diff --git a/code/elpa/helm-core-20220423.1804/helm-lib.el b/code/elpa/helm-core-20220803.1447/helm-lib.el similarity index 97% rename from code/elpa/helm-core-20220423.1804/helm-lib.el rename to code/elpa/helm-core-20220803.1447/helm-lib.el index e3e9211..87c070c 100644 --- a/code/elpa/helm-core-20220423.1804/helm-lib.el +++ b/code/elpa/helm-core-20220803.1447/helm-lib.el @@ -1,8 +1,8 @@ ;;; helm-lib.el --- Helm routines. -*- lexical-binding: t -*- -;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto -;; Author: Thierry Volpiatto +;; Author: Thierry Volpiatto ;; URL: http://github.com/emacs-helm/helm ;; This program is free software; you can redistribute it and/or modify @@ -178,6 +178,8 @@ the customize functions e.g. `customize-set-variable' and NOT "Buffer showing actions.") (defvar helm-current-prefix-arg nil "Record `current-prefix-arg' when exiting minibuffer.") +(defvar helm-current-error nil + "Same as `compilation-current-error' but for helm-occur and helm-grep.") ;;; Compatibility ;; @@ -198,6 +200,9 @@ available APPEND is ignored." (defun helm--advice-wdired-finish-edit () (interactive) (wdired-change-to-dired-mode) + ;; `wdired-old-marks' has been removed in emacs-28+. + (unless (boundp 'wdired-old-marks) + (setq-local wdired-old-marks nil)) (let ((changes nil) (errors 0) files-deleted @@ -447,21 +452,21 @@ found in SEQ." else return index finally return ls))) -(defun helm-iter-list (seq) - "Return an iterator object from SEQ." +(defun helm-iter-list (seq &optional cycle) + "Return an iterator object from SEQ. +The iterator die and return nil when it reach end of SEQ. +When CYCLE is specified the iterator never ends." (let ((lis seq)) (lambda () (let ((elm (car lis))) - (setq lis (cdr lis)) + (setq lis (if cycle + (or (cdr lis) seq) + (cdr lis))) elm)))) (defun helm-iter-circular (seq) "Infinite iteration on SEQ." - (let ((lis seq)) - (lambda () - (let ((elm (car lis))) - (setq lis (pcase lis (`(,_ . ,ll) (or ll seq)))) - elm)))) + (helm-iter-list seq 'cycle)) (cl-defun helm-iter-sub-next-circular (seq elm &key (test 'eq)) "Infinite iteration of SEQ starting at ELM." @@ -808,7 +813,7 @@ See `helm-help-hkmap' for supported keys and functions." "Return a list of all single elements of sublists in SEQ. Example: - (helm-flatten-list '(1 (2 . 3) nil (4 5 (6) 7) 8 (9 . 10))) + (helm-flatten-list \\='(1 (2 . 3) nil (4 5 (6) 7) 8 (9 . 10))) => (1 2 3 4 5 6 7 8 9 10)" (let (result) (cl-labels ((flatten @@ -824,7 +829,7 @@ See `helm-help-hkmap' for supported keys and functions." (nreverse result))) (defun helm-mklist (obj) - "If OBJ is a list \(but not lambda\), return itself. + "If OBJ is a list (but not lambda), return itself. Otherwise make a list with one element." (if (and (listp obj) (not (functionp obj))) obj @@ -921,9 +926,9 @@ hashtable itself." ARGS is (cand1 cand2 ...) or ((disp1 . real1) (disp2 . real2) ...) -\(helm-transform-mapcar 'upcase '(\"foo\" \"bar\")) +\(helm-transform-mapcar \\='upcase \\='(\"foo\" \"bar\")) => (\"FOO\" \"BAR\") -\(helm-transform-mapcar 'upcase '((\"1st\" . \"foo\") (\"2nd\" . \"bar\"))) +\(helm-transform-mapcar \\='upcase \\='((\"1st\" . \"foo\") (\"2nd\" . \"bar\"))) => ((\"1st\" . \"FOO\") (\"2nd\" . \"BAR\")) " (cl-loop for arg in args @@ -998,9 +1003,9 @@ Items not matching FUNCTION are grouped as well in a separate group. Example: - (setq B '(1 2 3 4 5 6 7 8 9)) + (setq B \\='(1 2 3 4 5 6 7 8 9)) - (helm-group-candidates-by B #'cl-oddp 2 'separate) + (helm-group-candidates-by B #'cl-oddp 2 \\='separate) => ((2 4 6 8) (1 3 5 7 9)) SELECTION specify where to start in CANDIDATES. @@ -1026,9 +1031,9 @@ otherwise a plain list is returned." Examples: - (helm-reorganize-sequence-from-elm '(a b c d e f g h i j k l) 'e) + (helm-reorganize-sequence-from-elm \\='(a b c d e f g h i j k l) \\='e) => (f g h i j k l a b c d e) - (helm-reorganize-sequence-from-elm '(a b c d e f g h i j k l) 'e t) + (helm-reorganize-sequence-from-elm \\='(a b c d e f g h i j k l) \\='e t) => (d c b a l k j i h g f e) " (let* ((new-seq (if reverse @@ -1042,10 +1047,10 @@ Examples: (defun helm-stringify (elm) "Return the representation of ELM as a string. ELM can be a string, a number or a symbol." - (cl-typecase elm - (string elm) - (number (number-to-string elm)) - (symbol (symbol-name elm)))) + (pcase elm + ((pred stringp) elm) + ((pred numberp) (number-to-string elm)) + ((pred symbolp) (symbol-name elm)))) (defun helm-substring (str width) "Return the substring of string STR from 0 to WIDTH. @@ -1116,11 +1121,11 @@ function with SUBEXP specified. E.g.: (helm--replace-regexp-in-buffer-string - \"e\\\\(m\\\\)acs\" 'upcase \"emacs\" t nil 1) + \"e\\\\(m\\\\)acs\" \\='upcase \"emacs\" t nil 1) => \"eMacs\" (replace-regexp-in-string - \"e\\\\(m\\\\)acs\" 'upcase \"emacs\" t nil 1) + \"e\\\\(m\\\\)acs\" \\='upcase \"emacs\" t nil 1) => \"eEMACSacs\" Also START argument behaves as expected unlike @@ -1182,7 +1187,7 @@ Example: (let ((answer (helm-read-answer \"answer [y,n,!,q]: \" - '(\"y\" \"n\" \"!\" \"q\")))) + \\='(\"y\" \"n\" \"!\" \"q\")))) (pcase answer (\"y\" \"yes\") (\"n\" \"no\") @@ -1429,11 +1434,16 @@ unconditionally." (file-name-sans-extension (file-name-nondirectory fname)) (file-name-nondirectory (directory-file-name fname))))) -(defun helm-basedir (fname) - "Return the base directory of filename ending by a slash." +(defun helm-basedir (fname &optional parent) + "Return the base directory of filename ending by a slash. +If PARENT is specified and FNAME is a directory return the parent +directory of FNAME." (helm-aif (and fname (or (and (string= fname "~") "~") - (file-name-directory fname))) + (file-name-directory + (if parent + (directory-file-name fname) + fname)))) (file-name-as-directory it))) (defun helm-current-directory () @@ -1725,8 +1735,8 @@ Example: (helm :sources (helm-build-sync-source \"test\" :candidates (helm-dynamic-completion - '(foo bar baz foab) - 'symbolp) + \\='(foo bar baz foab) + \\='symbolp) :match-dynamic t) :buffer \"*helm test*\") diff --git a/code/elpa/helm-core-20220423.1804/helm-multi-match.el b/code/elpa/helm-core-20220803.1447/helm-multi-match.el similarity index 90% rename from code/elpa/helm-core-20220423.1804/helm-multi-match.el rename to code/elpa/helm-core-20220803.1447/helm-multi-match.el index b848c09..173df2a 100644 --- a/code/elpa/helm-core-20220423.1804/helm-multi-match.el +++ b/code/elpa/helm-core-20220803.1447/helm-multi-match.el @@ -3,9 +3,9 @@ ;; Original Author: rubikitch ;; Copyright (C) 2008 ~ 2011 rubikitch -;; Copyright (C) 2011 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2011 ~ 2020 Thierry Volpiatto -;; Author: Thierry Volpiatto +;; Author: Thierry Volpiatto ;; URL: http://github.com/emacs-helm/helm ;; This program is free software; you can redistribute it and/or modify @@ -80,7 +80,7 @@ If GREP-SPACE is used translate escaped space to \"\\s\" instead of \"\\s-\"." (if grep-space "\\s" "\\s-") pattern nil t))) (defun helm-mm-1-make-regexp (pattern) - "Replace spaces in PATTERN with \"\.*\"." + "Replace spaces in PATTERN with \".*\"." (mapconcat 'identity (helm-mm-split-pattern pattern) ".*")) @@ -207,7 +207,7 @@ E.g., ((identity . \"foo\") (not . \"bar\"))." (cons 'identity pat))))) (defun helm-mm-regexp-p (string) - (string-match-p "[[]*+^$.?\\]" string)) + (string-match-p "[][*+^$.?]" string)) (defvar helm-mm--match-on-diacritics nil) @@ -245,19 +245,30 @@ i.e (identity (re-search-forward \"foo\" (point-at-eol) t)) => t." (cl-loop with pat = (if (stringp pattern) (helm-mm-3-get-patterns pattern) pattern) + with regex = (cdar pat) + with regex1 = (if (and regex + (not (helm-mm-regexp-p regex)) + helm-mm--match-on-diacritics) + (char-fold-to-regexp regex) + regex) when (eq (caar pat) 'not) return ;; Pass the job to `helm-search-match-part'. (prog1 (list (point-at-bol) (point-at-eol)) (forward-line 1)) while (condition-case _err - (funcall searchfn1 (or (cdar pat) "") nil t) + (funcall searchfn1 (or regex1 "") nil t) (invalid-regexp nil)) for bol = (point-at-bol) for eol = (point-at-eol) - if (cl-loop for (pred . str) in (cdr pat) always + if (cl-loop for (pred . str) in (cdr pat) + for regexp = (if (and (not (helm-mm-regexp-p str)) + helm-mm--match-on-diacritics) + (char-fold-to-regexp str) + str) + always (progn (goto-char bol) (funcall pred (condition-case _err - (funcall searchfn2 str eol t) + (funcall searchfn2 regexp eol t) (invalid-regexp nil))))) do (goto-char eol) and return t else do (goto-char eol) @@ -266,6 +277,10 @@ i.e (identity (re-search-forward \"foo\" (point-at-eol) t)) => t." (defun helm-mm-3-search (pattern &rest _ignore) (helm-mm-3-search-base pattern 're-search-forward 're-search-forward)) + +(defun helm-mm-3-search-on-diacritics (pattern &rest _ignore) + (let ((helm-mm--match-on-diacritics t)) + (helm-mm-3-search pattern))) ;;; mp-3 with migemo ;; Needs https://github.com/emacs-jp/migemo @@ -306,6 +321,19 @@ i.e. the sources which have the slot :migemo with non--nil value." helm-mm--previous-migemo-info)))) (string-match (assoc-default pattern helm-mm--previous-migemo-info) str)) +(defun helm-mm-diacritics-string-match (pattern str) + "Check if PATTERN match STR ignoring diacritics. + +If PATTERN is a regexp (i.e. `helm-mm-regexp-p') use PATTERN +unmodified, otherwise transform PATTERN with `char-fold-to-regexp'. + +This function is used to search match-part of candidate in in-buffer +sources." + (string-match (if (helm-mm-regexp-p pattern) + pattern + (char-fold-to-regexp pattern)) + str)) + (cl-defun helm-mm-3-migemo-match (candidate &optional (pattern helm-pattern)) (and helm-migemo-mode (cl-loop for (pred . re) in (helm-mm-3-get-patterns pattern) diff --git a/code/elpa/helm-core-20220423.1804/helm-source.el b/code/elpa/helm-core-20220803.1447/helm-source.el similarity index 93% rename from code/elpa/helm-core-20220423.1804/helm-source.el rename to code/elpa/helm-core-20220803.1447/helm-source.el index 0325598..70279a9 100644 --- a/code/elpa/helm-core-20220423.1804/helm-source.el +++ b/code/elpa/helm-core-20220803.1447/helm-source.el @@ -1,8 +1,8 @@ ;;; helm-source.el --- Helm source creation. -*- lexical-binding: t -*- -;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto +;; Copyright (C) 2015 ~ 2020 Thierry Volpiatto -;; Author: Thierry Volpiatto +;; Author: Thierry Volpiatto ;; URL: http://github.com/emacs-helm/helm ;; This program is free software; you can redistribute it and/or modify @@ -187,9 +187,9 @@ (defun foo-persistent-action (candidate) (do-something candidate)) - :persistent-action '(foo-persistent-action . never-split) ; Don't split + :persistent-action \\='(foo-persistent-action . never-split) ; Don't split or - :persistent-action 'foo-persistent-action ; Split + :persistent-action \\='foo-persistent-action ; Split When specifying :persistent-action by slot directly, foo-persistent-action will be executed without quitting helm when hitting `C-j'. @@ -205,8 +205,8 @@ \"Delete current candidate without quitting.\" (interactive) (with-helm-alive-p - (helm-set-attr 'quick-delete '(helm-ff-quick-delete . never-split)) - (helm-execute-persistent-action 'quick-delete))) + (helm-set-attr \\='quick-delete \\='(helm-ff-quick-delete . never-split)) + (helm-execute-persistent-action \\='quick-delete))) This function is then bound in `helm-find-files-map'.") @@ -225,13 +225,13 @@ ;; Don't split helm-window. (cons (lambda (_ignore) (do-something candidate)) - 'no-split)) + \\='no-split)) ;; Split helm-window. (something-else (lambda (_ignore) (do-something-else candidate))))) - :persistent-action-if 'foo-persistent-action + :persistent-action-if \\='foo-persistent-action Here when hitting `C-j' one of the lambda's will be executed depending on something or something-else condition, splitting or not @@ -363,7 +363,7 @@ Example: (helm :sources (helm-build-sync-source \"test\" - :candidates '(a b c d e) + :candidates \\='(a b c d e) :display-to-real (lambda (c) (concat c \":modified by d-t-r\"))) :buffer \"*helm test*\") @@ -384,7 +384,7 @@ Example: (helm :sources (helm-build-sync-source \"test\" - :candidates '((\"foo\" . 1) (\"bar\" . 2) (\"baz\". 3)) + :candidates \\='((\"foo\" . 1) (\"bar\" . 2) (\"baz\". 3)) :real-to-display (lambda (c) (format \"%s\" (1+ c)))) :buffer \"*helm test*\") @@ -397,7 +397,7 @@ :documentation " Get candidates with their properties in `helm-marked-candidates'. Allow using the FORCE-DISPLAY-PART of `helm-get-selection' in marked - candidates, use t or 'withprop to pass it to `helm-get-selection'.") + candidates, use t or \\='withprop to pass it to `helm-get-selection'.") (action-transformer :initarg :action-transformer @@ -470,15 +470,19 @@ in the list of results and then results from the other functions, respectively. - If the special symbol `diacritics' is given as value helm will match - diacritics candidates with `char-fold-to-regexp'. - This attribute has no effect for asynchronous sources (see attribute `candidates'), and sources using `match-dynamic' since they perform pattern matching themselves. Note that FUZZY-MATCH slot will overhide value of this slot.") + (diacritics + :initarg :diacritics + :initform nil + :custom boolean + :documentation + " Ignore diacritics when searching.") + (match-on-real :initarg :match-on-real :initform nil @@ -595,8 +599,8 @@ :documentation " Function called with no parameters at end of initialization when `helm-resume' is started. - If this function try to do something against `helm-buffer', \(e.g updating, - searching etc...\) probably you should run it in a timer to ensure + If this function try to do something against `helm-buffer', (e.g updating, + searching etc...) probably you should run it in a timer to ensure `helm-buffer' is ready.") (follow @@ -651,9 +655,11 @@ " A local hook that run at beginning of initilization of this source. i.e Before the creation of `helm-buffer'. - Should be a variable (defined with defvar). - Can be also an anonymous function or a list of functions - directly added to slot, this is not recommended though.") + Should be a variable (a symbol) bound to a list of + functions or a single function (see `run-hooks' documentation). + Even better is to use `add-hook' to feed this variable. + Usage of an anonymous function, or a list of functions is still + supported but not recommended.") (after-init-hook :initarg :after-init-hook @@ -662,10 +668,12 @@ :documentation " A local hook that run at end of initilization of this source. i.e After the creation of `helm-buffer'. - - Should be a variable. - Can be also an anonymous function or a list of functions - directly added to slot, this is not recommended though.") + + Should be a variable (a symbol) bound to a list of + functions or a single function (see `run-hooks' documentation). + Even better is to use `add-hook' to feed this variable. + Usage of an anonymous function, or a list of functions is still + supported but not recommended.") (delayed :initarg :delayed @@ -719,7 +727,7 @@ :custom boolean :documentation " Enable migemo. - When multimatch is disabled, you can give the symbol 'nomultimatch as value + When multimatch is disabled, you can give the symbol \\='nomultimatch as value to force not using generic migemo matching function. In this case you have to provide your own migemo matching funtion that kick in when `helm-migemo-mode' is enabled. @@ -807,7 +815,7 @@ inherit from `helm-source'.") :custom boolean :documentation " Enable migemo. - When multimatch is disabled, you can give the symbol 'nomultimatch as value + When multimatch is disabled, you can give the symbol \\='nomultimatch as value to force not using generic migemo matching function. In this case you have to provide your own migemo matching funtion that kick in when `helm-migemo-mode' is enabled. @@ -822,7 +830,7 @@ inherit from `helm-source'.") (match :initform '(identity)) - + (get-line :initarg :get-line :initform 'buffer-substring-no-properties @@ -978,10 +986,12 @@ Arguments ARGS are keyword value pairs as defined in CLASS." (defvar helm-mm-default-match-functions) (defun helm-source-mm-get-search-or-match-fns (source method) - (let* (diacritics + "Prepare match or search functions for class SOURCE. +Argument METHOD is the matching method used by SOURCE either `match' +or `search'." + (let* ((diacritics (slot-value source 'diacritics)) (defmatch (helm-aif (slot-value source 'match) - (unless (setq diacritics (eq it 'diacritics)) - (helm-mklist it)))) + (helm-mklist it))) (defmatch-strict (helm-aif (and (eq method 'match) (slot-value source 'match-strict)) (helm-mklist it))) @@ -994,18 +1004,33 @@ Arguments ARGS are keyword value pairs as defined in CLASS." (migemo (slot-value source 'migemo))) (cl-case method (match (cond (defmatch-strict) + ((and migemo diacritics) + (append (list 'helm-mm-exact-match + 'helm-mm-3-match-on-diacritics) + defmatch '(helm-mm-3-migemo-match))) (migemo (append helm-mm-default-match-functions defmatch '(helm-mm-3-migemo-match))) + (diacritics + (delq nil + `(helm-mm-exact-match + ,@defmatch helm-mm-3-match-on-diacritics))) (defmatch (append helm-mm-default-match-functions defmatch)) - (t (if diacritics - (list 'helm-mm-exact-match 'helm-mm-3-match-on-diacritics) - helm-mm-default-match-functions)))) + (t helm-mm-default-match-functions))) (search (cond (defsearch-strict) + ((and migemo diacritics) + (append '(helm-mm-exact-search) + defsearch + '(helm-mm-3-migemo-search + helm-mm-3-search-on-diacritics))) (migemo (append helm-mm-default-search-functions defsearch '(helm-mm-3-migemo-search))) + (diacritics + (delq nil + `(helm-mm-exact-search + ,@defsearch helm-mm-3-search-on-diacritics))) (defsearch (append helm-mm-default-search-functions defsearch)) (t helm-mm-default-search-functions)))))) @@ -1134,7 +1159,16 @@ The header line is based on one of `persistent-action-if', (let ((val (if (symbolp it) (symbol-value it) it))) - (setf (slot-value source 'requires-pattern) val)))) + (setf (slot-value source 'requires-pattern) val))) + (let ((sname (slot-value source 'name))) + (pcase (slot-value source 'before-init-hook) + ((or (and (pred (functionp)) (pred (not symbolp))) + (pred (consp))) + (warn "Helm source `%s': before-init-hook Should be defined as a symbol" sname))) + (pcase (slot-value source 'after-init-hook) + ((or (and (pred (functionp)) (pred (not symbolp))) + (pred (consp))) + (warn "Helm source `%s': after-init-hook Should be defined as a symbol" sname))))) (cl-defmethod helm-setup-user-source ((_source helm-source))) diff --git a/code/elpa/helm-ls-git-20220418.657/helm-ls-git-pkg.el b/code/elpa/helm-ls-git-20220418.657/helm-ls-git-pkg.el deleted file mode 100644 index b93ccab..0000000 --- a/code/elpa/helm-ls-git-20220418.657/helm-ls-git-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from helm-ls-git.el -*- no-byte-compile: t -*- -(define-package "helm-ls-git" "20220418.657" "list git files." '((helm "1.7.8")) :commit "c6494a462e605d6fd16c9355e32685c3e0085589") diff --git a/code/elpa/helm-ls-git-20220418.657/helm-ls-git-autoloads.el b/code/elpa/helm-ls-git-20220727.505/helm-ls-git-autoloads.el similarity index 100% rename from code/elpa/helm-ls-git-20220418.657/helm-ls-git-autoloads.el rename to code/elpa/helm-ls-git-20220727.505/helm-ls-git-autoloads.el diff --git a/code/elpa/helm-ls-git-20220727.505/helm-ls-git-pkg.el b/code/elpa/helm-ls-git-20220727.505/helm-ls-git-pkg.el new file mode 100644 index 0000000..c710cb8 --- /dev/null +++ b/code/elpa/helm-ls-git-20220727.505/helm-ls-git-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from helm-ls-git.el -*- no-byte-compile: t -*- +(define-package "helm-ls-git" "20220727.505" "list git files." '((helm "1.7.8")) :commit "9d91c25c7d1776d137fd126f241d0272b6e5f90e") diff --git a/code/elpa/helm-ls-git-20220418.657/helm-ls-git.el b/code/elpa/helm-ls-git-20220727.505/helm-ls-git.el similarity index 82% rename from code/elpa/helm-ls-git-20220418.657/helm-ls-git.el rename to code/elpa/helm-ls-git-20220727.505/helm-ls-git.el index df6bd2d..8d2a2f0 100644 --- a/code/elpa/helm-ls-git-20220418.657/helm-ls-git.el +++ b/code/elpa/helm-ls-git-20220727.505/helm-ls-git.el @@ -1,10 +1,10 @@ ;;; helm-ls-git.el --- list git files. -*- lexical-binding: t -*- -;; Copyright (C) 2012 ~ 2015 Thierry Volpiatto +;; Copyright (C) 2012 ~ 2022 Thierry Volpiatto ;; Package-Requires: ((helm "1.7.8")) -;; Package-Version: 20220418.657 -;; Package-Commit: c6494a462e605d6fd16c9355e32685c3e0085589 +;; Package-Version: 20220727.505 +;; Package-Commit: 9d91c25c7d1776d137fd126f241d0272b6e5f90e ;; 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 @@ -32,6 +32,12 @@ (defvaralias 'helm-c-source-ls-git-status 'helm-source-ls-git-status) (make-obsolete-variable 'helm-c-source-ls-git-status 'helm-source-ls-git-status "1.5.1") +;; Now the git-grep command is defined in helm-grep.el, +;; alias it for backward compatibility. +(defvar helm-ls-git-grep-command) +(defvaralias 'helm-ls-git-grep-command 'helm-grep-git-grep-command) +(make-obsolete-variable 'helm-ls-git-grep-command 'helm-grep-git-grep-command "1.8.0") + (defvar server-clients) (declare-function helm-comp-read "ext:helm-mode.el") (declare-function server-running-p "server.el") @@ -60,8 +66,7 @@ It can be build explicitly with function (defcustom helm-ls-git-show-abs-or-relative 'relative "Show full path or relative path to repo when using `helm-ff-toggle-basename'. -Valid values are symbol 'absolute or 'relative (default)." - :group 'helm-ls-git +Valid values are symbol \\='absolute' or \\='relative' (default)." :type '(radio :tag "Show full path or relative path to Git repo when toggling" (const :tag "Show full path" absolute) (const :tag "Show relative path" relative))) @@ -71,12 +76,10 @@ Valid values are symbol 'absolute or 'relative (default)." If you want to use magit use `magit-status-setup-buffer' and not `magit-status' which is working only interactively." - :group 'helm-ls-git :type 'symbol) (defcustom helm-ls-git-fuzzy-match nil "Enable fuzzy matching in `helm-source-ls-git-status' and `helm-source-ls-git'." - :group 'helm-ls-git :set (lambda (var val) (set var val) (setq helm-source-ls-git nil @@ -84,12 +87,6 @@ If you want to use magit use `magit-status-setup-buffer' and not helm-source-ls-git-buffers nil)) :type 'boolean) -;; Now the git-grep command is defined in helm-grep.el, -;; alias it for backward compatibility. -(defvar helm-ls-git-grep-command) -(defvaralias 'helm-ls-git-grep-command 'helm-grep-git-grep-command) -(make-obsolete-variable 'helm-ls-git-grep-command 'helm-grep-git-grep-command "1.8.0") - (defcustom helm-ls-git-default-sources '(helm-source-ls-git-status helm-ls-git-branches-source helm-source-ls-git-buffers @@ -97,13 +94,11 @@ If you want to use magit use `magit-status-setup-buffer' and not helm-ls-git-stashes-source helm-ls-git-create-branch-source) "Default sources for `helm-ls-git-ls'." - :group 'helm-ls-git :type '(repeat symbol)) (defcustom helm-ls-git-format-glob-string "'%s'" "String to format globs in `helm-grep-get-file-extensions'. Glob are enclosed in single quotes by default." - :group 'helm-ls-git :type 'string) (defcustom helm-ls-git-ls-switches '("ls-files" "--full-name" "--") @@ -112,79 +107,86 @@ To see files in submodules add the option \"--recurse-submodules\". If you have problems displaying unicode filenames use \'(\"-c\" \"core.quotePath=false\" \"ls-files\" \"--full-name\" \"--\"). See Issue #52." - :type '(repeat string) - :group 'helm-ls-git) + :type '(repeat string)) (defcustom helm-ls-git-auto-checkout nil "Stash automatically uncommited changes before checking out a branch." - :type 'boolean - :group 'helm-ls-git) + :type 'boolean) (defcustom helm-ls-git-log-max-commits "100" - "Max number of commits to show in git log (git log -n option)." - :type 'string - :group 'helm-ls-git) + "Max number of commits to show in git log (git log -n option). +NOTE: This reflects the number of candidates fetched and stored, not +the number of candidates displayed which is relative to +`helm-candidate-number-limit'. IOW if `helm-candidate-number-limit' +== 500 and `helm-ls-git-log-max-commits' == 600, only 500 candidates +will be displayed but if you search for a candidate which is in the +range 500/600 you will find it." + :type 'string) (defcustom helm-ls-git-delete-branch-on-remote nil "Delete remote branch without asking when non nil. This happen only when deleting a remote branch e.g. remotes/origin/foo." - :type 'boolean - :group 'helm-ls-git) + :type 'boolean) + +(defcustom helm-ls-git-auto-refresh-at-eob t + "Increase git log by `window-height' lines when non nil. +When non nil this disable `helm-move-to-line-cycle-in-source'." + :type 'boolean) + +(defgroup helm-ls-git-faces nil + "Customize the appearance of helm-files." + :prefix "helm-ls-git-" + :group 'helm-ls-git + :group 'helm-faces) + (defface helm-ls-git-modified-not-staged-face '((t :foreground "yellow")) - "Files which are modified but not yet staged." - :group 'helm-ls-git) + "Files which are modified but not yet staged.") (defface helm-ls-git-modified-and-staged-face '((t :foreground "Goldenrod")) - "Files which are modified and already staged." - :group 'helm-ls-git) + "Files which are modified and already staged.") (defface helm-ls-git-renamed-modified-face '((t :foreground "Goldenrod")) - "Files which are renamed or renamed and modified." - :group 'helm-ls-git) + "Files which are renamed or renamed and modified.") (defface helm-ls-git-untracked-face '((t :foreground "red")) - "Files which are not yet tracked by git." - :group 'helm-ls-git) + "Files which are not yet tracked by git.") (defface helm-ls-git-added-copied-face '((t :foreground "green")) - "Files which are newly added or copied." - :group 'helm-ls-git) + "Files which are newly added or copied.") (defface helm-ls-git-added-modified-face '((t :foreground "blue")) - "Files which are newly added and have unstaged modifications." - :group 'helm-ls-git) + "Files which are newly added and have unstaged modifications.") (defface helm-ls-git-deleted-not-staged-face '((t :foreground "Darkgoldenrod3")) - "Files which are deleted but not staged." - :group 'helm-ls-git) + "Files which are deleted but not staged.") (defface helm-ls-git-deleted-and-staged-face '((t :foreground "DimGray")) - "Files which are deleted and staged." - :group 'helm-ls-git) + "Files which are deleted and staged.") (defface helm-ls-git-conflict-face '((t :foreground "MediumVioletRed")) - "Files which contain rebase/merge conflicts." - :group 'helm-ls-git) + "Files which contain rebase/merge conflicts.") (defface helm-ls-git-branches-current '((t :foreground "gold")) - "Color of the start prefixing current branch." - :group 'helm-ls-git) + "Color of the star prefixing current branch.") (defface helm-ls-git-branches-name '((t :foreground "red")) - "Color of branches names." - :group 'helm-ls-git) + "Color of branches names.") + +(defface helm-ls-git-branches-name-current + '((t :foreground "green")) + "Color of current branch name.") (defvar helm-ls-git-map @@ -238,26 +240,86 @@ You can start with `helm-ls-git' but you can also use the generic a git project (actually supported backends are git and hg though helm-ls-hg is no more maintained). -*** You may want to use magit as git status command +*** Git status command By default helm-ls-git is using emacs `vc-dir' as `helm-ls-git-status-command', -perhaps you want to use something better like `magit-status' ? +but perhaps you want to use something better like `magit-status'. + +However helm-ls-git provides most of what you need to basically +manage your git repo so you may not need to use another tool, +here an overview of its features: + +- Status of modified files +- List project branches +- List project files +- List project buffers +- List of Stashs +- Git log for each branches +- Create a new branch from current one +- Commit your changes from status source +- Rebase interactively +- Amend +- Diffs +- Pull and fetch +- Push +- Stash +- Revert +- Reset +- Format patches +- Git AM +- Cherry pick + +etc... + +Of course all these features are not enhanced as what you could +find in a Git specialized tool like Magit but it may fit most of +your needs. *** Git log From branches source, you can launch git log. With a numeric -prefix arg specify the number of commits to show. Once you are -in Git log you can specify with 2 marked candidates range of -commits, specifying more than two marked candidate for actions -accepting ranges will fail. When specifying a range of commits, -the top commit will be included in range whereas the bottom -commit will not be included, e.g. if you mark commit-2 and -commit-5, and use the format-patch action, git will make -01-commit-4.patch, 02-commit-3.patch, and 03-commit-2.patch files -taking care of naming files in the reverse order for applying -patches later, commit-5 beeing excluded. +prefix arg specify the number of commits to show, once you are in +git log and you want more commits, use a numeric prefix arg with +\\\\[helm-refresh] to specify the number of commits to show. -Persistent action in git log is to show diff of commits, if you +When scrolling down with an empty pattern, helm can increase +automatically the number of candidates displayed when you reach +end of buffer if `helm-ls-git-auto-refresh-at-eob' is non nil. + +NOTE: When searching in git log, Helm search in the candidates +computed initially, this mean that when you have 100 candidates +displayed (see `helm-ls-git-log-max-commits') and you search for +a commit containing \"foo\", this commit will not be found if it +is located in the 101 commit which is not displayed. So if you +don't find something you are looking for, increase the number of +commits with \\\\[universal-argument] \\\\[helm-refresh]. + +**** Specify a range of commits + +Once you are in Git log you can specify with 2 marked +candidates a range of commits, specifying more than two marked +candidate for actions accepting only ranges will fail. When +specifying a range of commits, the top commit will be included in +range whereas the bottom commit will not be included, e.g. if you +mark commit-2 and commit-5, and use the format-patch action, git +will make 01-commit-4.patch, 02-commit-3.patch, and +03-commit-2.patch files taking care of naming files in the +reverse order for applying patches later, commit-5 beeing +excluded. + +NOTE: For commodity, commits are specified as short hash for all actions, witch +may clash if more than one commit have the same short ID (rare +but may happen), you should have an error in such case. + +**** Apply patches from one branch to current + +You can apply patches from one branch to current +branch using git AM action. +Patches are specified as a range of commits, see [[Specify a range of commits][Specify a range of commits]]. + +**** Persistent action in git log + +Persistent action in git log shows diff of selected commit, if you want to always show diff while moving from one commit to the other use follow-mode (C-c C-f). @@ -272,6 +334,10 @@ major-mode `helm-ls-git-commmit-mode' which provide following commands: |\\[helm-ls-git-server-edit]|Exit when done |\\[helm-ls-git-server-edit-abort]|Abort +If you want to specify another author, use a prefix arg when +calling commit action, you will be prompted for author name and +email. + NOTE: This mode is based on diff-mode, this to show a colorized diff of your commit, you can use any regular emacs editing commands from there. @@ -469,8 +535,6 @@ See docstring of `helm-ls-git-ls-switches'. "Git grep files (`C-u' only current directory)" 'helm-ls-git-grep "Gid" 'helm-ff-gid - "Search in Git log (C-u show patch)" - 'helm-ls-git-search-log "Switch to shell" 'helm-ls-git-switch-to-shell) 1)) @@ -565,47 +629,93 @@ See docstring of `helm-ls-git-ls-switches'. ;;; Git log ;; -(defun helm-ls-git-search-log (_candidate) - (let* ((query (helm-read-string "Search log: ")) - (coms (if helm-current-prefix-arg - (list "log" "-p" "--grep" query) - (list "log" "--grep" query)))) - (with-current-buffer (get-buffer-create "*helm ls log*") - (set (make-local-variable 'buffer-read-only) nil) - (erase-buffer) - (apply #'process-file "git" nil (list t nil) nil coms))) - (pop-to-buffer "*helm ls log*") - (goto-char (point-min)) - (diff-mode)) +(defvar helm-ls-git-log--last-log "" + "Cache for git log during the helm-ls-git-log session.") +(defvar helm-ls-git-log--last-number-commits "0" + "The number of commits actually displayed in this session.") +(defvar helm-ls-git-log--is-full nil) + +(defun helm-ls-git-auto-refresh-and-scroll () + "Increase git log by `window-height' lines." + (with-helm-window + (let ((wlines (window-height))) + (when (and (helm-end-of-source-p) + (string= helm-pattern "") + (eq this-command 'helm-next-line)) + (let ((current-prefix-arg wlines)) + (with-helm-after-update-hook + (setq unread-command-events nil)) + (helm-force-update)))))) (defun helm-ls-git-log (&optional branch num) - (when (string-match "->" branch) + "Run git log branch -n num and return the resulting string." + (when (and branch (string-match "->" branch)) (setq branch (car (last (split-string branch "->"))))) - (let* ((commits-number (if num - (number-to-string num) + (let* ((last-number-commits (string-to-number + helm-ls-git-log--last-number-commits)) + (commits-number (if num + (number-to-string + (if (> num last-number-commits) + (- num last-number-commits) + num)) helm-ls-git-log-max-commits)) (switches `("log" "--color" "--date=local" "--pretty=format:%C(yellow)%h%Creset \ %C(green)%ad%Creset %<(60,trunc)%s %Cred%an%Creset %C(auto)%d%Creset" "-n" ,commits-number - ,(or branch "")))) - (with-helm-default-directory (helm-ls-git-root-dir) - (with-output-to-string - (with-current-buffer standard-output - (apply #'process-file "git" nil t nil switches)))))) + "--skip" ,(helm-stringify + helm-ls-git-log--last-number-commits) + ,(or branch ""))) + output) + (unless helm-ls-git-log--is-full + (setq helm-ls-git-log--last-number-commits + (number-to-string + (+ last-number-commits + (string-to-number commits-number)))) + (helm-set-attr 'candidate-number-limit + (string-to-number helm-ls-git-log--last-number-commits)) + (message "Git log on `%s' updating to `%s' commits..." + branch helm-ls-git-log--last-number-commits) + (with-helm-default-directory (helm-ls-git-root-dir) + (setq helm-ls-git-log--last-log + (concat helm-ls-git-log--last-log + ;; Avoid adding a newline at first run. + (unless (zerop last-number-commits) "\n") + (setq output + (with-output-to-string + (with-current-buffer standard-output + (apply #'process-file "git" nil t nil switches))))))) + (when (and (stringp output) (string= output "")) + (setq helm-ls-git-log--is-full t))) + (if helm-ls-git-log--is-full + (message "No more commits on `%s' branch" branch) + (message "Git log on `%s' updating to `%s' commits done" + branch helm-ls-git-log--last-number-commits)) + helm-ls-git-log--last-log)) (defun helm-ls-git-show-log (branch) - (let* ((name (replace-regexp-in-string "[ *]" "" branch)) - (str (helm-ls-git-log name (helm-aif helm-current-prefix-arg - (prefix-numeric-value it))))) + (let ((name (replace-regexp-in-string "[ *]" "" branch)) + ;; Use helm-current-prefix-arg only on first call + ;; of init function. + (prefarg helm-current-prefix-arg)) (when (buffer-live-p "*git log diff*") (kill-buffer "*git log diff*")) (helm :sources (helm-build-in-buffer-source "Git log" :header-name (lambda (sname) (format "%s (%s)" sname name)) - :data str + :init (lambda () + (helm-init-candidates-in-buffer 'global + (helm-ls-git-log name (helm-aif (or prefarg + ;; for force-update. + current-prefix-arg) + (prefix-numeric-value it)))) + (setq prefarg nil)) :get-line 'buffer-substring :marked-with-props 'withprop + :cleanup (lambda () + (setq helm-ls-git-log--last-log "" + helm-ls-git-log--last-number-commits "0" + helm-ls-git-log--is-full nil)) :help-message 'helm-ls-git-help-message :action '(("Show commit" . helm-ls-git-log-show-commit) ("Find file at rev" . helm-ls-git-log-find-file) @@ -613,11 +723,9 @@ See docstring of `helm-ls-git-ls-switches'. helm-ls-git-log-kill-short-hash) ("Kill rev as long hash" . helm-ls-git-log-kill-long-hash) - ("Kill rev as " . - helm-ls-git-log-kill-rev) ("Cherry-pick" . helm-ls-git-log-cherry-pick) - ("Format patches" . helm-ls-git-log-format-patch) - ("Git am" . helm-ls-git-log-am) + ("Format patches (range between 2 marked)" . helm-ls-git-log-format-patch) + ("Git am (range between 2 marked)" . helm-ls-git-log-am) ("Git interactive rebase" . helm-ls-git-log-interactive-rebase) ("Hard reset" . helm-ls-git-log-hard-reset) ("Soft reset" . helm-ls-git-log-soft-reset) @@ -625,13 +733,12 @@ See docstring of `helm-ls-git-ls-switches'. :candidate-transformer (lambda (candidates) (cl-loop for c in candidates - for count from 0 - for cand = (ansi-color-apply c) - collect (propertize - cand 'rev (if (zerop count) - name - (format "%s~%s" name count))))) + collect (ansi-color-apply c))) :group 'helm-ls-git) + :move-selection-before-hook (and helm-ls-git-auto-refresh-at-eob + 'helm-ls-git-auto-refresh-and-scroll) + :move-to-line-cycle-in-source (unless helm-ls-git-auto-refresh-at-eob + (default-value 'helm-move-to-line-cycle-in-source)) :buffer "*helm-ls-git log*"))) (defun helm-ls-git-log-show-commit-1 (candidate) @@ -658,26 +765,15 @@ See docstring of `helm-ls-git-ls-switches'. (defun helm-ls-git-log-get-long-hash (&optional kill) (with-helm-buffer - (let (str) - (helm-aif (get-text-property - 2 'rev - (helm-get-selection nil 'withprop)) - (setq str - (replace-regexp-in-string - "\n" "" - (shell-command-to-string - (format "git rev-parse --default %s %s" - (replace-regexp-in-string - "~[0-9]+" "" it) - it))))) - (when str - (if kill (kill-new str) str))))) - -(defun helm-ls-git-log-kill-rev (_candidate) - (helm-aif (get-text-property - 2 'rev - (helm-get-selection nil 'withprop)) - (kill-new it))) + (let* ((cand (helm-get-selection nil 'withprop)) + (short-hash (car (split-string cand))) + str) + (setq str + (replace-regexp-in-string + "\n" "" + (shell-command-to-string + (format "git rev-parse --default %s" short-hash)))) + (if kill (kill-new str) str)))) (defun helm-ls-git-log-format-patch (_candidate) (helm-ls-git-log-format-patch-1)) @@ -687,7 +783,7 @@ See docstring of `helm-ls-git-ls-switches'. (defun helm-ls-git-log-format-patch-1 (&optional am) (let ((commits (cl-loop for c in (helm-marked-candidates) - collect (get-text-property 1 'rev c))) + collect (car (split-string c)))) range switches) (cond ((= 2 (length commits)) ;; Using "..." makes a range from top marked (included) to @@ -717,7 +813,7 @@ See docstring of `helm-ls-git-ls-switches'. (apply #'process-file "git" nil "*git format-patch*" nil switches))))) (defun helm-ls-git-log-reset-1 (hard-or-soft) - (let ((rev (get-text-property 1 'rev (helm-get-selection nil 'withprop))) + (let ((rev (car (split-string (helm-get-selection nil 'withprop)))) (arg (cl-case hard-or-soft (hard "--hard") (soft "--soft")))) @@ -736,13 +832,13 @@ See docstring of `helm-ls-git-ls-switches'. (helm-ls-git-log-reset-1 'soft)) (defun helm-ls-git-log-revert (_candidate) - (let ((rev (get-text-property 1 'rev (helm-get-selection nil 'withprop)))) + (let ((rev (car (split-string (helm-get-selection nil 'withprop))))) (helm-ls-git-with-editor "revert" rev))) (defun helm-ls-git-log-revert-continue (_candidate) (helm-ls-git-with-editor "revert" "--continue")) -(defun helm-ls-git-revert-abort (_candidate) +(defun helm-ls-git-log-revert-abort (_candidate) (with-helm-default-directory (helm-default-directory) (process-file "git" nil nil nil "revert" "--abort"))) @@ -754,7 +850,7 @@ See docstring of `helm-ls-git-ls-switches'. (defun helm-ls-git-log-find-file (_candidate) (with-helm-default-directory (helm-default-directory) - (let* ((rev (get-text-property 1 'rev (helm-get-selection nil 'withprop))) + (let* ((rev (car (split-string (helm-get-selection nil 'withprop)))) (file (helm :sources (helm-build-in-buffer-source "Git cat-file" :data (helm-ls-git-list-files)) :buffer "*helm-ls-git cat-file*")) @@ -774,7 +870,7 @@ See docstring of `helm-ls-git-ls-switches'. (defun helm-ls-git-log-cherry-pick (_candidate) (let* ((commits (cl-loop for c in (helm-marked-candidates) - collect (get-text-property 1 'rev c) into revs + collect (car (split-string c)) into revs finally return (sort revs #'string-greaterp)))) (with-helm-default-directory (helm-ls-git-root-dir (helm-default-directory)) @@ -974,7 +1070,7 @@ object will be passed git rebase i.e. git rebase -i ." (propertize (match-string 1 c) 'face 'helm-ls-git-branches-current) (propertize (match-string 2 c) - 'face 'helm-ls-git-branches-name) + 'face 'helm-ls-git-branches-name-current) (make-string (- maxlen (length c)) ? ) log) (format "%s: %s%s" @@ -985,20 +1081,25 @@ object will be passed git rebase i.e. git rebase -i ." (defun helm-ls-git-push (_candidate) (with-helm-default-directory (helm-default-directory) - (message "Pushing changes on remote...") - (let ((proc (start-file-process - "git" "*helm-ls-git push*" "git" "push" "origin" "HEAD"))) - (set-process-sentinel - proc (lambda (_process event) - (if (string= event "finished\n") - (message "Pushing changes on remote done") - (error "Failed to push on remote"))))))) + (let ((branch (helm-ls-git--branch)) + pr tm) + (when (y-or-n-p (format "Really push branch `%s' on remote ?" branch)) + (setq pr (make-progress-reporter + (format "Pushing branch `%s' on remote..." branch)) + tm (run-at-time 1 0.1 #'progress-reporter-update pr)) + (let ((proc (start-file-process + "git" "*helm-ls-git push*" "git" "push" "origin" "HEAD"))) + (set-process-sentinel + proc (lambda (_process event) + (if (string= event "finished\n") + (progress-reporter-done pr) + (message "Failed to push branch `%s' on remote" branch)) + (cancel-timer tm)))))))) (defun helm-ls-git-run-push () (interactive) (with-helm-alive-p - (when (y-or-n-p "Push on remote ?") - (helm-exit-and-execute-action #'helm-ls-git-push)))) + (helm-exit-and-execute-action #'helm-ls-git-push))) (put 'helm-ls-git-run-push 'no-helm-mx t) (defun helm-ls-git-remotes () @@ -1011,6 +1112,7 @@ object will be passed git rebase i.e. git rebase -i ." (with-helm-default-directory (helm-default-directory) (let* ((remote "origin") (pcommand (capitalize command)) + (branch (helm-ls-git--branch)) ;; A `C-g' in helm-comp-read will quit function as well. (switches (if current-prefix-arg (append (list command) @@ -1022,23 +1124,28 @@ object will be passed git rebase i.e. git rebase -i ." (helm-ls-git-remotes) "\n") :allow-nest t))) - (list (helm-ls-git--branch))) + (list branch)) (append (list command) args))) + (pr (make-progress-reporter + (format "%sing from `%s/%s'..." pcommand remote branch))) + (tm (run-at-time 1 0.1 (lambda () (progress-reporter-update pr)))) process-connection-type proc) (setq proc (apply #'helm-ls-git-with-editor switches)) (with-current-buffer (process-buffer proc) (erase-buffer)) - (message "%sing from `%s'..." pcommand remote) (set-process-filter proc 'helm-ls-git--filter-process) (save-selected-window (display-buffer (process-buffer proc))) (set-process-sentinel - proc (lambda (_process event) - (if (string= event "finished\n") - (progn (message "%sing from %s done" pcommand remote) - (when helm-alive-p - (with-helm-window (helm-force-update "^\\*")))) - (error "Failed %sing from %s" command remote))))))) + proc (lambda (process event) + (let ((status (process-exit-status process))) + (if (string= event "finished\n") + (progn (progress-reporter-done pr) + (when helm-alive-p + (with-helm-window (helm-force-update "^\\*")))) + (message "Failed %sing from %s: Process exited with code %s" + command remote status)) + (and tm (cancel-timer tm)))))))) (defun helm-ls-git--filter-process (proc string) (when (buffer-live-p (process-buffer proc)) @@ -1096,20 +1203,43 @@ object will be passed git rebase i.e. git rebase -i ." (helm-init-candidates-in-buffer 'global data))) :candidate-transformer 'helm-ls-git-branches-transformer :action-transformer (lambda (actions candidate) - (if (not (string-match "\\`[*]" candidate)) - (append - '(("Checkout" . helm-ls-git-checkout) - ("Delete branche(s)" . helm-ls-git-delete-marked-branches) - ("Merge in current" . - helm-ls-git-branches-merge) - ("Rebase in current" . - helm-ls-git-branch-rebase)) - actions) - (helm-append-at-nth - actions - '(("Git amend" . helm-ls-git-amend-commit) - ("Git push (C-c P)" . helm-ls-git-push)) - 2))) + (cond ((string-match "\\`[*] detached" candidate) + (append + actions + '(("Git rebase continue" . + helm-ls-git-rebase-continue) + ("Git cherry-pick continue" . + helm-ls-git-cherry-pick-continue) + ("Git AM continue" . + helm-ls-git-am-continue) + ("Git merge continue" . + helm-ls-git-merge-continue) + ("Git revert continue" . + helm-ls-git-log-revert-continue) + ("Git cherry-pick abort" . + helm-ls-git-cherry-pick-abort) + ("Git rebase abort" . + helm-ls-git-rebase-abort) + ("Git AM abort" . + helm-ls-git-am-abort) + ("Git merge abort" . + helm-ls-git-merge-abort) + ("Git revert abort" . + helm-ls-git-log-revert-abort)))) + ((not (string-match "\\`[*]" candidate)) + (append + '(("Checkout" . helm-ls-git-checkout) + ("Delete branche(s)" . helm-ls-git-delete-marked-branches) + ("Merge in current" . + helm-ls-git-branches-merge) + ("Rebase in current" . + helm-ls-git-branch-rebase)) + actions)) + (t (helm-append-at-nth + actions + '(("Git amend" . helm-ls-git-amend-commit) + ("Git push (C-c P)" . helm-ls-git-push)) + 2)))) :help-message 'helm-ls-git-help-message :cleanup (lambda () (setq helm-ls-git-branches-show-all nil)) :persistent-help "Checkout" @@ -1241,16 +1371,18 @@ object will be passed git rebase i.e. git rebase -i ." (when (and helm-ls-git-log-file (file-exists-p helm-ls-git-log-file)) (delete-file helm-ls-git-log-file)) - (helm-aif (helm-ls-git-root-dir) - (with-helm-default-directory it - (with-output-to-string - (with-current-buffer standard-output - (apply #'process-file - "git" - nil (list t helm-ls-git-log-file) nil - (if ignore-untracked - (list "status" "-uno" "--porcelain") - (list "status" "--porcelain")))))))) + (let ((process-environment + (cons "GIT_OPTIONAL_LOCKS=0" process-environment))) + (helm-aif (helm-ls-git-root-dir) + (with-helm-default-directory it + (with-output-to-string + (with-current-buffer standard-output + (apply #'process-file + "git" + nil (list t helm-ls-git-log-file) nil + (if ignore-untracked + (list "status" "-uno" "--porcelain") + (list "status" "--porcelain"))))))))) (defun helm-ls-git-status-transformer (candidates _source) (cl-loop with root = (helm-ls-git-root-dir) @@ -1482,7 +1614,11 @@ object will be passed git rebase i.e. git rebase -i ." (defun helm-ls-git-run-stage-marked-and-commit () (interactive) (with-helm-alive-p - (helm-exit-and-execute-action 'helm-ls-git-stage-marked-and-commit))) + (condition-case _err + ;; Fail when helm-ls-git-stage-marked-and-commit is not in + ;; action list because file is already staged. + (helm-exit-and-execute-action 'helm-ls-git-stage-marked-and-commit) + (error (helm-exit-and-execute-action 'helm-ls-git-commit) nil)))) (put 'helm-ls-git-run-stage-marked-and-commit 'no-helm-mx t) (defun helm-ls-git-stage-marked-and-extend-commit (candidate) @@ -1527,6 +1663,9 @@ object will be passed git rebase i.e. git rebase -i ." ;;;###autoload (add-to-list 'auto-mode-alist '("/COMMIT_EDITMSG$" . helm-ls-git-commit-mode)) +(defvar helm-ls-git-author-name-history nil) +(defvar helm-ls-git-author-email-history nil) + (defun helm-ls-git-with-editor (&rest args) "Binds GIT_EDITOR env var to emacsclient and run git with ARGS. Bound `default-directory' to the root dir of project determining value @@ -1537,7 +1676,13 @@ context i.e. use it in helm actions." (helm-ls-git-root-dir (helm-default-directory)))) (process-environment process-environment) - (bname (format "*helm-ls-git %s*" (car args)))) + (bname (format "*helm-ls-git %s*" (car args))) + (alt-auth (and helm-current-prefix-arg + (string= (car args) "commit") + (list (read-string "Author name: " + nil 'helm-ls-git-author-name-history) + (read-string "Author email: " + nil 'helm-ls-git-author-email-history))))) ;; It seems git once it knows GIT_EDITOR reuse the same value ;; along its whole process e.g. when squashing in a rebase ;; process, so even if the env setting goes away after initial @@ -1545,6 +1690,9 @@ context i.e. use it in helm actions." ;; commits. (when (get-buffer bname) (kill-buffer bname)) (push "GIT_EDITOR=emacsclient $@" process-environment) + (when (and alt-auth (not (member "" alt-auth))) + (push (format "GIT_AUTHOR_NAME=%s" (car alt-auth)) process-environment) + (push (format "GIT_AUTHOR_EMAIL=%s" (cadr alt-auth)) process-environment)) (unless (server-running-p) (server-start)) (apply #'start-file-process "git" bname "git" args))) diff --git a/code/elpa/helpful-20220412.421/helpful-pkg.el b/code/elpa/helpful-20220412.421/helpful-pkg.el deleted file mode 100644 index a1fbf95..0000000 --- a/code/elpa/helpful-20220412.421/helpful-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from helpful.el -*- no-byte-compile: t -*- -(define-package "helpful" "20220412.421" "A better *help* buffer" '((emacs "25") (dash "2.18.0") (s "1.11.0") (f "0.20.0") (elisp-refs "1.2")) :commit "c2729a236a84a1fbd3d184c163fbd10e0fd62077" :authors '(("Wilfred Hughes" . "me@wilfred.me.uk")) :maintainer '("Wilfred Hughes" . "me@wilfred.me.uk") :keywords '("help" "lisp") :url "https://github.com/Wilfred/helpful") diff --git a/code/elpa/helpful-20220412.421/helpful-autoloads.el b/code/elpa/helpful-20220704.1722/helpful-autoloads.el similarity index 100% rename from code/elpa/helpful-20220412.421/helpful-autoloads.el rename to code/elpa/helpful-20220704.1722/helpful-autoloads.el diff --git a/code/elpa/helpful-20220704.1722/helpful-pkg.el b/code/elpa/helpful-20220704.1722/helpful-pkg.el new file mode 100644 index 0000000..132b8e2 --- /dev/null +++ b/code/elpa/helpful-20220704.1722/helpful-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from helpful.el -*- no-byte-compile: t -*- +(define-package "helpful" "20220704.1722" "A better *help* buffer" '((emacs "25") (dash "2.18.0") (s "1.11.0") (f "0.20.0") (elisp-refs "1.2")) :commit "94a07d49a80f66f8ebc54a49a4b4f6899a65fbe3" :authors '(("Wilfred Hughes" . "me@wilfred.me.uk")) :maintainer '("Wilfred Hughes" . "me@wilfred.me.uk") :keywords '("help" "lisp") :url "https://github.com/Wilfred/helpful") diff --git a/code/elpa/helpful-20220412.421/helpful.el b/code/elpa/helpful-20220704.1722/helpful.el similarity index 99% rename from code/elpa/helpful-20220412.421/helpful.el rename to code/elpa/helpful-20220704.1722/helpful.el index 62fb989..2dbfecf 100644 --- a/code/elpa/helpful-20220412.421/helpful.el +++ b/code/elpa/helpful-20220704.1722/helpful.el @@ -1,13 +1,13 @@ ;;; helpful.el --- A better *help* buffer -*- lexical-binding: t; -*- -;; Copyright (C) 2017-2020 Wilfred Hughes +;; Copyright (C) 2017-2022 Wilfred Hughes ;; Author: Wilfred Hughes ;; URL: https://github.com/Wilfred/helpful -;; Package-Version: 20220412.421 -;; Package-Commit: c2729a236a84a1fbd3d184c163fbd10e0fd62077 +;; Package-Version: 20220704.1722 +;; Package-Commit: 94a07d49a80f66f8ebc54a49a4b4f6899a65fbe3 ;; Keywords: help, lisp -;; Version: 0.19 +;; Version: 0.20 ;; Package-Requires: ((emacs "25") (dash "2.18.0") (s "1.11.0") (f "0.20.0") (elisp-refs "1.2")) ;; This program is free software; you can redistribute it and/or modify @@ -1686,20 +1686,21 @@ POSITION-HEADS takes the form ((123 (defun foo)) (456 (defun bar)))." (defun helpful--primitive-p (sym callable-p) "Return t if SYM is defined in C." - (cond - ((and callable-p (helpful--advised-p sym)) - (subrp (helpful--without-advice sym))) - (callable-p - (and (not (and (fboundp 'subr-native-elisp-p) - (subr-native-elisp-p (indirect-function sym)))) - (subrp (indirect-function sym)))) - (t - (let ((filename (find-lisp-object-file-name sym 'defvar))) - (or (eq filename 'C-source) - (and (stringp filename) - (let ((ext (file-name-extension filename))) - (or (equal ext "c") - (equal ext "rs"))))))))) + (let ((subrp (if (fboundp 'subr-primitive-p) + #'subr-primitive-p + #'subrp))) + (cond + ((and callable-p (helpful--advised-p sym)) + (funcall subrp (helpful--without-advice sym))) + (callable-p + (funcall subrp (indirect-function sym))) + (t + (let ((filename (find-lisp-object-file-name sym 'defvar))) + (or (eq filename 'C-source) + (and (stringp filename) + (let ((ext (file-name-extension filename))) + (or (equal ext "c") + (equal ext "rs")))))))))) (defun helpful--sym-value (sym buf) "Return the value of SYM in BUF." diff --git a/code/elpa/lua-mode-20210809.1320/lua-mode-pkg.el b/code/elpa/lua-mode-20210809.1320/lua-mode-pkg.el deleted file mode 100644 index 6d48a53..0000000 --- a/code/elpa/lua-mode-20210809.1320/lua-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from lua-mode.el -*- no-byte-compile: t -*- -(define-package "lua-mode" "20210809.1320" "a major-mode for editing Lua scripts" '((emacs "24.3")) :commit "5a9bee8d5fc978dc64fcb677167417010321ba65" :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") :keywords '("languages" "processes" "tools") :url "https://immerrr.github.io/lua-mode") diff --git a/code/elpa/lua-mode-20210809.1320/lua-mode-autoloads.el b/code/elpa/lua-mode-20220801.503/lua-mode-autoloads.el similarity index 100% rename from code/elpa/lua-mode-20210809.1320/lua-mode-autoloads.el rename to code/elpa/lua-mode-20220801.503/lua-mode-autoloads.el diff --git a/code/elpa/lua-mode-20220801.503/lua-mode-pkg.el b/code/elpa/lua-mode-20220801.503/lua-mode-pkg.el new file mode 100644 index 0000000..9eec661 --- /dev/null +++ b/code/elpa/lua-mode-20220801.503/lua-mode-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from lua-mode.el -*- no-byte-compile: t -*- +(define-package "lua-mode" "20220801.503" "a major-mode for editing Lua scripts" '((emacs "24.3")) :commit "d17a00ca50aee197cd017d573b83367eb241cc44" :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") :keywords '("languages" "processes" "tools") :url "https://immerrr.github.io/lua-mode") diff --git a/code/elpa/lua-mode-20210809.1320/lua-mode.el b/code/elpa/lua-mode-20220801.503/lua-mode.el similarity index 99% rename from code/elpa/lua-mode-20210809.1320/lua-mode.el rename to code/elpa/lua-mode-20220801.503/lua-mode.el index d7bb7b6..d992721 100644 --- a/code/elpa/lua-mode-20210809.1320/lua-mode.el +++ b/code/elpa/lua-mode-20220801.503/lua-mode.el @@ -12,17 +12,17 @@ ;; Aaron Smith . ;; ;; URL: https://immerrr.github.io/lua-mode -;; Package-Version: 20210809.1320 -;; Package-Commit: 5a9bee8d5fc978dc64fcb677167417010321ba65 +;; Package-Version: 20220801.503 +;; Package-Commit: d17a00ca50aee197cd017d573b83367eb241cc44 ;; Version: 20210802 ;; Package-Requires: ((emacs "24.3")) ;; ;; This file is NOT part of Emacs. ;; -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License -;; as published by the Free Software Foundation; either version 2 -;; of the License, or (at your option) any later version. +;; 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 @@ -30,9 +30,7 @@ ;; 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, write to the Free Software -;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -;; MA 02110-1301, USA. +;; along with this program. If not, see . ;; Keywords: languages, processes, tools diff --git a/code/elpa/magit-20220425.1153/AUTHORS.md b/code/elpa/magit-20220803.2341/AUTHORS.md similarity index 95% rename from code/elpa/magit-20220425.1153/AUTHORS.md rename to code/elpa/magit-20220803.2341/AUTHORS.md index 8e55389..5eba575 100644 --- a/code/elpa/magit-20220425.1153/AUTHORS.md +++ b/code/elpa/magit-20220803.2341/AUTHORS.md @@ -1,42 +1,33 @@ -Authors -======= - The following people have contributed to Magit, including the libraries `git-commit.el`, `magit-popup.el`, and `with-editor.el` which are distributed as separate Elpa packages. -For statistics see https://magit.vc/stats/authors.html. +For statistics see https://magit.vc/stats/magit/authors.html. -Names below are sorted alphabetically. - -Author ------- +Authors +------- - Marius Vollmer - -Maintainer ----------- - - Jonas Bernoulli -Developers ----------- +Active Maintainers +------------------ +- Jonas Bernoulli - Kyle Meyer -- Noam Postavsky -Retired Maintainers and Developers ----------------------------------- +Former Maintainers +------------------ - Nicolas Dudebout +- Noam Postavsky - Peter J. Weisberg -- Pieter Praet - Phil Jackson - Rémi Vanicat - Yann Hodique -Contributors ------------- +All Contributors +---------------- - Aaron Culich - Aaron L. Zeng @@ -177,6 +168,7 @@ Contributors - Ivan Brennan - Jan Tatarik - Jasper St. Pierre +- Jean-Louis Giordano - Jeff Bellegarde - Jeff Dairiki - Jeremy Meng @@ -310,6 +302,7 @@ Contributors - René Stadler - Richard Kim - Robert Boone +- Robert Irelan - Robin Green - Roey Darwish Dror - Roger Crew diff --git a/code/elpa/magit-20220425.1153/LICENSE b/code/elpa/magit-20220803.2341/LICENSE similarity index 100% rename from code/elpa/magit-20220425.1153/LICENSE rename to code/elpa/magit-20220803.2341/LICENSE diff --git a/code/elpa/magit-20220425.1153/dir b/code/elpa/magit-20220803.2341/dir similarity index 100% rename from code/elpa/magit-20220425.1153/dir rename to code/elpa/magit-20220803.2341/dir diff --git a/code/elpa/magit-20220425.1153/git-rebase.el b/code/elpa/magit-20220803.2341/git-rebase.el similarity index 94% rename from code/elpa/magit-20220425.1153/git-rebase.el rename to code/elpa/magit-20220803.2341/git-rebase.el index 0feb9d0..61cdf37 100644 --- a/code/elpa/magit-20220425.1153/git-rebase.el +++ b/code/elpa/magit-20220803.2341/git-rebase.el @@ -157,8 +157,8 @@ (define-key map (kbd "b") #'git-rebase-break) (define-key map (kbd "e") #'git-rebase-edit) (define-key map (kbd "l") #'git-rebase-label) - (define-key map (kbd "MM") #'git-rebase-merge) - (define-key map (kbd "Mt") #'git-rebase-merge-toggle-editmsg) + (define-key map (kbd "M M") #'git-rebase-merge) + (define-key map (kbd "M t") #'git-rebase-merge-toggle-editmsg) (define-key map (kbd "m") #'git-rebase-edit) (define-key map (kbd "f") #'git-rebase-fixup) (define-key map (kbd "q") #'undefined) @@ -636,7 +636,7 @@ Like `undo' but works in read-only buffers." (undo arg))) (defun git-rebase--show-commit (&optional scroll) - (let ((disable-magit-save-buffers t)) + (let ((magit--disable-save-buffers t)) (save-excursion (goto-char (line-beginning-position)) (--if-let (with-slots (action-type target) (git-rebase-current-line) @@ -686,10 +686,10 @@ Like `forward-line' but go into the opposite direction." (define-derived-mode git-rebase-mode special-mode "Git Rebase" "Major mode for editing of a Git rebase file. -Rebase files are generated when you run 'git rebase -i' or run +Rebase files are generated when you run \"git rebase -i\" or run `magit-interactive-rebase'. They describe how Git should perform the rebase. See the documentation for git-rebase (e.g., by -running 'man git-rebase' at the command line) for details." +running \"man git-rebase\" at the command line) for details." :group 'git-rebase (setq comment-start (or (magit-get "core.commentChar") "#")) (setq git-rebase-comment-re (concat "^" (regexp-quote comment-start))) @@ -783,26 +783,39 @@ By default, this is the same except for the \"pick\" command." nil t)) (goto-char (line-beginning-position)) (pcase-dolist (`(,cmd . ,desc) git-rebase-command-descriptions) - (insert (format "%s %-8s %s\n" + (insert (format (propertize "%s %s %s\n" + 'font-lock-face 'font-lock-comment-face) comment-start - (substitute-command-keys (format "\\[%s]" cmd)) + (string-pad + (substitute-command-keys (format "\\[%s]" cmd)) 8) desc))) - (while (re-search-forward (concat git-rebase-comment-re - "\\( ?\\)\\([^\n,],\\) " - "\\([^\n ]+\\) ") - nil t) - (let ((cmd (intern (concat "git-rebase-" (match-string 3))))) - (if (not (fboundp cmd)) - (delete-region (line-beginning-position) (1+ (line-end-position))) - (replace-match " " t t nil 1) - (replace-match - (format "%-8s" - (mapconcat #'key-description - (--remove (eq (elt it 0) 'menu-bar) - (reverse (where-is-internal - cmd git-rebase-mode-map))) - ", ")) - t t nil 2)))))))) + (while (re-search-forward + (concat git-rebase-comment-re "\\(?:" + "\\( \\.? *\\)\\|" + "\\( +\\)\\([^\n,],\\) \\([^\n ]+\\) \\)") + nil t) + (if (match-string 1) + (replace-match (make-string 10 ?\s) t t nil 1) + (let ((cmd (intern (concat "git-rebase-" (match-string 4))))) + (if (not (fboundp cmd)) + (delete-region (line-beginning-position) + (1+ (line-end-position))) + (add-text-properties (line-beginning-position) + (1+ (line-end-position)) + '(font-lock-face font-lock-comment-face)) + (replace-match " " t t nil 2) + (replace-match + (string-pad + (mapconcat (lambda (key) + (save-match-data + (substitute-command-keys + (format "\\`%s'" (key-description key))))) + (cl-remove-if (lambda (key) (eq (elt key 0) 'menu-bar)) + (reverse (where-is-internal + cmd git-rebase-mode-map))) + ", ") + 8) + t t nil 3))))))))) (add-hook 'git-rebase-mode-hook #'git-rebase-mode-show-keybindings t) diff --git a/code/elpa/magit-20220425.1153/magit-apply.el b/code/elpa/magit-20220803.2341/magit-apply.el similarity index 95% rename from code/elpa/magit-20220425.1153/magit-apply.el rename to code/elpa/magit-20220803.2341/magit-apply.el index 7bc825e..bd18f78 100644 --- a/code/elpa/magit-20220425.1153/magit-apply.el +++ b/code/elpa/magit-20220803.2341/magit-apply.el @@ -47,9 +47,6 @@ (url &optional path name args)) (declare-function magit-submodule-read-name-for-path "magit-submodule" (path &optional prefer-short)) -(declare-function borg--maybe-absorb-gitdir "borg" (pkg)) -(declare-function borg--sort-submodule-sections "borg" (file)) -(declare-function borg-assimilate "borg" (package url &optional partially)) (defvar borg-user-emacs-directory) (cl-eval-when (compile load) @@ -106,9 +103,6 @@ is a member of `magit-post-stage-hook-commands'." :group 'magit-commands :type 'hook) -(defvar magit-post-stage-hook-commands - '(magit-stage magit-stage-file magit-stage-modified)) - (defcustom magit-post-unstage-hook nil "Hook run after unstaging changes. This hook is run by `magit-refresh' if `this-command' @@ -117,9 +111,6 @@ is a member of `magit-post-unstage-hook-commands'." :group 'magit-commands :type 'hook) -(defvar magit-post-unstage-hook-commands - '(magit-unstage magit-unstage-file magit-unstage-all)) - ;;; Commands ;;;; Apply @@ -368,27 +359,36 @@ ignored) files." (goto-char (oref (magit-get-section `((file . ,repo) (untracked) (status))) start)) - (let* ((topdir (magit-toplevel)) - (url (let ((default-directory - (file-name-as-directory (expand-file-name repo)))) - (or (magit-get "remote" (magit-get-some-remote) "url") - (concat (file-name-as-directory ".") repo)))) - (package - (and (equal (bound-and-true-p borg-user-emacs-directory) - topdir) - (file-name-nondirectory (directory-file-name repo))))) - (if (and package - (y-or-n-p (format "Also assimilate `%s' drone?" package))) - (borg-assimilate package url) - (magit-submodule-add-1 - url repo (magit-submodule-read-name-for-path repo package)) - (when package - (borg--sort-submodule-sections - (expand-file-name ".gitmodules" topdir)) - (let ((default-directory borg-user-emacs-directory)) - (borg--maybe-absorb-gitdir package))))))) + (when (and (fboundp 'borg-assimilate) + (fboundp 'borg--maybe-absorb-gitdir) + (fboundp 'borg--sort-submodule-sections)) + (let* ((topdir (magit-toplevel)) + (url (let ((default-directory + (file-name-as-directory (expand-file-name repo)))) + (or (magit-get "remote" (magit-get-some-remote) "url") + (concat (file-name-as-directory ".") repo)))) + (package + (and (equal borg-user-emacs-directory topdir) + (file-name-nondirectory (directory-file-name repo))))) + (if (and package + (y-or-n-p (format "Also assimilate `%s' drone?" package))) + (borg-assimilate package url) + (magit-submodule-add-1 + url repo (magit-submodule-read-name-for-path repo package)) + (when package + (borg--sort-submodule-sections + (expand-file-name ".gitmodules" topdir)) + (let ((default-directory borg-user-emacs-directory)) + (borg--maybe-absorb-gitdir package)))))))) (magit-wip-commit-after-apply files " after stage"))) +(defvar magit-post-stage-hook-commands + '(magit-stage magit-stage-file magit-stage-modified)) + +(defun magit-run-post-stage-hook () + (when (memq this-command magit-post-stage-hook-commands) + (magit-run-hook-with-benchmark 'magit-post-stage-hook))) + ;;;; Unstage (defun magit-unstage () @@ -460,6 +460,13 @@ without requiring confirmation." (magit-run-git "reset" "HEAD" "--" magit-buffer-diff-files) (magit-wip-commit-after-apply nil " after unstage")) +(defvar magit-post-unstage-hook-commands + '(magit-unstage magit-unstage-file magit-unstage-all)) + +(defun magit-run-post-unstage-hook () + (when (memq this-command magit-post-unstage-hook-commands) + (magit-run-hook-with-benchmark 'magit-post-unstage-hook))) + ;;;; Discard (defun magit-discard () diff --git a/code/elpa/magit-20220425.1153/magit-autoloads.el b/code/elpa/magit-20220803.2341/magit-autoloads.el similarity index 97% rename from code/elpa/magit-20220425.1153/magit-autoloads.el rename to code/elpa/magit-20220803.2341/magit-autoloads.el index 8eb6727..1d69161 100644 --- a/code/elpa/magit-20220425.1153/magit-autoloads.el +++ b/code/elpa/magit-20220803.2341/magit-autoloads.el @@ -17,10 +17,10 @@ instance with all nil values is returned." nil nil) (autoload 'git-rebase-mode "git-rebase" "\ Major mode for editing of a Git rebase file. -Rebase files are generated when you run 'git rebase -i' or run +Rebase files are generated when you run \"git rebase -i\" or run `magit-interactive-rebase'. They describe how Git should perform the rebase. See the documentation for git-rebase (e.g., by -running 'man git-rebase' at the command line) for details. +running \"man git-rebase\" at the command line) for details. \(fn)" t nil) @@ -299,22 +299,6 @@ bisect run'. (register-definition-prefixes "magit-blame" '("magit-")) -;;;*** - -;;;### (autoloads nil "magit-bookmark" "magit-bookmark.el" (0 0 0 -;;;;;; 0)) -;;; Generated autoloads from magit-bookmark.el - -(autoload 'magit--handle-bookmark "magit-bookmark" "\ -Open a bookmark created by `magit--make-bookmark'. -Call the `magit-*-setup-buffer' function of the the major-mode -with the variables' values as arguments, which were recorded by -`magit--make-bookmark'. Ignore `magit-display-buffer-function'. - -\(fn BOOKMARK)" nil nil) - -(register-definition-prefixes "magit-bookmark" '("magit--make-bookmark")) - ;;;*** ;;;### (autoloads nil "magit-branch" "magit-branch.el" (0 0 0 0)) @@ -732,15 +716,13 @@ Show changes that are being merged. While committing, show the changes that are about to be committed. While amending, invoking the command again toggles between showing just the new changes or all the changes that will -be committed. - -\(fn &optional ARGS)" t nil) +be committed." t nil) (autoload 'magit-diff-buffer-file "magit-diff" "\ Show diff for the blob or file visited in the current buffer. When the buffer visits a blob, then show the respective commit. -When the buffer visits a file, then show the differenced between +When the buffer visits a file, then show the differences between `HEAD' and the working tree. In both cases limit the diff to the file or blob." t nil) @@ -764,13 +746,25 @@ for a revision. ;;; Generated autoloads from magit-ediff.el (autoload 'magit-ediff "magit-ediff" nil) -(autoload 'magit-ediff-resolve "magit-ediff" "\ -Resolve outstanding conflicts in FILE using Ediff. -FILE has to be relative to the top directory of the repository. +(autoload 'magit-ediff-resolve-all "magit-ediff" "\ +Resolve all conflicts in the FILE at point using Ediff. -In the rare event that you want to manually resolve all -conflicts, including those already resolved by Git, use -`ediff-merge-revisions-with-ancestor'. +If there is no file at point or if it doesn't have any unmerged +changes, then prompt for a file. + +See info node `(magit) Ediffing' for more information about this +and alternative commands. + +\(fn FILE)" t nil) + +(autoload 'magit-ediff-resolve-rest "magit-ediff" "\ +Resolve outstanding conflicts in the FILE at point using Ediff. + +If there is no file at point or if it doesn't have any unmerged +changes, then prompt for a file. + +See info node `(magit) Ediffing' for more information about this +and alternative commands. \(fn FILE)" t nil) @@ -1366,9 +1360,9 @@ Show log for the definition at point. Show log for the merge of COMMIT into BRANCH. More precisely, find merge commit M that brought COMMIT into -BRANCH, and show the log of the range \"M^1..M\". If COMMIT is -directly on BRANCH, then show approximately twenty surrounding -commits instead. +BRANCH, and show the log of the range \"M^1..M\". If COMMIT is +directly on BRANCH, then show approximately +`magit-log-merged-commit-count' surrounding commits instead. This command requires git-when-merged, which is available from https://github.com/mhagger/git-when-merged. @@ -1493,7 +1487,7 @@ Abort the current merge operation. (autoload 'magit-info "magit-mode" "\ Visit the Magit manual." t nil) -(register-definition-prefixes "magit-mode" '("disable-magit-save-buffers" "magit-")) +(register-definition-prefixes "magit-mode" '("magit-")) ;;;*** @@ -1631,19 +1625,7 @@ Push a notes ref to another repository. \(fn REF REMOTE &optional ARGS)" t nil) (autoload 'magit-push-implicitly "magit-push" nil t) - -(autoload 'magit-push-to-remote "magit-push" "\ -Push to REMOTE without using an explicit refspec. -The REMOTE is read in the minibuffer. - -This command simply runs \"git push -v [ARGS] REMOTE\". ARGS -are the arguments specified in the popup buffer. No refspec -arguments are used. Instead the behavior depends on at least -these Git variables: `push.default', `remote.pushDefault', -`branch..pushRemote', `branch..remote', -`branch..merge', and `remote..push'. - -\(fn REMOTE ARGS)" t nil) + (autoload 'magit-push-to-remote "magit-push" nil t) (register-definition-prefixes "magit-push" '("magit-")) @@ -2225,7 +2207,7 @@ Prefix arguments have the same meaning as for `magit-status', and additionally cause the buffer to be refresh. To use this function instead of `magit-status', add this to your -init file: (global-set-key (kbd \"C-x g\") 'magit-status-quick)." t nil) +init file: (global-set-key (kbd \"C-x g\") \\='magit-status-quick)." t nil) (autoload 'magit-status-setup-buffer "magit-status" "\ @@ -2587,8 +2569,8 @@ Move WORKTREE to PATH. ;;;*** -;;;### (autoloads nil nil ("magit-core.el" "magit-pkg.el") (0 0 0 -;;;;;; 0)) +;;;### (autoloads nil nil ("magit-bookmark.el" "magit-core.el" "magit-pkg.el") +;;;;;; (0 0 0 0)) ;;;*** diff --git a/code/elpa/magit-20220425.1153/magit-autorevert.el b/code/elpa/magit-20220803.2341/magit-autorevert.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-autorevert.el rename to code/elpa/magit-20220803.2341/magit-autorevert.el diff --git a/code/elpa/magit-20220425.1153/magit-base.el b/code/elpa/magit-20220803.2341/magit-base.el similarity index 97% rename from code/elpa/magit-20220425.1153/magit-base.el rename to code/elpa/magit-20220803.2341/magit-base.el index 0538f52..25a4b61 100644 --- a/code/elpa/magit-20220425.1153/magit-base.el +++ b/code/elpa/magit-20220803.2341/magit-base.el @@ -57,8 +57,6 @@ (eval-when-compile (require 'which-func)) (declare-function which-function "which-func" ()) -(defvar magit-wip-before-change-mode) - ;;; Options (defcustom magit-completing-read-function #'magit-builtin-completing-read @@ -85,6 +83,8 @@ alphabetical order, depending on your version of Ivy." (defcustom magit-dwim-selection '((magit-stash-apply nil t) + (magit-ediff-resolve-all nil t) + (magit-ediff-resolve-rest nil t) (magit-stash-branch nil t) (magit-stash-branch-here nil t) (magit-stash-format-patch nil t) @@ -98,6 +98,7 @@ alphabetical order, depending on your version of Ivy." (forge-browse-pullreq nil t) (forge-edit-topic-title nil t) (forge-edit-topic-state nil t) + (forge-edit-topic-draft nil t) (forge-edit-topic-milestone nil t) (forge-edit-topic-labels nil t) (forge-edit-topic-marks nil t) @@ -669,25 +670,10 @@ third-party completion frameworks." ;; when reading commit ranges. 798aff564 (helm-crm-default-separator (if no-split nil (bound-and-true-p helm-crm-default-separator))) - (values - (if (and no-split - (advice-member-p 'consult-completing-read-multiple - 'completing-read-multiple)) - ;; Our NO-SPLIT hack is not compatible with `CONSULT's - ;; implemenation so fall back to the original function. - ;; #4437 - (unwind-protect - (progn - (advice-remove 'completing-read-multiple - 'consult-completing-read-multiple) - (completing-read-multiple - prompt table predicate require-match initial-input - hist def inherit-input-method)) - (advice-add 'completing-read-multiple :override - 'consult-completing-read-multiple)) - (completing-read-multiple - prompt table predicate require-match initial-input - hist def inherit-input-method)))) + ;; And now, the moment we have all been waiting for... + (values (completing-read-multiple + prompt table predicate require-match initial-input + hist def inherit-input-method))) (if no-split input values))) (defun magit-ido-completing-read @@ -876,6 +862,7 @@ See info node `(magit)Debugging Tools' for more information." ((not (equal lib "libgit")) (error "Cannot find mandatory dependency %s" lib))))) '(;; Like `LOAD_PATH' in `default.mk'. + "compat" "dash" "libgit" "transient" @@ -1114,12 +1101,12 @@ setting `imenu--index-alist' to nil before calling that function." (defun magit-custom-initialize-reset (symbol exp) "Initialize SYMBOL based on EXP. -Set the symbol, using `set-default' (unlike -`custom-initialize-reset' which uses the `:set' function if any.) -The value is either the symbol's current value - (as obtained using the `:get' function), if any, -or the value in the symbol's `saved-value' property if any, -or (last of all) the value of EXP." +Set the value of the variable SYMBOL, using `set-default' +\(unlike `custom-initialize-reset', which uses the `:set' +function if any). The value is either the symbol's current +value (as obtained using the `:get' function), if any, or +the value in the symbol's `saved-value' property if any, or +\(last of all) the value of EXP." (set-default-toplevel-value symbol (condition-case nil diff --git a/code/elpa/magit-20220425.1153/magit-bisect.el b/code/elpa/magit-20220803.2341/magit-bisect.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-bisect.el rename to code/elpa/magit-20220803.2341/magit-bisect.el diff --git a/code/elpa/magit-20220425.1153/magit-blame.el b/code/elpa/magit-20220803.2341/magit-blame.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-blame.el rename to code/elpa/magit-20220803.2341/magit-blame.el index 83e44f1..d27f84f 100644 --- a/code/elpa/magit-20220425.1153/magit-blame.el +++ b/code/elpa/magit-20220803.2341/magit-blame.el @@ -223,6 +223,20 @@ Also see option `magit-blame-styles'." "Face used for dates when blaming." :group 'magit-faces) +;;; Variables + +(defvar-local magit-blame-buffer-read-only nil) +(defvar-local magit-blame-cache nil) +(defvar-local magit-blame-disabled-modes nil) +(defvar-local magit-blame-process nil) +(defvar-local magit-blame-recursive-p nil) +(defvar-local magit-blame-type nil) +(defvar-local magit-blame-separator nil) +(defvar-local magit-blame-previous-chunk nil) + +(defvar-local magit-blame--make-margin-overlays nil) +(defvar-local magit-blame--style nil) + ;;; Chunks (defclass magit-blame-chunk () @@ -255,7 +269,10 @@ Also see option `magit-blame-styles'." (magit-blame-arguments)) "-L" line rev "--" file) (goto-char (point-min)) - (car (magit-blame--parse-chunk type))))) + (if (eobp) + (unless noerror + (error "Cannot get blame chunk at eob")) + (car (magit-blame--parse-chunk type)))))) (noerror nil) (t (error "Buffer does not visit a tracked file"))))))) @@ -301,23 +318,6 @@ in `magit-blame-read-only-mode-map' instead.") "Keymap for `magit-blame-read-only-mode'.") ;;; Modes -;;;; Variables - -(defvar-local magit-blame-buffer-read-only nil) -(defvar-local magit-blame-cache nil) -(defvar-local magit-blame-disabled-modes nil) -(defvar-local magit-blame-process nil) -(defvar-local magit-blame-recursive-p nil) -(defvar-local magit-blame-type nil) -(defvar-local magit-blame-separator nil) -(defvar-local magit-blame-previous-chunk nil) - -(defvar-local magit-blame--make-margin-overlays nil) -(defvar-local magit-blame--style nil) - -(defsubst magit-blame--style-get (key) - (cdr (assoc key (cdr magit-blame--style)))) - ;;;; Base Mode (define-minor-mode magit-blame-mode @@ -535,6 +535,9 @@ modes is toggled, then this mode also gets toggled automatically. ;;; Display +(defsubst magit-blame--style-get (key) + (cdr (assoc key (cdr magit-blame--style)))) + (defun magit-blame--make-overlays (buf chunk revinfo) (with-current-buffer buf (save-excursion diff --git a/code/elpa/magit-20220425.1153/magit-bookmark.el b/code/elpa/magit-20220803.2341/magit-bookmark.el similarity index 52% rename from code/elpa/magit-20220425.1153/magit-bookmark.el rename to code/elpa/magit-20220803.2341/magit-bookmark.el index 0a42741..c8780e9 100644 --- a/code/elpa/magit-20220425.1153/magit-bookmark.el +++ b/code/elpa/magit-20220803.2341/magit-bookmark.el @@ -29,80 +29,6 @@ ;;; Code: (require 'magit) -(require 'bookmark) - -;;; Core - -(defun magit--make-bookmark () - "Create a bookmark for the current Magit buffer. -Input values are the major-mode's `magit-bookmark-name' method, -and the buffer-local values of the variables referenced in its -`magit-bookmark-variables' property." - (if (plist-member (symbol-plist major-mode) 'magit-bookmark-variables) - ;; `bookmark-make-record-default's return value does not match - ;; (NAME . ALIST), even though it is used as the default value - ;; of `bookmark-make-record-function', which states that such - ;; functions must do that. See #4356. - (let ((bookmark (cons nil (bookmark-make-record-default 'no-file)))) - (bookmark-prop-set bookmark 'handler #'magit--handle-bookmark) - (bookmark-prop-set bookmark 'mode major-mode) - (bookmark-prop-set bookmark 'filename (magit-toplevel)) - (bookmark-prop-set bookmark 'defaults (list (magit-bookmark-name))) - (dolist (var (get major-mode 'magit-bookmark-variables)) - (bookmark-prop-set bookmark var (symbol-value var))) - (bookmark-prop-set - bookmark 'magit-hidden-sections - (--keep (and (oref it hidden) - (cons (oref it type) - (if (derived-mode-p 'magit-stash-mode) - (string-replace magit-buffer-revision - magit-buffer-revision-hash - (oref it value)) - (oref it value)))) - (oref magit-root-section children))) - bookmark) - (user-error "Bookmarking is not implemented for %s buffers" major-mode))) - -;;;###autoload -(defun magit--handle-bookmark (bookmark) - "Open a bookmark created by `magit--make-bookmark'. -Call the `magit-*-setup-buffer' function of the the major-mode -with the variables' values as arguments, which were recorded by -`magit--make-bookmark'. Ignore `magit-display-buffer-function'." - (let ((buffer (let ((default-directory (bookmark-get-filename bookmark)) - (mode (bookmark-prop-get bookmark 'mode)) - (magit-display-buffer-function #'identity) - (magit-display-buffer-noselect t)) - (apply (intern (format "%s-setup-buffer" - (substring (symbol-name mode) 0 -5))) - (--map (bookmark-prop-get bookmark it) - (get mode 'magit-bookmark-variables)))))) - (set-buffer buffer) ; That is the interface we have to adhere to. - (when-let ((hidden (bookmark-prop-get bookmark 'magit-hidden-sections))) - (with-current-buffer buffer - (dolist (child (oref magit-root-section children)) - (if (member (cons (oref child type) - (oref child value)) - hidden) - (magit-section-hide child) - (magit-section-show child))))) - ;; Compatibility with `bookmark+' package. See #4356. - (when (bound-and-true-p bmkp-jump-display-function) - (funcall bmkp-jump-display-function (current-buffer))) - nil)) - -(cl-defgeneric magit-bookmark-name () - "Return name for bookmark to current buffer." - (format "%s%s" - (substring (symbol-name major-mode) 0 -5) - (if-let ((vars (get major-mode 'magit-bookmark-variables))) - (cl-mapcan (lambda (var) - (let ((val (symbol-value var))) - (if (and val (atom val)) - (list val) - val))) - vars) - ""))) ;;; Diff ;;;; Diff diff --git a/code/elpa/magit-20220425.1153/magit-branch.el b/code/elpa/magit-20220803.2341/magit-branch.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-branch.el rename to code/elpa/magit-20220803.2341/magit-branch.el diff --git a/code/elpa/magit-20220425.1153/magit-bundle.el b/code/elpa/magit-20220803.2341/magit-bundle.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-bundle.el rename to code/elpa/magit-20220803.2341/magit-bundle.el diff --git a/code/elpa/magit-20220425.1153/magit-clone.el b/code/elpa/magit-20220803.2341/magit-clone.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-clone.el rename to code/elpa/magit-20220803.2341/magit-clone.el diff --git a/code/elpa/magit-20220425.1153/magit-commit.el b/code/elpa/magit-20220803.2341/magit-commit.el similarity index 86% rename from code/elpa/magit-20220425.1153/magit-commit.el rename to code/elpa/magit-20220803.2341/magit-commit.el index f28766a..98f9764 100644 --- a/code/elpa/magit-20220425.1153/magit-commit.el +++ b/code/elpa/magit-20220803.2341/magit-commit.el @@ -31,9 +31,6 @@ (require 'magit) (require 'magit-sequence) -(eval-when-compile (require 'epa)) ; for `epa-protocol' -(eval-when-compile (require 'epg)) - ;;; Options (defcustom magit-commit-ask-to-stage 'verbose @@ -116,23 +113,6 @@ Also see https://github.com/magit/magit/issues/4132." :group 'magit-commands :type 'boolean) -(defcustom magit-openpgp-default-signing-key nil - "Fingerprint of your default Openpgp key used for signing. -If the specified primary key has signing capacity then it is used -as the value of the `--gpg-sign' argument without prompting, even -when other such keys exist. To be able to select another key you -must then use a prefix argument." - :package-version '(magit . "3.4.0") - :group 'magit-commands - :type 'string) - -(defvar magit-post-commit-hook-commands - '(magit-commit-extend - magit-commit-fixup - magit-commit-augment - magit-commit-instant-fixup - magit-commit-instant-squash)) - ;;; Popup ;;;###autoload (autoload 'magit-commit "magit-commit" nil t) @@ -175,56 +155,6 @@ must then use a prefix argument." (defun magit-commit-arguments nil (transient-args 'magit-commit)) -(transient-define-argument magit:--gpg-sign () - :description "Sign using gpg" - :class 'transient-option - :shortarg "-S" - :argument "--gpg-sign=" - :allow-empty t - :reader #'magit-read-gpg-signing-key) - -(defvar magit-gpg-secret-key-hist nil) - -(defun magit-read-gpg-secret-key - (prompt &optional initial-input history predicate default) - (require 'epa) - (let* ((keys (cl-mapcan - (lambda (cert) - (and (or (not predicate) - (funcall predicate cert)) - (let* ((key (car (epg-key-sub-key-list cert))) - (fpr (epg-sub-key-fingerprint key)) - (id (epg-sub-key-id key)) - (author - (and-let* ((id-obj - (car (epg-key-user-id-list cert)))) - (let ((id-str (epg-user-id-string id-obj))) - (if (stringp id-str) - id-str - (epg-decode-dn id-obj)))))) - (list - (propertize fpr 'display - (concat (substring fpr 0 (- (length id))) - (propertize id 'face 'highlight) - " " author)))))) - (epg-list-keys (epg-make-context epa-protocol) nil t))) - (choice (or (and (not current-prefix-arg) - (or (and (length= keys 1) (car keys)) - (and default (car (member default keys))))) - (completing-read prompt keys nil nil nil - history nil initial-input)))) - (set-text-properties 0 (length choice) nil choice) - choice)) - -(defun magit-read-gpg-signing-key (prompt &optional initial-input history) - (magit-read-gpg-secret-key - prompt initial-input history - (lambda (cert) - (cl-some (lambda (key) - (memq 'sign (epg-sub-key-capability key))) - (epg-key-sub-key-list cert))) - magit-openpgp-default-signing-key)) - (transient-define-argument magit-commit:--reuse-message () :description "Reuse commit message" :class 'transient-option @@ -251,7 +181,7 @@ With a prefix argument, amend to the commit at `HEAD' instead. (list (cons "--amend" (magit-commit-arguments))) (list (magit-commit-arguments)))) (when (member "--all" args) - (setq this-command 'magit-commit-all)) + (setq this-command 'magit-commit--all)) (when (setq args (magit-commit-assert args)) (let ((default-directory (magit-toplevel))) (magit-run-git-with-editor "commit" args)))) @@ -442,9 +372,10 @@ depending on the value of option `magit-commit-squash-confirm'." (when (eq magit-commit-ask-to-stage 'verbose) (magit-diff-unstaged)) (prog1 (when (or (eq magit-commit-ask-to-stage 'stage) - (y-or-n-p "Nothing staged. Stage and commit all unstaged changes? ")) - (magit-run-git "add" "-u" ".") - (or args (list "--"))) + (y-or-n-p + "Nothing staged. Commit all uncommitted changes? ")) + (setq this-command 'magit-commit--all) + (cons "--all" (or args (list "--")))) (when (and (eq magit-commit-ask-to-stage 'verbose) (derived-mode-p 'magit-diff-mode)) (magit-mode-bury-buffer)))) @@ -600,48 +531,100 @@ See `magit-commit-absorb' for an alternative implementation." :argument "--strict=" :reader #'transient-read-number-N0) +(defvar magit-post-commit-hook-commands + '(magit-commit-extend + magit-commit-fixup + magit-commit-augment + magit-commit-instant-fixup + magit-commit-instant-squash)) + +(defun magit-run-post-commit-hook () + (when (and (not this-command) + (memq last-command magit-post-commit-hook-commands)) + (run-hooks 'magit-post-commit-hook))) + ;;; Pending Diff (defun magit-commit-diff () + (magit-repository-local-set 'this-commit-command + (if (eq this-command 'with-editor-finish) + 'magit-commit--rebase + last-command)) (when (and git-commit-mode magit-commit-show-diff) (when-let ((diff-buffer (magit-get-mode-buffer 'magit-diff-mode))) ;; This window just started displaying the commit message ;; buffer. Without this that buffer would immediately be ;; replaced with the diff buffer. See #2632. (unrecord-window-buffer nil diff-buffer)) - (condition-case nil - (let ((args (car (magit-diff-arguments))) - (magit-inhibit-save-previous-winconf 'unset) - (magit-display-buffer-noselect t) - (inhibit-quit nil) - (display-buffer-overriding-action - display-buffer-overriding-action)) - (when magit-commit-diff-inhibit-same-window - (setq display-buffer-overriding-action - '(nil (inhibit-same-window t)))) - (message "Diffing changes to be committed (C-g to abort diffing)") - (cl-case last-command - (magit-commit - (magit-diff-staged nil args)) - (magit-commit-all - (magit-diff-working-tree nil args)) - ((magit-commit-amend - magit-commit-reword - magit-rebase-reword-commit) - (magit-diff-while-amending args)) - (t (if (magit-anything-staged-p) - (magit-diff-staged nil args) - (magit-diff-while-amending args))))) - (quit)))) + (message "Diffing changes to be committed (C-g to abort diffing)") + (let ((inhibit-quit nil)) + (condition-case nil + (magit-commit-diff-1) + (quit))))) + +(defun magit-commit-diff-1 () + (let ((rev nil) + (arg "--cached") + (command (magit-repository-local-get 'this-commit-command)) + (staged (magit-anything-staged-p)) + (unstaged + ;; Escape $GIT_DIR because `magit-anything-unstaged-p' + ;; requires a working tree. + (magit-with-toplevel + (magit-anything-unstaged-p))) + (squash (let ((f (magit-git-dir "rebase-merge/rewritten-pending"))) + (and (file-exists-p f) (length (magit-file-lines f))))) + (noalt nil)) + (pcase (list staged unstaged command) + ((and `(,_ ,_ magit-commit--rebase) + (guard (integerp squash))) + (setq rev (format "HEAD~%s" squash))) + (`(,_ ,_ magit-commit-amend) + (setq rev "HEAD^")) + ((or `(,_ ,_ magit-commit-reword) + `(nil nil ,_)) + (setq rev "HEAD^..HEAD") + (setq arg nil)) + (`(,_ t magit-commit--all) + (setq rev "HEAD") + (setq arg nil)) + (`(nil t handle-switch-frame) + ;; Either --all or --allow-empty. Assume it is the former. + (setq rev "HEAD") + (setq arg nil))) + (cond + ((not + (and (eq this-command 'magit-diff-while-committing) + (and-let* ((buf (magit-get-mode-buffer + 'magit-diff-mode nil 'selected))) + (and (equal rev (buffer-local-value 'magit-buffer-range buf)) + (equal arg (buffer-local-value 'magit-buffer-typearg buf))))))) + ((eq command 'magit-commit-amend) + (setq rev nil)) + ((or squash (file-exists-p (magit-git-dir "rebase-merge/amend"))) + (setq rev "HEAD^")) + (t + (message "No alternative diff while committing") + (setq noalt t))) + (unless noalt + (let ((magit-inhibit-save-previous-winconf 'unset) + (magit-display-buffer-noselect t) + (display-buffer-overriding-action + display-buffer-overriding-action)) + (when magit-commit-diff-inhibit-same-window + (setq display-buffer-overriding-action + '(nil (inhibit-same-window t)))) + (magit-diff-setup-buffer rev arg (car (magit-diff-arguments)) nil))))) -;; Mention `magit-diff-while-committing' because that's -;; always what I search for when I try to find this line. (add-hook 'server-switch-hook #'magit-commit-diff) (add-hook 'with-editor-filter-visit-hook #'magit-commit-diff) (add-to-list 'with-editor-server-window-alist (cons git-commit-filename-regexp #'switch-to-buffer)) +(defun magit-commit--reset-command () + (magit-repository-local-delete 'this-commit-command)) + ;;; Message Utilities (defun magit-commit-message-buffer () diff --git a/code/elpa/magit-20220425.1153/magit-core.el b/code/elpa/magit-20220803.2341/magit-core.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-core.el rename to code/elpa/magit-20220803.2341/magit-core.el index d02b25b..1105f82 100644 --- a/code/elpa/magit-20220425.1153/magit-core.el +++ b/code/elpa/magit-20220803.2341/magit-core.el @@ -45,6 +45,8 @@ (message "Error while loading `magit-libgit': %S" err) (message "That is not fatal. The `libegit2' module just won't be used.")))) +;;; Options + (defgroup magit nil "Controlling Git from Emacs." :link '(url-link "https://magit.vc") diff --git a/code/elpa/magit-20220425.1153/magit-diff.el b/code/elpa/magit-20220803.2341/magit-diff.el similarity index 96% rename from code/elpa/magit-20220425.1153/magit-diff.el rename to code/elpa/magit-20220803.2341/magit-diff.el index 72b28b5..38872a5 100644 --- a/code/elpa/magit-20220425.1153/magit-diff.el +++ b/code/elpa/magit-20220803.2341/magit-diff.el @@ -41,6 +41,7 @@ (declare-function magit-find-file-noselect "magit-files" (rev file)) (declare-function magit-status-setup-buffer "magit-status" (&optional directory)) ;; For `magit-diff-while-committing' +(declare-function magit-commit-diff-1 "magit-commit" ()) (declare-function magit-commit-message-buffer "magit-commit" ()) ;; For `magit-insert-revision-gravatar' (defvar gravatar-size) @@ -437,7 +438,7 @@ image, accordingly. Either the car or the cdr may be nil." "Whether to work around a bug which affects display of gravatars. Gravatar images are spliced into two halves which are then -displayed on separate lines. On OS X the splicing has a bug in +displayed on separate lines. On macOS the splicing has a bug in some Emacs builds, which causes the top and bottom halves to be interchanged. Enabling this option works around this issue by interchanging the halves once more, which cancels out the effect @@ -1229,43 +1230,25 @@ a commit read from the minibuffer." (magit-diff-setup-buffer (magit--merge-range) nil args files)) ;;;###autoload -(defun magit-diff-while-committing (&optional args) +(defun magit-diff-while-committing () "While committing, show the changes that are about to be committed. While amending, invoking the command again toggles between showing just the new changes or all the changes that will be committed." - (interactive (list (car (magit-diff-arguments)))) + (interactive) (unless (magit-commit-message-buffer) (user-error "No commit in progress")) - (let ((magit-display-buffer-noselect t)) - (if-let ((diff-buf (magit-get-mode-buffer 'magit-diff-mode 'selected))) - (with-current-buffer diff-buf - (cond ((and (equal magit-buffer-range "HEAD^") - (equal magit-buffer-typearg "--cached")) - (magit-diff-staged nil args)) - ((and (equal magit-buffer-range nil) - (equal magit-buffer-typearg "--cached")) - (magit-diff-while-amending args)) - ((magit-anything-staged-p) - (magit-diff-staged nil args)) - (t - (magit-diff-while-amending args)))) - (if (magit-anything-staged-p) - (magit-diff-staged nil args) - (magit-diff-while-amending args))))) + (magit-commit-diff-1)) (define-key git-commit-mode-map (kbd "C-c C-d") #'magit-diff-while-committing) -(defun magit-diff-while-amending (&optional args) - (magit-diff-setup-buffer "HEAD^" "--cached" args nil)) - ;;;###autoload (defun magit-diff-buffer-file () "Show diff for the blob or file visited in the current buffer. When the buffer visits a blob, then show the respective commit. -When the buffer visits a file, then show the differenced between +When the buffer visits a file, then show the differences between `HEAD' and the working tree. In both cases limit the diff to the file or blob." (interactive) @@ -1325,18 +1308,19 @@ for a revision." (and mcommit (magit-section-parent-value (magit-current-section)))))) (require 'magit) - (let ((file (magit-file-relative-name))) + (let* ((file (magit-file-relative-name)) + (ln (and file (line-number-at-pos)))) (magit-with-toplevel (when module (setq default-directory (expand-file-name (file-name-as-directory module)))) (unless (magit-commit-p rev) (user-error "%s is not a commit" rev)) + (when file + (save-buffer)) (let ((buf (magit-revision-setup-buffer rev args files))) (when file - (save-buffer) - (let ((line (magit-diff-visit--offset file (list "-R" rev) - (line-number-at-pos))) + (let ((line (magit-diff-visit--offset file (list "-R" rev) ln)) (col (current-column))) (with-current-buffer buf (magit-diff--goto-position file line col)))))))) @@ -1803,7 +1787,8 @@ commit or stash at point, then prompt for a commit." (defun magit-diff-show-or-scroll (fn) (let (rev cmd buf win) (cond - (magit-blame-mode + ((and (bound-and-true-p magit-blame-mode) + (fboundp 'magit-current-blame-chunk)) (setq rev (oref (magit-current-blame-chunk) orig-rev)) (setq cmd #'magit-show-commit) (setq buf (magit-get-mode-buffer 'magit-revision-mode))) @@ -1937,17 +1922,22 @@ Staging and applying changes is documented in info node (if (equal magit-buffer-typearg "--no-index") (apply #'format "Differences between %s and %s" magit-buffer-diff-files) (concat (if magit-buffer-range - (cond - ((string-match-p "\\(\\.\\.\\|\\^-\\)" - magit-buffer-range) - (format "Changes in %s" magit-buffer-range)) - ((member "-R" magit-buffer-diff-args) - (format "Changes from working tree to %s" magit-buffer-range)) - (t - (format "Changes from %s to working tree" magit-buffer-range))) - (if (equal magit-buffer-typearg "--cached") - "Staged changes" - "Unstaged changes")) + (if (string-match-p "\\(\\.\\.\\|\\^-\\)" + magit-buffer-range) + (format "Changes in %s" magit-buffer-range) + (let ((msg "Changes from %s to %s") + (end (if (equal magit-buffer-typearg "--cached") + "index" + "working tree"))) + (if (member "-R" magit-buffer-diff-args) + (format msg end magit-buffer-range) + (format msg magit-buffer-range end)))) + (cond ((equal magit-buffer-typearg "--cached") + "Staged changes") + ((and (magit-repository-local-get 'this-commit-command) + (not (magit-anything-staged-p))) + "Uncommitting changes") + (t "Unstaged changes"))) (pcase (length magit-buffer-diff-files) (0) (1 (concat " in file " (car magit-buffer-diff-files))) @@ -2085,7 +2075,7 @@ keymap is the parent of their keymaps.") (defun magit--insert-diff (&rest args) (declare (indent 0)) (pcase-let ((`(,cmd . ,args) - (-flatten args)) + (flatten-tree args)) (magit-git-global-arguments (remove "--literal-pathspecs" magit-git-global-arguments))) ;; As of Git 2.19.0, we need to generate diffs with @@ -2118,7 +2108,7 @@ keymap is the parent of their keymaps.") (defun magit-diff-wash-diffs (args &optional limit) (run-hooks 'magit-diff-wash-diffs-hook) (when (member "--show-signature" args) - (magit-diff-wash-signature)) + (magit-diff-wash-signature magit-buffer-revision-hash)) (when (member "--stat" args) (magit-diff-wash-diffstat)) (when (re-search-forward magit-diff-headline-re limit t) @@ -2141,7 +2131,7 @@ section or a child thereof." (magit-section-goto it) (user-error "No diffstat in this buffer"))) -(defun magit-diff-wash-signature () +(defun magit-diff-wash-signature (object) (when (looking-at "^gpg: ") (let (title end) (save-excursion @@ -2157,10 +2147,11 @@ section or a child thereof." 'face '(italic bold))))) (forward-line)) (setq end (point-marker))) - (magit-insert-section (signature magit-buffer-revision title) + (magit-insert-section (signature object title) (when title (magit-insert-heading title)) (goto-char end) + (set-marker end nil) (insert "\n"))))) (defun magit-diff-wash-diffstat () @@ -2425,10 +2416,16 @@ section or a child thereof." (defun magit-diff-wash-hunk () (when (looking-at "^@\\{2,\\} \\(.+?\\) @\\{2,\\}\\(?: \\(.*\\)\\)?") (let* ((heading (match-string 0)) - (ranges (mapcar (lambda (str) + (ranges (mapcar + (lambda (str) + (let ((range (mapcar #'string-to-number - (split-string (substring str 1) ","))) - (split-string (match-string 1)))) + (split-string (substring str 1) ",")))) + ;; A single line is +1 rather than +1,1. + (if (length= range 1) + (nconc range (list 1)) + range))) + (split-string (match-string 1)))) (about (match-string 2)) (combined (length= ranges 3)) (value (cons about ranges))) @@ -2496,7 +2493,7 @@ Staging and applying changes is documented in info node (magit-buffer-diff-files-suspended nil))) (defun magit-revision-refresh-buffer () - (setq magit-buffer-revision-hash (magit-rev-parse magit-buffer-revision)) + (setq magit-buffer-revision-hash (magit-rev-hash magit-buffer-revision)) (magit-set-header-line-format (concat (magit-object-type magit-buffer-revision-hash) " " magit-buffer-revision @@ -2547,13 +2544,27 @@ or a ref which is not a branch, then it inserts nothing." (insert (propertize heading 'font-lock-face 'magit-section-secondary-heading))) (magit-insert-heading) + (forward-line) + (magit-insert-section section (message) + (oset section heading-highlight-face + 'magit-diff-revision-summary-highlight) + (let ((beg (point))) + (forward-line) + (magit--add-face-text-property + beg (point) 'magit-diff-revision-summary)) + (magit-insert-heading) + (if (re-search-forward "-----BEGIN PGP SIGNATURE-----" nil t) + (goto-char (match-beginning 0)) + (goto-char (point-max))) + (insert ?\n)) (if (re-search-forward "-----BEGIN PGP SIGNATURE-----" nil t) (progn (let ((beg (match-beginning 0))) - (re-search-forward "-----END PGP SIGNATURE-----") + (re-search-forward "-----END PGP SIGNATURE-----\n") (delete-region beg (point))) - (insert ?\n) - (magit-process-git t "verify-tag" magit-buffer-revision)) + (save-excursion + (magit-process-git t "verify-tag" magit-buffer-revision)) + (magit-diff-wash-signature magit-buffer-revision)) (goto-char (point-max))) (insert ?\n)))) @@ -2826,7 +2837,7 @@ or a ref which is not a branch, then it inserts nothing." (cl-defmethod magit-buffer-value (&context (major-mode magit-merge-preview-mode)) magit-buffer-revision) -;;; Diff Sections +;;; Hunk Section (defun magit-hunk-set-window-start (section) "When SECTION is a `hunk', ensure that its beginning is visible. @@ -2836,30 +2847,50 @@ It the SECTION has a different type, then do nothing." (add-hook 'magit-section-movement-hook #'magit-hunk-set-window-start) -(defun magit-hunk-goto-successor (section arg) - (and (magit-hunk-section-p section) - (and-let* ((parent (magit-get-section - (magit-section-ident - (oref section parent))))) - (let* ((children (oref parent children)) - (siblings (magit-section-siblings section 'prev)) - (previous (nth (length siblings) children))) - (if (not arg) - (--when-let (or previous (car (last children))) - (magit-section-goto it) - t) - (when previous - (magit-section-goto previous)) - (if (and (stringp arg) - (re-search-forward arg (oref parent end) t)) - (goto-char (match-beginning 0)) - (goto-char (oref (car (last children)) end)) - (forward-line -1) - (while (looking-at "^ ") (forward-line -1)) - (while (looking-at "^[-+]") (forward-line -1)) - (forward-line))))))) +(cl-defmethod magit-section-get-relative-position ((_section magit-hunk-section)) + (nconc (cl-call-next-method) + (and (region-active-p) + (progn + (goto-char (line-beginning-position)) + (when (looking-at "^[-+]") (forward-line)) + (while (looking-at "^[ @]") (forward-line)) + (let ((beg (magit-point))) + (list (cond + ((looking-at "^[-+]") + (forward-line) + (while (looking-at "^[-+]") (forward-line)) + (while (looking-at "^ ") (forward-line)) + (forward-line -1) + (regexp-quote (buffer-substring-no-properties + beg (line-end-position)))) + (t t)))))))) -(add-hook 'magit-section-goto-successor-hook #'magit-hunk-goto-successor) +(cl-defmethod magit-section-goto-successor ((section magit-hunk-section) + line char &optional arg) + (or (magit-section-goto-successor--same section line char) + (and-let* ((parent (magit-get-section + (magit-section-ident + (oref section parent))))) + (let* ((children (oref parent children)) + (siblings (magit-section-siblings section 'prev)) + (previous (nth (length siblings) children))) + (if (not arg) + (when-let ((sibling (or previous (car (last children))))) + (magit-section-goto sibling) + t) + (when previous + (magit-section-goto previous)) + (if (and (stringp arg) + (re-search-forward arg (oref parent end) t)) + (goto-char (match-beginning 0)) + (goto-char (oref (car (last children)) end)) + (forward-line -1) + (while (looking-at "^ ") (forward-line -1)) + (while (looking-at "^[-+]") (forward-line -1)) + (forward-line))))) + (magit-section-goto-successor--related section))) + +;;; Diff Sections (defvar magit-unstaged-section-map (let ((map (make-sparse-keymap))) @@ -3227,7 +3258,7 @@ are highlighted." (default-value 'magit-diff-highlight-indentation)))))))) (when (and magit-diff-highlight-trailing - (looking-at (concat prefix ".*?\\([ \t]+\\)$"))) + (looking-at (concat prefix ".*?\\([ \t]+\\) ?$"))) (let ((ov (make-overlay (match-beginning 1) (match-end 1) nil t))) (overlay-put ov 'font-lock-face 'magit-diff-whitespace-warning) (overlay-put ov 'priority 2) diff --git a/code/elpa/magit-20220425.1153/magit-ediff.el b/code/elpa/magit-20220803.2341/magit-ediff.el similarity index 61% rename from code/elpa/magit-20220425.1153/magit-ediff.el rename to code/elpa/magit-20220803.2341/magit-ediff.el index 057c174..7b6dd0c 100644 --- a/code/elpa/magit-20220425.1153/magit-ediff.el +++ b/code/elpa/magit-20220803.2341/magit-ediff.el @@ -56,6 +56,14 @@ invoked using Magit." :options '(magit-ediff-cleanup-auxiliary-buffers magit-ediff-restore-previous-winconf)) +(defcustom magit-ediff-dwim-resolve-function #'magit-ediff-resolve-rest + "The function `magit-ediff-dwim' uses to resolve conflicts." + :package-version '(magit . "3.4.0") + :group 'magit-ediff + :type '(choice (const magit-ediff-resolve-rest) + (const magit-ediff-resolve-all) + (const magit-git-mergetool))) + (defcustom magit-ediff-dwim-show-on-hunks nil "Whether `magit-ediff-dwim' runs show variants on hunks. If non-nil, `magit-ediff-show-staged' or @@ -113,8 +121,9 @@ recommend you do not further complicate that by enabling this.") :info-manual "(ediff)" ["Ediff" [("E" "Dwim" magit-ediff-dwim) - ("s" "Stage" magit-ediff-stage) - ("m" "Resolve" magit-ediff-resolve) + ("s" "Stage" magit-ediff-stage)] + [("m" "Resolve rest" magit-ediff-resolve-rest) + ("M" "Resolve all conflicts" magit-ediff-resolve-all) ("t" "Resolve using mergetool" magit-git-mergetool)] [("u" "Show unstaged" magit-ediff-show-unstaged) ("i" "Show staged" magit-ediff-show-staged) @@ -123,14 +132,164 @@ recommend you do not further complicate that by enabling this.") ("r" "Show range" magit-ediff-compare) ("z" "Show stash" magit-ediff-show-stash)]]) -;;;###autoload -(defun magit-ediff-resolve (file) - "Resolve outstanding conflicts in FILE using Ediff. -FILE has to be relative to the top directory of the repository. +(defmacro magit-ediff-buffers (a b &optional c setup quit file) + "Run Ediff on two or three buffers. +This is a wrapper around `ediff-buffers-internal'. -In the rare event that you want to manually resolve all -conflicts, including those already resolved by Git, use -`ediff-merge-revisions-with-ancestor'." +A, B and C have the form (GET-BUFFER CREATE-BUFFER). If +GET-BUFFER returns a non-nil value, then that buffer is used and +it is not killed when exiting Ediff. Otherwise CREATE-BUFFER +must return a buffer and that is killed when exiting Ediff. + +If non-nil, SETUP must be a function. It is called without +arguments after Ediff is done setting up buffers. + +If non-nil, QUIT must be a function. It is added to +`ediff-quit-hook' and is called without arguments. + +If FILE is non-nil, then perform a merge. The merge result +is put in FILE." + (let (get make kill (char ?A)) + (dolist (spec (list a b c)) + (if (not spec) + (push nil make) + (pcase-let ((`(,g ,m) spec)) + (let ((b (intern (format "buf%c" char)))) + (push `(,b ,g) get) + ;; This is an unfortunate complication that I have added for + ;; the benefit of one user. Pretend we used this instead: + ;; (push `(or ,b ,m) make) + (push `(if ,b + (if magit-ediff-use-indirect-buffers + (prog1 (make-indirect-buffer + ,b + (generate-new-buffer-name (buffer-name ,b)) + t) + (setq ,b nil)) + ,b) + ,m) + make) + (push `(unless ,b + ;; For merge jobs Ediff switches buffer names around. + ;; See (if ediff-merge-job ...) in `ediff-setup'. + (let ((var ,(if (and file (= char ?C)) + 'ediff-ancestor-buffer + (intern (format "ediff-buffer-%c" char))))) + (ediff-kill-buffer-carefully var))) + kill)) + (cl-incf char)))) + (setq get (nreverse get)) + (setq make (nreverse make)) + (setq kill (nreverse kill)) + (let ((mconf (cl-gensym "conf")) + (mfile (cl-gensym "file"))) + `(magit-with-toplevel + (let ((,mconf (current-window-configuration)) + (,mfile ,file) + ,@get) + (ediff-buffers-internal + ,@make + (list ,@(and setup (list setup)) + (lambda () + ;; We do not want to kill buffers that existed before + ;; Ediff was invoked, so we cannot use Ediff's default + ;; quit functions. Ediff splits quitting across two + ;; hooks for merge jobs but we only ever use one. + (setq-local ediff-quit-merge-hook nil) + (setq-local ediff-quit-hook + (list + ,@(and quit (list quit)) + (lambda () + ,@kill + (let ((magit-ediff-previous-winconf ,mconf)) + (run-hooks 'magit-ediff-quit-hook))))))) + (pcase (list ,(and c t) (and ,mfile t)) + ('(nil nil) 'ediff-buffers) + ('(nil t) 'ediff-merge-buffers) + ('(t nil) 'ediff-buffers3) + ('(t t) 'ediff-merge-buffers-with-ancestor)) + ,mfile)))))) + +;;;###autoload +(defun magit-ediff-resolve-all (file) + "Resolve all conflicts in the FILE at point using Ediff. + +If there is no file at point or if it doesn't have any unmerged +changes, then prompt for a file. + +See info node `(magit) Ediffing' for more information about this +and alternative commands." + (interactive (list (magit-read-unmerged-file))) + (magit-with-toplevel + (let* ((revA (or (magit-name-branch "HEAD") + (magit-commit-p "HEAD"))) + (revB (cl-find-if (lambda (head) (file-exists-p (magit-git-dir head))) + '("MERGE_HEAD" "CHERRY_PICK_HEAD" "REVERT_HEAD"))) + (revB (or (magit-name-branch revB) + (magit-commit-p revB))) + (revC (magit-commit-p (magit-git-string "merge-base" revA revB))) + (fileA (magit--rev-file-name file revA revB)) + (fileB (magit--rev-file-name file revB revA)) + (fileC (or (magit--rev-file-name file revC revA) + (magit--rev-file-name file revC revB)))) + ;; Ediff assumes that the FILE where it is going to store the merge + ;; result does not exist yet, so move the existing file out of the + ;; way. If a buffer visits FILE, then we have to kill that upfront. + (when-let ((buffer (find-buffer-visiting file))) + (when (and (buffer-modified-p buffer) + (not (y-or-n-p (format "Save buffer %s %s? " + (buffer-name buffer) + "(cannot continue otherwise)")))) + (user-error "Abort")) + (kill-buffer buffer)) + (let ((orig (concat file ".ORIG"))) + (when (file-exists-p orig) + (rename-file orig (make-temp-name (concat orig "_")))) + (rename-file file orig)) + (let ((setup (lambda () + ;; Use the same conflict marker style as Git uses. + (setq-local ediff-combination-pattern + '("<<<<<<< HEAD" A + ,(format "||||||| %s" revC) Ancestor + "=======" B + ,(format ">>>>>>> %s" revB))))) + (quit (lambda () + ;; For merge jobs Ediff switches buffer names around. + ;; At this point `ediff-buffer-C' no longer refer to + ;; the ancestor buffer but to the merge result buffer. + ;; See (if ediff-merge-job ...) in `ediff-setup'. + (when (buffer-live-p ediff-buffer-C) + (with-current-buffer ediff-buffer-C + (save-buffer) + (save-excursion + (goto-char (point-min)) + (unless (re-search-forward "^<<<<<<< " nil t) + (magit-stage-file file)))))))) + (if fileC + (magit-ediff-buffers + ((magit-get-revision-buffer revA fileA) + (magit-find-file-noselect revA fileA)) + ((magit-get-revision-buffer revB fileB) + (magit-find-file-noselect revB fileB)) + ((magit-get-revision-buffer revC fileC) + (magit-find-file-noselect revC fileC)) + setup quit file) + (magit-ediff-buffers + ((magit-get-revision-buffer revA fileA) + (magit-find-file-noselect revA fileA)) + ((magit-get-revision-buffer revB fileB) + (magit-find-file-noselect revB fileB)) + nil setup quit file)))))) + +;;;###autoload +(defun magit-ediff-resolve-rest (file) + "Resolve outstanding conflicts in the FILE at point using Ediff. + +If there is no file at point or if it doesn't have any unmerged +changes, then prompt for a file. + +See info node `(magit) Ediffing' for more information about this +and alternative commands." (interactive (list (magit-read-unmerged-file))) (magit-with-toplevel (with-current-buffer (find-file-noselect file) @@ -154,45 +313,6 @@ conflicts, including those already resolved by Git, use (let ((magit-ediff-previous-winconf smerge-ediff-windows)) (run-hooks 'magit-ediff-quit-hook))))))) -(defmacro magit-ediff-buffers (quit &rest spec) - (declare (indent 1)) - (let ((fn (if (length= spec 3) 'ediff-buffers3 'ediff-buffers)) - (char ?@) - get make kill) - (pcase-dolist (`(,g ,m) spec) - (let ((b (intern (format "buf%c" (cl-incf char))))) - (push `(,b ,g) get) - (push `(if ,b - (if magit-ediff-use-indirect-buffers - (prog1 - (make-indirect-buffer - ,b (generate-new-buffer-name (buffer-name ,b)) t) - (setq ,b nil)) - ,b) - ,m) - make) - (push `(unless ,b - (ediff-kill-buffer-carefully - ,(intern (format "ediff-buffer-%c" char)))) - kill))) - (setq get (nreverse get)) - (setq make (nreverse make)) - (setq kill (nreverse kill)) - `(magit-with-toplevel - (let ((conf (current-window-configuration)) - ,@get) - (,fn - ,@make - (list (lambda () - (setq-local - ediff-quit-hook - (list ,@(and quit (list quit)) - (lambda () - ,@kill - (let ((magit-ediff-previous-winconf conf)) - (run-hooks 'magit-ediff-quit-hook))))))) - ',fn))))) - ;;;###autoload (defun magit-ediff-stage (file) "Stage and unstage changes to FILE using Ediff. @@ -215,21 +335,22 @@ FILE has to be relative to the top directory of the repository." (bufB* (magit-find-file-index-noselect file t))) (setf (buffer-local-value 'buffer-read-only bufB*) nil) (magit-ediff-buffers - (lambda () - (when (buffer-live-p ediff-buffer-B) - (when lockB - (setf (buffer-local-value 'buffer-read-only bufB) t)) - (when (buffer-modified-p ediff-buffer-B) - (with-current-buffer ediff-buffer-B - (magit-update-index)))) - (when (and (buffer-live-p ediff-buffer-C) - (buffer-modified-p ediff-buffer-C)) - (with-current-buffer ediff-buffer-C - (when (y-or-n-p (format "Save file %s? " buffer-file-name)) - (save-buffer))))) - (bufA bufA*) - (bufB bufB*) - (bufC bufC*))))) + (bufA bufA*) + (bufB bufB*) + (bufC bufC*) + nil + (lambda () + (when (buffer-live-p ediff-buffer-B) + (when lockB + (setf (buffer-local-value 'buffer-read-only bufB) t)) + (when (buffer-modified-p ediff-buffer-B) + (with-current-buffer ediff-buffer-B + (magit-update-index)))) + (when (and (buffer-live-p ediff-buffer-C) + (buffer-modified-p ediff-buffer-C)) + (with-current-buffer ediff-buffer-C + (when (y-or-n-p (format "Save file %s? " buffer-file-name)) + (save-buffer))))))))) ;;;###autoload (defun magit-ediff-compare (revA revB fileA fileB) @@ -249,11 +370,11 @@ range)." nil current-prefix-arg))) (nconc (list revA revB) (magit-ediff-read-files revA revB)))) - (magit-ediff-buffers nil - ((if revA (magit-get-revision-buffer revA fileA) (get-file-buffer fileA)) - (if revA (magit-find-file-noselect revA fileA) (find-file-noselect fileA))) - ((if revB (magit-get-revision-buffer revB fileB) (get-file-buffer fileB)) - (if revB (magit-find-file-noselect revB fileB) (find-file-noselect fileB))))) + (magit-ediff-buffers + ((if revA (magit-get-revision-buffer revA fileA) (get-file-buffer fileA)) + (if revA (magit-find-file-noselect revA fileA) (find-file-noselect fileA))) + ((if revB (magit-get-revision-buffer revB fileB) (get-file-buffer fileB)) + (if revB (magit-find-file-noselect revB fileB) (find-file-noselect fileB))))) (defun magit-ediff-compare--read-revisions (&optional arg mbase) (let ((input (or arg (magit-diff-read-range-or-commit @@ -317,7 +438,7 @@ mind at all, then it asks the user for a command to run." ((and (guard (not magit-ediff-dwim-show-on-hunks)) (or 'unstaged 'staged)) (setq command (if (magit-anything-unmerged-p) - #'magit-ediff-resolve + magit-ediff-dwim-resolve-function #'magit-ediff-stage))) ('unstaged (setq command #'magit-ediff-show-unstaged)) ('staged (setq command #'magit-ediff-show-staged)) @@ -353,7 +474,10 @@ mind at all, then it asks the user for a command to run." (?c "[c]ommit" #'magit-ediff-show-commit) (?r "[r]ange" #'magit-ediff-compare) (?s "[s]tage" #'magit-ediff-stage) - (?v "resol[v]e" #'magit-ediff-resolve)))) + (?m "[m] resolve remaining conflicts" + #'magit-ediff-resolve-rest) + (?M "[M] resolve all conflicts" + #'magit-ediff-resolve-all)))) ((eq command #'magit-ediff-compare) (apply #'magit-ediff-compare revA revB (magit-ediff-read-files revA revB file))) @@ -378,11 +502,10 @@ FILE must be relative to the top directory of the repository." (list (magit-read-file-choice "Show staged changes for file" (magit-staged-files) "No staged files"))) - (magit-ediff-buffers nil - ((magit-get-revision-buffer "HEAD" file) - (magit-find-file-noselect "HEAD" file)) - ((get-buffer (concat file ".~{index}~")) - (magit-find-file-index-noselect file t)))) + (magit-ediff-buffers ((magit-get-revision-buffer "HEAD" file) + (magit-find-file-noselect "HEAD" file)) + ((get-buffer (concat file ".~{index}~")) + (magit-find-file-index-noselect file t)))) ;;;###autoload (defun magit-ediff-show-unstaged (file) @@ -396,11 +519,10 @@ FILE must be relative to the top directory of the repository." (list (magit-read-file-choice "Show unstaged changes for file" (magit-unstaged-files) "No unstaged files"))) - (magit-ediff-buffers nil - ((get-buffer (concat file ".~{index}~")) - (magit-find-file-index-noselect file t)) - ((get-file-buffer file) - (find-file-noselect file)))) + (magit-ediff-buffers ((get-buffer (concat file ".~{index}~")) + (magit-find-file-index-noselect file t)) + ((get-file-buffer file) + (find-file-noselect file)))) ;;;###autoload (defun magit-ediff-show-working-tree (file) @@ -410,11 +532,10 @@ FILE must be relative to the top directory of the repository." (list (magit-read-file-choice "Show changes in file" (magit-changed-files "HEAD") "No changed files"))) - (magit-ediff-buffers nil - ((magit-get-revision-buffer "HEAD" file) - (magit-find-file-noselect "HEAD" file)) - ((get-file-buffer file) - (find-file-noselect file)))) + (magit-ediff-buffers ((magit-get-revision-buffer "HEAD" file) + (magit-find-file-noselect "HEAD" file)) + ((get-file-buffer file) + (find-file-noselect file)))) ;;;###autoload (defun magit-ediff-show-commit (commit) @@ -440,13 +561,13 @@ stash that were staged." (fileB fileC)) (if (and magit-ediff-show-stash-with-index (member fileA (magit-changed-files revB revA))) - (magit-ediff-buffers nil - ((magit-get-revision-buffer revA fileA) - (magit-find-file-noselect revA fileA)) - ((magit-get-revision-buffer revB fileB) - (magit-find-file-noselect revB fileB)) - ((magit-get-revision-buffer revC fileC) - (magit-find-file-noselect revC fileC))) + (magit-ediff-buffers + ((magit-get-revision-buffer revA fileA) + (magit-find-file-noselect revA fileA)) + ((magit-get-revision-buffer revB fileB) + (magit-find-file-noselect revB fileB)) + ((magit-get-revision-buffer revC fileC) + (magit-find-file-noselect revC fileC))) (magit-ediff-compare revA revC fileA fileC)))) (defun magit-ediff-cleanup-auxiliary-buffers () diff --git a/code/elpa/magit-20220425.1153/magit-extras.el b/code/elpa/magit-20220803.2341/magit-extras.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-extras.el rename to code/elpa/magit-20220803.2341/magit-extras.el index c1a11d8..8308cd8 100644 --- a/code/elpa/magit-20220425.1153/magit-extras.el +++ b/code/elpa/magit-20220803.2341/magit-extras.el @@ -50,7 +50,8 @@ (transient-define-prefix magit-git-mergetool (file args &optional transient) "Resolve conflicts in FILE using \"git mergetool --gui\". With a prefix argument allow changing ARGS using a transient -popup." +popup. See info node `(magit) Ediffing' for information about +alternative commands." :man-page "git-mergetool" ["Settings" ("-t" magit-git-mergetool:--tool) diff --git a/code/elpa/magit-20220425.1153/magit-fetch.el b/code/elpa/magit-20220803.2341/magit-fetch.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-fetch.el rename to code/elpa/magit-20220803.2341/magit-fetch.el diff --git a/code/elpa/magit-20220425.1153/magit-files.el b/code/elpa/magit-20220803.2341/magit-files.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-files.el rename to code/elpa/magit-20220803.2341/magit-files.el index 2660898..c1a150f 100644 --- a/code/elpa/magit-20220425.1153/magit-files.el +++ b/code/elpa/magit-20220803.2341/magit-files.el @@ -179,7 +179,8 @@ then only after asking. A non-nil value for REVERT is ignored if REV is (after-change-major-mode-hook (remq 'global-diff-hl-mode-enable-in-buffers after-change-major-mode-hook))) - (normal-mode t)) + (delay-mode-hooks + (normal-mode t))) (setq buffer-read-only t) (set-buffer-modified-p nil) (goto-char (point-min)))) diff --git a/code/elpa/magit-20220425.1153/magit-git.el b/code/elpa/magit-20220803.2341/magit-git.el similarity index 96% rename from code/elpa/magit-20220425.1153/magit-git.el rename to code/elpa/magit-20220803.2341/magit-git.el index 65fa1b4..297a63e 100644 --- a/code/elpa/magit-20220425.1153/magit-git.el +++ b/code/elpa/magit-20220803.2341/magit-git.el @@ -59,13 +59,6 @@ (defvar magit-this-error) (defvar magit-process-error-message-regexps) -;; From later in `magit-git'. -(defvar magit-tramp-process-environment nil) - -;; From `magit-blame'. -(declare-function magit-current-blame-chunk "magit-blame" - (&optional type noerror)) - (eval-when-compile (cl-pushnew 'orig-rev eieio--known-slot-names) (cl-pushnew 'number eieio--known-slot-names)) @@ -205,26 +198,6 @@ purpose." :group 'magit-process :type '(repeat string)) -(defvar magit-git-debug nil - "Whether to enable additional reporting of git errors. - -Magit basically calls git for one of these two reasons: for -side-effects or to do something with its standard output. - -When git is run for side-effects then its output, including error -messages, go into the process buffer which is shown when using \ -\\\\[magit-process]. - -When git's output is consumed in some way, then it would be too -expensive to also insert it into this buffer, but when this -option is non-nil and git returns with a non-zero exit status, -then at least its standard error is inserted into this buffer. - -This is only intended for debugging purposes. Do not enable this -permanently, that would negatively affect performance. - -Also see `magit-process-extreme-logging'.") - (defcustom magit-prefer-remote-upstream nil "Whether to favor remote branches when reading the upstream branch. @@ -260,13 +233,13 @@ This affects commands that read a ref. More specifically, it controls the order of refs returned by `magit-list-refs', which is called by functions like `magit-list-branch-names' to generate the collection of refs. By default, refs are sorted according to -their full refname (i.e., 'refs/...'). +their full refname (i.e., \"refs/...\"). -Any value accepted by the `--sort' flag of `git for-each-ref' can +Any value accepted by the `--sort' flag of \"git for-each-ref\" can be used. For example, \"-creatordate\" places refs with more recent committer or tagger dates earlier in the list. A list of strings can also be given in order to pass multiple sort keys to -`git for-each-ref'. +\"git for-each-ref\". Note that, depending on the completion framework you use, this may not be sufficient to change the order in which the refs are @@ -280,6 +253,43 @@ framework ultimately determines how the collection is displayed." ;;; Git +(defvar magit-git-debug nil + "Whether to enable additional reporting of git errors. + +Magit basically calls git for one of these two reasons: for +side-effects or to do something with its standard output. + +When git is run for side-effects then its output, including error +messages, go into the process buffer which is shown when using \ +\\\\[magit-process]. + +When git's output is consumed in some way, then it would be too +expensive to also insert it into this buffer, but when this +option is non-nil and git returns with a non-zero exit status, +then at least its standard error is inserted into this buffer. + +This is only intended for debugging purposes. Do not enable this +permanently, that would negatively affect performance. Also note +that just because git exits with a non-zero exit status and prints +an error message that usually doesn't mean that it is an error as +far as Magit is concerned, which is another reason we usually hide +these error messages. Whether some error message is relevant in +the context of some unexpected behavior has to be judged on a case +by case basis. + +The command `magit-toggle-git-debug' changes the value of this +variable. + +Also see `magit-process-extreme-logging'.") + +(defun magit-toggle-git-debug () + "Toggle whether additional git errors are reported. +See info node `(magit)Debugging Tools' for more information." + (interactive) + (setq magit-git-debug (not magit-git-debug)) + (message "Additional reporting of Git errors %s" + (if magit-git-debug "enabled" "disabled"))) + (defvar magit--refresh-cache nil) (defmacro magit--with-refresh-cache (key &rest body) @@ -354,7 +364,7 @@ to do the following. * Flatten ARGS, removing nil arguments. * Prepend `magit-git-global-arguments' to ARGS. * On w32 systems, encode to `w32-ansi-code-page'." - (setq args (append magit-git-global-arguments (-flatten args))) + (setq args (append magit-git-global-arguments (flatten-tree args))) (if (and (eq system-type 'windows-nt) (boundp 'w32-ansi-code-page)) ;; On w32, the process arguments *must* be encoded in the ;; current code-page (see #3250). @@ -429,7 +439,7 @@ still subject to major changes. Also see `magit-git-string-p'." If there is no output, return nil. If the output begins with a newline, return an empty string. Like `magit-git-string' but ignore `magit-git-debug'." - (setq args (-flatten args)) + (setq args (flatten-tree args)) (magit--with-refresh-cache (cons default-directory args) (magit--with-temp-process-buffer (magit-process-git (list t nil) args) @@ -439,7 +449,7 @@ ignore `magit-git-debug'." (defun magit-git-output (&rest args) "Execute Git with ARGS, returning its output." - (setq args (-flatten args)) + (setq args (flatten-tree args)) (magit--with-refresh-cache (cons default-directory args) (magit--with-temp-process-buffer (magit-process-git (list t nil) args) @@ -521,7 +531,7 @@ add a section in the respective process buffer." "Execute Git with ARGS, returning the first line of its output. If there is no output, return nil. If the output begins with a newline, return an empty string." - (setq args (-flatten args)) + (setq args (flatten-tree args)) (magit--with-refresh-cache (cons default-directory args) (magit--with-temp-process-buffer (apply #'magit-git-insert args) @@ -557,7 +567,7 @@ the buffer to the inserted text, move to its beginning, and then call function WASHER with ARGS as its sole argument." (declare (indent 1)) (let ((beg (point))) - (setq args (-flatten args)) + (setq args (flatten-tree args)) (magit-git-insert args) (if (= (point) beg) (magit-cancel-section) @@ -700,9 +710,9 @@ See info node `(magit)Debugging Tools' for more information." (defun magit-config-get-from-cached-list (key) (gethash ;; `git config --list' downcases first and last components of the key. - (--> key - (replace-regexp-in-string "\\`[^.]+" #'downcase it t t) - (replace-regexp-in-string "[^.]+\\'" #'downcase it t t)) + (let* ((key (replace-regexp-in-string "\\`[^.]+" #'downcase key t t)) + (key (replace-regexp-in-string "[^.]+\\'" #'downcase key t t))) + key) (magit--with-refresh-cache (cons (magit-toplevel) 'config) (let ((configs (make-hash-table :test #'equal))) (dolist (conf (magit-git-items "config" "--list" "-z")) @@ -908,14 +918,14 @@ returning the truename." ;; Step outside the control directory to enter the working tree. (file-name-directory (directory-file-name gitdir))))))))))) +(defun magit--toplevel-safe () + (or (magit-toplevel) + (magit--not-inside-repository-error))) + (defmacro magit-with-toplevel (&rest body) (declare (indent defun) (debug (body))) - (let ((toplevel (cl-gensym "toplevel"))) - `(let ((,toplevel (magit-toplevel))) - (if ,toplevel - (let ((default-directory ,toplevel)) - ,@body) - (magit--not-inside-repository-error))))) + `(let ((default-directory (magit--toplevel-safe))) + ,@body)) (define-error 'magit-outside-git-repo "Not inside Git repository") (define-error 'magit-corrupt-git-config "Corrupt Git configuration") @@ -1092,10 +1102,20 @@ range. Otherwise, it can be any revision or range accepted by (magit-git-items "diff" "-z" "--name-only" rev-or-range other-rev))) (defun magit-renamed-files (revA revB) - (--map (cons (nth 1 it) (nth 2 it)) - (-partition 3 (magit-git-items - "diff-tree" "-r" "--diff-filter=R" "-z" "-M" - revA revB)))) + (mapcar (pcase-lambda (`(,_status ,fileA ,fileB)) + (cons fileA fileB)) + (seq-partition (magit-git-items "diff" "-z" "--name-status" + "--find-renames" + "--diff-filter=R" revA revB) + 3))) + +(defun magit--rev-file-name (file rev other-rev) + "For FILE, potentially renamed between REV and OTHER-REV, return name in REV. +Return nil, if FILE appears neither in REV nor OTHER-REV, +or if no rename is detected." + (or (car (member file (magit-revision-files rev))) + (and-let* ((renamed (magit-renamed-files rev other-rev))) + (car (rassoc file renamed))))) (defun magit-file-status (&rest args) (magit--with-temp-process-buffer @@ -1142,10 +1162,10 @@ Sorted from longest to shortest CYGWIN name." (defun magit-expand-git-file-name (filename) (unless (file-name-absolute-p filename) (setq filename (expand-file-name filename))) - (-if-let ((cyg . win) - (cl-assoc filename magit-cygwin-mount-points - :test (lambda (f cyg) (string-prefix-p cyg f)))) - (concat win (substring filename (length cyg))) + (if-let ((cyg:win (cl-assoc filename magit-cygwin-mount-points + :test (lambda (f cyg) (string-prefix-p cyg f))))) + (concat (cdr cyg:win) + (substring filename (length (car cyg:win)))) filename)) (defun magit-convert-filename-for-git (filename) @@ -1155,10 +1175,10 @@ Sorted from longest to shortest CYGWIN name." 2. If it's a remote filename, then remove the remote part. 3. Deal with an `windows-nt' Emacs vs. Cygwin Git incompatibility." (if (file-name-absolute-p filename) - (-if-let ((cyg . win) - (cl-rassoc filename magit-cygwin-mount-points - :test (lambda (f win) (string-prefix-p win f)))) - (concat cyg (substring filename (length win))) + (if-let ((cyg:win (cl-rassoc filename magit-cygwin-mount-points + :test (lambda (f win) (string-prefix-p win f))))) + (concat (car cyg:win) + (substring filename (length (cdr cyg:win)))) (let ((expanded (expand-file-name filename))) (or (file-remote-p expanded 'localname) expanded))) @@ -1287,10 +1307,10 @@ string \"true\", otherwise return nil." (defun magit--rev-dereference (rev) "Return a rev that forces Git to interpret REV as a commit. -If REV has the form \":/TEXT\", instead return it as-is" - (if (string-match-p "^:/" rev) - rev - (concat rev "^{commit}"))) +If REV is nil or has the form \":/TEXT\", return REV itself." + (cond ((not rev) nil) + ((string-match-p "^:/" rev) rev) + (t (concat rev "^{commit}")))) (defun magit-rev-equal (a b) "Return t if there are no differences between the commits A and B." @@ -1493,7 +1513,9 @@ to, or to some other symbolic-ref that points to the same ref." (defun magit-commit-at-point () (or (magit-section-value-if 'commit) (magit-thing-at-point 'git-revision t) - (and-let* ((chunk (magit-current-blame-chunk 'addition t))) + (and-let* ((chunk (and (bound-and-true-p magit-blame-mode) + (fboundp 'magit-current-blame-chunk) + (magit-current-blame-chunk 'addition t)))) (oref chunk orig-rev)) (and (derived-mode-p 'magit-stash-mode 'magit-merge-preview-mode @@ -1513,7 +1535,9 @@ to, or to some other symbolic-ref that points to the same ref." (magit-ref-p (format "refs/pullreqs/%s" (oref (oref it value) number)))))) (magit-thing-at-point 'git-revision t) - (and-let* ((chunk (magit-current-blame-chunk 'addition t))) + (and-let* ((chunk (and (bound-and-true-p magit-blame-mode) + (fboundp 'magit-current-blame-chunk) + (magit-current-blame-chunk 'addition t)))) (oref chunk orig-rev)) (and magit-buffer-file-name magit-buffer-refname) @@ -2111,7 +2135,9 @@ Return a list of two integers: (A>B B>A)." (car (split-string (buffer-string)))))) (defun magit-rev-format (format &optional rev args) - (let ((str (magit-git-string "show" "--no-patch" + ;; Prefer `git log --no-walk' to `git show --no-patch' because it + ;; performs better in some scenarios. + (let ((str (magit-git-string "log" "--no-walk" (concat "--format=" format) args (if rev (magit--rev-dereference rev) "HEAD") "--"))) @@ -2119,7 +2145,9 @@ Return a list of two integers: (A>B B>A)." str))) (defun magit-rev-insert-format (format &optional rev args) - (magit-git-insert "show" "--no-patch" + ;; Prefer `git log --no-walk' to `git show --no-patch' because it + ;; performs better in some scenarios. + (magit-git-insert "log" "--no-walk" (concat "--format=" format) args (if rev (magit--rev-dereference rev) "HEAD") "--")) @@ -2240,13 +2268,13 @@ and this option only controls what face is used.") (setq upstream target) (setq combined (delete target combined)))))) (mapconcat #'identity - (-flatten `(,state - ,head - ,upstream - ,@(nreverse tags) - ,@(nreverse combined) - ,@(nreverse remotes) - ,@other)) + (flatten-tree `(,state + ,head + ,upstream + ,@(nreverse tags) + ,@(nreverse combined) + ,@(nreverse remotes) + ,@other)) " "))))) (defun magit-object-type (object) @@ -2264,6 +2292,8 @@ and this option only controls what face is used.") (point-min) (point-max) buffer-file-name t nil nil t) ,@body))) +(defvar magit-tramp-process-environment nil) + (defmacro magit-with-temp-index (tree arg &rest body) (declare (indent 2) (debug (form form body))) (let ((file (cl-gensym "file"))) @@ -2343,6 +2373,21 @@ and this option only controls what face is used.") (magit-rev-hash (match-string 3 range))) (magit-rev-hash range))) +(defvar magit-revision-faces + '(magit-hash + magit-tag + magit-branch-remote + magit-branch-remote-head + magit-branch-local + magit-branch-current + magit-branch-upstream + magit-branch-warning + magit-head + magit-refname + magit-refname-stash + magit-refname-wip + magit-refname-pullreq)) + (put 'git-revision 'thing-at-point #'magit-thingatpt--git-revision) (defun magit-thingatpt--git-revision () (and-let* ((bounds @@ -2360,7 +2405,10 @@ and this option only controls what face is used.") (and (or (and (>= (length string) 7) (string-match-p "[a-z]" string) (magit-commit-p string)) - (magit-ref-p string)) + (and (magit-ref-p string) + (let ((face (get-text-property (point) 'face))) + (or (not face) + (member face magit-revision-faces))))) string))) ;;; Completion diff --git a/code/elpa/magit-20220425.1153/magit-gitignore.el b/code/elpa/magit-20220803.2341/magit-gitignore.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-gitignore.el rename to code/elpa/magit-20220803.2341/magit-gitignore.el diff --git a/code/elpa/magit-20220425.1153/magit-log.el b/code/elpa/magit-20220803.2341/magit-log.el similarity index 98% rename from code/elpa/magit-20220425.1153/magit-log.el rename to code/elpa/magit-20220803.2341/magit-log.el index f6ebb54..eea1602 100644 --- a/code/elpa/magit-20220425.1153/magit-log.el +++ b/code/elpa/magit-20220803.2341/magit-log.el @@ -1,4 +1,4 @@ -;;; magit-log.el --- Inspect Git history -*- lexical-binding:t -*- +;;; magit-log.el --- Inspect Git history -*- lexical-binding:t; coding:utf-8 -*- ;; Copyright (C) 2008-2022 The Magit Project Contributors @@ -301,6 +301,14 @@ the upstream isn't ahead of the current branch) show." :group 'magit-status :type 'number) +(defcustom magit-log-merged-commit-count 20 + "How many surrounding commits to show for `magit-log-merged'. +`magit-log-merged' will shows approximately half of this number +commits before and half after." + :package-version '(magit . "3.3.0") + :group 'magit-log + :type 'integer) + ;;; Arguments ;;;; Prefix Classes @@ -453,8 +461,8 @@ the upstream isn't ahead of the current branch) show." ("H" "HEAD" magit-reflog-head) ("O" "other" magit-reflog-other)] [:if (lambda () - (require 'magit-wip) - (magit--any-wip-mode-enabled-p)) + (and (fboundp 'magit--any-wip-mode-enabled-p) + (magit--any-wip-mode-enabled-p))) :description "Wiplog" ("i" "index" magit-wip-log-index) ("w" "worktree" magit-wip-log-worktree)] @@ -509,8 +517,8 @@ the upstream isn't ahead of the current branch) show." ("s" "buffer and set defaults" transient-set :transient nil) ("w" "buffer and save defaults" transient-save :transient nil)] ["Margin" - ("L" "toggle visibility" magit-toggle-margin) - ("l" "cycle style" magit-cycle-margin-style) + ("L" "toggle visibility" magit-toggle-margin :transient t) + ("l" "cycle style" magit-cycle-margin-style :transient t) ("d" "toggle details" magit-toggle-margin-details) ("x" "toggle shortstat" magit-toggle-log-margin-style)] [:if-mode magit-log-mode @@ -807,9 +815,9 @@ restrict the log to the lines that the region touches." "Show log for the merge of COMMIT into BRANCH. More precisely, find merge commit M that brought COMMIT into -BRANCH, and show the log of the range \"M^1..M\". If COMMIT is -directly on BRANCH, then show approximately twenty surrounding -commits instead. +BRANCH, and show the log of the range \"M^1..M\". If COMMIT is +directly on BRANCH, then show approximately +`magit-log-merged-commit-count' surrounding commits instead. This command requires git-when-merged, which is available from https://github.com/mhagger/git-when-merged." @@ -831,10 +839,14 @@ https://github.com/mhagger/git-when-merged." (if (zerop exit) (magit-log-setup-buffer (list (format "%s^1..%s" m m)) args files nil commit) - (setq m (string-trim m)) + ;; Output: "". + ;; This is not the same as `string-trim'. + (setq m (string-trim-left (substring m (string-match " " m)))) (if (equal m "Commit is directly on this branch.") - (let* ((from (concat commit "~10")) - (to (- (car (magit-rev-diff-count branch commit)) 10)) + (let* ((from (format "%s~%d" commit + (/ magit-log-merged-commit-count 2))) + (to (- (car (magit-rev-diff-count branch commit)) + (/ magit-log-merged-commit-count 2))) (to (if (<= to 0) branch (format "%s~%s" branch to)))) @@ -1228,7 +1240,7 @@ Do not add this to a hook variable." (defvar magit-log-format-message-function #'magit-log-propertize-keywords) (defun magit-log-wash-log (style args) - (setq args (-flatten args)) + (setq args (flatten-tree args)) (when (and (member "--graph" args) (member "--color" args)) (let ((ansi-color-apply-face-function @@ -1775,7 +1787,7 @@ keymap is the parent of their keymaps.") (cl-defmethod magit-section-ident-value ((section magit-unpulled-section)) "\"..@{push}\" cannot be used as the value because that is -ambigious if `push.default' does not allow a 1:1 mapping, and +ambiguous if `push.default' does not allow a 1:1 mapping, and many commands would fail because of that. But here that does not matter and we need an unique value so we use that string in the pushremote case." @@ -1820,7 +1832,7 @@ in the pushremote case." (cl-defmethod magit-section-ident-value ((section magit-unpushed-section)) "\"..@{push}\" cannot be used as the value because that is -ambigious if `push.default' does not allow a 1:1 mapping, and +ambiguous if `push.default' does not allow a 1:1 mapping, and many commands would fail because of that. But here that does not matter and we need an unique value so we use that string in the pushremote case." diff --git a/code/elpa/magit-20220425.1153/magit-margin.el b/code/elpa/magit-20220803.2341/magit-margin.el similarity index 98% rename from code/elpa/magit-20220425.1153/magit-margin.el rename to code/elpa/magit-20220803.2341/magit-margin.el index 4eb722a..ef3b380 100644 --- a/code/elpa/magit-20220425.1153/magit-margin.el +++ b/code/elpa/magit-20220803.2341/magit-margin.el @@ -33,6 +33,8 @@ (require 'magit-transient) (require 'magit-mode) +;;; Options + (defgroup magit-margin nil "Information Magit displays in the margin. @@ -60,8 +62,8 @@ does not carry to other options." "Change what information is displayed in the margin." :info-manual "(magit) Log Margin" ["Margin" - ("L" "Toggle visibility" magit-toggle-margin) - ("l" "Cycle style" magit-cycle-margin-style) + ("L" "Toggle visibility" magit-toggle-margin :transient t) + ("l" "Cycle style" magit-cycle-margin-style :transient t) ("d" "Toggle details" magit-toggle-margin-details) ("v" "Change verbosity" magit-refs-set-show-commit-count :if-derived magit-refs-mode)]) diff --git a/code/elpa/magit-20220425.1153/magit-merge.el b/code/elpa/magit-20220803.2341/magit-merge.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-merge.el rename to code/elpa/magit-20220803.2341/magit-merge.el diff --git a/code/elpa/magit-20220425.1153/magit-mode.el b/code/elpa/magit-20220803.2341/magit-mode.el similarity index 89% rename from code/elpa/magit-20220425.1153/magit-mode.el rename to code/elpa/magit-20220803.2341/magit-mode.el index d47768f..73718c0 100644 --- a/code/elpa/magit-20220425.1153/magit-mode.el +++ b/code/elpa/magit-20220803.2341/magit-mode.el @@ -35,24 +35,6 @@ (require 'help-mode) (require 'transient) -;; For `magit-display-buffer-fullcolumn-most-v1' from `git-commit' -(defvar git-commit-mode) -;; For `magit-refresh' -(defvar magit-post-commit-hook-commands) -(defvar magit-post-stage-hook-commands) -(defvar magit-post-unstage-hook-commands) -;; For `magit-refresh' and `magit-refresh-all' -(declare-function magit-auto-revert-buffers "magit-autorevert" ()) -;; For `magit-refresh-buffer' -(declare-function magit-process-unset-mode-line-error-status "magit-process" ()) -;; For `magit-refresh-get-relative-position' -(declare-function magit-hunk-section-p "magit-diff" (section) t) -;; For `magit-mode-setup-internal' -(declare-function magit-status-goto-initial-section "magit-status" ()) -;; For `magit-mode' -(defvar bookmark-make-record-function) -(declare-function magit--make-bookmark "magit-bookmark" ()) - ;;; Options (defcustom magit-mode-hook @@ -94,7 +76,11 @@ inside your function." :type 'hook :options '(magit-maybe-save-repository-buffers)) -(defcustom magit-post-refresh-hook nil +(defcustom magit-post-refresh-hook + '(magit-auto-revert-buffers + magit-run-post-commit-hook + magit-run-post-stage-hook + magit-run-post-unstage-hook) "Hook run after refreshing in `magit-refresh'. This hook, or `magit-pre-refresh-hook', should be used @@ -105,7 +91,11 @@ To run a function with a particular buffer current, use inside your function." :package-version '(magit . "2.4.0") :group 'magit-refresh - :type 'hook) + :type 'hook + :options '(magit-auto-revert-buffers + magit-run-post-commit-hook + magit-run-post-stage-hook + magit-run-post-unstage-hook)) (defcustom magit-display-buffer-function #'magit-display-buffer-traditional "The function used to display a Magit buffer. @@ -509,7 +499,7 @@ which visits the thing at point using `browse-url'." ["Worktree..." magit-worktree t]) "---" ["Show command dispatcher..." magit-dispatch t] - ["Show manual" magit-help t] + ["Show manual" magit-info t] ["Show another buffer" magit-display-repository-buffer t] "---" ("Change buffer arguments" @@ -614,8 +604,7 @@ your mode instead of adding an entry to this variable.") (section (and buffer (magit-current-section))) (created (not buffer))) (unless buffer - (setq buffer (magit-with-toplevel - (magit-generate-new-buffer mode value)))) + (setq buffer (magit-generate-new-buffer mode value))) (with-current-buffer buffer (setq magit-previous-section section) (funcall mode) @@ -623,7 +612,6 @@ your mode instead of adding an entry to this variable.") (pcase-dolist (`(,var ,val) bindings) (set (make-local-variable var) val)) (when created - (magit-status-goto-initial-section) (run-hooks 'magit-create-buffer-hook))) (magit-display-buffer buffer) (with-current-buffer buffer @@ -652,8 +640,7 @@ locked to its value, which is derived from MODE and ARGS." (section (and buffer (magit-current-section))) (created (not buffer))) (unless buffer - (setq buffer (magit-with-toplevel - (magit-generate-new-buffer mode value)))) + (setq buffer (magit-generate-new-buffer mode value))) (with-current-buffer buffer (setq magit-previous-section section) (with-no-warnings @@ -661,7 +648,6 @@ locked to its value, which is derived from MODE and ARGS." (funcall mode) (magit-xref-setup 'magit-mode-setup-internal args) (when created - (magit-status-goto-initial-section) (run-hooks 'magit-create-buffer-hook))) (magit-display-buffer buffer) (with-current-buffer buffer @@ -800,7 +786,7 @@ the mode of the current buffer derives from `magit-log-mode' or `magit-cherry-mode'." (display-buffer buffer - (cond ((and (or git-commit-mode + (cond ((and (or (bound-and-true-p git-commit-mode) (derived-mode-p 'magit-log-mode 'magit-cherry-mode 'magit-reflog-mode)) @@ -861,48 +847,47 @@ If `visible', then only consider buffers on all visible frames. If `selected' or t, then only consider buffers on the selected frame. If a frame, then only consider buffers on that frame." - (if-let ((topdir (magit-toplevel))) - (cl-flet* ((b (buffer) - (with-current-buffer buffer - (and (eq major-mode mode) - (equal magit--default-directory topdir) - (if value - (and magit-buffer-locked-p - (equal (magit-buffer-value) value)) - (not magit-buffer-locked-p)) - buffer))) - (w (window) - (b (window-buffer window))) - (f (frame) - (seq-some #'w (window-list frame 'no-minibuf)))) - (pcase-exhaustive frame - ('nil (seq-some #'b (buffer-list))) - ('all (seq-some #'f (frame-list))) - ('visible (seq-some #'f (visible-frame-list))) - ((or 'selected 't) (seq-some #'w (window-list (selected-frame)))) - ((guard (framep frame)) (seq-some #'w (window-list frame))))) - (magit--not-inside-repository-error))) + (let ((topdir (magit--toplevel-safe))) + (cl-flet* ((b (buffer) + (with-current-buffer buffer + (and (eq major-mode mode) + (equal magit--default-directory topdir) + (if value + (and magit-buffer-locked-p + (equal (magit-buffer-value) value)) + (not magit-buffer-locked-p)) + buffer))) + (w (window) + (b (window-buffer window))) + (f (frame) + (seq-some #'w (window-list frame 'no-minibuf)))) + (pcase-exhaustive frame + ('nil (seq-some #'b (buffer-list))) + ('all (seq-some #'f (frame-list))) + ('visible (seq-some #'f (visible-frame-list))) + ((or 'selected 't) (seq-some #'w (window-list (selected-frame)))) + ((guard (framep frame)) (seq-some #'w (window-list frame))))))) (defun magit-mode-get-buffer (mode &optional create frame value) (declare (obsolete magit-get-mode-buffer "Magit 3.0.0")) (when create (error "`magit-mode-get-buffer's CREATE argument is obsolete")) - (if-let ((topdir (magit-toplevel))) - (--first (with-current-buffer it - (and (eq major-mode mode) - (equal magit--default-directory topdir) - (if value - (and magit-buffer-locked-p - (equal (magit-buffer-value) value)) - (not magit-buffer-locked-p)))) - (if frame - (mapcar #'window-buffer - (window-list (unless (eq frame t) frame))) - (buffer-list))) - (magit--not-inside-repository-error))) + (let ((topdir (magit--toplevel-safe))) + (--first (with-current-buffer it + (and (eq major-mode mode) + (equal magit--default-directory topdir) + (if value + (and magit-buffer-locked-p + (equal (magit-buffer-value) value)) + (not magit-buffer-locked-p)))) + (if frame + (mapcar #'window-buffer + (window-list (unless (eq frame t) frame))) + (buffer-list))))) -(defun magit-generate-new-buffer (mode &optional value) - (let* ((name (funcall magit-generate-buffer-name-function mode value)) +(defun magit-generate-new-buffer (mode &optional value directory) + (let* ((default-directory (or directory (magit--toplevel-safe))) + (name (funcall magit-generate-buffer-name-function mode value)) (buffer (generate-new-buffer name))) (with-current-buffer buffer (setq magit--default-directory default-directory) @@ -1048,15 +1033,6 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (magit-get-mode-buffer 'magit-status-mode)) (with-current-buffer it (magit-refresh-buffer))) - (magit-auto-revert-buffers) - (cond - ((and (not this-command) - (memq last-command magit-post-commit-hook-commands)) - (magit-run-hook-with-benchmark 'magit-post-commit-hook)) - ((memq this-command magit-post-stage-hook-commands) - (magit-run-hook-with-benchmark 'magit-post-stage-hook)) - ((memq this-command magit-post-unstage-hook-commands) - (magit-run-hook-with-benchmark 'magit-post-unstage-hook))) (magit-run-hook-with-benchmark 'magit-post-refresh-hook) (when magit-refresh-verbose (let* ((c (caar magit--refresh-cache)) @@ -1078,7 +1054,6 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (magit-run-hook-with-benchmark 'magit-pre-refresh-hook) (dolist (buffer (magit-mode-get-buffers)) (with-current-buffer buffer (magit-refresh-buffer))) - (magit-auto-revert-buffers) (magit-run-hook-with-benchmark 'magit-post-refresh-hook)) (defvar-local magit-refresh-start-time nil) @@ -1100,7 +1075,8 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (and-let* ((section (magit-section-at))) `(( ,window ,section - ,@(magit-refresh-get-relative-position))))))) + ,@(magit-section-get-relative-position + section))))))) ;; If it qualifies, then the selected window ;; comes first, but we want to handle it last ;; so that its `magit-section-movement-hook' @@ -1112,7 +1088,6 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (setq magit-section-highlight-overlays nil) (setq magit-section-highlighted-sections nil) (setq magit-section-unhighlight-sections nil) - (magit-process-unset-mode-line-error-status) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion @@ -1132,34 +1107,12 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (float-time (time-subtract (current-time) magit-refresh-start-time))))))) -(defun magit-refresh-get-relative-position () - (and-let* ((section (magit-current-section)) - (start (oref section start)) - (point (magit-point))) - (list (- (line-number-at-pos point) - (line-number-at-pos start)) - (- point (line-beginning-position)) - (and (magit-hunk-section-p section) - (region-active-p) - (progn (goto-char (line-beginning-position)) - (when (looking-at "^[-+]") (forward-line)) - (while (looking-at "^[ @]") (forward-line)) - (let ((beg point)) - (cond ((looking-at "^[-+]") - (forward-line) - (while (looking-at "^[-+]") (forward-line)) - (while (looking-at "^ ") (forward-line)) - (forward-line -1) - (regexp-quote (buffer-substring-no-properties - beg (line-end-position)))) - (t t)))))))) - ;;; Save File-Visiting Buffers -(defvar disable-magit-save-buffers nil) +(defvar magit--disable-save-buffers nil) (defun magit-pre-command-hook () - (setq disable-magit-save-buffers nil)) + (setq magit--disable-save-buffers nil)) (add-hook 'pre-command-hook #'magit-pre-command-hook) (defvar magit-after-save-refresh-buffers nil) @@ -1185,7 +1138,7 @@ Note that refreshing a Magit buffer is done by re-creating its contents from scratch, which can be slow in large repositories. If you are not satisfied with Magit's performance, then you should obviously not add this function to that hook." - (when (and (not disable-magit-save-buffers) + (when (and (not magit--disable-save-buffers) (magit-inside-worktree-p t)) (--when-let (ignore-errors (magit-get-mode-buffer 'magit-status-mode)) (add-to-list 'magit-after-save-refresh-buffers it) @@ -1197,8 +1150,8 @@ Do so if `magit-save-repository-buffers' is non-nil. You should not remove this from any hooks, instead set that variable to nil if you so desire." (when (and magit-save-repository-buffers - (not disable-magit-save-buffers)) - (setq disable-magit-save-buffers t) + (not magit--disable-save-buffers)) + (setq magit--disable-save-buffers t) (let ((msg (current-message))) (magit-save-repository-buffers (eq magit-save-repository-buffers 'dontask)) @@ -1521,6 +1474,87 @@ mentioned caches completely." (substring heading 0 (match-beginning 0))) (t heading))))) +;;; Bookmark support + +(declare-function bookmark-get-filename "bookmark" (bookmark-name-or-record)) +(declare-function bookmark-make-record-default "bookmark" + (&optional no-file no-context posn)) +(declare-function bookmark-prop-get "bookmark" (bookmark-name-or-record prop)) +(declare-function bookmark-prop-set "bookmark" (bookmark-name-or-record prop val)) + +(defun magit--make-bookmark () + "Create a bookmark for the current Magit buffer. +Input values are the major-mode's `magit-bookmark-name' method, +and the buffer-local values of the variables referenced in its +`magit-bookmark-variables' property." + (require 'bookmark) + (if (plist-member (symbol-plist major-mode) 'magit-bookmark-variables) + ;; `bookmark-make-record-default's return value does not match + ;; (NAME . ALIST), even though it is used as the default value + ;; of `bookmark-make-record-function', which states that such + ;; functions must do that. See #4356. + (let ((bookmark (cons nil (bookmark-make-record-default 'no-file)))) + (bookmark-prop-set bookmark 'handler #'magit--handle-bookmark) + (bookmark-prop-set bookmark 'mode major-mode) + (bookmark-prop-set bookmark 'filename (magit-toplevel)) + (bookmark-prop-set bookmark 'defaults (list (magit-bookmark-name))) + (dolist (var (get major-mode 'magit-bookmark-variables)) + (bookmark-prop-set bookmark var (symbol-value var))) + (bookmark-prop-set + bookmark 'magit-hidden-sections + (--keep (and (oref it hidden) + (cons (oref it type) + (if (derived-mode-p 'magit-stash-mode) + (string-replace magit-buffer-revision + magit-buffer-revision-hash + (oref it value)) + (oref it value)))) + (oref magit-root-section children))) + bookmark) + (user-error "Bookmarking is not implemented for %s buffers" major-mode))) + +(defun magit--handle-bookmark (bookmark) + "Open a bookmark created by `magit--make-bookmark'. +Call the `magit-*-setup-buffer' function of the the major-mode +with the variables' values as arguments, which were recorded by +`magit--make-bookmark'. Ignore `magit-display-buffer-function'." + (let ((buffer (let ((default-directory (bookmark-get-filename bookmark)) + (mode (bookmark-prop-get bookmark 'mode)) + (magit-display-buffer-function #'identity) + (magit-display-buffer-noselect t)) + (apply (intern (format "%s-setup-buffer" + (substring (symbol-name mode) 0 -5))) + (--map (bookmark-prop-get bookmark it) + (get mode 'magit-bookmark-variables)))))) + (set-buffer buffer) ; That is the interface we have to adhere to. + (when-let ((hidden (bookmark-prop-get bookmark 'magit-hidden-sections))) + (with-current-buffer buffer + (dolist (child (oref magit-root-section children)) + (if (member (cons (oref child type) + (oref child value)) + hidden) + (magit-section-hide child) + (magit-section-show child))))) + ;; Compatibility with `bookmark+' package. See #4356. + (when (bound-and-true-p bmkp-jump-display-function) + (funcall bmkp-jump-display-function (current-buffer))) + nil)) + +(put 'magit--handle-bookmark 'bookmark-handler-type "Magit") + +(cl-defgeneric magit-bookmark-name () + "Return name for bookmark to current buffer." + (format "%s%s" + (substring (symbol-name major-mode) 0 -5) + (if-let ((vars (get major-mode 'magit-bookmark-variables))) + (cl-mapcan (lambda (var) + (let ((val (symbol-value var))) + (if (and val (atom val)) + (list val) + val))) + vars) + ""))) + ;;; Utilities (defun magit-toggle-verbose-refresh () diff --git a/code/elpa/magit-20220425.1153/magit-notes.el b/code/elpa/magit-20220803.2341/magit-notes.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-notes.el rename to code/elpa/magit-20220803.2341/magit-notes.el diff --git a/code/elpa/magit-20220425.1153/magit-obsolete.el b/code/elpa/magit-20220803.2341/magit-obsolete.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-obsolete.el rename to code/elpa/magit-20220803.2341/magit-obsolete.el diff --git a/code/elpa/magit-20220425.1153/magit-patch.el b/code/elpa/magit-20220803.2341/magit-patch.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-patch.el rename to code/elpa/magit-20220803.2341/magit-patch.el diff --git a/code/elpa/magit-20220425.1153/magit-pkg.el b/code/elpa/magit-20220803.2341/magit-pkg.el similarity index 74% rename from code/elpa/magit-20220425.1153/magit-pkg.el rename to code/elpa/magit-20220803.2341/magit-pkg.el index 5d05450..2ee4780 100644 --- a/code/elpa/magit-20220425.1153/magit-pkg.el +++ b/code/elpa/magit-20220803.2341/magit-pkg.el @@ -1,12 +1,12 @@ -(define-package "magit" "20220425.1153" "A Git porcelain inside Emacs." +(define-package "magit" "20220803.2341" "A Git porcelain inside Emacs." '((emacs "25.1") - (compat "28.1.0.4") + (compat "28.1.1.2") (dash "20210826") (git-commit "20220222") (magit-section "20220325") (transient "20220325") (with-editor "20220318")) - :commit "3cb7f5ba430906bded9e5d9951f5260ab25644d0" :authors + :commit "ac7fae6a9893b55ad01942d9ea5a571d44426665" :authors '(("Marius Vollmer" . "marius.vollmer@gmail.com") ("Jonas Bernoulli" . "jonas@bernoul.li")) :maintainer diff --git a/code/elpa/magit-20220425.1153/magit-process.el b/code/elpa/magit-20220803.2341/magit-process.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-process.el rename to code/elpa/magit-20220803.2341/magit-process.el index 795a134..2aa8167 100644 --- a/code/elpa/magit-20220425.1153/magit-process.el +++ b/code/elpa/magit-20220803.2341/magit-process.el @@ -300,8 +300,8 @@ optional NODISPLAY is non-nil also display it." (and (eq major-mode 'magit-process-mode) (equal default-directory topdir))) (buffer-list)) - (let ((default-directory topdir)) - (magit-generate-new-buffer 'magit-process-mode))))) + (magit-generate-new-buffer 'magit-process-mode + nil topdir)))) (with-current-buffer buffer (if magit-root-section (when magit-process-log-max @@ -485,7 +485,7 @@ and still alive), as well as the respective Magit status buffer. See `magit-start-process' for more information." (message "Running %s %s" (magit-git-executable) - (let ((m (mapconcat #'identity (-flatten args) " "))) + (let ((m (mapconcat #'identity (flatten-tree args) " "))) (remove-list-of-text-properties 0 (length m) '(face) m) m)) (magit-start-git nil args)) @@ -795,11 +795,11 @@ Magit status buffer." If found, return the password. Otherwise, return nil. To use this function add it to the appropriate hook - (add-hook 'magit-process-find-password-functions - 'magit-process-password-auth-source) + (add-hook \\='magit-process-find-password-functions + \\='magit-process-password-auth-source) KEY typically derives from a prompt such as: - Password for 'https://yourname@github.com' + Password for \\='https://yourname@github.com\\=' in which case it would be the string yourname@github.com which matches the ~/.authinfo.gpg entry @@ -1043,6 +1043,9 @@ If STR is supplied, it replaces the `mode-line-process' text." 'magit-mode-line-process-error)) (magit-process-unset-mode-line)))) +(add-hook 'magit-refresh-buffer-hook + #'magit-process-unset-mode-line-error-status) + (defun magit-process-unset-mode-line (&optional directory) "Remove the git command from the mode line." (let ((default-directory (or directory default-directory))) diff --git a/code/elpa/magit-20220425.1153/magit-pull.el b/code/elpa/magit-20220803.2341/magit-pull.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-pull.el rename to code/elpa/magit-20220803.2341/magit-pull.el diff --git a/code/elpa/magit-20220425.1153/magit-push.el b/code/elpa/magit-20220803.2341/magit-push.el similarity index 86% rename from code/elpa/magit-20220425.1153/magit-push.el rename to code/elpa/magit-20220803.2341/magit-push.el index c28aca5..bdf3094 100644 --- a/code/elpa/magit-20220425.1153/magit-push.el +++ b/code/elpa/magit-20220803.2341/magit-push.el @@ -281,9 +281,9 @@ these Git variables: `push.default', `remote.pushDefault', If you add this suffix to a transient prefix without explicitly specifying the description, then an attempt is made to predict -what this command will do. For example: +what this command will do. To add it use something like: - (transient-insert-suffix \\='magit-push \"p\" + (transient-insert-suffix \\='magit-push \"o\" \\='(\"i\" magit-push-implicitly))" :description #'magit-push-implicitly--desc (interactive (list (magit-push-arguments))) @@ -292,33 +292,36 @@ what this command will do. For example: (defun magit-push-implicitly--desc () (let ((default (magit-get "push.default"))) - (unless (equal default "nothing") - (or (and-let* ((remote (or (magit-get-remote) - (magit-primary-remote))) - (refspec (magit-get "remote" remote "push"))) - (format "%s using %s" - (magit--propertize-face remote 'magit-branch-remote) - (magit--propertize-face refspec 'bold))) - (and-let* ((upstream (and (not (magit-get-push-branch)) - (magit-get-upstream-branch)))) - (format "%s aka %s\n" - (magit-branch-set-face upstream) - (magit--propertize-face "@{upstream}" 'bold))) - (and-let* ((push-branch (magit-get-push-branch))) - (format "%s aka %s\n" - (magit-branch-set-face push-branch) - (magit--propertize-face "pushRemote" 'bold))) - (and-let* ((push-branch (magit-get-@{push}-branch))) - (format "%s aka %s\n" - (magit-branch-set-face push-branch) - (magit--propertize-face "@{push}" 'bold))) - (format "using %s (%s is %s)\n" - (magit--propertize-face "git push" 'bold) - (magit--propertize-face "push.default" 'bold) - (magit--propertize-face default 'bold)))))) + (or (and (equal default "nothing") + (format "nothing (%s is %s)" + (magit--propertize-face "push.default" 'bold) + (magit--propertize-face default 'bold))) + (and-let* ((remote (or (magit-get-remote) + (magit-primary-remote))) + (refspec (magit-get "remote" remote "push"))) + (format "%s using %s" + (magit--propertize-face remote 'magit-branch-remote) + (magit--propertize-face refspec 'bold))) + (and-let* ((upstream (and (not (magit-get-push-branch)) + (magit-get-upstream-branch)))) + (format "%s aka %s" + (magit-branch-set-face upstream) + (magit--propertize-face "@{upstream}" 'bold))) + (and-let* ((push-branch (magit-get-push-branch))) + (format "%s aka %s" + (magit-branch-set-face push-branch) + (magit--propertize-face "pushRemote" 'bold))) + (and-let* ((push-branch (magit-get-@{push}-branch))) + (format "%s aka %s" + (magit-branch-set-face push-branch) + (magit--propertize-face "@{push}" 'bold))) + (format "using %s (%s is %s)" + (magit--propertize-face "git push" 'bold) + (magit--propertize-face "push.default" 'bold) + (magit--propertize-face default 'bold))))) -;;;###autoload -(defun magit-push-to-remote (remote args) +;;;###autoload (autoload 'magit-push-to-remote "magit-push" nil t) +(transient-define-suffix magit-push-to-remote (remote args) "Push to REMOTE without using an explicit refspec. The REMOTE is read in the minibuffer. @@ -327,14 +330,20 @@ are the arguments specified in the popup buffer. No refspec arguments are used. Instead the behavior depends on at least these Git variables: `push.default', `remote.pushDefault', `branch..pushRemote', `branch..remote', -`branch..merge', and `remote..push'." +`branch..merge', and `remote..push'. + +You can add this command as a suffix using something like: + + (transient-insert-suffix \\='magit-push \"o\" + \\='(\"x\" magit-push-to-remote))" + :description #'magit-push-to-remote--desc (interactive (list (magit-read-remote "Push to remote") (magit-push-arguments))) (run-hooks 'magit-credential-hook) (magit-run-git-async "push" "-v" args remote)) (defun magit-push-to-remote--desc () - (format "using %s\n" (magit--propertize-face "git push " 'bold))) + (format "using %s" (magit--propertize-face "git push " 'bold))) ;;; _ (provide 'magit-push) diff --git a/code/elpa/magit-20220425.1153/magit-reflog.el b/code/elpa/magit-20220803.2341/magit-reflog.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-reflog.el rename to code/elpa/magit-20220803.2341/magit-reflog.el diff --git a/code/elpa/magit-20220425.1153/magit-refs.el b/code/elpa/magit-20220803.2341/magit-refs.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-refs.el rename to code/elpa/magit-20220803.2341/magit-refs.el index 0452e66..07b03d7 100644 --- a/code/elpa/magit-20220425.1153/magit-refs.el +++ b/code/elpa/magit-20220803.2341/magit-refs.el @@ -431,7 +431,7 @@ menu this command always behaves like `magit-show-commit'." (interactive) (if (and (derived-mode-p 'magit-refs-mode) (magit-section-match '(branch tag)) - (magit-menu-position)) + (not (magit-menu-position))) (let ((ref (oref (magit-current-section) value))) (cond (current-prefix-arg (cond ((memq 'focus-on-ref magit-visit-ref-behavior) diff --git a/code/elpa/magit-20220425.1153/magit-remote.el b/code/elpa/magit-20220803.2341/magit-remote.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-remote.el rename to code/elpa/magit-20220803.2341/magit-remote.el diff --git a/code/elpa/magit-20220425.1153/magit-repos.el b/code/elpa/magit-20220803.2341/magit-repos.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-repos.el rename to code/elpa/magit-20220803.2341/magit-repos.el index 6f9ba37..e7f63af 100644 --- a/code/elpa/magit-20220425.1153/magit-repos.el +++ b/code/elpa/magit-20220803.2341/magit-repos.el @@ -308,7 +308,7 @@ If it contains \"%s\" then the directory is substituted for that." (sort-fn sort-fn) (sort-set nil) (t t))) - (-flatten props)))) + (flatten-tree props)))) magit-repolist-columns)))) (defun magit-repolist-refresh () @@ -373,7 +373,7 @@ Usually this is just its basename." "Insert a description of the repository's `HEAD' revision." (and-let* ((v (or (magit-git-string "describe" "--tags" "--dirty") ;; If there are no tags, use the date in MELPA format. - (magit-git-string "show" "--no-patch" "--format=%cd-g%h" + (magit-rev-format "%cd-g%h" nil "--date=format:%Y%m%d.%H%M")))) (save-match-data (when (string-match magit-repolist-column-version-regexp v) diff --git a/code/elpa/magit-20220425.1153/magit-reset.el b/code/elpa/magit-20220803.2341/magit-reset.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-reset.el rename to code/elpa/magit-20220803.2341/magit-reset.el index 75f2f47..e201c3d 100644 --- a/code/elpa/magit-20220425.1153/magit-reset.el +++ b/code/elpa/magit-20220803.2341/magit-reset.el @@ -28,6 +28,8 @@ (require 'magit) +;;; Commands + ;;;###autoload (autoload 'magit-reset "magit" nil t) (transient-define-prefix magit-reset () "Reset the `HEAD', index and/or worktree to a previous state." diff --git a/code/elpa/magit-20220425.1153/magit-sequence.el b/code/elpa/magit-20220803.2341/magit-sequence.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-sequence.el rename to code/elpa/magit-20220803.2341/magit-sequence.el diff --git a/code/elpa/magit-20220425.1153/magit-sparse-checkout.el b/code/elpa/magit-20220803.2341/magit-sparse-checkout.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-sparse-checkout.el rename to code/elpa/magit-20220803.2341/magit-sparse-checkout.el diff --git a/code/elpa/magit-20220425.1153/magit-stash.el b/code/elpa/magit-20220803.2341/magit-stash.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-stash.el rename to code/elpa/magit-20220803.2341/magit-stash.el diff --git a/code/elpa/magit-20220425.1153/magit-status.el b/code/elpa/magit-20220803.2341/magit-status.el similarity index 97% rename from code/elpa/magit-20220425.1153/magit-status.el rename to code/elpa/magit-20220803.2341/magit-status.el index e928e7c..186828a 100644 --- a/code/elpa/magit-20220425.1153/magit-status.el +++ b/code/elpa/magit-20220803.2341/magit-status.el @@ -321,7 +321,7 @@ Prefix arguments have the same meaning as for `magit-status', and additionally cause the buffer to be refresh. To use this function instead of `magit-status', add this to your -init file: (global-set-key (kbd \"C-x g\") 'magit-status-quick)." +init file: (global-set-key (kbd \"C-x g\") \\='magit-status-quick)." (interactive) (if-let ((buffer (and (not current-prefix-arg) @@ -403,6 +403,9 @@ Type \\[magit-commit] to create a commit. \\{magit-status-mode-map}" :group 'magit-status (hack-dir-local-variables-non-file-buffer) + (when magit-status-initial-section + (add-hook 'magit-refresh-buffer-hook + #'magit-status-goto-initial-section nil t)) (setq magit--imenu-group-types '(not branch commit))) (put 'magit-status-mode 'magit-diff-default-arguments @@ -449,19 +452,7 @@ Type \\[magit-commit] to create a commit. (magit-run-section-hook 'magit-status-sections-hook))) (defun magit-status-goto-initial-section () - "In a `magit-status-mode' buffer, jump `magit-status-initial-section'. -Actually doing so is deferred until `magit-refresh-buffer-hook' -runs `magit-status-goto-initial-section-1'. That function then -removes itself from the hook, so that this only happens when the -status buffer is first created." - (when (and magit-status-initial-section - (derived-mode-p 'magit-status-mode)) - (add-hook 'magit-refresh-buffer-hook - #'magit-status-goto-initial-section-1 nil t))) - -(defun magit-status-goto-initial-section-1 () - "In a `magit-status-mode' buffer, jump `magit-status-initial-section'. -This function removes itself from `magit-refresh-buffer-hook'." + "Jump to the section specified by `magit-status-initial-section'." (when-let ((section (--some (if (integerp it) (nth (1- it) @@ -476,7 +467,7 @@ This function removes itself from `magit-refresh-buffer-hook'." (magit-section-hide section) (magit-section-show section)))) (remove-hook 'magit-refresh-buffer-hook - #'magit-status-goto-initial-section-1 t)) + #'magit-status-goto-initial-section t)) (defun magit-status-maybe-update-revision-buffer (&optional _) "When moving in the status buffer, update the revision buffer. diff --git a/code/elpa/magit-20220425.1153/magit-submodule.el b/code/elpa/magit-20220803.2341/magit-submodule.el similarity index 99% rename from code/elpa/magit-20220425.1153/magit-submodule.el rename to code/elpa/magit-20220803.2341/magit-submodule.el index 2179fa1..0625e20 100644 --- a/code/elpa/magit-20220425.1153/magit-submodule.el +++ b/code/elpa/magit-20220803.2341/magit-submodule.el @@ -651,8 +651,7 @@ These sections can be expanded to show the respective commits." (defun magit-submodule-list-setup (columns &optional predicate) (magit-display-buffer (or (magit-get-mode-buffer 'magit-submodule-list-mode) - (magit-with-toplevel - (magit-generate-new-buffer 'magit-submodule-list-mode)))) + (magit-generate-new-buffer 'magit-submodule-list-mode))) (magit-submodule-list-mode) (setq-local magit-repolist-columns columns) (setq-local magit-repolist-sort-key magit-submodule-list-sort-key) diff --git a/code/elpa/magit-20220425.1153/magit-subtree.el b/code/elpa/magit-20220803.2341/magit-subtree.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-subtree.el rename to code/elpa/magit-20220803.2341/magit-subtree.el diff --git a/code/elpa/magit-20220425.1153/magit-tag.el b/code/elpa/magit-20220803.2341/magit-tag.el similarity index 94% rename from code/elpa/magit-20220425.1153/magit-tag.el rename to code/elpa/magit-20220803.2341/magit-tag.el index 95d2f9a..f127f13 100644 --- a/code/elpa/magit-20220425.1153/magit-tag.el +++ b/code/elpa/magit-20220803.2341/magit-tag.el @@ -31,6 +31,8 @@ ;; For `magit-tag-delete'. (defvar helm-comp-read-use-marked) +;;; Commands + ;;;###autoload (autoload 'magit-tag "magit" nil t) (transient-define-prefix magit-tag () "Create or delete a tag." @@ -172,13 +174,20 @@ like \"/path/to/foo-bar\"." (string-match magit-release-commit-regexp (magit-rev-format "%s" ptag)) (user-error "Use `sisyphus-create-release' first"))) - (tag (if ver - (concat (and (string-match magit-release-tag-regexp ptag) - (match-string 1 ptag)) - ver) + (tag (cond + ((not ptag) + (read-string "Create first release tag: " + (if (string-match-p "\\`[0-9]" ver) + (concat "v" ver) + ver))) + (ver + (concat (and (string-match magit-release-tag-regexp ptag) + (match-string 1 ptag)) + ver)) + (t (read-string (format "Create release tag (previous was %s): " ptag) - ptag))) + ptag)))) (ver (and (string-match magit-release-tag-regexp tag) (match-string 2 tag))) (args (magit-tag-arguments))) diff --git a/code/elpa/magit-20220425.1153/magit-transient.el b/code/elpa/magit-20220803.2341/magit-transient.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-transient.el rename to code/elpa/magit-20220803.2341/magit-transient.el diff --git a/code/elpa/magit-20220425.1153/magit-wip.el b/code/elpa/magit-20220803.2341/magit-wip.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-wip.el rename to code/elpa/magit-20220803.2341/magit-wip.el diff --git a/code/elpa/magit-20220425.1153/magit-worktree.el b/code/elpa/magit-20220803.2341/magit-worktree.el similarity index 100% rename from code/elpa/magit-20220425.1153/magit-worktree.el rename to code/elpa/magit-20220803.2341/magit-worktree.el diff --git a/code/elpa/magit-20220425.1153/magit.el b/code/elpa/magit-20220803.2341/magit.el similarity index 89% rename from code/elpa/magit-20220425.1153/magit.el rename to code/elpa/magit-20220803.2341/magit.el index 3d17b55..b45c866 100644 --- a/code/elpa/magit-20220425.1153/magit.el +++ b/code/elpa/magit-20220803.2341/magit.el @@ -6,9 +6,9 @@ ;; Jonas Bernoulli ;; Maintainer: Jonas Bernoulli ;; Kyle Meyer -;; Noam Postavsky ;; Former-Maintainers: ;; Nicolas Dudebout +;; Noam Postavsky ;; Peter J. Weisberg ;; Phil Jackson ;; Rémi Vanicat @@ -20,7 +20,7 @@ ;; Package-Version: 3.3.0-git ;; Package-Requires: ( ;; (emacs "25.1") -;; (compat "28.1.0.4") +;; (compat "28.1.1.2") ;; (dash "2.19.1") ;; (git-commit "3.3.0") ;; (magit-section "3.3.0") @@ -72,6 +72,22 @@ (require 'package nil t) ; used in `magit-version' (require 'with-editor) +;; For `magit:--gpg-sign' +(declare-function epg-list-keys "epg" (context &optional name mode)) +(declare-function epg-decode-dn "epg" (alist)) + +;;; Options + +(defcustom magit-openpgp-default-signing-key nil + "Fingerprint of your default Openpgp key used for signing. +If the specified primary key has signing capacity then it is used +as the value of the `--gpg-sign' argument without prompting, even +when other such keys exist. To be able to select another key you +must then use a prefix argument." + :package-version '(magit . "3.4.0") + :group 'magit-commands + :type 'string) + ;;; Faces (defface magit-header-line @@ -471,6 +487,58 @@ is run in the top-level directory of the current working tree." "Async shell command: ") initial-input 'magit-git-command-history))) +;;; Shared Infix Arguments + +(transient-define-argument magit:--gpg-sign () + :description "Sign using gpg" + :class 'transient-option + :shortarg "-S" + :argument "--gpg-sign=" + :allow-empty t + :reader #'magit-read-gpg-signing-key) + +(defvar magit-gpg-secret-key-hist nil) + +(defun magit-read-gpg-secret-key + (prompt &optional initial-input history predicate default) + (require 'epa) + (let* ((keys (cl-mapcan + (lambda (cert) + (and (or (not predicate) + (funcall predicate cert)) + (let* ((key (car (epg-key-sub-key-list cert))) + (fpr (epg-sub-key-fingerprint key)) + (id (epg-sub-key-id key)) + (author + (and-let* ((id-obj + (car (epg-key-user-id-list cert)))) + (let ((id-str (epg-user-id-string id-obj))) + (if (stringp id-str) + id-str + (epg-decode-dn id-obj)))))) + (list + (propertize fpr 'display + (concat (substring fpr 0 (- (length id))) + (propertize id 'face 'highlight) + " " author)))))) + (epg-list-keys (epg-make-context epa-protocol) nil t))) + (choice (or (and (not current-prefix-arg) + (or (and (length= keys 1) (car keys)) + (and default (car (member default keys))))) + (completing-read prompt keys nil nil nil + history nil initial-input)))) + (set-text-properties 0 (length choice) nil choice) + choice)) + +(defun magit-read-gpg-signing-key (prompt &optional initial-input history) + (magit-read-gpg-secret-key + prompt initial-input history + (lambda (cert) + (cl-some (lambda (key) + (memq 'sign (epg-sub-key-capability key))) + (epg-key-sub-key-list cert))) + magit-openpgp-default-signing-key)) + ;;; Font-Lock Keywords (defconst magit-font-lock-keywords @@ -617,7 +685,7 @@ and Emacs to it." ;; See comment above. "https://github.com/magit/magit/wiki/Don't-set-$GIT_DIR-and-alike")) ;; Git isn't required while building Magit. - (unless byte-compile-current-file + (unless (bound-and-true-p byte-compile-current-file) (magit-git-version-assert)) (when (version< emacs-version magit--minimal-emacs) (display-warning 'magit (format "\ @@ -673,7 +741,7 @@ For X11 something like ~/.xinitrc should work.\n" (with-eval-after-load 'bookmark (require 'magit-bookmark)) -(unless byte-compile-current-file +(unless (bound-and-true-p byte-compile-current-file) (if after-init-time (progn (magit-startup-asserts) (magit-version)) diff --git a/code/elpa/magit-20220425.1153/magit.info b/code/elpa/magit-20220803.2341/magit.info similarity index 97% rename from code/elpa/magit-20220425.1153/magit.info rename to code/elpa/magit-20220803.2341/magit.info index 00e2002..47c8028 100644 --- a/code/elpa/magit-20220425.1153/magit.info +++ b/code/elpa/magit-20220803.2341/magit.info @@ -303,7 +303,6 @@ FAQ - How to ...? * How to install the gitman info manual?:: * How to show diffs for gpg-encrypted files?:: * How does branching and pushing work?:: -* Can Magit be used as ediff-version-control-package?:: * Should I disable VC?:: @@ -313,7 +312,7 @@ FAQ - Issues and Errors * I changed several thousand files at once and now Magit is unusable:: * I am having problems committing:: * I am using MS Windows and cannot push with Magit:: -* I am using OS X and SOMETHING works in shell, but not in Magit: I am using OS X and SOMETHING works in shell but not in Magit. +* I am using macOS and SOMETHING works in shell, but not in Magit: I am using macOS and SOMETHING works in shell but not in Magit. * Expanding a file to show the diff causes it to disappear:: * Point is wrong in the COMMIT_EDITMSG buffer:: * The mode-line information isn't always up-to-date:: @@ -1603,7 +1602,8 @@ prefix command is later invoked again, then the arguments are initially reset to the default value. This default value can be set for the current Emacs session or saved permanently, see *note (transient)Saving Values::. It is also possible to cycle through previously used sets of -arguments using ‘M-p’ and ‘M-n’, see *note (transient)Using History::. +arguments using ‘C-M-p’ and ‘C-M-n’, see *note (transient)Using +History::. However the infix arguments of many other transient commands continue to have an effect even after the ‘git’ command that was called with @@ -1620,7 +1620,7 @@ invoked again. As mentioned above, it is possible to cycle through previously used sets of arguments while a transient popup is visible. That means that we could always reset the infix arguments to the default because the set -of arguments that is active in the existing buffer is only a few ‘M-p’ +of arguments that is active in the existing buffer is only a few ‘C-M-p’ away. Magit can be configured to behave like that, but because I expect that most users would not find that very convenient, it is not the default. @@ -2228,6 +2228,18 @@ sections are available. There is one additional command. This is only intended for debugging purposes. Do not enable this permanently, that would negatively affect performance. + This is only intended for debugging purposes. Do not enable this + permanently, that would negatively affect performance. Also note + that just because git exits with a non-zero exit status and prints + an error message that usually doesn’t mean that it is an error as + far as Magit is concerned, which is another reason we usually hide + these error messages. Whether some error message is relevant in + the context of some unexpected behavior has to be judged on a case + by case basis. + + The command ‘magit-toggle-git-debug’ changes the value of this + variable. + -- Variable: magit-process-extreme-logging This option controls whether ‘magit-process-file’ logs to the ‘*Messages*’ buffer. @@ -3852,22 +3864,56 @@ information on how to use Ediff itself, see *note (ediff)Top::. revisions, choose a revision to view changes along, starting at the common ancestor of both revisions (i.e., use a "..." range). -‘E m’ (‘magit-ediff-resolve’) - Resolve outstanding conflicts in a file using Ediff, defaulting to - the file at point. +‘E m’ (‘magit-ediff-resolve-rest’) + This command allows you to resolve outstanding conflicts in the + file at point using Ediff. If there is no file at point or if it + doesn’t have any unmerged changes, then this command prompts for a + file. Provided that the value of ‘merge.conflictstyle’ is ‘diff3’, you can view the file’s merge-base revision using ‘/’ in the Ediff control buffer. - In the rare event that you want to manually resolve all conflicts, - including those already resolved by Git, use - ‘ediff-merge-revisions-with-ancestor’. + The A, B and Ancestor buffers are constructed from the conflict + markers in the worktree file. Because you and/or Git may have + already resolved some conflicts, that means that these buffers may + not contain the actual versions from the respective blobs. + +‘E m’ (‘magit-ediff-resolve-all’) + This command allows you to resolve all conflicts in the file at + point using Ediff. If there is no file at point or if it doesn’t + have any unmerged changes, then this command prompts for a file. + + Provided that the value of ‘merge.conflictstyle’ is ‘diff3’, you + can view the file’s merge-base revision using ‘/’ in the Ediff + control buffer. + + First the file in the worktree is moved aside, appending the suffix + ‘.ORIG’, so that you could later go back to that version. Then it + is reconstructed from the two sides of the conflict and the + merge-base, if available. + + It would be nice if the worktree file were just used as-is, but + Ediff does not support that. This means that all conflicts, that + Git has already resolved, are restored. On the other hand Ediff + also tries to resolve conflicts, and in many cases Ediff and Git + should produce similar results. + + However if you have already resolved some conflicts manually, then + those changes are discarded (though you can recover them from the + backup file). In such cases ‘magit-ediff-resolve-rest’ might be + more suitable. + + The advantage that this command has over ‘magit-ediff-resolve-rest’ + is that the A, B and Ancestor buffers correspond to blobs from the + respective commits, allowing you to inspect a side in context and + to use Magit commands in these buffers to do so. Blame and log + commands are particularly useful here. ‘E t’ (‘magit-git-mergetool’) This command does not actually use Ediff. While it serves the same - purpose as ‘magit-ediff-resolve’, it uses ‘git mergetool --gui’ to - resolve conflicts. + purpose as ‘magit-ediff-resolve-rest’, it uses ‘git mergetool + --gui’ to resolve conflicts. With a prefix argument this acts as a transient prefix command, allowing the user to select the mergetool and change some settings. @@ -3891,6 +3937,12 @@ information on how to use Ediff itself, see *note (ediff)Top::. ‘E z’ (‘magit-ediff-show-stash’) Show changes to a file introduced by a stash using Ediff. + -- User Option: magit-ediff-dwim-resolve-function + This option controls which function ‘magit-ediff-dwim’ uses to + resolve conflicts. One of ‘magit-ediff-resolve-rest’, + ‘magit-ediff-resolve-all’ or ‘magit-git-mergetool’; which are all + discussed above. + -- User Option: magit-ediff-dwim-show-on-hunks This option controls what command ‘magit-ediff-dwim’ calls when point is on uncommitted hunks. When nil, always run @@ -5182,7 +5234,7 @@ The following functions are suitable for this hook: -- Function: with-editor-usage-message Show usage information in the echo area. - -- User Option: git-commit-setup-hook + -- User Option: git-commit-post-finish-hook Hook run after the user finished writing a commit message. This hook is only run after pressing ‘C-c C-c’ in a buffer used to @@ -5451,7 +5503,7 @@ them. Those features are available from separate transient command. branches, then offer to delete those. Otherwise, prompt for a single branch to be deleted, defaulting to the branch at point. -‘b r’ (‘magit-branch-rename’) +‘b m’ (‘magit-branch-rename’) Rename a branch. The branch and the new name are read in the minibuffer. With prefix argument the branch is renamed even if that name conflicts with an existing branch. @@ -6187,7 +6239,7 @@ shown in different colors to indicate the status of the commits. The following colors are used: - • Commits that use the same forground color as the ‘default’ face + • Commits that use the same foreground color as the ‘default’ face have not been applied yet. • Yellow commits have some special relationship to the commit rebase @@ -9097,7 +9149,6 @@ A.1 FAQ - How to ...? * How to install the gitman info manual?:: * How to show diffs for gpg-encrypted files?:: * How does branching and pushing work?:: -* Can Magit be used as ediff-version-control-package?:: * Should I disable VC?::  @@ -9174,7 +9225,7 @@ affects the diffs displayed inside Magit. echo "*.gpg filter=gpg diff=gpg" > .gitattributes  -File: magit.info, Node: How does branching and pushing work?, Next: Can Magit be used as ediff-version-control-package?, Prev: How to show diffs for gpg-encrypted files?, Up: FAQ - How to ...? +File: magit.info, Node: How does branching and pushing work?, Next: Should I disable VC?, Prev: How to show diffs for gpg-encrypted files?, Up: FAQ - How to ...? A.1.5 How does branching and pushing work? ------------------------------------------ @@ -9183,43 +9234,9 @@ Please see *note Branching:: and  -File: magit.info, Node: Can Magit be used as ediff-version-control-package?, Next: Should I disable VC?, Prev: How does branching and pushing work?, Up: FAQ - How to ...? +File: magit.info, Node: Should I disable VC?, Prev: How does branching and pushing work?, Up: FAQ - How to ...? -A.1.6 Can Magit be used as ‘ediff-version-control-package’? ------------------------------------------------------------ - -No, it cannot. For that to work the functions ‘ediff-magit-internal’ -and ‘ediff-magit-merge-internal’ would have to be implemented, and they -are not. These two functions are only used by the three commands -‘ediff-revision’, ‘ediff-merge-revisions-with-ancestor’, and -‘ediff-merge-revisions’. - - These commands only delegate the task of populating buffers with -certain revisions to the "internal" functions. The equally important -task of determining which revisions are to be compared/merged is not -delegated. Instead this is done without any support whatsoever from the -version control package/system - meaning that the user has to enter the -revisions explicitly. Instead of implementing ‘ediff-magit-internal’ we -provide ‘magit-ediff-compare’, which handles both tasks like it is 2005. - - The other commands ‘ediff-merge-revisions’ and -‘ediff-merge-revisions-with-ancestor’ are normally not what you want -when using a modern version control system like Git. Instead of letting -the user resolve only those conflicts which Git could not resolve on its -own, they throw away all work done by Git and then expect the user to -manually merge all conflicts, including those that had already been -resolved. That made sense back in the days when version control systems -couldn’t merge (or so I have been told), but not anymore. Once in a -blue moon you might actually want to see all conflicts, in which case -you *can* use these commands, which then use ‘ediff-vc-merge-internal’. -So we don’t actually have to implement ‘ediff-magit-merge-internal’. -Instead we provide the more useful command ‘magit-ediff-resolve’ which -only shows yet-to-be resolved conflicts. - - -File: magit.info, Node: Should I disable VC?, Prev: Can Magit be used as ediff-version-control-package?, Up: FAQ - How to ...? - -A.1.7 Should I disable VC? +A.1.6 Should I disable VC? -------------------------- If you don’t use VC (the built-in version control interface) then you @@ -9245,7 +9262,7 @@ A.2 FAQ - Issues and Errors * I changed several thousand files at once and now Magit is unusable:: * I am having problems committing:: * I am using MS Windows and cannot push with Magit:: -* I am using OS X and SOMETHING works in shell, but not in Magit: I am using OS X and SOMETHING works in shell but not in Magit. +* I am using macOS and SOMETHING works in shell, but not in Magit: I am using macOS and SOMETHING works in shell but not in Magit. * Expanding a file to show the diff causes it to disappear:: * Point is wrong in the COMMIT_EDITMSG buffer:: * The mode-line information isn't always up-to-date:: @@ -9262,7 +9279,8 @@ File: magit.info, Node: Magit is slow, Next: I changed several thousand files A.2.1 Magit is slow ------------------- -See *note Performance::. +See *note Performance:: and *note I changed several thousand files at +once and now Magit is unusable::.  File: magit.info, Node: I changed several thousand files at once and now Magit is unusable, Next: I am having problems committing, Prev: Magit is slow, Up: FAQ - Issues and Errors @@ -9270,10 +9288,10 @@ File: magit.info, Node: I changed several thousand files at once and now Magit A.2.2 I changed several thousand files at once and now Magit is unusable ------------------------------------------------------------------------ -Magit is *currently* not expected to work under such conditions. It -sure would be nice if it did, and v2.5 will hopefully be a big step into -that direction. But it might take until v3.1 to accomplish fully -satisfactory performance, because that requires some heavy refactoring. +Magit is currently not expected to work well under such conditions. It +sure would be nice if it did. Reaching satisfactory performance under +such conditions will require some heavy refactoring. This is no small +task but I hope to eventually find the time to make it happen. But for now we recommend you use the command line to complete this one commit. Also see *note Performance::. @@ -9289,7 +9307,7 @@ emacsclient executable. See *note (with-editor)Configuring With-Editor:: and *note (with-editor)Debugging::.  -File: magit.info, Node: I am using MS Windows and cannot push with Magit, Next: I am using OS X and SOMETHING works in shell but not in Magit, Prev: I am having problems committing, Up: FAQ - Issues and Errors +File: magit.info, Node: I am using MS Windows and cannot push with Magit, Next: I am using macOS and SOMETHING works in shell but not in Magit, Prev: I am having problems committing, Up: FAQ - Issues and Errors A.2.4 I am using MS Windows and cannot push with Magit ------------------------------------------------------ @@ -9302,10 +9320,10 @@ push on the command line. .  -File: magit.info, Node: I am using OS X and SOMETHING works in shell but not in Magit, Next: Expanding a file to show the diff causes it to disappear, Prev: I am using MS Windows and cannot push with Magit, Up: FAQ - Issues and Errors +File: magit.info, Node: I am using macOS and SOMETHING works in shell but not in Magit, Next: Expanding a file to show the diff causes it to disappear, Prev: I am using MS Windows and cannot push with Magit, Up: FAQ - Issues and Errors -A.2.5 I am using OS X and SOMETHING works in shell, but not in Magit --------------------------------------------------------------------- +A.2.5 I am using macOS and SOMETHING works in shell, but not in Magit +--------------------------------------------------------------------- This usually occurs because Emacs doesn’t have the same environment variables as your shell. Try installing and configuring @@ -9317,7 +9335,7 @@ you are using on the shell. tag signing", then you’ll also need to synchronize ‘$GPG_AGENT_INFO’.  -File: magit.info, Node: Expanding a file to show the diff causes it to disappear, Next: Point is wrong in the COMMIT_EDITMSG buffer, Prev: I am using OS X and SOMETHING works in shell but not in Magit, Up: FAQ - Issues and Errors +File: magit.info, Node: Expanding a file to show the diff causes it to disappear, Next: Point is wrong in the COMMIT_EDITMSG buffer, Prev: I am using macOS and SOMETHING works in shell but not in Magit, Up: FAQ - Issues and Errors A.2.6 Expanding a file to show the diff causes it to disappear -------------------------------------------------------------- @@ -9537,6 +9555,29 @@ issue. Please include all relevant output when reporting an issue. If you run Magit from its Git repository, then you should be able to use ‘make emacs-Q’ instead of the output of this command. +‘M-x magit-toggle-git-debug’ + This command toggles whether additional git errors are reported. + + Magit basically calls git for one of these two reasons: for + side-effects or to do something with its standard output. + + When git is run for side-effects then its output, including error + messages, go into the process buffer which is shown when using ‘$’. + + When git’s output is consumed in some way, then it would be too + expensive to also insert it into this buffer, but when this option + is non-nil and git returns with a non-zero exit status, then at + least its standard error is inserted into this buffer. + + This is only intended for debugging purposes. Do not enable this + permanently, that would negatively affect performance. Also note + that just because git exits with a non-zero exit status and prints + an error message that usually doesn’t mean that it is an error as + far as Magit is concerned, which is another reason we usually hide + these error messages. Whether some error message is relevant in + the context of some unexpected behavior has to be judged on a case + by case basis. + ‘M-x magit-toggle-verbose-refresh’ This command toggles whether Magit refreshes buffers verbosely. Enabling this helps figuring out which sections are bottlenecks. @@ -9635,9 +9676,9 @@ Appendix C Keystroke Index * b k: Branch Commands. (line 138) * b l: Branch Commands. (line 69) * B m: Bisecting. (line 40) +* b m: Branch Commands. (line 143) * b n: Branch Commands. (line 54) * B r: Bisecting. (line 51) -* b r: Branch Commands. (line 143) * B s: Bisecting. (line 26) * b s: Branch Commands. (line 91) * b S: Branch Commands. (line 118) @@ -9773,15 +9814,16 @@ Appendix C Keystroke Index * E: Ediffing. (line 21) * e <1>: Editing Rebase Sequences. (line 46) -* E c: Ediffing. (line 66) -* E i: Ediffing. (line 60) +* E c: Ediffing. (line 100) +* E i: Ediffing. (line 94) * E m: Ediffing. (line 33) +* E m <1>: Ediffing. (line 48) * E r: Ediffing. (line 25) -* E s: Ediffing. (line 53) -* E t: Ediffing. (line 45) -* E u: Ediffing. (line 57) -* E w: Ediffing. (line 63) -* E z: Ediffing. (line 69) +* E s: Ediffing. (line 87) +* E t: Ediffing. (line 79) +* E u: Ediffing. (line 91) +* E w: Ediffing. (line 97) +* E z: Ediffing. (line 103) * f: Repository List. (line 105) * f <1>: Editing Rebase Sequences. (line 52) @@ -10227,7 +10269,7 @@ Appendix D Function and Command Index * magit-current-section: Section Selection. (line 6) * magit-cycle-margin-style: Log Margin. (line 63) * magit-debug-git-executable: Git Executable. (line 55) -* magit-debug-git-executable <1>: Debugging Tools. (line 34) +* magit-debug-git-executable <1>: Debugging Tools. (line 57) * magit-define-section-jumper: Creating Sections. (line 74) * magit-describe-section: Section Types and Values. (line 14) @@ -10298,13 +10340,14 @@ Appendix D Function and Command Index * magit-ediff: Ediffing. (line 21) * magit-ediff-compare: Ediffing. (line 25) * magit-ediff-dwim: Ediffing. (line 10) -* magit-ediff-resolve: Ediffing. (line 33) -* magit-ediff-show-commit: Ediffing. (line 66) -* magit-ediff-show-staged: Ediffing. (line 60) -* magit-ediff-show-stash: Ediffing. (line 69) -* magit-ediff-show-unstaged: Ediffing. (line 57) -* magit-ediff-show-working-tree: Ediffing. (line 63) -* magit-ediff-stage: Ediffing. (line 53) +* magit-ediff-resolve-all: Ediffing. (line 48) +* magit-ediff-resolve-rest: Ediffing. (line 33) +* magit-ediff-show-commit: Ediffing. (line 100) +* magit-ediff-show-staged: Ediffing. (line 94) +* magit-ediff-show-stash: Ediffing. (line 103) +* magit-ediff-show-unstaged: Ediffing. (line 91) +* magit-ediff-show-working-tree: Ediffing. (line 97) +* magit-ediff-stage: Ediffing. (line 87) * magit-edit-line-commit: Commands for Buffers Visiting Files. (line 95) * magit-emacs-Q-command: Debugging Tools. (line 16) @@ -10356,7 +10399,7 @@ Appendix D Function and Command Index (line 37) * magit-git-mergetool: Running Git Manually. (line 62) -* magit-git-mergetool <1>: Ediffing. (line 45) +* magit-git-mergetool <1>: Ediffing. (line 79) * magit-git-str: Getting a Value from Git. (line 75) * magit-git-string: Getting a Value from Git. @@ -10727,10 +10770,11 @@ Appendix D Function and Command Index * magit-tag-prune: Tagging. (line 43) * magit-tag-release: Tagging. (line 18) * magit-toggle-buffer-lock: Modes and Buffers. (line 18) +* magit-toggle-git-debug: Debugging Tools. (line 29) * magit-toggle-margin: Refreshing Logs. (line 34) * magit-toggle-margin <1>: Log Margin. (line 60) * magit-toggle-margin-details: Log Margin. (line 66) -* magit-toggle-verbose-refresh: Debugging Tools. (line 29) +* magit-toggle-verbose-refresh: Debugging Tools. (line 52) * magit-unstage: Staging and Unstaging. (line 42) * magit-unstage-all: Staging and Unstaging. @@ -10759,7 +10803,7 @@ Appendix D Function and Command Index (line 22) * with-editor-cancel <1>: Editing Rebase Sequences. (line 11) -* with-editor-debug: Debugging Tools. (line 41) +* with-editor-debug: Debugging Tools. (line 64) * with-editor-finish: Editing Commit Messages. (line 18) * with-editor-finish <1>: Editing Rebase Sequences. @@ -10811,10 +10855,10 @@ Appendix E Variable Index (line 9) * git-commit-major-mode: Commit Mode and Hooks. (line 12) +* git-commit-post-finish-hook: Commit Mode and Hooks. + (line 55) * git-commit-setup-hook: Commit Mode and Hooks. (line 21) -* git-commit-setup-hook <1>: Commit Mode and Hooks. - (line 55) * git-commit-style-convention-checks: Commit Message Conventions. (line 42) * git-commit-summary-max-length: Commit Message Conventions. @@ -10878,14 +10922,15 @@ Appendix E Variable Index * magit-diff-visit-previous-blob: Visiting Files and Blobs from a Diff. (line 38) * magit-direct-use-buffer-arguments: Transient Arguments and Buffer Variables. - (line 72) + (line 73) * magit-display-buffer-function: Switching Buffers. (line 25) * magit-display-buffer-noselect: Switching Buffers. (line 17) * magit-dwim-selection: Completion and Confirmation. (line 42) -* magit-ediff-dwim-show-on-hunks: Ediffing. (line 71) -* magit-ediff-quit-hook: Ediffing. (line 84) -* magit-ediff-show-stash-with-index: Ediffing. (line 78) +* magit-ediff-dwim-resolve-function: Ediffing. (line 105) +* magit-ediff-dwim-show-on-hunks: Ediffing. (line 111) +* magit-ediff-quit-hook: Ediffing. (line 124) +* magit-ediff-show-stash-with-index: Ediffing. (line 118) * magit-generate-buffer-name-function: Naming Buffers. (line 6) * magit-git-debug: Viewing Git Output. (line 26) * magit-git-debug <1>: Getting a Value from Git. @@ -10919,8 +10964,8 @@ Appendix E Variable Index * magit-prefer-remote-upstream: Branch Git Variables. (line 109) * magit-prefix-use-buffer-arguments: Transient Arguments and Buffer Variables. - (line 64) -* magit-process-extreme-logging: Viewing Git Output. (line 44) + (line 65) +* magit-process-extreme-logging: Viewing Git Output. (line 56) * magit-process-raise-error: Calling Git for Effect. (line 125) * magit-pull-or-fetch: Fetching. (line 51) @@ -11006,175 +11051,174 @@ Appendix E Variable Index  Tag Table: Node: Top754 -Node: Introduction6636 -Node: Installation11352 -Node: Installing from Melpa11682 -Node: Installing from the Git Repository12755 -Node: Post-Installation Tasks15487 -Node: Getting Started16772 -Node: Interface Concepts22104 -Node: Modes and Buffers22483 -Node: Switching Buffers24194 -Node: Naming Buffers28933 -Node: Quitting Windows32236 -Node: Automatic Refreshing of Magit Buffers33974 -Node: Automatic Saving of File-Visiting Buffers36855 -Node: Automatic Reverting of File-Visiting Buffers38039 -Node: Risk of Reverting Automatically43024 -Node: Sections45406 -Node: Section Movement46332 -Node: Section Visibility51206 -Node: Section Hooks57221 -Node: Section Types and Values59627 -Node: Section Options61042 -Node: Transient Commands61513 -Node: Transient Arguments and Buffer Variables62745 -Node: Completion Confirmation and the Selection69756 -Node: Action Confirmation70202 -Node: Completion and Confirmation78054 -Node: The Selection81239 -Node: The hunk-internal region84137 -Node: Support for Completion Frameworks85226 -Node: Additional Completion Options90129 -Node: Mouse Support90727 -Node: Running Git91303 -Node: Viewing Git Output91548 -Node: Git Process Status93642 -Node: Running Git Manually94607 -Node: Git Executable97297 -Node: Global Git Arguments100305 -Node: Inspecting101110 -Node: Status Buffer102267 -Node: Status Sections107277 -Node: Status Header Sections112804 -Node: Status Module Sections115423 -Node: Status Options117920 -Node: Repository List119383 -Node: Logging123950 -Node: Refreshing Logs126792 -Node: Log Buffer128213 -Node: Log Margin132413 -Node: Select from Log135566 -Node: Reflog137776 -Node: Cherries139413 -Node: Diffing141251 -Node: Refreshing Diffs144285 -Node: Commands Available in Diffs147794 -Node: Diff Options150308 -Node: Revision Buffer155771 -Node: Ediffing159091 -Node: References Buffer163045 -Node: References Sections173639 -Node: Bisecting174496 -Node: Visiting Files and Blobs176807 -Node: General-Purpose Visit Commands177277 -Node: Visiting Files and Blobs from a Diff178230 -Node: Blaming181674 -Node: Manipulating187809 -Node: Creating Repository188151 -Node: Cloning Repository188688 -Node: Staging and Unstaging194346 -Node: Staging from File-Visiting Buffers198327 -Node: Applying199433 -Node: Committing201506 -Node: Initiating a Commit202089 -Node: Editing Commit Messages207278 -Node: Using the Revision Stack210051 -Node: Commit Pseudo Headers213096 -Node: Commit Mode and Hooks214391 -Node: Commit Message Conventions217319 -Node: Branching219442 -Node: The Two Remotes219668 -Node: Branch Commands222321 -Node: Branch Git Variables234866 -Node: Auxiliary Branch Commands240239 -Node: Merging241355 -Node: Resolving Conflicts245313 -Node: Rebasing250684 -Node: Editing Rebase Sequences255473 -Node: Information About In-Progress Rebase259689 -Ref: Information About In-Progress Rebase-Footnote-1268801 -Node: Cherry Picking269397 -Node: Reverting273731 -Node: Resetting275150 -Node: Stashing276976 -Node: Transferring281587 -Node: Remotes281809 -Node: Remote Commands281961 -Node: Remote Git Variables286000 -Node: Fetching287271 -Node: Pulling289717 -Node: Pushing290743 -Node: Plain Patches295034 -Node: Maildir Patches296505 -Node: Miscellaneous297984 -Node: Tagging298330 -Node: Notes300223 -Node: Submodules302558 -Node: Listing Submodules302776 -Node: Submodule Transient304912 -Node: Subtree307389 -Node: Worktree309320 -Node: Sparse checkouts310396 -Node: Bundle313172 -Node: Common Commands313547 -Node: Wip Modes316175 -Node: Wip Graph321066 -Node: Legacy Wip Modes323379 -Node: Commands for Buffers Visiting Files326266 -Node: Minor Mode for Buffers Visiting Blobs331824 -Node: Customizing332622 -Node: Per-Repository Configuration334218 -Node: Essential Settings336472 -Node: Safety336817 -Node: Performance338578 -Ref: Log Performance341607 -Ref: Diff Performance342917 -Ref: Refs Buffer Performance344258 -Ref: Committing Performance344833 -Node: Microsoft Windows Performance345746 -Node: MacOS Performance346937 -Ref: MacOS Performance-Footnote-1347642 -Node: Default Bindings347724 -Node: Plumbing349965 -Node: Calling Git350794 -Node: Getting a Value from Git352319 -Node: Calling Git for Effect356047 -Node: Section Plumbing361941 -Node: Creating Sections362169 -Node: Section Selection366065 -Node: Matching Sections367861 -Node: Refreshing Buffers373782 -Node: Conventions376926 -Node: Theming Faces377118 -Node: FAQ385223 -Node: FAQ - How to ...?385661 -Node: How to pronounce Magit?386074 -Node: How to show git's output?386876 -Node: How to install the gitman info manual?387662 -Node: How to show diffs for gpg-encrypted files?388632 -Node: How does branching and pushing work?389228 -Node: Can Magit be used as ediff-version-control-package?389591 -Node: Should I disable VC?391609 -Node: FAQ - Issues and Errors392227 -Node: Magit is slow393228 -Node: I changed several thousand files at once and now Magit is unusable393442 -Node: I am having problems committing394171 -Node: I am using MS Windows and cannot push with Magit394652 -Node: I am using OS X and SOMETHING works in shell but not in Magit395269 -Node: Expanding a file to show the diff causes it to disappear396100 -Node: Point is wrong in the COMMIT_EDITMSG buffer396681 -Node: The mode-line information isn't always up-to-date397727 -Node: A branch and tag sharing the same name breaks SOMETHING398790 -Node: My Git hooks work on the command-line but not inside Magit399676 -Node: git-commit-mode isn't used when committing from the command-line400522 -Node: Point ends up inside invisible text when jumping to a file-visiting buffer402793 -Node: I am unable to stage when using Tramp from MS Windows403653 -Node: I am no longer able to save popup defaults404560 -Node: Debugging Tools405520 -Node: Keystroke Index407517 -Node: Function and Command Index441772 -Node: Variable Index493656 +Node: Introduction6582 +Node: Installation11298 +Node: Installing from Melpa11628 +Node: Installing from the Git Repository12701 +Node: Post-Installation Tasks15433 +Node: Getting Started16718 +Node: Interface Concepts22050 +Node: Modes and Buffers22429 +Node: Switching Buffers24140 +Node: Naming Buffers28879 +Node: Quitting Windows32182 +Node: Automatic Refreshing of Magit Buffers33920 +Node: Automatic Saving of File-Visiting Buffers36801 +Node: Automatic Reverting of File-Visiting Buffers37985 +Node: Risk of Reverting Automatically42970 +Node: Sections45352 +Node: Section Movement46278 +Node: Section Visibility51152 +Node: Section Hooks57167 +Node: Section Types and Values59573 +Node: Section Options60988 +Node: Transient Commands61459 +Node: Transient Arguments and Buffer Variables62691 +Node: Completion Confirmation and the Selection69708 +Node: Action Confirmation70154 +Node: Completion and Confirmation78006 +Node: The Selection81191 +Node: The hunk-internal region84089 +Node: Support for Completion Frameworks85178 +Node: Additional Completion Options90081 +Node: Mouse Support90679 +Node: Running Git91255 +Node: Viewing Git Output91500 +Node: Git Process Status94204 +Node: Running Git Manually95169 +Node: Git Executable97859 +Node: Global Git Arguments100867 +Node: Inspecting101672 +Node: Status Buffer102829 +Node: Status Sections107839 +Node: Status Header Sections113366 +Node: Status Module Sections115985 +Node: Status Options118482 +Node: Repository List119945 +Node: Logging124512 +Node: Refreshing Logs127354 +Node: Log Buffer128775 +Node: Log Margin132975 +Node: Select from Log136128 +Node: Reflog138338 +Node: Cherries139975 +Node: Diffing141813 +Node: Refreshing Diffs144847 +Node: Commands Available in Diffs148356 +Node: Diff Options150870 +Node: Revision Buffer156333 +Node: Ediffing159653 +Node: References Buffer165703 +Node: References Sections176297 +Node: Bisecting177154 +Node: Visiting Files and Blobs179465 +Node: General-Purpose Visit Commands179935 +Node: Visiting Files and Blobs from a Diff180888 +Node: Blaming184332 +Node: Manipulating190467 +Node: Creating Repository190809 +Node: Cloning Repository191346 +Node: Staging and Unstaging197004 +Node: Staging from File-Visiting Buffers200985 +Node: Applying202091 +Node: Committing204164 +Node: Initiating a Commit204747 +Node: Editing Commit Messages209936 +Node: Using the Revision Stack212709 +Node: Commit Pseudo Headers215754 +Node: Commit Mode and Hooks217049 +Node: Commit Message Conventions219983 +Node: Branching222106 +Node: The Two Remotes222332 +Node: Branch Commands224985 +Node: Branch Git Variables237530 +Node: Auxiliary Branch Commands242903 +Node: Merging244019 +Node: Resolving Conflicts247977 +Node: Rebasing253348 +Node: Editing Rebase Sequences258137 +Node: Information About In-Progress Rebase262353 +Ref: Information About In-Progress Rebase-Footnote-1271466 +Node: Cherry Picking272062 +Node: Reverting276396 +Node: Resetting277815 +Node: Stashing279641 +Node: Transferring284252 +Node: Remotes284474 +Node: Remote Commands284626 +Node: Remote Git Variables288665 +Node: Fetching289936 +Node: Pulling292382 +Node: Pushing293408 +Node: Plain Patches297699 +Node: Maildir Patches299170 +Node: Miscellaneous300649 +Node: Tagging300995 +Node: Notes302888 +Node: Submodules305223 +Node: Listing Submodules305441 +Node: Submodule Transient307577 +Node: Subtree310054 +Node: Worktree311985 +Node: Sparse checkouts313061 +Node: Bundle315837 +Node: Common Commands316212 +Node: Wip Modes318840 +Node: Wip Graph323731 +Node: Legacy Wip Modes326044 +Node: Commands for Buffers Visiting Files328931 +Node: Minor Mode for Buffers Visiting Blobs334489 +Node: Customizing335287 +Node: Per-Repository Configuration336883 +Node: Essential Settings339137 +Node: Safety339482 +Node: Performance341243 +Ref: Log Performance344272 +Ref: Diff Performance345582 +Ref: Refs Buffer Performance346923 +Ref: Committing Performance347498 +Node: Microsoft Windows Performance348411 +Node: MacOS Performance349602 +Ref: MacOS Performance-Footnote-1350307 +Node: Default Bindings350389 +Node: Plumbing352630 +Node: Calling Git353459 +Node: Getting a Value from Git354984 +Node: Calling Git for Effect358712 +Node: Section Plumbing364606 +Node: Creating Sections364834 +Node: Section Selection368730 +Node: Matching Sections370526 +Node: Refreshing Buffers376447 +Node: Conventions379591 +Node: Theming Faces379783 +Node: FAQ387888 +Node: FAQ - How to ...?388326 +Node: How to pronounce Magit?388683 +Node: How to show git's output?389485 +Node: How to install the gitman info manual?390271 +Node: How to show diffs for gpg-encrypted files?391241 +Node: How does branching and pushing work?391837 +Node: Should I disable VC?392169 +Node: FAQ - Issues and Errors392772 +Node: Magit is slow393775 +Node: I changed several thousand files at once and now Magit is unusable394068 +Node: I am having problems committing394794 +Node: I am using MS Windows and cannot push with Magit395275 +Node: I am using macOS and SOMETHING works in shell but not in Magit395893 +Node: Expanding a file to show the diff causes it to disappear396727 +Node: Point is wrong in the COMMIT_EDITMSG buffer397309 +Node: The mode-line information isn't always up-to-date398355 +Node: A branch and tag sharing the same name breaks SOMETHING399418 +Node: My Git hooks work on the command-line but not inside Magit400304 +Node: git-commit-mode isn't used when committing from the command-line401150 +Node: Point ends up inside invisible text when jumping to a file-visiting buffer403421 +Node: I am unable to stage when using Tramp from MS Windows404281 +Node: I am no longer able to save popup defaults405188 +Node: Debugging Tools406148 +Node: Keystroke Index409322 +Node: Function and Command Index443650 +Node: Variable Index495680  End Tag Table diff --git a/code/elpa/magit-section-20220425.1002/dir b/code/elpa/magit-section-20220803.2341/dir similarity index 100% rename from code/elpa/magit-section-20220425.1002/dir rename to code/elpa/magit-section-20220803.2341/dir diff --git a/code/elpa/magit-section-20220425.1002/magit-section-autoloads.el b/code/elpa/magit-section-20220803.2341/magit-section-autoloads.el similarity index 100% rename from code/elpa/magit-section-20220425.1002/magit-section-autoloads.el rename to code/elpa/magit-section-20220803.2341/magit-section-autoloads.el diff --git a/code/elpa/magit-section-20220425.1002/magit-section-pkg.el b/code/elpa/magit-section-20220803.2341/magit-section-pkg.el similarity index 60% rename from code/elpa/magit-section-20220425.1002/magit-section-pkg.el rename to code/elpa/magit-section-20220803.2341/magit-section-pkg.el index ef7d5e8..6416f6c 100644 --- a/code/elpa/magit-section-20220425.1002/magit-section-pkg.el +++ b/code/elpa/magit-section-20220803.2341/magit-section-pkg.el @@ -1,8 +1,8 @@ -(define-package "magit-section" "20220425.1002" "Sections for read-only buffers" +(define-package "magit-section" "20220803.2341" "Sections for read-only buffers." '((emacs "25.1") - (compat "28.1.0.4") + (compat "28.1.1.2") (dash "20210826")) - :commit "3cb7f5ba430906bded9e5d9951f5260ab25644d0" :authors + :commit "ac7fae6a9893b55ad01942d9ea5a571d44426665" :authors '(("Jonas Bernoulli" . "jonas@bernoul.li")) :maintainer '("Jonas Bernoulli" . "jonas@bernoul.li") diff --git a/code/elpa/magit-section-20220425.1002/magit-section.el b/code/elpa/magit-section-20220803.2341/magit-section.el similarity index 97% rename from code/elpa/magit-section-20220425.1002/magit-section.el rename to code/elpa/magit-section-20220803.2341/magit-section.el index aeb1a45..0d3e062 100644 --- a/code/elpa/magit-section-20220425.1002/magit-section.el +++ b/code/elpa/magit-section-20220803.2341/magit-section.el @@ -1,4 +1,4 @@ -;;; magit-section.el --- Sections for read-only buffers -*- lexical-binding:t -*- +;;; magit-section.el --- Sections for read-only buffers -*- lexical-binding:t; coding:utf-8 -*- ;; Copyright (C) 2008-2022 The Magit Project Contributors @@ -9,7 +9,7 @@ ;; Keywords: tools ;; Package-Version: 3.3.0-git -;; Package-Requires: ((emacs "25.1") (compat "28.1.0.4") (dash "2.19.1")) +;; Package-Requires: ((emacs "25.1") (compat "28.1.1.2") (dash "2.19.1")) ;; SPDX-License-Identifier: GPL-3.0-or-later @@ -50,7 +50,8 @@ (eval-when-compile (require 'benchmark)) -(defvar magit-section-highlight-force-update) +;; For `magit-section-get-relative-position' +(declare-function magit-hunk-section-p "magit-diff" (section) t) ;;; Hooks @@ -80,11 +81,6 @@ value should be `show', `hide' or nil. If no function returns non-nil, determine the visibility as usual, i.e. use the hardcoded section specific default (see `magit-insert-section').") -(defvar magit-section-goto-successor-hook nil - "Hook used to go to the same section as was current before a refresh. -This is only used if the standard mechanism for doing so did not -succeed.") - ;;; Options (defgroup magit-section nil @@ -264,6 +260,15 @@ no effect. This also has no effect for Emacs >= 28, where :group 'magit-section :type 'boolean) +;;; Variables + +(defvar-local magit-section-pre-command-region-p nil) +(defvar-local magit-section-pre-command-section nil) +(defvar-local magit-section-highlight-force-update nil) +(defvar-local magit-section-highlight-overlays nil) +(defvar-local magit-section-highlighted-sections nil) +(defvar-local magit-section-unhighlight-sections nil) + ;;; Faces (defgroup magit-section-faces nil @@ -445,7 +450,7 @@ never modify it.") "Return point or the position where the context menu was invoked. When using the context menu, return the position the user clicked on, provided the current buffer is the buffer in which the click -occured. Otherwise return the same value as `point'." +occurred. Otherwise return the same value as `point'." (if magit--context-menu-section (magit-menu-position) (point))) @@ -454,7 +459,7 @@ occured. Otherwise return the same value as `point'." "Return the THING at point or where the context menu was invoked. When using the context menu, return the thing the user clicked on, provided the current buffer is the buffer in which the click -occured. Otherwise return the same value as `thing-at-point'. +occurred. Otherwise return the same value as `thing-at-point'. For the meaning of THING and NO-PROPERTIES see that function." (if-let ((pos (magit-menu-position))) (save-excursion @@ -466,7 +471,7 @@ For the meaning of THING and NO-PROPERTIES see that function." "Return the section at point or where the context menu was invoked. When using the context menu, return the section that the user clicked on, provided the current buffer is the buffer in which -the click occured. Otherwise return the section at point." +the click occurred. Otherwise return the section at point." (or magit--context-menu-section (magit-section-at) magit-root-section)) @@ -634,7 +639,7 @@ the expression (magit-menu-format-desc DESC) for that. See (define-key-after keymap key `( menu-item ,desc ,def ,@props ;; Without this, the keys for point would be shown instead - ;; of the relevant ones from where the click occured. + ;; of the relevant ones from where the click occurred. ,@(and (not (region-active-p)) (list :keys (lambda () @@ -1571,13 +1576,6 @@ evaluated its BODY. Admittedly that's a bit of a hack." ;;; Highlight -(defvar-local magit-section-pre-command-region-p nil) -(defvar-local magit-section-pre-command-section nil) -(defvar-local magit-section-highlight-force-update nil) -(defvar-local magit-section-highlight-overlays nil) -(defvar-local magit-section-highlighted-sections nil) -(defvar-local magit-section-unhighlight-sections nil) - (defun magit-section-pre-command-hook () (when (and (not (bound-and-true-p transient--prefix)) (or magit--context-menu-buffer @@ -1689,26 +1687,42 @@ invisible." (push ov magit-section-highlight-overlays) ov)) -(defun magit-section-goto-successor (section line char arg) - (let ((ident (magit-section-ident section))) - (--if-let (magit-get-section ident) - (let ((start (oref it start))) - (goto-char start) - (unless (eq it magit-root-section) - (ignore-errors - (forward-line line) - (forward-char char)) - (unless (eq (magit-current-section) it) - (goto-char start)))) - (or (run-hook-with-args-until-success - 'magit-section-goto-successor-hook section arg) - (goto-char (--if-let (magit-section-goto-successor-1 section) - (if (eq (oref it type) 'button) - (point-min) - (oref it start)) - (point-min))))))) +(cl-defgeneric magit-section-get-relative-position (section)) -(defun magit-section-goto-successor-1 (section) +(cl-defmethod magit-section-get-relative-position ((section magit-section)) + (let ((start (oref section start)) + (point (magit-point))) + (list (- (line-number-at-pos point) + (line-number-at-pos start)) + (- point (line-beginning-position))))) + +(cl-defgeneric magit-section-goto-successor ()) + +(cl-defmethod magit-section-goto-successor ((section magit-section) + line char &optional _arg) + (or (magit-section-goto-successor--same section line char) + (magit-section-goto-successor--related section))) + +(defun magit-section-goto-successor--same (section line char) + (let ((ident (magit-section-ident section))) + (and-let* ((found (magit-get-section ident))) + (let ((start (oref found start))) + (goto-char start) + (unless (eq found magit-root-section) + (ignore-errors + (forward-line line) + (forward-char char)) + (unless (eq (magit-current-section) found) + (goto-char start))) + t)))) + +(defun magit-section-goto-successor--related (section) + (and-let* ((found (magit-section-goto-successor--related-1 section))) + (goto-char (if (eq (oref found type) 'button) + (point-min) + (oref found start))))) + +(defun magit-section-goto-successor--related-1 (section) (or (and-let* ((alt (pcase (oref section type) ('staged 'unstaged) ('unstaged 'staged) @@ -1721,7 +1735,7 @@ invisible." (magit-get-section (magit-section-ident prev))) (and-let* ((parent (oref section parent))) (or (magit-get-section (magit-section-ident parent)) - (magit-section-goto-successor-1 parent))))) + (magit-section-goto-successor--related-1 parent))))) ;;; Region diff --git a/code/elpa/magit-section-20220425.1002/magit-section.info b/code/elpa/magit-section-20220803.2341/magit-section.info similarity index 97% rename from code/elpa/magit-section-20220425.1002/magit-section.info rename to code/elpa/magit-section-20220803.2341/magit-section.info index 99f548e..7e6ad9e 100644 --- a/code/elpa/magit-section-20220425.1002/magit-section.info +++ b/code/elpa/magit-section-20220803.2341/magit-section.info @@ -172,7 +172,7 @@ File: magit-section.info, Node: Core Functions, Next: Matching Functions, Pre Return the section at point or where the context menu was invoked. When using the context menu, return the section that the user clicked on, provided the current buffer is the buffer in which the - click occured. Otherwise return the section at point. + click occurred. Otherwise return the section at point. Function magit-section-at &optional position Return the section at POSITION, defaulting to point. Default to @@ -219,14 +219,14 @@ Function magit-point Return point or the position where the context menu was invoked. When using the context menu, return the position the user clicked on, provided the current buffer is the buffer in which the click - occured. Otherwise return the same value as ‘point’. + occurred. Otherwise return the same value as ‘point’. Function magit-thing-at-point thing &optional no-properties Return the THING at point or where the context menu was invoked. When using the context menu, return the thing the user clicked on, provided the current buffer is the buffer in which the click - occured. Otherwise return the same value as ‘thing-at-point’. For - the meaning of THING and NO-PROPERTIES see that function. + occurred. Otherwise return the same value as ‘thing-at-point’. + For the meaning of THING and NO-PROPERTIES see that function.  File: magit-section.info, Node: Matching Functions, Prev: Core Functions, Up: Top @@ -297,7 +297,7 @@ Node: Top788 Node: Introduction2073 Node: Creating Sections2843 Node: Core Functions7352 -Node: Matching Functions10402 +Node: Matching Functions10404  End Tag Table diff --git a/code/elpa/markdown-mode-20220406.410/markdown-mode-pkg.el b/code/elpa/markdown-mode-20220406.410/markdown-mode-pkg.el deleted file mode 100644 index 169c4c8..0000000 --- a/code/elpa/markdown-mode-20220406.410/markdown-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from markdown-mode.el -*- no-byte-compile: t -*- -(define-package "markdown-mode" "20220406.410" "Major mode for Markdown-formatted text" '((emacs "26.1")) :commit "d2a3d5b8625a7c6be21f19f9146745cd5c791a6a" :authors '(("Jason R. Blevins" . "jblevins@xbeta.org")) :maintainer '("Jason R. Blevins" . "jblevins@xbeta.org") :keywords '("markdown" "github flavored markdown" "itex") :url "https://jblevins.org/projects/markdown-mode/") diff --git a/code/elpa/markdown-mode-20220406.410/markdown-mode-autoloads.el b/code/elpa/markdown-mode-20220708.6/markdown-mode-autoloads.el similarity index 100% rename from code/elpa/markdown-mode-20220406.410/markdown-mode-autoloads.el rename to code/elpa/markdown-mode-20220708.6/markdown-mode-autoloads.el diff --git a/code/elpa/markdown-mode-20220708.6/markdown-mode-pkg.el b/code/elpa/markdown-mode-20220708.6/markdown-mode-pkg.el new file mode 100644 index 0000000..873f159 --- /dev/null +++ b/code/elpa/markdown-mode-20220708.6/markdown-mode-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from markdown-mode.el -*- no-byte-compile: t -*- +(define-package "markdown-mode" "20220708.6" "Major mode for Markdown-formatted text" '((emacs "26.1")) :commit "0b8dc23724caa66b18bded28c08f7516cba9d292" :authors '(("Jason R. Blevins" . "jblevins@xbeta.org")) :maintainer '("Jason R. Blevins" . "jblevins@xbeta.org") :keywords '("markdown" "github flavored markdown" "itex") :url "https://jblevins.org/projects/markdown-mode/") diff --git a/code/elpa/markdown-mode-20220406.410/markdown-mode.el b/code/elpa/markdown-mode-20220708.6/markdown-mode.el similarity index 99% rename from code/elpa/markdown-mode-20220406.410/markdown-mode.el rename to code/elpa/markdown-mode-20220708.6/markdown-mode.el index ab1579a..1ea12e2 100644 --- a/code/elpa/markdown-mode-20220406.410/markdown-mode.el +++ b/code/elpa/markdown-mode-20220708.6/markdown-mode.el @@ -7,8 +7,8 @@ ;; Maintainer: Jason R. Blevins ;; Created: May 24, 2007 ;; Version: 2.6-dev -;; Package-Version: 20220406.410 -;; Package-Commit: d2a3d5b8625a7c6be21f19f9146745cd5c791a6a +;; Package-Version: 20220708.6 +;; Package-Commit: 0b8dc23724caa66b18bded28c08f7516cba9d292 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: Markdown, GitHub Flavored Markdown, itex ;; URL: https://jblevins.org/projects/markdown-mode/ @@ -190,7 +190,7 @@ line around the header title." (defcustom markdown-indent-on-enter t "Determines indentation behavior when pressing \\[newline]. -Possible settings are nil, t, and 'indent-and-new-item. +Possible settings are nil, t, and \\='indent-and-new-item. When non-nil, pressing \\[newline] will call `newline-and-indent' to indent the following line according to the context using @@ -198,7 +198,7 @@ to indent the following line according to the context using \\[electric-newline-and-maybe-indent] can still be used to insert a newline without indentation. -When set to 'indent-and-new-item and the point is in a list item +When set to \\='indent-and-new-item and the point is in a list item when \\[newline] is pressed, the list will be continued on the next line, where a new item will be inserted. @@ -492,15 +492,15 @@ completion." (defcustom markdown-split-window-direction 'any "Preference for splitting windows for static and live preview. -The default value is 'any, which instructs Emacs to use +The default value is \\='any, which instructs Emacs to use `split-window-sensibly' to automatically choose how to split windows based on the values of `split-width-threshold' and `split-height-threshold' and the available windows. To force -vertically split (left and right) windows, set this to 'vertical -or 'right. To force horizontally split (top and bottom) windows, -set this to 'horizontal or 'below. +vertically split (left and right) windows, set this to \\='vertical +or \\='right. To force horizontally split (top and bottom) windows, +set this to \\='horizontal or \\='below. -If this value is 'any and `display-buffer-alist' is set then +If this value is \\='any and `display-buffer-alist' is set then `display-buffer' is used for open buffer function" :group 'markdown :type '(choice (const :tag "Automatic" any) @@ -518,8 +518,8 @@ the buffer." (defcustom markdown-live-preview-delete-export 'delete-on-destroy "Delete exported HTML file when using `markdown-live-preview-export'. -If set to 'delete-on-export, delete on every export. When set to -'delete-on-destroy delete when quitting from command +If set to \\='delete-on-export, delete on every export. When set to +\\='delete-on-destroy delete when quitting from command `markdown-live-preview-mode'. Never delete if set to nil." :group 'markdown :type '(choice @@ -639,6 +639,15 @@ This variable must be set before loading markdown-mode." :safe 'booleanp :package-version '(markdown-mode . "2.5")) +(defcustom markdown-fontify-whole-heading-line nil + "Non-nil means fontify the whole line for headings. +This is useful when setting a background color for the +markdown-header-face-* faces." + :group 'markdown + :type 'boolean + :safe 'booleanp + :package-version '(markdown-mode . "2.5")) + ;;; Markdown-Specific `rx' Macro ============================================== @@ -857,7 +866,7 @@ Group 3 matches the text.") (defconst markdown-regex-wiki-link "\\(?:^\\|[^\\]\\)\\(?1:\\(?2:\\[\\[\\)\\(?3:[^]|]+\\)\\(?:\\(?4:|\\)\\(?5:[^]]+\\)\\)?\\(?6:\\]\\]\\)\\)" "Regular expression for matching wiki links. -This matches typical bracketed [[WikiLinks]] as well as 'aliased' +This matches typical bracketed [[WikiLinks]] as well as \\='aliased wiki links of the form [[PageName|link text]]. The meanings of the first and second components depend on the value of `markdown-wiki-link-alias-first'. @@ -1337,7 +1346,7 @@ block construct when it is matched using to the text matching START-REGEX-OR-FUN, END-PROPERTY to END-REGEX-OR-FUN, and MIDDLE-PROPERTY to the text in between the two. The value of *-PROPERTY is the `match-data' when the regexp was matched to the text. In the case of -MIDDLE-PROPERTY, the value is a false match data of the form '(begin end), with +MIDDLE-PROPERTY, the value is a false match data of the form \\='(begin end), with begin and end set to the edges of the \"middle\" text. This makes fontification easier.") @@ -2230,6 +2239,11 @@ Depending on your font, some reasonable choices are: ;;; Compatibility ============================================================= +(defun markdown--pandoc-reference-p () + (let ((bounds (bounds-of-thing-at-point 'word))) + (when (and bounds (char-before (car bounds))) + (= (char-before (car bounds)) ?@)))) + (defun markdown-flyspell-check-word-p () "Return t if `flyspell' should check word just before point. Used for `flyspell-generic-check-word-predicate'." @@ -2245,7 +2259,8 @@ Used for `flyspell-generic-check-word-predicate'." markdown-markup-face markdown-plain-url-face markdown-inline-code-face - markdown-url-face))) + markdown-url-face)) + (markdown--pandoc-reference-p)) (prog1 nil ;; If flyspell overlay is put, then remove it (let ((bounds (bounds-of-thing-at-point 'word))) @@ -2634,7 +2649,7 @@ The return value has the same form as that of (defun markdown-bounds-of-thing-at-point (thing) "Call `bounds-of-thing-at-point' for THING with slight modifications. -Does not include trailing newlines when THING is 'line. Handles the +Does not include trailing newlines when THING is \\='line. Handles the end of buffer case by setting both endpoints equal to the value of `point-max', since an empty region will trigger empty markup insertion. Return bounds of form (beg . end) if THING is found, or nil otherwise." @@ -3015,13 +3030,13 @@ Restore match data previously stored in PROPERTY." (defun markdown-match-pre-blocks (last) "Match preformatted blocks from point to LAST. -Use data stored in 'markdown-pre text property during syntax +Use data stored in \\='markdown-pre text property during syntax analysis." (markdown-match-propertized-text 'markdown-pre last)) (defun markdown-match-gfm-code-blocks (last) "Match GFM quoted code blocks from point to LAST. -Use data stored in 'markdown-gfm-code text property during syntax +Use data stored in \\='markdown-gfm-code text property during syntax analysis." (markdown-match-propertized-text 'markdown-gfm-code last)) @@ -3043,7 +3058,7 @@ analysis." (defun markdown-match-blockquotes (last) "Match blockquotes from point to LAST. -Use data stored in 'markdown-blockquote text property during syntax +Use data stored in \\='markdown-blockquote text property during syntax analysis." (markdown-match-propertized-text 'markdown-blockquote last)) @@ -3428,13 +3443,17 @@ SEQ may be an atom or a sequence." (add-text-properties (match-beginning 3) (match-end 3) rule-props))) ;; atx heading - (add-text-properties - (match-beginning 4) (match-end 4) left-markup-props) - (add-text-properties - (match-beginning 5) (match-end 5) heading-props) - (when (match-end 6) + (if markdown-fontify-whole-heading-line + (let ((header-end (min (point-max) (1+ (match-end 0))))) + (add-text-properties + (match-beginning 0) header-end heading-props)) (add-text-properties - (match-beginning 6) (match-end 6) right-markup-props)))) + (match-beginning 4) (match-end 4) left-markup-props) + (add-text-properties + (match-beginning 5) (match-end 5) heading-props) + (when (match-end 6) + (add-text-properties + (match-beginning 6) (match-end 6) right-markup-props))))) t)) (defun markdown-fontify-tables (last) @@ -4520,7 +4539,7 @@ at the beginning of the block." (defun markdown-insert-foldable-block () "Insert details disclosure element to make content foldable. If a region is active, wrap this region with the disclosure -element. More detais here 'https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details'." +element. More detais here https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details." (interactive) (let ((details-open-tag "
") (details-close-tag "
") @@ -4965,7 +4984,7 @@ If the point is at a table, move to the next row. Otherwise, indent according to value of `markdown-indent-on-enter'. When it is nil, simply call `newline'. Otherwise, indent the next line following RET using `markdown-indent-line'. Furthermore, when it -is set to 'indent-and-new-item and the point is in a list item, +is set to \\='indent-and-new-item and the point is in a list item, start a new item with the same indentation. If the point is in an empty list item, remove it (so that pressing RET twice when in a list simply adds a blank line)." @@ -7661,20 +7680,19 @@ displaying the rendered output." (setq markdown-live-preview-source-buffer nil)))) (defun markdown-live-preview-switch-to-output () - "Switch to output buffer." + "Turn on `markdown-live-preview-mode' and switch to output buffer. +The output buffer is opened in another window." (interactive) - "Turn on `markdown-live-preview-mode' if not already on, and switch to its -output buffer in another window." (if markdown-live-preview-mode (markdown-display-buffer-other-window (markdown-live-preview-export))) (markdown-live-preview-mode)) (defun markdown-live-preview-re-export () - "Re export source buffer." - (interactive) - "If the current buffer is a buffer displaying the exported version of a + "Re-export the current live previewed content. +If the current buffer is a buffer displaying the exported version of a `markdown-live-preview-mode' buffer, call `markdown-live-preview-export' and update this buffer's contents." + (interactive) (when markdown-live-preview-source-buffer (with-current-buffer markdown-live-preview-source-buffer (markdown-live-preview-export)))) @@ -7831,8 +7849,7 @@ Translate filenames using `markdown-filename-translate-function'." (title-end (match-end 7)) (title (match-string-no-properties 7)) ;; Markup part - (mp (list 'face 'markdown-markup-face - 'invisible 'markdown-markup + (mp (list 'invisible 'markdown-markup 'rear-nonsticky t 'font-lock-multiline t)) ;; Link part (without face) @@ -7842,26 +7859,28 @@ Translate filenames using `markdown-filename-translate-function'." 'help-echo (if title (concat title "\n" url) url))) ;; URL part (up (list 'keymap markdown-mode-mouse-map - 'face 'markdown-url-face 'invisible 'markdown-markup 'mouse-face 'markdown-highlight-face 'font-lock-multiline t)) ;; URL composition character (url-char (markdown--first-displayable markdown-url-compose-char)) ;; Title part - (tp (list 'face 'markdown-link-title-face - 'invisible 'markdown-markup + (tp (list 'invisible 'markdown-markup 'font-lock-multiline t))) (dolist (g '(1 2 4 5 8)) (when (match-end g) - (add-text-properties (match-beginning g) (match-end g) mp))) + (add-text-properties (match-beginning g) (match-end g) mp) + (add-face-text-property (match-beginning g) (match-end g) 'markdown-markup-face))) ;; Preserve existing faces applied to link part (e.g., inline code) (when link-start (add-text-properties link-start link-end lp) - (add-face-text-property link-start link-end - 'markdown-link-face 'append)) - (when url-start (add-text-properties url-start url-end up)) - (when title-start (add-text-properties url-end title-end tp)) + (add-face-text-property link-start link-end 'markdown-link-face)) + (when url-start + (add-text-properties url-start url-end up) + (add-face-text-property url-start url-end 'markdown-url-face)) + (when title-start + (add-text-properties url-end title-end tp) + (add-face-text-property url-end title-end 'markdown-link-title-face)) (when (and markdown-hide-urls url-start) (compose-region url-start (or title-end url-end) url-char)) t))) @@ -7874,13 +7893,11 @@ Translate filenames using `markdown-filename-translate-function'." (ref-start (match-beginning 6)) (ref-end (match-end 6)) ;; Markup part - (mp (list 'face 'markdown-markup-face - 'invisible 'markdown-markup + (mp (list 'invisible 'markdown-markup 'rear-nonsticky t 'font-lock-multiline t)) ;; Link part (lp (list 'keymap markdown-mode-mouse-map - 'face 'markdown-link-face 'mouse-face 'markdown-highlight-face 'font-lock-multiline t 'help-echo (lambda (_ __ pos) @@ -7892,16 +7909,20 @@ Translate filenames using `markdown-filename-translate-function'." ;; URL composition character (url-char (markdown--first-displayable markdown-url-compose-char)) ;; Reference part - (rp (list 'face 'markdown-reference-face - 'invisible 'markdown-markup + (rp (list 'invisible 'markdown-markup 'font-lock-multiline t))) (dolist (g '(1 2 4 5 8)) (when (match-end g) - (add-text-properties (match-beginning g) (match-end g) mp))) - (when link-start (add-text-properties link-start link-end lp)) - (when ref-start (add-text-properties ref-start ref-end rp) - (when (and markdown-hide-urls (> (- ref-end ref-start) 2)) - (compose-region ref-start ref-end url-char))) + (add-text-properties (match-beginning g) (match-end g) mp) + (add-face-text-property (match-beginning g) (match-end g) 'markdown-markup-face))) + (when link-start + (add-text-properties link-start link-end lp) + (add-face-text-property link-start link-end 'markdown-link-face)) + (when ref-start + (add-text-properties ref-start ref-end rp) + (add-face-text-property ref-start ref-end 'markdown-reference-face) + (when (and markdown-hide-urls (> (- ref-end ref-start) 2)) + (compose-region ref-start ref-end url-char))) t))) (defun markdown-fontify-angle-uris (last) @@ -9652,7 +9673,7 @@ rows and columns and the column alignment." ;;; ElDoc Support ============================================================= -(defun markdown-eldoc-function () +(defun markdown-eldoc-function (&rest _ignored) "Return a helpful string when appropriate based on context. * Report URL when point is at a hidden URL. * Report language name when point is a code block with hidden markup." @@ -9792,8 +9813,10 @@ rows and columns and the column alignment." ;; Cause use of ellipses for invisible text. (add-to-invisibility-spec '(outline . t)) ;; ElDoc support - (add-function :before-until (local 'eldoc-documentation-function) - #'markdown-eldoc-function) + (if (boundp 'eldoc-documentation-functions) + (add-hook 'eldoc-documentation-functions #'markdown-eldoc-function nil t) + (add-function :before-until (local 'eldoc-documentation-function) + #'markdown-eldoc-function)) ;; Inhibiting line-breaking: ;; Separating out each condition into a separate function so that users can ;; override if desired (with remove-hook) diff --git a/code/elpa/modus-themes-20220421.1021/dir b/code/elpa/modus-themes-20220804.500/dir similarity index 100% rename from code/elpa/modus-themes-20220421.1021/dir rename to code/elpa/modus-themes-20220804.500/dir diff --git a/code/elpa/modus-themes-20220421.1021/doclicense.info b/code/elpa/modus-themes-20220804.500/doclicense.info similarity index 100% rename from code/elpa/modus-themes-20220421.1021/doclicense.info rename to code/elpa/modus-themes-20220804.500/doclicense.info diff --git a/code/elpa/modus-themes-20220421.1021/modus-operandi-theme.el b/code/elpa/modus-themes-20220804.500/modus-operandi-theme.el similarity index 94% rename from code/elpa/modus-themes-20220421.1021/modus-operandi-theme.el rename to code/elpa/modus-themes-20220804.500/modus-operandi-theme.el index 514eb0b..20af99d 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-operandi-theme.el +++ b/code/elpa/modus-themes-20220804.500/modus-operandi-theme.el @@ -3,8 +3,10 @@ ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou +;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes -;; Version: 2.3.2 +;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes +;; Version: 2.5.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/code/elpa/modus-themes-20220421.1021/modus-themes-autoloads.el b/code/elpa/modus-themes-20220804.500/modus-themes-autoloads.el similarity index 97% rename from code/elpa/modus-themes-20220421.1021/modus-themes-autoloads.el rename to code/elpa/modus-themes-20220804.500/modus-themes-autoloads.el index 5a4c839..a9197a2 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-themes-autoloads.el +++ b/code/elpa/modus-themes-20220804.500/modus-themes-autoloads.el @@ -17,7 +17,7 @@ argument, insert the `modus-themes--version' at point. \(fn &optional INSERT)" t nil) (autoload 'modus-themes-report-bug "modus-themes" "\ -Submit a bug report or issue to the Modus themes developers." nil nil) +Submit a bug report or issue to the Modus themes developers." t nil) (autoload 'modus-themes-contrast "modus-themes" "\ Measure WCAG contrast ratio between C1 and C2. diff --git a/code/elpa/modus-themes-20220421.1021/modus-themes-pkg.el b/code/elpa/modus-themes-20220804.500/modus-themes-pkg.el similarity index 50% rename from code/elpa/modus-themes-20220421.1021/modus-themes-pkg.el rename to code/elpa/modus-themes-20220804.500/modus-themes-pkg.el index 4c08644..88a3890 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-themes-pkg.el +++ b/code/elpa/modus-themes-20220804.500/modus-themes-pkg.el @@ -1,9 +1,9 @@ -(define-package "modus-themes" "20220421.1021" "Elegant, highly legible and customizable themes" +(define-package "modus-themes" "20220804.500" "Elegant, highly legible and customizable themes" '((emacs "27.1")) - :commit "e8f1b8997466e244d9aa1a11b7ffaa4b70419874" :authors + :commit "a9399d08ce2199b31f7e64a3f4740156e8f501eb" :authors '(("Protesilaos Stavrou" . "info@protesilaos.com")) :maintainer - '("Protesilaos Stavrou" . "info@protesilaos.com") + '("Modus-Themes Development" . "~protesilaos/modus-themes@lists.sr.ht") :keywords '("faces" "theme" "accessibility") :url "https://git.sr.ht/~protesilaos/modus-themes") diff --git a/code/elpa/modus-themes-20220421.1021/modus-themes.el b/code/elpa/modus-themes-20220804.500/modus-themes.el similarity index 94% rename from code/elpa/modus-themes-20220421.1021/modus-themes.el rename to code/elpa/modus-themes-20220804.500/modus-themes.el index d5ed7ad..9add66f 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-themes.el +++ b/code/elpa/modus-themes-20220804.500/modus-themes.el @@ -3,9 +3,10 @@ ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou +;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes -;; Mailing list: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.3.2 +;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes +;; Version: 2.5.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility @@ -68,309 +69,8 @@ ;; modus-themes-operandi-color-overrides (alist) ;; modus-themes-vivendi-color-overrides (alist) ;; -;; Below is the list of explicitly supported packages or face groups -;; (there are implicitly supported packages as well, which inherit from -;; font-lock or some basic group). You are encouraged to report any -;; missing package or change you would like to see. -;; -;; ace-window -;; alert -;; all-the-icons -;; all-the-icons-dired -;; all-the-icons-ibuffer -;; annotate -;; ansi-color -;; anzu -;; apropos -;; artbollocks-mode -;; auctex and TeX -;; auto-dim-other-buffers -;; avy -;; awesome-tray -;; bbdb -;; binder -;; bm -;; bongo -;; boon -;; bookmark -;; breakpoint (provided by built-in gdb-mi.el) -;; calendar and diary -;; calfw -;; centaur-tabs -;; cfrs -;; change-log and log-view (`vc-print-log' and `vc-print-root-log') -;; cider -;; circe -;; citar -;; color-rg -;; column-enforce-mode -;; company-mode -;; company-posframe -;; compilation-mode -;; completions -;; consult -;; corfu -;; corfu-quick -;; counsel -;; counsel-css -;; cov -;; cperl-mode -;; css-mode -;; csv-mode -;; ctrlf -;; cursor-flash -;; custom (M-x customize) -;; dap-mode -;; dashboard (emacs-dashboard) -;; deadgrep -;; debbugs -;; deft -;; devdocs -;; dictionary -;; diff-hl -;; diff-mode -;; dim-autoload -;; dir-treeview -;; Dired -;; dired-async -;; dired-git -;; dired-git-info -;; dired-narrow -;; dired-subtree -;; diredfl -;; diredp (dired+) -;; display-fill-column-indicator-mode -;; doom-modeline -;; dynamic-ruler -;; easy-jekyll -;; ebdb -;; ediff -;; eglot -;; el-search -;; eldoc -;; eldoc-box -;; elfeed -;; elfeed-score -;; elpher -;; embark -;; ement (ement.el) -;; emms -;; enh-ruby-mode (enhanced-ruby-mode) -;; epa -;; equake -;; erc -;; eros -;; ert -;; eshell -;; eshell-fringe-status -;; eshell-git-prompt -;; eshell-prompt-extras (epe) -;; eshell-syntax-highlighting -;; evil (evil-mode) -;; evil-goggles -;; evil-snipe -;; evil-visual-mark-mode -;; eww -;; exwm -;; eyebrowse -;; fancy-dabbrev -;; flycheck -;; flycheck-color-mode-line -;; flycheck-indicator -;; flycheck-posframe -;; flymake -;; flyspell -;; flx -;; freeze-it -;; frog-menu -;; focus -;; fold-this -;; font-lock (generic syntax highlighting) -;; forge -;; fountain (fountain-mode) -;; geiser -;; git-commit -;; git-gutter (and variants) -;; git-rebase -;; git-timemachine -;; gnus -;; gotest -;; golden-ratio-scroll-screen -;; helm -;; helm-ls-git -;; helm-switch-shell -;; helm-xref -;; helpful -;; highlight-indentation -;; highlight-numbers -;; highlight-thing -;; hl-defined -;; hl-fill-column -;; hl-line-mode -;; hl-todo -;; hydra -;; ibuffer -;; icomplete -;; ido-mode -;; iedit -;; iflipb -;; image-dired -;; imenu-list -;; indium -;; info -;; info-colors -;; interaction-log -;; ioccur -;; isearch, occur, etc. -;; ivy -;; ivy-posframe -;; jira (org-jira) -;; journalctl-mode -;; js2-mode -;; julia -;; jupyter -;; kaocha-runner -;; keycast -;; ledger-mode -;; line numbers (`display-line-numbers-mode' and global variant) -;; lsp-mode -;; lsp-ui -;; macrostep -;; magit -;; magit-imerge -;; make-mode -;; man -;; marginalia -;; markdown-mode -;; markup-faces (`adoc-mode') -;; mct -;; mentor -;; messages -;; mini-modeline -;; minimap -;; mmm-mode -;; mode-line -;; mood-line -;; mpdel -;; mu4e -;; multiple-cursors -;; nano-modeline -;; neotree -;; notmuch -;; num3-mode -;; nxml-mode -;; orderless -;; org -;; org-journal -;; org-noter -;; org-pomodoro -;; org-recur -;; org-roam -;; org-superstar -;; org-table-sticky-header -;; org-tree-slide -;; org-treescope -;; origami -;; outline-mode -;; outline-minor-faces -;; package (M-x list-packages) -;; page-break-lines -;; pandoc-mode -;; paradox -;; paren-face -;; pass -;; pdf-tools -;; persp-mode -;; perspective -;; phi-grep -;; pomidor -;; popup -;; powerline -;; powerline-evil -;; prism (see "Note for prism.el" in the manual) -;; proced -;; prodigy -;; pulse -;; pyim -;; quick-peek -;; racket-mode -;; rainbow-blocks -;; rainbow-delimiters -;; rcirc -;; recursion-indicator -;; regexp-builder (also known as `re-builder') -;; rg -;; ripgrep -;; rmail -;; ruler-mode -;; selectrum -;; selectrum-prescient -;; semantic -;; sesman -;; shell-script-mode -;; shortdoc -;; show-paren-mode -;; shr -;; side-notes -;; sieve-mode -;; skewer-mode -;; slime (sldb) -;; sly -;; smart-mode-line -;; smartparens -;; smerge -;; spaceline -;; speedbar -;; stripes -;; suggest -;; switch-window -;; swiper -;; sx -;; symbol-overlay -;; syslog-mode -;; tab-bar-groups -;; tab-bar-mode -;; tab-line-mode -;; table (built-in table.el) -;; telega -;; telephone-line -;; terraform-mode -;; term -;; textsec -;; tomatinho -;; transient (pop-up windows like Magit's) -;; trashed -;; tree-sitter -;; treemacs -;; tty-menu -;; tuareg -;; typescript -;; undo-tree -;; vc (vc-dir.el, vc-hooks.el) -;; vc-annotate (C-x v g) -;; vertico -;; vertico-quick -;; vimish-fold -;; visible-mark -;; visual-regexp -;; vterm -;; vundo -;; wcheck-mode -;; web-mode -;; wgrep -;; which-function-mode -;; which-key -;; whitespace-mode -;; window-divider-mode -;; winum -;; writegood-mode -;; woman -;; xah-elisp-mode -;; xref -;; xterm-color (and ansi-colors) -;; yaml-mode -;; yasnippet -;; ztree +;; Check the manual for all supported packages (there are hundreds of +;; them). ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the @@ -409,8 +109,13 @@ cover the blue-cyan-magenta side of the spectrum." :prefix "modus-themes-" :tag "Modus Themes Faces") -(defvar modus-themes--version "2.4.0-dev" - "Current version of the Modus themes.") +(defvar modus-themes--version "2.6.0-dev" + "Current version of the Modus themes. + +The version either is the last tagged release, such as '1.0.0', +or an in-development version like '1.1.0-dev'. As we use +semantic versioning, tags of the '1.0.1' sort are not reported: +those would count as part of '1.1.0-dev'.") ;;;###autoload (defun modus-themes-version (&optional insert) @@ -426,6 +131,7 @@ argument, insert the `modus-themes--version' at point." ;;;###autoload (defun modus-themes-report-bug () "Submit a bug report or issue to the Modus themes developers." + (interactive) (reporter-submit-bug-report "~protesilaos/modus-themes@lists.sr.ht" (format "modus-themes (%s)\n" modus-themes--version) @@ -1249,7 +955,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-special-cold nil - "Combines the 'special cold' background and foreground values. + "Combines the special cold background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. @@ -1258,7 +964,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-special-mild nil - "Combines the 'special mild' background and foreground values. + "Combines the special mild background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. @@ -1267,7 +973,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-special-warm nil - "Combines the 'special warm' background and foreground values. + "Combines the special warm background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. @@ -1276,7 +982,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-special-calm nil - "Combines the 'special calm' background and foreground values. + "Combines the special calm background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. @@ -1285,7 +991,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-added nil - "Combines green colors for the 'added' state in diffs. + "Combines green colors for the added state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1293,7 +999,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-changed nil - "Combines yellow colors for the 'changed' state in diffs. + "Combines yellow colors for the changed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1301,7 +1007,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-removed nil - "Combines red colors for the 'removed' state in diffs. + "Combines red colors for the removed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1309,7 +1015,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-refine-added nil - "Combines green colors for word-wise 'added' state in diffs. + "Combines green colors for word-wise added state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1317,7 +1023,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-refine-changed nil - "Combines yellow colors for word-wise 'changed' state in diffs. + "Combines yellow colors for word-wise changed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1325,7 +1031,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-refine-removed nil - "Combines red colors for word-wise 'removed' state in diffs. + "Combines red colors for word-wise removed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1333,7 +1039,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-focus-added nil - "Combines green colors for the focused 'added' state in diffs. + "Combines green colors for the focused added state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1341,7 +1047,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-focus-changed nil - "Combines yellow colors for the focused 'changed' state in. + "Combines yellow colors for the focused changed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1349,7 +1055,7 @@ The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) (defface modus-themes-diff-focus-removed nil - "Combines red colors for the focused 'removed' state in diffs. + "Combines red colors for the focused removed state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. @@ -1394,6 +1100,14 @@ The actual styling of the face is done by `modus-themes-faces'." "Applies a blue color and other styles for mark indicators. This is intended for use in modes such as Dired, Ibuffer, Proced. +The actual styling of the face is done by `modus-themes-faces'." + :group 'modus-themes-faces) + +(defface modus-themes-heading-0 nil + "General purpose face for use as the document's title. +The exact attributes assigned to this face are contingent on the +values assigned to the `modus-themes-headings' variable. + The actual styling of the face is done by `modus-themes-faces'." :group 'modus-themes-faces) @@ -1754,7 +1468,7 @@ For form, see `modus-themes-operandi-colors'." :type '(alist :key-type symbol :value-type color) :set #'modus-themes--set-option :initialize #'custom-initialize-default - :link '(info-link "(modus-themes) Override colors (DIY)")) + :link '(info-link "(modus-themes) Override colors")) (defcustom modus-themes-vivendi-color-overrides nil "Override colors in the Modus Vivendi palette. @@ -1766,7 +1480,7 @@ For form, see `modus-themes-vivendi-colors'." :type '(alist :key-type symbol :value-type color) :set #'modus-themes--set-option :initialize #'custom-initialize-default - :link '(info-link "(modus-themes) Override colors (DIY)")) + :link '(info-link "(modus-themes) Override colors")) ;; The byte compiler complains when a defcustom isn't a top level form (let* ((names (mapcar (lambda (pair) @@ -1871,14 +1585,19 @@ speaking, is not limited to mouse usage." This is a helper variable intended for internal use.") (defcustom modus-themes-headings nil - "Heading styles with optional list of values for levels 1-8. + "Heading styles with optional list of values for levels 0-8. This is an alist that accepts a (key . list-of-values) combination. The key is either a number, representing the -heading's level or t, which pertains to the fallback style. The -list of values covers symbols that refer to properties, as -described below. Here is a sample, followed by a presentation of -all available properties: +heading's level (0-8) or t, which pertains to the fallback style. + +Level 0 is a special heading: it is used for what counts as a +document title or equivalent, such as the #+title construct we +find in Org files. Levels 1-8 are regular headings. + +The list of values covers symbols that refer to properties, as +described below. Here is a complete sample, followed by a +presentation of all available properties: (setq modus-themes-headings (quote ((1 . (background overline variable-pitch 1.5)) @@ -1963,12 +1682,12 @@ For Org users, the extent of the heading depends on the variable and `background' properties. Depending on the version of Org, there may be others, such as `org-fontify-done-headline'." :group 'modus-themes - :package-version '(modus-themes . "2.3.0") + :package-version '(modus-themes . "2.5.0") :version "29.1" :type `(alist :options ,(mapcar (lambda (el) (list el modus-themes--headings-choice)) - '(1 2 3 4 5 6 7 8 t)) + '(0 1 2 3 4 5 6 7 8 t)) :key-type symbol :value-type ,modus-themes--headings-choice) :set #'modus-themes--set-option @@ -2122,6 +1841,7 @@ value are passed as a symbol. Those are: yellow, green, blue, in tinted and shaded versions. They cover the full set of information provided by the `org-habit' consistency graph. + - `simplified' is like the default except that it removes the dichotomy between current and future variants by applying uniform color-coded values. It applies a total of four colors: @@ -2130,15 +1850,17 @@ value are passed as a symbol. Those are: the default. The intent is to shift focus towards the distinction between the four states of a habit task, rather than each state's present/future outlook. + - `traffic-light' further reduces the available colors to red, yellow, and green. As in `simplified', present and future - variants appear uniformly, but differently from it, the 'clear' + variants appear uniformly, but differently from it, the CLEAR state is rendered in a green hue, instead of the original blue. This is meant to capture the use-case where a habit task being - \"too early\" is less important than it being \"too late\". - The difference between ready and clear states is attenuated by + too early is less important than it being too late. The + difference between READY and CLEAR states is attenuated by painting both of them using shades of green. This option thus highlights the alert and overdue states. + - When `modus-themes-deuteranopia' is non-nil the exact style of the habit graph adapts to the needs of users with red-green color deficiency by substituting every instance of green with @@ -2355,7 +2077,7 @@ active mode line. The inactive mode lines remain two-dimensional and are toned down a bit, relative to the default style. The `moody' property optimizes the mode line for use with the -library of the same name (hereinafter referred to as 'Moody'). +library of the same name (hereinafter referred to as Moody). In practice, it removes the box effect and replaces it with underline and overline properties. It also tones down the inactive mode lines. Despite its intended purpose, this option @@ -3229,8 +2951,11 @@ Those are stored in `modus-themes-faces' and (defun modus-themes--current-theme () "Return current modus theme." - (car (seq-filter (lambda (arg) (string-match-p "^modus" (symbol-name arg))) - custom-enabled-themes))) + (car + (seq-filter + (lambda (theme) + (string-match-p "^modus" (symbol-name theme))) + custom-enabled-themes))) ;; Helper functions that are meant to ease the implementation of the ;; above customization variables. @@ -3282,11 +3007,11 @@ foreground. INTENSEFG is an alternative to the default." (cond ((and (memq 'bold properties) (memq 'italic properties)) - (list 'modus-themes-fixed-pitch 'bold-italic)) + (list 'bold-italic 'modus-themes-fixed-pitch)) ((memq 'italic properties) - (list 'modus-themes-fixed-pitch 'italic)) + (list 'italic 'modus-themes-fixed-pitch)) ((memq 'bold properties) - (list 'modus-themes-fixed-pitch 'bold)) + (list 'bold 'modus-themes-fixed-pitch)) (t 'modus-themes-fixed-pitch)) :background (cond @@ -3405,10 +3130,10 @@ theme's fallback text color." (defun modus-themes--paren (normalbg intensebg) "Conditional use of intense colors for matching parentheses. -NORMALBG should be the special palette color 'bg-paren-match' or +NORMALBG should be the special palette color bg-paren-match or something similar. INTENSEBG must be easier to discern next to other backgrounds, such as the special palette color -'bg-paren-match-intense'." +bg-paren-match-intense." (let ((properties (modus-themes--list-or-warn 'modus-themes-paren-match))) (list :inherit (if (memq 'bold properties) @@ -3489,7 +3214,7 @@ an alternative to the default value." ((and (memq 'alt-syntax properties) (memq 'yellow-comments properties) (not (memq 'green-strings properties))) - (or faint-yellow yellow)) + yellow) ((memq 'yellow-comments properties) yellow) ((memq 'faint properties) @@ -3674,8 +3399,8 @@ clearly distinguishes past, present, future tasks." (defun modus-themes--agenda-habit (default traffic simple &optional default-d traffic-d simple-d) "Specify background values for `modus-themes-org-agenda' habits. DEFAULT is the original foregrounc color. TRAFFIC is to be used -when the 'traffic-light' style is applied, while SIMPLE -corresponds to the 'simplified style'. +when the traffic-light style is applied, while SIMPLE corresponds +to the simplified style. Optional DEFAULT-D, TRAFFIC-D, SIMPLE-D are alternatives to the main colors, meant for dopia when `modus-themes-deuteranopia' is @@ -3822,7 +3547,7 @@ property." if (natnump x) return x) 1)))) -(defun modus-themes--diff (mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg) +(defun modus-themes--diff (mainbg mainfg altbg altfg &optional deubg deufg deualtbg deualtfg bg-only-fg) "Color combinations for `modus-themes-diffs'. MAINBG must be one of the dedicated backgrounds for diffs while @@ -3832,13 +3557,20 @@ ALTBG needs to be a slightly accented background that is meant to be combined with ALTFG. Both must be less intense than MAINBG and MAINFG respectively. -DEUTERANBG and DEUTERANFG must be combinations of colors that account -for red-green color defficiency (deuteranopia). +DEUBG and DEUFG must be combinations of colors that account for +red-green color defficiency (deuteranopia). They are the +equivalent of MAINBG and MAINFG. -Optional BG-ONLY-FG applies ALTFG else leaves the foreground -unspecified." +DEUALTBG and DEUALTFG are the equivalent of ALTBG and ALTFG for +deuteranopia. + +Optional non-nil BG-ONLY-FG applies ALTFG else leaves the +foreground unspecified." (if modus-themes-deuteranopia - (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg)) + (pcase modus-themes-diffs + ('desaturated (list :background (or deualtbg altbg) :foreground (or deualtfg altfg))) + ('bg-only (list :background (or deualtbg altbg) :foreground (if bg-only-fg (or deualtfg altfg) 'unspecified))) + (_ (list :background (or deubg mainbg) :foreground (or deufg mainfg)))) (pcase modus-themes-diffs ('desaturated (list :background altbg :foreground altfg)) ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) @@ -4165,32 +3897,44 @@ pressed button style, else the released button." ;;;; Utilities for DIY users -;;;;; List colors (a respin of M-x list-colors-display) +;;;;; List colors (a variant of M-x list-colors-display) -(defun modus-themes--list-colors-render (buffer palette) - "Render colors in BUFFER from PALETTE. +(defun modus-themes--list-colors-render (buffer theme &rest _) + "Render colors in BUFFER from THEME. Routine for `modus-themes-list-colors'." - (with-help-window buffer - (with-current-buffer standard-output - (erase-buffer) - ;; We need this to properly render the first line. - (insert " ") - (dolist (cell palette) - (let* ((name (car cell)) - (color (cdr cell)) - (fg (readable-foreground-color color)) - (pad (make-string 5 ?\s))) - (let ((old-point (point))) - (insert (format "%s %s" color pad)) - (put-text-property old-point (point) 'face `( :foreground ,color))) - (let ((old-point (point))) - (insert (format " %s %s %s\n" color pad name)) - (put-text-property old-point (point) - 'face `( :background ,color - :foreground ,fg - :extend t))) - ;; We need this to properly render the last line. - (insert " ")))))) + (let ((palette (seq-uniq (modus-themes--palette theme) + (lambda (x y) + (eq (car x) (car y))))) + (current-buffer buffer) + (current-theme theme)) + (with-help-window buffer + (with-current-buffer standard-output + (erase-buffer) + (when (<= (display-color-cells) 256) + (insert (concat "Your display terminal may not render all color previews!\n" + "It seems to only support <= 256 colors.\n\n")) + (put-text-property (point-min) (point) 'face 'warning)) + ;; We need this to properly render the first line. + (insert " ") + (dolist (cell palette) + (let* ((name (car cell)) + (color (cdr cell)) + (fg (readable-foreground-color color)) + (pad (make-string 5 ?\s))) + (let ((old-point (point))) + (insert (format "%s %s" color pad)) + (put-text-property old-point (point) 'face `( :foreground ,color))) + (let ((old-point (point))) + (insert (format " %s %s %s\n" color pad name)) + (put-text-property old-point (point) + 'face `( :background ,color + :foreground ,fg + :extend t))) + ;; We need this to properly render the last line. + (insert " "))) + (setq-local revert-buffer-function + (lambda (_ignore-auto _noconfirm) + (modus-themes--list-colors-render current-buffer current-theme))))))) (defvar modus-themes--list-colors-prompt-history '() "Minibuffer history for `modus-themes--list-colors-prompt'.") @@ -4206,15 +3950,10 @@ Helper function for `modus-themes-list-colors'." (defun modus-themes-list-colors (theme) "Preview palette of the Modus THEME of choice." - (interactive - (list (intern (modus-themes--list-colors-prompt)))) - (let ((palette (pcase theme - ('modus-operandi modus-themes-operandi-colors) - ('modus-vivendi modus-themes-vivendi-colors) - (_ (user-error "`%s' is not a Modus theme" theme))))) - (modus-themes--list-colors-render - (format "*%s-list-colors*" theme) - palette))) + (interactive (list (intern (modus-themes--list-colors-prompt)))) + (modus-themes--list-colors-render + (format "*%s-list-colors*" theme) + theme)) (defun modus-themes-list-colors-current () "Call `modus-themes-list-colors' for the current Modus theme." @@ -4420,7 +4159,8 @@ by virtue of calling either of `modus-themes-load-operandi' and ((,class ,@(modus-themes--diff bg-diff-focus-added fg-diff-focus-added green-nuanced-bg fg-diff-added - bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) + bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran + blue-nuanced-bg fg-diff-added-deuteran)))) `(modus-themes-diff-changed ((,class ,@(modus-themes--diff bg-diff-focus-changed fg-diff-focus-changed @@ -4433,7 +4173,8 @@ by virtue of calling either of `modus-themes-load-operandi' and ((,class ,@(modus-themes--diff bg-diff-refine-added fg-diff-refine-added bg-diff-focus-added fg-diff-focus-added - bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran)))) + bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran + bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) `(modus-themes-diff-refine-changed ((,class ,@(modus-themes--diff bg-diff-refine-changed fg-diff-refine-changed @@ -4446,7 +4187,8 @@ by virtue of calling either of `modus-themes-load-operandi' and ((,class ,@(modus-themes--diff bg-diff-focus-added fg-diff-focus-added bg-diff-added fg-diff-added - bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) + bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran + bg-diff-added-deuteran fg-diff-added-deuteran)))) `(modus-themes-diff-focus-changed ((,class ,@(modus-themes--diff bg-diff-focus-changed fg-diff-focus-changed @@ -4460,6 +4202,7 @@ by virtue of calling either of `modus-themes-load-operandi' and bg-diff-heading fg-diff-heading cyan-nuanced-bg cyan-nuanced-fg bg-header fg-main + bg-header fg-main t)))) ;;;;; deuteranopia-specific `(modus-themes-grue ((,class :foreground ,@(modus-themes--deuteran blue green)))) @@ -4490,6 +4233,10 @@ by virtue of calling either of `modus-themes-load-operandi' and `(modus-themes-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) ;;;;; heading levels ;; styles for regular headings used in Org, Markdown, Info, etc. + `(modus-themes-heading-0 + ((,class ,@(modus-themes--heading + 0 cyan-alt-other blue-alt + cyan-nuanced-bg bg-alt bg-region)))) `(modus-themes-heading-1 ((,class ,@(modus-themes--heading 1 fg-main magenta-alt-other @@ -4546,12 +4293,8 @@ by virtue of calling either of `modus-themes-load-operandi' and ((,class ,@(modus-themes--markup magenta-alt magenta-intense bg-alt bg-special-faint-calm)))) ;;;;; search - `(modus-themes-search-success ((,class :inherit ,@(modus-themes--deuteran - 'modus-themes-intense-blue - 'modus-themes-intense-green)))) - `(modus-themes-search-success-lazy ((,class :inherit ,@(modus-themes--deuteran - 'modus-themes-special-mild - 'modus-themes-refine-cyan)))) + `(modus-themes-search-success ((,class :inherit modus-themes-intense-yellow))) + `(modus-themes-search-success-lazy ((,class :inherit modus-themes-subtle-cyan))) `(modus-themes-search-success-modeline ((,class :foreground ,@(modus-themes--deuteran blue-active green-active)))) @@ -4605,12 +4348,14 @@ by virtue of calling either of `modus-themes-load-operandi' and bg-region blue-intense-bg fg-alt blue-intense) :extend t))) - `(modus-themes-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) + `(modus-themes-key-binding ((,class :inherit (bold modus-themes-fixed-pitch) + :foreground ,blue-alt-other))) `(modus-themes-prompt ((,class ,@(modus-themes--prompt cyan-alt-other blue-alt-other fg-alt cyan-nuanced-bg blue-refine-bg fg-main bg-alt bg-active)))) - `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft)))) + `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft) + :family ,(face-attribute 'default :family)))) `(modus-themes-reset-soft ((,class :background ,bg-main :foreground ,fg-main :weight normal :slant normal :strike-through nil :box nil :underline nil :overline nil :extend nil))) @@ -4630,6 +4375,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(comint-highlight-input ((,class :inherit bold))) `(comint-highlight-prompt ((,class :inherit modus-themes-prompt))) `(confusingly-reordered ((,class :inherit modus-themes-lang-error))) + `(edmacro-label ((,class :inherit bold :foreground ,cyan))) `(elisp-shorthand-font-lock-face ((,class :inherit font-lock-variable-name-face))) `(error ((,class :inherit bold :foreground ,red))) `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) @@ -4649,8 +4395,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(mm-command-output ((,class :foreground ,red-alt-other))) `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(next-error ((,class :inherit modus-themes-subtle-red :extend t))) - `(pgtk-im-0 ((,class :inherit modus-themes-fringe-blue :underline t))) - `(rectangle-preview ((,class :background ,bg-special-faint-warm :foreground ,fg-special-warm))) + `(pgtk-im-0 ((,class :inherit modus-themes-refine-cyan))) + `(rectangle-preview ((,class :inherit modus-themes-special-warm))) `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense bg-region-accent bg-region-accent-subtle)))) @@ -4757,8 +4503,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(anzu-match-3 ((,class :inherit modus-themes-subtle-yellow))) `(anzu-mode-line ((,class :inherit (bold modus-themes-search-success-modeline)))) `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) - `(anzu-replace-highlight ((,class :inherit modus-themes-refine-yellow :underline t))) - `(anzu-replace-to ((,class :inherit (modus-themes-search-success bold)))) + `(anzu-replace-highlight ((,class :inherit modus-themes-refine-red :underline t))) + `(anzu-replace-to ((,class :inherit modus-themes-search-success))) ;;;;; apropos `(apropos-button ((,class :foreground ,magenta-alt-other))) `(apropos-function-button ((,class :foreground ,magenta))) @@ -4890,18 +4636,27 @@ by virtue of calling either of `modus-themes-load-operandi' and `(cfw:face-toolbar-button-off ((,class :inherit shadow))) `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg :foreground ,blue-alt))) -;;;;; centaur-tabs - `(centaur-tabs-active-bar-face ((,class :background ,blue-active))) - `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) - `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) - `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) - `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) - `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) - `(centaur-tabs-default ((,class :background ,bg-main))) - `(centaur-tabs-selected ((,class :inherit modus-themes-tab-active))) - `(centaur-tabs-selected-modified ((,class :inherit (italic centaur-tabs-selected)))) - `(centaur-tabs-unselected ((,class :inherit modus-themes-tab-inactive))) - `(centaur-tabs-unselected-modified ((,class :inherit (italic centaur-tabs-unselected)))) +;;;;; calibredb + `(calibredb-archive-face ((,class :foreground ,magenta-alt-faint))) + `(calibredb-author-face ((,class :foreground ,blue-faint))) + `(calibredb-comment-face ((,class :inherit shadow))) + `(calibredb-date-face ((,class :foreground ,cyan))) + `(calibredb-edit-annotation-header-title-face ((,class :inherit bold))) + `(calibredb-favorite-face ((,class :foreground ,red-alt))) + `(calibredb-file-face (( ))) + `(calibredb-format-face ((,class :foreground ,cyan-faint))) + `(calibredb-highlight-face ((,class :inherit success))) + `(calibredb-id-face (( ))) + `(calibredb-ids-face (( ))) + `(calibredb-search-header-highlight-face ((,class :inherit modus-themes-hl-line))) + `(calibredb-search-header-library-name-face ((,class :foreground ,blue-active))) + `(calibredb-search-header-library-path-face ((,class :inherit bold))) + `(calibredb-search-header-sort-face ((,class :inherit bold :foreground ,magenta-active))) + `(calibredb-search-header-total-face ((,class :inherit bold :foreground ,cyan-active))) + `(calibredb-search-header-filter-face ((,class :inherit bold))) + `(calibredb-mark-face ((,class :inherit modus-themes-mark-sel))) + `(calibredb-size-face (( ))) + `(calibredb-tag-face ((,class :foreground ,magenta-alt-faint))) ;;;;; cfrs `(cfrs-border-color ((,class :background ,fg-window-divider-inner))) ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') @@ -4996,7 +4751,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(company-tooltip-scrollbar-thumb ((,class :background ,fg-active))) `(company-tooltip-scrollbar-track ((,class :background ,bg-active))) `(company-tooltip-search ((,class :inherit (modus-themes-search-success-lazy bold)))) - `(company-tooltip-search-selection ((,class :inherit (modus-themes-search-success bold) :underline t))) + `(company-tooltip-search-selection ((,class :inherit modus-themes-search-success :underline t))) `(company-tooltip-selection ((,class :inherit modus-themes-completion-selected-popup))) ;;;;; company-posframe `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) @@ -5074,11 +4829,9 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;;; csv-mode `(csv-separator-face ((,class :foreground ,red-intense))) ;;;;; ctrlf - `(ctrlf-highlight-active ((,class :inherit (modus-themes-search-success bold)))) + `(ctrlf-highlight-active ((,class :inherit modus-themes-search-success))) `(ctrlf-highlight-line ((,class :inherit modus-themes-hl-line))) `(ctrlf-highlight-passive ((,class :inherit modus-themes-search-success-lazy))) -;;;;; cursor-flash - `(cursor-flash-face ((,class :inherit modus-themes-intense-blue))) ;;;;; custom (M-x customize) `(custom-button ((,class :inherit modus-themes-box-button))) `(custom-button-mouse ((,class :inherit (highlight custom-button)))) @@ -5111,12 +4864,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) `(dap-ui-sessions-terminated-face ((,class :inherit shadow))) -;;;;; dashboard (emacs-dashboard) - `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) - `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) - `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) - `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) - `(dashboard-text-banner ((,class :foreground ,fg-dim))) ;;;;; deadgrep `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) `(deadgrep-match-face ((,class :inherit modus-themes-special-calm))) @@ -5137,13 +4884,15 @@ by virtue of calling either of `modus-themes-load-operandi' and `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) ;;;;; deft - `(deft-filter-string-error-face ((,class :inherit modus-themes-refine-red))) - `(deft-filter-string-face ((,class :foreground ,green-intense))) - `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) - `(deft-separator-face ((,class :inherit shadow))) + `(deft-filter-string-face ((,class :inherit bold :foreground ,blue))) + `(deft-header-face ((,class :foreground ,fg-special-warm))) + `(deft-separator-face ((,class :foreground "gray50"))) `(deft-summary-face ((,class :inherit (shadow modus-themes-slant)))) - `(deft-time-face ((,class :foreground ,fg-special-cold))) - `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) + `(deft-time-face ((,class :foreground ,cyan))) + `(deft-title-face ((,class :inherit bold))) +;;;;; denote + `(denote-faces-date ((,class :foreground ,cyan))) + `(denote-faces-keywords ((,class :inherit modus-themes-bold :foreground ,magenta-alt))) ;;;;; devdocs `(devdocs-code-block ((,class :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t))) ;;;;; dictionary @@ -5221,7 +4970,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; dired-git-info - `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) + `(dgi-commit-message-face ((,class :foreground ,cyan-alt-other))) ;;;;; dired-narrow `(dired-narrow-blink ((,class :inherit (modus-themes-subtle-cyan bold)))) ;;;;; dired-subtree @@ -5331,11 +5080,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active))) `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) -;;;;; dynamic-ruler - `(dynamic-ruler-negative-face ((,class :inherit modus-themes-intense-neutral))) - `(dynamic-ruler-positive-face ((,class :inherit modus-themes-intense-yellow))) ;;;;; easy-jekyll - `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) + `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,blue-alt-other))) ;;;;; ebdb `(ebdb-address-default ((,class :foreground ,fg-special-calm))) `(ebdb-defunct ((,class :inherit shadow))) @@ -5367,6 +5113,13 @@ by virtue of calling either of `modus-themes-load-operandi' and `(ediff-odd-diff-Ancestor ((,class :inherit ediff-even-diff-Ancestor))) `(ediff-odd-diff-B ((,class :inherit ediff-even-diff-B))) `(ediff-odd-diff-C ((,class :inherit ediff-even-diff-C))) +;;;;; ein (Emacs IPython Notebook) + `(ein:basecell-input-area-face ((,class :background ,bg-dim :extend t))) + `(ein:cell-output-area (( ))) + `(ein:cell-output-area-error ((,class :background ,red-nuanced-bg :extend t))) + `(ein:cell-output-stderr ((,class :background ,red-nuanced-bg :extend t))) + `(ein:markdowncell-input-area-face (( ))) + `(ein:notification-tab-normal ((,class :underline t))) ;;;;; eglot `(eglot-mode-line ((,class :inherit modus-themes-bold :foreground ,magenta-active))) ;;;;; el-search @@ -5570,7 +5323,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(evil-ex-lazy-highlight ((,class :inherit modus-themes-search-success-lazy))) `(evil-ex-search ((,class :inherit modus-themes-search-success))) `(evil-ex-substitute-matches ((,class :inherit modus-themes-refine-yellow :underline t))) - `(evil-ex-substitute-replacement ((,class :inherit (modus-themes-search-success bold)))) + `(evil-ex-substitute-replacement ((,class :inherit modus-themes-search-success))) ;;;;; evil-goggles `(evil-goggles-change-face ((,class :inherit modus-themes-refine-yellow))) `(evil-goggles-commentary-face ((,class :inherit (modus-themes-subtle-neutral modus-themes-slant)))) @@ -5655,13 +5408,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(flx-highlight-face ((,class :inherit modus-themes-completion-match-0))) ;;;;; freeze-it `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) -;;;;; frog-menu - `(frog-menu-action-keybinding-face ((,class :inherit modus-themes-key-binding))) - `(frog-menu-actions-face ((,class :foreground ,magenta))) - `(frog-menu-border ((,class :background ,bg-active))) - `(frog-menu-candidates-face ((,class :foreground ,fg-main))) - `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) - `(frog-menu-prompt-face ((,class :foreground ,cyan))) ;;;;; focus `(focus-unfocused ((,class :foreground ,fg-unfocused))) ;;;;; fold-this @@ -5681,7 +5427,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(font-lock-doc-face ((,class :inherit modus-themes-slant ,@(modus-themes--syntax-string fg-docstring fg-special-cold - fg-special-mild magenta-nuanced-fg + fg-special-mild fg-special-calm fg-special-mild magenta-nuanced-fg)))) `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra magenta magenta-faint @@ -5695,7 +5441,7 @@ by virtue of calling either of `modus-themes-load-operandi' and yellow yellow-faint)))) `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-extra red-alt-other red-alt-other-faint - blue-alt blue-alt-faint)))) + cyan-alt-other cyan-alt-faint)))) `(font-lock-regexp-grouping-backslash ((,class :inherit modus-themes-bold ,@(modus-themes--syntax-string fg-escape-char-backslash yellow-alt-faint @@ -5708,17 +5454,18 @@ by virtue of calling either of `modus-themes-load-operandi' and blue-faint blue-alt-other-faint)))) `(font-lock-string-face ((,class ,@(modus-themes--syntax-string blue-alt blue-alt-faint - green-alt-other red-alt + green-alt-other red-alt-other green-alt-faint red-alt-faint)))) `(font-lock-type-face ((,class :inherit modus-themes-bold - ,@(modus-themes--syntax-foreground - cyan-alt-other cyan-alt-faint)))) + ,@(modus-themes--syntax-extra + cyan-alt-other cyan-alt-faint + magenta-alt-other magenta-alt-other-faint)))) `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra cyan cyan-faint - blue-alt-other blue-alt-other-faint)))) + blue-alt blue-alt-faint)))) `(font-lock-warning-face ((,class :inherit modus-themes-bold - ,@(modus-themes--syntax-comment - yellow-active red-active red-faint yellow-faint)))) + ,@(modus-themes--syntax-foreground + yellow yellow-alt-faint)))) ;;;;; forge `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) `(forge-post-date ((,class :foreground ,fg-special-cold))) @@ -5729,7 +5476,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) ;;;;; fountain-mode `(fountain-character ((,class :foreground ,blue-alt-other))) - `(fountain-comment ((,class :inherit modus-themes-slant :foreground ,fg-alt))) + `(fountain-comment ((,class :inherit font-lock-comment-face))) `(fountain-dialog ((,class :foreground ,blue-alt))) `(fountain-metadata-key ((,class :foreground ,green-alt-other))) `(fountain-metadata-value ((,class :foreground ,blue))) @@ -5763,11 +5510,11 @@ by virtue of calling either of `modus-themes-load-operandi' and `(geiser-font-lock-xref-link ((,class :inherit button))) ;;;;; git-commit `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) - `(git-commit-comment-branch-local ((,class :inherit modus-themes-slant :foreground ,blue-alt))) - `(git-commit-comment-branch-remote ((,class :inherit modus-themes-slant :foreground ,magenta-alt))) - `(git-commit-comment-detached ((,class :inherit modus-themes-slant :foreground ,cyan-alt))) - `(git-commit-comment-file ((,class :inherit modus-themes-slant :foreground ,cyan))) - `(git-commit-comment-heading ((,class :inherit (bold modus-themes-slant)))) + `(git-commit-comment-branch-local ((,class :inherit font-lock-comment-face :foreground ,blue-alt))) + `(git-commit-comment-branch-remote ((,class :inherit font-lock-comment-face :foreground ,magenta-alt))) + `(git-commit-comment-detached ((,class :inherit font-lock-comment-face :foreground ,cyan-alt))) + `(git-commit-comment-file ((,class :inherit font-lock-comment-face :foreground ,cyan))) + `(git-commit-comment-heading ((,class :inherit (bold font-lock-comment-face)))) `(git-commit-keyword ((,class :foreground ,magenta))) `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) `(git-commit-nonempty-second-line ((,class :inherit error))) @@ -5785,8 +5532,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(git-gutter-fr:deleted ((,class :inherit modus-themes-fringe-red))) `(git-gutter-fr:modified ((,class :inherit modus-themes-fringe-yellow))) ;;;;; git-rebase - `(git-rebase-comment-hash ((,class :inherit modus-themes-slant :foreground ,cyan))) - `(git-rebase-comment-heading ((,class :inherit (bold modus-themes-slant)))) + `(git-rebase-comment-hash ((,class :inherit font-lock-comment-face :foreground ,cyan))) + `(git-rebase-comment-heading ((,class :inherit (bold font-lock-comment-face)))) `(git-rebase-description ((,class :foreground ,fg-main))) `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) ;;;;; git-timemachine @@ -5966,18 +5713,20 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;;; helpful `(helpful-heading ((,class :inherit modus-themes-heading-1))) ;;;;; highlight region or ad-hoc regexp - `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) - `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main))) - `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main))) - `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main))) + ;; HACK 2022-06-23: The :inverse-video prevents hl-line-mode from + ;; overriding the background. Such an override really defeats the + ;; purpose of setting those highlights. + `(hi-aquamarine ((,class :background ,bg-main :foreground ,cyan :inverse-video t))) + `(hi-black-b ((,class :inverse-video t))) + `(hi-black-hb ((,class :background ,bg-main :foreground ,fg-alt :inverse-video t))) + `(hi-blue ((,class :background ,bg-main :foreground ,blue-alt :inverse-video t))) `(hi-blue-b ((,class :inherit (bold hi-blue)))) - `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main))) + `(hi-green ((,class :background ,bg-main :foreground ,green :inverse-video t))) `(hi-green-b ((,class :inherit (bold hi-green)))) - `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main))) - `(hi-pink-b ((,class :inherit (bold hi-pink)))) - `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main))) - `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main))) - `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main))) + `(hi-pink ((,class :background ,bg-main :foreground ,magenta :inverse-video t))) + `(hi-red-b ((,class :inherit bold :background ,bg-main :foreground ,red :inverse-video t))) + `(hi-salmon ((,class :background ,bg-main :foreground ,red-alt-faint :inverse-video t))) + `(hi-yellow ((,class :background ,bg-main :foreground ,yellow-alt :inverse-video t))) `(highlight ((,class ,@(if modus-themes-intense-mouseovers (list :background blue-intense-bg :foreground fg-main) (list :background cyan-subtle-bg :foreground fg-main))))) @@ -5991,7 +5740,7 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;;; highlight-numbers `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) ;;;;; highlight-thing - `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) + `(highlight-thing ((,class :inherit modus-themes-special-calm))) ;;;;; hl-defined `(hdefd-functions ((,class :foreground ,blue))) `(hdefd-undefined ((,class :foreground ,red-alt))) @@ -6056,6 +5805,26 @@ by virtue of calling either of `modus-themes-load-operandi' and `(info-title-2 ((,class :inherit modus-themes-heading-2))) `(info-title-3 ((,class :inherit modus-themes-heading-3))) `(info-title-4 ((,class :inherit modus-themes-heading-4))) +;;;;; info+ (info-plus) + `(info-command-ref-item ((,class :inherit font-lock-function-name-face))) + `(info-constant-ref-item ((,class :inherit font-lock-constant-face))) + `(info-custom-delimited ((,class :inherit modus-themes-markup-verbatim))) + `(info-double-quoted-name ((,class :inherit font-lock-string-face))) + `(info-file (( ))) + `(info-function-ref-item ((,class :inherit font-lock-function-name-face))) + `(info-glossary-word ((,class :inherit modus-themes-box-button))) + `(info-indented-text (( ))) + `(info-isolated-backquote (( ))) + `(info-isolated-quote (( ))) + `(info-macro-ref-item ((,class :inherit font-lock-keyword-face))) + `(info-menu ((,class :inherit bold))) + `(info-quoted-name ((,class :inherit modus-themes-markup-verbatim))) + `(info-reference-item ((,class :inherit bold))) + `(info-special-form-ref-item ((,class :inherit warning))) + `(info-string ((,class :inherit font-lock-string-face))) + `(info-syntax-class-item ((,class :inherit modus-themes-markup-code))) + `(info-user-option-ref-item ((,class :inherit font-lock-variable-name-face))) + `(info-variable-ref-item ((,class :inherit font-lock-variable-name-face))) ;;;;; info-colors `(info-colors-lisp-code-block ((,class :inherit modus-themes-fixed-pitch))) `(info-colors-ref-item-command ((,class :inherit font-lock-function-name-face))) @@ -6085,13 +5854,13 @@ by virtue of calling either of `modus-themes-load-operandi' and `(ioccur-regexp-face ((,class :inherit (modus-themes-intense-magenta bold)))) `(ioccur-title-face ((,class :inherit modus-themes-pseudo-header :foreground ,fg-special-cold))) ;;;;; isearch, occur, and the like - `(isearch ((,class :inherit (modus-themes-search-success bold)))) + `(isearch ((,class :inherit modus-themes-search-success))) `(isearch-fail ((,class :inherit modus-themes-refine-red))) `(isearch-group-1 ((,class :inherit modus-themes-refine-blue))) `(isearch-group-2 ((,class :inherit modus-themes-refine-magenta))) `(lazy-highlight ((,class :inherit modus-themes-search-success-lazy))) `(match ((,class :inherit modus-themes-special-calm))) - `(query-replace ((,class :inherit (modus-themes-intense-yellow bold)))) + `(query-replace ((,class :inherit modus-themes-intense-red))) ;;;;; ivy `(ivy-action ((,class :inherit modus-themes-key-binding))) `(ivy-confirm-face ((,class :inherit success))) @@ -6158,7 +5927,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(kaocha-runner-warning-face ((,class :inherit warning))) ;;;;; keycast `(keycast-command ((,class :inherit bold :foreground ,blue-active))) - `(keycast-key ((,class ,@(modus-themes--mode-line-padded-box blue-active) + ;; FIXME 2022-05-03: The padding breaks `keycast-tab-bar-mode' + `(keycast-key ((,class ;; ,@(modus-themes--mode-line-padded-box blue-active) :background ,blue-active :foreground ,bg-main))) ;;;;; ledger-mode `(ledger-font-auto-xact-face ((,class :foreground ,magenta))) @@ -6171,9 +5941,14 @@ by virtue of calling either of `modus-themes-load-operandi' and `(ledger-font-payee-pending-face ((,class :foreground ,yellow))) `(ledger-font-payee-uncleared-face ((,class :foreground ,red-alt-other))) `(ledger-font-xact-highlight-face ((,class :background ,bg-hl-alt))) +;;;;; leerzeichen + `(leerzeichen ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) ;;;;; line numbers (display-line-numbers-mode and global variant) + ;; Here we cannot inherit `modus-themes-fixed-pitch'. We need to + ;; fall back to `default' otherwise line numbers do not scale when + ;; using `text-scale-adjust'. `(line-number - ((,class :inherit ,(if modus-themes-mixed-fonts 'fixed-pitch 'default) + ((,class :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default) ,@(modus-themes--line-numbers fg-alt bg-dim fg-unfocused)))) @@ -6272,7 +6047,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(magit-diff-added ((,class ,@(modus-themes--diff bg-diff-added fg-diff-added green-nuanced-bg fg-diff-added - bg-diff-added-deuteran fg-diff-added-deuteran)))) + bg-diff-added-deuteran fg-diff-added-deuteran + blue-nuanced-bg fg-diff-added-deuteran)))) `(magit-diff-added-highlight ((,class :inherit modus-themes-diff-focus-added))) `(magit-diff-base ((,class ,@(modus-themes--diff bg-diff-changed fg-diff-changed @@ -6293,6 +6069,7 @@ by virtue of calling either of `modus-themes-load-operandi' and bg-active fg-inactive bg-inactive fg-inactive bg-inactive fg-inactive + nil nil t)))) ;; NOTE: we do not follow the pattern of inheriting from ;; modus-themes-grue-* faces, as this is a special case. @@ -6365,8 +6142,9 @@ by virtue of calling either of `modus-themes-load-operandi' and `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg))) `(makefile-space ((,class :background ,magenta-nuanced-bg))) ;;;;; man - `(Man-overstrike ((,class :inherit bold :foreground ,fg-special-calm))) + `(Man-overstrike ((,class :inherit bold :foreground ,magenta-alt))) `(Man-reverse ((,class :inherit modus-themes-subtle-magenta))) + `(Man-underline ((,class :foreground ,cyan-alt-other :underline t))) ;;;;; marginalia `(marginalia-archive ((,class :foreground ,cyan-alt-other))) `(marginalia-char ((,class :foreground ,magenta))) @@ -6480,8 +6258,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(markup-title-4-face ((,class :inherit modus-themes-heading-5))) `(markup-title-5-face ((,class :inherit modus-themes-heading-6))) `(markup-verbatim-face ((,class :inherit modus-themes-fixed-pitch :background ,bg-alt))) -;;;;; mct - `(mct-highlight-candidate ((,class :inherit modus-themes-completion-selected))) ;;;;; mentor `(mentor-download-message ((,class :foreground ,fg-special-warm))) `(mentor-download-name ((,class :foreground ,fg-special-cold))) @@ -6695,14 +6471,12 @@ by virtue of calling either of `modus-themes-load-operandi' and `(org-agenda-column-dateline ((,class :background ,bg-alt))) `(org-agenda-current-time ((,class :foreground ,blue-alt-other-faint))) `(org-agenda-date ((,class ,@(modus-themes--agenda-date cyan fg-main)))) - `(org-agenda-date-today ((,class ,@(modus-themes--agenda-date cyan fg-main - nil nil - bg-inactive t t)))) - `(org-agenda-date-weekend ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt - cyan fg-main)))) - `(org-agenda-date-weekend-today ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt - cyan fg-main - bg-inactive t t)))) + `(org-agenda-date-today + ((,class ,@(modus-themes--agenda-date cyan fg-main nil nil bg-special-cold t t)))) + `(org-agenda-date-weekend + ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main)))) + `(org-agenda-date-weekend-today + ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main bg-special-cold t t)))) `(org-agenda-diary ((,class :inherit org-agenda-calendar-sexp))) `(org-agenda-dimmed-todo-face ((,class :inherit shadow))) `(org-agenda-done ((,class :inherit modus-themes-grue-nuanced))) @@ -6731,14 +6505,12 @@ by virtue of calling either of `modus-themes-load-operandi' and :background ,bg-alt))) `(org-column-title ((,class :inherit (bold modus-themes-fixed-pitch default) :underline t :background ,bg-alt))) - `(org-date ((,class :inherit ,(if modus-themes-mixed-fonts - '(fixed-pitch modus-themes-link-symlink) - 'modus-themes-link-symlink)))) + `(org-date ((,class :inherit (modus-themes-link-symlink modus-themes-fixed-pitch)))) `(org-date-selected ((,class :foreground ,blue-alt :inverse-video t))) `(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt)))) `(org-document-info ((,class :foreground ,fg-special-cold))) `(org-document-info-keyword ((,class :inherit (shadow modus-themes-fixed-pitch)))) - `(org-document-title ((,class :inherit modus-themes-heading-1 :background ,bg-main :overline nil :foreground ,fg-special-cold))) + `(org-document-title ((,class :inherit modus-themes-heading-0))) `(org-done ((,class :inherit modus-themes-grue))) `(org-drawer ((,class :inherit (shadow modus-themes-fixed-pitch)))) `(org-ellipsis (())) ; inherits from the heading's color @@ -6836,8 +6608,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(org-journal-calendar-scheduled-face ((,class :inherit modus-themes-slant :foreground ,red-alt-other))) `(org-journal-highlight ((,class :foreground ,magenta-alt))) ;;;;; org-noter - `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) - `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) + `(org-noter-no-notes-exist-face ((,class :inherit error))) + `(org-noter-notes-exist-face ((,class :inherit success))) ;;;;; org-pomodoro `(org-pomodoro-mode-line ((,class :foreground ,red-active))) `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) @@ -6860,9 +6632,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(org-table-sticky-header-face ((,class :inherit modus-themes-special-cold))) ;;;;; org-tree-slide `(org-tree-slide-header-overlay-face ((,class :inherit org-document-title))) -;;;;; org-treescope - `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-themes-intense-blue))) - `(org-treescope-faces--markerinternal-range ((,class :inherit modus-themes-special-mild))) ;;;;; origami `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) @@ -6879,19 +6648,19 @@ by virtue of calling either of `modus-themes-load-operandi' and `(outline-minor-0 (())) ;;;;; package (M-x list-packages) `(package-description ((,class :foreground ,fg-special-cold))) - `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) + `(package-help-section-name ((,class :inherit bold :foreground ,cyan))) `(package-name ((,class :inherit button))) - `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) - `(package-status-available ((,class :foreground ,fg-special-mild))) + `(package-status-available ((,class :foreground ,cyan-alt-other))) + `(package-status-avail-obso ((,class :inherit error))) `(package-status-built-in ((,class :foreground ,magenta))) `(package-status-dependency ((,class :foreground ,magenta-alt-other))) `(package-status-disabled ((,class :inherit modus-themes-subtle-red))) `(package-status-external ((,class :foreground ,cyan-alt-other))) `(package-status-held ((,class :foreground ,yellow-alt))) - `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) + `(package-status-incompat ((,class :inherit warning))) `(package-status-installed ((,class :foreground ,fg-special-warm))) - `(package-status-new ((,class :inherit bold :foreground ,green))) - `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) + `(package-status-new ((,class :inherit success))) + `(package-status-unsigned ((,class :inherit error))) ;;;;; page-break-lines `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) ;;;;; pandoc-mode @@ -6900,19 +6669,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(pandoc-directive-braces-face ((,class :foreground ,blue-alt-other))) `(pandoc-directive-contents-face ((,class :foreground ,cyan-alt-other))) `(pandoc-directive-type-face ((,class :foreground ,magenta))) -;;;;; paradox - `(paradox-archive-face ((,class :foreground ,fg-special-mild))) - `(paradox-comment-face ((,class :inherit font-lock-comment-face))) - `(paradox-commit-tag-face ((,class :inherit modus-themes-refine-magenta :box t))) - `(paradox-description-face ((,class :foreground ,fg-special-cold))) - `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) - `(paradox-download-face ((,class :inherit modus-themes-bold :foreground ,blue-alt-other))) - `(paradox-highlight-face ((,class :inherit modus-themes-bold :foreground ,cyan-alt-other))) - `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) - `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) - `(paradox-name-face ((,class :foreground ,blue :underline t))) - `(paradox-star-face ((,class :foreground ,magenta))) - `(paradox-starred-face ((,class :foreground ,magenta-alt))) ;;;;; paren-face `(parenthesis ((,class :foreground ,fg-unfocused))) ;;;;; pass @@ -6942,7 +6698,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(pomidor-work-face ((,class :inherit modus-themes-grue))) ;;;;; popup `(popup-face ((,class :background ,bg-alt :foreground ,fg-main))) - `(popup-isearch-match ((,class :inherit (modus-themes-search-success bold)))) + `(popup-isearch-match ((,class :inherit modus-themes-search-success))) `(popup-menu-mouse-face ((,class :inherit highlight))) `(popup-menu-selection-face ((,class :inherit modus-themes-completion-selected-popup))) `(popup-scroll-bar-background-face ((,class :background ,bg-active))) @@ -6950,12 +6706,12 @@ by virtue of calling either of `modus-themes-load-operandi' and `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) `(popup-tip-face ((,class :inherit modus-themes-refine-yellow))) ;;;;; powerline - `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) - `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) - `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) - `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) - `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) - `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) + `(powerline-active0 ((,class :background ,fg-unfocused :foreground ,bg-main))) + `(powerline-active1 ((,class :inherit mode-line-active))) + `(powerline-active2 ((,class :inherit mode-line-inactive))) + `(powerline-inactive0 ((,class :background ,bg-active :foreground ,fg-alt))) + `(powerline-inactive1 ((,class :background ,bg-main :foreground ,fg-alt))) + `(powerline-inactive2 ((,class :inherit mode-line-inactive))) ;;;;; powerline-evil `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) `(powerline-evil-emacs-face ((,class :inherit modus-themes-active-magenta))) @@ -7081,10 +6837,8 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;;; selectrum `(selectrum-current-candidate ((,class :inherit modus-themes-completion-selected))) `(selectrum-mouse-highlight ((,class :inherit highlight))) - `(selectrum-quick-keys-highlight - ((,class :inherit modus-themes-refine-red))) - `(selectrum-quick-keys-match - ((,class :inherit (bold modus-themes-search-success)))) + `(selectrum-quick-keys-highlight ((,class :inherit bold :background ,bg-char-0))) + `(selectrum-quick-keys-match ((,class :inherit bold :background ,bg-char-1))) ;;;;; selectrum-prescient `(selectrum-prescient-primary-highlight ((,class :inherit modus-themes-completion-match-0))) `(selectrum-prescient-secondary-highlight ((,class :inherit modus-themes-completion-match-1))) @@ -7101,8 +6855,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) ;;;;; sesman - `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) - `(sesman-browser-highligh-face ((,class :inherit modus-themes-subtle-blue))) + `(sesman-browser-button-face ((,class :inherit button))) + `(sesman-browser-highligh-face ((,class :inherit highlight))) `(sesman-buffer-face ((,class :foreground ,magenta))) `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) @@ -7209,11 +6963,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(smerge-refined-changed (())) `(smerge-refined-removed ((,class :inherit modus-themes-diff-refine-removed))) `(smerge-upper ((,class :inherit modus-themes-diff-removed))) -;;;;; solaire - `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) - `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) - `(solaire-hl-line-face ((,class :background ,bg-active))) - `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt))) ;;;;; spaceline `(spaceline-evil-emacs ((,class :inherit modus-themes-active-magenta))) `(spaceline-evil-insert ((,class :inherit modus-themes-active-green))) @@ -7233,7 +6982,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(speedbar-button-face ((,class :inherit button))) `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) `(speedbar-file-face ((,class :foreground ,fg-main))) - `(speedbar-highlight-face ((,class :inherit modus-themes-subtle-blue))) + `(speedbar-highlight-face ((,class :inherit highlight))) `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) `(speedbar-separator-face ((,class :inherit modus-themes-intense-neutral))) `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) @@ -7294,14 +7043,14 @@ by virtue of calling either of `modus-themes-load-operandi' and `(symbol-overlay-face-8 ((,class :inherit modus-themes-refine-cyan))) ;;;;; syslog-mode `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) - `(syslog-error ((,class :inherit bold :foreground ,red))) + `(syslog-error ((,class :inherit error))) `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) - `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) + `(syslog-info ((,class :inherit success))) `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) `(syslog-su ((,class :inherit bold :foreground ,red-alt))) - `(syslog-warn ((,class :inherit bold :foreground ,yellow))) + `(syslog-warn ((,class :inherit warning))) ;;;;; tab-bar-groups `(tab-bar-groups-tab-1 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,blue-tab))) `(tab-bar-groups-tab-2 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,red-tab))) @@ -7674,8 +7423,9 @@ by virtue of calling either of `modus-themes-load-operandi' and `(writegood-weasels-face ((,class :inherit modus-themes-lang-error))) ;;;;; woman `(woman-addition ((,class :foreground ,magenta-alt-other))) - `(woman-bold ((,class :inherit bold :foreground ,fg-special-calm))) - `(woman-unknown ((,class :foreground ,cyan))) + `(woman-bold ((,class :inherit bold :foreground ,magenta-alt))) + `(woman-italic ((,class :inherit italic :foreground ,cyan))) + `(woman-unknown ((,class :foreground ,green-alt))) ;;;;; xah-elisp-mode `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face))) `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face))) @@ -7712,6 +7462,10 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;; awesome-tray `(awesome-tray-mode-line-active-color ,blue) `(awesome-tray-mode-line-inactive-color ,bg-active) +;;;; chart + `(chart-face-color-list + '( ,red-graph-0-bg ,green-graph-0-bg ,yellow-graph-0-bg ,blue-graph-0-bg ,magenta-graph-0-bg ,cyan-graph-0-bg + ,red-graph-1-bg ,green-graph-1-bg ,yellow-graph-1-bg ,blue-graph-1-bg ,magenta-graph-1-bg ,cyan-graph-1-bg)) ;;;; exwm `(exwm-floating-border-color ,fg-window-divider-inner) ;;;; flymake fringe indicators @@ -7751,29 +7505,6 @@ by virtue of calling either of `modus-themes-load-operandi' and ;;;; pdf-tools `(pdf-view-midnight-colors '(,fg-main . ,bg-dim)) -;;;; vc-annotate (C-x v g) - `(vc-annotate-background nil) - `(vc-annotate-background-mode nil) - `(vc-annotate-color-map - '((20 . ,red) - (40 . ,magenta) - (60 . ,magenta-alt) - (80 . ,red-alt) - (100 . ,yellow) - (120 . ,yellow-alt) - (140 . ,fg-special-warm) - (160 . ,fg-special-mild) - (180 . ,green) - (200 . ,green-alt) - (220 . ,cyan-alt-other) - (240 . ,cyan-alt) - (260 . ,cyan) - (280 . ,fg-special-cold) - (300 . ,blue) - (320 . ,blue-alt) - (340 . ,blue-alt-other) - (360 . ,magenta-alt-other))) - `(vc-annotate-very-old-color nil) ;;;; wid-edit `(widget-link-prefix ,(if (memq 'all-buttons modus-themes-box-buttons) " " diff --git a/code/elpa/modus-themes-20220421.1021/modus-themes.info b/code/elpa/modus-themes-20220804.500/modus-themes.info similarity index 89% rename from code/elpa/modus-themes-20220421.1021/modus-themes.info rename to code/elpa/modus-themes-20220804.500/modus-themes.info index aa8a91d..b378098 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-themes.info +++ b/code/elpa/modus-themes-20220804.500/modus-themes.info @@ -43,11 +43,11 @@ customization options for the ‘modus-operandi’ and ‘modus-vivendi’ themes, and provides every other piece of information pertinent to them. The documentation furnished herein corresponds to stable version -2.3.0, released on 2022-04-01. Any reference to a newer feature which +2.5.0, released on 2022-08-03. Any reference to a newer feature which does not yet form part of the latest tagged commit, is explicitly marked as such. - Current development target is 2.4.0-dev. + Current development target is 2.6.0-dev. • Homepage: . • Git repository: . @@ -81,6 +81,7 @@ Installation * Install manually from source:: * Install from the archives:: * Install on GNU/Linux:: +* Dealing with byte compilation errors:: Install on GNU/Linux @@ -134,6 +135,7 @@ Advanced customization * Override colors:: * Override color saturation:: * Override colors through blending:: +* Override colors completely:: * Font configurations for Org and others:: * Configure bold and italic faces:: * Custom Org todo keyword and priority faces:: @@ -148,6 +150,8 @@ Advanced customization * Diffs with only the foreground:: * Ediff without diff color-coding:: * Near-monochrome syntax highlighting:: +* Custom hl-todo colors:: +* Add support for solaire-mode:: Face coverage @@ -156,8 +160,9 @@ Face coverage Notes on individual packages -* Note on avy hints:: * Note on calendar.el weekday and weekend colors: Note on calendarel weekday and weekend colors. +* Note on git-gutter in Doom Emacs:: +* Note on php-mode multiline comments:: * Note on underlines in compilation buffers:: * Note on inline Latex in Org buffers:: * Note on dimmer.el: Note on dimmerel. @@ -173,7 +178,6 @@ Notes on individual packages * Note on SHR fonts:: * Note on Ement colors and fonts:: * Note on Helm grep:: -* Note on vc-annotate-background-mode:: * Note on pdf-tools link hints:: * Note on the Notmuch logo:: @@ -295,6 +299,7 @@ packages for distributions of GNU/Linux. * Install manually from source:: * Install from the archives:: * Install on GNU/Linux:: +* Dealing with byte compilation errors::  File: modus-themes.info, Node: Install manually from source, Next: Install from the archives, Up: Installation @@ -327,19 +332,15 @@ File: modus-themes.info, Node: Install from the archives, Next: Install on GNU The ‘modus-themes’ package is available from the GNU ELPA archive, which is configured by default. - Prior to querying any package archive, make sure to have updated the -index, with ‘M-x package-refresh-contents’. Then all you need to do is -type ‘M-x package-install’ and specify the ‘modus-themes’. - - Note that older versions of the themes used to be distributed as -standalone packages. This practice has been discontinued starting with -version 1.0.0 of this project. + Prior to querying any package archive, make sure to update the index, +with ‘M-x package-refresh-contents’. Then all you need to do is type +‘M-x package-install’ and specify the ‘modus-themes’. Once installed, the themes are ready to be used: *note Enable and load::.  -File: modus-themes.info, Node: Install on GNU/Linux, Prev: Install from the archives, Up: Installation +File: modus-themes.info, Node: Install on GNU/Linux, Next: Dealing with byte compilation errors, Prev: Install from the archives, Up: Installation 2.3 Install on GNU/Linux ======================== @@ -366,6 +367,9 @@ The themes are part of Debian 11 Bullseye. Get them with: They are now ready to be used: *note Enable and load::. + NOTE that Debian’s package is severely out-of-date as of this writing +2022-07-24 09:57 +0300. +  File: modus-themes.info, Node: GNU Guix, Prev: Debian 11 Bullseye, Up: Install on GNU/Linux @@ -378,6 +382,35 @@ Users of Guix can get the themes with this command: They are now ready to be used: *note Enable and load::. + +File: modus-themes.info, Node: Dealing with byte compilation errors, Prev: Install on GNU/Linux, Up: Installation + +2.4 Dealing with byte compilation errors +======================================== + +From time to time, we receive bug reports pertaining to errors with byte +compilation. These seldom have to do with faulty code in the themes: it +might be a shortcoming of ‘package.el’, some regression in the current +development target of Emacs, a misconfiguration in an otherwise exotic +setup, and the like. + + The common solution with a stable version of Emacs is to: + + 1. Delete the ‘modus-themes’ package. + 2. Close the current Emacs session. + 3. Install the ‘modus-themes’ again. + + For those building Emacs directly from source, the solution may +involve reverting to an earlier commit in emacs.git. + + At any rate, if you encounter such an issue please report it: we will +either fix the bug on our end if it is truly ours, or help forward it to +the relevant upstream maintainer. Whatever you do, please understand +that a build failure does not mean we are necessarily doing something +wrong. + + *note Issues you can help with::. +  File: modus-themes.info, Node: Enable and load, Next: Customization Options, Prev: Installation, Up: Top @@ -490,7 +523,7 @@ package configurations in their setup. We use this as an example: :config ;; Load the theme of your choice: (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) - :bind ("" . modus-themes-toggle) + :bind ("" . modus-themes-toggle)) @@ -1319,9 +1352,9 @@ Brief: Set the overall style of completion framework interfaces. Symbol: ‘modus-themes-completions’ (‘alist’ type properties) This affects Company, Corfu, Flx, Helm, Icomplete/Fido, Ido, Ivy, -Mct, Orderless, Selectrum, Vertico. The value is an alist that takes -the form of a ‘(key . properties)’ combination. Here is a sample, -followed by a description of the particularities: +Orderless, Selectrum, Vertico. The value is an alist that takes the +form of a ‘(key . properties)’ combination. Here is a sample, followed +by a description of the particularities: (setq modus-themes-completions '((matches . (extrabold background intense)) @@ -1575,6 +1608,9 @@ results with underlines. This style affects several packages that enable ‘hl-line-mode’, such as ‘elfeed’, ‘notmuch’, and ‘mu4e’. + [ Also check the ‘lin’ package on GNU ELPA (by the author of the +modus-themes) for a stylistic enhancement to ‘hl-line-mode’. ] +  File: modus-themes.info, Node: Line numbers, Next: Mouse hover effects, Prev: Line highlighting, Up: Customization Options @@ -2069,16 +2105,21 @@ File: modus-themes.info, Node: Heading styles, Next: UI typeface, Prev: Org a 4.25 Option for the headings’ overall style =========================================== -Brief: Control the style of headings. This can be particularised for -each level of heading (e.g. Org has eight levels). +Brief: Heading styles with optional list of values for levels 0-8. Symbol: ‘modus-themes-headings’ (‘alist’ type, multiple properties) This is an alist that accepts a ‘(key . list-of-values)’ combination. -The key is either a number, representing the heading’s level or ‘t’, -which pertains to the fallback style. The list of values covers symbols -that refer to properties, as described below. Here is a sample, -followed by a presentation of all available properties: +The key is either a number, representing the heading’s level (0-8) or t, +which pertains to the fallback style. + + Level 0 is a special heading: it is used for what counts as a +document title or equivalent, such as the ‘#+title’ construct we find in +Org files. Levels 1-8 are regular headings. + + The list of values covers symbols that refer to properties, as +described below. Here is a complete sample, followed by a presentation +of all available properties: (setq modus-themes-headings '((1 . (background overline variable-pitch 1.5)) @@ -2239,6 +2280,7 @@ such, they are labelled as “do-it-yourself” or “DIY”. * Override colors:: * Override color saturation:: * Override colors through blending:: +* Override colors completely:: * Font configurations for Org and others:: * Configure bold and italic faces:: * Custom Org todo keyword and priority faces:: @@ -2253,6 +2295,8 @@ such, they are labelled as “do-it-yourself” or “DIY”. * Diffs with only the foreground:: * Ediff without diff color-coding:: * Near-monochrome syntax highlighting:: +* Custom hl-todo colors:: +* Add support for solaire-mode::  File: modus-themes.info, Node: More accurate colors in terminal emulators, Next: Range of color with terminal emulators, Up: Advanced customization @@ -2896,7 +2940,6 @@ both themes and expands to some more assosiations in the palette: (bg-inactive . "#f6ece5") (bg-region . "#c6bab1") (bg-header . "#ede3e0") - (bg-tab-bar . "#dcd3d3") (bg-tab-active . "#fdf6eb") (bg-tab-inactive . "#c8bab8")) modus-themes-vivendi-color-overrides @@ -2908,7 +2951,6 @@ both themes and expands to some more assosiations in the palette: (bg-inactive . "#1a1e39") (bg-region . "#393a53") (bg-header . "#202037") - (bg-tab-bar . "#262b41") (bg-tab-active . "#120f18") (bg-tab-inactive . "#3a3a5a"))) (setq modus-themes-operandi-color-overrides nil @@ -2925,7 +2967,6 @@ look like this: (bg-inactive . "#e6e6e6") (bg-region . "#b5b5b5") (bg-header . "#e4e4e4") - (bg-tab-bar . "#d1d1d4") (bg-tab-active . "#f5f5f5") (bg-tab-inactive . "#c0c0c0")) @@ -2943,6 +2984,9 @@ design of the themes (the WCAG AAA legibility standard). Alternatively, this can also be done programmatically (*note Override color saturation::). + The above are expanded into a fully fledged derivative elsewhere in +this document (*note Override colors completely::). + For manual interventions it is advised to inspect the source code of ‘modus-themes-operandi-colors’ and ‘modus-themes-vivendi-colors’ for the inline commentary: it explains what the intended use of each palette @@ -3069,7 +3113,7 @@ inspiration from the ‘modus-themes-toggle’ we already provide: ('modus-vivendi (modus-themes-load-vivendi))))  -File: modus-themes.info, Node: Override colors through blending, Next: Font configurations for Org and others, Prev: Override color saturation, Up: Advanced customization +File: modus-themes.info, Node: Override colors through blending, Next: Override colors completely, Prev: Override color saturation, Up: Advanced customization 5.11 Override colors through blending ===================================== @@ -3132,9 +3176,288 @@ help of the ‘my-modus-themes-tint-palette’ function. (modus-themes-tinted-mode 1)  -File: modus-themes.info, Node: Font configurations for Org and others, Next: Configure bold and italic faces, Prev: Override colors through blending, Up: Advanced customization +File: modus-themes.info, Node: Override colors completely, Next: Font configurations for Org and others, Prev: Override colors through blending, Up: Advanced customization -5.12 Font configurations for Org and others +5.12 Override colors completely +=============================== + +Based on the ideas we have already covered in these sections, the +following code block provides a complete, bespoke pair of color palettes +which override the defaults. They are implemented as a minor mode, as +explained before (*note Override colors::). We call them “Summertime” +for convenience. + + ;; Read the relevant blog post: + ;; + (define-minor-mode modus-themes-summertime + "Refashion the Modus themes by overriding their colors. + + This is a complete technology demonstration to show how to + manually override the colors of the Modus themes. I have taken + good care of those overrides to make them work as a fully fledged + color scheme that is compatible with all user options of the + Modus themes. + + These overrides are usable by those who (i) like something more + fancy than the comparatively austere looks of the Modus themes, + and (ii) can cope with a lower contrast ratio. + + The overrides are set up as a minor mode, so that the user can + activate the effect on demand. Those who want to load the + overrides at all times can either add them directly to their + configuration or enable `modus-themes-summertime' BEFORE loading + either of the Modus themes (if the overrides are evaluated after + the theme, the theme must be reloaded). + + Remember that all changes to theme-related variables require a + reload of the theme to take effect (the Modus themes have lots of + user options, apart from those overrides). + + The `modus-themes-summertime' IS NOT an official extension to the + Modus themes and DOES NOT comply with its lofty accessibility + standards. It is included in the official manual as guidance for + those who want to make use of the color overriding facility we + provide." + :init-value nil + :global t + (if modus-themes-summertime + (setq modus-themes-operandi-color-overrides + '((bg-main . "#fff0f2") + (bg-dim . "#fbe6ef") + (bg-alt . "#f5dae6") + (bg-hl-line . "#fad8e3") + (bg-active . "#efcadf") + (bg-inactive . "#f3ddef") + (bg-active-accent . "#ffbbef") + (bg-region . "#dfc5d1") + (bg-region-accent . "#efbfef") + (bg-region-accent-subtle . "#ffd6ef") + (bg-header . "#edd3e0") + (bg-tab-active . "#ffeff2") + (bg-tab-inactive . "#f8d3ef") + (bg-tab-inactive-accent . "#ffd9f5") + (bg-tab-inactive-alt . "#e5c0d5") + (bg-tab-inactive-alt-accent . "#f3cce0") + (fg-main . "#543f78") + (fg-dim . "#5f476f") + (fg-alt . "#7f6f99") + (fg-unfocused . "#8f6f9f") + (fg-active . "#563068") + (fg-inactive . "#8a5698") + (fg-docstring . "#5f5fa7") + (fg-comment-yellow . "#a9534f") + (fg-escape-char-construct . "#8b207f") + (fg-escape-char-backslash . "#a06d00") + (bg-special-cold . "#d3e0f4") + (bg-special-faint-cold . "#e0efff") + (bg-special-mild . "#c4ede0") + (bg-special-faint-mild . "#e0f0ea") + (bg-special-warm . "#efd0c4") + (bg-special-faint-warm . "#ffe4da") + (bg-special-calm . "#f0d3ea") + (bg-special-faint-calm . "#fadff9") + (fg-special-cold . "#405fb8") + (fg-special-mild . "#407f74") + (fg-special-warm . "#9d6f4f") + (fg-special-calm . "#af509f") + (bg-completion . "#ffc5e5") + (bg-completion-subtle . "#f7cfef") + (red . "#ed2f44") + (red-alt . "#e0403d") + (red-alt-other . "#e04059") + (red-faint . "#ed4f44") + (red-alt-faint . "#e0603d") + (red-alt-other-faint . "#e06059") + (green . "#217a3c") + (green-alt . "#417a1c") + (green-alt-other . "#006f3c") + (green-faint . "#318a4c") + (green-alt-faint . "#518a2c") + (green-alt-other-faint . "#20885c") + (yellow . "#b06202") + (yellow-alt . "#a95642") + (yellow-alt-other . "#a06f42") + (yellow-faint . "#b07232") + (yellow-alt-faint . "#a96642") + (yellow-alt-other-faint . "#a08042") + (blue . "#275ccf") + (blue-alt . "#475cc0") + (blue-alt-other . "#3340ef") + (blue-faint . "#476ce0") + (blue-alt-faint . "#575ccf") + (blue-alt-other-faint . "#3f60d7") + (magenta . "#bf317f") + (magenta-alt . "#d033c0") + (magenta-alt-other . "#844fe4") + (magenta-faint . "#bf517f") + (magenta-alt-faint . "#d053c0") + (magenta-alt-other-faint . "#846fe4") + (cyan . "#007a9f") + (cyan-alt . "#3f709f") + (cyan-alt-other . "#107f7f") + (cyan-faint . "#108aaf") + (cyan-alt-faint . "#3f80af") + (cyan-alt-other-faint . "#3088af") + (red-active . "#cd2f44") + (green-active . "#116a6c") + (yellow-active . "#993602") + (blue-active . "#475ccf") + (magenta-active . "#7f2ccf") + (cyan-active . "#007a8f") + (red-nuanced-bg . "#ffdbd0") + (red-nuanced-fg . "#ed6f74") + (green-nuanced-bg . "#dcf0dd") + (green-nuanced-fg . "#3f9a4c") + (yellow-nuanced-bg . "#fff3aa") + (yellow-nuanced-fg . "#b47232") + (blue-nuanced-bg . "#e3e3ff") + (blue-nuanced-fg . "#201f6f") + (magenta-nuanced-bg . "#fdd0ff") + (magenta-nuanced-fg . "#c0527f") + (cyan-nuanced-bg . "#dbefff") + (cyan-nuanced-fg . "#0f3f60") + (bg-diff-heading . "#b7cfe0") + (fg-diff-heading . "#041645") + (bg-diff-added . "#d6f0d6") + (fg-diff-added . "#004520") + (bg-diff-changed . "#fcefcf") + (fg-diff-changed . "#524200") + (bg-diff-removed . "#ffe0ef") + (fg-diff-removed . "#891626") + (bg-diff-refine-added . "#84cfa4") + (fg-diff-refine-added . "#002a00") + (bg-diff-refine-changed . "#cccf8f") + (fg-diff-refine-changed . "#302010") + (bg-diff-refine-removed . "#da92b0") + (fg-diff-refine-removed . "#500010") + (bg-diff-focus-added . "#a6e5c6") + (fg-diff-focus-added . "#002c00") + (bg-diff-focus-changed . "#ecdfbf") + (fg-diff-focus-changed . "#392900") + (bg-diff-focus-removed . "#efbbcf") + (fg-diff-focus-removed . "#5a0010")) + modus-themes-vivendi-color-overrides + '((bg-main . "#25152a") + (bg-dim . "#2a1930") + (bg-alt . "#382443") + (bg-hl-line . "#332650") + (bg-active . "#463358") + (bg-inactive . "#2d1f3a") + (bg-active-accent . "#50308f") + (bg-region . "#5d4a67") + (bg-region-accent . "#60509f") + (bg-region-accent-subtle . "#3f285f") + (bg-header . "#3a2543") + (bg-tab-active . "#26162f") + (bg-tab-inactive . "#362647") + (bg-tab-inactive-accent . "#36265a") + (bg-tab-inactive-alt . "#3e2f5a") + (bg-tab-inactive-alt-accent . "#3e2f6f") + (fg-main . "#debfe0") + (fg-dim . "#d0b0da") + (fg-alt . "#ae85af") + (fg-unfocused . "#8e7f9f") + (fg-active . "#cfbfef") + (fg-inactive . "#b0a0c0") + (fg-docstring . "#c8d9f7") + (fg-comment-yellow . "#cf9a70") + (fg-escape-char-construct . "#ff75aa") + (fg-escape-char-backslash . "#dbab40") + (bg-special-cold . "#2a3f58") + (bg-special-faint-cold . "#1e283f") + (bg-special-mild . "#0f3f31") + (bg-special-faint-mild . "#0f281f") + (bg-special-warm . "#44331f") + (bg-special-faint-warm . "#372213") + (bg-special-calm . "#4a314f") + (bg-special-faint-calm . "#3a223f") + (fg-special-cold . "#c0b0ff") + (fg-special-mild . "#bfe0cf") + (fg-special-warm . "#edc0a6") + (fg-special-calm . "#ff9fdf") + (bg-completion . "#502d70") + (bg-completion-subtle . "#451d65") + (red . "#ff5f6f") + (red-alt . "#ff8f6d") + (red-alt-other . "#ff6f9d") + (red-faint . "#ffa0a0") + (red-alt-faint . "#f5aa80") + (red-alt-other-faint . "#ff9fbf") + (green . "#51ca5c") + (green-alt . "#71ca3c") + (green-alt-other . "#51ca9c") + (green-faint . "#78bf78") + (green-alt-faint . "#99b56f") + (green-alt-other-faint . "#88bf99") + (yellow . "#f0b262") + (yellow-alt . "#f0e242") + (yellow-alt-other . "#d0a272") + (yellow-faint . "#d2b580") + (yellow-alt-faint . "#cabf77") + (yellow-alt-other-faint . "#d0ba95") + (blue . "#778cff") + (blue-alt . "#8f90ff") + (blue-alt-other . "#8380ff") + (blue-faint . "#82b0ec") + (blue-alt-faint . "#a0acef") + (blue-alt-other-faint . "#80b2f0") + (magenta . "#ff70cf") + (magenta-alt . "#ff77f0") + (magenta-alt-other . "#ca7fff") + (magenta-faint . "#e0b2d6") + (magenta-alt-faint . "#ef9fe4") + (magenta-alt-other-faint . "#cfa6ff") + (cyan . "#30cacf") + (cyan-alt . "#60caff") + (cyan-alt-other . "#40b79f") + (cyan-faint . "#90c4ed") + (cyan-alt-faint . "#a0bfdf") + (cyan-alt-other-faint . "#a4d0bb") + (red-active . "#ff6059") + (green-active . "#64dc64") + (yellow-active . "#ffac80") + (blue-active . "#4fafff") + (magenta-active . "#cf88ff") + (cyan-active . "#50d3d0") + (red-nuanced-bg . "#440a1f") + (red-nuanced-fg . "#ffcccc") + (green-nuanced-bg . "#002904") + (green-nuanced-fg . "#b8e2b8") + (yellow-nuanced-bg . "#422000") + (yellow-nuanced-fg . "#dfdfb0") + (blue-nuanced-bg . "#1f1f5f") + (blue-nuanced-fg . "#bfd9ff") + (magenta-nuanced-bg . "#431641") + (magenta-nuanced-fg . "#e5cfef") + (cyan-nuanced-bg . "#042f49") + (cyan-nuanced-fg . "#a8e5e5") + (bg-diff-heading . "#304466") + (fg-diff-heading . "#dae7ff") + (bg-diff-added . "#0a383a") + (fg-diff-added . "#94ba94") + (bg-diff-changed . "#2a2000") + (fg-diff-changed . "#b0ba9f") + (bg-diff-removed . "#50163f") + (fg-diff-removed . "#c6adaa") + (bg-diff-refine-added . "#006a46") + (fg-diff-refine-added . "#e0f6e0") + (bg-diff-refine-changed . "#585800") + (fg-diff-refine-changed . "#ffffcc") + (bg-diff-refine-removed . "#952838") + (fg-diff-refine-removed . "#ffd9eb") + (bg-diff-focus-added . "#1d4c3f") + (fg-diff-focus-added . "#b4dfb4") + (bg-diff-focus-changed . "#424200") + (fg-diff-focus-changed . "#d0daaf") + (bg-diff-focus-removed . "#6f0f39") + (fg-diff-focus-removed . "#eebdba"))) + (setq modus-themes-operandi-color-overrides nil + modus-themes-vivendi-color-overrides nil))) + + +File: modus-themes.info, Node: Font configurations for Org and others, Next: Configure bold and italic faces, Prev: Override colors completely, Up: Advanced customization + +5.13 Font configurations for Org and others =========================================== The themes are designed to optionally cope well with mixed font @@ -3156,6 +3479,9 @@ configure the ‘variable-pitch’ (proportional spacing) and ‘fixed-pitch’ (monospaced) faces respectively. It may also be convenient to set your main typeface by configuring the ‘default’ face the same way. + [ The ‘fontaine’ package on GNU ELPA (by the author of the +modus-themes) is designed to handle this case. ] + Put something like this in your initialization file (also consider reading the doc string of ‘set-face-attribute’): @@ -3201,7 +3527,7 @@ account for those finer increments.  File: modus-themes.info, Node: Configure bold and italic faces, Next: Custom Org todo keyword and priority faces, Prev: Font configurations for Org and others, Up: Advanced customization -5.13 Configure bold and italic faces +5.14 Configure bold and italic faces ==================================== The Modus themes do not hardcode a ‘:weight’ or ‘:slant’ attribute in @@ -3289,7 +3615,7 @@ bulk).  File: modus-themes.info, Node: Custom Org todo keyword and priority faces, Next: Custom Org emphasis faces, Prev: Configure bold and italic faces, Up: Advanced customization -5.14 Custom Org todo keyword and priority faces +5.15 Custom Org todo keyword and priority faces =============================================== Users of ‘org-mode’ have the option to configure various keywords and @@ -3372,7 +3698,7 @@ specs using the themes' palette.  File: modus-themes.info, Node: Custom Org emphasis faces, Next: Update Org block delimiter fontification, Prev: Custom Org todo keyword and priority faces, Up: Advanced customization -5.15 Custom Org emphasis faces +5.16 Custom Org emphasis faces ============================== Org provides the user option ‘org-emphasis-alist’ which assosiates a @@ -3492,7 +3818,7 @@ invoke ‘M-x org-mode-restart’.  File: modus-themes.info, Node: Update Org block delimiter fontification, Next: Measure color contrast, Prev: Custom Org emphasis faces, Up: Advanced customization -5.16 Update Org block delimiter fontification +5.17 Update Org block delimiter fontification ============================================= As noted in the section about ‘modus-themes-org-blocks’, Org contains a @@ -3532,7 +3858,7 @@ intervention can be circumvented by tweaking the function thus:  File: modus-themes.info, Node: Measure color contrast, Next: Load theme depending on time of day, Prev: Update Org block delimiter fontification, Up: Advanced customization -5.17 Measure color contrast +5.18 Measure color contrast =========================== The themes provide the functions ‘modus-themes-wcag-formula’ and @@ -3597,7 +3923,7 @@ of the themes’ colors: *note Override colors::.  File: modus-themes.info, Node: Load theme depending on time of day, Next: Backdrop for pdf-tools, Prev: Measure color contrast, Up: Advanced customization -5.18 Load theme depending on time of day +5.19 Load theme depending on time of day ======================================== While we do provide ‘modus-themes-toggle’ to manually switch between the @@ -3623,7 +3949,7 @@ location using the built-in ‘solar.el’ and then configuring the  File: modus-themes.info, Node: Backdrop for pdf-tools, Next: Decrease mode line height, Prev: Load theme depending on time of day, Up: Advanced customization -5.19 Backdrop for pdf-tools +5.20 Backdrop for pdf-tools =========================== Most PDF files use a white background for their page, making it @@ -3690,7 +4016,7 @@ to dark mode when ‘modus-themes-toggle’ is called.  File: modus-themes.info, Node: Decrease mode line height, Next: Toggle themes without reloading them, Prev: Backdrop for pdf-tools, Up: Advanced customization -5.20 Decrease mode line height +5.21 Decrease mode line height ============================== By default, the mode line of the Modus themes is set to 1 pixel width @@ -3780,7 +4106,7 @@ needs to be specified as well:  File: modus-themes.info, Node: Toggle themes without reloading them, Next: A theme-agnostic hook for theme loading, Prev: Decrease mode line height, Up: Advanced customization -5.21 Toggle themes without reloading them +5.22 Toggle themes without reloading them ========================================= Users who have a stable setup and who only ever need to toggle between @@ -3807,7 +4133,7 @@ their own command which calls ‘enable-theme’ instead of ‘load-theme’:  File: modus-themes.info, Node: A theme-agnostic hook for theme loading, Next: Diffs with only the foreground, Prev: Toggle themes without reloading them, Up: Advanced customization -5.22 A theme-agnostic hook for theme loading +5.23 A theme-agnostic hook for theme loading ============================================ The themes are designed with the intent to be useful to Emacs users of @@ -3857,7 +4183,7 @@ what the implications are of advising a function).  File: modus-themes.info, Node: Diffs with only the foreground, Next: Ediff without diff color-coding, Prev: A theme-agnostic hook for theme loading, Up: Advanced customization -5.23 Diffs with only the foreground +5.24 Diffs with only the foreground =================================== Buffers that show differences between versions of a file or buffer, such @@ -3911,7 +4237,7 @@ standard and aesthetic quality of the themes is not compromised.  File: modus-themes.info, Node: Ediff without diff color-coding, Next: Near-monochrome syntax highlighting, Prev: Diffs with only the foreground, Up: Advanced customization -5.24 Ediff without diff color-coding +5.25 Ediff without diff color-coding ==================================== Ediff uses the same color-coding as ordinary diffs in ‘diff-mode’, @@ -3947,9 +4273,9 @@ coloration. *note Visualize the active Modus theme's palette::.  -File: modus-themes.info, Node: Near-monochrome syntax highlighting, Prev: Ediff without diff color-coding, Up: Advanced customization +File: modus-themes.info, Node: Near-monochrome syntax highlighting, Next: Custom hl-todo colors, Prev: Ediff without diff color-coding, Up: Advanced customization -5.25 Near-monochrome syntax highlighting +5.26 Near-monochrome syntax highlighting ======================================== While the Modus themes do provide a user option to control the overall @@ -4071,6 +4397,90 @@ and comments are gray. Regexp constructs are adapted accordingly. (set-face-attribute 'font-lock-variable-name-face nil :foreground 'unspecified) (set-face-attribute 'font-lock-warning-face nil :inherit 'modus-themes-bold :foreground red-nuanced-fg))) + +File: modus-themes.info, Node: Custom hl-todo colors, Next: Add support for solaire-mode, Prev: Near-monochrome syntax highlighting, Up: Advanced customization + +5.27 Custom hl-todo colors +========================== + +The ‘hl-todo’ package provides the user option ‘hl-todo-keyword-faces’: +it specifies a pair of keyword and corresponding color value. The Modus +themes configure that option in the interest of legibility. While this +works for our purposes, users may still prefer to apply their custom +values, in which case the following approach is necessary: + + (defun my-modus-themes-hl-todo-faces () + (setq hl-todo-keyword-faces '(("TODO" . "#ff0000") + ("HACK" . "#ffff00") + ("XXX" . "#00ffff") + ("NOTE" . "#ff00ff")))) + + (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-hl-todo-faces) + + Or include a ‘let’ form, if needed: + + (defun my-modus-themes-hl-todo-faces () + (let ((red "#ff0000") + (blue "#0000ff")) + (setq hl-todo-keyword-faces `(("TODO" . ,blue) + ("HACK" . ,red) + ("XXX" . ,red) + ("NOTE" . ,blue))))) + + (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-hl-todo-faces) + + Normally, we do not touch user options, though this is an exception: +otherwise the defaults are not always legible. + + +File: modus-themes.info, Node: Add support for solaire-mode, Prev: Custom hl-todo colors, Up: Advanced customization + +5.28 Add support for solaire-mode +================================= + +The ‘solaire-mode’ package dims the background of what it considers +ancillary buffers, such as the minibuffer and Dired buffers. The Modus +themes used to support Solaire on the premise that the user was (i) +opting in to it, (ii) understood why certain buffers were more gray, and +(iii) knew what other adjustments had to be made to prevent broken +visuals (e.g. the default style of the ‘modus-themes-completions’ uses +a subtle gray background for the selection, which with Solaire becomes +practically invisible). + + However, the assumption that users opt-in to this feature does not +always hold true in many cases as it is enabled by default in at least +the very popular Doom Emacs configuration. Thus, the unsuspecting user +who loads ‘modus-operandi’ or ‘modus-vivendi’ without the requisite +customizations is getting a sub-par experience; an experience that we +did not intend. + + Because the Modus themes are meant to work everywhere, we cannot make +an exception for Doom Emacs users. Furthermore, we shall not introduce +hacks, such as by adding a check in all relevant faces to be adjusted +based on Solaire or whatever other package. Hacks of this sort are +unsustainable and penalize all users. Besides, the themes are built +into Emacs and we must keep their standard high. + + As such, ‘solaire-mode’ is not—and will not be—supported by the Modus +themes. Users who want it must style the faces manually. Below is some +sample code, based on what we cover at length elsewhere in this manual: + + *note Advanced customization::. + + *note Face specs at scale using the themes' palette::. + + (defun my-modus-themes-custom-faces () + (modus-themes-with-colors + (custom-set-faces + `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) + `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) + `(solaire-hl-line-face ((,class :background ,bg-active))) + `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt)))))) + + (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) + + As always, re-load the theme for changes to take effect. +  File: modus-themes.info, Node: Face coverage, Next: Notes on individual packages, Prev: Advanced customization, Up: Top @@ -4120,10 +4530,11 @@ have lots of extensions, so the “full support” may not be 100% true… • breakpoint (provided by the built-in ‘gdb-mi.el’ library) • calendar and diary • calfw - • centaur-tabs + • calibredb • cfrs • change-log and log-view (such as ‘vc-print-log’, ‘vc-print-root-log’) + • chart • cider • circe • citar @@ -4135,7 +4546,7 @@ have lots of extensions, so the “full support” may not be 100% true… • completions • consult • corfu - • corfu-quick [ part of 2.4.0-dev ] + • corfu-quick • counsel* • counsel-css • cov @@ -4143,13 +4554,12 @@ have lots of extensions, so the “full support” may not be 100% true… • css-mode • csv-mode • ctrlf - • cursor-flash • custom (what you get with ‘M-x customize’) • dap-mode - • dashboard (emacs-dashboard) • deadgrep • debbugs • deft + • denote • devdocs • dictionary • diff-hl @@ -4166,10 +4576,10 @@ have lots of extensions, so the “full support” may not be 100% true… • diredp (dired+) • display-fill-column-indicator-mode • doom-modeline - • dynamic-ruler • easy-jekyll • ebdb • ediff + • ein (Emacs IPython Notebook) • eglot • el-search • eldoc-box @@ -4206,7 +4616,6 @@ have lots of extensions, so the “full support” may not be 100% true… • flyspell • flx • freeze-it - • frog-menu • focus • fold-this • font-lock (generic syntax highlighting) @@ -4245,6 +4654,7 @@ have lots of extensions, so the “full support” may not be 100% true… • imenu-list • indium • info + • info+ (info-plus) • info-colors • interaction-log • ioccur @@ -4259,6 +4669,7 @@ have lots of extensions, so the “full support” may not be 100% true… • kaocha-runner • keycast • ledger-mode + • leerzeichen • line numbers (‘display-line-numbers-mode’ and global variant) • lsp-mode • lsp-ui @@ -4270,7 +4681,6 @@ have lots of extensions, so the “full support” may not be 100% true… • marginalia • markdown-mode • markup-faces (‘adoc-mode’) - • mct • mentor • messages • mini-modeline @@ -4297,14 +4707,12 @@ have lots of extensions, so the “full support” may not be 100% true… • org-superstar • org-table-sticky-header • org-tree-slide - • org-treescope • origami • outline-mode • outline-minor-faces • package (what you get with ‘M-x list-packages’) • page-break-lines • pandoc-mode - • paradox • paren-face • pass • pdf-tools @@ -4347,7 +4755,6 @@ have lots of extensions, so the “full support” may not be 100% true… • smart-mode-line • smartparens • smerge - • solaire • spaceline • speedbar • stripes @@ -4376,14 +4783,13 @@ have lots of extensions, so the “full support” may not be 100% true… • typescript • undo-tree • vc (vc-dir.el, vc-hooks.el) - • vc-annotate (the output of ‘C-x v g’) • vertico • vertico-quick • vimish-fold • visible-mark • visual-regexp • vterm - • vundo [ part of 2.4.0-dev ] + • vundo • wcheck-mode • web-mode • wgrep @@ -4420,9 +4826,11 @@ supported by the themes. • bufler • counsel-notmuch • counsel-org-capture-string + • dashboard (emacs-dashboard) • define-word • disk-usage • dtache + • dynamic-ruler • easy-kill • edit-indirect • egerrit @@ -4463,8 +4871,9 @@ individual packages. * Menu: -* Note on avy hints:: * Note on calendar.el weekday and weekend colors: Note on calendarel weekday and weekend colors. +* Note on git-gutter in Doom Emacs:: +* Note on php-mode multiline comments:: * Note on underlines in compilation buffers:: * Note on inline Latex in Org buffers:: * Note on dimmer.el: Note on dimmerel. @@ -4480,45 +4889,13 @@ individual packages. * Note on SHR fonts:: * Note on Ement colors and fonts:: * Note on Helm grep:: -* Note on vc-annotate-background-mode:: * Note on pdf-tools link hints:: * Note on the Notmuch logo::  -File: modus-themes.info, Node: Note on avy hints, Next: Note on calendarel weekday and weekend colors, Up: Notes on individual packages +File: modus-themes.info, Node: Note on calendarel weekday and weekend colors, Next: Note on git-gutter in Doom Emacs, Up: Notes on individual packages -7.1 Note on avy hints -===================== - -Hints can appear everywhere, in wildly varying contexts, hence, their -appearance, by necessity, is a compromise. However, there are various -options for making them stand out. First is dimming the surroundings: - - (setq avy-background t) - - Dimming works well when you find it difficult to spot hints, any -hint. Second is limiting the number of faces used by hints: - - (setq avy-lead-faces - '(avy-lead-face - avy-lead-face-1 - avy-lead-face-1 - avy-lead-face-1 - avy-lead-face-1)) - - Limiting the number of faces works well with longer hints when you -find it difficult to identify individual hints, especially with hints -touching each other. The first character of the hint will have an -intense color, the remaining ones the same neutral color. - - Third is preferring commands that produce fewer candidates. Fewer -hints is less noise: ‘avy-goto-char-timer’ is an excellent alternative -to ‘avy-goto-char’. - - -File: modus-themes.info, Node: Note on calendarel weekday and weekend colors, Next: Note on underlines in compilation buffers, Prev: Note on avy hints, Up: Notes on individual packages - -7.2 Note on calendar.el weekday and weekend colors +7.1 Note on calendar.el weekday and weekend colors ================================================== By default, the ‘M-x calendar’ interface differentiates weekdays from @@ -4544,9 +4921,76 @@ of weekends uniformly. anew.  -File: modus-themes.info, Node: Note on underlines in compilation buffers, Next: Note on inline Latex in Org buffers, Prev: Note on calendarel weekday and weekend colors, Up: Notes on individual packages +File: modus-themes.info, Node: Note on git-gutter in Doom Emacs, Next: Note on php-mode multiline comments, Prev: Note on calendarel weekday and weekend colors, Up: Notes on individual packages -7.3 Note on underlines in compilation buffers +7.2 Note on git-gutter in Doom Emacs +==================================== + +The ‘git-gutter’ and ‘git-gutter-fr’ packages default to drawing bitmaps +for the indicators they display (e.g. bitmap of a plus sign for added +lines). In Doom Emacs, these bitmaps are replaced with contiguous lines +which may look nicer, but require a change to the foreground of the +relevant faces to yield the desired colour combinations. + + Since this is Doom-specific, we urge users to apply changes in their +local setup. Below is some sample code, based on what we cover at +length elsewhere in this manual: + + *note Advanced customization::. + + *note Face specs at scale using the themes' palette::. + + (defun my-modus-themes-custom-faces () + (modus-themes-with-colors + (custom-set-faces + ;; Replace green with blue if you use `modus-themes-deuteranopia'. + `(git-gutter-fr:added ((,class :foreground ,green-fringe-bg))) + `(git-gutter-fr:deleted ((,class :foreground ,red-fringe-bg))) + `(git-gutter-fr:modified ((,class :foreground ,yellow-fringe-bg)))))) + + (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) + + As always, re-load the theme for changes to take effect. + + If the above does not work, try this instead: + + (after! modus-themes + (modus-themes-with-colors + (custom-set-faces + ;; Replace green with blue if you use `modus-themes-deuteranopia'. + `(git-gutter-fr:added ((,class :foreground ,green-fringe-bg))) + `(git-gutter-fr:deleted ((,class :foreground ,red-fringe-bg))) + `(git-gutter-fr:modified ((,class :foreground ,yellow-fringe-bg)))))) + + Replace ‘green-fringe-bg’ with ‘blue-fringe-bg’ if you want to +optimize for red-green color deficiency. + + *note Option for red-green color deficiency or deuteranopia: +Deuteranopia style. + + +File: modus-themes.info, Node: Note on php-mode multiline comments, Next: Note on underlines in compilation buffers, Prev: Note on git-gutter in Doom Emacs, Up: Notes on individual packages + +7.3 Note on php-mode multiline comments +======================================= + +Depending on your build of Emacs and/or the environment it runs in, +multiline comments in PHP with the ‘php-mode’ package use the +‘font-lock-doc-face’ instead of ‘font-lock-comment-face’. + + This seems to make all comments use the appropriate face: + + (defun my-multine-comments () + (setq-local c-doc-face-name 'font-lock-comment-face)) + + (add-hook 'php-mode-hook #'my-multine-comments) + + As always, re-load the theme for changes to take effect. + + +File: modus-themes.info, Node: Note on underlines in compilation buffers, Next: Note on inline Latex in Org buffers, Prev: Note on php-mode multiline comments, Up: Notes on individual packages + +7.4 Note on underlines in compilation buffers ============================================= Various buffers that produce compilation results or run tests on code @@ -4568,7 +5012,7 @@ to render the affected text with the ‘italic’ face:  File: modus-themes.info, Node: Note on inline Latex in Org buffers, Next: Note on dimmerel, Prev: Note on underlines in compilation buffers, Up: Notes on individual packages -7.4 Note on inline Latex in Org buffers +7.5 Note on inline Latex in Org buffers ======================================= Org can work with inline latex and related syntax. To actually fontify @@ -4582,7 +5026,7 @@ the desired list of values (per its doc string). For example:  File: modus-themes.info, Node: Note on dimmerel, Next: Note on display-fill-column-indicator-mode, Prev: Note on inline Latex in Org buffers, Up: Notes on individual packages -7.5 Note on dimmer.el +7.6 Note on dimmer.el ===================== The ‘dimmer.el’ library by Neil Okamoto can be configured to @@ -4617,7 +5061,7 @@ of this package: it draws too much attention to unfocused windows.  File: modus-themes.info, Node: Note on display-fill-column-indicator-mode, Next: Note on highlight-parenthesesel, Prev: Note on dimmerel, Up: Notes on individual packages -7.6 Note on display-fill-column-indicator-mode +7.7 Note on display-fill-column-indicator-mode ============================================== The ‘display-fill-column-indicator-mode’ uses a typographic character to @@ -4648,7 +5092,7 @@ For example:  File: modus-themes.info, Node: Note on highlight-parenthesesel, Next: Note on mmm-modeel background colors, Prev: Note on display-fill-column-indicator-mode, Up: Notes on individual packages -7.7 Note on highlight-parentheses.el +7.8 Note on highlight-parentheses.el ==================================== The ‘highlight-parentheses’ package provides contextual coloration of @@ -4767,10 +5211,12 @@ implementation: (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-highlight-parentheses) + As always, re-load the theme for changes to take effect. +  File: modus-themes.info, Node: Note on mmm-modeel background colors, Next: Note for prism, Prev: Note on highlight-parenthesesel, Up: Notes on individual packages -7.8 Note on mmm-mode.el background colors +7.9 Note on mmm-mode.el background colors ========================================= The faces used by ‘mmm-mode.el’ are expected to have a colorful @@ -4819,8 +5265,8 @@ the very high cost of degraded legibility.  File: modus-themes.info, Node: Note for prism, Next: Note for god-mode, Prev: Note on mmm-modeel background colors, Up: Notes on individual packages -7.9 Note on prism.el -==================== +7.10 Note on prism.el +===================== This package by Adam Porter, aka “alphapapa” or “github-alphapapa”, implements an alternative to the typical coloration of code. Instead of @@ -4908,7 +5354,7 @@ examples with the 4, 8, 16 colors):  File: modus-themes.info, Node: Note for god-mode, Next: Note on company-mode overlay pop-up, Prev: Note for prism, Up: Notes on individual packages -7.10 Note on god-mode.el +7.11 Note on god-mode.el ======================== The ‘god-mode’ library does not provide faces that could be configured @@ -4942,7 +5388,7 @@ start by consulting the documentation string of ‘set-face-attribute’.  File: modus-themes.info, Node: Note on company-mode overlay pop-up, Next: Note on ERC escaped color sequences, Prev: Note for god-mode, Up: Notes on individual packages -7.11 Note on company-mode overlay pop-up +7.12 Note on company-mode overlay pop-up ======================================== By default, the ‘company-mode’ pop-up that lists completion candidates @@ -4963,7 +5409,7 @@ instead of overlays.(1)(2)  File: modus-themes.info, Node: Note on ERC escaped color sequences, Next: Note on powerline or spaceline, Prev: Note on company-mode overlay pop-up, Up: Notes on individual packages -7.12 Note on ERC escaped color sequences +7.13 Note on ERC escaped color sequences ======================================== The built-in IRC client ‘erc’ has the ability to colorise any text using @@ -5001,7 +5447,7 @@ Emacs:  File: modus-themes.info, Node: Note on powerline or spaceline, Next: Note on SHR colors, Prev: Note on ERC escaped color sequences, Up: Notes on individual packages -7.13 Note on powerline or spaceline +7.14 Note on powerline or spaceline =================================== Both Powerline and Spaceline package users will likely need to use the @@ -5011,7 +5457,7 @@ and/or mode line setup.  File: modus-themes.info, Node: Note on SHR colors, Next: Note on SHR fonts, Prev: Note on powerline or spaceline, Up: Notes on individual packages -7.14 Note on SHR colors +7.15 Note on SHR colors ======================= Emacs’ HTML rendering library (‘shr.el’) may need explicit configuration @@ -5023,7 +5469,7 @@ webpage provides.  File: modus-themes.info, Node: Note on SHR fonts, Next: Note on Ement colors and fonts, Prev: Note on SHR colors, Up: Notes on individual packages -7.15 Note on SHR fonts +7.16 Note on SHR fonts ====================== By default, packages that build on top of the Simple HTML Remember @@ -5044,7 +5490,7 @@ the standard font instead, set that variable to nil.  File: modus-themes.info, Node: Note on Ement colors and fonts, Next: Note on Helm grep, Prev: Note on SHR fonts, Up: Notes on individual packages -7.16 Note on Ement colors and fonts +7.17 Note on Ement colors and fonts =================================== The ‘ement.el’ library by Adam Porter (also known as “alphapapa”) @@ -5078,9 +5524,9 @@ Our target is the highest of the sort, though we do not demand that everyone conforms with it.  -File: modus-themes.info, Node: Note on Helm grep, Next: Note on vc-annotate-background-mode, Prev: Note on Ement colors and fonts, Up: Notes on individual packages +File: modus-themes.info, Node: Note on Helm grep, Next: Note on pdf-tools link hints, Prev: Note on Ement colors and fonts, Up: Notes on individual packages -7.17 Note on Helm grep +7.18 Note on Helm grep ====================== There is one face from the Helm package that is meant to highlight the @@ -5109,26 +5555,7 @@ ANSI color number 1 (red) from the already-supported array of ‘ansi-color-names-vector’.  -File: modus-themes.info, Node: Note on vc-annotate-background-mode, Next: Note on pdf-tools link hints, Prev: Note on Helm grep, Up: Notes on individual packages - -7.18 Note on vc-annotate-background-mode -======================================== - -Due to the unique way ‘vc-annotate’ (‘C-x v g’) applies colors, support -for its background mode (‘vc-annotate-background-mode’) is disabled at -the theme level. - - Normally, such a drastic measure should not belong in a theme: -assuming the user’s preferences is bad practice. However, it has been -deemed necessary in the interest of preserving color contrast -accessibility while still supporting a useful built-in tool. - - If there actually is a way to avoid such a course of action, without -prejudice to the accessibility standard of this project, then please -report as much or send patches (*note Contributing::). - - -File: modus-themes.info, Node: Note on pdf-tools link hints, Next: Note on the Notmuch logo, Prev: Note on vc-annotate-background-mode, Up: Notes on individual packages +File: modus-themes.info, Node: Note on pdf-tools link hints, Next: Note on the Notmuch logo, Prev: Note on Helm grep, Up: Notes on individual packages 7.19 Note on pdf-tools link hints ================================= @@ -5581,7 +6008,7 @@ File: modus-themes.info, Node: Issues you can help with, Next: Patches require A few tasks you can help with by sending an email to the general modus-themes public mailing list (https://lists.sr.ht/~protesilaos/modus-themes) (or use the command -‘modus-themes-report-bug’ [part of 2.4.0-dev]). +‘modus-themes-report-bug’). • Suggest refinements to packages that are covered. • Report packages not covered thus far. @@ -5599,8 +6026,7 @@ or short videos, as well as further instructions to reproduce a given setup. Though this is not a requirement. Also consider mentioning the version of the themes you are using, -such as by invoking the command ‘modus-themes-version’ [part of -2.4.0-dev]. +such as by invoking the command ‘modus-themes-version’. Whatever you do, bear in mind the overarching objective of the Modus themes: to keep a contrast ratio that is greater or equal to 7:1 between @@ -5685,53 +6111,57 @@ Contributions to code or documentation Alex Griffin, Anders Johansson, Basil L. Contovounesios, Björn Lindström, Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli Zaretskii, Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, - Kostadin Ninev, Madhavan Krishnan, Markus Beppler, Matthew - Stevenson, Mauro Aranda, Nicolas De Jaeghere, Philip Kaludercic, - Pierre Téchoueyres, Rudolf Adamkovič, Stephen Gildea, Shreyas - Ragavan, Stefan Kangas, Utkarsh Singh, Vincent Murphy, Xinglu Chen, - Yuanchen Xie. + Kostadin Ninev, Madhavan Krishnan, Manuel Giraud, Markus Beppler, + Matthew Stevenson, Mauro Aranda, Nicolas De Jaeghere, Paul David, + Philip Kaludercic, Pierre Téchoueyres, Rudolf Adamkovič, Stephen + Gildea, Shreyas Ragavan, Stefan Kangas, Utkarsh Singh, Vincent + Murphy, Xinglu Chen, Yuanchen Xie. Ideas and user feedback Aaron Jensen, Adam Porter, Adam Spiers, Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders - Johansson, André Alexandre Gomes, Antonio Hernández Blas, Arif - Rezai, Augusto Stoffel, Basil L. Contovounesios, Burgess Chang, - Christian Tietze, Christopher Dimech, Christopher League, Damien - Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson, Davor - Rotim, Divan Santana, Eliraz Kedmi, Emanuele Michele Alberto + Johansson, André Alexandre Gomes, Andrew Tropin, Antonio Hernández + Blas, Arif Rezai, Augusto Stoffel, Basil L. Contovounesios, Burgess + Chang, Christian Tietze, Christopher Dimech, Christopher League, + Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson, + Davor Rotim, Divan Santana, Eliraz Kedmi, Emanuele Michele Alberto Monterosso, Farasha Euker, Feng Shu, Gautier Ponsinet, Gerry - Agbobada, Gianluca Recchia, Guilherme Semente, Gustavo Barros, - Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Jeremy Friesen, Jerry - Zhang, Johannes Grødem, John Haman, Jorge Morais, Joshua O’Connor, - Julio C. Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, - Kostadin Ninev, Len Trigg, Lennart C. Karssen, Magne Hov, Manuel - Uberti, Mark Bestley, Mark Burton, Markus Beppler, Mauro Aranda, - Michael Goldenberg, Morgan Smith, Morgan Willcock, Murilo Pereira, - Nicky van Foreest, Nicolas De Jaeghere, Paul Poloskov, Pengji - Zhang, Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre - Téchoueyres, Przemysław Kryger, Robert Hepple, Roman Rudakov, Ryan - Phillips, Rytis Paškauskas, Rudolf Adamkovič, Sam Kleinman, Samuel - Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Tassilo - Horn, Thibaut Verron, Thomas Heartman, Togan Muftuoglu, Tony - Zorman, Trey Merkley, Tomasz Hołubowicz, Toon Claes, Uri Sharf, - Utkarsh Singh, Vincent Foley. As well as users: Ben, - CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji, - Nick, TheBlob42, Trey, bepolymathe, bit9tream, derek-upham, doolio, - fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p. + Agbobada, Gianluca Recchia, Gonçalo Marrafa, Guilherme Semente, + Gustavo Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Ivan + Popovych, Jeremy Friesen, Jerry Zhang, Johannes Grødem, John Haman, + Jonas Collberg, Jorge Morais, Joshua O’Connor, Julio C. + Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin + Ninev, Len Trigg, Lennart C. Karssen, Magne Hov, Manuel Uberti, + Mark Bestley, Mark Burton, Markus Beppler, Matt Armstrong, Mauro + Aranda, Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan + Willcock, Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, + Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu, Philip + Kaludercic, Pierre Téchoueyres, Przemysław Kryger, Robert Hepple, + Roman Rudakov, Ryan Phillips, Rytis Paškauskas, Rudolf Adamkovič, + Sam Kleinman, Samuel Culpepper, Saša Janiška, Shreyas Ragavan, + Simon Pugnet, Tassilo Horn, Thibaut Verron, Thomas Heartman, Togan + Muftuoglu, Tony Zorman, Trey Merkley, Tomasz Hołubowicz, Toon + Claes, Uri Sharf, Utkarsh Singh, Vincent Foley. As well as users: + Ben, CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, + Moesasji, Nick, Summer Emacs, TheBlob42, Trey, bepolymathe, + bit9tream, derek-upham, doolio, fleimgruber, gitrj95, iSeeU, + jixiuf, okamsn, pRot0ta1p. Packaging Basil L. Contovounesios, Eli Zaretskii, Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core Emacs), Stefan Monnier (GNU - Elpa), André Alexandre Gomes, Dimakakos Dimos, Morgan Smith, - Nicolas Goaziou (Guix), Dhavan Vaidya (Debian). + Elpa), André Alexandre Gomes, Andrew Tropin, Dimakakos Dimos, + Morgan Smith, Nicolas Goaziou (Guix), Dhavan Vaidya (Debian). Inspiration for certain features Bozhidar Batsov (zenburn-theme), Fabrice Niessen (leuven-theme). - Special thanks (from A-Z) to Gustavo Barros, Manuel Uberti, Nicolas -De Jaeghere, and Omar Antolín Camarena for their long time contributions -and insightful commentary on key aspects of the themes’ design and/or -aspects of their functionality. + Special thanks (from A-Z) to Daniel Mendler, Gustavo Barros, Manuel +Uberti, Nicolas De Jaeghere, and Omar Antolín Camarena for their long +time contributions and insightful commentary on key aspects of the +themes’ design and/or aspects of their functionality. + + All errors are my own.  File: modus-themes.info, Node: Other notes about the project, Next: GNU Free Documentation License, Prev: Acknowledgements, Up: Top @@ -5781,8 +6211,14 @@ details of this sort): • Re: VSCode or Vim ports of the Emacs modus-themes? (https://protesilaos.com/codelog/2022-01-03-modus-themes-port-faq/) (2022-01-03) + • Modus themes: case study on Avy faces and colour combinations + (https://protesilaos.com/codelog/2022-04-20-modus-themes-case-study-avy/) + (2022-04-20) + • Emacs: colour theory and techniques used in the Modus themes + (https://protesilaos.com/codelog/2022-04-21-modus-themes-colour-theory/) + (2022-04-21) - And here are the canonical sources of this project’s documentation: + And here are the canonical sources of this project: Manual @@ -6448,117 +6884,121 @@ B.3 Concept index  Tag Table: Node: Top872 -Node: Overview7614 -Node: How do the themes look like9738 -Node: Learn about the latest changes10252 -Node: Installation10640 -Node: Install manually from source11121 -Node: Install from the archives11946 -Node: Install on GNU/Linux12723 -Node: Debian 11 Bullseye13171 -Node: GNU Guix13481 -Node: Enable and load13764 -Node: Sample configuration with and without use-package17303 -Node: Differences between loading and enabling20207 -Node: Customization Options22216 -Node: Custom reload theme30596 -Node: Deuteranopia style31386 -Node: Bold constructs32817 -Node: Italic constructs33651 -Node: Syntax styles34418 -Node: Mixed fonts36550 -Node: Link styles37814 -Node: Box buttons40288 -Node: Command prompts43585 -Node: Mode line45406 -Node: Tab style50901 -Node: Completion UIs51564 -Node: Mail citations55418 -Node: Fringes56564 -Node: Language checkers57304 -Node: Line highlighting59746 -Node: Line numbers61343 -Node: Mouse hover effects62424 -Node: Markup63039 -Node: Matching parentheses64639 -Node: Active region66016 -Node: Diffs67429 -Node: Org mode blocks69080 -Node: Org agenda71470 -Node: Heading styles80286 -Node: UI typeface85053 -Node: Advanced customization85952 -Node: More accurate colors in terminal emulators87623 -Node: Range of color with terminal emulators88864 -Node: Visualize the active Modus theme's palette91569 -Node: Per-theme customization settings92565 -Node: Case-by-case face specs using the themes' palette93921 -Node: Face specs at scale using the themes' palette98469 -Node: Remap face with local value103270 -Node: Cycle through arbitrary colors105695 -Node: Override colors112123 -Node: Override color saturation117361 -Node: Override colors through blending123042 -Node: Font configurations for Org and others125899 -Ref: Font configurations for Org and others-Footnote-1128715 -Node: Configure bold and italic faces128902 -Node: Custom Org todo keyword and priority faces133050 -Node: Custom Org emphasis faces136723 -Node: Update Org block delimiter fontification141524 -Node: Measure color contrast143441 -Node: Load theme depending on time of day146164 -Node: Backdrop for pdf-tools147157 -Node: Decrease mode line height150009 -Node: Toggle themes without reloading them154131 -Node: A theme-agnostic hook for theme loading155410 -Node: Diffs with only the foreground157812 -Node: Ediff without diff color-coding160926 -Node: Near-monochrome syntax highlighting163065 -Node: Face coverage172032 -Node: Supported packages172484 -Node: Indirectly covered packages179131 -Node: Notes on individual packages180203 -Node: Note on avy hints181296 -Node: Note on calendarel weekday and weekend colors182464 -Node: Note on underlines in compilation buffers183647 -Node: Note on inline Latex in Org buffers184494 -Node: Note on dimmerel185104 -Node: Note on display-fill-column-indicator-mode186589 -Node: Note on highlight-parenthesesel187987 -Node: Note on mmm-modeel background colors193976 -Node: Note for prism196291 -Node: Note for god-mode199445 -Node: Note on company-mode overlay pop-up201049 -Ref: Note on company-mode overlay pop-up-Footnote-1201739 -Ref: Note on company-mode overlay pop-up-Footnote-2201806 -Node: Note on ERC escaped color sequences201861 -Ref: Note on ERC escaped color sequences-Footnote-1203289 -Node: Note on powerline or spaceline203399 -Node: Note on SHR colors203813 -Node: Note on SHR fonts204237 -Node: Note on Ement colors and fonts204870 -Node: Note on Helm grep206369 -Node: Note on vc-annotate-background-mode207846 -Node: Note on pdf-tools link hints208731 -Node: Note on the Notmuch logo211196 -Node: Frequently Asked Questions211694 -Node: Is the contrast ratio about adjacent colors?212325 -Node: What does it mean to avoid exaggerations?213832 -Node: Why are colors mostly variants of blue magenta cyan?215661 -Node: What is the best setup for legibility?219967 -Node: Are these color schemes?222612 -Node: Port the Modus themes to other platforms?226332 -Node: Contributing229113 -Node: Sources of the themes229510 -Node: Issues you can help with230209 -Node: Patches require copyright assignment to the FSF231821 -Node: Acknowledgements234041 -Node: Other notes about the project237319 -Node: GNU Free Documentation License240005 -Node: Indices265382 -Node: Function index265561 -Node: Variable index267364 -Node: Concept index269651 +Node: Overview7760 +Node: How do the themes look like9884 +Node: Learn about the latest changes10398 +Node: Installation10786 +Node: Install manually from source11308 +Node: Install from the archives12133 +Node: Install on GNU/Linux12732 +Node: Debian 11 Bullseye13225 +Node: GNU Guix13635 +Node: Dealing with byte compilation errors13918 +Node: Enable and load15076 +Node: Sample configuration with and without use-package18615 +Node: Differences between loading and enabling21520 +Node: Customization Options23529 +Node: Custom reload theme31909 +Node: Deuteranopia style32699 +Node: Bold constructs34130 +Node: Italic constructs34964 +Node: Syntax styles35731 +Node: Mixed fonts37863 +Node: Link styles39127 +Node: Box buttons41601 +Node: Command prompts44898 +Node: Mode line46719 +Node: Tab style52214 +Node: Completion UIs52877 +Node: Mail citations56726 +Node: Fringes57872 +Node: Language checkers58612 +Node: Line highlighting61054 +Node: Line numbers62792 +Node: Mouse hover effects63873 +Node: Markup64488 +Node: Matching parentheses66088 +Node: Active region67465 +Node: Diffs68878 +Node: Org mode blocks70529 +Node: Org agenda72919 +Node: Heading styles81735 +Node: UI typeface86647 +Node: Advanced customization87546 +Node: More accurate colors in terminal emulators89307 +Node: Range of color with terminal emulators90548 +Node: Visualize the active Modus theme's palette93253 +Node: Per-theme customization settings94249 +Node: Case-by-case face specs using the themes' palette95605 +Node: Face specs at scale using the themes' palette100153 +Node: Remap face with local value104954 +Node: Cycle through arbitrary colors107379 +Node: Override colors113807 +Node: Override color saturation119049 +Node: Override colors through blending124730 +Node: Override colors completely127575 +Node: Font configurations for Org and others141077 +Ref: Font configurations for Org and others-Footnote-1144004 +Node: Configure bold and italic faces144191 +Node: Custom Org todo keyword and priority faces148339 +Node: Custom Org emphasis faces152012 +Node: Update Org block delimiter fontification156813 +Node: Measure color contrast158730 +Node: Load theme depending on time of day161453 +Node: Backdrop for pdf-tools162446 +Node: Decrease mode line height165298 +Node: Toggle themes without reloading them169420 +Node: A theme-agnostic hook for theme loading170699 +Node: Diffs with only the foreground173101 +Node: Ediff without diff color-coding176215 +Node: Near-monochrome syntax highlighting178354 +Node: Custom hl-todo colors187351 +Node: Add support for solaire-mode188872 +Node: Face coverage191302 +Node: Supported packages191754 +Node: Indirectly covered packages198257 +Node: Notes on individual packages199385 +Node: Note on calendarel weekday and weekend colors200493 +Node: Note on git-gutter in Doom Emacs201641 +Node: Note on php-mode multiline comments203730 +Node: Note on underlines in compilation buffers204483 +Node: Note on inline Latex in Org buffers205320 +Node: Note on dimmerel205930 +Node: Note on display-fill-column-indicator-mode207415 +Node: Note on highlight-parenthesesel208813 +Node: Note on mmm-modeel background colors214863 +Node: Note for prism217178 +Node: Note for god-mode220334 +Node: Note on company-mode overlay pop-up221938 +Ref: Note on company-mode overlay pop-up-Footnote-1222628 +Ref: Note on company-mode overlay pop-up-Footnote-2222695 +Node: Note on ERC escaped color sequences222750 +Ref: Note on ERC escaped color sequences-Footnote-1224178 +Node: Note on powerline or spaceline224288 +Node: Note on SHR colors224702 +Node: Note on SHR fonts225126 +Node: Note on Ement colors and fonts225759 +Node: Note on Helm grep227258 +Node: Note on pdf-tools link hints228728 +Node: Note on the Notmuch logo231175 +Node: Frequently Asked Questions231673 +Node: Is the contrast ratio about adjacent colors?232304 +Node: What does it mean to avoid exaggerations?233811 +Node: Why are colors mostly variants of blue magenta cyan?235640 +Node: What is the best setup for legibility?239946 +Node: Are these color schemes?242591 +Node: Port the Modus themes to other platforms?246311 +Node: Contributing249092 +Node: Sources of the themes249489 +Node: Issues you can help with250188 +Node: Patches require copyright assignment to the FSF251760 +Node: Acknowledgements253980 +Node: Other notes about the project257461 +Node: GNU Free Documentation License260459 +Node: Indices285836 +Node: Function index286015 +Node: Variable index287818 +Node: Concept index290105  End Tag Table diff --git a/code/elpa/modus-themes-20220421.1021/modus-vivendi-theme.el b/code/elpa/modus-themes-20220804.500/modus-vivendi-theme.el similarity index 94% rename from code/elpa/modus-themes-20220421.1021/modus-vivendi-theme.el rename to code/elpa/modus-themes-20220804.500/modus-vivendi-theme.el index 634af07..f2c916e 100644 --- a/code/elpa/modus-themes-20220421.1021/modus-vivendi-theme.el +++ b/code/elpa/modus-themes-20220804.500/modus-vivendi-theme.el @@ -3,8 +3,10 @@ ;; Copyright (C) 2019-2022 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou +;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes -;; Version: 2.3.2 +;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes +;; Version: 2.5.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/code/elpa/persp-mode-20220206.1742/persp-mode-pkg.el b/code/elpa/persp-mode-20220206.1742/persp-mode-pkg.el deleted file mode 100644 index b36e221..0000000 --- a/code/elpa/persp-mode-20220206.1742/persp-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from persp-mode.el -*- no-byte-compile: t -*- -(define-package "persp-mode" "20220206.1742" "windows/buffers sets shared among frames + save/load." '((emacs "24.3")) :commit "7a594a3d8f1c4ba9234dcd831a589e87f3f4ae86" :authors '(("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) :maintainer '("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") :keywords '("perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") :url "https://github.com/Bad-ptr/persp-mode.el") diff --git a/code/elpa/persp-mode-20220206.1742/persp-mode-autoloads.el b/code/elpa/persp-mode-20220507.32/persp-mode-autoloads.el similarity index 100% rename from code/elpa/persp-mode-20220206.1742/persp-mode-autoloads.el rename to code/elpa/persp-mode-20220507.32/persp-mode-autoloads.el diff --git a/code/elpa/persp-mode-20220507.32/persp-mode-pkg.el b/code/elpa/persp-mode-20220507.32/persp-mode-pkg.el new file mode 100644 index 0000000..b24328c --- /dev/null +++ b/code/elpa/persp-mode-20220507.32/persp-mode-pkg.el @@ -0,0 +1,2 @@ +;;; Generated package description from persp-mode.el -*- no-byte-compile: t -*- +(define-package "persp-mode" "20220507.32" "windows/buffers sets shared among frames + save/load." '((emacs "24.3")) :commit "d0f8eb099e852b6073d4ec06d32587c60a7dce3f" :authors '(("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com")) :maintainer '("Constantin Kulikov (Bad_ptr)" . "zxnotdead@gmail.com") :keywords '("perspectives" "session" "workspace" "persistence" "windows" "buffers" "convenience") :url "https://github.com/Bad-ptr/persp-mode.el") diff --git a/code/elpa/persp-mode-20220206.1742/persp-mode.el b/code/elpa/persp-mode-20220507.32/persp-mode.el similarity index 99% rename from code/elpa/persp-mode-20220206.1742/persp-mode.el rename to code/elpa/persp-mode-20220507.32/persp-mode.el index eeb85fa..6d896c0 100644 --- a/code/elpa/persp-mode-20220206.1742/persp-mode.el +++ b/code/elpa/persp-mode-20220507.32/persp-mode.el @@ -4,8 +4,8 @@ ;; Author: Constantin Kulikov (Bad_ptr) ;; Version: 3.0.3 -;; Package-Version: 20220206.1742 -;; Package-Commit: 7a594a3d8f1c4ba9234dcd831a589e87f3f4ae86 +;; Package-Version: 20220507.32 +;; Package-Commit: d0f8eb099e852b6073d4ec06d32587c60a7dce3f ;; Package-Requires: ((emacs "24.3")) ;; Keywords: perspectives, session, workspace, persistence, windows, buffers, convenience ;; URL: https://github.com/Bad-ptr/persp-mode.el @@ -1170,7 +1170,7 @@ the selected window to a wrong buffer.") sortp cache) &rest body) (let ((pblf-body `(persp-buffer-list-restricted frame))) - (when sortp (setq pblf-body `(sort ,pblf-body (with-no-warnings ',sortp)))) + (when sortp (setq pblf-body `(sort ,pblf-body (with-no-warnings ,sortp)))) `(let ((*persp-restrict-buffers-to* ,restriction) (persp-restrict-buffers-to-if-foreign-buffer ,restriction-foreign-override) diff --git a/code/elpa/projectile-20220419.1102/projectile-autoloads.el b/code/elpa/projectile-20220804.1530/projectile-autoloads.el similarity index 99% rename from code/elpa/projectile-20220419.1102/projectile-autoloads.el rename to code/elpa/projectile-20220804.1530/projectile-autoloads.el index 2cee6b8..f5ff256 100644 --- a/code/elpa/projectile-20220419.1102/projectile-autoloads.el +++ b/code/elpa/projectile-20220804.1530/projectile-autoloads.el @@ -127,7 +127,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files with character -'a' in that directory is presented. +\"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting. @@ -156,7 +156,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim-other-window' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files -with character 'a' in that directory is presented. +with character \"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting. @@ -185,7 +185,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim-other-frame' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files -with character 'a' in that directory is presented. +with character \"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting. diff --git a/code/elpa/projectile-20220419.1102/projectile-pkg.el b/code/elpa/projectile-20220804.1530/projectile-pkg.el similarity index 56% rename from code/elpa/projectile-20220419.1102/projectile-pkg.el rename to code/elpa/projectile-20220804.1530/projectile-pkg.el index dd9404c..9197367 100644 --- a/code/elpa/projectile-20220419.1102/projectile-pkg.el +++ b/code/elpa/projectile-20220804.1530/projectile-pkg.el @@ -1,2 +1,2 @@ ;;; Generated package description from projectile.el -*- no-byte-compile: t -*- -(define-package "projectile" "20220419.1102" "Manage and navigate projects in Emacs easily" '((emacs "25.1")) :commit "b014d79f5bca2103cf055b27334ad89f007a6ac8" :authors '(("Bozhidar Batsov" . "bozhidar@batsov.dev")) :maintainer '("Bozhidar Batsov" . "bozhidar@batsov.dev") :keywords '("project" "convenience") :url "https://github.com/bbatsov/projectile") +(define-package "projectile" "20220804.1530" "Manage and navigate projects in Emacs easily" '((emacs "25.1")) :commit "94273611c95b6718c41018be2657f6982a325f60" :authors '(("Bozhidar Batsov" . "bozhidar@batsov.dev")) :maintainer '("Bozhidar Batsov" . "bozhidar@batsov.dev") :keywords '("project" "convenience") :url "https://github.com/bbatsov/projectile") diff --git a/code/elpa/projectile-20220419.1102/projectile.el b/code/elpa/projectile-20220804.1530/projectile.el similarity index 97% rename from code/elpa/projectile-20220419.1102/projectile.el rename to code/elpa/projectile-20220804.1530/projectile.el index ce722b6..9e1d800 100644 --- a/code/elpa/projectile-20220419.1102/projectile.el +++ b/code/elpa/projectile-20220804.1530/projectile.el @@ -1,11 +1,11 @@ ;;; projectile.el --- Manage and navigate projects in Emacs easily -*- lexical-binding: t -*- -;; Copyright © 2011-2021 Bozhidar Batsov +;; Copyright © 2011-2022 Bozhidar Batsov ;; Author: Bozhidar Batsov ;; URL: https://github.com/bbatsov/projectile -;; Package-Version: 20220419.1102 -;; Package-Commit: b014d79f5bca2103cf055b27334ad89f007a6ac8 +;; Package-Version: 20220804.1530 +;; Package-Commit: 94273611c95b6718c41018be2657f6982a325f60 ;; Keywords: project, convenience ;; Version: 2.6.0-snapshot ;; Package-Requires: ((emacs "25.1")) @@ -197,7 +197,7 @@ A value of nil means the cache never expires." (defcustom projectile-require-project-root 'prompt "Require the presence of a project root to operate when true. -When set to 'prompt Projectile will ask you to select a project +When set to `prompt' Projectile will ask you to select a project directory if you're not in a project. When nil Projectile will consider the current directory the project root." @@ -243,14 +243,14 @@ When nil Projectile will consider the current directory the project root." (defcustom projectile-tags-backend 'auto "The tag backend that Projectile should use. -If set to 'auto', `projectile-find-tag' will automatically choose +If set to `auto', `projectile-find-tag' will automatically choose which backend to use. Preference order is ggtags -> xref -> etags-select -> `find-tag'. Variable can also be set to specify which backend to use. If selected backend is unavailable, fall back to `find-tag'. -If this variable is set to 'auto' and ggtags is available, or if -set to 'ggtags', then ggtags will be used for +If this variable is set to `auto' and ggtags is available, or if +set to `ggtags', then ggtags will be used for `projectile-regenerate-tags'. For all other settings `projectile-tags-command' will be used." :group 'projectile @@ -266,7 +266,7 @@ set to 'ggtags', then ggtags will be used for "The sort order used for a project's files. Note that files aren't sorted if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :group 'projectile :type '(radio (const :tag "Default (no sorting)" default) @@ -376,7 +376,7 @@ Similar to '#' in .gitignore files." (list projectile-tags-file-name) "A list of files globally ignored by projectile. Note that files aren't filtered if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :group 'projectile :type '(repeat string)) @@ -384,7 +384,7 @@ is set to 'alien'." "A list of files globally unignored by projectile. Regular expressions can be used. Note that files aren't filtered if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :group 'projectile :type '(repeat string) :package-version '(projectile . "0.14.0")) @@ -393,7 +393,7 @@ is set to 'alien'." nil "A list of file suffixes globally ignored by projectile. Note that files aren't filtered if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :group 'projectile :type '(repeat string)) @@ -429,7 +429,7 @@ project, but not ./src/tmp. \"*tmp\" will ignore both ./tmp and ./src/tmp, but not ./not-a-tmp or ./src/not-a-tmp. Note that files aren't filtered if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :safe (lambda (x) (not (remq t (mapcar #'stringp x)))) :group 'projectile :type '(repeat string)) @@ -437,7 +437,7 @@ is set to 'alien'." (defcustom projectile-globally-unignored-directories nil "A list of directories globally unignored by projectile. Note that files aren't filtered if `projectile-indexing-method' -is set to 'alien'." +is set to `alien'." :group 'projectile :type '(repeat string) :package-version '(projectile . "0.14.0")) @@ -718,10 +718,10 @@ Set to nil to disable listing submodules contents." (cond ;; we prefer fd over find ((executable-find "fd") - "fd . -0 --type f --color=never") + "fd . -0 --type f --color=never --strip-cwd-prefix") ;; fd's executable is named fdfind is some Linux distros (e.g. Ubuntu) ((executable-find "fdfind") - "fdfind . -0 --type f --color=never") + "fdfind . -0 --type f --color=never --strip-cwd-prefix") ;; with find we have to be careful to strip the ./ from the paths ;; see https://stackoverflow.com/questions/2596462/how-to-strip-leading-in-unix-find (t "find . -type f | cut -c3- | tr '\\n' '\\0'")) @@ -804,9 +804,9 @@ It assumes the test/ folder is at the same level as src/." (defcustom projectile-current-project-on-switch 'remove "Determines whether to display current project when switching projects. -When set to 'remove current project is not included, 'move-to-end +When set to `remove' current project is not included, `move-to-end' will display current project and the end of the list of known -projects, 'keep will leave the current project at the default +projects, `keep' will leave the current project at the default position." :group 'projectile :type '(radio @@ -850,7 +850,7 @@ If the version number could not be determined, signal an error, if called interactively, or if SHOW-VERSION is non-nil, otherwise just return nil." (interactive (list t)) - ((let ((version (or (projectile--pkg-version) projectile-version)))) + (let ((version (or (projectile--pkg-version) projectile-version))) (if show-version (message "Projectile %s" version) version))) @@ -991,7 +991,7 @@ to invalidate." (if (fboundp 'time-convert) (time-convert nil 'integer) (cl-destructuring-bind (high low _usec _psec) (current-time) - (+ (lsh high 16) low)))) + (+ (ash high 16) low)))) (defun projectile-cache-project (project files) "Cache PROJECTs FILES. @@ -1089,10 +1089,16 @@ discover projects there." ;; sometimes that directory is an unreadable one at the root of a ;; volume. This is the case, for example, on macOS with the ;; .Spotlight-V100 directory. - (dolist (dir (ignore-errors (directory-files directory t))) - (when (and (file-directory-p dir) - (not (member (file-name-nondirectory dir) '(".." ".")))) - (projectile-discover-projects-in-directory dir (1- depth)))) + (let ((progress-reporter + (make-progress-reporter + (format "Projectile is discovering projects in %s..." + (propertize directory 'face 'font-lock-keyword-face))))) + (progress-reporter-update progress-reporter) + (dolist (dir (ignore-errors (directory-files directory t))) + (when (and (file-directory-p dir) + (not (member (file-name-nondirectory dir) '(".." ".")))) + (projectile-discover-projects-in-directory dir (1- depth)))) + (progress-reporter-done progress-reporter)) (when (projectile-project-p directory) (let ((dir (abbreviate-file-name (projectile-project-root directory)))) (unless (member dir projectile-known-projects) @@ -1191,42 +1197,53 @@ topmost sequence of matched directories. Nil otherwise." (defun projectile-project-root (&optional dir) "Retrieves the root directory of a project if available. If DIR is not supplied its set to the current directory by default." - ;; the cached value will be 'none in the case of no project root (this is to - ;; ensure it is not reevaluated each time when not inside a project) so use - ;; cl-subst to replace this 'none value with nil so a nil value is used - ;; instead (let ((dir (or dir default-directory))) ;; Back out of any archives, the project will live on the outside and ;; searching them is slow. (when (and (fboundp 'tramp-archive-file-name-archive) (tramp-archive-file-name-p dir)) (setq dir (file-name-directory (tramp-archive-file-name-archive dir)))) + ;; the cached value will be 'none in the case of no project root (this is to + ;; ensure it is not reevaluated each time when not inside a project) so use + ;; cl-subst to replace this 'none value with nil so a nil value is used + ;; instead (cl-subst nil 'none - ;; The `is-local' and `is-connected' variables are - ;; used to fix the behavior where Emacs hangs - ;; because of Projectile when you open a file over - ;; TRAMP. It basically prevents Projectile from - ;; trying to find information about files for which - ;; it's not possible to get that information right - ;; now. - (or (let ((is-local (not (file-remote-p dir))) ;; `true' if the file is local - (is-connected (file-remote-p dir nil t))) ;; `true' if the file is remote AND we are connected to the remote - (when (or is-local is-connected) - ;; Here is where all the magic happens. - ;; We run the functions in `projectile-project-root-functions' until we find a project dir. - (cl-some - (lambda (func) - (let* ((cache-key (format "%s-%s" func dir)) - (cache-value (gethash cache-key projectile-project-root-cache))) - (if (and cache-value (file-exists-p cache-value)) - cache-value - (let ((value (funcall func (file-truename dir)))) - (puthash cache-key value projectile-project-root-cache) - value)))) - projectile-project-root-functions))) - ;; set cached to none so is non-nil so we don't try - ;; and look it up again - 'none)))) + (or + ;; if we've already failed to find a project dir for this + ;; dir, and cached that failure, don't recompute + (let* ((cache-key (format "projectilerootless-%s" dir)) + (cache-value (gethash cache-key projectile-project-root-cache))) + cache-value) + ;; if the file isn't local, and we're not connected, don't try to + ;; find a root now now, but don't cache failure, as we might + ;; re-connect. The `is-local' and `is-connected' variables are + ;; used to fix the behavior where Emacs hangs because of + ;; Projectile when you open a file over TRAMP. It basically + ;; prevents Projectile from trying to find information about + ;; files for which it's not possible to get that information + ;; right now. + (let ((is-local (not (file-remote-p dir))) ;; `true' if the file is local + (is-connected (file-remote-p dir nil t))) ;; `true' if the file is remote AND we are connected to the remote + (unless (or is-local is-connected) + 'none)) + ;; if the file is local or we're connected to it via TRAMP, run + ;; through the project root functions until we find a project dir + (cl-some + (lambda (func) + (let* ((cache-key (format "%s-%s" func dir)) + (cache-value (gethash cache-key projectile-project-root-cache))) + (if (and cache-value (file-exists-p cache-value)) + cache-value + (let ((value (funcall func (file-truename dir)))) + (puthash cache-key value projectile-project-root-cache) + value)))) + projectile-project-root-functions) + ;; if we get here, we have failed to find a root by all + ;; conventional means, and we assume the failure isn't transient + ;; / network related, so cache the failure + (let ((cache-key (format "projectilerootless-%s" dir))) + (puthash cache-key 'none projectile-project-root-cache) + 'none))))) (defun projectile-ensure-project (dir) "Ensure that DIR is non-nil. @@ -2261,7 +2278,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files with character -'a' in that directory is presented. +\"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting." (interactive "P") @@ -2291,7 +2308,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim-other-window' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files -with character 'a' in that directory is presented. +with character \"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting." (interactive "P") @@ -2321,7 +2338,7 @@ or the filename at point is a prefix of more than two files in a project. For example, if `projectile-find-file-dwim-other-frame' is executed on a filepath like \"projectile/\", it lists the content of that directory. If it is executed on a partial filename like \"projectile/a\", a list of files -with character 'a' in that directory is presented. +with character \"a\" in that directory is presented. - If it finds nothing, display a list of all files in project for selecting." (interactive "P") @@ -2868,7 +2885,7 @@ files such as test/impl/other files as below: (cons project-type-elt filtered-types)) ((eq precedence 'low) (append filtered-types (list project-type-elt))) - (t (error "Precendence must be one of '(high low)")))) + (t (error "Precedence must be one of '(high low)")))) (mapcar #'project-map projectile-project-types)))))) (defun projectile-cabal-project-p () @@ -3065,10 +3082,6 @@ a manual COMMAND-TYPE command is created with :compile "dotnet build" :run "dotnet run" :test "dotnet test") -(projectile-register-project-type 'go projectile-go-project-test-function - :compile "go build" - :test "go test ./..." - :test-suffix "_test") ;; File-based detection project types ;; Universal @@ -3119,6 +3132,11 @@ a manual COMMAND-TYPE command is created with :test #'projectile--cmake-test-command :install #'projectile--cmake-install-command :package "cmake --build build --target package") +;; Go should take higher precedence than Make because Go projects often have a Makefile. +(projectile-register-project-type 'go projectile-go-project-test-function + :compile "go build" + :test "go test ./..." + :test-suffix "_test") ;; PHP (projectile-register-project-type 'php-symfony '("composer.json" "app" "src" "vendor") :project-file "composer.json" @@ -3229,6 +3247,8 @@ a manual COMMAND-TYPE command is created with (projectile-register-project-type 'mill '("build.sc") :project-file "build.sc" + :src-dir "src/" + :test-dir "test/src/" :compile "mill all __.compile" :test "mill all __.test" :test-suffix "Test") @@ -3278,13 +3298,13 @@ a manual COMMAND-TYPE command is created with (projectile-register-project-type 'rails-test '("Gemfile" "app" "lib" "db" "config" "test") :project-file "Gemfile" :compile "bundle exec rails server" - :src-dir "lib/" + :src-dir "app/" :test "bundle exec rake test" :test-suffix "_test") (projectile-register-project-type 'rails-rspec '("Gemfile" "app" "lib" "db" "config" "spec") :project-file "Gemfile" :compile "bundle exec rails server" - :src-dir "lib/" + :src-dir "app/" :test "bundle exec rspec" :test-dir "spec/" :test-suffix "_spec") @@ -3780,7 +3800,7 @@ anaphora.el." (defun projectile--find-matching-test (impl-file) "Return a list of test files for IMPL-FILE. -The precendence for determining test files to return is: +The precedence for determining test files to return is: 1. Use the project type's test-dir property if it's set to a function 2. Use the project type's related-files-fn property if set @@ -3814,7 +3834,7 @@ The precendence for determining test files to return is: (defun projectile--find-matching-file (test-file) "Return a list of impl files tested by TEST-FILE. -The precendence for determining implementation files to return is: +The precedence for determining implementation files to return is: 1. Use the project type's src-dir property if it's set to a function 2. Use the project type's related-files-fn property if set @@ -4601,6 +4621,16 @@ directory to open." (make-hash-table :test 'equal) "A mapping between projects and the last run command used on them.") +(defvar projectile-project-enable-cmd-caching t + "Enables command caching for the project. Set to nil to disable. +Should be set via .dir-locals.el.") + +(defun projectile--cache-project-commands-p () + "Whether to cache project commands." + (with-temp-buffer + (hack-dir-local-variables-non-file-buffer) + projectile-project-enable-cmd-caching)) + (defvar projectile-project-configure-cmd nil "The command to use with `projectile-configure-project'. It takes precedence over the default command for the project type when set. @@ -4867,7 +4897,9 @@ The command actually run is returned." compilation-save-buffers-predicate) (when command-map (puthash default-directory command command-map) - (ring-insert (projectile--get-command-history project-root) command)) + (let ((hist (projectile--get-command-history project-root))) + (unless (string= (car-safe (ring-elements hist)) command) + (ring-insert hist command)))) (when save-buffers (save-some-buffers (not compilation-ask-about-save) (lambda () @@ -4925,8 +4957,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-configure-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-configure-cmd-map + (let ((command (projectile-configure-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-configure-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Configure command: " :save-buffers t @@ -4940,8 +4973,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-compilation-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-compilation-cmd-map + (let ((command (projectile-compilation-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-compilation-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Compile command: " :save-buffers t @@ -4955,8 +4989,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-test-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-test-cmd-map + (let ((command (projectile-test-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-test-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Test command: " :save-buffers t @@ -4970,8 +5005,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-install-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-install-cmd-map + (let ((command (projectile-install-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-install-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Install command: " :save-buffers t @@ -4985,8 +5021,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-package-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-package-cmd-map + (let ((command (projectile-package-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-package-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Package command: " :save-buffers t @@ -5000,8 +5037,9 @@ Normally you'll be prompted for a compilation command, unless variable `compilation-read-command'. You can force the prompt with a prefix ARG." (interactive "P") - (let ((command (projectile-run-command (projectile-compilation-dir)))) - (projectile--run-project-cmd command projectile-run-cmd-map + (let ((command (projectile-run-command (projectile-compilation-dir))) + (command-map (if (projectile--cache-project-commands-p) projectile-run-cmd-map))) + (projectile--run-project-cmd command command-map :show-prompt arg :prompt-prefix "Run command: " :use-comint-mode projectile-run-use-comint-mode))) diff --git a/code/elpa/python-mode-20220408.1906/python-mode-autoloads.el b/code/elpa/python-mode-20220408.1906/python-mode-autoloads.el deleted file mode 100644 index f107048..0000000 --- a/code/elpa/python-mode-20220408.1906/python-mode-autoloads.el +++ /dev/null @@ -1,107 +0,0 @@ -;;; python-mode-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "python-mode" "python-mode.el" (0 0 0 0)) -;;; Generated autoloads from python-mode.el - -(autoload 'py-backward-class-bol "python-mode" "\ -Go to beginning of ‘class’, go to BOL. -If already at beginning, go one ‘class’ backward. -Return beginning of ‘class’ if successful, nil otherwise" t nil) - -(autoload 'py-backward-def-bol "python-mode" "\ -Go to beginning of ‘def’, go to BOL. -If already at beginning, go one ‘def’ backward. -Return beginning of ‘def’ if successful, nil otherwise" t nil) - -(autoload 'py-backward-def-or-class-bol "python-mode" "\ -Go to beginning of ‘def-or-class’, go to BOL. -If already at beginning, go one ‘def-or-class’ backward. -Return beginning of ‘def-or-class’ if successful, nil otherwise" t nil) - -(autoload 'py-forward-class "python-mode" "\ -Go to end of class. - -Return end of ‘class’ if successful, nil otherwise -Optional ORIG: start position -Optional BOL: go to beginning of line following end-position - -\(fn &optional ORIG BOL)" t nil) - -(autoload 'py-forward-def "python-mode" "\ -Go to end of def. - -Return end of ‘def’ if successful, nil otherwise -Optional ORIG: start position -Optional BOL: go to beginning of line following end-position - -\(fn &optional ORIG BOL)" t nil) - -(autoload 'py-forward-def-or-class "python-mode" "\ -Go to end of def-or-class. - -Return end of ‘def-or-class’ if successful, nil otherwise -Optional ORIG: start position -Optional BOL: go to beginning of line following end-position - -\(fn &optional ORIG BOL)" t nil) - -(autoload 'py-auto-completion-mode "python-mode" "\ -Run auto-completion - -\(fn)" t nil) - -(autoload 'python-mode "python-mode" "\ -Major mode for editing Python files. - -To submit a report, enter `\\[py-submit-bug-report]' -from a`python-mode' buffer. -Do `\\[py-describe-mode]' for detailed documentation. -To see what version of `python-mode' you are running, -enter `\\[py-version]'. - -This mode knows about Python indentation, -tokens, comments (and continuation lines. -Paragraphs are separated by blank lines only. - -COMMANDS - -`py-shell' Start an interactive Python interpreter in another window -`py-execute-statement' Send statement at point to Python default interpreter -`py-backward-statement' Go to the initial line of a simple statement - -etc. - -See available commands listed in files commands-python-mode at directory doc - -VARIABLES - -`py-indent-offset' indentation increment -`py-shell-name' shell command to invoke Python interpreter -`py-split-window-on-execute' When non-nil split windows -`py-switch-buffers-on-execute-p' When non-nil switch to the Python output buffer - -\\{python-mode-map} - -\(fn)" t nil) - -(register-definition-prefixes "python-mode" '("all-mode-setting" "autopair-mode" "flake8" "force-py-shell-name-p-o" "highlight-indent-active" "hs-hide-comments-when-hiding-all" "info-lookup-mode" "ipython" "iypthon" "jython" "pdb-track-stack-from-shell-p" "pep8" "pst-here" "stri" "toggle-force-py-shell-name-p" "turn-o" "virtualenv-")) - -;;;*** - -;;;### (autoloads nil nil ("python-mode-pkg.el") (0 0 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; python-mode-autoloads.el ends here diff --git a/code/elpa/python-mode-20220408.1906/completion/pycomplete.el b/code/elpa/python-mode-20220726.1741/completion/pycomplete.el similarity index 100% rename from code/elpa/python-mode-20220408.1906/completion/pycomplete.el rename to code/elpa/python-mode-20220726.1741/completion/pycomplete.el diff --git a/code/elpa/python-mode-20220408.1906/completion/pycomplete.py b/code/elpa/python-mode-20220726.1741/completion/pycomplete.py similarity index 100% rename from code/elpa/python-mode-20220408.1906/completion/pycomplete.py rename to code/elpa/python-mode-20220726.1741/completion/pycomplete.py diff --git a/code/elpa/python-mode-20220726.1741/python-mode-autoloads.el b/code/elpa/python-mode-20220726.1741/python-mode-autoloads.el new file mode 100644 index 0000000..2dbedda --- /dev/null +++ b/code/elpa/python-mode-20220726.1741/python-mode-autoloads.el @@ -0,0 +1,41 @@ +;;; python-mode-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- +;; +;;; Code: + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + + +;;;### (autoloads nil "python-mode" "python-mode.el" (0 0 0 0)) +;;; Generated autoloads from python-mode.el + +(autoload 'py-backward-class-bol "python-mode" "\ +Go to beginning of `class', go to BOL. +If already at beginning, go one `class' backward. +Return beginning of `class' if successful, nil otherwise" t nil) + +(autoload 'py-backward-def-bol "python-mode" "\ +Go to beginning of `def', go to BOL. +If already at beginning, go one `def' backward. +Return beginning of `def' if successful, nil otherwise" t nil) + +(autoload 'py-backward-def-or-class-bol "python-mode" "\ +Go to beginning of `def-or-class', go to BOL. +If already at beginning, go one `def-or-class' backward. +Return beginning of `def-or-class' if successful, nil otherwise" t nil) + +(register-definition-prefixes "python-mode" '("all-mode-setting" "autopair-mode" "flake8" "force-py-shell-name-p-o" "highlight-indent-active" "hs-hide-comments-when-hiding-all" "info-lookup-mode" "ipython" "isympy3" "iypthon" "jython" "pdb-track-stack-from-shell-p" "pep8" "pst-here" "stri" "toggle-force-py-shell-name-p" "turn-o" "virtualenv-")) + +;;;*** + +;;;### (autoloads nil nil ("python-mode-pkg.el") (0 0 0 0)) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; coding: utf-8 +;; End: +;;; python-mode-autoloads.el ends here diff --git a/code/elpa/python-mode-20220408.1906/python-mode-pkg.el b/code/elpa/python-mode-20220726.1741/python-mode-pkg.el similarity index 75% rename from code/elpa/python-mode-20220408.1906/python-mode-pkg.el rename to code/elpa/python-mode-20220726.1741/python-mode-pkg.el index d19f54d..2ac5456 100644 --- a/code/elpa/python-mode-20220408.1906/python-mode-pkg.el +++ b/code/elpa/python-mode-20220726.1741/python-mode-pkg.el @@ -1,4 +1,4 @@ -(define-package "python-mode" "20220408.1906" "Python major mode" 'nil :commit "ee956c6a6c5aacf3cc32479eed9f84ccc5aec7dd" :authors +(define-package "python-mode" "20220726.1741" "Python major mode" 'nil :commit "23f8f55d3e5ce34b19f74c78928a43914df38696" :authors '(("2015-2021 https://gitlab.com/groups/python-mode-devs") ("2003-2014 https://launchpad.net/python-mode") ("1995-2002 Barry A. Warsaw") diff --git a/code/elpa/python-mode-20220408.1906/python-mode.el b/code/elpa/python-mode-20220726.1741/python-mode.el similarity index 78% rename from code/elpa/python-mode-20220408.1906/python-mode.el rename to code/elpa/python-mode-20220726.1741/python-mode.el index e432ddc..d42b1fa 100644 --- a/code/elpa/python-mode-20220408.1906/python-mode.el +++ b/code/elpa/python-mode-20220726.1741/python-mode.el @@ -83,6 +83,12 @@ (require 'tramp) (require 'tramp-sh) (require 'org-loaddefs) +(unless (functionp 'mapcan) + (require 'cl-extra) + ;; mapcan doesn't exist in Emacs 25 + (defalias 'mapcan 'cl-mapcan) + ) + ;; (require 'org) (defgroup python-mode nil @@ -214,7 +220,7 @@ Results arrive in output buffer, which is not in comint-mode" :group 'python-mode) (defcustom py-shift-require-transient-mark-mode-p t - "If py-shift commands require variable ‘transient-mark-mode’ set to t. + "If py-shift commands require variable `transient-mark-mode' set to t. Default is t" @@ -224,7 +230,7 @@ Default is t" :safe 'booleanp) (defvar py-fast-output-buffer "*Python Fast*" - "Internally used. ‘buffer-name’ for fast-processes.") + "Internally used. `buffer-name' for fast-processes.") (defvar py-this-result nil "Internally used, store return-value.") @@ -244,9 +250,9 @@ Defaut is nil" :safe 'booleanp) (defcustom py-sexp-use-expression-p nil - "If non-nil, ‘forward-sexp’ will call ‘py-forward-expression’. + "If non-nil, `forward-sexp' will call `py-forward-expression'. -Respective ‘backward-sexp’ will call ‘py-backward-expression’ +Respective `backward-sexp' will call `py-backward-expression' Default is t" :type 'boolean :tag "py-sexp-use-expression-p" @@ -264,10 +270,10 @@ Default is t" :safe 'booleanp) (defvar py-chars-before " \t\n\r\f" - "Used by ‘py--string-strip’.") + "Used by `py--string-strip'.") (defvar py-chars-after " \t\n\r\f" - "Used by ‘py--string-strip’.") + "Used by `py--string-strip'.") (unless (functionp 'file-local-name) (defun file-local-name (file) @@ -297,7 +303,7 @@ Return nil otherwise. " ;; (setq strip-chars-before "[ \t\r\n]*") (defun py--string-strip (str &optional chars-before chars-after) "Return a copy of STR, CHARS removed. -‘CHARS-BEFORE’ and ‘CHARS-AFTER’ default is \"[ \t\r\n]*\", +`CHARS-BEFORE' and `CHARS-AFTER' default is \"[ \t\r\n]*\", i.e. spaces, tabs, carriage returns, newlines and newpages." (let ((s-c-b (or chars-before py-chars-before)) @@ -309,7 +315,7 @@ i.e. spaces, tabs, carriage returns, newlines and newpages." erg)) (defun py-toggle-session-p (&optional arg) - "Switch boolean variable ‘py-session-p’. + "Switch boolean variable `py-session-p'. With optional ARG message state switched to" (interactive "p") @@ -319,7 +325,7 @@ With optional ARG message state switched to" (defcustom py-max-help-buffer-p nil "If \"\*Python-Help\*\"-buffer should appear as the only visible. -Default is nil. In ‘help-buffer’, \"q\" will close it." +Default is nil. In `help-buffer', \"q\" will close it." :type 'boolean :tag "py-max-help-buffer-p" @@ -384,7 +390,7 @@ dedicated process is re-used instead of default :group 'python-mode) (defcustom py-store-result-p nil - "Put resulting string of `py-execute-...' into ‘kill-ring’. + "Put resulting string of `py-execute-...' into `kill-ring'. Default is nil" @@ -403,7 +409,7 @@ Imports will use it with nil. Default is nil") (defun py-toggle-py-return-result-p () - "Toggle value of ‘py-return-result-p’." + "Toggle value of `py-return-result-p'." (interactive) (setq py-return-result-p (not py-return-result-p)) (when (called-interactively-p 'interactive) (message "py-return-result-p: %s" py-return-result-p))) @@ -423,7 +429,7 @@ Default is nil") (defvar py-new-session-p t "Internally used. See lp:1393882. -Restart ‘py-shell’ once with new Emacs/‘python-mode’.") +Restart `py-shell' once with new Emacs/`python-mode'.") (defcustom py-electric-close-active-p nil "Close completion buffer if no longer needed. @@ -444,7 +450,7 @@ Default is nil" (defcustom py-load-skeletons-p nil "If skeleton definitions should be loaded, default is nil. -If non-nil and variable ‘abbrev-mode’ on, block-skeletons will inserted. +If non-nil and variable `abbrev-mode' on, block-skeletons will inserted. Pressing \"if\" for example will prompt for the if-condition." :type 'boolean @@ -487,7 +493,7 @@ Default is nil." :group 'python-mode) (defcustom py-auto-fill-mode nil - "If ‘python-mode’ should set ‘fill-column’. + "If `python-mode' should set `fill-column'. according to values in `py-comment-fill-column' and `py-docstring-fill-column'. @@ -505,7 +511,7 @@ Default is nil" :group 'python-mode) (defcustom py-fast-completion-delay 0.1 - "Used by ‘py-fast-send-string’." + "Used by `py-fast-send-string'." :type 'float :tag "py-fast-completion-delay" @@ -566,9 +572,9 @@ Might not be TRT when a lot of output arrives" (defcustom py-modeline-display-full-path-p nil "If the full PATH/TO/PYTHON be in modeline. -Default is nil. Note: when ‘py-python-command’ is +Default is nil. Note: when `py-python-command' is specified with path, it's shown as an acronym in -‘buffer-name’ already." +`buffer-name' already." :type 'boolean :tag "py-modeline-display-full-path-p" @@ -583,7 +589,7 @@ Default is nil" :group 'python-mode) (defun py-autopair-check () - "Check, if ‘autopair-mode’ is available. + "Check, if `autopair-mode' is available. Give some hints, if not." (interactive) @@ -613,7 +619,7 @@ Give some hints, if not." (defvar py-result nil "Internally used. May store result from Python process. -See var ‘py-return-result-p’ and command ‘py-toggle-py-return-result-p’") +See var `py-return-result-p' and command `py-toggle-py-return-result-p'") (defvar py-error nil "Takes the error-messages from Python process.") @@ -632,7 +638,7 @@ See var ‘py-return-result-p’ and command ‘py-toggle-py-return-result-p’" :group 'python-mode) (defcustom py-autopair-mode nil - "If ‘python-mode’ calls (autopair-mode-on) + "If `python-mode' calls (autopair-mode-on) Default is nil Load `autopair-mode' written by Joao Tavora @@ -657,7 +663,7 @@ Default is nil" :group 'python-mode) (defvar py-last-position nil - "Used by ‘py-help-at-point’. + "Used by `py-help-at-point'. Avoid repeated call at identic pos.") @@ -679,7 +685,7 @@ Avoid repeated call at identic pos.") See `py-auto-completion-mode'") (defcustom py-auto-complete-p nil - "Run python-mode's built-in auto-completion via ‘py-complete-function’. + "Run python-mode's built-in auto-completion via `py-complete-function'. Default is nil." @@ -698,7 +704,7 @@ See also `py-tab-indents-region-p'" :group 'python-mode) (defcustom py-tab-indents-region-p nil - "When t and first TAB doesn't shift, ‘indent-region’ is called. + "When t and first TAB doesn't shift, `indent-region' is called. Default is nil See also `py-tab-shifts-region-p'" @@ -708,7 +714,7 @@ See also `py-tab-shifts-region-p'" :group 'python-mode) (defcustom py-block-comment-prefix-p t - "If py-comment inserts ‘py-block-comment-prefix’. + "If py-comment inserts `py-block-comment-prefix'. Default is t" @@ -801,23 +807,33 @@ Default is t - keep relative position." (defcustom py-indent-list-style 'line-up-with-first-element "Sets the basic indentation style of lists. +The term ‘list’ here is seen from Emacs Lisp editing purpose. +A list symbolic expression means everything delimited by +brackets, parentheses or braces. + Setting here might be ignored in case of canonical indent. -‘line-up-with-first-element’ indents to 1+ column +`line-up-with-first-element' indents to 1+ column of opening delimiter def foo (a, b): -‘one-level-to-beginning-of-statement’ adds -‘py-indent-offset’ to beginning +but ‘one-level-to-beginning-of-statement’ in case of EOL at list-start + +def foo ( + a, + b): + +`one-level-to-beginning-of-statement' adds +`py-indent-offset' to beginning def long_function_name( var_one, var_two, var_three, var_four): print(var_one) -‘one-level-from-first-element’ adds ‘py-indent-offset’ from first element +`one-level-from-first-element' adds `py-indent-offset' from first element def foo(): if (foo && baz): @@ -825,13 +841,14 @@ def foo(): :type '(choice (const :tag "line-up-with-first-element" line-up-with-first-element) (const :tag "one-level-to-beginning-of-statement" one-level-to-beginning-of-statement) - (const :tag "one-level-from-first-element" one-level-from-first-element)) + (const :tag "one-level-from-first-element" one-level-from-first-element) + ) :tag "py-indent-list-style" :group 'python-mode) (make-variable-buffer-local 'py-indent-list-style) (defcustom py-closing-list-dedents-bos nil - "When non-nil, indent list's closing delimiter like start-column. + "When non-nil, indent lists closing delimiter like start-column. It will be lined up under the first character of the line that starts the multi-line construct, as in: @@ -842,8 +859,8 @@ my_list = [ ] result = some_function_that_takes_arguments( - 'a', 'b', 'c', - 'd', 'e', 'f' + \\='a\\=', \\='b\\=', \\='c\\=', + \\='d\\=', \\='e\\=', \\='f\\=' ) Default is nil, i.e. @@ -852,9 +869,10 @@ my_list = [ 1, 2, 3, 4, 5, 6 ] + result = some_function_that_takes_arguments( - 'a', 'b', 'c', - 'd', 'e', 'f' + \\='a\\=', \\='b\\=', \\='c\\=', + \\='d\\=', \\='e\\=', \\='f\\=' ) Examples from PEP8 @@ -879,8 +897,8 @@ URL: https://www.python.org/dev/peps/pep-0008/#indentation" (defcustom py-max-specpdl-size 99 "Heuristic exit. e -Limiting number of recursive calls by ‘py-forward-statement’ and related. -Default is ‘max-specpdl-size’. +Limiting number of recursive calls by `py-forward-statement' and related. +Default is `max-specpdl-size'. This threshold is just an approximation. It might set far higher maybe. @@ -901,27 +919,6 @@ Default is nil." :tag "py-closing-list-keeps-space" :group 'python-mode) -(defcustom py-electric-kill-backward-p nil - "Affects `py-electric-backspace'. Default is nil. - -If behind a delimited form of braces, brackets or parentheses, -backspace will kill it's contents - -With when cursor after -my_string[0:1] ---------------^ - -==> - -my_string[] -----------^ - -In result cursor is insided emptied delimited form." - - :type 'boolean - :tag "py-electric-kill-backward-p" - :group 'python-mode) - (defcustom py-electric-colon-active-p nil "`py-electric-colon' feature. @@ -950,7 +947,7 @@ Default is nil" :group 'python-mode) (defcustom py-electric-colon-greedy-p nil - "If ‘py-electric-colon’ should indent to the outmost reasonable level. + "If `py-electric-colon' should indent to the outmost reasonable level. If nil, default, it will not move from at any reasonable level." :type 'boolean @@ -972,7 +969,7 @@ Default is nil." :group 'python-mode) (defcustom py-electric-comment-add-space-p nil - "If ‘py-electric-comment’ should add a space. Default is nil." + "If `py-electric-comment' should add a space. Default is nil." :type 'boolean :tag "py-electric-comment-add-space-p" :group 'python-mode) @@ -988,14 +985,14 @@ Also used by navigation" :group 'python-mode) (defcustom py-defun-use-top-level-p nil - "If ‘beginning-of-defun’, ‘end-of-defun’ calls function ‘top-level’ form. + "If `beginning-of-defun', `end-of-defun' calls function `top-level' form. Default is nil. -beginning-of defun, ‘end-of-defun’ forms use +beginning-of defun, `end-of-defun' forms use commands `py-backward-top-level', `py-forward-top-level' -‘mark-defun’ marks function ‘top-level’ form at point etc." +`mark-defun' marks function `top-level' form at point etc." :type 'boolean :tag "py-defun-use-top-level-p" @@ -1023,7 +1020,7 @@ commands `py-backward-top-level', `py-forward-top-level' "When set, enforces function todo completion, default is `py-fast-complete'. Might not affect IPython, as `py-shell-complete' is the only known working here. -Normally ‘python-mode’ knows best which function to use." +Normally `python-mode' knows best which function to use." :type '(choice (const :tag "default" nil) @@ -1050,7 +1047,7 @@ Normally ‘python-mode’ knows best which function to use." (defcustom py-flake8-command "" "Which command to call flake8. -If empty, ‘python-mode’ will guess some" +If empty, `python-mode' will guess some" :type 'string :tag "py-flake8-command" :group 'python-mode) @@ -1064,7 +1061,7 @@ Default is the empty string." :group 'python-mode) (defvar py-flake8-history nil - "Used by flake8, resp. ‘py-flake8-command’. + "Used by flake8, resp. `py-flake8-command'. Default is nil.") @@ -1307,7 +1304,7 @@ Edit for your needs." "pypy" ) "A list of shells for finer grained commands. -like ‘py-execute-statement-ipython’ +like `py-execute-statement-ipython' Expects its executables installed Edit for your needs." @@ -1316,7 +1313,7 @@ Edit for your needs." :group 'python-mode) (defun py-install-named-shells-fix-doc (ele) - "Internally used by ‘py-load-named-shells’. + "Internally used by `py-load-named-shells'. Argument ELE: a shell name, a string." (cond ((string-match "^i" ele) @@ -1357,7 +1354,7 @@ Before returning to previous position." (defcustom py-python-send-delay 1 "Seconds to wait for output, used by `py--send-...' functions. -See also ‘py-ipython-send-delay’" +See also `py-ipython-send-delay'" :type 'number :tag "py-python-send-delay" @@ -1366,7 +1363,7 @@ See also ‘py-ipython-send-delay’" (defcustom py-python3-send-delay 1 "Seconds to wait for output, used by `py--send-...' functions. -See also ‘py-ipython-send-delay’" +See also `py-ipython-send-delay'" :type 'number :tag "py-python3-send-delay" @@ -1375,7 +1372,7 @@ See also ‘py-ipython-send-delay’" (defcustom py-ipython-send-delay 1 "Seconds to wait for output, used by `py--send-...' functions. -See also ‘py-python-send-delay’" +See also `py-python-send-delay'" :type 'number :tag "py-ipython-send-delay" @@ -1553,7 +1550,7 @@ It should not contain a caret (^) at the beginning.") "\\|") "\\)") "Internally used by `py-fast-filter'. -‘ansi-color-filter-apply’ might return +`ansi-color-filter-apply' might return Result: \"\\nIn [10]: ....: ....: ....: 1\\n\\nIn [11]: \"") (defvar py-fast-filter-re @@ -1572,7 +1569,7 @@ Result: \"\\nIn [10]: ....: ....: ....: 1\\n\\nIn [11]: \"") "\\|") "\\)") "Internally used by `py-fast-filter'. -‘ansi-color-filter-apply’ might return +`ansi-color-filter-apply' might return Result: \"\\nIn [10]: ....: ....: ....: 1\\n\\nIn [11]: \"") (defcustom py-shell-prompt-detect-p nil @@ -1611,7 +1608,7 @@ Setting this variable will only effect new shells." "When non-nil ipython-history file is constructed by $IPYTHONDIR. Default is nil. -Otherwise value of ‘py-ipython-history’ is used." +Otherwise value of `py-ipython-history' is used." :type 'boolean :tag "py-honor-IPYTHONDIR-p" :group 'python-mode) @@ -1619,7 +1616,7 @@ Otherwise value of ‘py-ipython-history’ is used." (defcustom py-ipython-history "~/.ipython/history" "Ipython-history default file. -Used when ‘py-honor-IPYTHONDIR-p’ is nil - th default" +Used when `py-honor-IPYTHONDIR-p' is nil - th default" :type 'string :tag "py-ipython-history" @@ -1629,7 +1626,7 @@ Used when ‘py-honor-IPYTHONDIR-p’ is nil - th default" "When non-nil python-history file is set by $PYTHONHISTORY. Default is nil. -Otherwise value of ‘py-python-history’ is used." +Otherwise value of `py-python-history' is used." :type 'boolean :tag "py-honor-PYTHONHISTORY-p" :group 'python-mode) @@ -1637,7 +1634,7 @@ Otherwise value of ‘py-python-history’ is used." (defcustom py-python-history "~/.python_history" "Python-history default file. -Used when ‘py-honor-PYTHONHISTORY-p’ is nil (default)." +Used when `py-honor-PYTHONHISTORY-p' is nil (default)." :type 'string :tag "py-python-history" @@ -1659,13 +1656,13 @@ over setting here." "When non-nil split windows. Default is just-two - when code is send to interpreter. -Splits screen into source-code buffer and current ‘py-shell’ result. +Splits screen into source-code buffer and current `py-shell' result. Other buffer will be hidden that way. -When set to t, ‘python-mode’ tries to reuse existing windows +When set to t, `python-mode' tries to reuse existing windows and will split only if needed. -With 'always, results will displayed in a new window. +With \\='always, results will displayed in a new window. Both t and `always' is experimental still. @@ -1673,7 +1670,7 @@ For the moment: If a multitude of python-shells/buffers should be visible, open them manually and set `py-keep-windows-configuration' to t. See also `py-keep-windows-configuration'" - :type '(choice + :type `(choice (const :tag "default" just-two) (const :tag "reuse" t) (const :tag "no split" nil) @@ -1952,7 +1949,7 @@ Default ignores all inputs of 0, 1, or 2 non-blank characters.") (defcustom py-match-paren-mode nil "Non-nil means, cursor will jump to beginning or end of a block. This vice versa, to beginning first. -Sets `py-match-paren-key' in ‘python-mode-map’. +Sets `py-match-paren-key' in `python-mode-map'. Customize `py-match-paren-key' which key to use." :type 'boolean :tag "py-match-paren-mode" @@ -1970,7 +1967,7 @@ However, this string should not end in whitespace." :group 'python-mode) (defcustom py-kill-empty-line t - "If t, ‘py-indent-forward-line’ kills empty lines." + "If t, `py-indent-forward-line' kills empty lines." :type 'boolean :tag "py-kill-empty-line" :group 'python-mode) @@ -1983,7 +1980,7 @@ When non-nil, arguments are printed." :group 'python-mode) (defcustom py-use-local-default nil - "If t, ‘py-shell’ will use `py-shell-local-path'. + "If t, `py-shell' will use `py-shell-local-path'. Alternative to default Python. @@ -2023,17 +2020,17 @@ This might fail with certain chars - see UnicodeEncodeError lp:550661" :group 'python-mode) (defun py-toggle-python-mode-v5-behavior () - "Switch the values of ‘python-mode-v5-behavior-p’." + "Switch the values of `python-mode-v5-behavior-p'." (interactive) (setq python-mode-v5-behavior-p (not python-mode-v5-behavior-p)) (when (called-interactively-p 'interactive) (message "python-mode-v5-behavior-p: %s" python-mode-v5-behavior-p))) (defun py-toggle-py-verbose-p () - "Switch the values of ‘py-verbose-p’. + "Switch the values of `py-verbose-p'. Default is nil. -If on, messages value of ‘py-result’ for instance." +If on, messages value of `py-result' for instance." (interactive) (setq py-verbose-p (not py-verbose-p)) (when (called-interactively-p 'interactive) @@ -2042,8 +2039,8 @@ If on, messages value of ‘py-result’ for instance." (defcustom py-trailing-whitespace-smart-delete-p nil "Default is nil. -When t, ‘python-mode’ calls -\(add-hook 'before-save-hook 'delete-trailing-whitespace nil 'local) +When t, `python-mode' calls +\(add-hook \\='before-save-hook \\='delete-trailing-whitespace nil \\='local) Also commands may delete trailing whitespace by the way. When editing other peoples code, this may produce a larger diff than expected" @@ -2068,7 +2065,7 @@ WRT previous Python-mode sessions. See also lp:987534." :group 'python-mode) (defcustom py-complete-ac-sources '(ac-source-pycomplete) - "List of ‘auto-complete’ sources assigned to `ac-sources'. + "List of `auto-complete' sources assigned to `ac-sources'. In `py-complete-initialize'. @@ -2076,8 +2073,8 @@ Default is known to work an Ubuntu 14.10 - having python- mode, pymacs and auto-complete-el, with the following minimal Emacs initialization: -\(require 'pymacs) -\(require 'auto-complete-config) +\(require \\='pymacs) +\(require \\='auto-complete-config) \(ac-config-default)" :type 'hook :tag "py-complete-ac-sources" @@ -2301,7 +2298,7 @@ When `py-use-current-dir-when-execute-p' is non-nil and no buffer-file exists." :group 'python-mode) ;; (defvar py-this-abbrevs-changed nil -;; "Internally used by ‘python-mode-hook’.") +;; "Internally used by `python-mode-hook'.") (defvar py-buffer-name nil "Internal use. @@ -2318,7 +2315,7 @@ The buffer last output was sent to.") See lp:1239498 To suppres window-changes due to error-signaling also. -Set `py-keep-windows-configuration' onto 'force +Set `py-keep-windows-configuration' onto \\'force Default is nil" @@ -2330,14 +2327,14 @@ Default is nil" :group 'python-mode) (defvar py-output-buffer "*Python Output*" - "Used if ‘python-mode-v5-behavior-p’ is t. + "Used if `python-mode-v5-behavior-p' is t. Otherwise output buffer is created dynamically according to version process.") (defcustom py-force-default-output-buffer-p nil - "Enforce sending output to the default output ‘buffer-name’. + "Enforce sending output to the default output `buffer-name'. -Set by defvar ‘py-output-buffer’ +Set by defvar `py-output-buffer' Bug #31 - wrong fontification caused by string-delimiters in output" :type 'boolean @@ -2423,9 +2420,9 @@ Do not set this variable directly, instead use "Calculated input prompt regexp for inferior python shell. Do not set this variable directly. -Iff ‘py-shell--prompt-calculated-input-regexp’ -or ‘py-shell--prompt-calculated-output-regexp’ are set -‘py-shell-prompt-set-calculated-regexps’ isn't run.") +Iff `py-shell--prompt-calculated-input-regexp' +or `py-shell--prompt-calculated-output-regexp' are set +`py-shell-prompt-set-calculated-regexps' isn't run.") (defvar py-shell--prompt-calculated-output-regexp nil "Calculated output prompt regexp for inferior python shell. @@ -2433,9 +2430,9 @@ or ‘py-shell--prompt-calculated-output-regexp’ are set `py-shell-prompt-set-calculated-regexps' Do not set this variable directly. -Iff ‘py-shell--prompt-calculated-input-regexp’ -or ‘py-shell--prompt-calculated-output-regexp’ are set -‘py-shell-prompt-set-calculated-regexps’ isn't run.") +Iff `py-shell--prompt-calculated-input-regexp' +or `py-shell--prompt-calculated-output-regexp' are set +`py-shell-prompt-set-calculated-regexps' isn't run.") (defvar py-shell-prompt-output-regexp "" "See `py-shell-prompt-output-regexps'.") @@ -2449,7 +2446,7 @@ or ‘py-shell--prompt-calculated-output-regexp’ are set (defvar py-underscore-word-syntax-p t "This is set later by defcustom, only initial value here. -If underscore chars should be of ‘syntax-class’ `word', not of `symbol'. +If underscore chars should be of `syntax-class' `word', not of `symbol'. Underscores in word-class makes `forward-word'. Travels the indentifiers. Default is t. See also command `py-toggle-underscore-word-syntax-p'") @@ -2464,7 +2461,7 @@ See also command `py-toggle-underscore-word-syntax-p'") (ignore-errors (string-match "python-mode.el" (py--buffer-filename-remote-maybe)))) "python-mode.el" "python-components-mode") - "Internally used. Reports the ‘python-mode’ branch.") + "Internally used. Reports the `python-mode' branch.") ;; defvared value isn't updated maybe (setq python-mode-message-string @@ -2509,10 +2506,10 @@ Syntax or has word syntax and isn't a letter.") (defvar py-ipython-completion-command-string nil "Select command according to IPython version. -Either ‘py-ipython0.10-completion-command-string’ -or ‘py-ipython0.11-completion-command-string’. +Either `py-ipython0.10-completion-command-string' +or `py-ipython0.11-completion-command-string'. -‘py-ipython0.11-completion-command-string’ also covers version 0.12") +`py-ipython0.11-completion-command-string' also covers version 0.12") (defvar py-ipython0.10-completion-command-string "print(';'.join(__IP.Completer.all_completions('%s'))) #PYTHON-MODE SILENT\n" @@ -2603,7 +2600,7 @@ For normal operation, leave it set to nil, its default. Defined with a defvar form to allow testing the loading of new versions.") (defun py-toggle-py-debug-p () - "Toggle value of ‘py-debug-p’." + "Toggle value of `py-debug-p'." (interactive) (setq py-debug-p (not py-debug-p)) (when (called-interactively-p 'interactive) (message "py-debug-p: %s" py-debug-p))) @@ -2635,7 +2632,7 @@ Set TAB accordingly." (defvar py-last-window-configuration nil "Internal use. -Restore ‘py-restore-window-configuration’.") +Restore `py-restore-window-configuration'.") (defvar py-exception-buffer nil "Will be set internally. @@ -2650,30 +2647,30 @@ Remember source buffer where error might occur.") ;; (setq py-labelled-re "[ \\t]*:[[:graph:]]+") (defvar py-expression-skip-regexp "[^ (=:#\t\r\n\f]" - "Expression possibly composing a ‘py-expression’.") + "Expression possibly composing a `py-expression'.") (defvar py-expression-skip-chars "^ (=#\t\r\n\f" - "Chars composing a ‘py-expression’.") + "Chars composing a `py-expression'.") (setq py-expression-skip-chars "^ [{(=#\t\r\n\f") (defvar py-expression-re "[^ =#\t\r\n\f]+" - "Expression possibly composing a ‘py-expression’.") + "Expression possibly composing a `py-expression'.") (defcustom py-paragraph-re paragraph-start - "Allow Python specific ‘paragraph-start’ var." + "Allow Python specific `paragraph-start' var." :type 'string :tag "py-paragraph-re" :group 'python-mode) (defvar py-not-expression-regexp "[ .=#\t\r\n\f)]+" - "Regexp indicated probably will not compose a ‘py-expression’.") + "Regexp indicated probably will not compose a `py-expression'.") (defvar py-not-expression-chars " #\t\r\n\f" - "Chars indicated probably will not compose a ‘py-expression’.") + "Chars indicated probably will not compose a `py-expression'.") (defvar py-partial-expression-backward-chars "^] .=,\"'()[{}:#\t\r\n\f" - "Chars indicated possibly compose a ‘py-partial-expression’, skip it.") + "Chars indicated possibly compose a `py-partial-expression', skip it.") ;; (setq py-partial-expression-backward-chars "^] .=,\"'()[{}:#\t\r\n\f") (defvar py-partial-expression-forward-chars "^ .\"')}]:#\t\r\n\f") @@ -2698,11 +2695,11 @@ See also `py-assignment-re'") "Delimiting elements of lists or other programming constructs.") (defvar py-line-number-offset 0 - "When an exception occurs as a result of ‘py-execute-region’. + "When an exception occurs as a result of `py-execute-region'. -A subsequent ‘py-up-exception’ needs the line number where the region +A subsequent `py-up-exception' needs the line number where the region started, in order to jump to the correct file line. -This variable is set in ‘py-execute-region’ and used in ‘py--jump-to-exception’.") +This variable is set in `py-execute-region' and used in `py--jump-to-exception'.") (defvar py-match-paren-no-use-syntax-pps nil) @@ -2767,7 +2764,7 @@ Currently-active file is at the head of the list.") Updated on each expansion.") (defvar-local py-already-guessed-indent-offset nil - "Internal use by ‘py-indent-line’. + "Internal use by `py-indent-line'. When `this-command' is `eq' to `last-command', use the guess already computed.") @@ -2814,12 +2811,13 @@ for options to pass to the DOCNAME interpreter. \" (defcustom py-outdent-re-raw (list + "case" "elif" "else" "except" "finally" ) - "Used by ‘py-outdent-re’." + "Used by `py-outdent-re'." :type '(repeat string) :tag "py-outdent-re-raw" :group 'python-mode @@ -2840,7 +2838,7 @@ for options to pass to the DOCNAME interpreter. \" "pass" "raise" "return") - "Uused by ‘py-no-outdent-re’." + "Uused by `py-no-outdent-re'." :type '(repeat string) :tag "py-no-outdent-re-raw" :group 'python-mode) @@ -2852,7 +2850,7 @@ for options to pass to the DOCNAME interpreter. \" "[)\t]*$") "Regular expression matching lines not to augment indent after. -See ‘py-no-outdent-re-raw’ for better readable content") +See `py-no-outdent-re-raw' for better readable content") (defconst py-assignment-re "\\(\\_<\\w+\\_>[[:alnum:]:, \t]*[ \t]*\\)\\(=\\|+=\\|*=\\|%=\\|&=\\|^=\\|<<=\\|-=\\|/=\\|**=\\||=\\|>>=\\|//=\\)\\(.*\\)" "If looking at the beginning of an assignment.") @@ -2869,11 +2867,10 @@ See ‘py-no-outdent-re-raw’ for better readable content") "def" "for" "if" + "match" "try" "while" "with" - "match" - "case" ) "Matches the beginning of a compound statement but not it's clause." :type '(repeat string) @@ -2890,13 +2887,15 @@ See ‘py-no-outdent-re-raw’ for better readable content") (defconst py-minor-block-re-raw (list "async for" "async with" + "case" "except" "for" "if" + "match" "try" "with" ) - "Matches the beginning of an `for', `if', `try', `except' or `with' block.") + "Matches the beginning of an case `for', `if', `try', `except' or `with' block.") (defconst py-minor-block-re (concat @@ -2906,11 +2905,17 @@ See ‘py-no-outdent-re-raw’ for better readable content") "Regular expression matching lines not to augment indent after. -See ‘py-minor-block-re-raw’ for better readable content") +See `py-minor-block-re-raw' for better readable content") (defconst py-try-re "[ \t]*\\_[: \n\t]" "Matches the beginning of a `try' block.") +(defconst py-case-re "[ \t]*\\_[: \t][^:]*:" + "Matches a `case' clause.") + +(defconst py-match-re "[ \t]*\\_[: \t][^:]*:" + "Matches a `case' clause.") + (defconst py-for-re "[ \t]*\\_<\\(async for\\|for\\)\\_> +[[:alpha:]_][[:alnum:]_]* +in +[[:alpha:]_][[:alnum:]_()]* *[: \n\t]" "Matches the beginning of a `try' block.") @@ -2970,7 +2975,7 @@ Second group grabs the name") "[ \t]*" (regexp-opt py-block-or-clause-re-raw 'symbols) "[( \t]*.*:?") - "See ‘py-block-or-clause-re-raw’, which it reads.") + "See `py-block-or-clause-re-raw', which it reads.") (defcustom py-extended-block-or-clause-re-raw (list @@ -3001,7 +3006,7 @@ Second group grabs the name") "[ \t]*" (regexp-opt py-extended-block-or-clause-re-raw 'symbols) "[( \t:]+") - "See ‘py-block-or-clause-re-raw’, which it reads.") + "See `py-block-or-clause-re-raw', which it reads.") (defun py--arglist-indent (nesting &optional indent-offset) "Internally used by `py-compute-indentation'" @@ -3020,6 +3025,7 @@ Second group grabs the name") (defcustom py-minor-clause-re-raw (list + "case" "elif" "else" "except" @@ -3035,7 +3041,7 @@ Second group grabs the name") "[ \t]*" (regexp-opt py-minor-clause-re-raw 'symbols) "[( \t]*.*:") - "See ‘py-minor-clause-re-raw’, which it reads.") + "See `py-minor-clause-re-raw', which it reads.") (defcustom py-top-level-re (concat @@ -3137,7 +3143,7 @@ Used for syntactic keywords. N is the match number (1, 2 or 3)." (6 (py--quote-syntax 1) t t)))) (defconst py--windows-config-register 313465889 - "Internal used by ‘window-configuration-to-register’.") + "Internal used by `window-configuration-to-register'.") (put 'py-indent-offset 'safe-local-variable 'integerp) @@ -3161,14 +3167,14 @@ Default is nil" "If t, track source from shell-buffer. Default is t. -Add hook 'comint-output-filter-functions 'py--pdbtrack-track-stack-file" +Add hook \\='comint-output-filter-functions \\='py--pdbtrack-track-stack-file" :type 'boolean :tag "pdb-track-stack-from-shell-p" :group 'python-mode) (defcustom py-update-gud-pdb-history-p t - "If pdb should provide suggestions WRT file to check and ‘py-pdb-path’. + "If pdb should provide suggestions WRT file to check and `py-pdb-path'. Default is t See lp:963253" @@ -3230,7 +3236,7 @@ When non-nil, pdbtrack is enabled in all comint-based buffers, e.g. shell buffers and the *Python* buffer. When using pdb to debug a Python program, pdbtrack notices the pdb prompt and displays the source file and line that the program is stopped at, much the same way -as ‘gud-mode’ does for debugging C programs with gdb." +as `gud-mode' does for debugging C programs with gdb." :type 'boolean :tag "py-pdbtrack-do-tracking-p" :group 'python-mode) @@ -3356,12 +3362,11 @@ See also `py-object-reference-face'" (defface py-object-reference-face '((t (:inherit py-pseudo-keyword-face))) - "Face when referencing object members from its class resp. method., commonly \"cls\" and \"self\"" + "Face when referencing object members from its class resp. method., +commonly \"cls\" and \"self\"" :tag "py-object-reference-face" :group 'python-mode) - - (defface py-number-face '((t (:inherit nil))) "Highlight numbers." @@ -3453,14 +3458,14 @@ TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"." strg)) (defun py-toggle-imenu-create-index () - "Toggle value of ‘py--imenu-create-index-p’." + "Toggle value of `py--imenu-create-index-p'." (interactive) (setq py--imenu-create-index-p (not py--imenu-create-index-p)) (when (called-interactively-p 'interactive) (message "py--imenu-create-index-p: %s" py--imenu-create-index-p))) (defun py-toggle-shell-completion () - "Switch value of buffer-local var ‘py-shell-complete-p’." + "Switch value of buffer-local var `py-shell-complete-p'." (interactive) (setq py-shell-complete-p (not py-shell-complete-p)) (when (called-interactively-p 'interactive) @@ -3607,8 +3612,8 @@ REPEAT - count and consider repeats" (defun py-backward-statement (&optional orig done limit ignore-in-string-p repeat maxindent) "Go to the initial line of a simple statement. -For beginning of compound statement use ‘py-backward-block’. -For beginning of clause ‘py-backward-clause’. +For beginning of compound statement use `py-backward-block'. +For beginning of clause `py-backward-clause'. `ignore-in-string-p' allows moves inside a docstring, used when computing indents @@ -3719,7 +3724,7 @@ See also `py-up-statement'" erg)) (defun py-forward-statement-bol () - "Go to the ‘beginning-of-line’ following current statement." + "Go to the `beginning-of-line' following current statement." (interactive) (py-forward-statement) (py--beginning-of-line-form)) @@ -3779,7 +3784,7 @@ Return and move to match-beginning if successful" (let* (pps (regexpvalue (or regexpvalue (symbol-value regexp))) (indent (or indent (current-indentation))) - (condition (or condition '<)) + (condition (or condition '<=)) (orig (or orig (point)))) (if (eq (current-indentation) (current-column)) (while (and @@ -3797,7 +3802,7 @@ Return and move to match-beginning if successful" (setq pps (nth 8 (parse-partial-sexp (point-min) (point)))) (goto-char pps)) ;; needed by py-backward-clause - (and indent + (and (not (eq (current-column) 0)) indent (funcall condition indent (current-indentation)))))) (back-to-indentation) (and @@ -3890,7 +3895,7 @@ return `jython', otherwise return nil." mode)) (defun py-choose-shell-by-path (&optional separator-char) - "SEPARATOR-CHAR according to system variable ‘path-separator’. + "SEPARATOR-CHAR according to system variable `path-separator'. Select Python executable according to version desplayed in path. Returns versioned string, nil if nothing appropriate found" @@ -3962,7 +3967,7 @@ Does the following: When interactivly called, messages the SHELL name Return nil, if no executable found." (interactive) - ;; org-babel uses ‘py-toggle-shells’ with arg, just return it + ;; org-babel uses `py-toggle-shells' with arg, just return it (or shell (let* (res done @@ -4027,7 +4032,7 @@ Returns t if successful." erg)) (defun py--buffer-filename-remote-maybe (&optional file-name) - "Argument FILE-NAME: the value of variable ‘buffer-file-name’." + "Argument FILE-NAME: the value of variable `buffer-file-name'." (let ((file-name (or file-name (and (ignore-errors (file-readable-p (buffer-file-name))) @@ -4062,7 +4067,7 @@ Used only, if `py-install-directory' is empty." ))) (defun py--fetch-pythonpath () - "Consider settings of ‘py-pythonpath’." + "Consider settings of `py-pythonpath'." (if (string= "" py-pythonpath) (getenv "PYTHONPATH") (concat (py--normalize-pythonpath (getenv "PYTHONPATH")) py-pythonpath))) @@ -4121,7 +4126,7 @@ See original source: http://pymacs.progiciels-bpi.ca" (py-load-pycomplete)) (defun py-set-load-path () - "Include needed subdirs of ‘python-mode’ directory." + "Include needed subdirs of `python-mode' directory." (interactive) (let ((install-directory (py--normalize-directory py-install-directory))) (if py-install-directory @@ -4190,7 +4195,7 @@ Optional argument END specify end." :group 'python-mode) (defcustom py-default-working-directory "" - "If not empty used by ‘py-set-current-working-directory’." + "If not empty used by `py-set-current-working-directory'." :type 'string :tag "py-default-working-directory" :group 'python-mode) @@ -4202,7 +4207,7 @@ Optional argument END specify end." (looking-at py-empty-line-p-chars))) (defun py-toggle-closing-list-dedents-bos (&optional arg) - "Switch boolean variable ‘py-closing-list-dedents-bos’. + "Switch boolean variable `py-closing-list-dedents-bos'. With optional ARG message state switched to" (interactive "p") @@ -4331,15 +4336,6 @@ These are Python temporary files awaiting execution." (push '(py-pdbtrack-is-tracking-p py-pdbtrack-minor-mode-string) minor-mode-alist)) -(defun py-set-command-args (arguments) - "Set Python arguments on the fly, override defaults in this session. - -Use `defcustom' to keep value across sessions " - (interactive - (list - (read-from-minibuffer "Command args: " py-python-command-args))) - (setq py-python-command-args arguments)) - (defun py--update-lighter (shell) "Select lighter for mode-line display" (setq py-modeline-display @@ -4477,7 +4473,6 @@ If non-nil, return a list composed of erg))) (defun py-toggle-local-default-use () - (interactive) "Toggle boolean value of `py-use-local-default'. Returns `py-use-local-default' @@ -4485,6 +4480,7 @@ Returns `py-use-local-default' See also `py-install-local-shells' Installing named virualenv shells is the preffered way, as it leaves your system default unchanged." + (interactive) (setq py-use-local-default (not py-use-local-default)) (when (called-interactively-p 'any) (message "py-use-local-default set to %s" py-use-local-default)) py-use-local-default) @@ -4701,7 +4697,7 @@ Optional IGNOREINDENT: find next keyword at any indentation" ;; (when (py-empty-line-p) (skip-chars-backward " \t\r\n\f")) (let* ((orig (point)) (condition - (or condition '<)) + (or condition (if (eq regexp 'py-clause-re) '< '<=))) ;; py-clause-re would not match block (regexp (if (eq regexp 'py-clause-re) 'py-extended-block-or-clause-re regexp)) (regexpvalue (symbol-value regexp)) @@ -4710,11 +4706,13 @@ Optional IGNOREINDENT: find next keyword at any indentation" ;; just a big value 9999 (or maxindent - (if - (or (looking-at regexpvalue) (eq 0 (current-indentation))) - (current-indentation) - (abs - (- (current-indentation) py-indent-offset)))))) + ;; (if + ;; (or (looking-at regexpvalue) (eq 0 (current-indentation))) + ;; (current-indentation) + ;; (abs + ;; (- (current-indentation) py-indent-offset))) + (min (current-column) (current-indentation))))) + (lep (line-end-position)) erg) (unless (py-beginning-of-statement-p) (py-backward-statement)) @@ -4723,12 +4721,18 @@ Optional IGNOREINDENT: find next keyword at any indentation" (if (eq (point) orig) (setq erg (py--backward-regexp regexp maxindent condition orig regexpvalue)) (setq erg (point)))) + ((looking-at py-block-closing-keywords-re) + ;; maybe update maxindent, if already behind the form closed here + (unless ;; do not update if still starting line + (eq (line-end-position) lep) + (setq maxindent (min maxindent (- (current-indentation) py-indent-offset)))) + (setq erg (py--backward-regexp regexp maxindent condition orig regexpvalue))) (t (setq erg (py--backward-regexp regexp maxindent condition orig regexpvalue)))) (when erg (setq erg (cons (current-indentation) erg))) (list (car erg) (cdr erg) (py--end-base-determine-secondvalue regexp))))) (defun py-up-base (regexp &optional indent) - "Expects a symbol as REGEXP like ‘'py-clause-re’" + "Expects a symbol as REGEXP like `'py-clause-re'" (unless (py-beginning-of-statement-p) (py-backward-statement)) (unless (looking-at (symbol-value regexp)) (py--go-to-keyword regexp (or indent (current-indentation)) '<)) @@ -4782,25 +4786,27 @@ Return and move to match-beginning if successful" (point))))) (defun py--beginning-of-statement-p (&optional pps) - "Return position, if cursor is at the beginning of a ‘statement’, nil otherwise." + "Return position, if cursor is at the beginning of a `statement', nil otherwise." (interactive) - (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) - (and (not (or (nth 8 pps)(nth 1 pps))) - (looking-at py-statement-re) - (looking-back "[^ \t]*" (line-beginning-position)) - (eq (current-column)(current-indentation)) - (eq (point) (progn (py-forward-statement) (py-backward-statement))) - (point)))) + (save-excursion + (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) + (and (not (or (nth 8 pps) (nth 1 pps))) + (looking-at py-statement-re) + (looking-back "[^ \t]*" (line-beginning-position)) + (eq (current-column) (current-indentation)) + (eq (point) (progn (py-forward-statement) (py-backward-statement))) + (point))))) (defun py--beginning-of-statement-bol-p (&optional pps) - "Return position, if cursor is at the beginning of a ‘statement’, nil otherwise." - (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) - (and (bolp) - (not (or (nth 8 pps)(nth 1 pps))) - (looking-at py-statement-re) - (looking-back "[^ \t]*" (line-beginning-position)) - (eq (point) (progn (py-forward-statement-bol) (py-backward-statement-bol))) - (point)))) + "Return position, if cursor is at the beginning of a `statement', nil otherwise." + (save-excursion + (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) + (and (bolp) + (not (or (nth 8 pps) (nth 1 pps))) + (looking-at py-statement-re) + (looking-back "[^ \t]*" (line-beginning-position)) + (eq (point) (progn (py-forward-statement-bol) (py-backward-statement-bol))) + (point))))) (defun py--refine-regexp-maybe (regexp) "Use a more specific regexp if possible. " @@ -4818,6 +4824,17 @@ Return and move to match-beginning if successful" (t regexp))) regexp))) +(defun py-forward-clause-intern (indent) + (end-of-line) + (let (last) + (while + (and + (py-forward-statement) + (save-excursion (py-backward-statement) (< indent (current-indentation))) + (setq last (point)) + )) + (when last (goto-char last)))) + (defun py--down-according-to-indent (regexp secondvalue &optional indent use-regexp) "Return position if moved, nil otherwise. @@ -4828,11 +4845,13 @@ Optional ENFORCE-REGEXP: search for regexp only." done (regexpvalue (if (member regexp (list 'py-def-re 'py-def-or-class-re 'py-class-re)) (concat (symbol-value regexp) "\\|" (symbol-value 'py-decorator-re)) - (symbol-value regexp))) + (symbol-value regexp))) (lastvalue (and secondvalue (pcase regexp (`py-try-re py-finally-re) (`py-if-re py-else-re))))) + (if (eq regexp 'py-clause-re) + (py-forward-clause-intern indent) (while (and (not done) @@ -4848,8 +4867,8 @@ Optional ENFORCE-REGEXP: search for regexp only." (and (looking-at regexpvalue) (setq done t)) ;; py-forward-def-or-class-test-3JzvVW ;; (setq done t) - ))) - (and (< orig (point)) (point))))) + ))) + (and (< orig (point)) (point)))))) (defun py--backward-empty-lines-or-comment () "Travel backward" @@ -4955,9 +4974,9 @@ According to OUTPUT-BUFFER ORIGLINE ORIG" (when py-verbose-p (message "py--postprocess: %s" "Don't see any result")))))) (defun py-fetch-py-master-file () - "Lookup if a ‘py-master-file’ is specified. + "Lookup if a `py-master-file' is specified. -See also doku of variable ‘py-master-file’" +See also doku of variable `py-master-file'" (interactive) (save-excursion (save-restriction @@ -4989,6 +5008,8 @@ See also doku of variable ‘py-master-file’" (cons "--simple-prompt" py-ipython-command-args)))) ((string-match "^[^-]+3" shell) py-python3-command-args) + ((string-match "^[jy]" shell) + py-jython-command-args) (t py-python-command-args))))) (if (and fast-process (not (member "-u" erg))) @@ -5033,7 +5054,7 @@ default to utf-8." erg)) (defun py--filter-result (strg) - "Set ‘py-result’ according to ‘py-fast-filter-re’. + "Set `py-result' according to `py-fast-filter-re'. Remove trailing newline" (py--string-trim @@ -5107,7 +5128,7 @@ optional argument." (defun py-shell-send-string (strg &optional process) "Send STRING to Python PROCESS. -Uses ‘comint-send-string’." +Uses `comint-send-string'." (interactive (list (read-string "Python command: ") nil t)) (let ((process (or process (py--get-process)))) @@ -5161,12 +5182,12 @@ Optional OUTPUT-BUFFER and ERROR-BUFFER might be given." (when py-switch-buffers-on-execute-p (switch-to-buffer output-buffer)))) (defvar py-last-exeption-buffer nil - "Internal use only - when ‘py-up-exception’ is called. + "Internal use only - when `py-up-exception' is called. In source-buffer, this will deliver the exception-buffer again.") (defun py-remove-overlays-at-point () - "Remove overlays as set when ‘py-highlight-error-source-p’ is non-nil." + "Remove overlays as set when `py-highlight-error-source-p' is non-nil." (interactive "*") (delete-overlay (car (overlays-at (point))))) @@ -5224,7 +5245,7 @@ In source-buffer, this will deliver the exception-buffer again.") "Find the next Python exception and jump to the code that caused it. START is the buffer position in BUFFER from which to begin searching for an exception. SEARCHDIR is a function, either -‘re-search-backward’ or ‘re-search-forward’ indicating the direction +`re-search-backward' or `re-search-forward' indicating the direction to search. ERRWHERE is used in an error message if the limit (top or bottom) of the trackback stack is encountered." (let (file line) @@ -5259,8 +5280,6 @@ jump to the top (outermost) exception in the exception stack." (py--find-next-exception 'bob buffer 're-search-forward "Top") (py--find-next-exception 'bol buffer 're-search-backward "Top")))) - - ;; ; ;; obsolete by py--fetch-result ;; followed by py--fetch-error @@ -5668,7 +5687,7 @@ detecting a prompt at the end of the buffer." "Evaluate STRG in Python PROCESS. With optional Arg PROCESS send to process. -With optional Arg RESULT store result in var ‘py-result’, also return it. +With optional Arg RESULT store result in var `py-result', also return it. With optional Arg NO-OUTPUT don't display any output With optional Arg ORIG deliver original position. With optional Arg OUTPUT-BUFFER specify output-buffer" @@ -5711,7 +5730,7 @@ Takes also CMD PROCBUF ORIGLINE NO-OUTPUT. Make that process's buffer visible and force display. Also make comint believe the user typed this string so that -‘kill-output-from-shell’ does The Right Thing. +`kill-output-from-shell' does The Right Thing. Returns position where output starts." (let* ((filename (expand-file-name filename)) (buffer (or procbuf (and proc (process-buffer proc)) (py-shell nil nil nil nil nil fast))) @@ -5734,7 +5753,7 @@ Returns position where output starts." (py--shell-manage-windows buffer (find-file-noselect filename) py-split-window-on-execute py-switch-buffers-on-execute-p)))) (defun py-restore-window-configuration () - "Restore ‘py-restore-window-configuration’." + "Restore `py-restore-window-configuration'." (let (val) (and (setq val (get-register py--windows-config-register))(and (consp val) (window-configuration-p (car val))(markerp (cadr val)))(marker-buffer (cadr val)) (jump-to-register py--windows-config-register)))) @@ -5742,10 +5761,10 @@ Returns position where output starts." (defun py-toggle-split-window-function () "If window is splitted vertically or horizontally. -When code is executed and ‘py-split-window-on-execute’ is t, +When code is executed and `py-split-window-on-execute' is t, the result is displays in an output-buffer, \"\*Python\*\" by default. -Customizable variable ‘py-split-windows-on-execute-function’ +Customizable variable `py-split-windows-on-execute-function' tells how to split the screen." (interactive) (if (eq 'split-window-vertically py-split-windows-on-execute-function) @@ -5755,7 +5774,7 @@ tells how to split the screen." (message "py-split-windows-on-execute-function set to: %s" py-split-windows-on-execute-function))) (defun py--manage-windows-set-and-switch (buffer) - "Switch to output BUFFER, go to ‘point-max’. + "Switch to output BUFFER, go to `point-max'. Internal use" (set-buffer buffer) @@ -5768,7 +5787,7 @@ Internal use" 'split-window-vertically)) (defun py--get-splittable-window () - "Search ‘window-list’ for a window suitable for splitting." + "Search `window-list' for a window suitable for splitting." (or (and (window-left-child)(split-window (window-left-child))) (and (window-top-child)(split-window (window-top-child))) (and (window-parent)(ignore-errors (split-window (window-parent)))) @@ -5777,15 +5796,15 @@ Internal use" (defun py--manage-windows-split (buffer) "If one window, split BUFFER. -according to ‘py-split-windows-on-execute-function’." +according to `py-split-windows-on-execute-function'." (interactive) (set-buffer buffer) (or ;; (split-window (selected-window) nil ’below) (ignore-errors (funcall py-split-windows-on-execute-function)) ;; If call didn't succeed according to settings of - ;; ‘split-height-threshold’, ‘split-width-threshold’ - ;; resp. ‘window-min-height’, ‘window-min-width’ + ;; `split-height-threshold', `split-width-threshold' + ;; resp. `window-min-height', `window-min-width' ;; try alternative split (unless (ignore-errors (funcall (py--alternative-split-windows-on-execute-function))) ;; if alternative split fails, look for larger window @@ -5920,13 +5939,14 @@ Return the output." '(py-shell-output-filter)) (py-shell-output-filter-in-progress t) (inhibit-quit t) - (delay (py--which-delay-process-dependent buffer))) + (delay (py--which-delay-process-dependent buffer)) + temp-file-name) (or (with-local-quit (if (and (string-match ".\n+." strg) (string-match "^\*[Ii]" buffer)) ;; IPython or multiline - (let* ((temp-file-name (py-temp-file-name strg)) - (file-name (or (buffer-file-name) temp-file-name))) - (py-execute-file file-name proc)) + (let ((file-name (or (buffer-file-name) (setq temp-file-name (py-temp-file-name strg))))) + (py-execute-file file-name proc) + (when temp-file-name (delete-file temp-file-name))) (py-shell-send-string strg proc)) ;; (switch-to-buffer buffer) ;; (accept-process-output proc 9) @@ -5951,7 +5971,7 @@ Return the output." (setq pps (parse-partial-sexp (point-min) (point))))) (defun py-set-ipython-completion-command-string (shell) - "Set and return ‘py-ipython-completion-command-string’ according to SHELL." + "Set and return `py-ipython-completion-command-string' according to SHELL." (interactive) (let* ((ipython-version (py-ipython--which-version shell))) (if (string-match "[0-9]" ipython-version) @@ -6054,7 +6074,7 @@ SEPCHAR is the file-path separator of your system." (defun py-shell (&optional argprompt args dedicated shell buffer fast exception-buffer split switch internal) "Connect process to BUFFER. -Start an interpreter according to ‘py-shell-name’ or SHELL. +Start an interpreter according to `py-shell-name' or SHELL. Optional ARGPROMPT: with \\[universal-argument] start in a new dedicated shell. @@ -6062,12 +6082,12 @@ dedicated shell. Optional ARGS: Specify other than default command args. Optional DEDICATED: start in a new dedicated shell. -Optional string SHELL overrides default ‘py-shell-name’. +Optional string SHELL overrides default `py-shell-name'. Optional string BUFFER allows a name, the Python process is connected to Optional FAST: no fontification in process-buffer. Optional EXCEPTION-BUFFER: point to error. -Optional SPLIT: see var ‘py-split-window-on-execute’ -Optional SWITCH: see var ‘py-switch-buffers-on-execute-p’ +Optional SPLIT: see var `py-split-window-on-execute' +Optional SWITCH: see var `py-switch-buffers-on-execute-p' Optional INTERNAL shell will be invisible for users Reusing existing processes: For a given buffer and same values, @@ -6084,11 +6104,13 @@ process buffer for a list of commands.)" (shell (if shell (if (executable-find shell) shell - (error (concat "py-shell: Can't see an executable for ‘"shell "’ on your system. Maybe needs a link?"))) - (py-choose-shell))) + (error (concat "py-shell: Can't see an executable for `"shell "' on your system. Maybe needs a link?"))) + (py-choose-shell))) (args (or args (py--provide-command-args shell fast))) + ;; Make sure a new one is created if required (buffer-name (or buffer + (and python-mode-v5-behavior-p (get-buffer-create "*Python Output*")) (py--choose-buffer-name shell dedicated fast))) (proc (get-buffer-process buffer-name)) (done nil) @@ -6109,23 +6131,24 @@ process buffer for a list of commands.)" (apply #'make-comint-in-buffer shell buffer-name shell nil args)))))) ;; (py-shell-prompt-detect-p (or (string-match "^\*IP" buffer) py-shell-prompt-detect-p)) - ) - (setq py-output-buffer (buffer-name (if python-mode-v5-behavior-p py-output-buffer buffer))) + ) + (setq py-output-buffer (buffer-name (if python-mode-v5-behavior-p (get-buffer "*Python Output*") buffer))) (unless done (with-current-buffer buffer (setq delay (py--which-delay-process-dependent buffer-name)) (unless fast (when interactivep (cond ((string-match "^.I" buffer-name) - (message "Waiting according to ‘py-ipython-send-delay:’ %s" delay)) + (message "Waiting according to `py-ipython-send-delay:' %s" delay)) ((string-match "^.+3" buffer-name) - (message "Waiting according to ‘py-python3-send-delay:’ %s" delay)))) + (message "Waiting according to `py-python3-send-delay:' %s" delay)))) (setq py-modeline-display (py--update-lighter buffer-name)) - (sit-for delay t)))) + ;; (sit-for delay t) + ))) (if (setq proc (get-buffer-process buffer)) (progn (with-current-buffer buffer - (unless fast (py-shell-mode)) + (unless (or done fast) (py-shell-mode)) (and internal (set-process-query-on-exit-flag proc nil))) (when (or interactivep (or switch py-switch-buffers-on-execute-p py-split-window-on-execute)) @@ -6133,6 +6156,1444 @@ process buffer for a list of commands.)" buffer) (error (concat "py-shell:" (py--fetch-error py-output-buffer)))))) +;; python-components-rx + +;; The `rx--translate...' functions below return (REGEXP . PRECEDENCE), +;; where REGEXP is a list of string expressions that will be +;; concatenated into a regexp, and PRECEDENCE is one of +;; +;; t -- can be used as argument to postfix operators (eg. "a") +;; seq -- can be concatenated in sequence with other seq or higher (eg. "ab") +;; lseq -- can be concatenated to the left of rseq or higher (eg. "^a") +;; rseq -- can be concatenated to the right of lseq or higher (eg. "a$") +;; nil -- can only be used in alternatives (eg. "a\\|b") +;; +;; They form a lattice: +;; +;; t highest precedence +;; | +;; seq +;; / \ +;; lseq rseq +;; \ / +;; nil lowest precedence + + +(defconst rx--char-classes + '((digit . digit) + (numeric . digit) + (num . digit) + (control . cntrl) + (cntrl . cntrl) + (hex-digit . xdigit) + (hex . xdigit) + (xdigit . xdigit) + (blank . blank) + (graphic . graph) + (graph . graph) + (printing . print) + (print . print) + (alphanumeric . alnum) + (alnum . alnum) + (letter . alpha) + (alphabetic . alpha) + (alpha . alpha) + (ascii . ascii) + (nonascii . nonascii) + (lower . lower) + (lower-case . lower) + (punctuation . punct) + (punct . punct) + (space . space) + (whitespace . space) + (white . space) + (upper . upper) + (upper-case . upper) + (word . word) + (wordchar . word) + (unibyte . unibyte) + (multibyte . multibyte)) + "Alist mapping rx symbols to character classes. +Most of the names are from SRE.") + +(defvar rx-constituents nil + "Alist of old-style rx extensions, for compatibility. +For new code, use `rx-define', `rx-let' or `rx-let-eval'. + +Each element is (SYMBOL . DEF). + +If DEF is a symbol, then SYMBOL is an alias of DEF. + +If DEF is a string, then SYMBOL is a plain rx symbol defined as the + regexp string DEF. + +If DEF is a list on the form (FUN MIN-ARGS MAX-ARGS PRED), then + SYMBOL is an rx form with at least MIN-ARGS and at most + MAX-ARGS arguments. If MAX-ARGS is nil, then there is no upper limit. + FUN is a function taking the entire rx form as single argument + and returning the translated regexp string. + If PRED is non-nil, it is a predicate that all actual arguments must + satisfy.") + +(defvar rx--local-definitions nil + "Alist of dynamic local rx definitions. +Each entry is: + (NAME DEF) -- NAME is an rx symbol defined as the rx form DEF. + (NAME ARGS DEF) -- NAME is an rx form with arglist ARGS, defined + as the rx form DEF (which can contain members of ARGS).") + +(defsubst rx--lookup-def (name) + "Current definition of NAME: (DEF) or (ARGS DEF), or nil if none." + (or (cdr (assq name rx--local-definitions)) + (get name 'rx-definition))) + +(defun rx--expand-def (form) + "FORM expanded (once) if a user-defined construct; otherwise nil." + (cond ((symbolp form) + (let ((def (rx--lookup-def form))) + (and def + (if (cdr def) + (error "Not an `rx' symbol definition: %s" form) + (car def))))) + ((and (consp form) (symbolp (car form))) + (let* ((op (car form)) + (def (rx--lookup-def op))) + (and def + (if (cdr def) + (rx--expand-template + op (cdr form) (nth 0 def) (nth 1 def)) + (error "Not an `rx' form definition: %s" op))))))) + +;; TODO: Additions to consider: +;; - A construct like `or' but without the match order guarantee, +;; maybe `unordered-or'. Useful for composition or generation of +;; alternatives; permits more effective use of regexp-opt. + +(defun rx--translate-symbol (sym) + "Translate an rx symbol. Return (REGEXP . PRECEDENCE)." + (pcase sym + ;; Use `list' instead of a quoted list to wrap the strings here, + ;; since the return value may be mutated. + ((or 'nonl 'not-newline 'any) (cons (list ".") t)) + ((or 'anychar 'anything) (cons (list "[^z-a]") t)) + ('unmatchable (rx--empty)) + ((or 'bol 'line-start) (cons (list "^") 'lseq)) + ((or 'eol 'line-end) (cons (list "$") 'rseq)) + ((or 'bos 'string-start 'bot 'buffer-start) (cons (list "\\`") t)) + ((or 'eos 'string-end 'eot 'buffer-end) (cons (list "\\'") t)) + ('point (cons (list "\\=") t)) + ((or 'bow 'word-start) (cons (list "\\<") t)) + ((or 'eow 'word-end) (cons (list "\\>") t)) + ('word-boundary (cons (list "\\b") t)) + ('not-word-boundary (cons (list "\\B") t)) + ('symbol-start (cons (list "\\_<") t)) + ('symbol-end (cons (list "\\_>") t)) + ('not-wordchar (cons (list "\\W") t)) + (_ + (cond + ((let ((class (cdr (assq sym rx--char-classes)))) + (and class (cons (list (concat "[[:" (symbol-name class) ":]]")) t)))) + + ((let ((expanded (rx--expand-def sym))) + (and expanded (rx--translate expanded)))) + + ;; For compatibility with old rx. + ((let ((entry (assq sym rx-constituents))) + (and (progn + (while (and entry (not (stringp (cdr entry)))) + (setq entry + (if (symbolp (cdr entry)) + ;; Alias for another entry. + (assq (cdr entry) rx-constituents) + ;; Wrong type, try further down the list. + (assq (car entry) + (cdr (memq entry rx-constituents)))))) + entry) + (cons (list (cdr entry)) nil)))) + (t (error "Unknown rx symbol `%s'" sym)))))) + +(defun rx--enclose (left-str rexp right-str) + "Bracket REXP by LEFT-STR and RIGHT-STR." + (append (list left-str) rexp (list right-str))) + +(defun rx--bracket (rexp) + (rx--enclose "\\(?:" rexp "\\)")) + +(defun rx--sequence (left right) + "Return the sequence (concatenation) of two translated items, +each on the form (REGEXP . PRECEDENCE), returning (REGEXP . PRECEDENCE)." + ;; Concatenation rules: + ;; seq ++ seq -> seq + ;; lseq ++ seq -> lseq + ;; seq ++ rseq -> rseq + ;; lseq ++ rseq -> nil + (cond ((not (car left)) right) + ((not (car right)) left) + (t + (let ((l (if (memq (cdr left) '(nil rseq)) + (cons (rx--bracket (car left)) t) + left)) + (r (if (memq (cdr right) '(nil lseq)) + (cons (rx--bracket (car right)) t) + right))) + (cons (append (car l) (car r)) + (if (eq (cdr l) 'lseq) + (if (eq (cdr r) 'rseq) + nil ; lseq ++ rseq + 'lseq) ; lseq ++ seq + (if (eq (cdr r) 'rseq) + 'rseq ; seq ++ rseq + 'seq))))))) ; seq ++ seq + +(defun rx--translate-seq (body) + "Translate a sequence of zero or more rx items. +Return (REGEXP . PRECEDENCE)." + (if body + (let* ((items (mapcar #'rx--translate body)) + (result (car items))) + (dolist (item (cdr items)) + (setq result (rx--sequence result item))) + result) + (cons nil 'seq))) + +(defun rx--empty () + "Regexp that never matches anything." + (cons (list regexp-unmatchable) 'seq)) + +;; `cl-every' replacement to avoid bootstrapping problems. +(defun rx--every (pred list) + "Whether PRED is true for every element of LIST." + (while (and list (funcall pred (car list))) + (setq list (cdr list))) + (null list)) + +(defun rx--foldl (f x l) + "(F (F (F X L0) L1) L2) ... +Left-fold the list L, starting with X, by the binary function F." + (while l + (setq x (funcall f x (car l))) + (setq l (cdr l))) + x) + +(defun rx--normalise-or-arg (form) + "Normalize the `or' argument FORM. +Characters become strings, user-definitions and `eval' forms are expanded, +and `or' forms are normalized recursively." + (cond ((characterp form) + (char-to-string form)) + ((and (consp form) (memq (car form) '(or |))) + (cons (car form) (mapcar #'rx--normalise-or-arg (cdr form)))) + ((and (consp form) (eq (car form) 'eval)) + (rx--normalise-or-arg (rx--expand-eval (cdr form)))) + (t + (let ((expanded (rx--expand-def form))) + (if expanded + (rx--normalise-or-arg expanded) + form))))) + +(defun rx--all-string-or-args (body) + "If BODY only consists of strings or such `or' forms, return all the strings. +Otherwise throw `rx--nonstring'." + (mapcan (lambda (form) + (cond ((stringp form) (list form)) + ((and (consp form) (memq (car form) '(or |))) + (rx--all-string-or-args (cdr form))) + (t (throw 'rx--nonstring nil)))) + body)) + +(defun rx--translate-or (body) + "Translate an or-pattern of zero or more rx items. +Return (REGEXP . PRECEDENCE)." + ;; FIXME: Possible improvements: + ;; + ;; - Flatten sub-patterns first: (or (or A B) (or C D)) -> (or A B C D) + ;; Then call regexp-opt on runs of string arguments. Example: + ;; (or (+ digit) "CHARLIE" "CHAN" (+ blank)) + ;; -> (or (+ digit) (or "CHARLIE" "CHAN") (+ blank)) + ;; + ;; - Optimize single-character alternatives better: + ;; * classes: space, alpha, ... + ;; * (syntax S), for some S (whitespace, word) + ;; so that (or "@" "%" digit (any "A-Z" space) (syntax word)) + ;; -> (any "@" "%" digit "A-Z" space word) + ;; -> "[A-Z@%[:digit:][:space:][:word:]]" + (cond + ((null body) ; No items: a never-matching regexp. + (rx--empty)) + ((null (cdr body)) ; Single item. + (rx--translate (car body))) + (t + (let* ((args (mapcar #'rx--normalise-or-arg body)) + (all-strings (catch 'rx--nonstring (rx--all-string-or-args args)))) + (cond + (all-strings ; Only strings. + (cons (list (regexp-opt all-strings nil)) + t)) + ((rx--every #'rx--charset-p args) ; All charsets. + (rx--translate-union nil args)) + (t + (cons (append (car (rx--translate (car args))) + (mapcan (lambda (item) + (cons "\\|" (car (rx--translate item)))) + (cdr args))) + nil))))))) + +(defun rx--charset-p (form) + "Whether FORM looks like a charset, only consisting of character intervals +and set operations." + (or (and (consp form) + (or (and (memq (car form) '(any in char)) + (rx--every (lambda (x) (not (symbolp x))) (cdr form))) + (and (memq (car form) '(not or | intersection)) + (rx--every #'rx--charset-p (cdr form))))) + (characterp form) + (and (stringp form) (= (length form) 1)) + (and (or (symbolp form) (consp form)) + (let ((expanded (rx--expand-def form))) + (and expanded + (rx--charset-p expanded)))))) + +(defun rx--string-to-intervals (str) + "Decode STR as intervals: A-Z becomes (?A . ?Z), and the single +character X becomes (?X . ?X). Return the intervals in a list." + ;; We could just do string-to-multibyte on the string and work with + ;; that instead of this `decode-char' workaround. + (let ((decode-char + (if (multibyte-string-p str) + #'identity + #'unibyte-char-to-multibyte)) + (len (length str)) + (i 0) + (intervals nil)) + (while (< i len) + (cond ((and (< i (- len 2)) + (= (aref str (1+ i)) ?-)) + ;; Range. + (let ((start (funcall decode-char (aref str i))) + (end (funcall decode-char (aref str (+ i 2))))) + (cond ((and (<= start #x7f) (>= end #x3fff80)) + ;; Ranges between ASCII and raw bytes are split to + ;; avoid having them absorb Unicode characters + ;; caught in-between. + (push (cons start #x7f) intervals) + (push (cons #x3fff80 end) intervals)) + ((<= start end) + (push (cons start end) intervals)) + (t + (error "Invalid rx `any' range: %s" + (substring str i (+ i 3))))) + (setq i (+ i 3)))) + (t + ;; Single character. + (let ((char (funcall decode-char (aref str i)))) + (push (cons char char) intervals)) + (setq i (+ i 1))))) + intervals)) + +(defun rx--condense-intervals (intervals) + "Merge adjacent and overlapping intervals by mutation, preserving the order. +INTERVALS is a list of (START . END) with START ≤ END, sorted by START." + (let ((tail intervals) + d) + (while (setq d (cdr tail)) + (if (>= (cdar tail) (1- (caar d))) + (progn + (setcdr (car tail) (max (cdar tail) (cdar d))) + (setcdr tail (cdr d))) + (setq tail d))) + intervals)) + +(defun rx--parse-any (body) + "Parse arguments of an (any ...) construct. +Return (INTERVALS . CLASSES), where INTERVALS is a sorted list of +disjoint intervals (each a cons of chars), and CLASSES +a list of named character classes in the order they occur in BODY." + (let ((classes nil) + (strings nil) + (conses nil)) + ;; Collect strings, conses and characters, and classes in separate bins. + (dolist (arg body) + (cond ((stringp arg) + (push arg strings)) + ((and (consp arg) + (characterp (car arg)) + (characterp (cdr arg)) + (<= (car arg) (cdr arg))) + ;; Copy the cons, in case we need to modify it. + (push (cons (car arg) (cdr arg)) conses)) + ((characterp arg) + (push (cons arg arg) conses)) + ((and (symbolp arg) + (let ((class (cdr (assq arg rx--char-classes)))) + (and class + (or (memq class classes) + (progn (push class classes) t)))))) + (t (error "Invalid rx `any' argument: %s" arg)))) + (cons (rx--condense-intervals + (sort (append conses + (mapcan #'rx--string-to-intervals strings)) + #'car-less-than-car)) + (reverse classes)))) + +(defun rx--generate-alt (negated intervals classes) + "Generate a character alternative. Return (REGEXP . PRECEDENCE). +If NEGATED is non-nil, negate the result; INTERVALS is a sorted +list of disjoint intervals and CLASSES a list of named character +classes." + (let ((items (append intervals classes))) + ;; Move lone ] and range ]-x to the start. + (let ((rbrac-l (assq ?\] items))) + (when rbrac-l + (setq items (cons rbrac-l (delq rbrac-l items))))) + + ;; Split x-] and move the lone ] to the start. + (let ((rbrac-r (rassq ?\] items))) + (when (and rbrac-r (not (eq (car rbrac-r) ?\]))) + (setcdr rbrac-r ?\\) + (setq items (cons '(?\] . ?\]) items)))) + + ;; Split ,-- (which would end up as ,- otherwise). + (let ((dash-r (rassq ?- items))) + (when (eq (car dash-r) ?,) + (setcdr dash-r ?,) + (setq items (nconc items '((?- . ?-)))))) + + ;; Remove - (lone or at start of interval) + (let ((dash-l (assq ?- items))) + (when dash-l + (if (eq (cdr dash-l) ?-) + (setq items (delq dash-l items)) ; Remove lone - + (setcar dash-l ?.)) ; Reduce --x to .-x + (setq items (nconc items '((?- . ?-)))))) + + ;; Deal with leading ^ and range ^-x. + (when (and (consp (car items)) + (eq (caar items) ?^) + (cdr items)) + ;; Move ^ and ^-x to second place. + (setq items (cons (cadr items) + (cons (car items) (cddr items))))) + + (cond + ;; Empty set: if negated, any char, otherwise match-nothing. + ((null items) + (if negated + (rx--translate-symbol 'anything) + (rx--empty))) + ;; Single non-negated character. + ((and (null (cdr items)) + (consp (car items)) + (eq (caar items) (cdar items)) + (not negated)) + (cons (list (regexp-quote (char-to-string (caar items)))) + t)) + ;; Negated newline. + ((and (equal items '((?\n . ?\n))) + negated) + (rx--translate-symbol 'nonl)) + ;; At least one character or class, possibly negated. + (t + (cons + (list + (concat + "[" + (and negated "^") + (mapconcat (lambda (item) + (cond ((symbolp item) + (format "[:%s:]" item)) + ((eq (car item) (cdr item)) + (char-to-string (car item))) + ((eq (1+ (car item)) (cdr item)) + (string (car item) (cdr item))) + (t + (string (car item) ?- (cdr item))))) + items nil) + "]")) + t))))) + +(defun rx--translate-any (negated body) + "Translate an (any ...) construct. Return (REGEXP . PRECEDENCE). +If NEGATED, negate the sense." + (let ((parsed (rx--parse-any body))) + (rx--generate-alt negated (car parsed) (cdr parsed)))) + +(defun rx--intervals-to-alt (negated intervals) + "Generate a character alternative from an interval set. +Return (REGEXP . PRECEDENCE). +INTERVALS is a sorted list of disjoint intervals. +If NEGATED, negate the sense." + ;; Detect whether the interval set is better described in + ;; complemented form. This is not just a matter of aesthetics: any + ;; range from ASCII to raw bytes will automatically exclude the + ;; entire non-ASCII Unicode range by the regexp engine. + (if (rx--every (lambda (iv) (not (<= (car iv) #x3ffeff (cdr iv)))) + intervals) + (rx--generate-alt negated intervals nil) + (rx--generate-alt + (not negated) (rx--complement-intervals intervals) nil))) + +;; FIXME: Consider turning `not' into a variadic operator, following SRE: +;; (not A B) = (not (or A B)) = (intersection (not A) (not B)), and +;; (not) = anychar. +;; Maybe allow singleton characters as arguments. + +(defun rx--translate-not (negated body) + "Translate a (not ...) construct. Return (REGEXP . PRECEDENCE). +If NEGATED, negate the sense (thus making it positive)." + (unless (and body (null (cdr body))) + (error "rx `not' form takes exactly one argument")) + (let ((arg (car body))) + (cond + ((and (consp arg) + (pcase (car arg) + ((or 'any 'in 'char) + (rx--translate-any (not negated) (cdr arg))) + ('syntax + (rx--translate-syntax (not negated) (cdr arg))) + ('category + (rx--translate-category (not negated) (cdr arg))) + ('not + (rx--translate-not (not negated) (cdr arg))) + ((or 'or '|) + (rx--translate-union (not negated) (cdr arg))) + ('intersection + (rx--translate-intersection (not negated) (cdr arg)))))) + ((let ((class (cdr (assq arg rx--char-classes)))) + (and class + (rx--generate-alt (not negated) nil (list class))))) + ((eq arg 'word-boundary) + (rx--translate-symbol + (if negated 'word-boundary 'not-word-boundary))) + ((characterp arg) + (rx--generate-alt (not negated) (list (cons arg arg)) nil)) + ((and (stringp arg) (= (length arg) 1)) + (let ((char (string-to-char arg))) + (rx--generate-alt (not negated) (list (cons char char)) nil))) + ((let ((expanded (rx--expand-def arg))) + (and expanded + (rx--translate-not negated (list expanded))))) + (t (error "Illegal argument to rx `not': %S" arg))))) + +(defun rx--complement-intervals (intervals) + "Complement of the interval list INTERVALS." + (let ((compl nil) + (c 0)) + (dolist (iv intervals) + (when (< c (car iv)) + (push (cons c (1- (car iv))) compl)) + (setq c (1+ (cdr iv)))) + (when (< c (max-char)) + (push (cons c (max-char)) compl)) + (nreverse compl))) + +(defun rx--intersect-intervals (ivs-a ivs-b) + "Intersection of the interval lists IVS-A and IVS-B." + (let ((isect nil)) + (while (and ivs-a ivs-b) + (let ((a (car ivs-a)) + (b (car ivs-b))) + (cond + ((< (cdr a) (car b)) (setq ivs-a (cdr ivs-a))) + ((> (car a) (cdr b)) (setq ivs-b (cdr ivs-b))) + (t + (push (cons (max (car a) (car b)) + (min (cdr a) (cdr b))) + isect) + (setq ivs-a (cdr ivs-a)) + (setq ivs-b (cdr ivs-b)) + (cond ((< (cdr a) (cdr b)) + (push (cons (1+ (cdr a)) (cdr b)) + ivs-b)) + ((> (cdr a) (cdr b)) + (push (cons (1+ (cdr b)) (cdr a)) + ivs-a))))))) + (nreverse isect))) + +(defun rx--union-intervals (ivs-a ivs-b) + "Union of the interval lists IVS-A and IVS-B." + (rx--complement-intervals + (rx--intersect-intervals + (rx--complement-intervals ivs-a) + (rx--complement-intervals ivs-b)))) + +(defun rx--charset-intervals (charset) + "Return a sorted list of non-adjacent disjoint intervals from CHARSET. +CHARSET is any expression allowed in a character set expression: +characters, single-char strings, `any' forms (no classes permitted), +or `not', `or' or `intersection' forms whose arguments are charsets." + (pcase charset + (`(,(or 'any 'in 'char) . ,body) + (let ((parsed (rx--parse-any body))) + (when (cdr parsed) + (error + "Character class not permitted in set operations: %S" + (cadr parsed))) + (car parsed))) + (`(not ,x) (rx--complement-intervals (rx--charset-intervals x))) + (`(,(or 'or '|) . ,body) (rx--charset-union body)) + (`(intersection . ,body) (rx--charset-intersection body)) + ((pred characterp) + (list (cons charset charset))) + ((guard (and (stringp charset) (= (length charset) 1))) + (let ((char (string-to-char charset))) + (list (cons char char)))) + (_ (let ((expanded (rx--expand-def charset))) + (if expanded + (rx--charset-intervals expanded) + (error "Bad character set: %S" charset)))))) + +(defun rx--charset-union (charsets) + "Union of CHARSETS, as a set of intervals." + (rx--foldl #'rx--union-intervals nil + (mapcar #'rx--charset-intervals charsets))) + +(defconst rx--charset-all (list (cons 0 (max-char)))) + +(defun rx--charset-intersection (charsets) + "Intersection of CHARSETS, as a set of intervals." + (rx--foldl #'rx--intersect-intervals rx--charset-all + (mapcar #'rx--charset-intervals charsets))) + +(defun rx--translate-union (negated body) + "Translate an (or ...) construct of charsets. Return (REGEXP . PRECEDENCE). +If NEGATED, negate the sense." + (rx--intervals-to-alt negated (rx--charset-union body))) + +(defun rx--translate-intersection (negated body) + "Translate an (intersection ...) construct. Return (REGEXP . PRECEDENCE). +If NEGATED, negate the sense." + (rx--intervals-to-alt negated (rx--charset-intersection body))) + +(defun rx--atomic-regexp (item) + "ITEM is (REGEXP . PRECEDENCE); return a regexp of precedence t." + (if (eq (cdr item) t) + (car item) + (rx--bracket (car item)))) + +(defun rx--translate-counted-repetition (min-count max-count body) + (let ((operand (rx--translate-seq body))) + (if (car operand) + (cons (append + (rx--atomic-regexp operand) + (list (concat "\\{" + (number-to-string min-count) + (cond ((null max-count) ",") + ((< min-count max-count) + (concat "," (number-to-string max-count)))) + "\\}"))) + t) + operand))) + +(defun rx--check-repeat-arg (name min-args body) + (unless (>= (length body) min-args) + (error "rx `%s' requires at least %d argument%s" + name min-args (if (= min-args 1) "" "s"))) + ;; There seems to be no reason to disallow zero counts. + (unless (natnump (car body)) + (error "rx `%s' first argument must be nonnegative" name))) + +(defun rx--translate-bounded-repetition (name body) + (let ((min-count (car body)) + (max-count (cadr body)) + (items (cddr body))) + (unless (and (natnump min-count) + (natnump max-count) + (<= min-count max-count)) + (error "rx `%s' range error" name)) + (rx--translate-counted-repetition min-count max-count items))) + +(defun rx--translate-repeat (body) + (rx--check-repeat-arg 'repeat 2 body) + (if (= (length body) 2) + (rx--translate-counted-repetition (car body) (car body) (cdr body)) + (rx--translate-bounded-repetition 'repeat body))) + +(defun rx--translate-** (body) + (rx--check-repeat-arg '** 2 body) + (rx--translate-bounded-repetition '** body)) + +(defun rx--translate->= (body) + (rx--check-repeat-arg '>= 1 body) + (rx--translate-counted-repetition (car body) nil (cdr body))) + +(defun rx--translate-= (body) + (rx--check-repeat-arg '= 1 body) + (rx--translate-counted-repetition (car body) (car body) (cdr body))) + +(defvar rx--greedy t) + +(defun rx--translate-rep (op-string greedy body) + "Translate a repetition; OP-STRING is one of \"*\", \"+\" or \"?\". +GREEDY is a boolean. Return (REGEXP . PRECEDENCE)." + (let ((operand (rx--translate-seq body))) + (if (car operand) + (cons (append (rx--atomic-regexp operand) + (list (concat op-string (unless greedy "?")))) + ;; The result has precedence seq to avoid (? (* "a")) -> "a*?" + 'seq) + operand))) + +(defun rx--control-greedy (greedy body) + "Translate the sequence BODY with greediness GREEDY. +Return (REGEXP . PRECEDENCE)." + (let ((rx--greedy greedy)) + (rx--translate-seq body))) + +(defun rx--translate-group (body) + "Translate the `group' form. Return (REGEXP . PRECEDENCE)." + (cons (rx--enclose "\\(" + (car (rx--translate-seq body)) + "\\)") + t)) + +(defun rx--translate-group-n (body) + "Translate the `group-n' form. Return (REGEXP . PRECEDENCE)." + (unless (and (integerp (car body)) (> (car body) 0)) + (error "rx `group-n' requires a positive number as first argument")) + (cons (rx--enclose (concat "\\(?" (number-to-string (car body)) ":") + (car (rx--translate-seq (cdr body))) + "\\)") + t)) + +(defun rx--translate-backref (body) + "Translate the `backref' form. Return (REGEXP . PRECEDENCE)." + (unless (and (= (length body) 1) (integerp (car body)) (<= 1 (car body) 9)) + (error "rx `backref' requires an argument in the range 1..9")) + (cons (list "\\" (number-to-string (car body))) t)) + +(defconst rx--syntax-codes + '((whitespace . ?-) ; SPC also accepted + (punctuation . ?.) + (word . ?w) ; W also accepted + (symbol . ?_) + (open-parenthesis . ?\() + (close-parenthesis . ?\)) + (expression-prefix . ?\') + (string-quote . ?\") + (paired-delimiter . ?$) + (escape . ?\\) + (character-quote . ?/) + (comment-start . ?<) + (comment-end . ?>) + (string-delimiter . ?|) + (comment-delimiter . ?!))) + +(defun rx--translate-syntax (negated body) + "Translate the `syntax' form. Return (REGEXP . PRECEDENCE)." + (unless (and body (null (cdr body))) + (error "rx `syntax' form takes exactly one argument")) + (let* ((sym (car body)) + (syntax (cdr (assq sym rx--syntax-codes)))) + (unless syntax + (cond + ;; Syntax character directly (sregex compatibility) + ((and (characterp sym) (rassq sym rx--syntax-codes)) + (setq syntax sym)) + ;; Syntax character as symbol (sregex compatibility) + ((symbolp sym) + (let ((name (symbol-name sym))) + (when (= (length name) 1) + (let ((char (string-to-char name))) + (when (rassq char rx--syntax-codes) + (setq syntax char))))))) + (unless syntax + (error "Unknown rx syntax name `%s'" sym))) + (cons (list (string ?\\ (if negated ?S ?s) syntax)) + t))) + +(defconst rx--categories + '((space-for-indent . ?\s) + (base . ?.) + (consonant . ?0) + (base-vowel . ?1) + (upper-diacritical-mark . ?2) + (lower-diacritical-mark . ?3) + (tone-mark . ?4) + (symbol . ?5) + (digit . ?6) + (vowel-modifying-diacritical-mark . ?7) + (vowel-sign . ?8) + (semivowel-lower . ?9) + (not-at-end-of-line . ?<) + (not-at-beginning-of-line . ?>) + (alpha-numeric-two-byte . ?A) + (chinese-two-byte . ?C) + (chinse-two-byte . ?C) ; A typo in Emacs 21.1-24.3. + (greek-two-byte . ?G) + (japanese-hiragana-two-byte . ?H) + (indian-two-byte . ?I) + (japanese-katakana-two-byte . ?K) + (strong-left-to-right . ?L) + (korean-hangul-two-byte . ?N) + (strong-right-to-left . ?R) + (cyrillic-two-byte . ?Y) + (combining-diacritic . ?^) + (ascii . ?a) + (arabic . ?b) + (chinese . ?c) + (ethiopic . ?e) + (greek . ?g) + (korean . ?h) + (indian . ?i) + (japanese . ?j) + (japanese-katakana . ?k) + (latin . ?l) + (lao . ?o) + (tibetan . ?q) + (japanese-roman . ?r) + (thai . ?t) + (vietnamese . ?v) + (hebrew . ?w) + (cyrillic . ?y) + (can-break . ?|))) + +(defun rx--translate-category (negated body) + "Translate the `category' form. Return (REGEXP . PRECEDENCE)." + (unless (and body (null (cdr body))) + (error "rx `category' form takes exactly one argument")) + (let* ((arg (car body)) + (category + (cond ((symbolp arg) + (let ((cat (assq arg rx--categories))) + (unless cat + (error "Unknown rx category `%s'" arg)) + (cdr cat))) + ((characterp arg) arg) + (t (error "Invalid rx `category' argument `%s'" arg))))) + (cons (list (string ?\\ (if negated ?C ?c) category)) + t))) + +(defvar rx--delayed-evaluation nil + "Whether to allow certain forms to be evaluated at runtime.") + +(defun rx--translate-literal (body) + "Translate the `literal' form. Return (REGEXP . PRECEDENCE)." + (unless (and body (null (cdr body))) + (error "rx `literal' form takes exactly one argument")) + (let ((arg (car body))) + (cond ((stringp arg) + (cons (list (regexp-quote arg)) (if (= (length arg) 1) t 'seq))) + (rx--delayed-evaluation + (cons (list (list 'regexp-quote arg)) 'seq)) + (t (error "rx `literal' form with non-string argument"))))) + +(defun rx--expand-eval (body) + "Expand `eval' arguments. Return a new rx form." + (unless (and body (null (cdr body))) + (error "rx `eval' form takes exactly one argument")) + (eval (car body))) + +(defun rx--translate-eval (body) + "Translate the `eval' form. Return (REGEXP . PRECEDENCE)." + (rx--translate (rx--expand-eval body))) + +(defvar rx--regexp-atomic-regexp nil) + +(defun rx--translate-regexp (body) + "Translate the `regexp' form. Return (REGEXP . PRECEDENCE)." + (unless (and body (null (cdr body))) + (error "rx `regexp' form takes exactly one argument")) + (let ((arg (car body))) + (cond ((stringp arg) + ;; Generate the regexp when needed, since rx isn't + ;; necessarily present in the byte-compilation environment. + (unless rx--regexp-atomic-regexp + (setq rx--regexp-atomic-regexp + ;; Match atomic (precedence t) regexps: may give + ;; false negatives but no false positives, assuming + ;; the target string is syntactically correct. + (rx-to-string + '(seq + bos + (or (seq "[" + (opt "^") + (opt "]") + (* (or (seq "[:" (+ (any "a-z")) ":]") + (not (any "]")))) + "]") + (not (any "*+?^$[\\")) + (seq "\\" + (or anything + (seq (any "sScC_") anything) + (seq "(" + (* (or (not (any "\\")) + (seq "\\" (not (any ")"))))) + "\\)")))) + eos) + t))) + (cons (list arg) + (if (string-match-p rx--regexp-atomic-regexp arg) t nil))) + (rx--delayed-evaluation + (cons (list arg) nil)) + (t (error "rx `regexp' form with non-string argument"))))) + +(defun rx--translate-compat-form (def form) + "Translate a compatibility form from `rx-constituents'. +DEF is the definition tuple. Return (REGEXP . PRECEDENCE)." + (let* ((fn (nth 0 def)) + (min-args (nth 1 def)) + (max-args (nth 2 def)) + (predicate (nth 3 def)) + (nargs (1- (length form)))) + (when (< nargs min-args) + (error "The `%s' form takes at least %d argument(s)" + (car form) min-args)) + (when (and max-args (> nargs max-args)) + (error "The `%s' form takes at most %d argument(s)" + (car form) max-args)) + (when (and predicate (not (rx--every predicate (cdr form)))) + (error "The `%s' form requires arguments satisfying `%s'" + (car form) predicate)) + (let ((regexp (funcall fn form))) + (unless (stringp regexp) + (error "The `%s' form did not expand to a string" (car form))) + (cons (list regexp) nil)))) + +(defun rx--substitute (bindings form) + "Substitute BINDINGS in FORM. BINDINGS is an alist of (NAME . VALUES) +where VALUES is a list to splice into FORM wherever NAME occurs. +Return the substitution result wrapped in a list, since a single value +can expand to any number of values." + (cond ((symbolp form) + (let ((binding (assq form bindings))) + (if binding + (cdr binding) + (list form)))) + ((consp form) + (if (listp (cdr form)) + ;; Proper list. We substitute variables even in the head + ;; position -- who knows, might be handy one day. + (list (mapcan (lambda (x) (copy-sequence + (rx--substitute bindings x))) + form)) + ;; Cons pair (presumably an interval). + (let ((first (rx--substitute bindings (car form))) + (second (rx--substitute bindings (cdr form)))) + (if (and first (not (cdr first)) + second (not (cdr second))) + (list (cons (car first) (car second))) + (error + "Cannot substitute a &rest parameter into a dotted pair"))))) + (t (list form)))) + +;; FIXME: Consider adding extensions in Lisp macro style, where +;; arguments are passed unevaluated to code that returns the rx form +;; to use. Example: +;; +;; (rx-let ((radix-digit (radix) +;; :lisp (list 'any (cons ?0 (+ ?0 (eval radix) -1))))) +;; (rx (radix-digit (+ 5 3)))) +;; => +;; "[0-7]" +;; +;; While this would permit more powerful extensions, it's unclear just +;; how often they would be used in practice. Let's wait until there is +;; demand for it. + +;; FIXME: An alternative binding syntax would be +;; +;; (NAME RXs...) +;; and +;; ((NAME ARGS...) RXs...) +;; +;; which would have two minor advantages: multiple RXs with implicit +;; `seq' in the definition, and the arglist is no longer an optional +;; element in the middle of the list. On the other hand, it's less +;; like traditional lisp arglist constructs (defun, defmacro). +;; Since it's a Scheme-like syntax, &rest parameters could be done using +;; dotted lists: +;; (rx-let (((name arg1 arg2 . rest) ...definition...)) ...) + +(defun rx--expand-template (op values arglist template) + "Return TEMPLATE with variables in ARGLIST replaced with VALUES." + (let ((bindings nil) + (value-tail values) + (formals arglist)) + (while formals + (pcase (car formals) + ('&rest + (unless (cdr formals) + (error + "Expanding rx def `%s': missing &rest parameter name" op)) + (push (cons (cadr formals) value-tail) bindings) + (setq formals nil) + (setq value-tail nil)) + (name + (unless value-tail + (error + "Expanding rx def `%s': too few arguments (got %d, need %s%d)" + op (length values) + (if (memq '&rest arglist) "at least " "") + (- (length arglist) (length (memq '&rest arglist))))) + (push (cons name (list (car value-tail))) bindings) + (setq value-tail (cdr value-tail)))) + (setq formals (cdr formals))) + (when value-tail + (error + "Expanding rx def `%s': too many arguments (got %d, need %d)" + op (length values) (length arglist))) + (let ((subst (rx--substitute bindings template))) + (if (and subst (not (cdr subst))) + (car subst) + (error "Expanding rx def `%s': must result in a single value" op))))) + +(defun rx--translate-form (form) + "Translate an rx form (list structure). Return (REGEXP . PRECEDENCE)." + (let ((body (cdr form))) + (pcase (car form) + ((or 'seq : 'and 'sequence) (rx--translate-seq body)) + ((or 'or '|) (rx--translate-or body)) + ((or 'any 'in 'char) (rx--translate-any nil body)) + ('not-char (rx--translate-any t body)) + ('not (rx--translate-not nil body)) + ('intersection (rx--translate-intersection nil body)) + + ('repeat (rx--translate-repeat body)) + ('= (rx--translate-= body)) + ('>= (rx--translate->= body)) + ('** (rx--translate-** body)) + + ((or 'zero-or-more '0+) (rx--translate-rep "*" rx--greedy body)) + ((or 'one-or-more '1+) (rx--translate-rep "+" rx--greedy body)) + ((or 'zero-or-one 'opt 'optional) (rx--translate-rep "?" rx--greedy body)) + + ('* (rx--translate-rep "*" t body)) + ('+ (rx--translate-rep "+" t body)) + ((or '\? ?\s) (rx--translate-rep "?" t body)) + + ('*? (rx--translate-rep "*" nil body)) + ('+? (rx--translate-rep "+" nil body)) + ((or '\?? ??) (rx--translate-rep "?" nil body)) + + ('minimal-match (rx--control-greedy nil body)) + ('maximal-match (rx--control-greedy t body)) + + ((or 'group 'submatch) (rx--translate-group body)) + ((or 'group-n 'submatch-n) (rx--translate-group-n body)) + ('backref (rx--translate-backref body)) + + ('syntax (rx--translate-syntax nil body)) + ('not-syntax (rx--translate-syntax t body)) + ('category (rx--translate-category nil body)) + + ('literal (rx--translate-literal body)) + ('eval (rx--translate-eval body)) + ((or 'regexp 'regex) (rx--translate-regexp body)) + + (op + (cond + ((not (symbolp op)) (error "Bad rx operator `%S'" op)) + + ((let ((expanded (rx--expand-def form))) + (and expanded + (rx--translate expanded)))) + + ;; For compatibility with old rx. + ((let ((entry (assq op rx-constituents))) + (and (progn + (while (and entry (not (consp (cdr entry)))) + (setq entry + (if (symbolp (cdr entry)) + ;; Alias for another entry. + (assq (cdr entry) rx-constituents) + ;; Wrong type, try further down the list. + (assq (car entry) + (cdr (memq entry rx-constituents)))))) + entry) + (rx--translate-compat-form (cdr entry) form)))) + + (t (error "Unknown rx form `%s'" op))))))) + +(defconst rx--builtin-forms + '(seq sequence : and or | any in char not-char not intersection + repeat = >= ** + zero-or-more 0+ * + one-or-more 1+ + + zero-or-one opt optional \? + *? +? \?? + minimal-match maximal-match + group submatch group-n submatch-n backref + syntax not-syntax category + literal eval regexp regex) + "List of built-in rx function-like symbols.") + +(defconst rx--builtin-symbols + (append '(nonl not-newline any anychar anything unmatchable + bol eol line-start line-end + bos eos string-start string-end + bow eow word-start word-end + symbol-start symbol-end + point word-boundary not-word-boundary not-wordchar) + (mapcar #'car rx--char-classes)) + "List of built-in rx variable-like symbols.") + +(defconst rx--builtin-names + (append rx--builtin-forms rx--builtin-symbols) + "List of built-in rx names. These cannot be redefined by the user.") + +(defun rx--translate (item) + "Translate the rx-expression ITEM. Return (REGEXP . PRECEDENCE)." + (cond + ((stringp item) + (if (= (length item) 0) + (cons nil 'seq) + (cons (list (regexp-quote item)) (if (= (length item) 1) t 'seq)))) + ((characterp item) + (cons (list (regexp-quote (char-to-string item))) t)) + ((symbolp item) + (rx--translate-symbol item)) + ((consp item) + (rx--translate-form item)) + (t (error "Bad rx expression: %S" item)))) + + +(defun rx-to-string (form &optional no-group) + "Translate FORM from `rx' sexp syntax into a string regexp. +The arguments to `literal' and `regexp' forms inside FORM must be +constant strings. +If NO-GROUP is non-nil, don't bracket the result in a non-capturing +group. + +For extending the `rx' notation in FORM, use `rx-define' or `rx-let-eval'." + (let* ((item (rx--translate form)) + (exprs (if no-group + (car item) + (rx--atomic-regexp item)))) + (apply #'concat exprs))) + +(defun rx--to-expr (form) + "Translate the rx-expression FORM to a Lisp expression yielding a regexp." + (let* ((rx--delayed-evaluation t) + (elems (car (rx--translate form))) + (args nil)) + ;; Merge adjacent strings. + (while elems + (let ((strings nil)) + (while (and elems (stringp (car elems))) + (push (car elems) strings) + (setq elems (cdr elems))) + (let ((s (apply #'concat (nreverse strings)))) + (unless (zerop (length s)) + (push s args)))) + (when elems + (push (car elems) args) + (setq elems (cdr elems)))) + (cond ((null args) "") ; 0 args + ((cdr args) (cons 'concat (nreverse args))) ; ≥2 args + (t (car args))))) ; 1 arg + + +(defmacro rx (&rest regexps) + "Translate regular expressions REGEXPS in sexp form to a regexp string. +Each argument is one of the forms below; RX is a subform, and RX... stands +for zero or more RXs. For details, see Info node `(elisp) Rx Notation'. +See `rx-to-string' for the corresponding function. + +STRING Match a literal string. +CHAR Match a literal character. + +(seq RX...) Match the RXs in sequence. Alias: :, sequence, and. +(or RX...) Match one of the RXs. Alias: |. + +(zero-or-more RX...) Match RXs zero or more times. Alias: 0+. +(one-or-more RX...) Match RXs one or more times. Alias: 1+. +(zero-or-one RX...) Match RXs or the empty string. Alias: opt, optional. +(* RX...) Match RXs zero or more times; greedy. +(+ RX...) Match RXs one or more times; greedy. +(? RX...) Match RXs or the empty string; greedy. +(*? RX...) Match RXs zero or more times; non-greedy. +(+? RX...) Match RXs one or more times; non-greedy. +(?? RX...) Match RXs or the empty string; non-greedy. +(= N RX...) Match RXs exactly N times. +(>= N RX...) Match RXs N or more times. +(** N M RX...) Match RXs N to M times. Alias: repeat. +(minimal-match RX) Match RX, with zero-or-more, one-or-more, zero-or-one + and aliases using non-greedy matching. +(maximal-match RX) Match RX, with zero-or-more, one-or-more, zero-or-one + and aliases using greedy matching, which is the default. + +(any SET...) Match a character from one of the SETs. Each SET is a + character, a string, a range as string \"A-Z\" or cons + (?A . ?Z), or a character class (see below). Alias: in, char. +(not CHARSPEC) Match one character not matched by CHARSPEC. CHARSPEC + can be a character, single-char string, (any ...), (or ...), + (intersection ...), (syntax ...), (category ...), + or a character class. +(intersection CHARSET...) Match all CHARSETs. + CHARSET is (any...), (not...), (or...) or (intersection...), + a character or a single-char string. +not-newline Match any character except a newline. Alias: nonl. +anychar Match any character. Alias: anything. +unmatchable Never match anything at all. + +CHARCLASS Match a character from a character class. One of: + alpha, alphabetic, letter Alphabetic characters (defined by Unicode). + alnum, alphanumeric Alphabetic or decimal digit chars (Unicode). + digit, numeric, num 0-9. + xdigit, hex-digit, hex 0-9, A-F, a-f. + cntrl, control ASCII codes 0-31. + blank Horizontal whitespace (Unicode). + space, whitespace, white Chars with whitespace syntax. + lower, lower-case Lower-case chars, from current case table. + upper, upper-case Upper-case chars, from current case table. + graph, graphic Graphic characters (Unicode). + print, printing Whitespace or graphic (Unicode). + punct, punctuation Not control, space, letter or digit (ASCII); + not word syntax (non-ASCII). + word, wordchar Characters with word syntax. + ascii ASCII characters (codes 0-127). + nonascii Non-ASCII characters (but not raw bytes). + +(syntax SYNTAX) Match a character with syntax SYNTAX, being one of: + whitespace, punctuation, word, symbol, open-parenthesis, + close-parenthesis, expression-prefix, string-quote, + paired-delimiter, escape, character-quote, comment-start, + comment-end, string-delimiter, comment-delimiter + +(category CAT) Match a character in category CAT, being one of: + space-for-indent, base, consonant, base-vowel, + upper-diacritical-mark, lower-diacritical-mark, tone-mark, symbol, + digit, vowel-modifying-diacritical-mark, vowel-sign, + semivowel-lower, not-at-end-of-line, not-at-beginning-of-line, + alpha-numeric-two-byte, chinese-two-byte, greek-two-byte, + japanese-hiragana-two-byte, indian-two-byte, + japanese-katakana-two-byte, strong-left-to-right, + korean-hangul-two-byte, strong-right-to-left, cyrillic-two-byte, + combining-diacritic, ascii, arabic, chinese, ethiopic, greek, + korean, indian, japanese, japanese-katakana, latin, lao, + tibetan, japanese-roman, thai, vietnamese, hebrew, cyrillic, + can-break + +Zero-width assertions: these all match the empty string in specific places. + line-start At the beginning of a line. Alias: bol. + line-end At the end of a line. Alias: eol. + string-start At the start of the string or buffer. + Alias: buffer-start, bos, bot. + string-end At the end of the string or buffer. + Alias: buffer-end, eos, eot. + point At point. + word-start At the beginning of a word. Alias: bow. + word-end At the end of a word. Alias: eow. + word-boundary At the beginning or end of a word. + not-word-boundary Not at the beginning or end of a word. + symbol-start At the beginning of a symbol. + symbol-end At the end of a symbol. + +(group RX...) Match RXs and define a capture group. Alias: submatch. +(group-n N RX...) Match RXs and define capture group N. Alias: submatch-n. +(backref N) Match the text that capture group N matched. + +(literal EXPR) Match the literal string from evaluating EXPR at run time. +(regexp EXPR) Match the string regexp from evaluating EXPR at run time. +(eval EXPR) Match the rx sexp from evaluating EXPR at macro-expansion + (compile) time. + +Additional constructs can be defined using `rx-define' and `rx-let', +which see. + +\(fn REGEXPS...)" + ;; Retrieve local definitions from the macroexpansion environment. + ;; (It's unclear whether the previous value of `rx--local-definitions' + ;; should be included, and if so, in which order.) + (let ((rx--local-definitions + (cdr (assq :rx-locals macroexpand-all-environment)))) + (rx--to-expr (cons 'seq regexps)))) + +(defun rx--make-binding (name tail) + "Make a definitions entry out of TAIL. +TAIL is on the form ([ARGLIST] DEFINITION)." + (unless (symbolp name) + (error "Bad `rx' definition name: %S" name)) + ;; FIXME: Consider using a hash table or symbol property, for speed. + (when (memq name rx--builtin-names) + (error "Cannot redefine built-in rx name `%s'" name)) + (pcase tail + (`(,def) + (list def)) + (`(,args ,def) + (unless (and (listp args) (rx--every #'symbolp args)) + (error "Bad argument list for `rx' definition %s: %S" name args)) + (list args def)) + (_ (error "Bad `rx' definition of %s: %S" name tail)))) + +(defun rx--make-named-binding (bindspec) + "Make a definitions entry out of BINDSPEC. +BINDSPEC is on the form (NAME [ARGLIST] DEFINITION)." + (unless (consp bindspec) + (error "Bad `rx-let' binding: %S" bindspec)) + (cons (car bindspec) + (rx--make-binding (car bindspec) (cdr bindspec)))) + +(defun rx--extend-local-defs (bindspecs) + (append (mapcar #'rx--make-named-binding bindspecs) + rx--local-definitions)) + +(defmacro rx-let-eval (bindings &rest body) + "Evaluate BODY with local BINDINGS for `rx-to-string'. +BINDINGS, after evaluation, is a list of definitions each on the form +(NAME [(ARGS...)] RX), in effect for calls to `rx-to-string' +in BODY. + +For bindings without an ARGS list, NAME is defined as an alias +for the `rx' expression RX. Where ARGS is supplied, NAME is +defined as an `rx' form with ARGS as argument list. The +parameters are bound from the values in the (NAME ...) form and +are substituted in RX. ARGS can contain `&rest' parameters, +whose values are spliced into RX where the parameter name occurs. + +Any previous definitions with the same names are shadowed during +the expansion of BODY only. +For extensions when using the `rx' macro, use `rx-let'. +To make global rx extensions, use `rx-define'. +For more details, see Info node `(elisp) Extending Rx'. + +\(fn BINDINGS BODY...)" + (declare (indent 1) (debug (form body))) + ;; FIXME: this way, `rx--extend-local-defs' may need to be autoloaded. + `(let ((rx--local-definitions (rx--extend-local-defs ,bindings))) + ,@body)) + +(defmacro rx-let (bindings &rest body) + "Evaluate BODY with local BINDINGS for `rx'. +BINDINGS is an unevaluated list of bindings each on the form +(NAME [(ARGS...)] RX). +They are bound lexically and are available in `rx' expressions in +BODY only. + +For bindings without an ARGS list, NAME is defined as an alias +for the `rx' expression RX. Where ARGS is supplied, NAME is +defined as an `rx' form with ARGS as argument list. The +parameters are bound from the values in the (NAME ...) form and +are substituted in RX. ARGS can contain `&rest' parameters, +whose values are spliced into RX where the parameter name occurs. + +Any previous definitions with the same names are shadowed during +the expansion of BODY only. +For local extensions to `rx-to-string', use `rx-let-eval'. +To make global rx extensions, use `rx-define'. +For more details, see Info node `(elisp) Extending Rx'. + +\(fn BINDINGS BODY...)" + (declare (indent 1) (debug (sexp body))) + (let ((prev-locals (cdr (assq :rx-locals macroexpand-all-environment))) + (new-locals (mapcar #'rx--make-named-binding bindings))) + (macroexpand-all (cons 'progn body) + (cons (cons :rx-locals (append new-locals prev-locals)) + macroexpand-all-environment)))) + +(defmacro rx-define (name &rest definition) + "Define NAME as a global `rx' definition. +If the ARGS list is omitted, define NAME as an alias for the `rx' +expression RX. + +If the ARGS list is supplied, define NAME as an `rx' form with +ARGS as argument list. The parameters are bound from the values +in the (NAME ...) form and are substituted in RX. +ARGS can contain `&rest' parameters, whose values are spliced +into RX where the parameter name occurs. + +Any previous global definition of NAME is overwritten with the new one. +To make local rx extensions, use `rx-let' for `rx', +`rx-let-eval' for `rx-to-string'. +For more details, see Info node `(elisp) Extending Rx'. + +\(fn NAME [(ARGS...)] RX)" + (declare (indent defun)) + `(eval-and-compile + (put ',name 'rx-definition ',(rx--make-binding name definition)) + ',name)) + +;; During `rx--pcase-transform', list of defined variables in right-to-left +;; order. +(defvar rx--pcase-vars) + +;; FIXME: The rewriting strategy for pcase works so-so with extensions; +;; definitions cannot expand to `let' or named `backref'. If this ever +;; becomes a problem, we can handle those forms in the ordinary parser, +;; using a dynamic variable for activating the augmented forms. + +(defun rx--pcase-transform (rx) + "Transform RX, an rx-expression augmented with `let' and named `backref', +into a plain rx-expression, collecting names into `rx--pcase-vars'." + (pcase rx + (`(let ,name . ,body) + (let* ((index (length (memq name rx--pcase-vars))) + (i (if (zerop index) + (length (push name rx--pcase-vars)) + index))) + `(group-n ,i ,(rx--pcase-transform (cons 'seq body))))) + ((and `(backref ,ref) + (guard (symbolp ref))) + (let ((index (length (memq ref rx--pcase-vars)))) + (when (zerop index) + (error "rx `backref' variable must be one of: %s" + (mapconcat #'symbol-name rx--pcase-vars " "))) + `(backref ,index))) + ((and `(,head . ,rest) + (guard (and (or (symbolp head) (memq head '(?\s ??))) + (not (memq head '(literal regexp regex eval)))))) + (cons head (mapcar #'rx--pcase-transform rest))) + (_ rx))) + +(defun rx--reduce-right (f l) + "Right-reduction on L by F. L must be non-empty." + (if (cdr l) + (funcall f (car l) (rx--reduce-right f (cdr l))) + (car l))) + +(pcase-defmacro rx (&rest regexps) + "A pattern that matches strings against `rx' REGEXPS in sexp form. +REGEXPS are interpreted as in `rx'. The pattern matches any +string that is a match for REGEXPS, as if by `string-match'. + +In addition to the usual `rx' syntax, REGEXPS can contain the +following constructs: + + (let REF RX...) binds the symbol REF to a submatch that matches + the regular expressions RX. REF is bound in + CODE to the string of the submatch or nil, but + can also be used in `backref'. + (backref REF) matches whatever the submatch REF matched. + REF can be a number, as usual, or a name + introduced by a previous (let REF ...) + construct." + (let* ((rx--pcase-vars nil) + (regexp (rx--to-expr (rx--pcase-transform (cons 'seq regexps))))) + `(and (pred stringp) + ,(pcase (length rx--pcase-vars) + (0 + ;; No variables bound: a single predicate suffices. + `(pred (string-match ,regexp))) + (1 + ;; Create a match value that on a successful regexp match + ;; is the submatch value, 0 on failure. We can't use nil + ;; for failure because it is a valid submatch value. + `(app (lambda (s) + (if (string-match ,regexp s) + (match-string 1 s) + 0)) + (and ,(car rx--pcase-vars) (pred (not numberp))))) + (nvars + ;; Pack the submatches into a dotted list which is then + ;; immediately destructured into individual variables again. + ;; This is of course slightly inefficient. + ;; A dotted list is used to reduce the number of conses + ;; to create and take apart. + `(app (lambda (s) + (and (string-match ,regexp s) + ,(rx--reduce-right + (lambda (a b) `(cons ,a ,b)) + (mapcar (lambda (i) `(match-string ,i s)) + (number-sequence 1 nvars))))) + ,(list '\` + (rx--reduce-right + #'cons + (mapcar (lambda (name) (list '\, name)) + (reverse rx--pcase-vars)))))))))) + +;; Obsolete internal symbol, used in old versions of the `flycheck' package. +(define-obsolete-function-alias 'rx-submatch-n 'rx-to-string "27.1") + ;; python-components-extra (defun py-util-comint-last-prompt () @@ -6243,8 +7704,6 @@ using that one instead of current buffer's process." (run-hooks 'py-shell-first-prompt-hook)))))) output) - - (defun py-shell-font-lock-get-or-create-buffer () "Get or create a font-lock buffer for current inferior process." (with-current-buffer (current-buffer) @@ -6406,26 +7865,60 @@ With argument MSG show activation/deactivation message." (py-shell-font-lock-turn-off msg)) py-shell-fontify-p)) +(when (featurep 'comint-mime) + (defun comint-mime-setup-py-shell () + "Enable `comint-mime'. + +Setup code specific to `py-shell-mode'." + (interactive) + ;; (if (not py-shell--first-prompt-received) + ;; (add-hook 'py-shell-first-prompt-hook #'comint-mime-setup-py-shell nil t) + (setq py-python-command "ipython3" + py-ipython-command "ipython3" + py-ipython-command-args '("--pylab" "--matplotlib=inline" "--automagic" "--simple-prompt") + py-python-command-args '("--pylab" "--matplotlib=inline" "--automagic" "--simple-prompt")) + (py-send-string-no-output + (format "%s\n__COMINT_MIME_setup('''%s''')" + (with-temp-buffer + (switch-to-buffer (current-buffer)) + (insert-file-contents + (expand-file-name "comint-mime.py" + comint-mime-setup-script-dir)) + (buffer-string)) + (if (listp comint-mime-enabled-types) + (string-join comint-mime-enabled-types ";") + comint-mime-enabled-types)))) + + (add-hook 'py-shell-mode-hook 'comint-mime-setup-py-shell) + (push '(py-shell-mode . comint-mime-setup-py-shell) + comint-mime-setup-function-alist) + ;; (setq py-python-command "ipython3" + ;; py-ipython-command "ipython3" + ;; py-python-command-args '("--pylab" "--matplotlib=inline" "--automagic" "--simple-prompt") + ;; ;; "-i" doesn't work with `isympy3' + ;; py-ipython-command-args '("--pylab" "--matplotlib=inline" "--automagic" "--simple-prompt")) + ) + ;; python-components-shift-forms (defun py-shift-left (&optional count start end) - "Dedent region according to ‘py-indent-offset’ by COUNT times. + "Dedent region according to `py-indent-offset' by COUNT times. If no region is active, current line is dedented. Return indentation reached -Optional COUNT: COUNT times ‘py-indent-offset’ +Optional COUNT: COUNT times `py-indent-offset' Optional START: region beginning Optional END: region end" (interactive "p") (py--shift-intern (- count) start end)) (defun py-shift-right (&optional count beg end) - "Indent region according to ‘py-indent-offset’ by COUNT times. + "Indent region according to `py-indent-offset' by COUNT times. If no region is active, current line is indented. Return indentation reached -Optional COUNT: COUNT times ‘py-indent-offset’ +Optional COUNT: COUNT times `py-indent-offset' Optional BEG: region beginning Optional END: region end" (interactive "p") @@ -6480,7 +7973,7 @@ Optional END: region end" (defun py-shift-block-right (&optional arg) "Indent block by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6490,7 +7983,7 @@ Return outmost indentation reached." (defun py-shift-block-left (&optional arg) "Dedent block by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6500,7 +7993,7 @@ Return outmost indentation reached." (defun py-shift-block-or-clause-right (&optional arg) "Indent block-or-clause by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6510,7 +8003,7 @@ Return outmost indentation reached." (defun py-shift-block-or-clause-left (&optional arg) "Dedent block-or-clause by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6520,7 +8013,7 @@ Return outmost indentation reached." (defun py-shift-class-right (&optional arg) "Indent class by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6530,7 +8023,7 @@ Return outmost indentation reached." (defun py-shift-class-left (&optional arg) "Dedent class by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6540,7 +8033,7 @@ Return outmost indentation reached." (defun py-shift-clause-right (&optional arg) "Indent clause by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6550,7 +8043,7 @@ Return outmost indentation reached." (defun py-shift-clause-left (&optional arg) "Dedent clause by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6560,7 +8053,7 @@ Return outmost indentation reached." (defun py-shift-comment-right (&optional arg) "Indent comment by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6570,7 +8063,7 @@ Return outmost indentation reached." (defun py-shift-comment-left (&optional arg) "Dedent comment by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6580,7 +8073,7 @@ Return outmost indentation reached." (defun py-shift-def-right (&optional arg) "Indent def by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6590,7 +8083,7 @@ Return outmost indentation reached." (defun py-shift-def-left (&optional arg) "Dedent def by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6600,7 +8093,7 @@ Return outmost indentation reached." (defun py-shift-def-or-class-right (&optional arg) "Indent def-or-class by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6610,7 +8103,7 @@ Return outmost indentation reached." (defun py-shift-def-or-class-left (&optional arg) "Dedent def-or-class by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6620,7 +8113,7 @@ Return outmost indentation reached." (defun py-shift-indent-right (&optional arg) "Indent indent by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6630,7 +8123,7 @@ Return outmost indentation reached." (defun py-shift-indent-left (&optional arg) "Dedent indent by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6640,7 +8133,7 @@ Return outmost indentation reached." (defun py-shift-minor-block-right (&optional arg) "Indent minor-block by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6650,7 +8143,7 @@ Return outmost indentation reached." (defun py-shift-minor-block-left (&optional arg) "Dedent minor-block by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6660,7 +8153,7 @@ Return outmost indentation reached." (defun py-shift-paragraph-right (&optional arg) "Indent paragraph by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6670,7 +8163,7 @@ Return outmost indentation reached." (defun py-shift-paragraph-left (&optional arg) "Dedent paragraph by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6680,7 +8173,7 @@ Return outmost indentation reached." (defun py-shift-region-right (&optional arg) "Indent region by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6690,7 +8183,7 @@ Return outmost indentation reached." (defun py-shift-region-left (&optional arg) "Dedent region by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6700,7 +8193,7 @@ Return outmost indentation reached." (defun py-shift-statement-right (&optional arg) "Indent statement by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6710,7 +8203,7 @@ Return outmost indentation reached." (defun py-shift-statement-left (&optional arg) "Dedent statement by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6720,7 +8213,7 @@ Return outmost indentation reached." (defun py-shift-top-level-right (&optional arg) "Indent top-level by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6730,7 +8223,7 @@ Return outmost indentation reached." (defun py-shift-top-level-left (&optional arg) "Dedent top-level by COUNT spaces. -COUNT defaults to ‘py-indent-offset’, +COUNT defaults to `py-indent-offset', use \[universal-argument] to specify a different value. Return outmost indentation reached." @@ -6875,7 +8368,7 @@ Arg REGEXP, a symbol" (unless (py-beginning-of-statement-p) (py-backward-statement)) (let* (;; when at block-start, be specific - (regexp (py--refine-regexp-maybe regexp)) + ;; (regexp (py--refine-regexp-maybe regexp)) (regexpvalue (symbol-value regexp)) ;; (regexp (or regexp (symbol-value 'py-extended-block-or-clause-re))) (repeat (if repeat (1+ repeat) 0)) @@ -6962,9 +8455,9 @@ Arg REGEXP, a symbol" (when beg (goto-char beg)))) (defun py-backward-block () - "Go to beginning of ‘block’. + "Go to beginning of `block'. -If already at beginning, go one ‘block’ backward. +If already at beginning, go one `block' backward. Return beginning of form if successful, nil otherwise" (interactive) (let (erg) @@ -6974,9 +8467,9 @@ Return beginning of form if successful, nil otherwise" erg)) (defun py-backward-class () - "Go to beginning of ‘class’. + "Go to beginning of `class'. -If already at beginning, go one ‘class’ backward. +If already at beginning, go one `class' backward. Return beginning of form if successful, nil otherwise" (interactive) (let (erg) @@ -6986,9 +8479,9 @@ Return beginning of form if successful, nil otherwise" erg)) (defun py-backward-def () - "Go to beginning of ‘def’. + "Go to beginning of `def'. -If already at beginning, go one ‘def’ backward. +If already at beginning, go one `def' backward. Return beginning of form if successful, nil otherwise" (interactive) (let (erg) @@ -6998,9 +8491,9 @@ Return beginning of form if successful, nil otherwise" erg)) (defun py-backward-def-or-class () - "Go to beginning of ‘def-or-class’. + "Go to beginning of `def-or-class'. -If already at beginning, go one ‘def-or-class’ backward. +If already at beginning, go one `def-or-class' backward. Return beginning of form if successful, nil otherwise" (interactive) (let (erg) @@ -7010,196 +8503,196 @@ Return beginning of form if successful, nil otherwise" erg)) (defun py-backward-block-bol () - "Go to beginning of ‘block’, go to BOL. -If already at beginning, go one ‘block’ backward. -Return beginning of ‘block’ if successful, nil otherwise" + "Go to beginning of `block', go to BOL. +If already at beginning, go one `block' backward. +Return beginning of `block' if successful, nil otherwise" (interactive) (and (py-backward-block) (progn (beginning-of-line)(point)))) ;;;###autoload (defun py-backward-class-bol () - "Go to beginning of ‘class’, go to BOL. -If already at beginning, go one ‘class’ backward. -Return beginning of ‘class’ if successful, nil otherwise" + "Go to beginning of `class', go to BOL. +If already at beginning, go one `class' backward. +Return beginning of `class' if successful, nil otherwise" (interactive) (and (py-backward-class) (progn (beginning-of-line)(point)))) ;;;###autoload (defun py-backward-def-bol () - "Go to beginning of ‘def’, go to BOL. -If already at beginning, go one ‘def’ backward. -Return beginning of ‘def’ if successful, nil otherwise" + "Go to beginning of `def', go to BOL. +If already at beginning, go one `def' backward. +Return beginning of `def' if successful, nil otherwise" (interactive) (and (py-backward-def) (progn (beginning-of-line)(point)))) ;;;###autoload (defun py-backward-def-or-class-bol () - "Go to beginning of ‘def-or-class’, go to BOL. -If already at beginning, go one ‘def-or-class’ backward. -Return beginning of ‘def-or-class’ if successful, nil otherwise" + "Go to beginning of `def-or-class', go to BOL. +If already at beginning, go one `def-or-class' backward. +Return beginning of `def-or-class' if successful, nil otherwise" (interactive) (and (py-backward-def-or-class) (progn (beginning-of-line)(point)))) (defun py-backward-assignment () - "Go to beginning of ‘assignment’. + "Go to beginning of `assignment'. -If already at beginning, go one ‘assignment’ backward. +If already at beginning, go one `assignment' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-assignment-re)))) (defun py-backward-block-or-clause () - "Go to beginning of ‘block-or-clause’. + "Go to beginning of `block-or-clause'. -If already at beginning, go one ‘block-or-clause’ backward. +If already at beginning, go one `block-or-clause' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-block-or-clause-re)))) (defun py-backward-clause () - "Go to beginning of ‘clause’. + "Go to beginning of `clause'. -If already at beginning, go one ‘clause’ backward. +If already at beginning, go one `clause' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-clause-re)))) (defun py-backward-elif-block () - "Go to beginning of ‘elif-block’. + "Go to beginning of `elif-block'. -If already at beginning, go one ‘elif-block’ backward. +If already at beginning, go one `elif-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-elif-re)))) (defun py-backward-else-block () - "Go to beginning of ‘else-block’. + "Go to beginning of `else-block'. -If already at beginning, go one ‘else-block’ backward. +If already at beginning, go one `else-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-else-re)))) (defun py-backward-except-block () - "Go to beginning of ‘except-block’. + "Go to beginning of `except-block'. -If already at beginning, go one ‘except-block’ backward. +If already at beginning, go one `except-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-except-re)))) (defun py-backward-for-block () - "Go to beginning of ‘for-block’. + "Go to beginning of `for-block'. -If already at beginning, go one ‘for-block’ backward. +If already at beginning, go one `for-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-for-re)))) (defun py-backward-if-block () - "Go to beginning of ‘if-block’. + "Go to beginning of `if-block'. -If already at beginning, go one ‘if-block’ backward. +If already at beginning, go one `if-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-if-re)))) (defun py-backward-minor-block () - "Go to beginning of ‘minor-block’. + "Go to beginning of `minor-block'. -If already at beginning, go one ‘minor-block’ backward. +If already at beginning, go one `minor-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-minor-block-re)))) (defun py-backward-try-block () - "Go to beginning of ‘try-block’. + "Go to beginning of `try-block'. -If already at beginning, go one ‘try-block’ backward. +If already at beginning, go one `try-block' backward. Return beginning of form if successful, nil otherwise" (interactive) (car-safe (cdr-safe (py--go-to-keyword 'py-try-re)))) (defun py-backward-assignment-bol () - "Go to beginning of ‘assignment’, go to BOL. -If already at beginning, go one ‘assignment’ backward. -Return beginning of ‘assignment’ if successful, nil otherwise" + "Go to beginning of `assignment', go to BOL. +If already at beginning, go one `assignment' backward. +Return beginning of `assignment' if successful, nil otherwise" (interactive) (and (py-backward-assignment) (progn (beginning-of-line)(point)))) (defun py-backward-block-or-clause-bol () - "Go to beginning of ‘block-or-clause’, go to BOL. -If already at beginning, go one ‘block-or-clause’ backward. -Return beginning of ‘block-or-clause’ if successful, nil otherwise" + "Go to beginning of `block-or-clause', go to BOL. +If already at beginning, go one `block-or-clause' backward. +Return beginning of `block-or-clause' if successful, nil otherwise" (interactive) (and (py-backward-block-or-clause) (progn (beginning-of-line)(point)))) (defun py-backward-clause-bol () - "Go to beginning of ‘clause’, go to BOL. -If already at beginning, go one ‘clause’ backward. -Return beginning of ‘clause’ if successful, nil otherwise" + "Go to beginning of `clause', go to BOL. +If already at beginning, go one `clause' backward. +Return beginning of `clause' if successful, nil otherwise" (interactive) (and (py-backward-clause) (progn (beginning-of-line)(point)))) (defun py-backward-elif-block-bol () - "Go to beginning of ‘elif-block’, go to BOL. -If already at beginning, go one ‘elif-block’ backward. -Return beginning of ‘elif-block’ if successful, nil otherwise" + "Go to beginning of `elif-block', go to BOL. +If already at beginning, go one `elif-block' backward. +Return beginning of `elif-block' if successful, nil otherwise" (interactive) (and (py-backward-elif-block) (progn (beginning-of-line)(point)))) (defun py-backward-else-block-bol () - "Go to beginning of ‘else-block’, go to BOL. -If already at beginning, go one ‘else-block’ backward. -Return beginning of ‘else-block’ if successful, nil otherwise" + "Go to beginning of `else-block', go to BOL. +If already at beginning, go one `else-block' backward. +Return beginning of `else-block' if successful, nil otherwise" (interactive) (and (py-backward-else-block) (progn (beginning-of-line)(point)))) (defun py-backward-except-block-bol () - "Go to beginning of ‘except-block’, go to BOL. -If already at beginning, go one ‘except-block’ backward. -Return beginning of ‘except-block’ if successful, nil otherwise" + "Go to beginning of `except-block', go to BOL. +If already at beginning, go one `except-block' backward. +Return beginning of `except-block' if successful, nil otherwise" (interactive) (and (py-backward-except-block) (progn (beginning-of-line)(point)))) (defun py-backward-for-block-bol () - "Go to beginning of ‘for-block’, go to BOL. -If already at beginning, go one ‘for-block’ backward. -Return beginning of ‘for-block’ if successful, nil otherwise" + "Go to beginning of `for-block', go to BOL. +If already at beginning, go one `for-block' backward. +Return beginning of `for-block' if successful, nil otherwise" (interactive) (and (py-backward-for-block) (progn (beginning-of-line)(point)))) (defun py-backward-if-block-bol () - "Go to beginning of ‘if-block’, go to BOL. -If already at beginning, go one ‘if-block’ backward. -Return beginning of ‘if-block’ if successful, nil otherwise" + "Go to beginning of `if-block', go to BOL. +If already at beginning, go one `if-block' backward. +Return beginning of `if-block' if successful, nil otherwise" (interactive) (and (py-backward-if-block) (progn (beginning-of-line)(point)))) (defun py-backward-minor-block-bol () - "Go to beginning of ‘minor-block’, go to BOL. -If already at beginning, go one ‘minor-block’ backward. -Return beginning of ‘minor-block’ if successful, nil otherwise" + "Go to beginning of `minor-block', go to BOL. +If already at beginning, go one `minor-block' backward. +Return beginning of `minor-block' if successful, nil otherwise" (interactive) (and (py-backward-minor-block) (progn (beginning-of-line)(point)))) (defun py-backward-try-block-bol () - "Go to beginning of ‘try-block’, go to BOL. -If already at beginning, go one ‘try-block’ backward. -Return beginning of ‘try-block’ if successful, nil otherwise" + "Go to beginning of `try-block', go to BOL. +If already at beginning, go one `try-block' backward. +Return beginning of `try-block' if successful, nil otherwise" (interactive) (and (py-backward-try-block) (progn (beginning-of-line)(point)))) @@ -7210,17 +8703,17 @@ Return beginning of ‘try-block’ if successful, nil otherwise" (defun py-forward-assignment (&optional orig bol) "Go to end of assignment. -Return end of ‘assignment’ if successful, nil otherwise +Return end of `assignment' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-assignment-re orig bol))) (defun py-forward-assignment-bol () - "Goto beginning of line following end of ‘assignment’. + "Goto beginning of line following end of `assignment'. Return position reached, if successful, nil otherwise. -See also ‘py-down-assignment’." +See also `py-down-assignment'." (interactive) (py-forward-assignment nil t)) @@ -7233,224 +8726,221 @@ See also ‘py-down-assignment’." (defun py-forward-block (&optional orig bol) "Go to end of block. -Return end of ‘block’ if successful, nil otherwise +Return end of `block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-block-re orig bol))) (defun py-forward-block-bol () - "Goto beginning of line following end of ‘block’. + "Goto beginning of line following end of `block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-block’." +See also `py-down-block'." (interactive) (py-forward-block nil t)) (defun py-forward-block-or-clause (&optional orig bol) "Go to end of block-or-clause. -Return end of ‘block-or-clause’ if successful, nil otherwise +Return end of `block-or-clause' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-block-or-clause-re orig bol))) (defun py-forward-block-or-clause-bol () - "Goto beginning of line following end of ‘block-or-clause’. + "Goto beginning of line following end of `block-or-clause'. Return position reached, if successful, nil otherwise. -See also ‘py-down-block-or-clause’." +See also `py-down-block-or-clause'." (interactive) (py-forward-block-or-clause nil t)) -;;;###autoload (defun py-forward-class (&optional orig bol) "Go to end of class. -Return end of ‘class’ if successful, nil otherwise +Return end of `class' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-class-re orig bol))) (defun py-forward-class-bol () - "Goto beginning of line following end of ‘class’. + "Goto beginning of line following end of `class'. Return position reached, if successful, nil otherwise. -See also ‘py-down-class’." +See also `py-down-class'." (interactive) (py-forward-class nil t)) (defun py-forward-clause (&optional orig bol) "Go to end of clause. -Return end of ‘clause’ if successful, nil otherwise +Return end of `clause' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-clause-re orig bol))) (defun py-forward-clause-bol () - "Goto beginning of line following end of ‘clause’. + "Goto beginning of line following end of `clause'. Return position reached, if successful, nil otherwise. -See also ‘py-down-clause’." +See also `py-down-clause'." (interactive) (py-forward-clause nil t)) -;;;###autoload (defun py-forward-def (&optional orig bol) "Go to end of def. -Return end of ‘def’ if successful, nil otherwise +Return end of `def' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-def-re orig bol))) (defun py-forward-def-bol () - "Goto beginning of line following end of ‘def’. + "Goto beginning of line following end of `def'. Return position reached, if successful, nil otherwise. -See also ‘py-down-def’." +See also `py-down-def'." (interactive) (py-forward-def nil t)) -;;;###autoload (defun py-forward-def-or-class (&optional orig bol) "Go to end of def-or-class. -Return end of ‘def-or-class’ if successful, nil otherwise +Return end of `def-or-class' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-def-or-class-re orig bol))) (defun py-forward-def-or-class-bol () - "Goto beginning of line following end of ‘def-or-class’. + "Goto beginning of line following end of `def-or-class'. Return position reached, if successful, nil otherwise. -See also ‘py-down-def-or-class’." +See also `py-down-def-or-class'." (interactive) (py-forward-def-or-class nil t)) (defun py-forward-elif-block (&optional orig bol) "Go to end of elif-block. -Return end of ‘elif-block’ if successful, nil otherwise +Return end of `elif-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-elif-re orig bol))) (defun py-forward-elif-block-bol () - "Goto beginning of line following end of ‘elif-block’. + "Goto beginning of line following end of `elif-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-elif-block’." +See also `py-down-elif-block'." (interactive) (py-forward-elif-block nil t)) (defun py-forward-else-block (&optional orig bol) "Go to end of else-block. -Return end of ‘else-block’ if successful, nil otherwise +Return end of `else-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-else-re orig bol))) (defun py-forward-else-block-bol () - "Goto beginning of line following end of ‘else-block’. + "Goto beginning of line following end of `else-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-else-block’." +See also `py-down-else-block'." (interactive) (py-forward-else-block nil t)) (defun py-forward-except-block (&optional orig bol) "Go to end of except-block. -Return end of ‘except-block’ if successful, nil otherwise +Return end of `except-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-except-re orig bol))) (defun py-forward-except-block-bol () - "Goto beginning of line following end of ‘except-block’. + "Goto beginning of line following end of `except-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-except-block’." +See also `py-down-except-block'." (interactive) (py-forward-except-block nil t)) (defun py-forward-for-block (&optional orig bol) "Go to end of for-block. -Return end of ‘for-block’ if successful, nil otherwise +Return end of `for-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-for-re orig bol))) (defun py-forward-for-block-bol () - "Goto beginning of line following end of ‘for-block’. + "Goto beginning of line following end of `for-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-for-block’." +See also `py-down-for-block'." (interactive) (py-forward-for-block nil t)) (defun py-forward-if-block (&optional orig bol) "Go to end of if-block. -Return end of ‘if-block’ if successful, nil otherwise +Return end of `if-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-if-re orig bol))) (defun py-forward-if-block-bol () - "Goto beginning of line following end of ‘if-block’. + "Goto beginning of line following end of `if-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-if-block’." +See also `py-down-if-block'." (interactive) (py-forward-if-block nil t)) (defun py-forward-minor-block (&optional orig bol) "Go to end of minor-block. -Return end of ‘minor-block’ if successful, nil otherwise +Return end of `minor-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-minor-block-re orig bol))) (defun py-forward-minor-block-bol () - "Goto beginning of line following end of ‘minor-block’. + "Goto beginning of line following end of `minor-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-minor-block’." +See also `py-down-minor-block'." (interactive) (py-forward-minor-block nil t)) (defun py-forward-try-block (&optional orig bol) "Go to end of try-block. -Return end of ‘try-block’ if successful, nil otherwise +Return end of `try-block' if successful, nil otherwise Optional ORIG: start position Optional BOL: go to beginning of line following end-position" (interactive) (cdr-safe (py--end-base 'py-try-re orig bol))) (defun py-forward-try-block-bol () - "Goto beginning of line following end of ‘try-block’. + "Goto beginning of line following end of `try-block'. Return position reached, if successful, nil otherwise. -See also ‘py-down-try-block’." +See also `py-down-try-block'." (interactive) (py-forward-try-block nil t)) @@ -7499,7 +8989,7 @@ Avoid empty lines at the beginning." (py-fast-send-string strg proc output-buffer result t)) (defun py--send-to-fast-process (strg proc output-buffer result) - "Called inside of ‘py--execute-base-intern’. + "Called inside of `py--execute-base-intern'. Optional STRG PROC OUTPUT-BUFFER RETURN" (let ((output-buffer (or output-buffer (process-buffer proc))) @@ -7554,7 +9044,7 @@ Returns position if successful, nil otherwise " (setq done t))) erg))) -;; might be slow due to repeated calls of ‘py-down-statement’ +;; might be slow due to repeated calls of `py-down-statement' (defun py-forward-top-level () "Go to end of top-level form at point. @@ -7584,15 +9074,15 @@ Returns position if successful, nil otherwise" ;; python-components-start3 (defun toggle-force-py-shell-name-p (&optional arg) - "If customized default ‘py-shell-name’ should be enforced upon execution. + "If customized default `py-shell-name' should be enforced upon execution. -If ‘py-force-py-shell-name-p’ should be on or off. -Returns value of ‘py-force-py-shell-name-p’ switched to. +If `py-force-py-shell-name-p' should be on or off. +Returns value of `py-force-py-shell-name-p' switched to. Optional ARG See also commands -‘force-py-shell-name-p-on’ -‘force-py-shell-name-p-off’ +`force-py-shell-name-p-on' +`force-py-shell-name-p-off' Caveat: Completion might not work that way." (interactive) @@ -7604,10 +9094,10 @@ Caveat: Completion might not work that way." py-force-py-shell-name-p)) (defun force-py-shell-name-p-on () - "Switch ‘py-force-py-shell-name-p’ on. + "Switch `py-force-py-shell-name-p' on. -Customized default ‘py-shell-name’ will be enforced upon execution. -Returns value of ‘py-force-py-shell-name-p’. +Customized default `py-shell-name' will be enforced upon execution. +Returns value of `py-force-py-shell-name-p'. Caveat: Completion might not work that way." (interactive) @@ -7616,21 +9106,19 @@ Caveat: Completion might not work that way." py-force-py-shell-name-p) (defun force-py-shell-name-p-off () - "Make sure, ‘py-force-py-shell-name-p’ is off. + "Make sure, `py-force-py-shell-name-p' is off. Function to use by executes will be guessed from environment. -Returns value of ‘py-force-py-shell-name-p’." +Returns value of `py-force-py-shell-name-p'." (interactive) (toggle-force-py-shell-name-p -1) (when (or py-verbose-p (called-interactively-p 'any)) (message "py-force-py-shell-name-p: %s" py-force-py-shell-name-p)) py-force-py-shell-name-p) - - (defun py--fix-if-name-main-permission (strg) "Remove \"if __name__ == '__main__ '\" STRG from code to execute. -See ‘py-if-name-main-permission-p’" +See `py-if-name-main-permission-p'" (let ((strg (if py-if-name-main-permission-p strg (replace-regexp-in-string "if[( ]*__name__[) ]*==[( ]*['\"]\\{1,3\\}__main__['\"]\\{1,3\\}[) ]*:" @@ -7721,8 +9209,8 @@ Set local value of `py-indent-offset', return it Might change local value of `py-indent-offset' only when called downwards from beginning of block followed by a statement. -Otherwise ‘default-value’ is returned. -Unless DIRECTION is symbol 'forward, go backward first" +Otherwise `default-value' is returned. +Unless DIRECTION is symbol \\='forward, go backward first" (interactive) (save-excursion (let* ((indents @@ -7741,10 +9229,6 @@ Unless DIRECTION is symbol 'forward, go backward first" (when (called-interactively-p 'any) (message "%s" py-indent-offset)) py-indent-offset))) - - - - (defun py--execute-buffer-finally (strg proc procbuf origline filename fast wholebuf) (if (and filename wholebuf (not (buffer-modified-p))) (unwind-protect @@ -7757,7 +9241,6 @@ Unless DIRECTION is symbol 'forward, go backward first" (py--execute-file-base tempfile proc nil procbuf origline fast) (and (file-readable-p tempfile) (delete-file tempfile py-debug-p)))))) - (defun py--postprocess-intern (&optional origline exception-buffer output-buffer) "Highlight exceptions found in BUF. @@ -7794,7 +9277,7 @@ thus remember line of source buffer" (progn (skip-chars-forward " \t\r\n\f" (line-end-position))(point))) (insert (concat " File " (buffer-name exception-buffer) ", line " (prin1-to-string origline))))) - ;; these are let-bound as ‘tempbuf’ + ;; these are let-bound as `tempbuf' (and (boundp 'tempbuf) ;; (message "%s" tempbuf) (search-forward (buffer-name tempbuf) nil t) @@ -7874,7 +9357,7 @@ May we get rid of the temporary file?" (unless (string-match "[jJ]ython" which-shell) ;; (when (and execute-directory py-use-current-dir-when-execute-p ;; (not (string= execute-directory default-directory))) - ;; (message "Warning: options ‘execute-directory’ and ‘py-use-current-dir-when-execute-p’ may conflict")) + ;; (message "Warning: options `execute-directory' and `py-use-current-dir-when-execute-p' may conflict")) (and execute-directory (process-send-string proc (concat "import os; os.chdir(\"" execute-directory "\")\n")))) (set-buffer filebuf) @@ -7964,7 +9447,8 @@ START END SHELL FILENAME PROC FILE WHOLEBUF FAST DEDICATED SPLIT SWITCH." (proc (or proc-raw (get-buffer-process buffer-name) (prog1 (get-buffer-process (py-shell nil nil dedicated shell buffer-name fast exception-buffer split switch)) - (sit-for 0.1)))) + (sit-for 1) + ))) (split (if python-mode-v5-behavior-p 'just-two split))) (setq py-output-buffer (or (and python-mode-v5-behavior-p py-output-buffer) (and proc (buffer-name (process-buffer proc))) (py--choose-buffer-name shell dedicated fast))) @@ -7972,10 +9456,6 @@ START END SHELL FILENAME PROC FILE WHOLEBUF FAST DEDICATED SPLIT SWITCH." (when (or split py-split-window-on-execute py-switch-buffers-on-execute-p) (py--shell-manage-windows py-output-buffer exception-buffer (or split py-split-window-on-execute) switch)))) - - - - ;; python-components-execute-file ;; Execute file given @@ -7984,112 +9464,112 @@ START END SHELL FILENAME PROC FILE WHOLEBUF FAST DEDICATED SPLIT SWITCH." "Send file to IPython interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "ipython" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) - (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) - -(defun py-execute-file-ipython2.7 (filename) - "Send file to IPython2.7 interpreter" - (interactive "fFile: ") - (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "ipython2.7" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "ipython" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-ipython3 (filename) "Send file to IPython3 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "ipython3" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "ipython3" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-jython (filename) "Send file to Jython interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "jython" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "jython" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python (filename) "Send file to Python interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "python" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "python" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python2 (filename) "Send file to Python2 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "python2" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "python2" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python3 (filename) "Send file to Python3 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "python3" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "python3" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-pypy (filename) "Send file to PyPy interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil nil "pypy" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil nil "pypy" nil t))) + (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) + +(defun py-execute-file- (filename) + "Send file to interpreter" + (interactive "fFile: ") + (let ((interactivep (called-interactively-p 'interactive)) + (buffer (py-shell nil nil nil "" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-ipython-dedicated (filename) "Send file to a dedicatedIPython interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "ipython" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) - (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) - -(defun py-execute-file-ipython2.7-dedicated (filename) - "Send file to a dedicatedIPython2.7 interpreter" - (interactive "fFile: ") - (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "ipython2.7" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "ipython" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-ipython3-dedicated (filename) "Send file to a dedicatedIPython3 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "ipython3" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "ipython3" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-jython-dedicated (filename) "Send file to a dedicatedJython interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "jython" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "jython" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python-dedicated (filename) "Send file to a dedicatedPython interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "python" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "python" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python2-dedicated (filename) "Send file to a dedicatedPython2 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "python2" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "python2" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-python3-dedicated (filename) "Send file to a dedicatedPython3 interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "python3" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "python3" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) (defun py-execute-file-pypy-dedicated (filename) "Send file to a dedicatedPyPy interpreter" (interactive "fFile: ") (let ((interactivep (called-interactively-p 'interactive)) - (buffer (py-shell nil nil t "pypy" nil t nil py-split-window-on-execute py-switch-buffers-on-execute-p))) + (buffer (py-shell nil nil t "pypy" nil t))) + (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) + +(defun py-execute-file--dedicated (filename) + "Send file to a dedicated interpreter" + (interactive "fFile: ") + (let ((interactivep (called-interactively-p 'interactive)) + (buffer (py-shell nil nil t "" nil t))) (py--execute-file-base filename (get-buffer-process buffer) nil buffer nil t interactivep))) ;; python-components-up @@ -8211,7 +9691,7 @@ Return position if minor-block found, nil otherwise." ;; python-components-booleans-beginning-forms (defun py--beginning-of-comment-p (&optional pps) - "If cursor is at the beginning of a ‘comment’. + "If cursor is at the beginning of a `comment'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8219,7 +9699,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-expression-p (&optional pps) - "If cursor is at the beginning of a ‘expression’. + "If cursor is at the beginning of a `expression'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8227,7 +9707,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-line-p (&optional pps) - "If cursor is at the beginning of a ‘line’. + "If cursor is at the beginning of a `line'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8235,7 +9715,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-paragraph-p (&optional pps) - "If cursor is at the beginning of a ‘paragraph’. + "If cursor is at the beginning of a `paragraph'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8243,7 +9723,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-partial-expression-p (&optional pps) - "If cursor is at the beginning of a ‘partial-expression’. + "If cursor is at the beginning of a `partial-expression'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8251,7 +9731,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-section-p (&optional pps) - "If cursor is at the beginning of a ‘section’. + "If cursor is at the beginning of a `section'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8259,7 +9739,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-top-level-p (&optional pps) - "If cursor is at the beginning of a ‘top-level’. + "If cursor is at the beginning of a `top-level'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8267,7 +9747,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-assignment-p (&optional pps) - "If cursor is at the beginning of a ‘assignment’. + "If cursor is at the beginning of a `assignment'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8277,7 +9757,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-block-p (&optional pps) - "If cursor is at the beginning of a ‘block’. + "If cursor is at the beginning of a `block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8287,7 +9767,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-block-or-clause-p (&optional pps) - "If cursor is at the beginning of a ‘block-or-clause’. + "If cursor is at the beginning of a `block-or-clause'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8297,7 +9777,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-class-p (&optional pps) - "If cursor is at the beginning of a ‘class’. + "If cursor is at the beginning of a `class'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8307,7 +9787,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-clause-p (&optional pps) - "If cursor is at the beginning of a ‘clause’. + "If cursor is at the beginning of a `clause'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8317,7 +9797,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-def-p (&optional pps) - "If cursor is at the beginning of a ‘def’. + "If cursor is at the beginning of a `def'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8327,7 +9807,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-def-or-class-p (&optional pps) - "If cursor is at the beginning of a ‘def-or-class’. + "If cursor is at the beginning of a `def-or-class'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8337,7 +9817,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-elif-block-p (&optional pps) - "If cursor is at the beginning of a ‘elif-block’. + "If cursor is at the beginning of a `elif-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8347,7 +9827,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-else-block-p (&optional pps) - "If cursor is at the beginning of a ‘else-block’. + "If cursor is at the beginning of a `else-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8357,7 +9837,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-except-block-p (&optional pps) - "If cursor is at the beginning of a ‘except-block’. + "If cursor is at the beginning of a `except-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8367,7 +9847,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-for-block-p (&optional pps) - "If cursor is at the beginning of a ‘for-block’. + "If cursor is at the beginning of a `for-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8377,7 +9857,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-if-block-p (&optional pps) - "If cursor is at the beginning of a ‘if-block’. + "If cursor is at the beginning of a `if-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8387,7 +9867,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-indent-p (&optional pps) - "If cursor is at the beginning of a ‘indent’. + "If cursor is at the beginning of a `indent'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8397,7 +9877,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-minor-block-p (&optional pps) - "If cursor is at the beginning of a ‘minor-block’. + "If cursor is at the beginning of a `minor-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8407,7 +9887,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-try-block-p (&optional pps) - "If cursor is at the beginning of a ‘try-block’. + "If cursor is at the beginning of a `try-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (not (or (nth 8 pps)(nth 1 pps))) @@ -8417,7 +9897,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-assignment-bol-p (&optional pps) - "If cursor is at the beginning of a ‘assignment’. + "If cursor is at the beginning of a `assignment'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8427,7 +9907,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘block’. + "If cursor is at the beginning of a `block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8437,7 +9917,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-block-or-clause-bol-p (&optional pps) - "If cursor is at the beginning of a ‘block-or-clause’. + "If cursor is at the beginning of a `block-or-clause'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8447,7 +9927,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-class-bol-p (&optional pps) - "If cursor is at the beginning of a ‘class’. + "If cursor is at the beginning of a `class'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8457,7 +9937,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-clause-bol-p (&optional pps) - "If cursor is at the beginning of a ‘clause’. + "If cursor is at the beginning of a `clause'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8467,7 +9947,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-def-bol-p (&optional pps) - "If cursor is at the beginning of a ‘def’. + "If cursor is at the beginning of a `def'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8477,7 +9957,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-def-or-class-bol-p (&optional pps) - "If cursor is at the beginning of a ‘def-or-class’. + "If cursor is at the beginning of a `def-or-class'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8487,7 +9967,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-elif-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘elif-block’. + "If cursor is at the beginning of a `elif-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8497,7 +9977,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-else-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘else-block’. + "If cursor is at the beginning of a `else-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8507,7 +9987,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-except-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘except-block’. + "If cursor is at the beginning of a `except-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8517,7 +9997,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-for-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘for-block’. + "If cursor is at the beginning of a `for-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8527,7 +10007,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-if-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘if-block’. + "If cursor is at the beginning of a `if-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8537,7 +10017,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-indent-bol-p (&optional pps) - "If cursor is at the beginning of a ‘indent’. + "If cursor is at the beginning of a `indent'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8547,7 +10027,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-minor-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘minor-block’. + "If cursor is at the beginning of a `minor-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8557,7 +10037,7 @@ Return position, nil otherwise." (point)))) (defun py--beginning-of-try-block-bol-p (&optional pps) - "If cursor is at the beginning of a ‘try-block’. + "If cursor is at the beginning of a `try-block'. Return position, nil otherwise." (let ((pps (or pps (parse-partial-sexp (point-min) (point))))) (and (bolp) @@ -8830,9 +10310,9 @@ REPEAT - count and consider repeats" ;; Partial- or Minor Expression ;; Line (defun py-backward-line () - "Go to ‘beginning-of-line’, return position. + "Go to `beginning-of-line', return position. -If already at ‘beginning-of-line’ and not at BOB, +If already at `beginning-of-line' and not at BOB, go to beginning of previous line." (interactive) (unless (bobp) @@ -8845,9 +10325,9 @@ go to beginning of previous line." erg))) (defun py-forward-line () - "Go to ‘end-of-line’, return position. + "Go to `end-of-line', return position. -If already at ‘end-of-line’ and not at EOB, go to end of next line." +If already at `end-of-line' and not at EOB, go to end of next line." (interactive) (unless (eobp) (let ((orig (point))) @@ -9003,7 +10483,7 @@ Return position of successful, nil of not started from inside." ;; (if (eq last-command 'py-backward-assignment) ;; ;; assume at start of an assignment ;; (py--forward-assignment-intern) -;; ;; ‘py-backward-assignment’ here, avoid ‘py--beginning-of-assignment-p’ a second time +;; ;; `py-backward-assignment' here, avoid `py--beginning-of-assignment-p' a second time ;; (let* (last ;; (beg ;; (or (py--beginning-of-assignment-p) @@ -9017,6 +10497,26 @@ Return position of successful, nil of not started from inside." ;; (and beg (setq erg (py--forward-assignment-intern))) ;; erg)))) + +(defun py-up () + (interactive) + (cond + ((py--beginning-of-class-p) + (py-up-class (current-indentation))) + ((py--beginning-of-def-p) + (py-up-def (current-indentation))) + ((py--beginning-of-block-p) + (py-up-block (current-indentation))) + ((py--beginning-of-clause-p) + (py-backward-block)) + ((py-beginning-of-statement-p) + (py-backward-block-or-clause)) + (t (py-backward-statement)) + )) + + + + ;; python-components-end-position-forms @@ -9097,63 +10597,63 @@ Return position of successful, nil of not started from inside." (save-excursion (py-forward-try-block))) (defun py--end-of-block-position-bol () - "Return end of block position at ‘beginning-of-line’." + "Return end of block position at `beginning-of-line'." (save-excursion (py-forward-block-bol))) (defun py--end-of-block-or-clause-position-bol () - "Return end of block-or-clause position at ‘beginning-of-line’." + "Return end of block-or-clause position at `beginning-of-line'." (save-excursion (py-forward-block-or-clause-bol))) (defun py--end-of-class-position-bol () - "Return end of class position at ‘beginning-of-line’." + "Return end of class position at `beginning-of-line'." (save-excursion (py-forward-class-bol))) (defun py--end-of-clause-position-bol () - "Return end of clause position at ‘beginning-of-line’." + "Return end of clause position at `beginning-of-line'." (save-excursion (py-forward-clause-bol))) (defun py--end-of-def-position-bol () - "Return end of def position at ‘beginning-of-line’." + "Return end of def position at `beginning-of-line'." (save-excursion (py-forward-def-bol))) (defun py--end-of-def-or-class-position-bol () - "Return end of def-or-class position at ‘beginning-of-line’." + "Return end of def-or-class position at `beginning-of-line'." (save-excursion (py-forward-def-or-class-bol))) (defun py--end-of-elif-block-position-bol () - "Return end of elif-block position at ‘beginning-of-line’." + "Return end of elif-block position at `beginning-of-line'." (save-excursion (py-forward-elif-block-bol))) (defun py--end-of-else-block-position-bol () - "Return end of else-block position at ‘beginning-of-line’." + "Return end of else-block position at `beginning-of-line'." (save-excursion (py-forward-else-block-bol))) (defun py--end-of-except-block-position-bol () - "Return end of except-block position at ‘beginning-of-line’." + "Return end of except-block position at `beginning-of-line'." (save-excursion (py-forward-except-block-bol))) (defun py--end-of-for-block-position-bol () - "Return end of for-block position at ‘beginning-of-line’." + "Return end of for-block position at `beginning-of-line'." (save-excursion (py-forward-for-block-bol))) (defun py--end-of-if-block-position-bol () - "Return end of if-block position at ‘beginning-of-line’." + "Return end of if-block position at `beginning-of-line'." (save-excursion (py-forward-if-block-bol))) (defun py--end-of-indent-position-bol () - "Return end of indent position at ‘beginning-of-line’." + "Return end of indent position at `beginning-of-line'." (save-excursion (py-forward-indent-bol))) (defun py--end-of-minor-block-position-bol () - "Return end of minor-block position at ‘beginning-of-line’." + "Return end of minor-block position at `beginning-of-line'." (save-excursion (py-forward-minor-block-bol))) (defun py--end-of-statement-position-bol () - "Return end of statement position at ‘beginning-of-line’." + "Return end of statement position at `beginning-of-line'." (save-excursion (py-forward-statement-bol))) (defun py--end-of-try-block-position-bol () - "Return end of try-block position at ‘beginning-of-line’." + "Return end of try-block position at `beginning-of-line'." (save-excursion (py-forward-try-block-bol))) ;; python-components-beginning-position-forms @@ -9274,91 +10774,91 @@ Return position of successful, nil of not started from inside." (py-backward-try-block)))) (defun py--beginning-of-block-position-bol () - "Return beginning of block position at ‘beginning-of-line’." + "Return beginning of block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-block-bol-p) (py-backward-block-bol)))) (defun py--beginning-of-block-or-clause-position-bol () - "Return beginning of block-or-clause position at ‘beginning-of-line’." + "Return beginning of block-or-clause position at `beginning-of-line'." (save-excursion (or (py--beginning-of-block-or-clause-bol-p) (py-backward-block-or-clause-bol)))) (defun py--beginning-of-class-position-bol () - "Return beginning of class position at ‘beginning-of-line’." + "Return beginning of class position at `beginning-of-line'." (save-excursion (or (py--beginning-of-class-bol-p) (py-backward-class-bol)))) (defun py--beginning-of-clause-position-bol () - "Return beginning of clause position at ‘beginning-of-line’." + "Return beginning of clause position at `beginning-of-line'." (save-excursion (or (py--beginning-of-clause-bol-p) (py-backward-clause-bol)))) (defun py--beginning-of-def-position-bol () - "Return beginning of def position at ‘beginning-of-line’." + "Return beginning of def position at `beginning-of-line'." (save-excursion (or (py--beginning-of-def-bol-p) (py-backward-def-bol)))) (defun py--beginning-of-def-or-class-position-bol () - "Return beginning of def-or-class position at ‘beginning-of-line’." + "Return beginning of def-or-class position at `beginning-of-line'." (save-excursion (or (py--beginning-of-def-or-class-bol-p) (py-backward-def-or-class-bol)))) (defun py--beginning-of-elif-block-position-bol () - "Return beginning of elif-block position at ‘beginning-of-line’." + "Return beginning of elif-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-elif-block-bol-p) (py-backward-elif-block-bol)))) (defun py--beginning-of-else-block-position-bol () - "Return beginning of else-block position at ‘beginning-of-line’." + "Return beginning of else-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-else-block-bol-p) (py-backward-else-block-bol)))) (defun py--beginning-of-except-block-position-bol () - "Return beginning of except-block position at ‘beginning-of-line’." + "Return beginning of except-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-except-block-bol-p) (py-backward-except-block-bol)))) (defun py--beginning-of-for-block-position-bol () - "Return beginning of for-block position at ‘beginning-of-line’." + "Return beginning of for-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-for-block-bol-p) (py-backward-for-block-bol)))) (defun py--beginning-of-if-block-position-bol () - "Return beginning of if-block position at ‘beginning-of-line’." + "Return beginning of if-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-if-block-bol-p) (py-backward-if-block-bol)))) (defun py--beginning-of-indent-position-bol () - "Return beginning of indent position at ‘beginning-of-line’." + "Return beginning of indent position at `beginning-of-line'." (save-excursion (or (py--beginning-of-indent-bol-p) (py-backward-indent-bol)))) (defun py--beginning-of-minor-block-position-bol () - "Return beginning of minor-block position at ‘beginning-of-line’." + "Return beginning of minor-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-minor-block-bol-p) (py-backward-minor-block-bol)))) (defun py--beginning-of-statement-position-bol () - "Return beginning of statement position at ‘beginning-of-line’." + "Return beginning of statement position at `beginning-of-line'." (save-excursion (or (py--beginning-of-statement-bol-p) (py-backward-statement-bol)))) (defun py--beginning-of-try-block-position-bol () - "Return beginning of try-block position at ‘beginning-of-line’." + "Return beginning of try-block position at `beginning-of-line'." (save-excursion (or (py--beginning-of-try-block-bol-p) (py-backward-try-block-bol)))) @@ -9370,13 +10870,12 @@ Return position of successful, nil of not started from inside." (save-excursion (let* ((form (prin1-to-string form)) (origline (py-count-lines)) - (fast - (or fast py-fast-process-p)) - (py-exception-buffer (current-buffer)) + (fast + (or fast py-fast-process-p)) + (py-exception-buffer (current-buffer)) (beg (unless filename (prog1 (or beg (funcall (intern-soft (concat "py--beginning-of-" form "-p"))) - (funcall (intern-soft (concat "py-backward-" form))) (push-mark))))) (end (unless filename @@ -9388,4927 +10887,1717 @@ Return position of successful, nil of not started from inside." (message "%s not readable. %s" filename "Do you have write permissions?")) (py--execute-base beg end shell filename proc wholebuf fast dedicated split switch))))) -(defun py-execute-block (&optional shell dedicated fast split switch proc) - "Send block at point to interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block shell dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-switch (&optional shell dedicated fast split proc) - "Send block at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block shell dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-no-switch (&optional shell dedicated fast split proc) - "Send block at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-dedicated (&optional shell fast split switch proc) - "Send block at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-dedicated-switch (&optional shell fast split proc) - "Send block at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block shell t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-ipython (&optional dedicated fast split switch proc) - "Send block at point to IPython interpreter." + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-ipython-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython-no-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-ipython-dedicated (&optional fast split switch proc) - "Send block at point to IPython unique interpreter." + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-ipython-dedicated-switch (&optional fast split proc) - "Send block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython2.7 (&optional dedicated fast split switch proc) - "Send block at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython2.7-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython2.7-dedicated (&optional fast split switch proc) - "Send block at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython2.7-dedicated-switch (&optional fast split proc) - "Send block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-ipython3 (&optional dedicated fast split switch proc) - "Send block at point to IPython interpreter." + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-ipython3-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-ipython3-no-switch (&optional dedicated fast split proc) - "Send block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-ipython3-dedicated (&optional fast split switch proc) - "Send block at point to IPython unique interpreter." + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-ipython3-dedicated-switch (&optional fast split proc) - "Send block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-jython (&optional dedicated fast split switch proc) - "Send block at point to Jython interpreter." + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-jython-switch (&optional dedicated fast split proc) - "Send block at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-jython-no-switch (&optional dedicated fast split proc) - "Send block at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-jython-dedicated (&optional fast split switch proc) - "Send block at point to Jython unique interpreter." + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-jython-dedicated-switch (&optional fast split proc) - "Send block at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python (&optional dedicated fast split switch proc) - "Send block at point to default interpreter. + "Send block at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python-switch (&optional dedicated fast split proc) - "Send block at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-python-no-switch (&optional dedicated fast split proc) - "Send block at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python-dedicated (&optional fast split switch proc) - "Send block at point to default unique interpreter. + "Send block at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python-dedicated-switch (&optional fast split proc) - "Send block at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python2 (&optional dedicated fast split switch proc) - "Send block at point to Python2 interpreter." + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python2-switch (&optional dedicated fast split proc) - "Send block at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-python2-no-switch (&optional dedicated fast split proc) - "Send block at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python2-dedicated (&optional fast split switch proc) - "Send block at point to Python2 unique interpreter." + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python2-dedicated-switch (&optional fast split proc) - "Send block at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python3 (&optional dedicated fast split switch proc) - "Send block at point to Python3 interpreter." + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python3-switch (&optional dedicated fast split proc) - "Send block at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-python3-no-switch (&optional dedicated fast split proc) - "Send block at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-python3-dedicated (&optional fast split switch proc) - "Send block at point to Python3 unique interpreter." + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-python3-dedicated-switch (&optional fast split proc) - "Send block at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-block-pypy (&optional dedicated fast split switch proc) + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'block 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'block 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause (&optional shell dedicated fast split switch proc) - "Send block-or-clause at point to interpreter." +(defun py-execute-block-pypy-dedicated (&optional fast split switch proc) + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'block 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-switch (&optional shell dedicated fast split proc) - "Send block-or-clause at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-block (&optional shell dedicated fast split switch proc) + "Send block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'block shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-no-switch (&optional shell dedicated fast split proc) - "Send block-or-clause at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-block-dedicated (&optional shell fast split switch proc) + "Send block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-dedicated (&optional shell fast split switch proc) - "Send block-or-clause at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-dedicated-switch (&optional shell fast split proc) - "Send block-or-clause at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'block shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-block-or-clause-ipython (&optional dedicated fast split switch proc) - "Send block-or-clause at point to IPython interpreter." + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-ipython-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-ipython-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to IPython unique interpreter." + "Send block-or-clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-ipython-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython2.7 (&optional dedicated fast split switch proc) - "Send block-or-clause at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython2.7-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython2.7-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython2.7-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-ipython3 (&optional dedicated fast split switch proc) - "Send block-or-clause at point to IPython interpreter." + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-ipython3-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-ipython3-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-ipython3-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to IPython unique interpreter." + "Send block-or-clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-ipython3-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-jython (&optional dedicated fast split switch proc) - "Send block-or-clause at point to Jython interpreter." + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-jython-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-jython-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-jython-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to Jython unique interpreter." + "Send block-or-clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-jython-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python (&optional dedicated fast split switch proc) - "Send block-or-clause at point to default interpreter. + "Send block-or-clause at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-python-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to default unique interpreter. + "Send block-or-clause at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python2 (&optional dedicated fast split switch proc) - "Send block-or-clause at point to Python2 interpreter." + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python2-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-python2-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python2-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to Python2 unique interpreter." + "Send block-or-clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python2-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python3 (&optional dedicated fast split switch proc) - "Send block-or-clause at point to Python3 interpreter." + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python3-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-block-or-clause-python3-no-switch (&optional dedicated fast split proc) - "Send block-or-clause at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-block-or-clause-python3-dedicated (&optional fast split switch proc) - "Send block-or-clause at point to Python3 unique interpreter." + "Send block-or-clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'block-or-clause 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-block-or-clause-python3-dedicated-switch (&optional fast split proc) - "Send block-or-clause at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-block-or-clause-pypy (&optional dedicated fast split switch proc) + "Send block-or-clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'block-or-clause 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'block-or-clause 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-buffer (&optional shell dedicated fast split switch proc) - "Send buffer at point to interpreter." +(defun py-execute-block-or-clause-pypy-dedicated (&optional fast split switch proc) + "Send block-or-clause at point to a python3 unique interpreter." (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - (shell (or shell (py-choose-shell))) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer shell dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) + (let ((wholebuf nil)) + (py--execute-prepare 'block-or-clause 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-buffer-switch (&optional shell dedicated fast split proc) - "Send buffer at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-block-or-clause (&optional shell dedicated fast split switch proc) + "Send block-or-clause at point to a python3 interpreter." (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer shell dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) + (let ((wholebuf nil)) + (py--execute-prepare 'block-or-clause shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-buffer-no-switch (&optional shell dedicated fast split proc) - "Send buffer at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-block-or-clause-dedicated (&optional shell fast split switch proc) + "Send block-or-clause at point to a python3 unique interpreter." (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer shell dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-dedicated (&optional shell fast split switch proc) - "Send buffer at point to unique interpreter." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer shell t switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-dedicated-switch (&optional shell fast split proc) - "Send buffer at point to unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer shell t 'switch (point-min) (point-max) nil fast proc wholebuf split))) + (let ((wholebuf nil)) + (py--execute-prepare 'block-or-clause shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-buffer-ipython (&optional dedicated fast split switch proc) - "Send buffer at point to IPython interpreter." + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'ipython dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-ipython-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython-no-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-ipython-dedicated (&optional fast split switch proc) - "Send buffer at point to IPython unique interpreter." + "Send buffer at point to a python3 unique interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'ipython t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-ipython-dedicated-switch (&optional fast split proc) - "Send buffer at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython2.7 (&optional dedicated fast split switch proc) - "Send buffer at point to IPython interpreter." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython2.7 dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython2.7-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython2.7 dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython2.7 dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython2.7-dedicated (&optional fast split switch proc) - "Send buffer at point to IPython unique interpreter." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython2.7 t switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython2.7-dedicated-switch (&optional fast split proc) - "Send buffer at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython2.7 t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-ipython3 (&optional dedicated fast split switch proc) - "Send buffer at point to IPython interpreter." + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'ipython3 dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-ipython3-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython3 dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-ipython3-no-switch (&optional dedicated fast split proc) - "Send buffer at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython3 dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-ipython3-dedicated (&optional fast split switch proc) - "Send buffer at point to IPython unique interpreter." + "Send buffer at point to a python3 unique interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'ipython3 t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-ipython3-dedicated-switch (&optional fast split proc) - "Send buffer at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'ipython3 t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-jython (&optional dedicated fast split switch proc) - "Send buffer at point to Jython interpreter." + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'jython dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-jython-switch (&optional dedicated fast split proc) - "Send buffer at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'jython dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-jython-no-switch (&optional dedicated fast split proc) - "Send buffer at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'jython dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-jython-dedicated (&optional fast split switch proc) - "Send buffer at point to Jython unique interpreter." + "Send buffer at point to a python3 unique interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'jython t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-jython-dedicated-switch (&optional fast split proc) - "Send buffer at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'jython t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python (&optional dedicated fast split switch proc) - "Send buffer at point to default interpreter. + "Send buffer at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python-switch (&optional dedicated fast split proc) - "Send buffer at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-python-no-switch (&optional dedicated fast split proc) - "Send buffer at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python-dedicated (&optional fast split switch proc) - "Send buffer at point to default unique interpreter. + "Send buffer at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python-dedicated-switch (&optional fast split proc) - "Send buffer at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python2 (&optional dedicated fast split switch proc) - "Send buffer at point to Python2 interpreter." + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python2 dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python2-switch (&optional dedicated fast split proc) - "Send buffer at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python2 dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-python2-no-switch (&optional dedicated fast split proc) - "Send buffer at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python2 dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python2-dedicated (&optional fast split switch proc) - "Send buffer at point to Python2 unique interpreter." + "Send buffer at point to a python3 unique interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python2 t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python2-dedicated-switch (&optional fast split proc) - "Send buffer at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python2 t 'switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python3 (&optional dedicated fast split switch proc) - "Send buffer at point to Python3 interpreter." + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python3 dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python3-switch (&optional dedicated fast split proc) - "Send buffer at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python3 dedicated 'switch (point-min) (point-max) nil fast proc wholebuf split))) - -(defun py-execute-buffer-python3-no-switch (&optional dedicated fast split proc) - "Send buffer at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) - (wholebuf t) - filename buffer) - (when py-master-file - (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) - (set-buffer buffer)) - (py--execute-prepare 'buffer 'python3 dedicated 'no-switch (point-min) (point-max) nil fast proc wholebuf split))) - (defun py-execute-buffer-python3-dedicated (&optional fast split switch proc) - "Send buffer at point to Python3 unique interpreter." + "Send buffer at point to a python3 unique interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) (py--execute-prepare 'buffer 'python3 t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-buffer-python3-dedicated-switch (&optional fast split proc) - "Send buffer at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-buffer-pypy (&optional dedicated fast split switch proc) + "Send buffer at point to a python3 interpreter." (interactive) (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) (wholebuf t) filename buffer) (when py-master-file (setq filename (expand-file-name py-master-file) - buffer (or (get-file-buffer filename) - (find-file-noselect filename))) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) (set-buffer buffer)) - (py--execute-prepare 'buffer 'python3 t 'switch (point-min) (point-max) nil fast proc wholebuf split))) + (py--execute-prepare 'buffer 'pypy dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-class (&optional shell dedicated fast split switch proc) - "Send class at point to interpreter." +(defun py-execute-buffer-pypy-dedicated (&optional fast split switch proc) + "Send buffer at point to a python3 unique interpreter." (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class shell dedicated switch nil nil nil fast proc wholebuf split))) + (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) + (wholebuf t) + filename buffer) + (when py-master-file + (setq filename (expand-file-name py-master-file) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) + (set-buffer buffer)) + (py--execute-prepare 'buffer 'pypy t switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-class-switch (&optional shell dedicated fast split proc) - "Send class at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-buffer (&optional shell dedicated fast split switch proc) + "Send buffer at point to a python3 interpreter." (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) + (wholebuf t) + filename buffer) + (when py-master-file + (setq filename (expand-file-name py-master-file) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) + (set-buffer buffer)) + (py--execute-prepare 'buffer shell dedicated switch (point-min) (point-max) nil fast proc wholebuf split))) -(defun py-execute-class-no-switch (&optional shell dedicated fast split proc) - "Send class at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-buffer-dedicated (&optional shell fast split switch proc) + "Send buffer at point to a python3 unique interpreter." (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-dedicated (&optional shell fast split switch proc) - "Send class at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-dedicated-switch (&optional shell fast split proc) - "Send class at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class shell t 'switch nil nil nil fast proc wholebuf split))) + (let ((py-master-file (or py-master-file (py-fetch-py-master-file))) + (wholebuf t) + filename buffer) + (when py-master-file + (setq filename (expand-file-name py-master-file) + buffer (or (get-file-buffer filename) + (find-file-noselect filename))) + (set-buffer buffer)) + (py--execute-prepare 'buffer shell t switch (point-min) (point-max) nil fast proc wholebuf split))) (defun py-execute-class-ipython (&optional dedicated fast split switch proc) - "Send class at point to IPython interpreter." + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-ipython-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython-no-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-ipython-dedicated (&optional fast split switch proc) - "Send class at point to IPython unique interpreter." + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-ipython-dedicated-switch (&optional fast split proc) - "Send class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython2.7 (&optional dedicated fast split switch proc) - "Send class at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython2.7-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython2.7-dedicated (&optional fast split switch proc) - "Send class at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython2.7-dedicated-switch (&optional fast split proc) - "Send class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-ipython3 (&optional dedicated fast split switch proc) - "Send class at point to IPython interpreter." + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-ipython3-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-ipython3-no-switch (&optional dedicated fast split proc) - "Send class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-ipython3-dedicated (&optional fast split switch proc) - "Send class at point to IPython unique interpreter." + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-ipython3-dedicated-switch (&optional fast split proc) - "Send class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-jython (&optional dedicated fast split switch proc) - "Send class at point to Jython interpreter." + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-jython-switch (&optional dedicated fast split proc) - "Send class at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-jython-no-switch (&optional dedicated fast split proc) - "Send class at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-jython-dedicated (&optional fast split switch proc) - "Send class at point to Jython unique interpreter." + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-jython-dedicated-switch (&optional fast split proc) - "Send class at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python (&optional dedicated fast split switch proc) - "Send class at point to default interpreter. + "Send class at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python-switch (&optional dedicated fast split proc) - "Send class at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-python-no-switch (&optional dedicated fast split proc) - "Send class at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python-dedicated (&optional fast split switch proc) - "Send class at point to default unique interpreter. + "Send class at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python-dedicated-switch (&optional fast split proc) - "Send class at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python2 (&optional dedicated fast split switch proc) - "Send class at point to Python2 interpreter." + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python2-switch (&optional dedicated fast split proc) - "Send class at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-python2-no-switch (&optional dedicated fast split proc) - "Send class at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python2-dedicated (&optional fast split switch proc) - "Send class at point to Python2 unique interpreter." + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python2-dedicated-switch (&optional fast split proc) - "Send class at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python3 (&optional dedicated fast split switch proc) - "Send class at point to Python3 interpreter." + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python3-switch (&optional dedicated fast split proc) - "Send class at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-class-python3-no-switch (&optional dedicated fast split proc) - "Send class at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'class 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-class-python3-dedicated (&optional fast split switch proc) - "Send class at point to Python3 unique interpreter." + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'class 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-class-python3-dedicated-switch (&optional fast split proc) - "Send class at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-class-pypy (&optional dedicated fast split switch proc) + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'class 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'class 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause (&optional shell dedicated fast split switch proc) - "Send clause at point to interpreter." +(defun py-execute-class-pypy-dedicated (&optional fast split switch proc) + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'clause shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'class 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-switch (&optional shell dedicated fast split proc) - "Send clause at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-class (&optional shell dedicated fast split switch proc) + "Send class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'clause shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'class shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-no-switch (&optional shell dedicated fast split proc) - "Send clause at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-class-dedicated (&optional shell fast split switch proc) + "Send class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'clause shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-dedicated (&optional shell fast split switch proc) - "Send clause at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-dedicated-switch (&optional shell fast split proc) - "Send clause at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'class shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-clause-ipython (&optional dedicated fast split switch proc) - "Send clause at point to IPython interpreter." + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-ipython-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython-no-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-ipython-dedicated (&optional fast split switch proc) - "Send clause at point to IPython unique interpreter." + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-ipython-dedicated-switch (&optional fast split proc) - "Send clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython2.7 (&optional dedicated fast split switch proc) - "Send clause at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython2.7-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython2.7-dedicated (&optional fast split switch proc) - "Send clause at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython2.7-dedicated-switch (&optional fast split proc) - "Send clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-ipython3 (&optional dedicated fast split switch proc) - "Send clause at point to IPython interpreter." + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-ipython3-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-ipython3-no-switch (&optional dedicated fast split proc) - "Send clause at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-ipython3-dedicated (&optional fast split switch proc) - "Send clause at point to IPython unique interpreter." + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-ipython3-dedicated-switch (&optional fast split proc) - "Send clause at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-jython (&optional dedicated fast split switch proc) - "Send clause at point to Jython interpreter." + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-jython-switch (&optional dedicated fast split proc) - "Send clause at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-jython-no-switch (&optional dedicated fast split proc) - "Send clause at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-jython-dedicated (&optional fast split switch proc) - "Send clause at point to Jython unique interpreter." + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-jython-dedicated-switch (&optional fast split proc) - "Send clause at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python (&optional dedicated fast split switch proc) - "Send clause at point to default interpreter. + "Send clause at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python-switch (&optional dedicated fast split proc) - "Send clause at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-python-no-switch (&optional dedicated fast split proc) - "Send clause at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python-dedicated (&optional fast split switch proc) - "Send clause at point to default unique interpreter. + "Send clause at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python-dedicated-switch (&optional fast split proc) - "Send clause at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python2 (&optional dedicated fast split switch proc) - "Send clause at point to Python2 interpreter." + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python2-switch (&optional dedicated fast split proc) - "Send clause at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-python2-no-switch (&optional dedicated fast split proc) - "Send clause at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python2-dedicated (&optional fast split switch proc) - "Send clause at point to Python2 unique interpreter." + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python2-dedicated-switch (&optional fast split proc) - "Send clause at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python3 (&optional dedicated fast split switch proc) - "Send clause at point to Python3 interpreter." + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python3-switch (&optional dedicated fast split proc) - "Send clause at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-clause-python3-no-switch (&optional dedicated fast split proc) - "Send clause at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-clause-python3-dedicated (&optional fast split switch proc) - "Send clause at point to Python3 unique interpreter." + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'clause 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-clause-python3-dedicated-switch (&optional fast split proc) - "Send clause at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-clause-pypy (&optional dedicated fast split switch proc) + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'clause 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'clause 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def (&optional shell dedicated fast split switch proc) - "Send def at point to interpreter." +(defun py-execute-clause-pypy-dedicated (&optional fast split switch proc) + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'clause 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-switch (&optional shell dedicated fast split proc) - "Send def at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-clause (&optional shell dedicated fast split switch proc) + "Send clause at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'clause shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-no-switch (&optional shell dedicated fast split proc) - "Send def at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-clause-dedicated (&optional shell fast split switch proc) + "Send clause at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-dedicated (&optional shell fast split switch proc) - "Send def at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-dedicated-switch (&optional shell fast split proc) - "Send def at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'clause shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-def-ipython (&optional dedicated fast split switch proc) - "Send def at point to IPython interpreter." + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-ipython-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython-no-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-ipython-dedicated (&optional fast split switch proc) - "Send def at point to IPython unique interpreter." + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-ipython-dedicated-switch (&optional fast split proc) - "Send def at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython2.7 (&optional dedicated fast split switch proc) - "Send def at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython2.7-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython2.7-dedicated (&optional fast split switch proc) - "Send def at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython2.7-dedicated-switch (&optional fast split proc) - "Send def at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-ipython3 (&optional dedicated fast split switch proc) - "Send def at point to IPython interpreter." + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-ipython3-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-ipython3-no-switch (&optional dedicated fast split proc) - "Send def at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-ipython3-dedicated (&optional fast split switch proc) - "Send def at point to IPython unique interpreter." + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-ipython3-dedicated-switch (&optional fast split proc) - "Send def at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-jython (&optional dedicated fast split switch proc) - "Send def at point to Jython interpreter." + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-jython-switch (&optional dedicated fast split proc) - "Send def at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-jython-no-switch (&optional dedicated fast split proc) - "Send def at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-jython-dedicated (&optional fast split switch proc) - "Send def at point to Jython unique interpreter." + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-jython-dedicated-switch (&optional fast split proc) - "Send def at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python (&optional dedicated fast split switch proc) - "Send def at point to default interpreter. + "Send def at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python-switch (&optional dedicated fast split proc) - "Send def at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-python-no-switch (&optional dedicated fast split proc) - "Send def at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python-dedicated (&optional fast split switch proc) - "Send def at point to default unique interpreter. + "Send def at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python-dedicated-switch (&optional fast split proc) - "Send def at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python2 (&optional dedicated fast split switch proc) - "Send def at point to Python2 interpreter." + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python2-switch (&optional dedicated fast split proc) - "Send def at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-python2-no-switch (&optional dedicated fast split proc) - "Send def at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python2-dedicated (&optional fast split switch proc) - "Send def at point to Python2 unique interpreter." + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python2-dedicated-switch (&optional fast split proc) - "Send def at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python3 (&optional dedicated fast split switch proc) - "Send def at point to Python3 interpreter." + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python3-switch (&optional dedicated fast split proc) - "Send def at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-python3-no-switch (&optional dedicated fast split proc) - "Send def at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-python3-dedicated (&optional fast split switch proc) - "Send def at point to Python3 unique interpreter." + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-python3-dedicated-switch (&optional fast split proc) - "Send def at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-def-pypy (&optional dedicated fast split switch proc) + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class (&optional shell dedicated fast split switch proc) - "Send def-or-class at point to interpreter." +(defun py-execute-def-pypy-dedicated (&optional fast split switch proc) + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-switch (&optional shell dedicated fast split proc) - "Send def-or-class at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-def (&optional shell dedicated fast split switch proc) + "Send def at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-no-switch (&optional shell dedicated fast split proc) - "Send def-or-class at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-def-dedicated (&optional shell fast split switch proc) + "Send def at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-dedicated (&optional shell fast split switch proc) - "Send def-or-class at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-dedicated-switch (&optional shell fast split proc) - "Send def-or-class at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-def-or-class-ipython (&optional dedicated fast split switch proc) - "Send def-or-class at point to IPython interpreter." + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-ipython-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-ipython-dedicated (&optional fast split switch proc) - "Send def-or-class at point to IPython unique interpreter." + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-ipython-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython2.7 (&optional dedicated fast split switch proc) - "Send def-or-class at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython2.7-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython2.7-dedicated (&optional fast split switch proc) - "Send def-or-class at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython2.7-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-ipython3 (&optional dedicated fast split switch proc) - "Send def-or-class at point to IPython interpreter." + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-ipython3-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-ipython3-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-ipython3-dedicated (&optional fast split switch proc) - "Send def-or-class at point to IPython unique interpreter." + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-ipython3-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-jython (&optional dedicated fast split switch proc) - "Send def-or-class at point to Jython interpreter." + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-jython-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-jython-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-jython-dedicated (&optional fast split switch proc) - "Send def-or-class at point to Jython unique interpreter." + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-jython-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python (&optional dedicated fast split switch proc) - "Send def-or-class at point to default interpreter. + "Send def-or-class at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python-switch (&optional dedicated fast split proc) - "Send def-or-class at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-python-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python-dedicated (&optional fast split switch proc) - "Send def-or-class at point to default unique interpreter. + "Send def-or-class at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python2 (&optional dedicated fast split switch proc) - "Send def-or-class at point to Python2 interpreter." + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python2-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-python2-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python2-dedicated (&optional fast split switch proc) - "Send def-or-class at point to Python2 unique interpreter." + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python2-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python3 (&optional dedicated fast split switch proc) - "Send def-or-class at point to Python3 interpreter." + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python3-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-def-or-class-python3-no-switch (&optional dedicated fast split proc) - "Send def-or-class at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-def-or-class-python3-dedicated (&optional fast split switch proc) - "Send def-or-class at point to Python3 unique interpreter." + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'def-or-class 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-def-or-class-python3-dedicated-switch (&optional fast split proc) - "Send def-or-class at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-def-or-class-pypy (&optional dedicated fast split switch proc) + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'def-or-class 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def-or-class 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression (&optional shell dedicated fast split switch proc) - "Send expression at point to interpreter." +(defun py-execute-def-or-class-pypy-dedicated (&optional fast split switch proc) + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'expression shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def-or-class 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-switch (&optional shell dedicated fast split proc) - "Send expression at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-def-or-class (&optional shell dedicated fast split switch proc) + "Send def-or-class at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'expression shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def-or-class shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-no-switch (&optional shell dedicated fast split proc) - "Send expression at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-def-or-class-dedicated (&optional shell fast split switch proc) + "Send def-or-class at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'expression shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-dedicated (&optional shell fast split switch proc) - "Send expression at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-dedicated-switch (&optional shell fast split proc) - "Send expression at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'def-or-class shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-expression-ipython (&optional dedicated fast split switch proc) - "Send expression at point to IPython interpreter." + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-ipython-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython-no-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-ipython-dedicated (&optional fast split switch proc) - "Send expression at point to IPython unique interpreter." + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-ipython-dedicated-switch (&optional fast split proc) - "Send expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython2.7 (&optional dedicated fast split switch proc) - "Send expression at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython2.7-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython2.7-dedicated (&optional fast split switch proc) - "Send expression at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython2.7-dedicated-switch (&optional fast split proc) - "Send expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-ipython3 (&optional dedicated fast split switch proc) - "Send expression at point to IPython interpreter." + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-ipython3-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-ipython3-no-switch (&optional dedicated fast split proc) - "Send expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-ipython3-dedicated (&optional fast split switch proc) - "Send expression at point to IPython unique interpreter." + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-ipython3-dedicated-switch (&optional fast split proc) - "Send expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-jython (&optional dedicated fast split switch proc) - "Send expression at point to Jython interpreter." + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-jython-switch (&optional dedicated fast split proc) - "Send expression at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-jython-no-switch (&optional dedicated fast split proc) - "Send expression at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-jython-dedicated (&optional fast split switch proc) - "Send expression at point to Jython unique interpreter." + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-jython-dedicated-switch (&optional fast split proc) - "Send expression at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python (&optional dedicated fast split switch proc) - "Send expression at point to default interpreter. + "Send expression at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python-switch (&optional dedicated fast split proc) - "Send expression at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-python-no-switch (&optional dedicated fast split proc) - "Send expression at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python-dedicated (&optional fast split switch proc) - "Send expression at point to default unique interpreter. + "Send expression at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python-dedicated-switch (&optional fast split proc) - "Send expression at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python2 (&optional dedicated fast split switch proc) - "Send expression at point to Python2 interpreter." + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python2-switch (&optional dedicated fast split proc) - "Send expression at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-python2-no-switch (&optional dedicated fast split proc) - "Send expression at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python2-dedicated (&optional fast split switch proc) - "Send expression at point to Python2 unique interpreter." + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python2-dedicated-switch (&optional fast split proc) - "Send expression at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python3 (&optional dedicated fast split switch proc) - "Send expression at point to Python3 interpreter." + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python3-switch (&optional dedicated fast split proc) - "Send expression at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-expression-python3-no-switch (&optional dedicated fast split proc) - "Send expression at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-expression-python3-dedicated (&optional fast split switch proc) - "Send expression at point to Python3 unique interpreter." + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'expression 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-expression-python3-dedicated-switch (&optional fast split proc) - "Send expression at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-expression-pypy (&optional dedicated fast split switch proc) + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'expression 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'expression 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent (&optional shell dedicated fast split switch proc) - "Send indent at point to interpreter." +(defun py-execute-expression-pypy-dedicated (&optional fast split switch proc) + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'indent shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'expression 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-switch (&optional shell dedicated fast split proc) - "Send indent at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-expression (&optional shell dedicated fast split switch proc) + "Send expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'indent shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'expression shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-no-switch (&optional shell dedicated fast split proc) - "Send indent at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-expression-dedicated (&optional shell fast split switch proc) + "Send expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'indent shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-dedicated (&optional shell fast split switch proc) - "Send indent at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-dedicated-switch (&optional shell fast split proc) - "Send indent at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'expression shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-indent-ipython (&optional dedicated fast split switch proc) - "Send indent at point to IPython interpreter." + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-ipython-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython-no-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-ipython-dedicated (&optional fast split switch proc) - "Send indent at point to IPython unique interpreter." + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-ipython-dedicated-switch (&optional fast split proc) - "Send indent at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython2.7 (&optional dedicated fast split switch proc) - "Send indent at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython2.7-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython2.7-dedicated (&optional fast split switch proc) - "Send indent at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython2.7-dedicated-switch (&optional fast split proc) - "Send indent at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-ipython3 (&optional dedicated fast split switch proc) - "Send indent at point to IPython interpreter." + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-ipython3-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-ipython3-no-switch (&optional dedicated fast split proc) - "Send indent at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-ipython3-dedicated (&optional fast split switch proc) - "Send indent at point to IPython unique interpreter." + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-ipython3-dedicated-switch (&optional fast split proc) - "Send indent at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-jython (&optional dedicated fast split switch proc) - "Send indent at point to Jython interpreter." + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-jython-switch (&optional dedicated fast split proc) - "Send indent at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-jython-no-switch (&optional dedicated fast split proc) - "Send indent at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-jython-dedicated (&optional fast split switch proc) - "Send indent at point to Jython unique interpreter." + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-jython-dedicated-switch (&optional fast split proc) - "Send indent at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python (&optional dedicated fast split switch proc) - "Send indent at point to default interpreter. + "Send indent at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python-switch (&optional dedicated fast split proc) - "Send indent at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-python-no-switch (&optional dedicated fast split proc) - "Send indent at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python-dedicated (&optional fast split switch proc) - "Send indent at point to default unique interpreter. + "Send indent at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python-dedicated-switch (&optional fast split proc) - "Send indent at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python2 (&optional dedicated fast split switch proc) - "Send indent at point to Python2 interpreter." + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python2-switch (&optional dedicated fast split proc) - "Send indent at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-python2-no-switch (&optional dedicated fast split proc) - "Send indent at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python2-dedicated (&optional fast split switch proc) - "Send indent at point to Python2 unique interpreter." + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python2-dedicated-switch (&optional fast split proc) - "Send indent at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python3 (&optional dedicated fast split switch proc) - "Send indent at point to Python3 interpreter." + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python3-switch (&optional dedicated fast split proc) - "Send indent at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-indent-python3-no-switch (&optional dedicated fast split proc) - "Send indent at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-indent-python3-dedicated (&optional fast split switch proc) - "Send indent at point to Python3 unique interpreter." + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'indent 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-indent-python3-dedicated-switch (&optional fast split proc) - "Send indent at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-indent-pypy (&optional dedicated fast split switch proc) + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'indent 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'indent 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line (&optional shell dedicated fast split switch proc) - "Send line at point to interpreter." +(defun py-execute-indent-pypy-dedicated (&optional fast split switch proc) + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'line shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'indent 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-switch (&optional shell dedicated fast split proc) - "Send line at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-indent (&optional shell dedicated fast split switch proc) + "Send indent at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'line shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'indent shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-no-switch (&optional shell dedicated fast split proc) - "Send line at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-indent-dedicated (&optional shell fast split switch proc) + "Send indent at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'line shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-dedicated (&optional shell fast split switch proc) - "Send line at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-dedicated-switch (&optional shell fast split proc) - "Send line at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'indent shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-line-ipython (&optional dedicated fast split switch proc) - "Send line at point to IPython interpreter." + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-ipython-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython-no-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-ipython-dedicated (&optional fast split switch proc) - "Send line at point to IPython unique interpreter." + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-ipython-dedicated-switch (&optional fast split proc) - "Send line at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython2.7 (&optional dedicated fast split switch proc) - "Send line at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython2.7-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython2.7-dedicated (&optional fast split switch proc) - "Send line at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython2.7-dedicated-switch (&optional fast split proc) - "Send line at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-ipython3 (&optional dedicated fast split switch proc) - "Send line at point to IPython interpreter." + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-ipython3-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-ipython3-no-switch (&optional dedicated fast split proc) - "Send line at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-ipython3-dedicated (&optional fast split switch proc) - "Send line at point to IPython unique interpreter." + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-ipython3-dedicated-switch (&optional fast split proc) - "Send line at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-jython (&optional dedicated fast split switch proc) - "Send line at point to Jython interpreter." + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-jython-switch (&optional dedicated fast split proc) - "Send line at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-jython-no-switch (&optional dedicated fast split proc) - "Send line at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-jython-dedicated (&optional fast split switch proc) - "Send line at point to Jython unique interpreter." + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-jython-dedicated-switch (&optional fast split proc) - "Send line at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python (&optional dedicated fast split switch proc) - "Send line at point to default interpreter. + "Send line at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python-switch (&optional dedicated fast split proc) - "Send line at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-python-no-switch (&optional dedicated fast split proc) - "Send line at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python-dedicated (&optional fast split switch proc) - "Send line at point to default unique interpreter. + "Send line at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python-dedicated-switch (&optional fast split proc) - "Send line at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python2 (&optional dedicated fast split switch proc) - "Send line at point to Python2 interpreter." + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python2-switch (&optional dedicated fast split proc) - "Send line at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-python2-no-switch (&optional dedicated fast split proc) - "Send line at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python2-dedicated (&optional fast split switch proc) - "Send line at point to Python2 unique interpreter." + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python2-dedicated-switch (&optional fast split proc) - "Send line at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python3 (&optional dedicated fast split switch proc) - "Send line at point to Python3 interpreter." + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python3-switch (&optional dedicated fast split proc) - "Send line at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-line-python3-no-switch (&optional dedicated fast split proc) - "Send line at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'line 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-line-python3-dedicated (&optional fast split switch proc) - "Send line at point to Python3 unique interpreter." + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'line 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-line-python3-dedicated-switch (&optional fast split proc) - "Send line at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-line-pypy (&optional dedicated fast split switch proc) + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'line 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'line 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block (&optional shell dedicated fast split switch proc) - "Send minor-block at point to interpreter." +(defun py-execute-line-pypy-dedicated (&optional fast split switch proc) + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'minor-block shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'line 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-switch (&optional shell dedicated fast split proc) - "Send minor-block at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-line (&optional shell dedicated fast split switch proc) + "Send line at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'minor-block shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'line shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-no-switch (&optional shell dedicated fast split proc) - "Send minor-block at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-line-dedicated (&optional shell fast split switch proc) + "Send line at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'minor-block shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-dedicated (&optional shell fast split switch proc) - "Send minor-block at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-dedicated-switch (&optional shell fast split proc) - "Send minor-block at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'line shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-minor-block-ipython (&optional dedicated fast split switch proc) - "Send minor-block at point to IPython interpreter." + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-ipython-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-ipython-dedicated (&optional fast split switch proc) - "Send minor-block at point to IPython unique interpreter." + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-ipython-dedicated-switch (&optional fast split proc) - "Send minor-block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython2.7 (&optional dedicated fast split switch proc) - "Send minor-block at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython2.7-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython2.7-dedicated (&optional fast split switch proc) - "Send minor-block at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython2.7-dedicated-switch (&optional fast split proc) - "Send minor-block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-ipython3 (&optional dedicated fast split switch proc) - "Send minor-block at point to IPython interpreter." + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-ipython3-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-ipython3-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-ipython3-dedicated (&optional fast split switch proc) - "Send minor-block at point to IPython unique interpreter." + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-ipython3-dedicated-switch (&optional fast split proc) - "Send minor-block at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-jython (&optional dedicated fast split switch proc) - "Send minor-block at point to Jython interpreter." + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-jython-switch (&optional dedicated fast split proc) - "Send minor-block at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-jython-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-jython-dedicated (&optional fast split switch proc) - "Send minor-block at point to Jython unique interpreter." + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-jython-dedicated-switch (&optional fast split proc) - "Send minor-block at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python (&optional dedicated fast split switch proc) - "Send minor-block at point to default interpreter. + "Send minor-block at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python-switch (&optional dedicated fast split proc) - "Send minor-block at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-python-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python-dedicated (&optional fast split switch proc) - "Send minor-block at point to default unique interpreter. + "Send minor-block at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python-dedicated-switch (&optional fast split proc) - "Send minor-block at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python2 (&optional dedicated fast split switch proc) - "Send minor-block at point to Python2 interpreter." + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python2-switch (&optional dedicated fast split proc) - "Send minor-block at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-python2-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python2-dedicated (&optional fast split switch proc) - "Send minor-block at point to Python2 unique interpreter." + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python2-dedicated-switch (&optional fast split proc) - "Send minor-block at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python3 (&optional dedicated fast split switch proc) - "Send minor-block at point to Python3 interpreter." + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python3-switch (&optional dedicated fast split proc) - "Send minor-block at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-minor-block-python3-no-switch (&optional dedicated fast split proc) - "Send minor-block at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-minor-block-python3-dedicated (&optional fast split switch proc) - "Send minor-block at point to Python3 unique interpreter." + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'minor-block 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-minor-block-python3-dedicated-switch (&optional fast split proc) - "Send minor-block at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-minor-block-pypy (&optional dedicated fast split switch proc) + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'minor-block 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'minor-block 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph (&optional shell dedicated fast split switch proc) - "Send paragraph at point to interpreter." +(defun py-execute-minor-block-pypy-dedicated (&optional fast split switch proc) + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'paragraph shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'minor-block 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-switch (&optional shell dedicated fast split proc) - "Send paragraph at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-minor-block (&optional shell dedicated fast split switch proc) + "Send minor-block at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'paragraph shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'minor-block shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-no-switch (&optional shell dedicated fast split proc) - "Send paragraph at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-minor-block-dedicated (&optional shell fast split switch proc) + "Send minor-block at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'paragraph shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-dedicated (&optional shell fast split switch proc) - "Send paragraph at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-dedicated-switch (&optional shell fast split proc) - "Send paragraph at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'minor-block shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-paragraph-ipython (&optional dedicated fast split switch proc) - "Send paragraph at point to IPython interpreter." + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-ipython-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-ipython-dedicated (&optional fast split switch proc) - "Send paragraph at point to IPython unique interpreter." + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-ipython-dedicated-switch (&optional fast split proc) - "Send paragraph at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython2.7 (&optional dedicated fast split switch proc) - "Send paragraph at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython2.7-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython2.7-dedicated (&optional fast split switch proc) - "Send paragraph at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython2.7-dedicated-switch (&optional fast split proc) - "Send paragraph at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-ipython3 (&optional dedicated fast split switch proc) - "Send paragraph at point to IPython interpreter." + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-ipython3-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-ipython3-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-ipython3-dedicated (&optional fast split switch proc) - "Send paragraph at point to IPython unique interpreter." + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-ipython3-dedicated-switch (&optional fast split proc) - "Send paragraph at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-jython (&optional dedicated fast split switch proc) - "Send paragraph at point to Jython interpreter." + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-jython-switch (&optional dedicated fast split proc) - "Send paragraph at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-jython-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-jython-dedicated (&optional fast split switch proc) - "Send paragraph at point to Jython unique interpreter." + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-jython-dedicated-switch (&optional fast split proc) - "Send paragraph at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python (&optional dedicated fast split switch proc) - "Send paragraph at point to default interpreter. + "Send paragraph at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python-switch (&optional dedicated fast split proc) - "Send paragraph at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-python-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python-dedicated (&optional fast split switch proc) - "Send paragraph at point to default unique interpreter. + "Send paragraph at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python-dedicated-switch (&optional fast split proc) - "Send paragraph at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python2 (&optional dedicated fast split switch proc) - "Send paragraph at point to Python2 interpreter." + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python2-switch (&optional dedicated fast split proc) - "Send paragraph at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-python2-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python2-dedicated (&optional fast split switch proc) - "Send paragraph at point to Python2 unique interpreter." + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python2-dedicated-switch (&optional fast split proc) - "Send paragraph at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python3 (&optional dedicated fast split switch proc) - "Send paragraph at point to Python3 interpreter." + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python3-switch (&optional dedicated fast split proc) - "Send paragraph at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-paragraph-python3-no-switch (&optional dedicated fast split proc) - "Send paragraph at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-paragraph-python3-dedicated (&optional fast split switch proc) - "Send paragraph at point to Python3 unique interpreter." + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'paragraph 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-paragraph-python3-dedicated-switch (&optional fast split proc) - "Send paragraph at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-paragraph-pypy (&optional dedicated fast split switch proc) + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'paragraph 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'paragraph 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression (&optional shell dedicated fast split switch proc) - "Send partial-expression at point to interpreter." +(defun py-execute-paragraph-pypy-dedicated (&optional fast split switch proc) + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'paragraph 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-switch (&optional shell dedicated fast split proc) - "Send partial-expression at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-paragraph (&optional shell dedicated fast split switch proc) + "Send paragraph at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'paragraph shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-no-switch (&optional shell dedicated fast split proc) - "Send partial-expression at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-paragraph-dedicated (&optional shell fast split switch proc) + "Send paragraph at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-dedicated (&optional shell fast split switch proc) - "Send partial-expression at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-dedicated-switch (&optional shell fast split proc) - "Send partial-expression at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'paragraph shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-partial-expression-ipython (&optional dedicated fast split switch proc) - "Send partial-expression at point to IPython interpreter." + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-ipython-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-ipython-dedicated (&optional fast split switch proc) - "Send partial-expression at point to IPython unique interpreter." + "Send partial-expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-ipython-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython2.7 (&optional dedicated fast split switch proc) - "Send partial-expression at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython2.7-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython2.7-dedicated (&optional fast split switch proc) - "Send partial-expression at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython2.7-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-ipython3 (&optional dedicated fast split switch proc) - "Send partial-expression at point to IPython interpreter." + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-ipython3-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-ipython3-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-ipython3-dedicated (&optional fast split switch proc) - "Send partial-expression at point to IPython unique interpreter." + "Send partial-expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-ipython3-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-jython (&optional dedicated fast split switch proc) - "Send partial-expression at point to Jython interpreter." + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-jython-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-jython-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-jython-dedicated (&optional fast split switch proc) - "Send partial-expression at point to Jython unique interpreter." + "Send partial-expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-jython-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python (&optional dedicated fast split switch proc) - "Send partial-expression at point to default interpreter. + "Send partial-expression at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python-switch (&optional dedicated fast split proc) - "Send partial-expression at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-python-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python-dedicated (&optional fast split switch proc) - "Send partial-expression at point to default unique interpreter. + "Send partial-expression at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python2 (&optional dedicated fast split switch proc) - "Send partial-expression at point to Python2 interpreter." + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python2-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-python2-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python2-dedicated (&optional fast split switch proc) - "Send partial-expression at point to Python2 unique interpreter." + "Send partial-expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python2-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python3 (&optional dedicated fast split switch proc) - "Send partial-expression at point to Python3 interpreter." + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python3-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-partial-expression-python3-no-switch (&optional dedicated fast split proc) - "Send partial-expression at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-partial-expression-python3-dedicated (&optional fast split switch proc) - "Send partial-expression at point to Python3 unique interpreter." + "Send partial-expression at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'partial-expression 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-partial-expression-python3-dedicated-switch (&optional fast split proc) - "Send partial-expression at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-partial-expression-pypy (&optional dedicated fast split switch proc) + "Send partial-expression at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'partial-expression 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'partial-expression 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-region (beg end &optional shell dedicated fast split switch proc) - "Send region at point to interpreter." - (interactive "r") +(defun py-execute-partial-expression-pypy-dedicated (&optional fast split switch proc) + "Send partial-expression at point to a python3 unique interpreter." + (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'region shell dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) + (py--execute-prepare 'partial-expression 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-region-switch (beg end &optional shell dedicated fast split proc) - "Send region at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") +(defun py-execute-partial-expression (&optional shell dedicated fast split switch proc) + "Send partial-expression at point to a python3 interpreter." + (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'region shell dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) + (py--execute-prepare 'partial-expression shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-region-no-switch (beg end &optional shell dedicated fast split proc) - "Send region at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") +(defun py-execute-partial-expression-dedicated (&optional shell fast split switch proc) + "Send partial-expression at point to a python3 unique interpreter." + (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'region shell dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-dedicated (beg end &optional shell fast split switch proc) - "Send region at point to unique interpreter." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region shell t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-dedicated-switch (beg end &optional shell fast split proc) - "Send region at point to unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region shell t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) + (py--execute-prepare 'partial-expression shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-region-ipython (beg end &optional dedicated fast split switch proc) - "Send region at point to IPython interpreter." + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'ipython dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-ipython-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-ipython-dedicated (beg end &optional fast split switch proc) - "Send region at point to IPython unique interpreter." + "Send region at point to a python3 unique interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'ipython t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-ipython-dedicated-switch (beg end &optional fast split proc) - "Send region at point to IPython unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython2.7 (beg end &optional dedicated fast split switch proc) - "Send region at point to IPython interpreter." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython2.7 dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython2.7-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython2.7 dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython2.7-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython2.7 dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython2.7-dedicated (beg end &optional fast split switch proc) - "Send region at point to IPython unique interpreter." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython2.7 t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython2.7-dedicated-switch (beg end &optional fast split proc) - "Send region at point to IPython unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython2.7 t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-ipython3 (beg end &optional dedicated fast split switch proc) - "Send region at point to IPython interpreter." + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'ipython3 dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-ipython3-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython3 dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-ipython3-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython3 dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-ipython3-dedicated (beg end &optional fast split switch proc) - "Send region at point to IPython unique interpreter." + "Send region at point to a python3 unique interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'ipython3 t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-ipython3-dedicated-switch (beg end &optional fast split proc) - "Send region at point to IPython unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'ipython3 t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-jython (beg end &optional dedicated fast split switch proc) - "Send region at point to Jython interpreter." + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'jython dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-jython-switch (beg end &optional dedicated fast split proc) - "Send region at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'jython dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-jython-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'jython dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-jython-dedicated (beg end &optional fast split switch proc) - "Send region at point to Jython unique interpreter." + "Send region at point to a python3 unique interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'jython t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-jython-dedicated-switch (beg end &optional fast split proc) - "Send region at point to Jython unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'jython t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python (beg end &optional dedicated fast split switch proc) - "Send region at point to default interpreter. + "Send region at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python-switch (beg end &optional dedicated fast split proc) - "Send region at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-python-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python-dedicated (beg end &optional fast split switch proc) - "Send region at point to default unique interpreter. + "Send region at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python-dedicated-switch (beg end &optional fast split proc) - "Send region at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python2 (beg end &optional dedicated fast split switch proc) - "Send region at point to Python2 interpreter." + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python2 dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python2-switch (beg end &optional dedicated fast split proc) - "Send region at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python2 dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-python2-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python2 dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python2-dedicated (beg end &optional fast split switch proc) - "Send region at point to Python2 unique interpreter." + "Send region at point to a python3 unique interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python2 t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python2-dedicated-switch (beg end &optional fast split proc) - "Send region at point to Python2 unique interpreter. -Switch to result." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python2 t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python3 (beg end &optional dedicated fast split switch proc) - "Send region at point to Python3 interpreter." + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python3 dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python3-switch (beg end &optional dedicated fast split proc) - "Send region at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python3 dedicated 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - -(defun py-execute-region-python3-no-switch (beg end &optional dedicated fast split proc) - "Send region at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive "r") - (let ((wholebuf nil)) - (py--execute-prepare 'region 'python3 dedicated 'no-switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) - (defun py-execute-region-python3-dedicated (beg end &optional fast split switch proc) - "Send region at point to Python3 unique interpreter." + "Send region at point to a python3 unique interpreter." (interactive "r") (let ((wholebuf nil)) (py--execute-prepare 'region 'python3 t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-region-python3-dedicated-switch (beg end &optional fast split proc) - "Send region at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-region-pypy (beg end &optional dedicated fast split switch proc) + "Send region at point to a python3 interpreter." (interactive "r") (let ((wholebuf nil)) - (py--execute-prepare 'region 'python3 t 'switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) + (py--execute-prepare 'region 'pypy dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-statement (&optional shell dedicated fast split switch proc) - "Send statement at point to interpreter." - (interactive) +(defun py-execute-region-pypy-dedicated (beg end &optional fast split switch proc) + "Send region at point to a python3 unique interpreter." + (interactive "r") (let ((wholebuf nil)) - ;; (macroexpand - (py--execute-prepare 'statement shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'region 'pypy t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-statement-switch (&optional shell dedicated fast split proc) - "Send statement at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) +(defun py-execute-region (beg end &optional shell dedicated fast split switch proc) + "Send region at point to a python3 interpreter." + (interactive "r") (let ((wholebuf nil)) - (py--execute-prepare 'statement shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'region shell dedicated switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) -(defun py-execute-statement-no-switch (&optional shell dedicated fast split proc) - "Send statement at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) +(defun py-execute-region-dedicated (beg end &optional shell fast split switch proc) + "Send region at point to a python3 unique interpreter." + (interactive "r") (let ((wholebuf nil)) - (py--execute-prepare 'statement shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-dedicated (&optional shell fast split switch proc) - "Send statement at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-dedicated-switch (&optional shell fast split proc) - "Send statement at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'region shell t switch (or beg (region-beginning)) (or end (region-end)) nil fast proc wholebuf split))) (defun py-execute-statement-ipython (&optional dedicated fast split switch proc) - "Send statement at point to IPython interpreter." + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-ipython-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython-no-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-ipython-dedicated (&optional fast split switch proc) - "Send statement at point to IPython unique interpreter." + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-ipython-dedicated-switch (&optional fast split proc) - "Send statement at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython2.7 (&optional dedicated fast split switch proc) - "Send statement at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython2.7-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython2.7-dedicated (&optional fast split switch proc) - "Send statement at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython2.7-dedicated-switch (&optional fast split proc) - "Send statement at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-ipython3 (&optional dedicated fast split switch proc) - "Send statement at point to IPython interpreter." + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-ipython3-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-ipython3-no-switch (&optional dedicated fast split proc) - "Send statement at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-ipython3-dedicated (&optional fast split switch proc) - "Send statement at point to IPython unique interpreter." + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-ipython3-dedicated-switch (&optional fast split proc) - "Send statement at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-jython (&optional dedicated fast split switch proc) - "Send statement at point to Jython interpreter." + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-jython-switch (&optional dedicated fast split proc) - "Send statement at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-jython-no-switch (&optional dedicated fast split proc) - "Send statement at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-jython-dedicated (&optional fast split switch proc) - "Send statement at point to Jython unique interpreter." + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-jython-dedicated-switch (&optional fast split proc) - "Send statement at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python (&optional dedicated fast split switch proc) - "Send statement at point to default interpreter. + "Send statement at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python-switch (&optional dedicated fast split proc) - "Send statement at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-python-no-switch (&optional dedicated fast split proc) - "Send statement at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python-dedicated (&optional fast split switch proc) - "Send statement at point to default unique interpreter. + "Send statement at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python-dedicated-switch (&optional fast split proc) - "Send statement at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python2 (&optional dedicated fast split switch proc) - "Send statement at point to Python2 interpreter." + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python2-switch (&optional dedicated fast split proc) - "Send statement at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-python2-no-switch (&optional dedicated fast split proc) - "Send statement at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python2-dedicated (&optional fast split switch proc) - "Send statement at point to Python2 unique interpreter." + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python2-dedicated-switch (&optional fast split proc) - "Send statement at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python3 (&optional dedicated fast split switch proc) - "Send statement at point to Python3 interpreter." + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python3-switch (&optional dedicated fast split proc) - "Send statement at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-statement-python3-no-switch (&optional dedicated fast split proc) - "Send statement at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-statement-python3-dedicated (&optional fast split switch proc) - "Send statement at point to Python3 unique interpreter." + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'statement 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-statement-python3-dedicated-switch (&optional fast split proc) - "Send statement at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-statement-pypy (&optional dedicated fast split switch proc) + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'statement 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'statement 'pypy dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level (&optional shell dedicated fast split switch proc) - "Send top-level at point to interpreter." +(defun py-execute-statement-pypy-dedicated (&optional fast split switch proc) + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'top-level shell dedicated switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'statement 'pypy t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-switch (&optional shell dedicated fast split proc) - "Send top-level at point to interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." +(defun py-execute-statement (&optional shell dedicated fast split switch proc) + "Send statement at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'top-level shell dedicated 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'statement shell dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-no-switch (&optional shell dedicated fast split proc) - "Send top-level at point to interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " +(defun py-execute-statement-dedicated (&optional shell fast split switch proc) + "Send statement at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'top-level shell dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-dedicated (&optional shell fast split switch proc) - "Send top-level at point to unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level shell t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-dedicated-switch (&optional shell fast split proc) - "Send top-level at point to unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level shell t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'statement shell t switch nil nil nil fast proc wholebuf split))) (defun py-execute-top-level-ipython (&optional dedicated fast split switch proc) - "Send top-level at point to IPython interpreter." + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'ipython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-ipython-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython-no-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-ipython-dedicated (&optional fast split switch proc) - "Send top-level at point to IPython unique interpreter." + "Send top-level at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'ipython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-ipython-dedicated-switch (&optional fast split proc) - "Send top-level at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython t 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython2.7 (&optional dedicated fast split switch proc) - "Send top-level at point to IPython interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython2.7 dedicated switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython2.7-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython2.7 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython2.7-no-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython2.7 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython2.7-dedicated (&optional fast split switch proc) - "Send top-level at point to IPython unique interpreter." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython2.7 t switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython2.7-dedicated-switch (&optional fast split proc) - "Send top-level at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython2.7 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-ipython3 (&optional dedicated fast split switch proc) - "Send top-level at point to IPython interpreter." + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'ipython3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-ipython3-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-ipython3-no-switch (&optional dedicated fast split proc) - "Send top-level at point to IPython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-ipython3-dedicated (&optional fast split switch proc) - "Send top-level at point to IPython unique interpreter." + "Send top-level at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'ipython3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-ipython3-dedicated-switch (&optional fast split proc) - "Send top-level at point to IPython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'ipython3 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-jython (&optional dedicated fast split switch proc) - "Send top-level at point to Jython interpreter." + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'jython dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-jython-switch (&optional dedicated fast split proc) - "Send top-level at point to Jython interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'jython dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-jython-no-switch (&optional dedicated fast split proc) - "Send top-level at point to Jython interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'jython dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-jython-dedicated (&optional fast split switch proc) - "Send top-level at point to Jython unique interpreter." + "Send top-level at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'jython t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-jython-dedicated-switch (&optional fast split proc) - "Send top-level at point to Jython unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'jython t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python (&optional dedicated fast split switch proc) - "Send top-level at point to default interpreter. + "Send top-level at point to a python3 interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python-switch (&optional dedicated fast split proc) - "Send top-level at point to default interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-python-no-switch (&optional dedicated fast split proc) - "Send top-level at point to default interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python-dedicated (&optional fast split switch proc) - "Send top-level at point to default unique interpreter. + "Send top-level at point to a python3 unique interpreter. -For ‘default’ see value of ‘py-shell-name’" +For `default' see value of `py-shell-name'" (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python-dedicated-switch (&optional fast split proc) - "Send top-level at point to default unique interpreter. -Switch to result. - -For ‘default’ see value of ‘py-shell-name’" - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python2 (&optional dedicated fast split switch proc) - "Send top-level at point to Python2 interpreter." + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python2 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python2-switch (&optional dedicated fast split proc) - "Send top-level at point to Python2 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python2 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-python2-no-switch (&optional dedicated fast split proc) - "Send top-level at point to Python2 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python2 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python2-dedicated (&optional fast split switch proc) - "Send top-level at point to Python2 unique interpreter." + "Send top-level at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python2 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python2-dedicated-switch (&optional fast split proc) - "Send top-level at point to Python2 unique interpreter. -Switch to result." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python2 t 'switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python3 (&optional dedicated fast split switch proc) - "Send top-level at point to Python3 interpreter." + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python3 dedicated switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python3-switch (&optional dedicated fast split proc) - "Send top-level at point to Python3 interpreter. - -Switch to output buffer. Ignores ‘py-switch-buffers-on-execute-p’." - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python3 dedicated 'switch nil nil nil fast proc wholebuf split))) - -(defun py-execute-top-level-python3-no-switch (&optional dedicated fast split proc) - "Send top-level at point to Python3 interpreter. - -Keep current buffer. Ignores ‘py-switch-buffers-on-execute-p’ " - (interactive) - (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python3 dedicated 'no-switch nil nil nil fast proc wholebuf split))) - (defun py-execute-top-level-python3-dedicated (&optional fast split switch proc) - "Send top-level at point to Python3 unique interpreter." + "Send top-level at point to a python3 unique interpreter." (interactive) (let ((wholebuf nil)) (py--execute-prepare 'top-level 'python3 t switch nil nil nil fast proc wholebuf split))) -(defun py-execute-top-level-python3-dedicated-switch (&optional fast split proc) - "Send top-level at point to Python3 unique interpreter. -Switch to result." +(defun py-execute-top-level-pypy (&optional dedicated fast split switch proc) + "Send top-level at point to a python3 interpreter." (interactive) (let ((wholebuf nil)) - (py--execute-prepare 'top-level 'python3 t 'switch nil nil nil fast proc wholebuf split))) + (py--execute-prepare 'top-level 'pypy dedicated switch nil nil nil fast proc wholebuf split))) + +(defun py-execute-top-level-pypy-dedicated (&optional fast split switch proc) + "Send top-level at point to a python3 unique interpreter." + (interactive) + (let ((wholebuf nil)) + (py--execute-prepare 'top-level 'pypy t switch nil nil nil fast proc wholebuf split))) + +(defun py-execute-top-level (&optional shell dedicated fast split switch proc) + "Send top-level at point to a python3 interpreter." + (interactive) + (let ((wholebuf nil)) + (py--execute-prepare 'top-level shell dedicated switch nil nil nil fast proc wholebuf split))) + +(defun py-execute-top-level-dedicated (&optional shell fast split switch proc) + "Send top-level at point to a python3 unique interpreter." + (interactive) + (let ((wholebuf nil)) + (py--execute-prepare 'top-level shell t switch nil nil nil fast proc wholebuf split))) ;; python-components-execute @@ -14323,10 +12612,10 @@ With EOB-P, go to end of buffer." ;; Split-Windows-On-Execute forms (defun py-toggle-split-windows-on-execute (&optional arg) - "If ‘py-split-window-on-execute’ should be on or off. + "If `py-split-window-on-execute' should be on or off. optional ARG - Returns value of ‘py-split-window-on-execute’ switched to." + Returns value of `py-split-window-on-execute' switched to." (interactive) (let ((arg (or arg (if py-split-window-on-execute -1 1)))) (if (< 0 arg) @@ -14336,9 +12625,9 @@ optional ARG py-split-window-on-execute)) (defun py-split-windows-on-execute-on (&optional arg) - "Make sure, ‘py-split-window-on-execute’ according to ARG. + "Make sure, `py-split-window-on-execute' according to ARG. -Returns value of ‘py-split-window-on-execute’." +Returns value of `py-split-window-on-execute'." (interactive "p") (let ((arg (or arg 1))) (py-toggle-split-windows-on-execute arg)) @@ -14346,9 +12635,9 @@ Returns value of ‘py-split-window-on-execute’." py-split-window-on-execute) (defun py-split-windows-on-execute-off () - "Make sure, ‘py-split-window-on-execute’ is off. + "Make sure, `py-split-window-on-execute' is off. -Returns value of ‘py-split-window-on-execute’." +Returns value of `py-split-window-on-execute'." (interactive) (py-toggle-split-windows-on-execute -1) (when (called-interactively-p 'any) (message "py-split-window-on-execute: %s" py-split-window-on-execute)) @@ -14356,9 +12645,9 @@ Returns value of ‘py-split-window-on-execute’." ;; Shell-Switch-Buffers-On-Execute forms (defun py-toggle-switch-buffers-on-execute (&optional arg) - "If ‘py-switch-buffers-on-execute-p’ according to ARG. + "If `py-switch-buffers-on-execute-p' according to ARG. - Returns value of ‘py-switch-buffers-on-execute-p’ switched to." + Returns value of `py-switch-buffers-on-execute-p' switched to." (interactive) (let ((arg (or arg (if py-switch-buffers-on-execute-p -1 1)))) (if (< 0 arg) @@ -14368,9 +12657,9 @@ Returns value of ‘py-split-window-on-execute’." py-switch-buffers-on-execute-p)) (defun py-switch-buffers-on-execute-on (&optional arg) - "Make sure, ‘py-switch-buffers-on-execute-p’ according to ARG. + "Make sure, `py-switch-buffers-on-execute-p' according to ARG. -Returns value of ‘py-switch-buffers-on-execute-p’." +Returns value of `py-switch-buffers-on-execute-p'." (interactive "p") (let ((arg (or arg 1))) (py-toggle-switch-buffers-on-execute arg)) @@ -14378,9 +12667,9 @@ Returns value of ‘py-switch-buffers-on-execute-p’." py-switch-buffers-on-execute-p) (defun py-switch-buffers-on-execute-off () - "Make sure, ‘py-switch-buffers-on-execute-p’ is off. + "Make sure, `py-switch-buffers-on-execute-p' is off. -Returns value of ‘py-switch-buffers-on-execute-p’." +Returns value of `py-switch-buffers-on-execute-p'." (interactive) (py-toggle-switch-buffers-on-execute -1) (when (called-interactively-p 'any) (message "py-shell-switch-buffers-on-execute: %s" py-switch-buffers-on-execute-p)) @@ -14412,7 +12701,7 @@ Returns value of ‘py-switch-buffers-on-execute-p’." "Start an interpreter in another window according to ARGPROMPT. With optional \\[universal-argument] user is prompted by -‘py-choose-shell’ for command and options to pass to the Python +`py-choose-shell' for command and options to pass to the Python interpreter." (interactive "P") (py-shell argprompt nil t)) @@ -14422,7 +12711,7 @@ interpreter." Otherwise kill default (I)Python shell. Kill buffer and its process. -Receives a ‘buffer-name’ as argument" +Receives a `buffer-name' as argument" (interactive) (let ((shell (or shell (py-shell)))) (ignore-errors (py-kill-buffer-unconditional shell)))) @@ -14446,7 +12735,7 @@ Receives a ‘buffer-name’ as argument" erg)) (defun py--guess-buffer-name (argprompt dedicated) - "Guess the ‘buffer-name’ core string according to ARGPROMPT DEDICATED." + "Guess the `buffer-name' core string according to ARGPROMPT DEDICATED." (when (and (not dedicated) argprompt (eq 4 (prefix-numeric-value argprompt))) (read-buffer "Py-Shell buffer: " @@ -14470,7 +12759,7 @@ Receives a ‘buffer-name’ as argument" (if (not (string= "" py-shell-local-path)) (expand-file-name py-shell-local-path) (when py-use-local-default - (error "Abort: ‘py-use-local-default’ is set to t but ‘py-shell-local-path’ is empty. Maybe call ‘py-toggle-local-default-use’")))) + (error "Abort: `py-use-local-default' is set to t but `py-shell-local-path' is empty. Maybe call `y-toggle-local-default-use'")))) (defun py-switch-to-shell () "Switch to Python process buffer." @@ -14480,7 +12769,7 @@ Receives a ‘buffer-name’ as argument" ;; Code execution commands (defun py--store-result-maybe (erg) - "If no error occurred and ‘py-store-result-p’ store ERG for yank." + "If no error occurred and `py-store-result-p' store ERG for yank." (and (not py-error) erg (or py-debug-p py-store-result-p) (kill-new erg))) (defun py-current-working-directory () @@ -14498,7 +12787,7 @@ Receives a ‘buffer-name’ as argument" (defun py-set-working-directory (&optional directory) "Set working directory according to optional DIRECTORY. -When given, to value of ‘py-default-working-directory’ otherwise" +When given, to value of `py-default-working-directory' otherwise" (interactive) (let* ((proc (get-buffer-process (current-buffer))) (dir (or directory py-default-working-directory)) @@ -14572,7 +12861,7 @@ Used by `py-ipython-module-completion-string'" "Send the argument STRG to an unique Python interpreter. Optional SHELL SWITCH FAST -See also ‘py-execute-region’." +See also `py-execute-region'." (interactive) (let ((strg (or strg (read-from-minibuffer "String: "))) (shell (or shell (default-value 'py-shell-name)))) @@ -14598,7 +12887,7 @@ See also ‘py-execute-region’." (unless (eq 9 (char-after)) (newline 1)) (insert (concat "import os; os.chdir(\"" directory "\")\n")))))) -;; ‘py-execute-line’ calls void function, lp:1492054, lp:1519859 +;; `py-execute-line' calls void function, lp:1492054, lp:1519859 (or (functionp 'indent-rigidly-left) (defun indent-rigidly--pop-undo () (and (memq last-command '(indent-rigidly-left indent-rigidly-right @@ -14646,16 +12935,16 @@ the latest version. If the file's name does not end in \".py\", then do execfile instead. -If the current buffer is not visiting a file, do ‘py-execute-buffer’ +If the current buffer is not visiting a file, do `py-execute-buffer' instead. -If the file local variable ‘py-master-file’ is non-nil, import or +If the file local variable `py-master-file' is non-nil, import or reload the named file instead of the buffer's file. The file may be -saved based on the value of ‘py-execute-import-or-reload-save-p’. +saved based on the value of `py-execute-import-or-reload-save-p'. -See also ‘\\[py-execute-region]’. +See also `\\[py-execute-region]'. -This may be preferable to ‘\\[py-execute-buffer]’ because: +This may be preferable to `\\[py-execute-buffer]' because: - Definitions stay in their module rather than appearing at top level, where they would clutter the global namespace and not affect @@ -14705,23 +12994,43 @@ This may be preferable to ‘\\[py-execute-buffer]’ because: (current-indentation) (+ (current-indentation) py-indent-offset))) -(defun py-compute-indentation--according-to-list-style () - "See ‘py-indent-list-style’ +(defun py-compute-indentation-according-to-list-style (pps) + "See `py-indent-list-style' Choices are: -'line-up-with-first-element (default) -'one-level-to-beginning-of-statement -'one-level-from-opener" - (save-excursion - (pcase py-indent-list-style - (`line-up-with-first-element - (1+ (current-column))) - (`one-level-to-beginning-of-statement - (py-backward-statement) - (+ py-indent-offset (current-indentation))) - (`one-level-from-first-element - (+ 1 py-indent-offset (current-column)))))) +\\='line-up-with-first-element (default) +\\='one-level-to-beginning-of-statement +\\='one-level-from-opener + +See also py-closing-list-dedents-bos" + (goto-char (nth 1 pps)) + (cond + ((and (looking-back py-assignment-re (line-beginning-position)) + ;; flexible-indentation-lp-328842 + (not (eq (match-beginning 0) (line-beginning-position)))) + (+ (current-indentation) py-indent-offset)) + (py-closing-list-dedents-bos + (current-indentation)) + (t (pcase py-indent-list-style + (`line-up-with-first-element + (if (and (eq (car (syntax-after (point))) 4) (save-excursion (forward-char 1) (eolp))) + ;; asdf = { + ;; 'a':{ + ;; 'b':3, + ;; 'c':4" + ;; + ;; b is at col 9 + ;; (+ (current-indentation) py-indent-offset) would yield 8 + ;; EOL-case dedent starts if larger at least 2 + (cond ((< 1 (- (1+ (current-column))(+ (current-indentation) py-indent-offset))) + (min (+ (current-indentation) py-indent-offset)(1+ (current-column)))) + (t (1+ (current-column)))) + (1+ (current-column)))) + (`one-level-to-beginning-of-statement + (+ (current-indentation) py-indent-offset)) + (`one-level-from-first-element + (+ 1 (current-column) py-indent-offset)))))) (defun py-compute-indentation-closing-list (pps) (cond @@ -14733,26 +13042,18 @@ Choices are: ;; just close an maybe outer list ((eq 1 (nth 0 pps)) (goto-char (nth 1 pps)) - (py-compute-indentation--according-to-list-style)))) + (py-compute-indentation-according-to-list-style pps)))) -(defun py-compute-list-indent--according-to-circumstance (pps line origline) - (and (nth 1 pps) (goto-char (nth 1 pps))) - (if (looking-at "[({\\[][ \t]*$") - (min (+ (current-indentation) py-indent-offset) - (1+ (current-column))) - (if (or line (< (py-count-lines) origline)) - (py-compute-indentation--according-to-list-style)))) - -(defun py-compute-indentation-in-list (pps line closing orig origline) +(defun py-compute-indentation-in-list (pps line closing orig) (if closing (py-compute-indentation-closing-list pps) (cond ((and (not line) (looking-back py-assignment-re (line-beginning-position))) (py--fetch-indent-statement-above orig)) - ;; (py-compute-indentation--according-to-list-style pps iact orig origline line nesting repeat indent-offset liep) + ;; (py-compute-indentation-according-to-list-style pps iact orig origline line nesting repeat indent-offset liep) (t (when (looking-back "[ \t]*\\(\\s(\\)" (line-beginning-position)) (goto-char (match-beginning 1)) (setq pps (parse-partial-sexp (point-min) (point)))) - (py-compute-list-indent--according-to-circumstance pps line origline))))) + (py-compute-indentation-according-to-list-style pps))))) (defun py-compute-comment-indentation (pps iact orig origline closing line nesting repeat indent-offset liep) (cond ((nth 8 pps) @@ -14792,32 +13093,23 @@ Choices are: ((and (eq 11 (syntax-after (point))) line py-indent-honors-inline-comment) (current-column)))) -(defun py-close-according-to-style (pps) - (goto-char (nth 1 pps)) - (if py-closing-list-dedents-bos - (current-indentation) - (pcase py-indent-list-style - (`line-up-with-first-element - (1+ (current-column))) - (`one-level-to-beginning-of-statement - (+ (current-indentation) py-indent-offset)) - (`one-level-from-first-element - (+ 1 (current-column) py-indent-offset))))) - (defun py-compute-indentation--at-closer-maybe (pps) (save-excursion (when (looking-back "^[ \t]*\\(\\s)\\)" (line-beginning-position)) (forward-char -1) (setq pps (parse-partial-sexp (point-min) (point)))) (when (and (nth 1 pps) - (looking-at "[ \t]*\\(\\s)\\)")(nth 0 pps)) - (if - ;; beyond list start? - (< (progn (unless (bobp) (forward-line -1) (line-beginning-position))) (nth 1 pps)) - (py-close-according-to-style pps) - (if py-closing-list-dedents-bos - (- (current-indentation) py-indent-offset) - (current-indentation)))))) + (looking-at "[ \t]*\\(\\s)\\)") (nth 0 pps)) + (cond + ;; no indent at empty argument (list + ((progn (skip-chars-backward " \t\r\n\f") (ignore-errors (eq 4 (car (syntax-after (1- (point))))))) + (current-indentation)) + ;; beyond list start? + ((ignore-errors (< (progn (unless (bobp) (forward-line -1) (line-beginning-position))) (nth 1 (setq pps (parse-partial-sexp (point-min) (point)))))) + (py-compute-indentation-according-to-list-style pps)) + (py-closing-list-dedents-bos + (- (current-indentation) py-indent-offset)) + (t (current-indentation)))))) (defun py-compute-indentation (&optional iact orig origline closing line nesting repeat indent-offset liep) "Compute Python indentation. @@ -14856,6 +13148,7 @@ LIEP stores line-end-position at point-of-interest (closing (or closing ;; returns update pps + ;; (and line (py-compute-indentation--at-closer-maybe pps)) (py-compute-indentation--at-closer-maybe pps))) ;; in a recursive call already (repeat (if repeat @@ -14878,169 +13171,183 @@ LIEP stores line-end-position at point-of-interest (error "`py-compute-indentation' reached loops max.") (setq nesting (nth 0 pps)) (setq indent - (cond (closing) - ((bobp) - (cond ((eq liep (line-end-position)) - 0) - ;; - ((looking-at py-outdent-re) - ;; - (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) - ((and line (looking-at py-block-or-clause-re)) - py-indent-offset) - ((looking-at py-outdent-re) - (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) - (t - (current-indentation)))) - ;; (cond ((eq liep (line-end-position)) - ;; 0) - ;; ((looking-at py-outdent-re) - ;; (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) - ;; (t - ;; (current-indentation))) - ;; in string - ((and (nth 3 pps) (nth 8 pps)) - (cond - ((py--docstring-p (nth 8 pps)) - (save-excursion - ;; (goto-char (match-beginning 0)) - (back-to-indentation) - (if (looking-at "[uUrR]?\"\"\"\\|[uUrR]?'''") - (progn - (skip-chars-backward " \t\r\n\f") - (back-to-indentation) - (if (looking-at py-def-or-class-re) - (+ (current-column) py-indent-offset) - (current-indentation))) - (skip-chars-backward " \t\r\n\f") - (back-to-indentation) - (current-indentation)))) - (t 0))) - ((and (looking-at "\"\"\"\\|'''") (not (bobp))) - (py-backward-statement) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - ;; comments - ((or - (nth 8 pps) - (and - (looking-at (concat "[ \t]*" comment-start)) - (looking-back "^[ \t]*" (line-beginning-position))(not line)) - (and (eq 11 (syntax-after (point))) line py-indent-honors-inline-comment)) - (py-compute-comment-indentation pps iact orig origline closing line nesting repeat indent-offset liep)) - ;; lists - ((nth 1 pps) - (if (< (nth 1 pps) (line-beginning-position)) - (py-compute-indentation-in-list pps line closing orig origline) - (back-to-indentation) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep))) - ((and (eq (char-after) (or ?\( ?\{ ?\[)) line) - (1+ (current-column))) - ((py-preceding-line-backslashed-p) - (progn - (py-backward-statement) - (setq this-line (py-count-lines)) - (if (< 1 (- origline this-line)) - (py--fetch-indent-line-above orig) - (if (looking-at "from +\\([^ \t\n]+\\) +import") - py-backslashed-lines-indent-offset - (+ (current-indentation) py-continuation-offset))))) - ((and (looking-at py-block-closing-keywords-re) - (eq liep (line-end-position))) - (skip-chars-backward "[ \t\r\n\f]") - (py-backward-statement) - (cond ((looking-at py-extended-block-or-clause-re) - (+ - ;; (if py-smart-indentation (py-guess-indent-offset) indent-offset) - (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) - (current-indentation))) - ((looking-at py-block-closing-keywords-re) - (- (current-indentation) (or indent-offset py-indent-offset))) - (t (current-column)))) - ((looking-at py-block-closing-keywords-re) - (if (< (line-end-position) orig) - ;; #80, Lines after return cannot be correctly indented - (if (looking-at "return[ \\t]*$") - (current-indentation) - (- (current-indentation) (or indent-offset py-indent-offset))) - (py-backward-block-or-clause) - (current-indentation))) - ;; ((and (looking-at py-elif-re) (eq (py-count-lines) origline)) - ;; (when (py--line-backward-maybe) (setq line t)) - ;; (car (py--clause-lookup-keyword py-elif-re -1 nil origline))) - ((and (looking-at py-minor-clause-re) (not line) - (eq liep (line-end-position))) - (cond ((looking-at py-outdent-re) - ;; (and (py--backward-regexp 'py-block-or-clause-re) (current-indentation))) - (and (py--go-to-keyword 'py-block-or-clause-re nil nil t) (current-indentation))) - ((bobp) 0) - (t (save-excursion (skip-chars-backward " \t\r\n\f") - (if - (py--backward-regexp 'py-block-or-clause-re) - (+ py-indent-offset (current-indentation)) - 0))))) - ((looking-at py-extended-block-or-clause-re) - (cond ((and (not line) - (eq liep (line-end-position))) - (when (py--line-backward-maybe) (setq line t)) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - (t (+ - (cond (indent-offset) - (py-smart-indentation - (py-guess-indent-offset)) - (t py-indent-offset)) - (current-indentation))))) - ((and - (< (line-end-position) liep) - (eq (current-column) (current-indentation))) - (and - (looking-at py-assignment-re) - (goto-char (match-end 0))) - ;; multiline-assignment - (if (and nesting (looking-at " *[[{(]") (not (looking-at ".+[]})][ \t]*$"))) - (+ (current-indentation) (or indent-offset py-indent-offset)) - (current-indentation))) - ((looking-at py-assignment-re) - (py-backward-statement) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - ((and (< (current-indentation) (current-column))(not line)) - (back-to-indentation) - (unless line - (setq nesting (nth 0 (parse-partial-sexp (point-min) (point))))) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - ((and (not (py--beginning-of-statement-p)) (not (and line (eq 11 (syntax-after (point)))))) - (if (bobp) - (current-column) - (if (eq (point) orig) - (progn - (when (py--line-backward-maybe) (setq line t)) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - (py-backward-statement) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)))) - ((or (py--statement-opens-block-p py-extended-block-or-clause-re) (looking-at "@")) - (if (< (py-count-lines) origline) - (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation)) - (skip-chars-backward " \t\r\n\f") - (setq line t) - (back-to-indentation) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep))) - ((and py-empty-line-closes-p (py--after-empty-line)) - (progn (py-backward-statement) - (- (current-indentation) (or indent-offset py-indent-offset)))) - ;; still at orignial line - ((and (eq liep (line-end-position)) - (save-excursion - (and (setq erg (py--go-to-keyword 'py-extended-block-or-clause-re (* py-indent-offset 99))) - ;; maybe Result: (nil nil nil), which evaluates to ‘t’ - (not (bobp)) - (if (and (not indent-offset) py-smart-indentation) (setq indent-offset (py-guess-indent-offset)) t) - (ignore-errors (< orig (or (py-forward-block-or-clause) (point))))))) - (+ (car erg) (if py-smart-indentation - (or indent-offset (py-guess-indent-offset)) - (or indent-offset py-indent-offset)))) - ((and (not line) - (eq liep (line-end-position)) - (py--beginning-of-statement-p)) - (py-backward-statement) - (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) - (t (current-indentation)))) + (cond ;; closing) + ((bobp) + (cond ((eq liep (line-end-position)) + 0) + ;; - ((looking-at py-outdent-re) + ;; - (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) + ((and line (looking-at py-block-or-clause-re)) + py-indent-offset) + ((looking-at py-outdent-re) + (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) + (t + (current-indentation)))) + ;; (cond ((eq liep (line-end-position)) + ;; 0) + ;; ((looking-at py-outdent-re) + ;; (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation))) + ;; (t + ;; (current-indentation))) + ;; in string + ((and (nth 3 pps) (nth 8 pps)) + (cond + ((py--docstring-p (nth 8 pps)) + (save-excursion + ;; (goto-char (match-beginning 0)) + (back-to-indentation) + (if (looking-at "[uUrR]?\"\"\"\\|[uUrR]?'''") + (progn + (skip-chars-backward " \t\r\n\f") + (back-to-indentation) + (if (looking-at py-def-or-class-re) + (+ (current-column) py-indent-offset) + (current-indentation))) + (skip-chars-backward " \t\r\n\f") + (back-to-indentation) + (current-indentation)))) + (t 0))) + ((and (looking-at "\"\"\"\\|'''") (not (bobp))) + (py-backward-statement) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + ;; comments + ((or + (nth 8 pps) + (and + (looking-at (concat "[ \t]*" comment-start)) + (looking-back "^[ \t]*" (line-beginning-position))(not line)) + (and (eq 11 (syntax-after (point))) line py-indent-honors-inline-comment)) + (py-compute-comment-indentation pps iact orig origline closing line nesting repeat indent-offset liep)) + ;; lists + ((nth 1 pps) + (if (< (nth 1 pps) (line-beginning-position)) + ;; Compute according to `py-indent-list-style' + + ;; Choices are: + + ;; \\='line-up-with-first-element (default) + ;; \\='one-level-to-beginning-of-statement + ;; \\='one-level-from-opener" + + ;; See also py-closing-list-dedents-bos + (py-compute-indentation-in-list pps line closing orig) + (back-to-indentation) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep))) + ((and (eq (char-after) (or ?\( ?\{ ?\[)) line) + (1+ (current-column))) + ((py-preceding-line-backslashed-p) + (progn + (py-backward-statement) + (setq this-line (py-count-lines)) + (if (< 1 (- origline this-line)) + (py--fetch-indent-line-above orig) + (if (looking-at "from +\\([^ \t\n]+\\) +import") + py-backslashed-lines-indent-offset + (+ (current-indentation) py-continuation-offset))))) + ((and (looking-at py-block-closing-keywords-re) + (eq liep (line-end-position))) + (skip-chars-backward "[ \t\r\n\f]") + (py-backward-statement) + (cond ((looking-at py-extended-block-or-clause-re) + (+ + ;; (if py-smart-indentation (py-guess-indent-offset) indent-offset) + (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) + (current-indentation))) + ((looking-at py-block-closing-keywords-re) + (- (current-indentation) (or indent-offset py-indent-offset))) + (t (current-column)))) + ((looking-at py-block-closing-keywords-re) + (if (< (line-end-position) orig) + ;; #80, Lines after return cannot be correctly indented + (if (looking-at "return[ \\t]*$") + (current-indentation) + (- (current-indentation) (or indent-offset py-indent-offset))) + (py-backward-block-or-clause) + (current-indentation))) + ;; ((and (looking-at py-elif-re) (eq (py-count-lines) origline)) + ;; (when (py--line-backward-maybe) (setq line t)) + ;; (car (py--clause-lookup-keyword py-elif-re -1 nil origline))) + ((and (looking-at py-minor-clause-re) (not line) + (eq liep (line-end-position))) + + (cond + ((looking-at py-case-re) + (py--backward-regexp 'py-match-re) (+ (current-indentation) py-indent-offset)) + ((looking-at py-outdent-re) + ;; (and (py--backward-regexp 'py-block-or-clause-re) (current-indentation))) + (and (py--go-to-keyword 'py-block-or-clause-re (current-indentation) '< t) (current-indentation))) + ((bobp) 0) + (t (save-excursion + ;; (skip-chars-backward " \t\r\n\f") + (if (py-backward-block) + ;; (py--backward-regexp 'py-block-or-clause-re) + (+ py-indent-offset (current-indentation)) + 0))))) + ((looking-at py-extended-block-or-clause-re) + (cond ((and (not line) + (eq liep (line-end-position))) + (when (py--line-backward-maybe) (setq line t)) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + (t (+ + (cond (indent-offset) + (py-smart-indentation + (py-guess-indent-offset)) + (t py-indent-offset)) + (current-indentation))))) + ((and + (< (line-end-position) liep) + (eq (current-column) (current-indentation))) + (and + (looking-at py-assignment-re) + (goto-char (match-end 0))) + ;; multiline-assignment + (if (and nesting (looking-at " *[[{(]") (not (looking-at ".+[]})][ \t]*$"))) + (+ (current-indentation) (or indent-offset py-indent-offset)) + (current-indentation))) + ((looking-at py-assignment-re) + (py-backward-statement) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + ((and (< (current-indentation) (current-column))(not line)) + (back-to-indentation) + (unless line + (setq nesting (nth 0 (parse-partial-sexp (point-min) (point))))) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + ((and (not (py--beginning-of-statement-p)) (not (and line (eq 11 (syntax-after (point)))))) + (if (bobp) + (current-column) + (if (eq (point) orig) + (progn + (when (py--line-backward-maybe) (setq line t)) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + (py-backward-statement) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)))) + ((or (py--statement-opens-block-p py-extended-block-or-clause-re) (looking-at "@")) + (if (< (py-count-lines) origline) + (+ (or indent-offset (and py-smart-indentation (py-guess-indent-offset)) py-indent-offset) (current-indentation)) + (skip-chars-backward " \t\r\n\f") + (setq line t) + (back-to-indentation) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep))) + ((and py-empty-line-closes-p (py--after-empty-line)) + (progn (py-backward-statement) + (- (current-indentation) (or indent-offset py-indent-offset)))) + ;; still at orignial line + ((and (eq liep (line-end-position)) + (save-excursion + (and (setq erg (py--go-to-keyword 'py-extended-block-or-clause-re (* py-indent-offset 99))) + ;; maybe Result: (nil nil nil), which evaluates to `t' + (not (bobp)) + (if (and (not indent-offset) py-smart-indentation) (setq indent-offset (py-guess-indent-offset)) t) + (ignore-errors (< orig (or (py-forward-block-or-clause) (point))))))) + (+ (car erg) (if py-smart-indentation + (or indent-offset (py-guess-indent-offset)) + (or indent-offset py-indent-offset)))) + ((and (not line) + (eq liep (line-end-position)) + (py--beginning-of-statement-p)) + (py-backward-statement) + (py-compute-indentation iact orig origline closing line nesting repeat indent-offset liep)) + (t (current-indentation)))) (when py-verbose-p (message "%s" indent)) indent)))))) @@ -15070,12 +13377,12 @@ If region is active, restrict uncommenting at region " (dolist (ele py-known-shells) (let ((erg (py-install-named-shells-fix-doc ele))) (eval (fset (car (read-from-string ele)) (car - (read-from-string (concat "(lambda (&optional dedicated args) \"Start a ‘" erg "’ interpreter. + (read-from-string (concat "(lambda (&optional dedicated args) \"Start a `" erg "' interpreter. Optional DEDICATED: with \\\\[universal-argument] start in a new dedicated shell. -Optional ARGS overriding ‘py-" ele "-command-args’. +Optional ARGS overriding `py-" ele "-command-args'. -Calls ‘py-shell’ +Calls `py-shell' \" (interactive \"p\") (py-shell dedicated args nil \""ele"\"))"))))))) (when (functionp (car (read-from-string (car-safe py-known-shells)))) @@ -15825,7 +14132,7 @@ Use current region unless optional args BEG END are delivered." res)) (defun py-toggle-shell-fontification (msg) - "Toggles value of ‘py-shell-fontify-p’. " + "Toggles value of `py-shell-fontify-p'. " (interactive "p") (if (setq py-shell-fontify-p (not py-shell-fontify-p)) @@ -16122,7 +14429,7 @@ Store data in kill ring, so it might yanked back." (defun py-copy-block-bol () "Delete block bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "block"))) @@ -16131,7 +14438,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-block-or-clause-bol () "Delete block-or-clause bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "block-or-clause"))) @@ -16140,7 +14447,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-buffer-bol () "Delete buffer bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "buffer"))) @@ -16149,7 +14456,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-class-bol () "Delete class bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "class"))) @@ -16158,7 +14465,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-clause-bol () "Delete clause bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "clause"))) @@ -16167,7 +14474,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-def-bol () "Delete def bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "def"))) @@ -16176,7 +14483,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-def-or-class-bol () "Delete def-or-class bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "def-or-class"))) @@ -16185,7 +14492,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-expression-bol () "Delete expression bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "expression"))) @@ -16194,7 +14501,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-indent-bol () "Delete indent bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "indent"))) @@ -16203,7 +14510,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-line-bol () "Delete line bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "line"))) @@ -16212,7 +14519,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-minor-block-bol () "Delete minor-block bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "minor-block"))) @@ -16221,7 +14528,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-paragraph-bol () "Delete paragraph bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "paragraph"))) @@ -16230,7 +14537,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-partial-expression-bol () "Delete partial-expression bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "partial-expression"))) @@ -16239,7 +14546,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-region-bol () "Delete region bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "region"))) @@ -16248,7 +14555,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-statement-bol () "Delete statement bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "statement"))) @@ -16257,7 +14564,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-copy-top-level-bol () "Delete top-level bol at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (save-excursion (let ((erg (py--mark-base-bol "top-level"))) @@ -16267,7 +14574,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-delete-block () - "Delete BLOCK at point until ‘beginning-of-line’. + "Delete BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16275,7 +14582,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-block-or-clause () - "Delete BLOCK-OR-CLAUSE at point until ‘beginning-of-line’. + "Delete BLOCK-OR-CLAUSE at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16283,17 +14590,17 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-class (&optional arg) - "Delete CLASS at point until ‘beginning-of-line’. + "Delete CLASS at point until `beginning-of-line'. Don't store data in kill ring. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, ‘decorators’ are included." +With ARG \\[universal-argument] or `py-mark-decorators' set to t, `decorators' are included." (interactive "P") (let* ((py-mark-decorators (or arg py-mark-decorators)) (erg (py--mark-base "class" py-mark-decorators))) (delete-region (car erg) (cdr erg)))) (defun py-delete-clause () - "Delete CLAUSE at point until ‘beginning-of-line’. + "Delete CLAUSE at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16301,27 +14608,27 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-def (&optional arg) - "Delete DEF at point until ‘beginning-of-line’. + "Delete DEF at point until `beginning-of-line'. Don't store data in kill ring. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, ‘decorators’ are included." +With ARG \\[universal-argument] or `py-mark-decorators' set to t, `decorators' are included." (interactive "P") (let* ((py-mark-decorators (or arg py-mark-decorators)) (erg (py--mark-base "def" py-mark-decorators))) (delete-region (car erg) (cdr erg)))) (defun py-delete-def-or-class (&optional arg) - "Delete DEF-OR-CLASS at point until ‘beginning-of-line’. + "Delete DEF-OR-CLASS at point until `beginning-of-line'. Don't store data in kill ring. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, ‘decorators’ are included." +With ARG \\[universal-argument] or `py-mark-decorators' set to t, `decorators' are included." (interactive "P") (let* ((py-mark-decorators (or arg py-mark-decorators)) (erg (py--mark-base "def-or-class" py-mark-decorators))) (delete-region (car erg) (cdr erg)))) (defun py-delete-elif-block () - "Delete ELIF-BLOCK at point until ‘beginning-of-line’. + "Delete ELIF-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16329,7 +14636,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-else-block () - "Delete ELSE-BLOCK at point until ‘beginning-of-line’. + "Delete ELSE-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16337,7 +14644,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-except-block () - "Delete EXCEPT-BLOCK at point until ‘beginning-of-line’. + "Delete EXCEPT-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16345,7 +14652,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-for-block () - "Delete FOR-BLOCK at point until ‘beginning-of-line’. + "Delete FOR-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16353,7 +14660,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-if-block () - "Delete IF-BLOCK at point until ‘beginning-of-line’. + "Delete IF-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16361,7 +14668,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-indent () - "Delete INDENT at point until ‘beginning-of-line’. + "Delete INDENT at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16369,7 +14676,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-minor-block () - "Delete MINOR-BLOCK at point until ‘beginning-of-line’. + "Delete MINOR-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16377,7 +14684,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-statement () - "Delete STATEMENT at point until ‘beginning-of-line’. + "Delete STATEMENT at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16385,7 +14692,7 @@ Don't store data in kill ring." (delete-region (car erg) (cdr erg)))) (defun py-delete-try-block () - "Delete TRY-BLOCK at point until ‘beginning-of-line’. + "Delete TRY-BLOCK at point until `beginning-of-line'. Don't store data in kill ring." (interactive) @@ -16541,7 +14848,7 @@ Return beginning and end positions of region, a cons." (defun py-mark-class (&optional arg) "Mark class, take beginning of line positions. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, decorators are marked too. +With ARG \\[universal-argument] or `py-mark-decorators' set to t, decorators are marked too. Return beginning and end positions of region, a cons." (interactive "P") (let ((py-mark-decorators (or arg py-mark-decorators))) @@ -16559,7 +14866,7 @@ Return beginning and end positions of region, a cons." (defun py-mark-def (&optional arg) "Mark def, take beginning of line positions. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, decorators are marked too. +With ARG \\[universal-argument] or `py-mark-decorators' set to t, decorators are marked too. Return beginning and end positions of region, a cons." (interactive "P") (let ((py-mark-decorators (or arg py-mark-decorators))) @@ -16569,7 +14876,7 @@ Return beginning and end positions of region, a cons." (defun py-mark-def-or-class (&optional arg) "Mark def-or-class, take beginning of line positions. -With ARG \\[universal-argument] or ‘py-mark-decorators’ set to t, decorators are marked too. +With ARG \\[universal-argument] or `py-mark-decorators' set to t, decorators are marked too. Return beginning and end positions of region, a cons." (interactive "P") (let ((py-mark-decorators (or arg py-mark-decorators))) @@ -16657,7 +14964,7 @@ Return beginning and end positions of region, a cons." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-block-re)) @@ -16668,7 +14975,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-class-re)) @@ -16679,7 +14986,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-clause-re)) @@ -16690,7 +14997,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-block-or-clause-re)) @@ -16701,7 +15008,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-def-re)) @@ -16712,7 +15019,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-def-or-class-re)) @@ -16723,7 +15030,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-minor-block-re)) @@ -16734,7 +15041,7 @@ insert a newline." Set indent level to that of beginning of function definition. If final line isn't empty -and ‘py-close-block-provides-newline’ non-nil, +and `py-close-block-provides-newline' non-nil, insert a newline." (interactive "*") (py--close-intern 'py-statement-re)) @@ -16801,7 +15108,7 @@ Stores data in kill ring" (defun py-kill-block () "Delete block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "block"))) (kill-region (car erg) (cdr erg)))) @@ -16809,7 +15116,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-block-or-clause () "Delete block-or-clause at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "block-or-clause"))) (kill-region (car erg) (cdr erg)))) @@ -16817,7 +15124,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-class () "Delete class at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "class"))) (kill-region (car erg) (cdr erg)))) @@ -16825,7 +15132,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-clause () "Delete clause at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "clause"))) (kill-region (car erg) (cdr erg)))) @@ -16833,7 +15140,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-def () "Delete def at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "def"))) (kill-region (car erg) (cdr erg)))) @@ -16841,7 +15148,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-def-or-class () "Delete def-or-class at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "def-or-class"))) (kill-region (car erg) (cdr erg)))) @@ -16849,7 +15156,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-elif-block () "Delete elif-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "elif-block"))) (kill-region (car erg) (cdr erg)))) @@ -16857,7 +15164,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-else-block () "Delete else-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "else-block"))) (kill-region (car erg) (cdr erg)))) @@ -16865,7 +15172,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-except-block () "Delete except-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "except-block"))) (kill-region (car erg) (cdr erg)))) @@ -16873,7 +15180,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-for-block () "Delete for-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "for-block"))) (kill-region (car erg) (cdr erg)))) @@ -16881,7 +15188,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-if-block () "Delete if-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "if-block"))) (kill-region (car erg) (cdr erg)))) @@ -16889,7 +15196,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-indent () "Delete indent at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "indent"))) (kill-region (car erg) (cdr erg)))) @@ -16897,7 +15204,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-minor-block () "Delete minor-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "minor-block"))) (kill-region (car erg) (cdr erg)))) @@ -16905,7 +15212,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-statement () "Delete statement at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "statement"))) (kill-region (car erg) (cdr erg)))) @@ -16913,7 +15220,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." (defun py-kill-try-block () "Delete try-block at point. -Stores data in kill ring. Might be yanked back using ‘C-y’." +Stores data in kill ring. Might be yanked back using `C-y'." (interactive "*") (let ((erg (py--mark-base-bol "try-block"))) (kill-region (car erg) (cdr erg)))) @@ -16926,7 +15233,7 @@ Stores data in kill ring. Might be yanked back using ‘C-y’." From a programm, return source of Block at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "block" (or decorators py-mark-decorators)) @@ -16938,7 +15245,7 @@ Also honors setting of ‘py-mark-decorators’" From a programm, return source of Block-Or-Clause at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "block-or-clause" (or decorators py-mark-decorators)) @@ -16959,7 +15266,7 @@ From a programm, return source of Buffer at point, a string." From a programm, return source of Class at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "class" (or decorators py-mark-decorators)) @@ -16980,7 +15287,7 @@ From a programm, return source of Clause at point, a string." From a programm, return source of Def at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "def" (or decorators py-mark-decorators)) @@ -16992,7 +15299,7 @@ Also honors setting of ‘py-mark-decorators’" From a programm, return source of Def-Or-Class at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "def-or-class" (or decorators py-mark-decorators)) @@ -17076,7 +15383,7 @@ From a programm, return source of Statement at point, a string." From a programm, return source of Top-Level at point, a string. Optional arg DECORATORS: include decorators when called at def or class. -Also honors setting of ‘py-mark-decorators’" +Also honors setting of `py-mark-decorators'" (interactive) (if (called-interactively-p 'interactive) (py--mark-base "top-level" (or decorators py-mark-decorators)) @@ -17157,7 +15464,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-assignment-bol-p () - "If at ‘beginning-of-line’ at the end of a assignment. + "If at `beginning-of-line' at the end of a assignment. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17167,7 +15474,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-block-bol-p () - "If at ‘beginning-of-line’ at the end of a block. + "If at `beginning-of-line' at the end of a block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17177,7 +15484,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-block-or-clause-bol-p () - "If at ‘beginning-of-line’ at the end of a block-or-clause. + "If at `beginning-of-line' at the end of a block-or-clause. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17187,7 +15494,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-class-bol-p () - "If at ‘beginning-of-line’ at the end of a class. + "If at `beginning-of-line' at the end of a class. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17197,7 +15504,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-clause-bol-p () - "If at ‘beginning-of-line’ at the end of a clause. + "If at `beginning-of-line' at the end of a clause. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17207,7 +15514,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-def-bol-p () - "If at ‘beginning-of-line’ at the end of a def. + "If at `beginning-of-line' at the end of a def. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17217,7 +15524,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-def-or-class-bol-p () - "If at ‘beginning-of-line’ at the end of a def-or-class. + "If at `beginning-of-line' at the end of a def-or-class. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17227,7 +15534,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-elif-block-bol-p () - "If at ‘beginning-of-line’ at the end of a elif-block. + "If at `beginning-of-line' at the end of a elif-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17237,7 +15544,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-else-block-bol-p () - "If at ‘beginning-of-line’ at the end of a else-block. + "If at `beginning-of-line' at the end of a else-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17247,7 +15554,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-except-block-bol-p () - "If at ‘beginning-of-line’ at the end of a except-block. + "If at `beginning-of-line' at the end of a except-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17257,7 +15564,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-for-block-bol-p () - "If at ‘beginning-of-line’ at the end of a for-block. + "If at `beginning-of-line' at the end of a for-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17267,7 +15574,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-if-block-bol-p () - "If at ‘beginning-of-line’ at the end of a if-block. + "If at `beginning-of-line' at the end of a if-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17277,7 +15584,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-indent-bol-p () - "If at ‘beginning-of-line’ at the end of a indent. + "If at `beginning-of-line' at the end of a indent. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17287,7 +15594,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-minor-block-bol-p () - "If at ‘beginning-of-line’ at the end of a minor-block. + "If at `beginning-of-line' at the end of a minor-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17297,7 +15604,7 @@ Return position, nil otherwise." orig)))) (defun py--end-of-try-block-bol-p () - "If at ‘beginning-of-line’ at the end of a try-block. + "If at `beginning-of-line' at the end of a try-block. Return position, nil otherwise." (let ((orig (point))) (save-excursion @@ -17831,7 +16138,7 @@ Returns value of `py-underscore-word-syntax-p'." ;; py-toggle-underscore-word-syntax-p must be known already ;; circular: py-toggle-underscore-word-syntax-p sets and calls it (defcustom py-underscore-word-syntax-p t - "If underscore chars should be of ‘syntax-class’ word. + "If underscore chars should be of `syntax-class' word. I.e. not of `symbol'. @@ -17930,7 +16237,7 @@ Requires BEG, END as the boundery of region" ;; TODO: Add docstring. ;; What is the intent of the this utility function? ;; What is the purpose of each argument? -(defun py--indent-line-intern (need cui indent col &optional beg end region outmost-only) +(defun py--indent-line-intern (need cui indent col &optional beg end region dedent) (let (erg) (if py-tab-indent (progn @@ -17957,9 +16264,9 @@ Requires BEG, END as the boundery of region" (indent-to need))) ;; ((eq need cui) - (if (and (not outmost-only) - (or (eq this-command last-command) - (eq this-command 'py-indent-line))) + (if (or dedent + (eq this-command last-command) + (eq this-command 'py-indent-line)) (if (and py-tab-shifts-region-p region) (while (and (goto-char beg) (< 0 (current-indentation))) (py-shift-region-left 1)) @@ -17994,7 +16301,7 @@ Requires BEG, END as the boundery of region" (beginning-of-line)))))) (insert-tab)))) -(defun py--indent-line-or-region-base (beg end region cui need arg this-indent-offset col &optional outmost-only) +(defun py--indent-line-or-region-base (beg end region cui need arg this-indent-offset col &optional dedent) (cond ((eq 4 (prefix-numeric-value arg)) (if (and (eq cui (current-indentation)) (<= need cui)) @@ -18004,8 +16311,8 @@ Requires BEG, END as the boundery of region" (indent-to (+ need py-indent-offset)))) ((not (eq 1 (prefix-numeric-value arg))) (py-smart-indentation-off) - (py--indent-line-intern need cui this-indent-offset col beg end region outmost-only)) - (t (py--indent-line-intern need cui this-indent-offset col beg end region outmost-only)))) + (py--indent-line-intern need cui this-indent-offset col beg end region dedent)) + (t (py--indent-line-intern need cui this-indent-offset col beg end region dedent)))) (defun py--calculate-indent-backwards (cui indent-offset) "Return the next reasonable indent lower than current indentation. @@ -18017,7 +16324,7 @@ Requires current indent-offset as INDENT-OFFSET" (/ cui indent-offset) (- cui indent-offset))) -(defun py-indent-line (&optional arg outmost-only) +(defun py-indent-line (&optional arg dedent) "Indent the current line according ARG. When called interactivly with \\[universal-argument], @@ -18035,7 +16342,9 @@ When `py-tab-shifts-region-p' is t, not just the current line, but the region is shiftet that way. If `py-tab-indents-region-p' is t and first TAB doesn't shift ---as indent is at outmost reasonable--, ‘indent-region’ is called. +--as indent is at outmost reasonable--, `indent-region' is called. + +Optional arg DEDENT: force dedent. \\[quoted-insert] TAB inserts a literal TAB-character." (interactive "P") @@ -18065,20 +16374,18 @@ If `py-tab-indents-region-p' is t and first TAB doesn't shift (t (default-value 'py-indent-offset)))) (setq outmost (py-compute-indentation nil nil nil nil nil nil nil this-indent-offset)) ;; now choose the indent - (unless (and (not (eq this-command last-command))(eq outmost (current-indentation))) + (unless (and (not dedent)(not (eq this-command last-command))(eq outmost (current-indentation))) (setq need (cond ((eq this-command last-command) - (if outmost-only - outmost (if (bolp) ;; jump forward to max indent outmost - (py--calculate-indent-backwards cui this-indent-offset)))) + (py--calculate-indent-backwards cui this-indent-offset))) ;; (py--calculate-indent-backwards cui this-indent-offset))))) (t outmost ))) - (py--indent-line-or-region-base beg end region cui need arg this-indent-offset col outmost-only) + (py--indent-line-or-region-base beg end region cui need arg this-indent-offset col dedent) (and region (or py-tab-shifts-region-p py-tab-indents-region-p) (not (eq (point) orig)) @@ -18117,7 +16424,9 @@ When indent is set back manually, this is honoured in following lines." (let* ((orig (point)) ;; lp:1280982, deliberatly dedented by user (this-dedent - (when (and (or (eq 10 (char-after))(eobp))(looking-back "^[ \t]*" (line-beginning-position))) + (when + ;; (and (or (eq 10 (char-after))(eobp))(looking-back "^[ \t]*" (line-beginning-position))) + (looking-back "^[ \t]+" (line-beginning-position)) (current-column))) erg) (newline 1) @@ -18204,7 +16513,7 @@ If IACT is provided, message result" Indented same level, which don't open blocks. Typically declarations resp. initialisations of variables following a class or function definition. -See also ‘py--bounds-of-statements’" +See also `py--bounds-of-statements'" (let* ((orig-indent (progn (back-to-indentation) (unless (py--beginning-of-statement-p) @@ -18277,7 +16586,7 @@ See also `py-statements'." (defun py-kill-declarations () "Delete variables declared in current level. -Store deleted variables in ‘kill-ring’" +Store deleted variables in `kill-ring'" (interactive "*") (let* ((bounds (py--bounds-of-declarations)) (beg (car bounds)) @@ -18353,7 +16662,7 @@ Indented same level, which don't open blocks." These statements don't open blocks. -More general than ‘py-declarations’." +More general than `py-declarations'." (interactive) (let* ((bounds (py--bounds-of-statements)) (beg (car bounds)) @@ -18368,7 +16677,7 @@ More general than ‘py-declarations’." (defun py-kill-statements () "Delete statements declared in current level. -Store deleted statements in ‘kill-ring’" +Store deleted statements in `kill-ring'" (interactive "*") (let* ((bounds (py--bounds-of-statements)) (beg (car bounds)) @@ -18481,7 +16790,7 @@ Returns the string inserted." (insert-buffer-substring py-edit-buffer)) (defun py-edit--intern (buffer-name mode &optional beg end prefix suffix action) - "Edit string or active region in ‘python-mode’. + "Edit string or active region in `python-mode'. arg BUFFER-NAME: a string. arg MODE: which buffer-mode used in edit-buffer" @@ -18515,7 +16824,7 @@ arg MODE: which buffer-mode used in edit-buffer" (message "%s" "Type C-c C-c writes contents back"))))) (defun py-edit-docstring () - "Edit docstring or active region in ‘python-mode’." + "Edit docstring or active region in `python-mode'." (interactive "*") (py-edit--intern "Edit docstring" 'python-mode)) @@ -18548,7 +16857,7 @@ arg MODE: which buffer-mode used in edit-buffer" (insert erg))) (defun py-prettyprint-assignment () - "Prettyprint assignment in ‘python-mode’." + "Prettyprint assignment in `python-mode'." (interactive "*") (window-configuration-to-register py--windows-config-register) (save-excursion @@ -18617,117 +16926,320 @@ With optional \\[universal-argument] get a new dedicated shell." (interactive "p") (py-shell argprompt args nil "pypy" buffer fast exception-buffer split (unless argprompt (eq 1 (prefix-numeric-value argprompt))))) +(defun isympy3 (&optional argprompt args buffer fast exception-buffer split) + "Start an Pypy interpreter. + +With optional \\[universal-argument] get a new dedicated shell." + (interactive "p") + (py-shell argprompt args nil "isympy3" buffer fast exception-buffer split (unless argprompt (eq 1 (prefix-numeric-value argprompt))))) + ;; python-components-font-lock +;; (require 'python) + +;; (defconst rx--builtin-symbols +;; (append '(nonl not-newline any anychar anything unmatchable +;; bol eol line-start line-end +;; bos eos string-start string-end +;; bow eow word-start word-end +;; symbol-start symbol-end +;; point word-boundary not-word-boundary not-wordchar) +;; (mapcar #'car rx--char-classes)) +;; "List of built-in rx variable-like symbols.") + +;; (defconst rx--builtin-forms +;; '(seq sequence : and or | any in char not-char not intersection +;; repeat = >= ** +;; zero-or-more 0+ * +;; one-or-more 1+ + +;; zero-or-one opt optional \? +;; *? +? \?? +;; minimal-match maximal-match +;; group submatch group-n submatch-n backref +;; syntax not-syntax category +;; literal eval regexp regex) +;; "List of built-in rx function-like symbols.") + +;; (defconst rx--builtin-names +;; (append rx--builtin-forms rx--builtin-symbols) +;; "List of built-in rx names. These cannot be redefined by the user.") + +;; (defun rx--make-binding (name tail) +;; "Make a definitions entry out of TAIL. +;; TAIL is on the form ([ARGLIST] DEFINITION)." +;; (unless (symbolp name) +;; (error "Bad `rx' definition name: %S" name)) +;; ;; FIXME: Consider using a hash table or symbol property, for speed. +;; (when (memq name rx--builtin-names) +;; (error "Cannot redefine built-in rx name `%s'" name)) +;; (pcase tail +;; (`(,def) +;; (list def)) +;; (`(,args ,def) +;; (unless (and (listp args) (rx--every #'symbolp args)) +;; (error "Bad argument list for `rx' definition %s: %S" name args)) +;; (list args def)) +;; (_ (error "Bad `rx' definition of %s: %S" name tail)))) + +;; (defun rx--make-named-binding (bindspec) +;; "Make a definitions entry out of BINDSPEC. +;; BINDSPEC is on the form (NAME [ARGLIST] DEFINITION)." +;; (unless (consp bindspec) +;; (error "Bad `rx-let' binding: %S" bindspec)) +;; (cons (car bindspec) +;; (rx--make-binding (car bindspec) (cdr bindspec)))) + +;; ;;;###autoload +;; (defmacro rx-let (bindings &rest body) +;; "Evaluate BODY with local BINDINGS for `rx'. +;; BINDINGS is an unevaluated list of bindings each on the form +;; (NAME [(ARGS...)] RX). +;; They are bound lexically and are available in `rx' expressions in +;; BODY only. + +;; For bindings without an ARGS list, NAME is defined as an alias +;; for the `rx' expression RX. Where ARGS is supplied, NAME is +;; defined as an `rx' form with ARGS as argument list. The +;; parameters are bound from the values in the (NAME ...) form and +;; are substituted in RX. ARGS can contain `&rest' parameters, +;; whose values are spliced into RX where the parameter name occurs. + +;; Any previous definitions with the same names are shadowed during +;; the expansion of BODY only. +;; For local extensions to `rx-to-string', use `rx-let-eval'. +;; To make global rx extensions, use `rx-define'. +;; For more details, see Info node `(elisp) Extending Rx'. + +;; \(fn BINDINGS BODY...)" +;; (declare (indent 1) (debug (sexp body))) +;; (let ((prev-locals (cdr (assq :rx-locals macroexpand-all-environment))) +;; (new-locals (mapcar #'rx--make-named-binding bindings))) +;; (macroexpand-all (cons 'progn body) +;; (cons (cons :rx-locals (append new-locals prev-locals)) +;; macroexpand-all-environment)))) + +(defmacro py-rx (&rest regexps) + "Python mode specialized rx macro. +This variant of `rx' supports common Python named REGEXPS." + `(rx-let ((block-start (seq symbol-start + (or "def" "class" "if" "elif" "else" "try" + "except" "finally" "for" "while" "with" + ;; Python 3.10+ PEP634 + "match" "case" + ;; Python 3.5+ PEP492 + (and "async" (+ space) + (or "def" "for" "with"))) + symbol-end)) + (dedenter (seq symbol-start + (or "elif" "else" "except" "finally") + symbol-end)) + (block-ender (seq symbol-start + (or + "break" "continue" "pass" "raise" "return") + symbol-end)) + (decorator (seq line-start (* space) ?@ (any letter ?_) + (* (any word ?_)))) + (defun (seq symbol-start + (or "def" "class" + ;; Python 3.5+ PEP492 + (and "async" (+ space) "def")) + symbol-end)) + (if-name-main (seq line-start "if" (+ space) "__name__" + (+ space) "==" (+ space) + (any ?' ?\") "__main__" (any ?' ?\") + (* space) ?:)) + (symbol-name (seq (any letter ?_) (* (any word ?_)))) + (assignment-target (seq (? ?*) + (* symbol-name ?.) symbol-name + (? ?\[ (+ (not ?\])) ?\]))) + (grouped-assignment-target (seq (? ?*) + (* symbol-name ?.) (group symbol-name) + (? ?\[ (+ (not ?\])) ?\]))) + (open-paren (or "{" "[" "(")) + (close-paren (or "}" "]" ")")) + (simple-operator (any ?+ ?- ?/ ?& ?^ ?~ ?| ?* ?< ?> ?= ?%)) + (not-simple-operator (not (or simple-operator ?\n))) + (operator (or "==" ">=" "is" "not" + "**" "//" "<<" ">>" "<=" "!=" + "+" "-" "/" "&" "^" "~" "|" "*" "<" ">" + "=" "%")) + (assignment-operator (or "+=" "-=" "*=" "/=" "//=" "%=" "**=" + ">>=" "<<=" "&=" "^=" "|=" + "=")) + (string-delimiter (seq + ;; Match even number of backslashes. + (or (not (any ?\\ ?\' ?\")) point + ;; Quotes might be preceded by an + ;; escaped quote. + (and (or (not (any ?\\)) point) ?\\ + (* ?\\ ?\\) (any ?\' ?\"))) + (* ?\\ ?\\) + ;; Match single or triple quotes of any kind. + (group (or "\"\"\"" "\"" "'''" "'")))) + (coding-cookie (seq line-start ?# (* space) + (or + ;; # coding= + (: "coding" (or ?: ?=) (* space) + (group-n 1 (+ (or word ?-)))) + ;; # -*- coding: -*- + (: "-*-" (* space) "coding:" (* space) + (group-n 1 (+ (or word ?-))) + (* space) "-*-") + ;; # vim: set fileencoding= : + (: "vim:" (* space) "set" (+ space) + "fileencoding" (* space) ?= (* space) + (group-n 1 (+ (or word ?-))) + (* space) ":"))))) + (rx ,@regexps))) + +(defun py-font-lock-assignment-matcher (regexp) + "Font lock matcher for assignments based on REGEXP. +Search for next occurrence if REGEXP matched within a `paren' +context (to avoid, e.g., default values for arguments or passing +arguments by name being treated as assignments) or is followed by +an '=' sign (to avoid '==' being treated as an assignment. Set +point to the position one character before the end of the +occurrence found so that subsequent searches can detect the '=' +sign in chained assignment." + (lambda (limit) + (cl-loop while (re-search-forward regexp limit t) + unless (or + ;; (python-syntax-context 'paren) + (nth 1 (parse-partial-sexp (point-min) (point))) + (equal (char-after) ?=)) + return (progn (backward-char) t)))) (defconst python-font-lock-keywords - ;; Keywords - `(,(rx symbol-start - (or - "if" "and" "del" "not" "while" "as" "elif" "global" - "or" "async with" "with" "assert" "else" "pass" "yield" "break" - "exec" "in" "continue" "finally" "is" "except" "raise" - "return" "async for" "for" "lambda" "await" "match" "case") - symbol-end) - (,(rx symbol-start (or "async def" "def" "class") symbol-end) . py-def-class-face) - (,(rx symbol-start (or "import" "from") symbol-end) . py-import-from-face) - (,(rx symbol-start (or "try" "if") symbol-end) . py-try-if-face) - ;; functions - (,(rx symbol-start "def" (1+ space) (group (1+ (or word ?_)))) - ;; (1 font-lock-function-name-face)) - (1 py-def-face)) - (,(rx symbol-start "async def" (1+ space) (group (1+ (or word ?_)))) - ;; (1 font-lock-function-name-face)) - (1 py-def-face)) - ;; classes - (,(rx symbol-start (group "class") (1+ space) (group (1+ (or word ?_)))) - (1 py-def-class-face) (2 py-class-name-face)) - (,(rx symbol-start - (or "Ellipsis" "True" "False" "None" "__debug__" "NotImplemented") - symbol-end) . py-pseudo-keyword-face) - ;; Decorators. - (,(rx line-start (* (any " \t")) (group "@" (1+ (or word ?_)) - (0+ "." (1+ (or word ?_))))) - (1 py-decorators-face)) - (,(rx symbol-start (or "cls" "self") - symbol-end) . py-object-reference-face) + ;; Keywords + `(,(rx symbol-start + (or + "if" "and" "del" "not" "while" "as" "elif" "global" + "or" "async with" "with" "assert" "else" "pass" "yield" "break" + "exec" "in" "continue" "finally" "is" "except" "raise" + "return" "async for" "for" "lambda" "await" "match" "case") + symbol-end) + (,(rx symbol-start (or "async def" "def" "class") symbol-end) . py-def-class-face) + (,(rx symbol-start (or "import" "from") symbol-end) . py-import-from-face) + (,(rx symbol-start (or "try" "if") symbol-end) . py-try-if-face) + ;; functions + (,(rx symbol-start "def" (1+ space) (group (seq (any letter ?_) (* (any word ?_))))) + ;; (1 font-lock-function-name-face)) + (1 py-def-face)) + (,(rx symbol-start "async def" (1+ space) (group (seq (any letter ?_) (* (any word ?_))))) + ;; (1 font-lock-function-name-face)) + (1 py-def-face)) + ;; classes + (,(rx symbol-start (group "class") (1+ space) (group (seq (any letter ?_) (* (any word ?_))))) + (1 py-def-class-face) (2 py-class-name-face)) + (,(rx symbol-start + (or"Ellipsis" "True" "False" "None" "__debug__" "NotImplemented") symbol-end) . py-pseudo-keyword-face) + ;; Decorators. + (,(rx line-start (* (any " \t")) (group "@" (1+ (or word ?_)) + (0+ "." (1+ (or word ?_))))) + (1 py-decorators-face)) + (,(rx symbol-start (or "cls" "self") + symbol-end) . py-object-reference-face) - ;; Exceptions - (,(rx word-start - (or "ArithmeticError" "AssertionError" "AttributeError" - "BaseException" "BufferError" "BytesWarning" "DeprecationWarning" - "EOFError" "EnvironmentError" "Exception" "FloatingPointError" - "FutureWarning" "GeneratorExit" "IOError" "ImportError" - "ImportWarning" "IndentationError" "IndexError" "KeyError" - "KeyboardInterrupt" "LookupError" "MemoryError" "NameError" "NoResultFound" - "NotImplementedError" "OSError" "OverflowError" - "PendingDeprecationWarning" "ReferenceError" "RuntimeError" - "RuntimeWarning" "StandardError" "StopIteration" "SyntaxError" - "SyntaxWarning" "SystemError" "SystemExit" "TabError" "TypeError" - "UnboundLocalError" "UnicodeDecodeError" "UnicodeEncodeError" - "UnicodeError" "UnicodeTranslateError" "UnicodeWarning" - "UserWarning" "ValueError" "Warning" "ZeroDivisionError" - ;; OSError subclasses - "BlockIOError" "ChildProcessError" "ConnectionError" - "BrokenPipError" "ConnectionAbortedError" - "ConnectionRefusedError" "ConnectionResetError" - "FileExistsError" "FileNotFoundError" "InterruptedError" - "IsADirectoryError" "NotADirectoryError" "PermissionError" - "ProcessLookupError" "TimeoutError") - word-end) . py-exception-name-face) - ;; Builtins - (,(rx - (or space line-start (not (any "."))) - symbol-start - (group (or "_" "__doc__" "__import__" "__name__" "__package__" "abs" "all" - "any" "apply" "basestring" "bin" "bool" "buffer" "bytearray" - "bytes" "callable" "chr" "classmethod" "cmp" "coerce" "compile" - "complex" "delattr" "dict" "dir" "divmod" "enumerate" "eval" - "execfile" "filter" "float" "format" "frozenset" - "getattr" "globals" "hasattr" "hash" "help" "hex" "id" "input" - "int" "intern" "isinstance" "issubclass" "iter" "len" "list" - "locals" "long" "map" "max" "min" "next" "object" "oct" "open" - "ord" "pow" "property" "range" "raw_input" "reduce" - "reload" "repr" "reversed" "round" "set" "setattr" "slice" - "sorted" "staticmethod" "str" "sum" "super" "tuple" "type" - "unichr" "unicode" "vars" "xrange" "zip")) - symbol-end) (1 py-builtins-face)) - ;; #104, GNU bug 44568 font lock of assignments with type hints - ;; ("\\([._[:word:]]+\\)\\(?:\\[[^]]+]\\)?[[:space:]]*\\(?:\\(?:\\*\\*\\|//\\|<<\\|>>\\|[%&*+/|^-]\\)?=\\)" - ;; (1 py-variable-name-face nil nil)) - ;; https://emacs.stackexchange.com/questions/55184/ - ;; how-to-highlight-in-different-colors-for-variables-inside-fstring-on-python-mo - ;; - ;; this is the full string. - ;; group 1 is the quote type and a closing quote is matched - ;; group 2 is the string part - ("f\\(['\"]\\{1,3\\}\\)\\([^\\1]+?\\)\\1" - ;; these are the {keywords} - ("{[^}]*?}" - ;; Pre-match form - (progn (goto-char (match-beginning 0)) (match-end 0)) - ;; Post-match form - (goto-char (match-end 0)) - ;; face for this match - ;; (0 font-lock-variable-name-face t))) - (0 py-variable-name-face t))) - ;; assignment - ;; a, b, c = (1, 2, 3) - (,(lambda (limit) - (let ((re (rx (group (+ (any word ?. ?_))) (* space) - (* ?, (* space) (+ (any word ?. ?_)) (* space)) - (or ":" "=" "+=" "-=" "*=" "/=" "//=" "%=" "**=" ">>=" "<<=" "&=" "^=" "|="))) - (res nil)) - (while (and (setq res (re-search-forward re limit t)) - (goto-char (match-end 1)) - (nth 1 (parse-partial-sexp (point-min) (point))) - ;; (python-syntax-context 'paren) - )) - res)) - (1 py-variable-name-face nil nil)) - ;; Numbers - ;; (,(rx symbol-start (or (1+ digit) (1+ hex-digit)) symbol-end) . py-number-face) - (,(rx symbol-start (1+ digit) symbol-end) . py-number-face)) - "Keywords matching font-lock") + ;; Exceptions + (,(rx word-start + (or "ArithmeticError" "AssertionError" "AttributeError" + "BaseException" "BufferError" "BytesWarning" "DeprecationWarning" + "EOFError" "EnvironmentError" "Exception" "FloatingPointError" + "FutureWarning" "GeneratorExit" "IOError" "ImportError" + "ImportWarning" "IndentationError" "IndexError" "KeyError" + "KeyboardInterrupt" "LookupError" "MemoryError" "NameError" "NoResultFound" + "NotImplementedError" "OSError" "OverflowError" + "PendingDeprecationWarning" "ReferenceError" "RuntimeError" + "RuntimeWarning" "StandardError" "StopIteration" "SyntaxError" + "SyntaxWarning" "SystemError" "SystemExit" "TabError" "TypeError" + "UnboundLocalError" "UnicodeDecodeError" "UnicodeEncodeError" + "UnicodeError" "UnicodeTranslateError" "UnicodeWarning" + "UserWarning" "ValueError" "Warning" "ZeroDivisionError" + ;; OSError subclasses + "BlockIOError" "ChildProcessError" "ConnectionError" + "BrokenPipError" "ConnectionAbortedError" + "ConnectionRefusedError" "ConnectionResetError" + "FileExistsError" "FileNotFoundError" "InterruptedError" + "IsADirectoryError" "NotADirectoryError" "PermissionError" + "ProcessLookupError" "TimeoutError") + word-end) . py-exception-name-face) + ;; Builtins + (,(rx + (or space line-start (not (any "."))) + symbol-start + (group (or "_" "__doc__" "__import__" "__name__" "__package__" "abs" "all" + "any" "apply" "basestring" "bin" "bool" "buffer" "bytearray" + "bytes" "callable" "chr" "classmethod" "cmp" "coerce" "compile" + "complex" "delattr" "dict" "dir" "divmod" "enumerate" "eval" + "execfile" "filter" "float" "format" "frozenset" + "getattr" "globals" "hasattr" "hash" "help" "hex" "id" "input" + "int" "intern" "isinstance" "issubclass" "iter" "len" "list" + "locals" "long" "map" "max" "min" "next" "object" "oct" "open" + "ord" "pow" "property" "range" "raw_input" "reduce" + "reload" "repr" "reversed" "round" "set" "setattr" "slice" + "sorted" "staticmethod" "str" "sum" "super" "tuple" "type" + "unichr" "unicode" "vars" "xrange" "zip")) symbol-end) . (1 py-builtins-face)) + ;; #104, GNU bug 44568 font lock of assignments with type hints + ;; ("\\([._[:word:]]+\\)\\(?:\\[[^]]+]\\)?[[:space:]]*\\(?:\\(?:\\*\\*\\|//\\|<<\\|>>\\|[%&*+/|^-]\\)?=\\)" + ;; (1 py-variable-name-face nil nil)) + ;; https://emacs.stackexchange.com/questions/55184/ + ;; how-to-highlight-in-different-colors-for-variables-inside-fstring-on-python-mo + ;; + ;; this is the full string. + ;; group 1 is the quote type and a closing quote is matched + ;; group 2 is the string part + ("f\\(['\"]\\{1,3\\}\\)\\([^\\1]+?\\)\\1" + ;; these are the {keywords} + ("{[^}]*?}" + ;; Pre-match form + (progn (goto-char (match-beginning 0)) (match-end 0)) + ;; Post-match form + (goto-char (match-end 0)) + ;; face for this match + ;; (0 font-lock-variable-name-face t))) + (0 py-variable-name-face t))) + ;; assignment + ;; a, b, c = (1, 2, 3) + ;; a, *b, c = range(10) + ;; inst.a, inst.b, inst.c = 'foo', 'bar', 'baz' + ;; (a, b, *c, d) = x, *y = 5, 6, 7, 8, 9 + (,(py-font-lock-assignment-matcher + (py-rx line-start (* space) (? (or "[" "(")) + grouped-assignment-target (* space) ?, (* space) + (* assignment-target (* space) ?, (* space)) + (? assignment-target (* space)) + (? ?, (* space)) + (? (or ")" "]") (* space)) + (group assignment-operator))) + (1 py-variable-name-face) + (,(py-rx grouped-assignment-target) + (progn + (goto-char (match-end 1)) ; go back after the first symbol + (match-beginning 2)) ; limit the search until the assignment + nil + (1 py-variable-name-face))) + ( + ;; "(closure (t) (limit) (let ((re \"\\(?:self\\)*\\([._[:word:]]+\\)[[:space:]]*\\(?:,[[:space:]]*[._[:word:]]+[[:space:]]*\\)*\\(?:%=\\|&=\\|\\*\\(?:\\*?=\\)\\|\\+=\\|-=\\|/\\(?:/?=\\)\\|\\(?:<<\\|>>\\|[|^]\\)=\\|[:=]\\)\") (res nil)) (while (and (setq res (re-search-forward re limit t)) (goto-char (match-end 1)) (nth 1 (parse-partial-sexp (point-min) (point))))) res))" . (1 py-variable-name-face nil nil) + + ,(lambda (limit) + (let ((re (rx (* "self")(group (+ (any word ?. ?_))) (* space) + (* ?, (* space) (+ (any word ?. ?_)) (* space)) + (or ":" "=" "+=" "-=" "*=" "/=" "//=" "%=" "**=" ">>=" "<<=" "&=" "^=" "|="))) + (res nil)) + (while (and (setq res (re-search-forward re limit t)) + (goto-char (match-end 1)) + (nth 1 (parse-partial-sexp (point-min) (point))) + ;; (python-syntax-context 'paren) + )) + res)) + . (1 py-variable-name-face nil nil)) + + + ;; Numbers + ;; (,(rx symbol-start (or (1+ digit) (1+ hex-digit)) symbol-end) . py-number-face) + ("\\_<[[:digit:]]+\\_>" . py-number-face)) + ;; ,(rx symbol-start (1+ digit) symbol-end) + + "Keywords matching font-lock") ;; python-components-menu (defun py-define-menu (map) @@ -18759,7 +17271,11 @@ Start an Python2 interpreter."] ["Python3" python3 :help " `python3' -Start an Python3 interpreter."]) +Start an Python3 interpreter."] + ["SymPy" isympy3 + :help " `isympy3' +Start an SymPy interpreter."]) + ("Edit" ("Shift" ("Shift right" @@ -19219,7 +17735,7 @@ Go to beginning of def."] ["Backward block" py-backward-block :help " `py-backward-block' -Go to beginning of ‘block’."] +Go to beginning of `block'."] ["Backward statement" py-backward-statement :help " `py-backward-statement' @@ -19249,35 +17765,35 @@ Go to next section start upward in buffer."] ["Backward block or clause" py-backward-block-or-clause :help " `py-backward-block-or-clause' -Go to beginning of ‘block-or-clause’."] +Go to beginning of `block-or-clause'."] ["Backward clause" py-backward-clause :help " `py-backward-clause' -Go to beginning of ‘clause’."] +Go to beginning of `clause'."] ["Backward elif block" py-backward-elif-block :help " `py-backward-elif-block' -Go to beginning of ‘elif-block’."] +Go to beginning of `elif-block'."] ["Backward else block" py-backward-else-block :help " `py-backward-else-block' -Go to beginning of ‘else-block’."] +Go to beginning of `else-block'."] ["Backward except block" py-backward-except-block :help " `py-backward-except-block' -Go to beginning of ‘except-block’."] +Go to beginning of `except-block'."] ["Backward if block" py-backward-if-block :help " `py-backward-if-block' -Go to beginning of ‘if-block’."] +Go to beginning of `if-block'."] ["Backward minor block" py-backward-minor-block :help " `py-backward-minor-block' -Go to beginning of ‘minor-block’."] +Go to beginning of `minor-block'."] ["Backward try block" py-backward-try-block :help " `py-backward-try-block' -Go to beginning of ‘try-block’."])) +Go to beginning of `try-block'."])) ("Forward" ["Forward def or class" py-forward-def-or-class :help " `py-forward-def-or-class' @@ -19359,11 +17875,11 @@ Go to end of try-block."])) ("Backward" ["Backward block bol" py-backward-block-bol :help " `py-backward-block-bol' -Go to beginning of ‘block’, go to BOL."] +Go to beginning of `block', go to BOL."] ["Backward block or clause bol" py-backward-block-or-clause-bol :help " `py-backward-block-or-clause-bol' -Go to beginning of ‘block-or-clause’, go to BOL."] +Go to beginning of `block-or-clause', go to BOL."] ["Backward class bol" py-backward-class-bol :help " `py-backward-class-bol' @@ -19371,7 +17887,7 @@ Go to beginning of class, go to BOL."] ["Backward clause bol" py-backward-clause-bol :help " `py-backward-clause-bol' -Go to beginning of ‘clause’, go to BOL."] +Go to beginning of `clause', go to BOL."] ["Backward def bol" py-backward-def-bol :help " `py-backward-def-bol' @@ -19383,26 +17899,26 @@ Go to beginning of def-or-class, go to BOL."] ["Backward elif block bol" py-backward-elif-block-bol :help " `py-backward-elif-block-bol' -Go to beginning of ‘elif-block’, go to BOL."] +Go to beginning of `elif-block', go to BOL."] ["Backward else block bol" py-backward-else-block-bol :help " `py-backward-else-block-bol' -Go to beginning of ‘else-block’, go to BOL."] +Go to beginning of `else-block', go to BOL."] ["Backward except block bol" py-backward-except-block-bol :help " `py-backward-except-block-bol' -Go to beginning of ‘except-block’, go to BOL."] +Go to beginning of `except-block', go to BOL."] ["Backward expression bol" py-backward-expression-bol :help " `py-backward-expression-bol'"] ["Backward for block bol" py-backward-for-block-bol :help " `py-backward-for-block-bol' -Go to beginning of ‘for-block’, go to BOL."] +Go to beginning of `for-block', go to BOL."] ["Backward if block bol" py-backward-if-block-bol :help " `py-backward-if-block-bol' -Go to beginning of ‘if-block’, go to BOL."] +Go to beginning of `if-block', go to BOL."] ["Backward indent bol" py-backward-indent-bol :help " `py-backward-indent-bol' @@ -19410,7 +17926,7 @@ Go to the beginning of line of a section of equal indent."] ["Backward minor block bol" py-backward-minor-block-bol :help " `py-backward-minor-block-bol' -Go to beginning of ‘minor-block’, go to BOL."] +Go to beginning of `minor-block', go to BOL."] ["Backward partial expression bol" py-backward-partial-expression-bol :help " `py-backward-partial-expression-bol'"] @@ -19424,7 +17940,7 @@ Goto beginning of line where statement starts."] ["Backward try block bol" py-backward-try-block-bol :help " `py-backward-try-block-bol' -Go to beginning of ‘try-block’, go to BOL."]) +Go to beginning of `try-block', go to BOL."]) ("Forward" ["Forward block bol" py-forward-block-bol :help " `py-forward-block-bol' @@ -19517,7 +18033,7 @@ Send block-or-clause at point to interpreter."] ["Execute buffer" py-execute-buffer :help " `py-execute-buffer' -:around advice: ‘ad-Advice-py-execute-buffer’"] +:around advice: `ad-Advice-py-execute-buffer'"] ["Execute class" py-execute-class :help " `py-execute-class' @@ -20188,7 +18704,7 @@ Execute statement running pdb."] ["Pdb" pdb :help " `pdb' -Run pdb on program FILE in buffer ‘*gud-FILE*’."]) +Run pdb on program FILE in buffer `*gud-FILE*'."]) ("Checks" ["Pychecker run" py-pychecker-run :help " `py-pychecker-run' @@ -20204,7 +18720,7 @@ Display Pylint command line help messages."] ["Pylint flymake mode" pylint-flymake-mode :help " `pylint-flymake-mode' -Toggle ‘pylint’ ‘flymake-mode’."]) +Toggle `pylint' `flymake-mode'."]) ("Pep8" ["Pep8 run" py-pep8-run :help " `py-pep8-run' @@ -20216,7 +18732,7 @@ Display pep8 command line help messages."] ["Pep8 flymake mode" pep8-flymake-mode :help " `pep8-flymake-mode' -Toggle ‘pep8’ ‘flymake-mode’."]) +Toggle `pep8’ `flymake-mode'."]) ("Pyflakes" ["Pyflakes run" py-pyflakes-run :help " `py-pyflakes-run' @@ -20228,7 +18744,7 @@ Display Pyflakes command line help messages."] ["Pyflakes flymake mode" pyflakes-flymake-mode :help " `pyflakes-flymake-mode' -Toggle ‘pyflakes’ ‘flymake-mode’."]) +Toggle `pyflakes' `flymake-mode'."]) ("Flake8" ["Flake8 run" py-flake8-run :help " `py-flake8-run' @@ -20569,25 +19085,7 @@ Use `M-x customize-variable' to set it permanently" Default is nilUse `M-x customize-variable' to set it permanently" :style toggle :selected py-electric-yank-active-p] - ["Electric kill backward " - (setq py-electric-kill-backward-p - (not py-electric-kill-backward-p)) - :help "Affects `py-electric-backspace'. Default is nil. -If behind a delimited form of braces, brackets or parentheses, -backspace will kill it's contents - -With when cursor after -my_string\[0:1] ---------------^ - -==> - -my_string\[] -----------^ - -In result cursor is insided emptied delimited form.Use `M-x customize-variable' to set it permanently" - :style toggle :selected py-electric-kill-backward-p] ["Trailing whitespace smart delete " (setq py-trailing-whitespace-smart-delete-p @@ -21058,7 +19556,7 @@ Kill buffer unconditional, kill buffer-process if existing."] ["Remove overlays at point" py-remove-overlays-at-point :help " `py-remove-overlays-at-point' -Remove overlays as set when ‘py-highlight-error-source-p’ is non-nil."] +Remove overlays as set when `py-highlight-error-source-p' is non-nil."] ("Electric" ["Complete electric comma" py-complete-electric-comma :help " `py-complete-electric-comma'"] @@ -21084,7 +19582,7 @@ Delete following character or levels of whitespace."] ["Electric yank" py-electric-yank :help " `py-electric-yank' -Perform command ‘yank’ followed by an ‘indent-according-to-mode’"] +Perform command `yank' followed by an `indent-according-to-mode'"] ["Hungry delete backwards" py-hungry-delete-backwards :help " `py-hungry-delete-backwards' @@ -21150,7 +19648,7 @@ Find source of definition of SYMBOL."]))) Default is t") (defvar py-menu nil - "Make a dynamically bound variable ‘py-menu’.") + "Make a dynamically bound variable `py-menu'.") (setq python-mode-map @@ -21290,7 +19788,7 @@ Default is t") "Used inside a Python-shell.") (defvar py-ipython-shell-mode-map py-python-shell-mode-map - "Copy ‘py-python-shell-mode-map’ here.") + "Copy `py-python-shell-mode-map' here.") (defvar py-shell-map py-python-shell-mode-map) @@ -22675,26 +21173,6 @@ Use `M-x customize-variable' to set it permanently" Default is nilUse `M-x customize-variable' to set it permanently" :style toggle :selected py-electric-yank-active-p] - ["Electric kill backward " - (setq py-electric-kill-backward-p - (not py-electric-kill-backward-p)) - :help "Affects `py-electric-backspace'. Default is nil. - -If behind a delimited form of braces, brackets or parentheses, -backspace will kill it's contents - -With when cursor after -my_string\[0:1] ---------------^ - -==> - -my_string\[] -----------^ - -In result cursor is insided emptied delimited form.Use `M-x customize-variable' to set it permanently" - :style toggle :selected py-electric-kill-backward-p] - ["Trailing whitespace smart delete " (setq py-trailing-whitespace-smart-delete-p (not py-trailing-whitespace-smart-delete-p)) @@ -23486,14 +21964,14 @@ Otherwise call `py-indent-line' If `(use-region-p)' returns t, indent region. Use `C-q TAB' to insert a literally TAB-character -In ‘python-mode’ `py-complete-function' is called, +In `python-mode' `py-complete-function' is called, in (I)Python shell-modes `py-shell-complete'" (interactive "*") (window-configuration-to-register py--windows-config-register) ;; (setq py-last-window-configuration ;; (current-window-configuration)) (cond ((use-region-p) - (when py-debug-p (message "py-indent-or-complete: %s" "calling ‘use-region-p’-clause")) + (when py-debug-p (message "py-indent-or-complete: %s" "calling `use-region-p'-clause")) (py-indent-region (region-beginning) (region-end))) ((or (bolp) (member (char-before) (list 9 10 12 13 32 ?: ?\) ?\] ?\})) @@ -23503,7 +21981,7 @@ in (I)Python shell-modes `py-shell-complete'" ;; (let* ((shell (process-name (get-buffer-process (current-buffer))))) (ignore-errors (completion-at-point))) (t - (when py-debug-p (message "py-indent-or-complete: %s" "calling ‘t’-clause")) + (when py-debug-p (message "py-indent-or-complete: %s" "calling `t'-clause")) ;; (py-fast-complete) (completion-at-point)))) @@ -23547,7 +22025,7 @@ Optional LINE FILE CONDITION" (py-execute-string (concat "import pdb;pdb.break('" line "')")))) (defun py--pdb-versioned () - "Guess existing pdb version from ‘py-shell-name’. + "Guess existing pdb version from `py-shell-name'. Return \"pdb[VERSION]\" if executable found, just \"pdb\" otherwise" (interactive) @@ -23585,7 +22063,7 @@ Argument COMMAND-LINE TBD." (pdb command-line)) (defun py--pdb-current-executable () - "When ‘py-pdb-executable’ is set, return it. + "When `py-pdb-executable' is set, return it. Otherwise return resuslt from `executable-find'" (or py-pdb-executable @@ -23925,7 +22403,7 @@ Argument OUTPUT is a string with the output from the comint process." (eval-when-compile (require 'info)) (defun py-info-lookup-symbol () - "Call ‘info-lookup-symbol’. + "Call `info-lookup-symbol'. Sends help if stuff is missing." (interactive) @@ -23944,7 +22422,7 @@ Sends help if stuff is missing." Tries to take account of versioned Python Info files, e.g. Debian's python2.5-ref.info.gz. -Used with ‘eval-after-load’." +Used with `eval-after-load'." (let* ((version (let ((s (shell-command-to-string (concat py-python-command " -V")))) (string-match "^Python \\([0-9]+\\.[0-9]+\\>\\)" s) @@ -23956,7 +22434,7 @@ Used with ‘eval-after-load’." ;; First look for Info files corresponding to the version ;; of the interpreter we're running. (condition-case () - ;; Don't use ‘info’ because it would pop-up a *info* buffer. + ;; Don't use `info' because it would pop-up a *info* buffer. (progn (Info-goto-node (format "(python%s-lib)Miscellaneous Index" version)) @@ -24048,7 +22526,7 @@ Useful for newly defined symbol, not known to python yet." Use Python compatible dotted expression syntax Optional argument INCLUDE-TYPE indicates to include the type of the defun. This function is compatible to be used as -‘add-log-current-defun-function’ since it returns nil if point is +`add-log-current-defun-function' since it returns nil if point is not inside a defun." (interactive) (let ((names '()) @@ -24155,13 +22633,13 @@ If symbol is defined in current buffer, jump to it's definition" (help-print-return-message)))) (defun py-describe-mode () - "Dump long form of ‘python-mode’ docs." + "Dump long form of `python-mode' docs." (interactive) (py--dump-help-string "Major mode for editing Python files. Knows about Python indentation, tokens, comments and continuation lines. Paragraphs are separated by blank lines only. -Major sections below begin with the string ‘@’; specific function and +Major sections below begin with the string `@'; specific function and variable docs begin with ->. @EXECUTING PYTHON CODE @@ -24182,7 +22660,7 @@ variable docs begin with ->. @VARIABLES -py-install-directory\twherefrom ‘python-mode’ looks for extensions +py-install-directory\twherefrom `python-mode' looks for extensions py-indent-offset\tindentation increment py-block-comment-prefix\tcomment string used by comment-region @@ -24199,26 +22677,26 @@ py-beep-if-tab-change\tring the bell if tab-width is changed @KINDS OF LINES -Each physical line in the file is either a ‘continuation line’ (the +Each physical line in the file is either a `continuation line' (the preceding line ends with a backslash that's not part of a comment, or the paren/bracket/brace nesting level at the start of the line is -non-zero, or both) or an ‘initial line’ (everything else). +non-zero, or both) or an `initial line' (everything else). -An initial line is in turn a ‘blank line’ (contains nothing except -possibly blanks or tabs), a ‘comment line’ (leftmost non-blank -character is ‘#’), or a ‘code line’ (everything else). +An initial line is in turn a `blank line' (contains nothing except +possibly blanks or tabs), a `comment line' (leftmost non-blank +character is `#’), or a ‘code line' (everything else). Comment Lines Although all comment lines are treated alike by Python, Python mode recognizes two kinds that act differently with respect to indentation. -An ‘indenting comment line’ is a comment line with a blank, tab or -nothing after the initial ‘#’. The indentation commands (see below) +An `indenting comment line' is a comment line with a blank, tab or +nothing after the initial `#'. The indentation commands (see below) treat these exactly as if they were code lines: a line following an indenting comment line will be indented like the comment line. All other comment lines (those with a non-whitespace character immediately -following the initial ‘#’) are ‘non-indenting comment lines’, and +following the initial `#’) are ‘non-indenting comment lines', and their indentation is ignored by the indentation commands. Indenting comment lines are by far the usual case, and should be used @@ -24229,17 +22707,17 @@ like these: \t #... continued onto another line \tif a == b: -##\t\tprint 'panic!' # old code we've ‘commented out’ +##\t\tprint 'panic!' # old code we've `commented out' \t\treturn a -Since the ‘#...’ and ‘##’ comment lines have a non-whitespace -character following the initial ‘#’, Python mode ignores them when +Since the `#...’ and ‘##' comment lines have a non-whitespace +character following the initial `#', Python mode ignores them when computing the proper indentation for the next line. Continuation Lines and Statements -The ‘python-mode’ commands generally work on statements instead of on -individual lines, where a ‘statement’ is a comment or blank line, or a +The `python-mode' commands generally work on statements instead of on +individual lines, where a `statement' is a comment or blank line, or a code line and all of its following continuation lines (if any) considered as a single logical unit. The commands in this mode generally (when it makes sense) automatically move to the start of the @@ -24263,7 +22741,7 @@ Primarily for reindenting existing code: Unlike most programming languages, Python uses indentation, and only indentation, to specify block structure. Hence the indentation supplied -automatically by ‘python-mode’ is just an educated guess: only you know +automatically by `python-mode' is just an educated guess: only you know the block structure you intend, so only you can supply correct indentation. @@ -24271,24 +22749,24 @@ The \\[indent-for-tab-command] and \\[py-newline-and-indent] keys try to suggest the indentation of preceding statements. E.g., assuming py-indent-offset is 4, after you enter \tif a > 0: \\[py-newline-and-indent] -the cursor will be moved to the position of the ‘_’ (_ is not a +the cursor will be moved to the position of the `_' (_ is not a character in the file, it's just used here to indicate the location of the cursor): \tif a > 0: \t _ -If you then enter ‘c = d’ \\[py-newline-and-indent], the cursor will move +If you then enter `c = d' \\[py-newline-and-indent], the cursor will move to \tif a > 0: \t c = d \t _ -‘python-mode’ cannot know whether that's what you intended, or whether +`python-mode' cannot know whether that's what you intended, or whether \tif a > 0: \t c = d \t_ -was your intent. In general, ‘python-mode’ either reproduces the +was your intent. In general, `python-mode' either reproduces the indentation of the (closest code or indenting-comment) preceding statement, or adds an extra py-indent-offset blanks if the preceding -statement has ‘:’ as its last significant (non-whitespace and non- +statement has `:' as its last significant (non-whitespace and non- comment) character. If the suggested indentation is too much, use \\[py-electric-backspace] to reduce it. @@ -24297,7 +22775,7 @@ suggested indentation, change it to something you do like, and Python- mode will strive to indent later lines of the statement in the same way. If a line is a continuation line by virtue of being in an unclosed -paren/bracket/brace structure (‘list’, for short), the suggested +paren/bracket/brace structure (`list', for short), the suggested indentation depends on whether the current line contains the first item in the list. If it does, it's indented py-indent-offset columns beyond the indentation of the line containing the open bracket. If you don't @@ -24309,8 +22787,8 @@ a backslash, the third and following lines of the statement inherit their indentation from the line preceding them. The indentation of the second line in the statement depends on the form of the first (base) line: if the base line is an assignment statement with anything more interesting -than the backslash following the leftmost assigning ‘=’, the second line -is indented two columns beyond that ‘=’. Else it's indented to two +than the backslash following the leftmost assigning `=', the second line +is indented two columns beyond that `='. Else it's indented to two columns beyond the leftmost solid chunk of non-whitespace characters on the base line. @@ -24324,7 +22802,7 @@ structure you intend. The next function may be handy when editing code you didn't write: %c:py-guess-indent-offset -The remaining ‘indent’ functions apply to a region of Python code. They +The remaining `indent' functions apply to a region of Python code. They assume the block structure (equals indentation, in Python) of the region is correct, and alter the indentation in various ways while preserving the block structure: @@ -24356,7 +22834,7 @@ the block structure: The first two move to one statement beyond the statement that contains point. A numeric prefix argument tells them to move that many statements instead. Blank lines, comment lines, and continuation lines -do not count as ‘statements’ for these commands. So, e.g., you can go +do not count as `statements' for these commands. So, e.g., you can go to the first code statement in a file by entering \t\\[beginning-of-buffer]\t to move to the top of the file \t\\[py-next-statement]\t to skip over initial comments and blank lines @@ -24371,32 +22849,32 @@ Or do \\[py-previous-statement] with a huge prefix argument. \\[indent-new-comment-line] is handy for entering a multi-line comment. -\\[set-selective-display] with a ‘small’ prefix arg is ideally suited for viewing the +\\[set-selective-display] with a `small' prefix arg is ideally suited for viewing the overall class and def structure of a module. -‘\\[back-to-indentation]’ moves point to a line's first non-blank character. +`\\[back-to-indentation]' moves point to a line's first non-blank character. -‘\\[indent-relative]’ is handy for creating odd indentation. +`\\[indent-relative]' is handy for creating odd indentation. @OTHER EMACS HINTS If you don't like the default value of a variable, change its value to -whatever you do like by putting a ‘setq’ line in your .emacs file. +whatever you do like by putting a `setq' line in your .emacs file. E.g., to set the indentation increment to 4, put this line in your .emacs: \t(setq py-indent-offset 4) -To see the value of a variable, do ‘\\[describe-variable]’ and enter the variable +To see the value of a variable, do `\\[describe-variable]' and enter the variable name at the prompt. -When entering a key sequence like ‘C-c C-n’, it is not necessary to -release the CONTROL key after doing the ‘C-c’ part -- it suffices to -press the CONTROL key, press and release ‘c’ (while still holding down -CONTROL), press and release ‘n’ (while still holding down CONTROL), & +When entering a key sequence like `C-c C-n', it is not necessary to +release the CONTROL key after doing the `C-c' part -- it suffices to +press the CONTROL key, press and release `c' (while still holding down +CONTROL), press and release `n' (while still holding down CONTROL), & then release CONTROL. Entering Python mode calls with no arguments the value of the variable -‘python-mode-hook’, if that value exists and is not nil; for backward -compatibility it also tries ‘py-mode-hook’; see the ‘Hooks’ section of +`python-mode-hook', if that value exists and is not nil; for backward +compatibility it also tries `py-mode-hook'; see the ‘Hooks' section of the Elisp manual for details. Obscure: When python-mode is first loaded, it looks for all bindings @@ -24570,7 +23048,7 @@ Let's have this until more Emacs-like help is prepared" (defun py-pylint-doku () "Display Pylint Documentation. -Calls ‘pylint --full-documentation’" +Calls `pylint --full-documentation'" (interactive) (set-buffer (get-buffer-create "*Pylint-Documentation*")) (erase-buffer) @@ -24740,11 +23218,11 @@ Default on the file currently visited." (when (featurep 'xemacs) (compile-internal command "No more errors")))) -;; After ‘sgml-validate-command’. +;; After `sgml-validate-command'. (defun py-check-command (command) "Check a Python file (default current buffer's file). -Runs COMMAND, a shell command, as if by ‘compile’. -See ‘py-check-command’ for the default." +Runs COMMAND, a shell command, as if by `compile'. +See `py-check-command' for the default." (interactive (list (read-string "Checker command: " (concat py-check-command " " @@ -24824,7 +23302,7 @@ Consider \"pip install flake8\" resp. visit \"pypi.python.org\"")) ;; from string-strip.el --- Strip CHARS from STRING (defun py-nesting-level (&optional pps) - "Accepts the output of ‘parse-partial-sexp’ - PPS." + "Accepts the output of `parse-partial-sexp' - PPS." (interactive) (let* ((pps (or (ignore-errors (nth 0 pps)) (if (featurep 'xemacs) @@ -24841,7 +23319,7 @@ Consider \"pip install flake8\" resp. visit \"pypi.python.org\"")) Takes NAME COMMAND" (unless (string-match "pyflakespep8" name) (unless (executable-find name) - (when py-verbose-p (message "Don't see %s. Use ‘easy_install’ %s? " name name)))) + (when py-verbose-p (message "Don't see %s. Use `easy_install' %s? " name name)))) (if (py--buffer-filename-remote-maybe) (let* ((temp-file (if (functionp 'flymake-proc-init-create-temp-buffer-copy) (flymake-proc-init-create-temp-buffer-copy 'flymake-create-temp-inplace) @@ -24854,10 +23332,10 @@ Takes NAME COMMAND" (push (car (read-from-string (concat "(\"\\.py\\'\" flymake-" name ")"))) flymake-proc-allowed-file-name-masks) (push (car (read-from-string (concat "(\"\\.py\\'\" flymake-" name ")"))) flymake-proc-allowed-file-name-masks)) (list command (list local-file))) - (message "%s" "flymake needs a ‘file-name’. Please save before calling."))) + (message "%s" "flymake needs a `file-name'. Please save before calling."))) (defun pylint-flymake-mode () - "Toggle ‘pylint’ ‘flymake-mode’." + "Toggle `pylint' `flymake-mode'." (interactive) (if flymake-mode ;; switch off @@ -24866,7 +23344,7 @@ Takes NAME COMMAND" (flymake-mode 1))) (defun pyflakes-flymake-mode () - "Toggle ‘pyflakes’ ‘flymake-mode’." + "Toggle `pyflakes' `flymake-mode'." (interactive) (if flymake-mode ;; switch off @@ -24875,7 +23353,7 @@ Takes NAME COMMAND" (flymake-mode))) (defun pychecker-flymake-mode () - "Toggle ‘pychecker’ ‘flymake-mode’." + "Toggle `pychecker' `flymake-mode'." (interactive) (if flymake-mode ;; switch off @@ -24884,7 +23362,7 @@ Takes NAME COMMAND" (flymake-mode))) (defun pep8-flymake-mode () - "Toggle ‘pep8’ ‘flymake-mode’." + "Toggle `pep8’ `flymake-mode'." (interactive) (if flymake-mode ;; switch off @@ -24893,7 +23371,7 @@ Takes NAME COMMAND" (flymake-mode))) (defun pyflakespep8-flymake-mode () - "Toggle ‘pyflakespep8’ ‘flymake-mode’. + "Toggle `pyflakespep8’ `flymake-mode'. Joint call to pyflakes and pep8 as proposed by Keegan Carruthers-Smith" @@ -24905,7 +23383,7 @@ Keegan Carruthers-Smith" (flymake-mode))) (defun py-display-state-of-variables () - "Read the state of ‘python-mode’ variables. + "Read the state of `python-mode' variables. Assumes vars are defined in current source buffer" (interactive) @@ -25463,8 +23941,8 @@ of the first definition found." (nreverse index-alist))) (defun py--imenu-create-index-new (&optional beg end) - (interactive) "`imenu-create-index-function' for Python. " + (interactive) (set (make-local-variable 'imenu-max-items) py-imenu-max-items) (let ((orig (point)) (beg (or beg (point-min))) @@ -25720,7 +24198,6 @@ string or comment." (self-insert-command (prefix-numeric-value arg)))) ;; Electric deletion - (defun py-empty-out-list-backward () "Deletes all elements from list before point." (interactive "*") @@ -25745,83 +24222,152 @@ string or comment." (insert-char thischar 1) (forward-char -1)))) -;; TODO: PRouleau Question: Is there a command to toggle -;; py-electric-kill-backward-p? I saw a menu entry -;; but not a command for it. -;; - What is the purpose of the optional argument ARG? -;; Should it not be used to identify the number of characters to -;; delete? +;; TODO: PRouleau Question: [...] + ;; - Also, the mapping for [backspace] in python-mode-map only works in ;; graphics mode, it does not work when Emacs runs in terminal mode. ;; It would be nice to have a binding that works in terminal mode too. +;; keep-one handed over form `py-electric-delete' maybe (defun py-electric-backspace (&optional arg) - "Delete preceding character or level of indentation. + "Delete one or more of whitespace chars left from point. +Honor indentation. -With optinal ARG, kill that many chars before point. +If called at whitespace below max indentation, -Delete region when both variable `delete-active-region' and (use-region-p) +Delete region when both variable `delete-active-region' and `use-region-p' are non-nil. -Unless at indentation delete whitespace before point. -With `py-electric-kill-backward-p' at end of a list, empty that list. +With \\[universal-argument], deactivate electric-behavior this time, +delete just one character before point. -Returns column reached." - (interactive "p*") - (or arg (setq arg 1)) - (cond - ((< 1 (prefix-numeric-value arg)) - (delete-char (- arg))) - ((and (use-region-p) - ;; Emacs23 doesn't know that var - (boundp 'delete-active-region) - delete-active-region) - (backward-delete-char-untabify arg)) - ;; (delete-region (region-beginning) (region-end))) - ((looking-back "^[ \t]+" (line-beginning-position)) - (let* ((remains (% (current-column) py-indent-offset))) - (if (< 0 remains) - (delete-char (- remains)) - (indent-line-to (- (current-indentation) py-indent-offset))))) - ;; - ((and py-electric-kill-backward-p - (member (char-before) (list ?\) ?\] ?\}))) - (py-empty-out-list-backward)) - ;; - ((progn (push-mark) (< 0 (abs (skip-chars-backward " \t" (line-beginning-position))))) - (delete-region (point) (mark))) - ;; - (t - (delete-char (- arg)))) - (current-column)) +At no-whitespace character, delete one before point. + +" + (interactive "*P") + (unless (bobp) + (let ((backward-delete-char-untabify-method 'untabify) + indent + done) + (cond + ;; electric-pair-mode + ((and electric-pair-mode + (or + (and + (ignore-errors (eq 5 (car (syntax-after (point))))) + (ignore-errors (eq 4 (car (syntax-after (1- (point))))))) + (and + (ignore-errors (eq 7 (car (syntax-after (point))))) + (ignore-errors (eq 7 (car (syntax-after (1- (point))))))))) + (delete-char 1) + (backward-delete-char-untabify 1)) + ((eq 4 (prefix-numeric-value arg)) + (backward-delete-char-untabify 1)) + ((use-region-p) + ;; Emacs23 doesn't know that var + (if (boundp 'delete-active-region) + (delete-active-region) + (delete-region (region-beginning) (region-end)))) + ((looking-back "[[:graph:]]" (line-beginning-position)) + (backward-delete-char-untabify 1)) + ;; before code + ((looking-back "^[ \t]+" (line-beginning-position)) + (setq indent (py-compute-indentation)) + (cond ((< indent (current-indentation)) + (back-to-indentation) + (delete-region (line-beginning-position) (point)) + (indent-to indent)) + ((<= (current-column) py-indent-offset) + (delete-region (line-beginning-position) (point))) + ((eq 0 (% (current-column) py-indent-offset)) + (delete-region (point) (progn (backward-char py-indent-offset) (point)))) + (t (delete-region + (point) + (progn + ;; go backward the remainder + (backward-char (% (current-column) py-indent-offset)) + (point)))))) + ((looking-back "[[:graph:]][ \t]+" (line-beginning-position)) + ;; in the middle fixup-whitespace + (setq done (line-end-position)) + (fixup-whitespace) + ;; if just one whitespace at point, delete that one + (or (< (line-end-position) done) (delete-char 1))) + + ;; (if (< 1 (abs (skip-chars-backward " \t"))) + ;; (delete-region (point) (progn (skip-chars-forward " \t") (point))) + ;; (delete-char 1)) + + ((bolp) + (backward-delete-char 1)) + (t + (py-indent-line nil t)))))) -;; TODO: PRouleau: the key binding in python-mode-map for command only works -;; when Emacs runs in Graphics mode, not in terminal mode. It'd be nice -;; to have a binding that works in terminal mode too. (defun py-electric-delete (&optional arg) - "Delete indentation level of whitespace, or ARG following characters. -Delete region when both variable `delete-active-region' and (use-region-p) -are non-nil." - (interactive "*p") - (let ((orig (point))) - (cond - ;; delete active region if one is active - ((and (use-region-p) - ;; Emacs23 doesn't know that var - (boundp 'delete-active-region) - delete-active-region) - (delete-region (region-beginning) (region-end))) - ;; delete an indentation worth of whitespace - ((save-excursion - (and (< (current-column) (current-indentation)) - (<= py-indent-offset (skip-chars-forward " \t")))) - (goto-char orig) - (delete-char py-indent-offset)) - ;; delete all whitespace if less than indentation level - ((< 0 (skip-chars-forward " \t")) - (delete-region orig (point))) - ;; otherwise delete - (t - (delete-char (or arg 1)))))) + "Delete one or more of whitespace chars right from point. +Honor indentation. + +Delete region when both variable `delete-active-region' and `use-region-p' +are non-nil. + +With \\[universal-argument], deactivate electric-behavior this time, +delete just one character at point. + +At spaces in line of code, call fixup-whitespace. +At no-whitespace char, delete one char at point. +" + (interactive "P*") + (unless (eobp) + (let* (;; py-ert-deletes-too-much-lp:1300270-dMegYd + ;; x = {'abc':'def', + ;; 'ghi':'jkl'} + (backward-delete-char-untabify-method 'untabify) + (indent (py-compute-indentation)) + ;; (delpos (+ (line-beginning-position) indent)) + ;; (line-end-pos (line-end-position)) + ;; (orig (point)) + done) + (cond + ((eq 4 (prefix-numeric-value arg)) + (delete-char 1)) + ;; delete active region if one is active + ((use-region-p) + ;; Emacs23 doesn't know that var + (if (boundp 'delete-active-region) + (delete-active-region) + (delete-region (region-beginning) (region-end)))) + ((looking-at "[[:graph:]]") + (delete-char 1)) + ((or (eolp) (looking-at "[ \t]+$")) + (cond + ((eolp) (delete-char 1)) + ((< (+ indent (line-beginning-position)) (line-end-position)) + (end-of-line) + (while (and (member (char-before) (list 9 32 ?\r)) + (< indent (current-column))) + (backward-delete-char-untabify 1))))) + (;; before code + (looking-at "[ \t]+[[:graph:]]") + ;; before indent + (if (looking-back "^[ \t]*" (line-beginning-position)) + (cond ((< indent (current-indentation)) + (back-to-indentation) + (delete-region (line-beginning-position) (point)) + (indent-to indent)) + ((< 0 (% (current-indentation) py-indent-offset)) + (back-to-indentation) + (delete-region (point) (progn (backward-char (% (current-indentation) py-indent-offset)) (point)))) + ((eq 0 (% (current-indentation) py-indent-offset)) + (back-to-indentation) + (delete-region (point) (progn (backward-char py-indent-offset) (point)))) + (t + (skip-chars-forward " \t") + (delete-region (line-beginning-position) (point)))) + ;; in the middle fixup-whitespace + (setq done (line-end-position)) + (fixup-whitespace) + ;; if just one whitespace at point, delete that one + (or (< (line-end-position) done) (delete-char 1)))) + (t (delete-char 1)))))) ;; TODO: PRouleau: the electric yank mechanism is currently commented out. ;; Is this a feature to keep? Was it used? I can see a benefit for it. @@ -26107,42 +24653,42 @@ See available styles at `py-fill-paragraph' or var `py-docstring-style' (py-fill-string justify 'symmetric t)) (defun py-set-nil-docstring-style () - "Set py-docstring-style to 'nil" + "Set py-docstring-style to \\='nil" (interactive) (setq py-docstring-style 'nil) (when (and (called-interactively-p 'any) py-verbose-p) (message "docstring-style set to: %s" py-docstring-style))) (defun py-set-pep-257-nn-docstring-style () - "Set py-docstring-style to 'pep-257-nn" + "Set py-docstring-style to \\='pep-257-nn" (interactive) (setq py-docstring-style 'pep-257-nn) (when (and (called-interactively-p 'any) py-verbose-p) (message "docstring-style set to: %s" py-docstring-style))) (defun py-set-pep-257-docstring-style () - "Set py-docstring-style to 'pep-257" + "Set py-docstring-style to \\='pep-257" (interactive) (setq py-docstring-style 'pep-257) (when (and (called-interactively-p 'any) py-verbose-p) (message "docstring-style set to: %s" py-docstring-style))) (defun py-set-django-docstring-style () - "Set py-docstring-style to 'django" + "Set py-docstring-style to \\='django" (interactive) (setq py-docstring-style 'django) (when (and (called-interactively-p 'any) py-verbose-p) (message "docstring-style set to: %s" py-docstring-style))) (defun py-set-symmetric-docstring-style () - "Set py-docstring-style to 'symmetric" + "Set py-docstring-style to \\='symmetric" (interactive) (setq py-docstring-style 'symmetric) (when (and (called-interactively-p 'any) py-verbose-p) (message "docstring-style set to: %s" py-docstring-style))) (defun py-set-onetwo-docstring-style () - "Set py-docstring-style to 'onetwo" + "Set py-docstring-style to \\='onetwo" (interactive) (setq py-docstring-style 'onetwo) (when (and (called-interactively-p 'any) py-verbose-p) @@ -26316,7 +24862,7 @@ See lp:1066489 " ;; at the start. (goto-char thisbeg) (py--skip-raw-string-front-fence) - (skip-chars-forward "\'\"") + (skip-chars-forward "'\"") (when (car delimiters-style) (unless (or (py-empty-line-p)(eolp)) @@ -26536,7 +25082,7 @@ Fill according to `py-docstring-style' " (defun py-comment-region (beg end &optional arg) - "Like ‘comment-region’ but uses double hash (‘#’) comment starter." + "Like `comment-region’ but uses double hash (`#') comment starter." (interactive "r\nP") (let ((comment-start (if py-block-comment-prefix-p py-block-comment-prefix @@ -26546,7 +25092,7 @@ Fill according to `py-docstring-style' " (defun py-comment-block (&optional beg end arg) "Comments block at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#') comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26563,7 +25109,7 @@ the default" (defun py-comment-block-or-clause (&optional beg end arg) "Comments block-or-clause at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26580,7 +25126,7 @@ the default" (defun py-comment-class (&optional beg end arg) "Comments class at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26597,7 +25143,7 @@ the default" (defun py-comment-clause (&optional beg end arg) "Comments clause at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26614,7 +25160,7 @@ the default" (defun py-comment-def (&optional beg end arg) "Comments def at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26631,7 +25177,7 @@ the default" (defun py-comment-def-or-class (&optional beg end arg) "Comments def-or-class at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26648,7 +25194,7 @@ the default" (defun py-comment-indent (&optional beg end arg) "Comments indent at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26665,7 +25211,7 @@ the default" (defun py-comment-minor-block (&optional beg end arg) "Comments minor-block at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26682,7 +25228,7 @@ the default" (defun py-comment-section (&optional beg end arg) "Comments section at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26699,7 +25245,7 @@ the default" (defun py-comment-statement (&optional beg end arg) "Comments statement at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -26716,7 +25262,7 @@ the default" (defun py-comment-top-level (&optional beg end arg) "Comments top-level at point. -Uses double hash (‘#’) comment starter when ‘py-block-comment-prefix-p’ is t, +Uses double hash (`#’) comment starter when `py-block-comment-prefix-p' is t, the default" (interactive "*") (save-excursion @@ -27161,10 +25707,14 @@ Optional File: execute through running a temp-file" (message "python-mode loaded from: %s" python-mode-message-string))) (defalias 'py-next-statement 'py-forward-statement) +;; #134, cython-mode compatibility +(defalias 'py-end-of-statement 'py-forward-statement) +(defalias 'py-beginning-of-statement 'py-backward-statement) +(defalias 'py-beginning-of-block 'py-backward-block) +(defalias 'py-end-of-block 'py-forward-block) (defalias 'py-previous-statement 'py-backward-statement) (defalias 'py-markup-region-as-section 'py-sectionize-region) -;;;###autoload (define-derived-mode py-auto-completion-mode python-mode "Pac" "Run auto-completion" ;; disable company @@ -27190,7 +25740,6 @@ Optional File: execute through running a temp-file" (set (make-local-variable 'indent-tabs-mode) py-indent-tabs-mode) ) -;;;###autoload (define-derived-mode python-mode prog-mode python-mode-modeline-display "Major mode for editing Python files. @@ -27280,6 +25829,7 @@ VARIABLES (set (make-local-variable 'normal-auto-fill-function) 'py-fill-string-or-comment) (set (make-local-variable 'require-final-newline) mode-require-final-newline) (set (make-local-variable 'tab-width) py-indent-offset) + (set (make-local-variable 'electric-indent-mode) nil) (and py-load-skeletons-p (py-load-skeletons)) (and py-guess-py-install-directory-p (py-set-load-path)) (and py-autopair-mode @@ -27394,7 +25944,7 @@ may want to re-add custom functions to it using the 'indent-for-tab-command) (t (define-key py-shell-mode-map "\t" - 'py-indent-or-complete))) + 'py-indent-or-complete))) (make-local-variable 'py-pdbtrack-buffers-to-kill) (make-local-variable 'py-shell-fast-last-output) (set (make-local-variable 'py-shell--block-prompt) nil) @@ -27402,7 +25952,7 @@ may want to re-add custom functions to it using the (py-shell-prompt-set-calculated-regexps) (if py-shell-fontify-p (progn - (py-shell-font-lock-turn-on)) + (py-shell-font-lock-turn-on)) (py-shell-font-lock-turn-off))) (make-obsolete 'jpython-mode 'jython-mode nil) diff --git a/code/elpa/rainbow-mode-1.0.5.signed b/code/elpa/rainbow-mode-1.0.5.signed deleted file mode 100644 index 5700674..0000000 --- a/code/elpa/rainbow-mode-1.0.5.signed +++ /dev/null @@ -1 +0,0 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2020-07-28T17:05:01-0400 using RSA \ No newline at end of file diff --git a/code/elpa/rainbow-mode-1.0.5/rainbow-mode-pkg.el b/code/elpa/rainbow-mode-1.0.5/rainbow-mode-pkg.el deleted file mode 100644 index 88d509a..0000000 --- a/code/elpa/rainbow-mode-1.0.5/rainbow-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from rainbow-mode.el -*- no-byte-compile: t -*- -(define-package "rainbow-mode" "1.0.5" "Colorize color names in buffers" 'nil :url "http://elpa.gnu.org/packages/rainbow-mode.html" :keywords '("faces") :authors '(("Julien Danjou" . "julien@danjou.info")) :maintainer '("Julien Danjou" . "julien@danjou.info")) diff --git a/code/elpa/rainbow-mode-1.0.6.signed b/code/elpa/rainbow-mode-1.0.6.signed new file mode 100644 index 0000000..e783ced --- /dev/null +++ b/code/elpa/rainbow-mode-1.0.6.signed @@ -0,0 +1 @@ +Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2022-05-01T17:05:02-0400 using RSA \ No newline at end of file diff --git a/code/elpa/rainbow-mode-1.0.5/rainbow-mode-autoloads.el b/code/elpa/rainbow-mode-1.0.6/rainbow-mode-autoloads.el similarity index 94% rename from code/elpa/rainbow-mode-1.0.5/rainbow-mode-autoloads.el rename to code/elpa/rainbow-mode-1.0.6/rainbow-mode-autoloads.el index 48718d9..fa5de18 100644 --- a/code/elpa/rainbow-mode-1.0.5/rainbow-mode-autoloads.el +++ b/code/elpa/rainbow-mode-1.0.6/rainbow-mode-autoloads.el @@ -31,6 +31,10 @@ it is disabled. (register-definition-prefixes "rainbow-mode" '("rainbow-")) +;;;*** + +;;;### (autoloads nil nil ("rainbow-mode-pkg.el") (0 0 0 0)) + ;;;*** ;; Local Variables: diff --git a/code/elpa/rainbow-mode-1.0.6/rainbow-mode-pkg.el b/code/elpa/rainbow-mode-1.0.6/rainbow-mode-pkg.el new file mode 100644 index 0000000..11f9434 --- /dev/null +++ b/code/elpa/rainbow-mode-1.0.6/rainbow-mode-pkg.el @@ -0,0 +1,2 @@ +;; Generated package description from rainbow-mode.el -*- no-byte-compile: t -*- +(define-package "rainbow-mode" "1.0.6" "Colorize color names in buffers" 'nil :commit "ac68593018ef3555e64ea592d72334f4e3e39209" :url "https://elpa.gnu.org/packages/rainbow-mode.html" :authors '(("Julien Danjou" . "julien@danjou.info")) :maintainer '("Julien Danjou" . "julien@danjou.info") :keywords '("faces")) diff --git a/code/elpa/rainbow-mode-1.0.5/rainbow-mode.el b/code/elpa/rainbow-mode-1.0.6/rainbow-mode.el similarity index 89% rename from code/elpa/rainbow-mode-1.0.5/rainbow-mode.el rename to code/elpa/rainbow-mode-1.0.6/rainbow-mode.el index ab5d085..14bf442 100644 --- a/code/elpa/rainbow-mode-1.0.5/rainbow-mode.el +++ b/code/elpa/rainbow-mode-1.0.6/rainbow-mode.el @@ -4,7 +4,7 @@ ;; Author: Julien Danjou ;; Keywords: faces -;; Version: 1.0.5 +;; Version: 1.0.6 ;; This file is part of GNU Emacs. @@ -45,9 +45,9 @@ ;;; Hexadecimal colors (defvar rainbow-hexadecimal-colors-font-lock-keywords - '(("[^&]\\(#\\(?:[0-9a-fA-F]\\{3\\}\\)\\{1,4\\}\\)" + '(("[^&]\\(#\\(?:[0-9a-fA-F]\\{3\\}\\)\\{1,4\\}\\)\\b" (1 (rainbow-colorize-itself 1))) - ("^\\(#\\(?:[0-9a-fA-F]\\{3\\}\\)\\{1,4\\}\\)" + ("^\\(#\\(?:[0-9a-fA-F]\\{3\\}\\)\\{1,4\\}\\)\\b" (0 (rainbow-colorize-itself))) ("[Rr][Gg][Bb]:[0-9a-fA-F]\\{1,4\\}/[0-9a-fA-F]\\{1,4\\}/[0-9a-fA-F]\\{1,4\\}" (0 (rainbow-colorize-itself))) @@ -1210,167 +1210,6 @@ This will fontify with colors the string like \"#aabbcc\" or \"blue\"." ;; e.g. interactively. (font-lock-mode 1)) -;;;; ChangeLog: - -;; 2020-07-28 Julien Danjou -;; -;; fix(rainbow_mode): remove spurious + in regex -;; -;; Thanks Peder Stray for the report and suggestion. -;; -;; 2020-03-30 Julien Danjou -;; -;; fix(rainbow-mode): fix typo in docstring -;; -;; Thanks Bauke Jan Douma -;; -;; 2019-12-23 Julien Danjou -;; -;; Release rainbow-mode 1.0.3 -;; -;; * Use cl-lib instead of cl -;; -;; As of Emacs 27.1 `cl' is officially deprecated. -;; -;; `cl' was only required for `multiple-value-bind' and using that was -;; conceptually wrong to begin with: `color-hsl-to-rgb' does NOT return -;; three -;; values; it returns one value which happens to consist of three -;; components and -;; any one of these components by itself is meaningless. Now we use -;; `cl-destructuring-bind', which does not have the same connotation. -;; -;; * rainbow-keywords-hook: New hook run by rainbow-mode -;; -;; * rainbow-mode: Remove unnecessary progn -;; Also improve a contained comment. -;; -;; Thanks Jonas Bernoulli -;; -;; 2019-11-25 Julien Danjou -;; -;; Release rainbow-mode 1.0.2 -;; -;; 2019-11-25 Julien Danjou -;; -;; Fix a off-by-one error and some wording in rainbow-mode -;; -;; * packages/rainbow-mode/rainbow-mode.el (rainbow-color-luminance): Fix a -;; off-by-one error and wording. -;; (rainbow-x-color-luminance): Fix wording. -;; -;; Thanks Peder Stray. -;; -;; 2018-05-21 Julien Danjou -;; -;; * rainbow-mode/rainbow-mode.el: do not fail if face-property is a symbol -;; -;; It turns out there are cases when `face-property' can be just a symbol -;; and we need to protect our selves from that, i.e. `car' should not fail. -;; Hence, -;; `car-safe' is there and if it's `nil', then fall back to `face-property' -;; as is. -;; -;; See https://github.com/tarsius/hl-todo/issues/17 -;; -;; 2018-03-26 Julien Danjou -;; -;; rainbow-mode: release 1.0 -;; -;; 2018-03-26 Jonas Bernoulli -;; -;; Allow outline-minor-mode to find section headings -;; -;; 2018-03-26 Jonas Bernoulli -;; -;; Set type of customizable options -;; -;; 2018-03-26 Jonas Bernoulli -;; -;; Enforce use of spaces for indentation -;; -;; Also untabify some code added by a contributor who, unlike you, has not -;; globally set `indent-tabs-mode' to nil. -;; -;; 2017-05-29 Julien Danjou -;; -;; Fix `rainbow-color-luminance' docstring -;; -;; 2015-10-12 Julien Danjou -;; -;; rainbow: add font-lock at the end -;; -;; See https://github.com/fxbois/web-mode/issues/612 -;; -;; 2015-03-06 Julien Danjou -;; -;; rainbow: fix font-lock-mode refresh -;; -;; 2014-10-15 Stefan Monnier -;; -;; * packages/rainbow-mode/rainbow-mode.el (ansi-color-context) -;; (xterm-color-current): Declare. -;; -;; 2014-09-07 Julien Danjou -;; -;; rainbow-mode: support float in CSS and limit to 100% -;; -;; 2013-08-05 Julien Danjou -;; -;; rainbow-mode: 0.9, allow spaces in LaTeX colors -;; -;; 2013-05-03 Julien Danjou -;; -;; rainbow-mode: add support for R, bump version to 0.8 -;; -;; Signed-off-by: Julien Danjou -;; -;; 2013-02-26 Julien Danjou -;; -;; rainbow-mode: version 0.7 -;; -;; * rainbow-mode.el: don't activate font-lock-mode -;; -;; 2012-12-11 Julien Danjou -;; -;; * rainbow-mode: update to 0.6, add support for ANSI coloring -;; -;; 2012-11-26 Julien Danjou -;; -;; rainbow-mode: fix some LaTex docstrings -;; -;; 2012-11-14 Julien Danjou -;; -;; rainbow-mode: version 0.5 -;; -;; * rainbow-mode.el: fix syntax error on -;; `rainbow-hexadecimal-colors-font-lock-keywords'. -;; -;; 2012-11-09 Julien Danjou -;; -;; rainbow-mode: version 0.4 -;; -;; * rainbow-mode.el: Use functions from color package to colorize HSL -;; rather -;; than our own copy. -;; -;; 2012-11-09 Julien Danjou -;; -;; rainbow-mode 0.3 -;; -;; * rainbow-mode.el: avoid colorizing HTML entities -;; -;; 2011-09-23 Julien Danjou -;; -;; Update rainbow-mode to version 0.2 -;; -;; 2011-07-01 Chong Yidong -;; -;; Give every package its own directory in packages/ including single-file -;; packages. -;; - - (provide 'rainbow-mode) ;; Local Variables: diff --git a/code/elpa/rust-mode-20220217.2009/rust-cargo.el b/code/elpa/rust-mode-20220626.1126/rust-cargo.el similarity index 70% rename from code/elpa/rust-mode-20220217.2009/rust-cargo.el rename to code/elpa/rust-mode-20220626.1126/rust-cargo.el index 58f0151..090945a 100644 --- a/code/elpa/rust-mode-20220217.2009/rust-cargo.el +++ b/code/elpa/rust-mode-20220626.1126/rust-cargo.el @@ -30,13 +30,31 @@ (defun rust-buffer-project () "Get project root if possible." - (with-temp-buffer - (let ((ret (call-process rust-cargo-bin nil t nil "locate-project"))) - (when (/= ret 0) - (error "`cargo locate-project' returned %s status: %s" ret (buffer-string))) - (goto-char 0) - (let ((output (json-read))) - (cdr (assoc-string "root" output)))))) + (if (file-remote-p default-directory) + (rust-buffer-crate) + ;; Copy environment variables into the new buffer, since + ;; with-temp-buffer will re-use the variables' defaults, even if + ;; they have been changed in this variable using e.g. envrc-mode. + ;; See https://github.com/purcell/envrc/issues/12. + (let ((env process-environment) + (path exec-path)) + (with-temp-buffer + ;; Copy the entire environment just in case there's something we + ;; don't know we need. + (setq-local process-environment env) + ;; Set PATH so we can find cargo. + (setq-local exec-path path) + (let ((ret (call-process rust-cargo-bin nil t nil "locate-project"))) + (when (/= ret 0) + (error "`cargo locate-project' returned %s status: %s" ret (buffer-string))) + (goto-char 0) + (let ((output (json-read))) + (cdr (assoc-string "root" output)))))))) + +(defun rust-buffer-crate () + "Try to locate Cargo.toml using `locate-dominating-file'." + (let ((dir (locate-dominating-file default-directory "Cargo.toml"))) + (if dir dir default-directory))) (defun rust-update-buffer-project () (setq-local rust-buffer-project (rust-buffer-project))) diff --git a/code/elpa/rust-mode-20220217.2009/rust-compile.el b/code/elpa/rust-mode-20220626.1126/rust-compile.el similarity index 100% rename from code/elpa/rust-mode-20220217.2009/rust-compile.el rename to code/elpa/rust-mode-20220626.1126/rust-compile.el diff --git a/code/elpa/rust-mode-20220217.2009/rust-mode-autoloads.el b/code/elpa/rust-mode-20220626.1126/rust-mode-autoloads.el similarity index 100% rename from code/elpa/rust-mode-20220217.2009/rust-mode-autoloads.el rename to code/elpa/rust-mode-20220626.1126/rust-mode-autoloads.el diff --git a/code/elpa/rust-mode-20220217.2009/rust-mode-pkg.el b/code/elpa/rust-mode-20220626.1126/rust-mode-pkg.el similarity index 63% rename from code/elpa/rust-mode-20220217.2009/rust-mode-pkg.el rename to code/elpa/rust-mode-20220626.1126/rust-mode-pkg.el index 2bb9ce4..12adeae 100644 --- a/code/elpa/rust-mode-20220217.2009/rust-mode-pkg.el +++ b/code/elpa/rust-mode-20220626.1126/rust-mode-pkg.el @@ -1,6 +1,6 @@ -(define-package "rust-mode" "20220217.2009" "A major-mode for editing Rust source code" +(define-package "rust-mode" "20220626.1126" "A major-mode for editing Rust source code" '((emacs "25.1")) - :commit "26ecc903c50b2ffd289bbe981f9ad03626fc0057" :authors + :commit "01ba44166cf16d9b78d99f2fa0c3c54c0f206894" :authors '(("Mozilla")) :maintainer '("Mozilla") diff --git a/code/elpa/rust-mode-20220217.2009/rust-mode.el b/code/elpa/rust-mode-20220626.1126/rust-mode.el similarity index 99% rename from code/elpa/rust-mode-20220217.2009/rust-mode.el rename to code/elpa/rust-mode-20220626.1126/rust-mode.el index beb5210..dda7994 100644 --- a/code/elpa/rust-mode-20220217.2009/rust-mode.el +++ b/code/elpa/rust-mode-20220626.1126/rust-mode.el @@ -1,6 +1,6 @@ ;;; rust-mode.el --- A major-mode for editing Rust source code -*-lexical-binding: t-*- -;; Version: 1.0.4 +;; Version: 1.0.5 ;; Author: Mozilla ;; Url: https://github.com/rust-lang/rust-mode ;; Keywords: languages diff --git a/code/elpa/rust-mode-20220217.2009/rust-playpen.el b/code/elpa/rust-mode-20220626.1126/rust-playpen.el similarity index 100% rename from code/elpa/rust-mode-20220217.2009/rust-playpen.el rename to code/elpa/rust-mode-20220626.1126/rust-playpen.el diff --git a/code/elpa/rust-mode-20220217.2009/rust-rustfmt.el b/code/elpa/rust-mode-20220626.1126/rust-rustfmt.el similarity index 100% rename from code/elpa/rust-mode-20220217.2009/rust-rustfmt.el rename to code/elpa/rust-mode-20220626.1126/rust-rustfmt.el diff --git a/code/elpa/rust-mode-20220217.2009/rust-utils.el b/code/elpa/rust-mode-20220626.1126/rust-utils.el similarity index 100% rename from code/elpa/rust-mode-20220217.2009/rust-utils.el rename to code/elpa/rust-mode-20220626.1126/rust-utils.el diff --git a/code/elpa/transient-20220425.1314/dir b/code/elpa/transient-20220803.1000/dir similarity index 100% rename from code/elpa/transient-20220425.1314/dir rename to code/elpa/transient-20220803.1000/dir diff --git a/code/elpa/transient-20220425.1314/transient-autoloads.el b/code/elpa/transient-20220803.1000/transient-autoloads.el similarity index 91% rename from code/elpa/transient-20220425.1314/transient-autoloads.el rename to code/elpa/transient-20220803.1000/transient-autoloads.el index f78a417..182f8b2 100644 --- a/code/elpa/transient-20220425.1314/transient-autoloads.el +++ b/code/elpa/transient-20220803.1000/transient-autoloads.el @@ -17,9 +17,11 @@ SUFFIX is a suffix command or a group specification (of LOC is a command, a key vector, a key description (a string as returned by `key-description'), or a coordination list (whose last element may also be a command or key). +Remove a conflicting binding unless optional KEEP-OTHER is + non-nil. See info node `(transient)Modifying Existing Transients'. -\(fn PREFIX LOC SUFFIX)" nil nil) +\(fn PREFIX LOC SUFFIX &optional KEEP-OTHER)" nil nil) (function-put 'transient-insert-suffix 'lisp-indent-function 'defun) @@ -31,9 +33,11 @@ SUFFIX is a suffix command or a group specification (of LOC is a command, a key vector, a key description (a string as returned by `key-description'), or a coordination list (whose last element may also be a command or key). +Remove a conflicting binding unless optional KEEP-OTHER is + non-nil. See info node `(transient)Modifying Existing Transients'. -\(fn PREFIX LOC SUFFIX)" nil nil) +\(fn PREFIX LOC SUFFIX &optional KEEP-OTHER)" nil nil) (function-put 'transient-append-suffix 'lisp-indent-function 'defun) @@ -63,7 +67,7 @@ See info node `(transient)Modifying Existing Transients'. (function-put 'transient-remove-suffix 'lisp-indent-function 'defun) -(register-definition-prefixes "transient" '("magit--fit-window-to-buffer" "transient-")) +(register-definition-prefixes "transient" '("magit--fit-window-to-buffer" "transient")) ;;;*** diff --git a/code/elpa/transient-20220425.1314/transient-pkg.el b/code/elpa/transient-20220803.1000/transient-pkg.el similarity index 68% rename from code/elpa/transient-20220425.1314/transient-pkg.el rename to code/elpa/transient-20220803.1000/transient-pkg.el index 0904085..5c391c2 100644 --- a/code/elpa/transient-20220425.1314/transient-pkg.el +++ b/code/elpa/transient-20220803.1000/transient-pkg.el @@ -1,7 +1,7 @@ -(define-package "transient" "20220425.1314" "Transient commands" +(define-package "transient" "20220803.1000" "Transient commands" '((emacs "25.1") (compat "28.1.1.0")) - :commit "84f2d12ef31ec74c85e616283926780532fed13f" :authors + :commit "389d2bffff1d7ada561688861ca67b7a360cf352" :authors '(("Jonas Bernoulli" . "jonas@bernoul.li")) :maintainer '("Jonas Bernoulli" . "jonas@bernoul.li") diff --git a/code/elpa/transient-20220425.1314/transient.el b/code/elpa/transient-20220803.1000/transient.el similarity index 97% rename from code/elpa/transient-20220425.1314/transient.el rename to code/elpa/transient-20220803.1000/transient.el index e76c0aa..e823d9b 100644 --- a/code/elpa/transient-20220425.1314/transient.el +++ b/code/elpa/transient-20220803.1000/transient.el @@ -61,10 +61,10 @@ (eval-when-compile (require 'subr-x)) -(declare-function info 'info) -(declare-function Man-find-section 'man) -(declare-function Man-next-section 'man) -(declare-function Man-getpage-in-background 'man) +(declare-function info "info" (&optional file-or-node buffer)) +(declare-function Man-find-section "man" (section)) +(declare-function Man-next-section "man" (n)) +(declare-function Man-getpage-in-background "man" (topic)) (defvar display-line-numbers) ; since Emacs 26.1 (defvar Man-notify-method) @@ -110,21 +110,20 @@ (defcustom transient-show-popup t "Whether to show the current transient in a popup buffer. - +\\ - If t, then show the popup as soon as a transient prefix command is invoked. - If nil, then do not show the popup unless the user explicitly - requests it, by pressing an incomplete prefix key sequence. + requests it, by pressing \\[transient-show] or a prefix key. - If a number, then delay displaying the popup and instead show a brief one-line summary. If zero or negative, then suppress even showing that summary and display the pressed key only. Show the popup when the user explicitly requests it by pressing - an incomplete prefix key sequence. Unless zero, then also show - the popup after that many seconds of inactivity (using the - absolute value)." + \\[transient-show] or a prefix key. Unless zero, then also show the popup + after that many seconds of inactivity (using the absolute value)." :package-version '(transient . "0.1.0") :group 'transient :type '(choice (const :tag "instantly" t) @@ -259,9 +258,9 @@ arguments. When this option is non-nil, then the key binding for infix argument are highlighted when only a long argument \(e.g. \"--verbose\") is specified but no shor-thand (e.g \"-v\"). In the rare case that a short-hand is specified but does not -match the key binding, then it is highlighed differently. +match the key binding, then it is highlighted differently. -The highlighting is done using using `transient-mismatched-key' +The highlighting is done using `transient-mismatched-key' and `transient-nonstandard-key'." :package-version '(transient . "0.1.0") :group 'transient @@ -1142,7 +1141,7 @@ example, sets a variable use `transient-define-infix' instead. ;;; Edit -(defun transient--insert-suffix (prefix loc suffix action) +(defun transient--insert-suffix (prefix loc suffix action &optional keep-other) (let* ((suf (cl-etypecase suffix (vector (transient--parse-group prefix suffix)) (list (transient--parse-suffix prefix suffix)) @@ -1160,25 +1159,18 @@ example, sets a variable use `transient-define-infix' instead. suffix prefix loc "suffixes and groups cannot be siblings")) (t - (when (and (listp suffix) - (listp elt)) - ;; Both suffixes are key bindings; not heading strings. - (let ((key (transient--spec-key suf))) - (if (equal (transient--kbd key) - (transient--kbd (transient--spec-key elt))) - ;; We must keep `mem' until after we have inserted - ;; behind it, which `transient-remove-suffix' does - ;; not allow us to do. - (let ((spred (transient--suffix-predicate suf)) - (epred (transient--suffix-predicate elt))) - ;; If both suffixes have a predicate and they - ;; are not identical, then there is a high - ;; probability that we want to keep both. - (when (or (not spred) - (not epred) - (equal spred epred)) - (setq action 'replace))) - (transient-remove-suffix prefix key)))) + (when-let* ((bindingp (listp suf)) + (key (transient--spec-key suf)) + (conflict (car (transient--layout-member key prefix))) + (conflictp + (and (not (and (eq action 'replace) + (eq conflict elt))) + (or (not keep-other) + (eq (plist-get (nth 2 suf) :command) + (plist-get (nth 2 conflict) :command))) + (equal (transient--suffix-predicate suf) + (transient--suffix-predicate conflict))))) + (transient-remove-suffix prefix key)) (cl-ecase action (insert (setcdr mem (cons elt (cdr mem))) (setcar mem suf)) @@ -1186,7 +1178,7 @@ example, sets a variable use `transient-define-infix' instead. (replace (setcar mem suf))))))) ;;;###autoload -(defun transient-insert-suffix (prefix loc suffix) +(defun transient-insert-suffix (prefix loc suffix &optional keep-other) "Insert a SUFFIX into PREFIX before LOC. PREFIX is a prefix command, a symbol. SUFFIX is a suffix command or a group specification (of @@ -1194,12 +1186,14 @@ SUFFIX is a suffix command or a group specification (of LOC is a command, a key vector, a key description (a string as returned by `key-description'), or a coordination list (whose last element may also be a command or key). +Remove a conflicting binding unless optional KEEP-OTHER is + non-nil. See info node `(transient)Modifying Existing Transients'." (declare (indent defun)) - (transient--insert-suffix prefix loc suffix 'insert)) + (transient--insert-suffix prefix loc suffix 'insert keep-other)) ;;;###autoload -(defun transient-append-suffix (prefix loc suffix) +(defun transient-append-suffix (prefix loc suffix &optional keep-other) "Insert a SUFFIX into PREFIX after LOC. PREFIX is a prefix command, a symbol. SUFFIX is a suffix command or a group specification (of @@ -1207,9 +1201,11 @@ SUFFIX is a suffix command or a group specification (of LOC is a command, a key vector, a key description (a string as returned by `key-description'), or a coordination list (whose last element may also be a command or key). +Remove a conflicting binding unless optional KEEP-OTHER is + non-nil. See info node `(transient)Modifying Existing Transients'." (declare (indent defun)) - (transient--insert-suffix prefix loc suffix 'append)) + (transient--insert-suffix prefix loc suffix 'append keep-other)) ;;;###autoload (defun transient-replace-suffix (prefix loc suffix) @@ -1340,7 +1336,7 @@ This is an object representing that transient, use (defvar transient-current-command nil "The transient from which this suffix command was invoked. This is a symbol representing that transient, use -`current-transient-object' to get the respective object.") +`transient-current-prefix' to get the respective object.") (defvar transient-current-suffixes nil "The suffixes of the transient from which this suffix command was invoked. @@ -1445,7 +1441,7 @@ The optional argument COMMAND is intended for internal use. If you are contemplating using it in your own code, then you should probably use this instead: - (get COMMAND 'transient--suffix)" + (get COMMAND \\='transient--suffix)" (when command (cl-check-type command command)) (if (or transient--prefix @@ -1704,6 +1700,9 @@ of the corresponding object.") (string-trim key) cmd conflict))) (define-key map kbd cmd)))) + (when-let ((b (lookup-key map "-"))) (define-key map [kp-subtract] b)) + (when-let ((b (lookup-key map "="))) (define-key map [kp-equal] b)) + (when-let ((b (lookup-key map "+"))) (define-key map [kp-add] b)) (when transient-enable-popup-navigation ;; `transient--make-redisplay-map' maps only over bindings that are ;; directly in the base keymap, so that cannot be a composed keymap. @@ -1772,7 +1771,10 @@ of the corresponding object.") (define-key topmap (vconcat transient--redisplay-key (list key)) #'transient-update))) (if transient--redisplay-key - (lookup-key transient--transient-map (vconcat transient--redisplay-key)) + (let ((key (vconcat transient--redisplay-key))) + (or (lookup-key transient--transient-map key) + (and-let* ((regular (lookup-key local-function-key-map key))) + (lookup-key transient--transient-map (vconcat regular))))) transient--transient-map)) topmap)) @@ -2073,7 +2075,6 @@ value. Otherwise return CHILDREN as is." (setq transient--predicate-map nil) (setq transient--redisplay-map nil) (setq transient--redisplay-key nil) - (setq transient--showp nil) (setq transient--helpp nil) (setq transient--editp nil) (setq transient--prefix nil) @@ -2105,8 +2106,13 @@ value. Otherwise return CHILDREN as is." (defun transient--suspend-override (&optional nohide) (transient--debug 'suspend-override) - (when (and (not nohide) transient-hide-during-minibuffer-read) - (transient--delete-window)) + (transient--timer-cancel) + (cond ((and (not nohide) transient-hide-during-minibuffer-read) + (transient--delete-window)) + ((and transient--prefix transient--redisplay-key) + (setq transient--redisplay-key nil) + (when transient--showp + (transient--show)))) (transient--pop-keymap 'transient--transient-map) (transient--pop-keymap 'transient--redisplay-map) (remove-hook 'pre-command-hook #'transient--pre-command) @@ -2164,8 +2170,14 @@ value. Otherwise return CHILDREN as is." (unless abort-only (setq post-command (lambda () "@transient--delay-post-command" - (let ((act (and (eq this-command command) - (not (eq (this-command-keys-vector) []))))) + (let ((act (and (not (eq (this-command-keys-vector) [])) + (or (eq this-command command) + ;; `execute-extended-command' was + ;; used to call another command + ;; that also uses the minibuffer. + (equal + (string-to-multibyte (this-command-keys)) + (format "\M-x%s\r" this-command)))))) (transient--debug 'post-command-hook "act: %s" act) (when act (remove-hook 'transient--post-command-hook post-command) @@ -2232,6 +2244,8 @@ value. Otherwise return CHILDREN as is." (setq transient-current-suffixes nil) (let ((resume (and transient--stack (not (memq transient--exitp '(replace suspend)))))) + (unless (or resume (eq transient--exitp 'replace)) + (setq transient--showp nil)) (setq transient--exitp nil) (setq transient--helpp nil) (setq transient--editp nil) @@ -3399,7 +3413,7 @@ Optional support for popup buttons is also implemented here." (add-face-text-property 0 (length str) 'transient-inapt-suffix nil str)) (if transient-enable-popup-navigation (make-text-button str nil - 'type 'transient-button + 'type 'transient 'command (transient--suffix-command obj)) str))) @@ -3432,7 +3446,12 @@ Optional support for popup buttons is also implemented here." (let ((len (length transient--redisplay-key)) (seq (cl-coerce (edmacro-parse-keys key t) 'list))) (cond - ((equal (seq-take seq len) transient--redisplay-key) + ((member (seq-take seq len) + (list transient--redisplay-key + (thread-last transient--redisplay-key + (cl-substitute ?- 'kp-subtract) + (cl-substitute ?= 'kp-equal) + (cl-substitute ?+ 'kp-add)))) (let ((pre (key-description (vconcat (seq-take seq len)))) (suf (key-description (vconcat (seq-drop seq len))))) (setq pre (string-replace "RET" "C-m" pre)) @@ -3789,7 +3808,7 @@ resumes the suspended transient.") (message "This command is only available if `%s' is non-nil" 'transient-enable-popup-navigation)) -(define-button-type 'transient-button +(define-button-type 'transient 'face nil 'keymap transient-button-map) diff --git a/code/elpa/transient-20220425.1314/transient.info b/code/elpa/transient-20220803.1000/transient.info similarity index 97% rename from code/elpa/transient-20220425.1314/transient.info rename to code/elpa/transient-20220803.1000/transient.info index be505de..4e93375 100644 --- a/code/elpa/transient-20220425.1314/transient.info +++ b/code/elpa/transient-20220803.1000/transient.info @@ -843,12 +843,22 @@ transients can be further modified non-interactively. that tree are not objects but have the form ‘(LEVEL CLASS PLIST)’, where plist should set at least ‘:key’, ‘:description’ and ‘:command’. - -- Function: transient-insert-suffix prefix loc suffix - This function inserts suffix or group SUFFIX into PREFIX before - LOC. + -- Function: transient-insert-suffix prefix loc suffix &optional + keep-other + -- Function: transient-append-suffix prefix loc suffix &optional + keep-other + These functions insert the suffix or group SUFFIX into PREFIX + before or after LOC. - -- Function: transient-append-suffix prefix loc suffix - This function inserts suffix or group SUFFIX into PREFIX after LOC. + Conceptually adding a binding to a transient prefix is similar to + adding a binding to a keymap, but this is complicated by the fact + that multiple suffix commands can be bound to the same key, + provided they are never active at the same time, see *note + Predicate Slots::. + + Unfortunately both false-positives and false-negatives are + possible. To deal with the former use non-nil KEEP-OTHER. To deal + with the latter remove the conflicting binding explicitly. -- Function: transient-replace-suffix prefix loc suffix This function replaces the suffix or group at LOC in PREFIX with @@ -1884,7 +1894,7 @@ They are defined here anyway to allow sharing certain methods. • ‘value’ The value. Should not be accessed directly. - • ‘init-value’ Function that is responsable for setting the object’s + • ‘init-value’ Function that is responsible for setting the object’s value. If bound, then this is called with the object as the only argument. Usually this is not bound, in which case the object’s primary ‘transient-init-value’ method is called instead. @@ -2419,7 +2429,7 @@ Appendix C Command and Function Index * transient--history-init: Prefix Classes. (line 10) * transient--insert-group: Group Methods. (line 19) * transient-append-suffix: Modifying Existing Transients. - (line 46) + (line 44) * transient-arg-value: Using Infix Arguments. (line 31) * transient-args: Using Infix Arguments. @@ -2440,7 +2450,7 @@ Appendix C Command and Function Index * transient-format-value: Suffix Format Methods. (line 22) * transient-get-suffix: Modifying Existing Transients. - (line 56) + (line 66) * transient-help: Getting Help for Suffix Commands. (line 11) * transient-history-next: Using History. (line 18) @@ -2466,9 +2476,9 @@ Appendix C Command and Function Index * transient-quit-seq: Aborting and Resuming Transients. (line 27) * transient-remove-suffix: Modifying Existing Transients. - (line 53) + (line 63) * transient-replace-suffix: Modifying Existing Transients. - (line 49) + (line 59) * transient-resume: Aborting and Resuming Transients. (line 53) * transient-save: Saving Values. (line 25) @@ -2482,7 +2492,7 @@ Appendix C Command and Function Index * transient-show-help: Suffix Format Methods. (line 26) * transient-suffix-put: Modifying Existing Transients. - (line 60) + (line 70) * transient-suffixes: Using Infix Arguments. (line 38) * transient-suspend: Aborting and Resuming Transients. @@ -2595,50 +2605,50 @@ Ref: Accessibility Options27829 Ref: Auxiliary Options28152 Ref: Developer Options32871 Node: Modifying Existing Transients34119 -Node: Defining New Commands37508 -Node: Defining Transients37844 -Node: Binding Suffix and Infix Commands40276 -Node: Group Specifications41130 -Node: Suffix Specifications45473 -Node: Defining Suffix and Infix Commands49731 -Node: Using Infix Arguments52925 -Node: Transient State55753 -Ref: Pre-commands for Infixes59660 -Ref: Pre-commands for Suffixes59931 -Ref: Pre-commands for Non-Suffixes61700 -Ref: Special Pre-Commands62313 -Node: Classes and Methods62821 -Node: Group Classes65035 -Node: Group Methods66951 -Node: Prefix Classes68204 -Node: Suffix Classes69295 -Node: Suffix Methods71539 -Node: Suffix Value Methods71860 -Node: Suffix Format Methods74614 -Node: Prefix Slots76063 -Ref: Internal Prefix Slots77338 -Node: Suffix Slots78595 -Ref: Slots of transient-suffix78963 -Ref: Slots of transient-infix79817 -Ref: Slots of transient-variable82937 -Ref: Slots of transient-switches83039 -Node: Predicate Slots83402 -Node: Related Abstractions and Packages84657 -Node: Comparison With Prefix Keys and Prefix Arguments84944 -Ref: Regular Prefix Commands85629 -Ref: Regular Prefix Arguments85977 -Ref: Transients86946 -Node: Comparison With Other Packages95217 -Ref: Magit-Popup95448 -Ref: Hydra96347 -Node: FAQ99383 -Ref: Can I control how the popup buffer is displayed?99526 -Ref: Why did some of the key bindings change?99707 -Ref: Why does q not quit popups anymore?102025 -Node: Keystroke Index103118 -Node: Command and Function Index104836 -Node: Variable Index111135 -Node: Concept Index113408 +Node: Defining New Commands38008 +Node: Defining Transients38344 +Node: Binding Suffix and Infix Commands40776 +Node: Group Specifications41630 +Node: Suffix Specifications45973 +Node: Defining Suffix and Infix Commands50231 +Node: Using Infix Arguments53425 +Node: Transient State56253 +Ref: Pre-commands for Infixes60160 +Ref: Pre-commands for Suffixes60431 +Ref: Pre-commands for Non-Suffixes62200 +Ref: Special Pre-Commands62813 +Node: Classes and Methods63321 +Node: Group Classes65535 +Node: Group Methods67451 +Node: Prefix Classes68704 +Node: Suffix Classes69795 +Node: Suffix Methods72039 +Node: Suffix Value Methods72360 +Node: Suffix Format Methods75114 +Node: Prefix Slots76563 +Ref: Internal Prefix Slots77838 +Node: Suffix Slots79095 +Ref: Slots of transient-suffix79463 +Ref: Slots of transient-infix80317 +Ref: Slots of transient-variable83437 +Ref: Slots of transient-switches83539 +Node: Predicate Slots83902 +Node: Related Abstractions and Packages85157 +Node: Comparison With Prefix Keys and Prefix Arguments85444 +Ref: Regular Prefix Commands86129 +Ref: Regular Prefix Arguments86477 +Ref: Transients87446 +Node: Comparison With Other Packages95717 +Ref: Magit-Popup95948 +Ref: Hydra96847 +Node: FAQ99883 +Ref: Can I control how the popup buffer is displayed?100026 +Ref: Why did some of the key bindings change?100207 +Ref: Why does q not quit popups anymore?102525 +Node: Keystroke Index103618 +Node: Command and Function Index105336 +Node: Variable Index111635 +Node: Concept Index113908  End Tag Table diff --git a/code/elpa/with-editor-20220422.1628/dir b/code/elpa/with-editor-20220608.1017/dir similarity index 100% rename from code/elpa/with-editor-20220422.1628/dir rename to code/elpa/with-editor-20220608.1017/dir diff --git a/code/elpa/with-editor-20220422.1628/with-editor-autoloads.el b/code/elpa/with-editor-20220608.1017/with-editor-autoloads.el similarity index 100% rename from code/elpa/with-editor-20220422.1628/with-editor-autoloads.el rename to code/elpa/with-editor-20220608.1017/with-editor-autoloads.el diff --git a/code/elpa/with-editor-20220422.1628/with-editor-pkg.el b/code/elpa/with-editor-20220608.1017/with-editor-pkg.el similarity index 70% rename from code/elpa/with-editor-20220422.1628/with-editor-pkg.el rename to code/elpa/with-editor-20220608.1017/with-editor-pkg.el index 604f5b0..3e60082 100644 --- a/code/elpa/with-editor-20220422.1628/with-editor-pkg.el +++ b/code/elpa/with-editor-20220608.1017/with-editor-pkg.el @@ -1,7 +1,7 @@ -(define-package "with-editor" "20220422.1628" "Use the Emacsclient as $EDITOR" +(define-package "with-editor" "20220608.1017" "Use the Emacsclient as $EDITOR" '((emacs "25.1") (compat "28.1.1.0")) - :commit "54d1e816ac0f3203f0065ea9e6a551b9d103dad4" :authors + :commit "cfcbc2731e402b9169c0dc03e89b5b57aa988502" :authors '(("Jonas Bernoulli" . "jonas@bernoul.li")) :maintainer '("Jonas Bernoulli" . "jonas@bernoul.li") diff --git a/code/elpa/with-editor-20220422.1628/with-editor.el b/code/elpa/with-editor-20220608.1017/with-editor.el similarity index 97% rename from code/elpa/with-editor-20220422.1628/with-editor.el rename to code/elpa/with-editor-20220608.1017/with-editor.el index 716c474..21a6eba 100644 --- a/code/elpa/with-editor-20220422.1628/with-editor.el +++ b/code/elpa/with-editor-20220608.1017/with-editor.el @@ -83,21 +83,16 @@ (require 'shell) (eval-when-compile (require 'subr-x)) -(eval-when-compile - (progn (require 'dired nil t) - (require 'eshell nil t) - (require 'term nil t) - (condition-case err - (require 'vterm nil t) - (error (message "Error(vterm): %S" err))) - (require 'warnings nil t))) -(declare-function dired-get-filename 'dired) -(declare-function term-emulate-terminal 'term) -(declare-function vterm-send-return 'vterm) -(declare-function vterm-send-string 'vterm) +(declare-function dired-get-filename "dired" + (&optional localp no-error-if-not-filep)) +(declare-function term-emulate-terminal "term" (proc str)) +(declare-function vterm-send-return "vterm" ()) +(declare-function vterm-send-string "vterm" (string &optional paste-p)) (defvar eshell-preoutput-filter-functions) (defvar git-commit-post-finish-hook) (defvar vterm--process) +(defvar warning-minimum-level) +(defvar warning-minimum-log-level) ;;; Options @@ -285,7 +280,7 @@ When t, then use the emacsclient. This has the disadvantage that `with-editor-mode' won't be enabled because we don't know whether this package was involved at all in the call to the emacsclient, and when it is not, then we really should. The problem is that -the emacsclient doesn't pass a long any environment variables to +the emacsclient doesn't pass along any environment variables to the server. This will hopefully be fixed in Emacs eventually. When nil, then use the sleeping editor. Because in this case we @@ -371,10 +366,14 @@ And some tools that do not handle $EDITOR properly also break." (cond (cancel (save-buffer) (if clients - (dolist (client clients) - (ignore-errors - (server-send-string client "-error Canceled by user")) - (delete-process client)) + (let ((buf (current-buffer))) + (dolist (client clients) + (message "client %S" client) + (ignore-errors + (server-send-string client "-error Canceled by user")) + (delete-process client)) + (when (buffer-live-p buf) + (kill-buffer buf))) ;; Fallback for when emacs was used as $EDITOR ;; instead of emacsclient or the sleeping editor. ;; See https://github.com/magit/magit/issues/2258. @@ -729,10 +728,10 @@ This works in `shell-mode', `term-mode', `eshell-mode' and (with-editor--setup) (while (accept-process-output vterm--process 0.1)) (when-let ((v (getenv envvar))) - (vterm-send-string (format "export %s=%S" envvar v)) + (vterm-send-string (format " export %s=%S" envvar v)) (vterm-send-return)) (when-let ((v (getenv "EMACS_SERVER_FILE"))) - (vterm-send-string (format "export EMACS_SERVER_FILE=%S" v)) + (vterm-send-string (format " export EMACS_SERVER_FILE=%S" v)) (vterm-send-return)) (vterm-send-string "clear") (vterm-send-return)) @@ -850,7 +849,7 @@ else like the former." ;; that mode, even though it only runs the shell to run a single ;; command. The `with-editor-export-editor' hook function is only ;; intended to be used in buffers in which an interactive shell is - ;; running, so it has to be remove here. + ;; running, so it has to be removed here. (let ((shell-mode-hook (remove 'with-editor-export-editor shell-mode-hook))) (cond ((or (not (or with-editor--envvar shell-command-with-editor-mode)) (not (string-suffix-p "&" command))) @@ -884,6 +883,7 @@ else like the former." "Debug configuration issues. See info node `(with-editor)Debugging' for instructions." (interactive) + (require 'warnings) (with-current-buffer (get-buffer-create "*with-editor-debug*") (pop-to-buffer (current-buffer)) (erase-buffer) diff --git a/code/elpa/with-editor-20220422.1628/with-editor.info b/code/elpa/with-editor-20220608.1017/with-editor.info similarity index 100% rename from code/elpa/with-editor-20220422.1628/with-editor.info rename to code/elpa/with-editor-20220608.1017/with-editor.info