├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── build.yaml ├── .gitignore ├── Cask ├── Eask ├── LICENSE ├── Makefile ├── README.org ├── evil-collection.el ├── modes ├── .nosearch ├── 2048-game │ └── evil-collection-2048-game.el ├── ag │ └── evil-collection-ag.el ├── alchemist │ └── evil-collection-alchemist.el ├── anaconda-mode │ └── evil-collection-anaconda-mode.el ├── apropos │ └── evil-collection-apropos.el ├── arc-mode │ └── evil-collection-arc-mode.el ├── atomic-chrome │ └── evil-collection-atomic-chrome.el ├── auto-package-update │ └── evil-collection-auto-package-update.el ├── beginend │ └── evil-collection-beginend.el ├── bluetooth │ └── evil-collection-bluetooth.el ├── bm │ └── evil-collection-bm.el ├── bookmark │ └── evil-collection-bookmark.el ├── buff-menu │ └── evil-collection-buff-menu.el ├── bufler │ └── evil-collection-bufler.el ├── calc │ └── evil-collection-calc.el ├── calendar │ └── evil-collection-calendar.el ├── cider │ └── evil-collection-cider.el ├── citre │ └── evil-collection-citre.el ├── cmake-mode │ └── evil-collection-cmake-mode.el ├── color-rg │ └── evil-collection-color-rg.el ├── comint │ └── evil-collection-comint.el ├── company │ └── evil-collection-company.el ├── compile │ └── evil-collection-compile.el ├── consult │ └── evil-collection-consult.el ├── corfu │ └── evil-collection-corfu.el ├── crdt │ └── evil-collection-crdt.el ├── csv │ └── evil-collection-csv.el ├── cus-theme │ └── evil-collection-cus-theme.el ├── custom │ └── evil-collection-custom.el ├── daemons │ └── evil-collection-daemons.el ├── dape │ └── evil-collection-dape.el ├── dashboard │ └── evil-collection-dashboard.el ├── deadgrep │ └── evil-collection-deadgrep.el ├── debbugs │ └── evil-collection-debbugs.el ├── debug │ └── evil-collection-debug.el ├── devdocs │ └── evil-collection-devdocs.el ├── dictionary │ └── evil-collection-dictionary.el ├── diff-hl │ └── evil-collection-diff-hl.el ├── diff-mode │ └── evil-collection-diff-mode.el ├── dired-sidebar │ └── evil-collection-dired-sidebar.el ├── dired │ └── evil-collection-dired.el ├── disk-usage │ └── evil-collection-disk-usage.el ├── distel │ └── evil-collection-distel.el ├── doc-view │ └── evil-collection-doc-view.el ├── docker │ └── evil-collection-docker.el ├── eat │ └── evil-collection-eat.el ├── ebib │ └── evil-collection-ebib.el ├── ebuku │ └── evil-collection-ebuku.el ├── edbi │ └── evil-collection-edbi.el ├── edebug │ └── evil-collection-edebug.el ├── ediff │ ├── README.org │ └── evil-collection-ediff.el ├── eglot │ └── evil-collection-eglot.el ├── eldoc │ └── evil-collection-eldoc.el ├── elfeed │ └── evil-collection-elfeed.el ├── elisp-mode │ └── evil-collection-elisp-mode.el ├── elisp-refs │ └── evil-collection-elisp-refs.el ├── elisp-slime-nav │ └── evil-collection-elisp-slime-nav.el ├── elpaca │ └── evil-collection-elpaca.el ├── embark │ └── evil-collection-embark.el ├── ement │ └── evil-collection-ement.el ├── emms │ └── evil-collection-emms.el ├── emoji │ └── evil-collection-emoji.el ├── epa │ └── evil-collection-epa.el ├── ert │ └── evil-collection-ert.el ├── eshell │ └── evil-collection-eshell.el ├── eval-sexp-fu │ └── evil-collection-eval-sexp-fu.el ├── evil-mc │ └── evil-collection-evil-mc.el ├── eww │ └── evil-collection-eww.el ├── explain-pause-mode │ └── evil-collection-explain-pause-mode.el ├── fanyi │ └── evil-collection-fanyi.el ├── finder │ └── evil-collection-finder.el ├── flycheck │ └── evil-collection-flycheck.el ├── flymake │ └── evil-collection-flymake.el ├── forge │ └── evil-collection-forge.el ├── free-keys │ └── evil-collection-free-keys.el ├── geiser │ └── evil-collection-geiser.el ├── ggtags │ └── evil-collection-ggtags.el ├── git-timemachine │ └── evil-collection-git-timemachine.el ├── gited │ └── evil-collection-gited.el ├── gnus │ └── evil-collection-gnus.el ├── go-mode │ └── evil-collection-go-mode.el ├── gptel │ └── evil-collection-gptel.el ├── grep │ └── evil-collection-grep.el ├── guix │ └── evil-collection-guix.el ├── hackernews │ └── evil-collection-hackernews.el ├── helm │ └── evil-collection-helm.el ├── help │ └── evil-collection-help.el ├── helpful │ └── evil-collection-helpful.el ├── hg-histedit │ └── evil-collection-hg-histedit.el ├── hungry-delete │ └── evil-collection-hungry-delete.el ├── hyrolo │ └── evil-collection-hyrolo.el ├── ibuffer │ └── evil-collection-ibuffer.el ├── image+ │ └── evil-collection-image+.el ├── image-dired │ └── evil-collection-image-dired.el ├── image │ └── evil-collection-image.el ├── imenu-list │ └── evil-collection-imenu-list.el ├── imenu │ └── evil-collection-imenu.el ├── indent │ └── evil-collection-indent.el ├── indium │ └── evil-collection-indium.el ├── info │ └── evil-collection-info.el ├── ivy │ └── evil-collection-ivy.el ├── js2-mode │ └── evil-collection-js2-mode.el ├── kmacro │ └── evil-collection-kmacro.el ├── kotlin-mode │ └── evil-collection-kotlin-mode.el ├── leetcode │ └── evil-collection-leetcode.el ├── lispy │ └── evil-collection-lispy.el ├── lms │ └── evil-collection-lms.el ├── log-edit │ └── evil-collection-log-edit.el ├── log-view │ └── evil-collection-log-view.el ├── lsp-ui-imenu │ └── evil-collection-lsp-ui-imenu.el ├── lua-mode │ └── evil-collection-lua-mode.el ├── macrostep │ └── evil-collection-macrostep.el ├── magit-repos │ └── evil-collection-magit-repos.el ├── magit-section │ └── evil-collection-magit-section.el ├── magit-todos │ └── evil-collection-magit-todos.el ├── magit │ ├── README.org │ └── evil-collection-magit.el ├── man │ └── evil-collection-man.el ├── markdown-mode │ └── evil-collection-markdown-mode.el ├── minesweeper │ └── evil-collection-minesweeper.el ├── minibuffer │ └── evil-collection-minibuffer.el ├── monky │ └── evil-collection-monky.el ├── mpc │ └── evil-collection-mpc.el ├── mpdel │ └── evil-collection-mpdel.el ├── mpdired │ └── evil-collection-mpdired.el ├── mu4e-conversation │ └── evil-collection-mu4e-conversation.el ├── mu4e │ ├── evil-collection-mu4e-1.8.el │ └── evil-collection-mu4e.el ├── neotree │ └── evil-collection-neotree.el ├── newsticker │ └── evil-collection-newsticker.el ├── notmuch │ └── evil-collection-notmuch.el ├── nov │ └── evil-collection-nov.el ├── omnisharp │ └── evil-collection-omnisharp.el ├── org-present │ └── evil-collection-org-present.el ├── org-roam │ └── evil-collection-org-roam.el ├── org │ └── evil-collection-org.el ├── osx-dictionary │ └── evil-collection-osx-dictionary.el ├── outline │ └── evil-collection-outline.el ├── p-search │ └── evil-collection-p-search.el ├── p4 │ └── evil-collection-p4.el ├── package-menu │ └── evil-collection-package-menu.el ├── pass │ └── evil-collection-pass.el ├── pdf │ └── evil-collection-pdf.el ├── popup │ └── evil-collection-popup.el ├── proced │ └── evil-collection-proced.el ├── process-menu │ └── evil-collection-process-menu.el ├── prodigy │ └── evil-collection-prodigy.el ├── profiler │ └── evil-collection-profiler.el ├── python │ └── evil-collection-python.el ├── quickrun │ └── evil-collection-quickrun.el ├── racer │ └── evil-collection-racer.el ├── racket-describe │ └── evil-collection-racket-describe.el ├── realgud │ └── evil-collection-realgud.el ├── reftex │ └── evil-collection-reftex.el ├── replace │ └── evil-collection-replace.el ├── restclient │ └── evil-collection-restclient.el ├── rg │ └── evil-collection-rg.el ├── ripgrep │ └── evil-collection-ripgrep.el ├── rjsx-mode │ └── evil-collection-rjsx-mode.el ├── robe │ └── evil-collection-robe.el ├── rtags │ └── evil-collection-rtags.el ├── ruby-mode │ └── evil-collection-ruby-mode.el ├── scheme │ └── evil-collection-scheme.el ├── scroll-lock │ └── evil-collection-scroll-lock.el ├── selectrum │ └── evil-collection-selectrum.el ├── sh-script │ └── evil-collection-sh-script.el ├── shortdoc │ └── evil-collection-shortdoc.el ├── simple-mpc │ └── evil-collection-simple-mpc.el ├── simple │ └── evil-collection-simple.el ├── slime │ └── evil-collection-slime.el ├── sly │ └── evil-collection-sly.el ├── smerge-mode │ ├── README.org │ └── evil-collection-smerge-mode.el ├── snake │ └── evil-collection-snake.el ├── so-long │ └── evil-collection-so-long.el ├── speedbar │ └── evil-collection-speedbar.el ├── tab-bar │ └── evil-collection-tab-bar.el ├── tablist │ └── evil-collection-tablist.el ├── tabulated-list │ └── evil-collection-tabulated-list.el ├── tar-mode │ └── evil-collection-tar-mode.el ├── telega │ └── evil-collection-telega.el ├── term │ └── evil-collection-term.el ├── tetris │ └── evil-collection-tetris.el ├── thread │ └── evil-collection-thread.el ├── tide │ └── evil-collection-tide.el ├── timer-list │ └── evil-collection-timer-list.el ├── transmission │ └── evil-collection-transmission.el ├── trashed │ └── evil-collection-trashed.el ├── tuareg │ └── evil-collection-tuareg.el ├── typescript-mode │ └── evil-collection-typescript-mode.el ├── ultra-scroll │ └── evil-collection-ultra-scroll.el ├── unimpaired │ └── evil-collection-unimpaired.el ├── vc-annotate │ └── evil-collection-vc-annotate.el ├── vc-dir │ └── evil-collection-vc-dir.el ├── vc-git │ └── evil-collection-vc-git.el ├── vdiff │ └── evil-collection-vdiff.el ├── vertico │ └── evil-collection-vertico.el ├── view │ └── evil-collection-view.el ├── vlf │ └── evil-collection-vlf.el ├── vterm │ └── evil-collection-vterm.el ├── vundo │ └── evil-collection-vundo.el ├── w3m │ └── evil-collection-w3m.el ├── wdired │ └── evil-collection-wdired.el ├── wgrep │ └── evil-collection-wgrep.el ├── which-key │ └── evil-collection-which-key.el ├── with-editor │ └── evil-collection-with-editor.el ├── woman │ └── evil-collection-woman.el ├── xref │ └── evil-collection-xref.el ├── xwidget │ └── evil-collection-xwidget.el ├── yaml-mode │ └── evil-collection-yaml-mode.el ├── youtube-dl │ └── evil-collection-youtube-dl.el ├── zmusic │ └── evil-collection-zmusic.el └── ztree │ └── evil-collection-ztree.el ├── test ├── evil-collection-magit-tests.el ├── evil-collection-test.el └── test-helper.el └── yasnippet_evil-collection /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Brief summary of what the package does 2 | 3 | [Please write a quick summary of the package.] 4 | 5 | ### Direct link to the package repository 6 | 7 | https://github.com/your/awesome_package 8 | 9 | ### Checklist 10 | 11 | 12 | 13 | Assume you're working on `mpc` mode: 14 | 15 | - [ ] byte-compiles cleanly 16 | - [ ] `M-x checkdoc` is happy. Don't manually write `(provide 'evil-collection-mpc)`, `M-x checkdoc` can do it automatically for you 17 | - [ ] define `evil-collection-mpc-setup` with `defun` 18 | - [ ] define `evil-collection-mpc-mode-maps` with `defconst` 19 | - [ ] All functions should start with `evil-collection-mpc-` 20 | 21 | 22 | -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | workflow_dispatch: 5 | pull_request: 6 | push: 7 | branches: 8 | - master 9 | 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | check: 16 | runs-on: ${{ matrix.os }} 17 | continue-on-error: ${{ matrix.experimental }} 18 | strategy: 19 | fail-fast: false 20 | matrix: 21 | os: [ubuntu-latest, macos-latest, windows-latest] 22 | emacs-version: 23 | - 26.3 24 | - 27.2 25 | - 28.2 26 | - 29.3 27 | experimental: [false] 28 | include: 29 | - os: ubuntu-latest 30 | emacs-version: snapshot 31 | experimental: true 32 | - os: macos-latest 33 | emacs-version: snapshot 34 | experimental: true 35 | exclude: 36 | - os: macos-latest 37 | emacs-version: 26.3 38 | - os: macos-latest 39 | emacs-version: 27.2 40 | steps: 41 | - uses: jcs090218/setup-emacs@master 42 | with: 43 | version: ${{ matrix.emacs-version }} 44 | 45 | - uses: actions/checkout@v4 46 | 47 | - name: Print emacs version 48 | run: | 49 | emacs --version 50 | 51 | - uses: emacs-eask/setup-eask@master 52 | with: 53 | version: snapshot 54 | 55 | - run: make install 56 | 57 | - run: make compile 58 | 59 | - run: make lint 60 | 61 | - run: make test 62 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.cask 2 | /.eask 3 | /dist 4 | *.elc 5 | -------------------------------------------------------------------------------- /Cask: -------------------------------------------------------------------------------- 1 | (source gnu) 2 | (source melpa) 3 | 4 | (package-file "evil-collection.el") 5 | 6 | (development 7 | (depends-on "evil") 8 | (depends-on "f") 9 | (depends-on "ert-runner") 10 | (depends-on "package-lint") 11 | (depends-on "annalist") 12 | (depends-on "magit")) 13 | -------------------------------------------------------------------------------- /Eask: -------------------------------------------------------------------------------- 1 | ;; -*- mode: eask; lexical-binding: t -*- 2 | 3 | (package "evil-collection" 4 | "0.0.2" 5 | "A set of keybindings for Evil mode") 6 | 7 | (website-url "https://github.com/emacs-evil/evil-collection") 8 | (keywords "evil" "tools") 9 | 10 | (package-file "evil-collection.el") 11 | (files "modes/*/*.el" '(:exclude "modes/magit/*.el" "modes/magit-repos/*.el")) 12 | 13 | (script "test" "echo \"Error: no test specified\" && exit 1") 14 | 15 | (source 'gnu) 16 | (source 'melpa) 17 | 18 | (depends-on "emacs" "26.3") 19 | (depends-on "evil") 20 | (depends-on "annalist") 21 | 22 | (development 23 | (depends-on "f") 24 | (depends-on "ert-runner") 25 | (depends-on "package-lint") 26 | (depends-on "magit")) 27 | 28 | (setq network-security-level 'low) ; see https://github.com/jcs090218/setup-emacs-windows/issues/156#issuecomment-932956432 29 | 30 | (add-hook 'eask-before-compile-hook 31 | (lambda (&rest _) 32 | (setq evil-want-integration nil) 33 | (setq evil-want-keybinding nil) 34 | (setq byte-compile-docstring-max-column 200) 35 | (setq byte-compile-error-on-warn t))) 36 | 37 | (add-hook 'eask-before-lint/package-hook 38 | (lambda (&rest _) 39 | (advice-add 'package-lint--error-at-bol :around 'ignore) ; ignore headers 40 | (advice-add 'package-lint--check-eval-after-load :around 'ignore) 41 | (advice-add 'package-lint--check-version-regexp-list :around 'ignore) 42 | (advice-add 'package-lint--check-symbol-separators :around 'ignore) 43 | (advice-add 'package-lint--check-defs-prefix :around 'ignore) 44 | (advice-add 'package-lint--check-provide-form :around 'ignore))) 45 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | EASK ?= eask 2 | 3 | compile: 4 | $(EASK) compile 5 | 6 | install: 7 | $(EASK) install-deps --dev 8 | 9 | lint: 10 | $(EASK) lint package 11 | 12 | test: install 13 | $(EASK) test ert ./test/evil-collection-test.el 14 | 15 | magit-test: install 16 | $(EASK) test ert ./test/evil-collection-magit-tests.el 17 | 18 | .PHONY: compile lint test 19 | 20 | # Local Variables: 21 | # tab-width: 8 22 | # End: 23 | -------------------------------------------------------------------------------- /modes/.nosearch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emacs-evil/evil-collection/4748cfb78488fce96812130e0b53aae6d042ca6d/modes/.nosearch -------------------------------------------------------------------------------- /modes/2048-game/evil-collection-2048-game.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-2048-game.el --- Evil bindings for `2048-game' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: Daniel Phan 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, games 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `2048-game'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require '2048-game nil t) 32 | 33 | (defconst evil-collection-2048-game-maps '(2048-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-2048-game-setup () 37 | "Set up `evil' bindings for `2048-game'." 38 | (evil-set-initial-state '2048-mode 'normal) 39 | (evil-collection-define-key 'normal '2048-mode-map 40 | "h" '2048-left 41 | "j" '2048-down 42 | "k" '2048-up 43 | "l" '2048-right 44 | "r" '2048-random-move 45 | (kbd "") '2048-up 46 | (kbd "") '2048-left 47 | (kbd "") '2048-right 48 | (kbd "") '2048-down 49 | "q" 'quit-window 50 | "ZQ" 'evil-quit 51 | "ZZ" 'quit-window)) 52 | 53 | (provide 'evil-collection-2048-game) 54 | ;;; evil-collection-2048-game.el ends here 55 | -------------------------------------------------------------------------------- /modes/ag/evil-collection-ag.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-ag.el --- Evil Bindings for Ag -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, ag, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `ag-mode' from the `wgrep-ag' package. 28 | 29 | ;;; Code: 30 | (require 'ag nil t) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-ag-maps '(ag-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-ag-setup () 37 | "Set up `evil' bindings for `ag'." 38 | (evil-collection-define-key '(normal visual) 'ag-mode-map 39 | "k" 'evil-previous-line 40 | "h" 'evil-backward-char 41 | 42 | ;; refresh 43 | "gr" 'recompile 44 | 45 | ;; navigation 46 | "gj" 'compilation-next-error 47 | "gk" 'compilation-previous-error 48 | (kbd "C-j") 'compilation-next-error 49 | (kbd "C-k") 'compilation-previous-error 50 | "]]" 'compilation-next-error 51 | "[[" 'compilation-previous-error 52 | 53 | ;; search 54 | "?" evil-collection-evil-search-backward 55 | "/" evil-collection-evil-search-forward 56 | "n" evil-collection-evil-search-next 57 | "N" evil-collection-evil-search-previous) 58 | ;; `ag' is best set in 'normal state because its buffer can be edited. 59 | ;; https://github.com/mhayashi1120/Emacs-wgrep 60 | (evil-set-initial-state 'ag-mode 'normal)) 61 | 62 | (provide 'evil-collection-ag) 63 | ;;; evil-collection-ag.el ends here 64 | -------------------------------------------------------------------------------- /modes/apropos/evil-collection-apropos.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-apropos.el --- Evil bindings for apropos-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, help, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `apropos-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'apropos) 32 | 33 | (defconst evil-collection-apropos-maps '(apropos-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-apropos-setup () 37 | "Set up `evil' bindings for `apropos'." 38 | (evil-set-initial-state 'apropos-mode 'normal) 39 | (evil-collection-define-key 'normal 'apropos-mode-map 40 | (kbd "RET") 'apropos-follow 41 | (kbd "TAB") 'forward-button 42 | (kbd "S-TAB") 'backward-button 43 | "g?" 'describe-mode 44 | "gr" 'revert-buffer 45 | 46 | ;; quit 47 | "q" 'quit-window 48 | "ZQ" 'evil-quit 49 | "ZZ" 'quit-window)) 50 | 51 | (provide 'evil-collection-apropos) 52 | ;;; evil-collection-apropos.el ends here 53 | -------------------------------------------------------------------------------- /modes/atomic-chrome/evil-collection-atomic-chrome.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-atomic-chrome.el --- Evil bindings for atomic-chrome -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2022 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for atomic-chrome. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'atomic-chrome nil t) 32 | 33 | (defconst evil-collection-atomic-chrome-maps nil) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-atomic-chrome-setup () 37 | "Set up `evil' bindings for `atomic-chrome'." 38 | ;; The browser is in "inserted" state, makes it consistent. 39 | (evil-set-initial-state 'atomic-chrome-edit-mode 'insert)) 40 | 41 | (provide 'evil-collection-atomic-chrome) 42 | ;;; evil-collection-atomic-chrome.el ends here 43 | -------------------------------------------------------------------------------- /modes/auto-package-update/evil-collection-auto-package-update.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-auto-package-update.el --- Evil bindings for auto-package-update -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, auto-package-update, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for auto-package-update. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'auto-package-update nil t) 32 | 33 | (defconst evil-collection-auto-package-update-maps '(auto-package-update-minor-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-auto-package-update-setup () 37 | "Set up `evil' bindings for `auto-package-update'." 38 | (add-hook 'auto-package-update-minor-mode-hook 'evil-normalize-keymaps) 39 | (evil-collection-define-key 'normal 'auto-package-update-minor-mode-map 40 | "q" 'quit-window)) 41 | 42 | (provide 'evil-collection-auto-package-update) 43 | 44 | ;;; evil-collection-auto-package-update.el ends here 45 | -------------------------------------------------------------------------------- /modes/bluetooth/evil-collection-bluetooth.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-bluetooth.el --- Bindings for `bluetooth' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2022 Arian Dehghani 4 | 5 | ;; Author: Arian Dehghani 6 | ;; Maintainer: Arian Dehghani 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "27.1")) 10 | ;; Keywords: evil, emacs, tools, blutooth 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for `bluetooth'. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'bluetooth nil t) 31 | 32 | (defvar bluetooth-mode-map) 33 | 34 | (defconst evil-collection-bluetooth-maps '(bluetooth-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-bluetooth-setup () 38 | "Set up `evil' bindings for `bluetooth'." 39 | (evil-collection-set-readonly-bindings 'bluetooth-mode-map) 40 | (evil-collection-define-key 'normal 'bluetooth-mode-map 41 | "c" 'bluetooth-connect 42 | "d" 'bluetooth-disconnect 43 | "b" 'bluetooth-toggle-blocked 44 | "t" 'bluetooth-toggle-trusted 45 | "a" 'bluetooth-set-alias 46 | "r" 'bluetooth-start-discovery 47 | "R" 'bluetooth-stop-discovery 48 | "s" 'bluetooth-toggle-powered 49 | "P" 'bluetooth-pair 50 | "D" 'bluetooth-toggle-discoverable 51 | "x" 'bluetooth-toggle-pairable 52 | "i" 'bluetooth-show-device-info 53 | "A" 'bluetooth-show-adapter-info 54 | "K" 'bluetooth-remove-device 55 | "<" 'bluetooth-beginning-of-list 56 | ">" 'bluetooth-end-of-list)) 57 | 58 | (provide 'evil-collection-bluetooth) 59 | ;;; evil-collection-bluetooth.el ends here 60 | -------------------------------------------------------------------------------- /modes/bm/evil-collection-bm.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-bm.el --- Evil bindings for bm -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, bm, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for bm. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'bm nil t) 32 | 33 | (defconst evil-collection-bm-maps '(bm-show-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-bm-setup () 37 | "Set up `evil' bindings for `bm'." 38 | (evil-set-initial-state 'bm-show-mode 'normal) 39 | 40 | (evil-collection-define-key 'normal 'bm-show-mode-map 41 | "q" 'bm-show-quit-window 42 | "gr" 'revert-buffer 43 | "g?" 'describe-mode 44 | 45 | "j" 'bm-show-next 46 | "k" 'bm-show-prev 47 | 48 | ;; open 49 | (kbd "RET") 'bm-show-goto-bookmark 50 | (kbd "S-") 'bm-show-bookmark)) 51 | 52 | 53 | (provide 'evil-collection-bm) 54 | ;;; evil-collection-bm.el ends here 55 | -------------------------------------------------------------------------------- /modes/bufler/evil-collection-bufler.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-bufler.el --- Evil bindings for mpdel -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2023 Ruoyu Feng 4 | 5 | ;; Author: Ruoyu Feng 6 | ;; URL: https://github.com/emacs-evil/evil-collection 7 | ;; Version: 0.0.1 8 | ;; Package-Requires: ((emacs "27.1")) 9 | ;; Keywords: evil, tools, bufler, buffer list 10 | 11 | ;; This file is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published 13 | ;; by the Free Software Foundation; either version 3, or (at your 14 | ;; option) any later version. 15 | ;; 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; For a full copy of the GNU General Public License 22 | ;; see . 23 | 24 | ;;; Commentary: 25 | ;; Evil bindings for bufler. 26 | 27 | ;;; Code: 28 | 29 | (require 'bufler nil t) 30 | (require 'evil-collection) 31 | 32 | (defvar bufler-list-mode-map) 33 | 34 | (defconst evil-collection-bufler-maps '(bufler-list-mode-map)) 35 | 36 | (defconst evil-collection-bufler-modes '(bufler-list-mode)) 37 | 38 | ;;;###autoload 39 | (defun evil-collection-bufler-setup () 40 | "Set up `evil' bindings for `bufler'." 41 | 42 | (evil-collection-set-readonly-bindings 'bufler-list-mode-map) 43 | (dolist (mode evil-collection-bufler-modes) 44 | (evil-set-initial-state mode 'normal)) 45 | (evil-collection-define-key 'normal 'bufler-list-mode-map 46 | "?" 'hydra:bufler/body 47 | "B" 'bufler 48 | "f" 'bufler-list-group-frame 49 | "F" 'bufler-list-group-make-frame 50 | "r" 'bufler-list-buffer-name-workspace 51 | "D" 'bufler-list-buffer-kill 52 | "w" 'bufler-list-buffer-save 53 | (kbd "RET") 'bufler-list-buffer-switch 54 | "J" 'bufler-list-buffer-peek)) 55 | 56 | (provide 'evil-collection-bufler) 57 | ;;; evil-collection-bufler.el ends here 58 | -------------------------------------------------------------------------------- /modes/citre/evil-collection-citre.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-citre.el --- Bindings for `citre' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2024 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, citre, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `citre' 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | 32 | (defun evil-collection-citre-set-bindings () 33 | "Set jump point for citre commands." 34 | (dolist (cmd '(citre-jump 35 | citre-query-jump 36 | citre-jump-to-reference 37 | citre-query-jump-to-reference)) 38 | (evil-declare-not-repeat cmd) 39 | (evil-set-command-property cmd :jump t))) 40 | 41 | ;;;###autoload 42 | (defun evil-collection-citre-setup () 43 | "Set up `evil' bindings for `citre'." 44 | (evil-collection-citre-set-bindings)) 45 | 46 | (provide 'evil-collection-citre) 47 | ;;; evil-collection-citre.el ends here 48 | -------------------------------------------------------------------------------- /modes/cmake-mode/evil-collection-cmake-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-cmake-mode.el --- Bindings for `cmake-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `cmake-mode' 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'cmake-mode nil t) 32 | 33 | (defvar cmake-tab-width) 34 | (defun evil-collection-cmake-mode-set-evil-shift-width () 35 | "Set `evil-shift-width' according to `cmake-tab-with'." 36 | (setq-local evil-shift-width cmake-tab-width)) 37 | 38 | ;;;###autoload 39 | (defun evil-collection-cmake-mode-setup () 40 | "Set up `evil' bindings for `cmake-mode'." 41 | (add-hook 'cmake-mode-hook #'evil-collection-cmake-mode-set-evil-shift-width)) 42 | 43 | (provide 'evil-collection-cmake-mode) 44 | ;;; evil-collection-cmake-mode.el ends here 45 | -------------------------------------------------------------------------------- /modes/comint/evil-collection-comint.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-comint.el --- Bindings for `comint-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, comint, processes 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `comint-mode'. 28 | 29 | ;;; Code: 30 | (require 'comint) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-comint-maps '(comint-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-comint-setup () 37 | "Set up `evil' bindings for `comint'." 38 | (when evil-want-C-d-scroll 39 | (evil-collection-define-key 'normal 'comint-mode-map 40 | (kbd "C-d") #'evil-scroll-down)) 41 | 42 | (evil-collection-define-key 'normal 'comint-mode-map 43 | ;; Match Eshell bindings: 44 | (kbd "C-j") #'comint-next-prompt 45 | (kbd "C-k") #'comint-previous-prompt 46 | (kbd "gj") #'comint-next-prompt 47 | (kbd "gk") #'comint-previous-prompt 48 | (kbd "]]") #'comint-next-prompt 49 | (kbd "[[") #'comint-previous-prompt 50 | (kbd "C-p") #'comint-previous-input 51 | (kbd "C-n") #'comint-next-input) 52 | 53 | ;; TODO: What if the user changes `evil-want-C-u-delete' after this is run? 54 | (when evil-want-C-u-delete 55 | (evil-collection-define-key 'insert 'comint-mode-map 56 | (kbd "C-u") #'comint-kill-input)) 57 | 58 | (evil-collection-define-key 'insert 'comint-mode-map 59 | (kbd "") #'comint-previous-input 60 | (kbd "") #'comint-next-input)) 61 | 62 | (provide 'evil-collection-comint) 63 | ;;; evil-collection-comint.el ends here 64 | -------------------------------------------------------------------------------- /modes/crdt/evil-collection-crdt.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-crdt.el --- Bindings for `crdt' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2022 Arte Ebrahimi and Jonathan Ming 4 | 5 | ;; Authors: Arte Ebrahimi and Jonathan Ming 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.2 9 | ;; Package-Requires: ((emacs "27.1")) 10 | ;; Keywords: evil, emacs, convenience, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for crdt. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'crdt nil t) 31 | 32 | (defvar crdt-mode-map) 33 | (defconst evil-collection-crdt-maps 34 | '(crdt-buffer-menu-mode-map crdt-session-menu-mode-map crdt-user-menu-mode-map crdt-read-settings-map)) 35 | 36 | (defun evil-collection-crdt-setup () 37 | "Set up `evil' bindings for crdt." 38 | (evil-collection-define-key 'normal 'crdt-buffer-menu-mode-map 39 | (kbd "RET") 'crdt-switch-to-buffer-other-window 40 | "x" 'crdt-stop-share-buffer) 41 | 42 | (evil-collection-define-key 'normal 'crdt-session-menu-mode-map 43 | (kbd "RET") 'crdt-list-buffers 44 | "x" 'crdt--stop-session) 45 | 46 | (evil-collection-define-key 'normal 'crdt-user-menu-mode-map 47 | (kbd "RET") 'crdt-goto-user 48 | "x" 'crdt-kill-user 49 | "f" 'crdt-follow-user) 50 | 51 | (evil-collection-define-key 'normal 'crdt-read-settings-map 52 | (kbd "RET") 'exit-recursive-edit 53 | "q" 'abort-recursive-edit 54 | "ZZ" 'exit-recursive-edit)) 55 | 56 | (provide 'evil-collection-crdt) 57 | ;;; evil-collection-crdt.el ends here 58 | -------------------------------------------------------------------------------- /modes/csv/evil-collection-csv.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-csv.el --- Bindings for `csv' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2024 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.2 9 | ;; Package-Requires: ((emacs "27.1")) 10 | ;; Keywords: evil, emacs, convenience, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for csv. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'csv nil t) 31 | 32 | (defvar csv-mode-map) 33 | (defconst evil-collection-csv-maps '(csv-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-csv-setup () 37 | "Set up `evil' bindings for csv." 38 | (evil-collection-define-key 'normal 'csv-mode-map 39 | [tab] 'csv-tab-command 40 | [backtab] 'csv-backtab-command)) 41 | 42 | (provide 'evil-collection-csv) 43 | ;;; evil-collection-csv.el ends here 44 | -------------------------------------------------------------------------------- /modes/cus-theme/evil-collection-cus-theme.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-cus-theme.el --- Bindings for `cus-theme' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, custom themes, help, faces 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `cus-theme'. 28 | 29 | ;;; Code: 30 | (require 'cus-theme) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-cus-theme-maps '(custom-theme-choose-mode-map 34 | custom-new-theme-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-cus-theme-setup () 38 | "Set up `evil' bindings for `cus-theme'." 39 | (evil-set-initial-state 'custom-new-theme-mode 'normal) 40 | (evil-set-initial-state 'custom-theme-choose-mode 'normal) 41 | 42 | (evil-collection-define-key 'normal 'custom-theme-choose-mode-map 43 | "gj" 'widget-forward 44 | "gk" 'widget-backward 45 | (kbd "]]") 'widget-forward 46 | (kbd "[[") 'widget-backward 47 | (kbd "C-j") 'widget-forward 48 | (kbd "C-k") 'widget-backward 49 | "K" 'custom-describe-theme) 50 | 51 | (evil-collection-define-key 'normal 'custom-new-theme-mode-map 52 | "gj" 'widget-forward 53 | "gk" 'widget-backward 54 | (kbd "]]") 'widget-forward 55 | (kbd "[[") 'widget-backward 56 | (kbd "C-j") 'widget-forward 57 | (kbd "C-k") 'widget-backward 58 | 59 | ;; quit 60 | "q" 'Custom-buffer-done 61 | "ZQ" 'evil-quit 62 | "ZZ" 'Custom-buffer-done)) 63 | 64 | (provide 'evil-collection-cus-theme) 65 | ;;; evil-collection-cus-theme.el ends here 66 | -------------------------------------------------------------------------------- /modes/custom/evil-collection-custom.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-custom.el --- Evil bindings for Customize -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, custom, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for the Customize interface. 28 | 29 | ;;; Code: 30 | (require 'cus-edit) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-custom-maps '(custom-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-custom-setup () 37 | "Set up `evil' bindings for `Custom-mode'." 38 | (evil-set-initial-state 'Custom-mode 'normal) 39 | 40 | (evil-collection-define-key 'normal 'custom-mode-map 41 | ;; motion 42 | (kbd "") 'widget-forward 43 | (kbd "S-") 'widget-backward 44 | (kbd "") 'widget-backward 45 | (kbd "SPC") 'scroll-up-command 46 | (kbd "S-SPC") 'scroll-down-command 47 | (kbd "") 'scroll-down-command 48 | (kbd "RET") 'Custom-newline 49 | (kbd "]]") 'widget-forward 50 | (kbd "[[") 'widget-backward 51 | ;; TODO: Should the following be added? 52 | (kbd "C-j") 'widget-forward 53 | (kbd "C-k") 'widget-backward 54 | "gj" 'widget-forward 55 | "gk" 'widget-backward 56 | 57 | "^" 'Custom-goto-parent 58 | (kbd "C-o") 'Custom-goto-parent 59 | ;; TODO: Should the following be added? 60 | "<" 'Custom-goto-parent 61 | 62 | ;; quit 63 | "q" 'Custom-buffer-done 64 | "ZQ" 'evil-quit 65 | "ZZ" 'Custom-buffer-done)) 66 | 67 | (provide 'evil-collection-custom) 68 | ;;; evil-collection-custom.el ends here 69 | -------------------------------------------------------------------------------- /modes/dape/evil-collection-dape.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-dape.el --- Bindings for `dape' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2024 Daniel Pettersson 4 | 5 | ;; Author: Daniel Pettersson 6 | ;; Maintainer: Daniel Pettersson 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, emacs, tools, dape 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;; Bindings for `dape'. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'dape nil t) 31 | 32 | (defvar dape-info-scope-mode-map) 33 | (defvar dape-info-watch-mode-map) 34 | 35 | (defconst evil-collection-dape-maps '(dape-info-watch-edit-mode-map 36 | dape-info-scope-mode-map 37 | dape-info-watch-mode-map)) 38 | 39 | ;;;###autoload 40 | (defun evil-collection-dape-setup () 41 | "Set up `evil' bindings for `dape'." 42 | (evil-make-overriding-map dape-info-scope-mode-map) 43 | (evil-make-overriding-map dape-info-watch-mode-map) 44 | 45 | (evil-collection-define-key 'normal 'dape-info-watch-mode-map 46 | "i" 'dape-info-watch-edit-mode) 47 | 48 | (evil-collection-define-key nil 'dape-info-watch-edit-mode-map 49 | [remap evil-write] 'dape-info-watch-finish-edit) 50 | 51 | (evil-collection-define-key 'normal 'dape-info-watch-edit-mode-map 52 | "ZQ" 'dape-info-watch-abort-changes 53 | "ZZ" 'dape-info-watch-finish-edit 54 | (kbd "") 'dape-info-watch-finish-edit)) 55 | 56 | (provide 'evil-collection-dape) 57 | ;;; evil-collection-dape.el ends here 58 | -------------------------------------------------------------------------------- /modes/deadgrep/evil-collection-deadgrep.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-deadgrep.el --- Bindings for deadgrep -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for deadgrep. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'deadgrep nil t) 32 | 33 | (defconst evil-collection-deadgrep-maps '(deadgrep-edit-mode-map 34 | deadgrep-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-deadgrep-setup () 38 | "Set up `evil' bindings for deadgrep.." 39 | (evil-collection-define-key 'normal 'deadgrep-edit-mode-map 40 | (kbd "RET") 'deadgrep-visit-result 41 | (kbd "") 'deadgrep-mode) 42 | (evil-collection-define-key 'normal 'deadgrep-mode-map 43 | (kbd "RET") 'deadgrep-visit-result 44 | (kbd "") 'deadgrep-visit-result-other-window 45 | "go" 'deadgrep-visit-result-other-window 46 | "gr" 'deadgrep-restart 47 | (kbd "C-j") 'deadgrep-forward 48 | (kbd "C-k") 'deadgrep-backward 49 | "gj" 'deadgrep-forward 50 | "gk" 'deadgrep-backward 51 | (kbd "TAB") 'deadgrep-toggle-file-results 52 | 53 | "i" 'deadgrep-edit-mode 54 | 55 | ;; FIXME: Maybe we should bind this to something? 56 | ;; (define-key map (kbd "C-c C-k") #'deadgrep-kill-process) 57 | 58 | ;; Quit 59 | "q" 'quit-window 60 | "ZZ" 'quit-window 61 | "ZQ" 'evil-quit)) 62 | 63 | (provide 'evil-collection-deadgrep) 64 | ;;; evil-collection-deadgrep.el ends here 65 | -------------------------------------------------------------------------------- /modes/devdocs/evil-collection-devdocs.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-devdocs.el --- Evil bindings for devdocs -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for devdocs. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'devdocs nil t) 32 | 33 | (defconst evil-collection-devdocs-maps '(devdocs-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-devdocs-setup () 37 | "Set up `evil' bindings for `devdocs'." 38 | (evil-set-initial-state 'devdocs-mode 'normal) 39 | (evil-collection-set-readonly-bindings 'devdocs-mode-map) 40 | 41 | (evil-collection-define-key 'normal 'devdocs-mode-map 42 | ;; motion 43 | (kbd "SPC") 'scroll-up-command 44 | (kbd "S-SPC") 'scroll-down-command 45 | (kbd "") 'forward-button 46 | (kbd "") 'backward-button 47 | 48 | "[[" 'devdocs-previous-page 49 | "]]" 'devdocs-next-page 50 | "gk" 'devdocs-previous-page 51 | "gj" 'devdocs-next-page 52 | 53 | "g." 'devdocs-goto-target 54 | 55 | ;; history 56 | (kbd "C-p") 'devdocs-go-back 57 | (kbd "C-n") 'devdocs-go-forward 58 | 59 | ;; copy 60 | "C" 'devdocs-copy-url 61 | 62 | ;; search 63 | "s" 'devdocs-lookup)) 64 | 65 | (provide 'evil-collection-devdocs) 66 | ;;; evil-collection-devdocs.el ends here 67 | -------------------------------------------------------------------------------- /modes/dictionary/evil-collection-dictionary.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-dictionary.el --- Evil bindings for dictionary-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: Sid Kasivajhula 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, dictionary, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `dictionary'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'dictionary nil t) 32 | 33 | (defconst evil-collection-dictionary-maps '(dictionary-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-dictionary-setup () 37 | "Set up `evil' bindings for `dictionary'." 38 | (evil-set-initial-state 'dictionary-mode 'normal) 39 | (evil-collection-set-readonly-bindings 'dictionary-mode-map) 40 | (evil-collection-define-key 'normal 'dictionary-mode-map 41 | ;; button 42 | [tab] 'forward-button 43 | [backtab] 'backward-button 44 | ;; mouse 45 | [mouse-1] 'link-selected 46 | ;; misc 47 | "g?" 'dictionary-help ; normally under `h` which is rebound here 48 | (kbd "C-o") 'dictionary-previous)) ; normally under `l` which is rebound here 49 | 50 | (provide 'evil-collection-dictionary) 51 | ;;; evil-collection-dictionary.el ends here 52 | -------------------------------------------------------------------------------- /modes/dired-sidebar/evil-collection-dired-sidebar.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-dired-sidebar.el --- Evil bindings for dired-sidebar -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, dired, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `dired-sidebar' 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'dired-sidebar nil t) 33 | 34 | (defconst evil-collection-dired-sidebar-maps '(dired-sidebar-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-dired-sidebar-setup () 38 | "Set up `evil' bindings for `dired-sidebar'." 39 | (evil-collection-define-key 'normal 'dired-sidebar-mode-map 40 | (kbd "RET") 'dired-sidebar-find-file 41 | (kbd "C-m") 'dired-sidebar-find-file 42 | (kbd "") 'dired-sidebar-find-file 43 | (kbd "TAB") 'dired-sidebar-subtree-toggle 44 | [tab] 'dired-sidebar-subtree-toggle 45 | "^" 'dired-sidebar-up-directory 46 | "-" 'dired-sidebar-up-directory 47 | (kbd "C-o") 'dired-sidebar-find-file-alt 48 | [mouse-2] 'dired-sidebar-mouse-subtree-cycle-or-find-file 49 | "ZZ" 'quit-window)) 50 | 51 | (provide 'evil-collection-dired-sidebar) 52 | ;;; evil-collection-dired-sidebar.el ends here 53 | -------------------------------------------------------------------------------- /modes/ediff/README.org: -------------------------------------------------------------------------------- 1 | * ediff 2 | 3 | The table below shows the binding changes that are made to ediff-mode. 4 | 5 | | Command | Original Binding | evil-collection-ediff | 6 | |-----------------------------+------------------+-----------------------| 7 | | =ediff-next-difference= | =n, SPC= | =j, n, SPC= | 8 | | =ediff-previous-difference= | =p, DEL= | =k, N, p, DEL= | 9 | | =ediff-jump-to-difference= | =j= | =d= | 10 | | jump to first difference | =1j= | =gg, 1d= | 11 | | jump to last difference | N/A | =G= | 12 | | copy region A to region B | =a= | =a, l= | 13 | | copy region B to region A | =b= | =b, h= | 14 | | scroll down 1 line | =C-u 1 v= | =C-e= | 15 | | scroll up 1 line | =C-u 1 V= | =C-y= | 16 | | scroll down half page | =v, C-v= | =C-d, v, C-v= | 17 | | scroll up half page | =V, M-v= | =C-u, V, M-v= | 18 | | scroll left | =>= | =zh= | 19 | | scroll right | =<= | =zl= | 20 | | toggle highlighting | =h= | =H= | 21 | | =ediff-suspend= | =z= | =C-z= | 22 | -------------------------------------------------------------------------------- /modes/eglot/evil-collection-eglot.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-eglot.el --- Bindings for `eglot' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, eglot, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for `eglot'. 27 | 28 | ;;; Code: 29 | (require 'eglot nil t) 30 | (require 'evil-collection) 31 | 32 | (defconst evil-collection-eglot-maps '(eglot-mode-map)) 33 | 34 | ;;;###autoload 35 | (defun evil-collection-eglot-setup () 36 | "Set up `evil' bindings for `eglot'." 37 | (add-hook 'eglot-managed-mode-hook 'evil-normalize-keymaps) 38 | (evil-collection-define-key 'normal 'eglot-mode-map 39 | "gd" 'xref-find-definitions 40 | "gD" 'xref-find-definitions-other-window 41 | "g5" 'xref-find-definitions-other-frame 42 | (kbd "C-t") 'xref-pop-marker-stack 43 | "K" 'eldoc-doc-buffer) 44 | 45 | (when evil-collection-want-find-usages-bindings 46 | (evil-collection-define-key 'normal 'eglot-mode-map 47 | "gr" 'xref-find-references))) 48 | 49 | (provide 'evil-collection-eglot) 50 | ;;; evil-collection-eglot.el ends here 51 | -------------------------------------------------------------------------------- /modes/elisp-refs/evil-collection-elisp-refs.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-elisp-refs.el --- Evil bindings for Elisp Refs -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017, 2024 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, elisp-refs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; This package provides a sane set of defaults for `elisp-refs' when using 28 | ;; `evil-mode'. 29 | 30 | ;;; Code: 31 | (require 'evil-collection) 32 | (require 'elisp-refs nil t) 33 | 34 | (defconst evil-collection-elisp-refs-maps '(elisp-refs-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-elisp-refs-setup () 38 | "Set up `evil' bindings for `elisp-refs'." 39 | (evil-collection-define-key 'normal 'elisp-refs-mode-map 40 | (kbd "") 'elisp-refs-next-match 41 | (kbd "") 'elisp-refs-prev-match 42 | (kbd "C-j") 'elisp-refs-next-match 43 | (kbd "C-k") 'elisp-refs-prev-match 44 | "gj" 'elisp-refs-next-match 45 | "gk" 'elisp-refs-prev-match 46 | (kbd "RET") 'elisp-refs-visit-match 47 | 48 | ;; quit 49 | "q" 'kill-current-buffer)) 50 | 51 | (provide 'evil-collection-elisp-refs) 52 | ;;; evil-collection-elisp-refs.el ends here 53 | -------------------------------------------------------------------------------- /modes/elisp-slime-nav/evil-collection-elisp-slime-nav.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-elisp-slime-nav.el --- Bindings for `elisp-slime-nav' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, elisp-slime-nav, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `elisp-slime-nav'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'elisp-slime-nav nil t) 32 | 33 | (defconst evil-collection-elisp-slime-nav-maps '(elisp-slime-nav-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-elisp-slime-nav-setup () 37 | "Set up `evil' bindings for `elisp-slime-nav'." 38 | (evil-collection-define-key 'normal 'elisp-slime-nav-mode-map 39 | "gd" 'elisp-slime-nav-find-elisp-thing-at-point 40 | (kbd "C-t") 'pop-tag-mark 41 | "K" 'elisp-slime-nav-describe-elisp-thing-at-point)) 42 | 43 | (provide 'evil-collection-elisp-slime-nav) 44 | ;;; evil-collection-elisp-slime-nav.el ends here 45 | -------------------------------------------------------------------------------- /modes/embark/evil-collection-embark.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-embark.el --- Evil bindings for embark -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for embark. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'embark nil t) 33 | 34 | (defconst evil-collection-embark-maps '(embark-collect-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-embark-setup () 38 | "Set up `evil' bindings for `embark'." 39 | (evil-set-initial-state 'embark-collect-mode 'normal) 40 | (evil-collection-define-key 'normal 'embark-collect-mode-map 41 | ;; embark specific commands. `isearch-forward' isn't defined, use 42 | ;; `evil-search-forward' instead. 43 | "a" 'embark-act 44 | "A" 'embark-act-all 45 | "E" 'embark-export ;; was e 46 | "m" 'embark-select 47 | (kbd "M-a") 'embark-collect-direct-action-minor-mode 48 | 49 | "gr" 'revert-buffer)) 50 | 51 | (provide 'evil-collection-embark) 52 | ;;; evil-collection-embark.el ends here 53 | -------------------------------------------------------------------------------- /modes/emoji/evil-collection-emoji.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-emoji.el --- Evil bindings for emoji -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for emoji. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'emoji nil t) 32 | 33 | (defconst evil-collection-emoji-maps '(emoji-list-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-emoji-setup () 37 | "Set up `evil' bindings for `emoji'." 38 | (evil-collection-set-readonly-bindings 'emoji-list-mode-map) 39 | (evil-collection-define-key 'normal 'emoji-list-mode-map 40 | (kbd "RET") 'emoji-list-select 41 | "gh" 'emoji-list-help)) 42 | 43 | (provide 'evil-collection-emoji) 44 | ;;; evil-collection-emoji.el ends here 45 | -------------------------------------------------------------------------------- /modes/epa/evil-collection-epa.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-epa.el --- Evil bindings for epa-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: Maximiliano Sandoval 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, epa, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `epa-mode'. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'epa nil t) 33 | 34 | (defconst evil-collection-epa-maps '(epa-key-list-mode-map 35 | epa-key-mode-map 36 | epa-info-mode-map)) 37 | 38 | ;;;###autoload 39 | (defun evil-collection-epa-setup () 40 | (evil-collection-define-key 'normal 'epa-key-list-mode-map 41 | (kbd "") 'widget-forward 42 | "gr" 'revert-buffer 43 | "q" 'epa-exit-buffer 44 | "E" 'epa-decrypt-file 45 | "d" 'epa-delete-keys 46 | "ZZ" 'quit-window 47 | "ZQ" 'evil-quit 48 | "V" 'epa-verify-file 49 | 50 | ;; mark 51 | "m" 'epa-mark-key 52 | "u" 'epa-unmark-key 53 | 54 | ;; Unchanged keybindings. 55 | "s" 'epa-sign-file 56 | "e" 'epa-encrypt-file 57 | "i" 'epa-import-keys 58 | "o" 'epa-export-keys) 59 | 60 | (evil-collection-define-key 'normal 'epa-key-mode-map 61 | "q" 'epa-exit-buffer 62 | "ZZ" 'quit-window 63 | "ZQ" 'evil-quit) 64 | 65 | (evil-collection-define-key 'normal 'epa-info-mode-map 66 | "q" 'delete-window 67 | "ZZ" 'quit-window 68 | "ZQ" 'evil-quit)) 69 | 70 | (provide 'evil-collection-epa) 71 | ;;; evil-collection-epa.el ends here 72 | -------------------------------------------------------------------------------- /modes/explain-pause-mode/evil-collection-explain-pause-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-explain-pause-mode.el --- Evil bindings for explain-pause-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for explain-pause-mode. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'explain-pause-mode nil t) 32 | 33 | (defconst evil-collection-explain-pause-mode-maps '(explain-pause-top-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-explain-pause-mode-setup () 37 | "Set up `evil' bindings for `explain-pause-mode'." 38 | (evil-set-initial-state 'explain-pause-top-mode 'normal) 39 | (evil-collection-define-key 'normal 'explain-pause-top-mode-map 40 | "a" 'explain-pause-top-auto-refresh 41 | "c" 'explain-pause-top-clear 42 | "o" 'explain-pause-top-sort 43 | 44 | "q" 'quit-window 45 | "ZZ" 'quit-window 46 | "ZQ" 'quit-window)) 47 | 48 | (provide 'evil-collection-explain-pause-mode) 49 | 50 | ;;; evil-collection-explain-pause-mode.el ends here 51 | -------------------------------------------------------------------------------- /modes/fanyi/evil-collection-fanyi.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-fanyi.el --- Evil bindings for fanyi -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for fanyi. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'fanyi nil t) 32 | 33 | (defconst evil-collection-fanyi-maps '(fanyi-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-fanyi-setup () 37 | "Set up `evil' bindings for `fanyi'." 38 | (evil-collection-set-readonly-bindings 'fanyi-mode-map) 39 | (evil-collection-define-key 'normal 'fanyi-mode-map 40 | ;; tab 41 | [tab] 'forward-button 42 | [backtab] 'backward-button 43 | 44 | "s" 'fanyi-dwim)) 45 | 46 | (provide 'evil-collection-fanyi) 47 | ;;; evil-collection-fanyi.el ends here 48 | -------------------------------------------------------------------------------- /modes/finder/evil-collection-finder.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-finder.el --- Evil bindings for finder -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, finder, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for finder. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'finder) 32 | 33 | (defconst evil-collection-finder-maps '(finder-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-finder-setup () 37 | "Set up `evil' bindings for `finder'." 38 | (evil-set-initial-state 'finder-mode 'normal) 39 | 40 | (evil-collection-define-key 'normal 'finder-mode-map 41 | (kbd "RET") 'finder-select 42 | (kbd "SPC") 'finder-select 43 | 44 | "d" 'finder-list-keywords 45 | "s" 'finder-summary 46 | "q" 'finder-exit)) 47 | 48 | (provide 'evil-collection-finder) 49 | ;;; evil-collection-finder.el ends here 50 | -------------------------------------------------------------------------------- /modes/flycheck/evil-collection-flycheck.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-flycheck.el --- Evil bindings for flycheck -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, flycheck, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `flycheck-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'flycheck nil t) 32 | 33 | (defvar flycheck-error-list-mode-map) 34 | 35 | (defconst evil-collection-flycheck-maps '(flycheck-error-list-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-flycheck-setup () 39 | "Set up `evil' bindings for `flycheck'." 40 | (evil-set-initial-state 'flycheck-error-list-mode 'normal) 41 | (evil-collection-define-key 'normal 'flycheck-error-list-mode-map 42 | "gj" 'flycheck-error-list-next-error 43 | "gk" 'flycheck-error-list-previous-error 44 | (kbd "C-j") 'flycheck-error-list-next-error 45 | (kbd "C-k") 'flycheck-error-list-previous-error 46 | "]]" 'flycheck-error-list-next-error 47 | "[[" 'flycheck-error-list-previous-error 48 | "gr" 'flycheck-error-list-check-source 49 | "s" 'flycheck-error-list-set-filter 50 | "S" 'flycheck-error-list-reset-filter 51 | "x" 'flycheck-error-list-explain-error 52 | (kbd "RET") 'flycheck-error-list-goto-error 53 | "q" 'quit-window)) 54 | 55 | (provide 'evil-collection-flycheck) 56 | ;;; evil-collection-flycheck.el ends here 57 | -------------------------------------------------------------------------------- /modes/flymake/evil-collection-flymake.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-flymake.el --- Evil Bindings for Flymake -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018, 2022 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, flymake, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `flymake-mode'. 28 | 29 | ;;; Code: 30 | (require 'flymake) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-flymake-maps '(flymake-mode-map 34 | flymake-project-diagnostics-mode-map 35 | flymake-diagnostics-buffer-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-flymake-setup () 39 | "Set up `evil' bindings for `flymake'." 40 | (dolist (map '(flymake-diagnostics-buffer-mode-map flymake-project-diagnostics-mode-map)) 41 | (evil-collection-set-readonly-bindings map) 42 | (evil-collection-define-key 'normal map 43 | (kbd "C-j") 'flymake-goto-next-error 44 | (kbd "C-k") 'flymake-goto-prev-error 45 | (kbd "RET") 'flymake-goto-diagnostic 46 | (kbd "S-RET") 'flymake-show-diagnostic 47 | (kbd "M-RET") 'flymake-show-diagnostic 48 | (kbd "go") 'flymake-show-diagnostic 49 | (kbd "gO") 'flymake-show-diagnostic))) 50 | 51 | (provide 'evil-collection-flymake) 52 | ;;; evil-collection-flymake.el ends here 53 | -------------------------------------------------------------------------------- /modes/free-keys/evil-collection-free-keys.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-free-keys.el --- Bindings for `free-keys' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `free-keys'. 28 | (require 'evil-collection) 29 | (require 'free-keys nil t) 30 | 31 | ;;; Code: 32 | (defvar free-keys-mode-map) 33 | 34 | (defconst evil-collection-free-keys-maps '(free-keys-mode-map)) 35 | 36 | (defun evil-collection-free-keys-set-header-line-format () 37 | "Tweak `header-line-format' locally for `free-keys'." 38 | (setq-local header-line-format 39 | "Help: (c) change buffer (p) change prefix (q) quit")) 40 | 41 | ;;;###autoload 42 | (defun evil-collection-free-keys-setup () 43 | "Set up `evil' bindings for `free-keys'." 44 | (add-hook 'free-keys-mode-hook 45 | #'evil-collection-free-keys-set-header-line-format) 46 | (evil-set-initial-state 'free-keys-mode 'normal) 47 | (evil-collection-define-key 'normal 'free-keys-mode-map 48 | "c" 'free-keys-change-buffer 49 | "p" 'free-keys-set-prefix 50 | "q" 'quit-window)) 51 | 52 | (provide 'evil-collection-free-keys) 53 | ;;; evil-collection-free-keys.el ends here 54 | -------------------------------------------------------------------------------- /modes/git-timemachine/evil-collection-git-timemachine.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-git-timemachine.el --- Bindings for `git-timemachine' -*- lexical-binding: t -*- 2 | 3 | ;; Author: William Carroll 4 | ;; Maintainer: James Nguyen 5 | ;; Pierre Neidhardt 6 | ;; URL: https://github.com/emacs-evil/evil-collection 7 | ;; Version: 0.0.1 8 | ;; Package-Requires: ((emacs "26.3")) 9 | ;; Keywords: evil, git, tools 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program. If not, see . 23 | 24 | ;;; Commentary: 25 | ;; Evil keybindings for `git-timemachine' that conform to the principles 26 | ;; outlines in evil-collection 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'git-timemachine nil t) 31 | 32 | (defvar git-timemachine-mode-map) 33 | (defconst evil-collection-git-timemachine-map '(git-timemachine-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-git-timemachine-setup () 37 | "Setup `evil' keybindings for `git-timemachine'." 38 | (evil-define-minor-mode-key 'normal 'git-timemachine-mode 39 | "\C-k" 'git-timemachine-show-previous-revision 40 | "\C-j" 'git-timemachine-show-next-revision 41 | "q" 'git-timemachine-quit 42 | "gtg" 'git-timemachine-show-nth-revision 43 | "gtt" 'git-timemachine-show-revision-fuzzy 44 | "gty" 'git-timemachine-kill-abbreviated-revision 45 | "gtY" 'git-timemachine-kill-revision 46 | "gtb" 'git-timemachine-blame)) 47 | 48 | (provide 'evil-collection-git-timemachine) 49 | ;;; evil-collection-git-timemachine.el ends here 50 | -------------------------------------------------------------------------------- /modes/go-mode/evil-collection-go-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-go-mode.el --- Bindings for `go-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools, golang 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `go-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'go-mode nil t) 32 | 33 | (defconst evil-collection-go-mode-maps '(go-mode-map 34 | godoc-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-go-mode-setup () 38 | "Set up `evil' bindings for `go-mode'." 39 | (evil-collection-define-key 'normal 'go-mode-map 40 | "gd" 'godef-jump 41 | "K" 'godef-describe) 42 | (evil-collection-define-key 'normal 'godoc-mode-map 43 | "q" 'quit-window 44 | "g?" 'describe-mode)) 45 | 46 | (provide 'evil-collection-go-mode) 47 | ;;; evil-collection-go-mode.el ends here 48 | -------------------------------------------------------------------------------- /modes/grep/evil-collection-grep.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-grep.el --- Bindings for `grep' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: Fredrik Bergroth 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `grep'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'grep) 32 | 33 | (defconst evil-collection-grep-maps '(grep-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-grep-setup () 37 | "Set up `evil' bindings for `grep'." 38 | (evil-collection-define-key 'normal 'grep-mode-map 39 | "n" 'evil-search-next 40 | "\C-j" 'next-error-no-select 41 | "\C-k" 'previous-error-no-select) 42 | 43 | ;; `wgrep' integration 44 | (when (fboundp 'wgrep-setup) 45 | (evil-collection-define-key 'normal 'grep-mode-map 46 | "i" 'wgrep-change-to-wgrep-mode))) 47 | 48 | (provide 'evil-collection-grep) 49 | ;;; evil-collection-grep.el ends here 50 | -------------------------------------------------------------------------------- /modes/hackernews/evil-collection-hackernews.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-hackernews.el --- Evil bindings for hackernews-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, news, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for hackernews. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'hackernews nil t) 32 | 33 | (defconst evil-collection-hackernews-maps '(hackernews-mode-map 34 | hackernews-button-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-hackernews-setup () 38 | "Set up `evil' bindings for `hackernews-mode'." 39 | (evil-collection-set-readonly-bindings 'hackernews-mode-map) 40 | (evil-collection-define-key 'normal 'hackernews-mode-map 41 | "]]" 'hackernews-next-item 42 | "[[" 'hackernews-previous-item 43 | "gj" 'hackernews-next-item 44 | "gk" 'hackernews-previous-item 45 | (kbd "C-j") 'hackernews-next-item 46 | (kbd "C-k") 'hackernews-previous-item 47 | 48 | "+" 'hackernews-load-more-stories 49 | 50 | "gr" 'hackernews-reload 51 | "gf" 'hackernews-switch-feed 52 | 53 | (kbd "") 'hackernews-next-comment 54 | (kbd "S-") 'hackernews-previous-comment 55 | 56 | "!" 'hackernews-button-mark-as-visited ; like mu4e 57 | "?" 'hackernews-button-mark-as-unvisited 58 | 59 | (kbd "RET") 'hackernews-button-browse-internal 60 | (kbd "S-") 'push-button)) 61 | 62 | (provide 'evil-collection-hackernews) 63 | ;;; evil-collection-hackernews.el ends here 64 | -------------------------------------------------------------------------------- /modes/helpful/evil-collection-helpful.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-helpful.el --- Evil bindings for helpful-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, help, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `helpful-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'helpful nil t) 32 | 33 | (defconst evil-collection-helpful-maps '(helpful-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-helpful-setup () 37 | "Set up `evil' bindings for `helpful'." 38 | (evil-collection-set-readonly-bindings 'helpful-mode-map) 39 | (evil-collection-define-key 'normal 'helpful-mode-map 40 | ;; motion 41 | (kbd "") 'forward-button 42 | (kbd "") 'backward-button 43 | (kbd "RET") 'helpful-visit-reference 44 | 45 | ;; The following bindings don't do what they are supposed to. "go" should open 46 | ;; in the same window and "gO" should open in a different one. 47 | "go" 'push-button 48 | "gO" 'push-button 49 | 50 | "g?" 'describe-mode 51 | "gr" 'helpful-update)) 52 | 53 | (provide 'evil-collection-helpful) 54 | ;;; evil-collection-helpful.el ends here 55 | -------------------------------------------------------------------------------- /modes/hg-histedit/evil-collection-hg-histedit.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-hg-histedit.el --- Bindings for `hg-histedit' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `hg-histedit'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'hg-histedit nil t) 32 | 33 | (defconst evil-collection-hg-histedit-maps '(hg-histedit-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-hg-histedit-setup () 37 | "Set up `evil' bindings for `hg-histedit'." 38 | (evil-collection-define-key 'normal 'hg-histedit-mode-map 39 | "e" 'hg-histedit-modify-commit-with-edit 40 | "m" 'hg-histedit-modify-commit-with-mess 41 | "p" 'hg-histedit-modify-commit-with-pick 42 | "b" 'hg-histedit-modify-commit-with-base 43 | "d" 'hg-histedit-modify-commit-with-drop 44 | "f" 'hg-histedit-modify-commit-with-fold 45 | "r" 'hg-histedit-modify-commit-with-roll 46 | "u" 'hg-histedit-undo)) 47 | 48 | (provide 'evil-collection-hg-histedit) 49 | ;;; evil-collection-hg-histedit.el ends here 50 | -------------------------------------------------------------------------------- /modes/hungry-delete/evil-collection-hungry-delete.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-hungry-delete.el --- Bindings for `hungry-delete' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, hungry-delete, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `hungry-delete'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'hungry-delete nil t) 32 | 33 | (defconst evil-collection-hungry-delete-maps '(hungry-delete-mode-map)) 34 | 35 | (defun evil-collection-hungry-delete (f &rest args) 36 | "Wrapper function to run `hungry-delete-backward' if 37 | `hungry-delete-mode' is on." 38 | (if (and (bound-and-true-p hungry-delete-mode) 39 | (fboundp 'hungry-delete-backward)) 40 | (hungry-delete-backward 1) 41 | (apply f args))) 42 | 43 | (defun evil-collection-hungry-delete-for-join (f &rest args) 44 | "Wrapper function to run `hungry-delete-backward' if 45 | `hungry-delete-mode' is on." 46 | (if (and (bound-and-true-p hungry-delete-mode) 47 | (fboundp 'hungry-delete-backward)) 48 | (hungry-delete-backward 1) 49 | (funcall f args))) 50 | 51 | ;;;###autoload 52 | (defun evil-collection-hungry-delete-setup () 53 | "Set up `evil' bindings for `hungry-delete'." 54 | (advice-add 'evil-delete-backward-char 55 | :around #'evil-collection-hungry-delete) 56 | (advice-add 'evil-delete-backward-char-and-join 57 | :around #'evil-collection-hungry-delete-for-join)) 58 | 59 | (provide 'evil-collection-hungry-delete) 60 | ;;; evil-collection-hungry-delete.el ends here 61 | -------------------------------------------------------------------------------- /modes/hyrolo/evil-collection-hyrolo.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-hyrolo.el --- Bindings for `hyrolo' -*- lexical-binding: t -*- 2 | 3 | ;;; Commentary: 4 | ;;; Bindings for hyrolo. 5 | 6 | ;;; Code: 7 | (require 'evil-collection) 8 | (require 'hyperbole nil t) 9 | 10 | (defvar hyrolo-mode-map) 11 | (defconst evil-collection-hyrolo-maps '(hyrolo-mode-map)) 12 | 13 | (declare-function hyrolo-to-previous-loc "hyrolo") 14 | (declare-function hyrolo-to-next-loc "hyrolo") 15 | (declare-function hyrolo-overview "hyrolo") 16 | (declare-function hyrolo-outline-show-all "hyrolo") 17 | 18 | (defun evil-collection-hyrolo-setup () 19 | "Set up `evil' bindings for hyrolo." 20 | (evil-collection-define-key 'normal 'hyrolo-mode-map 21 | (kbd "[[") #'hyrolo-to-previous-loc 22 | (kbd "]]") #'hyrolo-to-next-loc 23 | (kbd "C-k") #'hyrolo-to-previous-loc 24 | (kbd "C-j") #'hyrolo-to-next-loc 25 | (kbd "gk") #'hyrolo-to-previous-loc 26 | (kbd "gj") #'hyrolo-to-next-loc 27 | (kbd "zo") #'hyrolo-outline-show-all 28 | (kbd "zc") #'hyrolo-overview) 29 | (evil-set-initial-state 'hyrolo-mode 'normal)) 30 | 31 | (provide 'evil-collection-hyrolo) 32 | ;;; evil-collection-hyrolo.el ends here 33 | -------------------------------------------------------------------------------- /modes/image+/evil-collection-image+.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-image+.el --- Evil bindings for image-mode with image+ -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, image, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for image-mode with image+. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'image+ nil t) 32 | 33 | (defconst evil-collection-image+-maps '(image-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-image+-setup () 37 | "Set up `evil' bindings for `image+'." 38 | (evil-collection-define-key 'normal 'image-mode-map 39 | ;; zoom 40 | "+" 'imagex-sticky-zoom-in 41 | "=" 'imagex-sticky-zoom-in 42 | "-" 'imagex-sticky-zoom-out 43 | "O" 'imagex-sticky-restore-original 44 | 45 | "M" 'imagex-sticky-maximize 46 | "m" 'imagex-auto-adjust-mode 47 | "S" 'imagex-sticky-save-image 48 | "r" 'imagex-sticky-rotate-right 49 | "R" 'imagex-sticky-rotate-left 50 | "<" 'imagex-sticky-rotate-left ; like sxiv 51 | ">" 'imagex-sticky-rotate-right)) ; like sxiv 52 | 53 | (provide 'evil-collection-image+) 54 | ;;; evil-collection-image+.el ends here 55 | -------------------------------------------------------------------------------- /modes/imenu-list/evil-collection-imenu-list.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-imenu-list.el --- Bindings for `imenu-list' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: Fredrik Bergroth 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `imenu-list'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'imenu-list nil t) 32 | 33 | (defconst evil-collection-imenu-list-maps '(imenu-list-major-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-imenu-list-setup () 37 | "Set up `evil' bindings for `imenu-list'." 38 | (evil-collection-define-key 'normal 'imenu-list-major-mode-map 39 | (kbd "RET") 'imenu-list-goto-entry 40 | (kbd "TAB") 'hs-toggle-hiding 41 | "d" 'imenu-list-display-entry 42 | "gr" 'imenu-list-refresh 43 | "q" 'imenu-list-quit-window)) 44 | 45 | 46 | (provide 'evil-collection-imenu-list) 47 | ;;; evil-collection-imenu-list.el ends here 48 | -------------------------------------------------------------------------------- /modes/imenu/evil-collection-imenu.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-imenu.el --- Evil integration for `imenu' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Jacob First 4 | 5 | ;; Author: Jacob First 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, emacs, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;; Evil conveniences for `imenu'. 27 | 28 | ;;; Code: 29 | (require 'imenu) 30 | (require 'evil-collection) 31 | 32 | ;;;###autoload 33 | (defun evil-collection-imenu-setup () 34 | "Set up Evil integration for `imenu'." 35 | (evil-declare-not-repeat 'imenu) 36 | (evil-add-command-properties 'imenu :jump t)) 37 | 38 | (provide 'evil-collection-imenu) 39 | ;;; evil-collection-imenu.el ends here 40 | -------------------------------------------------------------------------------- /modes/indent/evil-collection-indent.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-indent.el --- Evil bindings for indentation -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for indentation. 28 | 29 | ;;; Commentary: 30 | ;; 31 | 32 | ;;; Code: 33 | (require 'evil-collection) 34 | 35 | (defconst evil-collection-indent-maps '(indent-rigidly-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-indent-setup () 39 | "Set up `evil' bindings for autoloaded files." 40 | (evil-collection-define-key nil 'indent-rigidly-map 41 | "h" 'indent-rigidly-left 42 | "l" 'indent-rigidly-right 43 | "H" 'indent-rigidly-left-to-tab-stop 44 | "L" 'indent-rigidly-right-to-tab-stop)) 45 | 46 | 47 | (provide 'evil-collection-indent) 48 | ;;; evil-collection-indent.el ends here 49 | -------------------------------------------------------------------------------- /modes/js2-mode/evil-collection-js2-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-js2-mode.el --- Bindings for `js2-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `js2-mode' 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'js2-mode nil t) 32 | 33 | (defvar js-indent-level) 34 | 35 | (defun evil-collection-js2-set-evil-shift-width () 36 | "Set `evil-shift-width' according to `js-indent-level'." 37 | (setq-local evil-shift-width js-indent-level)) 38 | 39 | ;;;###autoload 40 | (defun evil-collection-js2-mode-setup () 41 | "Set up `evil' bindings for `js2-mode'." 42 | (add-hook 'js2-mode-hook #'evil-collection-js2-set-evil-shift-width) 43 | (add-hook 'js2-jsx-mode-hook #'evil-collection-js2-set-evil-shift-width)) 44 | 45 | (provide 'evil-collection-js2-mode) 46 | ;;; evil-collection-js2-mode.el ends here 47 | -------------------------------------------------------------------------------- /modes/kmacro/evil-collection-kmacro.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-kmacro.el --- Evil bindings for kmacro menu -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2024 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "30")) 11 | ;; Keywords: evil, kmacro, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for kmacro menu. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'kmacro) 33 | 34 | (defconst evil-collection-kmacro-maps '(kmacro-menu-mode-map)) 35 | 36 | (defun evil-collection-kmacro-setup () 37 | "Set up `evil' bindings to `tab-bar'." 38 | (evil-set-initial-state 'kmacro-menu-mode 'normal) 39 | (evil-collection-define-key 'normal 'kmacro-menu-mode-map 40 | ;; Edit 41 | (kbd "RET") 'kmacro-menu-edit-column 42 | "#" 'kmacro-menu-edit-position 43 | "c" 'kmacro-menu-edit-counter 44 | "f" 'kmacro-menu-edit-format 45 | "e" 'kmacro-menu-edit-keys 46 | 47 | ;; Mark 48 | "d" 'kmacro-menu-flag-for-deletion 49 | "m" 'kmacro-menu-mark 50 | "u" 'kmacro-menu-unmark 51 | "U" 'kmacro-menu-unmark-all 52 | 53 | "x" 'kmacro-menu-do-flagged-delete 54 | "C" 'kmacro-menu-do-copy 55 | "D" 'kmacro-menu-do-delete)) 56 | 57 | (provide 'evil-collection-kmacro) 58 | ;;; evil-collection-kmacro.el ends here 59 | -------------------------------------------------------------------------------- /modes/kotlin-mode/evil-collection-kotlin-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-kotlin-mode.el --- Bindings for `kotlin-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `kotlin-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'kotlin-mode nil t) 32 | 33 | (defconst evil-collection-kotlin-maps '(kotlin-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-kotlin-mode-setup () 37 | "Set up `evil' bindings for `kotlin-mode'." 38 | (evil-collection-define-key 'normal 'kotlin-mode-map 39 | "gz" 'kotlin-repl)) 40 | 41 | (provide 'evil-collection-kotlin-mode) 42 | ;;; evil-collection-kotlin-mode.el ends here 43 | -------------------------------------------------------------------------------- /modes/leetcode/evil-collection-leetcode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-leetcode.el --- Bindings for `leetcode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `leetcode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'leetcode nil t) 32 | 33 | (defconst evil-collection-leetcode-maps 34 | '(leetcode--problems-mode-map 35 | leetcode--problem-description-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-leetcode-setup () 39 | "Set up `evil' bindings for `leetcode'." 40 | (evil-collection-define-key 'normal 'leetcode--problems-mode-map 41 | (kbd "RET") 'leetcode-show-current-problem 42 | "gr" 'leetcode-problems-refresh 43 | "q" 'quit-window)) 44 | 45 | (provide 'evil-collection-leetcode) 46 | ;;; evil-collection-leetcode.el ends here 47 | -------------------------------------------------------------------------------- /modes/log-edit/evil-collection-log-edit.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-log-edit.el --- Evil bindings for log-edit -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen , Pierre Neidhardt 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, log-edit, tools 11 | 12 | ;; This file is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published 14 | ;; by the Free Software Foundation; either version 3, or (at your 15 | ;; option) any later version. 16 | ;; 17 | ;; This file is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | ;; 22 | ;; For a full copy of the GNU General Public License 23 | ;; see . 24 | 25 | ;;; Commentary: 26 | ;; Evil bindings for log-edit. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'log-edit nil t) 31 | 32 | (defvar log-edit-mode-map) 33 | 34 | (defconst evil-collection-log-edit-maps '(log-edit-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-log-edit-setup () 38 | "Set up `evil' bindings for `log-edit'." 39 | (evil-collection-define-key nil 'log-edit-mode-map 40 | [remap evil-save-and-close] 'log-edit-done 41 | [remap evil-save-modified-and-close] 'log-edit-done 42 | [remap evil-quit] 'log-edit-kill-buffer) 43 | 44 | (evil-collection-define-key 'normal 'log-edit-mode-map 45 | "g?" 'log-edit-mode-help 46 | "]]" 'log-edit-next-comment 47 | "[[" 'log-edit-previous-comment 48 | "gj" 'log-edit-next-comment 49 | "gk" 'log-edit-previous-comment 50 | (kbd "C-j") 'log-edit-next-comment 51 | (kbd "C-k") 'log-edit-next-comment 52 | 53 | "ZQ" 'quit-window 54 | "ZZ" 'quit-window)) 55 | 56 | (provide 'evil-collection-log-edit) 57 | ;;; evil-collection-log-edit.el ends here 58 | -------------------------------------------------------------------------------- /modes/log-view/evil-collection-log-view.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-log-view.el --- Bindings for `log-view' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `log-view'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'log-view) 32 | 33 | (defconst evil-collection-log-view-maps '(log-view-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-log-view-setup () 37 | "Set up `evil' bindings for `log-view'." 38 | 39 | ;; Currently vc has these various log-view modes 40 | (evil-set-initial-state 'vc-hg-log-view-mode 'normal) 41 | (evil-set-initial-state 'vc-git-log-view-mode 'normal) 42 | (evil-set-initial-state 'vc-svn-log-view-mode 'normal) 43 | 44 | (evil-collection-define-key 'normal 'log-view-mode-map 45 | "q" 'quit-window 46 | (kbd "TAB") 'log-view-toggle-entry-display 47 | "m" 'log-view-toggle-mark-entry 48 | "c" 'log-view-modify-change-comment 49 | (kbd "RET") 'log-view-diff 50 | "d" 'log-view-diff 51 | "=" 'log-view-diff 52 | "D" 'log-view-diff-changeset 53 | "a" 'log-view-annotate-version 54 | "F" 'log-view-find-revision 55 | "gj" 'log-view-msg-next 56 | "gk" 'log-view-msg-prev 57 | "]]" 'log-view-msg-next 58 | "[[" 'log-view-msg-prev 59 | (kbd "C-j") 'log-view-file-next 60 | (kbd "C-k") 'log-view-file-prev)) 61 | 62 | (provide 'evil-collection-log-view) 63 | ;;; evil-collection-log-view.el ends here 64 | -------------------------------------------------------------------------------- /modes/lsp-ui-imenu/evil-collection-lsp-ui-imenu.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-lsp-ui-imenu.el --- Bindings for `lsp-ui-imenu-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: Felix Dick 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, lsp-ui-imenu, convenience 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `lsp-ui-imenu-mode'. 28 | 29 | ;;; Code: 30 | (require 'lsp-ui-imenu nil t) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-lsp-ui-imenu-mode-maps '(lsp-ui-imenu-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-lsp-ui-imenu-setup () 37 | "Set up `evil' bindings for `lsp-ui-imenu'." 38 | (evil-set-initial-state 'lsp-ui-imenu-mode 'normal) 39 | (evil-collection-define-key 'normal 'lsp-ui-imenu-mode-map 40 | (kbd "C-k") 'lsp-ui-imenu--prev-kind 41 | (kbd "C-j") 'lsp-ui-imenu--next-kind 42 | (kbd "q") 'lsp-ui-imenu--kill 43 | (kbd "RET") 'lsp-ui-imenu--view 44 | (kbd "") 'lsp-ui-imenu--visit)) 45 | 46 | (provide 'evil-collection-lsp-ui-imenu) 47 | ;;; evil-collection-lsp-ui-imenu.el ends here 48 | -------------------------------------------------------------------------------- /modes/lua-mode/evil-collection-lua-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-lua-mode.el --- Bindings for `lua-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `lua-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'lua-mode nil t) 32 | 33 | (defvar lua-indent-level) 34 | (defconst evil-collection-lua-mode-maps '(lua-mode-map)) 35 | 36 | (defun evil-collection-lua-mode-set-evil-shift-width () 37 | "Set `evil-shift-width' according to `lua-indent-level'." 38 | (setq-local evil-shift-width lua-indent-level)) 39 | 40 | ;;;###autoload 41 | (defun evil-collection-lua-mode-setup () 42 | "Set up `evil' bindings for `lua-mode'." 43 | (add-hook 'lua-mode-hook #'evil-collection-lua-mode-set-evil-shift-width) 44 | 45 | (evil-collection-define-key 'normal 'lua-mode-map 46 | "K" 'lua-search-documentation 47 | "gz" 'run-lua)) 48 | 49 | (provide 'evil-collection-lua-mode) 50 | ;;; evil-collection-lua-mode.el ends here 51 | -------------------------------------------------------------------------------- /modes/macrostep/evil-collection-macrostep.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-macrostep.el --- Evil Integration for Macrostep -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, macrostep, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `macrostep-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'macrostep nil t) 32 | 33 | (defconst evil-collection-macrostep-maps '(macrostep-keymap)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-macrostep-setup () 37 | "Set up `evil' bindings for `macrostep'." 38 | ;; Keymaps don't seem to be populated on first try. 39 | ;; Force `evil' to normalize keymaps. 40 | (add-hook 'macrostep-mode-hook #'evil-normalize-keymaps) 41 | 42 | (evil-collection-define-key 'normal 'macrostep-keymap 43 | "q" 'macrostep-collapse-all 44 | "e" 'macrostep-expand 45 | "u" 'macrostep-collapse 46 | "gj" 'macrostep-next-macro 47 | "gk" 'macrostep-prev-macro 48 | (kbd "C-j") 'macrostep-next-macro 49 | (kbd "C-k") 'macrostep-prev-macro)) 50 | 51 | (provide 'evil-collection-macrostep) 52 | ;;; evil-collection-macrostep.el ends here 53 | -------------------------------------------------------------------------------- /modes/magit-repos/evil-collection-magit-repos.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-magit-repos.el --- Bindings for magit-repos -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2015-2016, 2021 Justin Burkett 4 | 5 | ;; Author: Justin Burkett 6 | ;; Maintainer: Justin Burkett 7 | ;; James Nguyen 8 | ;; Pierre Neidhardt 9 | ;; Package-Requires: ((emacs "26.3") (evil "1.2.3") (magit "2.6.0")) 10 | ;; Homepage: https://github.com/emacs-evil/evil-collection 11 | ;; Version: 0.0.1 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for magit-repos. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'magit-repos nil t) 32 | 33 | (defvar magit-repolist-mode-map) 34 | (defconst evil-collection-magit-repos-maps '(magit-repolist-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-magit-repos-setup () 38 | "Set up `evil' bindings for `magit-repos'." 39 | (evil-set-initial-state 'magit-repolist-mode 'normal) 40 | (evil-collection-define-key 'normal 'magit-repolist-mode-map 41 | "m" 'magit-repolist-mark 42 | "u" 'magit-repolist-unmark 43 | "f" 'magit-repolist-fetch 44 | (kbd "RET") 'magit-repolist-status 45 | (kbd "gr") 'magit-list-repositories) 46 | (add-hook 'magit-repolist-mode-hook 'evil-normalize-keymaps)) 47 | 48 | (provide 'evil-collection-magit-repos) 49 | ;;; evil-collection-magit-repos.el ends here 50 | -------------------------------------------------------------------------------- /modes/man/evil-collection-man.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-man.el --- Evil bindings for Man-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, man, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `man'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'man) 32 | 33 | (defconst evil-collection-man-maps '(Man-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-man-setup () 37 | "Set up `evil' bindings for `man'." 38 | (evil-set-initial-state 'Man-mode 'normal) 39 | (evil-collection-define-key 'normal 'Man-mode-map 40 | ;; motion 41 | (kbd "SPC") 'scroll-up-command 42 | (kbd "S-SPC") 'scroll-down-command 43 | (kbd "") 'forward-button 44 | (kbd "") 'backward-button 45 | 46 | (kbd "]]") 'Man-next-manpage 47 | (kbd "[[") 'Man-previous-manpage 48 | (kbd "gj") 'Man-next-manpage 49 | (kbd "gk") 'Man-previous-manpage 50 | (kbd "C-j") 'Man-next-section 51 | (kbd "C-k") 'Man-previous-section 52 | 53 | ;; goto 54 | "gm" 'man 55 | "gd" 'Man-goto-section ; TODO: "gd" does not match the rationale of "go to definition". Change? 56 | "gR" 'Man-follow-manual-reference ; TODO: Make this match Info-follow-reference? 57 | "gs" 'Man-goto-see-also-section 58 | 59 | ;; refresh 60 | "gr" 'Man-update-manpage 61 | 62 | ;; quit 63 | "q" 'quit-window 64 | "ZQ" 'quit-window 65 | "ZZ" 'quit-window)) 66 | 67 | (provide 'evil-collection-man) 68 | ;;; evil-collection-man.el ends here 69 | -------------------------------------------------------------------------------- /modes/markdown-mode/evil-collection-markdown-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-markdown-mode.el --- Evil bindings for markdown-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; 28 | ;; Evil basic bindings for markdown-mode. It's NOT intended to supersede 29 | ;; `evil-markdown'. 30 | ;; 31 | 32 | ;;; Code: 33 | (require 'evil-collection) 34 | (require 'markdown-mode nil t) 35 | 36 | (defconst evil-collection-markdown-mode-maps '(markdown-mode-map)) 37 | 38 | ;;;###autoload 39 | (defun evil-collection-markdown-mode-setup () 40 | "Set up `evil' bindings for `markdown-mode'." 41 | (evil-collection-define-key 'normal 'markdown-mode-map 42 | "{" 'markdown-backward-paragraph 43 | "}" 'markdown-forward-paragraph 44 | [tab] 'markdown-cycle 45 | [S-tab] 'markdown-shifttab 46 | ;; `evil-markdown' doesn't bind but spacemacs does. 47 | (kbd "RET") 'markdown-do)) 48 | 49 | (provide 'evil-collection-markdown-mode) 50 | ;;; evil-collection-markdown-mode.el ends here 51 | -------------------------------------------------------------------------------- /modes/minesweeper/evil-collection-minesweeper.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-minesweeper.el --- Bindings for `minesweeper' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2025 StrawberryTea 4 | 5 | ;; Author: StrawberryTea 6 | ;; Maintainer: StrawberryTea 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, games 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `minesweeper'. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'minesweeper nil t) 33 | 34 | (defconst evil-collection-minesweeper-maps '(minesweeper-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-minesweeper-setup () 38 | "Set up `evil' bindings for `minesweeper'." 39 | (evil-set-initial-state 'minesweeper-mode 'normal) 40 | (evil-collection-define-key 'normal 'minesweeper-mode-map 41 | "RET" 'minesweeper-choose 42 | "m" 'minesweeper-toggle-mark 43 | "c" 'minesweeper-choose-around 44 | "s" 'minesweeper-toggle-show-neighbors 45 | "j" 'minesweeper-next-line 46 | "h" 'minesweeper-backward-char 47 | "l" 'minesweeper-forward-char 48 | "$" 'minesweeper-move-end-of-field 49 | "e" 'minesweeper-move-end-of-field)) 50 | 51 | (provide 'evil-collection-minesweeper) 52 | 53 | ;;; evil-collection-minesweeper.el ends here 54 | -------------------------------------------------------------------------------- /modes/nov/evil-collection-nov.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-nov.el --- Bindings for `nov' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools, epub 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for`nov'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'nov nil t) 32 | 33 | (defvar nov-mode-map) 34 | 35 | (defconst evil-collection-nov-maps '(nov-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-nov-setup () 39 | "Set up `evil' bindings for `nov'." 40 | (evil-collection-define-key 'normal 'nov-mode-map 41 | "gr" 'nov-render-document 42 | "s" 'nov-view-source 43 | "S" 'nov-view-content-source 44 | "g?" 'nov-display-metadata 45 | "gj" 'nov-next-document 46 | (kbd "C-j") 'nov-next-document 47 | (kbd "M-j") 'nov-next-document 48 | "]]" 'nov-next-document 49 | "gk" 'nov-previous-document 50 | (kbd "C-k") 'nov-previous-document 51 | (kbd "M-k") 'nov-previous-document 52 | "[[" 'nov-previous-document 53 | 54 | "t" 'nov-goto-toc 55 | "i" 'nov-goto-toc 56 | (kbd "RET") 'nov-browse-url 57 | (kbd "") 'mouse-face 58 | (kbd "") 'nov-browse-url 59 | (kbd "TAB") 'shr-next-link 60 | (kbd "M-TAB") 'shr-previous-link 61 | (kbd "") 'shr-previous-link 62 | (kbd "SPC") 'nov-scroll-up 63 | (kbd "S-SPC") 'nov-scroll-down 64 | (kbd "DEL") 'nov-scroll-down)) 65 | 66 | (provide 'evil-collection-nov) 67 | ;;; evil-collection-nov.el ends here 68 | -------------------------------------------------------------------------------- /modes/omnisharp/evil-collection-omnisharp.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-omnisharp.el --- Evil bindings for omnisharp -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 Omair Majid 4 | 5 | ;; Author: Omair Majid 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, omnisharp, convenience 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for Omnisharp. 28 | 29 | ;;; Code: 30 | (require 'omnisharp nil t) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-omnisharp-maps '(omnisharp-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-omnisharp-setup () 37 | "Set up `evil' bindings for `omnisharp'." 38 | (evil-collection-define-key '(normal visual) 'omnisharp-mode-map 39 | "gd" 'omnisharp-go-to-definition 40 | "gR" 'omnisharp-reload-solution 41 | "K" 'omnisharp-current-type-documentation)) 42 | 43 | (provide 'evil-collection-omnisharp) 44 | ;;; evil-collection-omnisharp.el ends here 45 | -------------------------------------------------------------------------------- /modes/org-present/evil-collection-org-present.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-org-present.el --- Bindings for `org-present' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Carla Cao 4 | 5 | ;; Author: Carla Cao 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools, minimalist, presentation 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for`org-present'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'org-present nil t) 32 | 33 | (defconst evil-collection-org-present-maps '(org-present-mode-keymap)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-org-present-setup () 37 | "Set up `evil' bindings for `org-present'." 38 | (evil-collection-define-key 'normal 'org-present-mode-keymap 39 | "J" 'org-present-next 40 | "K" 'org-present-prev 41 | "gj" 'org-present-next 42 | "gk" 'org-present-prev 43 | "]]" 'org-present-next 44 | "[[" 'org-present-prev 45 | (kbd "SPC") 'org-present-next 46 | (kbd "S-SPC") 'org-present-prev 47 | (kbd "C-j") 'org-present-next 48 | (kbd "M-j") 'org-present-next 49 | (kbd "C-k") 'org-present-prev 50 | (kbd "M-k") 'org-present-prev 51 | "zi" 'org-present-big 52 | "zo" 'org-present-small 53 | "+" 'org-present-big 54 | "=" 'org-present-big 55 | "-" 'org-present-small 56 | "q" 'org-present-quit 57 | "ZQ" 'org-present-quit 58 | "ZZ" 'org-present-quit 59 | "r" 'org-present-read-only 60 | "gw" 'org-present-read-write 61 | "gg" 'org-present-beginning 62 | "G" 'org-present-end)) 63 | 64 | (provide 'evil-collection-org-present) 65 | ;;; evil-collection-org-present.el ends here 66 | -------------------------------------------------------------------------------- /modes/org-roam/evil-collection-org-roam.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-org-roam.el --- Bindings for `org-roam' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2022 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.2 9 | ;; Package-Requires: ((emacs "27.1")) 10 | ;; Keywords: evil, emacs, convenience, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for org-roam. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'org-roam nil t) 31 | 32 | (defvar org-roam-mode-map) 33 | (defconst evil-collection-org-roam-maps '(org-roam-grep-map 34 | org-roam-mode-map 35 | org-roam-node-map 36 | org-roam-preview-map)) 37 | 38 | (defun evil-collection-org-roam-setup () 39 | "Set up `evil' bindings for org-roam." 40 | (evil-collection-define-key 'normal 'org-roam-mode-map 41 | [C-return] 'org-roam-buffer-visit-thing 42 | (kbd "C-m") 'org-roam-buffer-visit-thing 43 | [remap revert-buffer] 'org-roam-buffer-refresh 44 | "gr" 'org-roam-buffer-refresh) 45 | 46 | (evil-collection-define-key 'normal 'org-roam-node-map 47 | [remap org-roam-buffer-visit-thing] 'org-roam-node-visit) 48 | 49 | (evil-collection-define-key 'normal 'org-roam-preview-map 50 | [remap org-roam-buffer-visit-thing] 'org-roam-preview-visit) 51 | 52 | (evil-collection-define-key 'normal 'org-roam-grep-map 53 | [remap org-roam-buffer-visit-thing] 'org-roam-grep-visit)) 54 | 55 | (provide 'evil-collection-org-roam) 56 | ;;; evil-collection-org-roam.el ends here 57 | -------------------------------------------------------------------------------- /modes/osx-dictionary/evil-collection-osx-dictionary.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-osx-dictionary.el --- Evil bindings for osx-dictionary -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, osx-dictionary, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for osx-dictionary. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'osx-dictionary nil t) 32 | 33 | (defconst evil-collection-osx-dictionary-maps '(osx-dictionary-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-osx-dictionary-setup () 37 | "Set up `evil' bindings for `osx-dictionary'." 38 | (evil-set-initial-state 'osx-dictionary-mode 'normal) 39 | 40 | (evil-collection-define-key 'normal 'osx-dictionary-mode-map 41 | "q" 'osx-dictionary-quit 42 | "s" 'osx-dictionary-search-input 43 | "o" 'osx-dictionary-open-dictionary.app 44 | "r" 'osx-dictionary-read-word)) 45 | 46 | (provide 'evil-collection-osx-dictionary) 47 | ;;; evil-collection-osx-dictionary.el ends here 48 | -------------------------------------------------------------------------------- /modes/package-menu/evil-collection-package-menu.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-package-menu.el --- Evil bindings for package-menu -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, package-menu, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil integration for `package-menu-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'package) 32 | 33 | (defconst evil-collection-package-menu-maps '(package-menu-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-package-menu-setup () 37 | "Set up `evil' bindings for `package-menu'." 38 | (evil-set-initial-state 'package-menu-mode 'normal) 39 | (evil-collection-set-readonly-bindings 'package-menu-mode-map) 40 | (evil-collection-define-key 'normal 'package-menu-mode-map 41 | "i" 'package-menu-mark-install 42 | "U" 'package-menu-mark-upgrades 43 | "d" 'package-menu-mark-delete 44 | "gr" 'revert-buffer 45 | 46 | ;; undo 47 | "u" 'package-menu-mark-unmark 48 | 49 | ;; execute 50 | "x" 'package-menu-execute 51 | 52 | "g?" 'package-menu-describe-package) 53 | 54 | ;; It's introduced since Emacs 28. 55 | (when (fboundp 'package-browse-url) 56 | (evil-collection-define-key 'normal 'package-menu-mode-map 57 | "B" 'package-browse-url))) 58 | 59 | (provide 'evil-collection-package-menu) 60 | ;;; evil-collection-package-menu.el ends here 61 | -------------------------------------------------------------------------------- /modes/popup/evil-collection-popup.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-popup.el --- Bindings for `popup' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `popup'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'popup nil t) 32 | 33 | (defconst evil-collection-popup-maps '(popup-menu-keymap)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-popup-setup () 37 | "Set up `evil' bindings for `popup'." 38 | (defvar popup-menu-keymap) 39 | (evil-collection-define-key nil 'popup-menu-keymap 40 | (kbd "C-j") 'popup-next 41 | (kbd "C-k") 'popup-previous)) 42 | 43 | (provide 'evil-collection-popup) 44 | ;;; evil-collection-popup.el ends here 45 | -------------------------------------------------------------------------------- /modes/process-menu/evil-collection-process-menu.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-process-menu.el --- Evil bindings for process-menu-mode -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2019 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, process, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for process-menu-mode (M-x list-processes). 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | 32 | (defconst evil-collection-process-menu-maps '(process-menu-mode-map)) 33 | 34 | ;;;###autoload 35 | (defun evil-collection-process-menu-setup () 36 | "Set up `evil' bindings for `list-processes'." 37 | (evil-collection-set-readonly-bindings 'process-menu-mode-map) 38 | (evil-collection-define-key 'normal 'process-menu-mode-map 39 | (kbd "") 'forward-button 40 | (kbd "") 'backward-button 41 | 42 | "S" 'tabulated-list-sort 43 | "D" 'process-menu-delete-process 44 | 45 | ;; motion 46 | ;; TODO: Implement beginning-of-buffer / end-of-buffer. 47 | (kbd "SPC") 'evil-scroll-down 48 | (kbd "S-SPC") 'evil-scroll-up 49 | 50 | ;; refresh 51 | "gr" 'revert-buffer)) 52 | 53 | (provide 'evil-collection-process-menu) 54 | ;;; evil-collection-process-menu.el ends here 55 | -------------------------------------------------------------------------------- /modes/profiler/evil-collection-profiler.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-profiler.el --- Evil bindings for profiler -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, profiler, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `profiler'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'profiler) 32 | 33 | (defconst evil-collection-profiler-maps '(profiler-report-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-profiler-setup () 37 | "Set up `evil' bindings for `profiler'." 38 | (evil-set-initial-state 'profiler-report-mode 'normal) 39 | 40 | (evil-collection-define-key 'normal 'profiler-report-mode-map 41 | ;; motion 42 | (kbd "SPC") 'scroll-up-command 43 | (kbd "S-SPC") 'scroll-down-command 44 | (kbd "") 'scroll-down-command 45 | "j" 'profiler-report-next-entry 46 | "k" 'profiler-report-previous-entry 47 | 48 | (kbd "") 'profiler-report-toggle-entry 49 | 50 | ;; sort 51 | "o" 'profiler-report-ascending-sort 52 | "O" 'profiler-report-descending-sort 53 | 54 | "c" 'profiler-report-render-calltree 55 | "C" 'profiler-report-render-reversed-calltree 56 | "i" 'profiler-report-describe-entry 57 | "=" 'profiler-report-compare-profile 58 | 59 | ;; open 60 | (kbd "RET") 'profiler-report-find-entry 61 | 62 | ;; refresh 63 | "gr" 'revert-buffer 64 | 65 | ;; quit 66 | "q" 'quit-window 67 | "ZQ" 'evil-quit 68 | "ZZ" 'quit-windw)) 69 | 70 | (provide 'evil-collection-profiler) 71 | ;;; evil-collection-profiler.el ends here 72 | -------------------------------------------------------------------------------- /modes/python/evil-collection-python.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-python.el --- Bindings for `python' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `python'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'python) 32 | 33 | (defconst evil-collection-python-maps '(python-mode-map 34 | python-ts-mode-map 35 | python-base-mode-map)) 36 | 37 | (defun evil-collection-python-set-evil-shift-width () 38 | "Set `evil-shift-width' according to `python-indent-offset'." 39 | (setq-local evil-shift-width python-indent-offset)) 40 | 41 | ;;;###autoload 42 | (defun evil-collection-python-setup () 43 | "Set up `evil' bindings for `python'." 44 | (dolist (hook '(python-mode-hook python-ts-mode-hook)) 45 | (add-hook hook #'evil-collection-python-set-evil-shift-width)) 46 | 47 | (dolist (kmap evil-collection-python-maps) 48 | (evil-collection-define-key 'normal kmap 49 | "gz" 'python-shell-switch-to-shell))) 50 | 51 | (provide 'evil-collection-python) 52 | ;;; evil-collection-python.el ends here 53 | -------------------------------------------------------------------------------- /modes/quickrun/evil-collection-quickrun.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-quickrun.el --- Bindings for `quickrun' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools, quickrun 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `quickrun'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'quickrun nil t) 32 | 33 | (defconst evil-collection-quickrun-maps '(quickrun--mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-quickrun-setup () 37 | "Set up `evil' bindings for `quickrun'.." 38 | (evil-collection-define-key 'normal 'quickrun--mode-map 39 | "q" 'quit-window)) 40 | 41 | (provide 'evil-collection-quickrun) 42 | ;;; evil-collection-quickrun.el ends here 43 | -------------------------------------------------------------------------------- /modes/racer/evil-collection-racer.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-racer.el --- Bindings for `racer' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, rust, tools, evil 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `racer'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'racer nil t) 32 | 33 | (defconst evil-collection-racer-maps '(racer-mode-map 34 | racer-help-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-racer-setup () 38 | "Set up `evil' bindings for `racer'." 39 | (evil-collection-define-key 'normal 'racer-mode-map 40 | "gd" 'racer-find-definition 41 | (kbd "C-t") 'pop-tag-mark 42 | "K" 'racer-describe) 43 | 44 | (evil-collection-define-key 'normal 'racer-help-mode-map 45 | "q" 'quit-window)) 46 | 47 | (provide 'evil-collection-racer) 48 | ;;; evil-collection-racer.el ends here 49 | -------------------------------------------------------------------------------- /modes/racket-describe/evil-collection-racket-describe.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-racket-describe.el --- Bindings for `racket-describe' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Andre Goderich 4 | 5 | ;; Author: Andre Goderich 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `racket-describe'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'racket-describe nil t) 32 | 33 | (defconst evil-collection-racket-describe-maps '(racket-describe-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-racket-describe-setup () 37 | "Set up `evil' bindings for `racket-describe'." 38 | (evil-collection-inhibit-insert-state 'racket-describe-mode-map) 39 | (evil-set-initial-state 'racket-describe-mode 'normal) 40 | (evil-collection-define-key 'normal 'racket-describe-mode-map 41 | "q" 'quit-window 42 | "g?" 'describe-mode)) 43 | 44 | (provide 'evil-collection-racket-describe) 45 | ;;; evil-collection-racket-describe.el ends here 46 | -------------------------------------------------------------------------------- /modes/ripgrep/evil-collection-ripgrep.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-ripgrep.el --- Bindings for `ripgrep' -*- lexical-binding: t -*- 2 | 3 | ;; Author: Sid Kasivajhula 4 | ;; Maintainer: James Nguyen 5 | ;; Pierre Neidhardt 6 | ;; URL: https://github.com/emacs-evil/evil-collection 7 | ;; Version: 0.0.1 8 | ;; Package-Requires: ((emacs "26.3")) 9 | ;; Keywords: evil, emacs, tools 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program. If not, see . 23 | 24 | ;;; Commentary: 25 | ;; Bindings for `ripgrep'. 26 | 27 | ;;; Code: 28 | (require 'evil-collection) 29 | (require 'ripgrep nil t) 30 | 31 | (defconst evil-collection-ripgrep-maps '(ripgrep-search-mode-map)) 32 | 33 | ;;;###autoload 34 | (defun evil-collection-ripgrep-setup () 35 | "Set up `evil' bindings for `ripgrep'." 36 | (evil-collection-define-key 'normal 'ripgrep-search-mode-map 37 | "n" 'evil-search-next 38 | "\C-k" 'previous-error-no-select 39 | "\C-j" 'next-error-no-select 40 | "gk" 'previous-error-no-select 41 | "gj" 'next-error-no-select 42 | "{" 'compilation-previous-file 43 | "}" 'compilation-next-file 44 | "i" 'wgrep-change-to-wgrep-mode)) 45 | 46 | 47 | (provide 'evil-collection-ripgrep) 48 | ;;; evil-collection-ripgrep.el ends here 49 | -------------------------------------------------------------------------------- /modes/rjsx-mode/evil-collection-rjsx-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-rjsx-mode.el --- Bindings for `rjsx-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, rjsx, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `rjsx-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'rjsx-mode nil t) 32 | 33 | (defvar rjsx-mode-map) 34 | 35 | (defconst evil-collection-rjsx-maps '(rjsx-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-rjsx-mode-setup () 39 | "Set up `evil' bindings for `rjsx-mode'." 40 | (when evil-want-C-d-scroll 41 | (evil-collection-define-key 'insert 'rjsx-mode-map 42 | (kbd "C-d") 'rjsx-delete-creates-full-tag) 43 | (evil-collection-define-key 'normal 'rjsx-mode-map 44 | (kbd "C-d") 'evil-scroll-down))) 45 | 46 | (provide 'evil-collection-rjsx-mode) 47 | ;;; evil-collection-rjsx-mode.el ends here 48 | -------------------------------------------------------------------------------- /modes/robe/evil-collection-robe.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-robe.el --- Bindings for `robe' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, evil, tools, robe 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `robe'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'robe nil t) 32 | 33 | (defconst evil-collection-robe-maps '(robe-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-robe-setup () 37 | "Set up `evil' bindings for `robe'." 38 | (evil-collection-define-key 'normal 'robe-mode-map 39 | "gd" 'robe-jump 40 | (kbd "C-t") 'pop-tag-mark 41 | "K" 'robe-doc 42 | "gr" 'robe-rails-refresh)) 43 | 44 | (provide 'evil-collection-robe) 45 | ;;; evil-collection-robe.el ends here 46 | -------------------------------------------------------------------------------- /modes/ruby-mode/evil-collection-ruby-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-ruby-mode.el --- Bindings for `ruby-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, tools, ruby 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `ruby-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'ruby-mode) 32 | 33 | (defconst evil-collection-ruby-mode-maps nil) 34 | 35 | (defun evil-collection-ruby-mode-set-evil-shift-width () 36 | "Set `evil-shift-width' according to `ruby-indent-level'." 37 | (setq-local evil-shift-width ruby-indent-level)) 38 | 39 | ;;;###autoload 40 | (defun evil-collection-ruby-mode-setup () 41 | "Set up `evil' bindings for `ruby'." 42 | (add-hook 'ruby-mode-hook #'evil-collection-ruby-mode-set-evil-shift-width)) 43 | 44 | (provide 'evil-collection-ruby-mode) 45 | ;;; evil-collection-ruby-mode.el ends here 46 | -------------------------------------------------------------------------------- /modes/scheme/evil-collection-scheme.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-scheme.el --- Evil bindings for scheme -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, lisp, languages 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for scheme. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | 32 | (defconst evil-collection-scheme-maps '(scheme-mode-map)) 33 | 34 | (defun evil-collection-scheme-repl () 35 | "Open the scheme REPL." 36 | (interactive) 37 | (pop-to-buffer (get-buffer-create "*scheme*")) 38 | (call-interactively #'run-scheme)) 39 | 40 | ;;;###autoload 41 | (defun evil-collection-scheme-setup () 42 | "Set up `evil' bindings for `scheme'." 43 | (evil-collection-define-key 'normal 'scheme-mode-map 44 | "gz" 'evil-collection-scheme-repl)) 45 | 46 | (provide 'evil-collection-scheme) 47 | ;;; evil-collection-scheme.el ends here 48 | -------------------------------------------------------------------------------- /modes/sh-script/evil-collection-sh-script.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-sh-script.el --- Evil bindings for sh-script -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for sh-script. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'sh-script) 32 | 33 | (defconst evil-collection-sh-script-maps '(sh-mode-map)) 34 | 35 | (defun evil-collection-sh-script-set-evil-shift-width () 36 | "Set `evil-shift-width' according to `sh-basic-offset'." 37 | (setq-local evil-shift-width sh-basic-offset)) 38 | 39 | ;;;###autoload 40 | (defun evil-collection-sh-script-setup () 41 | "Set up `evil' bindings for `sh-script'." 42 | (add-hook 'sh-mode-hook #'evil-collection-sh-script-set-evil-shift-width) 43 | 44 | (evil-collection-define-key 'normal 'sh-mode-map 45 | "gz" 'sh-show-shell)) 46 | 47 | (provide 'evil-collection-sh-script) 48 | ;;; evil-collection-sh-script.el ends here 49 | -------------------------------------------------------------------------------- /modes/shortdoc/evil-collection-shortdoc.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-shortdoc.el --- Evil bindings for shortdoc -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; TODO: Update to emacs 28.1 when it's out 11 | ;; Package-Requires: ((emacs "27.1")) 12 | ;; Keywords: evil, lisp, help 13 | 14 | ;; This program is free software; you can redistribute it and/or modify 15 | ;; it under the terms of the GNU General Public License as published by 16 | ;; the Free Software Foundation, either version 3 of the License, or 17 | ;; (at your option) any later version. 18 | 19 | ;; This program is distributed in the hope that it will be useful, 20 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | ;; GNU General Public License for more details. 23 | 24 | ;; You should have received a copy of the GNU General Public License 25 | ;; along with this program. If not, see . 26 | 27 | ;;; Commentary: 28 | ;; Evil bindings for shortdoc. 29 | 30 | ;;; Code: 31 | (require 'evil-collection) 32 | (require 'shortdoc nil t) 33 | 34 | (defconst evil-collection-shortdoc-maps '(shortdoc-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-shortdoc-setup () 38 | "Set up `evil' bindings for `shortdoc'." 39 | (evil-set-initial-state 'shortdoc-mode 'normal) 40 | (evil-collection-define-key 'normal 'shortdoc-mode-map 41 | (kbd "") 'forward-button 42 | (kbd "") 'backward-button 43 | (kbd "C-k") 'shortdoc-previous 44 | (kbd "C-j") 'shortdoc-next 45 | "[[" 'shortdoc-previous-section 46 | "]]" 'shortdoc-next-section)) 47 | 48 | (provide 'evil-collection-shortdoc) 49 | ;;; evil-collection-shortdoc.el ends here 50 | -------------------------------------------------------------------------------- /modes/simple/evil-collection-simple.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-simple.el --- Bindings for `simple' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `simple' 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'simple) 32 | 33 | (defvar special-mode-map) 34 | 35 | (defconst evil-collection-simple-maps '(special-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-simple-setup () 39 | "Set up `evil' bindings for `simple'." 40 | (evil-collection-set-readonly-bindings 'special-mode-map) 41 | (evil-collection-define-key nil 'special-mode-map 42 | "g" nil 43 | "gr" 'revert-buffer 44 | "h" nil 45 | "?" nil 46 | "0" nil)) 47 | 48 | (provide 'evil-collection-simple) 49 | ;;; evil-collection-simple.el ends here 50 | -------------------------------------------------------------------------------- /modes/smerge-mode/README.org: -------------------------------------------------------------------------------- 1 | * smerge 2 | 3 | The table below shows the binding changes that are made to smerge-mode. 4 | 5 | | Command | Original Binding | evil-collection-smerge | 6 | |-----------------------------+------------------+------------------------| 7 | | =smerge-next= | =C-c ^ n= | =gj, ]]= | 8 | | =smerge-prev= | =C-c ^ p= | =gk, [[= | 9 | | =smerge-keep-all= | =C-c ^ a= | =ga= | 10 | | =smerge-keep-upper= | =C-c ^ u= | =gu= | 11 | | =smerge-keep-lower= | =C-c ^ l= | =gl= | 12 | | =smerge-keep-other= | =C-c ^ o= | =go= | 13 | | =smerge-keep-mine= | =C-c ^ m= | =gm= | 14 | | =smerge-combine-with-next= | =C-c ^ C= | =gc= | 15 | | =smerge-refine= | =C-c ^ R= | =gr= | 16 | | =smerge-keep-base= | =C-c ^ b= | =gb= | 17 | -------------------------------------------------------------------------------- /modes/smerge-mode/evil-collection-smerge-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-smerge-mode.el --- Bindings for `smerge-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 pspiagicw 4 | 5 | ;; Author: pspiagicw 6 | ;; Maintainer: pspiagicw 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, python, tools, emacs 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for `smerge-mode'. 27 | ;;; Code: 28 | (require 'evil-collection) 29 | (require 'smerge-mode) 30 | ;; 31 | 32 | (defconst evil-collection-smerge-mode-maps '(smerge-mode-map)) 33 | 34 | ;;;###autoload 35 | (defun evil-collection-smerge-mode-setup () 36 | "Setup up `evil' bindings for `smerge-mode'." 37 | (add-hook 'smerge-mode-hook #'evil-normalize-keymaps) 38 | (evil-collection-define-key 'normal 'smerge-mode-map 39 | "gj" 'smerge-next 40 | "]]" 'smerge-next 41 | "gk" 'smerge-prev 42 | "[[" 'smerge-prev 43 | "gr" 'smerge-resolve 44 | "ga" 'smerge-keep-all 45 | "gu" 'smerge-keep-upper 46 | "gl" 'smerge-keep-lower 47 | "go" 'smerge-keep-other 48 | "gm" 'smerge-keep-mine 49 | "gc" 'smerge-combine-with-next 50 | "gR" 'smerge-refine 51 | "gb" 'smerge-keep-base)) 52 | 53 | (provide 'evil-collection-smerge-mode) 54 | ;;; evil-collection-smerge-mode.el ends here 55 | -------------------------------------------------------------------------------- /modes/snake/evil-collection-snake.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-snake.el --- Bindings for `snake' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | ;; Copyright (C) 2022 Farzin Firouzi 5 | 6 | ;; Author: Farzin Firouzi 7 | ;; Maintainer: James Nguyen 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `snake'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | 32 | (defconst evil-collection-snake-maps '(snake-mode-map)) 33 | 34 | ;;;###autoload 35 | (defun evil-collection-snake-setup () 36 | "Set up `evil' bindings for `snake'." 37 | (evil-set-initial-state 'snake-mode 'normal) 38 | (evil-collection-define-key 'normal 'snake-mode-map 39 | "h" 'snake-move-left 40 | "l" 'snake-move-right 41 | "j" 'snake-move-down 42 | "k" 'snake-move-up 43 | "gr" 'snake-start-game 44 | "p" 'snake-pause-game 45 | "q" 'quit-window 46 | "ZQ" 'quit-window 47 | "ZZ" 'snake-end-game)) 48 | 49 | (provide 'evil-collection-snake) 50 | ;;; evil-collection-snake.el ends here 51 | -------------------------------------------------------------------------------- /modes/so-long/evil-collection-so-long.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-so-long.el --- Bindings for `so-long' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2022 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.2 9 | ;; Package-Requires: ((emacs "27.1")) 10 | ;; Keywords: evil, emacs, convenience, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;;; Bindings for so-long. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'so-long nil t) 31 | 32 | (defvar so-long-mode-map) 33 | (defconst evil-collection-so-long-maps '(so-long-mode-map)) 34 | 35 | (defun evil-collection-so-long-setup () 36 | "Set up `evil' bindings for so-long." 37 | (evil-collection-define-key '(normal visual) 'so-long-mode-map 38 | "j" #'evil-next-visual-line 39 | "k" #'evil-previous-visual-line 40 | "gj" #'evil-next-line 41 | "gk" #'evil-previous-line 42 | "0" #'evil-beginning-of-visual-line 43 | "g0" #'evil-beginning-of-visual-line 44 | "$" #'evil-end-of-visual-line 45 | "g$" #'evil-end-of-line 46 | "^" #'evil-first-non-blank-of-visual-line 47 | "g^" #'evil-first-non-blank 48 | "G" 'end-of-buffer)) 49 | 50 | (provide 'evil-collection-so-long) 51 | ;;; evil-collection-so-long.el ends here 52 | -------------------------------------------------------------------------------- /modes/tab-bar/evil-collection-tab-bar.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tab-bar.el --- Evil bindings for tab-bar -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "27.1")) 11 | ;; Keywords: evil, tab-bar, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for tab-bar. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'tab-bar nil t) 33 | 34 | (defconst evil-collection-tab-bar-maps '(tab-switcher-mode-map)) 35 | 36 | (defun evil-collection-tab-bar-setup () 37 | "Set up `evil' bindings to `tab-bar'." 38 | (evil-set-initial-state 'tab-switcher-mode 'normal) 39 | (evil-collection-define-key 'normal 'tab-switcher-mode-map 40 | ;; Movement 41 | "j" 'tab-switcher-next-line 42 | "k" 'tab-switcher-prev-line 43 | "gj" 'tab-switcher-next-line 44 | "gk" 'tab-switcher-prev-line 45 | 46 | ;; Mark 47 | "d" 'tab-switcher-delete 48 | (kbd "RET") 'tab-switcher-select 49 | "u" 'tab-switcher-unmark 50 | "x" 'tab-switcher-execute 51 | 52 | ;; Quit 53 | "q" 'quit-window 54 | "ZZ" 'quit-window 55 | "ZQ" 'quit-window)) 56 | 57 | (provide 'evil-collection-tab-bar) 58 | 59 | ;;; evil-collection-tab-bar.el ends here 60 | -------------------------------------------------------------------------------- /modes/tablist/evil-collection-tablist.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tablist.el --- Evil bindings for Tablist -*- lexical-binding: t -*- 2 | 3 | ;; URL: https://github.com/emacs-evil/evil-collection 4 | ;; Version: 0.0.1 5 | ;; Package-Requires: ((emacs "26.3")) 6 | ;; Keywords: evil, tablist, tools 7 | 8 | ;; This program is free software; you can redistribute it and/or modify 9 | ;; it under the terms of the GNU General Public License as published by 10 | ;; the Free Software Foundation, either version 3 of the License, or 11 | ;; (at your option) any later version. 12 | 13 | ;; This program is distributed in the hope that it will be useful, 14 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | ;; GNU General Public License for more details. 17 | 18 | ;; You should have received a copy of the GNU General Public License 19 | ;; along with this program. If not, see . 20 | 21 | ;;; Commentary: 22 | ;; Evil bindings for Tablist. 23 | 24 | ;;; Code: 25 | (require 'tablist nil t) 26 | (require 'evil-collection) 27 | 28 | (defconst evil-collection-tablist-maps '(tablist-mode-map tablist-minor-mode-map)) 29 | 30 | (defvar tablist-mode-regexp-map) 31 | (defvar tablist-mode-mark-map) 32 | (defvar tablist-mode-filter-map) 33 | 34 | ;;;###autoload 35 | (defun evil-collection-tablist-setup () 36 | "Set up `evil' bindings for `tablist'." 37 | 38 | (evil-collection-define-key 'normal 'tablist-mode-map 39 | (kbd "RET") 'tablist-find-entry 40 | "d" 'tablist-flag-forward 41 | "f" 'tablist-find-entry 42 | "X" 'tablist-do-delete 43 | "C" 'tablist-do-copy 44 | "R" 'tablist-do-rename 45 | "x" 'tablist-do-flagged-delete) 46 | 47 | (evil-collection-define-key 'normal 'tablist-minor-mode-map 48 | "<" 'tablist-shrink-column 49 | ">" 'tablist-enlarge-column 50 | "U" 'tablist-unmark-all-marks 51 | "\t" 'tablist-forward-column 52 | "g%" tablist-mode-regexp-map 53 | "g*" tablist-mode-mark-map 54 | "g/" tablist-mode-filter-map 55 | "gr" 'tablist-revert 56 | "K" 'tablist-do-kill-lines 57 | "m" 'tablist-mark-forward 58 | "q" 'tablist-quit 59 | "s" 'tablist-sort 60 | "t" 'tablist-toggle-marks 61 | "u" 'tablist-unmark-forward 62 | (kbd "TAB") 'tablist-forward-column 63 | [backtab] 'tablist-backward-column)) 64 | 65 | (provide 'evil-collection-tablist) 66 | ;;; evil-collection-tablist.el ends here 67 | -------------------------------------------------------------------------------- /modes/tabulated-list/evil-collection-tabulated-list.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tabulated-list.el --- Bindings for `tabulated-list' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Morgan Smith 4 | 5 | ;; Author: Morgan Smith 6 | ;; Maintainer: Morgan Smith 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, emacs, tools 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation, either version 3 of the License, or 15 | ;; (at your option) any later version. 16 | 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program. If not, see . 24 | 25 | ;;; Commentary: 26 | ;; Bindings for `tabulated-list' 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'tabulated-list) 31 | 32 | (defvar tabulated-list-mode-map) 33 | 34 | (defconst evil-collection-tabulated-list-maps '(tabulated-list-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-tabulated-list-setup () 38 | "Set up `evil' bindings for `tabulated-list'." 39 | 40 | (evil-collection-define-key nil 'tabulated-list-mode-map 41 | "n" nil 42 | "p" nil) 43 | 44 | (evil-set-initial-state 'tabulated-list-mode 'normal) 45 | (evil-collection-define-key 'normal 'tabulated-list-mode-map 46 | "S" 'tabulated-list-sort 47 | "{" 'tabulated-list-narrow-current-column 48 | "}" 'tabulated-list-widen-current-column 49 | "gl" 'tabulated-list-next-column 50 | "gh" 'tabulated-list-previous-column 51 | "q" 'quit-window)) 52 | 53 | (provide 'evil-collection-tabulated-list) 54 | ;;; evil-collection-tabulated-list.el ends here 55 | -------------------------------------------------------------------------------- /modes/tetris/evil-collection-tetris.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tetris.el --- Bindings for `tetris' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: MaxSt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `tetris'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'tetris nil t) 32 | 33 | (defconst evil-collection-tetris-maps '(tetris-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-tetris-setup () 37 | "Set up `evil' bindings for `tetris'." 38 | (evil-set-initial-state 'tetris-mode 'normal) 39 | (evil-collection-define-key 'normal 'tetris-mode-map 40 | "h" 'tetris-move-left 41 | "l" 'tetris-move-right 42 | "k" 'tetris-rotate-next 43 | "K" 'tetris-rotate-prev 44 | "j" 'tetris-move-down 45 | "J" 'tetris-move-bottom 46 | "G" 'tetris-move-bottom 47 | "gr" 'tetris-start-game 48 | (kbd "TAB") 'tetris-move-bottom 49 | "p" 'tetris-pause-game 50 | "q" 'quit-window 51 | "ZQ" 'quit-window 52 | "ZZ" 'tetris-end-game)) 53 | 54 | (provide 'evil-collection-tetris) 55 | ;;; evil-collection-tetris.el ends here 56 | -------------------------------------------------------------------------------- /modes/thread/evil-collection-thread.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-thread.el --- Evil bindings for `thread' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "27.1")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `thread'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'thread nil t) 32 | 33 | (defconst evil-collection-thread-maps '(thread-list-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-thread-setup () 37 | "Set up `evil' bindings for `thread'." 38 | (evil-set-initial-state 'thread-list-mode 'normal) 39 | (evil-collection-define-key 'normal 'thread-list-mode-map 40 | "B" 'thread-list-pop-to-backtrace 41 | "Q" 'thread-list-send-quit-signal 42 | "E" 'thread-list-send-error-signal)) 43 | 44 | (provide 'evil-collection-thread) 45 | ;;; evil-collection-thread.el ends here 46 | -------------------------------------------------------------------------------- /modes/tide/evil-collection-tide.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tide.el --- Bindings for `tide-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tide, typescript, languages 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `tide-mode'. 28 | 29 | ;;; Code: 30 | (require 'tide nil t) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-tide-maps '(tide-mode-map 34 | tide-references-mode-map 35 | tide-project-errors-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-tide-setup () 39 | "Set up `evil' bindings for `tide'." 40 | (evil-collection-define-key 'normal 'tide-mode-map 41 | "gd" 'tide-jump-to-definition 42 | (kbd "C-t") 'tide-jump-back 43 | "K" 'tide-documentation-at-point) 44 | 45 | (evil-collection-define-key 'normal 'tide-references-mode-map 46 | "gj" 'tide-find-next-reference 47 | "gk" 'tide-find-previous-reference 48 | (kbd "C-j") 'tide-find-next-reference 49 | (kbd "C-k") 'tide-find-previous-reference 50 | (kbd "RET") 'tide-goto-line-reference 51 | ;; quit 52 | "q" 'quit-window) 53 | 54 | (evil-collection-define-key 'normal 'tide-project-errors-mode-map 55 | "gj" 'tide-find-next-error 56 | "gk" 'tide-find-previous-error 57 | (kbd "C-j") 'tide-find-next-error 58 | (kbd "C-k") 'tide-find-previous-error 59 | (kbd "RET") 'tide-goto-error 60 | ;; quit 61 | (kbd "q") 'quit-window)) 62 | 63 | (provide 'evil-collection-tide) 64 | ;;; evil-collection-tide.el ends here 65 | -------------------------------------------------------------------------------- /modes/timer-list/evil-collection-timer-list.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-timer-list.el --- Evil bindings for `timer-list' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `timer-list'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'timer-list) 32 | 33 | (defconst evil-collection-timer-list-maps '(timer-list-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-timer-list-setup () 37 | "Set up `evil' bindings for `timer-list'." 38 | (evil-set-initial-state 'timer-list-mode 'normal) 39 | (evil-collection-define-key 'normal 'timer-list-mode-map 40 | "C" 'timer-list-cancel)) 41 | 42 | (provide 'evil-collection-timer-list) 43 | ;;; evil-collection-timer-list.el ends here 44 | -------------------------------------------------------------------------------- /modes/tuareg/evil-collection-tuareg.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-tuareg.el --- Evil bindings for `tuareg-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2021 Zhiwei Chen 4 | 5 | ;; Author: Zhiwei Chen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `tuareg-mode'. 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'tuareg nil t) 33 | 34 | (defconst evil-collection-tuareg-maps '(tuareg-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-tuareg-setup () 38 | "Set up `evil' bindings for `tuareg'." 39 | (evil-collection-define-key 'normal 'tuareg-mode-map 40 | "gz" 'tuareg-run-ocaml)) 41 | 42 | (provide 'evil-collection-tuareg) 43 | 44 | ;;; evil-collection-tuareg.el ends here 45 | -------------------------------------------------------------------------------- /modes/typescript-mode/evil-collection-typescript-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-typescript-mode.el --- Bindings for `typescript-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: emacs, evil, tools, typescript 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for `typescript-mode'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'typescript-mode nil t) 32 | 33 | (defvar typescript-indent-level) 34 | 35 | (defun evil-collection-typescript-mode-set-evil-shift-width () 36 | "Set `evil-shift-width' according to `typescript-indent-level'." 37 | (setq-local evil-shift-width typescript-indent-level)) 38 | 39 | ;;;###autoload 40 | (defun evil-collection-typescript-mode-setup () 41 | "Set up `evil' bindings for `typescript-mode'." 42 | (add-hook 'typescript-mode-hook 43 | #'evil-collection-typescript-mode-set-evil-shift-width)) 44 | 45 | (provide 'evil-collection-typescript-mode) 46 | ;;; evil-collection-typescript-mode.el ends here 47 | -------------------------------------------------------------------------------- /modes/vc-annotate/evil-collection-vc-annotate.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-vc-annotate.el --- Bindings for `vc-annotate' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `vc-annotate' 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'vc-annotate) 32 | 33 | (defconst evil-collection-vc-annotate-maps '(vc-annotate-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-vc-annotate-setup () 37 | "Set up `evil' bindings for `vc-annotate'." 38 | (evil-set-initial-state 'vc-annotate-mode 'normal) 39 | (evil-collection-define-key 'normal 'vc-annotate-mode-map 40 | "q" 'quit-window 41 | "a" 'vc-annotate-revision-previous-to-line 42 | "d" 'vc-annotate-show-diff-revision-at-line 43 | "=" 'vc-annotate-show-diff-revision-at-line 44 | "D" 'vc-annotate-show-changeset-diff-revision-at-line 45 | "F" 'vc-annotate-find-revision-at-line 46 | "J" 'vc-annotate-revision-at-line 47 | "L" 'vc-annotate-show-log-revision-at-line 48 | "gj" 'vc-annotate-next-revision 49 | "gk" 'vc-annotate-prev-revision 50 | "]]" 'vc-annotate-next-revision 51 | "[[" 'vc-annotate-prev-revision 52 | (kbd "C-j") 'vc-annotate-next-revision 53 | (kbd "C-k") 'vc-annotate-prev-revision 54 | "W" 'vc-annotate-working-revision 55 | "A" 'vc-annotate-toggle-annotation-visibility 56 | (kbd "RET") 'vc-annotate-goto-line)) 57 | 58 | (provide 'evil-collection-vc-annotate) 59 | ;;; evil-collection-vc-annotate.el ends here 60 | -------------------------------------------------------------------------------- /modes/vc-git/evil-collection-vc-git.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-vc-git.el --- Evil bindings for Vc-Git -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, vc-git, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for Vc-Git. 28 | 29 | ;;; Code: 30 | (require 'vc-git) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-vc-git-maps '(vc-git-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-vc-git-setup () 37 | "Set up `evil' bindings for `vc-git'." 38 | (evil-set-initial-state 'vc-git-log-view-mode 'normal) 39 | (evil-collection-define-key 'normal 'vc-git-log-view-mode-map 40 | "q" 'quit-window 41 | "d" 'log-view-diff 42 | "D" 'log-view-diff-changeset 43 | (kbd "C-j") 'log-view-msg-next 44 | (kbd "C-k") 'log-view-msg-prev 45 | (kbd "") 'log-view-toggle-entry-display)) 46 | 47 | (provide 'evil-collection-vc-git) 48 | ;;; evil-collection-vc-git.el ends here 49 | -------------------------------------------------------------------------------- /modes/vdiff/evil-collection-vdiff.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-vdiff.el --- Evil bindings for vdiff -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Evgeni Kolev 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, vdiff, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for vdiff.el https://github.com/justbur/emacs-vdiff 28 | 29 | ;;; Code: 30 | (require 'vdiff nil t) 31 | (require 'evil-collection) 32 | 33 | (defconst evil-collection-vdiff-maps '(vdiff-mode-map 34 | vdiff-3way-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-vdiff-setup () 38 | "Set up `evil' bindings for `vdiff-mode'." 39 | (add-hook 'vdiff-mode-hook 'evil-normalize-keymaps) 40 | (add-hook 'vdiff-3way-mode-hook 'evil-normalize-keymaps) 41 | 42 | (dolist (keymap evil-collection-vdiff-maps) 43 | (evil-collection-define-key 'normal keymap 44 | "]c" 'vdiff-next-hunk 45 | "[c" 'vdiff-previous-hunk) 46 | 47 | ;; define `do' (diff obtain) and `dp' (diff put) bindings 48 | (evil-collection-define-operator-key 'delete keymap 49 | "o" 'vdiff-receive-changes 50 | "p" 'vdiff-send-changes))) 51 | 52 | (provide 'evil-collection-vdiff) 53 | 54 | ;;; evil-collection-vdiff.el ends here 55 | -------------------------------------------------------------------------------- /modes/view/evil-collection-view.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-view.el --- Evil bindings for view -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, bindings, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for View. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'view) 32 | 33 | (defconst evil-collection-view-maps '(view-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-view-setup () 37 | "Set up `evil' bindings for `view'." 38 | (add-hook 'view-mode-hook 'evil-normalize-keymaps) 39 | (evil-set-initial-state 'view-mode 'normal) 40 | (evil-collection-define-key 'normal 'view-mode-map 41 | "q" 'View-quit 42 | (kbd "SPC") 'View-scroll-page-forward 43 | (kbd "S-SPC") 'View-scroll-page-backward 44 | 45 | ;; zoom 46 | "+" 'text-scale-increase 47 | "=" 'text-scale-increase 48 | "0" 'text-scale-adjust ; TODO: Conflicts with `evil-beginning-of-line'. 49 | "-" 'text-scale-decrease 50 | 51 | ;; refresh 52 | (kbd "gr") 'revert-buffer)) 53 | 54 | (provide 'evil-collection-view) 55 | ;;; evil-collection-view.el ends here 56 | -------------------------------------------------------------------------------- /modes/wdired/evil-collection-wdired.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-wdired.el --- Bindings for `wdired' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `wdired'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'wdired) 32 | 33 | (defconst evil-collection-wdired-maps '(wdired-mode-map)) 34 | 35 | ;;;###autoload 36 | (defun evil-collection-wdired-setup () 37 | "Set up `evil' bindings for `wdired'." 38 | (evil-set-initial-state 'wdired-mode 'normal) 39 | 40 | (evil-collection-define-key nil 'wdired-mode-map 41 | [remap evil-write] 'wdired-finish-edit) 42 | 43 | (evil-collection-define-key 'normal 'wdired-mode-map 44 | "ZQ" 'wdired-abort-changes 45 | "ZZ" 'wdired-finish-edit 46 | (kbd "") 'wdired-exit)) 47 | 48 | (provide 'evil-collection-wdired) 49 | ;;; evil-collection-wdired.el ends here 50 | -------------------------------------------------------------------------------- /modes/wgrep/evil-collection-wgrep.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-wgrep.el --- Bindings for `wgrep' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 James Nguyen 4 | 5 | ;; Author: James Nguyen 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `wgrep'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'wgrep nil t) 32 | 33 | (defvar wgrep-mode-map) 34 | 35 | (defconst evil-collection-wgrep-maps '(wgrep-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-wgrep-setup () 39 | "Set up `evil' bindings for `wgrep'." 40 | (evil-collection-define-key nil 'wgrep-mode-map 41 | [remap evil-write] 'wgrep-finish-edit) 42 | 43 | (evil-collection-define-key 'normal 'wgrep-mode-map 44 | "ZQ" 'wgrep-abort-changes 45 | "ZZ" 'wgrep-finish-edit 46 | (kbd "") 'wgrep-exit)) 47 | 48 | (provide 'evil-collection-wgrep) 49 | ;;; evil-collection-wgrep.el ends here 50 | -------------------------------------------------------------------------------- /modes/which-key/evil-collection-which-key.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-which-key.el --- Evil bindings for which-key -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Maximiliano Sandoval 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, which-key, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `which-key' 28 | 29 | ;;; Code: 30 | 31 | (require 'evil-collection) 32 | (require 'which-key nil t) 33 | 34 | (defvar which-key-C-h-map) 35 | 36 | (defconst evil-collection-which-key-maps '(which-key-C-h-map)) 37 | 38 | ;; `which-key'is coded so that the prompt properly shows j and k as 39 | ;; the bindings. 40 | ;;;###autoload 41 | (defun evil-collection-which-key-setup () 42 | "Set up `evil' bindings for `which-key'." 43 | 44 | ;; (evil-collection-define-key nil 'which-key-C-h-map "u" 'which-key-undo-key) 45 | (evil-collection-define-key nil 'which-key-C-h-map 46 | "q" 'which-key-abort 47 | "j" 'which-key-show-next-page-cycle 48 | "k" 'which-key-show-previous-page-cycle 49 | "?" 'which-key-show-standard-help)) 50 | 51 | (provide 'evil-collection-which-key) 52 | ;;; evil-collection-which-key.el ends here 53 | -------------------------------------------------------------------------------- /modes/with-editor/evil-collection-with-editor.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-with-editor.el --- Bindings for `with-editor' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2024 Tianshu Wang 4 | 5 | ;; Author: Tianshu Wang 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;; Bindings for `with-editor'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'with-editor nil t) 32 | 33 | (defvar with-editor-mode-map) 34 | 35 | (defconst evil-collection-with-editor-maps '(with-editor-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-with-editor-setup () 39 | "Set up `evil' bindings for `with-editor'." 40 | (evil-collection-define-key 'normal 'with-editor-mode-map 41 | "ZQ" 'with-editor-cancel 42 | "ZZ" 'with-editor-finish)) 43 | 44 | (provide 'evil-collection-with-editor) 45 | ;;; evil-collection-with-editor.el ends here 46 | -------------------------------------------------------------------------------- /modes/woman/evil-collection-woman.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-woman.el --- Evil bindings for WoMan -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, woman, tools 12 | 13 | ;; This file is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published 15 | ;; by the Free Software Foundation; either version 3, or (at your 16 | ;; option) any later version. 17 | ;; 18 | ;; This file is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | ;; 23 | ;; For a full copy of the GNU General Public License 24 | ;; see . 25 | 26 | ;;; Commentary: 27 | ;; Evil bindings for `woman'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (evil-collection-require 'man) 32 | (require 'woman) 33 | 34 | (defconst evil-collection-woman-maps '(woman-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-woman-setup () 38 | "Set up `evil' bindings for `woman'." 39 | (evil-set-initial-state 'woman-mode 'normal) 40 | (evil-collection-define-key 'normal 'woman-mode-map 41 | (kbd "]]") 'WoMan-next-manpage 42 | (kbd "[[") 'WoMan-previous-manpage 43 | 44 | ;; goto 45 | ;; "gm" 'woman 46 | 47 | ;; refresh 48 | "gr" 'woman-reformat-last-file)) 49 | 50 | (provide 'evil-collection-woman) 51 | ;;; evil-collection-woman.el ends here 52 | -------------------------------------------------------------------------------- /modes/yaml-mode/evil-collection-yaml-mode.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-yaml-mode.el --- Bindings for `yaml-mode' -*- lexical-binding: t -*- 2 | 3 | ;; Author: Frédéric Giquel 4 | ;; URL: https://github.com/emacs-evil/evil-collection 5 | ;; Version: 0.0.1 6 | ;; Package-Requires: ((emacs "26.3")) 7 | ;; Keywords: emacs, tools, yaml 8 | 9 | ;; This program is free software; you can redistribute it and/or modify 10 | ;; it under the terms of the GNU General Public License as published by 11 | ;; the Free Software Foundation, either version 3 of the License, or 12 | ;; (at your option) any later version. 13 | 14 | ;; This program is distributed in the hope that it will be useful, 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | ;; GNU General Public License for more details. 18 | 19 | ;; You should have received a copy of the GNU General Public License 20 | ;; along with this program. If not, see . 21 | 22 | ;;; Commentary: 23 | ;;; Bindings for `yaml-mode'. 24 | 25 | ;;; Code: 26 | (require 'evil-collection) 27 | (require 'yaml-mode nil t) 28 | 29 | (defconst evil-collection-yaml-mode-maps nil) 30 | 31 | (defvar yaml-indent-offset) 32 | (defun evil-collection-yaml-mode-set-evil-shift-width () 33 | "Set `evil-shift-width' according to `yaml-indent-offset'." 34 | (setq-local evil-shift-width yaml-indent-offset)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-yaml-mode-setup () 38 | "Set up `evil' bindings for `yaml'." 39 | (add-hook 'yaml-mode-hook #'evil-collection-yaml-mode-set-evil-shift-width)) 40 | 41 | (provide 'evil-collection-yaml-mode) 42 | ;;; evil-collection-yaml-mode.el ends here 43 | -------------------------------------------------------------------------------- /modes/youtube-dl/evil-collection-youtube-dl.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-youtube-dl.el --- Evil bindings for youtube-dl -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2018 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen , Pierre Neidhardt 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, youtube, tools 11 | 12 | ;; This file is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published 14 | ;; by the Free Software Foundation; either version 3, or (at your 15 | ;; option) any later version. 16 | ;; 17 | ;; This file is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | ;; 22 | ;; For a full copy of the GNU General Public License 23 | ;; see . 24 | 25 | ;;; Commentary: 26 | ;; Evil bindings for youtube-dl. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'youtube-dl nil t) 31 | 32 | (defvar youtube-dl-list-mode-map) 33 | 34 | (defconst evil-collection-youtube-dl-maps '(youtube-dl-list-mode-map)) 35 | 36 | ;;;###autoload 37 | (defun evil-collection-youtube-dl-setup () 38 | "Set up `evil' bindings for `youtube-dl'." 39 | 40 | (evil-collection-set-readonly-bindings 'youtube-dl-list-mode-map) 41 | (evil-collection-define-key 'normal 'youtube-dl-list-mode-map 42 | (kbd "S-SPC") 'scroll-down-command 43 | 44 | "gr" 'youtube-dl-list-redisplay 45 | 46 | "g?" 'describe-mode 47 | 48 | "p" 'youtube-dl-list-toggle-pause 49 | "s" 'youtube-dl-list-toggle-slow 50 | "S" 'youtube-dl-list-toggle-slow-all 51 | "y" 'youtube-dl-list-yank 52 | 53 | "i" 'youtube-dl-list-log 54 | "I" 'youtube-dl-list-kill-log 55 | 56 | "a" 'youtube-dl 57 | "d" 'youtube-dl-list-kill 58 | 59 | "[[" 'youtube-dl-list-priority-down 60 | "]]" 'youtube-dl-list-priority-up 61 | "gj" 'youtube-dl-list-priority-down 62 | "gk" 'youtube-dl-list-priority-up 63 | (kbd "C-j") 'youtube-dl-list-priority-down 64 | (kbd "C-k") 'youtube-dl-list-priority-up)) 65 | 66 | (provide 'evil-collection-youtube-dl) 67 | ;;; evil-collection-youtube-dl.el ends here 68 | -------------------------------------------------------------------------------- /modes/zmusic/evil-collection-zmusic.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-zmusic.el --- Bindings for `zmusic' -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2020 Carla Cao 4 | 5 | ;; Author: Carla Cao 6 | ;; Maintainer: James Nguyen 7 | ;; Pierre Neidhardt 8 | ;; URL: https://github.com/emacs-evil/evil-collection 9 | ;; Version: 0.0.1 10 | ;; Package-Requires: ((emacs "26.3")) 11 | ;; Keywords: evil, emacs, tools, minimalist, presentation 12 | 13 | ;; This program is free software; you can redistribute it and/or modify 14 | ;; it under the terms of the GNU General Public License as published by 15 | ;; the Free Software Foundation, either version 3 of the License, or 16 | ;; (at your option) any later version. 17 | 18 | ;; This program is distributed in the hope that it will be useful, 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | ;; GNU General Public License for more details. 22 | 23 | ;; You should have received a copy of the GNU General Public License 24 | ;; along with this program. If not, see . 25 | 26 | ;;; Commentary: 27 | ;;; Bindings for`zmusic'. 28 | 29 | ;;; Code: 30 | (require 'evil-collection) 31 | (require 'zmusic nil t) 32 | 33 | (defvar zmusic-mode-map) 34 | 35 | (defconst evil-collection-zmusic-maps '(zmusic-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-zmusic-setup () 39 | "Set up `evil' bindings for `zmusic'." 40 | (evil-collection-define-key 'normal 'zmusic-mode-map 41 | (kbd "RET") 'zmusic/toggle-play 42 | "j" 'zmusic/next-beat 43 | "k" 'zmusic/previous-beat 44 | "h" 'zmusic/backward-degree 45 | "l" 'zmusic/forward-degree 46 | "d" 'zmusic/kill-beat)) 47 | 48 | (provide 'evil-collection-zmusic) 49 | ;;; evil-collection-zmusic.el ends here 50 | -------------------------------------------------------------------------------- /modes/ztree/evil-collection-ztree.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-ztree.el --- Evil bindings for ztree -*- lexical-binding: t -*- 2 | 3 | ;; Copyright (C) 2017 Pierre Neidhardt 4 | 5 | ;; Author: Pierre Neidhardt 6 | ;; Maintainer: James Nguyen , Pierre Neidhardt 7 | ;; URL: https://github.com/emacs-evil/evil-collection 8 | ;; Version: 0.0.1 9 | ;; Package-Requires: ((emacs "26.3")) 10 | ;; Keywords: evil, ztree, tools 11 | 12 | ;; This file is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published 14 | ;; by the Free Software Foundation; either version 3, or (at your 15 | ;; option) any later version. 16 | ;; 17 | ;; This file is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | ;; 22 | ;; For a full copy of the GNU General Public License 23 | ;; see . 24 | 25 | ;;; Commentary: 26 | ;; Evil bindings for ztree. 27 | 28 | ;;; Code: 29 | (require 'evil-collection) 30 | (require 'ztree nil t) 31 | 32 | (defvar ztree-mode-map) 33 | (defvar ztreediff-mode-map) 34 | 35 | (defconst evil-collection-ztree-maps '(ztree-mode-map ztreediff-mode-map)) 36 | 37 | ;;;###autoload 38 | (defun evil-collection-ztree-setup () 39 | "Set up `evil' bindings for `ztree'." 40 | 41 | (evil-collection-set-readonly-bindings 'ztree-mode-map) 42 | (evil-set-initial-state 'ztree-mode 'normal) 43 | (evil-collection-define-key 'normal 'ztree-mode-map 44 | (kbd "") 'ztree-jump-side 45 | (kbd "RET") 'ztree-perform-action 46 | (kbd "SPC") 'ztree-perform-soft-action 47 | 48 | "x" 'ztree-toggle-expand-subtree 49 | 50 | ;; refresh 51 | "gr" 'ztree-refresh-buffer) 52 | 53 | (evil-collection-set-readonly-bindings 'ztreediff-mode-map) 54 | (evil-set-initial-state 'ztree-mode 'normal) 55 | (evil-define-minor-mode-key 'normal 'ztreediff-mode 56 | "C" 'ztree-diff-copy 57 | "D" 'ztree-diff-delete-file 58 | "zH" 'ztree-diff-toggle-show-filtered-files 59 | "d" 'ztree-diff-simple-diff-files 60 | "zh" 'ztree-diff-toggle-show-equal-files 61 | "gf" 'ztree-diff-view-file 62 | 63 | ;; refresh 64 | "gr" 'ztree-diff-partial-rescan 65 | "gR" 'ztree-diff-full-rescan)) 66 | 67 | (provide 'evil-collection-ztree) 68 | ;;; evil-collection-ztree.el ends here 69 | -------------------------------------------------------------------------------- /test/evil-collection-test.el: -------------------------------------------------------------------------------- 1 | ;;; evil-collection-test.el --- Tests for evil-collection -*- lexical-binding: t -*- 2 | (require 'evil-collection) 3 | 4 | (ert-deftest evil-collection-zero-test () 5 | "Zero check blank test." 6 | (should (equal 0 0))) 7 | 8 | (ert-deftest evil-collection-filtering-states-test () 9 | "Test `evil-collection--filter-states'." 10 | (let ((evil-collection-state-denylist '()) 11 | (evil-collection-state-passlist '())) 12 | (should 13 | (equal nil 14 | (evil-collection--filter-states nil))) 15 | (should 16 | (equal '(normal) 17 | (evil-collection--filter-states 'normal))) 18 | (should 19 | (equal '(normal) 20 | (evil-collection--filter-states '(normal))))) 21 | (let ((evil-collection-state-denylist '(insert)) 22 | (evil-collection-state-passlist '())) 23 | (should 24 | (equal '() 25 | (evil-collection--filter-states 'insert))) 26 | (should 27 | (equal '(visual) 28 | (evil-collection--filter-states '(visual insert))))) 29 | (let ((evil-collection-state-denylist '(insert)) 30 | (evil-collection-state-passlist '(normal visual))) 31 | (should 32 | (equal '() 33 | (evil-collection--filter-states '()))) 34 | (should 35 | (equal '(visual) 36 | (evil-collection--filter-states '(insert visual)))) 37 | (should 38 | (seq-set-equal-p '(visual normal) 39 | (evil-collection--filter-states '(motion normal visual insert)))))) 40 | 41 | ;;; evil-collection-test.el ends here 42 | -------------------------------------------------------------------------------- /test/test-helper.el: -------------------------------------------------------------------------------- 1 | ;;; test-helper.el --- Helpers for evil-collection-test.el -*- lexical-binding: t -*- 2 | (require 'ert) 3 | 4 | ;; FIXME: Adding `f' as a dependency just for this line. 5 | (require 'f) 6 | (let ((evil-collection-dir (f-parent (f-dirname (f-this-file))))) 7 | (add-to-list 'load-path evil-collection-dir)) 8 | (require 'evil-collection) 9 | ;;; test-helper.el ends here 10 | -------------------------------------------------------------------------------- /yasnippet_evil-collection: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: yasnippet_evil-collection 3 | # key: yasnippet_evil-collection 4 | # -- 5 | ;;; ${1:`(file-name-sans-extension (file-name-nondirectory buffer-file-name))`}.el --- Bindings for \`${2:`(string-trim-left (file-name-sans-extension (file-name-nondirectory buffer-file-name)) "evil-collection-")`}' -*- lexical-binding: t -*- 6 | 7 | ;; Copyright (C) 2022 James Nguyen 8 | 9 | ;; Author: James Nguyen 10 | ;; Maintainer: James Nguyen 11 | ;; URL: https://github.com/emacs-evil/evil-collection 12 | ;; Version: 0.0.2 13 | ;; Package-Requires: ((emacs "27.1")) 14 | ;; Keywords: evil, emacs, convenience, tools 15 | 16 | ;; This program is free software; you can redistribute it and/or modify 17 | ;; it under the terms of the GNU General Public License as published by 18 | ;; the Free Software Foundation, either version 3 of the License, or 19 | ;; (at your option) any later version. 20 | 21 | ;; This program is distributed in the hope that it will be useful, 22 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 | ;; GNU General Public License for more details. 25 | 26 | ;; You should have received a copy of the GNU General Public License 27 | ;; along with this program. If not, see . 28 | 29 | ;;; Commentary: 30 | ;;; Bindings for $2. 31 | 32 | ;;; Code: 33 | (require 'evil-collection) 34 | (require '$2 nil t) 35 | 36 | (defvar $2-mode-map) 37 | (defconst evil-collection-$2-maps '($2-mode-map)) 38 | 39 | (defun $1-setup () 40 | "Set up `evil' bindings for $2." 41 | (evil-collection-define-key 'normal '$2-mode-map 42 | $0)) 43 | 44 | (provide '$1) 45 | ;;; $1.el ends here --------------------------------------------------------------------------------